From caf16bc03de557c096ffb07cd1b7e2eae92bd1ff Mon Sep 17 00:00:00 2001 From: Stepan Date: Fri, 9 Mar 2018 19:00:33 +0300 Subject: [PATCH 001/108] Concurrency fix for EventBus Prevent a possible race condition in InMemoryEventBusSubscriptionsManager --- .../EventBus/InMemoryEventBusSubscriptionsManager.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/BuildingBlocks/EventBus/EventBus/InMemoryEventBusSubscriptionsManager.cs b/src/BuildingBlocks/EventBus/EventBus/InMemoryEventBusSubscriptionsManager.cs index 88be8cf96..305f9ff8a 100644 --- a/src/BuildingBlocks/EventBus/EventBus/InMemoryEventBusSubscriptionsManager.cs +++ b/src/BuildingBlocks/EventBus/EventBus/InMemoryEventBusSubscriptionsManager.cs @@ -112,10 +112,7 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBus private void RaiseOnEventRemoved(string eventName) { var handler = OnEventRemoved; - if (handler != null) - { - OnEventRemoved(this, eventName); - } + handler?.Invoke(this, eventName); } From fb7d83f82f5814d7ff8daf99ee1fd2569ed5bc4c Mon Sep 17 00:00:00 2001 From: vyunev Date: Thu, 10 May 2018 12:01:10 +0300 Subject: [PATCH 002/108] Fix AKS creation command There is no need in DNS parameter for AKS creation command as gen-k8s-env-aks.ps1 does not have it. --- k8s/README.k8s.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/README.k8s.md b/k8s/README.k8s.md index 77acdf236..c9e32f5f4 100644 --- a/k8s/README.k8s.md +++ b/k8s/README.k8s.md @@ -13,7 +13,7 @@ The k8s directory contains Kubernetes configuration for the eShopOnContainers ap >``` or using AKS instead of ACS >``` ->./gen-k8s-env-aks -resourceGroupName k8sGroup -location westeurope -registryName k8sregistry -dnsName k8s-dns -serviceName k8s-cluster -createAcr true -nodeCount 3 -nodeVMSize Standard_D2_v2 +>./gen-k8s-env-aks -resourceGroupName k8sGroup -location westeurope -registryName k8sregistry -serviceName k8s-cluster -createAcr true -nodeCount 3 -nodeVMSize Standard_D2_v2 >``` * A Docker development environment with `docker` and `docker-compose`. From fbf89f8fc77c039eeef952a4b651948933894934 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Tue, 17 Jul 2018 11:04:29 +0200 Subject: [PATCH 003/108] 1st devspaces test --- .../aggregator/Dockerfile.develop | 16 +++++ .../aggregator/Properties/launchSettings.json | 7 ++ .../Mobile.Bff.Shopping/aggregator/azds.yaml | 36 ++++++++++ .../Catalog/Catalog.API/Dockerfile.develop | 25 +++++++ .../Properties/launchSettings.json | 7 ++ src/Services/Catalog/Catalog.API/azds.yaml | 36 ++++++++++ .../Catalog.API/charts/catalogapi/.helmignore | 21 ++++++ .../Catalog.API/charts/catalogapi/Chart.yaml | 5 ++ .../charts/catalogapi/templates/NOTES.txt | 19 +++++ .../charts/catalogapi/templates/_helpers.tpl | 32 +++++++++ .../catalogapi/templates/deployment.yaml | 72 +++++++++++++++++++ .../charts/catalogapi/templates/ingress.yaml | 39 ++++++++++ .../charts/catalogapi/templates/secrets.yaml | 12 ++++ .../charts/catalogapi/templates/service.yaml | 19 +++++ .../Catalog.API/charts/catalogapi/values.yaml | 60 ++++++++++++++++ 15 files changed, 406 insertions(+) create mode 100644 src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop create mode 100644 src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml create mode 100644 src/Services/Catalog/Catalog.API/Dockerfile.develop create mode 100644 src/Services/Catalog/Catalog.API/azds.yaml create mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/.helmignore create mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/Chart.yaml create mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/NOTES.txt create mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/_helpers.tpl create mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/deployment.yaml create mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/ingress.yaml create mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/secrets.yaml create mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/service.yaml create mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/values.yaml diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop new file mode 100644 index 000000000..e34f6ac1d --- /dev/null +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop @@ -0,0 +1,16 @@ +FROM microsoft/dotnet:2.1-sdk +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true + +EXPOSE 80 + +WORKDIR /src +COPY ["eShopOnContainers-ServicesAndWebApps.sln", "./"] +COPY ["src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj", "src/ApiGateways/Mobile.Bff.Shopping/aggregator/"] + +RUN dotnet restore -nowarn:msb3202,nu1503 +COPY . . +WORKDIR "/src/src/ApiGateways/Mobile.Bff.Shopping/aggregator" +RUN dotnet build "Mobile.Shopping.HttpAggregator.csproj" + +CMD ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile"] \ No newline at end of file diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Properties/launchSettings.json b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Properties/launchSettings.json index 925e70b0d..c259d5094 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Properties/launchSettings.json +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Properties/launchSettings.json @@ -24,6 +24,13 @@ "ASPNETCORE_ENVIRONMENT": "Development" }, "applicationUrl": "http://localhost:61632/" + }, + "Azure Dev Spaces": { + "commandName": "AzureDevSpaces", + "launchBrowser": true, + "resourceGroup": "eshoptestedu", + "aksName": "eshoptestedu", + "subscriptionId": "e3035ac1-c06c-4daf-8939-57b3c5f1f759" } } } \ No newline at end of file diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml new file mode 100644 index 000000000..dca11afbf --- /dev/null +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml @@ -0,0 +1,36 @@ +kind: helm-release +apiVersion: 1.0 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: charts/aggregator + values: + - values.dev.yaml? + - secrets.dev.yaml? + set: + image: + tag: $(tag) + pullPolicy: Never + disableProbes: true + ingress: + hosts: + # This expands to [space.s.]aggregator...aksapp.io + - $(spacePrefix)aggregator$(hostSuffix) +configurations: + develop: + build: + dockerfile: Dockerfile.develop + useGitIgnore: true + container: + syncTarget: /src + sync: + - "**/Pages/**" + - "**/Views/**" + - "**/wwwroot/**" + - "!**/*.{sln,csproj}" + command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${Configuration:-Debug}"] + iterate: + processesToKill: [dotnet, vsdbg] + buildCommands: + - [dotnet, build, --no-restore, -c, "${Configuration:-Debug}"] diff --git a/src/Services/Catalog/Catalog.API/Dockerfile.develop b/src/Services/Catalog/Catalog.API/Dockerfile.develop new file mode 100644 index 000000000..b9ec5f171 --- /dev/null +++ b/src/Services/Catalog/Catalog.API/Dockerfile.develop @@ -0,0 +1,25 @@ +FROM microsoft/dotnet:2.1-sdk +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true + +EXPOSE 80 + +WORKDIR /src +COPY ["eShopOnContainers-ServicesAndWebApps.sln", "./"] +COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] +COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] +COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] +COPY ["src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj", "src/BuildingBlocks/EventBus/IntegrationEventLogEF/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/Microsoft.AspNetCore.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.AzureStorage/Microsoft.Extensions.HealthChecks.AzureStorage.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.AzureStorage/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/Microsoft.Extensions.HealthChecks.SqlServer.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/Microsoft.Extensions.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/"] +COPY ["src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj", "src/BuildingBlocks/WebHostCustomization/WebHost.Customization/"] +COPY ["src/Services/Catalog/Catalog.API/Catalog.API.csproj", "src/Services/Catalog/Catalog.API/"] + +RUN dotnet restore -nowarn:msb3202,nu1503 +COPY . . +WORKDIR "/src/src/Services/Catalog/Catalog.API" +RUN dotnet build "Catalog.API.csproj" + +CMD ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile"] \ No newline at end of file diff --git a/src/Services/Catalog/Catalog.API/Properties/launchSettings.json b/src/Services/Catalog/Catalog.API/Properties/launchSettings.json index 2b21ca280..f5e2b7149 100644 --- a/src/Services/Catalog/Catalog.API/Properties/launchSettings.json +++ b/src/Services/Catalog/Catalog.API/Properties/launchSettings.json @@ -23,6 +23,13 @@ "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } + }, + "Azure Dev Spaces": { + "commandName": "AzureDevSpaces", + "launchBrowser": true, + "resourceGroup": "eshoptestedu", + "aksName": "eshoptestedu", + "subscriptionId": "e3035ac1-c06c-4daf-8939-57b3c5f1f759" } } } \ No newline at end of file diff --git a/src/Services/Catalog/Catalog.API/azds.yaml b/src/Services/Catalog/Catalog.API/azds.yaml new file mode 100644 index 000000000..34397b646 --- /dev/null +++ b/src/Services/Catalog/Catalog.API/azds.yaml @@ -0,0 +1,36 @@ +kind: helm-release +apiVersion: 1.0 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: charts/catalogapi + values: + - values.dev.yaml? + - secrets.dev.yaml? + set: + image: + tag: $(tag) + pullPolicy: Never + disableProbes: true + ingress: + hosts: + # This expands to [space.s.]catalogapi...aksapp.io + - $(spacePrefix)catalogapi$(hostSuffix) +configurations: + develop: + build: + dockerfile: Dockerfile.develop + useGitIgnore: true + container: + syncTarget: /src + sync: + - "**/Pages/**" + - "**/Views/**" + - "**/wwwroot/**" + - "!**/*.{sln,csproj}" + command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${Configuration:-Debug}"] + iterate: + processesToKill: [dotnet, vsdbg] + buildCommands: + - [dotnet, build, --no-restore, -c, "${Configuration:-Debug}"] diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/.helmignore b/src/Services/Catalog/Catalog.API/charts/catalogapi/.helmignore new file mode 100644 index 000000000..f0c131944 --- /dev/null +++ b/src/Services/Catalog/Catalog.API/charts/catalogapi/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/Chart.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/Chart.yaml new file mode 100644 index 000000000..1c221148d --- /dev/null +++ b/src/Services/Catalog/Catalog.API/charts/catalogapi/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for Kubernetes +name: catalogapi +version: 0.1.0 diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/NOTES.txt b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/NOTES.txt new file mode 100644 index 000000000..ed8159763 --- /dev/null +++ b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/NOTES.txt @@ -0,0 +1,19 @@ +1. Get the application URL by running these commands: +{{- if .Values.ingress.enabled }} +{{- range .Values.ingress.hosts }} + http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }} +{{- end }} +{{- else if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "catalogapi.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get svc -w {{ template "catalogapi.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "catalogapi.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "catalogapi.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/_helpers.tpl b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/_helpers.tpl new file mode 100644 index 000000000..908f9d8a3 --- /dev/null +++ b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/_helpers.tpl @@ -0,0 +1,32 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "catalogapi.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "catalogapi.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "catalogapi.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/deployment.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/deployment.yaml new file mode 100644 index 000000000..1b3777856 --- /dev/null +++ b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/deployment.yaml @@ -0,0 +1,72 @@ +apiVersion: apps/v1beta2 +kind: Deployment +metadata: + name: {{ template "catalogapi.fullname" . }} + labels: + app: {{ template "catalogapi.name" . }} + chart: {{ template "catalogapi.chart" . }} + draft: {{ default "draft-app" .Values.draft }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + app: {{ template "catalogapi.name" . }} + release: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ template "catalogapi.name" . }} + draft: {{ default "draft-app" .Values.draft }} + release: {{ .Release.Name }} + annotations: + buildID: {{ .Values.buildID }} + spec: + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: http + containerPort: 80 + protocol: TCP + {{- if not .Values.disableProbes }} + livenessProbe: + httpGet: + path: / + port: http + readinessProbe: + httpGet: + path: / + port: http + {{- end }} + env: + {{- $root := . }} + {{- range $ref, $values := .Values.secrets }} + {{- range $key, $value := $values }} + - name: {{ $ref }}_{{ $key }} + valueFrom: + secretKeyRef: + name: {{ template "catalogapi.fullname" $root }}-{{ $ref | lower }} + key: {{ $key }} + {{- end }} + {{- end }} + resources: +{{ toYaml .Values.resources | indent 12 }} + {{- with .Values.imagePullSecrets }} + imagePullSecrets: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} + {{- end }} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/ingress.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/ingress.yaml new file mode 100644 index 000000000..b52fc0f37 --- /dev/null +++ b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/ingress.yaml @@ -0,0 +1,39 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := include "catalogapi.fullname" . -}} +{{- $servicePort := .Values.service.port -}} +{{- $ingressPath := .Values.ingress.path -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + app: {{ template "catalogapi.name" . }} + chart: {{ template "catalogapi.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ . }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $fullName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/secrets.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/secrets.yaml new file mode 100644 index 000000000..e13fb46d3 --- /dev/null +++ b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/secrets.yaml @@ -0,0 +1,12 @@ +{{- $root := . }} +{{- range $name, $values := .Values.secrets }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ template "catalogapi.fullname" $root }}-{{ $name | lower }} +data: + {{- range $key, $value := $values }} + {{ $key }}: {{ $value | b64enc }} + {{- end }} +--- +{{- end }} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/service.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/service.yaml new file mode 100644 index 000000000..1c3572dec --- /dev/null +++ b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/service.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ template "catalogapi.fullname" . }} + labels: + app: {{ template "catalogapi.name" . }} + chart: {{ template "catalogapi.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: http + protocol: TCP + name: http + selector: + app: {{ template "catalogapi.name" . }} + release: {{ .Release.Name }} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/values.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/values.yaml new file mode 100644 index 000000000..5159ffa6e --- /dev/null +++ b/src/Services/Catalog/Catalog.API/charts/catalogapi/values.yaml @@ -0,0 +1,60 @@ +# Default values for catalogapi. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +fullnameOverride: catalogapi +replicaCount: 1 +image: + repository: catalogapi + tag: stable + pullPolicy: IfNotPresent +imagePullSecrets: [] + # Optionally specify an array of imagePullSecrets. + # Secrets must be manually created in the namespace. + # ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod + # + # This uses credentials from secret "myRegistryKeySecretName". + # - name: myRegistryKeySecretName +service: + type: ClusterIP + port: 80 + +ingress: + enabled: false + annotations: + kubernetes.io/ingress.class: addon-http-application-routing + # kubernetes.io/tls-acme: "true" + path: / + # hosts: + # - chart-example.local + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local +secrets: {} + # Optionally specify a set of secret objects whose values + # will be injected as environment variables by default. + # You should add this section to a file like secrets.yaml + # that is explicitly NOT committed to source code control + # and then include it as part of your helm install step. + # ref: https://kubernetes.io/docs/concepts/configuration/secret/ + # + # This creates a secret "mysecret" and injects "mypassword" + # as the environment variable mysecret_mypassword=password. + # mysecret: + # mypassword: password +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi +nodeSelector: {} + +tolerations: [] + +affinity: {} \ No newline at end of file From 91d06af314be6f57dcc4cae16ce1a65d6506db0f Mon Sep 17 00:00:00 2001 From: eiximenis Date: Tue, 31 Jul 2018 17:22:27 +0200 Subject: [PATCH 004/108] starting deploys to devspaces --- src/Services/Basket/Basket.API/.dockerignore | 14 ++++ .../Basket/Basket.API/Dockerfile.develop | 21 ++++++ src/Services/Basket/Basket.API/app.yaml | 43 +++++++++++ src/Services/Basket/Basket.API/azds.yaml | 39 ++++++++++ src/Services/Basket/Basket.API/inf.yaml | 18 +++++ .../Catalog/Catalog.API/Dockerfile.develop | 2 +- .../Properties/launchSettings.json | 4 +- src/Services/Catalog/Catalog.API/app.yaml | 39 ++++++++++ src/Services/Catalog/Catalog.API/azds.yaml | 9 ++- .../Catalog.API/charts/catalogapi/.helmignore | 21 ------ .../Catalog.API/charts/catalogapi/Chart.yaml | 5 -- .../charts/catalogapi/templates/NOTES.txt | 19 ----- .../charts/catalogapi/templates/_helpers.tpl | 32 --------- .../catalogapi/templates/deployment.yaml | 72 ------------------- .../charts/catalogapi/templates/ingress.yaml | 39 ---------- .../charts/catalogapi/templates/secrets.yaml | 12 ---- .../charts/catalogapi/templates/service.yaml | 19 ----- .../Catalog.API/charts/catalogapi/values.yaml | 60 ---------------- src/Services/Catalog/Catalog.API/inf.yaml | 25 +++++++ .../Identity/Identity.API/.dockerignore | 14 ++++ .../Identity/Identity.API/Dockerfile.develop | 17 +++++ src/Services/Identity/Identity.API/app.yaml | 39 ++++++++++ src/Services/Identity/Identity.API/azds.yaml | 42 +++++++++++ src/Services/Identity/Identity.API/inf.yaml | 29 ++++++++ .../Ordering/Ordering.API/.dockerignore | 14 ++++ .../Ordering/Ordering.API/Dockerfile.develop | 26 +++++++ src/Services/Ordering/Ordering.API/app.yaml | 43 +++++++++++ src/Services/Ordering/Ordering.API/azds.yaml | 43 +++++++++++ src/Services/Ordering/Ordering.API/inf.yaml | 22 ++++++ 29 files changed, 498 insertions(+), 284 deletions(-) create mode 100644 src/Services/Basket/Basket.API/.dockerignore create mode 100644 src/Services/Basket/Basket.API/Dockerfile.develop create mode 100644 src/Services/Basket/Basket.API/app.yaml create mode 100644 src/Services/Basket/Basket.API/azds.yaml create mode 100644 src/Services/Basket/Basket.API/inf.yaml create mode 100644 src/Services/Catalog/Catalog.API/app.yaml delete mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/.helmignore delete mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/Chart.yaml delete mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/NOTES.txt delete mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/_helpers.tpl delete mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/deployment.yaml delete mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/ingress.yaml delete mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/secrets.yaml delete mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/templates/service.yaml delete mode 100644 src/Services/Catalog/Catalog.API/charts/catalogapi/values.yaml create mode 100644 src/Services/Catalog/Catalog.API/inf.yaml create mode 100644 src/Services/Identity/Identity.API/.dockerignore create mode 100644 src/Services/Identity/Identity.API/Dockerfile.develop create mode 100644 src/Services/Identity/Identity.API/app.yaml create mode 100644 src/Services/Identity/Identity.API/azds.yaml create mode 100644 src/Services/Identity/Identity.API/inf.yaml create mode 100644 src/Services/Ordering/Ordering.API/.dockerignore create mode 100644 src/Services/Ordering/Ordering.API/Dockerfile.develop create mode 100644 src/Services/Ordering/Ordering.API/app.yaml create mode 100644 src/Services/Ordering/Ordering.API/azds.yaml create mode 100644 src/Services/Ordering/Ordering.API/inf.yaml diff --git a/src/Services/Basket/Basket.API/.dockerignore b/src/Services/Basket/Basket.API/.dockerignore new file mode 100644 index 000000000..04f7b133d --- /dev/null +++ b/src/Services/Basket/Basket.API/.dockerignore @@ -0,0 +1,14 @@ +.dockerignore +.git +.gitignore +.vs +.vscode +**/*.*proj.user +**/azds.yaml +**/bin +**/charts +**/Dockerfile +**/Dockerfile.develop +**/obj +**/secrets.dev.yaml +**/values.dev.yaml \ No newline at end of file diff --git a/src/Services/Basket/Basket.API/Dockerfile.develop b/src/Services/Basket/Basket.API/Dockerfile.develop new file mode 100644 index 000000000..b7d715b28 --- /dev/null +++ b/src/Services/Basket/Basket.API/Dockerfile.develop @@ -0,0 +1,21 @@ +FROM microsoft/dotnet:2.1-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src + +COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] +COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] +COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/Microsoft.AspNetCore.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/Microsoft.Extensions.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/"] +COPY ["src/Services/Basket/Basket.API/Basket.API.csproj", "src/Services/Basket/Basket.API/"] + +RUN dotnet restore src/Services/Basket/Basket.API/Basket.API.csproj -nowarn:msb3202,nu1503 +COPY . . +WORKDIR /src/src/Services/Basket/Basket.API +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION + +CMD ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile"] \ No newline at end of file diff --git a/src/Services/Basket/Basket.API/app.yaml b/src/Services/Basket/Basket.API/app.yaml new file mode 100644 index 000000000..6ca5d9d31 --- /dev/null +++ b/src/Services/Basket/Basket.API/app.yaml @@ -0,0 +1,43 @@ +# This heml values file defines app-based settings +# Charts use those values, so this file **MUST** be included in all chart releases + + +app: # app global settings + name: "my-eshop" # Override for custom app name + ingress: # ingress related settings + entries: + basket: basket-api # ingress entry for basket api + catalog: catalog-api # ingress entry for catalog api + ordering: ordering-api # ingress entry for ordering api + identity: identity # ingress entry for identity api + mvc: webmvc # ingress entry for web mvc + spa: "" # ingress entry for web spa + status: webstatus # ingress entry for web status + webshoppingapigw: webshoppingapigw # ingress entry for web shopping Agw + webmarketingapigw: webmarketingapigw # ingress entry for web mkg Agw + mobilemarketingapigw: mobilemarketingapigw # ingress entry for mobile mkg Agw + mobileshoppingapigw: mobileshoppingapigw # ingress entry for mobile shopping Agw + webshoppingagg: webshoppingagg # ingress entry for web shopping aggregator + mobileshoppingagg: mobileshoppingagg # ingress entry for mobile shopping aggregator + payment: payment-api # ingress entry for payment api + locations: locations-api # ingress entry for locations api + marketing: marketing-api # ingress entry for marketing api + svc: + basket: basket # service name for basket api + catalog: catalog # service name for catalog api + ordering: ordering # service name for ordering api + orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks + orderingsignalrhub: orderingsignalrhub # service name for orderingsignalrhub + identity: identity # service name for identity api + mvc: webmvc # service name for web mvc + spa: webspa # service name for web spa + status: webstatus # service name for web status + webshoppingapigw: webshoppingapigw # service name for web shopping Agw + webmarketingapigw: webmarketingapigw # service name for web mkg Agw + mobilemarketingapigw: mobilemarketingapigw # service name for mobile mkg Agw + mobileshoppingapigw: mobileshoppingapigw # service name for mobile shopping Agw + webshoppingagg: webshoppingagg # service name for web shopping aggregator + mobileshoppingagg: mobileshoppingagg # service name for mobile shopping aggregator + payment: payment # service name for payment api + locations: locations # service name for locations api + marketing: marketing # service name for marketing ap diff --git a/src/Services/Basket/Basket.API/azds.yaml b/src/Services/Basket/Basket.API/azds.yaml new file mode 100644 index 000000000..597c79d8c --- /dev/null +++ b/src/Services/Basket/Basket.API/azds.yaml @@ -0,0 +1,39 @@ +kind: helm-release +apiVersion: 1.0 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: ../../../../k8s/helm/basket-api + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + ingress: + hosts: + # This expands to [space.s.]basketapi...aksapp.io + - $(spacePrefix)basketapi$(hostSuffix) +configurations: + develop: + build: + dockerfile: Dockerfile.develop + useGitIgnore: true + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - "**/Pages/**" + - "**/Views/**" + - "**/wwwroot/**" + - "!**/*.{sln,csproj}" + command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] + iterate: + processesToKill: [dotnet, vsdbg] + buildCommands: + - [dotnet, build, --no-restore, -c, "${BUILD_CONFIGURATION:-Debug}"] diff --git a/src/Services/Basket/Basket.API/inf.yaml b/src/Services/Basket/Basket.API/inf.yaml new file mode 100644 index 000000000..3e3e143da --- /dev/null +++ b/src/Services/Basket/Basket.API/inf.yaml @@ -0,0 +1,18 @@ +# This heml values file defines all infrastructure used by eShopOnContainers. +# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment + +inf: + redis: # inf.redis defines the redis' connection strings + basket: + svc: basket-data # Name of k8s svc for basket redis + constr: basket-data # Connection string to Redis used by Basket API + eventbus: + svc: rabbitmq # Name of k8s svc for rabbitmq + constr: rabbitmq # Event bus connection string + useAzure: false # true if use Azure Service Bus. False if RabbitMQ + appinsights: + key: "" # App insights to use + k8s: {} + misc: # inf.misc contains miscellaneous configuration related to infrastructure + useLoadTest: false # If running under loading test or not + useAzureStorage: false # If catalog api uses azure storage or not diff --git a/src/Services/Catalog/Catalog.API/Dockerfile.develop b/src/Services/Catalog/Catalog.API/Dockerfile.develop index b9ec5f171..b62c7f6e3 100644 --- a/src/Services/Catalog/Catalog.API/Dockerfile.develop +++ b/src/Services/Catalog/Catalog.API/Dockerfile.develop @@ -17,7 +17,7 @@ COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/Mic COPY ["src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj", "src/BuildingBlocks/WebHostCustomization/WebHost.Customization/"] COPY ["src/Services/Catalog/Catalog.API/Catalog.API.csproj", "src/Services/Catalog/Catalog.API/"] -RUN dotnet restore -nowarn:msb3202,nu1503 +RUN dotnet restore src/Services/Catalog/Catalog.API/Catalog.API.csproj -nowarn:msb3202,nu1503 COPY . . WORKDIR "/src/src/Services/Catalog/Catalog.API" RUN dotnet build "Catalog.API.csproj" diff --git a/src/Services/Catalog/Catalog.API/Properties/launchSettings.json b/src/Services/Catalog/Catalog.API/Properties/launchSettings.json index f5e2b7149..598254915 100644 --- a/src/Services/Catalog/Catalog.API/Properties/launchSettings.json +++ b/src/Services/Catalog/Catalog.API/Properties/launchSettings.json @@ -27,8 +27,8 @@ "Azure Dev Spaces": { "commandName": "AzureDevSpaces", "launchBrowser": true, - "resourceGroup": "eshoptestedu", - "aksName": "eshoptestedu", + "resourceGroup": "edu-devspaces3", + "aksName": "edu-devspaces3", "subscriptionId": "e3035ac1-c06c-4daf-8939-57b3c5f1f759" } } diff --git a/src/Services/Catalog/Catalog.API/app.yaml b/src/Services/Catalog/Catalog.API/app.yaml new file mode 100644 index 000000000..c6209da47 --- /dev/null +++ b/src/Services/Catalog/Catalog.API/app.yaml @@ -0,0 +1,39 @@ +app: # app global settings + name: "my-eshop" # Override for custom app name + ingress: # ingress related settings + entries: + basket: basket-api # ingress entry for basket api + catalog: catalog-api # ingress entry for catalog api + ordering: ordering-api # ingress entry for ordering api + identity: identity # ingress entry for identity api + mvc: webmvc # ingress entry for web mvc + spa: "" # ingress entry for web spa + status: webstatus # ingress entry for web status + webshoppingapigw: webshoppingapigw # ingress entry for web shopping Agw + webmarketingapigw: webmarketingapigw # ingress entry for web mkg Agw + mobilemarketingapigw: mobilemarketingapigw # ingress entry for mobile mkg Agw + mobileshoppingapigw: mobileshoppingapigw # ingress entry for mobile shopping Agw + webshoppingagg: webshoppingagg # ingress entry for web shopping aggregator + mobileshoppingagg: mobileshoppingagg # ingress entry for mobile shopping aggregator + payment: payment-api # ingress entry for payment api + locations: locations-api # ingress entry for locations api + marketing: marketing-api # ingress entry for marketing api + svc: + basket: basket # service name for basket api + catalog: catalog # service name for catalog api + ordering: ordering # service name for ordering api + orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks + orderingsignalrhub: orderingsignalrhub # service name for orderingsignalrhub + identity: identity # service name for identity api + mvc: webmvc # service name for web mvc + spa: webspa # service name for web spa + status: webstatus # service name for web status + webshoppingapigw: webshoppingapigw # service name for web shopping Agw + webmarketingapigw: webmarketingapigw # service name for web mkg Agw + mobilemarketingapigw: mobilemarketingapigw # service name for mobile mkg Agw + mobileshoppingapigw: mobileshoppingapigw # service name for mobile shopping Agw + webshoppingagg: webshoppingagg # service name for web shopping aggregator + mobileshoppingagg: mobileshoppingagg # service name for mobile shopping aggregator + payment: payment # service name for payment api + locations: locations # service name for locations api + marketing: marketing # service name for marketing api \ No newline at end of file diff --git a/src/Services/Catalog/Catalog.API/azds.yaml b/src/Services/Catalog/Catalog.API/azds.yaml index 34397b646..7ea0ae087 100644 --- a/src/Services/Catalog/Catalog.API/azds.yaml +++ b/src/Services/Catalog/Catalog.API/azds.yaml @@ -4,19 +4,24 @@ build: context: ..\..\..\.. dockerfile: Dockerfile install: - chart: charts/catalogapi + chart: ../../../../k8s/helm/catalog-api values: - values.dev.yaml? - secrets.dev.yaml? + - inf.yaml + - app.yaml set: image: tag: $(tag) pullPolicy: Never + inf: + k8s: + dns: "$(spacePrefix)basketapi$(hostSuffix)" disableProbes: true ingress: hosts: # This expands to [space.s.]catalogapi...aksapp.io - - $(spacePrefix)catalogapi$(hostSuffix) + - $(spacePrefix)basketapi$(hostSuffix) configurations: develop: build: diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/.helmignore b/src/Services/Catalog/Catalog.API/charts/catalogapi/.helmignore deleted file mode 100644 index f0c131944..000000000 --- a/src/Services/Catalog/Catalog.API/charts/catalogapi/.helmignore +++ /dev/null @@ -1,21 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/Chart.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/Chart.yaml deleted file mode 100644 index 1c221148d..000000000 --- a/src/Services/Catalog/Catalog.API/charts/catalogapi/Chart.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v1 -appVersion: "1.0" -description: A Helm chart for Kubernetes -name: catalogapi -version: 0.1.0 diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/NOTES.txt b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/NOTES.txt deleted file mode 100644 index ed8159763..000000000 --- a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/NOTES.txt +++ /dev/null @@ -1,19 +0,0 @@ -1. Get the application URL by running these commands: -{{- if .Values.ingress.enabled }} -{{- range .Values.ingress.hosts }} - http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }} -{{- end }} -{{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "catalogapi.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.service.type }} - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "catalogapi.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "catalogapi.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') - echo http://$SERVICE_IP:{{ .Values.service.port }} -{{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "catalogapi.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - echo "Visit http://127.0.0.1:8080 to use your application" - kubectl port-forward $POD_NAME 8080:80 -{{- end }} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/_helpers.tpl b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/_helpers.tpl deleted file mode 100644 index 908f9d8a3..000000000 --- a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "catalogapi.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "catalogapi.fullname" -}} -{{- if .Values.fullnameOverride -}} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} -{{- end -}} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "catalogapi.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/deployment.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/deployment.yaml deleted file mode 100644 index 1b3777856..000000000 --- a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/deployment.yaml +++ /dev/null @@ -1,72 +0,0 @@ -apiVersion: apps/v1beta2 -kind: Deployment -metadata: - name: {{ template "catalogapi.fullname" . }} - labels: - app: {{ template "catalogapi.name" . }} - chart: {{ template "catalogapi.chart" . }} - draft: {{ default "draft-app" .Values.draft }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ template "catalogapi.name" . }} - release: {{ .Release.Name }} - template: - metadata: - labels: - app: {{ template "catalogapi.name" . }} - draft: {{ default "draft-app" .Values.draft }} - release: {{ .Release.Name }} - annotations: - buildID: {{ .Values.buildID }} - spec: - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - name: http - containerPort: 80 - protocol: TCP - {{- if not .Values.disableProbes }} - livenessProbe: - httpGet: - path: / - port: http - readinessProbe: - httpGet: - path: / - port: http - {{- end }} - env: - {{- $root := . }} - {{- range $ref, $values := .Values.secrets }} - {{- range $key, $value := $values }} - - name: {{ $ref }}_{{ $key }} - valueFrom: - secretKeyRef: - name: {{ template "catalogapi.fullname" $root }}-{{ $ref | lower }} - key: {{ $key }} - {{- end }} - {{- end }} - resources: -{{ toYaml .Values.resources | indent 12 }} - {{- with .Values.imagePullSecrets }} - imagePullSecrets: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.nodeSelector }} - nodeSelector: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: -{{ toYaml . | indent 8 }} - {{- end }} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/ingress.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/ingress.yaml deleted file mode 100644 index b52fc0f37..000000000 --- a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/ingress.yaml +++ /dev/null @@ -1,39 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "catalogapi.fullname" . -}} -{{- $servicePort := .Values.service.port -}} -{{- $ingressPath := .Values.ingress.path -}} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - app: {{ template "catalogapi.name" . }} - chart: {{ template "catalogapi.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -{{- with .Values.ingress.annotations }} - annotations: -{{ toYaml . | indent 4 }} -{{- end }} -spec: -{{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} -{{- end }} - rules: - {{- range .Values.ingress.hosts }} - - host: {{ . }} - http: - paths: - - path: {{ $ingressPath }} - backend: - serviceName: {{ $fullName }} - servicePort: http - {{- end }} -{{- end }} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/secrets.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/secrets.yaml deleted file mode 100644 index e13fb46d3..000000000 --- a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/secrets.yaml +++ /dev/null @@ -1,12 +0,0 @@ -{{- $root := . }} -{{- range $name, $values := .Values.secrets }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ template "catalogapi.fullname" $root }}-{{ $name | lower }} -data: - {{- range $key, $value := $values }} - {{ $key }}: {{ $value | b64enc }} - {{- end }} ---- -{{- end }} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/service.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/service.yaml deleted file mode 100644 index 1c3572dec..000000000 --- a/src/Services/Catalog/Catalog.API/charts/catalogapi/templates/service.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "catalogapi.fullname" . }} - labels: - app: {{ template "catalogapi.name" . }} - chart: {{ template "catalogapi.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: http - protocol: TCP - name: http - selector: - app: {{ template "catalogapi.name" . }} - release: {{ .Release.Name }} diff --git a/src/Services/Catalog/Catalog.API/charts/catalogapi/values.yaml b/src/Services/Catalog/Catalog.API/charts/catalogapi/values.yaml deleted file mode 100644 index 5159ffa6e..000000000 --- a/src/Services/Catalog/Catalog.API/charts/catalogapi/values.yaml +++ /dev/null @@ -1,60 +0,0 @@ -# Default values for catalogapi. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. -fullnameOverride: catalogapi -replicaCount: 1 -image: - repository: catalogapi - tag: stable - pullPolicy: IfNotPresent -imagePullSecrets: [] - # Optionally specify an array of imagePullSecrets. - # Secrets must be manually created in the namespace. - # ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod - # - # This uses credentials from secret "myRegistryKeySecretName". - # - name: myRegistryKeySecretName -service: - type: ClusterIP - port: 80 - -ingress: - enabled: false - annotations: - kubernetes.io/ingress.class: addon-http-application-routing - # kubernetes.io/tls-acme: "true" - path: / - # hosts: - # - chart-example.local - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local -secrets: {} - # Optionally specify a set of secret objects whose values - # will be injected as environment variables by default. - # You should add this section to a file like secrets.yaml - # that is explicitly NOT committed to source code control - # and then include it as part of your helm install step. - # ref: https://kubernetes.io/docs/concepts/configuration/secret/ - # - # This creates a secret "mysecret" and injects "mypassword" - # as the environment variable mysecret_mypassword=password. - # mysecret: - # mypassword: password -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi -nodeSelector: {} - -tolerations: [] - -affinity: {} \ No newline at end of file diff --git a/src/Services/Catalog/Catalog.API/inf.yaml b/src/Services/Catalog/Catalog.API/inf.yaml new file mode 100644 index 000000000..74a7762c4 --- /dev/null +++ b/src/Services/Catalog/Catalog.API/inf.yaml @@ -0,0 +1,25 @@ +# This heml values file defines all infrastructure used by eShopOnContainers. +# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment + +inf: + sql: # inf.sql defines the sql server databases & logins +# host: my-sql-server # Uncomment to specify a custom sql-server to be used. By default "sql-data-" will be used + common: + user: sa # SQL user + pwd: Pass@word # SQL pwd + pid: Developer + catalog: # inf.sql.catalog: settings for the catalog-api sql (user, pwd, db) + db: CatalogDb # Catalog API SQL db name + keystore: + svc: keystore-data # Name of k8s svc for keystore-data redis + constr: keystore-data # Connection string to Redis used as a Keystore (by Identity API) + eventbus: + svc: rabbitmq # Name of k8s svc for rabbitmq + constr: rabbitmq # Event bus connection string + useAzure: false # true if use Azure Service Bus. False if RabbitMQ + appinsights: + key: "" # App insights to use + k8s: {} + misc: # inf.misc contains miscellaneous configuration related to infrastructure + useLoadTest: false # If running under loading test or not + useAzureStorage: false # If catalog api uses azure storage or not \ No newline at end of file diff --git a/src/Services/Identity/Identity.API/.dockerignore b/src/Services/Identity/Identity.API/.dockerignore new file mode 100644 index 000000000..04f7b133d --- /dev/null +++ b/src/Services/Identity/Identity.API/.dockerignore @@ -0,0 +1,14 @@ +.dockerignore +.git +.gitignore +.vs +.vscode +**/*.*proj.user +**/azds.yaml +**/bin +**/charts +**/Dockerfile +**/Dockerfile.develop +**/obj +**/secrets.dev.yaml +**/values.dev.yaml \ No newline at end of file diff --git a/src/Services/Identity/Identity.API/Dockerfile.develop b/src/Services/Identity/Identity.API/Dockerfile.develop new file mode 100644 index 000000000..e2083dd40 --- /dev/null +++ b/src/Services/Identity/Identity.API/Dockerfile.develop @@ -0,0 +1,17 @@ +FROM microsoft/dotnet:2.1-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src +COPY ["src/Services/Identity/Identity.API/Identity.API.csproj", "src/Services/Identity/Identity.API/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/Microsoft.AspNetCore.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/Microsoft.Extensions.HealthChecks.SqlServer.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/"] +COPY ["src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj", "src/BuildingBlocks/WebHostCustomization/WebHost.Customization/"] +RUN dotnet restore src/Services/Identity/Identity.API/Identity.API.csproj +COPY . . +WORKDIR "/src/src/Services/Identity/Identity.API" +RUN dotnet build "Identity.API.csproj" + +CMD ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile"] diff --git a/src/Services/Identity/Identity.API/app.yaml b/src/Services/Identity/Identity.API/app.yaml new file mode 100644 index 000000000..c6209da47 --- /dev/null +++ b/src/Services/Identity/Identity.API/app.yaml @@ -0,0 +1,39 @@ +app: # app global settings + name: "my-eshop" # Override for custom app name + ingress: # ingress related settings + entries: + basket: basket-api # ingress entry for basket api + catalog: catalog-api # ingress entry for catalog api + ordering: ordering-api # ingress entry for ordering api + identity: identity # ingress entry for identity api + mvc: webmvc # ingress entry for web mvc + spa: "" # ingress entry for web spa + status: webstatus # ingress entry for web status + webshoppingapigw: webshoppingapigw # ingress entry for web shopping Agw + webmarketingapigw: webmarketingapigw # ingress entry for web mkg Agw + mobilemarketingapigw: mobilemarketingapigw # ingress entry for mobile mkg Agw + mobileshoppingapigw: mobileshoppingapigw # ingress entry for mobile shopping Agw + webshoppingagg: webshoppingagg # ingress entry for web shopping aggregator + mobileshoppingagg: mobileshoppingagg # ingress entry for mobile shopping aggregator + payment: payment-api # ingress entry for payment api + locations: locations-api # ingress entry for locations api + marketing: marketing-api # ingress entry for marketing api + svc: + basket: basket # service name for basket api + catalog: catalog # service name for catalog api + ordering: ordering # service name for ordering api + orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks + orderingsignalrhub: orderingsignalrhub # service name for orderingsignalrhub + identity: identity # service name for identity api + mvc: webmvc # service name for web mvc + spa: webspa # service name for web spa + status: webstatus # service name for web status + webshoppingapigw: webshoppingapigw # service name for web shopping Agw + webmarketingapigw: webmarketingapigw # service name for web mkg Agw + mobilemarketingapigw: mobilemarketingapigw # service name for mobile mkg Agw + mobileshoppingapigw: mobileshoppingapigw # service name for mobile shopping Agw + webshoppingagg: webshoppingagg # service name for web shopping aggregator + mobileshoppingagg: mobileshoppingagg # service name for mobile shopping aggregator + payment: payment # service name for payment api + locations: locations # service name for locations api + marketing: marketing # service name for marketing api \ No newline at end of file diff --git a/src/Services/Identity/Identity.API/azds.yaml b/src/Services/Identity/Identity.API/azds.yaml new file mode 100644 index 000000000..7d1a00460 --- /dev/null +++ b/src/Services/Identity/Identity.API/azds.yaml @@ -0,0 +1,42 @@ +kind: helm-release +apiVersion: 1.0 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: ../../../../k8s/helm/identity-api + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + inf: + k8s: + dns: "$(spacePrefix)identity$(hostSuffix)" + ingress: + hosts: + # This expands to [space.s.]identity...aksapp.io + - $(spacePrefix)identity(hostSuffix) +configurations: + develop: + build: + dockerfile: Dockerfile.develop + useGitIgnore: true + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - "**/Pages/**" + - "**/Views/**" + - "**/wwwroot/**" + - "!**/*.{sln,csproj}" + command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] + iterate: + processesToKill: [dotnet, vsdbg] + buildCommands: + - [dotnet, build, --no-restore, -c, "${BUILD_CONFIGURATION:-Debug}"] diff --git a/src/Services/Identity/Identity.API/inf.yaml b/src/Services/Identity/Identity.API/inf.yaml new file mode 100644 index 000000000..a4c4b08ef --- /dev/null +++ b/src/Services/Identity/Identity.API/inf.yaml @@ -0,0 +1,29 @@ +# This heml values file defines all infrastructure used by eShopOnContainers. +# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment + +inf: + sql: # inf.sql defines the sql server databases & logins +# host: my-sql-server # Uncomment to specify a custom sql-server to be used. By default "sql-data-" will be used + common: + user: sa # SQL user + pwd: Pass@word # SQL pwd + pid: Developer + identity: + db: IdentityDb # Ordering API SQL db name + keystore: + svc: keystore-data # Name of k8s svc for keystore-data redis + constr: keystore-data # Connection string to Redis used as a Keystore (by Identity API) + redis: # inf.redis defines the redis' connection strings + keystore: + svc: keystore-data # Name of k8s svc for keystore-data redis + constr: keystore-data # Connection string to Redis used as a Keystore (by Identity API) + eventbus: + svc: rabbitmq # Name of k8s svc for rabbitmq + constr: rabbitmq # Event bus connection string + useAzure: false # true if use Azure Service Bus. False if RabbitMQ + appinsights: + key: "" # App insights to use + k8s: {} + misc: # inf.misc contains miscellaneous configuration related to infrastructure + useLoadTest: false # If running under loading test or not + useAzureStorage: false # If catalog api uses azure storage or not \ No newline at end of file diff --git a/src/Services/Ordering/Ordering.API/.dockerignore b/src/Services/Ordering/Ordering.API/.dockerignore new file mode 100644 index 000000000..04f7b133d --- /dev/null +++ b/src/Services/Ordering/Ordering.API/.dockerignore @@ -0,0 +1,14 @@ +.dockerignore +.git +.gitignore +.vs +.vscode +**/*.*proj.user +**/azds.yaml +**/bin +**/charts +**/Dockerfile +**/Dockerfile.develop +**/obj +**/secrets.dev.yaml +**/values.dev.yaml \ No newline at end of file diff --git a/src/Services/Ordering/Ordering.API/Dockerfile.develop b/src/Services/Ordering/Ordering.API/Dockerfile.develop new file mode 100644 index 000000000..5f4cd3486 --- /dev/null +++ b/src/Services/Ordering/Ordering.API/Dockerfile.develop @@ -0,0 +1,26 @@ +FROM microsoft/dotnet:2.1-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src +COPY ["Ordering.API.csproj", "./"] +COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] +COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] +COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] +COPY ["src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj", "src/BuildingBlocks/EventBus/IntegrationEventLogEF/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/Microsoft.AspNetCore.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/Microsoft.Extensions.HealthChecks.SqlServer.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/Microsoft.Extensions.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/"] +COPY ["src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj", "src/BuildingBlocks/WebHostCustomization/WebHost.Customization/"] +COPY ["src/Services/Ordering/Ordering.Domain/Ordering.Domain.csproj", "src/Services/Ordering/Ordering.Domain/"] +COPY ["src/Services/Ordering/Ordering.Infrastructure/Ordering.Infrastructure.csproj", "src/Services/Ordering/Ordering.Infrastructure/"] +COPY ["src/Services/Ordering/Ordering.API/Ordering.API.csproj", "src/Services/Ordering/Ordering.API/"] + +RUN dotnet restore src/Services/Ordering/Ordering.API/Ordering.API.csproj +COPY . . +WORKDIR /src/src/Services/Ordering/Ordering.API +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION + +CMD ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile"] \ No newline at end of file diff --git a/src/Services/Ordering/Ordering.API/app.yaml b/src/Services/Ordering/Ordering.API/app.yaml new file mode 100644 index 000000000..6ca5d9d31 --- /dev/null +++ b/src/Services/Ordering/Ordering.API/app.yaml @@ -0,0 +1,43 @@ +# This heml values file defines app-based settings +# Charts use those values, so this file **MUST** be included in all chart releases + + +app: # app global settings + name: "my-eshop" # Override for custom app name + ingress: # ingress related settings + entries: + basket: basket-api # ingress entry for basket api + catalog: catalog-api # ingress entry for catalog api + ordering: ordering-api # ingress entry for ordering api + identity: identity # ingress entry for identity api + mvc: webmvc # ingress entry for web mvc + spa: "" # ingress entry for web spa + status: webstatus # ingress entry for web status + webshoppingapigw: webshoppingapigw # ingress entry for web shopping Agw + webmarketingapigw: webmarketingapigw # ingress entry for web mkg Agw + mobilemarketingapigw: mobilemarketingapigw # ingress entry for mobile mkg Agw + mobileshoppingapigw: mobileshoppingapigw # ingress entry for mobile shopping Agw + webshoppingagg: webshoppingagg # ingress entry for web shopping aggregator + mobileshoppingagg: mobileshoppingagg # ingress entry for mobile shopping aggregator + payment: payment-api # ingress entry for payment api + locations: locations-api # ingress entry for locations api + marketing: marketing-api # ingress entry for marketing api + svc: + basket: basket # service name for basket api + catalog: catalog # service name for catalog api + ordering: ordering # service name for ordering api + orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks + orderingsignalrhub: orderingsignalrhub # service name for orderingsignalrhub + identity: identity # service name for identity api + mvc: webmvc # service name for web mvc + spa: webspa # service name for web spa + status: webstatus # service name for web status + webshoppingapigw: webshoppingapigw # service name for web shopping Agw + webmarketingapigw: webmarketingapigw # service name for web mkg Agw + mobilemarketingapigw: mobilemarketingapigw # service name for mobile mkg Agw + mobileshoppingapigw: mobileshoppingapigw # service name for mobile shopping Agw + webshoppingagg: webshoppingagg # service name for web shopping aggregator + mobileshoppingagg: mobileshoppingagg # service name for mobile shopping aggregator + payment: payment # service name for payment api + locations: locations # service name for locations api + marketing: marketing # service name for marketing ap diff --git a/src/Services/Ordering/Ordering.API/azds.yaml b/src/Services/Ordering/Ordering.API/azds.yaml new file mode 100644 index 000000000..b81f9d773 --- /dev/null +++ b/src/Services/Ordering/Ordering.API/azds.yaml @@ -0,0 +1,43 @@ +kind: helm-release +apiVersion: 1.0 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: ../../../../k8s/helm/ordering-api + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml + + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + inf: + k8s: + dns: "$(spacePrefix)orderingapi$(hostSuffix)" + ingress: + hosts: + # This expands to [space.s.]orderingapi...aksapp.io + - $(spacePrefix)orderingapi$(hostSuffix) +configurations: + develop: + build: + dockerfile: Dockerfile.develop + useGitIgnore: true + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - "**/Pages/**" + - "**/Views/**" + - "**/wwwroot/**" + - "!**/*.{sln,csproj}" + command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] + iterate: + processesToKill: [dotnet, vsdbg] + buildCommands: + - [dotnet, build, --no-restore, -c, "${BUILD_CONFIGURATION:-Debug}"] diff --git a/src/Services/Ordering/Ordering.API/inf.yaml b/src/Services/Ordering/Ordering.API/inf.yaml new file mode 100644 index 000000000..943ec99fb --- /dev/null +++ b/src/Services/Ordering/Ordering.API/inf.yaml @@ -0,0 +1,22 @@ +# This heml values file defines all infrastructure used by eShopOnContainers. +# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment + +inf: + sql: # inf.sql defines the sql server databases & logins +# host: my-sql-server # Uncomment to specify a custom sql-server to be used. By default "sql-data-" will be used + common: + user: sa # SQL user + pwd: Pass@word # SQL pwd + pid: Developer + ordering: # inf.sql.ordering: settings for the ordering-api sql (user, pwd, db) + db: OrderingDb # Ordering API SQL db name + eventbus: + svc: rabbitmq # Name of k8s svc for rabbitmq + constr: rabbitmq # Event bus connection string + useAzure: false # true if use Azure Service Bus. False if RabbitMQ + appinsights: + key: "" # App insights to use + k8s: {} + misc: # inf.misc contains miscellaneous configuration related to infrastructure + useLoadTest: false # If running under loading test or not + useAzureStorage: false # If catalog api uses azure storage or not From cfc1df7c564dc889be95fb371d5bc4b9ab81e618 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Thu, 2 Aug 2018 17:05:11 +0200 Subject: [PATCH 005/108] odering.api dockerfile.develop --- src/Services/Ordering/Ordering.API/Dockerfile.develop | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Services/Ordering/Ordering.API/Dockerfile.develop b/src/Services/Ordering/Ordering.API/Dockerfile.develop index 5f4cd3486..2106ff3da 100644 --- a/src/Services/Ordering/Ordering.API/Dockerfile.develop +++ b/src/Services/Ordering/Ordering.API/Dockerfile.develop @@ -5,7 +5,6 @@ ENV DOTNET_USE_POLLING_FILE_WATCHER=true EXPOSE 80 WORKDIR /src -COPY ["Ordering.API.csproj", "./"] COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] From 1b89edec1517080293f5773fd08ec9a40e958a64 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Wed, 29 Aug 2018 11:27:03 +0200 Subject: [PATCH 006/108] mvc devspace --- k8s/helm/webmvc/templates/configmap.yaml | 1 - src/Services/Catalog/Catalog.API/inf.yaml | 1 + src/Services/Identity/Identity.API/inf.yaml | 3 -- src/Web/WebMVC/.dockerignore | 14 +++++++ src/Web/WebMVC/Dockerfile.develop | 16 ++++++++ src/Web/WebMVC/app.yaml | 39 +++++++++++++++++++ src/Web/WebMVC/azds.yaml | 42 +++++++++++++++++++++ src/Web/WebMVC/inf.yaml | 24 ++++++++++++ src/Web/WebMVC/package-lock.json | 2 +- 9 files changed, 137 insertions(+), 5 deletions(-) create mode 100644 src/Web/WebMVC/.dockerignore create mode 100644 src/Web/WebMVC/Dockerfile.develop create mode 100644 src/Web/WebMVC/app.yaml create mode 100644 src/Web/WebMVC/azds.yaml create mode 100644 src/Web/WebMVC/inf.yaml diff --git a/k8s/helm/webmvc/templates/configmap.yaml b/k8s/helm/webmvc/templates/configmap.yaml index 9d120fe7b..871f6c24e 100644 --- a/k8s/helm/webmvc/templates/configmap.yaml +++ b/k8s/helm/webmvc/templates/configmap.yaml @@ -2,7 +2,6 @@ {{- $identity := include "url-of" (list .Values.app.ingress.entries.identity .) -}} {{- $webshoppingapigw := include "url-of" (list .Values.app.ingress.entries.webshoppingapigw .) -}} {{- $mvc := include "url-of" (list .Values.app.ingress.entries.mvc .) -}} -{{- $mongo := include "mongo-name" . -}} apiVersion: v1 diff --git a/src/Services/Catalog/Catalog.API/inf.yaml b/src/Services/Catalog/Catalog.API/inf.yaml index 74a7762c4..18e2c04bf 100644 --- a/src/Services/Catalog/Catalog.API/inf.yaml +++ b/src/Services/Catalog/Catalog.API/inf.yaml @@ -10,6 +10,7 @@ inf: pid: Developer catalog: # inf.sql.catalog: settings for the catalog-api sql (user, pwd, db) db: CatalogDb # Catalog API SQL db name + redis: keystore: svc: keystore-data # Name of k8s svc for keystore-data redis constr: keystore-data # Connection string to Redis used as a Keystore (by Identity API) diff --git a/src/Services/Identity/Identity.API/inf.yaml b/src/Services/Identity/Identity.API/inf.yaml index a4c4b08ef..dba30032b 100644 --- a/src/Services/Identity/Identity.API/inf.yaml +++ b/src/Services/Identity/Identity.API/inf.yaml @@ -10,9 +10,6 @@ inf: pid: Developer identity: db: IdentityDb # Ordering API SQL db name - keystore: - svc: keystore-data # Name of k8s svc for keystore-data redis - constr: keystore-data # Connection string to Redis used as a Keystore (by Identity API) redis: # inf.redis defines the redis' connection strings keystore: svc: keystore-data # Name of k8s svc for keystore-data redis diff --git a/src/Web/WebMVC/.dockerignore b/src/Web/WebMVC/.dockerignore new file mode 100644 index 000000000..04f7b133d --- /dev/null +++ b/src/Web/WebMVC/.dockerignore @@ -0,0 +1,14 @@ +.dockerignore +.git +.gitignore +.vs +.vscode +**/*.*proj.user +**/azds.yaml +**/bin +**/charts +**/Dockerfile +**/Dockerfile.develop +**/obj +**/secrets.dev.yaml +**/values.dev.yaml \ No newline at end of file diff --git a/src/Web/WebMVC/Dockerfile.develop b/src/Web/WebMVC/Dockerfile.develop new file mode 100644 index 000000000..16041dc97 --- /dev/null +++ b/src/Web/WebMVC/Dockerfile.develop @@ -0,0 +1,16 @@ +FROM microsoft/dotnet:2.1-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src +COPY ["src/Web/WebMVC/WebMVC.csproj", "src/Web/WebMVC/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/Microsoft.AspNetCore.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/"] +COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/Microsoft.Extensions.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/"] +RUN dotnet restore "src/Web/WebMVC/WebMVC.csproj" +COPY . . +WORKDIR "/src/src/Web/WebMVC" +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION + +ENTRYPOINT ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] \ No newline at end of file diff --git a/src/Web/WebMVC/app.yaml b/src/Web/WebMVC/app.yaml new file mode 100644 index 000000000..c6209da47 --- /dev/null +++ b/src/Web/WebMVC/app.yaml @@ -0,0 +1,39 @@ +app: # app global settings + name: "my-eshop" # Override for custom app name + ingress: # ingress related settings + entries: + basket: basket-api # ingress entry for basket api + catalog: catalog-api # ingress entry for catalog api + ordering: ordering-api # ingress entry for ordering api + identity: identity # ingress entry for identity api + mvc: webmvc # ingress entry for web mvc + spa: "" # ingress entry for web spa + status: webstatus # ingress entry for web status + webshoppingapigw: webshoppingapigw # ingress entry for web shopping Agw + webmarketingapigw: webmarketingapigw # ingress entry for web mkg Agw + mobilemarketingapigw: mobilemarketingapigw # ingress entry for mobile mkg Agw + mobileshoppingapigw: mobileshoppingapigw # ingress entry for mobile shopping Agw + webshoppingagg: webshoppingagg # ingress entry for web shopping aggregator + mobileshoppingagg: mobileshoppingagg # ingress entry for mobile shopping aggregator + payment: payment-api # ingress entry for payment api + locations: locations-api # ingress entry for locations api + marketing: marketing-api # ingress entry for marketing api + svc: + basket: basket # service name for basket api + catalog: catalog # service name for catalog api + ordering: ordering # service name for ordering api + orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks + orderingsignalrhub: orderingsignalrhub # service name for orderingsignalrhub + identity: identity # service name for identity api + mvc: webmvc # service name for web mvc + spa: webspa # service name for web spa + status: webstatus # service name for web status + webshoppingapigw: webshoppingapigw # service name for web shopping Agw + webmarketingapigw: webmarketingapigw # service name for web mkg Agw + mobilemarketingapigw: mobilemarketingapigw # service name for mobile mkg Agw + mobileshoppingapigw: mobileshoppingapigw # service name for mobile shopping Agw + webshoppingagg: webshoppingagg # service name for web shopping aggregator + mobileshoppingagg: mobileshoppingagg # service name for mobile shopping aggregator + payment: payment # service name for payment api + locations: locations # service name for locations api + marketing: marketing # service name for marketing api \ No newline at end of file diff --git a/src/Web/WebMVC/azds.yaml b/src/Web/WebMVC/azds.yaml new file mode 100644 index 000000000..438b36f0d --- /dev/null +++ b/src/Web/WebMVC/azds.yaml @@ -0,0 +1,42 @@ +kind: helm-release +apiVersion: 1.0 +build: + context: ..\..\..\ + dockerfile: Dockerfile +install: + chart: ../../../k8s/helm/webmvc + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + inf: + k8s: + dns: "$(spacePrefix)webmvc$(hostSuffix)" + ingress: + hosts: + # This expands to [space.s.]webmvc...aksapp.io + - $(spacePrefix)webmvc$(hostSuffix) +configurations: + develop: + build: + dockerfile: Dockerfile.develop + useGitIgnore: true + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - "**/Pages/**" + - "**/Views/**" + - "**/wwwroot/**" + - "!**/*.{sln,csproj}" + command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] + iterate: + processesToKill: [dotnet, vsdbg] + buildCommands: + - [dotnet, build, --no-restore, -c, "${BUILD_CONFIGURATION:-Debug}"] diff --git a/src/Web/WebMVC/inf.yaml b/src/Web/WebMVC/inf.yaml new file mode 100644 index 000000000..9df900bae --- /dev/null +++ b/src/Web/WebMVC/inf.yaml @@ -0,0 +1,24 @@ +# This heml values file defines all infrastructure used by eShopOnContainers. +# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment + +inf: + redis: + keystore: + svc: keystore-data # Name of k8s svc for keystore-data redis + constr: keystore-data # Connection string to Redis used as a Keystore (by Identity API) + appinsights: + key: "" # App insights to use + k8s: {} + eventbus: + svc: rabbitmq # Name of k8s svc for rabbitmq + constr: rabbitmq # Event bus connection string + useAzure: false # true if use Azure Service Bus. False if RabbitMQ + misc: # inf.misc contains miscellaneous configuration related to infrastructure + useLoadTest: false # If running under loading test or not + useAzureStorage: false # If catalog api uses azure storage or not + +ingress: + annotations: + kubernetes.io/ingress.class: addon-http-application-routing + ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/ssl-redirect: "false" \ No newline at end of file diff --git a/src/Web/WebMVC/package-lock.json b/src/Web/WebMVC/package-lock.json index a94ca154f..785fd8273 100644 --- a/src/Web/WebMVC/package-lock.json +++ b/src/Web/WebMVC/package-lock.json @@ -19,7 +19,7 @@ "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz", "integrity": "sha1-i0O+ZPudDEFIcURvLbjoyk6V8YE=", "requires": { - "jquery": "3.3.1" + "jquery": ">=1.12.0" } } } From b95a4874495040d5eae2297d5794a5df67e6b3aa Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 1 Oct 2018 17:32:53 +0200 Subject: [PATCH 007/108] WIP on devspaces --- .../Mobile.Bff.Shopping/aggregator/Dockerfile.develop | 5 ++--- .../Mobile.Bff.Shopping/aggregator/azds.yaml | 11 ++++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop index e34f6ac1d..10ef2c3d4 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop @@ -5,12 +5,11 @@ ENV DOTNET_USE_POLLING_FILE_WATCHER=true EXPOSE 80 WORKDIR /src -COPY ["eShopOnContainers-ServicesAndWebApps.sln", "./"] COPY ["src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj", "src/ApiGateways/Mobile.Bff.Shopping/aggregator/"] -RUN dotnet restore -nowarn:msb3202,nu1503 +RUN dotnet restore src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj -nowarn:msb3202,nu1503 COPY . . WORKDIR "/src/src/ApiGateways/Mobile.Bff.Shopping/aggregator" -RUN dotnet build "Mobile.Shopping.HttpAggregator.csproj" +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION CMD ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile"] \ No newline at end of file diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml index dca11afbf..6537b476e 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml @@ -4,19 +4,24 @@ build: context: ..\..\..\.. dockerfile: Dockerfile install: - chart: charts/aggregator + chart: ../../../../k8s/helm/apigwms values: - values.dev.yaml? - secrets.dev.yaml? + - ..\..\..\..\k8s\helm\app.yaml + - ..\..\..\..\k8s\helm\inf.yaml set: image: tag: $(tag) pullPolicy: Never + inf: + k8s: + dns: "$(spacePrefix)apigwms$(hostSuffix)" disableProbes: true ingress: hosts: - # This expands to [space.s.]aggregator...aksapp.io - - $(spacePrefix)aggregator$(hostSuffix) + # This expands to [space.s.]apigwms...aksapp.io + - $(spacePrefix)apigwms$(hostSuffix) configurations: develop: build: From 76118776c43952e48ac43cc61343268def4abb84 Mon Sep 17 00:00:00 2001 From: Mohsen Alikhani Date: Wed, 6 Feb 2019 20:08:22 +0330 Subject: [PATCH 008/108] OrderController Recommendation It's good idea to take advantage of GetOrderByIdQuery and handle by GetCustomerByIdQueryHandler --- .../Ordering/Ordering.API/Controllers/OrdersController.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Services/Ordering/Ordering.API/Controllers/OrdersController.cs b/src/Services/Ordering/Ordering.API/Controllers/OrdersController.cs index e2c711b69..5a00163a8 100644 --- a/src/Services/Ordering/Ordering.API/Controllers/OrdersController.cs +++ b/src/Services/Ordering/Ordering.API/Controllers/OrdersController.cs @@ -80,6 +80,8 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API.Controllers { try { + //Todo: It's good idea to take advantage of GetOrderByIdQuery and handle by GetCustomerByIdQueryHandler + //var order customer = await _mediator.Send(new GetOrderByIdQuery(orderId)); var order = await _orderQueries.GetOrderAsync(orderId); return Ok(order); @@ -117,4 +119,4 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API.Controllers return await _mediator.Send(createOrderDraftCommand); } } -} \ No newline at end of file +} From 820330556b8ca66e4309824c57eca031e598dcf4 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Wed, 13 Feb 2019 10:02:07 +0100 Subject: [PATCH 009/108] updated files to new devspaces format --- .../aggregator/Dockerfile.develop | 2 +- .../Basket/Basket.API/Dockerfile.develop | 2 +- .../Catalog/Catalog.API/Dockerfile.develop | 2 +- .../Identity/Identity.API/Dockerfile.develop | 2 +- .../Ordering/Ordering.API/Dockerfile.develop | 2 +- src/Web/WebMVC/Dockerfile.develop | 8 +++--- src/Web/WebMVC/azds.yaml | 27 +++++++++---------- src/Web/WebMVC/inf.yaml | 2 +- 8 files changed, 22 insertions(+), 25 deletions(-) diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop index 10ef2c3d4..64e63de0f 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop @@ -1,4 +1,4 @@ -FROM microsoft/dotnet:2.1-sdk +FROM microsoft/dotnet:2.2.100-sdk ENV ASPNETCORE_ENVIRONMENT=Development ENV DOTNET_USE_POLLING_FILE_WATCHER=true diff --git a/src/Services/Basket/Basket.API/Dockerfile.develop b/src/Services/Basket/Basket.API/Dockerfile.develop index b7d715b28..cd6252343 100644 --- a/src/Services/Basket/Basket.API/Dockerfile.develop +++ b/src/Services/Basket/Basket.API/Dockerfile.develop @@ -1,4 +1,4 @@ -FROM microsoft/dotnet:2.1-sdk +FROM microsoft/dotnet:2.2.100-sdk ARG BUILD_CONFIGURATION=Debug ENV ASPNETCORE_ENVIRONMENT=Development ENV DOTNET_USE_POLLING_FILE_WATCHER=true diff --git a/src/Services/Catalog/Catalog.API/Dockerfile.develop b/src/Services/Catalog/Catalog.API/Dockerfile.develop index b62c7f6e3..f6a111386 100644 --- a/src/Services/Catalog/Catalog.API/Dockerfile.develop +++ b/src/Services/Catalog/Catalog.API/Dockerfile.develop @@ -1,4 +1,4 @@ -FROM microsoft/dotnet:2.1-sdk +FROM microsoft/dotnet:2.2.100-sdk ENV ASPNETCORE_ENVIRONMENT=Development ENV DOTNET_USE_POLLING_FILE_WATCHER=true diff --git a/src/Services/Identity/Identity.API/Dockerfile.develop b/src/Services/Identity/Identity.API/Dockerfile.develop index e2083dd40..4d49cfdcb 100644 --- a/src/Services/Identity/Identity.API/Dockerfile.develop +++ b/src/Services/Identity/Identity.API/Dockerfile.develop @@ -1,4 +1,4 @@ -FROM microsoft/dotnet:2.1-sdk +FROM microsoft/dotnet:2.2.100-sdk ARG BUILD_CONFIGURATION=Debug ENV ASPNETCORE_ENVIRONMENT=Development ENV DOTNET_USE_POLLING_FILE_WATCHER=true diff --git a/src/Services/Ordering/Ordering.API/Dockerfile.develop b/src/Services/Ordering/Ordering.API/Dockerfile.develop index 2106ff3da..01b1e58c1 100644 --- a/src/Services/Ordering/Ordering.API/Dockerfile.develop +++ b/src/Services/Ordering/Ordering.API/Dockerfile.develop @@ -1,4 +1,4 @@ -FROM microsoft/dotnet:2.1-sdk +FROM microsoft/dotnet:2.2.100-sdk ARG BUILD_CONFIGURATION=Debug ENV ASPNETCORE_ENVIRONMENT=Development ENV DOTNET_USE_POLLING_FILE_WATCHER=true diff --git a/src/Web/WebMVC/Dockerfile.develop b/src/Web/WebMVC/Dockerfile.develop index 16041dc97..7e923c2b4 100644 --- a/src/Web/WebMVC/Dockerfile.develop +++ b/src/Web/WebMVC/Dockerfile.develop @@ -1,4 +1,4 @@ -FROM microsoft/dotnet:2.1-sdk +FROM microsoft/dotnet:2.2-sdk ARG BUILD_CONFIGURATION=Debug ENV ASPNETCORE_ENVIRONMENT=Development ENV DOTNET_USE_POLLING_FILE_WATCHER=true @@ -6,11 +6,9 @@ EXPOSE 80 WORKDIR /src COPY ["src/Web/WebMVC/WebMVC.csproj", "src/Web/WebMVC/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/Microsoft.AspNetCore.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/Microsoft.Extensions.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/"] RUN dotnet restore "src/Web/WebMVC/WebMVC.csproj" COPY . . WORKDIR "/src/src/Web/WebMVC" -RUN dotnet build --no-restore -c $BUILD_CONFIGURATION +RUN dotnet build --no-restore "WebMVC.csproj" -c $BUILD_CONFIGURATION -ENTRYPOINT ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] \ No newline at end of file +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] \ No newline at end of file diff --git a/src/Web/WebMVC/azds.yaml b/src/Web/WebMVC/azds.yaml index 438b36f0d..5c95c50ee 100644 --- a/src/Web/WebMVC/azds.yaml +++ b/src/Web/WebMVC/azds.yaml @@ -1,40 +1,39 @@ kind: helm-release -apiVersion: 1.0 +apiVersion: 1.1 build: context: ..\..\..\ dockerfile: Dockerfile install: chart: ../../../k8s/helm/webmvc - values: - - values.dev.yaml? - - secrets.dev.yaml? - - inf.yaml - - app.yaml set: replicaCount: 1 image: tag: $(tag) pullPolicy: Never - inf: - k8s: - dns: "$(spacePrefix)webmvc$(hostSuffix)" ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]webmvc...aksapp.io - $(spacePrefix)webmvc$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml configurations: develop: build: - dockerfile: Dockerfile.develop useGitIgnore: true + dockerfile: Dockerfile.develop args: BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} container: sync: - - "**/Pages/**" - - "**/Views/**" - - "**/wwwroot/**" - - "!**/*.{sln,csproj}" + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] iterate: processesToKill: [dotnet, vsdbg] diff --git a/src/Web/WebMVC/inf.yaml b/src/Web/WebMVC/inf.yaml index 9df900bae..bac6d51a4 100644 --- a/src/Web/WebMVC/inf.yaml +++ b/src/Web/WebMVC/inf.yaml @@ -19,6 +19,6 @@ inf: ingress: annotations: - kubernetes.io/ingress.class: addon-http-application-routing +# kubernetes.io/ingress.class: addon-http-application-routing ingress.kubernetes.io/ssl-redirect: "false" nginx.ingress.kubernetes.io/ssl-redirect: "false" \ No newline at end of file From e310a525fe6ca41e370b0d96d5adbfc960e4bc23 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 25 Feb 2019 13:26:31 +0100 Subject: [PATCH 010/108] Devspaces files for Apigateways, basket, ordering, aggregators --- src/ApiGateways/ApiGw-Base/Dockerfile.develop | 14 +++++ .../Mobile.Bff.Marketing/apigw/azds.yaml | 41 +++++++++++++++ .../apigw/values.dev.yaml | 2 + .../aggregator/Dockerfile.develop | 6 +-- .../Mobile.Bff.Shopping/aggregator/azds.yaml | 51 +++++++++++------- .../Mobile.Bff.Shopping/apigw/azds.yaml | 41 +++++++++++++++ .../Mobile.Bff.Shopping/apigw/values.dev.yaml | 2 + .../Web.Bff.Marketing/apigw/azds.yaml | 41 +++++++++++++++ .../Web.Bff.Marketing/apigw/values.dev.yaml | 2 + .../aggregator/Dockerfile.develop | 15 ++++++ .../Web.Bff.Shopping/aggregator/azds.yaml | 52 +++++++++++++++++++ .../Web.Bff.Shopping/apigw/azds.yaml | 41 +++++++++++++++ .../Web.Bff.Shopping/apigw/values.dev.yaml | 2 + .../Basket/Basket.API/Dockerfile.develop | 6 +-- src/Services/Basket/Basket.API/app.yaml | 43 --------------- src/Services/Basket/Basket.API/azds.yaml | 43 ++++++++++----- src/Services/Basket/Basket.API/inf.yaml | 18 ------- .../Catalog/Catalog.API/Dockerfile.develop | 14 ++--- src/Services/Catalog/Catalog.API/app.yaml | 39 -------------- src/Services/Catalog/Catalog.API/azds.yaml | 47 ++++++++++------- src/Services/Catalog/Catalog.API/inf.yaml | 26 ---------- src/Web/WebMVC/app.yaml | 39 -------------- src/Web/WebMVC/inf.yaml | 24 --------- src/prepare-devspaces.ps1 | 42 +++++++++++++++ 24 files changed, 394 insertions(+), 257 deletions(-) create mode 100644 src/ApiGateways/ApiGw-Base/Dockerfile.develop create mode 100644 src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml create mode 100644 src/ApiGateways/Mobile.Bff.Marketing/apigw/values.dev.yaml create mode 100644 src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml create mode 100644 src/ApiGateways/Mobile.Bff.Shopping/apigw/values.dev.yaml create mode 100644 src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml create mode 100644 src/ApiGateways/Web.Bff.Marketing/apigw/values.dev.yaml create mode 100644 src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop create mode 100644 src/ApiGateways/Web.Bff.Shopping/aggregator/azds.yaml create mode 100644 src/ApiGateways/Web.Bff.Shopping/apigw/azds.yaml create mode 100644 src/ApiGateways/Web.Bff.Shopping/apigw/values.dev.yaml delete mode 100644 src/Services/Basket/Basket.API/app.yaml delete mode 100644 src/Services/Basket/Basket.API/inf.yaml delete mode 100644 src/Services/Catalog/Catalog.API/app.yaml delete mode 100644 src/Services/Catalog/Catalog.API/inf.yaml delete mode 100644 src/Web/WebMVC/app.yaml delete mode 100644 src/Web/WebMVC/inf.yaml create mode 100644 src/prepare-devspaces.ps1 diff --git a/src/ApiGateways/ApiGw-Base/Dockerfile.develop b/src/ApiGateways/ApiGw-Base/Dockerfile.develop new file mode 100644 index 000000000..4da230d68 --- /dev/null +++ b/src/ApiGateways/ApiGw-Base/Dockerfile.develop @@ -0,0 +1,14 @@ +FROM microsoft/dotnet:2.2-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src +COPY ["src/ApiGateways/ApiGw-Base/OcelotApiGw.csproj", "src/ApiGateways/ApiGw-Base/"] +RUN dotnet restore "src/ApiGateways/ApiGw-Base/OcelotApiGw.csproj" +COPY . . +WORKDIR "/src/src/ApiGateways/ApiGw-Base" +RUN dotnet build --no-restore "OcelotApiGw.csproj" -c $BUILD_CONFIGURATION + +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] \ No newline at end of file diff --git a/src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml b/src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml new file mode 100644 index 000000000..85c7a9f64 --- /dev/null +++ b/src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml @@ -0,0 +1,41 @@ +kind: helm-release +apiVersion: 1.1 +build: + context: ..\..\..\..\ + dockerfile: ..\..\..\..\ApiGateways\ApiGw-Base\Dockerfile +install: + chart: ../../../../k8s/helm/apigwwm + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds + hosts: + # This expands to [space.s.]webmvc...aksapp.io + - $(spacePrefix)apigwwm$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml +configurations: + develop: + build: + useGitIgnore: true + dockerfile: ..\..\..\ApiGateways\ApiGw-Base\Dockerfile.develop + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] + iterate: + processesToKill: [dotnet, vsdbg] + buildCommands: + - [dotnet, build, --no-restore, -c, "${BUILD_CONFIGURATION:-Debug}"] diff --git a/src/ApiGateways/Mobile.Bff.Marketing/apigw/values.dev.yaml b/src/ApiGateways/Mobile.Bff.Marketing/apigw/values.dev.yaml new file mode 100644 index 000000000..fb59d98d5 --- /dev/null +++ b/src/ApiGateways/Mobile.Bff.Marketing/apigw/values.dev.yaml @@ -0,0 +1,2 @@ +ocelot: + configPath: /src/src/ApiGateways/ApiGw-Base/configuration \ No newline at end of file diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop index 64e63de0f..16d42e393 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop @@ -1,7 +1,7 @@ -FROM microsoft/dotnet:2.2.100-sdk +FROM microsoft/dotnet:2.2-sdk +ARG BUILD_CONFIGURATION=Debug ENV ASPNETCORE_ENVIRONMENT=Development ENV DOTNET_USE_POLLING_FILE_WATCHER=true - EXPOSE 80 WORKDIR /src @@ -12,4 +12,4 @@ COPY . . WORKDIR "/src/src/ApiGateways/Mobile.Bff.Shopping/aggregator" RUN dotnet build --no-restore -c $BUILD_CONFIGURATION -CMD ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile"] \ No newline at end of file +CMD ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"]] \ No newline at end of file diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml index 6537b476e..b4ffe0e20 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml @@ -1,41 +1,52 @@ kind: helm-release -apiVersion: 1.0 +apiVersion: 1.1 build: context: ..\..\..\.. dockerfile: Dockerfile install: - chart: ../../../../k8s/helm/apigwms - values: - - values.dev.yaml? - - secrets.dev.yaml? - - ..\..\..\..\k8s\helm\app.yaml - - ..\..\..\..\k8s\helm\inf.yaml + chart: ../../../../k8s/helm/mobileshoppingagg set: image: tag: $(tag) pullPolicy: Never - inf: - k8s: - dns: "$(spacePrefix)apigwms$(hostSuffix)" - disableProbes: true ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]apigwms...aksapp.io - - $(spacePrefix)apigwms$(hostSuffix) + - $(spacePrefix)mobileshoppingagg$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - app.yaml + - inf.yaml configurations: develop: build: - dockerfile: Dockerfile.develop useGitIgnore: true + dockerfile: Dockerfile.develop container: syncTarget: /src sync: - - "**/Pages/**" - - "**/Views/**" - - "**/wwwroot/**" - - "!**/*.{sln,csproj}" - command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${Configuration:-Debug}"] + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${Configuration:-Debug} iterate: - processesToKill: [dotnet, vsdbg] + processesToKill: + - dotnet + - vsdbg buildCommands: - - [dotnet, build, --no-restore, -c, "${Configuration:-Debug}"] + - - dotnet + - build + - --no-restore + - -c + - ${Configuration:-Debug} diff --git a/src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml b/src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml new file mode 100644 index 000000000..6e64cf5cf --- /dev/null +++ b/src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml @@ -0,0 +1,41 @@ +kind: helm-release +apiVersion: 1.1 +build: + context: ..\..\..\..\ + dockerfile: ..\..\..\..\ApiGateways\ApiGw-Base\Dockerfile +install: + chart: ../../../../k8s/helm/apigwms + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds + hosts: + # This expands to [space.s.]webmvc...aksapp.io + - $(spacePrefix)apigwms$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml +configurations: + develop: + build: + useGitIgnore: true + dockerfile: ..\..\..\ApiGateways\ApiGw-Base\Dockerfile.develop + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] + iterate: + processesToKill: [dotnet, vsdbg] + buildCommands: + - [dotnet, build, --no-restore, -c, "${BUILD_CONFIGURATION:-Debug}"] diff --git a/src/ApiGateways/Mobile.Bff.Shopping/apigw/values.dev.yaml b/src/ApiGateways/Mobile.Bff.Shopping/apigw/values.dev.yaml new file mode 100644 index 000000000..fb59d98d5 --- /dev/null +++ b/src/ApiGateways/Mobile.Bff.Shopping/apigw/values.dev.yaml @@ -0,0 +1,2 @@ +ocelot: + configPath: /src/src/ApiGateways/ApiGw-Base/configuration \ No newline at end of file diff --git a/src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml b/src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml new file mode 100644 index 000000000..4d36cad78 --- /dev/null +++ b/src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml @@ -0,0 +1,41 @@ +kind: helm-release +apiVersion: 1.1 +build: + context: ..\..\..\..\ + dockerfile: ..\..\..\..\ApiGateways\ApiGw-Base\Dockerfile +install: + chart: ../../../../k8s/helm/apigwmm + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds + hosts: + # This expands to [space.s.]webmvc...aksapp.io + - $(spacePrefix)apigwmm$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml +configurations: + develop: + build: + useGitIgnore: true + dockerfile: ..\..\..\ApiGateways\ApiGw-Base\Dockerfile.develop + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] + iterate: + processesToKill: [dotnet, vsdbg] + buildCommands: + - [dotnet, build, --no-restore, -c, "${BUILD_CONFIGURATION:-Debug}"] diff --git a/src/ApiGateways/Web.Bff.Marketing/apigw/values.dev.yaml b/src/ApiGateways/Web.Bff.Marketing/apigw/values.dev.yaml new file mode 100644 index 000000000..fb59d98d5 --- /dev/null +++ b/src/ApiGateways/Web.Bff.Marketing/apigw/values.dev.yaml @@ -0,0 +1,2 @@ +ocelot: + configPath: /src/src/ApiGateways/ApiGw-Base/configuration \ No newline at end of file diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop new file mode 100644 index 000000000..c5c80af40 --- /dev/null +++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop @@ -0,0 +1,15 @@ +FROM microsoft/dotnet:2.2-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src +COPY ["src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj", "src/ApiGateways/Web.Bff.Shopping/aggregator/"] + +RUN dotnet restore src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj -nowarn:msb3202,nu1503 +COPY . . +WORKDIR "/src/src/ApiGateways/Web.Bff.Shopping/aggregator" +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION + +CMD ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"]] \ No newline at end of file diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/azds.yaml b/src/ApiGateways/Web.Bff.Shopping/aggregator/azds.yaml new file mode 100644 index 000000000..63bb14c94 --- /dev/null +++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/azds.yaml @@ -0,0 +1,52 @@ +kind: helm-release +apiVersion: 1.1 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: ../../../../k8s/helm/webshoppingagg + set: + image: + tag: $(tag) + pullPolicy: Never + ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds + hosts: + # This expands to [space.s.]apigwms...aksapp.io + - $(spacePrefix)webshoppingagg$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - app.yaml + - inf.yaml +configurations: + develop: + build: + useGitIgnore: true + dockerfile: Dockerfile.develop + container: + syncTarget: /src + sync: + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${Configuration:-Debug} + iterate: + processesToKill: + - dotnet + - vsdbg + buildCommands: + - - dotnet + - build + - --no-restore + - -c + - ${Configuration:-Debug} diff --git a/src/ApiGateways/Web.Bff.Shopping/apigw/azds.yaml b/src/ApiGateways/Web.Bff.Shopping/apigw/azds.yaml new file mode 100644 index 000000000..3aff7a62b --- /dev/null +++ b/src/ApiGateways/Web.Bff.Shopping/apigw/azds.yaml @@ -0,0 +1,41 @@ +kind: helm-release +apiVersion: 1.1 +build: + context: ..\..\..\..\ + dockerfile: ..\..\..\..\ApiGateways\ApiGw-Base\Dockerfile +install: + chart: ../../../../k8s/helm/apigwws + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds + hosts: + # This expands to [space.s.]webmvc...aksapp.io + - $(spacePrefix)apigwws$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml +configurations: + develop: + build: + useGitIgnore: true + dockerfile: ..\..\..\ApiGateways\ApiGw-Base\Dockerfile.develop + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] + iterate: + processesToKill: [dotnet, vsdbg] + buildCommands: + - [dotnet, build, --no-restore, -c, "${BUILD_CONFIGURATION:-Debug}"] diff --git a/src/ApiGateways/Web.Bff.Shopping/apigw/values.dev.yaml b/src/ApiGateways/Web.Bff.Shopping/apigw/values.dev.yaml new file mode 100644 index 000000000..fb59d98d5 --- /dev/null +++ b/src/ApiGateways/Web.Bff.Shopping/apigw/values.dev.yaml @@ -0,0 +1,2 @@ +ocelot: + configPath: /src/src/ApiGateways/ApiGw-Base/configuration \ No newline at end of file diff --git a/src/Services/Basket/Basket.API/Dockerfile.develop b/src/Services/Basket/Basket.API/Dockerfile.develop index cd6252343..5ae5cc235 100644 --- a/src/Services/Basket/Basket.API/Dockerfile.develop +++ b/src/Services/Basket/Basket.API/Dockerfile.develop @@ -1,4 +1,4 @@ -FROM microsoft/dotnet:2.2.100-sdk +FROM microsoft/dotnet:2.2-sdk ARG BUILD_CONFIGURATION=Debug ENV ASPNETCORE_ENVIRONMENT=Development ENV DOTNET_USE_POLLING_FILE_WATCHER=true @@ -9,8 +9,6 @@ WORKDIR /src COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/Microsoft.AspNetCore.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/Microsoft.Extensions.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/"] COPY ["src/Services/Basket/Basket.API/Basket.API.csproj", "src/Services/Basket/Basket.API/"] RUN dotnet restore src/Services/Basket/Basket.API/Basket.API.csproj -nowarn:msb3202,nu1503 @@ -18,4 +16,4 @@ COPY . . WORKDIR /src/src/Services/Basket/Basket.API RUN dotnet build --no-restore -c $BUILD_CONFIGURATION -CMD ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile"] \ No newline at end of file +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] \ No newline at end of file diff --git a/src/Services/Basket/Basket.API/app.yaml b/src/Services/Basket/Basket.API/app.yaml deleted file mode 100644 index 6ca5d9d31..000000000 --- a/src/Services/Basket/Basket.API/app.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# This heml values file defines app-based settings -# Charts use those values, so this file **MUST** be included in all chart releases - - -app: # app global settings - name: "my-eshop" # Override for custom app name - ingress: # ingress related settings - entries: - basket: basket-api # ingress entry for basket api - catalog: catalog-api # ingress entry for catalog api - ordering: ordering-api # ingress entry for ordering api - identity: identity # ingress entry for identity api - mvc: webmvc # ingress entry for web mvc - spa: "" # ingress entry for web spa - status: webstatus # ingress entry for web status - webshoppingapigw: webshoppingapigw # ingress entry for web shopping Agw - webmarketingapigw: webmarketingapigw # ingress entry for web mkg Agw - mobilemarketingapigw: mobilemarketingapigw # ingress entry for mobile mkg Agw - mobileshoppingapigw: mobileshoppingapigw # ingress entry for mobile shopping Agw - webshoppingagg: webshoppingagg # ingress entry for web shopping aggregator - mobileshoppingagg: mobileshoppingagg # ingress entry for mobile shopping aggregator - payment: payment-api # ingress entry for payment api - locations: locations-api # ingress entry for locations api - marketing: marketing-api # ingress entry for marketing api - svc: - basket: basket # service name for basket api - catalog: catalog # service name for catalog api - ordering: ordering # service name for ordering api - orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks - orderingsignalrhub: orderingsignalrhub # service name for orderingsignalrhub - identity: identity # service name for identity api - mvc: webmvc # service name for web mvc - spa: webspa # service name for web spa - status: webstatus # service name for web status - webshoppingapigw: webshoppingapigw # service name for web shopping Agw - webmarketingapigw: webmarketingapigw # service name for web mkg Agw - mobilemarketingapigw: mobilemarketingapigw # service name for mobile mkg Agw - mobileshoppingapigw: mobileshoppingapigw # service name for mobile shopping Agw - webshoppingagg: webshoppingagg # service name for web shopping aggregator - mobileshoppingagg: mobileshoppingagg # service name for mobile shopping aggregator - payment: payment # service name for payment api - locations: locations # service name for locations api - marketing: marketing # service name for marketing ap diff --git a/src/Services/Basket/Basket.API/azds.yaml b/src/Services/Basket/Basket.API/azds.yaml index 597c79d8c..79baa83db 100644 --- a/src/Services/Basket/Basket.API/azds.yaml +++ b/src/Services/Basket/Basket.API/azds.yaml @@ -1,39 +1,54 @@ kind: helm-release -apiVersion: 1.0 +apiVersion: 1.1 build: context: ..\..\..\.. dockerfile: Dockerfile install: chart: ../../../../k8s/helm/basket-api - values: - - values.dev.yaml? - - secrets.dev.yaml? - - inf.yaml - - app.yaml set: replicaCount: 1 image: tag: $(tag) pullPolicy: Never ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]basketapi...aksapp.io - $(spacePrefix)basketapi$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml configurations: develop: build: - dockerfile: Dockerfile.develop useGitIgnore: true + dockerfile: Dockerfile.develop args: BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} container: sync: - - "**/Pages/**" - - "**/Views/**" - - "**/wwwroot/**" - - "!**/*.{sln,csproj}" - command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${BUILD_CONFIGURATION:-Debug} iterate: - processesToKill: [dotnet, vsdbg] + processesToKill: + - dotnet + - vsdbg buildCommands: - - [dotnet, build, --no-restore, -c, "${BUILD_CONFIGURATION:-Debug}"] + - - dotnet + - build + - --no-restore + - -c + - ${BUILD_CONFIGURATION:-Debug} diff --git a/src/Services/Basket/Basket.API/inf.yaml b/src/Services/Basket/Basket.API/inf.yaml deleted file mode 100644 index 3e3e143da..000000000 --- a/src/Services/Basket/Basket.API/inf.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# This heml values file defines all infrastructure used by eShopOnContainers. -# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment - -inf: - redis: # inf.redis defines the redis' connection strings - basket: - svc: basket-data # Name of k8s svc for basket redis - constr: basket-data # Connection string to Redis used by Basket API - eventbus: - svc: rabbitmq # Name of k8s svc for rabbitmq - constr: rabbitmq # Event bus connection string - useAzure: false # true if use Azure Service Bus. False if RabbitMQ - appinsights: - key: "" # App insights to use - k8s: {} - misc: # inf.misc contains miscellaneous configuration related to infrastructure - useLoadTest: false # If running under loading test or not - useAzureStorage: false # If catalog api uses azure storage or not diff --git a/src/Services/Catalog/Catalog.API/Dockerfile.develop b/src/Services/Catalog/Catalog.API/Dockerfile.develop index f6a111386..11034a2bc 100644 --- a/src/Services/Catalog/Catalog.API/Dockerfile.develop +++ b/src/Services/Catalog/Catalog.API/Dockerfile.develop @@ -1,25 +1,21 @@ -FROM microsoft/dotnet:2.2.100-sdk +FROM microsoft/dotnet:2.2-sdk +ARG BUILD_CONFIGURATION=Debug ENV ASPNETCORE_ENVIRONMENT=Development ENV DOTNET_USE_POLLING_FILE_WATCHER=true - EXPOSE 80 WORKDIR /src -COPY ["eShopOnContainers-ServicesAndWebApps.sln", "./"] + COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] COPY ["src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj", "src/BuildingBlocks/EventBus/IntegrationEventLogEF/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/Microsoft.AspNetCore.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.AzureStorage/Microsoft.Extensions.HealthChecks.AzureStorage.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.AzureStorage/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/Microsoft.Extensions.HealthChecks.SqlServer.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/Microsoft.Extensions.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/"] COPY ["src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj", "src/BuildingBlocks/WebHostCustomization/WebHost.Customization/"] COPY ["src/Services/Catalog/Catalog.API/Catalog.API.csproj", "src/Services/Catalog/Catalog.API/"] RUN dotnet restore src/Services/Catalog/Catalog.API/Catalog.API.csproj -nowarn:msb3202,nu1503 COPY . . WORKDIR "/src/src/Services/Catalog/Catalog.API" -RUN dotnet build "Catalog.API.csproj" +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION -CMD ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile"] \ No newline at end of file +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] \ No newline at end of file diff --git a/src/Services/Catalog/Catalog.API/app.yaml b/src/Services/Catalog/Catalog.API/app.yaml deleted file mode 100644 index c6209da47..000000000 --- a/src/Services/Catalog/Catalog.API/app.yaml +++ /dev/null @@ -1,39 +0,0 @@ -app: # app global settings - name: "my-eshop" # Override for custom app name - ingress: # ingress related settings - entries: - basket: basket-api # ingress entry for basket api - catalog: catalog-api # ingress entry for catalog api - ordering: ordering-api # ingress entry for ordering api - identity: identity # ingress entry for identity api - mvc: webmvc # ingress entry for web mvc - spa: "" # ingress entry for web spa - status: webstatus # ingress entry for web status - webshoppingapigw: webshoppingapigw # ingress entry for web shopping Agw - webmarketingapigw: webmarketingapigw # ingress entry for web mkg Agw - mobilemarketingapigw: mobilemarketingapigw # ingress entry for mobile mkg Agw - mobileshoppingapigw: mobileshoppingapigw # ingress entry for mobile shopping Agw - webshoppingagg: webshoppingagg # ingress entry for web shopping aggregator - mobileshoppingagg: mobileshoppingagg # ingress entry for mobile shopping aggregator - payment: payment-api # ingress entry for payment api - locations: locations-api # ingress entry for locations api - marketing: marketing-api # ingress entry for marketing api - svc: - basket: basket # service name for basket api - catalog: catalog # service name for catalog api - ordering: ordering # service name for ordering api - orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks - orderingsignalrhub: orderingsignalrhub # service name for orderingsignalrhub - identity: identity # service name for identity api - mvc: webmvc # service name for web mvc - spa: webspa # service name for web spa - status: webstatus # service name for web status - webshoppingapigw: webshoppingapigw # service name for web shopping Agw - webmarketingapigw: webmarketingapigw # service name for web mkg Agw - mobilemarketingapigw: mobilemarketingapigw # service name for mobile mkg Agw - mobileshoppingapigw: mobileshoppingapigw # service name for mobile shopping Agw - webshoppingagg: webshoppingagg # service name for web shopping aggregator - mobileshoppingagg: mobileshoppingagg # service name for mobile shopping aggregator - payment: payment # service name for payment api - locations: locations # service name for locations api - marketing: marketing # service name for marketing api \ No newline at end of file diff --git a/src/Services/Catalog/Catalog.API/azds.yaml b/src/Services/Catalog/Catalog.API/azds.yaml index 7ea0ae087..cbceada43 100644 --- a/src/Services/Catalog/Catalog.API/azds.yaml +++ b/src/Services/Catalog/Catalog.API/azds.yaml @@ -1,41 +1,52 @@ kind: helm-release -apiVersion: 1.0 +apiVersion: 1.1 build: context: ..\..\..\.. dockerfile: Dockerfile install: chart: ../../../../k8s/helm/catalog-api - values: - - values.dev.yaml? - - secrets.dev.yaml? - - inf.yaml - - app.yaml set: image: tag: $(tag) pullPolicy: Never - inf: - k8s: - dns: "$(spacePrefix)basketapi$(hostSuffix)" - disableProbes: true ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]catalogapi...aksapp.io - $(spacePrefix)basketapi$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml configurations: develop: build: - dockerfile: Dockerfile.develop useGitIgnore: true + dockerfile: Dockerfile.develop container: syncTarget: /src sync: - - "**/Pages/**" - - "**/Views/**" - - "**/wwwroot/**" - - "!**/*.{sln,csproj}" - command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${Configuration:-Debug}"] + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${Configuration:-Debug} iterate: - processesToKill: [dotnet, vsdbg] + processesToKill: + - dotnet + - vsdbg buildCommands: - - [dotnet, build, --no-restore, -c, "${Configuration:-Debug}"] + - - dotnet + - build + - --no-restore + - -c + - ${Configuration:-Debug} diff --git a/src/Services/Catalog/Catalog.API/inf.yaml b/src/Services/Catalog/Catalog.API/inf.yaml deleted file mode 100644 index 18e2c04bf..000000000 --- a/src/Services/Catalog/Catalog.API/inf.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# This heml values file defines all infrastructure used by eShopOnContainers. -# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment - -inf: - sql: # inf.sql defines the sql server databases & logins -# host: my-sql-server # Uncomment to specify a custom sql-server to be used. By default "sql-data-" will be used - common: - user: sa # SQL user - pwd: Pass@word # SQL pwd - pid: Developer - catalog: # inf.sql.catalog: settings for the catalog-api sql (user, pwd, db) - db: CatalogDb # Catalog API SQL db name - redis: - keystore: - svc: keystore-data # Name of k8s svc for keystore-data redis - constr: keystore-data # Connection string to Redis used as a Keystore (by Identity API) - eventbus: - svc: rabbitmq # Name of k8s svc for rabbitmq - constr: rabbitmq # Event bus connection string - useAzure: false # true if use Azure Service Bus. False if RabbitMQ - appinsights: - key: "" # App insights to use - k8s: {} - misc: # inf.misc contains miscellaneous configuration related to infrastructure - useLoadTest: false # If running under loading test or not - useAzureStorage: false # If catalog api uses azure storage or not \ No newline at end of file diff --git a/src/Web/WebMVC/app.yaml b/src/Web/WebMVC/app.yaml deleted file mode 100644 index c6209da47..000000000 --- a/src/Web/WebMVC/app.yaml +++ /dev/null @@ -1,39 +0,0 @@ -app: # app global settings - name: "my-eshop" # Override for custom app name - ingress: # ingress related settings - entries: - basket: basket-api # ingress entry for basket api - catalog: catalog-api # ingress entry for catalog api - ordering: ordering-api # ingress entry for ordering api - identity: identity # ingress entry for identity api - mvc: webmvc # ingress entry for web mvc - spa: "" # ingress entry for web spa - status: webstatus # ingress entry for web status - webshoppingapigw: webshoppingapigw # ingress entry for web shopping Agw - webmarketingapigw: webmarketingapigw # ingress entry for web mkg Agw - mobilemarketingapigw: mobilemarketingapigw # ingress entry for mobile mkg Agw - mobileshoppingapigw: mobileshoppingapigw # ingress entry for mobile shopping Agw - webshoppingagg: webshoppingagg # ingress entry for web shopping aggregator - mobileshoppingagg: mobileshoppingagg # ingress entry for mobile shopping aggregator - payment: payment-api # ingress entry for payment api - locations: locations-api # ingress entry for locations api - marketing: marketing-api # ingress entry for marketing api - svc: - basket: basket # service name for basket api - catalog: catalog # service name for catalog api - ordering: ordering # service name for ordering api - orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks - orderingsignalrhub: orderingsignalrhub # service name for orderingsignalrhub - identity: identity # service name for identity api - mvc: webmvc # service name for web mvc - spa: webspa # service name for web spa - status: webstatus # service name for web status - webshoppingapigw: webshoppingapigw # service name for web shopping Agw - webmarketingapigw: webmarketingapigw # service name for web mkg Agw - mobilemarketingapigw: mobilemarketingapigw # service name for mobile mkg Agw - mobileshoppingapigw: mobileshoppingapigw # service name for mobile shopping Agw - webshoppingagg: webshoppingagg # service name for web shopping aggregator - mobileshoppingagg: mobileshoppingagg # service name for mobile shopping aggregator - payment: payment # service name for payment api - locations: locations # service name for locations api - marketing: marketing # service name for marketing api \ No newline at end of file diff --git a/src/Web/WebMVC/inf.yaml b/src/Web/WebMVC/inf.yaml deleted file mode 100644 index bac6d51a4..000000000 --- a/src/Web/WebMVC/inf.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# This heml values file defines all infrastructure used by eShopOnContainers. -# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment - -inf: - redis: - keystore: - svc: keystore-data # Name of k8s svc for keystore-data redis - constr: keystore-data # Connection string to Redis used as a Keystore (by Identity API) - appinsights: - key: "" # App insights to use - k8s: {} - eventbus: - svc: rabbitmq # Name of k8s svc for rabbitmq - constr: rabbitmq # Event bus connection string - useAzure: false # true if use Azure Service Bus. False if RabbitMQ - misc: # inf.misc contains miscellaneous configuration related to infrastructure - useLoadTest: false # If running under loading test or not - useAzureStorage: false # If catalog api uses azure storage or not - -ingress: - annotations: -# kubernetes.io/ingress.class: addon-http-application-routing - ingress.kubernetes.io/ssl-redirect: "false" - nginx.ingress.kubernetes.io/ssl-redirect: "false" \ No newline at end of file diff --git a/src/prepare-devspaces.ps1 b/src/prepare-devspaces.ps1 new file mode 100644 index 000000000..b1ffce413 --- /dev/null +++ b/src/prepare-devspaces.ps1 @@ -0,0 +1,42 @@ +# This script just copies app.yaml and inf.yaml files to all devspaces projects. +# This is to workaround issue #56 - https://github.com/Azure/dev-spaces/issues/56 + +Write-Host "Copying app.yaml and inf.yaml to Mobile.Bff.Marketing" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\ApiGateways\Mobile.Bff.Marketing\apigw" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\ApiGateways\Mobile.Bff.Marketing\apigw" -Force + +Write-Host "Copying app.yaml and inf.yaml to Web.Bff.Marketing" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\ApiGateways\Web.Bff.Marketing\apigw" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\ApiGateways\Web.Bff.Marketing\apigw" -Force + +Write-Host "Copying app.yaml and inf.yaml to Mobile.Bff.Shopping" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\ApiGateways\Mobile.Bff.Shopping\apigw" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\ApiGateways\Mobile.Bff.Shopping\apigw" -Force + +Write-Host "Copying app.yaml and inf.yaml to Web.Bff.Shopping" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\ApiGateways\Web.Bff.Shopping\apigw" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\ApiGateways\Web.Bff.Shopping\apigw" -Force + +Write-Host "Copying app.yaml and inf.yaml to Mobile.Bff Shopping Aggregator" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\ApiGateways\Mobile.Bff.Shopping\aggregator" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\ApiGateways\Mobile.Bff.Shopping\aggregator" -Force + +Write-Host "Copying app.yaml and inf.yaml to Web.Bff Shopping Aggregator" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\ApiGateways\Web.Bff.Shopping\aggregator" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\ApiGateways\Web.Bff.Shopping\aggregator" -Force + +Write-Host "Copying app.yaml and inf.yaml to Basket API" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Basket\Basket.API" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Basket\Basket.API" -Force + +Write-Host "Copying app.yaml and inf.yaml to Catalog API" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Catalog\Catalog.API" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Catalog\Catalog.API" -Force + +Write-Host "Copying app.yaml and inf.yaml to WebMVC" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Web\WebMVC" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Web\WebMVC" -Force + + + + From 631696c4ae88cf4f787e674cdeee28cca12a10ba Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 25 Feb 2019 13:27:26 +0100 Subject: [PATCH 011/108] Updated helm charts to support devspaces --- .gitignore | 7 +++++- k8s/helm/apigwmm/templates/deployment.yaml | 2 +- k8s/helm/apigwmm/templates/ingress.yaml | 7 ++++-- k8s/helm/apigwmm/values.yaml | 2 ++ k8s/helm/apigwms/templates/deployment.yaml | 2 +- k8s/helm/apigwms/values.yaml | 4 +++- k8s/helm/apigwwm/templates/deployment.yaml | 2 +- k8s/helm/apigwwm/values.yaml | 4 +++- k8s/helm/deploy-all.ps1 | 27 ++++++++++++++-------- k8s/helm/webmvc/templates/ingress.yaml | 7 ++++-- 10 files changed, 45 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index 6bc27551d..2e9297be9 100644 --- a/.gitignore +++ b/.gitignore @@ -265,4 +265,9 @@ pub/ .mfractor # Ignore HealthCheckdb -*healthchecksdb* \ No newline at end of file +*healthchecksdb* + +# Ignores all extra inf.yaml and app.yaml that are copied by prepare-devspaces.ps1 +src/**/app.yaml +src/**/inf.yaml + diff --git a/k8s/helm/apigwmm/templates/deployment.yaml b/k8s/helm/apigwmm/templates/deployment.yaml index 6dc58bf50..46e5bee24 100644 --- a/k8s/helm/apigwmm/templates/deployment.yaml +++ b/k8s/helm/apigwmm/templates/deployment.yaml @@ -61,7 +61,7 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} volumeMounts: - name: config - mountPath: /app/configuration + mountPath: {{ .Values.ocelot.configPath }} env: - name: PATH_BASE value: {{ include "pathBase" (list .Values.app.ingress.entries.mobilemarketingapigw .) }} diff --git a/k8s/helm/apigwmm/templates/ingress.yaml b/k8s/helm/apigwmm/templates/ingress.yaml index 28e2aa84d..ec6d078bd 100644 --- a/k8s/helm/apigwmm/templates/ingress.yaml +++ b/k8s/helm/apigwmm/templates/ingress.yaml @@ -1,5 +1,6 @@ {{- if .Values.ingress.enabled -}} {{- $ingressPath := include "pathBase" (list .Values.app.ingress.entries.mobilemarketingapigw .) -}} +{{- $serviceName := .Values.app.svc.mobilemarketingapigw -}} apiVersion: extensions/v1beta1 kind: Ingress metadata: @@ -23,11 +24,13 @@ spec: {{- end }} {{- end }} rules: - - host: {{ .Values.inf.k8s.dns }} + {{- range .Values.ingress.hosts }} + - host: {{ . }} http: paths: - path: {{ $ingressPath }} backend: - serviceName: {{ .Values.app.svc.mobilemarketingapigw }} + serviceName: {{ $serviceName }} servicePort: http + {{- end }} {{- end }} diff --git a/k8s/helm/apigwmm/values.yaml b/k8s/helm/apigwmm/values.yaml index 501266780..ea87a6c05 100644 --- a/k8s/helm/apigwmm/values.yaml +++ b/k8s/helm/apigwmm/values.yaml @@ -62,3 +62,5 @@ probes: initialDelaySeconds: 90 periodSeconds: 60 port: 80 +ocelot: + configPath: /app/configuration diff --git a/k8s/helm/apigwms/templates/deployment.yaml b/k8s/helm/apigwms/templates/deployment.yaml index 8a4fd8942..65522e986 100644 --- a/k8s/helm/apigwms/templates/deployment.yaml +++ b/k8s/helm/apigwms/templates/deployment.yaml @@ -61,7 +61,7 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} volumeMounts: - name: config - mountPath: /app/configuration + mountPath: {{ .Values ocelot.configPath }} env: - name: PATH_BASE value: {{ include "pathBase" (list .Values.app.ingress.entries.mobileshoppingapigw .) }} diff --git a/k8s/helm/apigwms/values.yaml b/k8s/helm/apigwms/values.yaml index 58377ec5b..650ab6449 100644 --- a/k8s/helm/apigwms/values.yaml +++ b/k8s/helm/apigwms/values.yaml @@ -61,4 +61,6 @@ probes: timeoutSeconds: 5 initialDelaySeconds: 90 periodSeconds: 60 - port: 80 \ No newline at end of file + port: 80 +ocelot: + configPath: /app/configuration \ No newline at end of file diff --git a/k8s/helm/apigwwm/templates/deployment.yaml b/k8s/helm/apigwwm/templates/deployment.yaml index 5cbce9f22..4f02bc2e9 100644 --- a/k8s/helm/apigwwm/templates/deployment.yaml +++ b/k8s/helm/apigwwm/templates/deployment.yaml @@ -61,7 +61,7 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} volumeMounts: - name: config - mountPath: /app/configuration + mountPath: {{ .Values ocelot.configPath }} env: - name: PATH_BASE value: {{ include "pathBase" (list .Values.app.ingress.entries.webmarketingapigw .) }} diff --git a/k8s/helm/apigwwm/values.yaml b/k8s/helm/apigwwm/values.yaml index 68cbb89c4..63deb5832 100644 --- a/k8s/helm/apigwwm/values.yaml +++ b/k8s/helm/apigwwm/values.yaml @@ -61,4 +61,6 @@ probes: timeoutSeconds: 5 initialDelaySeconds: 90 periodSeconds: 60 - port: 80 \ No newline at end of file + port: 80 +ocelot: + configPath: /app/configuration \ No newline at end of file diff --git a/k8s/helm/deploy-all.ps1 b/k8s/helm/deploy-all.ps1 index 1819c9a67..b7275891d 100644 --- a/k8s/helm/deploy-all.ps1 +++ b/k8s/helm/deploy-all.ps1 @@ -5,6 +5,7 @@ Param( [parameter(Mandatory=$false)][string]$externalDns, [parameter(Mandatory=$false)][string]$appName="eshop", [parameter(Mandatory=$false)][bool]$deployInfrastructure=$true, + [parameter(Mandatory=$false)][bool]$deployCharts=$true, [parameter(Mandatory=$false)][bool]$clean=$true, [parameter(Mandatory=$false)][string]$aksName="", [parameter(Mandatory=$false)][string]$aksRg="", @@ -66,21 +67,29 @@ $charts = ("eshop-common", "apigwmm", "apigwms", "apigwwm", "apigwws", "basket-a if ($deployInfrastructure) { foreach ($infra in $infras) { Write-Host "Installing infrastructure: $infra" -ForegroundColor Green - helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --name="$appName-$infra" $infra + helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set ingress.hosts={$dns} --name="$appName-$infra" $infra } } +else { + Write-Host "eShopOnContainers infrastructure (bbdd, redis, ...) charts aren't installed (-deployCharts is false)" -ForegroundColor Yellow +} -foreach ($chart in $charts) { - Write-Host "Installing: $chart" -ForegroundColor Green - if ($useCustomRegistry) { - helm install --set inf.registry.server=$registry --set inf.registry.login=$dockerUser --set inf.registry.pwd=$dockerPassword --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart - } - else { - if ($chart -ne "eshop-common") { # eshop-common is ignored when no secret must be deployed - helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart +if ($deployCharts) { + foreach ($chart in $charts) { + Write-Host "Installing: $chart" -ForegroundColor Green + if ($useCustomRegistry) { + helm install --set inf.registry.server=$registry --set inf.registry.login=$dockerUser --set inf.registry.pwd=$dockerPassword --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set ingress.hosts={$dns} --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart + } + else { + if ($chart -ne "eshop-common") { # eshop-common is ignored when no secret must be deployed + helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set ingress.hosts={$dns} --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart + } } } } +else { + Write-Host "eShopOnContainers non-infrastructure charts aren't installed (-deployCharts is false)" -ForegroundColor Yellow +} Write-Host "helm charts installed." -ForegroundColor Green diff --git a/k8s/helm/webmvc/templates/ingress.yaml b/k8s/helm/webmvc/templates/ingress.yaml index abfb62b2f..892fa4273 100644 --- a/k8s/helm/webmvc/templates/ingress.yaml +++ b/k8s/helm/webmvc/templates/ingress.yaml @@ -1,5 +1,6 @@ {{- if .Values.ingress.enabled -}} {{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.mvc -}} apiVersion: extensions/v1beta1 kind: Ingress metadata: @@ -23,11 +24,13 @@ spec: {{- end }} {{- end }} rules: - - host: {{ .Values.inf.k8s.dns }} + {{- range .Values.ingress.hosts }} + - host: {{ . }} http: paths: - path: {{ $ingressPath }} backend: - serviceName: {{ .Values.app.svc.mvc }} + serviceName: {{ $serviceName }} servicePort: http + {{- end }} {{- end }} From 1c776776c9ad33faebd914f6d8a2ea66d02fa362 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 25 Feb 2019 15:35:33 +0100 Subject: [PATCH 012/108] Identity.API devspaces setup --- k8s/helm/identity-api/templates/ingress.yaml | 7 ++- .../Identity/Identity.API/Dockerfile.develop | 10 ++-- src/Services/Identity/Identity.API/app.yaml | 39 --------------- src/Services/Identity/Identity.API/azds.yaml | 48 ++++++++++++------- src/Services/Identity/Identity.API/inf.yaml | 26 ---------- src/prepare-devspaces.ps1 | 4 ++ 6 files changed, 43 insertions(+), 91 deletions(-) delete mode 100644 src/Services/Identity/Identity.API/app.yaml delete mode 100644 src/Services/Identity/Identity.API/inf.yaml diff --git a/k8s/helm/identity-api/templates/ingress.yaml b/k8s/helm/identity-api/templates/ingress.yaml index 5824f91e2..1d2d3d5d5 100644 --- a/k8s/helm/identity-api/templates/ingress.yaml +++ b/k8s/helm/identity-api/templates/ingress.yaml @@ -1,5 +1,6 @@ {{- if .Values.ingress.enabled -}} {{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.identity }} apiVersion: extensions/v1beta1 kind: Ingress metadata: @@ -23,11 +24,13 @@ spec: {{- end }} {{- end }} rules: - - host: {{ .Values.inf.k8s.dns }} + {{- range .Values.ingress.hosts }} + - host: {{ . }} http: paths: - path: {{ $ingressPath }} backend: - serviceName: {{ .Values.app.svc.identity }} + serviceName: {{ $serviceName }} servicePort: http + {{- end }} {{- end }} diff --git a/src/Services/Identity/Identity.API/Dockerfile.develop b/src/Services/Identity/Identity.API/Dockerfile.develop index 4d49cfdcb..3ab1fbe7c 100644 --- a/src/Services/Identity/Identity.API/Dockerfile.develop +++ b/src/Services/Identity/Identity.API/Dockerfile.develop @@ -1,4 +1,4 @@ -FROM microsoft/dotnet:2.2.100-sdk +FROM microsoft/dotnet:2.2-sdk ARG BUILD_CONFIGURATION=Debug ENV ASPNETCORE_ENVIRONMENT=Development ENV DOTNET_USE_POLLING_FILE_WATCHER=true @@ -6,12 +6,10 @@ EXPOSE 80 WORKDIR /src COPY ["src/Services/Identity/Identity.API/Identity.API.csproj", "src/Services/Identity/Identity.API/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/Microsoft.AspNetCore.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/Microsoft.Extensions.HealthChecks.SqlServer.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/"] COPY ["src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj", "src/BuildingBlocks/WebHostCustomization/WebHost.Customization/"] -RUN dotnet restore src/Services/Identity/Identity.API/Identity.API.csproj +RUN dotnet restore src/Services/Identity/Identity.API/Identity.API.csproj -nowarn:msb3202,nu1503 COPY . . WORKDIR "/src/src/Services/Identity/Identity.API" -RUN dotnet build "Identity.API.csproj" +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION -CMD ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile"] +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] diff --git a/src/Services/Identity/Identity.API/app.yaml b/src/Services/Identity/Identity.API/app.yaml deleted file mode 100644 index c6209da47..000000000 --- a/src/Services/Identity/Identity.API/app.yaml +++ /dev/null @@ -1,39 +0,0 @@ -app: # app global settings - name: "my-eshop" # Override for custom app name - ingress: # ingress related settings - entries: - basket: basket-api # ingress entry for basket api - catalog: catalog-api # ingress entry for catalog api - ordering: ordering-api # ingress entry for ordering api - identity: identity # ingress entry for identity api - mvc: webmvc # ingress entry for web mvc - spa: "" # ingress entry for web spa - status: webstatus # ingress entry for web status - webshoppingapigw: webshoppingapigw # ingress entry for web shopping Agw - webmarketingapigw: webmarketingapigw # ingress entry for web mkg Agw - mobilemarketingapigw: mobilemarketingapigw # ingress entry for mobile mkg Agw - mobileshoppingapigw: mobileshoppingapigw # ingress entry for mobile shopping Agw - webshoppingagg: webshoppingagg # ingress entry for web shopping aggregator - mobileshoppingagg: mobileshoppingagg # ingress entry for mobile shopping aggregator - payment: payment-api # ingress entry for payment api - locations: locations-api # ingress entry for locations api - marketing: marketing-api # ingress entry for marketing api - svc: - basket: basket # service name for basket api - catalog: catalog # service name for catalog api - ordering: ordering # service name for ordering api - orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks - orderingsignalrhub: orderingsignalrhub # service name for orderingsignalrhub - identity: identity # service name for identity api - mvc: webmvc # service name for web mvc - spa: webspa # service name for web spa - status: webstatus # service name for web status - webshoppingapigw: webshoppingapigw # service name for web shopping Agw - webmarketingapigw: webmarketingapigw # service name for web mkg Agw - mobilemarketingapigw: mobilemarketingapigw # service name for mobile mkg Agw - mobileshoppingapigw: mobileshoppingapigw # service name for mobile shopping Agw - webshoppingagg: webshoppingagg # service name for web shopping aggregator - mobileshoppingagg: mobileshoppingagg # service name for mobile shopping aggregator - payment: payment # service name for payment api - locations: locations # service name for locations api - marketing: marketing # service name for marketing api \ No newline at end of file diff --git a/src/Services/Identity/Identity.API/azds.yaml b/src/Services/Identity/Identity.API/azds.yaml index 7d1a00460..117a3f6ae 100644 --- a/src/Services/Identity/Identity.API/azds.yaml +++ b/src/Services/Identity/Identity.API/azds.yaml @@ -1,42 +1,54 @@ kind: helm-release -apiVersion: 1.0 +apiVersion: 1.1 build: context: ..\..\..\.. dockerfile: Dockerfile install: chart: ../../../../k8s/helm/identity-api - values: - - values.dev.yaml? - - secrets.dev.yaml? - - inf.yaml - - app.yaml set: replicaCount: 1 image: tag: $(tag) pullPolicy: Never - inf: - k8s: - dns: "$(spacePrefix)identity$(hostSuffix)" ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]identity...aksapp.io - - $(spacePrefix)identity(hostSuffix) + - $(spacePrefix)identity-api$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml configurations: develop: build: - dockerfile: Dockerfile.develop useGitIgnore: true + dockerfile: Dockerfile.develop args: BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} container: sync: - - "**/Pages/**" - - "**/Views/**" - - "**/wwwroot/**" - - "!**/*.{sln,csproj}" - command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${BUILD_CONFIGURATION:-Debug} iterate: - processesToKill: [dotnet, vsdbg] + processesToKill: + - dotnet + - vsdbg buildCommands: - - [dotnet, build, --no-restore, -c, "${BUILD_CONFIGURATION:-Debug}"] + - - dotnet + - build + - --no-restore + - -c + - ${BUILD_CONFIGURATION:-Debug} diff --git a/src/Services/Identity/Identity.API/inf.yaml b/src/Services/Identity/Identity.API/inf.yaml deleted file mode 100644 index dba30032b..000000000 --- a/src/Services/Identity/Identity.API/inf.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# This heml values file defines all infrastructure used by eShopOnContainers. -# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment - -inf: - sql: # inf.sql defines the sql server databases & logins -# host: my-sql-server # Uncomment to specify a custom sql-server to be used. By default "sql-data-" will be used - common: - user: sa # SQL user - pwd: Pass@word # SQL pwd - pid: Developer - identity: - db: IdentityDb # Ordering API SQL db name - redis: # inf.redis defines the redis' connection strings - keystore: - svc: keystore-data # Name of k8s svc for keystore-data redis - constr: keystore-data # Connection string to Redis used as a Keystore (by Identity API) - eventbus: - svc: rabbitmq # Name of k8s svc for rabbitmq - constr: rabbitmq # Event bus connection string - useAzure: false # true if use Azure Service Bus. False if RabbitMQ - appinsights: - key: "" # App insights to use - k8s: {} - misc: # inf.misc contains miscellaneous configuration related to infrastructure - useLoadTest: false # If running under loading test or not - useAzureStorage: false # If catalog api uses azure storage or not \ No newline at end of file diff --git a/src/prepare-devspaces.ps1 b/src/prepare-devspaces.ps1 index b1ffce413..2bb7f4135 100644 --- a/src/prepare-devspaces.ps1 +++ b/src/prepare-devspaces.ps1 @@ -33,6 +33,10 @@ Write-Host "Copying app.yaml and inf.yaml to Catalog API" -ForegroundColor Yello Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Catalog\Catalog.API" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Catalog\Catalog.API" -Force +Write-Host "Copying app.yaml and inf.yaml to Identity API" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Identity\Identity.API" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Identity\Identity.API" -Force + Write-Host "Copying app.yaml and inf.yaml to WebMVC" -ForegroundColor Yellow Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Web\WebMVC" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Web\WebMVC" -Force From 89a0695779172f1e8d11131f3dc70a9784792ccf Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 25 Feb 2019 16:10:45 +0100 Subject: [PATCH 013/108] Locations API devspaces --- .../Location/Locations.API/Dockerfile.develop | 17 ++++++ src/Services/Location/Locations.API/azds.yaml | 54 +++++++++++++++++++ src/prepare-devspaces.ps1 | 4 ++ 3 files changed, 75 insertions(+) create mode 100644 src/Services/Location/Locations.API/Dockerfile.develop create mode 100644 src/Services/Location/Locations.API/azds.yaml diff --git a/src/Services/Location/Locations.API/Dockerfile.develop b/src/Services/Location/Locations.API/Dockerfile.develop new file mode 100644 index 000000000..a847b6c30 --- /dev/null +++ b/src/Services/Location/Locations.API/Dockerfile.develop @@ -0,0 +1,17 @@ +FROM microsoft/dotnet:2.2-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src +COPY ["src/Services/Location/Locations.API/Locations.API.csproj", "src/Services/Location/Locations.API/"] +COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] +COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] +COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] +RUN dotnet restore src/Services/Location/Locations.API/Locations.API.csproj -nowarn:msb3202,nu1503 +COPY . . +WORKDIR "/src/src/Services/Location/Locations.API" +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION + +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] diff --git a/src/Services/Location/Locations.API/azds.yaml b/src/Services/Location/Locations.API/azds.yaml new file mode 100644 index 000000000..f528f62cd --- /dev/null +++ b/src/Services/Location/Locations.API/azds.yaml @@ -0,0 +1,54 @@ +kind: helm-release +apiVersion: 1.1 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: ../../../../k8s/helm/locations-api + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds + hosts: + # This expands to [space.s.]identity...aksapp.io + - $(spacePrefix)locations-api$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml +configurations: + develop: + build: + useGitIgnore: true + dockerfile: Dockerfile.develop + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${BUILD_CONFIGURATION:-Debug} + iterate: + processesToKill: + - dotnet + - vsdbg + buildCommands: + - - dotnet + - build + - --no-restore + - -c + - ${BUILD_CONFIGURATION:-Debug} diff --git a/src/prepare-devspaces.ps1 b/src/prepare-devspaces.ps1 index 2bb7f4135..e79dbd4ab 100644 --- a/src/prepare-devspaces.ps1 +++ b/src/prepare-devspaces.ps1 @@ -37,6 +37,10 @@ Write-Host "Copying app.yaml and inf.yaml to Identity API" -ForegroundColor Yell Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Identity\Identity.API" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Identity\Identity.API" -Force +Write-Host "Copying app.yaml and inf.yaml to Locations API" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Location\Locations.API" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Location\Locations.API" -Force + Write-Host "Copying app.yaml and inf.yaml to WebMVC" -ForegroundColor Yellow Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Web\WebMVC" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Web\WebMVC" -Force From 17237710303cbcfaf06da6b8046bcfb955040c5e Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 25 Feb 2019 16:18:45 +0100 Subject: [PATCH 014/108] Marketing API devspaces --- .../Marketing.API/Dockerfile.develop | 18 +++++++ .../Marketing/Marketing.API/azds.yaml | 54 +++++++++++++++++++ src/prepare-devspaces.ps1 | 5 ++ 3 files changed, 77 insertions(+) create mode 100644 src/Services/Marketing/Marketing.API/Dockerfile.develop create mode 100644 src/Services/Marketing/Marketing.API/azds.yaml diff --git a/src/Services/Marketing/Marketing.API/Dockerfile.develop b/src/Services/Marketing/Marketing.API/Dockerfile.develop new file mode 100644 index 000000000..60fc6dd7c --- /dev/null +++ b/src/Services/Marketing/Marketing.API/Dockerfile.develop @@ -0,0 +1,18 @@ +FROM microsoft/dotnet:2.2-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src +COPY ["src/Services/Marketing/Marketing.API/Marketing.API.csproj", "src/Services/Marketing/Marketing.API/"] +COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] +COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] +COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] +COPY ["src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj", "src/BuildingBlocks/WebHostCustomization/WebHost.Customization/"] +RUN dotnet restore src/Services/Marketing/Marketing.API/Marketing.API.csproj -nowarn:msb3202,nu1503 +COPY . . +WORKDIR "/src/src/Services/Marketing/Marketing.API" +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION + +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] diff --git a/src/Services/Marketing/Marketing.API/azds.yaml b/src/Services/Marketing/Marketing.API/azds.yaml new file mode 100644 index 000000000..b3f82709c --- /dev/null +++ b/src/Services/Marketing/Marketing.API/azds.yaml @@ -0,0 +1,54 @@ +kind: helm-release +apiVersion: 1.1 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: ../../../../k8s/helm/marketing-api + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds + hosts: + # This expands to [space.s.]identity...aksapp.io + - $(spacePrefix)marketing-api$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml +configurations: + develop: + build: + useGitIgnore: true + dockerfile: Dockerfile.develop + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${BUILD_CONFIGURATION:-Debug} + iterate: + processesToKill: + - dotnet + - vsdbg + buildCommands: + - - dotnet + - build + - --no-restore + - -c + - ${BUILD_CONFIGURATION:-Debug} diff --git a/src/prepare-devspaces.ps1 b/src/prepare-devspaces.ps1 index e79dbd4ab..11dcebc06 100644 --- a/src/prepare-devspaces.ps1 +++ b/src/prepare-devspaces.ps1 @@ -41,6 +41,11 @@ Write-Host "Copying app.yaml and inf.yaml to Locations API" -ForegroundColor Yel Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Location\Locations.API" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Location\Locations.API" -Force +Write-Host "Copying app.yaml and inf.yaml to Marketing API" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Marketing\Marketing.API" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Marketing\Marketing.API" -Force + + Write-Host "Copying app.yaml and inf.yaml to WebMVC" -ForegroundColor Yellow Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Web\WebMVC" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Web\WebMVC" -Force From f94a5612335fbea0d10a35092b3e759d5d54cffe Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 25 Feb 2019 16:25:35 +0100 Subject: [PATCH 015/108] Ordering API devspaces --- .../Ordering/Ordering.API/Dockerfile.develop | 7 +-- src/Services/Ordering/Ordering.API/app.yaml | 43 ----------------- src/Services/Ordering/Ordering.API/azds.yaml | 47 ++++++++++++------- src/Services/Ordering/Ordering.API/inf.yaml | 22 --------- src/prepare-devspaces.ps1 | 4 ++ 5 files changed, 35 insertions(+), 88 deletions(-) delete mode 100644 src/Services/Ordering/Ordering.API/app.yaml delete mode 100644 src/Services/Ordering/Ordering.API/inf.yaml diff --git a/src/Services/Ordering/Ordering.API/Dockerfile.develop b/src/Services/Ordering/Ordering.API/Dockerfile.develop index 01b1e58c1..f91a71bd8 100644 --- a/src/Services/Ordering/Ordering.API/Dockerfile.develop +++ b/src/Services/Ordering/Ordering.API/Dockerfile.develop @@ -1,4 +1,4 @@ -FROM microsoft/dotnet:2.2.100-sdk +FROM microsoft/dotnet:2.2-sdk ARG BUILD_CONFIGURATION=Debug ENV ASPNETCORE_ENVIRONMENT=Development ENV DOTNET_USE_POLLING_FILE_WATCHER=true @@ -9,9 +9,6 @@ COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlock COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] COPY ["src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj", "src/BuildingBlocks/EventBus/IntegrationEventLogEF/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/Microsoft.AspNetCore.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.AspNetCore.HealthChecks/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/Microsoft.Extensions.HealthChecks.SqlServer.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks.SqlServer/"] -COPY ["src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/Microsoft.Extensions.HealthChecks.csproj", "src/BuildingBlocks/HealthChecks/src/Microsoft.Extensions.HealthChecks/"] COPY ["src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj", "src/BuildingBlocks/WebHostCustomization/WebHost.Customization/"] COPY ["src/Services/Ordering/Ordering.Domain/Ordering.Domain.csproj", "src/Services/Ordering/Ordering.Domain/"] COPY ["src/Services/Ordering/Ordering.Infrastructure/Ordering.Infrastructure.csproj", "src/Services/Ordering/Ordering.Infrastructure/"] @@ -22,4 +19,4 @@ COPY . . WORKDIR /src/src/Services/Ordering/Ordering.API RUN dotnet build --no-restore -c $BUILD_CONFIGURATION -CMD ["dotnet", "run", "--no-restore", "--no-build", "--no-launch-profile"] \ No newline at end of file +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] \ No newline at end of file diff --git a/src/Services/Ordering/Ordering.API/app.yaml b/src/Services/Ordering/Ordering.API/app.yaml deleted file mode 100644 index 6ca5d9d31..000000000 --- a/src/Services/Ordering/Ordering.API/app.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# This heml values file defines app-based settings -# Charts use those values, so this file **MUST** be included in all chart releases - - -app: # app global settings - name: "my-eshop" # Override for custom app name - ingress: # ingress related settings - entries: - basket: basket-api # ingress entry for basket api - catalog: catalog-api # ingress entry for catalog api - ordering: ordering-api # ingress entry for ordering api - identity: identity # ingress entry for identity api - mvc: webmvc # ingress entry for web mvc - spa: "" # ingress entry for web spa - status: webstatus # ingress entry for web status - webshoppingapigw: webshoppingapigw # ingress entry for web shopping Agw - webmarketingapigw: webmarketingapigw # ingress entry for web mkg Agw - mobilemarketingapigw: mobilemarketingapigw # ingress entry for mobile mkg Agw - mobileshoppingapigw: mobileshoppingapigw # ingress entry for mobile shopping Agw - webshoppingagg: webshoppingagg # ingress entry for web shopping aggregator - mobileshoppingagg: mobileshoppingagg # ingress entry for mobile shopping aggregator - payment: payment-api # ingress entry for payment api - locations: locations-api # ingress entry for locations api - marketing: marketing-api # ingress entry for marketing api - svc: - basket: basket # service name for basket api - catalog: catalog # service name for catalog api - ordering: ordering # service name for ordering api - orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks - orderingsignalrhub: orderingsignalrhub # service name for orderingsignalrhub - identity: identity # service name for identity api - mvc: webmvc # service name for web mvc - spa: webspa # service name for web spa - status: webstatus # service name for web status - webshoppingapigw: webshoppingapigw # service name for web shopping Agw - webmarketingapigw: webmarketingapigw # service name for web mkg Agw - mobilemarketingapigw: mobilemarketingapigw # service name for mobile mkg Agw - mobileshoppingapigw: mobileshoppingapigw # service name for mobile shopping Agw - webshoppingagg: webshoppingagg # service name for web shopping aggregator - mobileshoppingagg: mobileshoppingagg # service name for mobile shopping aggregator - payment: payment # service name for payment api - locations: locations # service name for locations api - marketing: marketing # service name for marketing ap diff --git a/src/Services/Ordering/Ordering.API/azds.yaml b/src/Services/Ordering/Ordering.API/azds.yaml index b81f9d773..39f2477b0 100644 --- a/src/Services/Ordering/Ordering.API/azds.yaml +++ b/src/Services/Ordering/Ordering.API/azds.yaml @@ -1,43 +1,54 @@ kind: helm-release -apiVersion: 1.0 +apiVersion: 1.1 build: context: ..\..\..\.. dockerfile: Dockerfile install: chart: ../../../../k8s/helm/ordering-api - values: - - values.dev.yaml? - - secrets.dev.yaml? - - inf.yaml - - app.yaml - set: replicaCount: 1 image: tag: $(tag) pullPolicy: Never - inf: - k8s: - dns: "$(spacePrefix)orderingapi$(hostSuffix)" ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]orderingapi...aksapp.io - $(spacePrefix)orderingapi$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml configurations: develop: build: - dockerfile: Dockerfile.develop useGitIgnore: true + dockerfile: Dockerfile.develop args: BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} container: sync: - - "**/Pages/**" - - "**/Views/**" - - "**/wwwroot/**" - - "!**/*.{sln,csproj}" - command: [dotnet, run, --no-restore, --no-build, --no-launch-profile, -c, "${BUILD_CONFIGURATION:-Debug}"] + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${BUILD_CONFIGURATION:-Debug} iterate: - processesToKill: [dotnet, vsdbg] + processesToKill: + - dotnet + - vsdbg buildCommands: - - [dotnet, build, --no-restore, -c, "${BUILD_CONFIGURATION:-Debug}"] + - - dotnet + - build + - --no-restore + - -c + - ${BUILD_CONFIGURATION:-Debug} diff --git a/src/Services/Ordering/Ordering.API/inf.yaml b/src/Services/Ordering/Ordering.API/inf.yaml deleted file mode 100644 index 943ec99fb..000000000 --- a/src/Services/Ordering/Ordering.API/inf.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# This heml values file defines all infrastructure used by eShopOnContainers. -# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment - -inf: - sql: # inf.sql defines the sql server databases & logins -# host: my-sql-server # Uncomment to specify a custom sql-server to be used. By default "sql-data-" will be used - common: - user: sa # SQL user - pwd: Pass@word # SQL pwd - pid: Developer - ordering: # inf.sql.ordering: settings for the ordering-api sql (user, pwd, db) - db: OrderingDb # Ordering API SQL db name - eventbus: - svc: rabbitmq # Name of k8s svc for rabbitmq - constr: rabbitmq # Event bus connection string - useAzure: false # true if use Azure Service Bus. False if RabbitMQ - appinsights: - key: "" # App insights to use - k8s: {} - misc: # inf.misc contains miscellaneous configuration related to infrastructure - useLoadTest: false # If running under loading test or not - useAzureStorage: false # If catalog api uses azure storage or not diff --git a/src/prepare-devspaces.ps1 b/src/prepare-devspaces.ps1 index 11dcebc06..b946168da 100644 --- a/src/prepare-devspaces.ps1 +++ b/src/prepare-devspaces.ps1 @@ -45,6 +45,10 @@ Write-Host "Copying app.yaml and inf.yaml to Marketing API" -ForegroundColor Yel Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Marketing\Marketing.API" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Marketing\Marketing.API" -Force +Write-Host "Copying app.yaml and inf.yaml to Ordering API" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Ordering\Ordering.API" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Ordering\Ordering.API" -Force + Write-Host "Copying app.yaml and inf.yaml to WebMVC" -ForegroundColor Yellow Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Web\WebMVC" -Force From 95f8b8370e21471688c3e71c45a65dc14168dc0c Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 25 Feb 2019 16:29:55 +0100 Subject: [PATCH 016/108] Payment API devspaces --- .../Payment/Payment.API/Dockerfile.develop | 19 +++++++ src/Services/Payment/Payment.API/azds.yaml | 54 +++++++++++++++++++ src/prepare-devspaces.ps1 | 3 ++ 3 files changed, 76 insertions(+) create mode 100644 src/Services/Payment/Payment.API/Dockerfile.develop create mode 100644 src/Services/Payment/Payment.API/azds.yaml diff --git a/src/Services/Payment/Payment.API/Dockerfile.develop b/src/Services/Payment/Payment.API/Dockerfile.develop new file mode 100644 index 000000000..4b959f4b3 --- /dev/null +++ b/src/Services/Payment/Payment.API/Dockerfile.develop @@ -0,0 +1,19 @@ +FROM microsoft/dotnet:2.2-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src +COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] +COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] +COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] +COPY ["src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj", "src/BuildingBlocks/EventBus/IntegrationEventLogEF/"] +COPY ["src/Services/Payment/Payment.API/Payment.API.csproj", "src/Services/Payment/Payment.API/"] + +RUN dotnet restore src/Services/Payment/Payment.API/Payment.API.csproj +COPY . . +WORKDIR /src/src/Services/Payment/Payment.API +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION + +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] \ No newline at end of file diff --git a/src/Services/Payment/Payment.API/azds.yaml b/src/Services/Payment/Payment.API/azds.yaml new file mode 100644 index 000000000..a3e434ca2 --- /dev/null +++ b/src/Services/Payment/Payment.API/azds.yaml @@ -0,0 +1,54 @@ +kind: helm-release +apiVersion: 1.1 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: ../../../../k8s/helm/payment-api + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds + hosts: + # This expands to [space.s.]paymentapi...aksapp.io + - $(spacePrefix)paymentapi$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml +configurations: + develop: + build: + useGitIgnore: true + dockerfile: Dockerfile.develop + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${BUILD_CONFIGURATION:-Debug} + iterate: + processesToKill: + - dotnet + - vsdbg + buildCommands: + - - dotnet + - build + - --no-restore + - -c + - ${BUILD_CONFIGURATION:-Debug} diff --git a/src/prepare-devspaces.ps1 b/src/prepare-devspaces.ps1 index b946168da..83c4fb52c 100644 --- a/src/prepare-devspaces.ps1 +++ b/src/prepare-devspaces.ps1 @@ -49,6 +49,9 @@ Write-Host "Copying app.yaml and inf.yaml to Ordering API" -ForegroundColor Yell Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Ordering\Ordering.API" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Ordering\Ordering.API" -Force +Write-Host "Copying app.yaml and inf.yaml to Payment API" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Payment\Payment.API" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Payment\Payment.API" -Force Write-Host "Copying app.yaml and inf.yaml to WebMVC" -ForegroundColor Yellow Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Web\WebMVC" -Force From b2252dc4ec5044d83b78b5e440fa39a5971ee90d Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 25 Feb 2019 16:48:41 +0100 Subject: [PATCH 017/108] Webhooks api Devspaces --- k8s/helm/webhooks-api/templates/ingress.yaml | 7 ++- .../Webhooks/Webhooks.API/Dockerfile.develop | 21 ++++++++ src/Services/Webhooks/Webhooks.API/azds.yaml | 52 +++++++++++++++++++ src/prepare-devspaces.ps1 | 4 ++ 4 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 src/Services/Webhooks/Webhooks.API/Dockerfile.develop create mode 100644 src/Services/Webhooks/Webhooks.API/azds.yaml diff --git a/k8s/helm/webhooks-api/templates/ingress.yaml b/k8s/helm/webhooks-api/templates/ingress.yaml index 293f8e47e..debf0f84a 100644 --- a/k8s/helm/webhooks-api/templates/ingress.yaml +++ b/k8s/helm/webhooks-api/templates/ingress.yaml @@ -1,5 +1,6 @@ {{- if .Values.ingress.enabled -}} {{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.webhooks }} apiVersion: extensions/v1beta1 kind: Ingress metadata: @@ -23,11 +24,13 @@ spec: {{- end }} {{- end }} rules: - - host: {{ .Values.inf.k8s.dns }} + {{- range .Values.ingress.hosts }} + - host: {{ . }} http: paths: - path: {{ $ingressPath }} backend: - serviceName: {{ .Values.app.svc.webhooks }} + serviceName: {{ $serviceName }} servicePort: http + {{- end }} {{- end }} diff --git a/src/Services/Webhooks/Webhooks.API/Dockerfile.develop b/src/Services/Webhooks/Webhooks.API/Dockerfile.develop new file mode 100644 index 000000000..82209495c --- /dev/null +++ b/src/Services/Webhooks/Webhooks.API/Dockerfile.develop @@ -0,0 +1,21 @@ +FROM microsoft/dotnet:2.2-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src + +COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] +COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] +COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] +COPY ["src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj", "src/BuildingBlocks/EventBus/IntegrationEventLogEF/"] +COPY ["src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj", "src/BuildingBlocks/WebHostCustomization/WebHost.Customization/"] +COPY ["src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj", "src/Services/Webhooks/Webhooks.API/"] + +RUN dotnet restore src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj -nowarn:msb3202,nu1503 +COPY . . +WORKDIR "/src/src/Services/Webhooks/Webhooks.API" +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION + +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] \ No newline at end of file diff --git a/src/Services/Webhooks/Webhooks.API/azds.yaml b/src/Services/Webhooks/Webhooks.API/azds.yaml new file mode 100644 index 000000000..f9d63ff21 --- /dev/null +++ b/src/Services/Webhooks/Webhooks.API/azds.yaml @@ -0,0 +1,52 @@ +kind: helm-release +apiVersion: 1.1 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: ../../../../k8s/helm/webhooks-api + set: + image: + tag: $(tag) + pullPolicy: Never + ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds + hosts: + # This expands to [space.s.]webhooksapi...aksapp.io + - $(spacePrefix)webhooksapi$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml +configurations: + develop: + build: + useGitIgnore: true + dockerfile: Dockerfile.develop + container: + syncTarget: /src + sync: + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${Configuration:-Debug} + iterate: + processesToKill: + - dotnet + - vsdbg + buildCommands: + - - dotnet + - build + - --no-restore + - -c + - ${Configuration:-Debug} diff --git a/src/prepare-devspaces.ps1 b/src/prepare-devspaces.ps1 index 83c4fb52c..14b1cc6d1 100644 --- a/src/prepare-devspaces.ps1 +++ b/src/prepare-devspaces.ps1 @@ -53,6 +53,10 @@ Write-Host "Copying app.yaml and inf.yaml to Payment API" -ForegroundColor Yello Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Payment\Payment.API" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Payment\Payment.API" -Force +Write-Host "Copying app.yaml and inf.yaml to Webhooks API" -ForegroundColor Yellow +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Webhooks\Webhooks.API" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Webhooks\Webhooks.API" -Force + Write-Host "Copying app.yaml and inf.yaml to WebMVC" -ForegroundColor Yellow Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Web\WebMVC" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Web\WebMVC" -Force From fbaaa8c450552f85257d481f08c4d4d731c7e67f Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 25 Feb 2019 18:04:49 +0100 Subject: [PATCH 018/108] devspaces source code support integrated in webmvc --- eShopOnContainers-ServicesAndWebApps.sln | 58 ++++++++++++++++++- .../Devspaces.Support.csproj | 11 ++++ .../DevspacesMessageHandler.cs | 30 ++++++++++ .../HttpClientBuilderDevspacesExtensions.cs | 16 +++++ .../ServiceCollectionDevspacesExtensions.cs | 16 +++++ src/Web/WebMVC/Dockerfile.develop | 1 + src/Web/WebMVC/Startup.cs | 21 ++++--- src/Web/WebMVC/WebMVC.csproj | 4 ++ 8 files changed, 148 insertions(+), 9 deletions(-) create mode 100644 src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj create mode 100644 src/BuildingBlocks/Devspaces.Support/DevspacesMessageHandler.cs create mode 100644 src/BuildingBlocks/Devspaces.Support/HttpClientBuilderDevspacesExtensions.cs create mode 100644 src/BuildingBlocks/Devspaces.Support/ServiceCollectionDevspacesExtensions.cs diff --git a/eShopOnContainers-ServicesAndWebApps.sln b/eShopOnContainers-ServicesAndWebApps.sln index 447b73073..882bca09f 100644 --- a/eShopOnContainers-ServicesAndWebApps.sln +++ b/eShopOnContainers-ServicesAndWebApps.sln @@ -142,9 +142,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Payment.API", "src\Services EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Webhooks", "Webhooks", "{E0AA11C4-2873-461D-8F82-53392530FB7A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Webhooks.API", "src\Services\Webhooks\Webhooks.API\Webhooks.API.csproj", "{84E2016E-0435-44C6-8020-3D288AA38B2C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Webhooks.API", "src\Services\Webhooks\Webhooks.API\Webhooks.API.csproj", "{84E2016E-0435-44C6-8020-3D288AA38B2C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebhookClient", "src\Web\WebhookClient\WebhookClient.csproj", "{766D7E92-6AF0-476C-ADD5-282BF4D8C576}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebhookClient", "src\Web\WebhookClient\WebhookClient.csproj", "{766D7E92-6AF0-476C-ADD5-282BF4D8C576}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Devspace.Support", "Devspace.Support", "{68F5041D-51F2-4630-94B6-B49789F5E51A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Devspaces.Support", "src\BuildingBlocks\Devspaces.Support\Devspaces.Support.csproj", "{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -1744,6 +1748,54 @@ Global {766D7E92-6AF0-476C-ADD5-282BF4D8C576}.Release|x64.Build.0 = Release|Any CPU {766D7E92-6AF0-476C-ADD5-282BF4D8C576}.Release|x86.ActiveCfg = Release|Any CPU {766D7E92-6AF0-476C-ADD5-282BF4D8C576}.Release|x86.Build.0 = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|ARM.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|iPhone.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|x64.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|x64.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|x86.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|x86.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|Any CPU.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|ARM.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|ARM.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|iPhone.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|x64.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|x64.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|x86.ActiveCfg = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|x86.Build.0 = Debug|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|Any CPU.ActiveCfg = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|Any CPU.Build.0 = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|ARM.ActiveCfg = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|ARM.Build.0 = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|iPhone.ActiveCfg = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|iPhone.Build.0 = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|x64.ActiveCfg = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|x64.Build.0 = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|x86.ActiveCfg = Release|Any CPU + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1808,6 +1860,8 @@ Global {E0AA11C4-2873-461D-8F82-53392530FB7A} = {91CF7717-08AB-4E65-B10E-0B426F01E2E8} {84E2016E-0435-44C6-8020-3D288AA38B2C} = {E0AA11C4-2873-461D-8F82-53392530FB7A} {766D7E92-6AF0-476C-ADD5-282BF4D8C576} = {E279BF0F-7F66-4F3A-A3AB-2CDA66C1CD04} + {68F5041D-51F2-4630-94B6-B49789F5E51A} = {DB0EFB20-B024-4E5E-A75C-52143C131D25} + {56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35} = {68F5041D-51F2-4630-94B6-B49789F5E51A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {25728519-5F0F-4973-8A64-0A81EB4EA8D9} diff --git a/src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj b/src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj new file mode 100644 index 000000000..81a897bad --- /dev/null +++ b/src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj @@ -0,0 +1,11 @@ + + + + netstandard2.0 + + + + + + + diff --git a/src/BuildingBlocks/Devspaces.Support/DevspacesMessageHandler.cs b/src/BuildingBlocks/Devspaces.Support/DevspacesMessageHandler.cs new file mode 100644 index 000000000..0895b752a --- /dev/null +++ b/src/BuildingBlocks/Devspaces.Support/DevspacesMessageHandler.cs @@ -0,0 +1,30 @@ +using Microsoft.AspNetCore.Http; +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; + +namespace Devspaces.Support +{ + public class DevspacesMessageHandler : DelegatingHandler + { + private const string DevspacesHeaderName = "azds-route-as"; + private readonly IHttpContextAccessor _httpContextAccessor; + public DevspacesMessageHandler(IHttpContextAccessor httpContextAccessor) + { + _httpContextAccessor = httpContextAccessor; + } + + protected override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) + { + var req = _httpContextAccessor.HttpContext.Request; + + if (req.Headers.ContainsKey(DevspacesHeaderName)) + { + request.Headers.Add(DevspacesHeaderName, req.Headers[DevspacesHeaderName] as IEnumerable); + } + return base.SendAsync(request, cancellationToken); + } + } +} diff --git a/src/BuildingBlocks/Devspaces.Support/HttpClientBuilderDevspacesExtensions.cs b/src/BuildingBlocks/Devspaces.Support/HttpClientBuilderDevspacesExtensions.cs new file mode 100644 index 000000000..60108301d --- /dev/null +++ b/src/BuildingBlocks/Devspaces.Support/HttpClientBuilderDevspacesExtensions.cs @@ -0,0 +1,16 @@ +using Microsoft.Extensions.DependencyInjection; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Devspaces.Support +{ + public static class HttpClientBuilderDevspacesExtensions + { + public static IHttpClientBuilder AddDevspacesSupport(this IHttpClientBuilder builder) + { + builder.AddHttpMessageHandler(); + return builder; + } + } +} diff --git a/src/BuildingBlocks/Devspaces.Support/ServiceCollectionDevspacesExtensions.cs b/src/BuildingBlocks/Devspaces.Support/ServiceCollectionDevspacesExtensions.cs new file mode 100644 index 000000000..0ac5c9e1b --- /dev/null +++ b/src/BuildingBlocks/Devspaces.Support/ServiceCollectionDevspacesExtensions.cs @@ -0,0 +1,16 @@ +using Microsoft.Extensions.DependencyInjection; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Devspaces.Support +{ + public static class ServiceCollectionDevspacesExtensions + { + public static IServiceCollection AddDevspaces(this IServiceCollection services) + { + services.AddTransient(); + return services; + } + } +} diff --git a/src/Web/WebMVC/Dockerfile.develop b/src/Web/WebMVC/Dockerfile.develop index 7e923c2b4..6ff9cc869 100644 --- a/src/Web/WebMVC/Dockerfile.develop +++ b/src/Web/WebMVC/Dockerfile.develop @@ -6,6 +6,7 @@ EXPOSE 80 WORKDIR /src COPY ["src/Web/WebMVC/WebMVC.csproj", "src/Web/WebMVC/"] +COPY ["src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj", "src/BuildingBlocks/Devspaces.Support/"] RUN dotnet restore "src/Web/WebMVC/WebMVC.csproj" COPY . . WORKDIR "/src/src/Web/WebMVC" diff --git a/src/Web/WebMVC/Startup.cs b/src/Web/WebMVC/Startup.cs index d69b21459..28da98e84 100644 --- a/src/Web/WebMVC/Startup.cs +++ b/src/Web/WebMVC/Startup.cs @@ -1,4 +1,5 @@ -using HealthChecks.UI.Client; +using Devspaces.Support; +using HealthChecks.UI.Client; using Microsoft.ApplicationInsights.Extensibility; using Microsoft.ApplicationInsights.ServiceFabric; using Microsoft.AspNetCore.Authentication.Cookies; @@ -42,6 +43,7 @@ namespace Microsoft.eShopOnContainers.WebMVC services.AddAppInsight(Configuration) .AddHealthChecks(Configuration) .AddCustomMvc(Configuration) + .AddDevspaces() .AddHttpClientServices(Configuration) //.AddHttpClientLogging(Configuration) //Opt-in HttpClientLogging config .AddCustomAuthentication(Configuration); @@ -177,34 +179,39 @@ namespace Microsoft.eShopOnContainers.WebMVC services.AddTransient(); //set 5 min as the lifetime for each HttpMessageHandler int the pool - services.AddHttpClient("extendedhandlerlifetime").SetHandlerLifetime(TimeSpan.FromMinutes(5)); + services.AddHttpClient("extendedhandlerlifetime").SetHandlerLifetime(TimeSpan.FromMinutes(5)).AddDevspacesSupport(); //add http client services services.AddHttpClient() .SetHandlerLifetime(TimeSpan.FromMinutes(5)) //Sample. Default lifetime is 2 minutes .AddHttpMessageHandler() .AddPolicyHandler(GetRetryPolicy()) - .AddPolicyHandler(GetCircuitBreakerPolicy()); + .AddPolicyHandler(GetCircuitBreakerPolicy()) + .AddDevspacesSupport(); services.AddHttpClient() .AddPolicyHandler(GetRetryPolicy()) - .AddPolicyHandler(GetCircuitBreakerPolicy()); + .AddPolicyHandler(GetCircuitBreakerPolicy()) + .AddDevspacesSupport(); services.AddHttpClient() .AddHttpMessageHandler() .AddHttpMessageHandler() .AddPolicyHandler(GetRetryPolicy()) - .AddPolicyHandler(GetCircuitBreakerPolicy()); + .AddPolicyHandler(GetCircuitBreakerPolicy()) + .AddDevspacesSupport(); services.AddHttpClient() .AddHttpMessageHandler() .AddPolicyHandler(GetRetryPolicy()) - .AddPolicyHandler(GetCircuitBreakerPolicy()); + .AddPolicyHandler(GetCircuitBreakerPolicy()) + .AddDevspacesSupport(); services.AddHttpClient() .AddHttpMessageHandler() .AddPolicyHandler(GetRetryPolicy()) - .AddPolicyHandler(GetCircuitBreakerPolicy()); + .AddPolicyHandler(GetCircuitBreakerPolicy()) + .AddDevspacesSupport(); //add custom application services services.AddTransient, IdentityParser>(); diff --git a/src/Web/WebMVC/WebMVC.csproj b/src/Web/WebMVC/WebMVC.csproj index 5e5643c63..f4d91fd15 100644 --- a/src/Web/WebMVC/WebMVC.csproj +++ b/src/Web/WebMVC/WebMVC.csproj @@ -52,4 +52,8 @@ + + + + From dbfc5081d69f4cf410d09ccaca3bde7c2fc8735f Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 25 Feb 2019 18:12:02 +0100 Subject: [PATCH 019/108] Webhooks API devspaces source code support --- src/Services/Webhooks/Webhooks.API/Dockerfile.develop | 1 + src/Services/Webhooks/Webhooks.API/Startup.cs | 6 ++++-- src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Services/Webhooks/Webhooks.API/Dockerfile.develop b/src/Services/Webhooks/Webhooks.API/Dockerfile.develop index 82209495c..3cc1084f9 100644 --- a/src/Services/Webhooks/Webhooks.API/Dockerfile.develop +++ b/src/Services/Webhooks/Webhooks.API/Dockerfile.develop @@ -11,6 +11,7 @@ COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "s COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] COPY ["src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj", "src/BuildingBlocks/EventBus/IntegrationEventLogEF/"] COPY ["src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj", "src/BuildingBlocks/WebHostCustomization/WebHost.Customization/"] +COPY ["src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj", "src/BuildingBlocks/Devspaces.Support/"] COPY ["src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj", "src/Services/Webhooks/Webhooks.API/"] RUN dotnet restore src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj -nowarn:msb3202,nu1503 diff --git a/src/Services/Webhooks/Webhooks.API/Startup.cs b/src/Services/Webhooks/Webhooks.API/Startup.cs index ba3ccfe3d..758b5df47 100644 --- a/src/Services/Webhooks/Webhooks.API/Startup.cs +++ b/src/Services/Webhooks/Webhooks.API/Startup.cs @@ -8,6 +8,7 @@ using System.Threading; using System.Threading.Tasks; using Autofac; using Autofac.Extensions.DependencyInjection; +using Devspaces.Support; using HealthChecks.UI.Client; using Microsoft.ApplicationInsights.Extensibility; using Microsoft.ApplicationInsights.ServiceFabric; @@ -55,6 +56,7 @@ namespace Webhooks.API .AddCustomDbContext(Configuration) .AddSwagger(Configuration) .AddCustomHealthCheck(Configuration) + .AddDevspaces() .AddHttpClientServices(Configuration) .AddIntegrationServices(Configuration) .AddEventBus(Configuration) @@ -294,8 +296,8 @@ namespace Webhooks.API services.AddHttpClient("extendedhandlerlifetime").SetHandlerLifetime(Timeout.InfiniteTimeSpan); //add http client services services.AddHttpClient("GrantClient") - .SetHandlerLifetime(TimeSpan.FromMinutes(5)); - //.AddHttpMessageHandler(); + .SetHandlerLifetime(TimeSpan.FromMinutes(5)) + .AddDevspacesSupport(); return services; } diff --git a/src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj b/src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj index c054e75e7..61f415573 100644 --- a/src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj +++ b/src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj @@ -22,6 +22,7 @@ + From 40205f066a30262c95c461b381e5483353c676e7 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Mon, 25 Feb 2019 18:21:31 +0100 Subject: [PATCH 020/108] HTTP Aggreggators devspace source code support --- .../aggregator/Dockerfile.develop | 1 + .../Mobile.Shopping.HttpAggregator.csproj | 4 ++++ .../Mobile.Bff.Shopping/aggregator/Startup.cs | 11 ++++++++--- .../Web.Bff.Shopping/aggregator/Dockerfile.develop | 1 + .../Web.Bff.Shopping/aggregator/Startup.cs | 14 +++++++++----- .../aggregator/Web.Shopping.HttpAggregator.csproj | 4 ++++ 6 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop index 16d42e393..c4330c370 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop @@ -6,6 +6,7 @@ EXPOSE 80 WORKDIR /src COPY ["src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj", "src/ApiGateways/Mobile.Bff.Shopping/aggregator/"] +COPY ["src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj", "src/BuildingBlocks/Devspaces.Support/"] RUN dotnet restore src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj -nowarn:msb3202,nu1503 COPY . . diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj index 6300d6711..70bbefa2d 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj @@ -23,4 +23,8 @@ + + + + diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs index eeb58ac3b..53ebbb2e4 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs @@ -20,6 +20,7 @@ using Swashbuckle.AspNetCore.Swagger; using HealthChecks.UI.Client; using Microsoft.AspNetCore.Diagnostics.HealthChecks; using Microsoft.Extensions.Diagnostics.HealthChecks; +using Devspaces.Support; namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator { @@ -47,6 +48,7 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator services.AddCustomMvc(Configuration) .AddCustomAuthentication(Configuration) + .AddDevspaces() .AddHttpServices(); } @@ -188,15 +190,18 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator services.AddHttpClient() .AddHttpMessageHandler() .AddPolicyHandler(GetRetryPolicy()) - .AddPolicyHandler(GetCircuitBreakerPolicy()); + .AddPolicyHandler(GetCircuitBreakerPolicy()) + .AddDevspacesSupport(); services.AddHttpClient() .AddPolicyHandler(GetRetryPolicy()) - .AddPolicyHandler(GetCircuitBreakerPolicy()); + .AddPolicyHandler(GetCircuitBreakerPolicy()) + .AddDevspacesSupport(); services.AddHttpClient() .AddPolicyHandler(GetRetryPolicy()) - .AddPolicyHandler(GetCircuitBreakerPolicy()); + .AddPolicyHandler(GetCircuitBreakerPolicy()) + .AddDevspacesSupport(); return services; } diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop index c5c80af40..3d0d16dd3 100644 --- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop +++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop @@ -6,6 +6,7 @@ EXPOSE 80 WORKDIR /src COPY ["src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj", "src/ApiGateways/Web.Bff.Shopping/aggregator/"] +COPY ["src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj", "src/BuildingBlocks/Devspaces.Support/"] RUN dotnet restore src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj -nowarn:msb3202,nu1503 COPY . . diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs b/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs index 0fcd13a41..189379f54 100644 --- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs +++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs @@ -21,6 +21,7 @@ using System.Net.Http; using HealthChecks.UI.Client; using Microsoft.AspNetCore.Diagnostics.HealthChecks; using Microsoft.Extensions.Diagnostics.HealthChecks; +using Devspaces.Support; namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator { @@ -48,6 +49,7 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator services.AddCustomMvc(Configuration) .AddCustomAuthentication(Configuration) + .AddDevspaces() .AddApplicationServices(); } @@ -182,21 +184,23 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator services.AddSingleton(); //register http services - + services.AddHttpClient() .AddHttpMessageHandler() .AddPolicyHandler(GetRetryPolicy()) - .AddPolicyHandler(GetCircuitBreakerPolicy()); + .AddPolicyHandler(GetCircuitBreakerPolicy()) + .AddDevspacesSupport(); services.AddHttpClient() .AddPolicyHandler(GetRetryPolicy()) - .AddPolicyHandler(GetCircuitBreakerPolicy()); + .AddPolicyHandler(GetCircuitBreakerPolicy()) + .AddDevspacesSupport(); services.AddHttpClient() .AddHttpMessageHandler() .AddPolicyHandler(GetRetryPolicy()) - .AddPolicyHandler(GetCircuitBreakerPolicy()); - + .AddPolicyHandler(GetCircuitBreakerPolicy()) + .AddDevspacesSupport(); return services; } diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj b/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj index de2f55ab8..436f04825 100644 --- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj +++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj @@ -22,4 +22,8 @@ + + + + From 1f762a6bcfcb3d46c86353e6b133190d39e0bec2 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Fri, 15 Mar 2019 19:52:34 +0100 Subject: [PATCH 021/108] devspaces scripts --- k8s/helm/apigwmm/templates/_names.tpl | 11 +++--- k8s/helm/apigwmm/templates/deployment.yaml | 2 +- k8s/helm/apigwmm/templates/ingress.yaml | 2 +- k8s/helm/apigwms/templates/_names.tpl | 10 ++--- k8s/helm/apigwms/templates/deployment.yaml | 4 +- k8s/helm/apigwms/templates/ingress.yaml | 10 +++-- k8s/helm/apigwwm/templates/_names.tpl | 10 ++--- k8s/helm/apigwwm/templates/deployment.yaml | 4 +- k8s/helm/apigwwm/templates/ingress.yaml | 10 +++-- k8s/helm/apigwws/templates/_names.tpl | 11 +++--- k8s/helm/apigwws/templates/deployment.yaml | 4 +- k8s/helm/apigwws/templates/ingress.yaml | 9 +++-- k8s/helm/apigwws/values.yaml | 2 + k8s/helm/basket-api/templates/ingress.yaml | 37 +++++++++++++++++++ k8s/helm/basket-api/values.yaml | 3 ++ k8s/helm/catalog-api/templates/ingress.yaml | 37 +++++++++++++++++++ .../identity-api/templates/configmap.yaml | 3 +- k8s/helm/identity-api/values.yaml | 7 +++- k8s/helm/locations-api/templates/ingress.yaml | 36 ++++++++++++++++++ k8s/helm/marketing-api/templates/ingress.yaml | 36 ++++++++++++++++++ .../mobileshoppingagg/templates/ingress.yaml | 36 ++++++++++++++++++ .../webshoppingagg/templates/ingress.yaml | 36 ++++++++++++++++++ .../Mobile.Bff.Marketing/apigw/azds.yaml | 6 +-- .../aggregator/values.dev.yaml | 3 ++ .../Mobile.Bff.Shopping/apigw/azds.yaml | 2 +- .../Web.Bff.Marketing/apigw/azds.yaml | 6 +-- .../aggregator/values.dev.yaml | 2 + .../Basket/Basket.API/values.dev.yaml | 3 ++ .../Catalog/Catalog.API/values.dev.yaml | 3 ++ .../DevspacesRedirectUriValidator.cs | 31 ++++++++++++++++ .../IdentityDevspacesBuilderExtensions.cs | 20 ++++++++++ src/Services/Identity/Identity.API/Startup.cs | 2 + .../Identity/Identity.API/values.dev.yaml | 1 + .../Location/Locations.API/values.dev.yaml | 3 ++ .../Marketing/Marketing.API/values.dev.yaml | 3 ++ src/Web/WebMVC/azds.yaml | 3 ++ 36 files changed, 357 insertions(+), 51 deletions(-) create mode 100644 k8s/helm/basket-api/templates/ingress.yaml create mode 100644 k8s/helm/catalog-api/templates/ingress.yaml create mode 100644 k8s/helm/locations-api/templates/ingress.yaml create mode 100644 k8s/helm/marketing-api/templates/ingress.yaml create mode 100644 k8s/helm/mobileshoppingagg/templates/ingress.yaml create mode 100644 k8s/helm/webshoppingagg/templates/ingress.yaml create mode 100644 src/ApiGateways/Mobile.Bff.Shopping/aggregator/values.dev.yaml create mode 100644 src/ApiGateways/Web.Bff.Shopping/aggregator/values.dev.yaml create mode 100644 src/Services/Basket/Basket.API/values.dev.yaml create mode 100644 src/Services/Catalog/Catalog.API/values.dev.yaml create mode 100644 src/Services/Identity/Identity.API/Devspaces/DevspacesRedirectUriValidator.cs create mode 100644 src/Services/Identity/Identity.API/Devspaces/IdentityDevspacesBuilderExtensions.cs create mode 100644 src/Services/Identity/Identity.API/values.dev.yaml create mode 100644 src/Services/Location/Locations.API/values.dev.yaml create mode 100644 src/Services/Marketing/Marketing.API/values.dev.yaml diff --git a/k8s/helm/apigwmm/templates/_names.tpl b/k8s/helm/apigwmm/templates/_names.tpl index a6eeb9965..d44859fea 100644 --- a/k8s/helm/apigwmm/templates/_names.tpl +++ b/k8s/helm/apigwmm/templates/_names.tpl @@ -33,14 +33,13 @@ {{- end -}} + {{- define "pathBase" -}} -{{- $name := first .}} -{{- $ctx := last .}} -{{- if $ctx.Values.inf.k8s.suffix -}} -{{- $suffix := include "suffix-name" $ctx -}} -{{- printf "/%s-%s" $name $suffix -}} +{{- if .Values.inf.k8s.suffix -}} +{{- $suffix := include "suffix-name" . -}} +{{- printf "%s-%s" .Values.pathBase $suffix -}} {{- else -}} -{{- printf "/%s" $name -}} +{{- .Values.pathBase -}} {{- end -}} {{- end -}} diff --git a/k8s/helm/apigwmm/templates/deployment.yaml b/k8s/helm/apigwmm/templates/deployment.yaml index 46e5bee24..c9abb0b62 100644 --- a/k8s/helm/apigwmm/templates/deployment.yaml +++ b/k8s/helm/apigwmm/templates/deployment.yaml @@ -64,7 +64,7 @@ spec: mountPath: {{ .Values.ocelot.configPath }} env: - name: PATH_BASE - value: {{ include "pathBase" (list .Values.app.ingress.entries.mobilemarketingapigw .) }} + value: {{ include "pathBase" . }} - name: k8sname value: {{ .Values.clusterName }} {{- if .Values.env.values -}} diff --git a/k8s/helm/apigwmm/templates/ingress.yaml b/k8s/helm/apigwmm/templates/ingress.yaml index ec6d078bd..290aac0b3 100644 --- a/k8s/helm/apigwmm/templates/ingress.yaml +++ b/k8s/helm/apigwmm/templates/ingress.yaml @@ -1,5 +1,5 @@ {{- if .Values.ingress.enabled -}} -{{- $ingressPath := include "pathBase" (list .Values.app.ingress.entries.mobilemarketingapigw .) -}} +{{- $ingressPath := include "pathBase" . -}} {{- $serviceName := .Values.app.svc.mobilemarketingapigw -}} apiVersion: extensions/v1beta1 kind: Ingress diff --git a/k8s/helm/apigwms/templates/_names.tpl b/k8s/helm/apigwms/templates/_names.tpl index 1e840c56c..d44859fea 100644 --- a/k8s/helm/apigwms/templates/_names.tpl +++ b/k8s/helm/apigwms/templates/_names.tpl @@ -35,13 +35,11 @@ {{- define "pathBase" -}} -{{- $name := first .}} -{{- $ctx := last .}} -{{- if $ctx.Values.inf.k8s.suffix -}} -{{- $suffix := include "suffix-name" $ctx -}} -{{- printf "/%s-%s" $name $suffix -}} +{{- if .Values.inf.k8s.suffix -}} +{{- $suffix := include "suffix-name" . -}} +{{- printf "%s-%s" .Values.pathBase $suffix -}} {{- else -}} -{{- printf "/%s" $name -}} +{{- .Values.pathBase -}} {{- end -}} {{- end -}} diff --git a/k8s/helm/apigwms/templates/deployment.yaml b/k8s/helm/apigwms/templates/deployment.yaml index 65522e986..b22922f89 100644 --- a/k8s/helm/apigwms/templates/deployment.yaml +++ b/k8s/helm/apigwms/templates/deployment.yaml @@ -61,10 +61,10 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} volumeMounts: - name: config - mountPath: {{ .Values ocelot.configPath }} + mountPath: {{ .Values.ocelot.configPath }} env: - name: PATH_BASE - value: {{ include "pathBase" (list .Values.app.ingress.entries.mobileshoppingapigw .) }} + value: {{ include "pathBase" . }} - name: k8sname value: {{ .Values.clusterName }} {{- if .Values.env.values -}} diff --git a/k8s/helm/apigwms/templates/ingress.yaml b/k8s/helm/apigwms/templates/ingress.yaml index 7dd50d8dd..e93ddc2c6 100644 --- a/k8s/helm/apigwms/templates/ingress.yaml +++ b/k8s/helm/apigwms/templates/ingress.yaml @@ -1,5 +1,7 @@ {{- if .Values.ingress.enabled -}} -{{- $ingressPath := include "pathBase" (list .Values.app.ingress.entries.mobileshoppingapigw .) -}} +{{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.mobileshoppingapigw -}} + apiVersion: extensions/v1beta1 kind: Ingress metadata: @@ -23,11 +25,13 @@ spec: {{- end }} {{- end }} rules: - - host: {{ .Values.inf.k8s.dns }} + {{- range .Values.ingress.hosts }} + - host: {{ . }} http: paths: - path: {{ $ingressPath }} backend: - serviceName: {{ .Values.app.svc.mobileshoppingapigw }} + serviceName: {{ $serviceName }} servicePort: http + {{- end }} {{- end }} diff --git a/k8s/helm/apigwwm/templates/_names.tpl b/k8s/helm/apigwwm/templates/_names.tpl index 1e840c56c..d44859fea 100644 --- a/k8s/helm/apigwwm/templates/_names.tpl +++ b/k8s/helm/apigwwm/templates/_names.tpl @@ -35,13 +35,11 @@ {{- define "pathBase" -}} -{{- $name := first .}} -{{- $ctx := last .}} -{{- if $ctx.Values.inf.k8s.suffix -}} -{{- $suffix := include "suffix-name" $ctx -}} -{{- printf "/%s-%s" $name $suffix -}} +{{- if .Values.inf.k8s.suffix -}} +{{- $suffix := include "suffix-name" . -}} +{{- printf "%s-%s" .Values.pathBase $suffix -}} {{- else -}} -{{- printf "/%s" $name -}} +{{- .Values.pathBase -}} {{- end -}} {{- end -}} diff --git a/k8s/helm/apigwwm/templates/deployment.yaml b/k8s/helm/apigwwm/templates/deployment.yaml index 4f02bc2e9..d1f39ab6c 100644 --- a/k8s/helm/apigwwm/templates/deployment.yaml +++ b/k8s/helm/apigwwm/templates/deployment.yaml @@ -61,10 +61,10 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} volumeMounts: - name: config - mountPath: {{ .Values ocelot.configPath }} + mountPath: {{ .Values.ocelot.configPath }} env: - name: PATH_BASE - value: {{ include "pathBase" (list .Values.app.ingress.entries.webmarketingapigw .) }} + value: {{ include "pathBase" . }} - name: k8sname value: {{ .Values.clusterName }} {{- if .Values.env.values -}} diff --git a/k8s/helm/apigwwm/templates/ingress.yaml b/k8s/helm/apigwwm/templates/ingress.yaml index 0a79c4660..297fea52b 100644 --- a/k8s/helm/apigwwm/templates/ingress.yaml +++ b/k8s/helm/apigwwm/templates/ingress.yaml @@ -1,5 +1,7 @@ {{- if .Values.ingress.enabled -}} -{{- $ingressPath := include "pathBase" (list .Values.app.ingress.entries.webmarketingapigw .) -}} +{{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.webmarketingapigw -}} + apiVersion: extensions/v1beta1 kind: Ingress metadata: @@ -23,11 +25,13 @@ spec: {{- end }} {{- end }} rules: - - host: {{ .Values.inf.k8s.dns }} + {{- range .Values.ingress.hosts }} + - host: {{ . }} http: paths: - path: {{ $ingressPath }} backend: - serviceName: {{ .Values.app.svc.webmarketingapigw }} + serviceName: {{ $serviceName }} servicePort: http + {{- end }} {{- end }} diff --git a/k8s/helm/apigwws/templates/_names.tpl b/k8s/helm/apigwws/templates/_names.tpl index a6eeb9965..d44859fea 100644 --- a/k8s/helm/apigwws/templates/_names.tpl +++ b/k8s/helm/apigwws/templates/_names.tpl @@ -33,14 +33,13 @@ {{- end -}} + {{- define "pathBase" -}} -{{- $name := first .}} -{{- $ctx := last .}} -{{- if $ctx.Values.inf.k8s.suffix -}} -{{- $suffix := include "suffix-name" $ctx -}} -{{- printf "/%s-%s" $name $suffix -}} +{{- if .Values.inf.k8s.suffix -}} +{{- $suffix := include "suffix-name" . -}} +{{- printf "%s-%s" .Values.pathBase $suffix -}} {{- else -}} -{{- printf "/%s" $name -}} +{{- .Values.pathBase -}} {{- end -}} {{- end -}} diff --git a/k8s/helm/apigwws/templates/deployment.yaml b/k8s/helm/apigwws/templates/deployment.yaml index 4912d12bb..327eb50b7 100644 --- a/k8s/helm/apigwws/templates/deployment.yaml +++ b/k8s/helm/apigwws/templates/deployment.yaml @@ -60,10 +60,10 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} volumeMounts: - name: config - mountPath: /app/configuration + mountPath: {{ .Values.ocelot.configPath }} env: - name: PATH_BASE - value: {{ include "pathBase" (list .Values.app.ingress.entries.webshoppingapigw .) }} + value: {{ include "pathBase" . }} - name: k8sname value: {{ .Values.clusterName }} {{- if .Values.env.values -}} diff --git a/k8s/helm/apigwws/templates/ingress.yaml b/k8s/helm/apigwws/templates/ingress.yaml index ee1f681ad..8bd2cfc6d 100644 --- a/k8s/helm/apigwws/templates/ingress.yaml +++ b/k8s/helm/apigwws/templates/ingress.yaml @@ -1,5 +1,6 @@ {{- if .Values.ingress.enabled -}} -{{- $ingressPath := include "pathBase" (list .Values.app.ingress.entries.webshoppingapigw .) -}} +{{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.webshoppingapigw -}} apiVersion: extensions/v1beta1 kind: Ingress metadata: @@ -23,11 +24,13 @@ spec: {{- end }} {{- end }} rules: - - host: {{ .Values.inf.k8s.dns }} + {{- range .Values.ingress.hosts }} + - host: {{ . }} http: paths: - path: {{ $ingressPath }} backend: - serviceName: {{ .Values.app.svc.webshoppingapigw }} + serviceName: {{ $serviceName }} servicePort: http + {{- end }} {{- end }} diff --git a/k8s/helm/apigwws/values.yaml b/k8s/helm/apigwws/values.yaml index 94b8a203f..2b047de99 100644 --- a/k8s/helm/apigwws/values.yaml +++ b/k8s/helm/apigwws/values.yaml @@ -62,3 +62,5 @@ probes: initialDelaySeconds: 90 periodSeconds: 60 port: 80 +ocelot: + configPath: /app/configuration \ No newline at end of file diff --git a/k8s/helm/basket-api/templates/ingress.yaml b/k8s/helm/basket-api/templates/ingress.yaml new file mode 100644 index 000000000..f99bd55a6 --- /dev/null +++ b/k8s/helm/basket-api/templates/ingress.yaml @@ -0,0 +1,37 @@ +{{- if .Values.ingress.enabled -}} +{{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.basket -}} + +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ template "basket-api.fullname" . }} + labels: + app: {{ template "basket-api.name" . }} + chart: {{ template "basket-api.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + - {{ .Values.inf.k8s.dns }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ . }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $serviceName }} + servicePort: http + {{- end }} +{{- end }} \ No newline at end of file diff --git a/k8s/helm/basket-api/values.yaml b/k8s/helm/basket-api/values.yaml index 6c264afba..a773700fe 100644 --- a/k8s/helm/basket-api/values.yaml +++ b/k8s/helm/basket-api/values.yaml @@ -53,3 +53,6 @@ probes: initialDelaySeconds: 90 periodSeconds: 60 port: 80 + +ingress: + enabled: false \ No newline at end of file diff --git a/k8s/helm/catalog-api/templates/ingress.yaml b/k8s/helm/catalog-api/templates/ingress.yaml new file mode 100644 index 000000000..238d7b07e --- /dev/null +++ b/k8s/helm/catalog-api/templates/ingress.yaml @@ -0,0 +1,37 @@ +{{- if .Values.ingress.enabled -}} +{{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.catalog -}} + +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ template "catalog-api.fullname" . }} + labels: + app: {{ template "catalog-api.name" . }} + chart: {{ template "catalog-api.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + - {{ .Values.inf.k8s.dns }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ . }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $serviceName }} + servicePort: http + {{- end }} +{{- end }} \ No newline at end of file diff --git a/k8s/helm/identity-api/templates/configmap.yaml b/k8s/helm/identity-api/templates/configmap.yaml index 24d71b699..67c0f21cb 100644 --- a/k8s/helm/identity-api/templates/configmap.yaml +++ b/k8s/helm/identity-api/templates/configmap.yaml @@ -36,5 +36,4 @@ data: xamarin_callback_e: http://{{ $xamarincallback }} webhooksapi_e: http://{{ $webhooks_url }} webhooksweb_e: http://{{ $webhooksweb_url }} - - + enableDevspaces: "{{ .Values.enableDevspaces }}" \ No newline at end of file diff --git a/k8s/helm/identity-api/values.yaml b/k8s/helm/identity-api/values.yaml index c0fd38192..7b57dfde1 100644 --- a/k8s/helm/identity-api/values.yaml +++ b/k8s/helm/identity-api/values.yaml @@ -58,6 +58,8 @@ env: key: webhooksapi_e - name: WebhooksWebClient key: webhooksweb_e + - name: EnableDevspaces + key: enableDevspaces values: - name: ASPNETCORE_ENVIRONMENT value: Development @@ -65,6 +67,7 @@ env: value: 'K8S' - name: IsClusterEnv value: 'True' + probes: liveness: path: /liveness @@ -76,4 +79,6 @@ probes: timeoutSeconds: 5 initialDelaySeconds: 90 periodSeconds: 60 - port: 80 \ No newline at end of file + port: 80 + +enableDevspaces: "false" \ No newline at end of file diff --git a/k8s/helm/locations-api/templates/ingress.yaml b/k8s/helm/locations-api/templates/ingress.yaml new file mode 100644 index 000000000..8c846944e --- /dev/null +++ b/k8s/helm/locations-api/templates/ingress.yaml @@ -0,0 +1,36 @@ +{{- if .Values.ingress.enabled -}} +{{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.locations }} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ template "locations-api.fullname" . }} + labels: + app: {{ template "locations-api.name" . }} + chart: {{ template "locations-api.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + - {{ .Values.inf.k8s.dns }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ . }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $serviceName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/k8s/helm/marketing-api/templates/ingress.yaml b/k8s/helm/marketing-api/templates/ingress.yaml new file mode 100644 index 000000000..7a5b29b12 --- /dev/null +++ b/k8s/helm/marketing-api/templates/ingress.yaml @@ -0,0 +1,36 @@ +{{- if .Values.ingress.enabled -}} +{{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.marketing }} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ template "marketing-api.fullname" . }} + labels: + app: {{ template "marketing-api.name" . }} + chart: {{ template "marketing-api.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + - {{ .Values.inf.k8s.dns }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ . }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $serviceName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/k8s/helm/mobileshoppingagg/templates/ingress.yaml b/k8s/helm/mobileshoppingagg/templates/ingress.yaml new file mode 100644 index 000000000..6c50a574e --- /dev/null +++ b/k8s/helm/mobileshoppingagg/templates/ingress.yaml @@ -0,0 +1,36 @@ +{{- if .Values.ingress.enabled -}} +{{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.mobileshoppingagg }} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ template "mobileshoppingagg.fullname" . }} + labels: + app: {{ template "mobileshoppingagg.name" . }} + chart: {{ template "mobileshoppingagg.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + - {{ .Values.inf.k8s.dns }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ . }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $serviceName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/k8s/helm/webshoppingagg/templates/ingress.yaml b/k8s/helm/webshoppingagg/templates/ingress.yaml new file mode 100644 index 000000000..742db4d30 --- /dev/null +++ b/k8s/helm/webshoppingagg/templates/ingress.yaml @@ -0,0 +1,36 @@ +{{- if .Values.ingress.enabled -}} +{{- $ingressPath := include "pathBase" . -}} +{{- $serviceName := .Values.app.svc.webshoppingagg }} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ template "webshoppingagg.fullname" . }} + labels: + app: {{ template "webshoppingagg.name" . }} + chart: {{ template "webshoppingagg.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + - {{ .Values.inf.k8s.dns }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ . }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $serviceName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml b/src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml index 85c7a9f64..1dc21a9f1 100644 --- a/src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml +++ b/src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml @@ -2,9 +2,9 @@ kind: helm-release apiVersion: 1.1 build: context: ..\..\..\..\ - dockerfile: ..\..\..\..\ApiGateways\ApiGw-Base\Dockerfile + dockerfile: ..\..\..\ApiGateways\ApiGw-Base\Dockerfile install: - chart: ../../../../k8s/helm/apigwwm + chart: ../../../../k8s/helm/apigwmm set: replicaCount: 1 image: @@ -15,7 +15,7 @@ install: kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]webmvc...aksapp.io - - $(spacePrefix)apigwwm$(hostSuffix) + - $(spacePrefix)apigwmm$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/values.dev.yaml b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/values.dev.yaml new file mode 100644 index 000000000..eaed45149 --- /dev/null +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/values.dev.yaml @@ -0,0 +1,3 @@ +ingress: + enabled: true + tls: [] \ No newline at end of file diff --git a/src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml b/src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml index 6e64cf5cf..01a2e36d1 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml +++ b/src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml @@ -2,7 +2,7 @@ kind: helm-release apiVersion: 1.1 build: context: ..\..\..\..\ - dockerfile: ..\..\..\..\ApiGateways\ApiGw-Base\Dockerfile + dockerfile: ..\..\..\ApiGateways\ApiGw-Base\Dockerfile install: chart: ../../../../k8s/helm/apigwms set: diff --git a/src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml b/src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml index 4d36cad78..a0972d1f4 100644 --- a/src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml +++ b/src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml @@ -2,9 +2,9 @@ kind: helm-release apiVersion: 1.1 build: context: ..\..\..\..\ - dockerfile: ..\..\..\..\ApiGateways\ApiGw-Base\Dockerfile + dockerfile: ..\..\..\ApiGateways\ApiGw-Base\Dockerfile install: - chart: ../../../../k8s/helm/apigwmm + chart: ../../../../k8s/helm/apigwwm set: replicaCount: 1 image: @@ -15,7 +15,7 @@ install: kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]webmvc...aksapp.io - - $(spacePrefix)apigwmm$(hostSuffix) + - $(spacePrefix)apigwwm$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/values.dev.yaml b/src/ApiGateways/Web.Bff.Shopping/aggregator/values.dev.yaml new file mode 100644 index 000000000..45f664d6a --- /dev/null +++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/values.dev.yaml @@ -0,0 +1,2 @@ +ocelot: + configPath: /app/configuration \ No newline at end of file diff --git a/src/Services/Basket/Basket.API/values.dev.yaml b/src/Services/Basket/Basket.API/values.dev.yaml new file mode 100644 index 000000000..eaed45149 --- /dev/null +++ b/src/Services/Basket/Basket.API/values.dev.yaml @@ -0,0 +1,3 @@ +ingress: + enabled: true + tls: [] \ No newline at end of file diff --git a/src/Services/Catalog/Catalog.API/values.dev.yaml b/src/Services/Catalog/Catalog.API/values.dev.yaml new file mode 100644 index 000000000..eaed45149 --- /dev/null +++ b/src/Services/Catalog/Catalog.API/values.dev.yaml @@ -0,0 +1,3 @@ +ingress: + enabled: true + tls: [] \ No newline at end of file diff --git a/src/Services/Identity/Identity.API/Devspaces/DevspacesRedirectUriValidator.cs b/src/Services/Identity/Identity.API/Devspaces/DevspacesRedirectUriValidator.cs new file mode 100644 index 000000000..53e497b59 --- /dev/null +++ b/src/Services/Identity/Identity.API/Devspaces/DevspacesRedirectUriValidator.cs @@ -0,0 +1,31 @@ +using IdentityServer4.Models; +using IdentityServer4.Validation; +using Microsoft.Extensions.Logging; +using System.Threading.Tasks; + + +namespace Microsoft.eShopOnContainers.Services.Identity.API.Devspaces +{ + public class DevspacesRedirectUriValidator : IRedirectUriValidator + { + private readonly ILogger _logger; + public DevspacesRedirectUriValidator(ILogger logger) + { + _logger = logger; + } + + public Task IsPostLogoutRedirectUriValidAsync(string requestedUri, Client client) + { + + _logger.LogInformation($"Client {client.ClientName} used post logout uri {requestedUri}."); + return Task.FromResult(true); + } + + public Task IsRedirectUriValidAsync(string requestedUri, Client client) + { + _logger.LogInformation($"Client {client.ClientName} used redirect uri {requestedUri}."); + return Task.FromResult(true); + } + + } +} \ No newline at end of file diff --git a/src/Services/Identity/Identity.API/Devspaces/IdentityDevspacesBuilderExtensions.cs b/src/Services/Identity/Identity.API/Devspaces/IdentityDevspacesBuilderExtensions.cs new file mode 100644 index 000000000..4dadb0e54 --- /dev/null +++ b/src/Services/Identity/Identity.API/Devspaces/IdentityDevspacesBuilderExtensions.cs @@ -0,0 +1,20 @@ +using Microsoft.Extensions.DependencyInjection; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace Microsoft.eShopOnContainers.Services.Identity.API.Devspaces +{ + static class IdentityDevspacesBuilderExtensions + { + public static IIdentityServerBuilder AddDevspacesIfNeeded(this IIdentityServerBuilder builder, bool useDevspaces) + { + if (useDevspaces) + { + builder.AddRedirectUriValidator(); + } + return builder; + } + } +} diff --git a/src/Services/Identity/Identity.API/Startup.cs b/src/Services/Identity/Identity.API/Startup.cs index aa390779e..9f83c6128 100644 --- a/src/Services/Identity/Identity.API/Startup.cs +++ b/src/Services/Identity/Identity.API/Startup.cs @@ -13,6 +13,7 @@ using Microsoft.eShopOnContainers.Services.Identity.API.Certificates; using Microsoft.eShopOnContainers.Services.Identity.API.Data; using Microsoft.eShopOnContainers.Services.Identity.API.Models; using Microsoft.eShopOnContainers.Services.Identity.API.Services; +using Microsoft.eShopOnContainers.Services.Identity.API.Devspaces; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -85,6 +86,7 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API x.IssuerUri = "null"; x.Authentication.CookieLifetime = TimeSpan.FromHours(2); }) + .AddDevspacesIfNeeded(Configuration.GetValue("UseDevspaces", false)) .AddSigningCredential(Certificate.Get()) .AddAspNetIdentity() .AddConfigurationStore(options => diff --git a/src/Services/Identity/Identity.API/values.dev.yaml b/src/Services/Identity/Identity.API/values.dev.yaml new file mode 100644 index 000000000..1d6ef67d3 --- /dev/null +++ b/src/Services/Identity/Identity.API/values.dev.yaml @@ -0,0 +1 @@ +enableDevspaces: "true" diff --git a/src/Services/Location/Locations.API/values.dev.yaml b/src/Services/Location/Locations.API/values.dev.yaml new file mode 100644 index 000000000..eaed45149 --- /dev/null +++ b/src/Services/Location/Locations.API/values.dev.yaml @@ -0,0 +1,3 @@ +ingress: + enabled: true + tls: [] \ No newline at end of file diff --git a/src/Services/Marketing/Marketing.API/values.dev.yaml b/src/Services/Marketing/Marketing.API/values.dev.yaml new file mode 100644 index 000000000..eaed45149 --- /dev/null +++ b/src/Services/Marketing/Marketing.API/values.dev.yaml @@ -0,0 +1,3 @@ +ingress: + enabled: true + tls: [] \ No newline at end of file diff --git a/src/Web/WebMVC/azds.yaml b/src/Web/WebMVC/azds.yaml index 5c95c50ee..69e4f036a 100644 --- a/src/Web/WebMVC/azds.yaml +++ b/src/Web/WebMVC/azds.yaml @@ -16,6 +16,9 @@ install: hosts: # This expands to [space.s.]webmvc...aksapp.io - $(spacePrefix)webmvc$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)webmvc$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? From 6d058d5ab0fd099254e58aea90fb6ac38058a921 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Tue, 19 Mar 2019 12:43:43 +0100 Subject: [PATCH 022/108] updated k8s.dns value --- src/Web/WebMVC/azds.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Web/WebMVC/azds.yaml b/src/Web/WebMVC/azds.yaml index 69e4f036a..99a24ecc0 100644 --- a/src/Web/WebMVC/azds.yaml +++ b/src/Web/WebMVC/azds.yaml @@ -18,7 +18,7 @@ install: - $(spacePrefix)webmvc$(hostSuffix) inf: k8s: - dns: $(spacePrefix)webmvc$(hostSuffix) + dns: $(spacePrefix)identity-api$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? From 06e07914e17cc1ac97770d8661f08faf286a70d2 Mon Sep 17 00:00:00 2001 From: jmanuelcorral Date: Tue, 19 Mar 2019 15:57:47 +0100 Subject: [PATCH 023/108] First version with Kibana/ElasticSearch & Logstash, needs refactor --- docker-compose.elk.yml | 48 +++++++++++++++++++ docker-compose.yml | 35 ++++++++++++++ elk/elasticsearch/Dockerfile | 5 ++ elk/elasticsearch/config/elasticsearch.yml | 16 +++++++ elk/kibana/Dockerfile | 5 ++ elk/kibana/config/kibana.yml | 7 +++ elk/logstash/Dockerfile | 6 +++ elk/logstash/config/logstash.yml | 6 +++ elk/logstash/pipeline/logstash.conf | 22 +++++++++ k8s/helm/deploy-all-istio.ps1 | 1 + k8s/helm/elk/installelk.ps1 | 1 + .../Basket/Basket.API/Basket.API.csproj | 1 + src/Services/Basket/Basket.API/Program.cs | 3 +- .../Basket/Basket.API/appsettings.json | 1 + .../Catalog/Catalog.API/Catalog.API.csproj | 1 + src/Services/Catalog/Catalog.API/Program.cs | 3 +- .../Properties/launchSettings.json | 3 +- .../Catalog/Catalog.API/appsettings.json | 1 + .../Identity/Identity.API/Identity.API.csproj | 1 + src/Services/Identity/Identity.API/Program.cs | 3 +- .../Identity/Identity.API/appsettings.json | 1 + .../Locations.API/Locations.API.csproj | 1 + .../Location/Locations.API/Program.cs | 3 +- .../Location/Locations.API/appsettings.json | 1 + .../Marketing.API/Marketing.API.csproj | 1 + .../Marketing/Marketing.API/Program.cs | 3 +- .../Marketing/Marketing.API/appsettings.json | 1 + .../Ordering/Ordering.API/Ordering.API.csproj | 1 + src/Services/Ordering/Ordering.API/Program.cs | 5 +- .../Ordering/Ordering.API/appsettings.json | 1 + .../Ordering.BackgroundTasks.csproj | 1 + .../Ordering.BackgroundTasks/Program.cs | 3 +- .../Ordering.BackgroundTasks/appsettings.json | 1 + .../Ordering.SignalrHub.csproj | 1 + .../Ordering/Ordering.SignalrHub/Program.cs | 3 +- .../Ordering.SignalrHub/appsettings.json | 1 + .../Payment/Payment.API/Payment.API.csproj | 1 + src/Services/Payment/Payment.API/Program.cs | 3 +- .../Payment/Payment.API/appsettings.json | 1 + src/Web/WebMVC/Program.cs | 5 +- src/Web/WebMVC/WebMVC.csproj | 1 + src/Web/WebMVC/appsettings.json | 1 + src/Web/WebStatus/Program.cs | 5 +- src/Web/WebStatus/WebStatus.csproj | 1 + src/Web/WebStatus/appsettings.json | 4 +- 45 files changed, 203 insertions(+), 16 deletions(-) create mode 100644 docker-compose.elk.yml create mode 100644 elk/elasticsearch/Dockerfile create mode 100644 elk/elasticsearch/config/elasticsearch.yml create mode 100644 elk/kibana/Dockerfile create mode 100644 elk/kibana/config/kibana.yml create mode 100644 elk/logstash/Dockerfile create mode 100644 elk/logstash/config/logstash.yml create mode 100644 elk/logstash/pipeline/logstash.conf create mode 100644 k8s/helm/elk/installelk.ps1 diff --git a/docker-compose.elk.yml b/docker-compose.elk.yml new file mode 100644 index 000000000..a1112b0e2 --- /dev/null +++ b/docker-compose.elk.yml @@ -0,0 +1,48 @@ +version: '3.4' + +services: + + elasticsearch: + build: + context: elk/elasticsearch/ + volumes: + - ./elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro + ports: + - "9200:9200" + - "9300:9300" + environment: + ES_JAVA_OPTS: "-Xmx256m -Xms256m" + networks: + - elk + + logstash: + build: + context: elk/logstash/ + volumes: + - ./elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro + - ./elk/logstash/pipeline:/usr/share/logstash/pipeline:ro + ports: + - "8080:8080" + environment: + LS_JAVA_OPTS: "-Xmx256m -Xms256m" + networks: + - elk + depends_on: + - elasticsearch + + kibana: + build: + context: elk/kibana/ + volumes: + - ./elk/kibana/config/:/usr/share/kibana/config:ro + ports: + - "5601:5601" + networks: + - elk + depends_on: + - elasticsearch + +networks: + + elk: + driver: bridge diff --git a/docker-compose.yml b/docker-compose.yml index 55d5b10e6..d0cda5b7a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,41 @@ version: '3.4' services: + + elasticsearch: + build: + context: elk/elasticsearch/ + volumes: + - ./elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro + ports: + - "9200:9200" + - "9300:9300" + environment: + ES_JAVA_OPTS: "-Xmx256m -Xms256m" + + logstash: + build: + context: elk/logstash/ + volumes: + - ./elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro + - ./elk/logstash/pipeline:/usr/share/logstash/pipeline:ro + ports: + - "8080:8080" + environment: + LS_JAVA_OPTS: "-Xmx256m -Xms256m" + depends_on: + - elasticsearch + + kibana: + build: + context: elk/kibana/ + volumes: + - ./elk/kibana/config/:/usr/share/kibana/config:ro + ports: + - "5601:5601" + depends_on: + - elasticsearch + seq: image: datalust/seq:latest diff --git a/elk/elasticsearch/Dockerfile b/elk/elasticsearch/Dockerfile new file mode 100644 index 000000000..0ad46d887 --- /dev/null +++ b/elk/elasticsearch/Dockerfile @@ -0,0 +1,5 @@ +# https://github.com/elastic/elasticsearch-docker +FROM docker.elastic.co/elasticsearch/elasticsearch-oss:6.0.0 + +# Add your elasticsearch plugins setup here +# Example: RUN elasticsearch-plugin install analysis-icu diff --git a/elk/elasticsearch/config/elasticsearch.yml b/elk/elasticsearch/config/elasticsearch.yml new file mode 100644 index 000000000..e97577084 --- /dev/null +++ b/elk/elasticsearch/config/elasticsearch.yml @@ -0,0 +1,16 @@ +--- +## Default Elasticsearch configuration from elasticsearch-docker. +## from https://github.com/elastic/elasticsearch-docker/blob/master/build/elasticsearch/elasticsearch.yml +# +cluster.name: "docker-cluster" +network.host: 0.0.0.0 + +# minimum_master_nodes need to be explicitly set when bound on a public IP +# set to 1 to allow single node clusters +# Details: https://github.com/elastic/elasticsearch/pull/17288 +discovery.zen.minimum_master_nodes: 1 + +## Use single node discovery in order to disable production mode and avoid bootstrap checks +## see https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html +# +discovery.type: single-node diff --git a/elk/kibana/Dockerfile b/elk/kibana/Dockerfile new file mode 100644 index 000000000..1785734aa --- /dev/null +++ b/elk/kibana/Dockerfile @@ -0,0 +1,5 @@ +# https://github.com/elastic/kibana-docker +FROM docker.elastic.co/kibana/kibana-oss:6.0.0 + +# Add your kibana plugins setup here +# Example: RUN kibana-plugin install diff --git a/elk/kibana/config/kibana.yml b/elk/kibana/config/kibana.yml new file mode 100644 index 000000000..4b34a1606 --- /dev/null +++ b/elk/kibana/config/kibana.yml @@ -0,0 +1,7 @@ +--- +## Default Kibana configuration from kibana-docker. +## from https://github.com/elastic/kibana-docker/blob/master/build/kibana/config/kibana.yml +# +server.name: kibana +server.host: "0" +elasticsearch.url: http://elasticsearch:9200 diff --git a/elk/logstash/Dockerfile b/elk/logstash/Dockerfile new file mode 100644 index 000000000..d8bb475a5 --- /dev/null +++ b/elk/logstash/Dockerfile @@ -0,0 +1,6 @@ +# https://github.com/elastic/logstash-docker +FROM docker.elastic.co/logstash/logstash-oss:6.0.0 + +# Add your logstash plugins setup here +# Example: RUN logstash-plugin install logstash-filter-json +RUN logstash-plugin install logstash-input-http \ No newline at end of file diff --git a/elk/logstash/config/logstash.yml b/elk/logstash/config/logstash.yml new file mode 100644 index 000000000..d4f28f778 --- /dev/null +++ b/elk/logstash/config/logstash.yml @@ -0,0 +1,6 @@ +--- +## Default Logstash configuration from logstash-docker. +## from https://github.com/elastic/logstash-docker/blob/master/build/logstash/config/logstash-oss.yml +# +http.host: "0.0.0.0" +path.config: /usr/share/logstash/pipeline \ No newline at end of file diff --git a/elk/logstash/pipeline/logstash.conf b/elk/logstash/pipeline/logstash.conf new file mode 100644 index 000000000..b38a681d7 --- /dev/null +++ b/elk/logstash/pipeline/logstash.conf @@ -0,0 +1,22 @@ +input { + http { + #default host 0.0.0.0:8080 + codec => json + } +} + +## Add your filters / logstash plugins configuration here +filter { + split { + field => "events" + target => "e" + remove_field => "events" + } +} + +output { + elasticsearch { + hosts => "elasticsearch:9200" + index=>"eshops-%{+xxxx.ww}" + } +} diff --git a/k8s/helm/deploy-all-istio.ps1 b/k8s/helm/deploy-all-istio.ps1 index 6ee8a9572..5e05c6dbb 100644 --- a/k8s/helm/deploy-all-istio.ps1 +++ b/k8s/helm/deploy-all-istio.ps1 @@ -57,6 +57,7 @@ kubectl apply -f ./istio/gateway.yml if ($useLocalk8s -eq $true) { $dns="localhost" + $externalDns="localhost" } else { Write-Host "Resolving DNS to Gateway public IP" -ForegroundColor Green diff --git a/k8s/helm/elk/installelk.ps1 b/k8s/helm/elk/installelk.ps1 new file mode 100644 index 000000000..3a77dae59 --- /dev/null +++ b/k8s/helm/elk/installelk.ps1 @@ -0,0 +1 @@ +helm install --name elk stable/elastic-stack --namespace elk \ No newline at end of file diff --git a/src/Services/Basket/Basket.API/Basket.API.csproj b/src/Services/Basket/Basket.API/Basket.API.csproj index 087fdca66..826ac6697 100644 --- a/src/Services/Basket/Basket.API/Basket.API.csproj +++ b/src/Services/Basket/Basket.API/Basket.API.csproj @@ -33,6 +33,7 @@ + diff --git a/src/Services/Basket/Basket.API/Program.cs b/src/Services/Basket/Basket.API/Program.cs index 893a52400..40cc0eebc 100644 --- a/src/Services/Basket/Basket.API/Program.cs +++ b/src/Services/Basket/Basket.API/Program.cs @@ -57,13 +57,14 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; - + var logstashUrl = configuration["Serilog:LogstashgUrl"]; return new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", AppName) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) + .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl) .ReadFrom.Configuration(configuration) .CreateLogger(); } diff --git a/src/Services/Basket/Basket.API/appsettings.json b/src/Services/Basket/Basket.API/appsettings.json index 33f1c299f..babea8454 100644 --- a/src/Services/Basket/Basket.API/appsettings.json +++ b/src/Services/Basket/Basket.API/appsettings.json @@ -1,6 +1,7 @@ { "Serilog": { "SeqServerUrl": null, + "LogstashgUrl":null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Catalog/Catalog.API/Catalog.API.csproj b/src/Services/Catalog/Catalog.API/Catalog.API.csproj index 983cc291a..4737af7e3 100644 --- a/src/Services/Catalog/Catalog.API/Catalog.API.csproj +++ b/src/Services/Catalog/Catalog.API/Catalog.API.csproj @@ -53,6 +53,7 @@ + diff --git a/src/Services/Catalog/Catalog.API/Program.cs b/src/Services/Catalog/Catalog.API/Program.cs index c75b56c39..39b071c46 100644 --- a/src/Services/Catalog/Catalog.API/Program.cs +++ b/src/Services/Catalog/Catalog.API/Program.cs @@ -71,13 +71,14 @@ namespace Microsoft.eShopOnContainers.Services.Catalog.API private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; - + var logstashUrl = configuration["Serilog:LogstashgUrl"]; return new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", AppName) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) + .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl) .ReadFrom.Configuration(configuration) .CreateLogger(); } diff --git a/src/Services/Catalog/Catalog.API/Properties/launchSettings.json b/src/Services/Catalog/Catalog.API/Properties/launchSettings.json index 8f2cde4db..3aaed933a 100644 --- a/src/Services/Catalog/Catalog.API/Properties/launchSettings.json +++ b/src/Services/Catalog/Catalog.API/Properties/launchSettings.json @@ -16,7 +16,8 @@ "ConnectionString": "server=localhost,5433;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word", "ASPNETCORE_ENVIRONMENT": "Development", "EventBusConnection": "localhost", - "Serilog:SeqServerUrl": "http://locahost:5340" + "Serilog:SeqServerUrl": "http://locahost:5340", + "Serilog:LogstashgUrl":"http://locahost:8080", } }, "Microsoft.eShopOnContainers.Services.Catalog.API": { diff --git a/src/Services/Catalog/Catalog.API/appsettings.json b/src/Services/Catalog/Catalog.API/appsettings.json index b26f63bff..ede3744dc 100644 --- a/src/Services/Catalog/Catalog.API/appsettings.json +++ b/src/Services/Catalog/Catalog.API/appsettings.json @@ -4,6 +4,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, + "LogstashgUrl":null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Identity/Identity.API/Identity.API.csproj b/src/Services/Identity/Identity.API/Identity.API.csproj index fd5f1474e..43922d948 100644 --- a/src/Services/Identity/Identity.API/Identity.API.csproj +++ b/src/Services/Identity/Identity.API/Identity.API.csproj @@ -34,6 +34,7 @@ + diff --git a/src/Services/Identity/Identity.API/Program.cs b/src/Services/Identity/Identity.API/Program.cs index 8204a1ebf..784f63a1e 100644 --- a/src/Services/Identity/Identity.API/Program.cs +++ b/src/Services/Identity/Identity.API/Program.cs @@ -76,13 +76,14 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; - + var logstashUrl = configuration["Serilog:LogstashgUrl"]; return new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", AppName) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) + .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://localhost:8080" : logstashUrl) .ReadFrom.Configuration(configuration) .CreateLogger(); } diff --git a/src/Services/Identity/Identity.API/appsettings.json b/src/Services/Identity/Identity.API/appsettings.json index 74d8e826c..bcb9ce3f7 100644 --- a/src/Services/Identity/Identity.API/appsettings.json +++ b/src/Services/Identity/Identity.API/appsettings.json @@ -7,6 +7,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, + "LogstashgUrl":null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Location/Locations.API/Locations.API.csproj b/src/Services/Location/Locations.API/Locations.API.csproj index 9784c1f4d..090ee7c1d 100644 --- a/src/Services/Location/Locations.API/Locations.API.csproj +++ b/src/Services/Location/Locations.API/Locations.API.csproj @@ -29,6 +29,7 @@ + diff --git a/src/Services/Location/Locations.API/Program.cs b/src/Services/Location/Locations.API/Program.cs index c13df985f..acadf4a39 100644 --- a/src/Services/Location/Locations.API/Program.cs +++ b/src/Services/Location/Locations.API/Program.cs @@ -54,13 +54,14 @@ namespace Microsoft.eShopOnContainers.Services.Locations.API private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; - + var logstashUrl = configuration["Serilog:LogstashgUrl"]; return new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", AppName) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) + .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl) .ReadFrom.Configuration(configuration) .CreateLogger(); } diff --git a/src/Services/Location/Locations.API/appsettings.json b/src/Services/Location/Locations.API/appsettings.json index 43fe53873..8cca61af2 100644 --- a/src/Services/Location/Locations.API/appsettings.json +++ b/src/Services/Location/Locations.API/appsettings.json @@ -4,6 +4,7 @@ "IdentityUrl": "http://localhost:5105", "Serilog": { "SeqServerUrl": null, + "LogstashgUrl":null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Marketing/Marketing.API/Marketing.API.csproj b/src/Services/Marketing/Marketing.API/Marketing.API.csproj index 373bcb0a6..2c64d84d9 100644 --- a/src/Services/Marketing/Marketing.API/Marketing.API.csproj +++ b/src/Services/Marketing/Marketing.API/Marketing.API.csproj @@ -45,6 +45,7 @@ + diff --git a/src/Services/Marketing/Marketing.API/Program.cs b/src/Services/Marketing/Marketing.API/Program.cs index ae26c9786..4d07e7e0f 100644 --- a/src/Services/Marketing/Marketing.API/Program.cs +++ b/src/Services/Marketing/Marketing.API/Program.cs @@ -66,13 +66,14 @@ private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; - + var logstashUrl = configuration["Serilog:LogstashgUrl"]; return new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", AppName) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) + .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl) .ReadFrom.Configuration(configuration) .CreateLogger(); } diff --git a/src/Services/Marketing/Marketing.API/appsettings.json b/src/Services/Marketing/Marketing.API/appsettings.json index c16978dce..7c015a8ca 100644 --- a/src/Services/Marketing/Marketing.API/appsettings.json +++ b/src/Services/Marketing/Marketing.API/appsettings.json @@ -1,6 +1,7 @@ { "Serilog": { "SeqServerUrl": null, + "LogstashgUrl":null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Ordering/Ordering.API/Ordering.API.csproj b/src/Services/Ordering/Ordering.API/Ordering.API.csproj index b3fa6797e..6342e3585 100644 --- a/src/Services/Ordering/Ordering.API/Ordering.API.csproj +++ b/src/Services/Ordering/Ordering.API/Ordering.API.csproj @@ -52,6 +52,7 @@ + diff --git a/src/Services/Ordering/Ordering.API/Program.cs b/src/Services/Ordering/Ordering.API/Program.cs index 8fc18c8bb..a0b7dc40e 100644 --- a/src/Services/Ordering/Ordering.API/Program.cs +++ b/src/Services/Ordering/Ordering.API/Program.cs @@ -68,16 +68,17 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API .UseSerilog() .Build(); - private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) + private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; - + var logstashUrl = configuration["Serilog:LogstashgUrl"]; return new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", AppName) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) + .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl) .ReadFrom.Configuration(configuration) .CreateLogger(); } diff --git a/src/Services/Ordering/Ordering.API/appsettings.json b/src/Services/Ordering/Ordering.API/appsettings.json index 64b24a354..ea87d5b07 100644 --- a/src/Services/Ordering/Ordering.API/appsettings.json +++ b/src/Services/Ordering/Ordering.API/appsettings.json @@ -4,6 +4,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, + "LogstashgUrl":null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj b/src/Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj index f0fc00b04..4e3b62de5 100644 --- a/src/Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj +++ b/src/Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj @@ -28,6 +28,7 @@ + diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/Program.cs b/src/Services/Ordering/Ordering.BackgroundTasks/Program.cs index 8f8cf41e1..7a429742e 100644 --- a/src/Services/Ordering/Ordering.BackgroundTasks/Program.cs +++ b/src/Services/Ordering/Ordering.BackgroundTasks/Program.cs @@ -51,13 +51,14 @@ namespace Ordering.BackgroundTasks private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; - + var logstashUrl = configuration["Serilog:LogstashgUrl"]; return new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", AppName) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) + .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl) .ReadFrom.Configuration(configuration) .CreateLogger(); } diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json b/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json index 3697c53a5..6f1e21d06 100644 --- a/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json +++ b/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json @@ -2,6 +2,7 @@ "ConnectionString": "Server=tcp:127.0.0.1,5433;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;", "Serilog": { "SeqServerUrl": null, + "LogstashgUrl":null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj b/src/Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj index a4dd8cc9d..1dae53261 100644 --- a/src/Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj +++ b/src/Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj @@ -30,6 +30,7 @@ + diff --git a/src/Services/Ordering/Ordering.SignalrHub/Program.cs b/src/Services/Ordering/Ordering.SignalrHub/Program.cs index fdb3f5f3a..76f131caa 100644 --- a/src/Services/Ordering/Ordering.SignalrHub/Program.cs +++ b/src/Services/Ordering/Ordering.SignalrHub/Program.cs @@ -54,13 +54,14 @@ namespace Ordering.SignalrHub private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; - + var logstashUrl = configuration["Serilog:LogstashgUrl"]; return new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", AppName) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) + .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl) .ReadFrom.Configuration(configuration) .CreateLogger(); } diff --git a/src/Services/Ordering/Ordering.SignalrHub/appsettings.json b/src/Services/Ordering/Ordering.SignalrHub/appsettings.json index bd752de48..8360223cf 100644 --- a/src/Services/Ordering/Ordering.SignalrHub/appsettings.json +++ b/src/Services/Ordering/Ordering.SignalrHub/appsettings.json @@ -2,6 +2,7 @@ "IdentityUrl": "http://localhost:5105", "Serilog": { "SeqServerUrl": null, + "LogstashgUrl":null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Payment/Payment.API/Payment.API.csproj b/src/Services/Payment/Payment.API/Payment.API.csproj index e912727e8..a62834170 100644 --- a/src/Services/Payment/Payment.API/Payment.API.csproj +++ b/src/Services/Payment/Payment.API/Payment.API.csproj @@ -24,6 +24,7 @@ + diff --git a/src/Services/Payment/Payment.API/Program.cs b/src/Services/Payment/Payment.API/Program.cs index 9b0aded5c..b03bee3da 100644 --- a/src/Services/Payment/Payment.API/Program.cs +++ b/src/Services/Payment/Payment.API/Program.cs @@ -54,13 +54,14 @@ namespace Payment.API private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; - + var logstashUrl = configuration["Serilog:LogstashgUrl"]; return new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", AppName) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) + .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl) .ReadFrom.Configuration(configuration) .CreateLogger(); } diff --git a/src/Services/Payment/Payment.API/appsettings.json b/src/Services/Payment/Payment.API/appsettings.json index bf6157648..d7ec8301d 100644 --- a/src/Services/Payment/Payment.API/appsettings.json +++ b/src/Services/Payment/Payment.API/appsettings.json @@ -1,6 +1,7 @@ { "Serilog": { "SeqServerUrl": null, + "LogstashgUrl":null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Web/WebMVC/Program.cs b/src/Web/WebMVC/Program.cs index c329237ce..a80d0514b 100644 --- a/src/Web/WebMVC/Program.cs +++ b/src/Web/WebMVC/Program.cs @@ -49,16 +49,17 @@ namespace Microsoft.eShopOnContainers.WebMVC .UseSerilog() .Build(); - private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) + private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; - + var logstashUrl = configuration["Serilog:LogstashgUrl"]; return new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", AppName) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) + .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl) .ReadFrom.Configuration(configuration) .CreateLogger(); } diff --git a/src/Web/WebMVC/WebMVC.csproj b/src/Web/WebMVC/WebMVC.csproj index 20ddc085b..3bfd9d0c8 100644 --- a/src/Web/WebMVC/WebMVC.csproj +++ b/src/Web/WebMVC/WebMVC.csproj @@ -41,6 +41,7 @@ + diff --git a/src/Web/WebMVC/appsettings.json b/src/Web/WebMVC/appsettings.json index 591964725..077fda891 100644 --- a/src/Web/WebMVC/appsettings.json +++ b/src/Web/WebMVC/appsettings.json @@ -13,6 +13,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, + "LogstashgUrl":null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Web/WebStatus/Program.cs b/src/Web/WebStatus/Program.cs index d2de3ceae..45e802116 100644 --- a/src/Web/WebStatus/Program.cs +++ b/src/Web/WebStatus/Program.cs @@ -50,16 +50,17 @@ namespace WebStatus .UseSerilog() .Build(); - private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) + private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration) { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; - + var logstashUrl = configuration["Serilog:LogstashgUrl"]; return new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", AppName) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) + .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl) .ReadFrom.Configuration(configuration) .CreateLogger(); } diff --git a/src/Web/WebStatus/WebStatus.csproj b/src/Web/WebStatus/WebStatus.csproj index e898a3a2e..0cd8328de 100644 --- a/src/Web/WebStatus/WebStatus.csproj +++ b/src/Web/WebStatus/WebStatus.csproj @@ -28,6 +28,7 @@ + diff --git a/src/Web/WebStatus/appsettings.json b/src/Web/WebStatus/appsettings.json index e2aadbc9e..82331d00b 100644 --- a/src/Web/WebStatus/appsettings.json +++ b/src/Web/WebStatus/appsettings.json @@ -72,6 +72,7 @@ ], "Serilog": { "SeqServerUrl": null, + "LogstashgUrl":null, "MinimumLevel": { "Default": "Information", "Override": { @@ -79,7 +80,7 @@ "Microsoft.eShopOnContainers": "Information", "System": "Warning" } - } + }, "Webhooks": [ { "Name": "", @@ -92,3 +93,4 @@ "MinimumSecondsBetweenFailureNotifications": 60 } } +} From 56c659776e37bc4e661a19ca3b0c2c013a8cc868 Mon Sep 17 00:00:00 2001 From: jmanuelcorral Date: Wed, 20 Mar 2019 06:50:28 +0100 Subject: [PATCH 024/108] Finished --- docker-compose.elk.yml | 13 +------------ docker-compose.yml | 34 ---------------------------------- 2 files changed, 1 insertion(+), 46 deletions(-) diff --git a/docker-compose.elk.yml b/docker-compose.elk.yml index a1112b0e2..04e6c8a05 100644 --- a/docker-compose.elk.yml +++ b/docker-compose.elk.yml @@ -12,8 +12,6 @@ services: - "9300:9300" environment: ES_JAVA_OPTS: "-Xmx256m -Xms256m" - networks: - - elk logstash: build: @@ -25,8 +23,6 @@ services: - "8080:8080" environment: LS_JAVA_OPTS: "-Xmx256m -Xms256m" - networks: - - elk depends_on: - elasticsearch @@ -37,12 +33,5 @@ services: - ./elk/kibana/config/:/usr/share/kibana/config:ro ports: - "5601:5601" - networks: - - elk depends_on: - - elasticsearch - -networks: - - elk: - driver: bridge + - elasticsearch \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index d0cda5b7a..2a0448bad 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,40 +2,6 @@ version: '3.4' services: - elasticsearch: - build: - context: elk/elasticsearch/ - volumes: - - ./elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro - ports: - - "9200:9200" - - "9300:9300" - environment: - ES_JAVA_OPTS: "-Xmx256m -Xms256m" - - logstash: - build: - context: elk/logstash/ - volumes: - - ./elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro - - ./elk/logstash/pipeline:/usr/share/logstash/pipeline:ro - ports: - - "8080:8080" - environment: - LS_JAVA_OPTS: "-Xmx256m -Xms256m" - depends_on: - - elasticsearch - - kibana: - build: - context: elk/kibana/ - volumes: - - ./elk/kibana/config/:/usr/share/kibana/config:ro - ports: - - "5601:5601" - depends_on: - - elasticsearch - seq: image: datalust/seq:latest From 8d7d27cc9186ab0340fe28929c537b170fc29dcd Mon Sep 17 00:00:00 2001 From: jmanuelcorral Date: Wed, 20 Mar 2019 12:41:24 +0100 Subject: [PATCH 025/108] Added Documentation --- elk/Readme.md | 28 ++++++++++++++++++++++++++++ img/elk/kibana_eshops_index.png | Bin 0 -> 37628 bytes img/elk/kibana_result.png | Bin 0 -> 73100 bytes img/elk/kibana_startup.png | Bin 0 -> 58651 bytes img/elk/kibana_working.png | Bin 0 -> 79471 bytes k8s/helm/elk/installelk.ps1 | 1 - 6 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 elk/Readme.md create mode 100644 img/elk/kibana_eshops_index.png create mode 100644 img/elk/kibana_result.png create mode 100644 img/elk/kibana_startup.png create mode 100644 img/elk/kibana_working.png delete mode 100644 k8s/helm/elk/installelk.ps1 diff --git a/elk/Readme.md b/elk/Readme.md new file mode 100644 index 000000000..a012e1c5c --- /dev/null +++ b/elk/Readme.md @@ -0,0 +1,28 @@ +This article contains a brief introduction to centralized structured logging with [Serilog](https://serilog.net/) and event viewing with [ELK](https://www.elastic.co/elk-stack) in eShopOnContainers. ELK is an acronym of ElasticSearch, LogStash and Kibana. This is one of the most used tools in the industry standards. + +![](img/elk/kibana-working.png) + +## Wiring eshopOnContainers with ELK + +eshopOnContainers is ready for work with ELK, you only need to setup the configuration parameter **LogstashgUrl**, in **Serilog** Section, for achieve this, you can do it modifing this parameter in every appsettings.json in every service, or via Environment Variable **Serilog:LogstashUrl**. + +There is another option, a zero-configuration environment for testing the integration launching via ```docker-compose``` command, on the root directory of eshopOnContainers: + +```sh +docker-compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.elk.yml +``` + +### Configuring Logstash index on Kibana + +Once time you have started and configured your application, you only need to configure the logstash index on kibana. +You can address to Kibana, with docker-compose setup is at [http://localhost:5601](http://localhost:5601) + +If you have accessed to kibana too early, you can see this error. It's normal, depending of your machine the kibana stack needs a bit of time to startup. +![](img/elk/kibana_startup.png) + +You can wait a bit and refresh the page, the first time you enter, you need to configure and index pattern, in the ```docker-compose``` configuration, the index pattern name is **eshops-\***. +![](img/elk/kibana_eshops_index.png) + +With the index pattern configured, you can enter in the discover section and start viewing how the tool is recollecting the logging information. + +![](img/elk/kibana_result.png) \ No newline at end of file diff --git a/img/elk/kibana_eshops_index.png b/img/elk/kibana_eshops_index.png new file mode 100644 index 0000000000000000000000000000000000000000..5a4be8ec33574c848a8b5220ce005ccc70584d20 GIT binary patch literal 37628 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 R)Q-PDMLD%+B{FY5{vQ}2lPLfI literal 0 HcmV?d00001 diff --git a/img/elk/kibana_result.png b/img/elk/kibana_result.png new file mode 100644 index 0000000000000000000000000000000000000000..55b7fd3ff0f6e7f7101429c4a00ab7cf433b7751 GIT binary patch literal 73100 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 z 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%0AXGu+~mVGrp(XD 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 z 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 literal 0 HcmV?d00001 diff --git a/k8s/helm/elk/installelk.ps1 b/k8s/helm/elk/installelk.ps1 deleted file mode 100644 index 3a77dae59..000000000 --- a/k8s/helm/elk/installelk.ps1 +++ /dev/null @@ -1 +0,0 @@ -helm install --name elk stable/elastic-stack --namespace elk \ No newline at end of file From 1427fe8b7c8635c07afc963fb98bb4352bdcdea3 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Wed, 20 Mar 2019 16:39:09 +0100 Subject: [PATCH 026/108] trying mvc azds config --- src/Web/WebMVC/azds.yaml | 3 --- src/Web/WebMVC/values.dev.yaml | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 src/Web/WebMVC/values.dev.yaml diff --git a/src/Web/WebMVC/azds.yaml b/src/Web/WebMVC/azds.yaml index 99a24ecc0..5c95c50ee 100644 --- a/src/Web/WebMVC/azds.yaml +++ b/src/Web/WebMVC/azds.yaml @@ -16,9 +16,6 @@ install: hosts: # This expands to [space.s.]webmvc...aksapp.io - $(spacePrefix)webmvc$(hostSuffix) - inf: - k8s: - dns: $(spacePrefix)identity-api$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/Web/WebMVC/values.dev.yaml b/src/Web/WebMVC/values.dev.yaml new file mode 100644 index 000000000..19987b6f0 --- /dev/null +++ b/src/Web/WebMVC/values.dev.yaml @@ -0,0 +1,3 @@ +inf: + k8s: + dns: $(spacePrefix)identity-api$(hostSuffix) \ No newline at end of file From 0dcc46caf4ad351834a90ed3aa91078385129166 Mon Sep 17 00:00:00 2001 From: jmanuelcorral Date: Thu, 21 Mar 2019 10:06:03 +0100 Subject: [PATCH 027/108] Corrected a Typo --- elk/Readme.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/elk/Readme.md b/elk/Readme.md index a012e1c5c..16c2bbcbe 100644 --- a/elk/Readme.md +++ b/elk/Readme.md @@ -9,7 +9,9 @@ eshopOnContainers is ready for work with ELK, you only need to setup the configu There is another option, a zero-configuration environment for testing the integration launching via ```docker-compose``` command, on the root directory of eshopOnContainers: ```sh -docker-compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.elk.yml +docker-compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.elk.yml build + +docker-compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.elk.yml up ``` ### Configuring Logstash index on Kibana From a327fac58619476cd09fd744c8cd8b7bbf3b247d Mon Sep 17 00:00:00 2001 From: eiximenis Date: Thu, 21 Mar 2019 10:17:35 +0100 Subject: [PATCH 028/108] updating middle name of azds config for catalog.api --- src/Services/Catalog/Catalog.API/azds.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Services/Catalog/Catalog.API/azds.yaml b/src/Services/Catalog/Catalog.API/azds.yaml index cbceada43..2d24ce49d 100644 --- a/src/Services/Catalog/Catalog.API/azds.yaml +++ b/src/Services/Catalog/Catalog.API/azds.yaml @@ -14,7 +14,7 @@ install: kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]catalogapi...aksapp.io - - $(spacePrefix)basketapi$(hostSuffix) + - $(spacePrefix)catalogapi$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? From 905f8552d977b3a1faa5c6818d51a5029ead15fb Mon Sep 17 00:00:00 2001 From: jmanuelcorral Date: Fri, 22 Mar 2019 13:45:02 +0100 Subject: [PATCH 029/108] Updated pointing to ELK external service for testing and demo purposes --- elk/Readme.md | 18 +++++++++++++++--- img/elk/azure-nsg-inboundportsConfig.png | Bin 0 -> 17565 bytes img/elk/bitnami_splash.png | Bin 0 -> 44123 bytes img/elk/create-vm-elk-azure-last-step.png | Bin 0 -> 61110 bytes img/elk/create-vm-elk-azure-summary.png | Bin 0 -> 81931 bytes img/elk/create-vm-elk-azure.png | Bin 0 -> 54959 bytes img/elk/discover-kibana.png | Bin 0 -> 62954 bytes .../Basket/Basket.API/appsettings.json | 2 +- .../Catalog/Catalog.API/appsettings.json | 2 +- .../Identity/Identity.API/appsettings.json | 2 +- .../Location/Locations.API/appsettings.json | 2 +- .../Marketing/Marketing.API/appsettings.json | 2 +- .../Ordering/Ordering.API/appsettings.json | 2 +- .../Ordering.BackgroundTasks/appsettings.json | 2 +- .../Ordering.SignalrHub/appsettings.json | 2 +- .../Payment/Payment.API/appsettings.json | 2 +- src/Web/WebMVC/appsettings.json | 2 +- src/Web/WebStatus/appsettings.json | 2 +- 18 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 img/elk/azure-nsg-inboundportsConfig.png create mode 100644 img/elk/bitnami_splash.png create mode 100644 img/elk/create-vm-elk-azure-last-step.png create mode 100644 img/elk/create-vm-elk-azure-summary.png create mode 100644 img/elk/create-vm-elk-azure.png create mode 100644 img/elk/discover-kibana.png diff --git a/elk/Readme.md b/elk/Readme.md index 16c2bbcbe..a393e4a29 100644 --- a/elk/Readme.md +++ b/elk/Readme.md @@ -2,9 +2,9 @@ This article contains a brief introduction to centralized structured logging wit ![](img/elk/kibana-working.png) -## Wiring eshopOnContainers with ELK +## Wiring eshopOnContainers with ELK in Localhost -eshopOnContainers is ready for work with ELK, you only need to setup the configuration parameter **LogstashgUrl**, in **Serilog** Section, for achieve this, you can do it modifing this parameter in every appsettings.json in every service, or via Environment Variable **Serilog:LogstashUrl**. +eshopOnContainers is ready for work with ELK, you only need to setup the configuration parameter **LogstashUrl**, in **Serilog** Section, for achieve this, you can do it modifing this parameter in every appsettings.json of every service, or via Environment Variable **Serilog:LogstashUrl**. There is another option, a zero-configuration environment for testing the integration launching via ```docker-compose``` command, on the root directory of eshopOnContainers: @@ -27,4 +27,16 @@ You can wait a bit and refresh the page, the first time you enter, you need to c With the index pattern configured, you can enter in the discover section and start viewing how the tool is recollecting the logging information. -![](img/elk/kibana_result.png) \ No newline at end of file +![](img/elk/kibana_result.png) + +## Configuring ELK on Azure VM +Another option is to use a preconfigured virtual machine with Logstash, ElasticSearch and Kibana and point the configuration parameter **LogstashUrl**. For doing this you can address to Microsoft Azure, and start searching a Certified ELK Virtual Machine + +![](img/elk/create-vm-elk-azure.png) + +This options it have a certified preconfigured options (Network, VirtualMachine type, OS, RAM, Disks) for having a good starting point of ELK with good performance. + +![](img/elk/create-vm-elk-azure-summary.png) + +When you have configured the main aspects of your virtual machine, you will have a review&create last step like this: +![](img/elk/create-vm-elk-azure-last-step.png) \ No newline at end of file diff --git a/img/elk/azure-nsg-inboundportsConfig.png b/img/elk/azure-nsg-inboundportsConfig.png new file mode 100644 index 0000000000000000000000000000000000000000..5a0371e669ac1a0f0e42cb99b8c160ca4060c224 GIT binary patch literal 17565 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 z≪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 ABme*a literal 0 HcmV?d00001 diff --git a/img/elk/create-vm-elk-azure-summary.png b/img/elk/create-vm-elk-azure-summary.png new file mode 100644 index 0000000000000000000000000000000000000000..b56ae5af31421331a1294471946ccd2544fd5115 GIT binary patch literal 81931 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Û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 z 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

|39nehMbK^YhJz1Mtx7AXyI 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 DhHR>Q literal 0 HcmV?d00001 diff --git a/img/elk/discover-kibana.png b/img/elk/discover-kibana.png new file mode 100644 index 0000000000000000000000000000000000000000..3977042c7e14e0cedc00a52b86d41d2279c25b92 GIT binary patch literal 62954 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 BH-G>D literal 0 HcmV?d00001 diff --git a/src/Services/Basket/Basket.API/appsettings.json b/src/Services/Basket/Basket.API/appsettings.json index babea8454..fb215cf56 100644 --- a/src/Services/Basket/Basket.API/appsettings.json +++ b/src/Services/Basket/Basket.API/appsettings.json @@ -1,7 +1,7 @@ { "Serilog": { "SeqServerUrl": null, - "LogstashgUrl":null, + "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Catalog/Catalog.API/appsettings.json b/src/Services/Catalog/Catalog.API/appsettings.json index ede3744dc..f56f4f3a8 100644 --- a/src/Services/Catalog/Catalog.API/appsettings.json +++ b/src/Services/Catalog/Catalog.API/appsettings.json @@ -4,7 +4,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, - "LogstashgUrl":null, + "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Identity/Identity.API/appsettings.json b/src/Services/Identity/Identity.API/appsettings.json index bcb9ce3f7..80dc3a50a 100644 --- a/src/Services/Identity/Identity.API/appsettings.json +++ b/src/Services/Identity/Identity.API/appsettings.json @@ -7,7 +7,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, - "LogstashgUrl":null, + "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Location/Locations.API/appsettings.json b/src/Services/Location/Locations.API/appsettings.json index 8cca61af2..619668c77 100644 --- a/src/Services/Location/Locations.API/appsettings.json +++ b/src/Services/Location/Locations.API/appsettings.json @@ -4,7 +4,7 @@ "IdentityUrl": "http://localhost:5105", "Serilog": { "SeqServerUrl": null, - "LogstashgUrl":null, + "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Marketing/Marketing.API/appsettings.json b/src/Services/Marketing/Marketing.API/appsettings.json index 7c015a8ca..6abeb89b9 100644 --- a/src/Services/Marketing/Marketing.API/appsettings.json +++ b/src/Services/Marketing/Marketing.API/appsettings.json @@ -1,7 +1,7 @@ { "Serilog": { "SeqServerUrl": null, - "LogstashgUrl":null, + "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Ordering/Ordering.API/appsettings.json b/src/Services/Ordering/Ordering.API/appsettings.json index ea87d5b07..4865d62b1 100644 --- a/src/Services/Ordering/Ordering.API/appsettings.json +++ b/src/Services/Ordering/Ordering.API/appsettings.json @@ -4,7 +4,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, - "LogstashgUrl":null, + "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json b/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json index 6f1e21d06..3f6239256 100644 --- a/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json +++ b/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json @@ -2,7 +2,7 @@ "ConnectionString": "Server=tcp:127.0.0.1,5433;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;", "Serilog": { "SeqServerUrl": null, - "LogstashgUrl":null, + "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Ordering/Ordering.SignalrHub/appsettings.json b/src/Services/Ordering/Ordering.SignalrHub/appsettings.json index 8360223cf..68efc2800 100644 --- a/src/Services/Ordering/Ordering.SignalrHub/appsettings.json +++ b/src/Services/Ordering/Ordering.SignalrHub/appsettings.json @@ -2,7 +2,7 @@ "IdentityUrl": "http://localhost:5105", "Serilog": { "SeqServerUrl": null, - "LogstashgUrl":null, + "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Payment/Payment.API/appsettings.json b/src/Services/Payment/Payment.API/appsettings.json index d7ec8301d..e47377a06 100644 --- a/src/Services/Payment/Payment.API/appsettings.json +++ b/src/Services/Payment/Payment.API/appsettings.json @@ -1,7 +1,7 @@ { "Serilog": { "SeqServerUrl": null, - "LogstashgUrl":null, + "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Web/WebMVC/appsettings.json b/src/Web/WebMVC/appsettings.json index 077fda891..ee80b8b9e 100644 --- a/src/Web/WebMVC/appsettings.json +++ b/src/Web/WebMVC/appsettings.json @@ -13,7 +13,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, - "LogstashgUrl":null, + "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Web/WebStatus/appsettings.json b/src/Web/WebStatus/appsettings.json index 82331d00b..efb2893ca 100644 --- a/src/Web/WebStatus/appsettings.json +++ b/src/Web/WebStatus/appsettings.json @@ -72,7 +72,7 @@ ], "Serilog": { "SeqServerUrl": null, - "LogstashgUrl":null, + "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", "MinimumLevel": { "Default": "Information", "Override": { From b449dd20120347a30be679015ada4084ecf12b4c Mon Sep 17 00:00:00 2001 From: jmanuelcorral Date: Fri, 22 Mar 2019 13:46:27 +0100 Subject: [PATCH 030/108] Updated pointing to ELK external service for testing and demo purposes, documentation update --- elk/Readme.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/elk/Readme.md b/elk/Readme.md index a393e4a29..dddeab3fd 100644 --- a/elk/Readme.md +++ b/elk/Readme.md @@ -38,5 +38,51 @@ This options it have a certified preconfigured options (Network, VirtualMachine ![](img/elk/create-vm-elk-azure-summary.png) -When you have configured the main aspects of your virtual machine, you will have a review&create last step like this: -![](img/elk/create-vm-elk-azure-last-step.png) \ No newline at end of file +When you have configured the main aspects of your virtual machine, you will have a "review & create" last step like this: +![](img/elk/create-vm-elk-azure-last-step.png) + +### Configuring the bitnami environment + + This virtual machine has a lot of configuration pipeing done. If you want to change something of the default configuration you can address this documentation: + [https://docs.bitnami.com/virtual-machine/apps/elk/get-started/](https://docs.bitnami.com/virtual-machine/apps/elk/get-started/) + + The only thing you have to change is the logstash configuration inside the machine. This configuration is at the file ```/opt/bitnami/logstash/conf/logstash.conf``` + You must edit the file and overwrite with this configuration: + ```conf + input { + http { + #default host 0.0.0.0:8080 + codec => json + } +} + +## Add your filters / logstash plugins configuration here +filter { + split { + field => "events" + target => "e" + remove_field => "events" + } +} + +output { + elasticsearch { + hosts => "elasticsearch:9200" + index=>"eshops-%{+xxxx.ww}" + } +} +``` + +For doing this you can connect via ssh to the vm and edit the file using the vi editor for example. +When the file will be edited, check there are Inbound Port Rules created for the logstash service. You can do it going to Networking Menu on your ELK Virtual Machine Resource in Azure. + +![](img/elk/azure-nsg-inboundportsConfig.png) + +The only thing that remains is to connect to your vm vía browser. And check the bitnami splash page is showing. + +![](img/elk/bitnami_splash.png) + +You can get the password for accessing going to your virtual machine in azure and check the boot diagnostics, theres a message that shows to you which is your password. + +When you have the user and password you can access to the kibana tool, and create the ```eshops-*``` index pattern that is well documented at the beggining of this documentation and then start to discover. +![](img/elk/) \ No newline at end of file From 0706c724ad1990d1b8d59c18a1ef1ad618ec4010 Mon Sep 17 00:00:00 2001 From: jmanuelcorral Date: Wed, 27 Mar 2019 15:58:57 +0100 Subject: [PATCH 031/108] Changed default logstashUrl to null --- src/Services/Basket/Basket.API/appsettings.json | 2 +- src/Services/Catalog/Catalog.API/appsettings.json | 2 +- src/Services/Identity/Identity.API/appsettings.json | 2 +- src/Services/Location/Locations.API/appsettings.json | 2 +- src/Services/Marketing/Marketing.API/appsettings.json | 2 +- src/Services/Ordering/Ordering.API/appsettings.json | 2 +- src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json | 2 +- src/Services/Ordering/Ordering.SignalrHub/appsettings.json | 2 +- src/Services/Payment/Payment.API/appsettings.json | 2 +- src/Web/WebMVC/appsettings.json | 2 +- src/Web/WebStatus/appsettings.json | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Services/Basket/Basket.API/appsettings.json b/src/Services/Basket/Basket.API/appsettings.json index fb215cf56..fc8fc544a 100644 --- a/src/Services/Basket/Basket.API/appsettings.json +++ b/src/Services/Basket/Basket.API/appsettings.json @@ -1,7 +1,7 @@ { "Serilog": { "SeqServerUrl": null, - "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", + "LogstashgUrl": null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Catalog/Catalog.API/appsettings.json b/src/Services/Catalog/Catalog.API/appsettings.json index f56f4f3a8..cc7b1b1fb 100644 --- a/src/Services/Catalog/Catalog.API/appsettings.json +++ b/src/Services/Catalog/Catalog.API/appsettings.json @@ -4,7 +4,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, - "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", + "LogstashgUrl": null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Identity/Identity.API/appsettings.json b/src/Services/Identity/Identity.API/appsettings.json index 80dc3a50a..2f05c2d1c 100644 --- a/src/Services/Identity/Identity.API/appsettings.json +++ b/src/Services/Identity/Identity.API/appsettings.json @@ -7,7 +7,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, - "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", + "LogstashgUrl": null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Location/Locations.API/appsettings.json b/src/Services/Location/Locations.API/appsettings.json index 619668c77..7fbe98b3e 100644 --- a/src/Services/Location/Locations.API/appsettings.json +++ b/src/Services/Location/Locations.API/appsettings.json @@ -4,7 +4,7 @@ "IdentityUrl": "http://localhost:5105", "Serilog": { "SeqServerUrl": null, - "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", + "LogstashgUrl": null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Marketing/Marketing.API/appsettings.json b/src/Services/Marketing/Marketing.API/appsettings.json index 6abeb89b9..d4a58cc8e 100644 --- a/src/Services/Marketing/Marketing.API/appsettings.json +++ b/src/Services/Marketing/Marketing.API/appsettings.json @@ -1,7 +1,7 @@ { "Serilog": { "SeqServerUrl": null, - "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", + "LogstashgUrl": null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Ordering/Ordering.API/appsettings.json b/src/Services/Ordering/Ordering.API/appsettings.json index 4865d62b1..f74c312b1 100644 --- a/src/Services/Ordering/Ordering.API/appsettings.json +++ b/src/Services/Ordering/Ordering.API/appsettings.json @@ -4,7 +4,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, - "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", + "LogstashgUrl": null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json b/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json index 3f6239256..51250be9d 100644 --- a/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json +++ b/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json @@ -2,7 +2,7 @@ "ConnectionString": "Server=tcp:127.0.0.1,5433;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;", "Serilog": { "SeqServerUrl": null, - "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", + "LogstashgUrl": null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Ordering/Ordering.SignalrHub/appsettings.json b/src/Services/Ordering/Ordering.SignalrHub/appsettings.json index 68efc2800..e43c354a3 100644 --- a/src/Services/Ordering/Ordering.SignalrHub/appsettings.json +++ b/src/Services/Ordering/Ordering.SignalrHub/appsettings.json @@ -2,7 +2,7 @@ "IdentityUrl": "http://localhost:5105", "Serilog": { "SeqServerUrl": null, - "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", + "LogstashgUrl": null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Services/Payment/Payment.API/appsettings.json b/src/Services/Payment/Payment.API/appsettings.json index e47377a06..a73471214 100644 --- a/src/Services/Payment/Payment.API/appsettings.json +++ b/src/Services/Payment/Payment.API/appsettings.json @@ -1,7 +1,7 @@ { "Serilog": { "SeqServerUrl": null, - "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", + "LogstashgUrl": null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Web/WebMVC/appsettings.json b/src/Web/WebMVC/appsettings.json index ee80b8b9e..96c75b932 100644 --- a/src/Web/WebMVC/appsettings.json +++ b/src/Web/WebMVC/appsettings.json @@ -13,7 +13,7 @@ "UseCustomizationData": false, "Serilog": { "SeqServerUrl": null, - "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", + "LogstashgUrl": null, "MinimumLevel": { "Default": "Information", "Override": { diff --git a/src/Web/WebStatus/appsettings.json b/src/Web/WebStatus/appsettings.json index d98f24c26..da478fe30 100644 --- a/src/Web/WebStatus/appsettings.json +++ b/src/Web/WebStatus/appsettings.json @@ -5,7 +5,7 @@ }, "Serilog": { "SeqServerUrl": null, - "LogstashgUrl": "http://elk-dev.northeurope.cloudapp.azure.com:8080", + "LogstashgUrl": null, "MinimumLevel": { "Default": "Information", "Override": { From a7c76f97a250f4fe54febbb8bac4ddc7c893aa16 Mon Sep 17 00:00:00 2001 From: Miguel Veloso Date: Thu, 28 Mar 2019 16:43:59 +0000 Subject: [PATCH 032/108] Simplify Enumeration and CardType classes as proposed in PR #704 --- .../BuyerAggregate/CardType.cs | 24 +++---------------- .../OrderAggregate/OrderStatus.cs | 4 ---- .../Ordering.Domain/SeedWork/Enumeration.cs | 3 --- 3 files changed, 3 insertions(+), 28 deletions(-) diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs index d6a92892c..3053cb678 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs @@ -9,31 +9,13 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.B public class CardType : Enumeration { - public static CardType Amex = new AmexCardType(); - public static CardType Visa = new VisaCardType(); - public static CardType MasterCard = new MasterCardType(); + public static CardType Amex = new CardType(1, "Amex"); + public static CardType Visa = new CardType(2, "Visa"); + public static CardType MasterCard = new CardType(3, "MasterCard"); public CardType(int id, string name) : base(id, name) { } - - private class AmexCardType : CardType - { - public AmexCardType() : base(1, "Amex") - { } - } - - private class VisaCardType : CardType - { - public VisaCardType() : base(2, "Visa") - { } - } - - private class MasterCardType : CardType - { - public MasterCardType() : base(3, "MasterCard") - { } - } } } diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs index 1716cc32d..19e62311a 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs @@ -16,10 +16,6 @@ public static OrderStatus Shipped = new OrderStatus(5, nameof(Shipped).ToLowerInvariant()); public static OrderStatus Cancelled = new OrderStatus(6, nameof(Cancelled).ToLowerInvariant()); - protected OrderStatus() - { - } - public OrderStatus(int id, string name) : base(id, name) { diff --git a/src/Services/Ordering/Ordering.Domain/SeedWork/Enumeration.cs b/src/Services/Ordering/Ordering.Domain/SeedWork/Enumeration.cs index a1e4c4c7e..d3e415df2 100644 --- a/src/Services/Ordering/Ordering.Domain/SeedWork/Enumeration.cs +++ b/src/Services/Ordering/Ordering.Domain/SeedWork/Enumeration.cs @@ -11,9 +11,6 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork public int Id { get; private set; } - protected Enumeration() - { } - protected Enumeration(int id, string name) { Id = id; From e809029e2cf4347142e36a95f9c13dd0f2e64997 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Thu, 28 Mar 2019 18:59:45 +0100 Subject: [PATCH 033/108] Final fixes to make it work under Devspaces --- .../templates/configmap.yaml | 3 +- .../templates/deployment.yaml | 4 +- .../Mobile.Bff.Marketing/apigw/azds.yaml | 5 +- .../Mobile.Bff.Shopping/aggregator/azds.yaml | 5 +- .../Mobile.Bff.Shopping/apigw/azds.yaml | 5 +- .../Web.Bff.Marketing/apigw/azds.yaml | 5 +- .../Web.Bff.Shopping/aggregator/azds.yaml | 5 +- .../Web.Bff.Shopping/apigw/azds.yaml | 6 +- src/Services/Basket/Basket.API/azds.yaml | 6 +- .../Controllers/CatalogController.cs | 9 +++ src/Services/Catalog/Catalog.API/azds.yaml | 6 +- src/Services/Identity/Identity.API/Startup.cs | 2 +- src/Services/Identity/Identity.API/azds.yaml | 6 +- src/Services/Location/Locations.API/azds.yaml | 6 +- .../Marketing/Marketing.API/azds.yaml | 6 +- src/Services/Ordering/Ordering.API/azds.yaml | 6 +- .../Dockerfile.develop | 18 ++++++ .../Ordering.BackgroundTasks/azds.yaml | 56 +++++++++++++++++++ .../Ordering.SignalrHub/Dockerfile.develop | 18 ++++++ .../Ordering/Ordering.SignalrHub/azds.yaml | 56 +++++++++++++++++++ src/Services/Payment/Payment.API/azds.yaml | 6 +- src/Services/Webhooks/Webhooks.API/azds.yaml | 6 +- src/Web/WebMVC/azds.yaml | 6 +- src/prepare-devspaces.ps1 | 6 ++ 24 files changed, 228 insertions(+), 29 deletions(-) create mode 100644 src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile.develop create mode 100644 src/Services/Ordering/Ordering.BackgroundTasks/azds.yaml create mode 100644 src/Services/Ordering/Ordering.SignalrHub/Dockerfile.develop create mode 100644 src/Services/Ordering/Ordering.SignalrHub/azds.yaml diff --git a/k8s/helm/ordering-backgroundtasks/templates/configmap.yaml b/k8s/helm/ordering-backgroundtasks/templates/configmap.yaml index 54fec785b..23041d4ac 100644 --- a/k8s/helm/ordering-backgroundtasks/templates/configmap.yaml +++ b/k8s/helm/ordering-backgroundtasks/templates/configmap.yaml @@ -1,10 +1,11 @@ {{- $name := include "ordering-backgroundtasks.fullname" . -}} {{- $sqlsrv := include "sql-name" . -}} +{{- $cfgname := printf "cfg-%s" $name | trunc 63 }} apiVersion: v1 kind: ConfigMap metadata: - name: "cfg-{{ $name }}" + name: "{{ $cfgname }}" labels: app: {{ template "ordering-backgroundtasks.name" . }} chart: {{ template "ordering-backgroundtasks.chart" .}} diff --git a/k8s/helm/ordering-backgroundtasks/templates/deployment.yaml b/k8s/helm/ordering-backgroundtasks/templates/deployment.yaml index 017f9f3dd..d93c7f764 100644 --- a/k8s/helm/ordering-backgroundtasks/templates/deployment.yaml +++ b/k8s/helm/ordering-backgroundtasks/templates/deployment.yaml @@ -1,11 +1,11 @@ {{- $name := include "ordering-backgroundtasks.fullname" . -}} -{{- $cfgname := printf "%s-%s" "cfg" $name -}} +{{- $cfgname := printf "cfg-%s" $name | trunc 63 }} + apiVersion: apps/v1beta2 kind: Deployment metadata: name: {{ template "ordering-backgroundtasks.fullname" . }} labels: - ufo: {{ $cfgname}} app: {{ template "ordering-backgroundtasks.name" . }} chart: {{ template "ordering-backgroundtasks.chart" . }} release: {{ .Release.Name }} diff --git a/src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml b/src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml index 1dc21a9f1..46375343b 100644 --- a/src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml +++ b/src/ApiGateways/Mobile.Bff.Marketing/apigw/azds.yaml @@ -15,7 +15,10 @@ install: kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]webmvc...aksapp.io - - $(spacePrefix)apigwmm$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml index b4ffe0e20..8dbac7128 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/azds.yaml @@ -14,7 +14,10 @@ install: kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]apigwms...aksapp.io - - $(spacePrefix)mobileshoppingagg$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml b/src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml index 01a2e36d1..9e2d09e42 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml +++ b/src/ApiGateways/Mobile.Bff.Shopping/apigw/azds.yaml @@ -15,7 +15,10 @@ install: kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]webmvc...aksapp.io - - $(spacePrefix)apigwms$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml b/src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml index a0972d1f4..8f60cbcc7 100644 --- a/src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml +++ b/src/ApiGateways/Web.Bff.Marketing/apigw/azds.yaml @@ -15,7 +15,10 @@ install: kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]webmvc...aksapp.io - - $(spacePrefix)apigwwm$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/azds.yaml b/src/ApiGateways/Web.Bff.Shopping/aggregator/azds.yaml index 63bb14c94..189d2261d 100644 --- a/src/ApiGateways/Web.Bff.Shopping/aggregator/azds.yaml +++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/azds.yaml @@ -14,7 +14,10 @@ install: kubernetes.io/ingress.class: traefik-azds hosts: # This expands to [space.s.]apigwms...aksapp.io - - $(spacePrefix)webshoppingagg$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/ApiGateways/Web.Bff.Shopping/apigw/azds.yaml b/src/ApiGateways/Web.Bff.Shopping/apigw/azds.yaml index 3aff7a62b..69f26cdca 100644 --- a/src/ApiGateways/Web.Bff.Shopping/apigw/azds.yaml +++ b/src/ApiGateways/Web.Bff.Shopping/apigw/azds.yaml @@ -14,8 +14,10 @@ install: annotations: kubernetes.io/ingress.class: traefik-azds hosts: - # This expands to [space.s.]webmvc...aksapp.io - - $(spacePrefix)apigwws$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/Services/Basket/Basket.API/azds.yaml b/src/Services/Basket/Basket.API/azds.yaml index 79baa83db..4fbbb7be4 100644 --- a/src/Services/Basket/Basket.API/azds.yaml +++ b/src/Services/Basket/Basket.API/azds.yaml @@ -14,8 +14,10 @@ install: annotations: kubernetes.io/ingress.class: traefik-azds hosts: - # This expands to [space.s.]basketapi...aksapp.io - - $(spacePrefix)basketapi$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/Services/Catalog/Catalog.API/Controllers/CatalogController.cs b/src/Services/Catalog/Catalog.API/Controllers/CatalogController.cs index d9fa4002e..5dfb10a96 100644 --- a/src/Services/Catalog/Catalog.API/Controllers/CatalogController.cs +++ b/src/Services/Catalog/Catalog.API/Controllers/CatalogController.cs @@ -60,6 +60,15 @@ namespace Microsoft.eShopOnContainers.Services.Catalog.API.Controllers .Take(pageSize) .ToListAsync(); + /* The "awesome" fix for testing Devspaces */ + + /* + foreach (var pr in itemsOnPage) { + pr.Name = "Awesome " + pr.Name; + } + + */ + itemsOnPage = ChangeUriPlaceholder(itemsOnPage); var model = new PaginatedItemsViewModel(pageIndex, pageSize, totalItems, itemsOnPage); diff --git a/src/Services/Catalog/Catalog.API/azds.yaml b/src/Services/Catalog/Catalog.API/azds.yaml index 2d24ce49d..9f98a3793 100644 --- a/src/Services/Catalog/Catalog.API/azds.yaml +++ b/src/Services/Catalog/Catalog.API/azds.yaml @@ -13,8 +13,10 @@ install: annotations: kubernetes.io/ingress.class: traefik-azds hosts: - # This expands to [space.s.]catalogapi...aksapp.io - - $(spacePrefix)catalogapi$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/Services/Identity/Identity.API/Startup.cs b/src/Services/Identity/Identity.API/Startup.cs index 9f83c6128..2848dd6b2 100644 --- a/src/Services/Identity/Identity.API/Startup.cs +++ b/src/Services/Identity/Identity.API/Startup.cs @@ -86,7 +86,7 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API x.IssuerUri = "null"; x.Authentication.CookieLifetime = TimeSpan.FromHours(2); }) - .AddDevspacesIfNeeded(Configuration.GetValue("UseDevspaces", false)) + .AddDevspacesIfNeeded(Configuration.GetValue("EnableDevspaces", false)) .AddSigningCredential(Certificate.Get()) .AddAspNetIdentity() .AddConfigurationStore(options => diff --git a/src/Services/Identity/Identity.API/azds.yaml b/src/Services/Identity/Identity.API/azds.yaml index 117a3f6ae..0c47aab13 100644 --- a/src/Services/Identity/Identity.API/azds.yaml +++ b/src/Services/Identity/Identity.API/azds.yaml @@ -14,8 +14,10 @@ install: annotations: kubernetes.io/ingress.class: traefik-azds hosts: - # This expands to [space.s.]identity...aksapp.io - - $(spacePrefix)identity-api$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/Services/Location/Locations.API/azds.yaml b/src/Services/Location/Locations.API/azds.yaml index f528f62cd..e86a09927 100644 --- a/src/Services/Location/Locations.API/azds.yaml +++ b/src/Services/Location/Locations.API/azds.yaml @@ -14,8 +14,10 @@ install: annotations: kubernetes.io/ingress.class: traefik-azds hosts: - # This expands to [space.s.]identity...aksapp.io - - $(spacePrefix)locations-api$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/Services/Marketing/Marketing.API/azds.yaml b/src/Services/Marketing/Marketing.API/azds.yaml index b3f82709c..5d6418f83 100644 --- a/src/Services/Marketing/Marketing.API/azds.yaml +++ b/src/Services/Marketing/Marketing.API/azds.yaml @@ -14,8 +14,10 @@ install: annotations: kubernetes.io/ingress.class: traefik-azds hosts: - # This expands to [space.s.]identity...aksapp.io - - $(spacePrefix)marketing-api$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/Services/Ordering/Ordering.API/azds.yaml b/src/Services/Ordering/Ordering.API/azds.yaml index 39f2477b0..77398a0a8 100644 --- a/src/Services/Ordering/Ordering.API/azds.yaml +++ b/src/Services/Ordering/Ordering.API/azds.yaml @@ -14,8 +14,10 @@ install: annotations: kubernetes.io/ingress.class: traefik-azds hosts: - # This expands to [space.s.]orderingapi...aksapp.io - - $(spacePrefix)orderingapi$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile.develop b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile.develop new file mode 100644 index 000000000..5f5d002db --- /dev/null +++ b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile.develop @@ -0,0 +1,18 @@ +FROM microsoft/dotnet:2.2-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src +COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] +COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] +COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] +COPY ["src/Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj", "src/Services/Ordering/Ordering.BackgroundTasks/"] + +RUN dotnet restore src/Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj +COPY . . +WORKDIR /src/src/Services/Ordering/Ordering.BackgroundTasks +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION + +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] \ No newline at end of file diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/azds.yaml b/src/Services/Ordering/Ordering.BackgroundTasks/azds.yaml new file mode 100644 index 000000000..e92eca09f --- /dev/null +++ b/src/Services/Ordering/Ordering.BackgroundTasks/azds.yaml @@ -0,0 +1,56 @@ +kind: helm-release +apiVersion: 1.1 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: ../../../../k8s/helm/ordering-backgroundtasks + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds + hosts: + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml +configurations: + develop: + build: + useGitIgnore: true + dockerfile: Dockerfile.develop + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${BUILD_CONFIGURATION:-Debug} + iterate: + processesToKill: + - dotnet + - vsdbg + buildCommands: + - - dotnet + - build + - --no-restore + - -c + - ${BUILD_CONFIGURATION:-Debug} diff --git a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile.develop b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile.develop new file mode 100644 index 000000000..d96223149 --- /dev/null +++ b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile.develop @@ -0,0 +1,18 @@ +FROM microsoft/dotnet:2.2-sdk +ARG BUILD_CONFIGURATION=Debug +ENV ASPNETCORE_ENVIRONMENT=Development +ENV DOTNET_USE_POLLING_FILE_WATCHER=true +EXPOSE 80 + +WORKDIR /src +COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] +COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] +COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] +COPY ["src/Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj", "src/Services/Ordering/Ordering.SignalrHub/"] + +RUN dotnet restore src/Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj +COPY . . +WORKDIR /src/src/Services/Ordering/Ordering.SignalrHub +RUN dotnet build --no-restore -c $BUILD_CONFIGURATION + +ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"] \ No newline at end of file diff --git a/src/Services/Ordering/Ordering.SignalrHub/azds.yaml b/src/Services/Ordering/Ordering.SignalrHub/azds.yaml new file mode 100644 index 000000000..a98526394 --- /dev/null +++ b/src/Services/Ordering/Ordering.SignalrHub/azds.yaml @@ -0,0 +1,56 @@ +kind: helm-release +apiVersion: 1.1 +build: + context: ..\..\..\.. + dockerfile: Dockerfile +install: + chart: ../../../../k8s/helm/ordering-signalrhub + set: + replicaCount: 1 + image: + tag: $(tag) + pullPolicy: Never + ingress: + annotations: + kubernetes.io/ingress.class: traefik-azds + hosts: + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) + values: + - values.dev.yaml? + - secrets.dev.yaml? + - inf.yaml + - app.yaml +configurations: + develop: + build: + useGitIgnore: true + dockerfile: Dockerfile.develop + args: + BUILD_CONFIGURATION: ${BUILD_CONFIGURATION:-Debug} + container: + sync: + - '**/Pages/**' + - '**/Views/**' + - '**/wwwroot/**' + - '!**/*.{sln,csproj}' + command: + - dotnet + - run + - --no-restore + - --no-build + - --no-launch-profile + - -c + - ${BUILD_CONFIGURATION:-Debug} + iterate: + processesToKill: + - dotnet + - vsdbg + buildCommands: + - - dotnet + - build + - --no-restore + - -c + - ${BUILD_CONFIGURATION:-Debug} diff --git a/src/Services/Payment/Payment.API/azds.yaml b/src/Services/Payment/Payment.API/azds.yaml index a3e434ca2..2536d4371 100644 --- a/src/Services/Payment/Payment.API/azds.yaml +++ b/src/Services/Payment/Payment.API/azds.yaml @@ -14,8 +14,10 @@ install: annotations: kubernetes.io/ingress.class: traefik-azds hosts: - # This expands to [space.s.]paymentapi...aksapp.io - - $(spacePrefix)paymentapi$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/Services/Webhooks/Webhooks.API/azds.yaml b/src/Services/Webhooks/Webhooks.API/azds.yaml index f9d63ff21..38dfe92a2 100644 --- a/src/Services/Webhooks/Webhooks.API/azds.yaml +++ b/src/Services/Webhooks/Webhooks.API/azds.yaml @@ -13,8 +13,10 @@ install: annotations: kubernetes.io/ingress.class: traefik-azds hosts: - # This expands to [space.s.]webhooksapi...aksapp.io - - $(spacePrefix)webhooksapi$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/Web/WebMVC/azds.yaml b/src/Web/WebMVC/azds.yaml index 5c95c50ee..a9c3ed3ba 100644 --- a/src/Web/WebMVC/azds.yaml +++ b/src/Web/WebMVC/azds.yaml @@ -14,8 +14,10 @@ install: annotations: kubernetes.io/ingress.class: traefik-azds hosts: - # This expands to [space.s.]webmvc...aksapp.io - - $(spacePrefix)webmvc$(hostSuffix) + - $(spacePrefix)eshop$(hostSuffix) + inf: + k8s: + dns: $(spacePrefix)eshop$(hostSuffix) values: - values.dev.yaml? - secrets.dev.yaml? diff --git a/src/prepare-devspaces.ps1 b/src/prepare-devspaces.ps1 index 14b1cc6d1..5b692e908 100644 --- a/src/prepare-devspaces.ps1 +++ b/src/prepare-devspaces.ps1 @@ -49,6 +49,12 @@ Write-Host "Copying app.yaml and inf.yaml to Ordering API" -ForegroundColor Yell Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Ordering\Ordering.API" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Ordering\Ordering.API" -Force +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Ordering\Ordering.SignalrHub" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Ordering\Ordering.SignalrHub" -Force + +Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Ordering\Ordering.BackgroundTasks" -Force +Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Ordering\Ordering.BackgroundTasks" -Force + Write-Host "Copying app.yaml and inf.yaml to Payment API" -ForegroundColor Yellow Copy-Item "..\k8s\helm\app.yaml" -Destination ".\Services\Payment\Payment.API" -Force Copy-Item "..\k8s\helm\inf.yaml" -Destination ".\Services\Payment\Payment.API" -Force From 468f117df53f849dafebf513d94b7486e8905293 Mon Sep 17 00:00:00 2001 From: Miguel Veloso Date: Thu, 28 Mar 2019 18:22:15 +0000 Subject: [PATCH 034/108] Remove test class for MVC project --- .../Application/OrderControllerTest.cs | 86 ------------------- .../Ordering.UnitTests.csproj | 1 - 2 files changed, 87 deletions(-) delete mode 100644 src/Services/Ordering/Ordering.UnitTests/Application/OrderControllerTest.cs diff --git a/src/Services/Ordering/Ordering.UnitTests/Application/OrderControllerTest.cs b/src/Services/Ordering/Ordering.UnitTests/Application/OrderControllerTest.cs deleted file mode 100644 index a60ce3bb3..000000000 --- a/src/Services/Ordering/Ordering.UnitTests/Application/OrderControllerTest.cs +++ /dev/null @@ -1,86 +0,0 @@ -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc; -using Microsoft.eShopOnContainers.WebMVC.Controllers; -using Microsoft.eShopOnContainers.WebMVC.Services; -using Microsoft.eShopOnContainers.WebMVC.ViewModels; -using Moq; -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Xunit; -using BasketModel = Microsoft.eShopOnContainers.WebMVC.ViewModels.Basket; - -namespace UnitTest.Ordering.Application -{ - public class OrderControllerTest - { - private readonly Mock _orderServiceMock; - private readonly Mock _basketServiceMock; - private readonly Mock> _identityParserMock; - private readonly Mock _contextMock; - - public OrderControllerTest() - { - _orderServiceMock = new Mock(); - _basketServiceMock = new Mock(); - _identityParserMock = new Mock>(); - _contextMock = new Mock(); - } - - [Fact] - public async Task Get_order_list_success() - { - //Arrange - var expectedTotalResults = 1; - var fakeOrder = GetFakeOrder(); - - _orderServiceMock.Setup(x => x.GetMyOrders(It.IsAny())) - .Returns(Task.FromResult(new List() { fakeOrder })); - - //Act - var orderController = new OrderController(_orderServiceMock.Object, _basketServiceMock.Object, _identityParserMock.Object); - orderController.ControllerContext.HttpContext = _contextMock.Object; - var actionResult = await orderController.Index(fakeOrder); - - //Assert - var viewResult = Assert.IsType(actionResult); - var model = Assert.IsAssignableFrom>(viewResult.ViewData.Model); - Assert.Equal(model.Count, expectedTotalResults); - } - - [Fact] - public async Task Get_order_detail_success() - { - //Arrange - var fakeOrderId = "12"; - var fakeOrder = GetFakeOrder(); - - _orderServiceMock.Setup(x => x.GetOrder(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(fakeOrder)); - - //Act - var orderController = new OrderController(_orderServiceMock.Object, _basketServiceMock.Object, _identityParserMock.Object); - orderController.ControllerContext.HttpContext = _contextMock.Object; - var actionResult = await orderController.Detail(fakeOrderId); - - //Assert - var viewResult = Assert.IsType(actionResult); - Assert.IsAssignableFrom(viewResult.ViewData.Model); - } - - - - private Order GetFakeOrder() - { - return new Order() - { - OrderNumber = "1", - CardNumber = "12", - CardSecurityNumber = "1212", - Status = "Pending", - RequestId = Guid.NewGuid(), - CardExpiration = DateTime.Now.AddYears(1), - }; - } - } -} diff --git a/src/Services/Ordering/Ordering.UnitTests/Ordering.UnitTests.csproj b/src/Services/Ordering/Ordering.UnitTests/Ordering.UnitTests.csproj index 6a3d3c284..e94aae4f1 100644 --- a/src/Services/Ordering/Ordering.UnitTests/Ordering.UnitTests.csproj +++ b/src/Services/Ordering/Ordering.UnitTests/Ordering.UnitTests.csproj @@ -19,7 +19,6 @@ - From a962ac4c224cbaa899d0e61a6d975c91d984f354 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Fri, 29 Mar 2019 10:58:13 +0100 Subject: [PATCH 035/108] removing uneeded files --- docker-scripts/linux/install-node.sh | 8 -------- docker-scripts/win/install-node.cmd | 4 ---- 2 files changed, 12 deletions(-) delete mode 100644 docker-scripts/linux/install-node.sh delete mode 100644 docker-scripts/win/install-node.cmd diff --git a/docker-scripts/linux/install-node.sh b/docker-scripts/linux/install-node.sh deleted file mode 100644 index 73407aae9..000000000 --- a/docker-scripts/linux/install-node.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -export NODE_DOWNLOAD_SHA 0e20787e2eda4cc31336d8327556ebc7417e8ee0a6ba0de96a09b0ec2b841f60 -curl -SL "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz" --output nodejs.tar.gz \ - && echo "$NODE_DOWNLOAD_SHA nodejs.tar.gz" | sha256sum -c - \ - && tar -xzf "nodejs.tar.gz" -C /usr/local --strip-components=1 \ - && rm nodejs.tar.gz \ - && ln -s /usr/local/bin/node /usr/local/bin/nodejs diff --git a/docker-scripts/win/install-node.cmd b/docker-scripts/win/install-node.cmd deleted file mode 100644 index eaa4e356c..000000000 --- a/docker-scripts/win/install-node.cmd +++ /dev/null @@ -1,4 +0,0 @@ -set NODE_VERSION=8.11.1 -curl -SL "https://nodejs.org/dist/v%NODE_VERSION%/node-v%NODE_VERSION%-win-x64.zip" --output nodejs.zip -tar -xf nodejs.zip -C c:\ -setx PATH "%PATH%;c:\node-v%NODE_VERSION%-win-x64" \ No newline at end of file From 7166773a7e3e962a22f97275a9b7c9c30bd567e8 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Fri, 29 Mar 2019 12:26:54 +0100 Subject: [PATCH 036/108] compose for put linux and win in tag --- docker-compose.yml | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 2a0448bad..8c523e122 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,7 +18,7 @@ services: image: rabbitmq:3-management-alpine identity.api: - image: ${REGISTRY:-eshop}/identity.api:${TAG:-latest} + image: ${REGISTRY:-eshop}/identity.api:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Services/Identity/Identity.API/Dockerfile @@ -26,7 +26,7 @@ services: - sql.data basket.api: - image: ${REGISTRY:-eshop}/basket.api:${TAG:-latest} + image: ${REGISTRY:-eshop}/basket.api:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Services/Basket/Basket.API/Dockerfile @@ -36,7 +36,7 @@ services: - rabbitmq catalog.api: - image: ${REGISTRY:-eshop}/catalog.api:${TAG:-latest} + image: ${REGISTRY:-eshop}/catalog.api:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Services/Catalog/Catalog.API/Dockerfile @@ -45,7 +45,7 @@ services: - rabbitmq ordering.api: - image: ${REGISTRY:-eshop}/ordering.api:${TAG:-latest} + image: ${REGISTRY:-eshop}/ordering.api:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Services/Ordering/Ordering.API/Dockerfile @@ -54,7 +54,7 @@ services: - rabbitmq ordering.backgroundtasks: - image: ${REGISTRY:-eshop}/ordering.backgroundtasks:${TAG:-latest} + image: ${REGISTRY:-eshop}/ordering.backgroundtasks:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile @@ -63,7 +63,7 @@ services: - rabbitmq marketing.api: - image: ${REGISTRY:-eshop}/marketing.api:${TAG:-latest} + image: ${REGISTRY:-eshop}/marketing.api:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Services/Marketing/Marketing.API/Dockerfile @@ -74,7 +74,7 @@ services: - rabbitmq payment.api: - image: ${REGISTRY:-eshop}/payment.api:${TAG:-latest} + image: ${REGISTRY:-eshop}/payment.api:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Services/Payment/Payment.API/Dockerfile @@ -82,7 +82,7 @@ services: - rabbitmq locations.api: - image: ${REGISTRY:-eshop}/locations.api:${TAG:-latest} + image: ${REGISTRY:-eshop}/locations.api:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Services/Location/Locations.API/Dockerfile @@ -91,7 +91,7 @@ services: - rabbitmq webhooks.api: - image: ${REGISTRY:-eshop}/webhooks.api:${TAG:-latest} + image: ${REGISTRY:-eshop}/webhooks.api:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Services/Webhooks/Webhooks.API/Dockerfile @@ -99,7 +99,7 @@ services: - sql.data mobileshoppingapigw: - image: ${REGISTRY:-eshop}/ocelotapigw:${TAG:-latest} + image: ${REGISTRY:-eshop}/ocelotapigw:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/ApiGateways/ApiGw-Base/Dockerfile @@ -114,7 +114,7 @@ services: - basket.api mobilemarketingapigw: - image: ${REGISTRY:-eshop}/ocelotapigw:${TAG:-latest} + image: ${REGISTRY:-eshop}/ocelotapigw:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/ApiGateways/ApiGw-Base/Dockerfile @@ -129,7 +129,7 @@ services: - basket.api webshoppingapigw: - image: ${REGISTRY:-eshop}/ocelotapigw:${TAG:-latest} + image: ${REGISTRY:-eshop}/ocelotapigw:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/ApiGateways/ApiGw-Base/Dockerfile @@ -144,7 +144,7 @@ services: - basket.api webmarketingapigw: - image: ${REGISTRY:-eshop}/ocelotapigw:${TAG:-latest} + image: ${REGISTRY:-eshop}/ocelotapigw:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/ApiGateways/ApiGw-Base/Dockerfile @@ -159,7 +159,7 @@ services: - basket.api mobileshoppingagg: - image: ${REGISTRY:-eshop}/mobileshoppingagg:${TAG:-latest} + image: ${REGISTRY:-eshop}/mobileshoppingagg:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile @@ -174,7 +174,7 @@ services: - basket.api webshoppingagg: - image: ${REGISTRY:-eshop}/webshoppingagg:${TAG:-latest} + image: ${REGISTRY:-eshop}/webshoppingagg:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile @@ -189,7 +189,7 @@ services: - basket.api ordering.signalrhub: - image: ${REGISTRY:-eshop}/ordering.signalrhub:${TAG:-latest} + image: ${REGISTRY:-eshop}/ordering.signalrhub:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Services/Ordering/Ordering.SignalrHub/Dockerfile @@ -204,13 +204,13 @@ services: - basket.api webstatus: - image: ${REGISTRY:-eshop}/webstatus:${TAG:-latest} + image: ${REGISTRY:-eshop}/webstatus:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Web/WebStatus/Dockerfile webspa: - image: ${REGISTRY:-eshop}/webspa:${TAG:-latest} + image: ${REGISTRY:-eshop}/webspa:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Web/WebSPA/Dockerfile @@ -220,7 +220,7 @@ services: # - webmarketingapigw webmvc: - image: ${REGISTRY:-eshop}/webmvc:${TAG:-latest} + image: ${REGISTRY:-eshop}/webmvc:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Web/WebMVC/Dockerfile @@ -230,7 +230,7 @@ services: - webmarketingapigw webhooks.client: - image: ${REGISTRY:-eshop}/webhooks.client:${TAG:-latest} + image: ${REGISTRY:-eshop}/webhooks.client:${PLATFORM:-linux}-${TAG:-latest} build: context: . dockerfile: src/Web/WebhookClient/Dockerfile From 8ef234a9608c0d93f51e468af52a6aa2a9f34139 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Fri, 29 Mar 2019 13:54:20 +0100 Subject: [PATCH 037/108] PS1 for creating multiarch manifests --- .../multiarch-manifests/create-manifests.ps1 | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 build/multiarch-manifests/create-manifests.ps1 diff --git a/build/multiarch-manifests/create-manifests.ps1 b/build/multiarch-manifests/create-manifests.ps1 new file mode 100644 index 000000000..cc7f05194 --- /dev/null +++ b/build/multiarch-manifests/create-manifests.ps1 @@ -0,0 +1,26 @@ +Param( + [parameter(Mandatory=$true)][string]$registry +) + +if ([String]::IsNullOrEmpty($registry)) { + Write-Host "Registry must be set to docker registry to use" -ForegroundColor Red + exit 1 +} + +Write-Host "This script creates the local manifests, for pushing the multi-arch manifests" -ForegroundColor Yellow +Write-Host "Tags used are linux-master, win-master, linux-dev, win-dev, linux-latest, win-latest" -ForegroundColor Yellow +Write-Host "Multiarch images tags will be master, dev, latest" -ForegroundColor Yellow + + +$services = "identity.api", "basket.api", "catalog.api", "ordering.api", "ordering.backgroundtasks", "marketing.api", "payment.api", "locations.api", "webhooks.api", "ocelotapigw", "mobileshoppingagg", "webshoppingagg", "ordering.signalrhub", "webstatus", "webspa", "webmvc", "webhooks.client" + +foreach ($svc in $services) { + Write-Host "Creating manifest for $svc and tags :latest, :master, and :dev" + docker manifest create $registry/${svc}:master $registry/${svc}:linux-master $registry/${svc}:win-master + docker manifest create $registry/${svc}:dev $registry/${svc}:linux-dev $registry/${svc}:win-dev + docker manifest create $registry/${svc}:latest $registry/${svc}:linux-latest $registry/${svc}:win-latest + Write-Host "Pushing manifest for $svc and tags :latest, :master, and :dev" + docker manifest push $registry/${svc}:latest + docker manifest push $registry/${svc}:dev + docker manifest push $registry/${svc}:master +} \ No newline at end of file From dea042b3da2de661f00ec3abc71408e22d35da65 Mon Sep 17 00:00:00 2001 From: Ratan Sunder Parai Date: Mon, 1 Apr 2019 22:13:45 +0600 Subject: [PATCH 038/108] fix markdown headers --- src/Services/Identity/Identity.API/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Services/Identity/Identity.API/README.md b/src/Services/Identity/Identity.API/README.md index 76e599dea..ffaaed531 100644 --- a/src/Services/Identity/Identity.API/README.md +++ b/src/Services/Identity/Identity.API/README.md @@ -2,10 +2,10 @@ Sample reference containerized application, cross-platform and microservices architecture. Powered by Microsoft -#Overview +## Overview This sample runs a microservices oriented application and a .net core Mvc application that consumes this services. You can find more information about how to set up docker in your machine in the global directory solution. -#Setup +## Setup This service is a identity provider or STS (Security Token Service) currently implemented with IdentityServer 4 wrapping ASP.NET Identity underneath. Check procedures on how to get the sample app started at the Wiki: From a10d9fb663606336962d0e48871ebd194f9394d8 Mon Sep 17 00:00:00 2001 From: rafsanulhasan Date: Tue, 2 Apr 2019 15:57:04 +0600 Subject: [PATCH 039/108] fix typo --- src/Services/Catalog/Catalog.API/Model/CatalogItem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Services/Catalog/Catalog.API/Model/CatalogItem.cs b/src/Services/Catalog/Catalog.API/Model/CatalogItem.cs index 459c60098..2e4579f7f 100644 --- a/src/Services/Catalog/Catalog.API/Model/CatalogItem.cs +++ b/src/Services/Catalog/Catalog.API/Model/CatalogItem.cs @@ -64,7 +64,7 @@ namespace Microsoft.eShopOnContainers.Services.Catalog.API.Model if (quantityDesired <= 0) { - throw new CatalogDomainException($"Item units desired should be greater than cero"); + throw new CatalogDomainException($"Item units desired should be greater than zero"); } int removed = Math.Min(quantityDesired, this.AvailableStock); From 12017dd8b752c845fed2d9673b5cee62c23e6b08 Mon Sep 17 00:00:00 2001 From: rafsanulhasan Date: Tue, 2 Apr 2019 15:58:58 +0600 Subject: [PATCH 040/108] Add launch settings on each project to ignore change when the project is opened --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 69800e3b7..1049a8400 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,9 @@ # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs +# Project Launch Settings +Properties/launchSettings.json + # Build results [Dd]ebug/ [Dd]ebugPublic/ From 641982a5ab5ad2d8c228d7865ec6af6a15257413 Mon Sep 17 00:00:00 2001 From: rafsanulhasan Date: Tue, 2 Apr 2019 17:54:43 +0600 Subject: [PATCH 041/108] correct typo --- .../Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs index 99b3154d8..7da025d3a 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs @@ -132,7 +132,7 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.O AddDomainEvent(new OrderStatusChangedToPaidDomainEvent(Id, OrderItems)); _orderStatusId = OrderStatus.Paid.Id; - _description = "The payment was performed at a simulated \"American Bank checking bank account endinf on XX35071\""; + _description = "The payment was performed at a simulated \"American Bank checking bank account ending on XX35071\""; } } From c48962202965a72c5f2372410914adf96d2ff0dc Mon Sep 17 00:00:00 2001 From: rafsanulhasan Date: Tue, 2 Apr 2019 18:47:47 +0600 Subject: [PATCH 042/108] Removed Microsoft.Web.LibraryManager.Build NuGet package --- src/Services/Identity/Identity.API/Identity.API.csproj | 1 - src/Web/WebMVC/WebMVC.csproj | 3 +-- src/Web/WebStatus/WebStatus.csproj | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Services/Identity/Identity.API/Identity.API.csproj b/src/Services/Identity/Identity.API/Identity.API.csproj index 728843f71..ea4bcc0ce 100644 --- a/src/Services/Identity/Identity.API/Identity.API.csproj +++ b/src/Services/Identity/Identity.API/Identity.API.csproj @@ -28,7 +28,6 @@ - diff --git a/src/Web/WebMVC/WebMVC.csproj b/src/Web/WebMVC/WebMVC.csproj index 6f466d730..910577d8e 100644 --- a/src/Web/WebMVC/WebMVC.csproj +++ b/src/Web/WebMVC/WebMVC.csproj @@ -31,10 +31,9 @@ - + - diff --git a/src/Web/WebStatus/WebStatus.csproj b/src/Web/WebStatus/WebStatus.csproj index e66f0a211..2b5a29b68 100644 --- a/src/Web/WebStatus/WebStatus.csproj +++ b/src/Web/WebStatus/WebStatus.csproj @@ -22,7 +22,6 @@ - From 8dc243accc2ec008692fa2fd9cdce6497b030629 Mon Sep 17 00:00:00 2001 From: rafsanulhasan Date: Tue, 2 Apr 2019 19:09:13 +0600 Subject: [PATCH 043/108] changed Razor Syntaxes to Tag Helpers --- .../Identity/Identity.API/Views/Consent/Index.cshtml | 6 +++--- src/Web/WebMVC/Views/Campaigns/Details.cshtml | 7 ++++--- src/Web/WebMVC/Views/Campaigns/Index.cshtml | 11 ++++++----- src/Web/WebMVC/Views/Cart/Index.cshtml | 7 ++++--- src/Web/WebMVC/Views/Catalog/Index.cshtml | 6 +++--- src/Web/WebMVC/Views/Order/Create.cshtml | 7 ++++--- src/Web/WebMVC/Views/Order/Detail.cshtml | 7 ++++--- src/Web/WebMVC/Views/Order/Index.cshtml | 11 ++++++----- src/Web/WebMVC/Views/OrderManagement/Index.cshtml | 7 ++++--- 9 files changed, 38 insertions(+), 31 deletions(-) diff --git a/src/Services/Identity/Identity.API/Views/Consent/Index.cshtml b/src/Services/Identity/Identity.API/Views/Consent/Index.cshtml index 03f026bda..08c316553 100644 --- a/src/Services/Identity/Identity.API/Views/Consent/Index.cshtml +++ b/src/Services/Identity/Identity.API/Views/Consent/Index.cshtml @@ -16,7 +16,7 @@
- @Html.Partial("_ValidationSummary") +
@@ -49,7 +49,7 @@
    @foreach (var scope in Model.ResourceScopes) { - @Html.Partial("_ScopeListItem", scope) + }
diff --git a/src/Web/WebMVC/Views/Campaigns/Details.cshtml b/src/Web/WebMVC/Views/Campaigns/Details.cshtml index df3b600e1..979a6bce6 100644 --- a/src/Web/WebMVC/Views/Campaigns/Details.cshtml +++ b/src/Web/WebMVC/Views/Campaigns/Details.cshtml @@ -1,6 +1,9 @@ @{ ViewData["Title"] = "Campaign details"; @model CampaignItem + var headerList= new List
() { + new Header() { Controller = "Catalog", Text = "Back to catalog" }, + new Header() { Controller = "Campaigns", Text = "Back to Campaigns" } }; }
@@ -8,9 +11,7 @@
-@Html.Partial("_Header", new List
() { - new Header() { Controller = "Catalog", Text = "Back to catalog" }, - new Header() { Controller = "Campaigns", Text = "Back to Campaigns" } }) +
diff --git a/src/Web/WebMVC/Views/Campaigns/Index.cshtml b/src/Web/WebMVC/Views/Campaigns/Index.cshtml index 7bfe7edd5..84f893291 100644 --- a/src/Web/WebMVC/Views/Campaigns/Index.cshtml +++ b/src/Web/WebMVC/Views/Campaigns/Index.cshtml @@ -1,6 +1,8 @@ @{ ViewData["Title"] = "Campaigns"; -@model WebMVC.ViewModels.CampaignViewModel + @model WebMVC.ViewModels.CampaignViewModel + var headerList= new List
() { + new Header() { Controller = "Catalog", Text = "Back to catalog" } }; }
@@ -9,8 +11,7 @@
-@Html.Partial("_Header", new List
() { - new Header() { Controller = "Catalog", Text = "Back to catalog" } }) +

@@ -58,12 +59,12 @@ @foreach (var catalogItem in Model.CampaignItems) {
- @Html.Partial("_campaign", catalogItem) +
}
- @Html.Partial("_pagination", Model.PaginationInfo) + } else { diff --git a/src/Web/WebMVC/Views/Cart/Index.cshtml b/src/Web/WebMVC/Views/Cart/Index.cshtml index d9386a1fd..398a66181 100644 --- a/src/Web/WebMVC/Views/Cart/Index.cshtml +++ b/src/Web/WebMVC/Views/Cart/Index.cshtml @@ -5,13 +5,14 @@ @inject IIdentityParser UserManager @{ - ViewData["Title"] = "My Cart"; + ViewData["Title"] = "My Cart"; + var headerList = new List
() { + new Header() { Controller = "Catalog", Text = "Back to catalog" }}; }
- @Html.Partial("_Header", new List
() { - new Header() { Controller = "Catalog", Text = "Back to catalog" } }) + @await Component.InvokeAsync("CartList", new { user = UserManager.Parse(User) })
diff --git a/src/Web/WebMVC/Views/Catalog/Index.cshtml b/src/Web/WebMVC/Views/Catalog/Index.cshtml index c2ef7f367..e8f26d345 100644 --- a/src/Web/WebMVC/Views/Catalog/Index.cshtml +++ b/src/Web/WebMVC/Views/Catalog/Index.cshtml @@ -35,18 +35,18 @@ @if (Model.CatalogItems.Count() > 0) { - @Html.Partial("_pagination", Model.PaginationInfo) +
@foreach (var catalogItem in Model.CatalogItems) {
- @Html.Partial("_product", catalogItem) +
}
- @Html.Partial("_pagination", Model.PaginationInfo) + } else { diff --git a/src/Web/WebMVC/Views/Order/Create.cshtml b/src/Web/WebMVC/Views/Order/Create.cshtml index d9b06c67f..96eb56c72 100644 --- a/src/Web/WebMVC/Views/Order/Create.cshtml +++ b/src/Web/WebMVC/Views/Order/Create.cshtml @@ -3,11 +3,12 @@ @inject IIdentityParser UserManager @{ - ViewData["Title"] = "New Order"; + ViewData["Title"] = "New Order"; + var headerList= new List
() { + new Header() { Controller = "Cart", Text = "Back to cart" } }; } -@Html.Partial("_Header", new List
() { - new Header() { Controller = "Cart", Text = "Back to cart" } }) +
diff --git a/src/Web/WebMVC/Views/Order/Detail.cshtml b/src/Web/WebMVC/Views/Order/Detail.cshtml index 5b7dadf25..6b7c0b46e 100644 --- a/src/Web/WebMVC/Views/Order/Detail.cshtml +++ b/src/Web/WebMVC/Views/Order/Detail.cshtml @@ -3,12 +3,13 @@ @model Microsoft.eShopOnContainers.WebMVC.ViewModels.Order @{ - ViewData["Title"] = "Order Detail"; + ViewData["Title"] = "Order Detail"; + var headerList= new List
() { + new Header() { Controller = "Catalog", Text = "Back to catalog" } }; }
- @Html.Partial("_Header", new List
() { - new Header() { Controller = "Catalog", Text = "Back to catalog" } }) +
diff --git a/src/Web/WebMVC/Views/Order/Index.cshtml b/src/Web/WebMVC/Views/Order/Index.cshtml index 43cb389c1..d3247433c 100644 --- a/src/Web/WebMVC/Views/Order/Index.cshtml +++ b/src/Web/WebMVC/Views/Order/Index.cshtml @@ -3,14 +3,15 @@ @model IEnumerable @{ - ViewData["Title"] = "My Orders"; + ViewData["Title"] = "My Orders"; + var headerList= new List
() { + new Header() { Controller = "Catalog", Text = "Back to catalog" }, + new Header() { Text = " / " }, + new Header() { Controller = "OrderManagement", Text = "Orders Management" } }; }
- @Html.Partial("_Header", new List
() { -new Header() { Controller = "Catalog", Text = "Back to catalog" }, -new Header() { Text = " / " }, -new Header() { Controller = "OrderManagement", Text = "Orders Management" } }) +
diff --git a/src/Web/WebMVC/Views/OrderManagement/Index.cshtml b/src/Web/WebMVC/Views/OrderManagement/Index.cshtml index acceace31..6f7130bf4 100644 --- a/src/Web/WebMVC/Views/OrderManagement/Index.cshtml +++ b/src/Web/WebMVC/Views/OrderManagement/Index.cshtml @@ -3,12 +3,13 @@ @model IEnumerable @{ - ViewData["Title"] = "My Orders"; + ViewData["Title"] = "My Orders"; + var headerList = new List
() { + new Header() { Controller = "Catalog", Text = "Back to catalog" } }; }
- @Html.Partial("_Header", new List
() { - new Header() { Controller = "Catalog", Text = "Back to catalog" } }) +
From 396d33fe7b95de424b7cb88c344851d44db3f746 Mon Sep 17 00:00:00 2001 From: Miguel Veloso Date: Tue, 2 Apr 2019 15:36:20 +0100 Subject: [PATCH 044/108] Use AsyncEventingBasicConsumer in RabbitMQ to properly use async event handlers --- .../EventBusRabbitMQ/EventBusRabbitMQ.cs | 47 +++++++++++++------ src/Services/Basket/Basket.API/Startup.cs | 3 +- src/Services/Catalog/Catalog.API/Startup.cs | 3 +- .../Location/Locations.API/Startup.cs | 3 +- .../Marketing/Marketing.API/Startup.cs | 3 +- src/Services/Ordering/Ordering.API/Startup.cs | 3 +- .../Ordering.BackgroundTasks/Startup.cs | 3 +- .../Ordering/Ordering.SignalrHub/Startup.cs | 3 +- src/Services/Payment/Payment.API/Startup.cs | 3 +- src/Services/Webhooks/Webhooks.API/Startup.cs | 3 +- 10 files changed, 51 insertions(+), 23 deletions(-) diff --git a/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.cs b/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.cs index 9044a4283..397b75017 100644 --- a/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.cs +++ b/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.cs @@ -178,27 +178,46 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ { if (_consumerChannel != null) { - var consumer = new EventingBasicConsumer(_consumerChannel); - consumer.Received += async (model, ea) => - { - var eventName = ea.RoutingKey; - var message = Encoding.UTF8.GetString(ea.Body); - - await ProcessEvent(eventName, message); + var consumer = new AsyncEventingBasicConsumer(_consumerChannel); - _consumerChannel.BasicAck(ea.DeliveryTag, multiple: false); - }; + consumer.Received += Consumer_Received; - _consumerChannel.BasicConsume(queue: _queueName, - autoAck: false, - consumer: consumer); + _consumerChannel.BasicConsume( + queue: _queueName, + autoAck: false, + consumer: consumer); } else { - _logger.LogError("StartBasicConsume can not call on _consumerChannelCreated == false"); + _logger.LogError("StartBasicConsume can't call on _consumerChannel == null"); } } + private async Task Consumer_Received(object sender, BasicDeliverEventArgs eventArgs) + { + var eventName = eventArgs.RoutingKey; + var message = Encoding.UTF8.GetString(eventArgs.Body); + + try + { + if (message.ToLowerInvariant().Contains("throw-fake-exception")) + { + throw new InvalidOperationException($"Fake exception requested: \"{message}\""); + } + + await ProcessEvent(eventName, message); + } + catch (Exception ex) + { + _logger.LogWarning(ex, "----- ERROR Processing message \"{Message}\"", message); + } + + // Even on exception we take the message off the queue. + // in a REAL WORLD app this should be handled with a Dead Letter Exchange (DLX). + // For more information see: https://www.rabbitmq.com/dlx.html + _consumerChannel.BasicAck(eventArgs.DeliveryTag, multiple: false); + } + private IModel CreateConsumerChannel() { if (!_persistentConnection.IsConnected) @@ -209,7 +228,7 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ var channel = _persistentConnection.CreateModel(); channel.ExchangeDeclare(exchange: BROKER_NAME, - type: "direct"); + type: "direct"); channel.QueueDeclare(queue: _queueName, durable: true, diff --git a/src/Services/Basket/Basket.API/Startup.cs b/src/Services/Basket/Basket.API/Startup.cs index 235b787d0..97ede1879 100644 --- a/src/Services/Basket/Basket.API/Startup.cs +++ b/src/Services/Basket/Basket.API/Startup.cs @@ -105,7 +105,8 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API var factory = new ConnectionFactory() { - HostName = Configuration["EventBusConnection"] + HostName = Configuration["EventBusConnection"], + DispatchConsumersAsync = true }; if (!string.IsNullOrEmpty(Configuration["EventBusUserName"])) diff --git a/src/Services/Catalog/Catalog.API/Startup.cs b/src/Services/Catalog/Catalog.API/Startup.cs index 0258a0a98..1a51a86fb 100644 --- a/src/Services/Catalog/Catalog.API/Startup.cs +++ b/src/Services/Catalog/Catalog.API/Startup.cs @@ -297,7 +297,8 @@ namespace Microsoft.eShopOnContainers.Services.Catalog.API var factory = new ConnectionFactory() { - HostName = configuration["EventBusConnection"] + HostName = configuration["EventBusConnection"], + DispatchConsumersAsync = true }; if (!string.IsNullOrEmpty(configuration["EventBusUserName"])) diff --git a/src/Services/Location/Locations.API/Startup.cs b/src/Services/Location/Locations.API/Startup.cs index 6d5fe3200..4664381d0 100644 --- a/src/Services/Location/Locations.API/Startup.cs +++ b/src/Services/Location/Locations.API/Startup.cs @@ -77,7 +77,8 @@ namespace Microsoft.eShopOnContainers.Services.Locations.API var factory = new ConnectionFactory() { - HostName = Configuration["EventBusConnection"] + HostName = Configuration["EventBusConnection"], + DispatchConsumersAsync = true }; if (!string.IsNullOrEmpty(Configuration["EventBusUserName"])) diff --git a/src/Services/Marketing/Marketing.API/Startup.cs b/src/Services/Marketing/Marketing.API/Startup.cs index 75c749452..7f990e3ad 100644 --- a/src/Services/Marketing/Marketing.API/Startup.cs +++ b/src/Services/Marketing/Marketing.API/Startup.cs @@ -101,7 +101,8 @@ var factory = new ConnectionFactory() { - HostName = Configuration["EventBusConnection"] + HostName = Configuration["EventBusConnection"], + DispatchConsumersAsync = true }; if (!string.IsNullOrEmpty(Configuration["EventBusUserName"])) diff --git a/src/Services/Ordering/Ordering.API/Startup.cs b/src/Services/Ordering/Ordering.API/Startup.cs index cd34f98dd..b77354052 100644 --- a/src/Services/Ordering/Ordering.API/Startup.cs +++ b/src/Services/Ordering/Ordering.API/Startup.cs @@ -305,7 +305,8 @@ var factory = new ConnectionFactory() { - HostName = configuration["EventBusConnection"] + HostName = configuration["EventBusConnection"], + DispatchConsumersAsync = true }; if (!string.IsNullOrEmpty(configuration["EventBusUserName"])) diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/Startup.cs b/src/Services/Ordering/Ordering.BackgroundTasks/Startup.cs index 683fe1d0c..9d6a78e38 100644 --- a/src/Services/Ordering/Ordering.BackgroundTasks/Startup.cs +++ b/src/Services/Ordering/Ordering.BackgroundTasks/Startup.cs @@ -68,7 +68,8 @@ namespace Ordering.BackgroundTasks var factory = new ConnectionFactory() { - HostName = Configuration["EventBusConnection"] + HostName = Configuration["EventBusConnection"], + DispatchConsumersAsync = true }; if (!string.IsNullOrEmpty(Configuration["EventBusUserName"])) diff --git a/src/Services/Ordering/Ordering.SignalrHub/Startup.cs b/src/Services/Ordering/Ordering.SignalrHub/Startup.cs index e8bb7ecd1..edcc80521 100644 --- a/src/Services/Ordering/Ordering.SignalrHub/Startup.cs +++ b/src/Services/Ordering/Ordering.SignalrHub/Startup.cs @@ -80,7 +80,8 @@ namespace Ordering.SignalrHub var factory = new ConnectionFactory() { - HostName = Configuration["EventBusConnection"] + HostName = Configuration["EventBusConnection"], + DispatchConsumersAsync = true }; if (!string.IsNullOrEmpty(Configuration["EventBusUserName"])) diff --git a/src/Services/Payment/Payment.API/Startup.cs b/src/Services/Payment/Payment.API/Startup.cs index 4d5010868..39bb78f91 100644 --- a/src/Services/Payment/Payment.API/Startup.cs +++ b/src/Services/Payment/Payment.API/Startup.cs @@ -58,7 +58,8 @@ namespace Payment.API var logger = sp.GetRequiredService>(); var factory = new ConnectionFactory() { - HostName = Configuration["EventBusConnection"] + HostName = Configuration["EventBusConnection"], + DispatchConsumersAsync = true }; if (!string.IsNullOrEmpty(Configuration["EventBusUserName"])) diff --git a/src/Services/Webhooks/Webhooks.API/Startup.cs b/src/Services/Webhooks/Webhooks.API/Startup.cs index 654b1c897..9d39da719 100644 --- a/src/Services/Webhooks/Webhooks.API/Startup.cs +++ b/src/Services/Webhooks/Webhooks.API/Startup.cs @@ -320,7 +320,8 @@ namespace Webhooks.API var factory = new ConnectionFactory() { - HostName = configuration["EventBusConnection"] + HostName = configuration["EventBusConnection"], + DispatchConsumersAsync = true }; if (!string.IsNullOrEmpty(configuration["EventBusUserName"])) From 6277c0481acfa19099ad4ced6707b25d31a81ea9 Mon Sep 17 00:00:00 2001 From: Nish Anil Date: Tue, 2 Apr 2019 20:21:49 +0530 Subject: [PATCH 045/108] Added tables for Build Status --- README.md | 71 ++++++++++++------------------------------------------- 1 file changed, 15 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index 6fceb20ee..d4f9d2621 100644 --- a/README.md +++ b/README.md @@ -5,66 +5,25 @@ Sample .NET Core reference application, powered by Microsoft, based on a simplif Dev branch contains the latest "stable" code, and their images are tagged with `:dev` in our [Docker Hub](https://cloud.docker.com/u/eshop/repository/list): -Api Gateways base image +| Basket API | Catalog API | Identity API | Location API | +| ------------- | ------------- | ------------- | ------------- | +| [![Basket API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/basket?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=199&branchName=dev) | [![Catalog API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/catalog?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=197&branchName=dev) | [![Identity API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/identity?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=200&branchName=dev) | [![Location API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/location?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=202&branchName=dev) | -[![Api Gateways base image](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/apigws?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=201&branchName=dev) +| Marketing API | Ordering API | Payment API | Api Gateways base image | +| ------------- | ------------- | ------------- | ------------- | +| [![Marketing API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/marketing?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=203&branchName=dev) | [![Ordering API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/ordering?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=198&branchName=dev) | [![Payment API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/payment?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=205&branchName=dev) | [![Api Gateways base image](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/apigws?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=201&branchName=dev) -Basket API +| Web Shopping Aggregator | Mobile Shopping Aggregator | +| ------------- | ------------- | +| [![Web Shopping Aggregator](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/web-shopping-agg?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=206&branchName=dev) | [![Mobile Shopping Aggregator](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/mobile-shopping-agg?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=204&branchName=dev) | -[![Basket API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/basket?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=199&branchName=dev) - -Catalog API - -[![Catalog API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/catalog?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=197&branchName=dev) - -Identity API - -[![Identity API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/identity?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=200&branchName=dev) - -Location API - -[![Location API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/location?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=202&branchName=dev) - -Marketing API - -[![Marketing API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/marketing?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=203&branchName=dev) - -Ordering API - -[![Ordering API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/ordering?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=198&branchName=dev) - -Payment API - -[![Payment API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/payment?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=205&branchName=dev) - -Webhooks API - -[![Webhooks API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webhooks?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=207&branchName=dev) - -Web Shopping Aggregator - -[![Web Shopping Aggregator](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/web-shopping-agg?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=206&branchName=dev) - -Mobile Shopping Aggregator - -[![Mobile Shopping Aggregator](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/mobile-shopping-agg?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=204&branchName=dev) - -Webbhooks demo client - -[![Webhooks demo client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webhooks-client?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=208&branchName=dev) - -WebMVC Client - -[![WebMVC Client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webmvc?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=209&branchName=dev) - -WebSPA Client - -[![WebSPA Client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webspa?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=210&branchName=dev) - -Web Status - -[![Web Status](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webstatus?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=211&branchName=dev) +| WebMVC Client | WebSPA Client | Web Status | +| ------------- | ------------- | ------------- | +| [![WebMVC Client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webmvc?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=209&branchName=dev) | [![WebSPA Client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webspa?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=210&branchName=dev) | [![Web Status](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webstatus?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=211&branchName=dev) +| Webhooks API | Webbhooks demo client | +| ------------- | ------------- | +| [![Webhooks API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webhooks?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=207&branchName=dev) | [![Webhooks demo client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webhooks-client?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=208&branchName=dev) | ## IMPORTANT NOTES! **You can use either the latest version of Visual Studio or simply Docker CLI and .NET CLI for Windows, Mac and Linux**. From 3f7307ace72c9f395f71af9ed32e793b552caca9 Mon Sep 17 00:00:00 2001 From: Nish Anil Date: Tue, 2 Apr 2019 20:28:03 +0530 Subject: [PATCH 046/108] Updated Table alignment --- README.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index d4f9d2621..2a8f8e22c 100644 --- a/README.md +++ b/README.md @@ -13,17 +13,13 @@ Dev branch contains the latest "stable" code, and their images are tagged with ` | ------------- | ------------- | ------------- | ------------- | | [![Marketing API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/marketing?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=203&branchName=dev) | [![Ordering API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/ordering?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=198&branchName=dev) | [![Payment API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/payment?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=205&branchName=dev) | [![Api Gateways base image](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/apigws?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=201&branchName=dev) -| Web Shopping Aggregator | Mobile Shopping Aggregator | -| ------------- | ------------- | -| [![Web Shopping Aggregator](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/web-shopping-agg?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=206&branchName=dev) | [![Mobile Shopping Aggregator](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/mobile-shopping-agg?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=204&branchName=dev) | +| Web Shopping Aggregator | Mobile Shopping Aggregator | WebMVC Client | WebSPA Client | +| ------------- | ------------- | ------------- | ------------- | +| [![Web Shopping Aggregator](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/web-shopping-agg?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=206&branchName=dev) | [![Mobile Shopping Aggregator](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/mobile-shopping-agg?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=204&branchName=dev) | [![WebMVC Client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webmvc?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=209&branchName=dev) | [![WebSPA Client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webspa?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=210&branchName=dev) | -| WebMVC Client | WebSPA Client | Web Status | +| Web Status | Webhooks API | Webbhooks demo client | | ------------- | ------------- | ------------- | -| [![WebMVC Client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webmvc?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=209&branchName=dev) | [![WebSPA Client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webspa?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=210&branchName=dev) | [![Web Status](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webstatus?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=211&branchName=dev) - -| Webhooks API | Webbhooks demo client | -| ------------- | ------------- | -| [![Webhooks API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webhooks?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=207&branchName=dev) | [![Webhooks demo client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webhooks-client?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=208&branchName=dev) | + [![Web Status](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webstatus?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=211&branchName=dev) | [![Webhooks API](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webhooks?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=207&branchName=dev) | [![Webhooks demo client](https://msftdevtools.visualstudio.com/eShopOnContainers/_apis/build/status/microservices/webhooks-client?branchName=dev)](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=208&branchName=dev) | ## IMPORTANT NOTES! **You can use either the latest version of Visual Studio or simply Docker CLI and .NET CLI for Windows, Mac and Linux**. From 835c3a8639178b53db73c49eda2530f5409e34e2 Mon Sep 17 00:00:00 2001 From: Rafsanul Hasan Date: Tue, 2 Apr 2019 21:15:11 +0600 Subject: [PATCH 047/108] Update .gitignore revert back to original one --- .gitignore | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 1049a8400..8bad337c5 100644 --- a/.gitignore +++ b/.gitignore @@ -11,9 +11,6 @@ # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs -# Project Launch Settings -Properties/launchSettings.json - # Build results [Dd]ebug/ [Dd]ebugPublic/ @@ -272,4 +269,4 @@ pub/ .mfractor # Ignore HealthCheckdb -*healthchecksdb* \ No newline at end of file +*healthchecksdb* From 20297fc6b54d7d0bbbf5afbe80336dbd7ad4598c Mon Sep 17 00:00:00 2001 From: Darius Tehrani Date: Wed, 3 Apr 2019 08:23:19 +0000 Subject: [PATCH 048/108] limit help delete to eshop --- k8s/helm/deploy-all.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/k8s/helm/deploy-all.ps1 b/k8s/helm/deploy-all.ps1 index 42ba3ab27..b0b5f122f 100644 --- a/k8s/helm/deploy-all.ps1 +++ b/k8s/helm/deploy-all.ps1 @@ -44,7 +44,7 @@ if ([string]::IsNullOrEmpty($dns)) { if ($clean) { Write-Host "Cleaning previous helm releases..." -ForegroundColor Green - helm delete --purge $(helm ls -q) + helm delete --purge $(helm ls -q eshop) Write-Host "Previous releases deleted" -ForegroundColor Green } @@ -82,4 +82,4 @@ foreach ($chart in $charts) { } } -Write-Host "helm charts installed." -ForegroundColor Green \ No newline at end of file +Write-Host "helm charts installed." -ForegroundColor Green From a793608b39b23d1108784e857ffc1203466c98b7 Mon Sep 17 00:00:00 2001 From: eiximenis Date: Wed, 3 Apr 2019 17:45:01 +0200 Subject: [PATCH 049/108] update build to multijob --- build/azure-devops/apigws/azure-pipelines.yml | 96 ++++++++++++------- 1 file changed, 63 insertions(+), 33 deletions(-) diff --git a/build/azure-devops/apigws/azure-pipelines.yml b/build/azure-devops/apigws/azure-pipelines.yml index d2f4708f6..adf00e4d0 100644 --- a/build/azure-devops/apigws/azure-pipelines.yml +++ b/build/azure-devops/apigws/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -17,34 +15,66 @@ trigger: exclude: - src/ApiGateways/Mobile.Bff.Shopping/aggregator/* - src/ApiGateways/Web.Bff.Shopping/aggregator/* -steps: -- task: DockerCompose@0 - displayName: Compose build apigws - inputs: - dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- task: DockerCompose@0 - displayName: Compose push apigws - inputs: - dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- task: CopyFiles@2 - inputs: - sourceFolder: $(Build.SourcesDirectory)/k8s/helm - targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm -- task: PublishBuildArtifacts@1 - inputs: - pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm - artifactName: helm +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build apigws + inputs: + dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - task: DockerCompose@0 + displayName: Compose push apigws + inputs: + dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - task: CopyFiles@2 + inputs: + sourceFolder: $(Build.SourcesDirectory)/k8s/helm + targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm + - task: PublishBuildArtifacts@1 + inputs: + pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm + artifactName: helm +- job: BuildWindows + pool: + vmImage: 'vs2017-win2016' + steps: + - task: DockerCompose@0 + displayName: Compose build apigws + inputs: + dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - task: DockerCompose@0 + displayName: Compose push apigws + inputs: + dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win \ No newline at end of file From e536cbd5900a3bec9ce1cb60f207aced5a179e02 Mon Sep 17 00:00:00 2001 From: Rafsanul Hasan Date: Thu, 4 Apr 2019 14:10:01 +0600 Subject: [PATCH 050/108] Restored LibMan.Build NuGet Package --- src/Services/Identity/Identity.API/Identity.API.csproj | 1 + src/Web/WebMVC/WebMVC.csproj | 1 + src/Web/WebStatus/WebStatus.csproj | 1 + 3 files changed, 3 insertions(+) diff --git a/src/Services/Identity/Identity.API/Identity.API.csproj b/src/Services/Identity/Identity.API/Identity.API.csproj index ea4bcc0ce..728843f71 100644 --- a/src/Services/Identity/Identity.API/Identity.API.csproj +++ b/src/Services/Identity/Identity.API/Identity.API.csproj @@ -28,6 +28,7 @@ + diff --git a/src/Web/WebMVC/WebMVC.csproj b/src/Web/WebMVC/WebMVC.csproj index 910577d8e..6d958ce09 100644 --- a/src/Web/WebMVC/WebMVC.csproj +++ b/src/Web/WebMVC/WebMVC.csproj @@ -35,6 +35,7 @@ + diff --git a/src/Web/WebStatus/WebStatus.csproj b/src/Web/WebStatus/WebStatus.csproj index 2b5a29b68..e66f0a211 100644 --- a/src/Web/WebStatus/WebStatus.csproj +++ b/src/Web/WebStatus/WebStatus.csproj @@ -22,6 +22,7 @@ + From 089f858ead3a4d33b93aecc88317909a6bc57a1b Mon Sep 17 00:00:00 2001 From: Rafsanul Hasan Date: Fri, 5 Apr 2019 01:01:37 +0600 Subject: [PATCH 051/108] removed version from Microsoft.AspNetCore.App from WebMVC/WebMVC.csproj --- src/Web/WebMVC/WebMVC.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Web/WebMVC/WebMVC.csproj b/src/Web/WebMVC/WebMVC.csproj index 6d958ce09..24a37fc75 100644 --- a/src/Web/WebMVC/WebMVC.csproj +++ b/src/Web/WebMVC/WebMVC.csproj @@ -31,7 +31,7 @@ - + From aa7614be5adf76980f0638cff0c997ec5bbe998f Mon Sep 17 00:00:00 2001 From: Nish Anil Date: Fri, 5 Apr 2019 14:21:10 +0530 Subject: [PATCH 052/108] Removed explicit mentions to VS 2017 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2a8f8e22c..b7f92ffa0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# eShopOnContainers - Microservices Architecture and Containers based Reference Application (**BETA state** - Visual Studio 2017 and CLI environments compatible) +# eShopOnContainers - Microservices Architecture and Containers based Reference Application (**BETA state** - Visual Studio and CLI environments compatible) Sample .NET Core reference application, powered by Microsoft, based on a simplified microservices architecture and Docker containers. ## Linux Build Status for 'dev' branch @@ -129,7 +129,7 @@ Finally, those microservices are consumed by multiple client web and mobile apps ## Setting up your development environment for eShopOnContainers -### Visual Studio 2017 and Windows based +### Visual Studio 2017 (or above) and Windows based This is the more straightforward way to get started: https://github.com/dotnet-architecture/eShopOnContainers/wiki/02.-Setting-eShopOnContainers-in-a-Visual-Studio-2017-environment @@ -149,5 +149,5 @@ As mentioned, we'd appreciate your feedback, improvements and ideas. You can create new issues at the issues section, do pull requests and/or send emails to **eshop_feedback@service.microsoft.com** ## Questions -[QUESTION] Answer +1 if the solution is working for you (Through VS2017 or CLI environment): +[QUESTION] Answer +1 if the solution is working for you (Through VS or CLI environment): https://github.com/dotnet/eShopOnContainers/issues/107 From e987dcfb7d60912ee245cf0ede93b1649d0459b4 Mon Sep 17 00:00:00 2001 From: Lee Dumond Date: Mon, 8 Apr 2019 19:25:28 -0500 Subject: [PATCH 053/108] fix references in functional test projects --- .../Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj | 2 ++ .../Catalog.FunctionalTests/Catalog.FunctionalTests.csproj | 2 ++ .../Locations.FunctionalTests/Locations.FunctionalTests.csproj | 2 ++ 3 files changed, 6 insertions(+) diff --git a/src/Services/Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj b/src/Services/Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj index e781b218d..4fd8cb9ec 100644 --- a/src/Services/Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj +++ b/src/Services/Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj @@ -17,6 +17,8 @@ + + diff --git a/src/Services/Catalog/Catalog.FunctionalTests/Catalog.FunctionalTests.csproj b/src/Services/Catalog/Catalog.FunctionalTests/Catalog.FunctionalTests.csproj index 07e9e2991..455dfb0bc 100644 --- a/src/Services/Catalog/Catalog.FunctionalTests/Catalog.FunctionalTests.csproj +++ b/src/Services/Catalog/Catalog.FunctionalTests/Catalog.FunctionalTests.csproj @@ -33,6 +33,8 @@ + + diff --git a/src/Services/Location/Locations.FunctionalTests/Locations.FunctionalTests.csproj b/src/Services/Location/Locations.FunctionalTests/Locations.FunctionalTests.csproj index 0b7e0a3c4..27898f504 100644 --- a/src/Services/Location/Locations.FunctionalTests/Locations.FunctionalTests.csproj +++ b/src/Services/Location/Locations.FunctionalTests/Locations.FunctionalTests.csproj @@ -17,6 +17,8 @@ + + From 9dd7ed117ed150ab760286bb65bb7922b5778705 Mon Sep 17 00:00:00 2001 From: Lee Dumond Date: Mon, 8 Apr 2019 19:38:49 -0500 Subject: [PATCH 054/108] change form acrion from non-existent Logoff to Logout --- .../Identity/Identity.API/Views/Shared/_LoginPartial.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Services/Identity/Identity.API/Views/Shared/_LoginPartial.cshtml b/src/Services/Identity/Identity.API/Views/Shared/_LoginPartial.cshtml index 3d0a461f5..e110e459c 100644 --- a/src/Services/Identity/Identity.API/Views/Shared/_LoginPartial.cshtml +++ b/src/Services/Identity/Identity.API/Views/Shared/_LoginPartial.cshtml @@ -7,7 +7,7 @@ @if (SignInManager.IsSignedIn(User)) { - +
- +

- + @if (!ViewData.ModelState.IsValid) { -
- @Html.ValidationSummary(false) -
- } +
+ @Html.ValidationSummary(false) +
+ }
UPDATE USER LOCATION -
+

@@ -44,33 +46,33 @@ Lon
-
+
-
-
+
+
- @if (Model != null && Model.CampaignItems !=null && Model.CampaignItems.Any()) + @if (Model != null && Model.CampaignItems !=null && Model.CampaignItems.Any()) { -
- @foreach (var catalogItem in Model.CampaignItems) +
+ @foreach (var catalogItem in Model.CampaignItems) { -
- -
+
+ +
} -
+
- + } else { -
- THERE ARE NO CAMPAIGNS -
+
+ THERE ARE NO CAMPAIGNS +
} From b8dbfa31045f3e801918e512118c2f094daf2b4b Mon Sep 17 00:00:00 2001 From: Lee Dumond Date: Thu, 18 Apr 2019 10:47:21 -0500 Subject: [PATCH 066/108] move model declaration outside of clode block --- src/Web/WebMVC/Views/Catalog/Index.cshtml | 33 ++++++++++++----------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/Web/WebMVC/Views/Catalog/Index.cshtml b/src/Web/WebMVC/Views/Catalog/Index.cshtml index e8f26d345..3428d4470 100644 --- a/src/Web/WebMVC/Views/Catalog/Index.cshtml +++ b/src/Web/WebMVC/Views/Catalog/Index.cshtml @@ -1,6 +1,7 @@ -@{ +@model Microsoft.eShopOnContainers.WebMVC.ViewModels.CatalogViewModels.IndexViewModel + +@{ ViewData["Title"] = "Catalog"; - @model Microsoft.eShopOnContainers.WebMVC.ViewModels.CatalogViewModels.IndexViewModel }
@@ -27,31 +28,31 @@
@if(ViewBag.BasketInoperativeMsg != null) { - + }
@if (Model.CatalogItems.Count() > 0) { - + -
- @foreach (var catalogItem in Model.CatalogItems) +
+ @foreach (var catalogItem in Model.CatalogItems) { -
- -
- } +
+
+ } +
- + } else { -
- THERE ARE NO RESULTS THAT MATCH YOUR SEARCH -
+
+ THERE ARE NO RESULTS THAT MATCH YOUR SEARCH +
}
From 3224a777921a0818e075ee705b19fe14f070f313 Mon Sep 17 00:00:00 2001 From: Lee Dumond Date: Thu, 18 Apr 2019 14:28:45 -0500 Subject: [PATCH 067/108] add missing Error view --- src/Web/WebStatus/Views/Shared/Error.cshtml | 40 +++++++++++++++++++++ src/Web/WebStatus/WebStatus.csproj | 6 ---- 2 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 src/Web/WebStatus/Views/Shared/Error.cshtml diff --git a/src/Web/WebStatus/Views/Shared/Error.cshtml b/src/Web/WebStatus/Views/Shared/Error.cshtml new file mode 100644 index 000000000..fec9d4d5d --- /dev/null +++ b/src/Web/WebStatus/Views/Shared/Error.cshtml @@ -0,0 +1,40 @@ + +@{ + Layout = null; +} + + + + + + + Error + + + + + + + + + + + + +
+

Error.

+

An error occurred while processing your request.

+ +

Development Mode

+ +

+ Swapping to Development environment will display more detailed information about the error that occurred. +

+

+ Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. +

+
+ + diff --git a/src/Web/WebStatus/WebStatus.csproj b/src/Web/WebStatus/WebStatus.csproj index e66f0a211..7e83ddc7b 100644 --- a/src/Web/WebStatus/WebStatus.csproj +++ b/src/Web/WebStatus/WebStatus.csproj @@ -4,12 +4,6 @@ $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; ..\..\..\docker-compose.dcproj - - - - - - From 914e8bd0cdd269b74a984e6cb1fd04584d1bee4f Mon Sep 17 00:00:00 2001 From: Miguel Veloso Date: Mon, 22 Apr 2019 18:10:53 +0100 Subject: [PATCH 068/108] Make the RUN restore-packages optional through an option on docker-compose --- {Dockerfile-scripts => scripts}/restore-packages | 0 src/ApiGateways/ApiGw-Base/Dockerfile | 5 +++-- src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile | 5 +++-- src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile | 5 +++-- src/Services/Basket/Basket.API/Dockerfile | 5 +++-- src/Services/Catalog/Catalog.API/Dockerfile | 5 +++-- src/Services/Identity/Identity.API/Dockerfile | 5 +++-- src/Services/Location/Locations.API/Dockerfile | 5 +++-- src/Services/Marketing/Marketing.API/Dockerfile | 5 +++-- src/Services/Ordering/Ordering.API/Dockerfile | 5 +++-- src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile | 5 +++-- src/Services/Ordering/Ordering.SignalrHub/Dockerfile | 5 +++-- src/Services/Payment/Payment.API/Dockerfile | 5 +++-- src/Services/Webhooks/Webhooks.API/Dockerfile | 5 +++-- src/Web/WebMVC/Dockerfile | 5 +++-- src/Web/WebSPA/Dockerfile | 5 +++-- src/Web/WebStatus/Dockerfile | 5 +++-- src/Web/WebhookClient/Dockerfile | 5 +++-- 18 files changed, 51 insertions(+), 34 deletions(-) rename {Dockerfile-scripts => scripts}/restore-packages (100%) diff --git a/Dockerfile-scripts/restore-packages b/scripts/restore-packages similarity index 100% rename from Dockerfile-scripts/restore-packages rename to scripts/restore-packages diff --git a/src/ApiGateways/ApiGw-Base/Dockerfile b/src/ApiGateways/ApiGw-Base/Dockerfile index 7404c463c..f4751f2d1 100644 --- a/src/ApiGateways/ApiGw-Base/Dockerfile +++ b/src/ApiGateways/ApiGw-Base/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/ApiGateways/ApiGw-Base/ diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile index abbf252a7..d29c73b3e 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/ApiGateways/Mobile.Bff.Shopping/aggregator diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile index a816091c3..8ac850778 100644 --- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile +++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/ApiGateways/Web.Bff.Shopping/aggregator diff --git a/src/Services/Basket/Basket.API/Dockerfile b/src/Services/Basket/Basket.API/Dockerfile index 1126ab876..81955e178 100644 --- a/src/Services/Basket/Basket.API/Dockerfile +++ b/src/Services/Basket/Basket.API/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Services/Basket/Basket.API diff --git a/src/Services/Catalog/Catalog.API/Dockerfile b/src/Services/Catalog/Catalog.API/Dockerfile index 7542719a4..70a97da27 100644 --- a/src/Services/Catalog/Catalog.API/Dockerfile +++ b/src/Services/Catalog/Catalog.API/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Services/Catalog/Catalog.API diff --git a/src/Services/Identity/Identity.API/Dockerfile b/src/Services/Identity/Identity.API/Dockerfile index e31d0e6f0..ed1502208 100644 --- a/src/Services/Identity/Identity.API/Dockerfile +++ b/src/Services/Identity/Identity.API/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Services/Identity/Identity.API diff --git a/src/Services/Location/Locations.API/Dockerfile b/src/Services/Location/Locations.API/Dockerfile index 4bbde3400..5f5a0c88a 100644 --- a/src/Services/Location/Locations.API/Dockerfile +++ b/src/Services/Location/Locations.API/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Services/Location/Locations.API diff --git a/src/Services/Marketing/Marketing.API/Dockerfile b/src/Services/Marketing/Marketing.API/Dockerfile index e4e084690..bd9e3807b 100644 --- a/src/Services/Marketing/Marketing.API/Dockerfile +++ b/src/Services/Marketing/Marketing.API/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Services/Marketing/Marketing.API diff --git a/src/Services/Ordering/Ordering.API/Dockerfile b/src/Services/Ordering/Ordering.API/Dockerfile index 7093a8f56..aa1f0e9c6 100644 --- a/src/Services/Ordering/Ordering.API/Dockerfile +++ b/src/Services/Ordering/Ordering.API/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Services/Ordering/Ordering.API diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile index a780d6589..0c121f4a8 100644 --- a/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile +++ b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Services/Ordering/Ordering.BackgroundTasks diff --git a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile index c40b926dc..a40dc797f 100644 --- a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile +++ b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Services/Ordering/Ordering.SignalrHub diff --git a/src/Services/Payment/Payment.API/Dockerfile b/src/Services/Payment/Payment.API/Dockerfile index a3c2ec684..dcaf9b5e8 100644 --- a/src/Services/Payment/Payment.API/Dockerfile +++ b/src/Services/Payment/Payment.API/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Services/Payment/Payment.API diff --git a/src/Services/Webhooks/Webhooks.API/Dockerfile b/src/Services/Webhooks/Webhooks.API/Dockerfile index 2c078bffc..0da59affa 100644 --- a/src/Services/Webhooks/Webhooks.API/Dockerfile +++ b/src/Services/Webhooks/Webhooks.API/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR "/src/src/Services/Webhooks/Webhooks.API" diff --git a/src/Web/WebMVC/Dockerfile b/src/Web/WebMVC/Dockerfile index 1a6374223..4cb62e614 100644 --- a/src/Web/WebMVC/Dockerfile +++ b/src/Web/WebMVC/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Web/WebMVC diff --git a/src/Web/WebSPA/Dockerfile b/src/Web/WebSPA/Dockerfile index 92626c9ba..ef0f46c7f 100644 --- a/src/Web/WebSPA/Dockerfile +++ b/src/Web/WebSPA/Dockerfile @@ -12,7 +12,7 @@ RUN npm run build:prod FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -20,7 +20,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . COPY --from=node-build /web/wwwroot /src/src/Web/WebSPA/wwwroot/ diff --git a/src/Web/WebStatus/Dockerfile b/src/Web/WebStatus/Dockerfile index 7cd6fafb6..edb691988 100644 --- a/src/Web/WebStatus/Dockerfile +++ b/src/Web/WebStatus/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -13,7 +13,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Web/WebStatus diff --git a/src/Web/WebhookClient/Dockerfile b/src/Web/WebhookClient/Dockerfile index ba0c223e2..0710db058 100644 --- a/src/Web/WebhookClient/Dockerfile +++ b/src/Web/WebhookClient/Dockerfile @@ -6,7 +6,7 @@ EXPOSE 443 FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src -COPY Dockerfile-scripts Dockerfile-scripts/ +COPY scripts scripts/ COPY src/ApiGateways/*/*.csproj /src/csproj-files/ COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/ @@ -14,7 +14,8 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -RUN Dockerfile-scripts/restore-packages +ARG RUN=pwd +RUN ${RUN} COPY . . WORKDIR /src/src/Web/WebhookClient From df72a039c5686be1c518f38a50ba1fceb3e5584f Mon Sep 17 00:00:00 2001 From: Miguel Veloso Date: Tue, 23 Apr 2019 12:48:56 +0100 Subject: [PATCH 069/108] Remove failling Windows BuildJob (seems to be related to the base image) --- build/azure-devops/apigws/azure-pipelines.yml | 28 ------------------- scripts/restore-packages.cmd | 1 + 2 files changed, 1 insertion(+), 28 deletions(-) create mode 100644 scripts/restore-packages.cmd diff --git a/build/azure-devops/apigws/azure-pipelines.yml b/build/azure-devops/apigws/azure-pipelines.yml index adf00e4d0..6fedf33a6 100644 --- a/build/azure-devops/apigws/azure-pipelines.yml +++ b/build/azure-devops/apigws/azure-pipelines.yml @@ -50,31 +50,3 @@ jobs: inputs: pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm artifactName: helm -- job: BuildWindows - pool: - vmImage: 'vs2017-win2016' - steps: - - task: DockerCompose@0 - displayName: Compose build apigws - inputs: - dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) - PLATFORM=win - - task: DockerCompose@0 - displayName: Compose push apigws - inputs: - dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) - PLATFORM=win \ No newline at end of file diff --git a/scripts/restore-packages.cmd b/scripts/restore-packages.cmd new file mode 100644 index 000000000..9f3a8434e --- /dev/null +++ b/scripts/restore-packages.cmd @@ -0,0 +1 @@ +for %%p in (csproj-files\*.csproj) do dotnet restore %%p From 9159df343e6dfc663b66942e24c477b3a2a6bd0e Mon Sep 17 00:00:00 2001 From: Joni Date: Fri, 26 Apr 2019 01:25:43 +0900 Subject: [PATCH 070/108] Fix typo --- .../IntegrationEvents/OrderingIntegrationEventService.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/OrderingIntegrationEventService.cs b/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/OrderingIntegrationEventService.cs index 9d85e2dd4..c6360d194 100644 --- a/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/OrderingIntegrationEventService.cs +++ b/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/OrderingIntegrationEventService.cs @@ -41,9 +41,9 @@ namespace Ordering.API.Application.IntegrationEvents public async Task PublishEventsThroughEventBusAsync() { - var pendindLogEvents = await _eventLogService.RetrieveEventLogsPendingToPublishAsync(); + var pendingLogEvents = await _eventLogService.RetrieveEventLogsPendingToPublishAsync(); - foreach (var logEvt in pendindLogEvents) + foreach (var logEvt in pendingLogEvents) { _logger.LogInformation("----- Publishing integration event: {IntegrationEventId} from {AppName} - ({@IntegrationEvent})", logEvt.EventId, Program.AppName, logEvt.IntegrationEvent); From 7dd819c4b544acf35737cd4b87f597b17265ca67 Mon Sep 17 00:00:00 2001 From: Gajendra Thokala Date: Sat, 27 Apr 2019 18:27:15 -0700 Subject: [PATCH 071/108] Add Powershell script to set network category to private for DockerNAT. --- cli-windows/set-dockernat-networkategory-to-private.ps1 | 1 + 1 file changed, 1 insertion(+) create mode 100644 cli-windows/set-dockernat-networkategory-to-private.ps1 diff --git a/cli-windows/set-dockernat-networkategory-to-private.ps1 b/cli-windows/set-dockernat-networkategory-to-private.ps1 new file mode 100644 index 000000000..16f5f567c --- /dev/null +++ b/cli-windows/set-dockernat-networkategory-to-private.ps1 @@ -0,0 +1 @@ +Get-NetConnectionProfile | Where-Object { $_.InterfaceAlias -match "(DockerNAT)" } | ForEach-Object { Set-NetConnectionProfile -InterfaceIndex $_.InterfaceIndex -NetworkCategory Private } From 1dacbb7a8ed5789cf272691f529526ae3193c761 Mon Sep 17 00:00:00 2001 From: Daniel Larsen Date: Sun, 28 Apr 2019 20:59:13 +1200 Subject: [PATCH 072/108] Fixes #1015 --- k8s/helm/deploy-all.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/k8s/helm/deploy-all.ps1 b/k8s/helm/deploy-all.ps1 index 879749679..df6014bdc 100644 --- a/k8s/helm/deploy-all.ps1 +++ b/k8s/helm/deploy-all.ps1 @@ -67,7 +67,7 @@ $charts = ("eshop-common", "apigwmm", "apigwms", "apigwwm", "apigwws", "basket-a if ($deployInfrastructure) { foreach ($infra in $infras) { Write-Host "Installing infrastructure: $infra" -ForegroundColor Green - helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set ingress.hosts={$dns} --name="$appName-$infra" $infra + helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --name="$appName-$infra" $infra } } else { @@ -78,11 +78,11 @@ if ($deployCharts) { foreach ($chart in $charts) { Write-Host "Installing: $chart" -ForegroundColor Green if ($useCustomRegistry) { - helm install --set inf.registry.server=$registry --set inf.registry.login=$dockerUser --set inf.registry.pwd=$dockerPassword --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set ingress.hosts={$dns} --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart + helm install --set inf.registry.server=$registry --set inf.registry.login=$dockerUser --set inf.registry.pwd=$dockerPassword --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart } else { if ($chart -ne "eshop-common") { # eshop-common is ignored when no secret must be deployed - helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set ingress.hosts={$dns} --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart + helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart } } } From 896442a0bfc956cd7e265f55aa3707c21207d250 Mon Sep 17 00:00:00 2001 From: "Gajendra Babu Thokala [MSFT]" Date: Mon, 29 Apr 2019 09:42:01 -0700 Subject: [PATCH 073/108] Updateded to Show Message to run as administrator Updateded to Show Message to run as administrator. When run without elevated below message would be shown. Which is clear to run as administrator .\set-dockernat-networkategory-to-private.ps1 : The script 'set-dockernat-networkategory-to-private.ps1' cannot be run because it contains a "#requires" statement for running as Administrator. The current Windows PowerShell session is not running as Administrator. Start Windows PowerShell by using the Run as Administrator option, and then try running the script again. At line:1 char:1 + .\set-dockernat-networkategory-to-private.ps1 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : PermissionDenied: (set-dockernat-n...-to-private.ps1:String) [], ScriptRequiresException + FullyQualifiedErrorId : ScriptRequiresElevation --- cli-windows/set-dockernat-networkategory-to-private.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cli-windows/set-dockernat-networkategory-to-private.ps1 b/cli-windows/set-dockernat-networkategory-to-private.ps1 index 16f5f567c..6614c8e8a 100644 --- a/cli-windows/set-dockernat-networkategory-to-private.ps1 +++ b/cli-windows/set-dockernat-networkategory-to-private.ps1 @@ -1 +1,2 @@ -Get-NetConnectionProfile | Where-Object { $_.InterfaceAlias -match "(DockerNAT)" } | ForEach-Object { Set-NetConnectionProfile -InterfaceIndex $_.InterfaceIndex -NetworkCategory Private } + #Requires -RunAsAdministrator + Get-NetConnectionProfile | Where-Object { $_.InterfaceAlias -match "(DockerNAT)" } | ForEach-Object { Set-NetConnectionProfile -InterfaceIndex $_.InterfaceIndex -NetworkCategory Private } From ba721aa65c0c3af8eb3a8f447831f58bee62f157 Mon Sep 17 00:00:00 2001 From: Miguel Veloso Date: Tue, 30 Apr 2019 19:19:11 +0100 Subject: [PATCH 074/108] Remove unneeded #!/bin/bash from script and remove line endings to avoid errors depending on git config on Windows --- run-docker-compose-build.ps1 | 2 +- scripts/restore-packages | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/run-docker-compose-build.ps1 b/run-docker-compose-build.ps1 index 7d99ee0e7..ed4a14541 100644 --- a/run-docker-compose-build.ps1 +++ b/run-docker-compose-build.ps1 @@ -1,6 +1,6 @@ $startTime = $(Get-Date) -docker-compose build +docker-compose build --build-arg RUN=scripts/restore-packages $elapsedTime = $(Get-Date) - $startTime diff --git a/scripts/restore-packages b/scripts/restore-packages index 9edc44b03..1a3312a67 100644 --- a/scripts/restore-packages +++ b/scripts/restore-packages @@ -1,3 +1 @@ -#!/bin/bash - -for f in /src/csproj-files/*.csproj; do dotnet restore $f; done +for f in /src/csproj-files/*.csproj; do dotnet restore $f; done \ No newline at end of file From 95ac1fe9bd183f3442ab23726b4b0c8af66741c2 Mon Sep 17 00:00:00 2001 From: Lee Dumond Date: Wed, 1 May 2019 14:26:06 -0500 Subject: [PATCH 075/108] use local bootstrap, not CDN --- src/Web/WebStatus/Views/Shared/Error.cshtml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/Web/WebStatus/Views/Shared/Error.cshtml b/src/Web/WebStatus/Views/Shared/Error.cshtml index fec9d4d5d..0b70d2ef0 100644 --- a/src/Web/WebStatus/Views/Shared/Error.cshtml +++ b/src/Web/WebStatus/Views/Shared/Error.cshtml @@ -9,18 +9,15 @@ Error + - - - +
From 1bf7c6fe6c9b1033c19433cd4c87022c256b96e8 Mon Sep 17 00:00:00 2001 From: Miguel Veloso Date: Thu, 2 May 2019 17:42:26 +0100 Subject: [PATCH 076/108] Add health checks urls in appsettings.json --- src/Web/WebStatus/appsettings.json | 88 +++++++++++++++++++++++++++--- 1 file changed, 79 insertions(+), 9 deletions(-) diff --git a/src/Web/WebStatus/appsettings.json b/src/Web/WebStatus/appsettings.json index da478fe30..aa19b2cc2 100644 --- a/src/Web/WebStatus/appsettings.json +++ b/src/Web/WebStatus/appsettings.json @@ -1,5 +1,75 @@ { "HealthChecks-UI": { + "HealthChecks": [ + { + "Name": "Ordering HTTP Check", + "Uri": "http://localhost:5102/hc" + }, + { + "Name": "Ordering HTTP Background Check", + "Uri": "http://localhost:5111/hc" + }, + { + "Name": "Basket HTTP Check", + "Uri": "http://localhost:5103/hc" + }, + { + "Name": "Catalog HTTP Check", + "Uri": "http://localhost:5101/hc" + }, + { + "Name": "Identity HTTP Check", + "Uri": "http://localhost:5105/hc" + }, + { + "Name": "Marketing HTTP Check", + "Uri": "http://localhost:5110/hc" + }, + { + "Name": "Locations HTTP Check", + "Uri": "http://localhost:5109/hc" + }, + { + "Name": "Payments HTTP Check", + "Uri": "http://localhost:5108/hc" + }, + { + "Name": "WebMVC HTTP Check", + "Uri": "http://localhost:5100/hc" + }, + { + "Name": "WebSPA HTTP Check", + "Uri": "http://localhost:5104/hc" + }, + { + "Name": "SignalR HTTP Check", + "Uri": "http://localhost:5112/hc" + }, + { + "Name": "Mobile Shopping API GW HTTP Check", + "Uri": "http://localhost:5200/hc" + }, + { + "Name": "Mobile Marketing API GW HTTP Check", + "Uri": "http://localhost:5201/hc" + }, + { + "Name": "Web Shopping API GW HTTP Check", + "Uri": "http://localhost:5202/hc" + }, + { + "Name": "Web Marketing API GW HTTP Check", + "Uri": "http://localhost:5203/hc" + }, + { + "Name": "Mobile Shopping Aggregator HTTP Check", + "Uri": "http://localhost:5120/hc" + }, + { + "Name": "Web Shopping Aggregator HTTP Check", + "Uri": "http://localhost:5121/hc" + } + ], "EvaluationTimeOnSeconds": 10, "MinimumSecondsBetweenFailureNotifications": 60 }, @@ -14,13 +84,13 @@ "System": "Warning" } } - }, - "Webhooks": [ - { - "Name": "", - "Uri": "", - "Payload": "", - "RestoredPayload": "" - } - ] + }, + "Webhooks": [ + { + "Name": "", + "Uri": "", + "Payload": "", + "RestoredPayload": "" + } + ] } From 3026a55be80eb4928651dab8055aac7c74b62844 Mon Sep 17 00:00:00 2001 From: Miguel Veloso Date: Thu, 2 May 2019 19:06:39 +0100 Subject: [PATCH 077/108] Update jquery to 3.4.1 to fix GitHub reported vulnerabilities --- src/Web/WebMVC/Views/Shared/_Layout.cshtml | 4 +- src/Web/WebMVC/libman.json | 2 +- src/Web/WebSPA/package-lock.json | 18 +- src/Web/WebSPA/package.json | 2 +- src/Web/WebStatus/libman.json | 2 +- .../WebhookClient/Pages/Shared/_Layout.cshtml | 4 +- .../wwwroot/lib/jquery/dist/jquery.js | 596 ++++++++++++------ .../wwwroot/lib/jquery/dist/jquery.min.js | 4 +- .../wwwroot/lib/jquery/dist/jquery.min.map | 2 +- 9 files changed, 434 insertions(+), 200 deletions(-) diff --git a/src/Web/WebMVC/Views/Shared/_Layout.cshtml b/src/Web/WebMVC/Views/Shared/_Layout.cshtml index 37baf4ebb..c5447c980 100644 --- a/src/Web/WebMVC/Views/Shared/_Layout.cshtml +++ b/src/Web/WebMVC/Views/Shared/_Layout.cshtml @@ -74,11 +74,11 @@ - - diff --git a/src/Web/WebMVC/libman.json b/src/Web/WebMVC/libman.json index 659badb39..9aa7ef3f4 100644 --- a/src/Web/WebMVC/libman.json +++ b/src/Web/WebMVC/libman.json @@ -3,7 +3,7 @@ "defaultProvider": "cdnjs", "libraries": [ { - "library": "jquery@3.3.1", + "library": "jquery@3.4.1", "destination": "wwwroot/lib/jquery/" }, { diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json index 9a1e9af96..7f3cabd73 100644 --- a/src/Web/WebSPA/package-lock.json +++ b/src/Web/WebSPA/package-lock.json @@ -2371,7 +2371,7 @@ "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "arr-union": { "version": "3.1.0", @@ -2835,7 +2835,7 @@ "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", "dev": true }, "body-parser": { @@ -3344,7 +3344,7 @@ "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -5864,7 +5864,7 @@ "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, "globby": { @@ -6730,7 +6730,7 @@ "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { "isobject": "^3.0.1" } @@ -6941,9 +6941,9 @@ "dev": true }, "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", + "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==" }, "js-base64": { "version": "2.5.1", @@ -7786,7 +7786,7 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "^1.1.7" } diff --git a/src/Web/WebSPA/package.json b/src/Web/WebSPA/package.json index 11cb0b882..41d25c640 100644 --- a/src/Web/WebSPA/package.json +++ b/src/Web/WebSPA/package.json @@ -44,7 +44,7 @@ "file-loader": "2.0.0", "font-awesome": "4.7.0", "isomorphic-fetch": "2.2.1", - "jquery": "^3.3.1", + "jquery": "3.4.1", "ngx-toastr": "^9.0.2", "normalize.css": "8.0.0", "popper.js": "^1.14.4", diff --git a/src/Web/WebStatus/libman.json b/src/Web/WebStatus/libman.json index 4f43a48b0..0ca6c8450 100644 --- a/src/Web/WebStatus/libman.json +++ b/src/Web/WebStatus/libman.json @@ -3,7 +3,7 @@ "defaultProvider": "cdnjs", "libraries": [ { - "library": "jquery@3.3.1", + "library": "jquery@3.4.1", "destination": "wwwroot/lib/jquery/" }, { diff --git a/src/Web/WebhookClient/Pages/Shared/_Layout.cshtml b/src/Web/WebhookClient/Pages/Shared/_Layout.cshtml index 600c82841..bc1a11099 100644 --- a/src/Web/WebhookClient/Pages/Shared/_Layout.cshtml +++ b/src/Web/WebhookClient/Pages/Shared/_Layout.cshtml @@ -59,11 +59,11 @@ - - - - - - - - - - - @RenderSection("scripts", required: false) - - diff --git a/src/Web/WebMonolithic/eShopWeb/Views/Shared/_ValidationScriptsPartial.cshtml b/src/Web/WebMonolithic/eShopWeb/Views/Shared/_ValidationScriptsPartial.cshtml deleted file mode 100644 index 27e0ea7ce..000000000 --- a/src/Web/WebMonolithic/eShopWeb/Views/Shared/_ValidationScriptsPartial.cshtml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - diff --git a/src/Web/WebMonolithic/eShopWeb/Views/_ViewImports.cshtml b/src/Web/WebMonolithic/eShopWeb/Views/_ViewImports.cshtml deleted file mode 100644 index b4d7baf3c..000000000 --- a/src/Web/WebMonolithic/eShopWeb/Views/_ViewImports.cshtml +++ /dev/null @@ -1,2 +0,0 @@ -@using Microsoft.eShopWeb -@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/src/Web/WebMonolithic/eShopWeb/Views/_ViewStart.cshtml b/src/Web/WebMonolithic/eShopWeb/Views/_ViewStart.cshtml deleted file mode 100644 index a5f10045d..000000000 --- a/src/Web/WebMonolithic/eShopWeb/Views/_ViewStart.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@{ - Layout = "_Layout"; -} diff --git a/src/Web/WebMonolithic/eShopWeb/appsettings.Development.json b/src/Web/WebMonolithic/eShopWeb/appsettings.Development.json deleted file mode 100644 index fa8ce71a9..000000000 --- a/src/Web/WebMonolithic/eShopWeb/appsettings.Development.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Logging": { - "IncludeScopes": false, - "LogLevel": { - "Default": "Debug", - "System": "Information", - "Microsoft": "Information" - } - } -} diff --git a/src/Web/WebMonolithic/eShopWeb/appsettings.json b/src/Web/WebMonolithic/eShopWeb/appsettings.json deleted file mode 100644 index 30708d497..000000000 --- a/src/Web/WebMonolithic/eShopWeb/appsettings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ConnectionString": "Server=tcp:127.0.0.1,5433;Initial Catalog=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word", - "CatalogBaseUrl": "http://localhost:5106", - "Logging": { - "IncludeScopes": false, - "LogLevel": { - "Default": "Warning" - } - } -} diff --git a/src/Web/WebMonolithic/eShopWeb/bower.json b/src/Web/WebMonolithic/eShopWeb/bower.json deleted file mode 100644 index b07e3cc5a..000000000 --- a/src/Web/WebMonolithic/eShopWeb/bower.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "asp.net", - "private": true, - "dependencies": { - "bootstrap": "3.3.7", - "jquery": "2.2.0", - "jquery-validation": "1.14.0", - "jquery-validation-unobtrusive": "3.2.6" - } -} diff --git a/src/Web/WebMonolithic/eShopWeb/bundleconfig.json b/src/Web/WebMonolithic/eShopWeb/bundleconfig.json deleted file mode 100644 index 6d3f9a57a..000000000 --- a/src/Web/WebMonolithic/eShopWeb/bundleconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -// Configure bundling and minification for the project. -// More info at https://go.microsoft.com/fwlink/?LinkId=808241 -[ - { - "outputFileName": "wwwroot/css/site.min.css", - // An array of relative input file paths. Globbing patterns supported - "inputFiles": [ - "wwwroot/css/site.css" - ] - }, - { - "outputFileName": "wwwroot/js/site.min.js", - "inputFiles": [ - "wwwroot/js/site.js" - ], - // Optionally specify minification options - "minify": { - "enabled": true, - "renameLocals": true - }, - // Optionally generate .map file - "sourceMap": false - } -] diff --git a/src/Web/WebMonolithic/eShopWeb/eShopWeb.csproj b/src/Web/WebMonolithic/eShopWeb/eShopWeb.csproj deleted file mode 100644 index cf53a938a..000000000 --- a/src/Web/WebMonolithic/eShopWeb/eShopWeb.csproj +++ /dev/null @@ -1,37 +0,0 @@ - - - - netcoreapp1.1 - - - - $(PackageTargetFallback);portable-net45+win8+wp8+wpa81; - 1.1.0 - ..\docker-compose.dcproj - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/css/app.css b/src/Web/WebMonolithic/eShopWeb/wwwroot/css/app.css deleted file mode 100644 index 6975836e2..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/css/app.css +++ /dev/null @@ -1,86 +0,0 @@ -@font-face { - font-family: Montserrat; - font-weight: 400; - src: url(".../fonts/Montserrat-Regular.eot?") format("eot"), url("../fonts/Montserrat-Regular.woff") format("woff"), url("../fonts/Montserrat-Regular.ttf") format("truetype"), url("../fonts/Montserrat-Regular.svg#Montserrat") format("svg"); -} - -@font-face { - font-family: Montserrat; - font-weight: 700; - src: url("../fonts/Montserrat-Bold.eot?") format("eot"), url("../fonts/Montserrat-Bold.woff") format("woff"), url("../fonts/Montserrat-Bold.ttf") format("truetype"), url("../fonts/Montserrat-Bold.svg#Montserrat") format("svg"); -} - -html, -body { - font-family: Montserrat, sans-serif; - font-size: 16px; - font-weight: 400; - z-index: 10; -} - -*, -*::after, -*::before { - box-sizing: border-box; -} - -.preloading { - color: #00A69C; - display: block; - font-size: 1.5rem; - left: 50%; - position: fixed; - top: 50%; - transform: translate(-50%, -50%); -} - -select::-ms-expand { - display: none; -} - -@media screen and (min-width: 992px) { - .form-input { - max-width: 360px; - width: 360px; - } -} - -.form-input { - border-radius: 0; - height: 45px; - padding: 10px; -} - -.form-input-small { - max-width: 100px !important; -} - -.form-input-medium { - width: 150px !important; -} - -.alert { - padding-left: 0; -} - -.alert-danger { - background-color: transparent; - border: 0; - color: #FB0D0D; - font-size: 12px; -} - -a, -a:active, -a:hover, -a:visited { - color: #000; - text-decoration: none; - transition: color 0.35s; -} - - a:hover, - a:active { - color: #75B918; - transition: color 0.35s; - } diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/css/catalog/catalog.component.css b/src/Web/WebMonolithic/eShopWeb/wwwroot/css/catalog/catalog.component.css deleted file mode 100644 index 3ee2b7210..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/css/catalog/catalog.component.css +++ /dev/null @@ -1,147 +0,0 @@ -.esh-catalog-hero { - background-image: url("../../images/main_banner.png"); - background-size: cover; - height: 260px; - width: 100%; -} - -.esh-catalog-title { - position: relative; - top: 74.28571px; -} - -.esh-catalog-filters { - background-color: #00A69C; - height: 65px; -} - -.esh-catalog-filter { - background-color: transparent; - border-color: #00d9cc; - color: #FFFFFF; - cursor: pointer; - margin-right: 1rem; - margin-top: .5rem; - outline-color: #83D01B; - padding-bottom: 0; - padding-left: 0.5rem; - padding-right: 0.5rem; - padding-top: 1.5rem; - min-width: 140px; - -webkit-appearance: none; -} - - .esh-catalog-filter option { - background-color: #00A69C; - } - -.esh-catalog-label { - display: inline-block; - position: relative; - z-index: 0; -} - - .esh-catalog-label::before { - color: rgba(255, 255, 255, 0.5); - content: attr(data-title); - font-size: 0.65rem; - margin-top: 0.65rem; - margin-left: 0.5rem; - position: absolute; - text-transform: uppercase; - z-index: 1; - } - - .esh-catalog-label::after { - background-image: url("../../images/arrow-down.png"); - height: 7px; - content: ''; - position: absolute; - right: 1.5rem; - top: 2.5rem; - width: 10px; - z-index: 1; - } - -.esh-catalog-send { - background-color: #83D01B; - color: #FFFFFF; - cursor: pointer; - font-size: 1rem; - transform: translateY(.5rem); - padding: 0.5rem; - transition: all 0.35s; -} - - .esh-catalog-send:hover { - background-color: #4a760f; - transition: all 0.35s; - } - -.esh-catalog-items { - margin-top: 1rem; -} - -.esh-catalog-item { - text-align: center; - margin-bottom: 1.5rem; - width: 33%; - display: inline-block; - float: none !important; -} - -@media screen and (max-width: 1024px) { - .esh-catalog-item { - width: 50%; - } -} - -@media screen and (max-width: 768px) { - .esh-catalog-item { - width: 100%; - } -} - -.esh-catalog-thumbnail { - max-width: 370px; - width: 100%; -} - -.esh-catalog-button { - background-color: #83D01B; - border: none; - color: #FFFFFF; - cursor: pointer; - font-size: 1rem; - height: 3rem; - margin-top: 1rem; - transition: all 0.35s; - width: 80%; -} - .esh-catalog-button.is-disabled { - opacity: .5; - pointer-events: none; - } - - .esh-catalog-button:hover { - background-color: #4a760f; - transition: all 0.35s; - } - -.esh-catalog-name { - font-size: 1rem; - font-weight: 300; - margin-top: .5rem; - text-align: center; - text-transform: uppercase; -} - -.esh-catalog-price { - text-align: center; - font-weight: 900; - font-size: 28px; -} - - .esh-catalog-price::before { - content: '$'; - } diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/css/catalog/pager.css b/src/Web/WebMonolithic/eShopWeb/wwwroot/css/catalog/pager.css deleted file mode 100644 index eec6e3940..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/css/catalog/pager.css +++ /dev/null @@ -1,34 +0,0 @@ -.esh-pager-wrapper { - padding-top: 1rem; - text-align: center; -} - -.esh-pager-item { - margin: 0 5vw; -} - -.esh-pager-item--navigable { - display: inline-block; - cursor: pointer; -} - - .esh-pager-item--navigable.is-disabled { - opacity: 0; - pointer-events: none; - } - - .esh-pager-item--navigable:hover { - color: #83D01B; - } - -@media screen and (max-width: 1280px) { - .esh-pager-item { - font-size: 0.85rem; - } -} - -@media screen and (max-width: 1024px) { - .esh-pager-item { - margin: 0 4vw; - } -} diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/favicon.ico b/src/Web/WebMonolithic/eShopWeb/wwwroot/favicon.ico deleted file mode 100644 index a3a799985c43bc7309d701b2cad129023377dc71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 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 tAASp@`s*a{|~9TRmA`R diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Bold.svg b/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Bold.svg deleted file mode 100644 index b0cb0aeb6..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Bold.svg +++ /dev/null @@ -1,1933 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Sep 12 19:08:28 2016 - By ,,, -Copyright (c) 2011-2012, Julieta Ulanovsky (julieta.ulanovsky@gmail.com), with Reserved Font Names 'Montserrat' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Bold.ttf b/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Bold.ttf deleted file mode 100644 index ae33a4538132c8fc174dd53b3ce771009405d7a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29560 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 diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Bold.woff b/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Bold.woff deleted file mode 100644 index 8ce1effc973d831c66ef7d2bc2533c37aac6762d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17348 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 diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Bold.woff2 b/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Bold.woff2 deleted file mode 100644 index 16cf34a7c109f6e51c497dbdb1b249c36b343d93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12112 zcmV-WFR##dPew8T0RR91054Dg5C8xG0CQjf050$V0suk)00000000000000000000 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 - - - -Created by FontForge 20120731 at Mon Sep 12 19:08:52 2016 - By ,,, -Copyright (c) 2011-2012, Julieta Ulanovsky (julieta.ulanovsky@gmail.com), with Reserved Font Names 'Montserrat' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Regular.ttf b/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Regular.ttf deleted file mode 100644 index 5b4b5afe6ee4b560b65b2f2040ad38f6c094b347..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29016 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 diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Regular.woff b/src/Web/WebMonolithic/eShopWeb/wwwroot/fonts/Montserrat-Regular.woff deleted file mode 100644 index 930c783d1f154ae57aa4e582db218ffd81a903f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17284 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 aqKv)>!F(%&5iAcxnESBV|Jp&zb^rjY^6IGo diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/images/arrow-down.png b/src/Web/WebMonolithic/eShopWeb/wwwroot/images/arrow-down.png deleted file mode 100644 index 1ebe2e929f3f2f57d48d8464510f8f3ba0d4104d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1045 zcmaJ=&ui0A9M5d`gXy4%PTj>vCNjn5N7r^uSlnu|y23g~S6EMCn!L5KOJ0_|*{mKM z4rIHDrwN|KgP;s=9z>l?!NG#EY^&K;}!=b{?$Zk@tO%&*$^~`BtYUul98J zbyF18lO9*HWcTgPt`73&pMTTHb_S2-@idyn71e=MQbz>{(xzI3S*YrZ^ILG3q5=a( zE|2q>2~k5Pqxu-eGi}1AsNoUMR<$z3pa6@8CDFfLy`_PnOY}@E!)0t4mW=VL1E;H# zIjvgO1f3qa42C_C2$&G7z%%D8SM(&hrYjQLzh-GrgW$469|V=pOaU1=5X6{xSmOsH zU`Sy2m=H-sFM$Zh$5}4Q@Kmp#IUso1@Q)StV8XMNSf3!q^sBwo<7ul|cqM zMZy&XmW!~FNSGkP?xKZNFKoH}4Fv_dnq%15Ko;;7)dE_;5=|mKNWrw5vX)yf6Db($ zsW!_qoS#wyn92MfYMM>7i?i@B-hT?axkVeYS?Hn#M)Xr#eakhWk#3pcp>Ay;V0^#{VViDv~m#x1C)9Atu8;-b+ymUv6O zI#+KU%TP-$OM+qj_WsrG#ub?%-)s&qIW)%~T4d%OGTiuGwMZVua#~5|ysw41H(+Ob zV \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/images/brand.png b/src/Web/WebMonolithic/eShopWeb/wwwroot/images/brand.png deleted file mode 100644 index 2afd3dccfceb9139fac942b2bc0b3cfbf95575db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5225 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 diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/images/brand_dark.png b/src/Web/WebMonolithic/eShopWeb/wwwroot/images/brand_dark.png deleted file mode 100644 index 44a65364f0b1bbc617a167b4677f66e4f36c85c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5239 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 diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/images/logout.png b/src/Web/WebMonolithic/eShopWeb/wwwroot/images/logout.png deleted file mode 100644 index 9915b9862900e5195baeecb1b9a77432903b9cff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 429 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
?bRZ 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

@b|ou?aD`(ZOeEuGAJ& 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�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

V!&aQB0@)UI-_@>AvP5J|Bg4g! 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

    ,
      , or
      .\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n margin-bottom: 20px;\n padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n text-decoration: none;\n color: @list-group-link-hover-color;\n background-color: @list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n.list-group-item {\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n background-color: @list-group-disabled-bg;\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a&,\n button& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n .border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-left: @panel-body-padding;\n padding-right: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n border-bottom-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n border: 0;\n margin-bottom: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0,0,0,.5));\n background-clip: padding-box;\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-small;\n\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }\n &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }\n &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }\n &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n bottom: 0;\n right: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n",".reset-text() {\n font-family: @font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: @line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-base;\n\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n margin: 0; // reset heading margin\n padding: 8px 14px;\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n}\n.popover > .arrow {\n border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n border-width: @popover-arrow-width;\n content: \"\";\n}\n\n.popover {\n &.top > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n bottom: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-color;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n left: 1px;\n bottom: -@popover-arrow-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-color;\n }\n }\n &.bottom > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n top: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n top: 1px;\n margin-left: -@popover-arrow-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n bottom: -@popover-arrow-width;\n }\n }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n\n > .item {\n display: none;\n position: relative;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n .transition-transform(~'0.6s ease-in-out');\n .backface-visibility(~'hidden');\n .perspective(1000px);\n\n &.next,\n &.active.right {\n .translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n .translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n .translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: @carousel-control-width;\n .opacity(@carousel-control-opacity);\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n }\n &.right {\n left: auto;\n right: 0;\n #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n outline: 0;\n color: @carousel-control-color;\n text-decoration: none;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n }\n\n\n .icon-prev {\n &:before {\n content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n cursor: pointer;\n\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0,0,0,0); // IE9\n }\n .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: (@carousel-control-font-size * 1.5);\n height: (@carousel-control-font-size * 1.5);\n margin-top: (@carousel-control-font-size / -2);\n font-size: (@carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: (@carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: (@carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n display: block !important;\n table& { display: table !important; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]} \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css deleted file mode 100644 index ed3905e0e..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.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-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-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-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.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{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.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{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.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{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map deleted file mode 100644 index 6c7fa40b9..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["less/normalize.less","less/print.less","bootstrap.css","dist/css/bootstrap.css","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"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kDG,edokDH,MAAA,acpkDG,edukDH,MAAA,IcvkDG,ed0kDH,MAAA,ac1kDG,ed6kDH,MAAA,ac7kDG,edglDH,MAAA,IchlDG,edmlDH,MAAA,ac9kDG,edilDH,MAAA,YchmDG,edmmDH,MAAA,KcnmDG,gBdsmDH,KAAA,KctmDG,gBdymDH,KAAA,aczmDG,gBd4mDH,KAAA,ac5mDG,ed+mDH,KAAA,Ic/mDG,edknDH,KAAA,aclnDG,edqnDH,KAAA,acrnDG,edwnDH,KAAA,IcxnDG,ed2nDH,KAAA,ac3nDG,ed8nDH,KAAA,ac9nDG,edioDH,KAAA,IcjoDG,edooDH,KAAA,ac/nDG,edkoDH,KAAA,YcnnDG,edsnDH,KAAA,KctnDG,kBdynDH,YAAA,KcznDG,kBd4nDH,YAAA,ac5nDG,kBd+nDH,YAAA,ac/nDG,iBdkoDH,YAAA,IcloDG,iBdqoDH,YAAA,acroDG,iBdwoDH,YAAA,acxoDG,iBd2oDH,YAAA,Ic3oDG,iBd8oDH,YAAA,ac9oDG,iBdipDH,YAAA,acjpDG,iBdopDH,YAAA,IcppDG,iBdupDH,YAAA,acvpDG,iBd0pDH,YAAA,Yc5rDG,iBACE,YAAA,EAOJ,yBACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Ud0rDD,MAAA,Kc1rDC,Wd6rDD,MAAA,Kc7rDC,WdgsDD,MAAA,achsDC,WdmsDD,MAAA,acnsDC,UdssDD,MAAA,IctsDC,UdysDD,MAAA,aczsDC,Ud4sDD,MAAA,ac5sDC,Ud+sDD,MAAA,Ic/sDC,UdktDD,MAAA,acltDC,UdqtDD,MAAA,acrtDC,UdwtDD,MAAA,IcxtDC,Ud2tDD,MAAA,ac5sDC,Ud+sDD,MAAA,Yc/sDC,gBdktDD,MAAA,KcltDC,gBdqtDD,MAAA,acrtDC,gBdwtDD,MAAA,acxtDC,ed2tDD,MAAA,Ic3tDC,ed8tDD,MAAA,ac9tDC,ediuDD,MAAA,acjuDC,edouDD,MAAA,IcpuDC,eduuDD,MAAA,acvuDC,ed0uDD,MAAA,ac1uDC,ed6uDD,MAAA,Ic7uDC,edgvDD,MAAA,ac3uDC,ed8uDD,MAAA,Yc7vDC,edgwDD,MAAA,KchwDC,gBdmwDD,KAAA,KcnwDC,gBdswDD,KAAA,actwDC,gBdywDD,KAAA,aczwDC,ed4wDD,KAAA,Ic5wDC,ed+wDD,KAAA,ac/wDC,edkxDD,KAAA,aclxDC,edqxDD,KAAA,IcrxDC,edwxDD,KAAA,acxxDC,ed2xDD,KAAA,ac3xDC,ed8xDD,KAAA,Ic9xDC,ediyDD,KAAA,ac5xDC,ed+xDD,KAAA,YchxDC,edmxDD,KAAA,KcnxDC,kBdsxDD,YAAA,KctxDC,kBdyxDD,YAAA,aczxDC,kBd4xDD,YAAA,ac5xDC,iBd+xDD,YAAA,Ic/xDC,iBdkyDD,YAAA,aclyDC,iBdqyDD,YAAA,acryDC,iBdwyDD,YAAA,IcxyDC,iBd2yDD,YAAA,ac3yDC,iBd8yDD,YAAA,ac9yDC,iBdizDD,YAAA,IcjzDC,iBdozDD,YAAA,acpzDC,iBduzDD,YAAA,YY9yDD,iBE3CE,YAAA,GAQF,yBACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Udw1DD,MAAA,Kcx1DC,Wd21DD,MAAA,Kc31DC,Wd81DD,MAAA,ac91DC,Wdi2DD,MAAA,acj2DC,Udo2DD,MAAA,Icp2DC,Udu2DD,MAAA,acv2DC,Ud02DD,MAAA,ac12DC,Ud62DD,MAAA,Ic72DC,Udg3DD,MAAA,ach3DC,Udm3DD,MAAA,acn3DC,Uds3DD,MAAA,Ict3DC,Udy3DD,MAAA,ac12DC,Ud62DD,MAAA,Yc72DC,gBdg3DD,MAAA,Kch3DC,gBdm3DD,MAAA,acn3DC,gBds3DD,MAAA,act3DC,edy3DD,MAAA,Icz3DC,ed43DD,MAAA,ac53DC,ed+3DD,MAAA,ac/3DC,edk4DD,MAAA,Icl4DC,edq4DD,MAAA,acr4DC,edw4DD,MAAA,acx4DC,ed24DD,MAAA,Ic34DC,ed84DD,MAAA,acz4DC,ed44DD,MAAA,Yc35DC,ed85DD,MAAA,Kc95DC,gBdi6DD,KAAA,Kcj6DC,gBdo6DD,KAAA,acp6DC,gBdu6DD,KAAA,acv6DC,ed06DD,KAAA,Ic16DC,ed66DD,KAAA,ac76DC,edg7DD,KAAA,ach7DC,edm7DD,KAAA,Icn7DC,eds7DD,KAAA,act7DC,edy7DD,KAAA,acz7DC,ed47DD,KAAA,Ic57DC,ed+7DD,KAAA,ac17DC,ed67DD,KAAA,Yc96DC,edi7DD,KAAA,Kcj7DC,kBdo7DD,YAAA,Kcp7DC,kBdu7DD,YAAA,acv7DC,kBd07DD,YAAA,ac17DC,iBd67DD,YAAA,Ic77DC,iBdg8DD,YAAA,ach8DC,iBdm8DD,YAAA,acn8DC,iBds8DD,YAAA,Ict8DC,iBdy8DD,YAAA,acz8DC,iBd48DD,YAAA,ac58DC,iBd+8DD,YAAA,Ic/8DC,iBdk9DD,YAAA,acl9DC,iBdq9DD,YAAA,YYz8DD,iBE9CE,YAAA,GAQF,0BACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Uds/DD,MAAA,Kct/DC,Wdy/DD,MAAA,Kcz/DC,Wd4/DD,MAAA,ac5/DC,Wd+/DD,MAAA,ac//DC,UdkgED,MAAA,IclgEC,UdqgED,MAAA,acrgEC,UdwgED,MAAA,acxgEC,Ud2gED,MAAA,Ic3gEC,Ud8gED,MAAA,ac9gEC,UdihED,MAAA,acjhEC,UdohED,MAAA,IcphEC,UduhED,MAAA,acxgEC,Ud2gED,MAAA,Yc3gEC,gBd8gED,MAAA,Kc9gEC,gBdihED,MAAA,acjhEC,gBdohED,MAAA,acphEC,eduhED,MAAA,IcvhEC,ed0hED,MAAA,ac1hEC,ed6hED,MAAA,ac7hEC,edgiED,MAAA,IchiEC,edmiED,MAAA,acniEC,edsiED,MAAA,actiEC,edyiED,MAAA,IcziEC,ed4iED,MAAA,acviEC,ed0iED,MAAA,YczjEC,ed4jED,MAAA,Kc5jEC,gBd+jED,KAAA,Kc/jEC,gBdkkED,KAAA,aclkEC,gBdqkED,KAAA,acrkEC,edwkED,KAAA,IcxkEC,ed2kED,KAAA,ac3kEC,ed8kED,KAAA,ac9kEC,edilED,KAAA,IcjlEC,edolED,KAAA,acplEC,edulED,KAAA,acvlEC,ed0lED,KAAA,Ic1lEC,ed6lED,KAAA,acxlEC,ed2lED,KAAA,Yc5kEC,ed+kED,KAAA,Kc/kEC,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A,KlBq7FM,WAAY,KkBn7FhB,QAAA,IASN,eC3DE,yBACA,eAAA,KpBi+FD,aoB99FC,MAAA,KnB0+FA,iBAAkB,KmBx+FhB,aAAA,KpBk+FH,mBoBh+FO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBi+FH,mBoB99FC,MAAA,KnB0+FA,iBAAkB,QAClB,aAAc,QmBt+FR,oBADJ,oBpBi+FH,mCoB99FG,MAAA,KnB0+FF,iBAAkB,QAClB,aAAc,QmBt+FN,0BnB4+FV,0BAHA,0BmB1+FM,0BnB4+FN,0BAHA,0BDFC,yCoBx+FK,yCnB4+FN,yCmBv+FE,MAAA,KnB++FA,iBAAkB,QAClB,aAAc,QmBx+FZ,oBpBg+FH,oBoBh+FG,mCnB6+FF,iBAAkB,KmBz+FV,4BnB8+FV,4BAHA,4BDHC,6BCOD,6BAHA,6BkB39FA,sCClBM,sCnB8+FN,sCmBx+FI,iBAAA,KACA,aAAA,KDcJ,oBC9DE,MAAA,KACA,iBAAA,KpB0hGD,aoBvhGC,MAAA,KnBmiGA,iBAAkB,QmBjiGhB,aAAA,QpB2hGH,mBoBzhGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpB0hGH,mBoBvhGC,MAAA,KnBmiGA,iBAAkB,QAClB,aAAc,QmB/hGR,oBADJ,oBpB0hGH,mCoBvhGG,MAAA,KnBmiGF,iBAAkB,QAClB,aAAc,QmB/hGN,0BnBqiGV,0BAHA,0BmBniGM,0BnBqiGN,0BAHA,0BDFC,yCoBjiGK,yCnBqiGN,yCmBhiGE,MAAA,KnBwiGA,iBAAkB,QAClB,aAAc,QmBjiGZ,oBpByhGH,oBoBzhGG,mCnBsiGF,iBAAkB,KmBliGV,4BnBuiGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBjhGA,sCCrBM,sCnBuiGN,sCmBjiGI,iBAAA,QACA,aAAA,QDkBJ,oBClEE,MAAA,QACA,iBAAA,KpBmlGD,aoBhlGC,MAAA,KnB4lGA,iBAAkB,QmB1lGhB,aAAA,QpBolGH,mBoBllGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBmlGH,mBoBhlGC,MAAA,KnB4lGA,iBAAkB,QAClB,aAAc,QmBxlGR,oBADJ,oBpBmlGH,mCoBhlGG,MAAA,KnB4lGF,iBAAkB,QAClB,aAAc,QmBxlGN,0BnB8lGV,0BAHA,0BmB5lGM,0BnB8lGN,0BAHA,0BDFC,yCoB1lGK,yCnB8lGN,yCmBzlGE,MAAA,KnBimGA,iBAAkB,QAClB,aAAc,QmB1lGZ,oBpBklGH,oBoBllGG,mCnB+lGF,iBAAkB,KmB3lGV,4BnBgmGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBtkGA,sCCzBM,sCnBgmGN,sCmB1lGI,iBAAA,QACA,aAAA,QDsBJ,oBCtEE,MAAA,QACA,iBAAA,KpB4oGD,UoBzoGC,MAAA,KnBqpGA,iBAAkB,QmBnpGhB,aAAA,QpB6oGH,gBoB3oGO,gBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpB4oGH,gBoBzoGC,MAAA,KnBqpGA,iBAAkB,QAClB,aAAc,QmBjpGR,iBADJ,iBpB4oGH,gCoBzoGG,MAAA,KnBqpGF,iBAAkB,QAClB,aAAc,QmBjpGN,uBnBupGV,uBAHA,uBmBrpGM,uBnBupGN,uBAHA,uBDFC,sCoBnpGK,sCnBupGN,sCmBlpGE,MAAA,KnB0pGA,iBAAkB,QAClB,aAAc,QmBnpGZ,iBpB2oGH,iBoB3oGG,gCnBwpGF,iBAAkB,KmBppGV,yBnBypGV,yBAHA,yBDHC,0BCOD,0BAHA,0BkB3nGA,mCC7BM,mCnBypGN,mCmBnpGI,iBAAA,QACA,aAAA,QD0BJ,iBC1EE,MAAA,QACA,iBAAA,KpBqsGD,aoBlsGC,MAAA,KnB8sGA,iBAAkB,QmB5sGhB,aAAA,QpBssGH,mBoBpsGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBqsGH,mBoBlsGC,MAAA,KnB8sGA,iBAAkB,QAClB,aAAc,QmB1sGR,oBADJ,oBpBqsGH,mCoBlsGG,MAAA,KnB8sGF,iBAAkB,QAClB,aAAc,QmB1sGN,0BnBgtGV,0BAHA,0BmB9sGM,0BnBgtGN,0BAHA,0BDFC,yCoB5sGK,yCnBgtGN,yCmB3sGE,MAAA,KnBmtGA,iBAAkB,QAClB,aAAc,QmB5sGZ,oBpBosGH,oBoBpsGG,mCnBitGF,iBAAkB,KmB7sGV,4BnBktGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBhrGA,sCCjC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A,QkDrxKC,WAAY,IAAI,MAAM,KjDizKtB,2BAA4B,IiD9yK1B,0BAAA,IAHJ,mBAAA,mCAMM,cAAA,ElDwxKL,oCkDnxKG,oDjD+yKF,aAAc,IAAI,EiD7yKZ,cAAA,EvBtEL,4D3B61KF,4EkDjxKG,WAAA,EjD6yKF,uBAAwB,IiD3yKlB,wBAAA,IvBtEL,0D3B21KF,0EkD1yKC,cAAe,EvB1Df,2BAAA,IACC,0BAAA,IuB0FH,+EAEI,uBAAA,ElD8wKH,wBAAA,EkD1wKC,wDlD6wKD,iBAAA,EC4BD,0BACE,iBAAkB,EiDlyKpB,8BlD0wKC,ckD1wKD,gCjDuyKE,cAAe,EiDvyKjB,sCAQM,sBlDwwKL,wCC4BC,cAAe,K0Br5Kf,aAAA,KuByGF,wDlDqxKC,0BC4BC,uBAAwB,IACxB,wBAAyB,IiDlzK3B,yFAoBQ,yFlDwwKP,2DkDzwKO,2DjDqyKN,uBAAwB,IACxB,wBAAyB,IAK3B,wGiD9zKA,wGjD4zKA,wGDtBC,wGCuBD,0EiD7zKA,0EjD2zKA,0EiDnyKU,0EjD2yKR,uBAAwB,IAK1B,uGiDx0KA,uGjDs0KA,uGDtBC,uGCuBD,yEiDv0KA,yEjDq0KA,yEiDzyKU,yEvB7HR,wBAAA,IuBiGF,sDlDqzKC,yBC4BC,2BAA4B,IAC5B,0BAA2B,IiDxyKrB,qFA1CR,qFAyCQ,wDlDmxKP,wDC4BC,2BAA4B,IAC5B,0BAA2B,IAG7B,oGDtBC,oGCwBD,oGiD91KA,oGjD21KA,uEiD7yKU,uEjD+yKV,uEiD71KA,uEjDm2KE,0BAA2B,IAG7B,mGDtBC,mGCwBD,mGiDx2KA,mGjDq2KA,sEiDnzKU,sEjDqzKV,sEiDv2KA,sEjD62KE,2BAA4B,IiDlzK1B,0BlD2xKH,qCkDt1KD,0BAAA,qCA+DI,WAAA,IAAA,MAAA,KA/DJ,kDAAA,kDAmEI,WAAA,EAnEJ,uBAAA,yCjD23KE,OAAQ,EiDjzKA,+CjDqzKV,+CiD/3KA,+CjDi4KA,+CAEA,+CANA,+CDjBC,iECoBD,iEiDh4KA,iEjDk4KA,iEAEA,iEANA,iEAWE,YAAa,EiD3zKL,8CjD+zKV,8CiD74KA,8CjD+4KA,8CAEA,8CANA,8CDjBC,gECoBD,gEiD94KA,gEjDg5KA,gEAEA,gEANA,gEAWE,aAAc,EAIhB,+CiD35KA,+CjDy5KA,+CiDl0KU,+CjDq0KV,iEiD55KA,iEjD05KA,iEDtBC,iEC6BC,cAAe,EAEjB,8CiDn0KU,8CjDq0KV,8CiDr6KA,8CjDo6KA,gEDtBC,gECwBD,gEiDh0KI,gEACA,cAAA,EAUJ,yBACE,cAAA,ElDmyKD,OAAA,EkD/xKG,aACA,cAAA,KANJ,oBASM,cAAA,ElDkyKL,cAAA,IkD7xKG,2BlDgyKH,WAAA,IC4BD,4BiDxzKM,cAAA,EAKF,wDAvBJ,wDlDqzKC,WAAA,IAAA,MAAA,KkD5xKK,2BlD+xKL,WAAA,EmDlhLC,uDnDqhLD,cAAA,IAAA,MAAA,KmDlhLG,eACA,aAAA,KnDshLH,8BmDxhLC,MAAA,KAMI,iBAAA,QnDqhLL,aAAA,KmDlhLK,0DACA,iBAAA,KAGJ,qCAEI,MAAA,QnDmhLL,iBAAA,KmDpiLC,yDnDuiLD,oBAAA,KmDpiLG,eACA,aAAA,QnDwiLH,8BmD1iLC,MAAA,KAMI,iBAAA,QnDuiLL,aAAA,QmDpiLK,0DACA,iBAAA,QAGJ,qCAEI,MAAA,QnDqiLL,iBAAA,KmDtjLC,yDnDyjLD,oBAAA,QmDtjLG,eACA,aAAA,QnD0jLH,8BmD5jLC,MAAA,QAMI,iBAAA,QnDyjLL,aAAA,QmDtjLK,0DACA,iBAAA,QAGJ,qCAEI,MAAA,QnDujLL,iBAAA,QmDxkLC,yDnD2kLD,oBAAA,QmDxkLG,YACA,aAAA,QnD4kLH,2BmD9kLC,MAAA,QAMI,iBAAA,QnD2kLL,aAAA,QmDxkLK,uDACA,iBAAA,QAGJ,kCAEI,MAAA,QnDykLL,iBAAA,QmD1lLC,sDnD6lLD,oBAAA,QmD1lLG,eACA,aAAA,QnD8lLH,8BmDhmLC,MAAA,QAMI,iBAAA,QnD6lLL,aAAA,QmD1lLK,0DACA,iBAAA,QAGJ,qCAEI,MAAA,QnD2lLL,iBAAA,QmD5mLC,yDnD+mLD,oBAAA,QmD5mLG,cACA,aAAA,QnDgnLH,6BmDlnLC,MAAA,QAMI,iBAAA,QnD+mLL,aAAA,QmD5mLK,yDACA,iBAAA,QAGJ,oCAEI,MAAA,QnD6mLL,iBAAA,QoD5nLC,wDACA,oBAAA,QAEA,kBACA,SAAA,SpD+nLD,QAAA,MoDpoLC,OAAQ,EnDgqLR,QAAS,EACT,SAAU,OAEZ,yCmDtpLI,wBADA,yBAEA,yBACA,wBACA,SAAA,SACA,IAAA,EACA,OAAA,EpD+nLH,KAAA,EoD1nLC,MAAO,KACP,OAAA,KpD4nLD,OAAA,EoDvnLC,wBpD0nLD,eAAA,OqDppLC,uBACA,eAAA,IAEA,MACA,WAAA,KACA,QAAA,KjDwDA,cAAA,KACQ,iBAAA,QJgmLT,OAAA,IAAA,MAAA,QqD/pLC,cAAe,IASb,mBAAA,MAAA,EAAA,IAAA,IAAA,gBACA,WAAA,MAAA,EAAA,IAAA,IAAA,gBAKJ,iBACE,aAAA,KACA,aAAA,gBAEF,SACE,QAAA,KACA,cAAA,ICtBF,SACE,QAAA,IACA,cAAA,IAEA,OACA,MAAA,MACA,UAAA,KjCRA,YAAA,IAGA,YAAA,ErBqrLD,MAAA,KsD7qLC,YAAA,EAAA,IAAA,EAAA,KrDysLA,OAAQ,kBqDvsLN,QAAA,GjCbF,aiCeE,ajCZF,MAAA,KrB6rLD,gBAAA,KsDzqLC,OAAA,QACE,OAAA,kBACA,QAAA,GAEA,aACA,mBAAA,KtD2qLH,QAAA,EuDhsLC,OAAQ,QACR,WAAA,IvDksLD,OAAA,EuD7rLC,YACA,SAAA,OAEA,OACA,SAAA,MACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EAIA,QAAA,KvD6rLD,QAAA,KuD1rLC,SAAA,OnD+GA,2BAAA,MACI,QAAA,EAEI,0BAkER,mBAAA,kBAAA,IAAA,SAEK,cAAA,aAAA,IAAA,SACG,WAAA,UAAA,IAAA,SJ6gLT,kBAAA,kBuDhsLC,cAAA,kBnD2GA,aAAA,kBACI,UAAA,kBAEI,wBJwlLT,kBAAA,euDpsLK,cAAe,eACnB,aAAA,eACA,UAAA,eAIF,mBACE,WAAA,OACA,WAAA,KvDqsLD,cuDhsLC,SAAU,SACV,MAAA,KACA,OAAA,KAEA,eACA,SAAA,SnDaA,iBAAA,KACQ,wBAAA,YmDZR,gBAAA,YtD4tLA,OsD5tLA,IAAA,MAAA,KAEA,OAAA,IAAA,MAAA,evDksLD,cAAA,IuD9rLC,QAAS,EACT,mBAAA,EAAA,IAAA,IAAA,eACA,WAAA,EAAA,IAAA,IAAA,eAEA,gBACA,SAAA,MACA,IAAA,EACA,MAAA,EvDgsLD,OAAA,EuD9rLC,KAAA,ElCrEA,QAAA,KAGA,iBAAA,KkCmEA,qBlCtEA,OAAA,iBAGA,QAAA,EkCwEF,mBACE,OAAA,kBACA,QAAA,GAIF,cACE,QAAA,KvDgsLD,cAAA,IAAA,MAAA,QuD3rLC,qBACA,WAAA,KAKF,aACE,OAAA,EACA,YAAA,WAIF,YACE,SAAA,SACA,QAAA,KvD0rLD,cuD5rLC,QAAS,KAQP,WAAA,MACA,WAAA,IAAA,MAAA,QATJ,wBAaI,cAAA,EvDsrLH,YAAA,IuDlrLG,mCvDqrLH,YAAA,KuD/qLC,oCACA,YAAA,EAEA,yBACA,SAAA,SvDkrLD,IAAA,QuDhqLC,MAAO,KAZP,OAAA,KACE,SAAA,OvDgrLD,yBuD7qLD,cnDvEA,MAAA,MACQ,OAAA,KAAA,KmD2ER,eAAY,mBAAA,EAAA,IAAA,KAAA,evD+qLX,WAAA,EAAA,IAAA,KAAA,euDzqLD,UAFA,MAAA,OvDirLD,yBwD/zLC,UACA,MAAA,OCNA,SAEA,SAAA,SACA,QAAA,KACA,QAAA,MACA,YAAA,iBAAA,UAAA,MAAA,WACA,UAAA,KACA,WAAA,OACA,YAAA,IACA,YAAA,WACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,ODHA,WAAA,OnCVA,aAAA,OAGA,UAAA,OrBs1LD,YAAA,OwD30LC,OAAA,iBnCdA,QAAA,ErB61LD,WAAA,KwD90LY,YAAmB,OAAA,kBxDk1L/B,QAAA,GwDj1LY,aAAmB,QAAA,IAAA,ExDq1L/B,WAAA,KwDp1LY,eAAmB,QAAA,EAAA,IxDw1L/B,YAAA,IwDv1LY,gBAAmB,QAAA,IAAA,ExD21L/B,WAAA,IwDt1LC,cACA,QAAA,EAAA,IACA,YAAA,KAEA,eACA,UAAA,MxDy1LD,QAAA,IAAA,IwDr1LC,MAAO,KACP,WAAA,OACA,iBAAA,KACA,cAAA,IAEA,exDu1LD,SAAA,SwDn1LC,MAAA,EACE,OAAA,EACA,aAAA,YACA,aAAA,MAEA,4BxDq1LH,OAAA,EwDn1LC,KAAA,IACE,YAAA,KACA,aAAA,IAAA,IAAA,EACA,iBAAA,KAEA,iCxDq1LH,MAAA,IwDn1LC,OAAA,EACE,cAAA,KACA,aAAA,IAAA,IAAA,EACA,iBAAA,KAEA,kCxDq1LH,OAAA,EwDn1LC,KAAA,IACE,cAAA,KACA,aAAA,IAAA,IAAA,EACA,iBAAA,KAEA,8BxDq1LH,IAAA,IwDn1LC,KAAA,EACE,WAAA,KACA,aAAA,IAAA,IAAA,IAAA,EACA,mBAAA,KAEA,6BxDq1LH,IAAA,IwDn1LC,MAAA,EACE,WAAA,KACA,aAAA,IAAA,EAAA,IAAA,IACA,kBAAA,KAEA,+BxDq1LH,IAAA,EwDn1LC,KAAA,IACE,YAAA,KACA,aAAA,EAAA,IAAA,IACA,oBAAA,KAEA,oCxDq1LH,IAAA,EwDn1LC,MAAA,IACE,WAAA,KACA,aAAA,EAAA,IAAA,IACA,oBAAA,KAEA,qCxDq1LH,IAAA,E0Dl7LC,KAAM,IACN,WAAA,KACA,aAAA,EAAA,IAAA,IACA,oBAAA,KAEA,SACA,SAAA,SACA,IAAA,EDXA,KAAA,EAEA,QAAA,KACA,QAAA,KACA,UAAA,MACA,QAAA,IACA,YAAA,iBAAA,UAAA,MAAA,WACA,UAAA,KACA,WAAA,OACA,YAAA,IACA,YAAA,WACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KCAA,eAAA,OAEA,WAAA,OACA,aAAA,OAAA,UAAA,OACA,YAAA,OACA,iBAAA,KACA,wBAAA,YtD8CA,gBAAA,YACQ,OAAA,IAAA,MAAA,KJk5LT,OAAA,IAAA,MAAA,e0D77LC,cAAA,IAAY,mBAAA,EAAA,IAAA,KAAA,e1Dg8Lb,WAAA,EAAA,IAAA,KAAA,e0D/7La,WAAA,KACZ,aAAY,WAAA,MACZ,eAAY,YAAA,KAGd,gBACE,WAAA,KAEA,cACA,YAAA,MAEA,e1Dq8LD,QAAA,IAAA,K0Dl8LC,OAAQ,EACR,UAAA,K1Do8LD,iBAAA,Q0D57LC,cAAA,IAAA,MAAA,QzDy9LA,cAAe,IAAI,IAAI,EAAE,EyDt9LvB,iBACA,QAAA,IAAA,KAEA,gBACA,sB1D87LH,SAAA,S0D37LC,QAAS,MACT,MAAA,E1D67LD,OAAA,E0D37LC,aAAc,YACd,aAAA,M1D87LD,gB0Dz7LC,aAAA,KAEE,sBACA,QAAA,GACA,aAAA,KAEA,oB1D27LH,OAAA,M0D17LG,KAAA,IACE,YAAA,MACA,iBAAA,KACA,iBAAA,gBACA,oBAAA,E1D67LL,0B0Dz7LC,OAAA,IACE,YAAA,MACA,QAAA,IACA,iBAAA,KACA,oBAAA,EAEA,sB1D27LH,IAAA,I0D17LG,KAAA,MACE,WAAA,MACA,mBAAA,KACA,mBAAA,gBACA,kBAAA,E1D67LL,4B0Dz7LC,OAAA,MACE,KAAA,IACA,QAAA,IACA,mBAAA,KACA,kBAAA,EAEA,uB1D27LH,IAAA,M0D17LG,KAAA,IACE,YAAA,MACA,iBAAA,EACA,oBAAA,KACA,oBAAA,gB1D67LL,6B0Dx7LC,IAAA,IACE,YAAA,MACA,QAAA,IACA,iBAAA,EACA,oBAAA,KAEA,qB1D07LH,IAAA,I0Dz7LG,MAAA,MACE,WAAA,MACA,mBAAA,EACA,kBAAA,KACA,kBAAA,gB1D47LL,2B2DpjMC,MAAO,IACP,OAAA,M3DsjMD,QAAA,I2DnjMC,mBAAoB,EACpB,kBAAA,KAEA,U3DqjMD,SAAA,S2DljMG,gBACA,SAAA,SvD6KF,MAAA,KACK,SAAA,OJ04LN,sB2D/jMC,SAAU,S1D4lMV,QAAS,K0D9kML,mBAAA,IAAA,YAAA,K3DqjML,cAAA,IAAA,YAAA,K2D3hMC,WAAA,IAAA,YAAA,KvDmKK,4BAFL,0BAGQ,YAAA,EA3JA,qDA+GR,sBAEQ,mBAAA,kBAAA,IAAA,YJ86LP,cAAA,aAAA,IAAA,Y2DzjMG,WAAA,UAAA,IAAA,YvDmHJ,4BAAA,OACQ,oBAAA,OuDjHF,oBAAA,O3D4jML,YAAA,OI58LD,mCHs+LA,2BGr+LQ,KAAA,EuD5GF,kBAAA,sB3D6jML,UAAA,sBC2BD,kCADA,2BG5+LA,KAAA,EACQ,kBAAA,uBuDtGF,UAAA,uBArCN,6B3DomMD,gC2DpmMC,iC1D+nME,KAAM,E0DllMN,kBAAA,mB3D4jMH,UAAA,oBAGA,wB2D5mMD,sBAAA,sBAsDI,QAAA,MAEA,wB3D0jMH,KAAA,E2DtjMG,sB3DyjMH,sB2DrnMC,SAAU,SA+DR,IAAA,E3DyjMH,MAAA,KC0BD,sB0D/kMI,KAAA,KAnEJ,sBAuEI,KAAA,MAvEJ,2BA0EI,4B3DwjMH,KAAA,E2D/iMC,6BACA,KAAA,MAEA,8BACA,KAAA,KtC3FA,kBsC6FA,SAAA,SACA,IAAA,EACA,OAAA,EACA,KAAA,EACA,MAAA,I3DmjMD,UAAA,K2D9iMC,MAAA,KdnGE,WAAA,OACA,YAAA,EAAA,IAAA,IAAA,eACA,iBAAA,cAAA,OAAA,kBACA,QAAA,G7CqpMH,uB2DljMC,iBAAA,sEACE,iBAAA,iEACA,iBAAA,uFdxGA,iBAAA,kEACA,OAAA,+GACA,kBAAA,SACA,wBACA,MAAA,E7C6pMH,KAAA,K2DpjMC,iBAAA,sE1DglMA,iBAAiB,iE0D9kMf,iBAAA,uFACA,iBAAA,kEACA,OAAA,+GtCvHF,kBAAA,SsCyFF,wB3DslMC,wBC4BC,MAAO,KACP,gBAAiB,KACjB,OAAQ,kB0D7kMN,QAAA,EACA,QAAA,G3DwjMH,0C2DhmMD,2CA2CI,6BADA,6B1DklMF,SAAU,S0D7kMR,IAAA,IACA,QAAA,E3DqjMH,QAAA,a2DrmMC,WAAY,MAqDV,0CADA,6B3DsjMH,KAAA,I2D1mMC,YAAa,MA0DX,2CADA,6BAEA,MAAA,IACA,aAAA,MAME,6BADF,6B3DmjMH,MAAA,K2D9iMG,OAAA,KACE,YAAA,M3DgjML,YAAA,E2DriMC,oCACA,QAAA,QAEA,oCACA,QAAA,QAEA,qBACA,SAAA,SACA,OAAA,K3DwiMD,KAAA,I2DjjMC,QAAS,GAYP,MAAA,IACA,aAAA,EACA,YAAA,KACA,WAAA,OACA,WAAA,KAEA,wBACA,QAAA,aAWA,MAAA,KACA,OAAA,K3D8hMH,OAAA,I2D7jMC,YAAa,OAkCX,OAAA,QACA,iBAAA,OACA,iBAAA,cACA,OAAA,IAAA,MAAA,K3D8hMH,cAAA,K2DthMC,6BACA,MAAA,KACA,OAAA,KACA,OAAA,EACA,iBAAA,KAEA,kBACA,SAAA,SACA,MAAA,IACA,OAAA,K3DyhMD,KAAA,I2DxhMC,QAAA,GACE,YAAA,K3D0hMH,eAAA,K2Dj/LC,MAAO,KAhCP,WAAA,O1D8iMA,YAAa,EAAE,IAAI,IAAI,eAEzB,uB0D3iMM,YAAA,KAEA,oCACA,0C3DmhMH,2C2D3hMD,6BAAA,6BAYI,MAAA,K3DmhMH,OAAA,K2D/hMD,WAAA,M1D2jME,UAAW,KDxBZ,0C2D9gMD,6BACE,YAAA,MAEA,2C3DghMD,6B2D5gMD,aAAA,M3D+gMC,kBACF,MAAA,I4D7wMC,KAAA,I3DyyME,eAAgB,KAElB,qBACE,OAAQ,MAkBZ,qCADA,sCADA,mBADA,oBAXA,gBADA,iBAOA,uBADA,wBADA,iBADA,kBADA,wBADA,yBASA,mCADA,oC2DpzME,oBAAA,qBAAA,oBAAA,qB3D2zMF,WADA,YAOA,uBADA,wBADA,qBADA,sBADA,cADA,e2D/zMI,a3Dq0MJ,cDvBC,kB4D7yMG,mB3DqzMJ,WADA,YAwBE,QAAS,MACT,QAAS,IASX,qCADA,mBANA,gBAGA,uBADA,iBADA,wBAIA,mCDhBC,oB6D/0MC,oB5Dk2MF,W+B51MA,uBhCo0MC,qB4D5zMG,cChBF,aACA,kB5D+1MF,W+Br1ME,MAAO,KhCy0MR,cgCt0MC,QAAS,MACT,aAAA,KhCw0MD,YAAA,KgC/zMC,YhCk0MD,MAAA,gBgC/zMC,WhCk0MD,MAAA,egC/zMC,MhCk0MD,QAAA,e8Dz1MC,MACA,QAAA,gBAEA,WACA,WAAA,O9B8BF,WACE,KAAA,EAAA,EAAA,EhCg0MD,MAAA,YgCzzMC,YAAa,KACb,iBAAA,YhC2zMD,OAAA,E+D31MC,Q/D81MD,QAAA,eC4BD,OACE,SAAU,M+Dn4MV,chE42MD,MAAA,aC+BD,YADA,YADA,YADA,YAIE,QAAS,e+Dp5MT,kBhEs4MC,mBgEr4MD,yBhEi4MD,kB+Dl1MD,mBA6IA,yB9D4tMA,kBACA,mB8Dj3ME,yB9D62MF,kBACA,mBACA,yB+Dv5MY,QAAA,eACV,yBAAU,YhE04MT,QAAA,gBC4BD,iB+Dp6MU,QAAA,gBhE64MX,c+D51MG,QAAS,oB/Dg2MV,c+Dl2MC,c/Dm2MH,QAAA,sB+D91MG,yB/Dk2MD,kBACF,QAAA,iB+D91MG,yB/Dk2MD,mBACF,QAAA,kBgEh6MC,yBhEo6MC,yBgEn6MD,QAAA,wBACA,+CAAU,YhEw6MT,QAAA,gBC4BD,iB+Dl8MU,QAAA,gBhE26MX,c+Dr2MG,QAAS,oB/Dy2MV,c+D32MC,c/D42MH,QAAA,sB+Dv2MG,+C/D22MD,kBACF,QAAA,iB+Dv2MG,+C/D22MD,mBACF,QAAA,kBgE97MC,+ChEk8MC,yBgEj8MD,QAAA,wBACA,gDAAU,YhEs8MT,QAAA,gBC4BD,iB+Dh+MU,QAAA,gBhEy8MX,c+D92MG,QAAS,oB/Dk3MV,c+Dp3MC,c/Dq3MH,QAAA,sB+Dh3MG,gD/Do3MD,kBACF,QAAA,iB+Dh3MG,gD/Do3MD,mBACF,QAAA,kBgE59MC,gDhEg+MC,yBgE/9MD,QAAA,wBACA,0BAAU,YhEo+MT,QAAA,gBC4BD,iB+D9/MU,QAAA,gBhEu+MX,c+Dv3MG,QAAS,oB/D23MV,c+D73MC,c/D83MH,QAAA,sB+Dz3MG,0B/D63MD,kBACF,QAAA,iB+Dz3MG,0B/D63MD,mBACF,QAAA,kBgEl/MC,0BhEs/MC,yBACF,QAAA,wBgEv/MC,yBhE2/MC,WACF,QAAA,gBgE5/MC,+ChEggNC,WACF,QAAA,gBgEjgNC,gDhEqgNC,WACF,QAAA,gBAGA,0B+Dh3MC,WA4BE,QAAS,gBC5LX,eAAU,QAAA,eACV,aAAU,ehEyhNT,QAAA,gBC4BD,oB+DnjNU,QAAA,gBhE4hNX,iB+D93MG,QAAS,oBAMX,iB/D23MD,iB+Dt2MG,QAAS,sB/D22MZ,qB+D/3MC,QAAS,e/Dk4MV,a+D53MC,qBAcE,QAAS,iB/Dm3MZ,sB+Dh4MC,QAAS,e/Dm4MV,a+D73MC,sBAOE,QAAS,kB/D23MZ,4B+D53MC,QAAS,eCpLT,ahEojNC,4BACF,QAAA,wBC6BD,aACE,cACE,QAAS","sourcesContent":["/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n.row {\n margin-left: -15px;\n margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1, .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-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .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-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .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-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n border: 0;\n background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-left: 0;\n padding-right: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed;\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n left: auto;\n right: 0;\n}\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n cursor: default;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #080808;\n color: #fff;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n content: \"/\\00a0\";\n padding: 0 5px;\n color: #ccc;\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857143;\n text-decoration: none;\n color: #337ab7;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n background-color: #fff;\n cursor: not-allowed;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #fff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-left: auto;\n margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n margin-bottom: 20px;\n padding-left: 0;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n text-decoration: none;\n color: #555;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: 0.2;\n filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n background-clip: padding-box;\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 12px;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.tooltip.in {\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.tooltip.top {\n margin-top: -3px;\n padding: 5px 0;\n}\n.tooltip.right {\n margin-left: 3px;\n padding: 0 5px;\n}\n.tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0;\n}\n.tooltip.left {\n margin-left: -3px;\n padding: 0 5px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\";\n}\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px;\n}\n.popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #fff;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px;\n}\n.popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #fff;\n bottom: -10px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n}\n.carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n opacity: 0.5;\n filter: alpha(opacity=50);\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n outline: 0;\n color: #fff;\n text-decoration: none;\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #fff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n content: \" \";\n display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n margin: .67em 0;\n font-size: 2em;\n}\nmark {\n color: #000;\n background: #ff0;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\nsup {\n top: -.5em;\n}\nsub {\n bottom: -.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n height: 0;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n margin: 0;\n font: inherit;\n color: inherit;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n -webkit-appearance: textfield;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n padding: .35em .625em .75em;\n margin: 0 2px;\n border: 1px solid #c0c0c0;\n}\nlegend {\n padding: 0;\n border: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-spacing: 0;\n border-collapse: collapse;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n display: inline-block;\n max-width: 100%;\n height: auto;\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all .2s ease-in-out;\n -o-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: .2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n margin-left: -5px;\n list-style: none;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n overflow: hidden;\n clear: left;\n text-align: right;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .col-sm-1, .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-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .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-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .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-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: .01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n font-size: 14px;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n opacity: .65;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: normal;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity .15s linear;\n -o-transition: opacity .15s linear;\n transition: opacity .15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n -webkit-transition-duration: .35s;\n -o-transition-duration: .35s;\n transition-duration: .35s;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555;\n text-align: center;\n background-color: #eee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.nav > li.disabled > a {\n color: #777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eee #eee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n -webkit-overflow-scrolling: touch;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-top: 8px;\n margin-right: 15px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-top: 8px;\n margin-right: -15px;\n margin-bottom: 8px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border .2s ease-in-out;\n -o-transition: border .2s ease-in-out;\n transition: border .2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n}\n.progress-bar {\n float: left;\n width: 0;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n -webkit-transition: width .6s ease;\n -o-transition: width .6s ease;\n transition: width .6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #eee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, .15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: .2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: .5;\n}\nbutton.close {\n -webkit-appearance: none;\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transition: -webkit-transform .3s ease-out;\n -o-transition: -o-transform .3s ease-out;\n transition: transform .3s ease-out;\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n outline: 0;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 12px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n filter: alpha(opacity=0);\n opacity: 0;\n\n line-break: auto;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: .9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n\n line-break: auto;\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999;\n border-top-color: rgba(0, 0, 0, .25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999;\n border-right-color: rgba(0, 0, 0, .25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999;\n border-bottom-color: rgba(0, 0, 0, .25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999;\n border-left-color: rgba(0, 0, 0, .25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: .6s ease-in-out left;\n -o-transition: .6s ease-in-out left;\n transition: .6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform .6s ease-in-out;\n -o-transition: -o-transform .6s ease-in-out;\n transition: transform .6s ease-in-out;\n\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n left: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n left: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n left: 0;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n filter: alpha(opacity=90);\n outline: 0;\n opacity: .9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// Star\n\n// Import the fonts\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('@{icon-font-path}@{icon-font-name}.eot');\n src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n background-color: @state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: @pre-color;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: floor((@gutter / 2));\n padding-right: ceil((@gutter / 2));\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: ceil((@gutter / -2));\n margin-right: floor((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: ceil((@grid-gutter-width / 2));\n padding-right: floor((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n}\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Unstyle the caret on ``\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: @btn-font-weight;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n white-space: nowrap;\n .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n .user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n .tab-focus();\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: @btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n outline: 0;\n background-image: none;\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n .opacity(.65);\n .box-shadow(none);\n }\n\n a& {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `` elements\n }\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n color: @link-color;\n font-weight: normal;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n .box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 25%);\n }\n &:hover {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 17%);\n border-color: darken(@border, 25%);\n }\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n opacity: @opacity;\n // IE8 filter\n @opacity-ie: (@opacity * 100);\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n .transition(opacity .15s linear);\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n tr&.in { display: table-row; }\n tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n .transition-property(~\"height, visibility\");\n .transition-duration(.35s);\n .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: @caret-width-base dashed;\n border-top: @caret-width-base solid ~\"\\9\"; // IE8\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: @zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n list-style: none;\n font-size: @font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n background-color: @dropdown-bg;\n border: 1px solid @dropdown-fallback-border; // IE8 fallback\n border: 1px solid @dropdown-border;\n border-radius: @border-radius-base;\n .box-shadow(0 6px 12px rgba(0,0,0,.175));\n background-clip: padding-box;\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n .nav-divider(@dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: @line-height-base;\n color: @dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n &:hover,\n &:focus {\n text-decoration: none;\n color: @dropdown-link-hover-color;\n background-color: @dropdown-link-hover-bg;\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n outline: 0;\n background-color: @dropdown-link-active-bg;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n .reset-filter();\n cursor: @cursor-disabled;\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n left: auto; // Reset the default from `.dropdown-menu`\n right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n border-top: 0;\n border-bottom: @caret-width-base dashed;\n border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n content: \"\";\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n .dropdown-menu-right();\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n .dropdown-menu-left();\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n &:extend(.clearfix all);\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n .border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n .box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: @caret-width-large @caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n &:extend(.clearfix all);\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n .border-top-radius(@btn-border-radius-base);\n .border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n .border-top-radius(0);\n .border-bottom-radius(@btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-right-radius: @radius;\n border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-bottom-left-radius: @radius;\n border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n font-weight: normal;\n line-height: 1;\n color: @input-color;\n text-align: center;\n background-color: @input-group-addon-bg;\n border: 1px solid @input-group-addon-border-color;\n border-radius: @input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n border-radius: @input-border-radius-small;\n }\n &.input-lg {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n border-radius: @input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n .border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n .border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n margin-bottom: 0;\n padding-left: 0; // Override default ul/ol\n list-style: none;\n &:extend(.clearfix all);\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: @nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: @nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: @nav-disabled-link-hover-color;\n text-decoration: none;\n background-color: transparent;\n cursor: @cursor-disabled;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @nav-link-hover-bg;\n border-color: @link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n .nav-divider();\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid @nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: @line-height-base;\n border: 1px solid transparent;\n border-radius: @border-radius-base @border-radius-base 0 0;\n &:hover {\n border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-tabs-active-link-hover-color;\n background-color: @nav-tabs-active-link-hover-bg;\n border: 1px solid @nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n cursor: default;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n .nav-justified();\n .nav-tabs-justified();\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: @nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-pills-active-link-hover-color;\n background-color: @nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n text-align: center;\n margin-bottom: 5px;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: @screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: @border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid @nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: @screen-sm-min) {\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n border-radius: @border-radius-base @border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-left: 0;\n padding-right: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n height: @navbar-height;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -@navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: @navbar-padding-horizontal;\n padding: 9px 10px;\n .navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: @line-height-computed;\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: @line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: @navbar-padding-vertical;\n padding-bottom: @navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n margin-left: -@navbar-padding-horizontal;\n margin-right: -@navbar-padding-horizontal;\n padding: 10px @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n\n // Mixin behavior for optimum display\n .form-inline();\n\n .form-group {\n @media (max-width: @grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n .navbar-vertical-align(@input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n .box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n .border-top-radius(@navbar-border-radius);\n .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n .navbar-vertical-align(@input-height-base);\n\n &.btn-sm {\n .navbar-vertical-align(@input-height-small);\n }\n &.btn-xs {\n .navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n .navbar-vertical-align(@line-height-computed);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin-left: @navbar-padding-horizontal;\n margin-right: @navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-left { .pull-left(); }\n .navbar-right {\n .pull-right();\n margin-right: -@navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: @navbar-default-bg;\n border-color: @navbar-default-border;\n\n .navbar-brand {\n color: @navbar-default-brand-color;\n &:hover,\n &:focus {\n color: @navbar-default-brand-hover-color;\n background-color: @navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n\n .navbar-toggle {\n border-color: @navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: @navbar-default-border;\n }\n\n // Dropdown menu items\n .navbar-nav {\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-default-link-active-bg;\n color: @navbar-default-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: @navbar-default-link-color;\n &:hover {\n color: @navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\n border-color: @navbar-inverse-border;\n\n .navbar-brand {\n color: @navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-brand-hover-color;\n background-color: @navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: @navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken(@navbar-inverse-bg, 7%);\n }\n\n // Dropdowns\n .navbar-nav {\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-inverse-link-active-bg;\n color: @navbar-inverse-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: @navbar-inverse-border;\n }\n .divider {\n background-color: @navbar-inverse-border;\n }\n > li > a {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\n}\n.center-block {\n .center-block();\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n padding: 0 5px;\n color: @breadcrumb-color;\n }\n }\n\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: @line-height-computed 0;\n border-radius: @border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n line-height: @line-height-base;\n text-decoration: none;\n color: @pagination-color;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n margin-left: -1px;\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n .border-left-radius(@border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-base);\n }\n }\n }\n\n > li > a,\n > li > span {\n &:hover,\n &:focus {\n z-index: 2;\n color: @pagination-hover-color;\n background-color: @pagination-hover-bg;\n border-color: @pagination-hover-border;\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: @pagination-active-color;\n background-color: @pagination-active-bg;\n border-color: @pagination-active-border;\n cursor: default;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n background-color: @pagination-disabled-bg;\n border-color: @pagination-disabled-border;\n cursor: @cursor-disabled;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: @line-height-computed 0;\n list-style: none;\n text-align: center;\n &:extend(.clearfix all);\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pager-bg;\n border: 1px solid @pager-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: @pager-disabled-color;\n background-color: @pager-bg;\n cursor: @cursor-disabled;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // Add hover effects, but only for links\n a& {\n &:hover,\n &:focus {\n color: @label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n .label-variant(@label-default-bg);\n}\n\n.label-primary {\n .label-variant(@label-primary-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n background-color: @color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: @font-size-small;\n font-weight: @badge-font-weight;\n color: @badge-color;\n line-height: @badge-line-height;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: @badge-bg;\n border-radius: @badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // Hover state, but only for links\n a& {\n &:hover,\n &:focus {\n color: @badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: @badge-active-color;\n background-color: @badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: @jumbotron-padding;\n padding-bottom: @jumbotron-padding;\n margin-bottom: @jumbotron-padding;\n color: @jumbotron-color;\n background-color: @jumbotron-bg;\n\n h1,\n .h1 {\n color: @jumbotron-heading-color;\n }\n\n p {\n margin-bottom: (@jumbotron-padding / 2);\n font-size: @jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken(@jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: @screen-sm-min) {\n padding-top: (@jumbotron-padding * 1.6);\n padding-bottom: (@jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-left: (@jumbotron-padding * 2);\n padding-right: (@jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: @jumbotron-heading-font-size;\n }\n }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: @thumbnail-padding;\n margin-bottom: @line-height-computed;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(border .2s ease-in-out);\n\n > img,\n a > img {\n &:extend(.img-responsive);\n margin-left: auto;\n margin-right: auto;\n }\n\n // Add a hover state for linked versions only\n a&:hover,\n a&:focus,\n a&.active {\n border-color: @link-color;\n }\n\n // Image captions\n .caption {\n padding: @thumbnail-caption-padding;\n color: @thumbnail-caption-color;\n }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding;\n margin-bottom: @line-height-computed;\n border: 1px solid transparent;\n border-radius: @alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n // Specified for the h4 to prevent conflicts of changing @headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n padding-right: (@alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n background-color: @background;\n border-color: @border;\n color: @text-color;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n overflow: hidden;\n height: @line-height-computed;\n margin-bottom: @line-height-computed;\n background-color: @progress-bg;\n border-radius: @progress-border-radius;\n .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: @font-size-small;\n line-height: @line-height-computed;\n color: @progress-bar-color;\n text-align: center;\n background-color: @progress-bar-bg;\n .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n #gradient > .striped();\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n background-color: @color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n #gradient > .striped();\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on
        ,
          , or
          .\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n margin-bottom: 20px;\n padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n text-decoration: none;\n color: @list-group-link-hover-color;\n background-color: @list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n.list-group-item {\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n background-color: @list-group-disabled-bg;\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a&,\n button& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n .border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-left: @panel-body-padding;\n padding-right: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n border-bottom-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n border: 0;\n margin-bottom: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0,0,0,.5));\n background-clip: padding-box;\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-small;\n\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }\n &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }\n &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }\n &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n bottom: 0;\n right: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n",".reset-text() {\n font-family: @font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: @line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-base;\n\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n margin: 0; // reset heading margin\n padding: 8px 14px;\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n}\n.popover > .arrow {\n border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n border-width: @popover-arrow-width;\n content: \"\";\n}\n\n.popover {\n &.top > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n bottom: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-color;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n left: 1px;\n bottom: -@popover-arrow-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-color;\n }\n }\n &.bottom > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n top: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n top: 1px;\n margin-left: -@popover-arrow-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n bottom: -@popover-arrow-width;\n }\n }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n\n > .item {\n display: none;\n position: relative;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n .transition-transform(~'0.6s ease-in-out');\n .backface-visibility(~'hidden');\n .perspective(1000px);\n\n &.next,\n &.active.right {\n .translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n .translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n .translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: @carousel-control-width;\n .opacity(@carousel-control-opacity);\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n }\n &.right {\n left: auto;\n right: 0;\n #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n outline: 0;\n color: @carousel-control-color;\n text-decoration: none;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n }\n\n\n .icon-prev {\n &:before {\n content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n cursor: pointer;\n\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0,0,0,0); // IE9\n }\n .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: (@carousel-control-font-size * 1.5);\n height: (@carousel-control-font-size * 1.5);\n margin-top: (@carousel-control-font-size / -2);\n font-size: (@carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: (@carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: (@carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n display: block !important;\n table& { display: table !important; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]} \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot deleted file mode 100644 index b93a4953fff68df523aa7656497ee339d6026d64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20127 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 1413fc609ab6f21774de0cb7e01360095584f65b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45404 zcmd?Sd0-pWwLh*qi$?oCk~i6sWlOeWJC3|4juU5JNSu9hSVACzERcmjLV&P^utNzg zIE4Kr1=5g!SxTX#Ern9_%4&01rlrW`Z!56xXTGQR4C z3vR~wXq>NDx$c~e?;ia3YjJ*$!C>69a?2$lLyhpI!CFfJsP=|`8@K0|bbMpWwVUEygg0=0x_)HeHpGSJagJNLA3c!$EuOV>j$wi! zbo{vZ(s8tl>@!?}dmNHXo)ABy7ohD7_1G-P@SdJWT8*oeyBVYVW9*vn}&VI4q++W;Z+uz=QTK}^C75!`aFYCX# zf7fC2;o`%!huaTNJAB&VWrx=szU=VLhwnbT`vc<#<`4WI6n_x@AofA~2d90o?1L3w z9!I|#P*NQ)$#9aASijuw>JRld^-t)Zhmy|i-`Iam|IWkguaMR%lhi4p~cX-9& zjfbx}yz}s`4-6>D^+6FzihR)Y!GsUy=_MWi_v7y#KmYi-{iZ+s@ekkq!@Wxz!~BQwiI&ti z>hC&iBe2m(dpNVvSbZe3DVgl(dxHt-k@{xv;&`^c8GJY%&^LpM;}7)B;5Qg5J^E${ z7z~k8eWOucjX6)7q1a%EVtmnND8cclz8R1=X4W@D8IDeUGXxEWe&p>Z*voO0u_2!! zj3dT(Ki+4E;uykKi*yr?w6!BW2FD55PD6SMj`OfBLwXL5EA-9KjpMo4*5Eqs^>4&> z8PezAcn!9jk-h-Oo!E9EjX8W6@EkTHeI<@AY{f|5fMW<-Ez-z)xCvW3()Z#x0oydB zzm4MzY^NdpIF9qMp-jU;99LjlgY@@s+=z`}_%V*xV7nRV*Kwrx-i`FzI0BZ#yOI8# z!SDeNA5b6u9!Imj89v0(g$;dT_y|Yz!3V`i{{_dez8U@##|X9A};s^7vEd!3AcdyVlhVk$v?$O442KIM1-wX^R{U7`JW&lPr3N(%kXfXT_`7w^? z=#ntx`tTF|N$UT?pELvw7T*2;=Q-x@KmDUIbLyXZ>f5=y7z1DT<7>Bp0k;eItHF?1 zErzhlD2B$Tm|^7DrxnTYm-tgg`Mt4Eivp5{r$o9e)8(fXBO4g|G^6Xy?y$SM*&V52 z6SR*%`%DZC^w(gOWQL?6DRoI*hBNT)xW9sxvmi@!vI^!mI$3kvAMmR_q#SGn3zRb_ zGe$=;Tv3dXN~9XuIHow*NEU4y&u}FcZEZoSlXb9IBOA}!@J3uovp}yerhPMaiI8|SDhvWVr z^BE&yx6e3&RYqIg;mYVZ*3#A-cDJ;#ms4txEmwm@g^s`BB}KmSr7K+ruIoKs=s|gOXP|2 zb1!)87h9?(+1^QRWb(Vo8+@G=o24gyuzF3ytfsKjTHZJ}o{YznGcTDm!s)DRnmOX} z3pPL4wExoN$kyc2>#J`k+<67sy-VsfbQ-1u+HkyFR?9G`9r6g4*8!(!c65Be-5hUg zZHY$M0k(Yd+DT1*8)G(q)1&tDl=g9H7!bZTOvEEFnBOk_K=DXF(d4JOaH zI}*A3jGmy{gR>s}EQzyJa_q_?TYPNXRU1O;fcV_&TQZhd{@*8Tgpraf~nT0BYktu*n{a~ub^UUqQPyr~yBY{k2O zgV)honv{B_CqY|*S~3up%Wn%7i*_>Lu|%5~j)}rQLT1ZN?5%QN`LTJ}vA!EE=1`So z!$$Mv?6T)xk)H8JTrZ~m)oNXxS}pwPd#);<*>zWsYoL6iK!gRSBB{JCgB28C#E{T? z5VOCMW^;h~eMke(w6vLlKvm!!TyIf;k*RtK)|Q>_@nY#J%=h%aVb)?Ni_By)XNxY)E3`|}_u}fn+Kp^3p4RbhFUBRtGsDyx9Eolg77iWN z2iH-}CiM!pfYDIn7;i#Ui1KG01{3D<{e}uWTdlX4Vr*nsb^>l0%{O?0L9tP|KGw8w z+T5F}md>3qDZQ_IVkQ|BzuN08uN?SsVt$~wcHO4pB9~ykFTJO3g<4X({-Tm1w{Ufo zI03<6KK`ZjqVyQ(>{_aMxu7Zm^ck&~)Q84MOsQ-XS~{6j>0lTl@lMtfWjj;PT{nlZ zIn0YL?kK7CYJa)(8?unZ)j8L(O}%$5S#lTcq{rr5_gqqtZ@*0Yw4}OdjL*kBv+>+@ z&*24U=y{Nl58qJyW1vTwqsvs=VRAzojm&V zEn6=WzdL1y+^}%Vg!ap>x%%nFi=V#wn# zUuheBR@*KS)5Mn0`f=3fMwR|#-rPMQJg(fW*5e`7xO&^UUH{L(U8D$JtI!ac!g(Ze89<`UiO@L+)^D zjPk2_Ie0p~4|LiI?-+pHXuRaZKG$%zVT0jn!yTvvM^jlcp`|VSHRt-G@_&~<4&qW@ z?b#zIN)G(}L|60jer*P7#KCu*Af;{mpWWvYK$@Squ|n-Vtfgr@ZOmR5Xpl;0q~VILmjk$$mgp+`<2jP z@+nW5Oap%fF4nFwnVwR7rpFaOdmnfB$-rkO6T3#w^|*rft~acgCP|ZkgA6PHD#Of| zY%E!3tXtsWS`udLsE7cSE8g@p$ceu*tI71V31uA7jwmXUCT7+Cu3uv|W>ZwD{&O4Nfjjvl43N#A$|FWxId! z%=X!HSiQ-#4nS&smww~iXRn<-`&zc)nR~js?|Ei-cei$^$KsqtxNDZvl1oavXK#Pz zT&%Wln^Y5M95w=vJxj0a-ko_iQt(LTX_5x#*QfQLtPil;kkR|kz}`*xHiLWr35ajx zHRL-QQv$|PK-$ges|NHw8k6v?&d;{A$*q15hz9{}-`e6ys1EQ1oNNKDFGQ0xA!x^( zkG*-ueZT(GukSnK&Bs=4+w|(kuWs5V_2#3`!;f}q?>xU5IgoMl^DNf+Xd<=sl2XvkqviJ>d?+G@Z5nxxd5Sqd$*ENUB_mb8Z+7CyyU zA6mDQ&e+S~w49csl*UePzY;^K)Fbs^%?7;+hFc(xz#mWoek4_&QvmT7Fe)*{h-9R4 zqyXuN5{)HdQ6yVi#tRUO#M%;pL>rQxN~6yoZ)*{{!?jU)RD*oOxDoTjVh6iNmhWNC zB5_{R=o{qvxEvi(khbRS`FOXmOO|&Dj$&~>*oo)bZz%lPhEA@ zQ;;w5eu5^%i;)w?T&*=UaK?*|U3~{0tC`rvfEsRPgR~16;~{_S2&=E{fE2=c>{+y} zx1*NTv-*zO^px5TA|B```#NetKg`19O!BK*-#~wDM@KEllk^nfQ2quy25G%)l72<> zzL$^{DDM#jKt?<>m;!?E2p0l12`j+QJjr{Lx*47Nq(v6i3M&*P{jkZB{xR?NOSPN% zU>I+~d_ny=pX??qjF*E78>}Mgts@_yn`)C`wN-He_!OyE+gRI?-a>Om>Vh~3OX5+& z6MX*d1`SkdXwvb7KH&=31RCC|&H!aA1g_=ZY0hP)-Wm6?A7SG0*|$mC7N^SSBh@MG z9?V0tv_sE>X==yV{)^LsygK2=$Mo_0N!JCOU?r}rmWdHD%$h~~G3;bt`lH& zAuOOZ=G1Mih**0>lB5x+r)X^8mz!0K{SScj4|a=s^VhUEp#2M=^#WRqe?T&H9GnWa zYOq{+gBn9Q0e0*Zu>C(BAX=I-Af9wIFhCW6_>TsIH$d>|{fIrs&BX?2G>GvFc=<8` zVJ`#^knMU~65dWGgXcht`Kb>{V2oo%<{NK|iH+R^|Gx%q+env#Js*(EBT3V0=w4F@W+oLFsA)l7Qy8mx_;6Vrk;F2RjKFvmeq} zro&>@b^(?f))OoQ#^#s)tRL>b0gzhRYRG}EU%wr9GjQ#~Rpo|RSkeik^p9x2+=rUr}vfnQoeFAlv=oX%YqbLpvyvcZ3l$B z5bo;hDd(fjT;9o7g9xUg3|#?wU2#BJ0G&W1#wn?mfNR{O7bq747tc~mM%m%t+7YN}^tMa24O4@w<|$lk@pGx!;%pKiq&mZB z?3h<&w>un8r?Xua6(@Txu~Za9tI@|C4#!dmHMzDF_-_~Jolztm=e)@vG11bZQAs!tFvd9{C;oxC7VfWq377Y(LR^X_TyX9bn$)I765l=rJ%9uXcjggX*r?u zk|0!db_*1$&i8>d&G3C}A`{Fun_1J;Vx0gk7P_}8KBZDowr*8$@X?W6v^LYmNWI)lN92yQ;tDpN zOUdS-W4JZUjwF-X#w0r;97;i(l}ZZT$DRd4u#?pf^e2yaFo zbm>I@5}#8FjsmigM8w_f#m4fEP~r~_?OWB%SGWcn$ThnJ@Y`ZI-O&Qs#Y14To( zWAl>9Gw7#}eT(!c%D0m>5D8**a@h;sLW=6_AsT5v1Sd_T-C4pgu_kvc?7+X&n_fct znkHy(_LExh=N%o3I-q#f$F4QJpy>jZBW zRF7?EhqTGk)w&Koi}QQY3sVh?@e-Z3C9)P!(hMhxmXLC zF_+ZSTQU`Gqx@o(~B$dbr zHlEUKoK&`2gl>zKXlEi8w6}`X3kh3as1~sX5@^`X_nYl}hlbpeeVlj#2sv)CIMe%b zBs7f|37f8qq}gA~Is9gj&=te^wN8ma?;vF)7gce;&sZ64!7LqpR!fy)?4cEZposQ8 zf;rZF7Q>YMF1~eQ|Z*!5j0DuA=`~VG$Gg6B?Om1 z6fM@`Ck-K*k(eJ)Kvysb8sccsFf@7~3vfnC=<$q+VNv)FyVh6ZsWw}*vs>%k3$)9| zR9ek-@pA23qswe1io)(Vz!vS1o*XEN*LhVYOq#T`;rDkgt86T@O`23xW~;W_#ZS|x zvwx-XMb7_!hIte-#JNpFxskMMpo2OYhHRr0Yn8d^(jh3-+!CNs0K2B!1dL$9UuAD= zQ%7Ae(Y@}%Cd~!`h|wAdm$2WoZ(iA1(a_-1?znZ%8h72o&Mm*4x8Ta<4++;Yr6|}u zW8$p&izhdqF=m8$)HyS2J6cKyo;Yvb>DTfx4`4R{ zPSODe9E|uflE<`xTO=r>u~u=NuyB&H!(2a8vwh!jP!yfE3N>IiO1jI>7e&3rR#RO3_}G23W?gwDHgSgekzQ^PU&G5z&}V5GO? zfg#*72*$DP1T8i`S7=P;bQ8lYF9_@8^C(|;9v8ZaK2GnWz4$Th2a0$)XTiaxNWfdq z;yNi9veH!j)ba$9pke8`y2^63BP zIyYKj^7;2don3se!P&%I2jzFf|LA&tQ=NDs{r9fIi-F{-yiG-}@2`VR^-LIFN8BC4 z&?*IvLiGHH5>NY(Z^CL_A;yISNdq58}=u~9!Ia7 zm7MkDiK~lsfLpvmPMo!0$keA$`%Tm`>Fx9JpG^EfEb(;}%5}B4Dw!O3BCkf$$W-dF z$BupUPgLpHvr<<+QcNX*w@+Rz&VQz)Uh!j4|DYeKm5IC05T$KqVV3Y|MSXom+Jn8c zgUEaFW1McGi^44xoG*b0JWE4T`vka7qTo#dcS4RauUpE{O!ZQ?r=-MlY#;VBzhHGU zS@kCaZ*H73XX6~HtHd*4qr2h}Pf0Re@!WOyvres_9l2!AhPiV$@O2sX>$21)-3i+_ z*sHO4Ika^!&2utZ@5%VbpH(m2wE3qOPn-I5Tbnt&yn9{k*eMr3^u6zG-~PSr(w$p> zw)x^a*8Ru$PE+{&)%VQUvAKKiWiwvc{`|GqK2K|ZMy^Tv3g|zENL86z7i<c zW`W>zV1u}X%P;Ajn+>A)2iXZbJ5YB_r>K-h5g^N=LkN^h0Y6dPFfSBh(L`G$D%7c` z&0RXDv$}c7#w*7!x^LUes_|V*=bd&aP+KFi((tG*gakSR+FA26%{QJdB5G1F=UuU&koU*^zQA=cEN9}Vd?OEh| zgzbFf1?@LlPkcXH$;YZe`WEJ3si6&R2MRb}LYK&zK9WRD=kY-JMPUurX-t4(Wy{%` zZ@0WM2+IqPa9D(^*+MXw2NWwSX-_WdF0nMWpEhAyotIgqu5Y$wA=zfuXJ0Y2lL3#ji26-P3Z?-&0^KBc*`T$+8+cqp`%g0WB zTH9L)FZ&t073H4?t=(U6{8B+uRW_J_n*vW|p`DugT^3xe8Tomh^d}0k^G7$3wLgP& zn)vTWiMA&=bR8lX9H=uh4G04R6>C&Zjnx_f@MMY!6HK5v$T%vaFm;E8q=`w2Y}ucJ zkz~dKGqv9$E80NTtnx|Rf_)|3wxpnY6nh3U9<)fv2-vhQ6v=WhKO@~@X57N-`7Ppc zF;I7)eL?RN23FmGh0s;Z#+p)}-TgTJE%&>{W+}C`^-sy{gTm<$>rR z-X7F%MB9Sf%6o7A%ZHReD4R;imU6<9h81{%avv}hqugeaf=~^3A=x(Om6Lku-Pn9i zC;LP%Q7Xw*0`Kg1)X~nAsUfdV%HWrpr8dZRpd-#%)c#Fu^mqo|^b{9Mam`^Zw_@j@ zR&ZdBr3?@<@%4Z-%LT&RLgDUFs4a(CTah_5x4X`xDRugi#vI-cw*^{ncwMtA4NKjByYBza)Y$hozZCpuxL{IP&=tw6ZO52WY3|iwGf&IJCn+u(>icK zZB1~bWXCmwAUz|^<&ysd#*!DSp8}DLNbl5lRFat4NkvItxy;9tpp9~|@ z;JctShv^Iq4(z+y7^j&I?GCdKMVg&jCwtCkc4*@O7HY*veGDBtAIn*JgD$QftP}8= zxFAdF=(S>Ra6(4slk#h%b?EOU-96TIX$Jbfl*_7IY-|R%H zF8u|~hYS-YwWt5+^!uGcnKL~jM;)ObZ#q68ZkA?}CzV-%6_vPIdzh_wHT_$mM%vws9lxUj;E@#1UX?WO2R^41(X!nk$+2oJGr!sgcbn1f^yl1 z#pbPB&Bf;1&2+?};Jg5qgD1{4_|%X#s48rOLE!vx3@ktstyBsDQWwDz4GYlcgu$UJ zp|z_32yN72T*oT$SF8<}>e;FN^X&vWNCz>b2W0rwK#<1#kbV)Cf`vN-F$&knLo5T& z8!sO-*^x4=kJ$L&*h%rQ@49l?7_9IG99~xJDDil00<${~D&;kiqRQqeW5*22A`8I2 z(^@`qZoF7_`CO_e;8#qF!&g>UY;wD5MxWU>azoo=E{kW(GU#pbOi%XAn%?W{b>-bTt&2?G=E&BnK9m0zs{qr$*&g8afR_x`B~o zd#dxPpaap;I=>1j8=9Oj)i}s@V}oXhP*{R|@DAQXzQJekJnmuQ;vL90_)H_nD1g6e zS1H#dzg)U&6$fz0g%|jxDdz|FQN{KJ&Yx0vfuzAFewJjv`pdMRpY-wU`-Y6WQnJ(@ zGVb!-8DRJZvHnRFiR3PG3Tu^nCn(CcZHh7hQvyd7i6Q3&ot86XI{jo%WZqCPcTR0< zMRg$ZE=PQx66ovJDvI_JChN~k@L^Pyxv#?X^<)-TS5gk`M~d<~j%!UOWG;ZMi1af< z+86U0=sm!qAVJAIqqU`Qs1uJhQJA&n@9F1PUrYuW!-~IT>l$I!#5dBaiAK}RUufjg{$#GdQBkxF1=KU2E@N=i^;xgG2Y4|{H>s` z$t`k8c-8`fS7Yfb1FM#)vPKVE4Uf(Pk&%HLe z%^4L>@Z^9Z{ZOX<^e)~adVRkKJDanJ6VBC_m@6qUq_WF@Epw>AYqf%r6qDzQ~AEJ!jtUvLp^CcqZ^G-;Kz3T;O4WG45Z zFhrluCxlY`M+OKr2SeI697btH7Kj`O>A!+2DTEQ=48cR>Gg2^5uqp(+y5Sl09MRl* zp|28!v*wvMd_~e2DdKDMMQ|({HMn3D%%ATEecGG8V9>`JeL)T0KG}=}6K8NiSN5W< z79-ZdYWRUb`T}(b{RjN8>?M~opnSRl$$^gT`B27kMym5LNHu-k;A;VF8R(HtDYJHS zU7;L{a@`>jd0svOYKbwzq+pWSC(C~SPgG~nWR3pBA8@OICK$Cy#U`kS$I;?|^-SBC zBFkoO8Z^%8Fc-@X!KebF2Ob3%`8zlVHj6H;^(m7J35(_bS;cZPd}TY~qixY{MhykQ zV&7u7s%E=?i`}Ax-7dB0ih47w*7!@GBt<*7ImM|_mYS|9_K7CH+i}?*#o~a&tF-?C zlynEu1DmiAbGurEX2Flfy$wEVk7AU;`k#=IQE*6DMWafTL|9-vT0qs{A3mmZGzOyN zcM9#Rgo7WgB_ujU+?Q@Ql?V-!E=jbypS+*chI&zA+C_3_@aJal}!Q54?qsL0In({Ly zjH;e+_SK8yi0NQB%TO+Dl77jp#2pMGtwsgaC>K!)NimXG3;m7y`W+&<(ZaV>N*K$j zLL~I+6ouPk6_(iO>61cIsinx`5}DcKSaHjYkkMuDoVl>mKO<4$F<>YJ5J9A2Vl}#BP7+u~L8C6~D zsk`pZ$9Bz3teQS1Wb|8&c2SZ;qo<#F&gS;j`!~!ADr(jJXMtcDJ9cVi>&p3~{bqaP zgo%s8i+8V{UrYTc9)HiUR_c?cfx{Yan2#%PqJ{%?Wux4J;T$#cumM0{Es3@$>}DJg zqe*c8##t;X(4$?A`ve)e@YU3d2Balcivot{1(ahlE5qg@S-h(mPNH&`pBX$_~HdG48~)$x5p z{>ghzqqn_t8~pY<5?-To>cy^6o~mifr;KWvx_oMtXOw$$d6jddXG)V@a#lL4o%N@A zNJlQAz6R8{7jax-kQsH6JU_u*En%k^NHlvBB!$JAK!cYmS)HkLAkm0*9G3!vwMIWv zo#)+EamIJHEUV|$d|<)2iJ`lqBQLx;HgD}c3mRu{iK23C>G{0Mp1K)bt6OU?xC4!_ zZLqpFzeu&+>O1F>%g-%U^~yRg(-wSp@vmD-PT#bCWy!%&H;qT7rfuRCEgw67V!Qob z&tvPU@*4*$YF#2_>M0(75QxqrJr3Tvh~iDeFhxl=MzV@(psx%G8|I{~9;tv#BBE`l z3)_98eZqFNwEF1h)uqhBmT~mSmT8k$7vSHdR97K~kM)P9PuZdS;|Op4A?O<*%!?h` zn`}r_j%xvffs46x2hCWuo0BfIQWCw9aKkH==#B(TJ%p}p-RuIVzsRlaPL_Co{&R0h zQrqn=g1PGjQg3&sc2IlKG0Io#v%@p>tFwF)RG0ahYs@Zng6}M*d}Xua)+h&?$`%rb z;>M=iMh5eIHuJ5c$aC`y@CYjbFsJnSPH&}LQz4}za9YjDuao>Z^EdL@%saRm&LGQWXs*;FzwN#pH&j~SLhDZ+QzhplV_ij(NyMl z;v|}amvxRddO81LJFa~2QFUs z+Lk zZck)}9uK^buJNMo4G(rSdX{57(7&n=Q6$QZ@lIO9#<3pA2ceDpO_340B*pHlh_y{>i&c1?vdpN1j>3UN-;;Yq?P+V5oY`4Z(|P8SwWq<)n`W@AwcQ?E9 zd5j8>FT^m=MHEWfN9jS}UHHsU`&SScib$qd0i=ky0>4dz5ADy70AeIuSzw#gHhQ_c zOp1!v6qU)@8MY+ zMNIID?(CysRc2uZQ$l*QZVY)$X?@4$VT^>djbugLQJdm^P>?51#lXBkdXglYm|4{L zL%Sr?2f`J+xrcN@=0tiJt(<-=+v>tHy{XaGj7^cA6felUn_KPa?V4ebfq7~4i~GKE zpm)e@1=E;PP%?`vK6KVPKXjUXyLS1^NbnQ&?z>epHCd+J$ktT1G&L~T)nQeExe;0Z zlei}<_ni ztFo}j7nBl$)s_3odmdafVieFxc)m!wM+U`2u%yhJ90giFcU1`dR6BBTKc2cQ*d zm-{?M&%(={xYHy?VCx!ogr|4g5;V{2q(L?QzJGsirn~kWHU`l`rHiIrc-Nan!hR7zaLsPr4uR zG{En&gaRK&B@lyWV@yfFpD_^&z>84~_0Rd!v(Nr%PJhFF_ci3D#ixf|(r@$igZiWw za*qbXIJ_Hm4)TaQ=zW^g)FC6uvyO~Hg-#Z5Vsrybz6uOTF>Rq1($JS`imyNB7myWWpxYL(t7`H8*voI3Qz6mvm z$JxtArLJ(1wlCO_te?L{>8YPzQ})xJlvc5wv8p7Z=HviPYB#^#_vGO#*`<0r%MR#u zN_mV4vaBb2RwtoOYCw)X^>r{2a0kK|WyEYoBjGxcObFl&P*??)WEWKU*V~zG5o=s@ z;rc~uuQQf9wf)MYWsWgPR!wKGt6q;^8!cD_vxrG8GMoFGOVV=(J3w6Xk;}i)9(7*U zwR4VkP_5Zx7wqn8%M8uDj4f1aP+vh1Wue&ry@h|wuN(D2W;v6b1^ z`)7XBZ385zg;}&Pt@?dunQ=RduGRJn^9HLU&HaeUE_cA1{+oSIjmj3z+1YiOGiu-H zf8u-oVnG%KfhB8H?cg%@#V5n+L$MO2F4>XoBjBeX>css^h}Omu#)ExTfUE^07KOQS znMfQY2wz?!7!{*C^)aZ^UhMZf=TJNDv8VrrW;JJ9`=|L0`w9DE8MS>+o{f#{7}B4P z{I34>342vLsP}o=ny1eZkEabr@niT5J2AhByUz&i3Ck0H*H`LRHz;>3C_ru!X+EhJ z6(+(lI#4c`2{`q0o9aZhI|jRjBZOV~IA_km7ItNtUa(Wsr*Hmb;b4=;R(gF@GmsRI`pF+0tmq0zy~wnoJD(LSEwHjTOt4xb0XB-+ z&4RO{Snw4G%gS9w#uSUK$Zbb#=jxEl;}6&!b-rSY$0M4pftat-$Q)*y!bpx)R%P>8 zrB&`YEX2%+s#lFCIV;cUFUTIR$Gn2%F(3yLeiG8eG8&)+cpBlzx4)sK?>uIlH+$?2 z9q9wk5zY-xr_fzFSGxYp^KSY0s%1BhsI>ai2VAc8&JiwQ>3RRk?ITx!t~r45qsMnj zkX4bl06ojFCMq<9l*4NHMAtIxDJOX)H=K*$NkkNG<^nl46 zHWH1GXb?Og1f0S+8-((5yaeegCT62&4N*pNQY;%asz9r9Lfr;@Bl${1@a4QAvMLbV6JDp>8SO^q1)#(o%k!QiRSd0eTmzC< zNIFWY5?)+JTl1Roi=nS4%@5iF+%XztpR^BSuM~DX9q`;Mv=+$M+GgE$_>o+~$#?*y zAcD4nd~L~EsAjXV-+li6Lua4;(EFdi|M2qV53`^4|7gR8AJI;0Xb6QGLaYl1zr&eu zH_vFUt+Ouf4SXA~ z&Hh8K@ms^`(hJfdicecj>J^Aqd00^ccqN!-f-!=N7C1?`4J+`_f^nV!B3Q^|fuU)7 z1NDNT04hd4QqE+qBP+>ZE7{v;n3OGN`->|lHjNL5w40pePJ?^Y6bFk@^k%^5CXZ<+4qbOplxpe)l7c6m%o-l1oWmCx%c6@rx85hi(F=v(2 zJ$jN>?yPgU#DnbDXPkHLeQwED5)W5sH#-eS z%#^4dxiVs{+q(Yd^ShMN3GH)!h!@W&N`$L!SbElXCuvnqh{U7lcCvHI#{ZjwnKvu~ zAeo7Pqot+Ohm{8|RJsTr3J4GjCy5UTo_u_~p)MS&Z5UrUc|+;Mc(YS+ju|m3Y_Dvt zonVtpBWlM718YwaN3a3wUNqX;7TqvAFnVUoD5v5WTh~}r)KoLUDw%8Rrqso~bJqd> z_T!&Rmr6ebpV^4|knJZ%qmzL;OvG3~A*loGY7?YS%hS{2R0%NQ@fRoEK52Aiu%gj( z_7~a}eQUh8PnyI^J!>pxB(x7FeINHHC4zLDT`&C*XUpp@s0_B^!k5Uu)^j_uuu^T> z8WW!QK0SgwFHTA%M!L`bl3hHjPp)|wL5Var_*A1-H8LV?uY5&ou{hRjj>#X@rxV>5%-9hbP+v?$4}3EfoRH;l_wSiz{&1<+`Y5%o%q~4rdpRF0jOsCoLnWY5x?V)0ga>CDo`NpqS) z@x`mh1QGkx;f)p-n^*g5M^zRTHz%b2IkLBY{F+HsjrFC9_H(=9Z5W&Eymh~A_FUJ} znhTc9KG((OnjFO=+q>JQZJbeOoUM77M{)$)qQMcxK9f;=L;IOv_J>*~w^YOW744QZ zoG;!b9VD3ww}OX<8sZ0F##8hvfDP{hpa3HjaLsKbLJ8 z0WpY2E!w?&cWi7&N%bOMZD~o7QT*$xCRJ@{t31~qx~+0yYrLXubXh2{_L699Nl_pn z6)9eu+uUTUdjHXYs#pX^L)AIb!FjjNsTp7C399w&B{Q4q%yKfmy}T2uQdU|1EpNcY zDk~(h#AdxybjfzB+mg6rdU9mDZ^V>|U13Dl$Gj+pAL}lR2a1u!SJXU_YqP9N{ose4 zk+$v}BIHX60WSGVWv;S%zvHOWdDP(-ceo(<8`y@Goy%4wDu>57QZNJc)f>Ls+}9h7 z^N=#3q3|l?aG8K#HwiW2^PJu{v|x5;awYfahC?>_af3$LmMc4%N~JwVlRZa4c+eW2 zE!zosAjOv&UeCeu;Bn5OQUC=jtZjF;NDk9$fGbxf3d29SUBekX1!a$Vmq_VK*MHQ4)eB!dQrHH)LVYNF%-t8!d`@!cb z2CsKs3|!}T^7fSZm?0dJ^JE`ZGxA&a!jC<>6_y67On0M)hd$m*RAzo_qM?aeqkm`* zXpDYcc_>TFZYaC3JV>{>mp(5H^efu!Waa7hGTAts29jjuVd1vI*fEeB?A&uG<8dLZ z(j6;-%vJ7R0U9}XkH)1g>&uptXPHBEA*7PSO2TZ+dbhVxspNW~ZQT3fApz}2 z_@0-lZODcd>dLrYp!mHn4k>>7kibI!Em+Vh*;z}l?0qro=aJt68joCr5Jo(Vk<@i) z5BCKb4p6Gdr9=JSf(2Mgr=_6}%4?SwhV+JZj3Ox^_^OrQk$B^v?eNz}d^xRaz&~ zKVnlLnK#8^y=If2f1zmb~^5lPLe?%l}>?~wN4IN((2~U{e9fKhLMtYFj)I$(y zgnKv?R+ZpxA$f)Q2l=aqE6EPTK=i0sY&MDFJp!vQayyvzh4wee<}kybNthRlX>SHh z7S}9he^EBOqzBCww^duHu!u+dnf9veG{HjW!}aT7aJqzze9K6-Z~8pZAgdm1n~aDs z8_s7?WXMPJ3EPJHi}NL&d;lZP8hDhAXf5Hd!x|^kEHu`6QukXrVdLnq5zbI~oPo?7 z2Cbu8U?$K!Z4_yNM1a(bL!GRe!@{Qom+DxjrJ!B99qu5b*Ma%^&-=6UEbC+S2zX&= zQ!%bgJTvmv^2}hhvNQg!l=kbapAgM^hruE3k@jTxsG(B6d=4thBC*4tzVpCYXFc$a zeqgVB^zua)y-YjpiibCCdU%txXYeNFnXcbNj*D?~)5AGjL+!!ij_4{5EWKGav0^={~M^q}baAFOPzxfUM>`KPf|G z&hsaR*7(M6KzTj8Z?;45zX@L#xU{4n$9Q_<-ac(y4g~S|Hyp^-<*d8+P4NHe?~vfm z@y309=`lGdvN8*jw-CL<;o#DKc-%lb0i9a3%{v&2X($|Qxv(_*()&=xD=5oBg=$B0 zU?41h9)JKvP0yR{KsHoC>&`(Uz>?_`tlLjw1&5tPH3FoB%}j;yffm$$s$C=RHi`I3*m@%CPqWnP@B~%DEe;7ZT{9!IMTo1hT3Q347HJ&!)BM2 z3~aClf>aFh0_9||4G}(Npu`9xYY1*SD|M~9!CCFn{-J$u2&Dg*=5$_nozpoD2nxqq zB!--eA8UWZlcEDp4r#vhZ6|vq^9sFvRnA9HpHch5Mq4*T)oGbruj!U8Lx_G%Lby}o zTQ-_4A7b)5A42vA0U}hUJq6&wQ0J%$`w#ph!EGmW96)@{AUx>q6E>-r^Emk!iCR+X zdIaNH`$}7%57D1FyTccs3}Aq0<0Ei{`=S7*>pyg=Kv3nrqblqZcpsCWSQl^uMSsdj zYzh73?6th$c~CI0>%5@!Ej`o)Xm38u0fp9=HE@Sa6l2oX9^^4|Aq%GA z3(AbFR9gA_2T2i%Ck5V2Q2WW-(a&(j#@l6wE4Z`xg#S za#-UWUpU2U!TmIo`CN0JwG^>{+V#9;zvx;ztc$}@NlcyJr?q(Y`UdW6qhq!aWyB5xV1#Jb{I-ghFNO0 zFU~+QgPs{FY1AbiU&S$QSix>*rqYVma<-~s%ALhFyVhAYepId1 zs!gOB&weC18yhE-v6ltKZMV|>JwTX+X)Y_EI(Ff^3$WTD|Ea-1HlP;6L~&40Q&5{0 z$e$2KhUgH8ucMJxJV#M%cs!d~#hR^nRwk|uuCSf6irJCkSyI<%CR==tftx6d%;?ef zYIcjZrP@APzbtOeUe>m-TW}c-ugh+U*RbL1eIY{?>@8aW9bb1NGRy@MTse@>= za%;5=U}X%K2tKTYe9gjMcBvX%qrC&uZ`d(t)g)X8snf?vBe3H%dG=bl^rv8Z@YN$gd9yveHY0@Wt0$s zh^7jCp(q+6XDoekb;=%y=Wr8%6;z0ANH5dDR_VudDG|&_lYykJaiR+(y{zpR=qL3|2e${8 z2V;?jgHj7}Kl(d8C9xWRjhpf_)KOXl+@c4wrHy zL3#9U(`=N59og2KqVh>nK~g9>fX*PI0`>i;;b6KF|8zg+k2hViCt}4dfMdvb1NJ-Rfa7vL2;lPK{Lq*u`JT>S zoM_bZ_?UY6oV6Ja14X^;LqJPl+w?vf*C!nGK;uU^0GRN|UeFF@;H(Hgp8x^|;ygh? zIZx3DuO(lD01ksanR@Mn#lti=p28RTNYY6yK={RMFiVd~k8!@a&^jicZ&rxD3CCI! zVb=fI?;c#f{K4Pp2lnb8iF2mig)|6JEmU86Y%l}m>(VnI*Bj`a6qk8QL&~PFDxI8b z2mcsQBe9$q`Q$LfG2wdvK`M1}7?SwLAV&)nO;kAk`SAz%x9CDVHVbUd$O(*aI@D|s zLxJW7W(QeGpQY<$dSD6U$ja(;Hb3{Zx@)*fIQaW{8<$KJ&fS0caI2Py^clOq9@Irt z7th7F?7W`j{&UmM==Lo~T&^R7A?G=K_e-zfTX|)i`pLitlNE(~tq*}sS1x2}Jlul6 z5+r#4SpQu8h{ntIv#qCVH`uG~+I8l+7ZG&d`Dm!+(rZQDV*1LS^WfH%-!5aTAxry~ z4xl&rot5ct{xQ$w$MtVTUi6tBFSJWq2Rj@?HAX1H$eL*fk{Hq;E`x|hghRkipYNyt zKCO=*KSziiVk|+)qQCGrTYH9X!Z0$k{Nde~0Wl`P{}ca%nv<6fnYw^~9dYxTnTZB&&962jX0DM&wy&8fdxX8xeHSe=UU&Mq zRTaUKnQO|A>E#|PUo+F=Q@dMdt`P*6e92za(TH{5C*2I2S~p?~O@hYiT>1(n^Lqqn zqewq3ctAA%0E)r53*P-a8Ak32mGtUG`L^WVcm`QovX`ecB4E9X60wrA(6NZ7z~*_DV_e z8$I*eZ8m=WtChE{#QzeyHpZ%7GwFHlwo2*tAuloI-j2exx3#x7EL^&D;Re|Kj-XT- zt908^soV2`7s+Hha!d^#J+B)0-`{qIF_x=B811SZlbUe%kvPce^xu7?LY|C z@f1gRPha1jq|=f}Se)}v-7MWH9)YAs*FJ&v3ZT9TSi?e#jarin0tjPNmxZNU_JFJG z+tZi!q)JP|4pQ)?l8$hRaPeoKf!3>MM-bp06RodLa*wD=g3)@pYJ^*YrwSIO!SaZo zDTb!G9d!hb%Y0QdYxqNSCT5o0I!GDD$Z@N!8J3eI@@0AiJmD7brkvF!pJGg_AiJ1I zO^^cKe`w$DsO|1#^_|`6XTfw6E3SJ(agG*G9qj?JiqFSL|6tSD6vUwK?Cwr~gg)Do zp@$D~7~66-=p4`!!UzJDKAymb!!R(}%O?Uel|rMH>OpRGINALtg%gpg`=}M^Q#V5( zMgJY&gF)+;`e38QHI*c%B}m94o&tOfae;og&!J2;6ENW}QeL73jatbI1*9X~y=$Dm%6FwDcnCyMRL}zo`0=y7=}*Uw zo3!qZncAL{HCgY!+}eKr{P8o27ye+;qJP;kOB%RpSesGoHLT6tcYp*6v~Z9NCyb6m zP#qds0jyqXX46qMNhXDn3pyIxw2f_z;L_X9EIB}AhyC`FYI}G3$WnW>#NMy{0aw}nB%1=Z4&*(FaCn5QG(zvdG^pQRU25;{wwG4h z@kuLO0F->{@g2!;NNd!PfqM-;@F0;&wK}0fT9UrH}(8A5I zt33(+&U;CLN|8+71@g z(s!f-kZZZILUG$QXm9iYiE*>2w;gpM>lgM{R9vT3q>qI{ELO2hJHVi`)*jzOk$r)9 zq}$VrE0$GUCm6A3H5J-=Z9i*biw8ng zi<1nM0lo^KqRY@Asucc#DMmWsnCS;5uPR)GL3pL=-IqSd>4&D&NKSGHH?pG;=Xo`w zw~VV9ddkwbp~m>9G0*b?j7-0fOwR?*U#BE#n7A=_fDS>`fwatxQ+`FzhBGQUAyIRZ??eJt46vHBlR>9m!vfb6I)8!v6TmtZ%G6&E|1e zOtx5xy%yOSu+<9Ul5w5N=&~4Oph?I=ZKLX5DXO(*&Po>5KjbY7s@tp$8(fO|`Xy}Y z;NmMypLoG7r#Xz4aHz7n)MYZ7Z1v;DFHLNV{)to;(;TJ=bbMgud96xRMME#0d$z-S z-r1ROBbW^&YdQWA>U|Y>{whex#~K!ZgEEk=LYG8Wqo28NFv)!t!~}quaAt}I^y-m| z8~E{9H2VnyVxb_wCZ7v%y(B@VrM6lzk~|ywCi3HeiSV`TF>j+Ijd|p*kyn;=mqtf8&DK^|*f+y$38+9!sis9N=S)nINm9=CJ<;Y z!t&C>MIeyou4XLM*ywT_JuOXR>VkpFwuT9j5>667A=CU*{TBrMTgb4HuW&!%Yt`;#md7-`R`ouOi$rEd!ErI zo#>qggAcx?C7`rQ2;)~PYCw%CkS(@EJHZ|!!lhi@Dp$*n^mgrrImsS~(ioGak>3)w zvop0lq@IISuA0Ou*#1JkG{U>xSQV1e}c)!d$L1plFX5XDXX5N7Ns{kT{y5|6MfhBD+esT)e7&CgSW8FxsXTAY=}?0A!j_V9 zJ;IJ~d%av<@=fNPJ9)T3qE78kaz64E>dJaYab5uaU`n~Zdp2h{8DV%SKE5G^$LfuOTRRjB;TnT(Jk$r{Pfe4CO!SM_7d)I zquW~FVCpSycJ~c*B*V8?Qqo=GwU8CkmmLFugfHQ7;A{yCy1OL-+X=twLYg9|H=~8H znnN@|tCs^ZLlCBl5wHvYF}2vo>a6%mUWpTds_mt*@wMN4-r`%NTA%+$(`m6{MNpi@ zMx)8f>U4hd!row@gM&PVo&Hx+lV@$j9yWTjTue zG9n0DP<*HUmJ7ZZWwI2x+{t3QEfr6?T}2iXl=6e0b~)J>X3`!fXd9+2wc1%cj&F@Z zgYR|r5Xd5jy9;YW&=4{-0rJ*L5CgDPj9^3%bp-`HkyBs`j1iTUGD4?WilZ6RO8mIE z+~Joc?GID6K96dyuv(dWREK9Os~%?$$FxswxQsoOi8M?RnL%B~Lyk&(-09D0M?^Jy zWjP)n(b)TF<-|CG%!Vz?8Fu&6iU<>oG#kGcrcrrBlfZMVl0wOJvsq%RL9To%iCW@)#& zZAJWhgzYAq)#NTNb~3GBcD%ZZOc43!YWSyA7TD6xkk)n^FaRAz73b}%9d&YisBic(?mv=Iq^r%Ug zzHq-rRrhfOOF+yR=AN!a9*Rd#sM9ONt5h~w)yMP7Dl9lfpi$H0%GPW^lS4~~?vI8Z z%^ToK#NOe0ExmUsb`lLO$W*}yXNOxPe@zD*90uTDULnH6C?InP3J=jYEO2d)&e|mP z1DSd0QOZeuLWo*NqZzopA+LXy9)fJC00NSX=_4Mi1Z)YyZVC>C!g}cY(Amaj%QN+bev|Xxd2OPD zk!dfkY6k!(sDBvsFC2r^?}hb81(WG5Lt9|riT`2?P;B%jaf5UX<~OJ;uAL$=Ien+V zC!V8u0v?CUa)4*Q+Q_u zkx{q;NjLcvyMuU*{+uDsCQ4U{JLowYby-tn@hatL zy}X>9y08#}oytdn^qfFesF)Tt(2!XGw#r%?7&zzFFh2U;#U9XBO8W--#gOpfbJ`Ey z|M8FCKlWQrOJwE;@Sm02l9OBr7N}go4V8ur)}M@m2uWjggb)DC4s`I4d7_8O&E(j; z?3$9~R$QDxNM^rNh9Y;6P7w+bo2q}NEd6f&_raor-v`UCaTM3TT8HK2-$|n{N@U>_ zL-`P7EXoEU5JRMa)?tNUEe8XFis+w8g9k(QQ)%?&Oac}S`2V$b?%`DwXBgja&&fR@ zH_XidF$p1wA)J|Wk1;?lCl?fgc)=TB3>Y8;BoMqHwJqhL)Tgydv9(?(TBX)fq%=~C zmLj!iX-kn7QA(9snzk0LRf<%SzO&~IhLor6A3f*U^UcoAygRe!H#@UCv$JUP&vPxs zeDj$1%#<2T1!e|!7xI+~_VXLl5|jHqvOhU7ZDUGee;HnkcPP=_k_FFxPjXg*9KyI+ zIh0@+s)1JDSuKMeaDZ3|<_*J8{TUFDLl|mXmY8B>Wj_?4mC#=XjsCKPEO=p0c&t&Z zd1%kHxR#o9S*C?du*}tEHfAC7WetnvS}`<%j=o7YVna)6pw(xzkUi7f#$|^y4WQ{7 zu@@lu=j6xr*11VEIY+`B{tgd(c3zO8%nGk0U^%ec6h)G_`ki|XQXr!?NsQkxzV6Bn1ea9L+@ z(Zr7CU_oXaW>VOdfzENm+FlFQ7Se0ROrNdw(QLvb6{f}HRQ{$Je>(c&rws#{dFI^r zZ4^(`J*G0~Pu_+p5AAh>RRpkcbaS2a?Fe&JqxDTp`dIW9;DL%0wxX5;`KxyA4F{(~_`93>NF@bj4LF!NC&D6Zm+Di$Q-tb2*Q z&csGmXyqA%Z9s(AxNO3@Ij=WGt=UG6J7F;r*uqdQa z?7j!nV{8eQE-cwY7L(3AEXF3&V*9{DpSYdyCjRhv#&2johwf{r+k`QB81%!aRVN<& z@b*N^xiw_lU>H~@4MWzgHxSOGVfnD|iC7=hf0%CPm_@@4^t-nj#GHMug&S|FJtr?i z^JVrobltd(-?Ll>)6>jwgX=dUy+^n_ifzM>3)an3iOzpG9Tu;+96TP<0Jm_PIqof3 zMn=~M!#Ky{CTN_2f7Y-i#|gW~32RCWKA4-J9sS&>kYpTOx#xVNLCo)A$LUme^fVNH z@^S7VU^UJ0YR8?Oy$^IYuG*bm|g;@aX~i60%`7XLy*AYpYvZ^F^U(!|RW z*C!rJ@+7TGdL=nNd1gv^%B+;Fcr$y)i0!GRsZXRHPs>QVGVR{9r_#&Qd(wL|5;H;> zD>HUw=4CF++&{7$<8G@j*nGjhEO%BQYfjeItp4mPvY*JYb1HKd!{HJ9*)(3%BR%{Pp?AM&*yHAJsW({ivOzj*qS!-7|XEn6@zo z3L*tBT%<4RxoAh>q{0n_JBmgW6&8hx?kL(_^k%VL>?xjAyrKBmSl`$=V|SK}ELl}@ zd|d0eo#RfG`bw9SK3%r4Y+rdvc}w}~ixV%tqawbdqvE-WcgE+BUpxMT%F@btm76MG zn=oQRWWuTm+a{dy)Oc2V4yX(@M{QAkx>(QB59*`dLT`Pz3Lsj9iB=HSHAiCq()ns|Cr)1*c605Cx}3V&x}Lg?b+6Q?)z7Kl zQh&1Hx`y6JY-Cwvd*ozeps}a1xAA0CR+Da;+O(i)P1C;SjOI}Dtmf6tPqo-Bl`U78 zv$kYgPntPp@G)n1an9tEoL*Vumu9`>_@I(;+5+fBa-*?fEx=mTEjZ7wq}#@Gd5_cW z!mP{N=yqEntDo)|>oy6{9cu+-3*GTnmb^`O0^FzRPO^&aG`f@F_R*aQ_e{F+_9%NW z4KG_B`@X3EVV9L>?_RNDMddA>w=e0KfAiw5?#i1NFT%Zz#nuv(&!yIU>lVxmzYKQ` zzJ*0w9<&L4aJ6A;0j|_~i>+y(q-=;2Xxhx2v%CYY^{} z^J@LO()eLo|7!{ghQ+(u$wxO*xY#)cL(|miH2_ck2yN{mu4O9=hBW*pM_()-_YdH#Ru{JtwJ^R2}3?!>>m1pohh zrn(!xCjE0Q&EH1QK?zA%sxVh&H99cObJUY$veZhQ)MLu-h%`!*G)s$2k;~+A z)Kk->Ri?`oGDEJEtI*wijm(s5f$W78FH{+qBxiU{~kq((J3uK{m z$|C8K#j-?hm8H@x%VfFqpnvu@xn1s%J7uNZC9C99a<_b1J|mx%)$%!6gPU|~<@2&m zz99GDp`|a%m*iggvfL;4%X;~WY>)@!tMWB@P`)k?$;0x9JSrRI8?s3rlgH(o@`OAo zn{f*gZ#t2u6K??hx|aElOM`Xd0t+SAIUEHvFw%?Wsm$s zUXq{6UU?a>Nc@@Xlb_2k9M1Ctr<#+O?yd}rv z_wu&=_t$!Yngd@N_AUj}T; z#*Ce|%XZr_sQcsWcsl{pCnnj+c8ZNIMmx<;w=-g$Q>BU;9k;w|zQ;4!W32Xg2Cd?{ zvmO3kuKQ^Hv;o>6ZHP8ZJ2`4~Bx?N;cf<0fi=!*G^^WzbTF3e$b&d^qqB{>nqLG81 zs94bBh%|Vj+hLu=!8(b9brJ>ZBns9^6s(gdSVyP9qnu2_I{Sg8j-rloG6{d`De5We zDe5WeY3ga}Y3ga}Y3ga}Y3ga}Y3ga}d8y~6o|k%F>UpW>rJk31Ug~+N=cS&HdOqs; zsOO`ek9t1p`Kafko{xGy>iMbXr=FjBxZMYc8a#gL`Kjlpo}YSt>iMY`pk9DF0qO*( z6QE9jIsxhgs1u-0kUBx8D@eT{^@7w3QZGooAoYUO3sNscy%6<6)C*BBM7L`dk$Xk%6}eZQXgo#!75P`>Uy*-B{uTLGUy*-B{uTLGUy*-B{uTLG))v8{5gt_uj9!t5)^yb-JtjRGrhi zYInOUNJxNyf_yKX01)K=WP|Si>HqEj|B{eUl?MR<)%<1&{(~)D+NPwKxWqT-@~snp zg9KCz1VTZDiS?UH`PRk1VPM{29cgT9=D?!Wc_@}qzggFv;gb@2cJQAYWWtpEZ7?y@jSVqjx${B5UV@SO|wH<<0; z{><1KdVI%Ki}>~<`46C0AggwUwx-|QcU;iiZ{NZu`ur>hd*|Hb(|6veERqxu=b@5Bab=rqptGxd{QJg!4*-i_$sES~)AB46}Fjg|ea#e@?J}z%CUJ zOsLWRQR1#ng^sD)A4FDuY!iUhzlgfJh(J@BRqd&P#v2B`+saBx>m+M&q7vk-75$NH%T5pi%m z5FX?`2-5l53=a&GkC9^NZCLpN5(DMKMwwab$FDIs?q>4!!xBS}75gX_5;(luk;3Vl zLCLd5a_8`Iyz}K}+#RMwu6DVk3O_-}n>aE!4NaD*sQn`GxY?cHe!Bl9n?u&g6?aKm z-P8z&;Q3gr;h`YIxX%z^o&GZZg1=>_+hP2$$-DnL_?7?3^!WAsY4I7|@K;aL<>OTK zByfjl2PA$T83*LM9(;espx-qB%wv7H2i6CFsfAg<9V>Pj*OpwX)l?^mQfr$*OPPS$ z=`mzTYs{*(UW^ij1U8UfXjNoY7GK*+YHht(2oKE&tfZuvAyoN(;_OF>-J6AMmS5fB z^sY6wea&&${+!}@R1f$5oC-2J>J-A${@r(dRzc`wnK>a7~8{Y-scc|ETOI8 zjtNY%Y2!PI;8-@a=O}+{ap1Ewk0@T`C`q!|=KceX9gK8wtOtIC96}-^7)v23Mu;MH zhKyLGOQMujfRG$p(s`(2*nP4EH7*J57^=|%t(#PwCcW7U%e=8Jb>p6~>RAlY4a*ts=pl}_J{->@kKzxH|8XQ5{t=E zV&o`$D#ZHdv&iZWFa)(~oBh-Osl{~CS0hfM7?PyWUWsr5oYlsyC1cwULoQ4|Y5RHA2*rN+EnFPnu z`Y_&Yz*#550YJwDy@brZU>0pWV^RxRjL221@2ABq)AtA%Cz?+FG(}Yh?^v)1Lnh%D zeM{{3&-4#F9rZhS@DT0E(WRkrG!jC#5?OFjZv*xQjUP~XsaxL2rqRKvPW$zHqHr8Urp2Z)L z+)EvQeoeJ8c6A#Iy9>3lxiH3=@86uiTbnnJJJoypZ7gco_*HvKOH97B? zWiwp>+r}*Zf9b3ImxwvjL~h~j<<3shN8$k-$V1p|96I!=N6VBqmb==Bec|*;HUg?) z4!5#R*(#Fe)w%+RH#y{8&%%!|fQ5JcFzUE;-yVYR^&Ek55AXb{^w|@j|&G z|6C-+*On%j;W|f8mj?;679?!qY86c{(s1-PI2Wahoclf%1*8%JAvRh1(0)5Vu37Iz z`JY?RW@qKr+FMmBC{TC7k@}fv-k8t6iO}4K-i3WkF!Lc=D`nuD)v#Na zA|R*no51fkUN3^rmI;tty#IK284*2Zu!kG13!$OlxJAt@zLU`kvsazO25TpJLbK&;M8kw*0)*14kpf*)3;GiDh;C(F}$- z1;!=OBkW#ctacN=je*Pr)lnGzX=OwgNZjTpVbFxqb;8kTc@X&L2XR0A7oc!Mf2?u9 zcctQLCCr+tYipa_k=;1ETIpHt!Jeo;iy^xqBES^Ct6-+wHi%2g&)?7N^Yy zUrMIu){Jk)luDa@7We5U!$$3XFNbyRT!YPIbMKj5$IEpTX1IOtVP~(UPO2-+9ZFi6 z-$3<|{Xb#@tABt0M0s1TVCWKwveDy^S!!@4$s|DAqhsEv--Z}Dl)t%0G>U#ycJ7cy z^8%;|pg32=7~MJmqlC-x07Sd!2YX^|2D`?y;-$a!rZ3R5ia{v1QI_^>gi(HSS_e%2 zUbdg^zjMBBiLr8eSI^BqXM6HKKg#@-w`a**w(}RMe%XWl3MipvBODo*hi?+ykYq)z ziqy4goZw0@VIUY65+L7DaM5q=KWFd$;W3S!Zi>sOzpEF#(*3V-27N;^pDRoMh~(ZD zJLZXIam0lM7U#)119Hm947W)p3$%V`0Tv+*n=&ybF&}h~FA}7hEpA&1Y!BiYIb~~D z$TSo9#3ee02e^%*@4|*+=Nq6&JG5>zX4k5f?)z*#pI-G(+j|jye%13CUdcSP;rNlY z#Q!X%zHf|V)GWIcEz-=fW6AahfxI~y7w7i|PK6H@@twdgH>D_R@>&OtKl}%MuAQ7I zcpFmV^~w~8$4@zzh~P~+?B~%L@EM3x(^KXJSgc6I=;)B6 zpRco2LKIlURPE*XUmZ^|1vb?w*ZfF}EXvY13I4af+()bAI5V?BRbFp`Sb{8GRJHd* z4S2s%4A)6Uc=PK%4@PbJ<{1R6+2THMk0c+kif**#ZGE)w6WsqH z`r^DL&r8|OEAumm^qyrryd(HQ9olv$ltnVGB{aY?_76Uk%6p;e)2DTvF(;t=Q+|8b zqfT(u5@BP);6;jmRAEV057E*2d^wx@*aL1GqWU|$6h5%O@cQtVtC^isd%gD7PZ_Io z_BDP5w(2*)Mu&JxS@X%%ByH_@+l>y07jIc~!@;Raw)q_;9oy@*U#mCnc7%t85qa4? z%_Vr5tkN^}(^>`EFhag;!MpRh!&bKnveQZAJ4)gEJo1@wHtT$Gs6IpznN$Lk-$NcM z3ReVC&qcXvfGX$I0nfkS$a|Pm%x+lq{WweNc;K>a1M@EAVWs2IBcQPiEJNt}+Ea8~WiapASoMvo(&PdUO}AfC~>ZGzqWjd)4no( ziLi#e3lOU~sI*XPH&n&J0cWfoh*}eWEEZW%vX?YK!$?w}htY|GALx3;YZoo=JCF4@ zdiaA-uq!*L5;Yg)z-_`MciiIwDAAR3-snC4V+KA>&V%Ak;p{1u>{Lw$NFj)Yn0Ms2*kxUZ)OTddbiJM}PK!DM}Ot zczn?EZXhx3wyu6i{QMz_Ht%b?K&-@5r;8b076YDir`KXF0&2i9NQ~#JYaq*}Ylb}^ z<{{6xy&;dQ;|@k_(31PDr!}}W$zF7Jv@f%um0M$#=8ygpu%j(VU-d5JtQwT714#f0z+Cm$F9JjGr_G!~NS@L9P;C1? z;Ij2YVYuv}tzU+HugU=f9b1Wbx3418+xj$RKD;$gf$0j_A&c;-OhoF*z@DhEW@d9o zbQBjqEQnn2aG?N9{bmD^A#Um6SDKsm0g{g_<4^dJjg_l_HXdDMk!p`oFv8+@_v_9> zq;#WkQ!GNGfLT7f8m60H@$tu?p;o_It#TApmE`xnZr|_|cb3XXE)N^buLE`9R=Qbg zXJu}6r07me2HU<)S7m?@GzrQDTE3UH?FXM7V+-lT#l}P(U>Fvnyw8T7RTeP`R579m zj=Y>qDw1h-;|mX-)cSXCc$?hr;43LQt)7z$1QG^pyclQ1Bd!jbzsVEgIg~u9b38;> zfsRa%U`l%did6HzPRd;TK{_EW;n^Ivp-%pu0%9G-z@Au{Ry+EqEcqW=z-#6;-!{WA z;l+xC6Zke>dl+(R1q7B^Hu~HmrG~Kt575mzve>x*cL-shl+zqp6yuGX)DDGm`cid! znlnZY=+a5*xQ=$qM}5$N+o!^(TqTFHDdyCcL8NM4VY@2gnNXF|D?5a558Lb*Yfm4) z_;0%2EF7k{)i(tTvS`l5he^KvW%l&-suPwpIlWB_Za1Hfa$@J!emrcyPpTKKM@NqL z?X_SqHt#DucWm<3Lp}W|&YyQE27zbGP55=HtZmB(k*WZA79f##?TweCt{%5yuc+Kx zgfSrIZI*Y57FOD9l@H0nzqOu|Bhrm&^m_RK6^Z<^N($=DDxyyPLA z+J)E(gs9AfaO`5qk$IGGY+_*tEk0n_wrM}n4G#So>8Dw6#K7tx@g;U`8hN_R;^Uw9JLRUgOQ?PTMr4YD5H7=ryv)bPtl=<&4&% z*w6k|D-%Tg*F~sh0Ns(h&mOQ_Qf{`#_XU44(VDY8b})RFpLykg10uxUztD>gswTH} z&&xgt>zc(+=GdM2gIQ%3V4AGxPFW0*l0YsbA|nFZpN~ih4u-P!{39d@_MN)DC%d1w z7>SaUs-g@Hp7xqZ3Tn)e z7x^sC`xJ{V<3YrmbB{h9i5rdancCEyL=9ZOJXoVHo@$$-%ZaNm-75Z-Ry9Z%!^+STWyv~To>{^T&MW0-;$3yc9L2mhq z;ZbQ5LGNM+aN628)Cs16>p55^T^*8$Dw&ss_~4G5Go63gW^CY+0+Z07f2WB4Dh0^q z-|6QgV8__5>~&z1gq0FxDWr`OzmR}3aJmCA^d_eufde7;d|OCrKdnaM>4(M%4V`PxpCJc~UhEuddx9)@)9qe_|i z)0EA%&P@_&9&o#9eqZCUCbh?`j!zgih5sJ%c4(7_#|Xt#r7MVL&Q+^PQEg3MBW;4T zG^4-*8L%s|A}R%*eGdx&i}B1He(mLygTmIAc^G(9Si zK7e{Ngoq>r-r-zhyygK)*9cj8_%g z)`>ANlipCdzw(raeqP-+ldhyUv_VOht+!w*>Sh+Z7(7(l=9~_Vk ztsM|g1xW`?)?|@m2jyAgC_IB`Mtz(O`mwgP15`lPb2V+VihV#29>y=H6ujE#rdnK` zH`EaHzABs~teIrh`ScxMz}FC**_Ii?^EbL(n90b(F0r0PMQ70UkL}tv;*4~bKCiYm zqngRuGy`^c_*M6{*_~%7FmOMquOEZXAg1^kM`)0ZrFqgC>C%RJvQSo_OAA(WF3{euE}GaeA?tu5kF@#62mM$a051I zNhE>u>!gFE8g#Jj95BqHQS%|>DOj71MZ?EYfM+MiJcX?>*}vKfGaBfQFZ3f^Q-R1# znhyK1*RvO@nHb|^i4Ep_0s{lZwCNa;Ix<{E5cUReguJf+72QRZIc%`9-Vy)D zWKhb?FbluyDTgT^naN%l2|rm}oO6D0=3kfXO2L{tqj(kDqjbl(pYz9DykeZlk4iW5 zER`)vqJxx(NOa;so@buE!389-YLbEi@6rZG0#GBsC+Z0fzT6+d7deYVU;dy!rPXiE zmu73@Jr&~K{-9MVQD}&`)e>yLNWr>Yh8CXae9XqfvVQ&eC_;#zpoaMxZ0GpZz7xjx z`t_Q-F?u=vrRPaj3r<9&t6K=+egimiJ8D4gh-rUYvaVy zG($v+3zk5sMuOhjxkH7bQ}(5{PD3Mg?!@8PkK&w>n7tO8FmAmoF30_#^B~c(Q_`4L zYWOoDVSnK|1=p{+@`Fk^Qb81Xf89_S`RSTzv(a4ID%71nll%{Wad$!CKfeTKkyC?n zCkMKHU#*nz_(tO$M)UP&ZfJ#*q(0Gr!E(l5(ce<3xut+_i8XrK8?Xr7_oeHz(bZ?~8q5q~$Rah{5@@7SMN zx9PnJ-5?^xeW2m?yC_7A#WK*B@oIy*Y@iC1n7lYKj&m7vV;KP4TVll=II)$39dOJ^czLRU>L> z68P*PFMN+WXxdAu=Hyt3g$l(GTeTVOZYw3KY|W0Fk-$S_`@9`K=60)bEy?Z%tT+Iq z7f>%M9P)FGg3EY$ood+v$pdsXvG? zd2q3abeu-}LfAQWY@=*+#`CX8RChoA`=1!hS1x5dOF)rGjX4KFg!iPHZE2E=rv|A} zro(8h38LLFljl^>?nJkc+wdY&MOOlVa@6>vBki#gKhNVv+%Add{g6#-@Z$k*ps}0Y zQ=8$)+Nm||)mVz^aa4b-Vpg=1daRaOU)8@BY4jS>=5n#6abG@(F2`=k-eQ9@u# zxfNFHv=z2w@{p1dzSOgHokX1AUGT0DY4jQI@YMw)EWQ~q5wmR$KQ}Y;(HPMSQCwzu zdli|G?bj(>++CP)yQ4s6YfpDc3KqPmquQSxg%*EnTWumWugbDW5ef%8j-rT#3rJu? z)5n;4b2c*;2LIW%LmvUu6t1~di~}0&Svy}QX#ER|hDFZwl!~zUP&}B1oKAxIzt~so zb!GaJYOb#&qRUjEI1xe_`@7qv_-LggQ$JE8+{ryT4%ldwC5ete+{G3C#g@^oxfY3#F zcLlj(l2G8>tC<5XWV|6_DZQZ7ow?MD8EZ9mM2oV~WoV-uoExmbwpzc6eMV}%J_{3l zW(4t2a-o}XRlU|NSiYn!*nR(Sc>*@TuU*(S77gfCi7+WR%2b;4#RiyxWR3(u5BIdf zo@#g4wQjtG3T$PqdX$2z8Zi|QP~I^*9iC+(!;?qkyk&Q7v>DLJGjS44q|%yBz}}>i z&Ve%^6>xY<=Pi9WlwpWB%K10Iz`*#gS^YqMeV9$4qFchMFO}(%y}xs2Hn_E}s4=*3 z+lAeCKtS}9E{l(P=PBI;rsYVG-gw}-_x;KwUefIB@V%RLA&}WU2XCL_?hZHoR<7ED zY}4#P_MmX(_G_lqfp=+iX|!*)RdLCr-1w`4rB_@bI&Uz# z!>9C3&LdoB$r+O#n);WTPi;V52OhNeKfW6_NLnw zpFTuLC^@aPy~ZGUPZr;)=-p|b$-R8htO)JXy{ecE5a|b{{&0O%H2rN&9(VHxmvNly zbY?sVk}@^{aw)%#J}|UW=ucLWs%%j)^n7S%8D1Woi$UT}VuU6@Sd6zc2+t_2IMBxd zb4R#ykMr8s5gKy=v+opw6;4R&&46$V+OOpDZwp3iR0Osqpjx))joB*iX+diVl?E~Q zc|$qmb#T#7Kcal042LUNAoPTPUxF-iGFw>ZFnUqU@y$&s8%h-HGD`EoNBbe#S>Y-4 zlkeAP>62k~-N zHQqXXyN67hGD6CxQIq_zoepU&j0 zYO&}<4cS^2sp!;5))(aAD!KmUED#QGr48DVlwbyft31WlS2yU<1>#VMp?>D1BCFfB z_JJ-kxTB{OLI}5XcPHXUo}x~->VP%of!G_N-(3Snvq`*gX3u0GR&}*fFwHo3-vIw0 zeiWskq3ZT9hTg^je{sC^@+z3FAd}KNhbpE5RO+lsLgv$;1igG7pRwI|;BO7o($2>mS(E z$CO@qYf5i=Zh6-xB=U8@mR7Yjk%OUp;_MMBfe_v1A(Hqk6!D})x%JNl838^ZA13Xu zz}LyD@X2;5o1P61Rc$%jcUnJ>`;6r{h5yrEbnbM$$ntA@P2IS1PyW^RyG0$S2tUlh z8?E(McS?7}X3nAAJs2u_n{^05)*D7 zW{Y>o99!I9&KQdzgtG(k@BT|J*;{Pt*b|?A_})e98pXCbMWbhBZ$t&YbNQOwN^=F) z_yIb_az2Pyya2530n@Y@s>s>n?L79;U-O9oPY$==~f1gXro5Y z*3~JaenSl_I}1*&dpYD?i8s<7w%~sEojqq~iFnaYyLgM#so%_ZZ^WTV0`R*H@{m2+ zja4MX^|#>xS9YQo{@F1I)!%RhM{4ZUapHTKgLZLcn$ehRq(emb8 z9<&Nx*RLcS#)SdTxcURrJhxPM2IBP%I zf1bWu&uRf{60-?Gclb5(IFI*!%tU*7d`i!l@>TaHzYQqH4_Y*6!Wy0d-B#Lz7Rg3l zqKsvXUk9@6iKV6#!bDy5n&j9MYpcKm!vG7z*2&4G*Yl}iccl*@WqKZWQSJCgQSj+d ze&}E1mAs^hP}>`{BJ6lv*>0-ft<;P@`u&VFI~P3qRtufE11+|#Y6|RJccqo27Wzr}Tp|DH z`G4^v)_8}R24X3}=6X&@Uqu;hKEQV^-)VKnBzI*|Iskecw~l?+R|WKO*~(1LrpdJ? z0!JKnCe<|m*WR>m+Qm+NKNH<_yefIml z+x32qzkNRrhR^IhT#yCiYU{3oq196nC3ePkB)f%7X1G^Ibog$ZnYu4(HyHUiFB`6x zo$ty-8pknmO|B9|(5TzoHG|%>s#7)CM(i=M7Nl=@GyDi-*ng6ahK(&-_4h(lyUN-oOa$` zo+P;C4d@m^p9J4c~rbi$rq9nhGxayFjhg+Rqa{l#`Y z!(P6K7fK3T;y!VZhGiC#)|pl$QX?a)a9$(4l(usVSH>2&5pIu5ALn*CqBt)9$yAl; z-{fOmgu><7YJ5k>*0Q~>lq72!XFX6P5Z{vW&zLsraKq5H%Z26}$OKDMv=sim;K?vsoVs(JNbgTU8-M%+ zN(+7Xl}`BDl=KDkUHM9fLlV)gN&PqbyX)$86!Wv!y+r*~kAyjFUKPDWL3A)m$@ir9 zjJ;uQV9#3$*`Dqo1Cy5*;^8DQcid^Td=CivAP+D;gl4b7*xa9IQ-R|lY5tIpiM~9- z%Hm9*vDV@_1FfiR|Kqh_5Ml0sm?abD>@peo(cnhiSWs$uy&$RYcd+m`6%X9FN%?w}s~Q=3!pJzbN~iJ}bbM*PPi@!E0eN zhKcuT=kAsz8TQo76CMO+FW#hr6da({mqpGK2K4T|xv9SNIXZ}a=4_K5pbz1HE6T}9 zbApW~m0C`q)S^F}B9Kw5!eT)Bj_h9vlCX8%VRvMOg8PJ*>PU>%yt-hyGOhjg!2pZR4{ z=VR_*?Hw|aai##~+^H>3p$W@6Zi`o4^iO2Iy=FPdEAI58Ebc~*%1#sh8KzUKOVHs( z<3$LMSCFP|!>fmF^oESZR|c|2JI3|gucuLq4R(||_!8L@gHU8hUQZKn2S#z@EVf3? zTroZd&}JK(mJLe>#x8xL)jfx$6`okcHP?8i%dW?F%nZh=VJ)32CmY;^y5C1^?V0;M z<3!e8GZcPej-h&-Osc>6PU2f4x=XhA*<_K*D6U6R)4xbEx~{3*ldB#N+7QEXD^v=I z+i^L+V7_2ld}O2b-(#bmv*PyZI4|U#Q5|22a(-VLOTZc3!9ns1RI-? zA<~h|tPH0y*bO1#EMrsWN>4yJM7vqFZr?uw$H8*PhiHRQg1U9YoscX-G|gck+SSRX!(e7@~eeUEw+POsT;=W9J&=EV`cUc{PIg_#TQVGnZsQbCs7#Q-)v#BicxLw#Fb?#)8TYbu zN)5R=MI1i7FHhF|X}xEl=sW~`-kf;fOR^h1yjthSw?%#F{HqrY2$q>7!nbw~nZ8q9 zh{vY! z%i=H!!P&wh z7_E%pB7l5)*VU>_O-S~d5Z!+;f{pQ4e86*&);?G<9*Q$JEJ!ZxY;Oj5&@^eg0Zs!iLCAR`2K?MSFzjX;kHD6)^`&=EZOIdW>L#O`J zf~$M4}JiV}v6B-e{NUBGFgj-*H%NG zfY0X(@|S8?V)drF;2OQcpDl2LV=~=%gGx?_$fbSsi@%J~taHcMTLLpjNF8FkjnjyM zW;4sSf6RHaa~LijL#EJ0W2m!BmQP(f=%Km_N@hsBFw%q#7{Er?y1V~UEPEih87B`~ zv$jE%>Ug9&=o+sZVZL7^+sp)PSrS;ZIJac4S-M>#V;T--4FXZ*>CI7w%583<{>tb6 zOZ8gZ#B0jplyTbzto2VOs)s9U%trre`m=RlKf{I_Nwdxn(xNG%zaVNurEYiMV3*g| z``3;{j7`UyfFrjlEbIJN{0db|r>|LA@=vX9CHFZYiexnkn$b%8Rvw0TZOQIXa;oTI zv@j;ZP+#~|!J(aBz9S{wL7W%Dr1H)G-XUNt9-lP?ijJ-XEj1e*CI~-Xz@4(Xg;UoG z{uzBf-U+(SHe}6oG%;A*93Zb=oE>uTb^%qsL>|bQf?7_6=KIiPU`I|r;YcZ!YG7y~ zQu@UldAwz$^|uoz3mz1;An-WVBtefSh-pv<`n&TU3oM!hrEI?l@v8A4#^$4t&~T32 zl*J=1q~h+60sNc43>0aVvhzyfjshgPYZoQ(OOh>LbUIoblb@1z~zp?))n?^)q6WGuDh}gMUaA9|X z3qq-XlcNldy5==T4rq*~g@XVY!9sYZjo#R7 zr{n)r5^S{9+$+8l7IVB*3_k5%-TBY@C%`P@&tZf>82sm#nfw7L%92>nN$663yW!yt zhS>EfLcE_Z)gv-Y^h1;xj(<4nD4GY{C-nWUgQc9cMmH{qpa!uEznrGF^?bbJHApScQ$j>$JZHAX80DdXu z--AMgrA0$Otdd#N9#!cg2Z~N8&lj1d+wDh+^ZObWJ$J)_h(&2#msu>q0B$DEERy{1 zCJN{7M@%#E@8pda`@u!v@{gcT3bA*>g*xYLXlbb&o@1vX*x+l}Voys6o~^_7>#GB| z*r!R%kA9k%J`?m>1tMHB9x$ZRe0$r~ui}X}jOC)9LH=Po*2SLdtf3^4?VKnu2ox&mV~0oDgi` z;9d}P$g~9%ThTK8s}5ow2V4?(-lU*ed8ro|}mU}pk% z;bqB0bx3AOk<0Joeh}Vl@_7Po&C`Cg>>gff>e7fu41U3Ic{JQu1W%+!Gvz3GDO2ixKd;KF6UEw8F_cDAh08gB>@ zaRH2Q96sBJ>`4aXvrF0xPtIWoA1pPsRQtU~xDtnEfTJnl{A9u5pR^K8=UdNq%T8F$)FbN> zgK+_(BF#D>R>kK!M#OT~=@@}3yAYqm33?{Bv?2iBr|-aRK0@uapzuXI)wE0=R@m^7 zQ`wLBn(M*wg!mgmQT1d!@3<2z>~rmDW)KG0*B4>_R6LjiI0^9QT8gtDDT|Lclxppm z+OeL6H3QpearJAB%1ellZ6d*)wBQ(hPbE=%?y6i^uf%`RXm*JW*WQ%>&J+=V(=qf{ zri~yItvTZbII+7S0>4Q0U9@>HnMP$X>8TqAfD(vAh};2P{QK)ik`a6$W$nG<{bR2Ufd!^iE z#1K58$gW!xpeYHeehuhQCXZ9p%N8m zB+l~T_u-Ycr!U>!?xu!!*6rNxq37{`DhMMfY6NpD3Jw zkYQDstvt30Hc_SaZuuMP2YrdW@HsPMbf^Y9lI<9$bnMil2X7`Ba-DGLbzgqP>mxwe zf1&JkDH54D3nLar2KjJ3z`*R+rUABq4;>>4Kjc2iQEj7pVLcZYZ~pteAG4rm1{>PQy=!QiV5G|tVk)53 zP?Azw+N)Yq3zZ`dW7Q9Bq@Y*jSK0<1f`HM;_>GH57pf_S%Ounz_yhTY8lplQSM`xx zU{r-Deqs+*I~sLI$Oq`>i`J1kJ(+yNOYy$_>R3Jfi680<|^u#J@aY%Q>O zqfI~sCbk#3--^zMkV&Yj0D(R^rK}+_npgPr_4^kYuG=pO%$C_7v{s@-{M-P@RL3^<`kO@b=YdKMuccfO1ZW# zeRYE%D~CMAgPlo?T!O6?b|pOZv{iMWb;sN=jF%=?$Iz_5zH?K;aFGU^8l7u%zHgiy z%)~y|k;Es-7YX69AMj^epGX#&^c@pp+lc}kKc`5CjPN4Z$$e58$Yn*J?81%`0~A)D zPg-db*pj-t4-G9>ImW4IMi*v#9z^9VD9h@9t;3jMAUVxt=oor+16yHf{lT|G4 zya6{4#BxFw!!~UTRwXXawKU4iz$$GMY6=Z8VM{2@0{=5A0+A#p6$aT3ubRyWMWPq9 zCEH5(Il0v4e4=Yxg(tDglfYAy!UpC>&^4=x7#6_S&Ktds)a8^`^tp6RnRd{KImB^o z2n=t#>iKx<*evmvoE{+fH#@WXGWs$)Uxrtf?r>AaxV0?kf0o@oDboJ6z0cgP@A$;k>SK1UqC?Q_ zk_I?j74;}uNXhOf_5ZxQSgB4otDEb9JJrX1kq`-o%T>g%M5~xXf!2_4P~K64tKgXq z&KHZ0@!cPvUJG4kw-0;tPo$zJrU-Nop>Uo65Pm|yaNvKjhi7V1g98;^N1~V3% zTR>yWa+X2FJ_wpPwz3i^6AGwOa_VMS-&`*KoKgF2&oR10Jn6{!pvVG@n=Jk@vjNuY zL~P7aDGhg~O9G^!bHi$8?G9v9Gp0cmekYkK;(q=47;~gI>h-kx-ceM{ml$#8KI$4ltyjaqP zki^cyDERloAb)dcDBU4na9C(pfD{P@eBGA}0|Rb)p{ISqi60=^FUEdF!ok{Gs;vb) zfj9(#1QA64w*ud^YsN5&PeiI>c`VioE8h)e}W%S9NMA55Gs zrWL6l+@3CKd@8(UQLTwe12SGWMqRn+j)QZRj*g)Xua)%ayzpqs{pD(WWESJYL3{M$ z%qkpM`jFoqLYVv6{IbCkL?fEiJj$VG=$taup&RL9e{s(Sgse2xVJlw0h74EXJKt2eX|dxz{->0)3W`JN7Bv!rLvRZc z0tAOZ2yVe4g9iq826qXAg`f!*+}(o1;1FDb>kKexumFS40KvK0yH1_@Z=LgWZ+}(Y zwYsa;OLz6tTA%gS=>8$=Z7pLh>|K2QElL)E=Q*(n*H`8R`8={-@4mTD-SWBOYRxV? zmF(-rJB8^Wlp?319rTrh^?QEP?|Msxrv?WbJ-+id+V#F2Y4(JPJ6U9bv+U1cIIH^W z)lg$_=g^Ma>2~Pyd_YOAv29Cb-U6DJO?NxnW7~QP*SmYi*vdUVuW#LWQ_u0`hymZi zaQS3Nb^4`ro$>0G%zbXmr5|D|iq0R<;S@?kr0j5Ruq87-Z1>crx%EzVZ9#U;{?}ti zW2W%*9MQg3Nbh%Ti6LhDd|-aFSgXoPG`mHlUU1iCHr>ru>DX?W_#13(`u*!Plu2OP z6jk=2>BC0l)aw;HCmxoYD1i4b%m$1`DYC_^L~ zIEAnFcHvad=-aO3(_MI=9#`z6-9*_!&$?<%meb5;jGd5Qp=MGf z6BD{%`L#TAOq%z%@*ib95Ey7NbUF=BlszVk3Iu3imD&*91N-ij%hW?W@~2TtdHTfP z#n0@Xd7X8Dyu36n{k#PwQ~T~X7mAO^cNV+z<HO@3X-# z_@rAn$k~(l@kciCC;&Qd*fWRI>=;fL{UPlciNDWyj$bX<#r^(r;EE8wwUVQm&7~QY zCXRj!**r^xybAEPq>h3W$uvI1j=yNIyzkE_D7fpGw)OV{U*Uwm{xB;mEg2(|y|ICd zMdQVqzMb-=XM6|E-a9kNh)^9lY`-DjhhHD1w5lufRcy+QLgJ47!fFne86#F; zX{ufroVBEZJOY?rDo!;Te6aOZ^1SO!dYRxQ*2njyA~dCWawn)>!*k7~>8Ikt&e*0>>V5ZbO|*1+2LFOqVe zXHb!aMk03^h%&9L8GMy7UDI2Kev>V@(R}*Iu6x+!Hn4~D@wj`P%#Hdbf(lK{+DD7f zJ&(v*mhn_e(R$^5L#bM^^Q@-!*b!l|+Xrb(q*MRFJYnrE7*xko!SJOy9LngR2|q5k zY`Ioiu+YBfzF{Labszk-E#*BYQk>$()=xWEGZRKwY)*UxP}0dGuPLZOkNJDI9Hy zFjfwiK6RjhH#rHW#B0(MW}i%V`943<6@Z*Nd^JEP5uZonXm=u%AM>{H^U@&Jy*i0s za_Da^xI6pMtXzHc{e~_ZcnKP*;=YL2Z^RmzDl{dJTk7*}E_h*NvgnhnxVKB59Duh~ zqouS_WoOR*{UvUw_K#OWz;gMracr%8>QQ&V*jv!8)ho;U8}9~8EU{N<=Z_gR%IpMT zbkePUG_afm=#|iIfFmdqkpLMGxY5D$`?I}&T7>TexU@v zkBx09kG)O;09ckj#(_Uov6vv{{HOcr-%H#DUQ@*GzF8Zh{iSM13%fuB%>wjdU@3Nf zlnYE!GTyNrqes|;nLFXfWU*Wg-9wmr=NBd$nCk+H?iwNvcd0Wab^3CT9a`>3V~oWI z9=_H+N-Q=MQ(io4u4mpdQ;k&5FXnKV5M7R`@WJ9h(GrAirO#XXOU{qQpk^B^Vd=Dt{wiqT zg-#j9J~@o%H2;W9mg)o6@*Vo;BSs2*4HAHpDk02mndAsov08R_48zJZ@J)s7+hyCo zy*0L#y)?AqZt-wX%+_Vx`8*A95OLHvs1$k~{h-_N_vov_gHJE=`X>L?5K+ zD?u59=mjtImMvd1GsDytuYp{IyUkW&?h zF>$#`n$~bZ)KN0B$XGeMYh&`;g8 zo_2-koaO6+8O!+L>SpIQbG(i;QW9UJi{Ecewlo?s&D!^>i$|#jaW}#HJuxt|W48=? zb^Y&O$a1s5ddr8DIt!sD!t=y1g(d4GR(s;s-HfV$GXl&m;+sAAxB^rk(3_NjE$p#L z*t4em?tA0d+XwRxN^OQwzbDZMuSE0J1)Ky{mq)^t4bnSl*)s>zNM@mMdtd78&ebHN z`!(|lE5q-p+TsRaNnMXwALaN5QIZ2IUi^Z22tsN5>nvIO+YU}Q*xh6}ee6@rR~<&1 z(PB4z>9ZBUMXZwSMmd9-aKKsmJeJq^G|#JclOh*xf0?^e0(`40nsg1z)(48;4}B_( zGwPI)yo|{oX{dVDL-5-aMGr;~vU1cPtJP5JM(sswz&Q`e<@0?y{YhsO9YK8EYJA;L z>7oG_Mts+(wCBC*Md82#XdKw&J*IizR?9k^rf1r{Ot-&>V^ke{9nI9zavlcNkIJtN z7T>?o|4rENk-?|lewZ(EfdR;%BUrzKJ^UkCpsM)EA9QHBVV8trT&*O(9?FO{MLTFL z=5P0H+T6C^jAuX0k4U;~GM!x`!X2N~3_n?qXY$HI>x@(DHEy&Q3ucT1R6fj28wX!I zC=&d$@bJ_v^%?W2Ngl}e8ww`b%BrN-PzGH;$@B2Ky1?%GMkm#~Okj(-Admyy;qya| zOi73kr_pwt?5Nj3p=&H>81!w#>Agj z(QXx{j0r=pTl>micAI_5vUw<3`Sht?Z}-j2Wx~F8DKCUQrsXl2?W8hur42(F_ zsSJ)_36&x6A|YkY6c<2a94SXbv~d>4CC4nkDPvf9Z5Fys^6^5r0j5=E>Cgy_Dk@tS z%?c}9!qB?t6t8(XMH%le8UeNWp@Nsma~Ql+^3Bo%_npMryeQJz4V=BAqE~T?dejng z3ge{fjCHoNAfYBvsfq;G%VL|j7t z`X0sy1EEgpyD;)tS1x+fnv-?C@glP0{RCW}Ma?3qpoq_&IJAYOy3G#s`rsh5=3>`K zkj``=;|*x5HSjZC zXNvPLh372q;=+6ja|SC!R-`JcL}}wwskajjTUGTpL(1zkN-p?BA2lmf+J3WsB7!k`0Brx8^cLTF9h)r+LZ$vsZo}`OpOs)?c6$hclR!R#MAeh|_DY|9r zy+_3c%IO9h9X?ksp?an&>Lw;QeQ`T-Ku6HaK~H?E9-Z5$cZu{YU;1+-6B$|JD;%!^ zt(4l>F8}a-UkC4YtOxFHckhl4VKr6P$P_O*U!)IDory%}Wz`YeFx6TO{y2Y${SBm?H9cTWV=WWJ z`_*CGso!ZN>l@~_jkeXtV}fczfA{TUkyeD>)i3|NFGcCsBmK3HXp&ol_@GVs7PIpfULy!hi zs+%KYgS%(n7_z_}6)hblk~W#LZ@&2)fwm6xkFP%&Ju|MFWbNiTwy{{g-pV1RK`L&=RE2D z4|g;~vd8xd|teYS%w!IlT4W$&FTrk-hcTADX!P?*f1YWEIRwq$Ys%^(Z9w&HT$>} zsMD#6Df=uJrX!JHP7<>Or;e_Cf=}`!`qR=i8fBj)$6Lxx{HRzd8Tnzd0p>kSps{OG zKJkml>bUj8$u|F=``l(-aMxWBC@CGZ#FXClQZ<4|&%jN}Tkg#q8z)=>Ly{$i0`rjU zvt|QddO&i=91e?h3>s~i;+6{ z8X4i6a1wDLrSuE#W(zhan+U*Zq+8p3a))JFVF4ffaV51K^YgTso~3;Y*NmM; zx8T?y-N0uyWY(8=me-HUC9xtABvX5~%yg+Cp&XF$Bq=OcK6T*D7eZ2EmIoCFWm{$S z1PNw8HDpe5hHeCusN8kdeb&f2#=3M^A~7YwJ7FRrhq*)PG9x?JIAaC{MV}5}g#7R$-Ly%)4=IUkRCGOR|XTMjn&okRmFjaO^YF5^* z@)#MCBOBezD)*xQNxydlUyN?dW{fS(s-T`gv*0BEnk}`BdmrbmPO8q8y(X$AA}*RH%I7Av!~84pudHb&%Q5-j zt?=6x(iR?<^_7X0v6Ys#VAL}dKk^hcjI=|EY;kPcZ_w<*H`_*|N7SacaM1ERD@6ab zg`!iTm7$URV+lpW_{V$ruR&A>jrX68k4x2wo$45}&wf7o<|o(@B!u-L@bKyQBAGwy z4#}UrRAu>^>Vb6k2-th^>WjvP;Nl|i3WrjWv3ISkj{m{eAcQIW^_ndxSX@|8T(ASJ z?_$fcP2u*6uOBk-{d>^ z0vWlfGQMvysI%R=iE|A+!!Nw?C917EU*_$`;;)px?s83CRd3i_jBN)k#nR5t$dJ(+ z_sP;wG@Ad)^(3LRj7q}0b2O(b`|i0~5SYb%Sjk^*5ISZ-Ab+}DGu$-X1n^TF1Ndw_ zF|e*1)cI2%`TR&AW~XpqpFb!=3cHbS>np9hYD_Mr5}y5Y`SY^r7isA2Q4(z zazRQEqWDKT2zIEbjSYdCPi1ZOGz80Nsl}gxO^DWMY0AV<2K&OL{&^6#@L1?lXu#6xSMh%3^5c*}oM6DQGY#(a^@z<&D zF(43I9e&5`h|A$5!+UFuOH0>F3$shBV4`0#M4RSB8=6F0ZgIbq<2LQ$Hh^(kAJu=! zt8ZGXTacD{(3W{V1$j_{Jc)Ka7t6u}ho`4kF+4@t_0!mCBn z)}o%eA}L)_L?=jw6BIfll7tb3n}?*yLt&XADa=rW>qz=_6s9ziOd5sXjil>FVFx3r zf>Feewk0v#W9>Gp4GacTRr>Sd2T6dWi-{YX`v!D)kCWzG5xQB=?es5ON(%nkwUhNl zV>@xkWWWv*N+{e$(SrExvN6BXzU(Hxlx27{VYHf+LpIbTO+Yu(ltMk<;)3A(LU@ytVYFkYvTa79idMtUFhfxx?P!)2F`prNWW#Fub#l>N2s@nh&n_ zA4{#}|AIs9|A4P0ZF%fy=hDN!t#ifH<)4u2kirK~JUpjQ-J+~cXOZI&dIts;P}UeXslP6zKvpEKSN-$y>kJ^nw2tC9bv zo(|lT@?vZ!{_l|d^8Yh)eEBh*5ABh+Lzjw+?V)o z#P-W7361>E(Y4;@`sv;VKn G`u_lkUM?>H diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 deleted file mode 100644 index 64539b54c3751a6d9adb44c8e3a45ba5a73b77f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18028 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 diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/js/bootstrap.js b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/js/bootstrap.js deleted file mode 100644 index 8a2e99a53..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/js/bootstrap.js +++ /dev/null @@ -1,2377 +0,0 @@ -/*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. - * Licensed under the MIT license - */ - -if (typeof jQuery === 'undefined') { - throw new Error('Bootstrap\'s JavaScript requires jQuery') -} - -+function ($) { - 'use strict'; - var version = $.fn.jquery.split(' ')[0].split('.') - if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) { - throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4') - } -}(jQuery); - -/* ======================================================================== - * Bootstrap: transition.js v3.3.7 - * http://getbootstrap.com/javascript/#transitions - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) - // ============================================================ - - function transitionEnd() { - var el = document.createElement('bootstrap') - - var transEndEventNames = { - WebkitTransition : 'webkitTransitionEnd', - MozTransition : 'transitionend', - OTransition : 'oTransitionEnd otransitionend', - transition : 'transitionend' - } - - for (var name in transEndEventNames) { - if (el.style[name] !== undefined) { - return { end: transEndEventNames[name] } - } - } - - return false // explicit for ie8 ( ._.) - } - - // http://blog.alexmaccaw.com/css-transitions - $.fn.emulateTransitionEnd = function (duration) { - var called = false - var $el = this - $(this).one('bsTransitionEnd', function () { called = true }) - var callback = function () { if (!called) $($el).trigger($.support.transition.end) } - setTimeout(callback, duration) - return this - } - - $(function () { - $.support.transition = transitionEnd() - - if (!$.support.transition) return - - $.event.special.bsTransitionEnd = { - bindType: $.support.transition.end, - delegateType: $.support.transition.end, - handle: function (e) { - if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) - } - } - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: alert.js v3.3.7 - * http://getbootstrap.com/javascript/#alerts - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // ALERT CLASS DEFINITION - // ====================== - - var dismiss = '[data-dismiss="alert"]' - var Alert = function (el) { - $(el).on('click', dismiss, this.close) - } - - Alert.VERSION = '3.3.7' - - Alert.TRANSITION_DURATION = 150 - - Alert.prototype.close = function (e) { - var $this = $(this) - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - var $parent = $(selector === '#' ? [] : selector) - - if (e) e.preventDefault() - - if (!$parent.length) { - $parent = $this.closest('.alert') - } - - $parent.trigger(e = $.Event('close.bs.alert')) - - if (e.isDefaultPrevented()) return - - $parent.removeClass('in') - - function removeElement() { - // detach from parent, fire event then clean up data - $parent.detach().trigger('closed.bs.alert').remove() - } - - $.support.transition && $parent.hasClass('fade') ? - $parent - .one('bsTransitionEnd', removeElement) - .emulateTransitionEnd(Alert.TRANSITION_DURATION) : - removeElement() - } - - - // ALERT PLUGIN DEFINITION - // ======================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.alert') - - if (!data) $this.data('bs.alert', (data = new Alert(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - var old = $.fn.alert - - $.fn.alert = Plugin - $.fn.alert.Constructor = Alert - - - // ALERT NO CONFLICT - // ================= - - $.fn.alert.noConflict = function () { - $.fn.alert = old - return this - } - - - // ALERT DATA-API - // ============== - - $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: button.js v3.3.7 - * http://getbootstrap.com/javascript/#buttons - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // BUTTON PUBLIC CLASS DEFINITION - // ============================== - - var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Button.DEFAULTS, options) - this.isLoading = false - } - - Button.VERSION = '3.3.7' - - Button.DEFAULTS = { - loadingText: 'loading...' - } - - Button.prototype.setState = function (state) { - var d = 'disabled' - var $el = this.$element - var val = $el.is('input') ? 'val' : 'html' - var data = $el.data() - - state += 'Text' - - if (data.resetText == null) $el.data('resetText', $el[val]()) - - // push to event loop to allow forms to submit - setTimeout($.proxy(function () { - $el[val](data[state] == null ? this.options[state] : data[state]) - - if (state == 'loadingText') { - this.isLoading = true - $el.addClass(d).attr(d, d).prop(d, true) - } else if (this.isLoading) { - this.isLoading = false - $el.removeClass(d).removeAttr(d).prop(d, false) - } - }, this), 0) - } - - Button.prototype.toggle = function () { - var changed = true - var $parent = this.$element.closest('[data-toggle="buttons"]') - - if ($parent.length) { - var $input = this.$element.find('input') - if ($input.prop('type') == 'radio') { - if ($input.prop('checked')) changed = false - $parent.find('.active').removeClass('active') - this.$element.addClass('active') - } else if ($input.prop('type') == 'checkbox') { - if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false - this.$element.toggleClass('active') - } - $input.prop('checked', this.$element.hasClass('active')) - if (changed) $input.trigger('change') - } else { - this.$element.attr('aria-pressed', !this.$element.hasClass('active')) - this.$element.toggleClass('active') - } - } - - - // BUTTON PLUGIN DEFINITION - // ======================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.button') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.button', (data = new Button(this, options))) - - if (option == 'toggle') data.toggle() - else if (option) data.setState(option) - }) - } - - var old = $.fn.button - - $.fn.button = Plugin - $.fn.button.Constructor = Button - - - // BUTTON NO CONFLICT - // ================== - - $.fn.button.noConflict = function () { - $.fn.button = old - return this - } - - - // BUTTON DATA-API - // =============== - - $(document) - .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { - var $btn = $(e.target).closest('.btn') - Plugin.call($btn, 'toggle') - if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) { - // Prevent double click on radios, and the double selections (so cancellation) on checkboxes - e.preventDefault() - // The target component still receive the focus - if ($btn.is('input,button')) $btn.trigger('focus') - else $btn.find('input:visible,button:visible').first().trigger('focus') - } - }) - .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { - $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: carousel.js v3.3.7 - * http://getbootstrap.com/javascript/#carousel - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // CAROUSEL CLASS DEFINITION - // ========================= - - var Carousel = function (element, options) { - this.$element = $(element) - this.$indicators = this.$element.find('.carousel-indicators') - this.options = options - this.paused = null - this.sliding = null - this.interval = null - this.$active = null - this.$items = null - - this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) - - this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element - .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) - .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) - } - - Carousel.VERSION = '3.3.7' - - Carousel.TRANSITION_DURATION = 600 - - Carousel.DEFAULTS = { - interval: 5000, - pause: 'hover', - wrap: true, - keyboard: true - } - - Carousel.prototype.keydown = function (e) { - if (/input|textarea/i.test(e.target.tagName)) return - switch (e.which) { - case 37: this.prev(); break - case 39: this.next(); break - default: return - } - - e.preventDefault() - } - - Carousel.prototype.cycle = function (e) { - e || (this.paused = false) - - this.interval && clearInterval(this.interval) - - this.options.interval - && !this.paused - && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) - - return this - } - - Carousel.prototype.getItemIndex = function (item) { - this.$items = item.parent().children('.item') - return this.$items.index(item || this.$active) - } - - Carousel.prototype.getItemForDirection = function (direction, active) { - var activeIndex = this.getItemIndex(active) - var willWrap = (direction == 'prev' && activeIndex === 0) - || (direction == 'next' && activeIndex == (this.$items.length - 1)) - if (willWrap && !this.options.wrap) return active - var delta = direction == 'prev' ? -1 : 1 - var itemIndex = (activeIndex + delta) % this.$items.length - return this.$items.eq(itemIndex) - } - - Carousel.prototype.to = function (pos) { - var that = this - var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) - - if (pos > (this.$items.length - 1) || pos < 0) return - - if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" - if (activeIndex == pos) return this.pause().cycle() - - return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) - } - - Carousel.prototype.pause = function (e) { - e || (this.paused = true) - - if (this.$element.find('.next, .prev').length && $.support.transition) { - this.$element.trigger($.support.transition.end) - this.cycle(true) - } - - this.interval = clearInterval(this.interval) - - return this - } - - Carousel.prototype.next = function () { - if (this.sliding) return - return this.slide('next') - } - - Carousel.prototype.prev = function () { - if (this.sliding) return - return this.slide('prev') - } - - Carousel.prototype.slide = function (type, next) { - var $active = this.$element.find('.item.active') - var $next = next || this.getItemForDirection(type, $active) - var isCycling = this.interval - var direction = type == 'next' ? 'left' : 'right' - var that = this - - if ($next.hasClass('active')) return (this.sliding = false) - - var relatedTarget = $next[0] - var slideEvent = $.Event('slide.bs.carousel', { - relatedTarget: relatedTarget, - direction: direction - }) - this.$element.trigger(slideEvent) - if (slideEvent.isDefaultPrevented()) return - - this.sliding = true - - isCycling && this.pause() - - if (this.$indicators.length) { - this.$indicators.find('.active').removeClass('active') - var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) - $nextIndicator && $nextIndicator.addClass('active') - } - - var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" - if ($.support.transition && this.$element.hasClass('slide')) { - $next.addClass(type) - $next[0].offsetWidth // force reflow - $active.addClass(direction) - $next.addClass(direction) - $active - .one('bsTransitionEnd', function () { - $next.removeClass([type, direction].join(' ')).addClass('active') - $active.removeClass(['active', direction].join(' ')) - that.sliding = false - setTimeout(function () { - that.$element.trigger(slidEvent) - }, 0) - }) - .emulateTransitionEnd(Carousel.TRANSITION_DURATION) - } else { - $active.removeClass('active') - $next.addClass('active') - this.sliding = false - this.$element.trigger(slidEvent) - } - - isCycling && this.cycle() - - return this - } - - - // CAROUSEL PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.carousel') - var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) - var action = typeof option == 'string' ? option : options.slide - - if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) - if (typeof option == 'number') data.to(option) - else if (action) data[action]() - else if (options.interval) data.pause().cycle() - }) - } - - var old = $.fn.carousel - - $.fn.carousel = Plugin - $.fn.carousel.Constructor = Carousel - - - // CAROUSEL NO CONFLICT - // ==================== - - $.fn.carousel.noConflict = function () { - $.fn.carousel = old - return this - } - - - // CAROUSEL DATA-API - // ================= - - var clickHandler = function (e) { - var href - var $this = $(this) - var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 - if (!$target.hasClass('carousel')) return - var options = $.extend({}, $target.data(), $this.data()) - var slideIndex = $this.attr('data-slide-to') - if (slideIndex) options.interval = false - - Plugin.call($target, options) - - if (slideIndex) { - $target.data('bs.carousel').to(slideIndex) - } - - e.preventDefault() - } - - $(document) - .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) - .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) - - $(window).on('load', function () { - $('[data-ride="carousel"]').each(function () { - var $carousel = $(this) - Plugin.call($carousel, $carousel.data()) - }) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: collapse.js v3.3.7 - * http://getbootstrap.com/javascript/#collapse - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - -/* jshint latedef: false */ - -+function ($) { - 'use strict'; - - // COLLAPSE PUBLIC CLASS DEFINITION - // ================================ - - var Collapse = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Collapse.DEFAULTS, options) - this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + - '[data-toggle="collapse"][data-target="#' + element.id + '"]') - this.transitioning = null - - if (this.options.parent) { - this.$parent = this.getParent() - } else { - this.addAriaAndCollapsedClass(this.$element, this.$trigger) - } - - if (this.options.toggle) this.toggle() - } - - Collapse.VERSION = '3.3.7' - - Collapse.TRANSITION_DURATION = 350 - - Collapse.DEFAULTS = { - toggle: true - } - - Collapse.prototype.dimension = function () { - var hasWidth = this.$element.hasClass('width') - return hasWidth ? 'width' : 'height' - } - - Collapse.prototype.show = function () { - if (this.transitioning || this.$element.hasClass('in')) return - - var activesData - var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') - - if (actives && actives.length) { - activesData = actives.data('bs.collapse') - if (activesData && activesData.transitioning) return - } - - var startEvent = $.Event('show.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - if (actives && actives.length) { - Plugin.call(actives, 'hide') - activesData || actives.data('bs.collapse', null) - } - - var dimension = this.dimension() - - this.$element - .removeClass('collapse') - .addClass('collapsing')[dimension](0) - .attr('aria-expanded', true) - - this.$trigger - .removeClass('collapsed') - .attr('aria-expanded', true) - - this.transitioning = 1 - - var complete = function () { - this.$element - .removeClass('collapsing') - .addClass('collapse in')[dimension]('') - this.transitioning = 0 - this.$element - .trigger('shown.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - var scrollSize = $.camelCase(['scroll', dimension].join('-')) - - this.$element - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) - } - - Collapse.prototype.hide = function () { - if (this.transitioning || !this.$element.hasClass('in')) return - - var startEvent = $.Event('hide.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - var dimension = this.dimension() - - this.$element[dimension](this.$element[dimension]())[0].offsetHeight - - this.$element - .addClass('collapsing') - .removeClass('collapse in') - .attr('aria-expanded', false) - - this.$trigger - .addClass('collapsed') - .attr('aria-expanded', false) - - this.transitioning = 1 - - var complete = function () { - this.transitioning = 0 - this.$element - .removeClass('collapsing') - .addClass('collapse') - .trigger('hidden.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - this.$element - [dimension](0) - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION) - } - - Collapse.prototype.toggle = function () { - this[this.$element.hasClass('in') ? 'hide' : 'show']() - } - - Collapse.prototype.getParent = function () { - return $(this.options.parent) - .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') - .each($.proxy(function (i, element) { - var $element = $(element) - this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) - }, this)) - .end() - } - - Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { - var isOpen = $element.hasClass('in') - - $element.attr('aria-expanded', isOpen) - $trigger - .toggleClass('collapsed', !isOpen) - .attr('aria-expanded', isOpen) - } - - function getTargetFromTrigger($trigger) { - var href - var target = $trigger.attr('data-target') - || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 - - return $(target) - } - - - // COLLAPSE PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.collapse') - var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) - - if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false - if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.collapse - - $.fn.collapse = Plugin - $.fn.collapse.Constructor = Collapse - - - // COLLAPSE NO CONFLICT - // ==================== - - $.fn.collapse.noConflict = function () { - $.fn.collapse = old - return this - } - - - // COLLAPSE DATA-API - // ================= - - $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { - var $this = $(this) - - if (!$this.attr('data-target')) e.preventDefault() - - var $target = getTargetFromTrigger($this) - var data = $target.data('bs.collapse') - var option = data ? 'toggle' : $this.data() - - Plugin.call($target, option) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: dropdown.js v3.3.7 - * http://getbootstrap.com/javascript/#dropdowns - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // DROPDOWN CLASS DEFINITION - // ========================= - - var backdrop = '.dropdown-backdrop' - var toggle = '[data-toggle="dropdown"]' - var Dropdown = function (element) { - $(element).on('click.bs.dropdown', this.toggle) - } - - Dropdown.VERSION = '3.3.7' - - function getParent($this) { - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - var $parent = selector && $(selector) - - return $parent && $parent.length ? $parent : $this.parent() - } - - function clearMenus(e) { - if (e && e.which === 3) return - $(backdrop).remove() - $(toggle).each(function () { - var $this = $(this) - var $parent = getParent($this) - var relatedTarget = { relatedTarget: this } - - if (!$parent.hasClass('open')) return - - if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return - - $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) - - if (e.isDefaultPrevented()) return - - $this.attr('aria-expanded', 'false') - $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget)) - }) - } - - Dropdown.prototype.toggle = function (e) { - var $this = $(this) - - if ($this.is('.disabled, :disabled')) return - - var $parent = getParent($this) - var isActive = $parent.hasClass('open') - - clearMenus() - - if (!isActive) { - if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { - // if mobile we use a backdrop because click events don't delegate - $(document.createElement('div')) - .addClass('dropdown-backdrop') - .insertAfter($(this)) - .on('click', clearMenus) - } - - var relatedTarget = { relatedTarget: this } - $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) - - if (e.isDefaultPrevented()) return - - $this - .trigger('focus') - .attr('aria-expanded', 'true') - - $parent - .toggleClass('open') - .trigger($.Event('shown.bs.dropdown', relatedTarget)) - } - - return false - } - - Dropdown.prototype.keydown = function (e) { - if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return - - var $this = $(this) - - e.preventDefault() - e.stopPropagation() - - if ($this.is('.disabled, :disabled')) return - - var $parent = getParent($this) - var isActive = $parent.hasClass('open') - - if (!isActive && e.which != 27 || isActive && e.which == 27) { - if (e.which == 27) $parent.find(toggle).trigger('focus') - return $this.trigger('click') - } - - var desc = ' li:not(.disabled):visible a' - var $items = $parent.find('.dropdown-menu' + desc) - - if (!$items.length) return - - var index = $items.index(e.target) - - if (e.which == 38 && index > 0) index-- // up - if (e.which == 40 && index < $items.length - 1) index++ // down - if (!~index) index = 0 - - $items.eq(index).trigger('focus') - } - - - // DROPDOWN PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.dropdown') - - if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - var old = $.fn.dropdown - - $.fn.dropdown = Plugin - $.fn.dropdown.Constructor = Dropdown - - - // DROPDOWN NO CONFLICT - // ==================== - - $.fn.dropdown.noConflict = function () { - $.fn.dropdown = old - return this - } - - - // APPLY TO STANDARD DROPDOWN ELEMENTS - // =================================== - - $(document) - .on('click.bs.dropdown.data-api', clearMenus) - .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) - .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) - .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) - .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: modal.js v3.3.7 - * http://getbootstrap.com/javascript/#modals - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // MODAL CLASS DEFINITION - // ====================== - - var Modal = function (element, options) { - this.options = options - this.$body = $(document.body) - this.$element = $(element) - this.$dialog = this.$element.find('.modal-dialog') - this.$backdrop = null - this.isShown = null - this.originalBodyPad = null - this.scrollbarWidth = 0 - this.ignoreBackdropClick = false - - if (this.options.remote) { - this.$element - .find('.modal-content') - .load(this.options.remote, $.proxy(function () { - this.$element.trigger('loaded.bs.modal') - }, this)) - } - } - - Modal.VERSION = '3.3.7' - - Modal.TRANSITION_DURATION = 300 - Modal.BACKDROP_TRANSITION_DURATION = 150 - - Modal.DEFAULTS = { - backdrop: true, - keyboard: true, - show: true - } - - Modal.prototype.toggle = function (_relatedTarget) { - return this.isShown ? this.hide() : this.show(_relatedTarget) - } - - Modal.prototype.show = function (_relatedTarget) { - var that = this - var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) - - this.$element.trigger(e) - - if (this.isShown || e.isDefaultPrevented()) return - - this.isShown = true - - this.checkScrollbar() - this.setScrollbar() - this.$body.addClass('modal-open') - - this.escape() - this.resize() - - this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) - - this.$dialog.on('mousedown.dismiss.bs.modal', function () { - that.$element.one('mouseup.dismiss.bs.modal', function (e) { - if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true - }) - }) - - this.backdrop(function () { - var transition = $.support.transition && that.$element.hasClass('fade') - - if (!that.$element.parent().length) { - that.$element.appendTo(that.$body) // don't move modals dom position - } - - that.$element - .show() - .scrollTop(0) - - that.adjustDialog() - - if (transition) { - that.$element[0].offsetWidth // force reflow - } - - that.$element.addClass('in') - - that.enforceFocus() - - var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) - - transition ? - that.$dialog // wait for modal to slide in - .one('bsTransitionEnd', function () { - that.$element.trigger('focus').trigger(e) - }) - .emulateTransitionEnd(Modal.TRANSITION_DURATION) : - that.$element.trigger('focus').trigger(e) - }) - } - - Modal.prototype.hide = function (e) { - if (e) e.preventDefault() - - e = $.Event('hide.bs.modal') - - this.$element.trigger(e) - - if (!this.isShown || e.isDefaultPrevented()) return - - this.isShown = false - - this.escape() - this.resize() - - $(document).off('focusin.bs.modal') - - this.$element - .removeClass('in') - .off('click.dismiss.bs.modal') - .off('mouseup.dismiss.bs.modal') - - this.$dialog.off('mousedown.dismiss.bs.modal') - - $.support.transition && this.$element.hasClass('fade') ? - this.$element - .one('bsTransitionEnd', $.proxy(this.hideModal, this)) - .emulateTransitionEnd(Modal.TRANSITION_DURATION) : - this.hideModal() - } - - Modal.prototype.enforceFocus = function () { - $(document) - .off('focusin.bs.modal') // guard against infinite focus loop - .on('focusin.bs.modal', $.proxy(function (e) { - if (document !== e.target && - this.$element[0] !== e.target && - !this.$element.has(e.target).length) { - this.$element.trigger('focus') - } - }, this)) - } - - Modal.prototype.escape = function () { - if (this.isShown && this.options.keyboard) { - this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { - e.which == 27 && this.hide() - }, this)) - } else if (!this.isShown) { - this.$element.off('keydown.dismiss.bs.modal') - } - } - - Modal.prototype.resize = function () { - if (this.isShown) { - $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) - } else { - $(window).off('resize.bs.modal') - } - } - - Modal.prototype.hideModal = function () { - var that = this - this.$element.hide() - this.backdrop(function () { - that.$body.removeClass('modal-open') - that.resetAdjustments() - that.resetScrollbar() - that.$element.trigger('hidden.bs.modal') - }) - } - - Modal.prototype.removeBackdrop = function () { - this.$backdrop && this.$backdrop.remove() - this.$backdrop = null - } - - Modal.prototype.backdrop = function (callback) { - var that = this - var animate = this.$element.hasClass('fade') ? 'fade' : '' - - if (this.isShown && this.options.backdrop) { - var doAnimate = $.support.transition && animate - - this.$backdrop = $(document.createElement('div')) - .addClass('modal-backdrop ' + animate) - .appendTo(this.$body) - - this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { - if (this.ignoreBackdropClick) { - this.ignoreBackdropClick = false - return - } - if (e.target !== e.currentTarget) return - this.options.backdrop == 'static' - ? this.$element[0].focus() - : this.hide() - }, this)) - - if (doAnimate) this.$backdrop[0].offsetWidth // force reflow - - this.$backdrop.addClass('in') - - if (!callback) return - - doAnimate ? - this.$backdrop - .one('bsTransitionEnd', callback) - .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : - callback() - - } else if (!this.isShown && this.$backdrop) { - this.$backdrop.removeClass('in') - - var callbackRemove = function () { - that.removeBackdrop() - callback && callback() - } - $.support.transition && this.$element.hasClass('fade') ? - this.$backdrop - .one('bsTransitionEnd', callbackRemove) - .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : - callbackRemove() - - } else if (callback) { - callback() - } - } - - // these following methods are used to handle overflowing modals - - Modal.prototype.handleUpdate = function () { - this.adjustDialog() - } - - Modal.prototype.adjustDialog = function () { - var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight - - this.$element.css({ - paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', - paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' - }) - } - - Modal.prototype.resetAdjustments = function () { - this.$element.css({ - paddingLeft: '', - paddingRight: '' - }) - } - - Modal.prototype.checkScrollbar = function () { - var fullWindowWidth = window.innerWidth - if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 - var documentElementRect = document.documentElement.getBoundingClientRect() - fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) - } - this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth - this.scrollbarWidth = this.measureScrollbar() - } - - Modal.prototype.setScrollbar = function () { - var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) - this.originalBodyPad = document.body.style.paddingRight || '' - if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) - } - - Modal.prototype.resetScrollbar = function () { - this.$body.css('padding-right', this.originalBodyPad) - } - - Modal.prototype.measureScrollbar = function () { // thx walsh - var scrollDiv = document.createElement('div') - scrollDiv.className = 'modal-scrollbar-measure' - this.$body.append(scrollDiv) - var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth - this.$body[0].removeChild(scrollDiv) - return scrollbarWidth - } - - - // MODAL PLUGIN DEFINITION - // ======================= - - function Plugin(option, _relatedTarget) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.modal') - var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) - - if (!data) $this.data('bs.modal', (data = new Modal(this, options))) - if (typeof option == 'string') data[option](_relatedTarget) - else if (options.show) data.show(_relatedTarget) - }) - } - - var old = $.fn.modal - - $.fn.modal = Plugin - $.fn.modal.Constructor = Modal - - - // MODAL NO CONFLICT - // ================= - - $.fn.modal.noConflict = function () { - $.fn.modal = old - return this - } - - - // MODAL DATA-API - // ============== - - $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { - var $this = $(this) - var href = $this.attr('href') - var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 - var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) - - if ($this.is('a')) e.preventDefault() - - $target.one('show.bs.modal', function (showEvent) { - if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown - $target.one('hidden.bs.modal', function () { - $this.is(':visible') && $this.trigger('focus') - }) - }) - Plugin.call($target, option, this) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: tooltip.js v3.3.7 - * http://getbootstrap.com/javascript/#tooltip - * Inspired by the original jQuery.tipsy by Jason Frame - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // TOOLTIP PUBLIC CLASS DEFINITION - // =============================== - - var Tooltip = function (element, options) { - this.type = null - this.options = null - this.enabled = null - this.timeout = null - this.hoverState = null - this.$element = null - this.inState = null - - this.init('tooltip', element, options) - } - - Tooltip.VERSION = '3.3.7' - - Tooltip.TRANSITION_DURATION = 150 - - Tooltip.DEFAULTS = { - animation: true, - placement: 'top', - selector: false, - template: '', - trigger: 'hover focus', - title: '', - delay: 0, - html: false, - container: false, - viewport: { - selector: 'body', - padding: 0 - } - } - - Tooltip.prototype.init = function (type, element, options) { - this.enabled = true - this.type = type - this.$element = $(element) - this.options = this.getOptions(options) - this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) - this.inState = { click: false, hover: false, focus: false } - - if (this.$element[0] instanceof document.constructor && !this.options.selector) { - throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') - } - - var triggers = this.options.trigger.split(' ') - - for (var i = triggers.length; i--;) { - var trigger = triggers[i] - - if (trigger == 'click') { - this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) - } else if (trigger != 'manual') { - var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' - var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' - - this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) - this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) - } - } - - this.options.selector ? - (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : - this.fixTitle() - } - - Tooltip.prototype.getDefaults = function () { - return Tooltip.DEFAULTS - } - - Tooltip.prototype.getOptions = function (options) { - options = $.extend({}, this.getDefaults(), this.$element.data(), options) - - if (options.delay && typeof options.delay == 'number') { - options.delay = { - show: options.delay, - hide: options.delay - } - } - - return options - } - - Tooltip.prototype.getDelegateOptions = function () { - var options = {} - var defaults = this.getDefaults() - - this._options && $.each(this._options, function (key, value) { - if (defaults[key] != value) options[key] = value - }) - - return options - } - - Tooltip.prototype.enter = function (obj) { - var self = obj instanceof this.constructor ? - obj : $(obj.currentTarget).data('bs.' + this.type) - - if (!self) { - self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) - $(obj.currentTarget).data('bs.' + this.type, self) - } - - if (obj instanceof $.Event) { - self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true - } - - if (self.tip().hasClass('in') || self.hoverState == 'in') { - self.hoverState = 'in' - return - } - - clearTimeout(self.timeout) - - self.hoverState = 'in' - - if (!self.options.delay || !self.options.delay.show) return self.show() - - self.timeout = setTimeout(function () { - if (self.hoverState == 'in') self.show() - }, self.options.delay.show) - } - - Tooltip.prototype.isInStateTrue = function () { - for (var key in this.inState) { - if (this.inState[key]) return true - } - - return false - } - - Tooltip.prototype.leave = function (obj) { - var self = obj instanceof this.constructor ? - obj : $(obj.currentTarget).data('bs.' + this.type) - - if (!self) { - self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) - $(obj.currentTarget).data('bs.' + this.type, self) - } - - if (obj instanceof $.Event) { - self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false - } - - if (self.isInStateTrue()) return - - clearTimeout(self.timeout) - - self.hoverState = 'out' - - if (!self.options.delay || !self.options.delay.hide) return self.hide() - - self.timeout = setTimeout(function () { - if (self.hoverState == 'out') self.hide() - }, self.options.delay.hide) - } - - Tooltip.prototype.show = function () { - var e = $.Event('show.bs.' + this.type) - - if (this.hasContent() && this.enabled) { - this.$element.trigger(e) - - var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) - if (e.isDefaultPrevented() || !inDom) return - var that = this - - var $tip = this.tip() - - var tipId = this.getUID(this.type) - - this.setContent() - $tip.attr('id', tipId) - this.$element.attr('aria-describedby', tipId) - - if (this.options.animation) $tip.addClass('fade') - - var placement = typeof this.options.placement == 'function' ? - this.options.placement.call(this, $tip[0], this.$element[0]) : - this.options.placement - - var autoToken = /\s?auto?\s?/i - var autoPlace = autoToken.test(placement) - if (autoPlace) placement = placement.replace(autoToken, '') || 'top' - - $tip - .detach() - .css({ top: 0, left: 0, display: 'block' }) - .addClass(placement) - .data('bs.' + this.type, this) - - this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) - this.$element.trigger('inserted.bs.' + this.type) - - var pos = this.getPosition() - var actualWidth = $tip[0].offsetWidth - var actualHeight = $tip[0].offsetHeight - - if (autoPlace) { - var orgPlacement = placement - var viewportDim = this.getPosition(this.$viewport) - - placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : - placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : - placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : - placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : - placement - - $tip - .removeClass(orgPlacement) - .addClass(placement) - } - - var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) - - this.applyPlacement(calculatedOffset, placement) - - var complete = function () { - var prevHoverState = that.hoverState - that.$element.trigger('shown.bs.' + that.type) - that.hoverState = null - - if (prevHoverState == 'out') that.leave(that) - } - - $.support.transition && this.$tip.hasClass('fade') ? - $tip - .one('bsTransitionEnd', complete) - .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : - complete() - } - } - - Tooltip.prototype.applyPlacement = function (offset, placement) { - var $tip = this.tip() - var width = $tip[0].offsetWidth - var height = $tip[0].offsetHeight - - // manually read margins because getBoundingClientRect includes difference - var marginTop = parseInt($tip.css('margin-top'), 10) - var marginLeft = parseInt($tip.css('margin-left'), 10) - - // we must check for NaN for ie 8/9 - if (isNaN(marginTop)) marginTop = 0 - if (isNaN(marginLeft)) marginLeft = 0 - - offset.top += marginTop - offset.left += marginLeft - - // $.fn.offset doesn't round pixel values - // so we use setOffset directly with our own function B-0 - $.offset.setOffset($tip[0], $.extend({ - using: function (props) { - $tip.css({ - top: Math.round(props.top), - left: Math.round(props.left) - }) - } - }, offset), 0) - - $tip.addClass('in') - - // check to see if placing tip in new offset caused the tip to resize itself - var actualWidth = $tip[0].offsetWidth - var actualHeight = $tip[0].offsetHeight - - if (placement == 'top' && actualHeight != height) { - offset.top = offset.top + height - actualHeight - } - - var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) - - if (delta.left) offset.left += delta.left - else offset.top += delta.top - - var isVertical = /top|bottom/.test(placement) - var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight - var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' - - $tip.offset(offset) - this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) - } - - Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { - this.arrow() - .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') - .css(isVertical ? 'top' : 'left', '') - } - - Tooltip.prototype.setContent = function () { - var $tip = this.tip() - var title = this.getTitle() - - $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) - $tip.removeClass('fade in top bottom left right') - } - - Tooltip.prototype.hide = function (callback) { - var that = this - var $tip = $(this.$tip) - var e = $.Event('hide.bs.' + this.type) - - function complete() { - if (that.hoverState != 'in') $tip.detach() - if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary. - that.$element - .removeAttr('aria-describedby') - .trigger('hidden.bs.' + that.type) - } - callback && callback() - } - - this.$element.trigger(e) - - if (e.isDefaultPrevented()) return - - $tip.removeClass('in') - - $.support.transition && $tip.hasClass('fade') ? - $tip - .one('bsTransitionEnd', complete) - .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : - complete() - - this.hoverState = null - - return this - } - - Tooltip.prototype.fixTitle = function () { - var $e = this.$element - if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { - $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') - } - } - - Tooltip.prototype.hasContent = function () { - return this.getTitle() - } - - Tooltip.prototype.getPosition = function ($element) { - $element = $element || this.$element - - var el = $element[0] - var isBody = el.tagName == 'BODY' - - var elRect = el.getBoundingClientRect() - if (elRect.width == null) { - // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 - elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) - } - var isSvg = window.SVGElement && el instanceof window.SVGElement - // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3. - // See https://github.com/twbs/bootstrap/issues/20280 - var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset()) - var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } - var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null - - return $.extend({}, elRect, scroll, outerDims, elOffset) - } - - Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { - return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : - placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : - placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : - /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } - - } - - Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { - var delta = { top: 0, left: 0 } - if (!this.$viewport) return delta - - var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 - var viewportDimensions = this.getPosition(this.$viewport) - - if (/right|left/.test(placement)) { - var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll - var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight - if (topEdgeOffset < viewportDimensions.top) { // top overflow - delta.top = viewportDimensions.top - topEdgeOffset - } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow - delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset - } - } else { - var leftEdgeOffset = pos.left - viewportPadding - var rightEdgeOffset = pos.left + viewportPadding + actualWidth - if (leftEdgeOffset < viewportDimensions.left) { // left overflow - delta.left = viewportDimensions.left - leftEdgeOffset - } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow - delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset - } - } - - return delta - } - - Tooltip.prototype.getTitle = function () { - var title - var $e = this.$element - var o = this.options - - title = $e.attr('data-original-title') - || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) - - return title - } - - Tooltip.prototype.getUID = function (prefix) { - do prefix += ~~(Math.random() * 1000000) - while (document.getElementById(prefix)) - return prefix - } - - Tooltip.prototype.tip = function () { - if (!this.$tip) { - this.$tip = $(this.options.template) - if (this.$tip.length != 1) { - throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') - } - } - return this.$tip - } - - Tooltip.prototype.arrow = function () { - return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) - } - - Tooltip.prototype.enable = function () { - this.enabled = true - } - - Tooltip.prototype.disable = function () { - this.enabled = false - } - - Tooltip.prototype.toggleEnabled = function () { - this.enabled = !this.enabled - } - - Tooltip.prototype.toggle = function (e) { - var self = this - if (e) { - self = $(e.currentTarget).data('bs.' + this.type) - if (!self) { - self = new this.constructor(e.currentTarget, this.getDelegateOptions()) - $(e.currentTarget).data('bs.' + this.type, self) - } - } - - if (e) { - self.inState.click = !self.inState.click - if (self.isInStateTrue()) self.enter(self) - else self.leave(self) - } else { - self.tip().hasClass('in') ? self.leave(self) : self.enter(self) - } - } - - Tooltip.prototype.destroy = function () { - var that = this - clearTimeout(this.timeout) - this.hide(function () { - that.$element.off('.' + that.type).removeData('bs.' + that.type) - if (that.$tip) { - that.$tip.detach() - } - that.$tip = null - that.$arrow = null - that.$viewport = null - that.$element = null - }) - } - - - // TOOLTIP PLUGIN DEFINITION - // ========================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.tooltip') - var options = typeof option == 'object' && option - - if (!data && /destroy|hide/.test(option)) return - if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.tooltip - - $.fn.tooltip = Plugin - $.fn.tooltip.Constructor = Tooltip - - - // TOOLTIP NO CONFLICT - // =================== - - $.fn.tooltip.noConflict = function () { - $.fn.tooltip = old - return this - } - -}(jQuery); - -/* ======================================================================== - * Bootstrap: popover.js v3.3.7 - * http://getbootstrap.com/javascript/#popovers - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // POPOVER PUBLIC CLASS DEFINITION - // =============================== - - var Popover = function (element, options) { - this.init('popover', element, options) - } - - if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') - - Popover.VERSION = '3.3.7' - - Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { - placement: 'right', - trigger: 'click', - content: '', - template: '' - }) - - - // NOTE: POPOVER EXTENDS tooltip.js - // ================================ - - Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) - - Popover.prototype.constructor = Popover - - Popover.prototype.getDefaults = function () { - return Popover.DEFAULTS - } - - Popover.prototype.setContent = function () { - var $tip = this.tip() - var title = this.getTitle() - var content = this.getContent() - - $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) - $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events - this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' - ](content) - - $tip.removeClass('fade top bottom left right in') - - // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do - // this manually by checking the contents. - if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() - } - - Popover.prototype.hasContent = function () { - return this.getTitle() || this.getContent() - } - - Popover.prototype.getContent = function () { - var $e = this.$element - var o = this.options - - return $e.attr('data-content') - || (typeof o.content == 'function' ? - o.content.call($e[0]) : - o.content) - } - - Popover.prototype.arrow = function () { - return (this.$arrow = this.$arrow || this.tip().find('.arrow')) - } - - - // POPOVER PLUGIN DEFINITION - // ========================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.popover') - var options = typeof option == 'object' && option - - if (!data && /destroy|hide/.test(option)) return - if (!data) $this.data('bs.popover', (data = new Popover(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.popover - - $.fn.popover = Plugin - $.fn.popover.Constructor = Popover - - - // POPOVER NO CONFLICT - // =================== - - $.fn.popover.noConflict = function () { - $.fn.popover = old - return this - } - -}(jQuery); - -/* ======================================================================== - * Bootstrap: scrollspy.js v3.3.7 - * http://getbootstrap.com/javascript/#scrollspy - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // SCROLLSPY CLASS DEFINITION - // ========================== - - function ScrollSpy(element, options) { - this.$body = $(document.body) - this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) - this.options = $.extend({}, ScrollSpy.DEFAULTS, options) - this.selector = (this.options.target || '') + ' .nav li > a' - this.offsets = [] - this.targets = [] - this.activeTarget = null - this.scrollHeight = 0 - - this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) - this.refresh() - this.process() - } - - ScrollSpy.VERSION = '3.3.7' - - ScrollSpy.DEFAULTS = { - offset: 10 - } - - ScrollSpy.prototype.getScrollHeight = function () { - return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) - } - - ScrollSpy.prototype.refresh = function () { - var that = this - var offsetMethod = 'offset' - var offsetBase = 0 - - this.offsets = [] - this.targets = [] - this.scrollHeight = this.getScrollHeight() - - if (!$.isWindow(this.$scrollElement[0])) { - offsetMethod = 'position' - offsetBase = this.$scrollElement.scrollTop() - } - - this.$body - .find(this.selector) - .map(function () { - var $el = $(this) - var href = $el.data('target') || $el.attr('href') - var $href = /^#./.test(href) && $(href) - - return ($href - && $href.length - && $href.is(':visible') - && [[$href[offsetMethod]().top + offsetBase, href]]) || null - }) - .sort(function (a, b) { return a[0] - b[0] }) - .each(function () { - that.offsets.push(this[0]) - that.targets.push(this[1]) - }) - } - - ScrollSpy.prototype.process = function () { - var scrollTop = this.$scrollElement.scrollTop() + this.options.offset - var scrollHeight = this.getScrollHeight() - var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() - var offsets = this.offsets - var targets = this.targets - var activeTarget = this.activeTarget - var i - - if (this.scrollHeight != scrollHeight) { - this.refresh() - } - - if (scrollTop >= maxScroll) { - return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) - } - - if (activeTarget && scrollTop < offsets[0]) { - this.activeTarget = null - return this.clear() - } - - for (i = offsets.length; i--;) { - activeTarget != targets[i] - && scrollTop >= offsets[i] - && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) - && this.activate(targets[i]) - } - } - - ScrollSpy.prototype.activate = function (target) { - this.activeTarget = target - - this.clear() - - var selector = this.selector + - '[data-target="' + target + '"],' + - this.selector + '[href="' + target + '"]' - - var active = $(selector) - .parents('li') - .addClass('active') - - if (active.parent('.dropdown-menu').length) { - active = active - .closest('li.dropdown') - .addClass('active') - } - - active.trigger('activate.bs.scrollspy') - } - - ScrollSpy.prototype.clear = function () { - $(this.selector) - .parentsUntil(this.options.target, '.active') - .removeClass('active') - } - - - // SCROLLSPY PLUGIN DEFINITION - // =========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.scrollspy') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.scrollspy - - $.fn.scrollspy = Plugin - $.fn.scrollspy.Constructor = ScrollSpy - - - // SCROLLSPY NO CONFLICT - // ===================== - - $.fn.scrollspy.noConflict = function () { - $.fn.scrollspy = old - return this - } - - - // SCROLLSPY DATA-API - // ================== - - $(window).on('load.bs.scrollspy.data-api', function () { - $('[data-spy="scroll"]').each(function () { - var $spy = $(this) - Plugin.call($spy, $spy.data()) - }) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: tab.js v3.3.7 - * http://getbootstrap.com/javascript/#tabs - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // TAB CLASS DEFINITION - // ==================== - - var Tab = function (element) { - // jscs:disable requireDollarBeforejQueryAssignment - this.element = $(element) - // jscs:enable requireDollarBeforejQueryAssignment - } - - Tab.VERSION = '3.3.7' - - Tab.TRANSITION_DURATION = 150 - - Tab.prototype.show = function () { - var $this = this.element - var $ul = $this.closest('ul:not(.dropdown-menu)') - var selector = $this.data('target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - if ($this.parent('li').hasClass('active')) return - - var $previous = $ul.find('.active:last a') - var hideEvent = $.Event('hide.bs.tab', { - relatedTarget: $this[0] - }) - var showEvent = $.Event('show.bs.tab', { - relatedTarget: $previous[0] - }) - - $previous.trigger(hideEvent) - $this.trigger(showEvent) - - if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return - - var $target = $(selector) - - this.activate($this.closest('li'), $ul) - this.activate($target, $target.parent(), function () { - $previous.trigger({ - type: 'hidden.bs.tab', - relatedTarget: $this[0] - }) - $this.trigger({ - type: 'shown.bs.tab', - relatedTarget: $previous[0] - }) - }) - } - - Tab.prototype.activate = function (element, container, callback) { - var $active = container.find('> .active') - var transition = callback - && $.support.transition - && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) - - function next() { - $active - .removeClass('active') - .find('> .dropdown-menu > .active') - .removeClass('active') - .end() - .find('[data-toggle="tab"]') - .attr('aria-expanded', false) - - element - .addClass('active') - .find('[data-toggle="tab"]') - .attr('aria-expanded', true) - - if (transition) { - element[0].offsetWidth // reflow for transition - element.addClass('in') - } else { - element.removeClass('fade') - } - - if (element.parent('.dropdown-menu').length) { - element - .closest('li.dropdown') - .addClass('active') - .end() - .find('[data-toggle="tab"]') - .attr('aria-expanded', true) - } - - callback && callback() - } - - $active.length && transition ? - $active - .one('bsTransitionEnd', next) - .emulateTransitionEnd(Tab.TRANSITION_DURATION) : - next() - - $active.removeClass('in') - } - - - // TAB PLUGIN DEFINITION - // ===================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.tab') - - if (!data) $this.data('bs.tab', (data = new Tab(this))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.tab - - $.fn.tab = Plugin - $.fn.tab.Constructor = Tab - - - // TAB NO CONFLICT - // =============== - - $.fn.tab.noConflict = function () { - $.fn.tab = old - return this - } - - - // TAB DATA-API - // ============ - - var clickHandler = function (e) { - e.preventDefault() - Plugin.call($(this), 'show') - } - - $(document) - .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) - .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: affix.js v3.3.7 - * http://getbootstrap.com/javascript/#affix - * ======================================================================== - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // AFFIX CLASS DEFINITION - // ====================== - - var Affix = function (element, options) { - this.options = $.extend({}, Affix.DEFAULTS, options) - - this.$target = $(this.options.target) - .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) - .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) - - this.$element = $(element) - this.affixed = null - this.unpin = null - this.pinnedOffset = null - - this.checkPosition() - } - - Affix.VERSION = '3.3.7' - - Affix.RESET = 'affix affix-top affix-bottom' - - Affix.DEFAULTS = { - offset: 0, - target: window - } - - Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { - var scrollTop = this.$target.scrollTop() - var position = this.$element.offset() - var targetHeight = this.$target.height() - - if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false - - if (this.affixed == 'bottom') { - if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' - return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' - } - - var initializing = this.affixed == null - var colliderTop = initializing ? scrollTop : position.top - var colliderHeight = initializing ? targetHeight : height - - if (offsetTop != null && scrollTop <= offsetTop) return 'top' - if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' - - return false - } - - Affix.prototype.getPinnedOffset = function () { - if (this.pinnedOffset) return this.pinnedOffset - this.$element.removeClass(Affix.RESET).addClass('affix') - var scrollTop = this.$target.scrollTop() - var position = this.$element.offset() - return (this.pinnedOffset = position.top - scrollTop) - } - - Affix.prototype.checkPositionWithEventLoop = function () { - setTimeout($.proxy(this.checkPosition, this), 1) - } - - Affix.prototype.checkPosition = function () { - if (!this.$element.is(':visible')) return - - var height = this.$element.height() - var offset = this.options.offset - var offsetTop = offset.top - var offsetBottom = offset.bottom - var scrollHeight = Math.max($(document).height(), $(document.body).height()) - - if (typeof offset != 'object') offsetBottom = offsetTop = offset - if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) - if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) - - var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) - - if (this.affixed != affix) { - if (this.unpin != null) this.$element.css('top', '') - - var affixType = 'affix' + (affix ? '-' + affix : '') - var e = $.Event(affixType + '.bs.affix') - - this.$element.trigger(e) - - if (e.isDefaultPrevented()) return - - this.affixed = affix - this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null - - this.$element - .removeClass(Affix.RESET) - .addClass(affixType) - .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') - } - - if (affix == 'bottom') { - this.$element.offset({ - top: scrollHeight - height - offsetBottom - }) - } - } - - - // AFFIX PLUGIN DEFINITION - // ======================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.affix') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.affix', (data = new Affix(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.affix - - $.fn.affix = Plugin - $.fn.affix.Constructor = Affix - - - // AFFIX NO CONFLICT - // ================= - - $.fn.affix.noConflict = function () { - $.fn.affix = old - return this - } - - - // AFFIX DATA-API - // ============== - - $(window).on('load', function () { - $('[data-spy="affix"]').each(function () { - var $spy = $(this) - var data = $spy.data() - - data.offset = data.offset || {} - - if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom - if (data.offsetTop != null) data.offset.top = data.offsetTop - - Plugin.call($spy, data) - }) - }) - -}(jQuery); diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js deleted file mode 100644 index 9bcd2fcca..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. - * Licensed under the MIT license - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
          ',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/js/npm.js b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/js/npm.js deleted file mode 100644 index bf6aa8060..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/js/npm.js +++ /dev/null @@ -1,13 +0,0 @@ -// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. -require('../../js/transition.js') -require('../../js/alert.js') -require('../../js/button.js') -require('../../js/carousel.js') -require('../../js/collapse.js') -require('../../js/dropdown.js') -require('../../js/modal.js') -require('../../js/tooltip.js') -require('../../js/popover.js') -require('../../js/scrollspy.js') -require('../../js/tab.js') -require('../../js/affix.js') \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation-unobtrusive/.bower.json b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation-unobtrusive/.bower.json deleted file mode 100644 index ccf48121d..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation-unobtrusive/.bower.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "jquery-validation-unobtrusive", - "version": "3.2.6", - "homepage": "https://github.com/aspnet/jquery-validation-unobtrusive", - "description": "Add-on to jQuery Validation to enable unobtrusive validation options in data-* attributes.", - "main": [ - "jquery.validate.unobtrusive.js" - ], - "ignore": [ - "**/.*", - "*.json", - "*.md", - "*.txt", - "gulpfile.js" - ], - "keywords": [ - "jquery", - "asp.net", - "mvc", - "validation", - "unobtrusive" - ], - "authors": [ - "Microsoft" - ], - "license": "http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm", - "repository": { - "type": "git", - "url": "git://github.com/aspnet/jquery-validation-unobtrusive.git" - }, - "dependencies": { - "jquery-validation": ">=1.8", - "jquery": ">=1.8" - }, - "_release": "3.2.6", - "_resolution": { - "type": "version", - "tag": "v3.2.6", - "commit": "13386cd1b5947d8a5d23a12b531ce3960be1eba7" - }, - "_source": "git://github.com/aspnet/jquery-validation-unobtrusive.git", - "_target": "3.2.6", - "_originalSource": "jquery-validation-unobtrusive" -} \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js deleted file mode 100644 index 1b0de1249..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js +++ /dev/null @@ -1,416 +0,0 @@ -/*! -** Unobtrusive validation support library for jQuery and jQuery Validate -** Copyright (C) Microsoft Corporation. All rights reserved. -*/ - -/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */ -/*global document: false, jQuery: false */ - -(function ($) { - var $jQval = $.validator, - adapters, - data_validation = "unobtrusiveValidation"; - - function setValidationValues(options, ruleName, value) { - options.rules[ruleName] = value; - if (options.message) { - options.messages[ruleName] = options.message; - } - } - - function splitAndTrim(value) { - return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g); - } - - function escapeAttributeValue(value) { - // As mentioned on http://api.jquery.com/category/selectors/ - return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1"); - } - - function getModelPrefix(fieldName) { - return fieldName.substr(0, fieldName.lastIndexOf(".") + 1); - } - - function appendModelPrefix(value, prefix) { - if (value.indexOf("*.") === 0) { - value = value.replace("*.", prefix); - } - return value; - } - - function onError(error, inputElement) { // 'this' is the form element - var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"), - replaceAttrValue = container.attr("data-valmsg-replace"), - replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null; - - container.removeClass("field-validation-valid").addClass("field-validation-error"); - error.data("unobtrusiveContainer", container); - - if (replace) { - container.empty(); - error.removeClass("input-validation-error").appendTo(container); - } - else { - error.hide(); - } - } - - function onErrors(event, validator) { // 'this' is the form element - var container = $(this).find("[data-valmsg-summary=true]"), - list = container.find("ul"); - - if (list && list.length && validator.errorList.length) { - list.empty(); - container.addClass("validation-summary-errors").removeClass("validation-summary-valid"); - - $.each(validator.errorList, function () { - $("
        1. ").html(this.message).appendTo(list); - }); - } - } - - function onSuccess(error) { // 'this' is the form element - var container = error.data("unobtrusiveContainer"); - - if (container) { - var replaceAttrValue = container.attr("data-valmsg-replace"), - replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null; - - container.addClass("field-validation-valid").removeClass("field-validation-error"); - error.removeData("unobtrusiveContainer"); - - if (replace) { - container.empty(); - } - } - } - - function onReset(event) { // 'this' is the form element - var $form = $(this), - key = '__jquery_unobtrusive_validation_form_reset'; - if ($form.data(key)) { - return; - } - // Set a flag that indicates we're currently resetting the form. - $form.data(key, true); - try { - $form.data("validator").resetForm(); - } finally { - $form.removeData(key); - } - - $form.find(".validation-summary-errors") - .addClass("validation-summary-valid") - .removeClass("validation-summary-errors"); - $form.find(".field-validation-error") - .addClass("field-validation-valid") - .removeClass("field-validation-error") - .removeData("unobtrusiveContainer") - .find(">*") // If we were using valmsg-replace, get the underlying error - .removeData("unobtrusiveContainer"); - } - - function validationInfo(form) { - var $form = $(form), - result = $form.data(data_validation), - onResetProxy = $.proxy(onReset, form), - defaultOptions = $jQval.unobtrusive.options || {}, - execInContext = function (name, args) { - var func = defaultOptions[name]; - func && $.isFunction(func) && func.apply(form, args); - } - - if (!result) { - result = { - options: { // options structure passed to jQuery Validate's validate() method - errorClass: defaultOptions.errorClass || "input-validation-error", - errorElement: defaultOptions.errorElement || "span", - errorPlacement: function () { - onError.apply(form, arguments); - execInContext("errorPlacement", arguments); - }, - invalidHandler: function () { - onErrors.apply(form, arguments); - execInContext("invalidHandler", arguments); - }, - messages: {}, - rules: {}, - success: function () { - onSuccess.apply(form, arguments); - execInContext("success", arguments); - } - }, - attachValidation: function () { - $form - .off("reset." + data_validation, onResetProxy) - .on("reset." + data_validation, onResetProxy) - .validate(this.options); - }, - validate: function () { // a validation function that is called by unobtrusive Ajax - $form.validate(); - return $form.valid(); - } - }; - $form.data(data_validation, result); - } - - return result; - } - - $jQval.unobtrusive = { - adapters: [], - - parseElement: function (element, skipAttach) { - /// - /// Parses a single HTML element for unobtrusive validation attributes. - /// - /// The HTML element to be parsed. - /// [Optional] true to skip attaching the - /// validation to the form. If parsing just this single element, you should specify true. - /// If parsing several elements, you should specify false, and manually attach the validation - /// to the form when you are finished. The default is false. - var $element = $(element), - form = $element.parents("form")[0], - valInfo, rules, messages; - - if (!form) { // Cannot do client-side validation without a form - return; - } - - valInfo = validationInfo(form); - valInfo.options.rules[element.name] = rules = {}; - valInfo.options.messages[element.name] = messages = {}; - - $.each(this.adapters, function () { - var prefix = "data-val-" + this.name, - message = $element.attr(prefix), - paramValues = {}; - - if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy) - prefix += "-"; - - $.each(this.params, function () { - paramValues[this] = $element.attr(prefix + this); - }); - - this.adapt({ - element: element, - form: form, - message: message, - params: paramValues, - rules: rules, - messages: messages - }); - } - }); - - $.extend(rules, { "__dummy__": true }); - - if (!skipAttach) { - valInfo.attachValidation(); - } - }, - - parse: function (selector) { - /// - /// Parses all the HTML elements in the specified selector. It looks for input elements decorated - /// with the [data-val=true] attribute value and enables validation according to the data-val-* - /// attribute values. - /// - /// Any valid jQuery selector. - - // $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one - // element with data-val=true - var $selector = $(selector), - $forms = $selector.parents() - .addBack() - .filter("form") - .add($selector.find("form")) - .has("[data-val=true]"); - - $selector.find("[data-val=true]").each(function () { - $jQval.unobtrusive.parseElement(this, true); - }); - - $forms.each(function () { - var info = validationInfo(this); - if (info) { - info.attachValidation(); - } - }); - } - }; - - adapters = $jQval.unobtrusive.adapters; - - adapters.add = function (adapterName, params, fn) { - /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation. - /// The name of the adapter to be added. This matches the name used - /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name). - /// [Optional] An array of parameter names (strings) that will - /// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and - /// mmmm is the parameter name). - /// The function to call, which adapts the values from the HTML - /// attributes into jQuery Validate rules and/or messages. - /// - if (!fn) { // Called with no params, just a function - fn = params; - params = []; - } - this.push({ name: adapterName, params: params, adapt: fn }); - return this; - }; - - adapters.addBool = function (adapterName, ruleName) { - /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where - /// the jQuery Validate validation rule has no parameter values. - /// The name of the adapter to be added. This matches the name used - /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name). - /// [Optional] The name of the jQuery Validate rule. If not provided, the value - /// of adapterName will be used instead. - /// - return this.add(adapterName, function (options) { - setValidationValues(options, ruleName || adapterName, true); - }); - }; - - adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) { - /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where - /// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and - /// one for min-and-max). The HTML parameters are expected to be named -min and -max. - /// The name of the adapter to be added. This matches the name used - /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name). - /// The name of the jQuery Validate rule to be used when you only - /// have a minimum value. - /// The name of the jQuery Validate rule to be used when you only - /// have a maximum value. - /// The name of the jQuery Validate rule to be used when you - /// have both a minimum and maximum value. - /// [Optional] The name of the HTML attribute that - /// contains the minimum value. The default is "min". - /// [Optional] The name of the HTML attribute that - /// contains the maximum value. The default is "max". - /// - return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) { - var min = options.params.min, - max = options.params.max; - - if (min && max) { - setValidationValues(options, minMaxRuleName, [min, max]); - } - else if (min) { - setValidationValues(options, minRuleName, min); - } - else if (max) { - setValidationValues(options, maxRuleName, max); - } - }); - }; - - adapters.addSingleVal = function (adapterName, attribute, ruleName) { - /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where - /// the jQuery Validate validation rule has a single value. - /// The name of the adapter to be added. This matches the name used - /// in the data-val-nnnn HTML attribute(where nnnn is the adapter name). - /// [Optional] The name of the HTML attribute that contains the value. - /// The default is "val". - /// [Optional] The name of the jQuery Validate rule. If not provided, the value - /// of adapterName will be used instead. - /// - return this.add(adapterName, [attribute || "val"], function (options) { - setValidationValues(options, ruleName || adapterName, options.params[attribute]); - }); - }; - - $jQval.addMethod("__dummy__", function (value, element, params) { - return true; - }); - - $jQval.addMethod("regex", function (value, element, params) { - var match; - if (this.optional(element)) { - return true; - } - - match = new RegExp(params).exec(value); - return (match && (match.index === 0) && (match[0].length === value.length)); - }); - - $jQval.addMethod("nonalphamin", function (value, element, nonalphamin) { - var match; - if (nonalphamin) { - match = value.match(/\W/g); - match = match && match.length >= nonalphamin; - } - return match; - }); - - if ($jQval.methods.extension) { - adapters.addSingleVal("accept", "mimtype"); - adapters.addSingleVal("extension", "extension"); - } else { - // for backward compatibility, when the 'extension' validation method does not exist, such as with versions - // of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for - // validating the extension, and ignore mime-type validations as they are not supported. - adapters.addSingleVal("extension", "extension", "accept"); - } - - adapters.addSingleVal("regex", "pattern"); - adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"); - adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range"); - adapters.addMinMax("minlength", "minlength").addMinMax("maxlength", "minlength", "maxlength"); - adapters.add("equalto", ["other"], function (options) { - var prefix = getModelPrefix(options.element.name), - other = options.params.other, - fullOtherName = appendModelPrefix(other, prefix), - element = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(fullOtherName) + "']")[0]; - - setValidationValues(options, "equalTo", element); - }); - adapters.add("required", function (options) { - // jQuery Validate equates "required" with "mandatory" for checkbox elements - if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") { - setValidationValues(options, "required", true); - } - }); - adapters.add("remote", ["url", "type", "additionalfields"], function (options) { - var value = { - url: options.params.url, - type: options.params.type || "GET", - data: {} - }, - prefix = getModelPrefix(options.element.name); - - $.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) { - var paramName = appendModelPrefix(fieldName, prefix); - value.data[paramName] = function () { - var field = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']"); - // For checkboxes and radio buttons, only pick up values from checked fields. - if (field.is(":checkbox")) { - return field.filter(":checked").val() || field.filter(":hidden").val() || ''; - } - else if (field.is(":radio")) { - return field.filter(":checked").val() || ''; - } - return field.val(); - }; - }); - - setValidationValues(options, "remote", value); - }); - adapters.add("password", ["min", "nonalphamin", "regex"], function (options) { - if (options.params.min) { - setValidationValues(options, "minlength", options.params.min); - } - if (options.params.nonalphamin) { - setValidationValues(options, "nonalphamin", options.params.nonalphamin); - } - if (options.params.regex) { - setValidationValues(options, "regex", options.params.regex); - } - }); - - $(function () { - $jQval.unobtrusive.parse(document); - }); -}(jQuery)); \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js deleted file mode 100644 index be9a38a4c..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/* -** Unobtrusive validation support library for jQuery and jQuery Validate -** Copyright (C) Microsoft Corporation. All rights reserved. -*/ -!function(a){function e(a,e,n){a.rules[e]=n,a.message&&(a.messages[e]=a.message)}function n(a){return a.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function t(a){return a.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g,"\\$1")}function r(a){return a.substr(0,a.lastIndexOf(".")+1)}function i(a,e){return 0===a.indexOf("*.")&&(a=a.replace("*.",e)),a}function o(e,n){var r=a(this).find("[data-valmsg-for='"+t(n[0].name)+"']"),i=r.attr("data-valmsg-replace"),o=i?a.parseJSON(i)!==!1:null;r.removeClass("field-validation-valid").addClass("field-validation-error"),e.data("unobtrusiveContainer",r),o?(r.empty(),e.removeClass("input-validation-error").appendTo(r)):e.hide()}function d(e,n){var t=a(this).find("[data-valmsg-summary=true]"),r=t.find("ul");r&&r.length&&n.errorList.length&&(r.empty(),t.addClass("validation-summary-errors").removeClass("validation-summary-valid"),a.each(n.errorList,function(){a("
        2. ").html(this.message).appendTo(r)}))}function s(e){var n=e.data("unobtrusiveContainer");if(n){var t=n.attr("data-valmsg-replace"),r=t?a.parseJSON(t):null;n.addClass("field-validation-valid").removeClass("field-validation-error"),e.removeData("unobtrusiveContainer"),r&&n.empty()}}function l(e){var n=a(this),t="__jquery_unobtrusive_validation_form_reset";if(!n.data(t)){n.data(t,!0);try{n.data("validator").resetForm()}finally{n.removeData(t)}n.find(".validation-summary-errors").addClass("validation-summary-valid").removeClass("validation-summary-errors"),n.find(".field-validation-error").addClass("field-validation-valid").removeClass("field-validation-error").removeData("unobtrusiveContainer").find(">*").removeData("unobtrusiveContainer")}}function m(e){var n=a(e),t=n.data(v),r=a.proxy(l,e),i=p.unobtrusive.options||{},m=function(n,t){var r=i[n];r&&a.isFunction(r)&&r.apply(e,t)};return t||(t={options:{errorClass:i.errorClass||"input-validation-error",errorElement:i.errorElement||"span",errorPlacement:function(){o.apply(e,arguments),m("errorPlacement",arguments)},invalidHandler:function(){d.apply(e,arguments),m("invalidHandler",arguments)},messages:{},rules:{},success:function(){s.apply(e,arguments),m("success",arguments)}},attachValidation:function(){n.off("reset."+v,r).on("reset."+v,r).validate(this.options)},validate:function(){return n.validate(),n.valid()}},n.data(v,t)),t}var u,p=a.validator,v="unobtrusiveValidation";p.unobtrusive={adapters:[],parseElement:function(e,n){var t,r,i,o=a(e),d=o.parents("form")[0];d&&(t=m(d),t.options.rules[e.name]=r={},t.options.messages[e.name]=i={},a.each(this.adapters,function(){var n="data-val-"+this.name,t=o.attr(n),s={};void 0!==t&&(n+="-",a.each(this.params,function(){s[this]=o.attr(n+this)}),this.adapt({element:e,form:d,message:t,params:s,rules:r,messages:i}))}),a.extend(r,{__dummy__:!0}),n||t.attachValidation())},parse:function(e){var n=a(e),t=n.parents().addBack().filter("form").add(n.find("form")).has("[data-val=true]");n.find("[data-val=true]").each(function(){p.unobtrusive.parseElement(this,!0)}),t.each(function(){var a=m(this);a&&a.attachValidation()})}},u=p.unobtrusive.adapters,u.add=function(a,e,n){return n||(n=e,e=[]),this.push({name:a,params:e,adapt:n}),this},u.addBool=function(a,n){return this.add(a,function(t){e(t,n||a,!0)})},u.addMinMax=function(a,n,t,r,i,o){return this.add(a,[i||"min",o||"max"],function(a){var i=a.params.min,o=a.params.max;i&&o?e(a,r,[i,o]):i?e(a,n,i):o&&e(a,t,o)})},u.addSingleVal=function(a,n,t){return this.add(a,[n||"val"],function(r){e(r,t||a,r.params[n])})},p.addMethod("__dummy__",function(a,e,n){return!0}),p.addMethod("regex",function(a,e,n){var t;return this.optional(e)?!0:(t=new RegExp(n).exec(a),t&&0===t.index&&t[0].length===a.length)}),p.addMethod("nonalphamin",function(a,e,n){var t;return n&&(t=a.match(/\W/g),t=t&&t.length>=n),t}),p.methods.extension?(u.addSingleVal("accept","mimtype"),u.addSingleVal("extension","extension")):u.addSingleVal("extension","extension","accept"),u.addSingleVal("regex","pattern"),u.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"),u.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range"),u.addMinMax("minlength","minlength").addMinMax("maxlength","minlength","maxlength"),u.add("equalto",["other"],function(n){var o=r(n.element.name),d=n.params.other,s=i(d,o),l=a(n.form).find(":input").filter("[name='"+t(s)+"']")[0];e(n,"equalTo",l)}),u.add("required",function(a){("INPUT"!==a.element.tagName.toUpperCase()||"CHECKBOX"!==a.element.type.toUpperCase())&&e(a,"required",!0)}),u.add("remote",["url","type","additionalfields"],function(o){var d={url:o.params.url,type:o.params.type||"GET",data:{}},s=r(o.element.name);a.each(n(o.params.additionalfields||o.element.name),function(e,n){var r=i(n,s);d.data[r]=function(){var e=a(o.form).find(":input").filter("[name='"+t(r)+"']");return e.is(":checkbox")?e.filter(":checked").val()||e.filter(":hidden").val()||"":e.is(":radio")?e.filter(":checked").val()||"":e.val()}}),e(o,"remote",d)}),u.add("password",["min","nonalphamin","regex"],function(a){a.params.min&&e(a,"minlength",a.params.min),a.params.nonalphamin&&e(a,"nonalphamin",a.params.nonalphamin),a.params.regex&&e(a,"regex",a.params.regex)}),a(function(){p.unobtrusive.parse(document)})}(jQuery); \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/.bower.json b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/.bower.json deleted file mode 100644 index cab34a4a6..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/.bower.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "jquery-validation", - "homepage": "http://jqueryvalidation.org/", - "repository": { - "type": "git", - "url": "git://github.com/jzaefferer/jquery-validation.git" - }, - "authors": [ - "Jörn Zaefferer " - ], - "description": "Form validation made easy", - "main": "dist/jquery.validate.js", - "keywords": [ - "forms", - "validation", - "validate" - ], - "license": "MIT", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "demo", - "lib" - ], - "dependencies": { - "jquery": ">= 1.7.2" - }, - "version": "1.14.0", - "_release": "1.14.0", - "_resolution": { - "type": "version", - "tag": "1.14.0", - "commit": "c1343fb9823392aa9acbe1c3ffd337b8c92fed48" - }, - "_source": "git://github.com/jzaefferer/jquery-validation.git", - "_target": ">=1.8", - "_originalSource": "jquery-validation" -} \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/LICENSE.md b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/LICENSE.md deleted file mode 100644 index dc377cc03..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/LICENSE.md +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) -===================== - -Copyright Jörn Zaefferer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/dist/additional-methods.js b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/dist/additional-methods.js deleted file mode 100644 index df41fbd40..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/dist/additional-methods.js +++ /dev/null @@ -1,998 +0,0 @@ -/*! - * jQuery Validation Plugin v1.14.0 - * - * http://jqueryvalidation.org/ - * - * Copyright (c) 2015 Jörn Zaefferer - * Released under the MIT license - */ -(function( factory ) { - if ( typeof define === "function" && define.amd ) { - define( ["jquery", "./jquery.validate"], factory ); - } else { - factory( jQuery ); - } -}(function( $ ) { - -(function() { - - function stripHtml(value) { - // remove html tags and space chars - return value.replace(/<.[^<>]*?>/g, " ").replace(/ | /gi, " ") - // remove punctuation - .replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g, ""); - } - - $.validator.addMethod("maxWords", function(value, element, params) { - return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length <= params; - }, $.validator.format("Please enter {0} words or less.")); - - $.validator.addMethod("minWords", function(value, element, params) { - return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length >= params; - }, $.validator.format("Please enter at least {0} words.")); - - $.validator.addMethod("rangeWords", function(value, element, params) { - var valueStripped = stripHtml(value), - regex = /\b\w+\b/g; - return this.optional(element) || valueStripped.match(regex).length >= params[0] && valueStripped.match(regex).length <= params[1]; - }, $.validator.format("Please enter between {0} and {1} words.")); - -}()); - -// Accept a value from a file input based on a required mimetype -$.validator.addMethod("accept", function(value, element, param) { - // Split mime on commas in case we have multiple types we can accept - var typeParam = typeof param === "string" ? param.replace(/\s/g, "").replace(/,/g, "|") : "image/*", - optionalValue = this.optional(element), - i, file; - - // Element is optional - if (optionalValue) { - return optionalValue; - } - - if ($(element).attr("type") === "file") { - // If we are using a wildcard, make it regex friendly - typeParam = typeParam.replace(/\*/g, ".*"); - - // Check if the element has a FileList before checking each file - if (element.files && element.files.length) { - for (i = 0; i < element.files.length; i++) { - file = element.files[i]; - - // Grab the mimetype from the loaded file, verify it matches - if (!file.type.match(new RegExp( "\\.?(" + typeParam + ")$", "i"))) { - return false; - } - } - } - } - - // Either return true because we've validated each file, or because the - // browser does not support element.files and the FileList feature - return true; -}, $.validator.format("Please enter a value with a valid mimetype.")); - -$.validator.addMethod("alphanumeric", function(value, element) { - return this.optional(element) || /^\w+$/i.test(value); -}, "Letters, numbers, and underscores only please"); - -/* - * Dutch bank account numbers (not 'giro' numbers) have 9 digits - * and pass the '11 check'. - * We accept the notation with spaces, as that is common. - * acceptable: 123456789 or 12 34 56 789 - */ -$.validator.addMethod("bankaccountNL", function(value, element) { - if (this.optional(element)) { - return true; - } - if (!(/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(value))) { - return false; - } - // now '11 check' - var account = value.replace(/ /g, ""), // remove spaces - sum = 0, - len = account.length, - pos, factor, digit; - for ( pos = 0; pos < len; pos++ ) { - factor = len - pos; - digit = account.substring(pos, pos + 1); - sum = sum + factor * digit; - } - return sum % 11 === 0; -}, "Please specify a valid bank account number"); - -$.validator.addMethod("bankorgiroaccountNL", function(value, element) { - return this.optional(element) || - ($.validator.methods.bankaccountNL.call(this, value, element)) || - ($.validator.methods.giroaccountNL.call(this, value, element)); -}, "Please specify a valid bank or giro account number"); - -/** - * BIC is the business identifier code (ISO 9362). This BIC check is not a guarantee for authenticity. - * - * BIC pattern: BBBBCCLLbbb (8 or 11 characters long; bbb is optional) - * - * BIC definition in detail: - * - First 4 characters - bank code (only letters) - * - Next 2 characters - ISO 3166-1 alpha-2 country code (only letters) - * - Next 2 characters - location code (letters and digits) - * a. shall not start with '0' or '1' - * b. second character must be a letter ('O' is not allowed) or one of the following digits ('0' for test (therefore not allowed), '1' for passive participant and '2' for active participant) - * - Last 3 characters - branch code, optional (shall not start with 'X' except in case of 'XXX' for primary office) (letters and digits) - */ -$.validator.addMethod("bic", function(value, element) { - return this.optional( element ) || /^([A-Z]{6}[A-Z2-9][A-NP-Z1-2])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test( value ); -}, "Please specify a valid BIC code"); - -/* - * Código de identificación fiscal ( CIF ) is the tax identification code for Spanish legal entities - * Further rules can be found in Spanish on http://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal - */ -$.validator.addMethod( "cifES", function( value ) { - "use strict"; - - var num = [], - controlDigit, sum, i, count, tmp, secondDigit; - - value = value.toUpperCase(); - - // Quick format test - if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) { - return false; - } - - for ( i = 0; i < 9; i++ ) { - num[ i ] = parseInt( value.charAt( i ), 10 ); - } - - // Algorithm for checking CIF codes - sum = num[ 2 ] + num[ 4 ] + num[ 6 ]; - for ( count = 1; count < 8; count += 2 ) { - tmp = ( 2 * num[ count ] ).toString(); - secondDigit = tmp.charAt( 1 ); - - sum += parseInt( tmp.charAt( 0 ), 10 ) + ( secondDigit === "" ? 0 : parseInt( secondDigit, 10 ) ); - } - - /* The first (position 1) is a letter following the following criteria: - * A. Corporations - * B. LLCs - * C. General partnerships - * D. Companies limited partnerships - * E. Communities of goods - * F. Cooperative Societies - * G. Associations - * H. Communities of homeowners in horizontal property regime - * J. Civil Societies - * K. Old format - * L. Old format - * M. Old format - * N. Nonresident entities - * P. Local authorities - * Q. Autonomous bodies, state or not, and the like, and congregations and religious institutions - * R. Congregations and religious institutions (since 2008 ORDER EHA/451/2008) - * S. Organs of State Administration and regions - * V. Agrarian Transformation - * W. Permanent establishments of non-resident in Spain - */ - if ( /^[ABCDEFGHJNPQRSUVW]{1}/.test( value ) ) { - sum += ""; - controlDigit = 10 - parseInt( sum.charAt( sum.length - 1 ), 10 ); - value += controlDigit; - return ( num[ 8 ].toString() === String.fromCharCode( 64 + controlDigit ) || num[ 8 ].toString() === value.charAt( value.length - 1 ) ); - } - - return false; - -}, "Please specify a valid CIF number." ); - -/* - * Brazillian CPF number (Cadastrado de Pessoas Físicas) is the equivalent of a Brazilian tax registration number. - * CPF numbers have 11 digits in total: 9 numbers followed by 2 check numbers that are being used for validation. - */ -$.validator.addMethod("cpfBR", function(value) { - // Removing special characters from value - value = value.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g, ""); - - // Checking value to have 11 digits only - if (value.length !== 11) { - return false; - } - - var sum = 0, - firstCN, secondCN, checkResult, i; - - firstCN = parseInt(value.substring(9, 10), 10); - secondCN = parseInt(value.substring(10, 11), 10); - - checkResult = function(sum, cn) { - var result = (sum * 10) % 11; - if ((result === 10) || (result === 11)) {result = 0;} - return (result === cn); - }; - - // Checking for dump data - if (value === "" || - value === "00000000000" || - value === "11111111111" || - value === "22222222222" || - value === "33333333333" || - value === "44444444444" || - value === "55555555555" || - value === "66666666666" || - value === "77777777777" || - value === "88888888888" || - value === "99999999999" - ) { - return false; - } - - // Step 1 - using first Check Number: - for ( i = 1; i <= 9; i++ ) { - sum = sum + parseInt(value.substring(i - 1, i), 10) * (11 - i); - } - - // If first Check Number (CN) is valid, move to Step 2 - using second Check Number: - if ( checkResult(sum, firstCN) ) { - sum = 0; - for ( i = 1; i <= 10; i++ ) { - sum = sum + parseInt(value.substring(i - 1, i), 10) * (12 - i); - } - return checkResult(sum, secondCN); - } - return false; - -}, "Please specify a valid CPF number"); - -/* NOTICE: Modified version of Castle.Components.Validator.CreditCardValidator - * Redistributed under the the Apache License 2.0 at http://www.apache.org/licenses/LICENSE-2.0 - * Valid Types: mastercard, visa, amex, dinersclub, enroute, discover, jcb, unknown, all (overrides all other settings) - */ -$.validator.addMethod("creditcardtypes", function(value, element, param) { - if (/[^0-9\-]+/.test(value)) { - return false; - } - - value = value.replace(/\D/g, ""); - - var validTypes = 0x0000; - - if (param.mastercard) { - validTypes |= 0x0001; - } - if (param.visa) { - validTypes |= 0x0002; - } - if (param.amex) { - validTypes |= 0x0004; - } - if (param.dinersclub) { - validTypes |= 0x0008; - } - if (param.enroute) { - validTypes |= 0x0010; - } - if (param.discover) { - validTypes |= 0x0020; - } - if (param.jcb) { - validTypes |= 0x0040; - } - if (param.unknown) { - validTypes |= 0x0080; - } - if (param.all) { - validTypes = 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080; - } - if (validTypes & 0x0001 && /^(5[12345])/.test(value)) { //mastercard - return value.length === 16; - } - if (validTypes & 0x0002 && /^(4)/.test(value)) { //visa - return value.length === 16; - } - if (validTypes & 0x0004 && /^(3[47])/.test(value)) { //amex - return value.length === 15; - } - if (validTypes & 0x0008 && /^(3(0[012345]|[68]))/.test(value)) { //dinersclub - return value.length === 14; - } - if (validTypes & 0x0010 && /^(2(014|149))/.test(value)) { //enroute - return value.length === 15; - } - if (validTypes & 0x0020 && /^(6011)/.test(value)) { //discover - return value.length === 16; - } - if (validTypes & 0x0040 && /^(3)/.test(value)) { //jcb - return value.length === 16; - } - if (validTypes & 0x0040 && /^(2131|1800)/.test(value)) { //jcb - return value.length === 15; - } - if (validTypes & 0x0080) { //unknown - return true; - } - return false; -}, "Please enter a valid credit card number."); - -/** - * Validates currencies with any given symbols by @jameslouiz - * Symbols can be optional or required. Symbols required by default - * - * Usage examples: - * currency: ["£", false] - Use false for soft currency validation - * currency: ["$", false] - * currency: ["RM", false] - also works with text based symbols such as "RM" - Malaysia Ringgit etc - * - * - * - * Soft symbol checking - * currencyInput: { - * currency: ["$", false] - * } - * - * Strict symbol checking (default) - * currencyInput: { - * currency: "$" - * //OR - * currency: ["$", true] - * } - * - * Multiple Symbols - * currencyInput: { - * currency: "$,£,¢" - * } - */ -$.validator.addMethod("currency", function(value, element, param) { - var isParamString = typeof param === "string", - symbol = isParamString ? param : param[0], - soft = isParamString ? true : param[1], - regex; - - symbol = symbol.replace(/,/g, ""); - symbol = soft ? symbol + "]" : symbol + "]?"; - regex = "^[" + symbol + "([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$"; - regex = new RegExp(regex); - return this.optional(element) || regex.test(value); - -}, "Please specify a valid currency"); - -$.validator.addMethod("dateFA", function(value, element) { - return this.optional(element) || /^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(value); -}, $.validator.messages.date); - -/** - * Return true, if the value is a valid date, also making this formal check dd/mm/yyyy. - * - * @example $.validator.methods.date("01/01/1900") - * @result true - * - * @example $.validator.methods.date("01/13/1990") - * @result false - * - * @example $.validator.methods.date("01.01.1900") - * @result false - * - * @example - * @desc Declares an optional input element whose value must be a valid date. - * - * @name $.validator.methods.dateITA - * @type Boolean - * @cat Plugins/Validate/Methods - */ -$.validator.addMethod("dateITA", function(value, element) { - var check = false, - re = /^\d{1,2}\/\d{1,2}\/\d{4}$/, - adata, gg, mm, aaaa, xdata; - if ( re.test(value)) { - adata = value.split("/"); - gg = parseInt(adata[0], 10); - mm = parseInt(adata[1], 10); - aaaa = parseInt(adata[2], 10); - xdata = new Date(Date.UTC(aaaa, mm - 1, gg, 12, 0, 0, 0)); - if ( ( xdata.getUTCFullYear() === aaaa ) && ( xdata.getUTCMonth () === mm - 1 ) && ( xdata.getUTCDate() === gg ) ) { - check = true; - } else { - check = false; - } - } else { - check = false; - } - return this.optional(element) || check; -}, $.validator.messages.date); - -$.validator.addMethod("dateNL", function(value, element) { - return this.optional(element) || /^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(value); -}, $.validator.messages.date); - -// Older "accept" file extension method. Old docs: http://docs.jquery.com/Plugins/Validation/Methods/accept -$.validator.addMethod("extension", function(value, element, param) { - param = typeof param === "string" ? param.replace(/,/g, "|") : "png|jpe?g|gif"; - return this.optional(element) || value.match(new RegExp("\\.(" + param + ")$", "i")); -}, $.validator.format("Please enter a value with a valid extension.")); - -/** - * Dutch giro account numbers (not bank numbers) have max 7 digits - */ -$.validator.addMethod("giroaccountNL", function(value, element) { - return this.optional(element) || /^[0-9]{1,7}$/.test(value); -}, "Please specify a valid giro account number"); - -/** - * IBAN is the international bank account number. - * It has a country - specific format, that is checked here too - */ -$.validator.addMethod("iban", function(value, element) { - // some quick simple tests to prevent needless work - if (this.optional(element)) { - return true; - } - - // remove spaces and to upper case - var iban = value.replace(/ /g, "").toUpperCase(), - ibancheckdigits = "", - leadingZeroes = true, - cRest = "", - cOperator = "", - countrycode, ibancheck, charAt, cChar, bbanpattern, bbancountrypatterns, ibanregexp, i, p; - - // check the country code and find the country specific format - countrycode = iban.substring(0, 2); - bbancountrypatterns = { - "AL": "\\d{8}[\\dA-Z]{16}", - "AD": "\\d{8}[\\dA-Z]{12}", - "AT": "\\d{16}", - "AZ": "[\\dA-Z]{4}\\d{20}", - "BE": "\\d{12}", - "BH": "[A-Z]{4}[\\dA-Z]{14}", - "BA": "\\d{16}", - "BR": "\\d{23}[A-Z][\\dA-Z]", - "BG": "[A-Z]{4}\\d{6}[\\dA-Z]{8}", - "CR": "\\d{17}", - "HR": "\\d{17}", - "CY": "\\d{8}[\\dA-Z]{16}", - "CZ": "\\d{20}", - "DK": "\\d{14}", - "DO": "[A-Z]{4}\\d{20}", - "EE": "\\d{16}", - "FO": "\\d{14}", - "FI": "\\d{14}", - "FR": "\\d{10}[\\dA-Z]{11}\\d{2}", - "GE": "[\\dA-Z]{2}\\d{16}", - "DE": "\\d{18}", - "GI": "[A-Z]{4}[\\dA-Z]{15}", - "GR": "\\d{7}[\\dA-Z]{16}", - "GL": "\\d{14}", - "GT": "[\\dA-Z]{4}[\\dA-Z]{20}", - "HU": "\\d{24}", - "IS": "\\d{22}", - "IE": "[\\dA-Z]{4}\\d{14}", - "IL": "\\d{19}", - "IT": "[A-Z]\\d{10}[\\dA-Z]{12}", - "KZ": "\\d{3}[\\dA-Z]{13}", - "KW": "[A-Z]{4}[\\dA-Z]{22}", - "LV": "[A-Z]{4}[\\dA-Z]{13}", - "LB": "\\d{4}[\\dA-Z]{20}", - "LI": "\\d{5}[\\dA-Z]{12}", - "LT": "\\d{16}", - "LU": "\\d{3}[\\dA-Z]{13}", - "MK": "\\d{3}[\\dA-Z]{10}\\d{2}", - "MT": "[A-Z]{4}\\d{5}[\\dA-Z]{18}", - "MR": "\\d{23}", - "MU": "[A-Z]{4}\\d{19}[A-Z]{3}", - "MC": "\\d{10}[\\dA-Z]{11}\\d{2}", - "MD": "[\\dA-Z]{2}\\d{18}", - "ME": "\\d{18}", - "NL": "[A-Z]{4}\\d{10}", - "NO": "\\d{11}", - "PK": "[\\dA-Z]{4}\\d{16}", - "PS": "[\\dA-Z]{4}\\d{21}", - "PL": "\\d{24}", - "PT": "\\d{21}", - "RO": "[A-Z]{4}[\\dA-Z]{16}", - "SM": "[A-Z]\\d{10}[\\dA-Z]{12}", - "SA": "\\d{2}[\\dA-Z]{18}", - "RS": "\\d{18}", - "SK": "\\d{20}", - "SI": "\\d{15}", - "ES": "\\d{20}", - "SE": "\\d{20}", - "CH": "\\d{5}[\\dA-Z]{12}", - "TN": "\\d{20}", - "TR": "\\d{5}[\\dA-Z]{17}", - "AE": "\\d{3}\\d{16}", - "GB": "[A-Z]{4}\\d{14}", - "VG": "[\\dA-Z]{4}\\d{16}" - }; - - bbanpattern = bbancountrypatterns[countrycode]; - // As new countries will start using IBAN in the - // future, we only check if the countrycode is known. - // This prevents false negatives, while almost all - // false positives introduced by this, will be caught - // by the checksum validation below anyway. - // Strict checking should return FALSE for unknown - // countries. - if (typeof bbanpattern !== "undefined") { - ibanregexp = new RegExp("^[A-Z]{2}\\d{2}" + bbanpattern + "$", ""); - if (!(ibanregexp.test(iban))) { - return false; // invalid country specific format - } - } - - // now check the checksum, first convert to digits - ibancheck = iban.substring(4, iban.length) + iban.substring(0, 4); - for (i = 0; i < ibancheck.length; i++) { - charAt = ibancheck.charAt(i); - if (charAt !== "0") { - leadingZeroes = false; - } - if (!leadingZeroes) { - ibancheckdigits += "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(charAt); - } - } - - // calculate the result of: ibancheckdigits % 97 - for (p = 0; p < ibancheckdigits.length; p++) { - cChar = ibancheckdigits.charAt(p); - cOperator = "" + cRest + "" + cChar; - cRest = cOperator % 97; - } - return cRest === 1; -}, "Please specify a valid IBAN"); - -$.validator.addMethod("integer", function(value, element) { - return this.optional(element) || /^-?\d+$/.test(value); -}, "A positive or negative non-decimal number please"); - -$.validator.addMethod("ipv4", function(value, element) { - return this.optional(element) || /^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(value); -}, "Please enter a valid IP v4 address."); - -$.validator.addMethod("ipv6", function(value, element) { - return this.optional(element) || /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value); -}, "Please enter a valid IP v6 address."); - -$.validator.addMethod("lettersonly", function(value, element) { - return this.optional(element) || /^[a-z]+$/i.test(value); -}, "Letters only please"); - -$.validator.addMethod("letterswithbasicpunc", function(value, element) { - return this.optional(element) || /^[a-z\-.,()'"\s]+$/i.test(value); -}, "Letters or punctuation only please"); - -$.validator.addMethod("mobileNL", function(value, element) { - return this.optional(element) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(value); -}, "Please specify a valid mobile number"); - -/* For UK phone functions, do the following server side processing: - * Compare original input with this RegEx pattern: - * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ - * Extract $1 and set $prefix to '+44' if $1 is '44', otherwise set $prefix to '0' - * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. - * A number of very detailed GB telephone number RegEx patterns can also be found at: - * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers - */ -$.validator.addMethod("mobileUK", function(phone_number, element) { - phone_number = phone_number.replace(/\(|\)|\s+|-/g, ""); - return this.optional(element) || phone_number.length > 9 && - phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/); -}, "Please specify a valid mobile number"); - -/* - * The número de identidad de extranjero ( NIE )is a code used to identify the non-nationals in Spain - */ -$.validator.addMethod( "nieES", function( value ) { - "use strict"; - - value = value.toUpperCase(); - - // Basic format test - if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) { - return false; - } - - // Test NIE - //T - if ( /^[T]{1}/.test( value ) ) { - return ( value[ 8 ] === /^[T]{1}[A-Z0-9]{8}$/.test( value ) ); - } - - //XYZ - if ( /^[XYZ]{1}/.test( value ) ) { - return ( - value[ 8 ] === "TRWAGMYFPDXBNJZSQVHLCKE".charAt( - value.replace( "X", "0" ) - .replace( "Y", "1" ) - .replace( "Z", "2" ) - .substring( 0, 8 ) % 23 - ) - ); - } - - return false; - -}, "Please specify a valid NIE number." ); - -/* - * The Número de Identificación Fiscal ( NIF ) is the way tax identification used in Spain for individuals - */ -$.validator.addMethod( "nifES", function( value ) { - "use strict"; - - value = value.toUpperCase(); - - // Basic format test - if ( !value.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)") ) { - return false; - } - - // Test NIF - if ( /^[0-9]{8}[A-Z]{1}$/.test( value ) ) { - return ( "TRWAGMYFPDXBNJZSQVHLCKE".charAt( value.substring( 8, 0 ) % 23 ) === value.charAt( 8 ) ); - } - // Test specials NIF (starts with K, L or M) - if ( /^[KLM]{1}/.test( value ) ) { - return ( value[ 8 ] === String.fromCharCode( 64 ) ); - } - - return false; - -}, "Please specify a valid NIF number." ); - -jQuery.validator.addMethod( "notEqualTo", function( value, element, param ) { - return this.optional(element) || !$.validator.methods.equalTo.call( this, value, element, param ); -}, "Please enter a different value, values must not be the same." ); - -$.validator.addMethod("nowhitespace", function(value, element) { - return this.optional(element) || /^\S+$/i.test(value); -}, "No white space please"); - -/** -* Return true if the field value matches the given format RegExp -* -* @example $.validator.methods.pattern("AR1004",element,/^AR\d{4}$/) -* @result true -* -* @example $.validator.methods.pattern("BR1004",element,/^AR\d{4}$/) -* @result false -* -* @name $.validator.methods.pattern -* @type Boolean -* @cat Plugins/Validate/Methods -*/ -$.validator.addMethod("pattern", function(value, element, param) { - if (this.optional(element)) { - return true; - } - if (typeof param === "string") { - param = new RegExp("^(?:" + param + ")$"); - } - return param.test(value); -}, "Invalid format."); - -/** - * Dutch phone numbers have 10 digits (or 11 and start with +31). - */ -$.validator.addMethod("phoneNL", function(value, element) { - return this.optional(element) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(value); -}, "Please specify a valid phone number."); - -/* For UK phone functions, do the following server side processing: - * Compare original input with this RegEx pattern: - * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ - * Extract $1 and set $prefix to '+44' if $1 is '44', otherwise set $prefix to '0' - * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. - * A number of very detailed GB telephone number RegEx patterns can also be found at: - * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers - */ -$.validator.addMethod("phoneUK", function(phone_number, element) { - phone_number = phone_number.replace(/\(|\)|\s+|-/g, ""); - return this.optional(element) || phone_number.length > 9 && - phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/); -}, "Please specify a valid phone number"); - -/** - * matches US phone number format - * - * where the area code may not start with 1 and the prefix may not start with 1 - * allows '-' or ' ' as a separator and allows parens around area code - * some people may want to put a '1' in front of their number - * - * 1(212)-999-2345 or - * 212 999 2344 or - * 212-999-0983 - * - * but not - * 111-123-5434 - * and not - * 212 123 4567 - */ -$.validator.addMethod("phoneUS", function(phone_number, element) { - phone_number = phone_number.replace(/\s+/g, ""); - return this.optional(element) || phone_number.length > 9 && - phone_number.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/); -}, "Please specify a valid phone number"); - -/* For UK phone functions, do the following server side processing: - * Compare original input with this RegEx pattern: - * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ - * Extract $1 and set $prefix to '+44' if $1 is '44', otherwise set $prefix to '0' - * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. - * A number of very detailed GB telephone number RegEx patterns can also be found at: - * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers - */ -//Matches UK landline + mobile, accepting only 01-3 for landline or 07 for mobile to exclude many premium numbers -$.validator.addMethod("phonesUK", function(phone_number, element) { - phone_number = phone_number.replace(/\(|\)|\s+|-/g, ""); - return this.optional(element) || phone_number.length > 9 && - phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/); -}, "Please specify a valid uk phone number"); - -/** - * Matches a valid Canadian Postal Code - * - * @example jQuery.validator.methods.postalCodeCA( "H0H 0H0", element ) - * @result true - * - * @example jQuery.validator.methods.postalCodeCA( "H0H0H0", element ) - * @result false - * - * @name jQuery.validator.methods.postalCodeCA - * @type Boolean - * @cat Plugins/Validate/Methods - */ -$.validator.addMethod( "postalCodeCA", function( value, element ) { - return this.optional( element ) || /^[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d$/.test( value ); -}, "Please specify a valid postal code" ); - -/* -* Valida CEPs do brasileiros: -* -* Formatos aceitos: -* 99999-999 -* 99.999-999 -* 99999999 -*/ -$.validator.addMethod("postalcodeBR", function(cep_value, element) { - return this.optional(element) || /^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test( cep_value ); -}, "Informe um CEP válido."); - -/* Matches Italian postcode (CAP) */ -$.validator.addMethod("postalcodeIT", function(value, element) { - return this.optional(element) || /^\d{5}$/.test(value); -}, "Please specify a valid postal code"); - -$.validator.addMethod("postalcodeNL", function(value, element) { - return this.optional(element) || /^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(value); -}, "Please specify a valid postal code"); - -// Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK) -$.validator.addMethod("postcodeUK", function(value, element) { - return this.optional(element) || /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(value); -}, "Please specify a valid UK postcode"); - -/* - * Lets you say "at least X inputs that match selector Y must be filled." - * - * The end result is that neither of these inputs: - * - * - * - * - * ...will validate unless at least one of them is filled. - * - * partnumber: {require_from_group: [1,".productinfo"]}, - * description: {require_from_group: [1,".productinfo"]} - * - * options[0]: number of fields that must be filled in the group - * options[1]: CSS selector that defines the group of conditionally required fields - */ -$.validator.addMethod("require_from_group", function(value, element, options) { - var $fields = $(options[1], element.form), - $fieldsFirst = $fields.eq(0), - validator = $fieldsFirst.data("valid_req_grp") ? $fieldsFirst.data("valid_req_grp") : $.extend({}, this), - isValid = $fields.filter(function() { - return validator.elementValue(this); - }).length >= options[0]; - - // Store the cloned validator for future validation - $fieldsFirst.data("valid_req_grp", validator); - - // If element isn't being validated, run each require_from_group field's validation rules - if (!$(element).data("being_validated")) { - $fields.data("being_validated", true); - $fields.each(function() { - validator.element(this); - }); - $fields.data("being_validated", false); - } - return isValid; -}, $.validator.format("Please fill at least {0} of these fields.")); - -/* - * Lets you say "either at least X inputs that match selector Y must be filled, - * OR they must all be skipped (left blank)." - * - * The end result, is that none of these inputs: - * - * - * - * - * - * ...will validate unless either at least two of them are filled, - * OR none of them are. - * - * partnumber: {skip_or_fill_minimum: [2,".productinfo"]}, - * description: {skip_or_fill_minimum: [2,".productinfo"]}, - * color: {skip_or_fill_minimum: [2,".productinfo"]} - * - * options[0]: number of fields that must be filled in the group - * options[1]: CSS selector that defines the group of conditionally required fields - * - */ -$.validator.addMethod("skip_or_fill_minimum", function(value, element, options) { - var $fields = $(options[1], element.form), - $fieldsFirst = $fields.eq(0), - validator = $fieldsFirst.data("valid_skip") ? $fieldsFirst.data("valid_skip") : $.extend({}, this), - numberFilled = $fields.filter(function() { - return validator.elementValue(this); - }).length, - isValid = numberFilled === 0 || numberFilled >= options[0]; - - // Store the cloned validator for future validation - $fieldsFirst.data("valid_skip", validator); - - // If element isn't being validated, run each skip_or_fill_minimum field's validation rules - if (!$(element).data("being_validated")) { - $fields.data("being_validated", true); - $fields.each(function() { - validator.element(this); - }); - $fields.data("being_validated", false); - } - return isValid; -}, $.validator.format("Please either skip these fields or fill at least {0} of them.")); - -/* Validates US States and/or Territories by @jdforsythe - * Can be case insensitive or require capitalization - default is case insensitive - * Can include US Territories or not - default does not - * Can include US Military postal abbreviations (AA, AE, AP) - default does not - * - * Note: "States" always includes DC (District of Colombia) - * - * Usage examples: - * - * This is the default - case insensitive, no territories, no military zones - * stateInput: { - * caseSensitive: false, - * includeTerritories: false, - * includeMilitary: false - * } - * - * Only allow capital letters, no territories, no military zones - * stateInput: { - * caseSensitive: false - * } - * - * Case insensitive, include territories but not military zones - * stateInput: { - * includeTerritories: true - * } - * - * Only allow capital letters, include territories and military zones - * stateInput: { - * caseSensitive: true, - * includeTerritories: true, - * includeMilitary: true - * } - * - * - * - */ - -$.validator.addMethod("stateUS", function(value, element, options) { - var isDefault = typeof options === "undefined", - caseSensitive = ( isDefault || typeof options.caseSensitive === "undefined" ) ? false : options.caseSensitive, - includeTerritories = ( isDefault || typeof options.includeTerritories === "undefined" ) ? false : options.includeTerritories, - includeMilitary = ( isDefault || typeof options.includeMilitary === "undefined" ) ? false : options.includeMilitary, - regex; - - if (!includeTerritories && !includeMilitary) { - regex = "^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$"; - } else if (includeTerritories && includeMilitary) { - regex = "^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$"; - } else if (includeTerritories) { - regex = "^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$"; - } else { - regex = "^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$"; - } - - regex = caseSensitive ? new RegExp(regex) : new RegExp(regex, "i"); - return this.optional(element) || regex.test(value); -}, -"Please specify a valid state"); - -// TODO check if value starts with <, otherwise don't try stripping anything -$.validator.addMethod("strippedminlength", function(value, element, param) { - return $(value).text().length >= param; -}, $.validator.format("Please enter at least {0} characters")); - -$.validator.addMethod("time", function(value, element) { - return this.optional(element) || /^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(value); -}, "Please enter a valid time, between 00:00 and 23:59"); - -$.validator.addMethod("time12h", function(value, element) { - return this.optional(element) || /^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(value); -}, "Please enter a valid time in 12-hour am/pm format"); - -// same as url, but TLD is optional -$.validator.addMethod("url2", function(value, element) { - return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value); -}, $.validator.messages.url); - -/** - * Return true, if the value is a valid vehicle identification number (VIN). - * - * Works with all kind of text inputs. - * - * @example - * @desc Declares a required input element whose value must be a valid vehicle identification number. - * - * @name $.validator.methods.vinUS - * @type Boolean - * @cat Plugins/Validate/Methods - */ -$.validator.addMethod("vinUS", function(v) { - if (v.length !== 17) { - return false; - } - - var LL = [ "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" ], - VL = [ 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 7, 9, 2, 3, 4, 5, 6, 7, 8, 9 ], - FL = [ 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2 ], - rs = 0, - i, n, d, f, cd, cdv; - - for (i = 0; i < 17; i++) { - f = FL[i]; - d = v.slice(i, i + 1); - if (i === 8) { - cdv = d; - } - if (!isNaN(d)) { - d *= f; - } else { - for (n = 0; n < LL.length; n++) { - if (d.toUpperCase() === LL[n]) { - d = VL[n]; - d *= f; - if (isNaN(cdv) && n === 8) { - cdv = LL[n]; - } - break; - } - } - } - rs += d; - } - cd = rs % 11; - if (cd === 10) { - cd = "X"; - } - if (cd === cdv) { - return true; - } - return false; -}, "The specified vehicle identification number (VIN) is invalid."); - -$.validator.addMethod("zipcodeUS", function(value, element) { - return this.optional(element) || /^\d{5}(-\d{4})?$/.test(value); -}, "The specified US ZIP Code is invalid"); - -$.validator.addMethod("ziprange", function(value, element) { - return this.optional(element) || /^90[2-5]\d\{2\}-\d{4}$/.test(value); -}, "Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx"); - -})); \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/dist/additional-methods.min.js b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/dist/additional-methods.min.js deleted file mode 100644 index b63c3ca12..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/jquery-validation/dist/additional-methods.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015 - * http://jqueryvalidation.org/ - * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */ -!function(a){"function"==typeof define&&define.amd?define(["jquery","./jquery.validate.min"],a):a(jQuery)}(function(a){!function(){function b(a){return a.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ").replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g,"")}a.validator.addMethod("maxWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length<=d},a.validator.format("Please enter {0} words or less.")),a.validator.addMethod("minWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length>=d},a.validator.format("Please enter at least {0} words.")),a.validator.addMethod("rangeWords",function(a,c,d){var e=b(a),f=/\b\w+\b/g;return this.optional(c)||e.match(f).length>=d[0]&&e.match(f).length<=d[1]},a.validator.format("Please enter between {0} and {1} words."))}(),a.validator.addMethod("accept",function(b,c,d){var e,f,g="string"==typeof d?d.replace(/\s/g,"").replace(/,/g,"|"):"image/*",h=this.optional(c);if(h)return h;if("file"===a(c).attr("type")&&(g=g.replace(/\*/g,".*"),c.files&&c.files.length))for(e=0;ec;c++)d=h-c,e=f.substring(c,c+1),g+=d*e;return g%11===0},"Please specify a valid bank account number"),a.validator.addMethod("bankorgiroaccountNL",function(b,c){return this.optional(c)||a.validator.methods.bankaccountNL.call(this,b,c)||a.validator.methods.giroaccountNL.call(this,b,c)},"Please specify a valid bank or giro account number"),a.validator.addMethod("bic",function(a,b){return this.optional(b)||/^([A-Z]{6}[A-Z2-9][A-NP-Z1-2])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test(a)},"Please specify a valid BIC code"),a.validator.addMethod("cifES",function(a){"use strict";var b,c,d,e,f,g,h=[];if(a=a.toUpperCase(),!a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)"))return!1;for(d=0;9>d;d++)h[d]=parseInt(a.charAt(d),10);for(c=h[2]+h[4]+h[6],e=1;8>e;e+=2)f=(2*h[e]).toString(),g=f.charAt(1),c+=parseInt(f.charAt(0),10)+(""===g?0:parseInt(g,10));return/^[ABCDEFGHJNPQRSUVW]{1}/.test(a)?(c+="",b=10-parseInt(c.charAt(c.length-1),10),a+=b,h[8].toString()===String.fromCharCode(64+b)||h[8].toString()===a.charAt(a.length-1)):!1},"Please specify a valid CIF number."),a.validator.addMethod("cpfBR",function(a){if(a=a.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,""),11!==a.length)return!1;var b,c,d,e,f=0;if(b=parseInt(a.substring(9,10),10),c=parseInt(a.substring(10,11),10),d=function(a,b){var c=10*a%11;return(10===c||11===c)&&(c=0),c===b},""===a||"00000000000"===a||"11111111111"===a||"22222222222"===a||"33333333333"===a||"44444444444"===a||"55555555555"===a||"66666666666"===a||"77777777777"===a||"88888888888"===a||"99999999999"===a)return!1;for(e=1;9>=e;e++)f+=parseInt(a.substring(e-1,e),10)*(11-e);if(d(f,b)){for(f=0,e=1;10>=e;e++)f+=parseInt(a.substring(e-1,e),10)*(12-e);return d(f,c)}return!1},"Please specify a valid CPF number"),a.validator.addMethod("creditcardtypes",function(a,b,c){if(/[^0-9\-]+/.test(a))return!1;a=a.replace(/\D/g,"");var d=0;return c.mastercard&&(d|=1),c.visa&&(d|=2),c.amex&&(d|=4),c.dinersclub&&(d|=8),c.enroute&&(d|=16),c.discover&&(d|=32),c.jcb&&(d|=64),c.unknown&&(d|=128),c.all&&(d=255),1&d&&/^(5[12345])/.test(a)?16===a.length:2&d&&/^(4)/.test(a)?16===a.length:4&d&&/^(3[47])/.test(a)?15===a.length:8&d&&/^(3(0[012345]|[68]))/.test(a)?14===a.length:16&d&&/^(2(014|149))/.test(a)?15===a.length:32&d&&/^(6011)/.test(a)?16===a.length:64&d&&/^(3)/.test(a)?16===a.length:64&d&&/^(2131|1800)/.test(a)?15===a.length:128&d?!0:!1},"Please enter a valid credit card number."),a.validator.addMethod("currency",function(a,b,c){var d,e="string"==typeof c,f=e?c:c[0],g=e?!0:c[1];return f=f.replace(/,/g,""),f=g?f+"]":f+"]?",d="^["+f+"([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$",d=new RegExp(d),this.optional(b)||d.test(a)},"Please specify a valid currency"),a.validator.addMethod("dateFA",function(a,b){return this.optional(b)||/^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(a)},a.validator.messages.date),a.validator.addMethod("dateITA",function(a,b){var c,d,e,f,g,h=!1,i=/^\d{1,2}\/\d{1,2}\/\d{4}$/;return i.test(a)?(c=a.split("/"),d=parseInt(c[0],10),e=parseInt(c[1],10),f=parseInt(c[2],10),g=new Date(Date.UTC(f,e-1,d,12,0,0,0)),h=g.getUTCFullYear()===f&&g.getUTCMonth()===e-1&&g.getUTCDate()===d?!0:!1):h=!1,this.optional(b)||h},a.validator.messages.date),a.validator.addMethod("dateNL",function(a,b){return this.optional(b)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(a)},a.validator.messages.date),a.validator.addMethod("extension",function(a,b,c){return c="string"==typeof c?c.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(b)||a.match(new RegExp("\\.("+c+")$","i"))},a.validator.format("Please enter a value with a valid extension.")),a.validator.addMethod("giroaccountNL",function(a,b){return this.optional(b)||/^[0-9]{1,7}$/.test(a)},"Please specify a valid giro account number"),a.validator.addMethod("iban",function(a,b){if(this.optional(b))return!0;var c,d,e,f,g,h,i,j,k,l=a.replace(/ /g,"").toUpperCase(),m="",n=!0,o="",p="";if(c=l.substring(0,2),h={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"},g=h[c],"undefined"!=typeof g&&(i=new RegExp("^[A-Z]{2}\\d{2}"+g+"$",""),!i.test(l)))return!1;for(d=l.substring(4,l.length)+l.substring(0,4),j=0;j9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number"),a.validator.addMethod("nieES",function(a){"use strict";return a=a.toUpperCase(),a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")?/^[T]{1}/.test(a)?a[8]===/^[T]{1}[A-Z0-9]{8}$/.test(a):/^[XYZ]{1}/.test(a)?a[8]==="TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.replace("X","0").replace("Y","1").replace("Z","2").substring(0,8)%23):!1:!1},"Please specify a valid NIE number."),a.validator.addMethod("nifES",function(a){"use strict";return a=a.toUpperCase(),a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")?/^[0-9]{8}[A-Z]{1}$/.test(a)?"TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.substring(8,0)%23)===a.charAt(8):/^[KLM]{1}/.test(a)?a[8]===String.fromCharCode(64):!1:!1},"Please specify a valid NIF number."),jQuery.validator.addMethod("notEqualTo",function(b,c,d){return this.optional(c)||!a.validator.methods.equalTo.call(this,b,c,d)},"Please enter a different value, values must not be the same."),a.validator.addMethod("nowhitespace",function(a,b){return this.optional(b)||/^\S+$/i.test(a)},"No white space please"),a.validator.addMethod("pattern",function(a,b,c){return this.optional(b)?!0:("string"==typeof c&&(c=new RegExp("^(?:"+c+")$")),c.test(a))},"Invalid format."),a.validator.addMethod("phoneNL",function(a,b){return this.optional(b)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(a)},"Please specify a valid phone number."),a.validator.addMethod("phoneUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number"),a.validator.addMethod("phoneUS",function(a,b){return a=a.replace(/\s+/g,""),this.optional(b)||a.length>9&&a.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/)},"Please specify a valid phone number"),a.validator.addMethod("phonesUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number"),a.validator.addMethod("postalCodeCA",function(a,b){return this.optional(b)||/^[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeBR",function(a,b){return this.optional(b)||/^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test(a)},"Informe um CEP válido."),a.validator.addMethod("postalcodeIT",function(a,b){return this.optional(b)||/^\d{5}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeNL",function(a,b){return this.optional(b)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postcodeUK",function(a,b){return this.optional(b)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(a)},"Please specify a valid UK postcode"),a.validator.addMethod("require_from_group",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_req_grp")?f.data("valid_req_grp"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length>=d[0];return f.data("valid_req_grp",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),h},a.validator.format("Please fill at least {0} of these fields.")),a.validator.addMethod("skip_or_fill_minimum",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_skip")?f.data("valid_skip"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length,i=0===h||h>=d[0];return f.data("valid_skip",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),i},a.validator.format("Please either skip these fields or fill at least {0} of them.")),a.validator.addMethod("stateUS",function(a,b,c){var d,e="undefined"==typeof c,f=e||"undefined"==typeof c.caseSensitive?!1:c.caseSensitive,g=e||"undefined"==typeof c.includeTerritories?!1:c.includeTerritories,h=e||"undefined"==typeof c.includeMilitary?!1:c.includeMilitary;return d=g||h?g&&h?"^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":g?"^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":"^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$":"^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$",d=f?new RegExp(d):new RegExp(d,"i"),this.optional(b)||d.test(a)},"Please specify a valid state"),a.validator.addMethod("strippedminlength",function(b,c,d){return a(b).text().length>=d},a.validator.format("Please enter at least {0} characters")),a.validator.addMethod("time",function(a,b){return this.optional(b)||/^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(a)},"Please enter a valid time, between 00:00 and 23:59"),a.validator.addMethod("time12h",function(a,b){return this.optional(b)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(a)},"Please enter a valid time in 12-hour am/pm format"),a.validator.addMethod("url2",function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},a.validator.messages.url),a.validator.addMethod("vinUS",function(a){if(17!==a.length)return!1;var b,c,d,e,f,g,h=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"],i=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],j=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],k=0;for(b=0;17>b;b++){if(e=j[b],d=a.slice(b,b+1),8===b&&(g=d),isNaN(d)){for(c=0;c" + - ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowcapture^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibing-combinator selector` fails - if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); - } - }); - - assert(function( div ) { - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( div.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - return a === document ? -1 : - b === document ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - !compilerCache[ expr + " " ] && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch (e) {} - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[6] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, uniqueCache, outerCache, node, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) { - - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - - // Seek `elem` from a previously-cached index - - // ...in a gzip-friendly way - node = parent; - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex && cache[ 2 ]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else { - // Use previously-cached element index if available - if ( useCache ) { - // ...in a gzip-friendly way - node = elem; - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex; - } - - // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - if ( diff === false ) { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) && - ++diff ) { - - // Cache the index of each encountered element - if ( useCache ) { - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - uniqueCache[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - // Don't keep the element (issue #299) - input[0] = null; - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( (tokens = []) ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, uniqueCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); - - if ( (oldCache = uniqueCache[ dir ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - // Reuse newcache so results back-propagate to previous elements - uniqueCache[ dir ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context === document || context || outermost; - } - - // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - if ( !context && elem.ownerDocument !== document ) { - setDocument( elem ); - xml = !documentIsHTML; - } - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context || document, xml) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - matchedCount += i; - - // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - if ( match.length === 1 ) { - - // Reduce context if the leading compound selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - !context || rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( div1 ) { - // Should return 1, but returns 4 (following) - return div1.compareDocumentPosition( document.createElement("div") ) & 1; -}); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( div ) { - div.innerHTML = ""; - return div.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = ""; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -return Sizzle; - -})( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - - -var dir = function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; -}; - - -var siblings = function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; -}; - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); - - - -var risSimple = /^.[^:#\[\.,]*$/; - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - /* jshint -W018 */ - return !!qualifier.call( elem, i, elem ) !== not; - } ); - - } - - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - } ); - - } - - if ( typeof qualifier === "string" ) { - if ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) > -1 ) !== not; - } ); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); -}; - -jQuery.fn.extend( { - find: function( selector ) { - var i, - len = this.length, - ret = [], - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter( function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - } ) ); - } - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; - }, - filter: function( selector ) { - return this.pushStack( winnow( this, selector || [], false ) ); - }, - not: function( selector ) { - return this.pushStack( winnow( this, selector || [], true ) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -} ); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - init = jQuery.fn.init = function( selector, context, root ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Method init() accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - root = root || rootjQuery; - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[ 0 ] === "<" && - selector[ selector.length - 1 ] === ">" && - selector.length >= 3 ) { - - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && ( match[ 1 ] || !context ) ) { - - // HANDLE: $(html) -> $(array) - if ( match[ 1 ] ) { - context = context instanceof jQuery ? context[ 0 ] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[ 1 ], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[ 2 ] ); - - // Support: Blackberry 4.6 - // gEBID returns nodes no longer in the document (#6963) - if ( elem && elem.parentNode ) { - - // Inject the element directly into the jQuery object - this.length = 1; - this[ 0 ] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || root ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[ 0 ] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return root.ready !== undefined ? - root.ready( selector ) : - - // Execute immediately if ready is not present - selector( jQuery ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend( { - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter( function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[ i ] ) ) { - return true; - } - } - } ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { - - // Always skip document fragments - if ( cur.nodeType < 11 && ( pos ? - pos.index( cur ) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector( cur, selectors ) ) ) { - - matched.push( cur ); - break; - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.uniqueSort( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - } -} ); - -function sibling( cur, dir ) { - while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each( { - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return siblings( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return siblings( elem.firstChild ); - }, - contents: function( elem ) { - return elem.contentDocument || jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.uniqueSort( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -} ); -var rnotwhite = ( /\S+/g ); - - - -// Convert String-formatted options into Object-formatted ones -function createOptions( options ) { - var object = {}; - jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - } ); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - createOptions( options ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - - // Last fire value for non-forgettable lists - memory, - - // Flag to know if list was already fired - fired, - - // Flag to prevent firing - locked, - - // Actual callback list - list = [], - - // Queue of execution data for repeatable lists - queue = [], - - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - - // Fire callbacks - fire = function() { - - // Enforce single-firing - locked = options.once; - - // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - fired = firing = true; - for ( ; queue.length; firingIndex = -1 ) { - memory = queue.shift(); - while ( ++firingIndex < list.length ) { - - // Run callback and check for early termination - if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && - options.stopOnFalse ) { - - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } - - // Forget the data if we're done with it - if ( !options.memory ) { - memory = false; - } - - firing = false; - - // Clean up if we're done firing for good - if ( locked ) { - - // Keep an empty list if we have data for future add calls - if ( memory ) { - list = []; - - // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - - // Actual Callbacks object - self = { - - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - - // If we have memory from a past run, we should fire after adding - if ( memory && !firing ) { - firingIndex = list.length - 1; - queue.push( memory ); - } - - ( function add( args ) { - jQuery.each( args, function( _, arg ) { - if ( jQuery.isFunction( arg ) ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { - - // Inspect recursively - add( arg ); - } - } ); - } )( arguments ); - - if ( memory && !firing ) { - fire(); - } - } - return this; - }, - - // Remove a callback from the list - remove: function() { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - - // Handle firing indexes - if ( index <= firingIndex ) { - firingIndex--; - } - } - } ); - return this; - }, - - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? - jQuery.inArray( fn, list ) > -1 : - list.length > 0; - }, - - // Remove all callbacks from the list - empty: function() { - if ( list ) { - list = []; - } - return this; - }, - - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function() { - locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function() { - return !list; - }, - - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function() { - locked = queue = []; - if ( !memory ) { - list = memory = ""; - } - return this; - }, - locked: function() { - return !!locked; - }, - - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( !locked ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - queue.push( args ); - if ( !firing ) { - fire(); - } - } - return this; - }, - - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -jQuery.extend( { - - Deferred: function( func ) { - var tuples = [ - - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ], - [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ], - [ "notify", "progress", jQuery.Callbacks( "memory" ) ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[ 1 ] ]( function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .progress( newDefer.notify ) - .done( newDefer.resolve ) - .fail( newDefer.reject ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( - this === promise ? newDefer.promise() : this, - fn ? [ returned ] : arguments - ); - } - } ); - } ); - fns = null; - } ).promise(); - }, - - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[ 1 ] ] = list.add; - - // Handle state - if ( stateString ) { - list.add( function() { - - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[ 0 ] ] = function() { - deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[ 0 ] + "With" ] = list.fireWith; - } ); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || - ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. - // If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( values === progressValues ) { - deferred.notifyWith( contexts, values ); - } else if ( !( --remaining ) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // Add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .progress( updateFunc( i, progressContexts, progressValues ) ) - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ); - } else { - --remaining; - } - } - } - - // If we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -} ); - - -// The deferred used on DOM ready -var readyList; - -jQuery.fn.ready = function( fn ) { - - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; -}; - -jQuery.extend( { - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.triggerHandler ) { - jQuery( document ).triggerHandler( "ready" ); - jQuery( document ).off( "ready" ); - } - } -} ); - -/** - * The ready event handler and self cleanup method - */ -function completed() { - document.removeEventListener( "DOMContentLoaded", completed ); - window.removeEventListener( "load", completed ); - jQuery.ready(); -} - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called - // after the browser event has already occurred. - // Support: IE9-10 only - // Older IE sometimes signals "interactive" too soon - if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); - - } else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); - } - } - return readyList.promise( obj ); -}; - -// Kick off the DOM ready check even if the user does not -jQuery.ready.promise(); - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - access( elems, fn, i, key[ i ], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( - elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) - ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - len ? fn( elems[ 0 ], key ) : emptyGet; -}; -var acceptData = function( owner ) { - - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - /* jshint -W018 */ - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - - - -function Data() { - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; - -Data.prototype = { - - register: function( owner, initial ) { - var value = initial || {}; - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable, non-writable property - // configurability must be true to allow the property to be - // deleted with the delete operator - } else { - Object.defineProperty( owner, this.expando, { - value: value, - writable: true, - configurable: true - } ); - } - return owner[ this.expando ]; - }, - cache: function( owner ) { - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( !acceptData( owner ) ) { - return {}; - } - - // Check if the owner object already has a cache - var value = owner[ this.expando ]; - - // If not, create one - if ( !value ) { - value = {}; - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( acceptData( owner ) ) { - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable property - // configurable must be true to allow the property to be - // deleted when data is removed - } else { - Object.defineProperty( owner, this.expando, { - value: value, - configurable: true - } ); - } - } - } - - return value; - }, - set: function( owner, data, value ) { - var prop, - cache = this.cache( owner ); - - // Handle: [ owner, key, value ] args - if ( typeof data === "string" ) { - cache[ data ] = value; - - // Handle: [ owner, { properties } ] args - } else { - - // Copy the properties one-by-one to the cache object - for ( prop in data ) { - cache[ prop ] = data[ prop ]; - } - } - return cache; - }, - get: function( owner, key ) { - return key === undefined ? - this.cache( owner ) : - owner[ this.expando ] && owner[ this.expando ][ key ]; - }, - access: function( owner, key, value ) { - var stored; - - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ( ( key && typeof key === "string" ) && value === undefined ) ) { - - stored = this.get( owner, key ); - - return stored !== undefined ? - stored : this.get( owner, jQuery.camelCase( key ) ); - } - - // When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, name, camel, - cache = owner[ this.expando ]; - - if ( cache === undefined ) { - return; - } - - if ( key === undefined ) { - this.register( owner ); - - } else { - - // Support array or space separated string of keys - if ( jQuery.isArray( key ) ) { - - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = key.concat( key.map( jQuery.camelCase ) ); - } else { - camel = jQuery.camelCase( key ); - - // Try the string as a key before any manipulation - if ( key in cache ) { - name = [ key, camel ]; - } else { - - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - name = camel; - name = name in cache ? - [ name ] : ( name.match( rnotwhite ) || [] ); - } - } - - i = name.length; - - while ( i-- ) { - delete cache[ name[ i ] ]; - } - } - - // Remove the expando if there's no more data - if ( key === undefined || jQuery.isEmptyObject( cache ) ) { - - // Support: Chrome <= 35-45+ - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://code.google.com/p/chromium/issues/detail?id=378607 - if ( owner.nodeType ) { - owner[ this.expando ] = undefined; - } else { - delete owner[ this.expando ]; - } - } - }, - hasData: function( owner ) { - var cache = owner[ this.expando ]; - return cache !== undefined && !jQuery.isEmptyObject( cache ); - } -}; -var dataPriv = new Data(); - -var dataUser = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /[A-Z]/g; - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch ( e ) {} - - // Make sure we set the data so it isn't changed later - dataUser.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend( { - hasData: function( elem ) { - return dataUser.hasData( elem ) || dataPriv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return dataUser.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - dataUser.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to dataPriv methods, these can be deprecated. - _data: function( elem, name, data ) { - return dataPriv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - dataPriv.remove( elem, name ); - } -} ); - -jQuery.fn.extend( { - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = dataUser.get( elem ); - - if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE11+ - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice( 5 ) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - dataPriv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each( function() { - dataUser.set( this, key ); - } ); - } - - return access( this, function( value ) { - var data, camelKey; - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - - // Attempt to get data from the cache - // with the key as-is - data = dataUser.get( elem, key ) || - - // Try to find dashed key if it exists (gh-2779) - // This is for 2.2.x only - dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() ); - - if ( data !== undefined ) { - return data; - } - - camelKey = jQuery.camelCase( key ); - - // Attempt to get data from the cache - // with the key camelized - data = dataUser.get( elem, camelKey ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, camelKey, undefined ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - camelKey = jQuery.camelCase( key ); - this.each( function() { - - // First, attempt to store a copy or reference of any - // data that might've been store with a camelCased key. - var data = dataUser.get( this, camelKey ); - - // For HTML5 data-* attribute interop, we have to - // store property names with dashes in a camelCase form. - // This might not apply to all properties...* - dataUser.set( this, camelKey, value ); - - // *... In the case of properties that might _actually_ - // have dashes, we need to also store a copy of that - // unchanged property. - if ( key.indexOf( "-" ) > -1 && data !== undefined ) { - dataUser.set( this, key, value ); - } - } ); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each( function() { - dataUser.remove( this, key ); - } ); - } -} ); - - -jQuery.extend( { - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = dataPriv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray( data ) ) { - queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { - empty: jQuery.Callbacks( "once memory" ).add( function() { - dataPriv.remove( elem, [ type + "queue", key ] ); - } ) - } ); - } -} ); - -jQuery.fn.extend( { - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[ 0 ], type ); - } - - return data === undefined ? - this : - this.each( function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - } ); - }, - dequeue: function( type ) { - return this.each( function() { - jQuery.dequeue( this, type ); - } ); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -} ); -var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; - -var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); - - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var isHidden = function( elem, el ) { - - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || - !jQuery.contains( elem.ownerDocument, elem ); - }; - - - -function adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, - scale = 1, - maxIterations = 20, - currentValue = tween ? - function() { return tween.cur(); } : - function() { return jQuery.css( elem, prop, "" ); }, - initial = currentValue(), - unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && - rcssNum.exec( jQuery.css( elem, prop ) ); - - if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - - // Trust units reported by jQuery.css - unit = unit || initialInUnit[ 3 ]; - - // Make sure we update the tween properties later on - valueParts = valueParts || []; - - // Iteratively approximate from a nonzero starting point - initialInUnit = +initial || 1; - - do { - - // If previous iteration zeroed out, double until we get *something*. - // Use string for doubling so we don't accidentally see scale as unchanged below - scale = scale || ".5"; - - // Adjust and apply - initialInUnit = initialInUnit / scale; - jQuery.style( elem, prop, initialInUnit + unit ); - - // Update scale, tolerating zero or NaN from tween.cur() - // Break the loop if scale is unchanged or perfect, or if we've just had enough. - } while ( - scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations - ); - } - - if ( valueParts ) { - initialInUnit = +initialInUnit || +initial || 0; - - // Apply relative offset (+=/-=) if specified - adjusted = valueParts[ 1 ] ? - initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : - +valueParts[ 2 ]; - if ( tween ) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - return adjusted; -} -var rcheckableType = ( /^(?:checkbox|radio)$/i ); - -var rtagName = ( /<([\w:-]+)/ ); - -var rscriptType = ( /^$|\/(?:java|ecma)script/i ); - - - -// We have to close these tags to support XHTML (#13200) -var wrapMap = { - - // Support: IE9 - option: [ 1, "" ], - - // XHTML parsers do not magically insert elements in the - // same way that tag soup parsers do. So we cannot shorten - // this by omitting or other required elements. - thead: [ 1, "", "
          " ], - col: [ 2, "", "
          " ], - tr: [ 2, "", "
          " ], - td: [ 3, "", "
          " ], - - _default: [ 0, "", "" ] -}; - -// Support: IE9 -wrapMap.optgroup = wrapMap.option; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - - -function getAll( context, tag ) { - - // Support: IE9-11+ - // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret = typeof context.getElementsByTagName !== "undefined" ? - context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== "undefined" ? - context.querySelectorAll( tag || "*" ) : - []; - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], ret ) : - ret; -} - - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - dataPriv.set( - elems[ i ], - "globalEval", - !refElements || dataPriv.get( refElements[ i ], "globalEval" ) - ); - } -} - - -var rhtml = /<|&#?\w+;/; - -function buildFragment( elems, context, scripts, selection, ignored ) { - var elem, tmp, tag, wrap, contains, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - - // Support: Android<4.1, PhantomJS<2 - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: Android<4.1, PhantomJS<2 - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( ( elem = nodes[ i++ ] ) ) { - - // Skip elements already in the context collection (trac-4087) - if ( selection && jQuery.inArray( elem, selection ) > -1 ) { - if ( ignored ) { - ignored.push( elem ); - } - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( ( elem = tmp[ j++ ] ) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; -} - - -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0-4.3, Safari<=5.1 - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Safari<=5.1, Android<4.2 - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<=11+ - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; -} )(); - - -var - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -// Support: IE9 -// See #13393 for more info -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -function on( elem, types, selector, data, fn, one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - on( elem, type, selector, data, types[ type ], one ); - } - return elem; - } - - if ( data == null && fn == null ) { - - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return elem.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - } ); -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.get( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !( events = elemData.events ) ) { - events = elemData.events = {}; - } - if ( !( eventHandle = elemData.handle ) ) { - eventHandle = elemData.handle = function( e ) { - - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend( { - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join( "." ) - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !( handlers = events[ type ] ) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || - special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); - - if ( !elemData || !( events = elemData.events ) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[ 2 ] && - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || - selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || - special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove data and the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - dataPriv.remove( elem, "handle events" ); - } - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, j, ret, matched, handleObj, - handlerQueue = [], - args = slice.call( arguments ), - handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[ 0 ] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( ( handleObj = matched.handlers[ j++ ] ) && - !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or 2) have namespace(s) - // a subset or equal to those in the bound event (both can have no namespace). - if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || - handleObj.handler ).apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( ( event.result = ret ) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, matches, sel, handleObj, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Support (at least): Chrome, IE9 - // Find delegate handlers - // Black-hole SVG instance trees (#13180) - // - // Support: Firefox<=42+ - // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) - if ( delegateCount && cur.nodeType && - ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) > -1 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push( { elem: cur, handlers: matches } ); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); - } - - return handlerQueue; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " + - "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split( " " ), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: ( "button buttons clientX clientY offsetX offsetY pageX pageY " + - "screenX screenY toElement" ).split( " " ), - filter: function( event, original ) { - var eventDoc, doc, body, - button = original.button; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + - ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + - ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: Cordova 2.5 (WebKit) (#13255) - // All events should have a target; Cordova deviceready doesn't - if ( !event.target ) { - event.target = document; - } - - // Support: Safari 6.0+, Chrome<28 - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - special: { - load: { - - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - focus: { - - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - this.focus(); - return false; - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - click: { - - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { - this.click(); - return false; - } - }, - - // For cross-browser consistency, don't fire native .click() on links - _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - } -}; - -jQuery.removeEvent = function( elem, type, handle ) { - - // This "if" is needed for plain objects - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle ); - } -}; - -jQuery.Event = function( src, props ) { - - // Allow instantiation without the 'new' keyword - if ( !( this instanceof jQuery.Event ) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - - // Support: Android<4.0 - src.returnValue === false ? - returnTrue : - returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - constructor: jQuery.Event, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -// so that event delegation works in jQuery. -// Do the same for pointerenter/pointerleave and pointerover/pointerout -// -// Support: Safari 7 only -// Safari sends mouseenter too often; see: -// https://code.google.com/p/chromium/issues/detail?id=470258 -// for the description of the bug (it existed in older Chrome versions as well). -jQuery.each( { - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mouseenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -} ); - -jQuery.fn.extend( { - on: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn ); - }, - one: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? - handleObj.origType + "." + handleObj.namespace : - handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each( function() { - jQuery.event.remove( this, types, fn, selector ); - } ); - } -} ); - - -var - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, - - // Support: IE 10-11, Edge 10240+ - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /\s*$/g; - -function manipulationTarget( elem, content ) { - if ( jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { - - return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; - } - - return elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - - if ( match ) { - elem.type = match[ 1 ]; - } else { - elem.removeAttribute( "type" ); - } - - return elem; -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.access( src ); - pdataCur = dataPriv.set( dest, pdataOld ); - events = pdataOld.events; - - if ( events ) { - delete pdataCur.handle; - pdataCur.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( dataUser.hasData( src ) ) { - udataOld = dataUser.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - dataUser.set( dest, udataCur ); - } -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -function domManip( collection, args, callback, ignored ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = collection.length, - iNoClone = l - 1, - value = args[ 0 ], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return collection.each( function( index ) { - var self = collection.eq( index ); - if ( isFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - domManip( self, args, callback, ignored ); - } ); - } - - if ( l ) { - fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - // Require either new content or an interest in ignored elements to invoke the callback - if ( first || ignored ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item - // instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - - // Support: Android<4.1, PhantomJS<2 - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( collection[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !dataPriv.access( node, "globalEval" ) && - jQuery.contains( doc, node ) ) { - - if ( node.src ) { - - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); - } - } - } - } - } - } - - return collection; -} - -function remove( elem, selector, keepData ) { - var node, - nodes = selector ? jQuery.filter( selector, elem ) : elem, - i = 0; - - for ( ; ( node = nodes[ i ] ) != null; i++ ) { - if ( !keepData && node.nodeType === 1 ) { - jQuery.cleanData( getAll( node ) ); - } - - if ( node.parentNode ) { - if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { - setGlobalEval( getAll( node, "script" ) ); - } - node.parentNode.removeChild( node ); - } - } - - return elem; -} - -jQuery.extend( { - htmlPrefilter: function( html ) { - return html.replace( rxhtmlTag, "<$1>" ); - }, - - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = jQuery.contains( elem.ownerDocument, elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - cleanData: function( elems ) { - var data, elem, type, - special = jQuery.event.special, - i = 0; - - for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { - if ( acceptData( elem ) ) { - if ( ( data = elem[ dataPriv.expando ] ) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Support: Chrome <= 35-45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataPriv.expando ] = undefined; - } - if ( elem[ dataUser.expando ] ) { - - // Support: Chrome <= 35-45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataUser.expando ] = undefined; - } - } - } - } -} ); - -jQuery.fn.extend( { - - // Keep domManip exposed until 3.0 (gh-2225) - domManip: domManip, - - detach: function( selector ) { - return remove( this, selector, true ); - }, - - remove: function( selector ) { - return remove( this, selector ); - }, - - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each( function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - } ); - }, null, value, arguments.length ); - }, - - append: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - } ); - }, - - prepend: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - } ); - }, - - before: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - } ); - }, - - after: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - } ); - }, - - empty: function() { - var elem, - i = 0; - - for ( ; ( elem = this[ i ] ) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - } ); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = jQuery.htmlPrefilter( value ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch ( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var ignored = []; - - // Make the changes, replacing each non-ignored context element with the new content - return domManip( this, arguments, function( elem ) { - var parent = this.parentNode; - - if ( jQuery.inArray( this, ignored ) < 0 ) { - jQuery.cleanData( getAll( this ) ); - if ( parent ) { - parent.replaceChild( elem, this ); - } - } - - // Force callback invocation - }, ignored ); - } -} ); - -jQuery.each( { - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: QtWebKit - // .get() because push.apply(_, arraylike) throws - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -} ); - - -var iframe, - elemdisplay = { - - // Support: Firefox - // We have to pre-define these values for FF (#10227) - HTML: "block", - BODY: "block" - }; - -/** - * Retrieve the actual display of a element - * @param {String} name nodeName of the element - * @param {Object} doc Document object - */ - -// Called only from within defaultDisplay -function actualDisplay( name, doc ) { - var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - display = jQuery.css( elem[ 0 ], "display" ); - - // We don't have any data stored on the element, - // so use "detach" method as fast way to get rid of the element - elem.detach(); - - return display; -} - -/** - * Try to determine the default display value of an element - * @param {String} nodeName - */ -function defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - - // Use the already-created iframe if possible - iframe = ( iframe || jQuery( "

XgE^t@Cmam`z2U?Y{sRf=WeT>@5=bO+(G!fX! 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≈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%0Ae+WwcS7foQf#l(zHClC*~-oEGbH zN{cZ}RPfEPg5iV@ktzfb>b@XiU_3MlbF$5y|kzU8FT@bf}Rk=QN3$@++cskoT4Z zc83SFaO)f^h*HF;e%)rBuIoW&t07a&l4>4|?JG8|VxujLDx?g@Y6I{+A6lMPDh zMCgF&E*f`;`(X%9n{w8O#|6GbtJPKr&{VYt#p_W2;y(6+W4Ro7g^YkYFwT3ayMXhu z$RFOVxCh_gS;fAf3Z@dPxFM!k7XVX)Djr@SZdBlpqUv z5ojI60xXJNNjJ8evk{=NULJteWx1V1S7D~%ewK*>h|VU)G2XqX>W+o#&=7^+tNZUo zUcUwR<>FL8-dkObd(!-{^h>-+H7jE?W}^Z!%^aMjm;c@c!sVQa)I>nl9LPXG>L zxH7uaR4@#gepC2doI+p;IQlj$3(9P;L@&5|?f!hZ&|Nnwc}Y>70982=;amb?+^dKG zj7TX9Z*{tUscO)(di_yo6y3Byp0ZTWiJ85VwWr@1QGj*l6Or6{M)DpKKiVnG(aW_W z8q41=Ue#*JcrRB__5glaZNJ8Gac!5resK>cUVLzMZRB_9q>4+8i=?7CA35-u&dY`G z8+%&A68!=kPwD_QM_QCz)y2+zP=rn>*?#kZ3c%d%0PMf0WuozrPW3t&qnEh*#FZ>^`3o!rCog%cO8(+?gy0%vtiaRhF`dt} z@jIf_MRav$x5nPeP8UjqTrwxTFwJVHNTlpt7B)ZP#dQ)JU9ZLq-+`Z5FZ0RkZ)fo9 zr~1Vk30g=~uy1?K=Q=+MyWx$+0^9}*Wg&~e5qg{-ftAna0kg!6CZo3W0MG3PHwCH( zZ0p)O%bVB*?eM!C%;Y(M`5_C;_HDwp9!1%e3~LmFa-?B3tV&v~%KjUGUAEW@I;Ai_ z81~;MTi6uBA`FOfL$+=IIDYr#{1^YrKmW)7=->Ol{ zb;`|kEMLAp=bAr%+QQ%rE>vpX_Rm z$H(^e);PZ}wpHh_8U#VL{ru(Y?fdU6+s#RIS!^BK?UQ<_`F;@*1p&_&V=eAIGapxWZ(_Zr$c?v@CWG1?HfqwgeGJ3uW9rc@b|Y|gkrt|tsDOLvSI ztDQ~zT5?2{o|C7P6S&VLq+`TblQGdVWwT(yXq04e9wZ5897*Q}i)kF?cRwFWgN0Na3j1V(VQ@AdJOaI?s3b>c@E1nJ7VBev{Olja(vfyHVZ-dvN?zz&K|a9V-*n`SQati#D}><@^`WeIpc zsm!x{;jC%1s{)E{ys^qXAMzN4 z>~46CpMzDDc*tbTv&~l4wR6O@Y$cE-gfELI%)gr+G@mDost7Y8n&T>&k+a>k6hscE z;+XYPEG>3jA@_-EglM!w8oa#5Si2ENQdyKL}SCF*jy|W0hm$K(Q<$Z;d ztgX45?L45BjZ8O5&_P0v;j&Q~#80J)xCc!k=qyu5XX0rKufmb-oZ3S1-2qBXgp*(c z>136rcv7Nfiw^MSacoevX6*~iyV3TCikQXoF0ZfRs|$rmdb-II)V9$orNp#T{jI}D z3yrrm-k>Z_oXrM2Ac5pUycCKmhiy2k-9{2kX_Gb{hwVZGb*=#Y^%Ls+A!kek7#ja( zZ`u`*qT1Wpv0^J9bLFK%YJKZ`;euTa`)I_x*;a&sKx`}k^CzZJcKJIwmxw14xDWu-Hp~fGq*3`a?Cm>`2dGfQ zMGSQwNwsECg_Gy}cJwI_U?K^qgrMzcknG#K!faGW&30+Z{IiTfQ6u9tyWL7V&O6Zp zWCBx#N7pxUoEPUSqeo=tNYWNjqB;HK1Y9AbWwWT zdToyqchzJ;?I^IGjKz+2&Ep^Sv@iuvCZ%%>ge8kJ7f9)4Ykqp$x&rwMP6)i~i`|xO zjvX516!#rxG5SRL3+kIaj5BlHbh<9^NzR;iloe2m7?_*FkQj;3u+||}q*WT9kqGY04E2|3PlE=|bj^HgsE-qJui9;hMapOA&WDr4~ z0O=Ond+8-YV+|3i=~-LYj-SXwD@*@-U?r3jXG4hKlZamcDViOnkcamQsvF?u#D!Z- zXQxYZMh@&^+ST(DVpZsm^%;fNp}&>&vjQcYY2w&MO%@U=flI4 z19T8yYswzSH1dbu1?5YEt5~{-h2J4UgKOG>;l;r+ew&W#=z{rJin0I(Cj?+4v|T7r+|41Eo56xKe2ckFS?~gUikt>H(u`I` z7llM5J9Mnns7Mkm2afel?HZ0ijp1PRL|pqVatMvtA7&lE5Ir2{s-l}r$yF#M42Cth z3*D>gVOpL1>t283A^}Vv>SvdRm8tx#d?x+rEF?`+pA)a2EUOD$OZf%HVY#H)*=frb zr-{8FphWL3z~ouQ|6H|H7;b*Loai?H9LGwqD5+~m#a#-8ffhp}u9pehCC<&em(hjI z_1a=^%QzQ!UZv!`%Cgq)j5NPA8S_$|N~LtN{srkmoQjq4J?&4-1 z)B?k(0%w?hg*3?Wj#JrM+z&Ymy{d$ZY$TUUtTg@c=`o3do|1b-vO$c?#>cW7k$4kw z@j5KdgVQy>O z9Ydj~qcVDkFYiu`TP_|FeJa$A9#H{>y)9G4#zoqdtJ$Kphd84|RTaYMmHZ z$Z{_ylVa&M$v@UAsi?e7-g9=vilhB_qXTc@(ld{9HMV#0<~nU61D@^)^YKcjG7)*wX(WIH^yT8;abIQ1{* zq)Eq!<@vM}r9M9X;>RDq@K|Zj1zQ1g-cV?9d7Faq!BeZXslwp9Rc|uIxPo^OU!Kf?QafOb8 zU65$au)vUJsVH3{78bA$72e50HYyNK8Dmu5#P(F1si7>;B2<5lKvI{HT4cU42+(jk zGMobA19 z5QmmPh|N|qy%K?yvGip4=^e1wx6xFyZYQV3-M6j3x1?6_cu zBYRbuex8)gqRh?e02kY`hD=4;q^2i=AOY}NG=WE0PFZx6CWfA$%k-F) zkDj|;XRBpMx8WoW>NkM;;ixfIzP-p(fbB`8yqL~FN^-WB zQFbKo+m`R2;;k%uf-|hWWKbCKQ@U<3`vp8r$!+7&hJee~QX>eplJn4$++#Je&K$jB#N^9Fws+(T_d_INVB6Jg`lK@ zG9@Db77DYgq$9ZRPO+r^AACe|e662O7jq z@e`#kq6X}~-Q&IhF!S{*VznVs>A)x)Ms6{fQt%z&$)>aidzOmh=uW8#%F;OZHE#1D zFYw?*ALl#^eJm?rUUtB&w4cIE&M2WrWEDfRr+ign-WyKvwx(NH=^04R%2KHEPAgUQ z_I9kc^tJDSDv{lY?$4o}_r%O+Db@ zo8cUJw$pAzgDiWSdF_yw4(Du&l*uw~aB8uw2v~mE4`Z@%A^nW_G={ji7X;$M@efKE zPKXSby29}pj+Yj=*?nr@h*KW~!!gpjRney~fMa^0u(62cW83%9kFO{g+RB|@&wjLX zN-{**H6qE_5*z~tDJd$j>NmSsL>7jfz^)C%koiD0czFwJThDO>n4q`GnKa!66pqgYq? zToKUhO@BW~;^P?L%4oQ;2(^d+1x-O=+JsYNV7pX$Cg2-r7*8DDgJ5DV1X>D=sUx2o zsT}7~*dL3cEQYW&8Ax=7gJ<0$%r7gqEGbTUw%ZmrmK8%6@GZB1(*eqm){-a%{fJ`9 z3hGm47(oOuR7j$0Fg(C5M7J5dKCWam?R6h{-eh|L^GcjiaOowBA{o`{OU5jag*(b9=`0brLt&-#En@r^JO+y^2= z=C~9>D@QAdTR>m(Y*cg5YO+@Jm{`TdSyj&m2O5KzJg7cHWWjA*CQ%D((`->tuj8VN zD=ufU9;umZ1fS9QmTwgyco{D}8^uWE*A*hVJlrEEQSFR;SY=zfHFZwnvu4W8aIs9_ zfWI$jhJ(@AAej&KN7#(mi%fAJZ4N7iw-EZS5)i|v6K!+*O2`&wFR)FWBqz}`Ts2x5 zUy$ihe0zx-98{71?yRJvNI{;mWHq(|Fz)}YHis=Y;zmue&y_-8B4H|VMng!;kEap` zvC(ozGaxR{lwpp9COn2{(sal7=|xGlqtoIilAD!G0riGs5QtFMTw@~f&RH!MKy^0C zTXmK^mC+nWzym;Gn^}0Hk3dR-b|4z&?v2UdWEWC|9XS2leO&5x_(lgvC{{b9{5LV+eT(lkIPxE+7T= zH2UY*UkNIL(K8MqzI3Lxx*#bZz|~{bMYgB&kr%O>=QkF)wEvZw^pbpu0vGV$-D4|aK?UX8I>&c8 zuM)PZz0-xj^W}+{y$9pdF)V*mLdl1ly>KkauoGjR7yZ1u`dF-LeOcVt2bQ$nO2Ncs zg{r<$y18CnXdU~3`oOb*pXB8s*$$`W45B;&S?vfY3f_Z$eydP_gK0EhqAZwsw`N}M zof6SYXy57lsVi3}iKVKoe{h5YUpB+)76t|ygg<(-u;)0jC+D7rY7C1~ib9_^O$$<|>+S|2W+6)m1HuZAH-jPapR z)uR_3xLL;W#GkB0Mk7_UU;g9A&!7MBkN(*|`EP$+A7}lz-}h9HP*2o)(6_fV|G=~| z+{i3|KVZ?eZsqMJ_fa%SwhbH!z^qS1Smh?pVnapK&c>QDO4WlNXo=K?TB|LVlFRvg zlBKpx8FM)%P)nSE;2wA9kJV{mrspi`c^rOu5d1AdC56Q!$zd zd*f_(oKG1>%uvoPEY47M@O*sz^7CK*?#E|D;l*zEuirl1*TO+dD49Z%fE0KdHz(>R zstR^p?U}bi!@dRyD;hAGWMT!i4w63e$4@`~tM{KV9G8p6oK_Br%U+D0f(yomIlct0 zCQn@&T}b%=k3q{FHo#9HaW9rY!T4u+bV51?N7x5^c`(9TiF-gmNGD)gS77v>9c~PDEB#z z4WLfB2sjYQYDD0~3Tc{4UNU%a;4E1_JL1v+Od{AnC5NEh8 z+0nq%iYAF9SQ5LGEj+3b?F7P1HhVa!#P7fV)$usKJf86aNMCk85Rf5OXU#q{CTFg+ zq-!j83^#6#Qjkyx5NW%DIu*tXg1kQ3a2)`P(kQ29gyvXsj{{^M+r^OD%6H7}z%+ihdn(wAMA7OK$?m`$(0m!I5%Qn^Gzw5ufVjtbRsL zdtCA+G#ff??uJZ?#BpPGt0BbX)zu+8K9&I{AdJA)gIz;=y@t|-9D&*QDF>1WUUzcP9=%E$^wELy#yBN z7G}z5`%Dr(wRnSPj&hR3UR)%*CIpXD){zUCHeD$71|Pc(ZV!&U<9z{mGBhtk#hgcT0 zbQDACXa@rw zAc2-F^BI~&uN0_e3{OY0Xi2UnX&Px4u1wPyJm^2{P21uvg}p{-wmr>K3;^tiUD#te zj`8S^qv1;9$JYnutDw({0M!x>f|=~It}Cp}s1XC6D0tS2Rmyx7!@g7r!JH8jC2%>+ z(7v&R3KbsCNYtI{v-MQxl>Za?T5VuKjMpQB+iqO3ev^u+nM zRQ6T!qC<-^FN71jJ)UmwP_i5Qob9VUke2L8)#cp5{>-d6Ln&D!dplqp^mz3Od5F84 z7G7hb^rm|cEbdJ`C5F*}JL_HC3(1l~H4dz$Cb(wjThwo?tx`-6c3GDmk6|q+B;=Ue z5`>>Q@C?Jk*cAvI>UL0DD;7>RmL<{(bK|e&Cc- zB4e6wL?b9a(tHe|#loo^ETJJh#Q#s#yX@MMWm!VDUS@lrbKS3JWaOigB1@=*D5XG% z22BvE4h`D0Y0#m;U+@X=4|I!1vzpMSK?w&EqS_QP!1T62y$9@q>B71jNC(gzl`i|r_Ia*gvP+zZk(NT8Yv^zy7r$d2@l{!!0k zRHjIdz17U;suGxMGaSUYP!0CduMke+xq+@;3zb>@INJTYbSv0lQnHQJDhxDCD0IZx zr^*IVuesPhd7?!`f%5hCYAfxQ5Om5-5DQpRMerMK$87u2I;zYQ1Vf-8{717CXzS21 zf_sCBU3Aj2PT%RzA)d{SX(GLG)+wYC3l_3J*$-ffKO{_xl(1$uG1o2MN2&v=V?HnmX=}VsBjVE+uA7(WQM# zTpuA`V;CO2(h2EIiLjJzo2K(b17i>Hn-mnIP9={vDMfaOu|X&kHaoS*5|^Y`tAy;v zB3%R?KXO6P0oY|11Qs@!yPYdoE*$g2ivzU#5RR_sQBknT)Lxph2iY<#QZFHw+qFs(Nm(QO4tR05oE{+5=SFWJyUsIjgQ&MX??^nNqXHDd^*|IM=?ttRtWT&Le1Z}k zk`}6Qz-Y3K##U9@p!SqGHeHdS>1sj&$P$h?5&*_xXvi21o#kRis2R{8hZ)yXGYK4? zd`w_YIe6(+KZ%bwWphS}9<>fC_U%5E0atgsXFEthTmZCJg9r$9K!9snxiREIpVt0{ z5$t>%7A`H@3P3+6xq#ZGNNNeZo0t``P{Bq5@ZzTe$_omv2qsUdomg1nwKMrd!)?+B z-8q}eb-WCMj}u427?>*q9sECt`;_d+zIR?mY*yZE8zpnx-RxVJOcNgODAKYHPPGCO z6^c?Zr6^1YC@sv5vu6$_IpSjzfyAg)*5vFPp%`G2apo^7axf{poj`gdq1)GqRU8<^ zvX4TuhqGWsiaPlUwtLtzG$npR{(S;lgfwRKuU-sN4{6+g(z z$qlDVX8UEU*`B^oFlYo(3r>xQF0oPpB7lG~Fq}bkbcWyrOHL6kh>%VWAh!yKtqjeR zn{&TxE2`5-7eZ8S%}RWB&;WDBPlxD8%JY~WI=3)eV3K95--RW`gYj+?K%uM*5IB9h zm%>urXW)7H0*~Dxwn5Z8G=~&rcI>G#$EPLqq(O&E?am7{yi9}zbE9@9RWq&bb+8be zwGaQ{Od>Q*X!z3I(sy1ta^0O+@R6bie1po`;r~SMj*Djx|M|(! zb!zR$8c?udyz(3KbpfN_ARs0?Kfnnz`P}_2A}0!h)H|1!jJySQ%j3dz0P(sP@tQr% z3y)r|B+2T?vKu!OCC|lyS~xNvZhfxsz{2G%J8WkV6YNgYUqRo+Z9pzwwjgf@c|RPP zFC%HWZ`(yXe!J{HUxv=XWzmew^QToq5nuVyooANI?8VK^7oSpSJXad;{PmSSP5KxX2?nJ=-J!0h9nc z4v9gahs!K8aAz?Z2crPgqLG)!`}t4*qyOOF{*(LLum7*_*UhR*I5MV`8E%XzIMRkr z6h{rk$N9;d8tlzP+ek-ZP_T5%CSKneZOWRN!vb{bM zt;6Urg|Z$_A~2O%r;r&m$kY^J<_?XRmDG0FACLWa=YixM#7+ScCyFCoI*)RQDV5K> ztT*g13UIrT`ATP4TN`WFgb>IOTuag4B7*~XYioxUDg{FIeubh_*J$4diFt8bxX-tR zlx85DHQ4{*3+=T%_rBh;crKYrYO>o=A`sqf98t#x7Fq-jakedQg((h=t~43^kW4%U zh+N|+5vB%E=vfH_J?Vqq9VPhuz&#LTV*pR3V~@4kpYH40&*REE4i~5%=zhnHZ+6f^5^aqt z6r7%OlRnizZ&kXZYe=4)OH+=i3?$g8(ibx_*+!`NB?19mZ!$nhp)z0|Q{4!*A7WDQ zb|7uQp&t2Awr3%eZ3gAT+uzc$1+bOXz3eqY*)kIou{et@&f3Ae32h%^jbf{+9}2|P z6uE+HoVkBaY!P{(->C;;^G54fkBrLP=4F1^ zO4GAtrRBF+g8+$9_>%kEkQvl87Vy=mMH@JxSU4TwMkL(~Kpdv_@TQ}`RmL5cBC)E# z#lVu@O|63@xA;*ro1#@m{*FDGD!|Y!%l^9`ak~aFaNDy{OJ$(?|yqc z{2MTRk%k-n=uqFHD`&7lV4HwWxgMNzz{B4zj#c9`$?Iw`+curNwDaT)BFSe?lqz}O zVlPUOM;aC=TpVn7xUIK)dM#nwFvu(myi7|3Y1JKB6}IEa4F#l`=Er0^(OXK=nAdNy~vm9%z?(Rc@xF z(;=t;O(I5i9smzx0-)c7F6oN`r`-U{S>#Zn;J0V96&e9Swd|8i`^XjZQAn8rXZnDR zv39^UY(&XuSd_#gl&FsFC$WT4v5x5PAI4U!T(s+G`}~PfT+r@^4I4=fJ2|ZJgvuK2 z8@@^`JdWU_dn?!haNq6Y3B;vYy7kqxn71eGB#DueTrYHWt$`y50>;#s zqJ@pLrf!gY$<_m30gl%c;;f~3s9ID*!^tA7gdNAiMz!hNq7-wdWwZTB+1_nHE&p@a`Tam;!I8nq{9!C#tFq%Efw2cCr+rIBxJ$_g=tb=$X z1I%8#QeK!T{7HqB@k*a<^EtL01r` z>>#Gq8o2M_322Z(iHI?|0{520937CXZ7;W~>ws|rtyF;`)DYHNT(K48!pUr9sh0?e z+O>uKh*kC&{tN=B;3tXkC+kxrA$AP*p}V(p)y~2v`hDz*rH3d4jK2$m#TI#WFJpSj|=NfFy+frogH9lz6gc{5jWC3OF$~@z(;2RZ& zxsAF4Tc|`2p=ARt9ZyYFrAb%FutlYvK+h6k&yw8b*^4c^l@%h0y3&(H6;I=MK$Q^3 z<5Nsm@!##Tp=&^oh|;=(ohwJbi2&h+<0V-51C>W@g9CJ-L=sZUMAo*_k{Lk|q4@wB z+7tnW$z)O}Ft=%*)`EBk-SpXUkQ~cul3{r?>;x4Yl|_E+k*^$bqO3#1<9nrM69~2?NrJ34cCm@Of@^{d;AjRy zDT%F8v=-4Fq9oN`=nUToS0L(fa=kKgQ!$S#2d-0&O&(c0H1p-xWb{I%2`Oa&7a7?Z z*eGwH1DND4PYN%&i4D0!L^)}s*2IMoj6eC<5{uOrXi^lSQno!1L;yPV+xlDq55Nf& z*$solF;*Q`bWBp$7aDlLb(JPxjJ3wImGTXC?!OPz-}$l( z7NeOb9h&bq0yjEG(}I8Zi+dX{=VE<6j6B`L z7ud()M#;hrg-Sa?wUA4AL2Phmt|TUtj434D%_ZztR)^%E6x{H==H<>ThX>e4ba$n2 zLyzrp4VG~M0kv`?+BiJGt&ny~5)=NWaW7}A))m&bPz-1t0g0&G)t#E%`vu|6%ftEv zo~vPi+(?9Fe~`o#XpeILl4}X>7onS7H)+xI@c`qvIJKFhSO(3J;X6285Yb9`hRT7| zvUVYuzIAbWtlLM>g1J5YeT8GnkK1|iA6aw3t*d2FtIt1%Glk^`k}fn{|Lz~A9K#9M z2w5)JSRH~KSJGX)fcp!!c5jEk5wPy##dMw@<}eIG9NF2pV>oc(-rUtK{5k&lFxFnKw+1a**E#yP6WEO@R1y8ol@Rmt zIq^F+!L~;J%>CK~qu-9jiGlJ`^qc+>DEg5zNmrjd-tP0T!%QAZNp7$@*WqPpSFgR4 z^gdC9Cw>r6C;9rN*alvaP%x}=PiT)qJOS2r2DCCI8u@gCB4C{McJ^4I*e`QWN*l9E z9fSiHF(zRV&}hx(O8gYa$rk?xE{_FDX9P|h{j?L|Pk#8?A8+%W*-c36=GYV^>_8r#pDL-`?$%Ll_kH^LBRT!}Ih+ z_<7y$nZ6L#pO@TEj`S(LqIoJ1g+Tv_x4-|{8tm6EFAVrv*jFtYKgV(QRx>OJW?omelf%9U6NZO#I|zLo&vVDJPm|)}7ucFn6Uc``z$J}4lTKjk zhS%E{oH_7)K1I~f9x~bL#m=f2ojuO{x8MEvcGP)G^m>~x@USK*Z(>xyx(&@pVANTr zr73b~&rvr_o1u#Bmupd?ZV8kfLNb{}8;MdG=jmBB;*6ewMliBKW5*J0QJY{ZO(?lqEJz;+rG^OrLV+rnHqT!F*4{|mg$$f9~TVug#b@6}# z9+|9JYJDY{0F_}Jotv*RT-ttj-ROt&{;+#l&r?^sY&mw?XQy;b2+$?C0lzg|G>+-b z?+}lNi%;GZcmhcc!J>5`(|HPB zA;YEu%fJ&yPtZVvAp3Rj4VnV_7_XfH#EmW?9>u9aw}b4`84G4+$N|b(Csty3HwA%F z5io9-zsw6l#kYaSN`_}olzIIkYtltL5s9Zg`f-YH$%}zH99QZ6Ji_a?JdXB6ph!Xj z;!Sf11dd349RzUj3rKmx>ram0Bp(&rX)Ezr)`9(L8)BLgU!y6tM+PI+E+s?|jh)*& zx){4rkjcOo2(g^OLs^izL>AV3*a1Z8<-^wB$+i`nETsAHZ!NgCiku;Qh@(1(8y_gU zqz4)_`!*wQ>9w|l6FOXz)$U};nCOmiv8gJd3p(P%Lzy-kjS0h9;5j$Xv^+cd>kV|8 z1jcF!_ie?ULR*S3Ry31j>C0!-^SmeZps*tdCj#!{hK3mCmW{g;PZY{R=iGu22msugg)u0 zXPE^9aRy?bfElQeCQt@oodwpQ0n~Kx*%}LErT(Z&SrbsOh?0G-B=rKin~sJhVE2F&_7Z8OML zYa;5A0)QdHeK-N;q;{U9R{_|XC%ngl{pWq}&;Il5FR}fweuup=xt_d;w~&EgV|-W0 zmf^kzTpsNN+@Y3`6}(2reH`Id3~u)0Q(jiMu^?~@uq3}9;AX&MlTnAK2#P_RC$pGQ z52Gg}yBcey(xipcLHIm^Y`3_(t2Xh1f^eaGJ5J~fkdZzmq&UI`Y|7ULBBiHY(9`xZ z2-P4@nTW-N?hsH>74@4l_xAddUSD3e_ z)k!vDRIA6zTiSFyJG5w4SA`>1e5V#QxQ4`isHlL(Qy6xJbO;hrCXRx88 zLPP~qOr7&M5|NH_xkQmkly;znh;{CCp_T)Fl0}(@&yzW`X!e{p%?dykA=p?%eC_c3 znhB6f)lmAZXPP8&f}Yhq`VVJGa$0np?gqzby~&;}3l!!pp#xeD)DR`4TgWs3KS030 z-u5Q6XK=1tq#8h8ItCqRTEN*Z=ed=w@*PhE5uRVxjofq`xWYzp@u5CpPeZvO2=^qF zqxoUMt!z*>GN5-u8H&Rxa)hoB4}jhPqfww@n^41sIZ=*Qe=Ch#yqQe2)lTE))XP8zVv87RGkAU-e9rEqjQf8~`;}Ts(p!T%27#2q3PJJnup~y5%UD5p;ZPuQCS` zN(AG4oa4RHP7&z)WC9k-rm|We8hGg-yrPrZ;2Vj{Bcx~Yl3^IWxDq0*2@`HG_|R0z zcBWvHNL8jMe4K%&kcCCMxm?-lM9|=z&kcHkb5z=3E5l_Md@u)$zBU0HU{gdg}Z!{g+ndL@!!vEz<7Bw=r6P5Ty8r%9Ek>O7d<#G7h+hKj|9ABmkW=Z zlriy>(6NNPQ9+r@g**nwk!3g_Y&4Q6k}k66y#7+S@IoLm-~A2|M!to$)C z94_oq$fm4C#G-xvboooPi%fbM6RRiFieiq4yB-I+QFj^Urpx7HxjLcgOkQBt&3W9? zc#?CYygjwgwzr{Vo1Hv|ui}3FLC%Ucjx1mDcKNyi_e!TT_xypCtBP3J& z^b|g+)*?jPvO&SXzj5e|6m{6YoS);Lz$KAB7M_L~yi*{XZ9uCX7e1Vy1U6B)978&z zL@(!)UgbE13sPQyT-z_&AN1Aw`RQ7&wb3t%H~1Bobvs8#xA}Ghx@N~-5~_l^Bxry* ze>Vya>==Dn(!2G*6HbQ2Y&zy9On9>$`z6Ec$Ie_UemZBOJSqUwP)vl&UeD7y_4R(s z?&HjvJ=O8nEL)wm0eTsn2ip%bwII4}YzGj5NGmIDPaM0c^<4?JNUKkeb?g|BGKFbD zQw`ck!z7?0)ShxfJK6W+VTbtf{v1Di$*(sJ5W>2?+%e5M_kHFq-e1c1ujLm%^tbo% zJgnw#-+tVG{B1dH`E6-iZ?}6z9wQlcRQrM`VGY;OP~6n^)BAaUdHKa3e9w&1J8Gcg zQ~?Sg4J8x8m$v&0jsyFan_adSN!H*|*!I`gFM+IN*ithv(;g&5nAO(b-+un_=iBS+ zdcSL~!HudR8O*+{_1<<$#ZaTbM2dl%+8*~i2`_YRSsAAjL5?aCt>$X7uw2va|CzGM8e4xMg)wNsTEJE9MHAMPl9(?H*1|jcL}GoOlaYLZ^(J z1QVe;jIFFUy1^!H@aN)UDSXJY&TzSpF??f?S_cg%6$?Nxkpg0y8Z?tp2)sHnc(M~6 zBMHE|)(Qm}xfe{Xp&hKMB6ipEsm&-dc`C4#rw$L@7K{^fmanYciB3ZaPcW1=2*GuT z7taCIb^EXPTq?u>o5&x80-5|u@J&6*gR3Yq7mq1=s0q^&T>VM*#hMhqRPU`0gH5+QopJFpy8BAIm3R^biuICz z0f}eqA=esCEZzV(w7}H|o>lmD2pGFOA#QP-GTvDzNFXV5da41o{8Jv#91GE)Pcvj7 zNKB-0kL|*&(J8Gmxj~&U9SvIP8jNN?LM1c$AOG2({gZ$E@BG!{U;OGft=Pus6JJ;m zq3EZ2hJGy8HJ($OgY_rp!F;j_U*L|9aVJTTr7A`p8w%$WGt@{B2b4dI`leLxoPFfX zXr*kQA6s}qO$WBDed}8HPLlL-Vg>EE7xr+R&}@&akV&eY@nA}cF41fAvKG%@NoyZF z_&2Pk@U((d%J5A2gNJZi;f!;TP(}LDydjbcrFiQ3mLbUO0@ATutSto&T90A70I~{m z*w(mND~tUXfc?%L^F}K$J2#1{Y0|(|+W9QnZ(HF4kQI{Xl5|j1f_va~!D&^sy5DR8e$suB${jRN@_dKn%`DzbES)Zxh(n^)EXQIp1d_UWlJM=WX zDWZ{*x+>^y^cf}s= zD*HJJ&OIRjRSp&nwKCkhd0b#rNFxxMSnQ-t2wL0WqVac{QNvL_8-aoGF3+Ir$OB=`i! z54YwR9PeUlYM?#Ce@43OL94l_PEKT2EJs0aZ7K$ual}D_W&7Z;SHWWsm5?mCY!&uA zAA>rm3eK!;1n)4CjsIv;`s%7(32eNI#t?)J$X&#l=UqEcQt51FfEC z7Hf0JWb$hNOumKO+L_aO^?bD1YNPCv5qHX_(y{g)|HG<0L};b z0`5hYMWkJjM>}cP%Ha-P4rb0HfYgjUz&5*5+)s>>@q8rGoZ4{`M~7h(I(EA?%LBPX zWM1e@huo~e#_oK!^I6XU_iDPkbP5;K;%Q48{K}Ry0-H<2qnj$Yr3)t?yfbK<*Ca(F z2y+$uTUy*HCWLJi(p?|*DZ2x1zF?uQR-$9ShE0;~87Ge``(u*W14Za3z?@QhyHVz8D>#82n(3P5{ul_N&2T{ihSA{Lx~B{6J``*dn-x4LqxUsgaN;0&Ckh65Jwdg z!=}XH7)MF1%dXWrkykkrK{SY)j{1hqN?gyJX-3=7sL<*PTAcF=A@QIO9G{~SLdE^f zlGoYdJ0@$a%nZtt{RxfxNDBT8oT+S{DB+@M@{*BuN5LT7(NN1Wb{(+_N!Tt-1C#q` zBYS{$8mI%QuAq2n3bySh>k2x)cTr*CCnBd{8h#;_pnE?i_e2M>I$WtqHbI=|aN{}B z_z60oQO9v$+sMA0;1AP)h0P2YCCch#xk&8*s0!nj{%NUzotx7R^!q|zC!L9 zhl_(K^Q02LB&J0*hOiU1=VXD|s0iUHcm^kvFM;qeD~`zxCCc=R%>y_`;(CiqiW!v^ zahNUnCJ^N4xE8j-45H+`d}qIXS>fSbX|{-QjXO)wjEq=YL(Qi2Il1CG!C6^z;o|2e zhrJfkHfM1AU7fmPIFqyypMvWP9bm<<78$edm+ioi`?;gZ7*r|=ushvVJ{U@e370`Z zxbWf>ohR!E_`hxsvdEe_keeL*1CPt3V!6oL0{)`t&*a;t)oI$|a?0~Tj>|=VP8SZ& z7UK3DQ|YEchnx?Km`5VQT{g$jO*~`>7<4rzskqZo>2_S?V&wG#x|K~zq$3AUMh}o2 z2Ubfe&ZV8f-6w>Jj|==w*XROf#FydqGA?Tfm(cl`K`te_L~?<^I6-3u9&66Q=UhY{ z-y+D1TBkfl*|2DlU;#{b6yZ>kH#d@^UYu;6nA9YGy$S*UGf8CS?i^mdpfUgj`0B&h z3zl%r6_PtO>w=$8p#Noa>y;1Yc+-uh!5MwSe2SomORaw`d&Ls=i>vOh!|Pd}c#h!q z_2jJ?*AvRCD(<$3?Q$E}fC13bWZvfCN`jBaKW)nusPvh-8H9aYHr7~*v}jj+ik5d6 zzLRL(>KbB%u($yZ&xTunSl@Yuc$_Cq|1%hv9Mu7`grk;Ks zCEBcHDXF49&+ywOWB>pYd7Nx;`EHNnynTmGmWzaEH&{O77u}u3=i;s;OXaokE@890$ z?aQD4d;cyNQO6^Y%a5!?K*BdzO(nz(2B@W>yIud_>-zmy>j3DBch<)vgJ-Y-yg;}D z{zu)Pl>_Zw2= z`x!VbMv(*GWQ^A5bN}17x8I>xVS+^jH58FSfbtglqSA8;NX*Xeqmhoj&aI7YlbtMM zGb&0WJQ;}90q}R8&QPs826M!lkf|OmX>kU1(Puy8L&on?e? zfdhAqs>Qv5=$ueH+F-k_kH@!pjMs%xKvDMfZ0n-FiTjJ=+~&ZlGjy7C2SEIE2B*se z^GXKjHHjV+Jz;}dhg>`0eMVFlW+REI=z%@lASRy~V1DVym<;iOkLL-Y8kxC8cTfc&A$HqWn(VQyLu~{Z9=Ucd}zci10uPk zY(?-K2b~{gE9lMRF%CG3b_RkJLI(FQ8ray&q?1x=OTxXz2 z(m=L)${fc%-5@rnY#hxrx{OwxPr%Xu&KOkKSRYviS%J4~ugthrRDxiy(IhsfjxBs5 zx(`Snt_z%?O_qJ5Fq`dSG8@>j`vxc6wsq03NVo0+Eq6Rj|A5J>$WWgF*cX!!yXY%!WdGs3}E$StoZ!aEIf5^>DANMZxYIkU?d%7DE^0}4DGP@y34^R$0Y98p4< zNvLKT$})KL%H0RCV>nq0Ik*{suDwSR?wGfBR^-rGl`_t__v23s8t3v4>?Q7R{ zho_wF$mN7LdY6a+$HOw^i;v}Pk1B|Deex>6q#X8ZXr&6z6Wp`rMkqYbu==Wf{1(6`%v*(Q`y50vF~pAa#&XE1m(s12wk2S&dRE06};^+e7-G%2 z)%t1=J>>M{ga>#`9Z zZMQ;~L~mA420JiKLI@oz44N=^=9v^`lEaHggkP4y6ieZPsRU9rjsp(C-0T2ZcM|kS zh?it|B3aA?qbYde@N0!pI>R)lB6kKe?gtGb>7%4Mb5MJ0g`nh4ped2fB#@byCd?D< z65Ez>*2B66fnA|%2Te+=FUd=s3a1%mS6_#fZ2&Oap&LGm18hx=a#UvvP%o=AP1TJm zt#saC`Zyc0&d!mEU8y64L;o{hqq1dkL)u$`98|~?C(#tGO(I7)o>XoJ z#iy6D1qMnx{hJ4w9cM3jeb8v0y_Q>1bAX8YklRZFSF?5K+DIGcAOJOnQbw5(jk-r! z@sr5}WWLyjICd^S4<8GMQqC+spZ;b0#jCZ8DJT<)e{pG%#O1EdOZYVJCd%PN z^}PAt3lRTApLsjP6OZZgU`cKeA#SfI%tD-XoAQ-ZIe#x;FcY|^tk$8-6hCty#YUG2 z%p8{y#6>e_2kdyXj9bNsZ`JRGK1P1w)Pa0xfs^1Uip@^tr&Ebi5u6_@KLpoF6bvi-Rw1? z(PmTJUqyFZS2%6F5zWUu!uQ9{b#v->Lz*(GuK0J{MYSUq?j@AX71fH*W(x-lC)BAUWF z(=u1PZ=4ThyI>z^|AXKOA1ZFI`)VAE#@Rkc2{JsF&?OC74vz|vNH$XhEuk*`mKac)+wEdCngd!Xx6RLKcSlF0e*dL!?|G_`7;tI|S zLsMZ!KC^s5ZeoT_(~#hA1)rpz&sLwem)E@A0-=YMxwW{vwW<{+Ok-^|R3l%1_yT?) z2GWQ*DYumoR75&}T8^+k%l(GD#G^hdIv~)9Z;^(U%_`odW&5C%dnYBRSXKSg+v8t8 z_6A5JXw&5yuR7q4=UHZ=OK~JEzD9Sb!2UCKl!ke|!HNp#a^vWpdqv$xJ=S<@Z;!uz z|8{Qql@M4Zs}y`jTO=z)mKVr@#5OCBi&b-_ShZ8ssLZHVp&-r+AAqe!aUx-I>*K~m zO@iq0M7Ic6c(@(1+d@LUjvOpvUD+#3$5*dN5x{@bDn_~_e*{jF=EWXW-k1QCIvT4f zf&h8b{9+!dmNiB*FH~mZI_iPrdtfFizG$_dnPf_ppRN7zmjI_K!unG zNP7}>E{va6cR5tuvHM0NxhVUDXfJeGGneqgm;3wA{YRd00>uN=vr)`t`-b0r|GMw{ zVfPL@u|2`%1lWZ$_c)LJJXYAj+MzG5H>-*moQgq6ot};9q!m07Cb$_)?-g9!LkmNl zCd?%ro-|3+0Zlp)Cg5d|3kU%oPC6dbowa2r-MNgj{PU(bf*|X3ca}e99NXOF-Xa!eJe$Vxw6E!rn@m;C}ua;fdvk0>_&5;e(rVw?Atxh z2lehsgxk{cQDrL-cteOg@;#y2S2^0{KM4)7lmS>v@G}c-1ywXP`+#;*l+-ut$U(V7 z$U$0x)FF#)O(RNUN%P;Xc+4gWn;k&`5=Gm@(bCr@c%G-M67;g95Pzbq~e#jQI zGG&eV82zlUhXn+|)B)PEw&o&_M4*HeIb}H^Es2jhv;*932tiLfjewnj_dQQ(C-ns4 zekGE!0--3%6CmYx3%cpfb~!T8=*1SuO1p*?57i2#+O#uo zKPtz{(keoW)@TlEk9UQu1$GxeA(U6wC-vu9#oc@){2&R{?=|0p{IKp)ad zBV(kT(KbkCKguT2Hh{=scd8(WGXSZt8>~Rf1_i&JB6nL~#U9%F(w|#_tq;gYq5ugo zZE#{?ekVXzyFF(;X)g_$A>5yB9Rt;_&=XO3f;mUr$O1$z2Qkh?zUl<6knIe{21l>8 zwjn7o2<_-W-&wLUjG$Rn8rrnV%^nqy%4dJJbLE??`4&h}#Yr3E+VlQw=}rq24EF6o z2S6-0p#=93#xr1G0k`SFsXit_Wc9JCobqG=ybnM>BGp=B?=WGHLjCnxIg^K_oir!0qT;^=cCWY-TVaP)dU>Dpue`3=`|*CUJtY!{2p>S9->5n)9 z?J^Ze4=2z@n1h+_;m({@5$D5Mwc^=U3aN5o(=lunkkO6cY1%&$*d*&cYHvjU zzODE$A>41b&5HiS`FM(LKX3zB?aft|Vm#^CJa|}YP;NU;b9fpSXgTioWC3GpYr5Oj zJ1;`9*q4#qZQfg^vAHQ_=!yL=3Y11d6wB8Uyg2K>z%&DU59PTm1pVlaCx2~VLV zmaM058GSaEI3*|91BDSP0_YT$1BrZ`)WwvLl?V?2`HT!%k;#5hj57M>;W0;#k6Nd5 z-z^mOpp@>~5O9P$?gq(=wO7d1;95o!1;Ai>bLXW7#1&%2E>57#B40Cd5<7Atjkj}B zhh(=k*Iknea&v=5kDN@Xq~`JyJv}-;BBU+2Yvx>>Q!P9eq0CSPRtni@+=~Y>E8CjT zu08V*pYo-#@tl3S1t)qg#N{xPcT$2g3G+K8X7AGmg zwxVGBgNJq~sjM69T-mB602@^dMUt+Dx-<3* zaLO92udsoUT)>HglG4*rjIrpHh^w1;fM!!?sS=7ID97QLMeU_2_gYKO$PBY z4uyPBl$;zK zZ0(m}K7pt6ahbzLx2F(%>9XP9vtSfXCnQc8WukUUtl`k}(=uJQ264{It?~>I3yD;{oOHX_@LkZ-Uq`E-#`B* ztrr*_#XuyQuf-$t;>)~+!R0>5(1B6t3ex-U;o!mX`l*OKL9X3D(h@#xRX%a~k6-K; z371@Hm`;?>wYt(XB=gHE0{$bSdw-9X%cKaeQa$MuudwnD^&|feaf+D-;BM!q`pTo+I9no-~w4Ga007 z?|2XM$>3(DT7d*pNPh(NghZt;x7%<3_Ba3i|M)-uH~;m2_3gK>?eUhuhlLfjy&L)y zK)MI{LF1$*3EG!-#Kl8|8!{4L($ba#fP>m%d++Vm-@mo`oUxpbM?fldO!t?uKWjbK zbsO}mqFwK>TGwjs_qTWZ2EY8}FA$#APz#{bM;jlxA5ffmEDZO71N=lvEp&MD?&%c2 z!$w#g^<;jI$8|#9@$*mLLM~svzTot+>mCQL49L`Y#^E7%-zw5H&J}{e zyuQBTsP5L2-x||5K!EKieymXW@#k-U4}0t6+9Q6-gd?z!t{r80qgb@W8i2qg4mKE{ zB0TEEHnTs+;|((h8A(CG2ngq==l+}Lp4ZaAl4bEkCG2%TwkX zU^l;y{^&4{7*MlmCOxD=nF2a#PB!R!Yfa{j(X2t-@Du*pltK@^v$i|BSD-4+wEO~A z3-ewC6le&JUXmeNh}9wkM;$skVs!T_%u7MCgXjh#SUML;Br-H14j@(+Oq!3bXyrJc zXFb5TieDz2ls8NitkhZX(2g@R*i7NK;Pfvp6Ze#_;SL;9#|zQ~hz46lIC-KB&Y_T& zVUKQ*=DkGHpqO7bS0=WC7#qQ{V3nTI6BY+abk-YC8-Jw9m!Z!s{v&fE?E_Yd5>^_+ zGwYrf+Ps#uTfIW-ILuUXJH(HQM`S<3fO_RjuLLXh^8`m8@LePaVxb}Uv?je2dEJ4I z>anN`x}{V=xf26J+1Eov5JIm6xLMzk=gvvdxrJDby-A?T^ z>Jxgju zl4imbJA?)f^q`w^hT#eXJCi~=!dWD<+lRvJ8t^gubV27o{qA@F&tLz)x9`40XK!W@ zGl1qVN);f+m_$?3by;uQah@KpgK@>eaJ7K$#g@029kdp-6ipKm;UClm(bQO^UGy<-Lb2oN$bJnPL4+|E6Zy!8(R5BCBz zKFo`lLjx`yd`}_x9emVa9SWUMa5G*gw#q$GdA^3Nr$OTsa>B5B;AH(=9)v$RIRIJ@ zoa(z+K=`!ty4c9R@9Nik2&aC7hBqxHm7t#^sktZ z-E3!L8`D#p$6;s5iM+4?F7YI}ixg3g1n0T|LBI_o(+F|^Dq3y9+@YC;)dMI^G(o33 zhdoRHi-~`U=n_@qSbw=8v;oFR$81~(2?G(C9n+ow%KN1uq8Ga=Hs{AVNZaD<6mSyV zd=qARvL<`6VrI3*TjFK=klQ@Nd*8c^DKQG5Ndq*?%ugaPl&1f6l{JBS3=UCGlo4ZP z@kongkPhJ75?5xHz@CSA3{2>Cu+v8gj}VC92qI&%23OQ^w06rgBVf=LJxrZC5z%|P z^=Y+oU-3wH22M$xIXzBcFrS)w7(nkS(Sleph?s^kT@2k$fFrfE;r6;q*uu6J`w)H2 z)$Umi`1Itt!MhD4pvjW}TU3OTNd+u?woJlawH1i5Rk6wu2Ozi~V!*pA$OFJzKQ`DHQ zyMRi9ey|}^8RRxA#o&U(6PV8W*iK320&8T<7qB&;{fLCXuyd5K*W*D6+dbsl3O{@F zArY4gnK4wCLA@`arFU4WfFnBSgW@D=a71b7b)Gw*J9`#7U~3w91p>=~dM-FTAiWXw zF7lcQVcBOJ90EgGw!BQ2dBGFVj>u)Zf3=VM67SoxqS>8ovuhpV-cDQ0jmGNPHte-N z-XFhxKc72J%!R`ViPf1a0rxZw)2KUf8`~~zrsv%;BhsUPC7l zIghfXpoM+CZ!Zbs7JLN;01x?5OqR&QO*yB>`%+AhX{hXMj&pAeb>red|qk@Ujh32i3G zmF}2}VjQ@@Sr5Z8t3ndT03=kPC6bHCqWK5GM+gM0SU#)fro`nJ@>A;ea^t4QbV-6_ zwViw2*VWD!I_NPy;{;BsSr#>_R0|CA{z;&nkb{0m%v-WN>!6fI-JO3 z+KL2*#sqG^i~QgD2r@tk@eGMmlo7hl8F+GKo{MnXU_cx?f4QI#mw|H}=BEHs)V@jt zL;EHN>zVkBD1r&45tp#-Y{mPQ!D7NiX|T?x_X`khy1gf~?RcU!Vvh{{h!P(%p%Y=4 zw#!3MlV{Pu#H}xu%l#mPPn44;o`ji_LxCds3ON<8*=-84tMZ-3o1G9XY}#3?{QGpd z(}E*;dOpOwa7IB|c=_9>@v)qynJMDPn)`C-Qw67pD$Gpw8ni#bq`*H_{6ro--;W+Q z>GB>?{%OPH zgc|E2h;clGQ!jq0XL5eA0tgUtIOu~>9ipX3&=*gy*L25Ts`_X4l+N@?tXBG^0ybmx zKSxd@V6V3OA3j_OF@xgFLmthP6p^@nMFnapo+RC;%@KUhGh}jR5I$a=neG=bUgjIq z-LXZsRZ!vj!Vh*hDlN22&nC{C<~Mh_5P98S#!B4A`>XY6TrgA%Rfq*)#FVt|kZ+4f zVh-&(DK!hz;uHHuzLaf)uaNq3M3?e@9LG>x5h8-o%c!b?d1xzK|5h^uwrHJ05a7ay zkHwKoEQb9cS|_HG#aSB8ZhDZ}Ti{)(iNs7ja^Umv$snlU>{|T^9mXZ5`HNiRrdUGd3o)cHu5r+ zb*slXk0*9apll6>noQq%e~0Y%yDzVrE`JIISe+-(qS30+Uzqbp5S?mTZvu-5a-e{r zx?=$7@ah1Q`=t)6sMnWry93F`F~4o(&=A107kqt9rJ$1LkhMOZ6JCAj+JO>5V2=Nv zVd9nG+2Zoj1uTLe-}c|yMcQbqNXI>PboSFbmYGEVw(wg`)E@D>fC*xi5b7W6AdV+4 zIeH`-DA)s!Ut}Fe-~#CKWUSe`WO>k_nplac!950|H@IKWDIPV?j0`BMckoCuqt(FS zCl4Bl9#oJ4DFb2x#2JaiaejaB9uTHtjtTu&#LEsPY#x|@qu$K|NH`@BK zmMq>8pfYxtK#x*j7}8I>+ACC~V5m$Q4|>+1c(n{#23v3X0%jqi*&?WWG>0ej=FW0- z+rS-9@_a)PRi@v=L{cRpWGf8`HX;#Vylt}5s zZh*%k``iLwdwY2a#{qUrRK?gzvFp7&pN~TL6lgd#?UOfU(x99{H_P;%h%q&MuZ8Xk zic)*~`DY~5mGu7YN&8c_e1o%13gM6Ej;7U)tp@dK#gNH%$Z1PL;(lAWjnXGL?eV=X zT%J^Y%=+-`UbYfLxp!nQ(WHKHC(cP}P9iu1{Q>hBA+l^B7zLT)(<}L;b7NUowVT0UVQc1bqq=a0^cY?)Z2xGk2qtxKCoTJ(lr|&;;Y&xEcCzvqbc7k#)$7 zvWuxPTwc`yHX{W4C0?B#BRDieh}YRhLkxNY4O*=5C!xQGRfu0VbenWG9rkWN{_e*= z|C2xa>GAWo=l-XE`e#43pTH%egQBfHO7C&I;W*#ecm;2k*L8h{<)nQ7N?OATDA6gy z_{<<=)xy&Z%ddwuY!DpSF@o-F>}|gRFSHjvYTMUaJd`!Fh-U|iAz#E+CdQHW(no9P z%{#z%&I6WxXjYEHbV@pV&HpK;pukmPvNkR-icJ z81^y2;Ic=$o;{Ce>ZL7s%z}?pJ#uLy7CZ;IKSJeQl99w_zAEnD)8{Kt6fnV zShuKi0CLUjwo!@qX?dW`nHy9;IKKdXC|9+Q7a}~k+{#(CzsqPG3SEv!hqL>!;g+5i zABQfHRu~mF#+U)(Eyl5&YtfvW4_3A{mv3q1H-JT?6_3zrAUrtoc$0oz?Jd^i#@@98 zI6xo3;paSU6&4aqJG^1+Z|?LvJpnHkXYkV(8zCn6UZ5+&Km)Ja2(vcPq!&0R!%FoY z;(ngN?l!57q;N%rSKLPl1(ANYa%<2T(-j9YDCJy9O@W)r{!J-R1RZ!Z46Hg9u^=yC z2D{y2eA(==O$fpbNE#{m&8oa;|A5eJ?F7mopabx{yg_% z$@J!g^(db1K^uN6qwO!Y!gwfvY}x7?r;=Mmlokc=qEZ4cqp{3GaOKWKY0Q^}Bn+mc z1gN92RgSXZhbtCzZ4~)R`bNEwea>Jfa6xI?1KuY-PJw z7Ehde(Tx^3Z)d`GJng0nQtDQA2CMmKIK_04u^bWj;@+NC@!BeGvu(FrRy*o#KjbZ*rjSPu?_P?x4@A?Vm&beK$L|21Q7413_>CE)4X1GFRD!CVGb4ofu z?YRzeapl!@qjLc_8E6!InNt)2gy<+rw1SVFI&{qg{obU-%ttcwa_QLzmA`gdcN{4L zqE3vWbg4;L##AkGqyg<1OGx||k}JEHQIHm&wt0qH(hHDMBqOh&+u0U=%L+39U4r3x ztb0A`&OQ@jMZ0YXEB(h1K#VP#lnVNg*jh~r$5zG^ndXcb*f3C* ziIu@24k(Whrh#z?pVLH+n!q&LOJT#0oYS}+5@w~mPPr7iGr^9r(~OS=tY_RS0%(e< z%*hl!6veZOj8I0U^n?kNce$)c@#Xn2*jQwOt|OmTX+g$W^jNn=gQJ_K-g-h^$}1EI zql)6=IcY^hl-wKVsO}k{3^Hn2DboZ-4&k!&=9Qtnb&lII-#ayO-SbY9yd)RW_Y~g~ zB}27MwSg@a$rEH{+qDgICP~h_>fIRB)GTs=6GDdypN7jEdC^gU{tt3JUc&ED8pEfx z@rQMWFvR(RJ6o6CPz}LnqdB8_oQ|Rjymp6;>BM2Bw+TCUI8365d7;L%uNObV1S| zagodQ9fet60|tNW!I}KMl*sn4T}*jIh-UlY4ebUI%V!#)tdM1>4W9l*6_+Ii+Ly}j z8=UHkN31yttV`#9-1-!+Xc zhXP>ED~&LC`eiIvFFda+xm+thxC4fQE`3aO3#mi!()rUF`dLzi8RQBVF^Y^-71)lxi+GQiGqRXF#-c@67(V?t%0H|`%L#z zl7bv)0tWZ#aUKVTg7j-?80cXZ-mC&zo?sJq`2UhV;QK0oSL7CSV1*26C+UW=lp}$i zW!v(tT1?0>q&{$Knj|Mc%h|GU3^ryE&^2WSW6Rq-9d_FB%z@8a=ZAMe&C z3}!qOtI8_Ur!&UT7)0UdKKG^8a(|gjDvI=;5&>4bG>viLkuk6gShu!%?1ydl+XlSz ztPO!9C3_B7=NvUM;ux0|vrV!tk)sX~llpl7&f{Nf{agDkP6=`dK_wD^hnv!I4h*=_o z*`h&u;1vjq2e>W!Ae7(JQV=9`KxmG;mJ1^1Za1urt-$|be@blr<8Ocb383#Pa34xI zj`K-6p_ptC4MJcb=vJ%pdIGaFrpANw70w*0pz#Qu_R5fPa0tmVKSQlgHz`;xSG)Av zt?UiocfH*tb?u;91KN$&H1RN%D-FxpGAlgK%z!Jj`kK>puJHgc+^L8&3X`svnBA>y?K9A84`;dH0$*GTW!>E;x;$x2| zoVQ9|s9zOl1<<^(;^pdCSuctREVc^ca^`1bAi1(UWD<3sWQ!~Di=|ki39*7G$l?ik z+XetSS}s6H18NSwBK4JmggfVXFzlwiOJrseSb3BJ68%P12dI@`A1ym27XmrA))VzG zw|Z$e@fk>o20KOhRZP8;$!_xk&Bsv-Eia{qW^5N#?A#5wFOeAy6W0Pkkv!Zn(T}3l zyAo{1bzRT>@%O*^`#<}GU#v_@4d8*={pfEeo?|~A3DN}aB%<&?ACKpANAEtQ@sq=j z^R~f}#TSel_9T!@MGaB6Agc&Im)2i*EqF9(`$C@<85m)1Rq2k}YFj(h51>{ZV+G-b zA&{IIxC^n|gBBG*F=)hwVka`05j|~Cw}8sC7L-YO(EF2&gHZxR3~Sj2Y43$iF)_l( zj&<=N4#o6DJpn|GQ0kh}4K`XBGbA`l!_8yaC=jv5+t`qIrnExn1JpX9r30#H1umG7lt^vM;n1m{~*WgQ?#j&PgUBA8z!V6k~8@ z*tSTCaqV<7p`Y{YUtYFcquoz%z82!=31!11TCVutz?k<&5}SQ?WM;B~%{=S}JVzoC zA`~tN;XE4_B?png>J)I?;dhKq7EmHA#24tJi6h7?QpBv9Nk|2BGhp9r8y^igKpI7p zUMl#M^Bi-3?qB2jJ!eNq#ze3c^I6~y!#r;HJ*#P;w2!g{{imD-PWTi}Pw zorXEE;Q7kc72&oio{U_iYbTjsR?6TDcYYfr_DRA`yBE%{oJb|lDyzmu-11j2dpAYi zl{KPFO~e*68Jd)Gu`z@JCl%Q0$6O`=Z3}Acfij%q@tpNp8cy2=q(BI@gE2lO8WMx#y%g>?!IH!C6KM494KrxvX1M zZ14fM8GF<93|Rn5Zb4v_+qdLfx|+Gq<`1+|Wy=&xN^pyk^- zId}9j3R^L{<#jFRNf)soQ8mR4SeRuj$5gaPU?f5Sk2R8E(!k3&5(3vkG6RkTE6z+xpR{Z)z1glw9!C&9YJIlC=U@=iHtMGP{=s z$qwobIJ7O-cc4R8ZM2<208b^algkwU57-?B@Aaf*SoD&*$lfF|d+iAVGKR9ad>B=X zjhCqQ%A#3rXG&BXG$ctZDRBKcW&;$Mk(Dv0!gm0gf@7|vHV6+{w^g*WgRtgwP8pqc z*dN)kb?)t8f}%)+B$Bb{Kf!JzFxHVgOxx;H5#eA=&>f6s+_}pNn!`rW02;C4L@=A< zM&VqYQ!9RJS!npBCl4Cy+@6kYftjp~&lFOLh0jRMN~drBJ!U1msfZ$^1E>7W+0Y>? z5sD6nfB@b%dC37$#X3P}9#~4G?M64~F8ewE3eu5w}ET5Aw>u_KX2j^p}$X6kT5>fe0T?EEi!*8jIkCEJZv)dT3h# z_5d&mh6S$dzo?x}q+DUA-K?~SU3-9GpVCuBv8Ov7i9?JD4izQDk{av?$648K!ASr% zHS~+>WHaH4GZ+Npz|6m1*2Vo95b(7)k~pdx2P-OVTm+9cb($!%41Wbvy59m3?InCl`;|gK>(Gn%EZ*f6=4OX%VGvy1m-Vt8_`n$z zlPDmv*NfLYf6w%mu&gKDk>6U@%QJx=QeF+hE<1TeBF2icEvB~c^i(`5(BWNvS*6%1 z^DvUW+8I)3r%)XJ9p~k};GWCPY0={3hT(1xF?lW`4&p1mZytW-X^~I6-f(e;A8x;( zRKU6Twe6&biv{fT@ZqHOaX2f!Pba`mag%jNWX;@&{$Btw{?oSXQcPBQXhmQS=mRXMT5 zD@8LUAHdipwZ)_B)`-8mneucG4L8~r^;?!B)A`-fNZALg2c{r;mrsXuK3r=2-0tI| zS0kBIqHICK^YYeU1zR~vQ7&2I6ep7Jyzr8?=d$SAarmLN4K2bIlc)z%7AVV=@u-g~ zo`pm9)iV!A|0KeHJci-AWs*ziaFN4C;z&uq>+aQy`>yzXm%<}lFOH+|HN4SK0jeV^ zOVGCETu!K08VOSwY3Jl4jHo;)S_Vvlna*nLaNSqwUeMFn<$>lj(aW8b0v7^v9?uG* zD)s|vRB%k~l)$Xkwo-d*StG!omn0e$OEgNH+O*{H$%2|BXyBFe>+8LyU;cOh?4SSU z*MIk)|HuE~zwrmzu&&x#~Q4t z3uI|c;AJrDjCq^n8(YH^UvHxxp{#A)(9m}JhS05O>Yy3yraF9yAMbmQW80_)qN@ya z+&pM9D-)!p7V5*mvY)@i$Z3aL^ejv3fb0eh{CKs+B-(){rCYhVrv6t&jt zofV7?b^Wqo0QdZ~%ZE@krLf`Pp!XTzu->GA%5M9O<<;St{;wY2Q0UuTAX}k;B{ylo z$38fUhpI6!NS&zmt%^U6T)u+y3s`*s{d6rd8MrZ^1#r2T zT<})|pMdNhoSXJXyT>hW!FDY>yn;v?km1pn3~LbWGx=mB74Y$_)mqM%?WH|Vt}rs# zb3sK5DlW)hvN=F+u_TF^E)8U&6)knXRGrq~u**g%p&b$@?F3~>O77btSBEX5tsz2&&FCxXsMfnu)=a|+IJL^@AQQp_!+KNnBPVU> z>hN%9JV^wQ4y%pPUuW{H!8^%f6Ds^JF8U^%eJ7CyG)M0=9EYe*^KDR)=RD3>a%ahC zcVma}cDbc^zioR9un!%)VT?6mPXv0XJ@p&6m4TR<6le`k7sCp>Hlob8&0Yatw@H;U zc|~+}2wY5=$_+TZoGfU`d{2Nhw(|WC-)}N`NATD}e__l^QYhS`5(ihDV6Z(|Au{N1 z#}gx{1g}{;I2huFe%r_Qf;g3l;_lfVMJ_qM7p#GCK{0y>if%;;m*!~EQ>>gJJ{P3F z42HyBq3AxP_O&ntyOY7H9K9&pM+H#mHQi91$2u$c#y*QKk!(N^iVdiF6vFth${llE z+;WcX9f_eCg6|Aoi~R_2hjVdNs{V1_=oAz?TyTX`hCjxV0X)>f89f|7`i0NP`b~O( z@$G#6(GP$4i`Op;=ctL_-8%oXFUNVT+q&Jh;Bho|fEO$`TOvmnid21eK?WAgITslhL5`U#>WXy31Qz-{IP5M=2m}nYk%u%g_Blj5 zB`9Q1wt48qA+aqf-d+a`47o-NLZkv(@ePgyL!2#`gTpigAcsBn@mU!;gsFK;XmFH? zN&??>1#ttj0m4~(qaB__#4sz)f<$@|a4=M@O7lvj^2h@KEt;fH0lPQ>D!W%C zeKB?(x)Fv$p+|#MuB-G>cIy^t%(&9p9z#T+k>|Oib4=UO&T^ia1~rkLISz94q;_0k z?@LNydcoou3Wc5_g3&E*k^o6#mXF8Jt#C%e$snCic~QuW04cC;=`~4CrzmaQy1*P zjwmM*ecO;0!Uv>t0IYl~PAMDCXsfL-C5YsIbukFoz(5R?L8G4VvRQ6eQuJ622xMc+ z0a(>)q(NJd=W?EKHpe0w3Rwo5hZ1u2MpLCCcexJMc+b$tQ};%sE{(Ltc#GjSt@}Gl zyodNojJSbjPJ1TCe`+U{fCv~zgPjd9n0DCaVbwAd>E^nAfw+v$Rit2TZ3Ur}!YIag zV%4u-%B~&>b{+;Dwj8hBL{#bAdB2k2F&&vHfP;0+4nF?!@?k+>d8uaK)#798ap6x`1x7szW zVNeb^EAl`9(9^b})8qn3%^J&XEn8x=Aoj{3(_&gpA^Or@3So@U-R^sBk8kJx+-gJ_NL~z9*O!k3-qM?f%^@Z50lA*a57@#Qn+Hx(Mh;3kNop zcbw^_Jew&bx@MQ+&P`f?!46;{D)&JY%Zs9htkWr{y$01xa6KDM`EY~W-9`fo%Ba93 zwEbZ~tCJYohA}fofE;XMGmmz&&=Uq{eXTGw5^0#)IVB2n-^X50<0*b7;l*NrFSKc4 zk8C>+=4uOH6^0qMhXET^!Y27AbpHyUDdfZLj1qmGg&}o%=HjH6nsjkjg&<{C4z!FK zg*7r=1UrpW;+0skFj5ZzM`GF%ndc6QAz>&mHAqnx9+b4qCtadgtzX7-iKfG3+tOy8s0}GN z>>5#7H1glG$m$9zU{#2Gy4Z17fmu-vi3bU8S(8bFUFC%g^|oAYTiN$rn=0+9aA7*C z336~`m%O)MtVs*-ApRK$c6zBKmlFXg{axB@rEQssFoO9i_AAFt(*l(-WJEkiB_ix5 zK)R=H3$A4LCWZ7N%GC)7Y(^qM-0dw9vUQqC#-VvXtF}0<57M}+y^3~z7aADjZp2%{YW?n2{zV+^r ziK#emnrALAAbl!k@ex8^{oeimJYBht8%GqJKIY&`v=R#t;KZ>ZW%6hEJN+%r><=*D zTnh`}(j=#+55KDFW+rHNhnzm&QHPfTUFnJq8e4s$A0~KDF!giR8f(WI5CJDuCGXCY zeyC#)MPSdltJKBTN)RkpP~R?`;D(vuG>XgPr$Ul-V@4J+ZS;hdp2pv{G3;`Z)bEF_ zL-k7;QZP@M5erry_%Z+_9$@-I+4ez!i_&FABxX{FZbrA}dxGUhL*n@(sga!C;eYHo z!W4&rZqB6-HCRh0=23~Y;3A%6Pj9vCr`qBFDDSG%qZKOU5UNP`jn)Txz_ht91iOx` zafhMAqEFNysB@$BuWpJSg7rW5jVv^D$)hzA1}oyJ6C!h5jB*8NUXpz8qQvI^UDQsI=#)_MvJ`P#1P?M+tMiil9XmKyOQ4H=WEJsX?F!^%I zYSLJv1uLa1?b3*c#l~pi3&%cDO0uRb6hkQVG^TkBc@qNbk@IqhG6hT$tQOxp>L(Mh zdoStZ`FvfL-~agYufPBK?d#{yKYu!(?KEFe>rEx$cCT(dear3N*YBqve`?{_|GTyw z*X;^dOm|Nonb6YPd}tQutS+?MsP520H~^bvIKOBaHI-v% zHI|uIQi>5GrheIwXFzBT%7-pcNC9<~2^Cxj>uoBAIo+DIUT?S8W4}&iwTKL@(`U0Gy1AGA#&)((O4pUDQ@YegO3CWRXGcZcz`8a5WClenXhi! zUXU8trtve1phSjqn^yA!Z7lCRd3Dqp&8saA4r0 z$>DB~8-r(rq02nqQj$zFxyrGq!CdJF!vjTtWJ1deF?|dN8qa#xXk(xw8aHZ%J=i1| zsaBMj**HQ}QVv1hE;R1--3n6KnG*m5Nh+9~8Ln!JWcRV8*;s6_Ooe73QE5O{QP@g^ zNvUjSKqd+skTr{)+9ckL@>7D;FB3y7w+t6EtW)w(WC7NJAce}(oromcUqSW+ipFut z(xVrZQ$pgkSDHK}x9p?usl8tAzkd0}U9Okgn-k?XqR#dXMOix!yb%3;6|ffo>&Vk` z0S_iGLah*bAz zTZ(Bspi5A(bNu85FJ@<^{h_OKR-LF({4 zA{^6iq&ivFdH_QMeT-7u0TMW__{N41qT;gK(%5M;Sd@1sDJg?#5K!B#Zkq!`?K(G)30fGk&2`-H%xJyDpkl=2O zOR(YGd(Zvm$DH{wvuoF0Qt$J;vYuMCYSoT2GSDI>peH~>LnGGFRyRRIL#KJ@2jJm6 ze0hzqWFHzjxP~R%)W;Pb;0Ohwskrz!fmn6C9Nj=BAV(L3?;uDX4GojW-OLhh3DlQ$ z_VEHZ{$&FQ^nyH~(a_|T0wIpho*+1@6UfcoTY(+b+R4u9?xMhMApsNyLexNDckSm; zkm+*+Gw0`?&N43SN{X!VfwB(-ULd$5YoOONZudJslfj4 zpe%t#tZF_`5UT`0QqWmMOq5kh1|T9KBPuN}z$z*%A}J&+E+ir&C?Y2N@QMqw{^wzT z@CJ2pl{Hb<{Ex4Pkpepy4u{AJ2?YcM00P7SK2Wy@tc;A1u&9uzsNjQzAPnIRcMKHt zhH?DOpbmmLL){^8cOP%ozZe~zeEi@F><^LtI|VPue`&p8|0&Z$!Gr=GAwnVm;lEP) z+Yku+zngk_{nr`>Hv#=my#GgHm>B{B5;6h7eEgu!4-4nY@s}%ztQr*L2={@S`S?8h zyNX6&AGi+;>;qv{Q~RrG5&#KS9t(GG7oPwa@4rw$psbEJ4DRUd4AN0oV1M8NxVyW^ zifIUoNs37c%Sft9h=^!Ns>(=9s7Pt3N=S&RsfntI|BY4marW~9dBgw4y8I7Tkb9# zd$b*c%kFZGbz`F_od%ryoH@CGHw-8((keFn=xxC$qY}25A^vDQwk#c=wA1&frq-lI zU)k$<*qFk_0<3lS`s&l-)o<9jm0RAerQ7F*=><7w)xwV-J!na;0}TuZTtq|kvBC^J z84nIyaqLEc`joG#SiG}lKPr&i>N`U8Q0b{JA7?MN`)(0<;Lj48v6x|=Du4l7eiQNe zI)Ue1Xo|#;z&>cR*g*~jyHEjwb)Q=LMl8Hu@)J%7aTWnR$qRd{;~P)LTppv4{;}{kbx)Z|!eLemb?u1)@lg-(AxelF2^d1rj*;;{>lUM$Z8fz8p659>WqFS;g z=$$4#BfR|NMM258M;Q>A)W}(m`6tncbRrq)CZBW>VW%AV`M79Ne5rjmYUBwevjm0i zdqVD7Mt5p`_QIU^hZ>t;#ngxNz)K+LCLrRrEp@j?686<1j!=)=*m77XW4|q zrNuk_-EEq}rP z%Q9lZ08u@|1lMT>1NtNAv21*>(d%3Nx2N!^vs#kFJT?bkm8jek2=-yBNWEQZz6g7f zhL)%3&eJ2T`0jvhv}BjB>_`v|h>skrvLhUp$l@EuJjls&TaXQZ;njT30nQqf#fnLhSLlRhbL{uV%p4p4(%Tt} z$?Wn>1WV$^T6e{7zTO-xrvXf8gM%6gIc#2^k7w$;+CJ8%Hd|0<6~8i8BBBFsb^IV zDQ#8giI_R;eu~sRi$3Y`kR!3UJM`y#C09i}^3Oc(D%oTilo($|+&$%ujt(d(mwphl z4tZT|`}$4egvriY;7hCgq{7}J90?5l!pM;r6_~jR`D(EDc34p3&kkGYFQ+6D6^;i$GMi=5{OHi*$TgyCwN(qZ!4gaE9m4e{pa#& z)ahx#8Adx+*2{oqjCzC&9*t5em`gmpxpMJsmN^^BoD%;sLL~Qtt$tc=L=1W$(XCG# zIn^*$+qjd^@=cTG#>S;X!&{A-ozJ?8J20ntgSrFii6Hl^TI1n>uCV^w%R+oM(E zgIF=*l?^9c@?!+gNu;__wrAJ)EzDC)C_>BnFzc=6Xs@IN7)~NKi0(!dU?f7$VCJ=} zk)Kdp@B(LLt+!h_`TZwMMFMHDi*SO^ku>^oC5qbf#)db;AW@twV&@@fxUV~@+LtL{ z8U#P1=n^~DU_QoMbf$Wz+BL0EJn_t&Ea!yr$+~)vBe{ObljFz4n3~OvBr2t)Z3CKN z1_Ecb*fte7>UjiexU_L{Sf_}AIl8ImnzJM9nllIBn(aaXO&Dd=_?U2F$HYMnJzF;| z9w6`(3kyey-Kz-w+a{SfW(M(fB3W{v*a+BkV0p)6Ss^`cTvoF9lN5mH>^q#|Ez2gQ z9~HqXe!0e}tkP+LofNXg1bn*^6=Taz;4LF@dN|aE=#^j3(x+{ij)--VK9IsnVRJgX zQ>U7=r@To}`Tbg%9Kq4BzQ234F}hBGLE;7mFjCV08Vdmvbq)m!na}>_2(M8$UIE@P zZgx*;f3a=vAB7ZN>pocJsmAM_Wsc@_2=m3 zPa4~SNU^gfx{iO6G7q^;yqXK7~Spl=G4jhQipvlbP%4!c^ z0f1e-B_z-{PL*53opHiPE7?3<*jWY@v?yV!*~wXq!yKHBilJ)Mso(ARW9%{Rf*KPf zB;(qALW`>v3lsD4h16FL4wj5W3Y)AjJ>caPZEHarvuf#`8~F(=x|~_G)Vd&Y!mYMa zgoZrSJ__gizGJN?&rD3kqG2>dW%EO7S^48pGI;Hvj4TSW+L_cdi1ZgZu%{PQ@~vn5 z7#dIbGbAlo@};lxyeW$(p1%1)v1P;J)x*W(+?3mBv!GWW=j17<6ZUim z`G$}NOs#_9KvbWU{f5E4ETY}5`4eFvjh5%~;jt8cZMJ6w_ct$re6hJk{a!x}dfC#r zEHfM8&rxD7IazN!0rhgbR+UP0;nR@eD{3-_Yw(58rA0>f@O)B)<2|GA)AzV?eGT;( zo%c_an|=L{@-W3w;Ti+oiCnG1RNOfmbzFpzd$Vhh1sZeYuR?d481c9+JoX=UucobB z2fn>bfH}zb@N>1Q+0#NUQ&SpWav{g`WR?t^lO>gyXNPq(%9_SiY@l`Fr!;@`pQulW z%G8DU90u|WM(e%=yllPs>2QU!VF3Q|O01-yKsf8W(Cl{wfxgdba$J`r`~*E0bMmN$ z_4V)U_?g%yO#y@Q6yCT)tRk{_yTcZleB!Gz$e2BbXGtajk-&6BV$$;MVxS=ut%fWSYL$i_Kr}{aJf2zq zuo^N?*{EJgs%Q9-YC}I>22s8`rUa~1GoX9qp!s+^i#%a$@`ZSg5U-v5cC zpP893^E@EG4}F@~(qMAqBM*0APVyA>EN; zlR`hk6-=xD-Ywm*z91;Leiu33%*BRC?<$zH2}%Id8zhw~GjkAY+~( zUC(j~;Wb&@dUrf##+Dq9<(ilyb`c30+)WxCSdHWJ3~208o4expPWQ!`%zZJ|K>0=? z55wrXr85h3|7F!-mQBK%-tT^B=3OQUVk50&`l|*H#oWeXXK@}H0?ben`Eu{m)SIW5 zHuUbb3@Jekc{nB(1R6Wb((pMfc>N^#B~Zl5ZF5X3>vwNJxY8b&8uvNU05Y=Bw@o9-;fG2*uA+U zh$y#FxvGl8|B%I3TJXzAVY;yFD^1Fys|w}YLzF?jUH&vjZT^*L&m;YQgtY`LLtUjL z1$e^ySdr38h-P%s+ky_F8NVQM$Dt`mn?~G@9F+{s^?n1_*g{8G}*C!~}SyzY8ADKvgR z`6S5*m@wO}b2tuV1j5F9bL)Rjva@t>_tT~!KYan6>*2%S=WwuCAPzh;m$G==ERRc6 z;IF1KG!mvQy>(!=Q9pkCnVBt)qZV5I!AxuB?@S)O|FtdU2^8J-jkg_3AxYg@;Ql0XZ6By8g=FB3oV)M=#gzoO+_Gu8rgegngkk0VvFa&ZH zQP~#?mehgpWL6ALW-4e#jbJY{8!L8DG0evY?`yB5Pij018?i^os+?gIxUXC~UHlVPgg>y4*GH_+<1dV>nEU|!fw z#FF&$vyX#G^rLAPn~x~r4td^tdS;Dkid=a2q05jm!>l81m{U@lf{RF`BBlhiiizVc znU4BN09}y48)CJup}An4yrf!lF4Uy%C0DcZh10%onlrUb&EwJx;+F=iVfGgk zgf&vcfk}p4Q^%7}D-EP8rki74d707&hN$A%5%Ji7n@f^xHCm$M;q#BB8R=@j&K(kL zksbc24MUVd=-#s`^&OvHTxuVGb#~&TrSqx-S_I;(*ULvK7ca56H_!9#JmDhHn2e4W zcZq3(dCe2D`%4m(D22_2^>;s{~)LL>GR#5k6CX7rB7;`J^UiI?iW3*|;P3>e5C&_`G@#3t@$U z>QLGe%AZ!QfL@Zh>de{(UnbPe*UfLF)~=P}Y!SW>)e8Z<5@(~RsS~MA_#kn%W+(Z2 z#&PO7i`|PL4Y{X1E3s_@{S3@`TXvI9vyjAj+x6SsS0(4f4csE!UKg|Hb$7<~J;94- zZtLmJRa?@QW4B)@7WiBE%0~V_&JO=Rb7-Ka(24onNlG^gprP*J&ye5EHgR*isrJs_ z<_WDn-7_EfQqeG2iPQ8bIJc>2xx^K?zG+r;ZK%Cqy$nGs!;c;Iht?q~sijE8nSvEZ zITq(hw;irzNZVXvkS~WFWOq@39tD1ZZKTP9!7)tan;^;8ASuSI!Er;#xLl>D+|mSl zxW6#XLvr#`<&qaNfrg|@w}8s=L@Nue_j?|ZJ$g%ZW@B}~8w^-c_K};rxo#~8!=5wq zEBP7Rb97yHqwTpPxXYliV|PaYp$FzBuG9$#Ay7x#cXM2SFp=Q!8KA0`dH-SAxc zfhGTQ{UH%^XblA5B||nf{3hutlzrs71yV7;`F8pt1;IxiH1koTt+~D?UI*lL%Sox; z3-2Ni5+-?@>w3-%?u@k#Y`OgPcu=d#O!AxaZO!<0$?|#28~p)0yQ!|Nw5U1^P|x{U zz=Zbu{Bq;%j|>EH(bt88-g8Hx%wKEOx3s34?IXQ0LlS}vi(jp%nF5g&F5mW~ z2yi4^X8+~vb5Fz9M*mtQ@zx94_+XNPCy8x$r)-sv{eQQSVWTPsu8=;tyrJ`Zj|94l zMLwTTGXH#~sZ7s)ei`EQM&o1PA1jE`MS>y`9OG`0ZnI;+cbs2aO7Hl2hXpcY@6H4( zpox*b5YR051yLEqOtP%RZx$k?t7fg5nH}Eka5YG3;1-}&bHz%K9gx-aA*Jc|FuN+= zh)56CMq1@ddQ3h*A<@FGJe~2${te5}bLqt&T-JT(J6osb`? zQYEBI3S`=aM%oB*bW;i1(6`*>nXeHnr&nDJ8Er(APPqz56oBsWo96dy|`Lf_{=d=6PmLd=V<~q^Y&%kdJ~Y2M{`W9~uX2Nw@NR={MSqZ}l1C913J^9>tP` zB)x68(7Y-kyHzn@Wnnrp)D2Xh6&^ba-F-y`c=YA~D@jDyOO)?f7}h%~eo`X;py_q3 za*7p6&1G2*RclT0xNJ60g0yRXqv~pJy6*Z98AUn8B;OXExKrnVJ~Fj^R&FX1u0Xxt zL6*1{zj=Y1Ul^MCx|5S-LS+MMa?%A!4}W|tX+CD!n)zhOaZqJN&oRuzEtSIn8(|f9 zQ==wroRT1uMOEm$zb|^Psg>~l7xslz@}(Uk@LFEIg~|EQ?vY>8yNpLf48Lp*Zn5Qa zhw2VqP;sCbyKbdp!mMK4{K)DuSki_MuNS42f zc6IQN*9L*eUo90WF*T%=(r`2bs%ueR$csLEpyZ$PE}Je5t|u+rS^Mg#0Cmbu?81NRpTWoR6nT&o`!j+oI06+z#RU!tiX9 zCi2Tg6I;DtmZ4c1)BXpGq%m`gDG#TTpvLFe8LEE8V$7TytfdUX%84EC`dz+x$TUnJ z0aV8Qg>g_uN*Y!-I>SO~8(lhvS3T(y7PS^#X`0qYKAiZ;rJAs!K?7HL^{9l^&HNZ& z#c#h2K69f3W0HRB0sUh$y1#8&$?6iDDm+slKgEbeNM|np8t9jzz8h;Rl731^?&fX$ z3!&t@LH(I1GpPii)ssXP4kZ}^(+<62TGBMKHuAYrB3T&`)a~jify|7%xYfe!mR18x zS5@^bcyJh1nkvn@)+>THT=H3`DMeu>I^U!I4C}j8l6UDuW=D2e6-X3+m*_h)VB;p7 z&AlKGoLG~^nTi&J<(#R>OZTmdA?I8+C44yxDl-%$zxUF`t$f-e7pb+ZgvD2;C8J{x zTTu!?@9u&A$AXdg*9C3%-3{-Y4()ATA&gh%9Bzggxa9QidC0%Do3h$uH@xil6j;aO z0;&E6L8^OWdzKrm)`c*Yuwnk|zO1_KScrgC%=Hm`vkUu4F@XYF4os*6=e zd>o?#whlbD%$}rq!AX1Ct0-KU@gWM|WA;=|Fx7N=iOB#^gRlD;L~|vh6|HxwyKa$< z{wx4#VE-0vw-k7`cS;z{m*jZeFH@4JXA0fGsexs$bx(_Y_^1!kT)Sfi`BfPz03HF~ zzM!q#K5-e4v2*u`&nEow!*9otj!J+k34W^tjMfXjnE_o(0rLw!iTzOV3;K}4c)-Ca zx-v|=(~?|+ovM(P$njcwJ~WG??bxcYPTyB*0ims&3H$cj{5aL%8Xa_51CtAsnU#?o z7fudd`ibN&gT&dFn`z}p=t$|5scswDtskXIb1)nHx-&wYkISYoHZ!V;O<#!t&t$99 z${K>{3z@fH`<1BNpsxp*&~M*(N}UNcmQBP-hxxaQ-5kPOJvpo2 zkvzW`&+spUu$D>Zl5;gEt zk~uTn#I#E3(kO(^_{zYgcwLnl_hDMsbZHJ8%bYFl$Eh63j2J!#BB3{j`GW@lBdv~} zB-6lX{F>8Zf{e4dHfhyt#rm(HOAbJxjGq7>FkCcd zB@$!Ji}+Xr*NWvGSrAW8h|h9|d&zT){y|Z*93c{lSC}3^6^te20@cGL({p}K+Qd|I zy13Eanu{iZ;Dr%0lqDVRZ-S}D>1Ou857MO*AV;DH`A4Kmd3Kb`s($^MA#~g~ z4|i;Ls1pID{_-nx<*ew+O+nH!ypnAJ)8lP4In`jsw_|5EsNtF1y|OAD#|~?UtA6wL z*}?l&jtohg&F-10-A4J`&K~m@R}PuI0)jZGXc0MXsXsg3AG^1kon7oL<^-n%T%=G! zCzQhRptzWR^<7H`offXO>rW|?UyXGl0(zgPnQ`X59`!$7@K I)gj`40R!Q5dH?_b diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/images/main_banner_text.svg b/src/Web/WebMonolithic/eShopWeb/wwwroot/images/main_banner_text.svg deleted file mode 100644 index 58ce73af0..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/images/main_banner_text.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/images/my_orders.png b/src/Web/WebMonolithic/eShopWeb/wwwroot/images/my_orders.png deleted file mode 100644 index 145be925b4aae8df7c49276554c6669a8ff7ee70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^(jd&i1|)m0d!|L6&6bffcDCj1jukpZ}iw zKU==+@BY7q{GJj^p11%6-ZPqRi&DmZMp@qc@~Ps^+(PPThS zyV#W19>`!)zopr0MeIC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/js/site.js b/src/Web/WebMonolithic/eShopWeb/wwwroot/js/site.js deleted file mode 100644 index 82ecce7b4..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/js/site.js +++ /dev/null @@ -1 +0,0 @@ -// Write your Javascript code. diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/js/site.min.js b/src/Web/WebMonolithic/eShopWeb/wwwroot/js/site.min.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/.bower.json b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/.bower.json deleted file mode 100644 index 1e99b6299..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/.bower.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "bootstrap", - "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", - "keywords": [ - "css", - "js", - "less", - "mobile-first", - "responsive", - "front-end", - "framework", - "web" - ], - "homepage": "http://getbootstrap.com", - "license": "MIT", - "moduleType": "globals", - "main": [ - "less/bootstrap.less", - "dist/js/bootstrap.js" - ], - "ignore": [ - "/.*", - "_config.yml", - "CNAME", - "composer.json", - "CONTRIBUTING.md", - "docs", - "js/tests", - "test-infra" - ], - "dependencies": { - "jquery": "1.9.1 - 3" - }, - "version": "3.3.7", - "_release": "3.3.7", - "_resolution": { - "type": "version", - "tag": "v3.3.7", - "commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86" - }, - "_source": "https://github.com/twbs/bootstrap.git", - "_target": "v3.3.7", - "_originalSource": "bootstrap", - "_direct": true -} \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/LICENSE b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/LICENSE deleted file mode 100644 index 7a300022c..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2011-2016 Twitter, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css deleted file mode 100644 index 31d888266..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css +++ /dev/null @@ -1,587 +0,0 @@ -/*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -.btn-default, -.btn-primary, -.btn-success, -.btn-info, -.btn-warning, -.btn-danger { - text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); -} -.btn-default:active, -.btn-primary:active, -.btn-success:active, -.btn-info:active, -.btn-warning:active, -.btn-danger:active, -.btn-default.active, -.btn-primary.active, -.btn-success.active, -.btn-info.active, -.btn-warning.active, -.btn-danger.active { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -} -.btn-default.disabled, -.btn-primary.disabled, -.btn-success.disabled, -.btn-info.disabled, -.btn-warning.disabled, -.btn-danger.disabled, -.btn-default[disabled], -.btn-primary[disabled], -.btn-success[disabled], -.btn-info[disabled], -.btn-warning[disabled], -.btn-danger[disabled], -fieldset[disabled] .btn-default, -fieldset[disabled] .btn-primary, -fieldset[disabled] .btn-success, -fieldset[disabled] .btn-info, -fieldset[disabled] .btn-warning, -fieldset[disabled] .btn-danger { - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-default .badge, -.btn-primary .badge, -.btn-success .badge, -.btn-info .badge, -.btn-warning .badge, -.btn-danger .badge { - text-shadow: none; -} -.btn:active, -.btn.active { - background-image: none; -} -.btn-default { - text-shadow: 0 1px 0 #fff; - background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); - background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); - background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - background-repeat: repeat-x; - border-color: #dbdbdb; - border-color: #ccc; -} -.btn-default:hover, -.btn-default:focus { - background-color: #e0e0e0; - background-position: 0 -15px; -} -.btn-default:active, -.btn-default.active { - background-color: #e0e0e0; - border-color: #dbdbdb; -} -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled.focus, -.btn-default[disabled].focus, -fieldset[disabled] .btn-default.focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default[disabled].active, -fieldset[disabled] .btn-default.active { - background-color: #e0e0e0; - background-image: none; -} -.btn-primary { - background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); - background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); - background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - background-repeat: repeat-x; - border-color: #245580; -} -.btn-primary:hover, -.btn-primary:focus { - background-color: #265a88; - background-position: 0 -15px; -} -.btn-primary:active, -.btn-primary.active { - background-color: #265a88; - border-color: #245580; -} -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled.focus, -.btn-primary[disabled].focus, -fieldset[disabled] .btn-primary.focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #265a88; - background-image: none; -} -.btn-success { - background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); - background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); - background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - background-repeat: repeat-x; - border-color: #3e8f3e; -} -.btn-success:hover, -.btn-success:focus { - background-color: #419641; - background-position: 0 -15px; -} -.btn-success:active, -.btn-success.active { - background-color: #419641; - border-color: #3e8f3e; -} -.btn-success.disabled, -.btn-success[disabled], -fieldset[disabled] .btn-success, -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled.focus, -.btn-success[disabled].focus, -fieldset[disabled] .btn-success.focus, -.btn-success.disabled:active, -.btn-success[disabled]:active, -fieldset[disabled] .btn-success:active, -.btn-success.disabled.active, -.btn-success[disabled].active, -fieldset[disabled] .btn-success.active { - background-color: #419641; - background-image: none; -} -.btn-info { - background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); - background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); - background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - background-repeat: repeat-x; - border-color: #28a4c9; -} -.btn-info:hover, -.btn-info:focus { - background-color: #2aabd2; - background-position: 0 -15px; -} -.btn-info:active, -.btn-info.active { - background-color: #2aabd2; - border-color: #28a4c9; -} -.btn-info.disabled, -.btn-info[disabled], -fieldset[disabled] .btn-info, -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled.focus, -.btn-info[disabled].focus, -fieldset[disabled] .btn-info.focus, -.btn-info.disabled:active, -.btn-info[disabled]:active, -fieldset[disabled] .btn-info:active, -.btn-info.disabled.active, -.btn-info[disabled].active, -fieldset[disabled] .btn-info.active { - background-color: #2aabd2; - background-image: none; -} -.btn-warning { - background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); - background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); - background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - background-repeat: repeat-x; - border-color: #e38d13; -} -.btn-warning:hover, -.btn-warning:focus { - background-color: #eb9316; - background-position: 0 -15px; -} -.btn-warning:active, -.btn-warning.active { - background-color: #eb9316; - border-color: #e38d13; -} -.btn-warning.disabled, -.btn-warning[disabled], -fieldset[disabled] .btn-warning, -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled.focus, -.btn-warning[disabled].focus, -fieldset[disabled] .btn-warning.focus, -.btn-warning.disabled:active, -.btn-warning[disabled]:active, -fieldset[disabled] .btn-warning:active, -.btn-warning.disabled.active, -.btn-warning[disabled].active, -fieldset[disabled] .btn-warning.active { - background-color: #eb9316; - background-image: none; -} -.btn-danger { - background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); - background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); - background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - background-repeat: repeat-x; - border-color: #b92c28; -} -.btn-danger:hover, -.btn-danger:focus { - background-color: #c12e2a; - background-position: 0 -15px; -} -.btn-danger:active, -.btn-danger.active { - background-color: #c12e2a; - border-color: #b92c28; -} -.btn-danger.disabled, -.btn-danger[disabled], -fieldset[disabled] .btn-danger, -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled.focus, -.btn-danger[disabled].focus, -fieldset[disabled] .btn-danger.focus, -.btn-danger.disabled:active, -.btn-danger[disabled]:active, -fieldset[disabled] .btn-danger:active, -.btn-danger.disabled.active, -.btn-danger[disabled].active, -fieldset[disabled] .btn-danger.active { - background-color: #c12e2a; - background-image: none; -} -.thumbnail, -.img-thumbnail { - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); - box-shadow: 0 1px 2px rgba(0, 0, 0, .075); -} -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - background-color: #e8e8e8; - background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); - background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); - background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); - background-repeat: repeat-x; -} -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - background-color: #2e6da4; - background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); - background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); - background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); - background-repeat: repeat-x; -} -.navbar-default { - background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); - background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); - background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - background-repeat: repeat-x; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .active > a { - background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); - background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); - background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); - background-repeat: repeat-x; - -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); - box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); -} -.navbar-brand, -.navbar-nav > li > a { - text-shadow: 0 1px 0 rgba(255, 255, 255, .25); -} -.navbar-inverse { - background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); - background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); - background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - background-repeat: repeat-x; - border-radius: 4px; -} -.navbar-inverse .navbar-nav > .open > a, -.navbar-inverse .navbar-nav > .active > a { - background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); - background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); - background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); - background-repeat: repeat-x; - -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); - box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); -} -.navbar-inverse .navbar-brand, -.navbar-inverse .navbar-nav > li > a { - text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); -} -.navbar-static-top, -.navbar-fixed-top, -.navbar-fixed-bottom { - border-radius: 0; -} -@media (max-width: 767px) { - .navbar .navbar-nav .open .dropdown-menu > .active > a, - .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #fff; - background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); - background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); - background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); - background-repeat: repeat-x; - } -} -.alert { - text-shadow: 0 1px 0 rgba(255, 255, 255, .2); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); -} -.alert-success { - background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); - background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); - background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); - background-repeat: repeat-x; - border-color: #b2dba1; -} -.alert-info { - background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); - background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); - background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); - background-repeat: repeat-x; - border-color: #9acfea; -} -.alert-warning { - background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); - background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); - background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); - background-repeat: repeat-x; - border-color: #f5e79e; -} -.alert-danger { - background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); - background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); - background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); - background-repeat: repeat-x; - border-color: #dca7a7; -} -.progress { - background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); - background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); - background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); - background-repeat: repeat-x; -} -.progress-bar { - background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); - background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); - background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); - background-repeat: repeat-x; -} -.progress-bar-success { - background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); - background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); - background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); - background-repeat: repeat-x; -} -.progress-bar-info { - background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); - background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); - background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); - background-repeat: repeat-x; -} -.progress-bar-warning { - background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); - background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); - background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); - background-repeat: repeat-x; -} -.progress-bar-danger { - background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); - background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); - background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); - background-repeat: repeat-x; -} -.progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.list-group { - border-radius: 4px; - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); - box-shadow: 0 1px 2px rgba(0, 0, 0, .075); -} -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - text-shadow: 0 -1px 0 #286090; - background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); - background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); - background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); - background-repeat: repeat-x; - border-color: #2b669a; -} -.list-group-item.active .badge, -.list-group-item.active:hover .badge, -.list-group-item.active:focus .badge { - text-shadow: none; -} -.panel { - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); - box-shadow: 0 1px 2px rgba(0, 0, 0, .05); -} -.panel-default > .panel-heading { - background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); - background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); - background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); - background-repeat: repeat-x; -} -.panel-primary > .panel-heading { - background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); - background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); - background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); - background-repeat: repeat-x; -} -.panel-success > .panel-heading { - background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); - background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); - background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); - background-repeat: repeat-x; -} -.panel-info > .panel-heading { - background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); - background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); - background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); - background-repeat: repeat-x; -} -.panel-warning > .panel-heading { - background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); - background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); - background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); - background-repeat: repeat-x; -} -.panel-danger > .panel-heading { - background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); - background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); - background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); - background-repeat: repeat-x; -} -.well { - background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); - background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); - background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); - background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); - background-repeat: repeat-x; - border-color: #dcdcdc; - -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); -} -/*# sourceMappingURL=bootstrap-theme.css.map */ diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map deleted file mode 100644 index d876f60fb..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","file":"bootstrap-theme.css","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css deleted file mode 100644 index 5e3940195..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} -/*# sourceMappingURL=bootstrap-theme.min.css.map */ \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map deleted file mode 100644 index 94813e900..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":";;;;AAmBA,YAAA,aAAA,UAAA,aAAA,aAAA,aAME,YAAA,EAAA,KAAA,EAAA,eC2CA,mBAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBDvCR,mBAAA,mBAAA,oBAAA,oBAAA,iBAAA,iBAAA,oBAAA,oBAAA,oBAAA,oBAAA,oBAAA,oBCsCA,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBDlCR,qBAAA,sBAAA,sBAAA,uBAAA,mBAAA,oBAAA,sBAAA,uBAAA,sBAAA,uBAAA,sBAAA,uBAAA,+BAAA,gCAAA,6BAAA,gCAAA,gCAAA,gCCiCA,mBAAA,KACQ,WAAA,KDlDV,mBAAA,oBAAA,iBAAA,oBAAA,oBAAA,oBAuBI,YAAA,KAyCF,YAAA,YAEE,iBAAA,KAKJ,aErEI,YAAA,EAAA,IAAA,EAAA,KACA,iBAAA,iDACA,iBAAA,4CAAA,iBAAA,qEAEA,iBAAA,+CCnBF,OAAA,+GH4CA,OAAA,0DACA,kBAAA,SAuC2C,aAAA,QAA2B,aAAA,KArCtE,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAgBN,aEtEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAiBN,aEvEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAkBN,UExEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,gBAAA,gBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,iBAAA,iBAEE,iBAAA,QACA,aAAA,QAMA,mBAAA,0BAAA,yBAAA,0BAAA,yBAAA,yBAAA,oBAAA,2BAAA,0BAAA,2BAAA,0BAAA,0BAAA,6BAAA,oCAAA,mCAAA,oCAAA,mCAAA,mCAME,iBAAA,QACA,iBAAA,KAmBN,aEzEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAoBN,YE1EI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,kBAAA,kBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,mBAAA,mBAEE,iBAAA,QACA,aAAA,QAMA,qBAAA,4BAAA,2BAAA,4BAAA,2BAAA,2BAAA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,+BAAA,sCAAA,qCAAA,sCAAA,qCAAA,qCAME,iBAAA,QACA,iBAAA,KA2BN,eAAA,WClCE,mBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,EAAA,IAAA,IAAA,iBD2CV,0BAAA,0BE3FI,iBAAA,QACA,iBAAA,oDACA,iBAAA,+CAAA,iBAAA,wEACA,iBAAA,kDACA,OAAA,+GF0FF,kBAAA,SAEF,yBAAA,+BAAA,+BEhGI,iBAAA,QACA,iBAAA,oDACA,iBAAA,+CAAA,iBAAA,wEACA,iBAAA,kDACA,OAAA,+GFgGF,kBAAA,SASF,gBE7GI,iBAAA,iDACA,iBAAA,4CACA,iBAAA,qEAAA,iBAAA,+CACA,OAAA,+GACA,OAAA,0DCnBF,kBAAA,SH+HA,cAAA,ICjEA,mBAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBD6DV,sCAAA,oCE7GI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SD2CF,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBD0EV,cAAA,iBAEE,YAAA,EAAA,IAAA,EAAA,sBAIF,gBEhII,iBAAA,iDACA,iBAAA,4CACA,iBAAA,qEAAA,iBAAA,+CACA,OAAA,+GACA,OAAA,0DCnBF,kBAAA,SHkJA,cAAA,IAHF,sCAAA,oCEhII,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SD2CF,mBAAA,MAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBDgFV,8BAAA,iCAYI,YAAA,EAAA,KAAA,EAAA,gBAKJ,qBAAA,kBAAA,mBAGE,cAAA,EAqBF,yBAfI,mDAAA,yDAAA,yDAGE,MAAA,KE7JF,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,UFqKJ,OACE,YAAA,EAAA,IAAA,EAAA,qBC3HA,mBAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,gBDsIV,eEtLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAKF,YEvLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAMF,eExLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAOF,cEzLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAeF,UEjMI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFuMJ,cE3MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFwMJ,sBE5MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFyMJ,mBE7MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF0MJ,sBE9MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF2MJ,qBE/MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF+MJ,sBElLI,iBAAA,yKACA,iBAAA,oKACA,iBAAA,iKFyLJ,YACE,cAAA,IC9KA,mBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,EAAA,IAAA,IAAA,iBDgLV,wBAAA,8BAAA,8BAGE,YAAA,EAAA,KAAA,EAAA,QEnOE,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFiOF,aAAA,QALF,+BAAA,qCAAA,qCAQI,YAAA,KAUJ,OCnME,mBAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,EAAA,IAAA,IAAA,gBD4MV,8BE5PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFyPJ,8BE7PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF0PJ,8BE9PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF2PJ,2BE/PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF4PJ,8BEhQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF6PJ,6BEjQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFoQJ,MExQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFsQF,aAAA,QC3NA,mBAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,EAAA,IAAA,EAAA,qBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,EAAA,IAAA,EAAA","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.css b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.css deleted file mode 100644 index 6167622ce..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.css +++ /dev/null @@ -1,6757 +0,0 @@ -/*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ -html { - font-family: sans-serif; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} -body { - margin: 0; -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} -audio, -canvas, -progress, -video { - display: inline-block; - vertical-align: baseline; -} -audio:not([controls]) { - display: none; - height: 0; -} -[hidden], -template { - display: none; -} -a { - background-color: transparent; -} -a:active, -a:hover { - outline: 0; -} -abbr[title] { - border-bottom: 1px dotted; -} -b, -strong { - font-weight: bold; -} -dfn { - font-style: italic; -} -h1 { - margin: .67em 0; - font-size: 2em; -} -mark { - color: #000; - background: #ff0; -} -small { - font-size: 80%; -} -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} -sup { - top: -.5em; -} -sub { - bottom: -.25em; -} -img { - border: 0; -} -svg:not(:root) { - overflow: hidden; -} -figure { - margin: 1em 40px; -} -hr { - height: 0; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -pre { - overflow: auto; -} -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} -button, -input, -optgroup, -select, -textarea { - margin: 0; - font: inherit; - color: inherit; -} -button { - overflow: visible; -} -button, -select { - text-transform: none; -} -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; -} -button[disabled], -html input[disabled] { - cursor: default; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - padding: 0; - border: 0; -} -input { - line-height: normal; -} -input[type="checkbox"], -input[type="radio"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0; -} -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} -input[type="search"] { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - -webkit-appearance: textfield; -} -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -fieldset { - padding: .35em .625em .75em; - margin: 0 2px; - border: 1px solid #c0c0c0; -} -legend { - padding: 0; - border: 0; -} -textarea { - overflow: auto; -} -optgroup { - font-weight: bold; -} -table { - border-spacing: 0; - border-collapse: collapse; -} -td, -th { - padding: 0; -} -/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ -@media print { - *, - *:before, - *:after { - color: #000 !important; - text-shadow: none !important; - background: transparent !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - a[href^="#"]:after, - a[href^="javascript:"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - .navbar { - display: none; - } - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; - } - .label { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; - } -} -@font-face { - font-family: 'Glyphicons Halflings'; - - src: url('../fonts/glyphicons-halflings-regular.eot'); - src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); -} -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: normal; - line-height: 1; - - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.glyphicon-asterisk:before { - content: "\002a"; -} -.glyphicon-plus:before { - content: "\002b"; -} -.glyphicon-euro:before, -.glyphicon-eur:before { - content: "\20ac"; -} -.glyphicon-minus:before { - content: "\2212"; -} -.glyphicon-cloud:before { - content: "\2601"; -} -.glyphicon-envelope:before { - content: "\2709"; -} -.glyphicon-pencil:before { - content: "\270f"; -} -.glyphicon-glass:before { - content: "\e001"; -} -.glyphicon-music:before { - content: "\e002"; -} -.glyphicon-search:before { - content: "\e003"; -} -.glyphicon-heart:before { - content: "\e005"; -} -.glyphicon-star:before { - content: "\e006"; -} -.glyphicon-star-empty:before { - content: "\e007"; -} -.glyphicon-user:before { - content: "\e008"; -} -.glyphicon-film:before { - content: "\e009"; -} -.glyphicon-th-large:before { - content: "\e010"; -} -.glyphicon-th:before { - content: "\e011"; -} -.glyphicon-th-list:before { - content: "\e012"; -} -.glyphicon-ok:before { - content: "\e013"; -} -.glyphicon-remove:before { - content: "\e014"; -} -.glyphicon-zoom-in:before { - content: "\e015"; -} -.glyphicon-zoom-out:before { - content: "\e016"; -} -.glyphicon-off:before { - content: "\e017"; -} -.glyphicon-signal:before { - content: "\e018"; -} -.glyphicon-cog:before { - content: "\e019"; -} -.glyphicon-trash:before { - content: "\e020"; -} -.glyphicon-home:before { - content: "\e021"; -} -.glyphicon-file:before { - content: "\e022"; -} -.glyphicon-time:before { - content: "\e023"; -} -.glyphicon-road:before { - content: "\e024"; -} -.glyphicon-download-alt:before { - content: "\e025"; -} -.glyphicon-download:before { - content: "\e026"; -} -.glyphicon-upload:before { - content: "\e027"; -} -.glyphicon-inbox:before { - content: "\e028"; -} -.glyphicon-play-circle:before { - content: "\e029"; -} -.glyphicon-repeat:before { - content: "\e030"; -} -.glyphicon-refresh:before { - content: "\e031"; -} -.glyphicon-list-alt:before { - content: "\e032"; -} -.glyphicon-lock:before { - content: "\e033"; -} -.glyphicon-flag:before { - content: "\e034"; -} -.glyphicon-headphones:before { - content: "\e035"; -} -.glyphicon-volume-off:before { - content: "\e036"; -} -.glyphicon-volume-down:before { - content: "\e037"; -} -.glyphicon-volume-up:before { - content: "\e038"; -} -.glyphicon-qrcode:before { - content: "\e039"; -} -.glyphicon-barcode:before { - content: "\e040"; -} -.glyphicon-tag:before { - content: "\e041"; -} -.glyphicon-tags:before { - content: "\e042"; -} -.glyphicon-book:before { - content: "\e043"; -} -.glyphicon-bookmark:before { - content: "\e044"; -} -.glyphicon-print:before { - content: "\e045"; -} -.glyphicon-camera:before { - content: "\e046"; -} -.glyphicon-font:before { - content: "\e047"; -} -.glyphicon-bold:before { - content: "\e048"; -} -.glyphicon-italic:before { - content: "\e049"; -} -.glyphicon-text-height:before { - content: "\e050"; -} -.glyphicon-text-width:before { - content: "\e051"; -} -.glyphicon-align-left:before { - content: "\e052"; -} -.glyphicon-align-center:before { - content: "\e053"; -} -.glyphicon-align-right:before { - content: "\e054"; -} -.glyphicon-align-justify:before { - content: "\e055"; -} -.glyphicon-list:before { - content: "\e056"; -} -.glyphicon-indent-left:before { - content: "\e057"; -} -.glyphicon-indent-right:before { - content: "\e058"; -} -.glyphicon-facetime-video:before { - content: "\e059"; -} -.glyphicon-picture:before { - content: "\e060"; -} -.glyphicon-map-marker:before { - content: "\e062"; -} -.glyphicon-adjust:before { - content: "\e063"; -} -.glyphicon-tint:before { - content: "\e064"; -} -.glyphicon-edit:before { - content: "\e065"; -} -.glyphicon-share:before { - content: "\e066"; -} -.glyphicon-check:before { - content: "\e067"; -} -.glyphicon-move:before { - content: "\e068"; -} -.glyphicon-step-backward:before { - content: "\e069"; -} -.glyphicon-fast-backward:before { - content: "\e070"; -} -.glyphicon-backward:before { - content: "\e071"; -} -.glyphicon-play:before { - content: "\e072"; -} -.glyphicon-pause:before { - content: "\e073"; -} -.glyphicon-stop:before { - content: "\e074"; -} -.glyphicon-forward:before { - content: "\e075"; -} -.glyphicon-fast-forward:before { - content: "\e076"; -} -.glyphicon-step-forward:before { - content: "\e077"; -} -.glyphicon-eject:before { - content: "\e078"; -} -.glyphicon-chevron-left:before { - content: "\e079"; -} -.glyphicon-chevron-right:before { - content: "\e080"; -} -.glyphicon-plus-sign:before { - content: "\e081"; -} -.glyphicon-minus-sign:before { - content: "\e082"; -} -.glyphicon-remove-sign:before { - content: "\e083"; -} -.glyphicon-ok-sign:before { - content: "\e084"; -} -.glyphicon-question-sign:before { - content: "\e085"; -} -.glyphicon-info-sign:before { - content: "\e086"; -} -.glyphicon-screenshot:before { - content: "\e087"; -} -.glyphicon-remove-circle:before { - content: "\e088"; -} -.glyphicon-ok-circle:before { - content: "\e089"; -} -.glyphicon-ban-circle:before { - content: "\e090"; -} -.glyphicon-arrow-left:before { - content: "\e091"; -} -.glyphicon-arrow-right:before { - content: "\e092"; -} -.glyphicon-arrow-up:before { - content: "\e093"; -} -.glyphicon-arrow-down:before { - content: "\e094"; -} -.glyphicon-share-alt:before { - content: "\e095"; -} -.glyphicon-resize-full:before { - content: "\e096"; -} -.glyphicon-resize-small:before { - content: "\e097"; -} -.glyphicon-exclamation-sign:before { - content: "\e101"; -} -.glyphicon-gift:before { - content: "\e102"; -} -.glyphicon-leaf:before { - content: "\e103"; -} -.glyphicon-fire:before { - content: "\e104"; -} -.glyphicon-eye-open:before { - content: "\e105"; -} -.glyphicon-eye-close:before { - content: "\e106"; -} -.glyphicon-warning-sign:before { - content: "\e107"; -} -.glyphicon-plane:before { - content: "\e108"; -} -.glyphicon-calendar:before { - content: "\e109"; -} -.glyphicon-random:before { - content: "\e110"; -} -.glyphicon-comment:before { - content: "\e111"; -} -.glyphicon-magnet:before { - content: "\e112"; -} -.glyphicon-chevron-up:before { - content: "\e113"; -} -.glyphicon-chevron-down:before { - content: "\e114"; -} -.glyphicon-retweet:before { - content: "\e115"; -} -.glyphicon-shopping-cart:before { - content: "\e116"; -} -.glyphicon-folder-close:before { - content: "\e117"; -} -.glyphicon-folder-open:before { - content: "\e118"; -} -.glyphicon-resize-vertical:before { - content: "\e119"; -} -.glyphicon-resize-horizontal:before { - content: "\e120"; -} -.glyphicon-hdd:before { - content: "\e121"; -} -.glyphicon-bullhorn:before { - content: "\e122"; -} -.glyphicon-bell:before { - content: "\e123"; -} -.glyphicon-certificate:before { - content: "\e124"; -} -.glyphicon-thumbs-up:before { - content: "\e125"; -} -.glyphicon-thumbs-down:before { - content: "\e126"; -} -.glyphicon-hand-right:before { - content: "\e127"; -} -.glyphicon-hand-left:before { - content: "\e128"; -} -.glyphicon-hand-up:before { - content: "\e129"; -} -.glyphicon-hand-down:before { - content: "\e130"; -} -.glyphicon-circle-arrow-right:before { - content: "\e131"; -} -.glyphicon-circle-arrow-left:before { - content: "\e132"; -} -.glyphicon-circle-arrow-up:before { - content: "\e133"; -} -.glyphicon-circle-arrow-down:before { - content: "\e134"; -} -.glyphicon-globe:before { - content: "\e135"; -} -.glyphicon-wrench:before { - content: "\e136"; -} -.glyphicon-tasks:before { - content: "\e137"; -} -.glyphicon-filter:before { - content: "\e138"; -} -.glyphicon-briefcase:before { - content: "\e139"; -} -.glyphicon-fullscreen:before { - content: "\e140"; -} -.glyphicon-dashboard:before { - content: "\e141"; -} -.glyphicon-paperclip:before { - content: "\e142"; -} -.glyphicon-heart-empty:before { - content: "\e143"; -} -.glyphicon-link:before { - content: "\e144"; -} -.glyphicon-phone:before { - content: "\e145"; -} -.glyphicon-pushpin:before { - content: "\e146"; -} -.glyphicon-usd:before { - content: "\e148"; -} -.glyphicon-gbp:before { - content: "\e149"; -} -.glyphicon-sort:before { - content: "\e150"; -} -.glyphicon-sort-by-alphabet:before { - content: "\e151"; -} -.glyphicon-sort-by-alphabet-alt:before { - content: "\e152"; -} -.glyphicon-sort-by-order:before { - content: "\e153"; -} -.glyphicon-sort-by-order-alt:before { - content: "\e154"; -} -.glyphicon-sort-by-attributes:before { - content: "\e155"; -} -.glyphicon-sort-by-attributes-alt:before { - content: "\e156"; -} -.glyphicon-unchecked:before { - content: "\e157"; -} -.glyphicon-expand:before { - content: "\e158"; -} -.glyphicon-collapse-down:before { - content: "\e159"; -} -.glyphicon-collapse-up:before { - content: "\e160"; -} -.glyphicon-log-in:before { - content: "\e161"; -} -.glyphicon-flash:before { - content: "\e162"; -} -.glyphicon-log-out:before { - content: "\e163"; -} -.glyphicon-new-window:before { - content: "\e164"; -} -.glyphicon-record:before { - content: "\e165"; -} -.glyphicon-save:before { - content: "\e166"; -} -.glyphicon-open:before { - content: "\e167"; -} -.glyphicon-saved:before { - content: "\e168"; -} -.glyphicon-import:before { - content: "\e169"; -} -.glyphicon-export:before { - content: "\e170"; -} -.glyphicon-send:before { - content: "\e171"; -} -.glyphicon-floppy-disk:before { - content: "\e172"; -} -.glyphicon-floppy-saved:before { - content: "\e173"; -} -.glyphicon-floppy-remove:before { - content: "\e174"; -} -.glyphicon-floppy-save:before { - content: "\e175"; -} -.glyphicon-floppy-open:before { - content: "\e176"; -} -.glyphicon-credit-card:before { - content: "\e177"; -} -.glyphicon-transfer:before { - content: "\e178"; -} -.glyphicon-cutlery:before { - content: "\e179"; -} -.glyphicon-header:before { - content: "\e180"; -} -.glyphicon-compressed:before { - content: "\e181"; -} -.glyphicon-earphone:before { - content: "\e182"; -} -.glyphicon-phone-alt:before { - content: "\e183"; -} -.glyphicon-tower:before { - content: "\e184"; -} -.glyphicon-stats:before { - content: "\e185"; -} -.glyphicon-sd-video:before { - content: "\e186"; -} -.glyphicon-hd-video:before { - content: "\e187"; -} -.glyphicon-subtitles:before { - content: "\e188"; -} -.glyphicon-sound-stereo:before { - content: "\e189"; -} -.glyphicon-sound-dolby:before { - content: "\e190"; -} -.glyphicon-sound-5-1:before { - content: "\e191"; -} -.glyphicon-sound-6-1:before { - content: "\e192"; -} -.glyphicon-sound-7-1:before { - content: "\e193"; -} -.glyphicon-copyright-mark:before { - content: "\e194"; -} -.glyphicon-registration-mark:before { - content: "\e195"; -} -.glyphicon-cloud-download:before { - content: "\e197"; -} -.glyphicon-cloud-upload:before { - content: "\e198"; -} -.glyphicon-tree-conifer:before { - content: "\e199"; -} -.glyphicon-tree-deciduous:before { - content: "\e200"; -} -.glyphicon-cd:before { - content: "\e201"; -} -.glyphicon-save-file:before { - content: "\e202"; -} -.glyphicon-open-file:before { - content: "\e203"; -} -.glyphicon-level-up:before { - content: "\e204"; -} -.glyphicon-copy:before { - content: "\e205"; -} -.glyphicon-paste:before { - content: "\e206"; -} -.glyphicon-alert:before { - content: "\e209"; -} -.glyphicon-equalizer:before { - content: "\e210"; -} -.glyphicon-king:before { - content: "\e211"; -} -.glyphicon-queen:before { - content: "\e212"; -} -.glyphicon-pawn:before { - content: "\e213"; -} -.glyphicon-bishop:before { - content: "\e214"; -} -.glyphicon-knight:before { - content: "\e215"; -} -.glyphicon-baby-formula:before { - content: "\e216"; -} -.glyphicon-tent:before { - content: "\26fa"; -} -.glyphicon-blackboard:before { - content: "\e218"; -} -.glyphicon-bed:before { - content: "\e219"; -} -.glyphicon-apple:before { - content: "\f8ff"; -} -.glyphicon-erase:before { - content: "\e221"; -} -.glyphicon-hourglass:before { - content: "\231b"; -} -.glyphicon-lamp:before { - content: "\e223"; -} -.glyphicon-duplicate:before { - content: "\e224"; -} -.glyphicon-piggy-bank:before { - content: "\e225"; -} -.glyphicon-scissors:before { - content: "\e226"; -} -.glyphicon-bitcoin:before { - content: "\e227"; -} -.glyphicon-btc:before { - content: "\e227"; -} -.glyphicon-xbt:before { - content: "\e227"; -} -.glyphicon-yen:before { - content: "\00a5"; -} -.glyphicon-jpy:before { - content: "\00a5"; -} -.glyphicon-ruble:before { - content: "\20bd"; -} -.glyphicon-rub:before { - content: "\20bd"; -} -.glyphicon-scale:before { - content: "\e230"; -} -.glyphicon-ice-lolly:before { - content: "\e231"; -} -.glyphicon-ice-lolly-tasted:before { - content: "\e232"; -} -.glyphicon-education:before { - content: "\e233"; -} -.glyphicon-option-horizontal:before { - content: "\e234"; -} -.glyphicon-option-vertical:before { - content: "\e235"; -} -.glyphicon-menu-hamburger:before { - content: "\e236"; -} -.glyphicon-modal-window:before { - content: "\e237"; -} -.glyphicon-oil:before { - content: "\e238"; -} -.glyphicon-grain:before { - content: "\e239"; -} -.glyphicon-sunglasses:before { - content: "\e240"; -} -.glyphicon-text-size:before { - content: "\e241"; -} -.glyphicon-text-color:before { - content: "\e242"; -} -.glyphicon-text-background:before { - content: "\e243"; -} -.glyphicon-object-align-top:before { - content: "\e244"; -} -.glyphicon-object-align-bottom:before { - content: "\e245"; -} -.glyphicon-object-align-horizontal:before { - content: "\e246"; -} -.glyphicon-object-align-left:before { - content: "\e247"; -} -.glyphicon-object-align-vertical:before { - content: "\e248"; -} -.glyphicon-object-align-right:before { - content: "\e249"; -} -.glyphicon-triangle-right:before { - content: "\e250"; -} -.glyphicon-triangle-left:before { - content: "\e251"; -} -.glyphicon-triangle-bottom:before { - content: "\e252"; -} -.glyphicon-triangle-top:before { - content: "\e253"; -} -.glyphicon-console:before { - content: "\e254"; -} -.glyphicon-superscript:before { - content: "\e255"; -} -.glyphicon-subscript:before { - content: "\e256"; -} -.glyphicon-menu-left:before { - content: "\e257"; -} -.glyphicon-menu-right:before { - content: "\e258"; -} -.glyphicon-menu-down:before { - content: "\e259"; -} -.glyphicon-menu-up:before { - content: "\e260"; -} -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -*:before, -*:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -html { - font-size: 10px; - - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #333; - background-color: #fff; -} -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} -a { - color: #337ab7; - text-decoration: none; -} -a:hover, -a:focus { - color: #23527c; - text-decoration: underline; -} -a:focus { - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -figure { - margin: 0; -} -img { - vertical-align: middle; -} -.img-responsive, -.thumbnail > img, -.thumbnail a > img, -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - max-width: 100%; - height: auto; -} -.img-rounded { - border-radius: 6px; -} -.img-thumbnail { - display: inline-block; - max-width: 100%; - height: auto; - padding: 4px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; -} -.img-circle { - border-radius: 50%; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eee; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} -[role="button"] { - cursor: pointer; -} -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #777; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 10px; -} -h1 small, -.h1 small, -h2 small, -.h2 small, -h3 small, -.h3 small, -h1 .small, -.h1 .small, -h2 .small, -.h2 .small, -h3 .small, -.h3 .small { - font-size: 65%; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { - margin-top: 10px; - margin-bottom: 10px; -} -h4 small, -.h4 small, -h5 small, -.h5 small, -h6 small, -.h6 small, -h4 .small, -.h4 .small, -h5 .small, -.h5 .small, -h6 .small, -.h6 .small { - font-size: 75%; -} -h1, -.h1 { - font-size: 36px; -} -h2, -.h2 { - font-size: 30px; -} -h3, -.h3 { - font-size: 24px; -} -h4, -.h4 { - font-size: 18px; -} -h5, -.h5 { - font-size: 14px; -} -h6, -.h6 { - font-size: 12px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 300; - line-height: 1.4; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -small, -.small { - font-size: 85%; -} -mark, -.mark { - padding: .2em; - background-color: #fcf8e3; -} -.text-left { - text-align: left; -} -.text-right { - text-align: right; -} -.text-center { - text-align: center; -} -.text-justify { - text-align: justify; -} -.text-nowrap { - white-space: nowrap; -} -.text-lowercase { - text-transform: lowercase; -} -.text-uppercase { - text-transform: uppercase; -} -.text-capitalize { - text-transform: capitalize; -} -.text-muted { - color: #777; -} -.text-primary { - color: #337ab7; -} -a.text-primary:hover, -a.text-primary:focus { - color: #286090; -} -.text-success { - color: #3c763d; -} -a.text-success:hover, -a.text-success:focus { - color: #2b542c; -} -.text-info { - color: #31708f; -} -a.text-info:hover, -a.text-info:focus { - color: #245269; -} -.text-warning { - color: #8a6d3b; -} -a.text-warning:hover, -a.text-warning:focus { - color: #66512c; -} -.text-danger { - color: #a94442; -} -a.text-danger:hover, -a.text-danger:focus { - color: #843534; -} -.bg-primary { - color: #fff; - background-color: #337ab7; -} -a.bg-primary:hover, -a.bg-primary:focus { - background-color: #286090; -} -.bg-success { - background-color: #dff0d8; -} -a.bg-success:hover, -a.bg-success:focus { - background-color: #c1e2b3; -} -.bg-info { - background-color: #d9edf7; -} -a.bg-info:hover, -a.bg-info:focus { - background-color: #afd9ee; -} -.bg-warning { - background-color: #fcf8e3; -} -a.bg-warning:hover, -a.bg-warning:focus { - background-color: #f7ecb5; -} -.bg-danger { - background-color: #f2dede; -} -a.bg-danger:hover, -a.bg-danger:focus { - background-color: #e4b9b9; -} -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eee; -} -ul, -ol { - margin-top: 0; - margin-bottom: 10px; -} -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} -.list-unstyled { - padding-left: 0; - list-style: none; -} -.list-inline { - padding-left: 0; - margin-left: -5px; - list-style: none; -} -.list-inline > li { - display: inline-block; - padding-right: 5px; - padding-left: 5px; -} -dl { - margin-top: 0; - margin-bottom: 20px; -} -dt, -dd { - line-height: 1.42857143; -} -dt { - font-weight: bold; -} -dd { - margin-left: 0; -} -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - overflow: hidden; - clear: left; - text-align: right; - text-overflow: ellipsis; - white-space: nowrap; - } - .dl-horizontal dd { - margin-left: 180px; - } -} -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #777; -} -.initialism { - font-size: 90%; - text-transform: uppercase; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #eee; -} -blockquote p:last-child, -blockquote ul:last-child, -blockquote ol:last-child { - margin-bottom: 0; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #777; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - text-align: right; - border-right: 5px solid #eee; - border-left: 0; -} -.blockquote-reverse footer:before, -blockquote.pull-right footer:before, -.blockquote-reverse small:before, -blockquote.pull-right small:before, -.blockquote-reverse .small:before, -blockquote.pull-right .small:before { - content: ''; -} -.blockquote-reverse footer:after, -blockquote.pull-right footer:after, -.blockquote-reverse small:after, -blockquote.pull-right small:after, -.blockquote-reverse .small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.42857143; -} -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - border-radius: 4px; -} -kbd { - padding: 2px 4px; - font-size: 90%; - color: #fff; - background-color: #333; - border-radius: 3px; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); -} -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: bold; - -webkit-box-shadow: none; - box-shadow: none; -} -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - color: #333; - word-break: break-all; - word-wrap: break-word; - background-color: #f5f5f5; - border: 1px solid #ccc; - border-radius: 4px; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} -.container { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} -@media (min-width: 768px) { - .container { - width: 750px; - } -} -@media (min-width: 992px) { - .container { - width: 970px; - } -} -@media (min-width: 1200px) { - .container { - width: 1170px; - } -} -.container-fluid { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} -.row { - margin-right: -15px; - margin-left: -15px; -} -.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { - position: relative; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; -} -.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { - float: left; -} -.col-xs-12 { - width: 100%; -} -.col-xs-11 { - width: 91.66666667%; -} -.col-xs-10 { - width: 83.33333333%; -} -.col-xs-9 { - width: 75%; -} -.col-xs-8 { - width: 66.66666667%; -} -.col-xs-7 { - width: 58.33333333%; -} -.col-xs-6 { - width: 50%; -} -.col-xs-5 { - width: 41.66666667%; -} -.col-xs-4 { - width: 33.33333333%; -} -.col-xs-3 { - width: 25%; -} -.col-xs-2 { - width: 16.66666667%; -} -.col-xs-1 { - width: 8.33333333%; -} -.col-xs-pull-12 { - right: 100%; -} -.col-xs-pull-11 { - right: 91.66666667%; -} -.col-xs-pull-10 { - right: 83.33333333%; -} -.col-xs-pull-9 { - right: 75%; -} -.col-xs-pull-8 { - right: 66.66666667%; -} -.col-xs-pull-7 { - right: 58.33333333%; -} -.col-xs-pull-6 { - right: 50%; -} -.col-xs-pull-5 { - right: 41.66666667%; -} -.col-xs-pull-4 { - right: 33.33333333%; -} -.col-xs-pull-3 { - right: 25%; -} -.col-xs-pull-2 { - right: 16.66666667%; -} -.col-xs-pull-1 { - right: 8.33333333%; -} -.col-xs-pull-0 { - right: auto; -} -.col-xs-push-12 { - left: 100%; -} -.col-xs-push-11 { - left: 91.66666667%; -} -.col-xs-push-10 { - left: 83.33333333%; -} -.col-xs-push-9 { - left: 75%; -} -.col-xs-push-8 { - left: 66.66666667%; -} -.col-xs-push-7 { - left: 58.33333333%; -} -.col-xs-push-6 { - left: 50%; -} -.col-xs-push-5 { - left: 41.66666667%; -} -.col-xs-push-4 { - left: 33.33333333%; -} -.col-xs-push-3 { - left: 25%; -} -.col-xs-push-2 { - left: 16.66666667%; -} -.col-xs-push-1 { - left: 8.33333333%; -} -.col-xs-push-0 { - left: auto; -} -.col-xs-offset-12 { - margin-left: 100%; -} -.col-xs-offset-11 { - margin-left: 91.66666667%; -} -.col-xs-offset-10 { - margin-left: 83.33333333%; -} -.col-xs-offset-9 { - margin-left: 75%; -} -.col-xs-offset-8 { - margin-left: 66.66666667%; -} -.col-xs-offset-7 { - margin-left: 58.33333333%; -} -.col-xs-offset-6 { - margin-left: 50%; -} -.col-xs-offset-5 { - margin-left: 41.66666667%; -} -.col-xs-offset-4 { - margin-left: 33.33333333%; -} -.col-xs-offset-3 { - margin-left: 25%; -} -.col-xs-offset-2 { - margin-left: 16.66666667%; -} -.col-xs-offset-1 { - margin-left: 8.33333333%; -} -.col-xs-offset-0 { - margin-left: 0; -} -@media (min-width: 768px) { - .col-sm-1, .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-10, .col-sm-11, .col-sm-12 { - float: left; - } - .col-sm-12 { - width: 100%; - } - .col-sm-11 { - width: 91.66666667%; - } - .col-sm-10 { - width: 83.33333333%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666667%; - } - .col-sm-7 { - width: 58.33333333%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666667%; - } - .col-sm-4 { - width: 33.33333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.66666667%; - } - .col-sm-1 { - width: 8.33333333%; - } - .col-sm-pull-12 { - right: 100%; - } - .col-sm-pull-11 { - right: 91.66666667%; - } - .col-sm-pull-10 { - right: 83.33333333%; - } - .col-sm-pull-9 { - right: 75%; - } - .col-sm-pull-8 { - right: 66.66666667%; - } - .col-sm-pull-7 { - right: 58.33333333%; - } - .col-sm-pull-6 { - right: 50%; - } - .col-sm-pull-5 { - right: 41.66666667%; - } - .col-sm-pull-4 { - right: 33.33333333%; - } - .col-sm-pull-3 { - right: 25%; - } - .col-sm-pull-2 { - right: 16.66666667%; - } - .col-sm-pull-1 { - right: 8.33333333%; - } - .col-sm-pull-0 { - right: auto; - } - .col-sm-push-12 { - left: 100%; - } - .col-sm-push-11 { - left: 91.66666667%; - } - .col-sm-push-10 { - left: 83.33333333%; - } - .col-sm-push-9 { - left: 75%; - } - .col-sm-push-8 { - left: 66.66666667%; - } - .col-sm-push-7 { - left: 58.33333333%; - } - .col-sm-push-6 { - left: 50%; - } - .col-sm-push-5 { - left: 41.66666667%; - } - .col-sm-push-4 { - left: 33.33333333%; - } - .col-sm-push-3 { - left: 25%; - } - .col-sm-push-2 { - left: 16.66666667%; - } - .col-sm-push-1 { - left: 8.33333333%; - } - .col-sm-push-0 { - left: auto; - } - .col-sm-offset-12 { - margin-left: 100%; - } - .col-sm-offset-11 { - margin-left: 91.66666667%; - } - .col-sm-offset-10 { - margin-left: 83.33333333%; - } - .col-sm-offset-9 { - margin-left: 75%; - } - .col-sm-offset-8 { - margin-left: 66.66666667%; - } - .col-sm-offset-7 { - margin-left: 58.33333333%; - } - .col-sm-offset-6 { - margin-left: 50%; - } - .col-sm-offset-5 { - margin-left: 41.66666667%; - } - .col-sm-offset-4 { - margin-left: 33.33333333%; - } - .col-sm-offset-3 { - margin-left: 25%; - } - .col-sm-offset-2 { - margin-left: 16.66666667%; - } - .col-sm-offset-1 { - margin-left: 8.33333333%; - } - .col-sm-offset-0 { - margin-left: 0; - } -} -@media (min-width: 992px) { - .col-md-1, .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-10, .col-md-11, .col-md-12 { - float: left; - } - .col-md-12 { - width: 100%; - } - .col-md-11 { - width: 91.66666667%; - } - .col-md-10 { - width: 83.33333333%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666667%; - } - .col-md-7 { - width: 58.33333333%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666667%; - } - .col-md-4 { - width: 33.33333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.66666667%; - } - .col-md-1 { - width: 8.33333333%; - } - .col-md-pull-12 { - right: 100%; - } - .col-md-pull-11 { - right: 91.66666667%; - } - .col-md-pull-10 { - right: 83.33333333%; - } - .col-md-pull-9 { - right: 75%; - } - .col-md-pull-8 { - right: 66.66666667%; - } - .col-md-pull-7 { - right: 58.33333333%; - } - .col-md-pull-6 { - right: 50%; - } - .col-md-pull-5 { - right: 41.66666667%; - } - .col-md-pull-4 { - right: 33.33333333%; - } - .col-md-pull-3 { - right: 25%; - } - .col-md-pull-2 { - right: 16.66666667%; - } - .col-md-pull-1 { - right: 8.33333333%; - } - .col-md-pull-0 { - right: auto; - } - .col-md-push-12 { - left: 100%; - } - .col-md-push-11 { - left: 91.66666667%; - } - .col-md-push-10 { - left: 83.33333333%; - } - .col-md-push-9 { - left: 75%; - } - .col-md-push-8 { - left: 66.66666667%; - } - .col-md-push-7 { - left: 58.33333333%; - } - .col-md-push-6 { - left: 50%; - } - .col-md-push-5 { - left: 41.66666667%; - } - .col-md-push-4 { - left: 33.33333333%; - } - .col-md-push-3 { - left: 25%; - } - .col-md-push-2 { - left: 16.66666667%; - } - .col-md-push-1 { - left: 8.33333333%; - } - .col-md-push-0 { - left: auto; - } - .col-md-offset-12 { - margin-left: 100%; - } - .col-md-offset-11 { - margin-left: 91.66666667%; - } - .col-md-offset-10 { - margin-left: 83.33333333%; - } - .col-md-offset-9 { - margin-left: 75%; - } - .col-md-offset-8 { - margin-left: 66.66666667%; - } - .col-md-offset-7 { - margin-left: 58.33333333%; - } - .col-md-offset-6 { - margin-left: 50%; - } - .col-md-offset-5 { - margin-left: 41.66666667%; - } - .col-md-offset-4 { - margin-left: 33.33333333%; - } - .col-md-offset-3 { - margin-left: 25%; - } - .col-md-offset-2 { - margin-left: 16.66666667%; - } - .col-md-offset-1 { - margin-left: 8.33333333%; - } - .col-md-offset-0 { - margin-left: 0; - } -} -@media (min-width: 1200px) { - .col-lg-1, .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-10, .col-lg-11, .col-lg-12 { - float: left; - } - .col-lg-12 { - width: 100%; - } - .col-lg-11 { - width: 91.66666667%; - } - .col-lg-10 { - width: 83.33333333%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666667%; - } - .col-lg-7 { - width: 58.33333333%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666667%; - } - .col-lg-4 { - width: 33.33333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.66666667%; - } - .col-lg-1 { - width: 8.33333333%; - } - .col-lg-pull-12 { - right: 100%; - } - .col-lg-pull-11 { - right: 91.66666667%; - } - .col-lg-pull-10 { - right: 83.33333333%; - } - .col-lg-pull-9 { - right: 75%; - } - .col-lg-pull-8 { - right: 66.66666667%; - } - .col-lg-pull-7 { - right: 58.33333333%; - } - .col-lg-pull-6 { - right: 50%; - } - .col-lg-pull-5 { - right: 41.66666667%; - } - .col-lg-pull-4 { - right: 33.33333333%; - } - .col-lg-pull-3 { - right: 25%; - } - .col-lg-pull-2 { - right: 16.66666667%; - } - .col-lg-pull-1 { - right: 8.33333333%; - } - .col-lg-pull-0 { - right: auto; - } - .col-lg-push-12 { - left: 100%; - } - .col-lg-push-11 { - left: 91.66666667%; - } - .col-lg-push-10 { - left: 83.33333333%; - } - .col-lg-push-9 { - left: 75%; - } - .col-lg-push-8 { - left: 66.66666667%; - } - .col-lg-push-7 { - left: 58.33333333%; - } - .col-lg-push-6 { - left: 50%; - } - .col-lg-push-5 { - left: 41.66666667%; - } - .col-lg-push-4 { - left: 33.33333333%; - } - .col-lg-push-3 { - left: 25%; - } - .col-lg-push-2 { - left: 16.66666667%; - } - .col-lg-push-1 { - left: 8.33333333%; - } - .col-lg-push-0 { - left: auto; - } - .col-lg-offset-12 { - margin-left: 100%; - } - .col-lg-offset-11 { - margin-left: 91.66666667%; - } - .col-lg-offset-10 { - margin-left: 83.33333333%; - } - .col-lg-offset-9 { - margin-left: 75%; - } - .col-lg-offset-8 { - margin-left: 66.66666667%; - } - .col-lg-offset-7 { - margin-left: 58.33333333%; - } - .col-lg-offset-6 { - margin-left: 50%; - } - .col-lg-offset-5 { - margin-left: 41.66666667%; - } - .col-lg-offset-4 { - margin-left: 33.33333333%; - } - .col-lg-offset-3 { - margin-left: 25%; - } - .col-lg-offset-2 { - margin-left: 16.66666667%; - } - .col-lg-offset-1 { - margin-left: 8.33333333%; - } - .col-lg-offset-0 { - margin-left: 0; - } -} -table { - background-color: transparent; -} -caption { - padding-top: 8px; - padding-bottom: 8px; - color: #777; - text-align: left; -} -th { - text-align: left; -} -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #ddd; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #ddd; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #ddd; -} -.table .table { - background-color: #fff; -} -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} -.table-bordered { - border: 1px solid #ddd; -} -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #ddd; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.table-striped > tbody > tr:nth-of-type(odd) { - background-color: #f9f9f9; -} -.table-hover > tbody > tr:hover { - background-color: #f5f5f5; -} -table col[class*="col-"] { - position: static; - display: table-column; - float: none; -} -table td[class*="col-"], -table th[class*="col-"] { - position: static; - display: table-cell; - float: none; -} -.table > thead > tr > td.active, -.table > tbody > tr > td.active, -.table > tfoot > tr > td.active, -.table > thead > tr > th.active, -.table > tbody > tr > th.active, -.table > tfoot > tr > th.active, -.table > thead > tr.active > td, -.table > tbody > tr.active > td, -.table > tfoot > tr.active > td, -.table > thead > tr.active > th, -.table > tbody > tr.active > th, -.table > tfoot > tr.active > th { - background-color: #f5f5f5; -} -.table-hover > tbody > tr > td.active:hover, -.table-hover > tbody > tr > th.active:hover, -.table-hover > tbody > tr.active:hover > td, -.table-hover > tbody > tr:hover > .active, -.table-hover > tbody > tr.active:hover > th { - background-color: #e8e8e8; -} -.table > thead > tr > td.success, -.table > tbody > tr > td.success, -.table > tfoot > tr > td.success, -.table > thead > tr > th.success, -.table > tbody > tr > th.success, -.table > tfoot > tr > th.success, -.table > thead > tr.success > td, -.table > tbody > tr.success > td, -.table > tfoot > tr.success > td, -.table > thead > tr.success > th, -.table > tbody > tr.success > th, -.table > tfoot > tr.success > th { - background-color: #dff0d8; -} -.table-hover > tbody > tr > td.success:hover, -.table-hover > tbody > tr > th.success:hover, -.table-hover > tbody > tr.success:hover > td, -.table-hover > tbody > tr:hover > .success, -.table-hover > tbody > tr.success:hover > th { - background-color: #d0e9c6; -} -.table > thead > tr > td.info, -.table > tbody > tr > td.info, -.table > tfoot > tr > td.info, -.table > thead > tr > th.info, -.table > tbody > tr > th.info, -.table > tfoot > tr > th.info, -.table > thead > tr.info > td, -.table > tbody > tr.info > td, -.table > tfoot > tr.info > td, -.table > thead > tr.info > th, -.table > tbody > tr.info > th, -.table > tfoot > tr.info > th { - background-color: #d9edf7; -} -.table-hover > tbody > tr > td.info:hover, -.table-hover > tbody > tr > th.info:hover, -.table-hover > tbody > tr.info:hover > td, -.table-hover > tbody > tr:hover > .info, -.table-hover > tbody > tr.info:hover > th { - background-color: #c4e3f3; -} -.table > thead > tr > td.warning, -.table > tbody > tr > td.warning, -.table > tfoot > tr > td.warning, -.table > thead > tr > th.warning, -.table > tbody > tr > th.warning, -.table > tfoot > tr > th.warning, -.table > thead > tr.warning > td, -.table > tbody > tr.warning > td, -.table > tfoot > tr.warning > td, -.table > thead > tr.warning > th, -.table > tbody > tr.warning > th, -.table > tfoot > tr.warning > th { - background-color: #fcf8e3; -} -.table-hover > tbody > tr > td.warning:hover, -.table-hover > tbody > tr > th.warning:hover, -.table-hover > tbody > tr.warning:hover > td, -.table-hover > tbody > tr:hover > .warning, -.table-hover > tbody > tr.warning:hover > th { - background-color: #faf2cc; -} -.table > thead > tr > td.danger, -.table > tbody > tr > td.danger, -.table > tfoot > tr > td.danger, -.table > thead > tr > th.danger, -.table > tbody > tr > th.danger, -.table > tfoot > tr > th.danger, -.table > thead > tr.danger > td, -.table > tbody > tr.danger > td, -.table > tfoot > tr.danger > td, -.table > thead > tr.danger > th, -.table > tbody > tr.danger > th, -.table > tfoot > tr.danger > th { - background-color: #f2dede; -} -.table-hover > tbody > tr > td.danger:hover, -.table-hover > tbody > tr > th.danger:hover, -.table-hover > tbody > tr.danger:hover > td, -.table-hover > tbody > tr:hover > .danger, -.table-hover > tbody > tr.danger:hover > th { - background-color: #ebcccc; -} -.table-responsive { - min-height: .01%; - overflow-x: auto; -} -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-y: hidden; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #ddd; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333; - border: 0; - border-bottom: 1px solid #e5e5e5; -} -label { - display: inline-block; - max-width: 100%; - margin-bottom: 5px; - font-weight: bold; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - line-height: normal; -} -input[type="file"] { - display: block; -} -input[type="range"] { - display: block; - width: 100%; -} -select[multiple], -select[size] { - height: auto; -} -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.42857143; - color: #555; -} -.form-control { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - color: #555; - background-color: #fff; - background-image: none; - border: 1px solid #ccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} -.form-control:focus { - border-color: #66afe9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); -} -.form-control::-moz-placeholder { - color: #999; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #999; -} -.form-control::-webkit-input-placeholder { - color: #999; -} -.form-control::-ms-expand { - background-color: transparent; - border: 0; -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - background-color: #eee; - opacity: 1; -} -.form-control[disabled], -fieldset[disabled] .form-control { - cursor: not-allowed; -} -textarea.form-control { - height: auto; -} -input[type="search"] { - -webkit-appearance: none; -} -@media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type="date"].form-control, - input[type="time"].form-control, - input[type="datetime-local"].form-control, - input[type="month"].form-control { - line-height: 34px; - } - input[type="date"].input-sm, - input[type="time"].input-sm, - input[type="datetime-local"].input-sm, - input[type="month"].input-sm, - .input-group-sm input[type="date"], - .input-group-sm input[type="time"], - .input-group-sm input[type="datetime-local"], - .input-group-sm input[type="month"] { - line-height: 30px; - } - input[type="date"].input-lg, - input[type="time"].input-lg, - input[type="datetime-local"].input-lg, - input[type="month"].input-lg, - .input-group-lg input[type="date"], - .input-group-lg input[type="time"], - .input-group-lg input[type="datetime-local"], - .input-group-lg input[type="month"] { - line-height: 46px; - } -} -.form-group { - margin-bottom: 15px; -} -.radio, -.checkbox { - position: relative; - display: block; - margin-top: 10px; - margin-bottom: 10px; -} -.radio label, -.checkbox label { - min-height: 20px; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - position: absolute; - margin-top: 4px \9; - margin-left: -20px; -} -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; -} -.radio-inline, -.checkbox-inline { - position: relative; - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - vertical-align: middle; - cursor: pointer; -} -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; -} -input[type="radio"][disabled], -input[type="checkbox"][disabled], -input[type="radio"].disabled, -input[type="checkbox"].disabled, -fieldset[disabled] input[type="radio"], -fieldset[disabled] input[type="checkbox"] { - cursor: not-allowed; -} -.radio-inline.disabled, -.checkbox-inline.disabled, -fieldset[disabled] .radio-inline, -fieldset[disabled] .checkbox-inline { - cursor: not-allowed; -} -.radio.disabled label, -.checkbox.disabled label, -fieldset[disabled] .radio label, -fieldset[disabled] .checkbox label { - cursor: not-allowed; -} -.form-control-static { - min-height: 34px; - padding-top: 7px; - padding-bottom: 7px; - margin-bottom: 0; -} -.form-control-static.input-lg, -.form-control-static.input-sm { - padding-right: 0; - padding-left: 0; -} -.input-sm { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-sm { - height: 30px; - line-height: 30px; -} -textarea.input-sm, -select[multiple].input-sm { - height: auto; -} -.form-group-sm .form-control { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.form-group-sm select.form-control { - height: 30px; - line-height: 30px; -} -.form-group-sm textarea.form-control, -.form-group-sm select[multiple].form-control { - height: auto; -} -.form-group-sm .form-control-static { - height: 30px; - min-height: 32px; - padding: 6px 10px; - font-size: 12px; - line-height: 1.5; -} -.input-lg { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -select.input-lg { - height: 46px; - line-height: 46px; -} -textarea.input-lg, -select[multiple].input-lg { - height: auto; -} -.form-group-lg .form-control { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -.form-group-lg select.form-control { - height: 46px; - line-height: 46px; -} -.form-group-lg textarea.form-control, -.form-group-lg select[multiple].form-control { - height: auto; -} -.form-group-lg .form-control-static { - height: 46px; - min-height: 38px; - padding: 11px 16px; - font-size: 18px; - line-height: 1.3333333; -} -.has-feedback { - position: relative; -} -.has-feedback .form-control { - padding-right: 42.5px; -} -.form-control-feedback { - position: absolute; - top: 0; - right: 0; - z-index: 2; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; - pointer-events: none; -} -.input-lg + .form-control-feedback, -.input-group-lg + .form-control-feedback, -.form-group-lg .form-control + .form-control-feedback { - width: 46px; - height: 46px; - line-height: 46px; -} -.input-sm + .form-control-feedback, -.input-group-sm + .form-control-feedback, -.form-group-sm .form-control + .form-control-feedback { - width: 30px; - height: 30px; - line-height: 30px; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline, -.has-success.radio label, -.has-success.checkbox label, -.has-success.radio-inline label, -.has-success.checkbox-inline label { - color: #3c763d; -} -.has-success .form-control { - border-color: #3c763d; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-success .form-control:focus { - border-color: #2b542c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; -} -.has-success .input-group-addon { - color: #3c763d; - background-color: #dff0d8; - border-color: #3c763d; -} -.has-success .form-control-feedback { - color: #3c763d; -} -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline, -.has-warning.radio label, -.has-warning.checkbox label, -.has-warning.radio-inline label, -.has-warning.checkbox-inline label { - color: #8a6d3b; -} -.has-warning .form-control { - border-color: #8a6d3b; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-warning .form-control:focus { - border-color: #66512c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; -} -.has-warning .input-group-addon { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #8a6d3b; -} -.has-warning .form-control-feedback { - color: #8a6d3b; -} -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline, -.has-error.radio label, -.has-error.checkbox label, -.has-error.radio-inline label, -.has-error.checkbox-inline label { - color: #a94442; -} -.has-error .form-control { - border-color: #a94442; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-error .form-control:focus { - border-color: #843534; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; -} -.has-error .input-group-addon { - color: #a94442; - background-color: #f2dede; - border-color: #a94442; -} -.has-error .form-control-feedback { - color: #a94442; -} -.has-feedback label ~ .form-control-feedback { - top: 25px; -} -.has-feedback label.sr-only ~ .form-control-feedback { - top: 0; -} -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373; -} -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-static { - display: inline-block; - } - .form-inline .input-group { - display: inline-table; - vertical-align: middle; - } - .form-inline .input-group .input-group-addon, - .form-inline .input-group .input-group-btn, - .form-inline .input-group .form-control { - width: auto; - } - .form-inline .input-group > .form-control { - width: 100%; - } - .form-inline .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio, - .form-inline .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio label, - .form-inline .checkbox label { - padding-left: 0; - } - .form-inline .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .form-inline .has-feedback .form-control-feedback { - top: 0; - } -} -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - padding-top: 7px; - margin-top: 0; - margin-bottom: 0; -} -.form-horizontal .radio, -.form-horizontal .checkbox { - min-height: 27px; -} -.form-horizontal .form-group { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .form-horizontal .control-label { - padding-top: 7px; - margin-bottom: 0; - text-align: right; - } -} -.form-horizontal .has-feedback .form-control-feedback { - right: 15px; -} -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 11px; - font-size: 18px; - } -} -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 6px; - font-size: 12px; - } -} -.btn { - display: inline-block; - padding: 6px 12px; - margin-bottom: 0; - font-size: 14px; - font-weight: normal; - line-height: 1.42857143; - text-align: center; - white-space: nowrap; - vertical-align: middle; - -ms-touch-action: manipulation; - touch-action: manipulation; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; -} -.btn:focus, -.btn:active:focus, -.btn.active:focus, -.btn.focus, -.btn:active.focus, -.btn.active.focus { - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn:hover, -.btn:focus, -.btn.focus { - color: #333; - text-decoration: none; -} -.btn:active, -.btn.active { - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -} -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - cursor: not-allowed; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; - opacity: .65; -} -a.btn.disabled, -fieldset[disabled] a.btn { - pointer-events: none; -} -.btn-default { - color: #333; - background-color: #fff; - border-color: #ccc; -} -.btn-default:focus, -.btn-default.focus { - color: #333; - background-color: #e6e6e6; - border-color: #8c8c8c; -} -.btn-default:hover { - color: #333; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - color: #333; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-default:active:hover, -.btn-default.active:hover, -.open > .dropdown-toggle.btn-default:hover, -.btn-default:active:focus, -.btn-default.active:focus, -.open > .dropdown-toggle.btn-default:focus, -.btn-default:active.focus, -.btn-default.active.focus, -.open > .dropdown-toggle.btn-default.focus { - color: #333; - background-color: #d4d4d4; - border-color: #8c8c8c; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-image: none; -} -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled.focus, -.btn-default[disabled].focus, -fieldset[disabled] .btn-default.focus { - background-color: #fff; - border-color: #ccc; -} -.btn-default .badge { - color: #fff; - background-color: #333; -} -.btn-primary { - color: #fff; - background-color: #337ab7; - border-color: #2e6da4; -} -.btn-primary:focus, -.btn-primary.focus { - color: #fff; - background-color: #286090; - border-color: #122b40; -} -.btn-primary:hover { - color: #fff; - background-color: #286090; - border-color: #204d74; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - color: #fff; - background-color: #286090; - border-color: #204d74; -} -.btn-primary:active:hover, -.btn-primary.active:hover, -.open > .dropdown-toggle.btn-primary:hover, -.btn-primary:active:focus, -.btn-primary.active:focus, -.open > .dropdown-toggle.btn-primary:focus, -.btn-primary:active.focus, -.btn-primary.active.focus, -.open > .dropdown-toggle.btn-primary.focus { - color: #fff; - background-color: #204d74; - border-color: #122b40; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-image: none; -} -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled.focus, -.btn-primary[disabled].focus, -fieldset[disabled] .btn-primary.focus { - background-color: #337ab7; - border-color: #2e6da4; -} -.btn-primary .badge { - color: #337ab7; - background-color: #fff; -} -.btn-success { - color: #fff; - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success:focus, -.btn-success.focus { - color: #fff; - background-color: #449d44; - border-color: #255625; -} -.btn-success:hover { - color: #fff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - color: #fff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:active:hover, -.btn-success.active:hover, -.open > .dropdown-toggle.btn-success:hover, -.btn-success:active:focus, -.btn-success.active:focus, -.open > .dropdown-toggle.btn-success:focus, -.btn-success:active.focus, -.btn-success.active.focus, -.open > .dropdown-toggle.btn-success.focus { - color: #fff; - background-color: #398439; - border-color: #255625; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - background-image: none; -} -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled.focus, -.btn-success[disabled].focus, -fieldset[disabled] .btn-success.focus { - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success .badge { - color: #5cb85c; - background-color: #fff; -} -.btn-info { - color: #fff; - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info:focus, -.btn-info.focus { - color: #fff; - background-color: #31b0d5; - border-color: #1b6d85; -} -.btn-info:hover { - color: #fff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - color: #fff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:active:hover, -.btn-info.active:hover, -.open > .dropdown-toggle.btn-info:hover, -.btn-info:active:focus, -.btn-info.active:focus, -.open > .dropdown-toggle.btn-info:focus, -.btn-info:active.focus, -.btn-info.active.focus, -.open > .dropdown-toggle.btn-info.focus { - color: #fff; - background-color: #269abc; - border-color: #1b6d85; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - background-image: none; -} -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled.focus, -.btn-info[disabled].focus, -fieldset[disabled] .btn-info.focus { - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info .badge { - color: #5bc0de; - background-color: #fff; -} -.btn-warning { - color: #fff; - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning:focus, -.btn-warning.focus { - color: #fff; - background-color: #ec971f; - border-color: #985f0d; -} -.btn-warning:hover { - color: #fff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - color: #fff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:active:hover, -.btn-warning.active:hover, -.open > .dropdown-toggle.btn-warning:hover, -.btn-warning:active:focus, -.btn-warning.active:focus, -.open > .dropdown-toggle.btn-warning:focus, -.btn-warning:active.focus, -.btn-warning.active.focus, -.open > .dropdown-toggle.btn-warning.focus { - color: #fff; - background-color: #d58512; - border-color: #985f0d; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - background-image: none; -} -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled.focus, -.btn-warning[disabled].focus, -fieldset[disabled] .btn-warning.focus { - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning .badge { - color: #f0ad4e; - background-color: #fff; -} -.btn-danger { - color: #fff; - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger:focus, -.btn-danger.focus { - color: #fff; - background-color: #c9302c; - border-color: #761c19; -} -.btn-danger:hover { - color: #fff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - color: #fff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:active:hover, -.btn-danger.active:hover, -.open > .dropdown-toggle.btn-danger:hover, -.btn-danger:active:focus, -.btn-danger.active:focus, -.open > .dropdown-toggle.btn-danger:focus, -.btn-danger:active.focus, -.btn-danger.active.focus, -.open > .dropdown-toggle.btn-danger.focus { - color: #fff; - background-color: #ac2925; - border-color: #761c19; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-image: none; -} -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled.focus, -.btn-danger[disabled].focus, -fieldset[disabled] .btn-danger.focus { - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger .badge { - color: #d9534f; - background-color: #fff; -} -.btn-link { - font-weight: normal; - color: #337ab7; - border-radius: 0; -} -.btn-link, -.btn-link:active, -.btn-link.active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - color: #23527c; - text-decoration: underline; - background-color: transparent; -} -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #777; - text-decoration: none; -} -.btn-lg, -.btn-group-lg > .btn { - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -.btn-sm, -.btn-group-sm > .btn { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-xs, -.btn-group-xs > .btn { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-block { - display: block; - width: 100%; -} -.btn-block + .btn-block { - margin-top: 5px; -} -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} -.fade { - opacity: 0; - -webkit-transition: opacity .15s linear; - -o-transition: opacity .15s linear; - transition: opacity .15s linear; -} -.fade.in { - opacity: 1; -} -.collapse { - display: none; -} -.collapse.in { - display: block; -} -tr.collapse.in { - display: table-row; -} -tbody.collapse.in { - display: table-row-group; -} -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition-timing-function: ease; - -o-transition-timing-function: ease; - transition-timing-function: ease; - -webkit-transition-duration: .35s; - -o-transition-duration: .35s; - transition-duration: .35s; - -webkit-transition-property: height, visibility; - -o-transition-property: height, visibility; - transition-property: height, visibility; -} -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px dashed; - border-top: 4px solid \9; - border-right: 4px solid transparent; - border-left: 4px solid transparent; -} -.dropup, -.dropdown { - position: relative; -} -.dropdown-toggle:focus { - outline: 0; -} -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - font-size: 14px; - text-align: left; - list-style: none; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); - box-shadow: 0 6px 12px rgba(0, 0, 0, .175); -} -.dropdown-menu.pull-right { - right: 0; - left: auto; -} -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #333; - white-space: nowrap; -} -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - color: #262626; - text-decoration: none; - background-color: #f5f5f5; -} -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #fff; - text-decoration: none; - background-color: #337ab7; - outline: 0; -} -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #777; -} -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - cursor: not-allowed; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -.open > .dropdown-menu { - display: block; -} -.open > a { - outline: 0; -} -.dropdown-menu-right { - right: 0; - left: auto; -} -.dropdown-menu-left { - right: auto; - left: 0; -} -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #777; - white-space: nowrap; -} -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990; -} -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - content: ""; - border-top: 0; - border-bottom: 4px dashed; - border-bottom: 4px solid \9; -} -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 2px; -} -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - right: 0; - left: auto; - } - .navbar-right .dropdown-menu-left { - right: auto; - left: 0; - } -} -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; -} -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - float: left; -} -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover, -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus, -.btn-group > .btn:active, -.btn-group-vertical > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn.active { - z-index: 2; -} -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group { - margin-left: -1px; -} -.btn-toolbar { - margin-left: -5px; -} -.btn-toolbar .btn, -.btn-toolbar .btn-group, -.btn-toolbar .input-group { - float: left; -} -.btn-toolbar > .btn, -.btn-toolbar > .btn-group, -.btn-toolbar > .input-group { - margin-left: 5px; -} -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} -.btn-group > .btn:first-child { - margin-left: 0; -} -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group > .btn-group { - float: left; -} -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} -.btn-group > .btn + .dropdown-toggle { - padding-right: 8px; - padding-left: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-right: 12px; - padding-left: 12px; -} -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -} -.btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none; -} -.btn .caret { - margin-left: 0; -} -.btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0; -} -.dropup .btn-lg .caret { - border-width: 0 5px 5px; -} -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group, -.btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; -} -.btn-group-vertical > .btn-group > .btn { - float: none; -} -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; -} -.btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; -} -.btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn:last-child:not(:first-child) { - border-top-left-radius: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; -} -.btn-group-justified > .btn, -.btn-group-justified > .btn-group { - display: table-cell; - float: none; - width: 1%; -} -.btn-group-justified > .btn-group .btn { - width: 100%; -} -.btn-group-justified > .btn-group .dropdown-menu { - left: auto; -} -[data-toggle="buttons"] > .btn input[type="radio"], -[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], -[data-toggle="buttons"] > .btn input[type="checkbox"], -[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} -.input-group { - position: relative; - display: table; - border-collapse: separate; -} -.input-group[class*="col-"] { - float: none; - padding-right: 0; - padding-left: 0; -} -.input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0; -} -.input-group .form-control:focus { - z-index: 3; -} -.input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -select.input-group-lg > .form-control, -select.input-group-lg > .input-group-addon, -select.input-group-lg > .input-group-btn > .btn { - height: 46px; - line-height: 46px; -} -textarea.input-group-lg > .form-control, -textarea.input-group-lg > .input-group-addon, -textarea.input-group-lg > .input-group-btn > .btn, -select[multiple].input-group-lg > .form-control, -select[multiple].input-group-lg > .input-group-addon, -select[multiple].input-group-lg > .input-group-btn > .btn { - height: auto; -} -.input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-group-sm > .form-control, -select.input-group-sm > .input-group-addon, -select.input-group-sm > .input-group-btn > .btn { - height: 30px; - line-height: 30px; -} -textarea.input-group-sm > .form-control, -textarea.input-group-sm > .input-group-addon, -textarea.input-group-sm > .input-group-btn > .btn, -select[multiple].input-group-sm > .form-control, -select[multiple].input-group-sm > .input-group-addon, -select[multiple].input-group-sm > .input-group-btn > .btn { - height: auto; -} -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: table-cell; -} -.input-group-addon:not(:first-child):not(:last-child), -.input-group-btn:not(:first-child):not(:last-child), -.input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; -} -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; -} -.input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: normal; - line-height: 1; - color: #555; - text-align: center; - background-color: #eee; - border: 1px solid #ccc; - border-radius: 4px; -} -.input-group-addon.input-sm { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px; -} -.input-group-addon.input-lg { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px; -} -.input-group-addon input[type="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.input-group-addon:first-child { - border-right: 0; -} -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child), -.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.input-group-addon:last-child { - border-left: 0; -} -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap; -} -.input-group-btn > .btn { - position: relative; -} -.input-group-btn > .btn + .btn { - margin-left: -1px; -} -.input-group-btn > .btn:hover, -.input-group-btn > .btn:focus, -.input-group-btn > .btn:active { - z-index: 2; -} -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group { - margin-right: -1px; -} -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group { - z-index: 2; - margin-left: -1px; -} -.nav { - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eee; -} -.nav > li.disabled > a { - color: #777; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #777; - text-decoration: none; - cursor: not-allowed; - background-color: transparent; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eee; - border-color: #337ab7; -} -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.nav > li > a > img { - max-width: none; -} -.nav-tabs { - border-bottom: 1px solid #ddd; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 4px 4px 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eee #eee #ddd; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555; - cursor: default; - background-color: #fff; - border: 1px solid #ddd; - border-bottom-color: transparent; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; -} -.nav-tabs.nav-justified > li { - float: none; -} -.nav-tabs.nav-justified > li > a { - margin-bottom: 5px; - text-align: center; -} -.nav-tabs.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-tabs.nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs.nav-justified > .active > a, -.nav-tabs.nav-justified > .active > a:hover, -.nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #ddd; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #fff; - } -} -.nav-pills > li { - float: left; -} -.nav-pills > li > a { - border-radius: 4px; -} -.nav-pills > li + li { - margin-left: 2px; -} -.nav-pills > li.active > a, -.nav-pills > li.active > a:hover, -.nav-pills > li.active > a:focus { - color: #fff; - background-color: #337ab7; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - margin-bottom: 5px; - text-align: center; -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs-justified { - border-bottom: 0; -} -.nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs-justified > .active > a, -.nav-tabs-justified > .active > a:hover, -.nav-tabs-justified > .active > a:focus { - border: 1px solid #ddd; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #fff; - } -} -.tab-content > .tab-pane { - display: none; -} -.tab-content > .active { - display: block; -} -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.navbar { - position: relative; - min-height: 50px; - margin-bottom: 20px; - border: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 4px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - padding-right: 15px; - padding-left: 15px; - overflow-x: visible; - -webkit-overflow-scrolling: touch; - border-top: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); -} -.navbar-collapse.in { - overflow-y: auto; -} -@media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-collapse.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; - } - .navbar-collapse.in { - overflow-y: visible; - } - .navbar-fixed-top .navbar-collapse, - .navbar-static-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - padding-right: 0; - padding-left: 0; - } -} -.navbar-fixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-device-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - max-height: 200px; - } -} -.container > .navbar-header, -.container-fluid > .navbar-header, -.container > .navbar-collapse, -.container-fluid > .navbar-collapse { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .container > .navbar-header, - .container-fluid > .navbar-header, - .container > .navbar-collapse, - .container-fluid > .navbar-collapse { - margin-right: 0; - margin-left: 0; - } -} -.navbar-static-top { - z-index: 1000; - border-width: 0 0 1px; -} -@media (min-width: 768px) { - .navbar-static-top { - border-radius: 0; - } -} -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; -} -@media (min-width: 768px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - border-radius: 0; - } -} -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px; -} -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0; -} -.navbar-brand { - float: left; - height: 50px; - padding: 15px 15px; - font-size: 18px; - line-height: 20px; -} -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -.navbar-brand > img { - display: block; -} -@media (min-width: 768px) { - .navbar > .container .navbar-brand, - .navbar > .container-fluid .navbar-brand { - margin-left: -15px; - } -} -.navbar-toggle { - position: relative; - float: right; - padding: 9px 10px; - margin-top: 8px; - margin-right: 15px; - margin-bottom: 8px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; -} -.navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px; -} -@media (min-width: 768px) { - .navbar-toggle { - display: none; - } -} -.navbar-nav { - margin: 7.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; - } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px; - } - .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; - } -} -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } - .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; - } -} -.navbar-form { - padding: 10px 15px; - margin-top: 8px; - margin-right: -15px; - margin-bottom: 8px; - margin-left: -15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); -} -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .navbar-form .form-control-static { - display: inline-block; - } - .navbar-form .input-group { - display: inline-table; - vertical-align: middle; - } - .navbar-form .input-group .input-group-addon, - .navbar-form .input-group .input-group-btn, - .navbar-form .input-group .form-control { - width: auto; - } - .navbar-form .input-group > .form-control { - width: 100%; - } - .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio, - .navbar-form .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio label, - .navbar-form .checkbox label { - padding-left: 0; - } - .navbar-form .radio input[type="radio"], - .navbar-form .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .navbar-form .has-feedback .form-control-feedback { - top: 0; - } -} -@media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px; - } - .navbar-form .form-group:last-child { - margin-bottom: 0; - } -} -@media (min-width: 768px) { - .navbar-form { - width: auto; - padding-top: 0; - padding-bottom: 0; - margin-right: 0; - margin-left: 0; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - } -} -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - margin-bottom: 0; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.navbar-btn { - margin-top: 8px; - margin-bottom: 8px; -} -.navbar-btn.btn-sm { - margin-top: 10px; - margin-bottom: 10px; -} -.navbar-btn.btn-xs { - margin-top: 14px; - margin-bottom: 14px; -} -.navbar-text { - margin-top: 15px; - margin-bottom: 15px; -} -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-right: 15px; - margin-left: 15px; - } -} -@media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - margin-right: -15px; - } - .navbar-right ~ .navbar-right { - margin-right: 0; - } -} -.navbar-default { - background-color: #f8f8f8; - border-color: #e7e7e7; -} -.navbar-default .navbar-brand { - color: #777; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #5e5e5e; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777; -} -.navbar-default .navbar-nav > li > a { - color: #777; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #333; - background-color: transparent; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #555; - background-color: #e7e7e7; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #ccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #ddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #ddd; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #e7e7e7; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - color: #555; - background-color: #e7e7e7; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #777; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #333; - background-color: transparent; - } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #555; - background-color: #e7e7e7; - } - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #ccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #777; -} -.navbar-default .navbar-link:hover { - color: #333; -} -.navbar-default .btn-link { - color: #777; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #333; -} -.navbar-default .btn-link[disabled]:hover, -fieldset[disabled] .navbar-default .btn-link:hover, -.navbar-default .btn-link[disabled]:focus, -fieldset[disabled] .navbar-default .btn-link:focus { - color: #ccc; -} -.navbar-inverse { - background-color: #222; - border-color: #080808; -} -.navbar-inverse .navbar-brand { - color: #9d9d9d; -} -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a:hover, -.navbar-inverse .navbar-nav > li > a:focus { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-nav > .active > a, -.navbar-inverse .navbar-nav > .active > a:hover, -.navbar-inverse .navbar-nav > .active > a:focus { - color: #fff; - background-color: #080808; -} -.navbar-inverse .navbar-nav > .disabled > a, -.navbar-inverse .navbar-nav > .disabled > a:hover, -.navbar-inverse .navbar-nav > .disabled > a:focus { - color: #444; - background-color: transparent; -} -.navbar-inverse .navbar-toggle { - border-color: #333; -} -.navbar-inverse .navbar-toggle:hover, -.navbar-inverse .navbar-toggle:focus { - background-color: #333; -} -.navbar-inverse .navbar-toggle .icon-bar { - background-color: #fff; -} -.navbar-inverse .navbar-collapse, -.navbar-inverse .navbar-form { - border-color: #101010; -} -.navbar-inverse .navbar-nav > .open > a, -.navbar-inverse .navbar-nav > .open > a:hover, -.navbar-inverse .navbar-nav > .open > a:focus { - color: #fff; - background-color: #080808; -} -@media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { - border-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu .divider { - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #9d9d9d; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { - color: #fff; - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #fff; - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #444; - background-color: transparent; - } -} -.navbar-inverse .navbar-link { - color: #9d9d9d; -} -.navbar-inverse .navbar-link:hover { - color: #fff; -} -.navbar-inverse .btn-link { - color: #9d9d9d; -} -.navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link:focus { - color: #fff; -} -.navbar-inverse .btn-link[disabled]:hover, -fieldset[disabled] .navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link[disabled]:focus, -fieldset[disabled] .navbar-inverse .btn-link:focus { - color: #444; -} -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 4px; -} -.breadcrumb > li { - display: inline-block; -} -.breadcrumb > li + li:before { - padding: 0 5px; - color: #ccc; - content: "/\00a0"; -} -.breadcrumb > .active { - color: #777; -} -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px; -} -.pagination > li { - display: inline; -} -.pagination > li > a, -.pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #337ab7; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd; -} -.pagination > li:first-child > a, -.pagination > li:first-child > span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -.pagination > li:last-child > a, -.pagination > li:last-child > span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - z-index: 2; - color: #23527c; - background-color: #eee; - border-color: #ddd; -} -.pagination > .active > a, -.pagination > .active > span, -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - z-index: 3; - color: #fff; - cursor: default; - background-color: #337ab7; - border-color: #337ab7; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #777; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd; -} -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; -} -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; -} -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; -} -.pagination-sm > li:first-child > a, -.pagination-sm > li:first-child > span { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; -} -.pagination-sm > li:last-child > a, -.pagination-sm > li:last-child > span { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -.pager { - padding-left: 0; - margin: 20px 0; - text-align: center; - list-style: none; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 15px; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - background-color: #eee; -} -.pager .next > a, -.pager .next > span { - float: right; -} -.pager .previous > a, -.pager .previous > span { - float: left; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #777; - cursor: not-allowed; - background-color: #fff; -} -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; -} -a.label:hover, -a.label:focus { - color: #fff; - text-decoration: none; - cursor: pointer; -} -.label:empty { - display: none; -} -.btn .label { - position: relative; - top: -1px; -} -.label-default { - background-color: #777; -} -.label-default[href]:hover, -.label-default[href]:focus { - background-color: #5e5e5e; -} -.label-primary { - background-color: #337ab7; -} -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #286090; -} -.label-success { - background-color: #5cb85c; -} -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #449d44; -} -.label-info { - background-color: #5bc0de; -} -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #31b0d5; -} -.label-warning { - background-color: #f0ad4e; -} -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #ec971f; -} -.label-danger { - background-color: #d9534f; -} -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #c9302c; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: middle; - background-color: #777; - border-radius: 10px; -} -.badge:empty { - display: none; -} -.btn .badge { - position: relative; - top: -1px; -} -.btn-xs .badge, -.btn-group-xs > .btn .badge { - top: 0; - padding: 1px 5px; -} -a.badge:hover, -a.badge:focus { - color: #fff; - text-decoration: none; - cursor: pointer; -} -.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #337ab7; - background-color: #fff; -} -.list-group-item > .badge { - float: right; -} -.list-group-item > .badge + .badge { - margin-right: 5px; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.jumbotron { - padding-top: 30px; - padding-bottom: 30px; - margin-bottom: 30px; - color: inherit; - background-color: #eee; -} -.jumbotron h1, -.jumbotron .h1 { - color: inherit; -} -.jumbotron p { - margin-bottom: 15px; - font-size: 21px; - font-weight: 200; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron, -.container-fluid .jumbotron { - padding-right: 15px; - padding-left: 15px; - border-radius: 6px; -} -.jumbotron .container { - max-width: 100%; -} -@media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px; - } - .container .jumbotron, - .container-fluid .jumbotron { - padding-right: 60px; - padding-left: 60px; - } - .jumbotron h1, - .jumbotron .h1 { - font-size: 63px; - } -} -.thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: border .2s ease-in-out; - -o-transition: border .2s ease-in-out; - transition: border .2s ease-in-out; -} -.thumbnail > img, -.thumbnail a > img { - margin-right: auto; - margin-left: auto; -} -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #337ab7; -} -.thumbnail .caption { - padding: 9px; - color: #333; -} -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px; -} -.alert h4 { - margin-top: 0; - color: inherit; -} -.alert .alert-link { - font-weight: bold; -} -.alert > p, -.alert > ul { - margin-bottom: 0; -} -.alert > p + p { - margin-top: 5px; -} -.alert-dismissable, -.alert-dismissible { - padding-right: 35px; -} -.alert-dismissable .close, -.alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} -.alert-success { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} -.alert-success hr { - border-top-color: #c9e2b3; -} -.alert-success .alert-link { - color: #2b542c; -} -.alert-info { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} -.alert-info hr { - border-top-color: #a6e1ec; -} -.alert-info .alert-link { - color: #245269; -} -.alert-warning { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; -} -.alert-warning hr { - border-top-color: #f7e1b5; -} -.alert-warning .alert-link { - color: #66512c; -} -.alert-danger { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} -.alert-danger hr { - border-top-color: #e4b9c0; -} -.alert-danger .alert-link { - color: #843534; -} -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@-o-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -.progress { - height: 20px; - margin-bottom: 20px; - overflow: hidden; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); -} -.progress-bar { - float: left; - width: 0; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #fff; - text-align: center; - background-color: #337ab7; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - -webkit-transition: width .6s ease; - -o-transition: width .6s ease; - transition: width .6s ease; -} -.progress-striped .progress-bar, -.progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - -webkit-background-size: 40px 40px; - background-size: 40px 40px; -} -.progress.active .progress-bar, -.progress-bar.active { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} -.progress-bar-success { - background-color: #5cb85c; -} -.progress-striped .progress-bar-success { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.progress-bar-info { - background-color: #5bc0de; -} -.progress-striped .progress-bar-info { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.progress-bar-warning { - background-color: #f0ad4e; -} -.progress-striped .progress-bar-warning { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.progress-bar-danger { - background-color: #d9534f; -} -.progress-striped .progress-bar-danger { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; -} -.media, -.media-body { - overflow: hidden; - zoom: 1; -} -.media-body { - width: 10000px; -} -.media-object { - display: block; -} -.media-object.img-thumbnail { - max-width: none; -} -.media-right, -.media > .pull-right { - padding-left: 10px; -} -.media-left, -.media > .pull-left { - padding-right: 10px; -} -.media-left, -.media-right, -.media-body { - display: table-cell; - vertical-align: top; -} -.media-middle { - vertical-align: middle; -} -.media-bottom { - vertical-align: bottom; -} -.media-heading { - margin-top: 0; - margin-bottom: 5px; -} -.media-list { - padding-left: 0; - list-style: none; -} -.list-group { - padding-left: 0; - margin-bottom: 20px; -} -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid #ddd; -} -.list-group-item:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -a.list-group-item, -button.list-group-item { - color: #555; -} -a.list-group-item .list-group-item-heading, -button.list-group-item .list-group-item-heading { - color: #333; -} -a.list-group-item:hover, -button.list-group-item:hover, -a.list-group-item:focus, -button.list-group-item:focus { - color: #555; - text-decoration: none; - background-color: #f5f5f5; -} -button.list-group-item { - width: 100%; - text-align: left; -} -.list-group-item.disabled, -.list-group-item.disabled:hover, -.list-group-item.disabled:focus { - color: #777; - cursor: not-allowed; - background-color: #eee; -} -.list-group-item.disabled .list-group-item-heading, -.list-group-item.disabled:hover .list-group-item-heading, -.list-group-item.disabled:focus .list-group-item-heading { - color: inherit; -} -.list-group-item.disabled .list-group-item-text, -.list-group-item.disabled:hover .list-group-item-text, -.list-group-item.disabled:focus .list-group-item-text { - color: #777; -} -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - z-index: 2; - color: #fff; - background-color: #337ab7; - border-color: #337ab7; -} -.list-group-item.active .list-group-item-heading, -.list-group-item.active:hover .list-group-item-heading, -.list-group-item.active:focus .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active:hover .list-group-item-heading > small, -.list-group-item.active:focus .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small, -.list-group-item.active:hover .list-group-item-heading > .small, -.list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; -} -.list-group-item.active .list-group-item-text, -.list-group-item.active:hover .list-group-item-text, -.list-group-item.active:focus .list-group-item-text { - color: #c7ddef; -} -.list-group-item-success { - color: #3c763d; - background-color: #dff0d8; -} -a.list-group-item-success, -button.list-group-item-success { - color: #3c763d; -} -a.list-group-item-success .list-group-item-heading, -button.list-group-item-success .list-group-item-heading { - color: inherit; -} -a.list-group-item-success:hover, -button.list-group-item-success:hover, -a.list-group-item-success:focus, -button.list-group-item-success:focus { - color: #3c763d; - background-color: #d0e9c6; -} -a.list-group-item-success.active, -button.list-group-item-success.active, -a.list-group-item-success.active:hover, -button.list-group-item-success.active:hover, -a.list-group-item-success.active:focus, -button.list-group-item-success.active:focus { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; -} -.list-group-item-info { - color: #31708f; - background-color: #d9edf7; -} -a.list-group-item-info, -button.list-group-item-info { - color: #31708f; -} -a.list-group-item-info .list-group-item-heading, -button.list-group-item-info .list-group-item-heading { - color: inherit; -} -a.list-group-item-info:hover, -button.list-group-item-info:hover, -a.list-group-item-info:focus, -button.list-group-item-info:focus { - color: #31708f; - background-color: #c4e3f3; -} -a.list-group-item-info.active, -button.list-group-item-info.active, -a.list-group-item-info.active:hover, -button.list-group-item-info.active:hover, -a.list-group-item-info.active:focus, -button.list-group-item-info.active:focus { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} -.list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3; -} -a.list-group-item-warning, -button.list-group-item-warning { - color: #8a6d3b; -} -a.list-group-item-warning .list-group-item-heading, -button.list-group-item-warning .list-group-item-heading { - color: inherit; -} -a.list-group-item-warning:hover, -button.list-group-item-warning:hover, -a.list-group-item-warning:focus, -button.list-group-item-warning:focus { - color: #8a6d3b; - background-color: #faf2cc; -} -a.list-group-item-warning.active, -button.list-group-item-warning.active, -a.list-group-item-warning.active:hover, -button.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus, -button.list-group-item-warning.active:focus { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; -} -.list-group-item-danger { - color: #a94442; - background-color: #f2dede; -} -a.list-group-item-danger, -button.list-group-item-danger { - color: #a94442; -} -a.list-group-item-danger .list-group-item-heading, -button.list-group-item-danger .list-group-item-heading { - color: inherit; -} -a.list-group-item-danger:hover, -button.list-group-item-danger:hover, -a.list-group-item-danger:focus, -button.list-group-item-danger:focus { - color: #a94442; - background-color: #ebcccc; -} -a.list-group-item-danger.active, -button.list-group-item-danger.active, -a.list-group-item-danger.active:hover, -button.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus, -button.list-group-item-danger.active:focus { - color: #fff; - background-color: #a94442; - border-color: #a94442; -} -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; -} -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; -} -.panel { - margin-bottom: 20px; - background-color: #fff; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: 0 1px 1px rgba(0, 0, 0, .05); -} -.panel-body { - padding: 15px; -} -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel-heading > .dropdown .dropdown-toggle { - color: inherit; -} -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit; -} -.panel-title > a, -.panel-title > small, -.panel-title > .small, -.panel-title > small > a, -.panel-title > .small > a { - color: inherit; -} -.panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #ddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .list-group, -.panel > .panel-collapse > .list-group { - margin-bottom: 0; -} -.panel > .list-group .list-group-item, -.panel > .panel-collapse > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0; -} -.panel > .list-group:first-child .list-group-item:first-child, -.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .list-group:last-child .list-group-item:last-child, -.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; -} -.list-group + .panel-footer { - border-top-width: 0; -} -.panel > .table, -.panel > .table-responsive > .table, -.panel > .panel-collapse > .table { - margin-bottom: 0; -} -.panel > .table caption, -.panel > .table-responsive > .table caption, -.panel > .panel-collapse > .table caption { - padding-right: 15px; - padding-left: 15px; -} -.panel > .table:first-child, -.panel > .table-responsive:first-child > .table:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { - border-top-right-radius: 3px; -} -.panel > .table:last-child, -.panel > .table-responsive:last-child > .table:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { - border-bottom-right-radius: 3px; -} -.panel > .panel-body + .table, -.panel > .panel-body + .table-responsive, -.panel > .table + .panel-body, -.panel > .table-responsive + .panel-body { - border-top: 1px solid #ddd; -} -.panel > .table > tbody:first-child > tr:first-child th, -.panel > .table > tbody:first-child > tr:first-child td { - border-top: 0; -} -.panel > .table-bordered, -.panel > .table-responsive > .table-bordered { - border: 0; -} -.panel > .table-bordered > thead > tr > th:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, -.panel > .table-bordered > tbody > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, -.panel > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-bordered > thead > tr > td:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, -.panel > .table-bordered > tbody > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, -.panel > .table-bordered > tfoot > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} -.panel > .table-bordered > thead > tr > th:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, -.panel > .table-bordered > tbody > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, -.panel > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-bordered > thead > tr > td:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, -.panel > .table-bordered > tbody > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, -.panel > .table-bordered > tfoot > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} -.panel > .table-bordered > thead > tr:first-child > td, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, -.panel > .table-bordered > tbody > tr:first-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, -.panel > .table-bordered > thead > tr:first-child > th, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, -.panel > .table-bordered > tbody > tr:first-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { - border-bottom: 0; -} -.panel > .table-bordered > tbody > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, -.panel > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-bordered > tbody > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, -.panel > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0; -} -.panel > .table-responsive { - margin-bottom: 0; - border: 0; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 4px; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group .panel-heading { - border-bottom: 0; -} -.panel-group .panel-heading + .panel-collapse > .panel-body, -.panel-group .panel-heading + .panel-collapse > .list-group { - border-top: 1px solid #ddd; -} -.panel-group .panel-footer { - border-top: 0; -} -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #ddd; -} -.panel-default { - border-color: #ddd; -} -.panel-default > .panel-heading { - color: #333; - background-color: #f5f5f5; - border-color: #ddd; -} -.panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ddd; -} -.panel-default > .panel-heading .badge { - color: #f5f5f5; - background-color: #333; -} -.panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ddd; -} -.panel-primary { - border-color: #337ab7; -} -.panel-primary > .panel-heading { - color: #fff; - background-color: #337ab7; - border-color: #337ab7; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #337ab7; -} -.panel-primary > .panel-heading .badge { - color: #337ab7; - background-color: #fff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #337ab7; -} -.panel-success { - border-color: #d6e9c6; -} -.panel-success > .panel-heading { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} -.panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #d6e9c6; -} -.panel-success > .panel-heading .badge { - color: #dff0d8; - background-color: #3c763d; -} -.panel-success > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #d6e9c6; -} -.panel-info { - border-color: #bce8f1; -} -.panel-info > .panel-heading { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} -.panel-info > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #bce8f1; -} -.panel-info > .panel-heading .badge { - color: #d9edf7; - background-color: #31708f; -} -.panel-info > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #bce8f1; -} -.panel-warning { - border-color: #faebcc; -} -.panel-warning > .panel-heading { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; -} -.panel-warning > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #faebcc; -} -.panel-warning > .panel-heading .badge { - color: #fcf8e3; - background-color: #8a6d3b; -} -.panel-warning > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #faebcc; -} -.panel-danger { - border-color: #ebccd1; -} -.panel-danger > .panel-heading { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} -.panel-danger > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ebccd1; -} -.panel-danger > .panel-heading .badge { - color: #f2dede; - background-color: #a94442; -} -.panel-danger > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ebccd1; -} -.embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden; -} -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} -.embed-responsive-16by9 { - padding-bottom: 56.25%; -} -.embed-responsive-4by3 { - padding-bottom: 75%; -} -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); -} -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, .15); -} -.well-lg { - padding: 24px; - border-radius: 6px; -} -.well-sm { - padding: 9px; - border-radius: 3px; -} -.close { - float: right; - font-size: 21px; - font-weight: bold; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - filter: alpha(opacity=20); - opacity: .2; -} -.close:hover, -.close:focus { - color: #000; - text-decoration: none; - cursor: pointer; - filter: alpha(opacity=50); - opacity: .5; -} -button.close { - -webkit-appearance: none; - padding: 0; - cursor: pointer; - background: transparent; - border: 0; -} -.modal-open { - overflow: hidden; -} -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - display: none; - overflow: hidden; - -webkit-overflow-scrolling: touch; - outline: 0; -} -.modal.fade .modal-dialog { - -webkit-transition: -webkit-transform .3s ease-out; - -o-transition: -o-transform .3s ease-out; - transition: transform .3s ease-out; - -webkit-transform: translate(0, -25%); - -ms-transform: translate(0, -25%); - -o-transform: translate(0, -25%); - transform: translate(0, -25%); -} -.modal.in .modal-dialog { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - -o-transform: translate(0, 0); - transform: translate(0, 0); -} -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} -.modal-dialog { - position: relative; - width: auto; - margin: 10px; -} -.modal-content { - position: relative; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #999; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - outline: 0; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); - box-shadow: 0 3px 9px rgba(0, 0, 0, .5); -} -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000; -} -.modal-backdrop.fade { - filter: alpha(opacity=0); - opacity: 0; -} -.modal-backdrop.in { - filter: alpha(opacity=50); - opacity: .5; -} -.modal-header { - padding: 15px; - border-bottom: 1px solid #e5e5e5; -} -.modal-header .close { - margin-top: -2px; -} -.modal-title { - margin: 0; - line-height: 1.42857143; -} -.modal-body { - position: relative; - padding: 15px; -} -.modal-footer { - padding: 15px; - text-align: right; - border-top: 1px solid #e5e5e5; -} -.modal-footer .btn + .btn { - margin-bottom: 0; - margin-left: 5px; -} -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} -@media (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 30px auto; - } - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); - box-shadow: 0 5px 15px rgba(0, 0, 0, .5); - } - .modal-sm { - width: 300px; - } -} -@media (min-width: 992px) { - .modal-lg { - width: 900px; - } -} -.tooltip { - position: absolute; - z-index: 1070; - display: block; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 12px; - font-style: normal; - font-weight: normal; - line-height: 1.42857143; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - word-wrap: normal; - white-space: normal; - filter: alpha(opacity=0); - opacity: 0; - - line-break: auto; -} -.tooltip.in { - filter: alpha(opacity=90); - opacity: .9; -} -.tooltip.top { - padding: 5px 0; - margin-top: -3px; -} -.tooltip.right { - padding: 0 5px; - margin-left: 3px; -} -.tooltip.bottom { - padding: 5px 0; - margin-top: 3px; -} -.tooltip.left { - padding: 0 5px; - margin-left: -3px; -} -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 4px; -} -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.top-left .tooltip-arrow { - right: 5px; - bottom: 0; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.top-right .tooltip-arrow { - bottom: 0; - left: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000; -} -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000; -} -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.tooltip.bottom-left .tooltip-arrow { - top: 0; - right: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.tooltip.bottom-right .tooltip-arrow { - top: 0; - left: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: none; - max-width: 276px; - padding: 1px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.42857143; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - word-wrap: normal; - white-space: normal; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); - box-shadow: 0 5px 10px rgba(0, 0, 0, .2); - - line-break: auto; -} -.popover.top { - margin-top: -10px; -} -.popover.right { - margin-left: 10px; -} -.popover.bottom { - margin-top: 10px; -} -.popover.left { - margin-left: -10px; -} -.popover-title { - padding: 8px 14px; - margin: 0; - font-size: 14px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0; -} -.popover-content { - padding: 9px 14px; -} -.popover > .arrow, -.popover > .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.popover > .arrow { - border-width: 11px; -} -.popover > .arrow:after { - content: ""; - border-width: 10px; -} -.popover.top > .arrow { - bottom: -11px; - left: 50%; - margin-left: -11px; - border-top-color: #999; - border-top-color: rgba(0, 0, 0, .25); - border-bottom-width: 0; -} -.popover.top > .arrow:after { - bottom: 1px; - margin-left: -10px; - content: " "; - border-top-color: #fff; - border-bottom-width: 0; -} -.popover.right > .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-right-color: #999; - border-right-color: rgba(0, 0, 0, .25); - border-left-width: 0; -} -.popover.right > .arrow:after { - bottom: -10px; - left: 1px; - content: " "; - border-right-color: #fff; - border-left-width: 0; -} -.popover.bottom > .arrow { - top: -11px; - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: #999; - border-bottom-color: rgba(0, 0, 0, .25); -} -.popover.bottom > .arrow:after { - top: 1px; - margin-left: -10px; - content: " "; - border-top-width: 0; - border-bottom-color: #fff; -} -.popover.left > .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: #999; - border-left-color: rgba(0, 0, 0, .25); -} -.popover.left > .arrow:after { - right: 1px; - bottom: -10px; - content: " "; - border-right-width: 0; - border-left-color: #fff; -} -.carousel { - position: relative; -} -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} -.carousel-inner > .item { - position: relative; - display: none; - -webkit-transition: .6s ease-in-out left; - -o-transition: .6s ease-in-out left; - transition: .6s ease-in-out left; -} -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - line-height: 1; -} -@media all and (transform-3d), (-webkit-transform-3d) { - .carousel-inner > .item { - -webkit-transition: -webkit-transform .6s ease-in-out; - -o-transition: -o-transform .6s ease-in-out; - transition: transform .6s ease-in-out; - - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - perspective: 1000px; - } - .carousel-inner > .item.next, - .carousel-inner > .item.active.right { - left: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - .carousel-inner > .item.prev, - .carousel-inner > .item.active.left { - left: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - .carousel-inner > .item.next.left, - .carousel-inner > .item.prev.right, - .carousel-inner > .item.active { - left: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} -.carousel-control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 15%; - font-size: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); - background-color: rgba(0, 0, 0, 0); - filter: alpha(opacity=50); - opacity: .5; -} -.carousel-control.left { - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); - background-repeat: repeat-x; -} -.carousel-control.right { - right: 0; - left: auto; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); - background-repeat: repeat-x; -} -.carousel-control:hover, -.carousel-control:focus { - color: #fff; - text-decoration: none; - filter: alpha(opacity=90); - outline: 0; - opacity: .9; -} -.carousel-control .icon-prev, -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-left, -.carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; - margin-top: -10px; -} -.carousel-control .icon-prev, -.carousel-control .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; -} -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; -} -.carousel-control .icon-prev, -.carousel-control .icon-next { - width: 20px; - height: 20px; - font-family: serif; - line-height: 1; -} -.carousel-control .icon-prev:before { - content: '\2039'; -} -.carousel-control .icon-next:before { - content: '\203a'; -} -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - padding-left: 0; - margin-left: -30%; - text-align: center; - list-style: none; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); - border: 1px solid #fff; - border-radius: 10px; -} -.carousel-indicators .active { - width: 12px; - height: 12px; - margin: 0; - background-color: #fff; -} -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); -} -.carousel-caption .btn { - text-shadow: none; -} -@media screen and (min-width: 768px) { - .carousel-control .glyphicon-chevron-left, - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -10px; - font-size: 30px; - } - .carousel-control .glyphicon-chevron-left, - .carousel-control .icon-prev { - margin-left: -10px; - } - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-next { - margin-right: -10px; - } - .carousel-caption { - right: 20%; - left: 20%; - padding-bottom: 30px; - } - .carousel-indicators { - bottom: 20px; - } -} -.clearfix:before, -.clearfix:after, -.dl-horizontal dd:before, -.dl-horizontal dd:after, -.container:before, -.container:after, -.container-fluid:before, -.container-fluid:after, -.row:before, -.row:after, -.form-horizontal .form-group:before, -.form-horizontal .form-group:after, -.btn-toolbar:before, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:before, -.btn-group-vertical > .btn-group:after, -.nav:before, -.nav:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after, -.navbar-collapse:before, -.navbar-collapse:after, -.pager:before, -.pager:after, -.panel-body:before, -.panel-body:after, -.modal-header:before, -.modal-header:after, -.modal-footer:before, -.modal-footer:after { - display: table; - content: " "; -} -.clearfix:after, -.dl-horizontal dd:after, -.container:after, -.container-fluid:after, -.row:after, -.form-horizontal .form-group:after, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:after, -.nav:after, -.navbar:after, -.navbar-header:after, -.navbar-collapse:after, -.pager:after, -.panel-body:after, -.modal-header:after, -.modal-footer:after { - clear: both; -} -.center-block { - display: block; - margin-right: auto; - margin-left: auto; -} -.pull-right { - float: right !important; -} -.pull-left { - float: left !important; -} -.hide { - display: none !important; -} -.show { - display: block !important; -} -.invisible { - visibility: hidden; -} -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -.hidden { - display: none !important; -} -.affix { - position: fixed; -} -@-ms-viewport { - width: device-width; -} -.visible-xs, -.visible-sm, -.visible-md, -.visible-lg { - display: none !important; -} -.visible-xs-block, -.visible-xs-inline, -.visible-xs-inline-block, -.visible-sm-block, -.visible-sm-inline, -.visible-sm-inline-block, -.visible-md-block, -.visible-md-inline, -.visible-md-inline-block, -.visible-lg-block, -.visible-lg-inline, -.visible-lg-inline-block { - display: none !important; -} -@media (max-width: 767px) { - .visible-xs { - display: block !important; - } - table.visible-xs { - display: table !important; - } - tr.visible-xs { - display: table-row !important; - } - th.visible-xs, - td.visible-xs { - display: table-cell !important; - } -} -@media (max-width: 767px) { - .visible-xs-block { - display: block !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline { - display: inline !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; - } - table.visible-sm { - display: table !important; - } - tr.visible-sm { - display: table-row !important; - } - th.visible-sm, - td.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-block { - display: block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline { - display: inline !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; - } - table.visible-md { - display: table !important; - } - tr.visible-md { - display: table-row !important; - } - th.visible-md, - td.visible-md { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-block { - display: block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline { - display: inline !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block !important; - } -} -@media (min-width: 1200px) { - .visible-lg { - display: block !important; - } - table.visible-lg { - display: table !important; - } - tr.visible-lg { - display: table-row !important; - } - th.visible-lg, - td.visible-lg { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-lg-block { - display: block !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline { - display: inline !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block !important; - } -} -@media (max-width: 767px) { - .hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-lg { - display: none !important; - } -} -.visible-print { - display: none !important; -} -@media print { - .visible-print { - display: block !important; - } - table.visible-print { - display: table !important; - } - tr.visible-print { - display: table-row !important; - } - th.visible-print, - td.visible-print { - display: table-cell !important; - } -} -.visible-print-block { - display: none !important; -} -@media print { - .visible-print-block { - display: block !important; - } -} -.visible-print-inline { - display: none !important; -} -@media print { - .visible-print-inline { - display: inline !important; - } -} -.visible-print-inline-block { - display: none !important; -} -@media print { - .visible-print-inline-block { - display: inline-block !important; - } -} -@media print { - .hidden-print { - display: none !important; - } -} -/*# sourceMappingURL=bootstrap.css.map */ diff --git a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map b/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map deleted file mode 100644 index f010c82d1..000000000 --- a/src/Web/WebMonolithic/eShopWeb/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,4EAA4E;ACG5E;EACE,wBAAA;EACA,2BAAA;EACA,+BAAA;CDDD;ACQD;EACE,UAAA;CDND;ACmBD;;;;;;;;;;;;;EAaE,eAAA;CDjBD;ACyBD;;;;EAIE,sBAAA;EACA,yBAAA;CDvBD;AC+BD;EACE,cAAA;EACA,UAAA;CD7BD;ACqCD;;EAEE,cAAA;CDnCD;AC6CD;EACE,8BAAA;CD3CD;ACmDD;;EAEE,WAAA;CDjDD;AC2DD;EACE,0BAAA;CDzDD;ACgED;;EAEE,kBAAA;CD9DD;ACqED;EACE,mBAAA;CDnED;AC2ED;EACE,eAAA;EACA,iBAAA;CDzED;ACgFD;EACE,iBAAA;EACA,YAAA;CD9ED;ACqFD;EACE,eAAA;CDnFD;AC0FD;;EAEE,eAAA;EACA,eAAA;EACA,mBAAA;EACA,yBAAA;CDxFD;AC2FD;EACE,YAAA;CDzFD;AC4FD;EACE,gBAAA;CD1FD;ACoGD;EACE,UAAA;CDlGD;ACyGD;EACE,iBAAA;CDvGD;ACiHD;EACE,iBAAA;CD/GD;ACsHD;EACE,gCAAA;KAAA,6BAAA;UAAA,wBAAA;EACA,UAAA;CDpHD;AC2HD;EACE,eAAA;CDzHD;ACgID;;;;EAIE,kCAAA;EACA,eAAA;CD9HD;ACgJD;;;;;EAKE,eAAA;EACA,cAAA;EACA,UAAA;CD9ID;ACqJD;EACE,kBAAA;CDnJD;AC6JD;;EAEE,qBAAA;CD3JD;ACsKD;;;;EAIE,2BAAA;EACA,gBAAA;CDpKD;AC2KD;;EAEE,gBAAA;CDzKD;ACgLD;;EAEE,UAAA;EACA,WAAA;CD9KD;ACsLD;EACE,oBAAA;CDpLD;AC+LD;;EAEE,+BAAA;KAAA,4BAAA;UAAA,uBAAA;EACA,WAAA;CD7LD;ACsMD;;EAEE,aAAA;CDpMD;AC4MD;EACE,8BAAA;EACA,gCAAA;KAAA,6BAAA;UAAA,wBAAA;CD1MD;ACmND;;EAEE,yBAAA;CDjND;ACwND;EACE,0BAAA;EACA,cAAA;EACA,+BAAA;CDtND;AC8ND;EACE,UAAA;EACA,WAAA;CD5ND;ACmOD;EACE,eAAA;CDjOD;ACyOD;EACE,kBAAA;CDvOD;ACiPD;EACE,0BAAA;EACA,kBAAA;CD/OD;ACkPD;;EAEE,WAAA;CDhPD;AACD,qFAAqF;AElFrF;EA7FI;;;IAGI,mCAAA;IACA,uBAAA;IACA,oCAAA;YAAA,4BAAA;IACA,6BAAA;GFkLL;EE/KC;;IAEI,2BAAA;GFiLL;EE9KC;IACI,6BAAA;GFgLL;EE7KC;IACI,8BAAA;GF+KL;EE1KC;;IAEI,YAAA;GF4KL;EEzKC;;IAEI,uBAAA;IACA,yBAAA;GF2KL;EExKC;IACI,4BAAA;GF0KL;EEvKC;;IAEI,yBAAA;GFyKL;EEtKC;IACI,2BAAA;GFwKL;EErKC;;;IAGI,WAAA;IACA,UAAA;GFuKL;EEpKC;;IAEI,wBAAA;GFsKL;EEhKC;IACI,cAAA;GFkKL;EEhKC;;IAGQ,kCAAA;GFiKT;EE9JC;IACI,uBAAA;GFgKL;EE7JC;IACI,qCAAA;GF+JL;EEhKC;;IAKQ,kCAAA;GF+JT;EE5JC;;IAGQ,kCAAA;GF6JT;CACF;AGnPD;EACE,oCAAA;EACA,sDAAA;EACA,gYAAA;CHqPD;AG7OD;EACE,mBAAA;EACA,SAAA;EACA,sBAAA;EACA,oCAAA;EACA,mBAAA;EACA,oBAAA;EACA,eAAA;EACA,oCAAA;EACA,mCAAA;CH+OD;AG3OmC;EAAW,iBAAA;CH8O9C;AG7OmC;EAAW,iBAAA;CHgP9C;AG9OmC;;EAAW,iBAAA;CHkP9C;AGjPmC;EAAW,iBAAA;CHoP9C;AGnPmC;EAAW,iBAAA;CHsP9C;AGrPmC;EAAW,iBAAA;CHwP9C;AGvPmC;EAAW,iBAAA;CH0P9C;AGzPmC;EAAW,iBAAA;CH4P9C;AG3PmC;EAAW,iBAAA;CH8P9C;AG7PmC;EAAW,iBAAA;CHgQ9C;AG/PmC;EAAW,iBAAA;CHkQ9C;AGjQmC;EAAW,iBAAA;CHoQ9C;AGnQmC;EAAW,iBAAA;CHsQ9C;AGrQmC;EAAW,iBAAA;CHwQ9C;AGvQmC;EAAW,iBAAA;CH0Q9C;AGzQmC;EAAW,iBAAA;CH4Q9C;AG3QmC;EAAW,iBAAA;CH8Q9C;AG7QmC;EAAW,iBAAA;CHgR9C;AG/QmC;EAAW,iBAAA;CHkR9C;AGjRmC;EAAW,iBAAA;CHoR9C;AGnRmC;EAAW,iBAAA;CHsR9C;AGrRmC;EAAW,iBAAA;CHwR9C;AGvRmC;EAAW,iBAAA;CH0R9C;AGzRmC;EAAW,iBAAA;CH4R9C;AG3RmC;EAAW,iBAAA;CH8R9C;AG7RmC;EAAW,iBAAA;CHgS9C;AG/RmC;EAAW,iBAAA;CHkS9C;AGjSmC;EAAW,iBAAA;CHoS9C;AGnSmC;EAAW,iBAAA;CHsS9C;AGrSmC;EAAW,iBAAA;CHwS9C;AGvSmC;EAAW,iBAAA;CH0S9C;AGzSmC;EAAW,iBAAA;CH4S9C;AG3SmC;EAAW,iBAAA;CH8S9C;AG7SmC;EAAW,iBAAA;CHgT9C;AG/SmC;EAAW,iBAAA;CHkT9C;AGjTmC;EAAW,iBAAA;CHoT9C;AGnTmC;EAAW,iBAAA;CHsT9C;AGrTmC;EAAW,iBAAA;CHwT9C;AGvTmC;EAAW,iBAAA;CH0T9C;AGzTmC;EAAW,iBAAA;CH4T9C;AG3TmC;EAAW,iBAAA;CH8T9C;AG7TmC;EAAW,iBAAA;CHgU9C;AG/TmC;EAAW,iBAAA;CHkU9C;AGjUmC;EAAW,iBAAA;CHoU9C;AGnUmC;EAAW,iBAAA;CHsU9C;AGrUmC;EAAW,iBAAA;CHwU9C;AGvUmC;EAAW,iBAAA;CH0U9C;AGzUmC;EAAW,iBAAA;CH4U9C;AG3UmC;EAAW,iBAAA;CH8U9C;AG7UmC;EAAW,iBAAA;CHgV9C;AG/UmC;EAAW,iBAAA;CHkV9C;AGjVmC;EAAW,iBAAA;CHoV9C;AGnVmC;EAAW,iBAAA;CHsV9C;AGrVmC;EAAW,iBAAA;CHwV9C;AGvVmC;EAAW,iBAAA;CH0V9C;AGzVmC;EAAW,iBAAA;CH4V9C;AG3VmC;EAAW,iBAAA;CH8V9C;AG7VmC;EAAW,iBAAA;CHgW9C;AG/VmC;EAAW,iBAAA;CHkW9C;AGjWmC;EAAW,iBAAA;CHoW9C;AGnWmC;EAAW,iBAAA;CHsW9C;AGrWmC;EAAW,iBAAA;CHwW9C;AGvWmC;EAAW,iBAAA;CH0W9C;AGzWmC;EAAW,iBAAA;CH4W9C;AG3WmC;EAAW,iBAAA;CH8W9C;AG7WmC;EAAW,iBAAA;CHgX9C;AG/WmC;EAAW,iBAAA;CHkX9C;AGjXmC;EAAW,iBAAA;CHoX9C;AGnXmC;EAAW,iBAAA;CHsX9C;AGrXmC;EAAW,iBAAA;CHwX9C;AGvXmC;EAAW,iBAAA;CH0X9C;AGzXmC;EAAW,iBAAA;CH4X9C;AG3XmC;EAAW,iBAAA;CH8X9C;AG7XmC;EAAW,iBAAA;CHgY9C;AG/XmC;EAAW,iBAAA;CHkY9C;AGjYmC;EAAW,iBAAA;CHoY9C;AGnYmC;EAAW,iBAAA;CHsY9C;AGrYmC;EAAW,iBAAA;CHwY9C;AGvYmC;EAAW,iBAAA;CH0Y9C;AGzYmC;EAAW,iBAAA;CH4Y9C;AG3YmC;EAAW,iBAAA;CH8Y9C;AG7YmC;EAAW,iBAAA;CHgZ9C;AG/YmC;EAAW,iBAAA;CHkZ9C;AGjZmC;EAAW,iBAAA;CHoZ9C;AGnZmC;EAAW,iBAAA;CHsZ9C;AGrZmC;EAAW,iBAAA;CHwZ9C;AGvZmC;EAAW,iBAAA;CH0Z9C;AGzZmC;EAAW,iBAAA;CH4Z9C;AG3ZmC;EAAW,iBAAA;CH8Z9C;AG7ZmC;EAAW,iBAAA;CHga9C;AG/ZmC;EAAW,iBAAA;CHka9C;AGjamC;EAAW,iBAAA;CHoa9C;AGnamC;EAAW,iBAAA;CHsa9C;AGramC;EAAW,iBAAA;CHwa9C;AGvamC;EAAW,iBAAA;CH0a9C;AGzamC;EAAW,iBAAA;CH4a9C;AG3amC;EAAW,iBAAA;CH8a9C;AG7amC;EAAW,iBAAA;CHgb9C;AG/amC;EAAW,iBAAA;CHkb9C;AGjbmC;EAAW,iBAAA;CHob9C;AGnbmC;EAAW,iBAAA;CHsb9C;AGrbmC;EAAW,iBAAA;CHwb9C;AGvbmC;EAAW,iBAAA;CH0b9C;AGzbmC;EAAW,iBAAA;CH4b9C;AG3bmC;EAAW,iBAAA;CH8b9C;AG7bmC;EAAW,iBAAA;CHgc9C;AG/bmC;EAAW,iBAAA;CHkc9C;AGjcmC;EAAW,iBAAA;CHoc9C;AGncmC;EAAW,iBAAA;CHsc9C;AGrcmC;EAAW,iBAAA;CHwc9C;AGvcmC;EAAW,iBAAA;CH0c9C;AGzcmC;EAAW,iBAAA;CH4c9C;AG3cmC;EAAW,iBAAA;CH8c9C;AG7cmC;EAAW,iBAAA;CHgd9C;AG/cmC;EAAW,iBAAA;CHkd9C;AGjdmC;EAAW,iBAAA;CHod9C;AGndmC;EAAW,iBAAA;CHsd9C;AGrdmC;EAAW,iBAAA;CHwd9C;AGvdmC;EAAW,iBAAA;CH0d9C;AGzdmC;EAAW,iBAAA;CH4d9C;AG3dmC;EAAW,iBAAA;CH8d9C;AG7dmC;EAAW,iBAAA;CHge9C;AG/dmC;EAAW,iBAAA;CHke9C;AGjemC;EAAW,iBAAA;CHoe9C;AGnemC;EAAW,iBAAA;CHse9C;AGremC;EAAW,iBAAA;CHwe9C;AGvemC;EAAW,iBAAA;CH0e9C;AGzemC;EAAW,iBAAA;CH4e9C;AG3emC;EAAW,iBAAA;CH8e9C;AG7emC;EAAW,iBAAA;CHgf9C;AG/emC;EAAW,iBAAA;CHkf9C;AGjfmC;EAAW,iBAAA;CHof9C;AGnfmC;EAAW,iBAAA;CHsf9C;AGrfmC;EAAW,iBAAA;CHwf9C;AGvfmC;EAAW,iBAAA;CH0f9C;AGzfmC;EAAW,iBAAA;CH4f9C;AG3fmC;EAAW,iBAAA;CH8f9C;AG7fmC;EAAW,iBAAA;CHggB9C;AG/fmC;EAAW,iBAAA;CHkgB9C;AGjgBmC;EAAW,iBAAA;CHogB9C;AGngBmC;EAAW,iBAAA;CHsgB9C;AGrgBmC;EAAW,iBAAA;CHwgB9C;AGvgBmC;EAAW,iBAAA;CH0gB9C;AGzgBmC;EAAW,iBAAA;CH4gB9C;AG3gBmC;EAAW,iBAAA;CH8gB9C;AG7gBmC;EAAW,iBAAA;CHghB9C;AG/gBmC;EAAW,iBAAA;CHkhB9C;AGjhBmC;EAAW,iBAAA;CHohB9C;AGnhBmC;EAAW,iBAAA;CHshB9C;AGrhBmC;EAAW,iBAAA;CHwhB9C;AGvhBmC;EAAW,iBAAA;CH0hB9C;AGzhBmC;EAAW,iBAAA;CH4hB9C;AG3hBmC;EAAW,iBAAA;CH8hB9C;AG7hBmC;EAAW,iBAAA;CHgiB9C;AG/hBmC;EAAW,iBAAA;CHkiB9C;AGjiBmC;EAAW,iBAAA;CHoiB9C;AGniBmC;EAAW,iBAAA;CHsiB9C;AGriBmC;EAAW,iBAAA;CHwiB9C;AGviBmC;EAAW,iBAAA;CH0iB9C;AGziBmC;EAAW,iBAAA;CH4iB9C;AG3iBmC;EAAW,iBAAA;CH8iB9C;AG7iBmC;EAAW,iBAAA;CHgjB9C;AG/iBmC;EAAW,iBAAA;CHkjB9C;AGjjBmC;EAAW,iBAAA;CHojB9C;AGnjBmC;EAAW,iBAAA;CHsjB9C;AGrjBmC;EAAW,iBAAA;CHwjB9C;AGvjBmC;EAAW,iBAAA;CH0jB9C;AGzjBmC;EAAW,iBAAA;CH4jB9C;AG3jBmC;EAAW,iBAAA;CH8jB9C;AG7jBmC;EAAW,iBAAA;CHgkB9C;AG/jBmC;EAAW,iBAAA;CHkkB9C;AGjkBmC;EAAW,iBAAA;CHokB9C;AGnkBmC;EAAW,iBAAA;CHskB9C;AGrkBmC;EAAW,iBAAA;CHwkB9C;AGvkBmC;EAAW,iBAAA;CH0kB9C;AGzkBmC;EAAW,iBAAA;CH4kB9C;AG3kBmC;EAAW,iBAAA;CH8kB9C;AG7kBmC;EAAW,iBAAA;CHglB9C;AG/kBmC;EAAW,iBAAA;CHklB9C;AGjlBmC;EAAW,iBAAA;CHolB9C;AGnlBmC;EAAW,iBAAA;CHslB9C;AGrlBmC;EAAW,iBAAA;CHwlB9C;AGvlBmC;EAAW,iBAAA;CH0lB9C;AGzlBmC;EAAW,iBAAA;CH4lB9C;AG3lBmC;EAAW,iBAAA;CH8lB9C;AG7lBmC;EAAW,iBAAA;CHgmB9C;AG/lBmC;EAAW,iBAAA;CHkmB9C;AGjmBmC;EAAW,iBAAA;CHomB9C;AGnmBmC;EAAW,iBAAA;CHsmB9C;AGrmBmC;EAAW,iBAAA;CHwmB9C;AGvmBmC;EAAW,iBAAA;CH0mB9C;AGzmBmC;EAAW,iBAAA;CH4mB9C;AG3mBmC;EAAW,iBAAA;CH8mB9C;AG7mBmC;EAAW,iBAAA;CHgnB9C;AG/mBmC;EAAW,iBAAA;CHknB9C;AGjnBmC;EAAW,iBAAA;CHonB9C;AGnnBmC;EAAW,iBAAA;CHsnB9C;AGrnBmC;EAAW,iBAAA;CHwnB9C;AGvnBmC;EAAW,iBAAA;CH0nB9C;AGznBmC;EAAW,iBAAA;CH4nB9C;AG3nBmC;EAAW,iBAAA;CH8nB9C;AG7nBmC;EAAW,iBAAA;CHgoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AGvoBmC;EAAW,iBAAA;CH0oB9C;AGzoBmC;EAAW,iBAAA;CH4oB9C;AG3oBmC;EAAW,iBAAA;CH8oB9C;AG7oBmC;EAAW,iBAAA;CHgpB9C;AG/oBmC;EAAW,iBAAA;CHkpB9C;AGjpBmC;EAAW,iBAAA;CHopB9C;AGnpBmC;EAAW,iBAAA;CHspB9C;AGrpBmC;EAAW,iBAAA;CHwpB9C;AGvpBmC;EAAW,iBAAA;CH0pB9C;AGzpBmC;EAAW,iBAAA;CH4pB9C;AG3pBmC;EAAW,iBAAA;CH8pB9C;AG7pBmC;EAAW,iBAAA;CHgqB9C;AG/pBmC;EAAW,iBAAA;CHkqB9C;AGjqBmC;EAAW,iBAAA;CHoqB9C;AGnqBmC;EAAW,iBAAA;CHsqB9C;AGrqBmC;EAAW,iBAAA;CHwqB9C;AGvqBmC;EAAW,iBAAA;CH0qB9C;AGzqBmC;EAAW,iBAAA;CH4qB9C;AG3qBmC;EAAW,iBAAA;CH8qB9C;AG7qBmC;EAAW,iBAAA;CHgrB9C;AG/qBmC;EAAW,iBAAA;CHkrB9C;AGjrBmC;EAAW,iBAAA;CHorB9C;AGnrBmC;EAAW,iBAAA;CHsrB9C;AGrrBmC;EAAW,iBAAA;CHwrB9C;AGvrBmC;EAAW,iBAAA;CH0rB9C;AGzrBmC;EAAW,iBAAA;CH4rB9C;AG3rBmC;EAAW,iBAAA;CH8rB9C;AG7rBmC;EAAW,iBAAA;CHgsB9C;AG/rBmC;EAAW,iBAAA;CHksB9C;AGjsBmC;EAAW,iBAAA;CHosB9C;AGnsBmC;EAAW,iBAAA;CHssB9C;AGrsBmC;EAAW,iBAAA;CHwsB9C;AGvsBmC;EAAW,iBAAA;CH0sB9C;AGzsBmC;EAAW,iBAAA;CH4sB9C;AG3sBmC;EAAW,iBAAA;CH8sB9C;AG7sBmC;EAAW,iBAAA;CHgtB9C;AG/sBmC;EAAW,iBAAA;CHktB9C;AGjtBmC;EAAW,iBAAA;CHotB9C;AGntBmC;EAAW,iBAAA;CHstB9C;AGrtBmC;EAAW,iBAAA;CHwtB9C;AGvtBmC;EAAW,iBAAA;CH0tB9C;AGztBmC;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ukDH;AexkDC;EACE,oBAAA;Cf0kDH;Ae3kDC;EACE,WAAA;Cf6kDH;Ae9kDC;EACE,oBAAA;CfglDH;AejlDC;EACE,mBAAA;CfmlDH;Ae/kDC;EACE,YAAA;CfilDH;AejmDC;EACE,WAAA;CfmmDH;AepmDC;EACE,mBAAA;CfsmDH;AevmDC;EACE,mBAAA;CfymDH;Ae1mDC;EACE,UAAA;Cf4mDH;Ae7mDC;EACE,mBAAA;Cf+mDH;AehnDC;EACE,mBAAA;CfknDH;AennDC;EACE,UAAA;CfqnDH;AetnDC;EACE,mBAAA;CfwnDH;AeznDC;EACE,mBAAA;Cf2nDH;Ae5nDC;EACE,UAAA;Cf8nDH;Ae/nDC;EACE,mBAAA;CfioDH;AeloDC;EACE,kBAAA;CfooDH;AehoDC;EACE,WAAA;CfkoDH;AepnDC;EACE,kBAAA;CfsnDH;AevnDC;EACE,0BAAA;CfynDH;Ae1nDC;EACE,0BAAA;Cf4nDH;Ae7nDC;EACE,iBAAA;Cf+nDH;AehoDC;EACE,0BAAA;CfkoDH;AenoDC;EACE,0BAAA;CfqoDH;AetoDC;EACE,iBAAA;CfwoDH;AezoDC;EACE,0BAAA;Cf2oDH;Ae5oDC;EACE,0BAAA;Cf8oDH;Ae/oDC;EACE,iBAAA;CfipDH;AelpDC;EACE,0BAAA;CfopDH;AerpDC;EACE,yBAAA;CfupDH;AexpDC;EACE,gBAAA;Cf0pDH;Aa1pDD;EElCI;IACE,YAAA;Gf+rDH;EexrDD;IACE,YAAA;Gf0rDD;Ee3rDD;IACE,oBAAA;Gf6rDD;Ee9rDD;IACE,oBAAA;GfgsDD;EejsDD;IACE,WAAA;GfmsDD;EepsDD;IACE,oBAAA;GfssDD;EevsDD;IACE,oBAAA;GfysDD;Ee1sDD;IACE,WAAA;Gf4sDD;Ee7sDD;IACE,oBAAA;Gf+sDD;EehtDD;IACE,oBAAA;GfktDD;EentDD;IACE,WAAA;GfqtDD;EettDD;IACE,oBAAA;GfwtDD;EeztDD;IACE,mBAAA;Gf2tDD;Ee7sDD;IACE,YAAA;Gf+sDD;EehtDD;IACE,oBAAA;GfktDD;EentDD;IACE,oBAAA;GfqtDD;EettDD;IACE,WAAA;GfwtDD;EeztDD;IACE,oBAAA;Gf2tDD;Ee5tDD;IACE,oBAAA;Gf8tDD;Ee/tDD;IACE,WAAA;GfiuDD;EeluDD;IACE,oBAAA;GfouDD;EeruDD;IACE,oBAAA;GfuuDD;EexuDD;IACE,WAAA;Gf0uDD;Ee3uDD;IACE,oBAAA;Gf6uDD;Ee9uDD;IACE,mBAAA;GfgvDD;Ee5uDD;IACE,YAAA;Gf8uDD;Ee9vDD;IACE,WAAA;GfgwDD;EejwDD;IACE,mBAAA;GfmwDD;EepwDD;IACE,mBAAA;GfswDD;EevwDD;IACE,UAAA;GfywDD;Ee1wDD;IACE,mBAAA;Gf4wDD;Ee7wDD;IACE,mBAAA;Gf+wDD;EehxDD;IACE,UAAA;GfkxDD;EenxDD;IACE,mBAAA;GfqxDD;EetxDD;IACE,mBAAA;GfwxDD;EezxDD;IACE,UAAA;Gf2xDD;Ee5xDD;IACE,mBAAA;Gf8xDD;Ee/xDD;IACE,kBAAA;GfiyDD;Ee7xDD;IACE,WAAA;Gf+xDD;EejxDD;IACE,kBAAA;GfmxDD;EepxDD;IACE,0BAAA;GfsxDD;EevxDD;IACE,0BAAA;GfyxDD;Ee1xDD;IACE,iBAAA;Gf4xDD;Ee7xDD;IACE,0BAAA;Gf+xDD;EehyDD;IACE,0BAAA;GfkyDD;EenyDD;IACE,iBAAA;GfqyDD;EetyDD;IACE,0BAAA;GfwyDD;EezyDD;IACE,0BAAA;Gf2yDD;Ee5yDD;IACE,iBAAA;Gf8yDD;Ee/yDD;IACE,0BAAA;GfizDD;EelzDD;IACE,yBAAA;GfozDD;EerzDD;IACE,gBAAA;GfuzDD;CACF;Aa/yDD;EE3CI;IACE,YAAA;Gf61DH;Eet1DD;IACE,YAAA;Gfw1DD;Eez1DD;IACE,oBAAA;Gf21DD;Ee51DD;IACE,oBAAA;Gf81DD;Ee/1DD;IACE,WAAA;Gfi2DD;Eel2DD;IACE,oBAAA;Gfo2DD;Eer2DD;IACE,oBAAA;Gfu2DD;Eex2DD;IACE,WAAA;Gf02DD;Ee32DD;IACE,oBAAA;Gf62DD;Ee92DD;IACE,oBAAA;Gfg3DD;Eej3DD;IACE,WAAA;Gfm3DD;Eep3DD;IACE,oBAAA;Gfs3DD;Eev3DD;IACE,mBAAA;Gfy3DD;Ee32DD;IACE,YAAA;Gf62DD;Ee92DD;IACE,oBAAA;Gfg3DD;Eej3DD;IACE,oBAAA;Gfm3DD;Eep3DD;IACE,WAAA;Gfs3DD;Eev3DD;IACE,oBAAA;Gfy3DD;Ee13DD;IACE,oBAAA;Gf43DD;Ee73DD;IACE,WAAA;Gf+3DD;Eeh4DD;IACE,oBAAA;Gfk4DD;Een4DD;IACE,oBAAA;Gfq4DD;Eet4DD;IACE,WAAA;Gfw4DD;Eez4DD;IACE,oBAAA;Gf24DD;Ee54DD;IACE,mBAAA;Gf84DD;Ee14DD;IACE,YAAA;Gf44DD;Ee55DD;IACE,WAAA;Gf85DD;Ee/5DD;IACE,mBAAA;Gfi6DD;Eel6DD;IACE,mBAAA;Gfo6DD;Eer6DD;IACE,UAAA;Gfu6DD;Eex6DD;IACE,mBAAA;Gf06DD;Ee36DD;IACE,mBAAA;Gf66DD;Ee96DD;IACE,UAAA;Gfg7DD;Eej7DD;IACE,mBAAA;Gfm7DD;Eep7DD;IACE,mBAAA;Gfs7DD;Eev7DD;IACE,UAAA;Gfy7DD;Ee17DD;IACE,mBAAA;Gf47DD;Ee77DD;IACE,kBAAA;Gf+7DD;Ee37DD;IACE,WAAA;Gf67DD;Ee/6DD;IACE,kBAAA;Gfi7DD;Eel7DD;IACE,0BAAA;Gfo7DD;Eer7DD;IACE,0BAAA;Gfu7DD;Eex7DD;IACE,iBAAA;Gf07DD;Ee37DD;IACE,0BAAA;Gf67DD;Ee97DD;IACE,0BAAA;Gfg8DD;Eej8DD;IACE,iBAAA;Gfm8DD;Eep8DD;IACE,0BAAA;Gfs8DD;Eev8DD;IACE,0BAAA;Gfy8DD;Ee18DD;IACE,iBAAA;Gf48DD;Ee78DD;IACE,0BAAA;Gf+8DD;Eeh9DD;IACE,yBAAA;Gfk9DD;Een9DD;IACE,gBAAA;Gfq9DD;CACF;Aa18DD;EE9CI;IACE,YAAA;Gf2/DH;Eep/DD;IACE,YAAA;Gfs/DD;Eev/DD;IACE,oBAAA;Gfy/DD;Ee1/DD;IACE,oBAAA;Gf4/DD;Ee7/DD;IACE,WAAA;Gf+/DD;EehgED;IACE,oBAAA;GfkgED;EengED;IACE,oBAAA;GfqgED;EetgED;IACE,WAAA;GfwgED;EezgED;IACE,oBAAA;Gf2gED;Ee5gED;IACE,oBAAA;Gf8gED;Ee/gED;IACE,WAAA;GfihED;EelhED;IACE,oBAAA;GfohED;EerhED;IACE,mBAAA;GfuhED;EezgED;IACE,YAAA;Gf2gED;Ee5gED;IACE,oBAAA;Gf8gED;Ee/gED;IACE,oBAAA;GfihED;EelhED;IACE,WAAA;GfohED;EerhED;IACE,oBAAA;GfuhED;EexhED;IACE,oBAAA;Gf0hED;Ee3hED;IACE,WAAA;Gf6hED;Ee9hED;IACE,oBAAA;GfgiED;EejiED;IACE,oBAAA;GfmiED;EepiED;IACE,WAAA;GfsiED;EeviED;IACE,oBAAA;GfyiED;Ee1iED;IACE,mBAAA;Gf4iED;EexiED;IACE,YAAA;Gf0iED;Ee1jED;IACE,WAAA;Gf4jED;Ee7jED;IACE,mBAAA;Gf+jED;EehkED;IACE,mBAAA;GfkkED;EenkED;IACE,UAAA;GfqkED;EetkED;IACE,mBAAA;GfwkED;EezkED;IACE,mBAAA;Gf2kED;Ee5kED;IACE,UAAA;Gf8kED;Ee/kED;IACE,mBAAA;GfilED;EellED;IACE,mBAAA;GfolED;EerlED;IACE,UAAA;GfulED;EexlED;IACE,mBAAA;Gf0lED;Ee3lED;IACE,kBAAA;Gf6lED;EezlED;IACE,WAAA;Gf2lED;Ee7kED;IACE,kBAAA;Gf+kED;EehlED;IACE,0BAAA;GfklED;EenlED;IACE,0BAAA;GfqlED;EetlED;IACE,iBAAA;GfwlED;EezlED;IACE,0BAAA;Gf2lED;Ee5lED;IACE,0BAAA;Gf8lED;Ee/lED;IACE,iBAAA;GfimED;EelmED;IACE,0BAAA;GfomED;EermED;IACE,0BAAA;GfumED;EexmED;IACE,iBAAA;Gf0mED;Ee3mED;IACE,0BAAA;Gf6mED;Ee9mED;IACE,yBAAA;GfgnED;EejnED;IACE,gBAAA;GfmnED;CACF;AgBvrED;EACE,8BAAA;ChByrED;AgBvrED;EACE,iBAAA;EACA,oBAAA;EACA,eAAA;EACA,iBAAA;ChByrED;AgBvrED;EACE,iBAAA;ChByrED;AgBnrED;EACE,YAAA;EACA,gBAAA;EACA,oBAAA;ChBqrED;AgBxrED;;;;;;EAWQ,aAAA;EACA,wBAAA;EACA,oBAAA;EACA,2BAAA;ChBqrEP;AgBnsED;EAoBI,uBAAA;EACA,8BAAA;ChBkrEH;AgBvsED;;;;;;EA8BQ,cAAA;ChBirEP;AgB/sED;EAoCI,2BAAA;ChB8qEH;AgBltED;EAyCI,uBAAA;ChB4qEH;AgBrqED;;;;;;EAOQ,aAAA;ChBsqEP;AgB3pED;EACE,uBAAA;ChB6pED;AgB9pED;;;;;;EAQQ,uBAAA;ChB8pEP;AgBtqED;;EAeM,yBAAA;ChB2pEL;AgBjpED;EAEI,0BAAA;ChBkpEH;AgBzoED;EAEI,0BAAA;ChB0oEH;AgBjoED;EACE,iBAAA;EACA,YAAA;EACA,sBAAA;ChBmoED;AgB9nEG;;EACE,iBAAA;EACA,YAAA;EACA,oBAAA;ChBioEL;AiB7wEC;;;;;;;;;;;;EAOI,0BAAA;CjBoxEL;AiB9wEC;;;;;EAMI,0BAAA;CjB+wEL;AiBlyEC;;;;;;;;;;;;EAOI,0BAAA;CjByyEL;AiBnyEC;;;;;EAMI,0BAAA;CjBoyEL;AiBvzEC;;;;;;;;;;;;EAOI,0BAAA;CjB8zEL;AiBxzEC;;;;;EAMI,0BAAA;CjByzEL;AiB50EC;;;;;;;;;;;;EAOI,0BAAA;CjBm1EL;AiB70EC;;;;;EAMI,0BAAA;CjB80EL;AiBj2EC;;;;;;;;;;;;EAOI,0BAAA;CjBw2EL;AiBl2EC;;;;;EAMI,0BAAA;CjBm2EL;AgBjtED;EACE,iBAAA;EACA,kBAAA;ChBmtED;AgBtpED;EACA;IA3DI,YAAA;IACA,oBAAA;IACA,mBAAA;IACA,6CAAA;IACA,uBAAA;GhBotED;EgB7pEH;IAnDM,iBAAA;GhBmtEH;EgBhqEH;;;;;;IA1CY,oBAAA;GhBktET;EgBxqEH;IAlCM,UAAA;GhB6sEH;EgB3qEH;;;;;;IAzBY,eAAA;GhB4sET;EgBnrEH;;;;;;IArBY,gBAAA;GhBgtET;EgB3rEH;;;;IARY,iBAAA;GhBysET;CACF;AkBn6ED;EACE,WAAA;EACA,UAAA;EACA,UAAA;EAIA,aAAA;ClBk6ED;AkB/5ED;EACE,eAAA;EACA,YAAA;EACA,WAAA;EACA,oBAAA;EACA,gBAAA;EACA,qBAAA;EACA,eAAA;EACA,UAAA;EACA,iCAAA;ClBi6ED;AkB95ED;EACE,sBAAA;EACA,gBAAA;EACA,mBAAA;EACA,kBAAA;ClBg6ED;AkBr5ED;Eb4BE,+BAAA;EACG,4BAAA;EACK,uBAAA;CL43ET;AkBr5ED;;EAEE,gBAAA;EACA,mBAAA;EACA,oBAAA;ClBu5ED;AkBp5ED;EACE,eAAA;ClBs5ED;AkBl5ED;EACE,eAAA;EACA,YAAA;ClBo5ED;AkBh5ED;;EAEE,aAAA;ClBk5ED;AkB94ED;;;EZrEE,2CAAA;EACA,qBAAA;CNw9ED;AkB74ED;EACE,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,wBAAA;EACA,eAAA;ClB+4ED;AkBr3ED;EACE,eAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,wBAAA;EACA,eAAA;EACA,uBAAA;EACA,uBAAA;EACA,uBAAA;EACA,mBAAA;EbxDA,yDAAA;EACQ,iDAAA;EAyHR,uFAAA;EACK,0EAAA;EACG,uEAAA;CLwzET;AmBh8EC;EACE,sBAAA;EACA,WAAA;EdUF,uFAAA;EACQ,+EAAA;CLy7ET;AKx5EC;EACE,YAAA;EACA,WAAA;CL05EH;AKx5EC;EAA0B,YAAA;CL25E3B;AK15EC;EAAgC,YAAA;CL65EjC;AkBj4EC;EACE,UAAA;EACA,8BAAA;ClBm4EH;AkB33EC;;;EAGE,0BAAA;EACA,WAAA;ClB63EH;AkB13EC;;EAEE,oBAAA;ClB43EH;AkBx3EC;EACE,aAAA;ClB03EH;AkB92ED;EACE,yBAAA;ClBg3ED;AkBx0ED;EAtBI;;;;IACE,kBAAA;GlBo2EH;EkBj2EC;;;;;;;;IAEE,kBAAA;GlBy2EH;EkBt2EC;;;;;;;;IAEE,kBAAA;GlB82EH;CACF;AkBp2ED;EACE,oBAAA;ClBs2ED;AkB91ED;;EAEE,mBAAA;EACA,eAAA;EACA,iBAAA;EACA,oBAAA;ClBg2ED;AkBr2ED;;EAQI,iBAAA;EACA,mBAAA;EACA,iBAAA;EACA,oBAAA;EACA,gBAAA;ClBi2EH;AkB91ED;;;;EAIE,mBAAA;EACA,mBAAA;EACA,mBAAA;ClBg2ED;AkB71ED;;EAEE,iBAAA;ClB+1ED;AkB31ED;;EAEE,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,iBAAA;EACA,uBAAA;EACA,oBAAA;EACA,gBAAA;ClB61ED;AkB31ED;;EAEE,cAAA;EACA,kBAAA;ClB61ED;AkBp1EC;;;;;;EAGE,oBAAA;ClBy1EH;AkBn1EC;;;;EAEE,oBAAA;ClBu1EH;AkBj1EC;;;;EAGI,oBAAA;ClBo1EL;AkBz0ED;EAEE,iBAAA;EACA,oBAAA;EAEA,iBAAA;EACA,iBAAA;ClBy0ED;AkBv0EC;;EAEE,gBAAA;EACA,iBAAA;ClBy0EH;AkB5zED;ECnQE,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CnBkkFD;AmBhkFC;EACE,aAAA;EACA,kBAAA;CnBkkFH;AmB/jFC;;EAEE,aAAA;CnBikFH;AkBx0ED;EAEI,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;ClBy0EH;AkB/0ED;EASI,aAAA;EACA,kBAAA;ClBy0EH;AkBn1ED;;EAcI,aAAA;ClBy0EH;AkBv1ED;EAiBI,aAAA;EACA,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;ClBy0EH;AkBr0ED;EC/RE,aAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;CnBumFD;AmBrmFC;EACE,aAAA;EACA,kBAAA;CnBumFH;AmBpmFC;;EAEE,aAAA;CnBsmFH;AkBj1ED;EAEI,aAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;ClBk1EH;AkBx1ED;EASI,aAAA;EACA,kBAAA;ClBk1EH;AkB51ED;;EAcI,aAAA;ClBk1EH;AkBh2ED;EAiBI,aAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;ClBk1EH;AkBz0ED;EAEE,mBAAA;ClB00ED;AkB50ED;EAMI,sBAAA;ClBy0EH;AkBr0ED;EACE,mBAAA;EACA,OAAA;EACA,SAAA;EACA,WAAA;EACA,eAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,mBAAA;EACA,qBAAA;ClBu0ED;AkBr0ED;;;EAGE,YAAA;EACA,aAAA;EACA,kBAAA;ClBu0ED;AkBr0ED;;;EAGE,YAAA;EACA,aAAA;EACA,kBAAA;ClBu0ED;AkBn0ED;;;;;;;;;;EC1ZI,eAAA;CnByuFH;AkB/0ED;ECtZI,sBAAA;Ed+CF,yDAAA;EACQ,iDAAA;CL0rFT;AmBxuFG;EACE,sBAAA;Ed4CJ,0EAAA;EACQ,kEAAA;CL+rFT;AkBz1ED;EC5YI,eAAA;EACA,sBAAA;EACA,0BAAA;CnBwuFH;AkB91ED;ECtYI,eAAA;CnBuuFH;AkB91ED;;;;;;;;;;EC7ZI,eAAA;CnBuwFH;AkB12ED;ECzZI,sBAAA;Ed+CF,yDAAA;EACQ,iDAAA;CLwtFT;AmBtwFG;EACE,sBAAA;Ed4CJ,0EAAA;EACQ,kEAAA;CL6tFT;AkBp3ED;EC/YI,eAAA;EACA,sBAAA;EACA,0BAAA;CnBswFH;AkBz3ED;ECzYI,eAAA;CnBqwFH;AkBz3ED;;;;;;;;;;EChaI,eAAA;CnBqyFH;AkBr4ED;EC5ZI,sBAAA;Ed+CF,yDAAA;EACQ,iDAAA;CLsvFT;AmBpyFG;EACE,sBAAA;Ed4CJ,0EAAA;EACQ,kEAAA;CL2vFT;AkB/4ED;EClZI,eAAA;EACA,sBAAA;EACA,0BAAA;CnBoyFH;AkBp5ED;EC5YI,eAAA;CnBmyFH;AkBh5EC;EACE,UAAA;ClBk5EH;AkBh5EC;EACE,OAAA;ClBk5EH;AkBx4ED;EACE,eAAA;EACA,gBAAA;EACA,oBAAA;EACA,eAAA;ClB04ED;AkBvzED;EAwEA;IAtIM,sBAAA;IACA,iBAAA;IACA,uBAAA;GlBy3EH;EkBrvEH;IA/HM,sBAAA;IACA,YAAA;IACA,uBAAA;GlBu3EH;EkB1vEH;IAxHM,sBAAA;GlBq3EH;EkB7vEH;IApHM,sBAAA;IACA,uBAAA;GlBo3EH;EkBjwEH;;;IA9GQ,YAAA;GlBo3EL;EkBtwEH;IAxGM,YAAA;GlBi3EH;EkBzwEH;IApGM,iBAAA;IACA,uBAAA;GlBg3EH;EkB7wEH;;IA5FM,sBAAA;IACA,cAAA;IACA,iBAAA;IACA,uBAAA;GlB62EH;EkBpxEH;;IAtFQ,gBAAA;GlB82EL;EkBxxEH;;IAjFM,mBAAA;IACA,eAAA;GlB62EH;EkB7xEH;IA3EM,OAAA;GlB22EH;CACF;AkBj2ED;;;;EASI,cAAA;EACA,iBAAA;EACA,iBAAA;ClB81EH;AkBz2ED;;EAiBI,iBAAA;ClB41EH;AkB72ED;EJthBE,mBAAA;EACA,oBAAA;Cds4FD;AkB10EC;EAyBF;IAnCM,kBAAA;IACA,iBAAA;IACA,iBAAA;GlBw1EH;CACF;AkBx3ED;EAwCI,YAAA;ClBm1EH;AkBr0EC;EAUF;IAdQ,kBAAA;IACA,gBAAA;GlB60EL;CACF;AkBn0EC;EAEF;IANQ,iBAAA;IACA,gBAAA;GlB20EL;CACF;AoBp6FD;EACE,sBAAA;EACA,iBAAA;EACA,oBAAA;EACA,mBAAA;EACA,uBAAA;EACA,+BAAA;MAAA,2BAAA;EACA,gBAAA;EACA,uBAAA;EACA,8BAAA;EACA,oBAAA;EC0CA,kBAAA;EACA,gBAAA;EACA,wBAAA;EACA,mBAAA;EhB+JA,0BAAA;EACG,uBAAA;EACC,sBAAA;EACI,kBAAA;CL+tFT;AoBv6FG;;;;;;EdnBF,2CAAA;EACA,qBAAA;CNk8FD;AoB16FC;;;EAGE,YAAA;EACA,sBAAA;CpB46FH;AoBz6FC;;EAEE,WAAA;EACA,uBAAA;Ef2BF,yDAAA;EACQ,iDAAA;CLi5FT;AoBz6FC;;;EAGE,oBAAA;EE7CF,cAAA;EAGA,0BAAA;EjB8DA,yBAAA;EACQ,iBAAA;CL05FT;AoBz6FG;;EAEE,qBAAA;CpB26FL;AoBl6FD;EC3DE,YAAA;EACA,uBAAA;EACA,mBAAA;CrBg+FD;AqB99FC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBg+FP;AqB99FC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBg+FP;AqB99FC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBg+FP;AqB99FG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBs+FT;AqBn+FC;;;EAGE,uBAAA;CrBq+FH;AqBh+FG;;;;;;;;;EAGE,uBAAA;EACI,mBAAA;CrBw+FT;AoBv9FD;ECZI,YAAA;EACA,uBAAA;CrBs+FH;AoBx9FD;EC9DE,YAAA;EACA,0BAAA;EACA,sBAAA;CrByhGD;AqBvhGC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrByhGP;AqBvhGC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrByhGP;AqBvhGC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrByhGP;AqBvhGG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB+hGT;AqB5hGC;;;EAGE,uBAAA;CrB8hGH;AqBzhGG;;;;;;;;;EAGE,0BAAA;EACI,sBAAA;CrBiiGT;AoB7gGD;ECfI,eAAA;EACA,uBAAA;CrB+hGH;AoB7gGD;EClEE,YAAA;EACA,0BAAA;EACA,sBAAA;CrBklGD;AqBhlGC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBklGP;AqBhlGC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBklGP;AqBhlGC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBklGP;AqBhlGG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBwlGT;AqBrlGC;;;EAGE,uBAAA;CrBulGH;AqBllGG;;;;;;;;;EAGE,0BAAA;EACI,sBAAA;CrB0lGT;AoBlkGD;ECnBI,eAAA;EACA,uBAAA;CrBwlGH;AoBlkGD;ECtEE,YAAA;EACA,0BAAA;EACA,sBAAA;CrB2oGD;AqBzoGC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB2oGP;AqBzoGC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB2oGP;AqBzoGC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB2oGP;AqBzoGG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBipGT;AqB9oGC;;;EAGE,uBAAA;CrBgpGH;AqB3oGG;;;;;;;;;EAGE,0BAAA;EACI,sBAAA;CrBmpGT;AoBvnGD;ECvBI,eAAA;EACA,uBAAA;CrBipGH;AoBvnGD;EC1EE,YAAA;EACA,0BAAA;EACA,sBAAA;CrBosGD;AqBlsGC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBosGP;AqBlsGC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBosGP;AqBlsGC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBosGP;AqBlsGG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB0sGT;AqBvsGC;;;EAGE,uBAAA;CrBysGH;AqBpsGG;;;;;;;;;EAGE,0BAAA;EACI,sBAAA;CrB4sGT;AoB5qGD;EC3BI,eAAA;EACA,uBAAA;CrB0sGH;AoB5qGD;EC9EE,YAAA;EACA,0BAAA;EACA,sBAAA;CrB6vGD;AqB3vGC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB6vGP;AqB3vGC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB6vGP;AqB3vGC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB6vGP;AqB3vGG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBmwGT;AqBhwGC;;;EAGE,uBAAA;CrBkwGH;AqB7vGG;;;;;;;;;EAGE,0BAAA;EACI,sBAAA;CrBqwGT;AoBjuGD;EC/BI,eAAA;EACA,uBAAA;CrBmwGH;AoB5tGD;EACE,eAAA;EACA,oBAAA;EACA,iBAAA;CpB8tGD;AoB5tGC;;;;;EAKE,8BAAA;EfnCF,yBAAA;EACQ,iBAAA;CLkwGT;AoB7tGC;;;;EAIE,0BAAA;CpB+tGH;AoB7tGC;;EAEE,eAAA;EACA,2BAAA;EACA,8BAAA;CpB+tGH;AoB3tGG;;;;EAEE,eAAA;EACA,sBAAA;CpB+tGL;AoBttGD;;ECxEE,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;CrBkyGD;AoBztGD;;EC5EE,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CrByyGD;AoB5tGD;;EChFE,iBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CrBgzGD;AoB3tGD;EACE,eAAA;EACA,YAAA;CpB6tGD;AoBztGD;EACE,gBAAA;CpB2tGD;AoBptGC;;;EACE,YAAA;CpBwtGH;AuBl3GD;EACE,WAAA;ElBoLA,yCAAA;EACK,oCAAA;EACG,iCAAA;CLisGT;AuBr3GC;EACE,WAAA;CvBu3GH;AuBn3GD;EACE,cAAA;CvBq3GD;AuBn3GC;EAAY,eAAA;CvBs3Gb;AuBr3GC;EAAY,mBAAA;CvBw3Gb;AuBv3GC;EAAY,yBAAA;CvB03Gb;AuBv3GD;EACE,mBAAA;EACA,UAAA;EACA,iBAAA;ElBuKA,gDAAA;EACQ,2CAAA;KAAA,wCAAA;EAOR,mCAAA;EACQ,8BAAA;KAAA,2BAAA;EAGR,yCAAA;EACQ,oCAAA;KAAA,iCAAA;CL2sGT;AwBr5GD;EACE,sBAAA;EACA,SAAA;EACA,UAAA;EACA,iBAAA;EACA,uBAAA;EACA,uBAAA;EACA,yBAAA;EACA,oCAAA;EACA,mCAAA;CxBu5GD;AwBn5GD;;EAEE,mBAAA;CxBq5GD;AwBj5GD;EACE,WAAA;CxBm5GD;AwB/4GD;EACE,mBAAA;EACA,UAAA;EACA,QAAA;EACA,cAAA;EACA,cAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,iBAAA;EACA,gBAAA;EACA,iBAAA;EACA,uBAAA;EACA,uBAAA;EACA,sCAAA;EACA,mBAAA;EnBsBA,oDAAA;EACQ,4CAAA;EmBrBR,qCAAA;UAAA,6BAAA;CxBk5GD;AwB74GC;EACE,SAAA;EACA,WAAA;CxB+4GH;AwBx6GD;ECzBE,YAAA;EACA,cAAA;EACA,iBAAA;EACA,0BAAA;CzBo8GD;AwB96GD;EAmCI,eAAA;EACA,kBAAA;EACA,YAAA;EACA,oBAAA;EACA,wBAAA;EACA,eAAA;EACA,oBAAA;CxB84GH;AwBx4GC;;EAEE,sBAAA;EACA,eAAA;EACA,0BAAA;CxB04GH;AwBp4GC;;;EAGE,YAAA;EACA,sBAAA;EACA,WAAA;EACA,0BAAA;CxBs4GH;AwB73GC;;;EAGE,eAAA;CxB+3GH;AwB33GC;;EAEE,sBAAA;EACA,8BAAA;EACA,uBAAA;EE3GF,oEAAA;EF6GE,oBAAA;CxB63GH;AwBx3GD;EAGI,eAAA;CxBw3GH;AwB33GD;EAQI,WAAA;CxBs3GH;AwB92GD;EACE,WAAA;EACA,SAAA;CxBg3GD;AwBx2GD;EACE,QAAA;EACA,YAAA;CxB02GD;AwBt2GD;EACE,eAAA;EACA,kBAAA;EACA,gBAAA;EACA,wBAAA;EACA,eAAA;EACA,oBAAA;CxBw2GD;AwBp2GD;EACE,gBAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,OAAA;EACA,aAAA;CxBs2GD;AwBl2GD;EACE,SAAA;EACA,WAAA;CxBo2GD;AwB51GD;;EAII,cAAA;EACA,0BAAA;EACA,4BAAA;EACA,YAAA;CxB41GH;AwBn2GD;;EAWI,UAAA;EACA,aAAA;EACA,mBAAA;CxB41GH;AwBv0GD;EAXE;IApEA,WAAA;IACA,SAAA;GxB05GC;EwBv1GD;IA1DA,QAAA;IACA,YAAA;GxBo5GC;CACF;A2BpiHD;;EAEE,mBAAA;EACA,sBAAA;EACA,uBAAA;C3BsiHD;A2B1iHD;;EAMI,mBAAA;EACA,YAAA;C3BwiHH;A2BtiHG;;;;;;;;EAIE,WAAA;C3B4iHL;A2BtiHD;;;;EAKI,kBAAA;C3BuiHH;A2BliHD;EACE,kBAAA;C3BoiHD;A2BriHD;;;EAOI,YAAA;C3BmiHH;A2B1iHD;;;EAYI,iBAAA;C3BmiHH;A2B/hHD;EACE,iBAAA;C3BiiHD;A2B7hHD;EACE,eAAA;C3B+hHD;A2B9hHC;EClDA,8BAAA;EACG,2BAAA;C5BmlHJ;A2B7hHD;;EC/CE,6BAAA;EACG,0BAAA;C5BglHJ;A2B5hHD;EACE,YAAA;C3B8hHD;A2B5hHD;EACE,iBAAA;C3B8hHD;A2B5hHD;;ECnEE,8BAAA;EACG,2BAAA;C5BmmHJ;A2B3hHD;ECjEE,6BAAA;EACG,0BAAA;C5B+lHJ;A2B1hHD;;EAEE,WAAA;C3B4hHD;A2B3gHD;EACE,kBAAA;EACA,mBAAA;C3B6gHD;A2B3gHD;EACE,mBAAA;EACA,oBAAA;C3B6gHD;A2BxgHD;EtB/CE,yDAAA;EACQ,iDAAA;CL0jHT;A2BxgHC;EtBnDA,yBAAA;EACQ,iBAAA;CL8jHT;A2BrgHD;EACE,eAAA;C3BugHD;A2BpgHD;EACE,wBAAA;EACA,uBAAA;C3BsgHD;A2BngHD;EACE,wBAAA;C3BqgHD;A2B9/GD;;;EAII,eAAA;EACA,YAAA;EACA,YAAA;EACA,gBAAA;C3B+/GH;A2BtgHD;EAcM,YAAA;C3B2/GL;A2BzgHD;;;;EAsBI,iBAAA;EACA,eAAA;C3By/GH;A2Bp/GC;EACE,iBAAA;C3Bs/GH;A2Bp/GC;EC3KA,6BAAA;EACC,4BAAA;EAOD,8BAAA;EACC,6BAAA;C5B4pHF;A2Bt/GC;EC/KA,2BAAA;EACC,0BAAA;EAOD,gCAAA;EACC,+BAAA;C5BkqHF;A2Bv/GD;EACE,iBAAA;C3By/GD;A2Bv/GD;;EC/KE,8BAAA;EACC,6BAAA;C5B0qHF;A2Bt/GD;EC7LE,2BAAA;EACC,0BAAA;C5BsrHF;A2Bl/GD;EACE,eAAA;EACA,YAAA;EACA,oBAAA;EACA,0BAAA;C3Bo/GD;A2Bx/GD;;EAOI,YAAA;EACA,oBAAA;EACA,UAAA;C3Bq/GH;A2B9/GD;EAYI,YAAA;C3Bq/GH;A2BjgHD;EAgBI,WAAA;C3Bo/GH;A2Bn+GD;;;;EAKM,mBAAA;EACA,uBAAA;EACA,qBAAA;C3Bo+GL;A6B9sHD;EACE,mBAAA;EACA,eAAA;EACA,0BAAA;C7BgtHD;A6B7sHC;EACE,YAAA;EACA,gBAAA;EACA,iBAAA;C7B+sHH;A6BxtHD;EAeI,mBAAA;EACA,WAAA;EAKA,YAAA;EAEA,YAAA;EACA,iBAAA;C7BusHH;A6BrsHG;EACE,WAAA;C7BusHL;A6B7rHD;;;EV0BE,aAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;CnBwqHD;AmBtqHC;;;EACE,aAAA;EACA,kBAAA;CnB0qHH;AmBvqHC;;;;;;EAEE,aAAA;CnB6qHH;A6B/sHD;;;EVqBE,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CnB+rHD;AmB7rHC;;;EACE,aAAA;EACA,kBAAA;CnBisHH;AmB9rHC;;;;;;EAEE,aAAA;CnBosHH;A6B7tHD;;;EAGE,oBAAA;C7B+tHD;A6B7tHC;;;EACE,iBAAA;C7BiuHH;A6B7tHD;;EAEE,UAAA;EACA,oBAAA;EACA,uBAAA;C7B+tHD;A6B1tHD;EACE,kBAAA;EACA,gBAAA;EACA,oBAAA;EACA,eAAA;EACA,eAAA;EACA,mBAAA;EACA,0BAAA;EACA,uBAAA;EACA,mBAAA;C7B4tHD;A6BztHC;EACE,kBAAA;EACA,gBAAA;EACA,mBAAA;C7B2tHH;A6BztHC;EACE,mBAAA;EACA,gBAAA;EACA,mBAAA;C7B2tHH;A6B/uHD;;EA0BI,cAAA;C7BytHH;A6BptHD;;;;;;;EDpGE,8BAAA;EACG,2BAAA;C5Bi0HJ;A6BrtHD;EACE,gBAAA;C7ButHD;A6BrtHD;;;;;;;EDxGE,6BAAA;EACG,0BAAA;C5Bs0HJ;A6BttHD;EACE,eAAA;C7BwtHD;A6BntHD;EACE,mBAAA;EAGA,aAAA;EACA,oBAAA;C7BmtHD;A6BxtHD;EAUI,mBAAA;C7BitHH;A6B3tHD;EAYM,kBAAA;C7BktHL;A6B/sHG;;;EAGE,WAAA;C7BitHL;A6B5sHC;;EAGI,mBAAA;C7B6sHL;A6B1sHC;;EAGI,WAAA;EACA,kBAAA;C7B2sHL;A8B12HD;EACE,iBAAA;EACA,gBAAA;EACA,iBAAA;C9B42HD;A8B/2HD;EAOI,mBAAA;EACA,eAAA;C9B22HH;A8Bn3HD;EAWM,mBAAA;EACA,eAAA;EACA,mBAAA;C9B22HL;A8B12HK;;EAEE,sBAAA;EACA,0BAAA;C9B42HP;A8Bv2HG;EACE,eAAA;C9By2HL;A8Bv2HK;;EAEE,eAAA;EACA,sBAAA;EACA,8BAAA;EACA,oBAAA;C9By2HP;A8Bl2HG;;;EAGE,0BAAA;EACA,sBAAA;C9Bo2HL;A8B74HD;ELHE,YAAA;EACA,cAAA;EACA,iBAAA;EACA,0BAAA;CzBm5HD;A8Bn5HD;EA0DI,gBAAA;C9B41HH;A8Bn1HD;EACE,8BAAA;C9Bq1HD;A8Bt1HD;EAGI,YAAA;EAEA,oBAAA;C9Bq1HH;A8B11HD;EASM,kBAAA;EACA,wBAAA;EACA,8BAAA;EACA,2BAAA;C9Bo1HL;A8Bn1HK;EACE,mCAAA;C9Bq1HP;A8B/0HK;;;EAGE,eAAA;EACA,uBAAA;EACA,uBAAA;EACA,iCAAA;EACA,gBAAA;C9Bi1HP;A8B50HC;EAqDA,YAAA;EA8BA,iBAAA;C9B6vHD;A8Bh1HC;EAwDE,YAAA;C9B2xHH;A8Bn1HC;EA0DI,mBAAA;EACA,mBAAA;C9B4xHL;A8Bv1HC;EAgEE,UAAA;EACA,WAAA;C9B0xHH;A8B9wHD;EA0DA;IAjEM,oBAAA;IACA,UAAA;G9ByxHH;E8BztHH;IA9DQ,iBAAA;G9B0xHL;CACF;A8Bp2HC;EAuFE,gBAAA;EACA,mBAAA;C9BgxHH;A8Bx2HC;;;EA8FE,uBAAA;C9B+wHH;A8BjwHD;EA2BA;IApCM,8BAAA;IACA,2BAAA;G9B8wHH;E8B3uHH;;;IA9BM,0BAAA;G9B8wHH;CACF;A8B/2HD;EAEI,YAAA;C9Bg3HH;A8Bl3HD;EAMM,mBAAA;C9B+2HL;A8Br3HD;EASM,iBAAA;C9B+2HL;A8B12HK;;;EAGE,YAAA;EACA,0BAAA;C9B42HP;A8Bp2HD;EAEI,YAAA;C9Bq2HH;A8Bv2HD;EAIM,gBAAA;EACA,eAAA;C9Bs2HL;A8B11HD;EACE,YAAA;C9B41HD;A8B71HD;EAII,YAAA;C9B41HH;A8Bh2HD;EAMM,mBAAA;EACA,mBAAA;C9B61HL;A8Bp2HD;EAYI,UAAA;EACA,WAAA;C9B21HH;A8B/0HD;EA0DA;IAjEM,oBAAA;IACA,UAAA;G9B01HH;E8B1xHH;IA9DQ,iBAAA;G9B21HL;CACF;A8Bn1HD;EACE,iBAAA;C9Bq1HD;A8Bt1HD;EAKI,gBAAA;EACA,mBAAA;C9Bo1HH;A8B11HD;;;EAYI,uBAAA;C9Bm1HH;A8Br0HD;EA2BA;IApCM,8BAAA;IACA,2BAAA;G9Bk1HH;E8B/yHH;;;IA9BM,0BAAA;G9Bk1HH;CACF;A8Bz0HD;EAEI,cAAA;C9B00HH;A8B50HD;EAKI,eAAA;C9B00HH;A8Bj0HD;EAEE,iBAAA;EF3OA,2BAAA;EACC,0BAAA;C5B8iIF;A+BxiID;EACE,mBAAA;EACA,iBAAA;EACA,oBAAA;EACA,8BAAA;C/B0iID;A+BliID;EA8nBA;IAhoBI,mBAAA;G/BwiID;CACF;A+BzhID;EAgnBA;IAlnBI,YAAA;G/B+hID;CACF;A+BjhID;EACE,oBAAA;EACA,oBAAA;EACA,mBAAA;EACA,kCAAA;EACA,2DAAA;UAAA,mDAAA;EAEA,kCAAA;C/BkhID;A+BhhIC;EACE,iBAAA;C/BkhIH;A+Bt/HD;EA6jBA;IArlBI,YAAA;IACA,cAAA;IACA,yBAAA;YAAA,iBAAA;G/BkhID;E+BhhIC;IACE,0BAAA;IACA,wBAAA;IACA,kBAAA;IACA,6BAAA;G/BkhIH;E+B/gIC;IACE,oBAAA;G/BihIH;E+B5gIC;;;IAGE,gBAAA;IACA,iBAAA;G/B8gIH;CACF;A+B1gID;;EAGI,kBAAA;C/B2gIH;A+BtgIC;EAmjBF;;IArjBM,kBAAA;G/B6gIH;CACF;A+BpgID;;;;EAII,oBAAA;EACA,mBAAA;C/BsgIH;A+BhgIC;EAgiBF;;;;IAniBM,gBAAA;IACA,eAAA;G/B0gIH;CACF;A+B9/HD;EACE,cAAA;EACA,sBAAA;C/BggID;A+B3/HD;EA8gBA;IAhhBI,iBAAA;G/BigID;CACF;A+B7/HD;;EAEE,gBAAA;EACA,SAAA;EACA,QAAA;EACA,cAAA;C/B+/HD;A+Bz/HD;EAggBA;;IAlgBI,iBAAA;G/BggID;CACF;A+B9/HD;EACE,OAAA;EACA,sBAAA;C/BggID;A+B9/HD;EACE,UAAA;EACA,iBAAA;EACA,sBAAA;C/BggID;A+B1/HD;EACE,YAAA;EACA,mBAAA;EACA,gBAAA;EACA,kBAAA;EACA,aAAA;C/B4/HD;A+B1/HC;;EAEE,sBAAA;C/B4/HH;A+BrgID;EAaI,eAAA;C/B2/HH;A+Bl/HD;EALI;;IAEE,mBAAA;G/B0/HH;CACF;A+Bh/HD;EACE,mBAAA;EACA,aAAA;EACA,mBAAA;EACA,kBAAA;EC9LA,gBAAA;EACA,mBAAA;ED+LA,8BAAA;EACA,uBAAA;EACA,8BAAA;EACA,mBAAA;C/Bm/HD;A+B/+HC;EACE,WAAA;C/Bi/HH;A+B//HD;EAmBI,eAAA;EACA,YAAA;EACA,YAAA;EACA,mBAAA;C/B++HH;A+BrgID;EAyBI,gBAAA;C/B++HH;A+Bz+HD;EAqbA;IAvbI,cAAA;G/B++HD;CACF;A+Bt+HD;EACE,oBAAA;C/Bw+HD;A+Bz+HD;EAII,kBAAA;EACA,qBAAA;EACA,kBAAA;C/Bw+HH;A+B58HC;EA2YF;IAjaM,iBAAA;IACA,YAAA;IACA,YAAA;IACA,cAAA;IACA,8BAAA;IACA,UAAA;IACA,yBAAA;YAAA,iBAAA;G/Bs+HH;E+B3kHH;;IAxZQ,2BAAA;G/Bu+HL;E+B/kHH;IArZQ,kBAAA;G/Bu+HL;E+Bt+HK;;IAEE,uBAAA;G/Bw+HP;CACF;A+Bt9HD;EA+XA;IA1YI,YAAA;IACA,UAAA;G/Bq+HD;E+B5lHH;IAtYM,YAAA;G/Bq+HH;E+B/lHH;IApYQ,kBAAA;IACA,qBAAA;G/Bs+HL;CACF;A+B39HD;EACE,mBAAA;EACA,oBAAA;EACA,mBAAA;EACA,kCAAA;EACA,qCAAA;E1B9NA,6FAAA;EACQ,qFAAA;E2B/DR,gBAAA;EACA,mBAAA;ChC4vID;AkBtuHD;EAwEA;IAtIM,sBAAA;IACA,iBAAA;IACA,uBAAA;GlBwyHH;EkBpqHH;IA/HM,sBAAA;IACA,YAAA;IACA,uBAAA;GlBsyHH;EkBzqHH;IAxHM,sBAAA;GlBoyHH;EkB5qHH;IApHM,sBAAA;IACA,uBAAA;GlBmyHH;EkBhrHH;;;IA9GQ,YAAA;GlBmyHL;EkBrrHH;IAxGM,YAAA;GlBgyHH;EkBxrHH;IApGM,iBAAA;IACA,uBAAA;GlB+xHH;EkB5rHH;;IA5FM,sBAAA;IACA,cAAA;IACA,iBAAA;IACA,uBAAA;GlB4xHH;EkBnsHH;;IAtFQ,gBAAA;GlB6xHL;EkBvsHH;;IAjFM,mBAAA;IACA,eAAA;GlB4xHH;EkB5sHH;IA3EM,OAAA;GlB0xHH;CACF;A+BpgIC;EAmWF;IAzWM,mBAAA;G/B8gIH;E+B5gIG;IACE,iBAAA;G/B8gIL;CACF;A+B7/HD;EAoVA;IA5VI,YAAA;IACA,UAAA;IACA,eAAA;IACA,gBAAA;IACA,eAAA;IACA,kBAAA;I1BzPF,yBAAA;IACQ,iBAAA;GLmwIP;CACF;A+BngID;EACE,cAAA;EHpUA,2BAAA;EACC,0BAAA;C5B00IF;A+BngID;EACE,iBAAA;EHzUA,6BAAA;EACC,4BAAA;EAOD,8BAAA;EACC,6BAAA;C5By0IF;A+B//HD;EChVE,gBAAA;EACA,mBAAA;ChCk1ID;A+BhgIC;ECnVA,iBAAA;EACA,oBAAA;ChCs1ID;A+BjgIC;ECtVA,iBAAA;EACA,oBAAA;ChC01ID;A+B3/HD;EChWE,iBAAA;EACA,oBAAA;ChC81ID;A+Bv/HD;EAsSA;IA1SI,YAAA;IACA,kBAAA;IACA,mBAAA;G/B+/HD;CACF;A+Bl+HD;EAhBE;IExWA,uBAAA;GjC81IC;E+Br/HD;IE5WA,wBAAA;IF8WE,oBAAA;G/Bu/HD;E+Bz/HD;IAKI,gBAAA;G/Bu/HH;CACF;A+B9+HD;EACE,0BAAA;EACA,sBAAA;C/Bg/HD;A+Bl/HD;EAKI,YAAA;C/Bg/HH;A+B/+HG;;EAEE,eAAA;EACA,8BAAA;C/Bi/HL;A+B1/HD;EAcI,YAAA;C/B++HH;A+B7/HD;EAmBM,YAAA;C/B6+HL;A+B3+HK;;EAEE,YAAA;EACA,8BAAA;C/B6+HP;A+Bz+HK;;;EAGE,YAAA;EACA,0BAAA;C/B2+HP;A+Bv+HK;;;EAGE,YAAA;EACA,8BAAA;C/By+HP;A+BjhID;EA8CI,mBAAA;C/Bs+HH;A+Br+HG;;EAEE,uBAAA;C/Bu+HL;A+BxhID;EAoDM,uBAAA;C/Bu+HL;A+B3hID;;EA0DI,sBAAA;C/Bq+HH;A+B99HK;;;EAGE,0BAAA;EACA,YAAA;C/Bg+HP;A+B/7HC;EAoKF;IA7LU,YAAA;G/B49HP;E+B39HO;;IAEE,YAAA;IACA,8BAAA;G/B69HT;E+Bz9HO;;;IAGE,YAAA;IACA,0BAAA;G/B29HT;E+Bv9HO;;;IAGE,YAAA;IACA,8BAAA;G/By9HT;CACF;A+B3jID;EA8GI,YAAA;C/Bg9HH;A+B/8HG;EACE,YAAA;C/Bi9HL;A+BjkID;EAqHI,YAAA;C/B+8HH;A+B98HG;;EAEE,YAAA;C/Bg9HL;A+B58HK;;;;EAEE,YAAA;C/Bg9HP;A+Bx8HD;EACE,uBAAA;EACA,sBAAA;C/B08HD;A+B58HD;EAKI,eAAA;C/B08HH;A+Bz8HG;;EAEE,YAAA;EACA,8BAAA;C/B28HL;A+Bp9HD;EAcI,eAAA;C/By8HH;A+Bv9HD;EAmBM,eAAA;C/Bu8HL;A+Br8HK;;EAEE,YAAA;EACA,8BAAA;C/Bu8HP;A+Bn8HK;;;EAGE,YAAA;EACA,0BAAA;C/Bq8HP;A+Bj8HK;;;EAGE,YAAA;EACA,8BAAA;C/Bm8HP;A+B3+HD;EA+CI,mBAAA;C/B+7HH;A+B97HG;;EAEE,uBAAA;C/Bg8HL;A+Bl/HD;EAqDM,uBAAA;C/Bg8HL;A+Br/HD;;EA2DI,sBAAA;C/B87HH;A+Bx7HK;;;EAGE,0BAAA;EACA,YAAA;C/B07HP;A+Bn5HC;EAwBF;IAvDU,sBAAA;G/Bs7HP;E+B/3HH;IApDU,0BAAA;G/Bs7HP;E+Bl4HH;IAjDU,eAAA;G/Bs7HP;E+Br7HO;;IAEE,YAAA;IACA,8BAAA;G/Bu7HT;E+Bn7HO;;;IAGE,YAAA;IACA,0BAAA;G/Bq7HT;E+Bj7HO;;;IAGE,YAAA;IACA,8BAAA;G/Bm7HT;CACF;A+B3hID;EA+GI,eAAA;C/B+6HH;A+B96HG;EACE,YAAA;C/Bg7HL;A+BjiID;EAsHI,eAAA;C/B86HH;A+B76HG;;EAEE,YAAA;C/B+6HL;A+B36HK;;;;EAEE,YAAA;C/B+6HP;AkCzjJD;EACE,kBAAA;EACA,oBAAA;EACA,iBAAA;EACA,0BAAA;EACA,mBAAA;ClC2jJD;AkChkJD;EAQI,sBAAA;ClC2jJH;AkCnkJD;EAWM,kBAAA;EACA,eAAA;EACA,YAAA;ClC2jJL;AkCxkJD;EAkBI,eAAA;ClCyjJH;AmC7kJD;EACE,sBAAA;EACA,gBAAA;EACA,eAAA;EACA,mBAAA;CnC+kJD;AmCnlJD;EAOI,gBAAA;CnC+kJH;AmCtlJD;;EAUM,mBAAA;EACA,YAAA;EACA,kBAAA;EACA,wBAAA;EACA,sBAAA;EACA,eAAA;EACA,uBAAA;EACA,uBAAA;EACA,kBAAA;CnCglJL;AmC9kJG;;EAGI,eAAA;EPXN,+BAAA;EACG,4BAAA;C5B2lJJ;AmC7kJG;;EPvBF,gCAAA;EACG,6BAAA;C5BwmJJ;AmCxkJG;;;;EAEE,WAAA;EACA,eAAA;EACA,0BAAA;EACA,mBAAA;CnC4kJL;AmCtkJG;;;;;;EAGE,WAAA;EACA,YAAA;EACA,0BAAA;EACA,sBAAA;EACA,gBAAA;CnC2kJL;AmCloJD;;;;;;EAkEM,eAAA;EACA,uBAAA;EACA,mBAAA;EACA,oBAAA;CnCwkJL;AmC/jJD;;EC3EM,mBAAA;EACA,gBAAA;EACA,uBAAA;CpC8oJL;AoC5oJG;;ERKF,+BAAA;EACG,4BAAA;C5B2oJJ;AoC3oJG;;ERTF,gCAAA;EACG,6BAAA;C5BwpJJ;AmC1kJD;;EChFM,kBAAA;EACA,gBAAA;EACA,iBAAA;CpC8pJL;AoC5pJG;;ERKF,+BAAA;EACG,4BAAA;C5B2pJJ;AoC3pJG;;ERTF,gCAAA;EACG,6BAAA;C5BwqJJ;AqC3qJD;EACE,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,mBAAA;CrC6qJD;AqCjrJD;EAOI,gBAAA;CrC6qJH;AqCprJD;;EAUM,sBAAA;EACA,kBAAA;EACA,uBAAA;EACA,uBAAA;EACA,oBAAA;CrC8qJL;AqC5rJD;;EAmBM,sBAAA;EACA,0BAAA;CrC6qJL;AqCjsJD;;EA2BM,aAAA;CrC0qJL;AqCrsJD;;EAkCM,YAAA;CrCuqJL;AqCzsJD;;;;EA2CM,eAAA;EACA,uBAAA;EACA,oBAAA;CrCoqJL;AsCltJD;EACE,gBAAA;EACA,wBAAA;EACA,eAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;EACA,mBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;CtCotJD;AsChtJG;;EAEE,YAAA;EACA,sBAAA;EACA,gBAAA;CtCktJL;AsC7sJC;EACE,cAAA;CtC+sJH;AsC3sJC;EACE,mBAAA;EACA,UAAA;CtC6sJH;AsCtsJD;ECtCE,0BAAA;CvC+uJD;AuC5uJG;;EAEE,0BAAA;CvC8uJL;AsCzsJD;EC1CE,0BAAA;CvCsvJD;AuCnvJG;;EAEE,0BAAA;CvCqvJL;AsC5sJD;EC9CE,0BAAA;CvC6vJD;AuC1vJG;;EAEE,0BAAA;CvC4vJL;AsC/sJD;EClDE,0BAAA;CvCowJD;AuCjwJG;;EAEE,0BAAA;CvCmwJL;AsCltJD;ECtDE,0BAAA;CvC2wJD;AuCxwJG;;EAEE,0BAAA;CvC0wJL;AsCrtJD;EC1DE,0BAAA;CvCkxJD;AuC/wJG;;EAEE,0BAAA;CvCixJL;AwCnxJD;EACE,sBAAA;EACA,gBAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;EACA,YAAA;EACA,eAAA;EACA,uBAAA;EACA,oBAAA;EACA,mBAAA;EACA,0BAAA;EACA,oBAAA;CxCqxJD;AwClxJC;EACE,cAAA;CxCoxJH;AwChxJC;EACE,mBAAA;EACA,UAAA;CxCkxJH;AwC/wJC;;EAEE,OAAA;EACA,iBAAA;CxCixJH;AwC5wJG;;EAEE,YAAA;EACA,sBAAA;EACA,gBAAA;CxC8wJL;AwCzwJC;;EAEE,eAAA;EACA,uBAAA;CxC2wJH;AwCxwJC;EACE,aAAA;CxC0wJH;AwCvwJC;EACE,kBAAA;CxCywJH;AwCtwJC;EACE,iBAAA;CxCwwJH;AyCl0JD;EACE,kBAAA;EACA,qBAAA;EACA,oBAAA;EACA,eAAA;EACA,0BAAA;CzCo0JD;AyCz0JD;;EASI,eAAA;CzCo0JH;AyC70JD;EAaI,oBAAA;EACA,gBAAA;EACA,iBAAA;CzCm0JH;AyCl1JD;EAmBI,0BAAA;CzCk0JH;AyC/zJC;;EAEE,mBAAA;EACA,mBAAA;EACA,oBAAA;CzCi0JH;AyC31JD;EA8BI,gBAAA;CzCg0JH;AyC9yJD;EACA;IAfI,kBAAA;IACA,qBAAA;GzCg0JD;EyC9zJC;;IAEE,mBAAA;IACA,oBAAA;GzCg0JH;EyCvzJH;;IAJM,gBAAA;GzC+zJH;CACF;A0C52JD;EACE,eAAA;EACA,aAAA;EACA,oBAAA;EACA,wBAAA;EACA,uBAAA;EACA,uBAAA;EACA,mBAAA;ErCiLA,4CAAA;EACK,uCAAA;EACG,oCAAA;CL8rJT;A0Cx3JD;;EAaI,kBAAA;EACA,mBAAA;C1C+2JH;A0C32JC;;;EAGE,sBAAA;C1C62JH;A0Cl4JD;EA0BI,aAAA;EACA,eAAA;C1C22JH;A2Cp4JD;EACE,cAAA;EACA,oBAAA;EACA,8BAAA;EACA,mBAAA;C3Cs4JD;A2C14JD;EAQI,cAAA;EAEA,eAAA;C3Co4JH;A2C94JD;EAeI,kBAAA;C3Ck4JH;A2Cj5JD;;EAqBI,iBAAA;C3Cg4JH;A2Cr5JD;EAyBI,gBAAA;C3C+3JH;A2Cv3JD;;EAEE,oBAAA;C3Cy3JD;A2C33JD;;EAMI,mBAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;C3Cy3JH;A2Cj3JD;ECvDE,0BAAA;EACA,sBAAA;EACA,eAAA;C5C26JD;A2Ct3JD;EClDI,0BAAA;C5C26JH;A2Cz3JD;EC/CI,eAAA;C5C26JH;A2Cx3JD;EC3DE,0BAAA;EACA,sBAAA;EACA,eAAA;C5Cs7JD;A2C73JD;ECtDI,0BAAA;C5Cs7JH;A2Ch4JD;ECnDI,eAAA;C5Cs7JH;A2C/3JD;EC/DE,0BAAA;EACA,sBAAA;EACA,eAAA;C5Ci8JD;A2Cp4JD;EC1DI,0BAAA;C5Ci8JH;A2Cv4JD;ECvDI,eAAA;C5Ci8JH;A2Ct4JD;ECnEE,0BAAA;EACA,sBAAA;EACA,eAAA;C5C48JD;A2C34JD;EC9DI,0BAAA;C5C48JH;A2C94JD;EC3DI,eAAA;C5C48JH;A6C98JD;EACE;IAAQ,4BAAA;G7Ci9JP;E6Ch9JD;IAAQ,yBAAA;G7Cm9JP;CACF;A6Ch9JD;EACE;IAAQ,4BAAA;G7Cm9JP;E6Cl9JD;IAAQ,yBAAA;G7Cq9JP;CACF;A6Cx9JD;EACE;IAAQ,4BAAA;G7Cm9JP;E6Cl9JD;IAAQ,yBAAA;G7Cq9JP;CACF;A6C98JD;EACE,iBAAA;EACA,aAAA;EACA,oBAAA;EACA,0BAAA;EACA,mBAAA;ExCsCA,uDAAA;EACQ,+CAAA;CL26JT;A6C78JD;EACE,YAAA;EACA,UAAA;EACA,aAAA;EACA,gBAAA;EACA,kBAAA;EACA,YAAA;EACA,mBAAA;EACA,0BAAA;ExCyBA,uDAAA;EACQ,+CAAA;EAyHR,oCAAA;EACK,+BAAA;EACG,4BAAA;CL+zJT;A6C18JD;;ECCI,8MAAA;EACA,yMAAA;EACA,sMAAA;EDAF,mCAAA;UAAA,2BAAA;C7C88JD;A6Cv8JD;;ExC5CE,2DAAA;EACK,sDAAA;EACG,mDAAA;CLu/JT;A6Cp8JD;EErEE,0BAAA;C/C4gKD;A+CzgKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9C49JH;A6Cx8JD;EEzEE,0BAAA;C/CohKD;A+CjhKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9Co+JH;A6C58JD;EE7EE,0BAAA;C/C4hKD;A+CzhKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9C4+JH;A6Ch9JD;EEjFE,0BAAA;C/CoiKD;A+CjiKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9Co/JH;AgD5iKD;EAEE,iBAAA;ChD6iKD;AgD3iKC;EACE,cAAA;ChD6iKH;AgDziKD;;EAEE,QAAA;EACA,iBAAA;ChD2iKD;AgDxiKD;EACE,eAAA;ChD0iKD;AgDviKD;EACE,eAAA;ChDyiKD;AgDtiKC;EACE,gBAAA;ChDwiKH;AgDpiKD;;EAEE,mBAAA;ChDsiKD;AgDniKD;;EAEE,oBAAA;ChDqiKD;AgDliKD;;;EAGE,oBAAA;EACA,oBAAA;ChDoiKD;AgDjiKD;EACE,uBAAA;ChDmiKD;AgDhiKD;EACE,uBAAA;ChDkiKD;AgD9hKD;EACE,cAAA;EACA,mBAAA;ChDgiKD;AgD1hKD;EACE,gBAAA;EACA,iBAAA;ChD4hKD;AiDnlKD;EAEE,oBAAA;EACA,gBAAA;CjDolKD;AiD5kKD;EACE,mBAAA;EACA,eAAA;EACA,mBAAA;EAEA,oBAAA;EACA,uBAAA;EACA,uBAAA;CjD6kKD;AiD1kKC;ErB3BA,6BAAA;EACC,4BAAA;C5BwmKF;AiD3kKC;EACE,iBAAA;ErBvBF,gCAAA;EACC,+BAAA;C5BqmKF;AiDpkKD;;EAEE,YAAA;CjDskKD;AiDxkKD;;EAKI,YAAA;CjDukKH;AiDnkKC;;;;EAEE,sBAAA;EACA,YAAA;EACA,0BAAA;CjDukKH;AiDnkKD;EACE,YAAA;EACA,iBAAA;CjDqkKD;AiDhkKC;;;EAGE,0BAAA;EACA,eAAA;EACA,oBAAA;CjDkkKH;AiDvkKC;;;EASI,eAAA;CjDmkKL;AiD5kKC;;;EAYI,eAAA;CjDqkKL;AiDhkKC;;;EAGE,WAAA;EACA,YAAA;EACA,0BAAA;EACA,sBAAA;CjDkkKH;AiDxkKC;;;;;;;;;EAYI,eAAA;CjDukKL;AiDnlKC;;;EAeI,eAAA;CjDykKL;AkD3qKC;EACE,eAAA;EACA,0BAAA;ClD6qKH;AkD3qKG;;EAEE,eAAA;ClD6qKL;AkD/qKG;;EAKI,eAAA;ClD8qKP;AkD3qKK;;;;EAEE,eAAA;EACA,0BAAA;ClD+qKP;AkD7qKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClDkrKP;AkDxsKC;EACE,eAAA;EACA,0BAAA;ClD0sKH;AkDxsKG;;EAEE,eAAA;ClD0sKL;AkD5sKG;;EAKI,eAAA;ClD2sKP;AkDxsKK;;;;EAEE,eAAA;EACA,0BAAA;ClD4sKP;AkD1sKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClD+sKP;AkDruKC;EACE,eAAA;EACA,0BAAA;ClDuuKH;AkDruKG;;EAEE,eAAA;ClDuuKL;AkDzuKG;;EAKI,eAAA;ClDwuKP;AkDruKK;;;;EAEE,eAAA;EACA,0BAAA;ClDyuKP;AkDvuKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClD4uKP;AkDlwKC;EACE,eAAA;EACA,0BAAA;ClDowKH;AkDlwKG;;EAEE,eAAA;ClDowKL;AkDtwKG;;EAKI,eAAA;ClDqwKP;AkDlwKK;;;;EAEE,eAAA;EACA,0BAAA;ClDswKP;AkDpwKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClDywKP;AiDxqKD;EACE,cAAA;EACA,mBAAA;CjD0qKD;AiDxqKD;EACE,iBAAA;EACA,iBAAA;CjD0qKD;AmDpyKD;EACE,oBAAA;EACA,uBAAA;EACA,8BAAA;EACA,mBAAA;E9C0DA,kDAAA;EACQ,0CAAA;CL6uKT;AmDnyKD;EACE,cAAA;CnDqyKD;AmDhyKD;EACE,mBAAA;EACA,qCAAA;EvBpBA,6BAAA;EACC,4BAAA;C5BuzKF;AmDtyKD;EAMI,eAAA;CnDmyKH;AmD9xKD;EACE,cAAA;EACA,iBAAA;EACA,gBAAA;EACA,eAAA;CnDgyKD;AmDpyKD;;;;;EAWI,eAAA;CnDgyKH;AmD3xKD;EACE,mBAAA;EACA,0BAAA;EACA,2BAAA;EvBxCA,gCAAA;EACC,+BAAA;C5Bs0KF;AmDrxKD;;EAGI,iBAAA;CnDsxKH;AmDzxKD;;EAMM,oBAAA;EACA,iBAAA;CnDuxKL;AmDnxKG;;EAEI,cAAA;EvBvEN,6BAAA;EACC,4BAAA;C5B61KF;AmDjxKG;;EAEI,iBAAA;EvBvEN,gCAAA;EACC,+BAAA;C5B21KF;AmD1yKD;EvB1DE,2BAAA;EACC,0BAAA;C5Bu2KF;AmD7wKD;EAEI,oBAAA;CnD8wKH;AmD3wKD;EACE,oBAAA;CnD6wKD;AmDrwKD;;;EAII,iBAAA;CnDswKH;AmD1wKD;;;EAOM,mBAAA;EACA,oBAAA;CnDwwKL;AmDhxKD;;EvBzGE,6BAAA;EACC,4BAAA;C5B63KF;AmDrxKD;;;;EAmBQ,4BAAA;EACA,6BAAA;CnDwwKP;AmD5xKD;;;;;;;;EAwBU,4BAAA;CnD8wKT;AmDtyKD;;;;;;;;EA4BU,6BAAA;CnDoxKT;AmDhzKD;;EvBjGE,gCAAA;EACC,+BAAA;C5Bq5KF;AmDrzKD;;;;EAyCQ,+BAAA;EACA,gCAAA;CnDkxKP;AmD5zKD;;;;;;;;EA8CU,+BAAA;CnDwxKT;AmDt0KD;;;;;;;;EAkDU,gCAAA;CnD8xKT;AmDh1KD;;;;EA2DI,2BAAA;CnD2xKH;AmDt1KD;;EA+DI,cAAA;CnD2xKH;AmD11KD;;EAmEI,UAAA;CnD2xKH;AmD91KD;;;;;;;;;;;;EA0EU,eAAA;CnDkyKT;AmD52KD;;;;;;;;;;;;EA8EU,gBAAA;CnD4yKT;AmD13KD;;;;;;;;EAuFU,iBAAA;CnD6yKT;AmDp4KD;;;;;;;;EAgGU,iBAAA;CnD8yKT;AmD94KD;EAsGI,UAAA;EACA,iBAAA;CnD2yKH;AmDjyKD;EACE,oBAAA;CnDmyKD;AmDpyKD;EAKI,iBAAA;EACA,mBAAA;CnDkyKH;AmDxyKD;EASM,gBAAA;CnDkyKL;AmD3yKD;EAcI,iBAAA;CnDgyKH;AmD9yKD;;EAkBM,2BAAA;CnDgyKL;AmDlzKD;EAuBI,cAAA;CnD8xKH;AmDrzKD;EAyBM,8BAAA;CnD+xKL;AmDxxKD;EC1PE,mBAAA;CpDqhLD;AoDnhLC;EACE,eAAA;EACA,0BAAA;EACA,mBAAA;CpDqhLH;AoDxhLC;EAMI,uBAAA;CpDqhLL;AoD3hLC;EASI,eAAA;EACA,0BAAA;CpDqhLL;AoDlhLC;EAEI,0BAAA;CpDmhLL;AmDvyKD;EC7PE,sBAAA;CpDuiLD;AoDriLC;EACE,YAAA;EACA,0BAAA;EACA,sBAAA;CpDuiLH;AoD1iLC;EAMI,0BAAA;CpDuiLL;AoD7iLC;EASI,eAAA;EACA,uBAAA;CpDuiLL;AoDpiLC;EAEI,6BAAA;CpDqiLL;AmDtzKD;EChQE,sBAAA;CpDyjLD;AoDvjLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpDyjLH;AoD5jLC;EAMI,0BAAA;CpDyjLL;AoD/jLC;EASI,eAAA;EACA,0BAAA;CpDyjLL;AoDtjLC;EAEI,6BAAA;CpDujLL;AmDr0KD;ECnQE,sBAAA;CpD2kLD;AoDzkLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpD2kLH;AoD9kLC;EAMI,0BAAA;CpD2kLL;AoDjlLC;EASI,eAAA;EACA,0BAAA;CpD2kLL;AoDxkLC;EAEI,6BAAA;CpDykLL;AmDp1KD;ECtQE,sBAAA;CpD6lLD;AoD3lLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpD6lLH;AoDhmLC;EAMI,0BAAA;CpD6lLL;AoDnmLC;EASI,eAAA;EACA,0BAAA;CpD6lLL;AoD1lLC;EAEI,6BAAA;CpD2lLL;AmDn2KD;ECzQE,sBAAA;CpD+mLD;AoD7mLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpD+mLH;AoDlnLC;EAMI,0BAAA;CpD+mLL;AoDrnLC;EASI,eAAA;EACA,0BAAA;CpD+mLL;AoD5mLC;EAEI,6BAAA;CpD6mLL;AqD7nLD;EACE,mBAAA;EACA,eAAA;EACA,UAAA;EACA,WAAA;EACA,iBAAA;CrD+nLD;AqDpoLD;;;;;EAYI,mBAAA;EACA,OAAA;EACA,QAAA;EACA,UAAA;EACA,aAAA;EACA,YAAA;EACA,UAAA;CrD+nLH;AqD1nLD;EACE,uBAAA;CrD4nLD;AqDxnLD;EACE,oBAAA;CrD0nLD;AsDrpLD;EACE,iBAAA;EACA,cAAA;EACA,oBAAA;EACA,0BAAA;EACA,0BAAA;EACA,mBAAA;EjDwDA,wDAAA;EACQ,gDAAA;CLgmLT;AsD/pLD;EASI,mBAAA;EACA,kCAAA;CtDypLH;AsDppLD;EACE,cAAA;EACA,mBAAA;CtDspLD;AsDppLD;EACE,aAAA;EACA,mBAAA;CtDspLD;AuD5qLD;EACE,aAAA;EACA,gBAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;EACA,0BAAA;EjCRA,aAAA;EAGA,0BAAA;CtBqrLD;AuD7qLC;;EAEE,YAAA;EACA,sBAAA;EACA,gBAAA;EjCfF,aAAA;EAGA,0BAAA;CtB6rLD;AuDzqLC;EACE,WAAA;EACA,gBAAA;EACA,wBAAA;EACA,UAAA;EACA,yBAAA;CvD2qLH;AwDhsLD;EACE,iBAAA;CxDksLD;AwD9rLD;EACE,cAAA;EACA,iBAAA;EACA,gBAAA;EACA,OAAA;EACA,SAAA;EACA,UAAA;EACA,QAAA;EACA,cAAA;EACA,kCAAA;EAIA,WAAA;CxD6rLD;AwD1rLC;EnD+GA,sCAAA;EACI,kCAAA;EACC,iCAAA;EACG,8BAAA;EAkER,oDAAA;EAEK,0CAAA;EACG,oCAAA;CL6gLT;AwDhsLC;EnD2GA,mCAAA;EACI,+BAAA;EACC,8BAAA;EACG,2BAAA;CLwlLT;AwDpsLD;EACE,mBAAA;EACA,iBAAA;CxDssLD;AwDlsLD;EACE,mBAAA;EACA,YAAA;EACA,aAAA;CxDosLD;AwDhsLD;EACE,mBAAA;EACA,uBAAA;EACA,uBAAA;EACA,qCAAA;EACA,mBAAA;EnDaA,iDAAA;EACQ,yCAAA;EmDZR,qCAAA;UAAA,6BAAA;EAEA,WAAA;CxDksLD;AwD9rLD;EACE,gBAAA;EACA,OAAA;EACA,SAAA;EACA,UAAA;EACA,QAAA;EACA,cAAA;EACA,uBAAA;CxDgsLD;AwD9rLC;ElCrEA,WAAA;EAGA,yBAAA;CtBowLD;AwDjsLC;ElCtEA,aAAA;EAGA,0BAAA;CtBwwLD;AwDhsLD;EACE,cAAA;EACA,iCAAA;CxDksLD;AwD9rLD;EACE,iBAAA;CxDgsLD;AwD5rLD;EACE,UAAA;EACA,wBAAA;CxD8rLD;AwDzrLD;EACE,mBAAA;EACA,cAAA;CxD2rLD;AwDvrLD;EACE,cAAA;EACA,kBAAA;EACA,8BAAA;CxDyrLD;AwD5rLD;EAQI,iBAAA;EACA,iBAAA;CxDurLH;AwDhsLD;EAaI,kBAAA;CxDsrLH;AwDnsLD;EAiBI,eAAA;CxDqrLH;AwDhrLD;EACE,mBAAA;EACA,aAAA;EACA,YAAA;EACA,aAAA;EACA,iBAAA;CxDkrLD;AwDhqLD;EAZE;IACE,aAAA;IACA,kBAAA;GxD+qLD;EwD7qLD;InDvEA,kDAAA;IACQ,0CAAA;GLuvLP;EwD5qLD;IAAY,aAAA;GxD+qLX;CACF;AwD1qLD;EAFE;IAAY,aAAA;GxDgrLX;CACF;AyD/zLD;EACE,mBAAA;EACA,cAAA;EACA,eAAA;ECRA,4DAAA;EAEA,mBAAA;EACA,oBAAA;EACA,uBAAA;EACA,iBAAA;EACA,wBAAA;EACA,iBAAA;EACA,kBAAA;EACA,sBAAA;EACA,kBAAA;EACA,qBAAA;EACA,oBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;EDHA,gBAAA;EnCVA,WAAA;EAGA,yBAAA;CtBs1LD;AyD30LC;EnCdA,aAAA;EAGA,0BAAA;CtB01LD;AyD90LC;EAAW,iBAAA;EAAmB,eAAA;CzDk1L/B;AyDj1LC;EAAW,iBAAA;EAAmB,eAAA;CzDq1L/B;AyDp1LC;EAAW,gBAAA;EAAmB,eAAA;CzDw1L/B;AyDv1LC;EAAW,kBAAA;EAAmB,eAAA;CzD21L/B;AyDv1LD;EACE,iBAAA;EACA,iBAAA;EACA,YAAA;EACA,mBAAA;EACA,uBAAA;EACA,mBAAA;CzDy1LD;AyDr1LD;EACE,mBAAA;EACA,SAAA;EACA,UAAA;EACA,0BAAA;EACA,oBAAA;CzDu1LD;AyDn1LC;EACE,UAAA;EACA,UAAA;EACA,kBAAA;EACA,wBAAA;EACA,uBAAA;CzDq1LH;AyDn1LC;EACE,UAAA;EACA,WAAA;EACA,oBAAA;EACA,wBAAA;EACA,uBAAA;CzDq1LH;AyDn1LC;EACE,UAAA;EACA,UAAA;EACA,oBAAA;EACA,wBAAA;EACA,uBAAA;CzDq1LH;AyDn1LC;EACE,SAAA;EACA,QAAA;EACA,iBAAA;EACA,4BAAA;EACA,yBAAA;CzDq1LH;AyDn1LC;EACE,SAAA;EACA,SAAA;EACA,iBAAA;EACA,4BAAA;EACA,wBAAA;CzDq1LH;AyDn1LC;EACE,OAAA;EACA,UAAA;EACA,kBAAA;EACA,wBAAA;EACA,0BAAA;CzDq1LH;AyDn1LC;EACE,OAAA;EACA,WAAA;EACA,iBAAA;EACA,wBAAA;EACA,0BAAA;CzDq1LH;AyDn1LC;EACE,OAAA;EACA,UAAA;EACA,iBAAA;EACA,wBAAA;EACA,0BAAA;CzDq1LH;A2Dl7LD;EACE,mBAAA;EACA,OAAA;EACA,QAAA;EACA,cAAA;EACA,cAAA;EACA,iBAAA;EACA,aAAA;EDXA,4DAAA;EAEA,mBAAA;EACA,oBAAA;EACA,uBAAA;EACA,iBAAA;EACA,wBAAA;EACA,iBAAA;EACA,kBAAA;EACA,sBAAA;EACA,kBAAA;EACA,qBAAA;EACA,oBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;ECAA,gBAAA;EAEA,uBAAA;EACA,qCAAA;UAAA,6BAAA;EACA,uBAAA;EACA,qCAAA;EACA,mBAAA;EtD8CA,kDAAA;EACQ,0CAAA;CLk5LT;A2D77LC;EAAY,kBAAA;C3Dg8Lb;A2D/7LC;EAAY,kBAAA;C3Dk8Lb;A2Dj8LC;EAAY,iBAAA;C3Do8Lb;A2Dn8LC;EAAY,mBAAA;C3Ds8Lb;A2Dn8LD;EACE,UAAA;EACA,kBAAA;EACA,gBAAA;EACA,0BAAA;EACA,iCAAA;EACA,2BAAA;C3Dq8LD;A2Dl8LD;EACE,kBAAA;C3Do8LD;A2D57LC;;EAEE,mBAAA;EACA,eAAA;EACA,SAAA;EACA,UAAA;EACA,0BAAA;EACA,oBAAA;C3D87LH;A2D37LD;EACE,mBAAA;C3D67LD;A2D37LD;EACE,mBAAA;EACA,YAAA;C3D67LD;A2Dz7LC;EACE,UAAA;EACA,mBAAA;EACA,uBAAA;EACA,0BAAA;EACA,sCAAA;EACA,cAAA;C3D27LH;A2D17LG;EACE,aAAA;EACA,YAAA;EACA,mBAAA;EACA,uBAAA;EACA,uBAAA;C3D47LL;A2Dz7LC;EACE,SAAA;EACA,YAAA;EACA,kBAAA;EACA,qBAAA;EACA,4BAAA;EACA,wCAAA;C3D27LH;A2D17LG;EACE,aAAA;EACA,UAAA;EACA,cAAA;EACA,qBAAA;EACA,yBAAA;C3D47LL;A2Dz7LC;EACE,UAAA;EACA,mBAAA;EACA,oBAAA;EACA,6BAAA;EACA,yCAAA;EACA,WAAA;C3D27LH;A2D17LG;EACE,aAAA;EACA,SAAA;EACA,mBAAA;EACA,oBAAA;EACA,0BAAA;C3D47LL;A2Dx7LC;EACE,SAAA;EACA,aAAA;EACA,kBAAA;EACA,sBAAA;EACA,2BAAA;EACA,uCAAA;C3D07LH;A2Dz7LG;EACE,aAAA;EACA,WAAA;EACA,sBAAA;EACA,wBAAA;EACA,cAAA;C3D27LL;A4DpjMD;EACE,mBAAA;C5DsjMD;A4DnjMD;EACE,mBAAA;EACA,iBAAA;EACA,YAAA;C5DqjMD;A4DxjMD;EAMI,cAAA;EACA,mBAAA;EvD6KF,0CAAA;EACK,qCAAA;EACG,kCAAA;CLy4LT;A4D/jMD;;EAcM,eAAA;C5DqjML;A4D3hMC;EA4NF;IvD3DE,uDAAA;IAEK,6CAAA;IACG,uCAAA;IA7JR,oCAAA;IAEQ,4BAAA;IA+GR,4BAAA;IAEQ,oBAAA;GL86LP;E4DzjMG;;IvDmHJ,2CAAA;IACQ,mCAAA;IuDjHF,QAAA;G5D4jML;E4D1jMG;;IvD8GJ,4CAAA;IACQ,oCAAA;IuD5GF,QAAA;G5D6jML;E4D3jMG;;;IvDyGJ,wCAAA;IACQ,gCAAA;IuDtGF,QAAA;G5D8jML;CACF;A4DpmMD;;;EA6CI,eAAA;C5D4jMH;A4DzmMD;EAiDI,QAAA;C5D2jMH;A4D5mMD;;EAsDI,mBAAA;EACA,OAAA;EACA,YAAA;C5D0jMH;A4DlnMD;EA4DI,WAAA;C5DyjMH;A4DrnMD;EA+DI,YAAA;C5DyjMH;A4DxnMD;;EAmEI,QAAA;C5DyjMH;A4D5nMD;EAuEI,YAAA;C5DwjMH;A4D/nMD;EA0EI,WAAA;C5DwjMH;A4DhjMD;EACE,mBAAA;EACA,OAAA;EACA,QAAA;EACA,UAAA;EACA,WAAA;EtC9FA,aAAA;EAGA,0BAAA;EsC6FA,gBAAA;EACA,YAAA;EACA,mBAAA;EACA,0CAAA;EACA,mCAAA;C5DmjMD;A4D9iMC;EdnGE,mGAAA;EACA,8FAAA;EACA,qHAAA;EAAA,+FAAA;EACA,4BAAA;EACA,uHAAA;C9CopMH;A4DljMC;EACE,WAAA;EACA,SAAA;EdxGA,mGAAA;EACA,8FAAA;EACA,qHAAA;EAAA,+FAAA;EACA,4BAAA;EACA,uHAAA;C9C6pMH;A4DpjMC;;EAEE,WAAA;EACA,YAAA;EACA,sBAAA;EtCvHF,aAAA;EAGA,0BAAA;CtB4qMD;A4DtlMD;;;;EAuCI,mBAAA;EACA,SAAA;EACA,kBAAA;EACA,WAAA;EACA,sBAAA;C5DqjMH;A4DhmMD;;EA+CI,UAAA;EACA,mBAAA;C5DqjMH;A4DrmMD;;EAoDI,WAAA;EACA,oBAAA;C5DqjMH;A4D1mMD;;EAyDI,YAAA;EACA,aAAA;EACA,eAAA;EACA,mBAAA;C5DqjMH;A4DhjMG;EACE,iBAAA;C5DkjML;A4D9iMG;EACE,iBAAA;C5DgjML;A4DtiMD;EACE,mBAAA;EACA,aAAA;EACA,UAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;C5DwiMD;A4DjjMD;EAYI,sBAAA;EACA,YAAA;EACA,aAAA;EACA,YAAA;EACA,oBAAA;EACA,uBAAA;EACA,oBAAA;EACA,gBAAA;EAWA,0BAAA;EACA,mCAAA;C5D8hMH;A4D7jMD;EAkCI,UAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;C5D8hMH;A4DvhMD;EACE,mBAAA;EACA,UAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,kBAAA;EACA,qBAAA;EACA,YAAA;EACA,mBAAA;EACA,0CAAA;C5DyhMD;A4DxhMC;EACE,kBAAA;C5D0hMH;A4Dj/LD;EAhCE;;;;IAKI,YAAA;IACA,aAAA;IACA,kBAAA;IACA,gBAAA;G5DmhMH;E4D3hMD;;IAYI,mBAAA;G5DmhMH;E4D/hMD;;IAgBI,oBAAA;G5DmhMH;E4D9gMD;IACE,UAAA;IACA,WAAA;IACA,qBAAA;G5DghMD;E4D5gMD;IACE,aAAA;G5D8gMD;CACF;A6D7wMC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEE,aAAA;EACA,eAAA;C7D6yMH;A6D3yMC;;;;;;;;;;;;;;;;EACE,YAAA;C7D4zMH;AiCp0MD;E6BRE,eAAA;EACA,kBAAA;EACA,mBAAA;C9D+0MD;AiCt0MD;EACE,wBAAA;CjCw0MD;AiCt0MD;EACE,uBAAA;CjCw0MD;AiCh0MD;EACE,yBAAA;CjCk0MD;AiCh0MD;EACE,0BAAA;CjCk0MD;AiCh0MD;EACE,mBAAA;CjCk0MD;AiCh0MD;E8BzBE,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,8BAAA;EACA,UAAA;C/D41MD;AiC9zMD;EACE,yBAAA;CjCg0MD;AiCzzMD;EACE,gBAAA;CjC2zMD;AgE51MD;EACE,oBAAA;ChE81MD;AgEx1MD;;;;ECdE,yBAAA;CjE42MD;AgEv1MD;;;;;;;;;;;;EAYE,yBAAA;ChEy1MD;AgEl1MD;EA6IA;IC7LE,0BAAA;GjEs4MC;EiEr4MD;IAAU,0BAAA;GjEw4MT;EiEv4MD;IAAU,8BAAA;GjE04MT;EiEz4MD;;IACU,+BAAA;GjE44MT;CACF;AgE51MD;EAwIA;IA1II,0BAAA;GhEk2MD;CACF;AgE51MD;EAmIA;IArII,2BAAA;GhEk2MD;CACF;AgE51MD;EA8HA;IAhII,iCAAA;GhEk2MD;CACF;AgE31MD;EAwHA;IC7LE,0BAAA;GjEo6MC;EiEn6MD;IAAU,0BAAA;GjEs6MT;EiEr6MD;IAAU,8BAAA;GjEw6MT;EiEv6MD;;IACU,+BAAA;GjE06MT;CACF;AgEr2MD;EAmHA;IArHI,0BAAA;GhE22MD;CACF;AgEr2MD;EA8GA;IAhHI,2BAAA;GhE22MD;CACF;AgEr2MD;EAyGA;IA3GI,iCAAA;GhE22MD;CACF;AgEp2MD;EAmGA;IC7LE,0BAAA;GjEk8MC;EiEj8MD;IAAU,0BAAA;GjEo8MT;EiEn8MD;IAAU,8BAAA;GjEs8MT;EiEr8MD;;IACU,+BAAA;GjEw8MT;CACF;AgE92MD;EA8FA;IAhGI,0BAAA;GhEo3MD;CACF;AgE92MD;EAyFA;IA3FI,2BAAA;GhEo3MD;CACF;AgE92MD;EAoFA;IAtFI,iCAAA;GhEo3MD;CACF;AgE72MD;EA8EA;IC7LE,0BAAA;GjEg+MC;EiE/9MD;IAAU,0BAAA;GjEk+MT;EiEj+MD;IAAU,8BAAA;GjEo+MT;EiEn+MD;;IACU,+BAAA;GjEs+MT;CACF;AgEv3MD;EAyEA;IA3EI,0BAAA;GhE63MD;CACF;AgEv3MD;EAoEA;IAtEI,2BAAA;GhE63MD;CACF;AgEv3MD;EA+DA;IAjEI,iCAAA;GhE63MD;CACF;AgEt3MD;EAyDA;ICrLE,yBAAA;GjEs/MC;CACF;AgEt3MD;EAoDA;ICrLE,yBAAA;GjE2/MC;CACF;AgEt3MD;EA+CA;ICrLE,yBAAA;GjEggNC;CACF;AgEt3MD;EA0CA;ICrLE,yBAAA;GjEqgNC;CACF;AgEn3MD;ECnJE,yBAAA;CjEygND;AgEh3MD;EA4BA;IC7LE,0BAAA;GjEqhNC;EiEphND;IAAU,0BAAA;GjEuhNT;EiEthND;IAAU,8BAAA;GjEyhNT;EiExhND;;IACU,+BAAA;GjE2hNT;CACF;AgE93MD;EACE,yBAAA;ChEg4MD;AgE33MD;EAqBA;IAvBI,0BAAA;GhEi4MD;CACF;AgE/3MD;EACE,yBAAA;ChEi4MD;AgE53MD;EAcA;IAhBI,2BAAA;GhEk4MD;CACF;AgEh4MD;EACE,yBAAA;ChEk4MD;AgE73MD;EAOA;IATI,iCAAA;GhEm4MD;CACF;AgE53MD;EACA;ICrLE,yBAAA;GjEojNC;CACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n.row {\n margin-left: -15px;\n margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1, .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-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .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-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .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-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n border: 0;\n background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-left: 0;\n padding-right: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed;\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n left: auto;\n right: 0;\n}\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n cursor: default;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #080808;\n color: #fff;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n content: \"/\\00a0\";\n padding: 0 5px;\n color: #ccc;\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857143;\n text-decoration: none;\n color: #337ab7;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n background-color: #fff;\n cursor: not-allowed;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #fff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-left: auto;\n margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n margin-bottom: 20px;\n padding-left: 0;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n text-decoration: none;\n color: #555;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: 0.2;\n filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n background-clip: padding-box;\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 12px;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.tooltip.in {\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.tooltip.top {\n margin-top: -3px;\n padding: 5px 0;\n}\n.tooltip.right {\n margin-left: 3px;\n padding: 0 5px;\n}\n.tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0;\n}\n.tooltip.left {\n margin-left: -3px;\n padding: 0 5px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\";\n}\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px;\n}\n.popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #fff;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px;\n}\n.popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #fff;\n bottom: -10px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n}\n.carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n opacity: 0.5;\n filter: alpha(opacity=50);\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n outline: 0;\n color: #fff;\n text-decoration: none;\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #fff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n content: \" \";\n display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// Star\n\n// Import the fonts\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('@{icon-font-path}@{icon-font-name}.eot');\n src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n background-color: @state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: @pre-color;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: floor((@gutter / 2));\n padding-right: ceil((@gutter / 2));\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: ceil((@gutter / -2));\n margin-right: floor((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: ceil((@grid-gutter-width / 2));\n padding-right: floor((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n}\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Unstyle the caret on ``\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: @btn-font-weight;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n white-space: nowrap;\n .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n .user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n .tab-focus();\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: @btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n outline: 0;\n background-image: none;\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n .opacity(.65);\n .box-shadow(none);\n }\n\n a& {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `` elements\n }\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n color: @link-color;\n font-weight: normal;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n .box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 25%);\n }\n &:hover {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 17%);\n border-color: darken(@border, 25%);\n }\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n opacity: @opacity;\n // IE8 filter\n @opacity-ie: (@opacity * 100);\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n .transition(opacity .15s linear);\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n tr&.in { display: table-row; }\n tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n .transition-property(~\"height, visibility\");\n .transition-duration(.35s);\n .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: @caret-width-base dashed;\n border-top: @caret-width-base solid ~\"\\9\"; // IE8\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: @zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n list-style: none;\n font-size: @font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n background-color: @dropdown-bg;\n border: 1px solid @dropdown-fallback-border; // IE8 fallback\n border: 1px solid @dropdown-border;\n border-radius: @border-radius-base;\n .box-shadow(0 6px 12px rgba(0,0,0,.175));\n background-clip: padding-box;\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n .nav-divider(@dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: @line-height-base;\n color: @dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n &:hover,\n &:focus {\n text-decoration: none;\n color: @dropdown-link-hover-color;\n background-color: @dropdown-link-hover-bg;\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n outline: 0;\n background-color: @dropdown-link-active-bg;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n .reset-filter();\n cursor: @cursor-disabled;\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n left: auto; // Reset the default from `.dropdown-menu`\n right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n border-top: 0;\n border-bottom: @caret-width-base dashed;\n border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n content: \"\";\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n .dropdown-menu-right();\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n .dropdown-menu-left();\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n &:extend(.clearfix all);\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n .border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n .box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: @caret-width-large @caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n &:extend(.clearfix all);\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n .border-top-radius(@btn-border-radius-base);\n .border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n .border-top-radius(0);\n .border-bottom-radius(@btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-right-radius: @radius;\n border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-bottom-left-radius: @radius;\n border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n font-weight: normal;\n line-height: 1;\n color: @input-color;\n text-align: center;\n background-color: @input-group-addon-bg;\n border: 1px solid @input-group-addon-border-color;\n border-radius: @input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n border-radius: @input-border-radius-small;\n }\n &.input-lg {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n border-radius: @input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n .border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n .border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n margin-bottom: 0;\n padding-left: 0; // Override default ul/ol\n list-style: none;\n &:extend(.clearfix all);\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: @nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: @nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: @nav-disabled-link-hover-color;\n text-decoration: none;\n background-color: transparent;\n cursor: @cursor-disabled;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @nav-link-hover-bg;\n border-color: @link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n .nav-divider();\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid @nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: @line-height-base;\n border: 1px solid transparent;\n border-radius: @border-radius-base @border-radius-base 0 0;\n &:hover {\n border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-tabs-active-link-hover-color;\n background-color: @nav-tabs-active-link-hover-bg;\n border: 1px solid @nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n cursor: default;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n .nav-justified();\n .nav-tabs-justified();\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: @nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-pills-active-link-hover-color;\n background-color: @nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n text-align: center;\n margin-bottom: 5px;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: @screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: @border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid @nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: @screen-sm-min) {\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n border-radius: @border-radius-base @border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-left: 0;\n padding-right: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n height: @navbar-height;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -@navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: @navbar-padding-horizontal;\n padding: 9px 10px;\n .navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: @line-height-computed;\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: @line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: @navbar-padding-vertical;\n padding-bottom: @navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n margin-left: -@navbar-padding-horizontal;\n margin-right: -@navbar-padding-horizontal;\n padding: 10px @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n\n // Mixin behavior for optimum display\n .form-inline();\n\n .form-group {\n @media (max-width: @grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n .navbar-vertical-align(@input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n .box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n .border-top-radius(@navbar-border-radius);\n .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n .navbar-vertical-align(@input-height-base);\n\n &.btn-sm {\n .navbar-vertical-align(@input-height-small);\n }\n &.btn-xs {\n .navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n .navbar-vertical-align(@line-height-computed);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin-left: @navbar-padding-horizontal;\n margin-right: @navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-left { .pull-left(); }\n .navbar-right {\n .pull-right();\n margin-right: -@navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: @navbar-default-bg;\n border-color: @navbar-default-border;\n\n .navbar-brand {\n color: @navbar-default-brand-color;\n &:hover,\n &:focus {\n color: @navbar-default-brand-hover-color;\n background-color: @navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n\n .navbar-toggle {\n border-color: @navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: @navbar-default-border;\n }\n\n // Dropdown menu items\n .navbar-nav {\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-default-link-active-bg;\n color: @navbar-default-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: @navbar-default-link-color;\n &:hover {\n color: @navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\n border-color: @navbar-inverse-border;\n\n .navbar-brand {\n color: @navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-brand-hover-color;\n background-color: @navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: @navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken(@navbar-inverse-bg, 7%);\n }\n\n // Dropdowns\n .navbar-nav {\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-inverse-link-active-bg;\n color: @navbar-inverse-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: @navbar-inverse-border;\n }\n .divider {\n background-color: @navbar-inverse-border;\n }\n > li > a {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\n}\n.center-block {\n .center-block();\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n padding: 0 5px;\n color: @breadcrumb-color;\n }\n }\n\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: @line-height-computed 0;\n border-radius: @border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n line-height: @line-height-base;\n text-decoration: none;\n color: @pagination-color;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n margin-left: -1px;\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n .border-left-radius(@border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-base);\n }\n }\n }\n\n > li > a,\n > li > span {\n &:hover,\n &:focus {\n z-index: 2;\n color: @pagination-hover-color;\n background-color: @pagination-hover-bg;\n border-color: @pagination-hover-border;\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: @pagination-active-color;\n background-color: @pagination-active-bg;\n border-color: @pagination-active-border;\n cursor: default;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n background-color: @pagination-disabled-bg;\n border-color: @pagination-disabled-border;\n cursor: @cursor-disabled;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: @line-height-computed 0;\n list-style: none;\n text-align: center;\n &:extend(.clearfix all);\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pager-bg;\n border: 1px solid @pager-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: @pager-disabled-color;\n background-color: @pager-bg;\n cursor: @cursor-disabled;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // Add hover effects, but only for links\n a& {\n &:hover,\n &:focus {\n color: @label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n .label-variant(@label-default-bg);\n}\n\n.label-primary {\n .label-variant(@label-primary-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n background-color: @color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: @font-size-small;\n font-weight: @badge-font-weight;\n color: @badge-color;\n line-height: @badge-line-height;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: @badge-bg;\n border-radius: @badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // Hover state, but only for links\n a& {\n &:hover,\n &:focus {\n color: @badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: @badge-active-color;\n background-color: @badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: @jumbotron-padding;\n padding-bottom: @jumbotron-padding;\n margin-bottom: @jumbotron-padding;\n color: @jumbotron-color;\n background-color: @jumbotron-bg;\n\n h1,\n .h1 {\n color: @jumbotron-heading-color;\n }\n\n p {\n margin-bottom: (@jumbotron-padding / 2);\n font-size: @jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken(@jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: @screen-sm-min) {\n padding-top: (@jumbotron-padding * 1.6);\n padding-bottom: (@jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-left: (@jumbotron-padding * 2);\n padding-right: (@jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: @jumbotron-heading-font-size;\n }\n }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: @thumbnail-padding;\n margin-bottom: @line-height-computed;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(border .2s ease-in-out);\n\n > img,\n a > img {\n &:extend(.img-responsive);\n margin-left: auto;\n margin-right: auto;\n }\n\n // Add a hover state for linked versions only\n a&:hover,\n a&:focus,\n a&.active {\n border-color: @link-color;\n }\n\n // Image captions\n .caption {\n padding: @thumbnail-caption-padding;\n color: @thumbnail-caption-color;\n }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding;\n margin-bottom: @line-height-computed;\n border: 1px solid transparent;\n border-radius: @alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n // Specified for the h4 to prevent conflicts of changing @headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n padding-right: (@alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n background-color: @background;\n border-color: @border;\n color: @text-color;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n overflow: hidden;\n height: @line-height-computed;\n margin-bottom: @line-height-computed;\n background-color: @progress-bg;\n border-radius: @progress-border-radius;\n .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: @font-size-small;\n line-height: @line-height-computed;\n color: @progress-bar-color;\n text-align: center;\n background-color: @progress-bar-bg;\n .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n #gradient > .striped();\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n background-color: @color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n #gradient > .striped();\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on

f!#R2tv}TEvqX{7Lp?XXM15ej&&xjj>E;^F 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℘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