| 1 | 1 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,40 @@ |
| 0 |
+FROM openshift/origin |
|
| 1 |
+MAINTAINER Aaron Weitekamp <aweiteka@redhat.com> |
|
| 2 |
+ |
|
| 3 |
+ADD install.sh run.sh uninstall.sh /container/bin/ |
|
| 4 |
+ADD registry-console-template.yaml \ |
|
| 5 |
+ registry-login-template.html \ |
|
| 6 |
+ registry-newproject-template-shared.json \ |
|
| 7 |
+ registry-newproject-template-unshared.json \ |
|
| 8 |
+ /container/etc/origin/ |
|
| 9 |
+ |
|
| 10 |
+LABEL name="projectatomic/atomic-registry-quickstart" \ |
|
| 11 |
+ vendor="Project Atomic" \ |
|
| 12 |
+ url="https://projectatomic.io/registry" \ |
|
| 13 |
+ summary="Quickstart image for Atomic Registry" \ |
|
| 14 |
+ description="This is a quickstart image to install Atomic Registry on a single host. It is an open source enterprise registry solution based on the Origin project featuring single sign-on (SSO) user experience, a robust web interface and advanced role-based access control (RBAC)." \ |
|
| 15 |
+ INSTALL='docker run -it --rm \ |
|
| 16 |
+ --privileged --net=host \ |
|
| 17 |
+ -v /var/run:/var/run:rw \ |
|
| 18 |
+ -v /sys:/sys \ |
|
| 19 |
+ -v /etc/localtime:/etc/localtime:ro \ |
|
| 20 |
+ -v /var/lib/docker:/var/lib/docker:rw \ |
|
| 21 |
+ -v /var/lib/origin/:/var/lib/origin/ \ |
|
| 22 |
+ -v /etc/origin/:/etc/origin/ \ |
|
| 23 |
+ -v /:/host \ |
|
| 24 |
+ -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \ |
|
| 25 |
+ --entrypoint /container/bin/install.sh \ |
|
| 26 |
+ $IMAGE' \ |
|
| 27 |
+ RUN='docker run -it --rm --privileged \ |
|
| 28 |
+ --net=host \ |
|
| 29 |
+ -v /:/host \ |
|
| 30 |
+ -v /var/lib/docker:/var/lib/docker:rw \ |
|
| 31 |
+ -v /etc/origin:/etc/origin \ |
|
| 32 |
+ -v /var/lib/registry:/var/lib/registry \ |
|
| 33 |
+ -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \ |
|
| 34 |
+ --entrypoint /container/bin/run.sh \ |
|
| 35 |
+ $IMAGE' \ |
|
| 36 |
+ UNINSTALL='docker run -it --rm --privileged \ |
|
| 37 |
+ -v /:/host \ |
|
| 38 |
+ --entrypoint /container/bin/uninstall.sh \ |
|
| 39 |
+ $IMAGE' |
| 0 | 40 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,19 @@ |
| 0 |
+TEST_IMAGE=atomic-registry-quickstart |
|
| 1 |
+INSTALLHOST=127.0.0.1 |
|
| 2 |
+ |
|
| 3 |
+all: build install test |
|
| 4 |
+ |
|
| 5 |
+build: |
|
| 6 |
+ docker build -t atomic-registry-quickstart . |
|
| 7 |
+ |
|
| 8 |
+install: |
|
| 9 |
+ sudo yum install -y atomic |
|
| 10 |
+ sudo atomic install $(TEST_IMAGE) $(INSTALLHOST) |
|
| 11 |
+ # FIXME: docker error: installer container is not removed using --rm |
|
| 12 |
+ sudo atomic run $(TEST_IMAGE) $(INSTALLHOST) |
|
| 13 |
+ |
|
| 14 |
+test: |
|
| 15 |
+ bash test.sh |
|
| 16 |
+ |
|
| 17 |
+clean: |
|
| 18 |
+ sudo atomic uninstall --force $(TEST_IMAGE) ; sudo docker rm $(sudo docker ps -qa) |
| 0 | 19 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,57 @@ |
| 0 |
+# Getting Started With Atomic Registry |
|
| 1 |
+ |
|
| 2 |
+http://projectatomic.io/registry |
|
| 3 |
+ |
|
| 4 |
+**Requirements** |
|
| 5 |
+ |
|
| 6 |
+- single host (laptop, vm, vagrant, etc.) with Docker |
|
| 7 |
+- Open TCP ports 8443, 443, 5000 |
|
| 8 |
+- The hostname used during install will be the output of the `hostname` command. If that hostname does not resolve with DNS then pass the IP address to the install procedure. |
|
| 9 |
+- (optional) atomic cli, available on Red Hat-based systems Fedora, Centos, Red Hat Enterprise Linux, including Atomic host |
|
| 10 |
+ |
|
| 11 |
+## Install and Run |
|
| 12 |
+ |
|
| 13 |
+The install procedure should be run locally. |
|
| 14 |
+ |
|
| 15 |
+### With atomic CLI |
|
| 16 |
+ |
|
| 17 |
+1. Install the system service files and pull images. |
|
| 18 |
+ |
|
| 19 |
+ sudo atomic install projectatomic/atomic-registry-quickstart [hostname] |
|
| 20 |
+1. Optional: edit configuration file `/etc/origin/master/master-config.yaml`. |
|
| 21 |
+1. Run the application. This will enable and start the docker containers as system services. |
|
| 22 |
+ |
|
| 23 |
+ sudo atomic run projectatomic/atomic-registry-quickstart [hostname] |
|
| 24 |
+ |
|
| 25 |
+### With straight Docker |
|
| 26 |
+ |
|
| 27 |
+Replace steps 1 and 3 above with the output of the inspect command. |
|
| 28 |
+ |
|
| 29 |
+ sudo docker inspect -f '{{ .Config.Labels.INSTALL }}' projectatomic/atomic-registry-quickstart
|
|
| 30 |
+ sudo docker inspect -f '{{ .Config.Labels.RUN }}' openshift/atomic-registry-quickstart
|
|
| 31 |
+ |
|
| 32 |
+This will provide the docker run commands to install and run the registry installation. |
|
| 33 |
+ |
|
| 34 |
+If you make changes to the API configuration file `/etc/origin/master/master-config.yaml` restart the API service. |
|
| 35 |
+ |
|
| 36 |
+ sudo docker restart origin |
|
| 37 |
+ |
|
| 38 |
+## Try it out |
|
| 39 |
+ |
|
| 40 |
+1. Explore the web UI on https://<hostname> |
|
| 41 |
+1. Login with docker using the reference commands, build and push an image. |
|
| 42 |
+ |
|
| 43 |
+## Uninstall |
|
| 44 |
+ |
|
| 45 |
+ sudo atomic uninstall --force projectatomic/atomic-registry-quickstart |
|
| 46 |
+ |
|
| 47 |
+# Optional Setup steps |
|
| 48 |
+ |
|
| 49 |
+1. [Configure authentication](https://docs.openshift.org/latest/install_config/configuring_authentication.html). Restart the origin API server after making changes to the config file: `sudo docker restart origin` |
|
| 50 |
+1. [Configure persistent registry storage](https://docs.openshift.org/latest/install_config/install/docker_registry.html#advanced-overriding-the-registry-configuration) |
|
| 51 |
+1. [Assign a user cluster-admin privilege](https://docs.openshift.org/latest/admin_guide/manage_authorization_policy.html#managing-role-bindings) |
|
| 52 |
+1. Explore the web UI |
|
| 53 |
+ |
|
| 54 |
+## Reference Documentation |
|
| 55 |
+ |
|
| 56 |
+https://docs.openshift.org/latest/welcome/index.html |
| 0 | 57 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,40 @@ |
| 0 |
+#!/bin/bash |
|
| 1 |
+ |
|
| 2 |
+IMAGES=(openshift/origin openshift/origin-docker-registry cockpit/kubernetes) |
|
| 3 |
+ |
|
| 4 |
+for IMAGE in "${IMAGES[@]}"
|
|
| 5 |
+do |
|
| 6 |
+ chroot /host docker pull $IMAGE |
|
| 7 |
+done |
|
| 8 |
+ |
|
| 9 |
+INSTALL_HOST=${1:-`hostname`}
|
|
| 10 |
+echo "Installing using hostname ${INSTALL_HOST}"
|
|
| 11 |
+ |
|
| 12 |
+# write out configuration |
|
| 13 |
+openshift start --write-config /etc/origin/ --etcd-dir /var/lib/origin/etcd --volume-dir /var/lib/origin/volumes --public-master ${INSTALL_HOST}
|
|
| 14 |
+ |
|
| 15 |
+echo "Copy files to host" |
|
| 16 |
+ |
|
| 17 |
+set -x |
|
| 18 |
+mv /host/etc/origin/node-* /host/etc/origin/node |
|
| 19 |
+ |
|
| 20 |
+mkdir -p /host/etc/origin/registry/bin |
|
| 21 |
+mkdir -p /host/etc/origin/master/site |
|
| 22 |
+cp /container/bin/* /host/etc/origin/registry/bin/. |
|
| 23 |
+cp /container/etc/origin/registry-console-template.yaml /host/etc/origin/registry/. |
|
| 24 |
+cp /container/etc/origin/registry-newproject-template-shared.json /host/etc/origin/registry/. |
|
| 25 |
+cp /container/etc/origin/registry-newproject-template-unshared.json /host/etc/origin/registry/. |
|
| 26 |
+cp /container/etc/origin/registry-login-template.html /host/etc/origin/master/site/. |
|
| 27 |
+# Create registry UI service certificates -- TODO: use this cert |
|
| 28 |
+cat /etc/origin/master/master.server.crt /etc/origin/master/master.server.key > /etc/origin/registry/master.server.cert |
|
| 29 |
+ |
|
| 30 |
+set +x |
|
| 31 |
+ |
|
| 32 |
+echo "Updating servicesNodePortRange to 443-32767..." |
|
| 33 |
+sed -i 's/ servicesNodePortRange:.*$/ servicesNodePortRange: 443-32767/' /etc/origin/master/master-config.yaml |
|
| 34 |
+echo "Updating login template" |
|
| 35 |
+sed -i 's/ templates: null$/ templates:\n login: site\/registry-login-template.html/' /etc/origin/master/master-config.yaml |
|
| 36 |
+ |
|
| 37 |
+echo "Optionally edit configuration file /etc/origin/master/master-config.yaml," |
|
| 38 |
+echo "add certificates to /etc/origin/master," |
|
| 39 |
+echo "then run 'atomic run atomic-registry-quickstart'" |
| 0 | 40 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,127 @@ |
| 0 |
+kind: Template |
|
| 1 |
+apiVersion: v1 |
|
| 2 |
+metadata: |
|
| 3 |
+ name: "registry-console-template" |
|
| 4 |
+labels: |
|
| 5 |
+ createdBy: "registry-console-template" |
|
| 6 |
+parameters: |
|
| 7 |
+ - |
|
| 8 |
+ description: "The public url for the Openshift OAuth Provider" |
|
| 9 |
+ name: OPENSHIFT_OAUTH_PROVIDER_URL |
|
| 10 |
+ required: true |
|
| 11 |
+ - |
|
| 12 |
+ description: "The public url for the Openshift OAuth Provider" |
|
| 13 |
+ name: COCKPIT_KUBE_URL |
|
| 14 |
+ required: true |
|
| 15 |
+ - |
|
| 16 |
+ description: "The public url for the Openshift OAuth Provider" |
|
| 17 |
+ name: COCKPIT_KUBE_INSECURE |
|
| 18 |
+ required: false |
|
| 19 |
+ - |
|
| 20 |
+ description: "Oauth client secret" |
|
| 21 |
+ name: OPENSHIFT_OAUTH_CLIENT_SECRET |
|
| 22 |
+ from: "user[a-zA-Z0-9]{64}"
|
|
| 23 |
+ generate: expression |
|
| 24 |
+ - |
|
| 25 |
+ description: "Oauth client id" |
|
| 26 |
+ name: OPENSHIFT_OAUTH_CLIENT_ID |
|
| 27 |
+ value: "cockpit-oauth-client" |
|
| 28 |
+ - |
|
| 29 |
+ description: "Skip kubernetes CA verification" |
|
| 30 |
+ name: KUBERNETES_INSECURE |
|
| 31 |
+ value: "" |
|
| 32 |
+ - |
|
| 33 |
+ description: "PEM Encoded certificate to use for CA verification" |
|
| 34 |
+ name: KUBERNETES_CA_DATA |
|
| 35 |
+ value: "" |
|
| 36 |
+ - |
|
| 37 |
+ description: "The hostname or IP address of the registry. Do not include http:// or port." |
|
| 38 |
+ name: REGISTRY_HOST |
|
| 39 |
+ required: true |
|
| 40 |
+objects: |
|
| 41 |
+ - |
|
| 42 |
+ kind: DeploymentConfig |
|
| 43 |
+ apiVersion: v1 |
|
| 44 |
+ metadata: |
|
| 45 |
+ name: "registry-console" |
|
| 46 |
+ labels: |
|
| 47 |
+ name: "registry-console" |
|
| 48 |
+ spec: |
|
| 49 |
+ replicas: 1 |
|
| 50 |
+ selector: |
|
| 51 |
+ name: "registry-console" |
|
| 52 |
+ template: |
|
| 53 |
+ metadata: |
|
| 54 |
+ labels: |
|
| 55 |
+ name: "registry-console" |
|
| 56 |
+ spec: |
|
| 57 |
+ containers: |
|
| 58 |
+ - |
|
| 59 |
+ name: "registry-console" |
|
| 60 |
+ image: "cockpit/kubernetes" |
|
| 61 |
+ ports: |
|
| 62 |
+ - |
|
| 63 |
+ containerPort: 9090 |
|
| 64 |
+ protocol: TCP |
|
| 65 |
+ env: |
|
| 66 |
+ - |
|
| 67 |
+ name: OPENSHIFT_OAUTH_PROVIDER_URL |
|
| 68 |
+ value: "${OPENSHIFT_OAUTH_PROVIDER_URL}"
|
|
| 69 |
+ - |
|
| 70 |
+ name: OPENSHIFT_OAUTH_CLIENT_ID |
|
| 71 |
+ value: "${OPENSHIFT_OAUTH_CLIENT_ID}"
|
|
| 72 |
+ - |
|
| 73 |
+ name: KUBERNETES_INSECURE |
|
| 74 |
+ value: "${KUBERNETES_INSECURE}"
|
|
| 75 |
+ - |
|
| 76 |
+ name: KUBERNETES_CA_DATA |
|
| 77 |
+ value: "${KUBERNETES_CA_DATA}"
|
|
| 78 |
+ - |
|
| 79 |
+ name: COCKPIT_KUBE_INSECURE |
|
| 80 |
+ value: "${COCKPIT_KUBE_INSECURE}"
|
|
| 81 |
+ - |
|
| 82 |
+ name: REGISTRY_ONLY |
|
| 83 |
+ value: "true" |
|
| 84 |
+ - |
|
| 85 |
+ name: REGISTRY_HOST |
|
| 86 |
+ value: "${REGISTRY_HOST}"
|
|
| 87 |
+ - |
|
| 88 |
+ kind: Service |
|
| 89 |
+ apiVersion: v1 |
|
| 90 |
+ metadata: |
|
| 91 |
+ name: "registry-console" |
|
| 92 |
+ labels: |
|
| 93 |
+ name: "registry-console" |
|
| 94 |
+ spec: |
|
| 95 |
+ type: ClusterIP |
|
| 96 |
+ ports: |
|
| 97 |
+ - |
|
| 98 |
+ protocol: TCP |
|
| 99 |
+ port: 9000 |
|
| 100 |
+ targetPort: 9090 |
|
| 101 |
+ selector: |
|
| 102 |
+ name: "registry-console" |
|
| 103 |
+ - |
|
| 104 |
+ kind: ImageStream |
|
| 105 |
+ apiVersion: v1 |
|
| 106 |
+ metadata: |
|
| 107 |
+ name: registry-console |
|
| 108 |
+ annotations: |
|
| 109 |
+ description: Atomic Registry console |
|
| 110 |
+ spec: |
|
| 111 |
+ tags: |
|
| 112 |
+ - annotations: null |
|
| 113 |
+ from: |
|
| 114 |
+ kind: DockerImage |
|
| 115 |
+ name: cockpit/kubernetes |
|
| 116 |
+ name: latest |
|
| 117 |
+ - |
|
| 118 |
+ kind: OAuthClient |
|
| 119 |
+ apiVersion: v1 |
|
| 120 |
+ metadata: |
|
| 121 |
+ name: "${OPENSHIFT_OAUTH_CLIENT_ID}"
|
|
| 122 |
+ respondWithChallenges: false |
|
| 123 |
+ secret: "${OPENSHIFT_OAUTH_CLIENT_SECRET}"
|
|
| 124 |
+ redirectURIs: |
|
| 125 |
+ - |
|
| 126 |
+ "${COCKPIT_KUBE_URL}"
|
| 0 | 127 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,2357 @@ |
| 0 |
+ |
|
| 1 |
+<!DOCTYPE html> |
|
| 2 |
+ |
|
| 3 |
+ |
|
| 4 |
+ |
|
| 5 |
+<html class="login-pf"> |
|
| 6 |
+ |
|
| 7 |
+ <head> |
|
| 8 |
+ <title>Login - Atomic Registry</title> |
|
| 9 |
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
| 10 |
+ <link rel="shortcut icon" href="data:image/ico;base64,AAABAAIAEBAAAAEAIAAoBQAAJgAAACAgAAABACAAKBQAAE4FAAAoAAAAEAAAACAAAAABACAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xP///+E////2v////D////w////7v///8H///9RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///1H////5//////////////////////v7+/+wsLL/5ubn/////8L///8TAAAAAAAAAAAAAAAAAAAAAP///2X/////////////////////////////////////Tk5Q9j4+Qfv/////////4f7+/hkAAAAAAAAAAP///y/////////////////////////////////Gxsn/e3yA//////0aGh35HR8g+5ycnv92dnm3AAAAAP///wv///+p/////+bm6P6mp6n68fHy/v/////////9x8TB/H14bP3////9hIJ+9wAAAP4AAAD/AAAA/wAAAEw4ODtWQUFE+oqKjf9ISUz6SUtP+P////+zq576BgAA+iMgGvtHS1f5NTpL+jAzP/oBAAD+AgAA/wAAAP8EBQWrAAAAmgAAAP8AAAD/AAAA++Lc0PltaF37ChAm/BAPWf8fHZT/JB+z/yQfuP8mIMH/Jy6+/x4mSP8CAAD/AAAA5QEBAboHBwv/AgAA/wUAAP8rMEj6Hh6L/SUg3f8jI+3/JSLs/ygg2/8pIdj/KCHb/yUi5/8jI+3/ICdK/wEAAO8BAgK5AgAA/wIAAP8jLXb/JSHj/yMj7f8lIeX/Ji98/yAnRv8lJcX/KCHa/yciyP8mINv/IyPt/yItdP8BAADvAAAAlAIAAP8mL4z/IyPt/yUi6v8lLV//AgAA/wcAAP8iJz//JSLr/ygh2v8nKbn/Jy2j/ycup/8KDRL/AAAA4gAAAE0AAAD1Jy+V/yMj7f8mMHT/BQAA/yUvbv8nLa//JSHl/ycgzv8oIdL/JSHk/xcaJ/8FAAD/AgAA/wEBBqMAAAAEAAAAoQIAAP8UFyH/DxAV/yYtsP8oLMT/JyXM/ycgzv8nINL/JiHi/yUly/8CAAD/AgAA/wIFBv8AAABDAAAAAAAAACIAAADxBQAA/wUFAv8nMJ//ICQ8/yIrZP8lIdX/JyPO/yMj7f8lL2//AgAA/wICBf8AAACoAAAAAAAAAAAAAAAAAAAASgICBf8CAAD/Iixn/yMj7f8lI9L/JiDf/yYuif8iK23/Fxgj/wIAAP8AAAHSAAAACgAAAAAAAAAAAAAAAAAAAAAAAAA4AAAA6AAAAP8ZHS//CgoQ/woKD/8bIDX/CgoL/wIAAP8BAQapAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAABkAQAAvgAAAO4AAAD1AQAA4QAAAKEAAAA7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8v////nP///9H////j////7/////T////w////5v///9b///+s////RgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9c/v7+z///////////////////////////////////////////////////////////////4f7+/nX///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8P/v7+u////////////////////////////////////////////////////////////////////////////////////9f///8tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Ov////////////////////////////////////////////////////////////////////+YmJz0pKSn9//////////////////////+/v5pAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///1T//////////////////////////////////////////////////////////////////////////7e3uPYAAAD0bm5y+/////7///////////////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v46/////f///////////////////////////////////////////////////////////////////////////////05PUPgAAAD3fn6B+u7u7/v///////////////////9sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Bf///+H/////////////////////////////////////////////////////////////////////////////////////////+zo6O/gAAAL/Kywv+f////n////8//////////7q6uolAAAAAAAAAAAAAAAAAAAAAAAAAAD///+W/////////////////////////////////////////////////////////////////////6ysr/8eHiD/NTY3////////////t7e5+AAAAPoAAAD/CgoK+zY4OvhHR0nvREVH/x0dH9AAAAAAAAAAAAAAAAAAAAAA////N///////////////////////////////////////////////////////////////////////////gICD/0dHSf9wcHT/1dXX///////////3HBwc9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF4AAAAAAAAAAAAAAAD///+M//////////////////////////6lpaf3pqap+P/////////////////////////+/////f////z////9//////////z//////////v////pNTU/5AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAvQAAAAAAAAAAf39/BqOjpt+zsrX/7Ozt+///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AAAAAAAAAAAAAAAAAAQAAABVAAAAowAAANMAAADtAAAA9gAAAPEAAADbAAAArwAAAGkAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="> |
|
| 11 |
+ <style> |
|
| 12 |
+ |
|
| 13 |
+@font-face {
|
|
| 14 |
+ font-family: 'Open Sans'; |
|
| 15 |
+ src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
|
|
| 16 |
+ font-weight: 400; |
|
| 17 |
+ font-style: normal; |
|
| 18 |
+} |
|
| 19 |
+@font-face {
|
|
| 20 |
+ font-family: 'Open Sans'; |
|
| 21 |
+ src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
|
|
| 22 |
+ font-weight: 700; |
|
| 23 |
+ font-style: normal; |
|
| 24 |
+} |
|
| 25 |
+.alert {
|
|
| 26 |
+ padding: 7px; |
|
| 27 |
+ margin-bottom: 20px; |
|
| 28 |
+ border: 1px solid transparent; |
|
| 29 |
+ border-radius: 1px; |
|
| 30 |
+} |
|
| 31 |
+.alert h4 {
|
|
| 32 |
+ margin-top: 0; |
|
| 33 |
+ color: inherit; |
|
| 34 |
+} |
|
| 35 |
+.alert .alert-link {
|
|
| 36 |
+ font-weight: 500; |
|
| 37 |
+} |
|
| 38 |
+.alert > p, |
|
| 39 |
+.alert > ul {
|
|
| 40 |
+ margin-bottom: 0; |
|
| 41 |
+} |
|
| 42 |
+.alert > p + p {
|
|
| 43 |
+ margin-top: 5px; |
|
| 44 |
+} |
|
| 45 |
+.alert-dismissable {
|
|
| 46 |
+ padding-right: 27px; |
|
| 47 |
+} |
|
| 48 |
+.alert-dismissable .close {
|
|
| 49 |
+ position: relative; |
|
| 50 |
+ top: -2px; |
|
| 51 |
+ right: -21px; |
|
| 52 |
+ color: inherit; |
|
| 53 |
+} |
|
| 54 |
+.alert-success {
|
|
| 55 |
+ background-color: #ffffff; |
|
| 56 |
+ border-color: #5cb75c; |
|
| 57 |
+ color: #333333; |
|
| 58 |
+} |
|
| 59 |
+.alert-success hr {
|
|
| 60 |
+ border-top-color: #4cad4c; |
|
| 61 |
+} |
|
| 62 |
+.alert-success .alert-link {
|
|
| 63 |
+ color: #1a1a1a; |
|
| 64 |
+} |
|
| 65 |
+.alert-info {
|
|
| 66 |
+ background-color: #ffffff; |
|
| 67 |
+ border-color: #cccccc; |
|
| 68 |
+ color: #333333; |
|
| 69 |
+} |
|
| 70 |
+.alert-info hr {
|
|
| 71 |
+ border-top-color: #bfbfbf; |
|
| 72 |
+} |
|
| 73 |
+.alert-info .alert-link {
|
|
| 74 |
+ color: #1a1a1a; |
|
| 75 |
+} |
|
| 76 |
+.alert-warning {
|
|
| 77 |
+ background-color: #ffffff; |
|
| 78 |
+ border-color: #eb7720; |
|
| 79 |
+ color: #333333; |
|
| 80 |
+} |
|
| 81 |
+.alert-warning hr {
|
|
| 82 |
+ border-top-color: #de6a14; |
|
| 83 |
+} |
|
| 84 |
+.alert-warning .alert-link {
|
|
| 85 |
+ color: #1a1a1a; |
|
| 86 |
+} |
|
| 87 |
+.alert-danger {
|
|
| 88 |
+ background-color: #ffffff; |
|
| 89 |
+ border-color: #c90813; |
|
| 90 |
+ color: #333333; |
|
| 91 |
+} |
|
| 92 |
+.alert-danger hr {
|
|
| 93 |
+ border-top-color: #b00711; |
|
| 94 |
+} |
|
| 95 |
+.alert-danger .alert-link {
|
|
| 96 |
+ color: #1a1a1a; |
|
| 97 |
+} |
|
| 98 |
+.btn {
|
|
| 99 |
+ display: inline-block; |
|
| 100 |
+ margin-bottom: 0; |
|
| 101 |
+ font-weight: 600; |
|
| 102 |
+ text-align: center; |
|
| 103 |
+ vertical-align: middle; |
|
| 104 |
+ cursor: pointer; |
|
| 105 |
+ background-image: none; |
|
| 106 |
+ border: 1px solid transparent; |
|
| 107 |
+ white-space: nowrap; |
|
| 108 |
+ padding: 2px 6px; |
|
| 109 |
+ font-size: 12px; |
|
| 110 |
+ line-height: 1.66666667; |
|
| 111 |
+ border-radius: 1px; |
|
| 112 |
+ -webkit-user-select: none; |
|
| 113 |
+ -moz-user-select: none; |
|
| 114 |
+ -ms-user-select: none; |
|
| 115 |
+ user-select: none; |
|
| 116 |
+} |
|
| 117 |
+.btn:focus, |
|
| 118 |
+.btn:active:focus, |
|
| 119 |
+.btn.active:focus {
|
|
| 120 |
+ outline: thin dotted; |
|
| 121 |
+ outline: 5px auto -webkit-focus-ring-color; |
|
| 122 |
+ outline-offset: -2px; |
|
| 123 |
+} |
|
| 124 |
+.btn:hover, |
|
| 125 |
+.btn:focus {
|
|
| 126 |
+ color: #4d5258; |
|
| 127 |
+ text-decoration: none; |
|
| 128 |
+} |
|
| 129 |
+.btn:active, |
|
| 130 |
+.btn.active {
|
|
| 131 |
+ outline: 0; |
|
| 132 |
+ background-image: none; |
|
| 133 |
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); |
|
| 134 |
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); |
|
| 135 |
+} |
|
| 136 |
+.btn.disabled, |
|
| 137 |
+.btn[disabled], |
|
| 138 |
+fieldset[disabled] .btn {
|
|
| 139 |
+ cursor: not-allowed; |
|
| 140 |
+ pointer-events: none; |
|
| 141 |
+ opacity: 0.65; |
|
| 142 |
+ filter: alpha(opacity=65); |
|
| 143 |
+ -webkit-box-shadow: none; |
|
| 144 |
+ box-shadow: none; |
|
| 145 |
+} |
|
| 146 |
+.btn-default {
|
|
| 147 |
+ color: #4d5258; |
|
| 148 |
+ background-color: #eeeeee; |
|
| 149 |
+ border-color: #b7b7b7; |
|
| 150 |
+} |
|
| 151 |
+.btn-default:hover, |
|
| 152 |
+.btn-default:focus, |
|
| 153 |
+.btn-default:active, |
|
| 154 |
+.btn-default.active, |
|
| 155 |
+.open .dropdown-toggle.btn-default {
|
|
| 156 |
+ color: #4d5258; |
|
| 157 |
+ background-color: #dadada; |
|
| 158 |
+ border-color: #989898; |
|
| 159 |
+} |
|
| 160 |
+.btn-default:active, |
|
| 161 |
+.btn-default.active, |
|
| 162 |
+.open .dropdown-toggle.btn-default {
|
|
| 163 |
+ background-image: none; |
|
| 164 |
+} |
|
| 165 |
+.btn-default.disabled, |
|
| 166 |
+.btn-default[disabled], |
|
| 167 |
+fieldset[disabled] .btn-default, |
|
| 168 |
+.btn-default.disabled:hover, |
|
| 169 |
+.btn-default[disabled]:hover, |
|
| 170 |
+fieldset[disabled] .btn-default:hover, |
|
| 171 |
+.btn-default.disabled:focus, |
|
| 172 |
+.btn-default[disabled]:focus, |
|
| 173 |
+fieldset[disabled] .btn-default:focus, |
|
| 174 |
+.btn-default.disabled:active, |
|
| 175 |
+.btn-default[disabled]:active, |
|
| 176 |
+fieldset[disabled] .btn-default:active, |
|
| 177 |
+.btn-default.disabled.active, |
|
| 178 |
+.btn-default[disabled].active, |
|
| 179 |
+fieldset[disabled] .btn-default.active {
|
|
| 180 |
+ background-color: #eeeeee; |
|
| 181 |
+ border-color: #b7b7b7; |
|
| 182 |
+} |
|
| 183 |
+.btn-default .badge {
|
|
| 184 |
+ color: #eeeeee; |
|
| 185 |
+ background-color: #4d5258; |
|
| 186 |
+} |
|
| 187 |
+.btn-primary {
|
|
| 188 |
+ color: #ffffff; |
|
| 189 |
+ background-color: #189ad1; |
|
| 190 |
+ border-color: #267da1; |
|
| 191 |
+} |
|
| 192 |
+.btn-primary:hover, |
|
| 193 |
+.btn-primary:focus, |
|
| 194 |
+.btn-primary:active, |
|
| 195 |
+.btn-primary.active, |
|
| 196 |
+.open .dropdown-toggle.btn-primary {
|
|
| 197 |
+ color: #ffffff; |
|
| 198 |
+ background-color: #147fac; |
|
| 199 |
+ border-color: #1a576f; |
|
| 200 |
+} |
|
| 201 |
+.btn-primary:active, |
|
| 202 |
+.btn-primary.active, |
|
| 203 |
+.open .dropdown-toggle.btn-primary {
|
|
| 204 |
+ background-image: none; |
|
| 205 |
+} |
|
| 206 |
+.btn-primary.disabled, |
|
| 207 |
+.btn-primary[disabled], |
|
| 208 |
+fieldset[disabled] .btn-primary, |
|
| 209 |
+.btn-primary.disabled:hover, |
|
| 210 |
+.btn-primary[disabled]:hover, |
|
| 211 |
+fieldset[disabled] .btn-primary:hover, |
|
| 212 |
+.btn-primary.disabled:focus, |
|
| 213 |
+.btn-primary[disabled]:focus, |
|
| 214 |
+fieldset[disabled] .btn-primary:focus, |
|
| 215 |
+.btn-primary.disabled:active, |
|
| 216 |
+.btn-primary[disabled]:active, |
|
| 217 |
+fieldset[disabled] .btn-primary:active, |
|
| 218 |
+.btn-primary.disabled.active, |
|
| 219 |
+.btn-primary[disabled].active, |
|
| 220 |
+fieldset[disabled] .btn-primary.active {
|
|
| 221 |
+ background-color: #189ad1; |
|
| 222 |
+ border-color: #267da1; |
|
| 223 |
+} |
|
| 224 |
+.btn-primary .badge {
|
|
| 225 |
+ color: #189ad1; |
|
| 226 |
+ background-color: #ffffff; |
|
| 227 |
+} |
|
| 228 |
+.btn-success {
|
|
| 229 |
+ color: #ffffff; |
|
| 230 |
+ background-color: #5cb75c; |
|
| 231 |
+ border-color: #4cad4c; |
|
| 232 |
+} |
|
| 233 |
+.btn-success:hover, |
|
| 234 |
+.btn-success:focus, |
|
| 235 |
+.btn-success:active, |
|
| 236 |
+.btn-success.active, |
|
| 237 |
+.open .dropdown-toggle.btn-success {
|
|
| 238 |
+ color: #ffffff; |
|
| 239 |
+ background-color: #48a248; |
|
| 240 |
+ border-color: #3a833a; |
|
| 241 |
+} |
|
| 242 |
+.btn-success:active, |
|
| 243 |
+.btn-success.active, |
|
| 244 |
+.open .dropdown-toggle.btn-success {
|
|
| 245 |
+ background-image: none; |
|
| 246 |
+} |
|
| 247 |
+.btn-success.disabled, |
|
| 248 |
+.btn-success[disabled], |
|
| 249 |
+fieldset[disabled] .btn-success, |
|
| 250 |
+.btn-success.disabled:hover, |
|
| 251 |
+.btn-success[disabled]:hover, |
|
| 252 |
+fieldset[disabled] .btn-success:hover, |
|
| 253 |
+.btn-success.disabled:focus, |
|
| 254 |
+.btn-success[disabled]:focus, |
|
| 255 |
+fieldset[disabled] .btn-success:focus, |
|
| 256 |
+.btn-success.disabled:active, |
|
| 257 |
+.btn-success[disabled]:active, |
|
| 258 |
+fieldset[disabled] .btn-success:active, |
|
| 259 |
+.btn-success.disabled.active, |
|
| 260 |
+.btn-success[disabled].active, |
|
| 261 |
+fieldset[disabled] .btn-success.active {
|
|
| 262 |
+ background-color: #5cb75c; |
|
| 263 |
+ border-color: #4cad4c; |
|
| 264 |
+} |
|
| 265 |
+.btn-success .badge {
|
|
| 266 |
+ color: #5cb75c; |
|
| 267 |
+ background-color: #ffffff; |
|
| 268 |
+} |
|
| 269 |
+.btn-info {
|
|
| 270 |
+ color: #ffffff; |
|
| 271 |
+ background-color: #27799c; |
|
| 272 |
+ border-color: #226988; |
|
| 273 |
+} |
|
| 274 |
+.btn-info:hover, |
|
| 275 |
+.btn-info:focus, |
|
| 276 |
+.btn-info:active, |
|
| 277 |
+.btn-info.active, |
|
| 278 |
+.open .dropdown-toggle.btn-info {
|
|
| 279 |
+ color: #ffffff; |
|
| 280 |
+ background-color: #1f607b; |
|
| 281 |
+ border-color: #164357; |
|
| 282 |
+} |
|
| 283 |
+.btn-info:active, |
|
| 284 |
+.btn-info.active, |
|
| 285 |
+.open .dropdown-toggle.btn-info {
|
|
| 286 |
+ background-image: none; |
|
| 287 |
+} |
|
| 288 |
+.btn-info.disabled, |
|
| 289 |
+.btn-info[disabled], |
|
| 290 |
+fieldset[disabled] .btn-info, |
|
| 291 |
+.btn-info.disabled:hover, |
|
| 292 |
+.btn-info[disabled]:hover, |
|
| 293 |
+fieldset[disabled] .btn-info:hover, |
|
| 294 |
+.btn-info.disabled:focus, |
|
| 295 |
+.btn-info[disabled]:focus, |
|
| 296 |
+fieldset[disabled] .btn-info:focus, |
|
| 297 |
+.btn-info.disabled:active, |
|
| 298 |
+.btn-info[disabled]:active, |
|
| 299 |
+fieldset[disabled] .btn-info:active, |
|
| 300 |
+.btn-info.disabled.active, |
|
| 301 |
+.btn-info[disabled].active, |
|
| 302 |
+fieldset[disabled] .btn-info.active {
|
|
| 303 |
+ background-color: #27799c; |
|
| 304 |
+ border-color: #226988; |
|
| 305 |
+} |
|
| 306 |
+.btn-info .badge {
|
|
| 307 |
+ color: #27799c; |
|
| 308 |
+ background-color: #ffffff; |
|
| 309 |
+} |
|
| 310 |
+.btn-warning {
|
|
| 311 |
+ color: #ffffff; |
|
| 312 |
+ background-color: #eb7720; |
|
| 313 |
+ border-color: #de6a14; |
|
| 314 |
+} |
|
| 315 |
+.btn-warning:hover, |
|
| 316 |
+.btn-warning:focus, |
|
| 317 |
+.btn-warning:active, |
|
| 318 |
+.btn-warning.active, |
|
| 319 |
+.open .dropdown-toggle.btn-warning {
|
|
| 320 |
+ color: #ffffff; |
|
| 321 |
+ background-color: #d06413; |
|
| 322 |
+ border-color: #a54f0f; |
|
| 323 |
+} |
|
| 324 |
+.btn-warning:active, |
|
| 325 |
+.btn-warning.active, |
|
| 326 |
+.open .dropdown-toggle.btn-warning {
|
|
| 327 |
+ background-image: none; |
|
| 328 |
+} |
|
| 329 |
+.btn-warning.disabled, |
|
| 330 |
+.btn-warning[disabled], |
|
| 331 |
+fieldset[disabled] .btn-warning, |
|
| 332 |
+.btn-warning.disabled:hover, |
|
| 333 |
+.btn-warning[disabled]:hover, |
|
| 334 |
+fieldset[disabled] .btn-warning:hover, |
|
| 335 |
+.btn-warning.disabled:focus, |
|
| 336 |
+.btn-warning[disabled]:focus, |
|
| 337 |
+fieldset[disabled] .btn-warning:focus, |
|
| 338 |
+.btn-warning.disabled:active, |
|
| 339 |
+.btn-warning[disabled]:active, |
|
| 340 |
+fieldset[disabled] .btn-warning:active, |
|
| 341 |
+.btn-warning.disabled.active, |
|
| 342 |
+.btn-warning[disabled].active, |
|
| 343 |
+fieldset[disabled] .btn-warning.active {
|
|
| 344 |
+ background-color: #eb7720; |
|
| 345 |
+ border-color: #de6a14; |
|
| 346 |
+} |
|
| 347 |
+.btn-warning .badge {
|
|
| 348 |
+ color: #eb7720; |
|
| 349 |
+ background-color: #ffffff; |
|
| 350 |
+} |
|
| 351 |
+.btn-danger {
|
|
| 352 |
+ color: #ffffff; |
|
| 353 |
+ background-color: #ab070f; |
|
| 354 |
+ border-color: #781919; |
|
| 355 |
+} |
|
| 356 |
+.btn-danger:hover, |
|
| 357 |
+.btn-danger:focus, |
|
| 358 |
+.btn-danger:active, |
|
| 359 |
+.btn-danger.active, |
|
| 360 |
+.open .dropdown-toggle.btn-danger {
|
|
| 361 |
+ color: #ffffff; |
|
| 362 |
+ background-color: #84050c; |
|
| 363 |
+ border-color: #450e0e; |
|
| 364 |
+} |
|
| 365 |
+.btn-danger:active, |
|
| 366 |
+.btn-danger.active, |
|
| 367 |
+.open .dropdown-toggle.btn-danger {
|
|
| 368 |
+ background-image: none; |
|
| 369 |
+} |
|
| 370 |
+.btn-danger.disabled, |
|
| 371 |
+.btn-danger[disabled], |
|
| 372 |
+fieldset[disabled] .btn-danger, |
|
| 373 |
+.btn-danger.disabled:hover, |
|
| 374 |
+.btn-danger[disabled]:hover, |
|
| 375 |
+fieldset[disabled] .btn-danger:hover, |
|
| 376 |
+.btn-danger.disabled:focus, |
|
| 377 |
+.btn-danger[disabled]:focus, |
|
| 378 |
+fieldset[disabled] .btn-danger:focus, |
|
| 379 |
+.btn-danger.disabled:active, |
|
| 380 |
+.btn-danger[disabled]:active, |
|
| 381 |
+fieldset[disabled] .btn-danger:active, |
|
| 382 |
+.btn-danger.disabled.active, |
|
| 383 |
+.btn-danger[disabled].active, |
|
| 384 |
+fieldset[disabled] .btn-danger.active {
|
|
| 385 |
+ background-color: #ab070f; |
|
| 386 |
+ border-color: #781919; |
|
| 387 |
+} |
|
| 388 |
+.btn-danger .badge {
|
|
| 389 |
+ color: #ab070f; |
|
| 390 |
+ background-color: #ffffff; |
|
| 391 |
+} |
|
| 392 |
+.btn-link {
|
|
| 393 |
+ color: #0099d3; |
|
| 394 |
+ font-weight: normal; |
|
| 395 |
+ cursor: pointer; |
|
| 396 |
+ border-radius: 0; |
|
| 397 |
+} |
|
| 398 |
+.btn-link, |
|
| 399 |
+.btn-link:active, |
|
| 400 |
+.btn-link[disabled], |
|
| 401 |
+fieldset[disabled] .btn-link {
|
|
| 402 |
+ background-color: transparent; |
|
| 403 |
+ -webkit-box-shadow: none; |
|
| 404 |
+ box-shadow: none; |
|
| 405 |
+} |
|
| 406 |
+.btn-link, |
|
| 407 |
+.btn-link:hover, |
|
| 408 |
+.btn-link:focus, |
|
| 409 |
+.btn-link:active {
|
|
| 410 |
+ border-color: transparent; |
|
| 411 |
+} |
|
| 412 |
+.btn-link:hover, |
|
| 413 |
+.btn-link:focus {
|
|
| 414 |
+ color: #00618a; |
|
| 415 |
+ text-decoration: underline; |
|
| 416 |
+ background-color: transparent; |
|
| 417 |
+} |
|
| 418 |
+.btn-link[disabled]:hover, |
|
| 419 |
+fieldset[disabled] .btn-link:hover, |
|
| 420 |
+.btn-link[disabled]:focus, |
|
| 421 |
+fieldset[disabled] .btn-link:focus {
|
|
| 422 |
+ color: #999999; |
|
| 423 |
+ text-decoration: none; |
|
| 424 |
+} |
|
| 425 |
+.btn-lg {
|
|
| 426 |
+ padding: 6px 10px; |
|
| 427 |
+ font-size: 14px; |
|
| 428 |
+ line-height: 1.33; |
|
| 429 |
+ border-radius: 1px; |
|
| 430 |
+} |
|
| 431 |
+.btn-sm {
|
|
| 432 |
+ padding: 2px 6px; |
|
| 433 |
+ font-size: 11px; |
|
| 434 |
+ line-height: 1.5; |
|
| 435 |
+ border-radius: 1px; |
|
| 436 |
+} |
|
| 437 |
+.btn-xs {
|
|
| 438 |
+ padding: 1px 5px; |
|
| 439 |
+ font-size: 11px; |
|
| 440 |
+ line-height: 1.5; |
|
| 441 |
+ border-radius: 1px; |
|
| 442 |
+} |
|
| 443 |
+.btn-block {
|
|
| 444 |
+ display: block; |
|
| 445 |
+ width: 100%; |
|
| 446 |
+ padding-left: 0; |
|
| 447 |
+ padding-right: 0; |
|
| 448 |
+} |
|
| 449 |
+.btn-block + .btn-block {
|
|
| 450 |
+ margin-top: 5px; |
|
| 451 |
+} |
|
| 452 |
+input[type="submit"].btn-block, |
|
| 453 |
+input[type="reset"].btn-block, |
|
| 454 |
+input[type="button"].btn-block {
|
|
| 455 |
+ width: 100%; |
|
| 456 |
+} |
|
| 457 |
+.fade {
|
|
| 458 |
+ opacity: 0; |
|
| 459 |
+ -webkit-transition: opacity 0.15s linear; |
|
| 460 |
+ transition: opacity 0.15s linear; |
|
| 461 |
+} |
|
| 462 |
+.fade.in {
|
|
| 463 |
+ opacity: 1; |
|
| 464 |
+} |
|
| 465 |
+.collapse {
|
|
| 466 |
+ display: none; |
|
| 467 |
+} |
|
| 468 |
+.collapse.in {
|
|
| 469 |
+ display: block; |
|
| 470 |
+} |
|
| 471 |
+.collapsing {
|
|
| 472 |
+ position: relative; |
|
| 473 |
+ height: 0; |
|
| 474 |
+ overflow: hidden; |
|
| 475 |
+ -webkit-transition: height 0.35s ease; |
|
| 476 |
+ transition: height 0.35s ease; |
|
| 477 |
+} |
|
| 478 |
+fieldset {
|
|
| 479 |
+ padding: 0; |
|
| 480 |
+ margin: 0; |
|
| 481 |
+ border: 0; |
|
| 482 |
+ min-width: 0; |
|
| 483 |
+} |
|
| 484 |
+legend {
|
|
| 485 |
+ display: block; |
|
| 486 |
+ width: 100%; |
|
| 487 |
+ padding: 0; |
|
| 488 |
+ margin-bottom: 20px; |
|
| 489 |
+ font-size: 18px; |
|
| 490 |
+ line-height: inherit; |
|
| 491 |
+ color: #333333; |
|
| 492 |
+ border: 0; |
|
| 493 |
+ border-bottom: 1px solid #e5e5e5; |
|
| 494 |
+} |
|
| 495 |
+label {
|
|
| 496 |
+ display: inline-block; |
|
| 497 |
+ margin-bottom: 5px; |
|
| 498 |
+ font-weight: bold; |
|
| 499 |
+} |
|
| 500 |
+input[type="search"] {
|
|
| 501 |
+ -webkit-box-sizing: border-box; |
|
| 502 |
+ -moz-box-sizing: border-box; |
|
| 503 |
+ box-sizing: border-box; |
|
| 504 |
+} |
|
| 505 |
+input[type="radio"], |
|
| 506 |
+input[type="checkbox"] {
|
|
| 507 |
+ margin: 4px 0 0; |
|
| 508 |
+ margin-top: 1px \9; |
|
| 509 |
+ |
|
| 510 |
+ line-height: normal; |
|
| 511 |
+} |
|
| 512 |
+input[type="file"] {
|
|
| 513 |
+ display: block; |
|
| 514 |
+} |
|
| 515 |
+input[type="range"] {
|
|
| 516 |
+ display: block; |
|
| 517 |
+ width: 100%; |
|
| 518 |
+} |
|
| 519 |
+select[multiple], |
|
| 520 |
+select[size] {
|
|
| 521 |
+ height: auto; |
|
| 522 |
+} |
|
| 523 |
+input[type="file"]:focus, |
|
| 524 |
+input[type="radio"]:focus, |
|
| 525 |
+input[type="checkbox"]:focus {
|
|
| 526 |
+ outline: thin dotted; |
|
| 527 |
+ outline: 5px auto -webkit-focus-ring-color; |
|
| 528 |
+ outline-offset: -2px; |
|
| 529 |
+} |
|
| 530 |
+output {
|
|
| 531 |
+ display: block; |
|
| 532 |
+ padding-top: 3px; |
|
| 533 |
+ font-size: 12px; |
|
| 534 |
+ line-height: 1.66666667; |
|
| 535 |
+ color: #333333; |
|
| 536 |
+} |
|
| 537 |
+.form-control {
|
|
| 538 |
+ display: block; |
|
| 539 |
+ width: 100%; |
|
| 540 |
+ height: 26px; |
|
| 541 |
+ padding: 2px 6px; |
|
| 542 |
+ font-size: 12px; |
|
| 543 |
+ line-height: 1.66666667; |
|
| 544 |
+ color: #333333; |
|
| 545 |
+ background-color: #ffffff; |
|
| 546 |
+ background-image: none; |
|
| 547 |
+ border: 1px solid #bababa; |
|
| 548 |
+ border-radius: 1px; |
|
| 549 |
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); |
|
| 550 |
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); |
|
| 551 |
+ -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; |
|
| 552 |
+ transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; |
|
| 553 |
+} |
|
| 554 |
+.form-control:focus {
|
|
| 555 |
+ border-color: #66afe9; |
|
| 556 |
+ outline: 0; |
|
| 557 |
+ -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); |
|
| 558 |
+ box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); |
|
| 559 |
+} |
|
| 560 |
+.form-control::-moz-placeholder {
|
|
| 561 |
+ color: #999999; |
|
| 562 |
+ opacity: 1; |
|
| 563 |
+} |
|
| 564 |
+.form-control:-ms-input-placeholder {
|
|
| 565 |
+ color: #999999; |
|
| 566 |
+} |
|
| 567 |
+.form-control::-webkit-input-placeholder {
|
|
| 568 |
+ color: #999999; |
|
| 569 |
+} |
|
| 570 |
+.form-control:-moz-placeholder {
|
|
| 571 |
+ color: #999999; |
|
| 572 |
+ font-style: italic; |
|
| 573 |
+} |
|
| 574 |
+.form-control::-moz-placeholder {
|
|
| 575 |
+ color: #999999; |
|
| 576 |
+ font-style: italic; |
|
| 577 |
+} |
|
| 578 |
+.form-control:-ms-input-placeholder {
|
|
| 579 |
+ color: #999999; |
|
| 580 |
+ font-style: italic; |
|
| 581 |
+} |
|
| 582 |
+.form-control::-webkit-input-placeholder {
|
|
| 583 |
+ color: #999999; |
|
| 584 |
+ font-style: italic; |
|
| 585 |
+} |
|
| 586 |
+.form-control[disabled], |
|
| 587 |
+.form-control[readonly], |
|
| 588 |
+fieldset[disabled] .form-control {
|
|
| 589 |
+ cursor: not-allowed; |
|
| 590 |
+ background-color: #f8f8f8; |
|
| 591 |
+ opacity: 1; |
|
| 592 |
+} |
|
| 593 |
+textarea.form-control {
|
|
| 594 |
+ height: auto; |
|
| 595 |
+} |
|
| 596 |
+input[type="search"] {
|
|
| 597 |
+ -webkit-appearance: none; |
|
| 598 |
+} |
|
| 599 |
+input[type="date"] {
|
|
| 600 |
+ line-height: 26px; |
|
| 601 |
+} |
|
| 602 |
+.form-group {
|
|
| 603 |
+ margin-bottom: 15px; |
|
| 604 |
+} |
|
| 605 |
+.radio, |
|
| 606 |
+.checkbox {
|
|
| 607 |
+ display: block; |
|
| 608 |
+ min-height: 20px; |
|
| 609 |
+ margin-top: 10px; |
|
| 610 |
+ margin-bottom: 10px; |
|
| 611 |
+ padding-left: 20px; |
|
| 612 |
+} |
|
| 613 |
+.radio label, |
|
| 614 |
+.checkbox label {
|
|
| 615 |
+ display: inline; |
|
| 616 |
+ font-weight: normal; |
|
| 617 |
+ cursor: pointer; |
|
| 618 |
+} |
|
| 619 |
+.radio input[type="radio"], |
|
| 620 |
+.radio-inline input[type="radio"], |
|
| 621 |
+.checkbox input[type="checkbox"], |
|
| 622 |
+.checkbox-inline input[type="checkbox"] {
|
|
| 623 |
+ float: left; |
|
| 624 |
+ margin-left: -20px; |
|
| 625 |
+} |
|
| 626 |
+.radio + .radio, |
|
| 627 |
+.checkbox + .checkbox {
|
|
| 628 |
+ margin-top: -5px; |
|
| 629 |
+} |
|
| 630 |
+.radio-inline, |
|
| 631 |
+.checkbox-inline {
|
|
| 632 |
+ display: inline-block; |
|
| 633 |
+ padding-left: 20px; |
|
| 634 |
+ margin-bottom: 0; |
|
| 635 |
+ vertical-align: middle; |
|
| 636 |
+ font-weight: normal; |
|
| 637 |
+ cursor: pointer; |
|
| 638 |
+} |
|
| 639 |
+.radio-inline + .radio-inline, |
|
| 640 |
+.checkbox-inline + .checkbox-inline {
|
|
| 641 |
+ margin-top: 0; |
|
| 642 |
+ margin-left: 10px; |
|
| 643 |
+} |
|
| 644 |
+input[type="radio"][disabled], |
|
| 645 |
+input[type="checkbox"][disabled], |
|
| 646 |
+.radio[disabled], |
|
| 647 |
+.radio-inline[disabled], |
|
| 648 |
+.checkbox[disabled], |
|
| 649 |
+.checkbox-inline[disabled], |
|
| 650 |
+fieldset[disabled] input[type="radio"], |
|
| 651 |
+fieldset[disabled] input[type="checkbox"], |
|
| 652 |
+fieldset[disabled] .radio, |
|
| 653 |
+fieldset[disabled] .radio-inline, |
|
| 654 |
+fieldset[disabled] .checkbox, |
|
| 655 |
+fieldset[disabled] .checkbox-inline {
|
|
| 656 |
+ cursor: not-allowed; |
|
| 657 |
+} |
|
| 658 |
+.input-sm {
|
|
| 659 |
+ height: 22px; |
|
| 660 |
+ padding: 2px 6px; |
|
| 661 |
+ font-size: 11px; |
|
| 662 |
+ line-height: 1.5; |
|
| 663 |
+ border-radius: 1px; |
|
| 664 |
+} |
|
| 665 |
+select.input-sm {
|
|
| 666 |
+ height: 22px; |
|
| 667 |
+ line-height: 22px; |
|
| 668 |
+} |
|
| 669 |
+textarea.input-sm, |
|
| 670 |
+select[multiple].input-sm {
|
|
| 671 |
+ height: auto; |
|
| 672 |
+} |
|
| 673 |
+.input-lg {
|
|
| 674 |
+ height: 33px; |
|
| 675 |
+ padding: 6px 10px; |
|
| 676 |
+ font-size: 14px; |
|
| 677 |
+ line-height: 1.33; |
|
| 678 |
+ border-radius: 1px; |
|
| 679 |
+} |
|
| 680 |
+select.input-lg {
|
|
| 681 |
+ height: 33px; |
|
| 682 |
+ line-height: 33px; |
|
| 683 |
+} |
|
| 684 |
+textarea.input-lg, |
|
| 685 |
+select[multiple].input-lg {
|
|
| 686 |
+ height: auto; |
|
| 687 |
+} |
|
| 688 |
+.has-feedback {
|
|
| 689 |
+ position: relative; |
|
| 690 |
+} |
|
| 691 |
+.has-feedback .form-control {
|
|
| 692 |
+ padding-right: 32.5px; |
|
| 693 |
+} |
|
| 694 |
+.has-feedback .form-control-feedback {
|
|
| 695 |
+ position: absolute; |
|
| 696 |
+ top: 25px; |
|
| 697 |
+ right: 0; |
|
| 698 |
+ display: block; |
|
| 699 |
+ width: 26px; |
|
| 700 |
+ height: 26px; |
|
| 701 |
+ line-height: 26px; |
|
| 702 |
+ text-align: center; |
|
| 703 |
+} |
|
| 704 |
+.has-success .help-block, |
|
| 705 |
+.has-success .control-label, |
|
| 706 |
+.has-success .radio, |
|
| 707 |
+.has-success .checkbox, |
|
| 708 |
+.has-success .radio-inline, |
|
| 709 |
+.has-success .checkbox-inline {
|
|
| 710 |
+ color: #3c763d; |
|
| 711 |
+} |
|
| 712 |
+.has-success .form-control {
|
|
| 713 |
+ border-color: #3c763d; |
|
| 714 |
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); |
|
| 715 |
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); |
|
| 716 |
+} |
|
| 717 |
+.has-success .form-control:focus {
|
|
| 718 |
+ border-color: #2b542c; |
|
| 719 |
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; |
|
| 720 |
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; |
|
| 721 |
+} |
|
| 722 |
+.has-success .input-group-addon {
|
|
| 723 |
+ color: #3c763d; |
|
| 724 |
+ border-color: #3c763d; |
|
| 725 |
+ background-color: #dff0d8; |
|
| 726 |
+} |
|
| 727 |
+.has-success .form-control-feedback {
|
|
| 728 |
+ color: #3c763d; |
|
| 729 |
+} |
|
| 730 |
+.has-warning .help-block, |
|
| 731 |
+.has-warning .control-label, |
|
| 732 |
+.has-warning .radio, |
|
| 733 |
+.has-warning .checkbox, |
|
| 734 |
+.has-warning .radio-inline, |
|
| 735 |
+.has-warning .checkbox-inline {
|
|
| 736 |
+ color: #8a6d3b; |
|
| 737 |
+} |
|
| 738 |
+.has-warning .form-control {
|
|
| 739 |
+ border-color: #8a6d3b; |
|
| 740 |
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); |
|
| 741 |
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); |
|
| 742 |
+} |
|
| 743 |
+.has-warning .form-control:focus {
|
|
| 744 |
+ border-color: #66512c; |
|
| 745 |
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; |
|
| 746 |
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; |
|
| 747 |
+} |
|
| 748 |
+.has-warning .input-group-addon {
|
|
| 749 |
+ color: #8a6d3b; |
|
| 750 |
+ border-color: #8a6d3b; |
|
| 751 |
+ background-color: #fcf8e3; |
|
| 752 |
+} |
|
| 753 |
+.has-warning .form-control-feedback {
|
|
| 754 |
+ color: #8a6d3b; |
|
| 755 |
+} |
|
| 756 |
+.has-error .help-block, |
|
| 757 |
+.has-error .control-label, |
|
| 758 |
+.has-error .radio, |
|
| 759 |
+.has-error .checkbox, |
|
| 760 |
+.has-error .radio-inline, |
|
| 761 |
+.has-error .checkbox-inline {
|
|
| 762 |
+ color: #a94442; |
|
| 763 |
+} |
|
| 764 |
+.has-error .form-control {
|
|
| 765 |
+ border-color: #a94442; |
|
| 766 |
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); |
|
| 767 |
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); |
|
| 768 |
+} |
|
| 769 |
+.has-error .form-control:focus {
|
|
| 770 |
+ border-color: #843534; |
|
| 771 |
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; |
|
| 772 |
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; |
|
| 773 |
+} |
|
| 774 |
+.has-error .input-group-addon {
|
|
| 775 |
+ color: #a94442; |
|
| 776 |
+ border-color: #a94442; |
|
| 777 |
+ background-color: #f2dede; |
|
| 778 |
+} |
|
| 779 |
+.has-error .form-control-feedback {
|
|
| 780 |
+ color: #a94442; |
|
| 781 |
+} |
|
| 782 |
+.form-control-static {
|
|
| 783 |
+ margin-bottom: 0; |
|
| 784 |
+} |
|
| 785 |
+.help-block {
|
|
| 786 |
+ display: block; |
|
| 787 |
+ margin-top: 5px; |
|
| 788 |
+ margin-bottom: 10px; |
|
| 789 |
+ color: #737373; |
|
| 790 |
+} |
|
| 791 |
+@media (min-width: 768px) {
|
|
| 792 |
+ .form-inline .form-group {
|
|
| 793 |
+ display: inline-block; |
|
| 794 |
+ margin-bottom: 0; |
|
| 795 |
+ vertical-align: middle; |
|
| 796 |
+ } |
|
| 797 |
+ .form-inline .form-control {
|
|
| 798 |
+ display: inline-block; |
|
| 799 |
+ width: auto; |
|
| 800 |
+ vertical-align: middle; |
|
| 801 |
+ } |
|
| 802 |
+ .form-inline .input-group > .form-control {
|
|
| 803 |
+ width: 100%; |
|
| 804 |
+ } |
|
| 805 |
+ .form-inline .control-label {
|
|
| 806 |
+ margin-bottom: 0; |
|
| 807 |
+ vertical-align: middle; |
|
| 808 |
+ } |
|
| 809 |
+ .form-inline .radio, |
|
| 810 |
+ .form-inline .checkbox {
|
|
| 811 |
+ display: inline-block; |
|
| 812 |
+ margin-top: 0; |
|
| 813 |
+ margin-bottom: 0; |
|
| 814 |
+ padding-left: 0; |
|
| 815 |
+ vertical-align: middle; |
|
| 816 |
+ } |
|
| 817 |
+ .form-inline .radio input[type="radio"], |
|
| 818 |
+ .form-inline .checkbox input[type="checkbox"] {
|
|
| 819 |
+ float: none; |
|
| 820 |
+ margin-left: 0; |
|
| 821 |
+ } |
|
| 822 |
+ .form-inline .has-feedback .form-control-feedback {
|
|
| 823 |
+ top: 0; |
|
| 824 |
+ } |
|
| 825 |
+} |
|
| 826 |
+.form-horizontal .control-label, |
|
| 827 |
+.form-horizontal .radio, |
|
| 828 |
+.form-horizontal .checkbox, |
|
| 829 |
+.form-horizontal .radio-inline, |
|
| 830 |
+.form-horizontal .checkbox-inline {
|
|
| 831 |
+ margin-top: 0; |
|
| 832 |
+ margin-bottom: 0; |
|
| 833 |
+ padding-top: 3px; |
|
| 834 |
+} |
|
| 835 |
+.form-horizontal .radio, |
|
| 836 |
+.form-horizontal .checkbox {
|
|
| 837 |
+ min-height: 23px; |
|
| 838 |
+} |
|
| 839 |
+.form-horizontal .form-group {
|
|
| 840 |
+ margin-left: -20px; |
|
| 841 |
+ margin-right: -20px; |
|
| 842 |
+} |
|
| 843 |
+.form-horizontal .form-control-static {
|
|
| 844 |
+ padding-top: 3px; |
|
| 845 |
+} |
|
| 846 |
+@media (min-width: 768px) {
|
|
| 847 |
+ .form-horizontal .control-label {
|
|
| 848 |
+ text-align: right; |
|
| 849 |
+ } |
|
| 850 |
+} |
|
| 851 |
+.form-horizontal .has-feedback .form-control-feedback {
|
|
| 852 |
+ top: 0; |
|
| 853 |
+ right: 20px; |
|
| 854 |
+} |
|
| 855 |
+.container {
|
|
| 856 |
+ margin-right: auto; |
|
| 857 |
+ margin-left: auto; |
|
| 858 |
+ padding-left: 20px; |
|
| 859 |
+ padding-right: 20px; |
|
| 860 |
+} |
|
| 861 |
+@media (min-width: 768px) {
|
|
| 862 |
+ .container {
|
|
| 863 |
+ width: 760px; |
|
| 864 |
+ } |
|
| 865 |
+} |
|
| 866 |
+@media (min-width: 992px) {
|
|
| 867 |
+ .container {
|
|
| 868 |
+ width: 980px; |
|
| 869 |
+ } |
|
| 870 |
+} |
|
| 871 |
+@media (min-width: 1200px) {
|
|
| 872 |
+ .container {
|
|
| 873 |
+ width: 1180px; |
|
| 874 |
+ } |
|
| 875 |
+} |
|
| 876 |
+.container-fluid {
|
|
| 877 |
+ margin-right: auto; |
|
| 878 |
+ margin-left: auto; |
|
| 879 |
+ padding-left: 20px; |
|
| 880 |
+ padding-right: 20px; |
|
| 881 |
+} |
|
| 882 |
+.row {
|
|
| 883 |
+ margin-left: -20px; |
|
| 884 |
+ margin-right: -20px; |
|
| 885 |
+} |
|
| 886 |
+.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 {
|
|
| 887 |
+ position: relative; |
|
| 888 |
+ min-height: 1px; |
|
| 889 |
+ padding-left: 20px; |
|
| 890 |
+ padding-right: 20px; |
|
| 891 |
+} |
|
| 892 |
+.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 {
|
|
| 893 |
+ float: left; |
|
| 894 |
+} |
|
| 895 |
+.col-xs-12 {
|
|
| 896 |
+ width: 100%; |
|
| 897 |
+} |
|
| 898 |
+.col-xs-11 {
|
|
| 899 |
+ width: 91.66666666666666%; |
|
| 900 |
+} |
|
| 901 |
+.col-xs-10 {
|
|
| 902 |
+ width: 83.33333333333334%; |
|
| 903 |
+} |
|
| 904 |
+.col-xs-9 {
|
|
| 905 |
+ width: 75%; |
|
| 906 |
+} |
|
| 907 |
+.col-xs-8 {
|
|
| 908 |
+ width: 66.66666666666666%; |
|
| 909 |
+} |
|
| 910 |
+.col-xs-7 {
|
|
| 911 |
+ width: 58.333333333333336%; |
|
| 912 |
+} |
|
| 913 |
+.col-xs-6 {
|
|
| 914 |
+ width: 50%; |
|
| 915 |
+} |
|
| 916 |
+.col-xs-5 {
|
|
| 917 |
+ width: 41.66666666666667%; |
|
| 918 |
+} |
|
| 919 |
+.col-xs-4 {
|
|
| 920 |
+ width: 33.33333333333333%; |
|
| 921 |
+} |
|
| 922 |
+.col-xs-3 {
|
|
| 923 |
+ width: 25%; |
|
| 924 |
+} |
|
| 925 |
+.col-xs-2 {
|
|
| 926 |
+ width: 16.666666666666664%; |
|
| 927 |
+} |
|
| 928 |
+.col-xs-1 {
|
|
| 929 |
+ width: 8.333333333333332%; |
|
| 930 |
+} |
|
| 931 |
+.col-xs-pull-12 {
|
|
| 932 |
+ right: 100%; |
|
| 933 |
+} |
|
| 934 |
+.col-xs-pull-11 {
|
|
| 935 |
+ right: 91.66666666666666%; |
|
| 936 |
+} |
|
| 937 |
+.col-xs-pull-10 {
|
|
| 938 |
+ right: 83.33333333333334%; |
|
| 939 |
+} |
|
| 940 |
+.col-xs-pull-9 {
|
|
| 941 |
+ right: 75%; |
|
| 942 |
+} |
|
| 943 |
+.col-xs-pull-8 {
|
|
| 944 |
+ right: 66.66666666666666%; |
|
| 945 |
+} |
|
| 946 |
+.col-xs-pull-7 {
|
|
| 947 |
+ right: 58.333333333333336%; |
|
| 948 |
+} |
|
| 949 |
+.col-xs-pull-6 {
|
|
| 950 |
+ right: 50%; |
|
| 951 |
+} |
|
| 952 |
+.col-xs-pull-5 {
|
|
| 953 |
+ right: 41.66666666666667%; |
|
| 954 |
+} |
|
| 955 |
+.col-xs-pull-4 {
|
|
| 956 |
+ right: 33.33333333333333%; |
|
| 957 |
+} |
|
| 958 |
+.col-xs-pull-3 {
|
|
| 959 |
+ right: 25%; |
|
| 960 |
+} |
|
| 961 |
+.col-xs-pull-2 {
|
|
| 962 |
+ right: 16.666666666666664%; |
|
| 963 |
+} |
|
| 964 |
+.col-xs-pull-1 {
|
|
| 965 |
+ right: 8.333333333333332%; |
|
| 966 |
+} |
|
| 967 |
+.col-xs-pull-0 {
|
|
| 968 |
+ right: 0%; |
|
| 969 |
+} |
|
| 970 |
+.col-xs-push-12 {
|
|
| 971 |
+ left: 100%; |
|
| 972 |
+} |
|
| 973 |
+.col-xs-push-11 {
|
|
| 974 |
+ left: 91.66666666666666%; |
|
| 975 |
+} |
|
| 976 |
+.col-xs-push-10 {
|
|
| 977 |
+ left: 83.33333333333334%; |
|
| 978 |
+} |
|
| 979 |
+.col-xs-push-9 {
|
|
| 980 |
+ left: 75%; |
|
| 981 |
+} |
|
| 982 |
+.col-xs-push-8 {
|
|
| 983 |
+ left: 66.66666666666666%; |
|
| 984 |
+} |
|
| 985 |
+.col-xs-push-7 {
|
|
| 986 |
+ left: 58.333333333333336%; |
|
| 987 |
+} |
|
| 988 |
+.col-xs-push-6 {
|
|
| 989 |
+ left: 50%; |
|
| 990 |
+} |
|
| 991 |
+.col-xs-push-5 {
|
|
| 992 |
+ left: 41.66666666666667%; |
|
| 993 |
+} |
|
| 994 |
+.col-xs-push-4 {
|
|
| 995 |
+ left: 33.33333333333333%; |
|
| 996 |
+} |
|
| 997 |
+.col-xs-push-3 {
|
|
| 998 |
+ left: 25%; |
|
| 999 |
+} |
|
| 1000 |
+.col-xs-push-2 {
|
|
| 1001 |
+ left: 16.666666666666664%; |
|
| 1002 |
+} |
|
| 1003 |
+.col-xs-push-1 {
|
|
| 1004 |
+ left: 8.333333333333332%; |
|
| 1005 |
+} |
|
| 1006 |
+.col-xs-push-0 {
|
|
| 1007 |
+ left: 0%; |
|
| 1008 |
+} |
|
| 1009 |
+.col-xs-offset-12 {
|
|
| 1010 |
+ margin-left: 100%; |
|
| 1011 |
+} |
|
| 1012 |
+.col-xs-offset-11 {
|
|
| 1013 |
+ margin-left: 91.66666666666666%; |
|
| 1014 |
+} |
|
| 1015 |
+.col-xs-offset-10 {
|
|
| 1016 |
+ margin-left: 83.33333333333334%; |
|
| 1017 |
+} |
|
| 1018 |
+.col-xs-offset-9 {
|
|
| 1019 |
+ margin-left: 75%; |
|
| 1020 |
+} |
|
| 1021 |
+.col-xs-offset-8 {
|
|
| 1022 |
+ margin-left: 66.66666666666666%; |
|
| 1023 |
+} |
|
| 1024 |
+.col-xs-offset-7 {
|
|
| 1025 |
+ margin-left: 58.333333333333336%; |
|
| 1026 |
+} |
|
| 1027 |
+.col-xs-offset-6 {
|
|
| 1028 |
+ margin-left: 50%; |
|
| 1029 |
+} |
|
| 1030 |
+.col-xs-offset-5 {
|
|
| 1031 |
+ margin-left: 41.66666666666667%; |
|
| 1032 |
+} |
|
| 1033 |
+.col-xs-offset-4 {
|
|
| 1034 |
+ margin-left: 33.33333333333333%; |
|
| 1035 |
+} |
|
| 1036 |
+.col-xs-offset-3 {
|
|
| 1037 |
+ margin-left: 25%; |
|
| 1038 |
+} |
|
| 1039 |
+.col-xs-offset-2 {
|
|
| 1040 |
+ margin-left: 16.666666666666664%; |
|
| 1041 |
+} |
|
| 1042 |
+.col-xs-offset-1 {
|
|
| 1043 |
+ margin-left: 8.333333333333332%; |
|
| 1044 |
+} |
|
| 1045 |
+.col-xs-offset-0 {
|
|
| 1046 |
+ margin-left: 0%; |
|
| 1047 |
+} |
|
| 1048 |
+@media (min-width: 768px) {
|
|
| 1049 |
+ .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 {
|
|
| 1050 |
+ float: left; |
|
| 1051 |
+ } |
|
| 1052 |
+ .col-sm-12 {
|
|
| 1053 |
+ width: 100%; |
|
| 1054 |
+ } |
|
| 1055 |
+ .col-sm-11 {
|
|
| 1056 |
+ width: 91.66666666666666%; |
|
| 1057 |
+ } |
|
| 1058 |
+ .col-sm-10 {
|
|
| 1059 |
+ width: 83.33333333333334%; |
|
| 1060 |
+ } |
|
| 1061 |
+ .col-sm-9 {
|
|
| 1062 |
+ width: 75%; |
|
| 1063 |
+ } |
|
| 1064 |
+ .col-sm-8 {
|
|
| 1065 |
+ width: 66.66666666666666%; |
|
| 1066 |
+ } |
|
| 1067 |
+ .col-sm-7 {
|
|
| 1068 |
+ width: 58.333333333333336%; |
|
| 1069 |
+ } |
|
| 1070 |
+ .col-sm-6 {
|
|
| 1071 |
+ width: 50%; |
|
| 1072 |
+ } |
|
| 1073 |
+ .col-sm-5 {
|
|
| 1074 |
+ width: 41.66666666666667%; |
|
| 1075 |
+ } |
|
| 1076 |
+ .col-sm-4 {
|
|
| 1077 |
+ width: 33.33333333333333%; |
|
| 1078 |
+ } |
|
| 1079 |
+ .col-sm-3 {
|
|
| 1080 |
+ width: 25%; |
|
| 1081 |
+ } |
|
| 1082 |
+ .col-sm-2 {
|
|
| 1083 |
+ width: 16.666666666666664%; |
|
| 1084 |
+ } |
|
| 1085 |
+ .col-sm-1 {
|
|
| 1086 |
+ width: 8.333333333333332%; |
|
| 1087 |
+ } |
|
| 1088 |
+ .col-sm-pull-12 {
|
|
| 1089 |
+ right: 100%; |
|
| 1090 |
+ } |
|
| 1091 |
+ .col-sm-pull-11 {
|
|
| 1092 |
+ right: 91.66666666666666%; |
|
| 1093 |
+ } |
|
| 1094 |
+ .col-sm-pull-10 {
|
|
| 1095 |
+ right: 83.33333333333334%; |
|
| 1096 |
+ } |
|
| 1097 |
+ .col-sm-pull-9 {
|
|
| 1098 |
+ right: 75%; |
|
| 1099 |
+ } |
|
| 1100 |
+ .col-sm-pull-8 {
|
|
| 1101 |
+ right: 66.66666666666666%; |
|
| 1102 |
+ } |
|
| 1103 |
+ .col-sm-pull-7 {
|
|
| 1104 |
+ right: 58.333333333333336%; |
|
| 1105 |
+ } |
|
| 1106 |
+ .col-sm-pull-6 {
|
|
| 1107 |
+ right: 50%; |
|
| 1108 |
+ } |
|
| 1109 |
+ .col-sm-pull-5 {
|
|
| 1110 |
+ right: 41.66666666666667%; |
|
| 1111 |
+ } |
|
| 1112 |
+ .col-sm-pull-4 {
|
|
| 1113 |
+ right: 33.33333333333333%; |
|
| 1114 |
+ } |
|
| 1115 |
+ .col-sm-pull-3 {
|
|
| 1116 |
+ right: 25%; |
|
| 1117 |
+ } |
|
| 1118 |
+ .col-sm-pull-2 {
|
|
| 1119 |
+ right: 16.666666666666664%; |
|
| 1120 |
+ } |
|
| 1121 |
+ .col-sm-pull-1 {
|
|
| 1122 |
+ right: 8.333333333333332%; |
|
| 1123 |
+ } |
|
| 1124 |
+ .col-sm-pull-0 {
|
|
| 1125 |
+ right: 0%; |
|
| 1126 |
+ } |
|
| 1127 |
+ .col-sm-push-12 {
|
|
| 1128 |
+ left: 100%; |
|
| 1129 |
+ } |
|
| 1130 |
+ .col-sm-push-11 {
|
|
| 1131 |
+ left: 91.66666666666666%; |
|
| 1132 |
+ } |
|
| 1133 |
+ .col-sm-push-10 {
|
|
| 1134 |
+ left: 83.33333333333334%; |
|
| 1135 |
+ } |
|
| 1136 |
+ .col-sm-push-9 {
|
|
| 1137 |
+ left: 75%; |
|
| 1138 |
+ } |
|
| 1139 |
+ .col-sm-push-8 {
|
|
| 1140 |
+ left: 66.66666666666666%; |
|
| 1141 |
+ } |
|
| 1142 |
+ .col-sm-push-7 {
|
|
| 1143 |
+ left: 58.333333333333336%; |
|
| 1144 |
+ } |
|
| 1145 |
+ .col-sm-push-6 {
|
|
| 1146 |
+ left: 50%; |
|
| 1147 |
+ } |
|
| 1148 |
+ .col-sm-push-5 {
|
|
| 1149 |
+ left: 41.66666666666667%; |
|
| 1150 |
+ } |
|
| 1151 |
+ .col-sm-push-4 {
|
|
| 1152 |
+ left: 33.33333333333333%; |
|
| 1153 |
+ } |
|
| 1154 |
+ .col-sm-push-3 {
|
|
| 1155 |
+ left: 25%; |
|
| 1156 |
+ } |
|
| 1157 |
+ .col-sm-push-2 {
|
|
| 1158 |
+ left: 16.666666666666664%; |
|
| 1159 |
+ } |
|
| 1160 |
+ .col-sm-push-1 {
|
|
| 1161 |
+ left: 8.333333333333332%; |
|
| 1162 |
+ } |
|
| 1163 |
+ .col-sm-push-0 {
|
|
| 1164 |
+ left: 0%; |
|
| 1165 |
+ } |
|
| 1166 |
+ .col-sm-offset-12 {
|
|
| 1167 |
+ margin-left: 100%; |
|
| 1168 |
+ } |
|
| 1169 |
+ .col-sm-offset-11 {
|
|
| 1170 |
+ margin-left: 91.66666666666666%; |
|
| 1171 |
+ } |
|
| 1172 |
+ .col-sm-offset-10 {
|
|
| 1173 |
+ margin-left: 83.33333333333334%; |
|
| 1174 |
+ } |
|
| 1175 |
+ .col-sm-offset-9 {
|
|
| 1176 |
+ margin-left: 75%; |
|
| 1177 |
+ } |
|
| 1178 |
+ .col-sm-offset-8 {
|
|
| 1179 |
+ margin-left: 66.66666666666666%; |
|
| 1180 |
+ } |
|
| 1181 |
+ .col-sm-offset-7 {
|
|
| 1182 |
+ margin-left: 58.333333333333336%; |
|
| 1183 |
+ } |
|
| 1184 |
+ .col-sm-offset-6 {
|
|
| 1185 |
+ margin-left: 50%; |
|
| 1186 |
+ } |
|
| 1187 |
+ .col-sm-offset-5 {
|
|
| 1188 |
+ margin-left: 41.66666666666667%; |
|
| 1189 |
+ } |
|
| 1190 |
+ .col-sm-offset-4 {
|
|
| 1191 |
+ margin-left: 33.33333333333333%; |
|
| 1192 |
+ } |
|
| 1193 |
+ .col-sm-offset-3 {
|
|
| 1194 |
+ margin-left: 25%; |
|
| 1195 |
+ } |
|
| 1196 |
+ .col-sm-offset-2 {
|
|
| 1197 |
+ margin-left: 16.666666666666664%; |
|
| 1198 |
+ } |
|
| 1199 |
+ .col-sm-offset-1 {
|
|
| 1200 |
+ margin-left: 8.333333333333332%; |
|
| 1201 |
+ } |
|
| 1202 |
+ .col-sm-offset-0 {
|
|
| 1203 |
+ margin-left: 0%; |
|
| 1204 |
+ } |
|
| 1205 |
+} |
|
| 1206 |
+@media (min-width: 992px) {
|
|
| 1207 |
+ .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 {
|
|
| 1208 |
+ float: left; |
|
| 1209 |
+ } |
|
| 1210 |
+ .col-md-12 {
|
|
| 1211 |
+ width: 100%; |
|
| 1212 |
+ } |
|
| 1213 |
+ .col-md-11 {
|
|
| 1214 |
+ width: 91.66666666666666%; |
|
| 1215 |
+ } |
|
| 1216 |
+ .col-md-10 {
|
|
| 1217 |
+ width: 83.33333333333334%; |
|
| 1218 |
+ } |
|
| 1219 |
+ .col-md-9 {
|
|
| 1220 |
+ width: 75%; |
|
| 1221 |
+ } |
|
| 1222 |
+ .col-md-8 {
|
|
| 1223 |
+ width: 66.66666666666666%; |
|
| 1224 |
+ } |
|
| 1225 |
+ .col-md-7 {
|
|
| 1226 |
+ width: 58.333333333333336%; |
|
| 1227 |
+ } |
|
| 1228 |
+ .col-md-6 {
|
|
| 1229 |
+ width: 50%; |
|
| 1230 |
+ } |
|
| 1231 |
+ .col-md-5 {
|
|
| 1232 |
+ width: 41.66666666666667%; |
|
| 1233 |
+ } |
|
| 1234 |
+ .col-md-4 {
|
|
| 1235 |
+ width: 33.33333333333333%; |
|
| 1236 |
+ } |
|
| 1237 |
+ .col-md-3 {
|
|
| 1238 |
+ width: 25%; |
|
| 1239 |
+ } |
|
| 1240 |
+ .col-md-2 {
|
|
| 1241 |
+ width: 16.666666666666664%; |
|
| 1242 |
+ } |
|
| 1243 |
+ .col-md-1 {
|
|
| 1244 |
+ width: 8.333333333333332%; |
|
| 1245 |
+ } |
|
| 1246 |
+ .col-md-pull-12 {
|
|
| 1247 |
+ right: 100%; |
|
| 1248 |
+ } |
|
| 1249 |
+ .col-md-pull-11 {
|
|
| 1250 |
+ right: 91.66666666666666%; |
|
| 1251 |
+ } |
|
| 1252 |
+ .col-md-pull-10 {
|
|
| 1253 |
+ right: 83.33333333333334%; |
|
| 1254 |
+ } |
|
| 1255 |
+ .col-md-pull-9 {
|
|
| 1256 |
+ right: 75%; |
|
| 1257 |
+ } |
|
| 1258 |
+ .col-md-pull-8 {
|
|
| 1259 |
+ right: 66.66666666666666%; |
|
| 1260 |
+ } |
|
| 1261 |
+ .col-md-pull-7 {
|
|
| 1262 |
+ right: 58.333333333333336%; |
|
| 1263 |
+ } |
|
| 1264 |
+ .col-md-pull-6 {
|
|
| 1265 |
+ right: 50%; |
|
| 1266 |
+ } |
|
| 1267 |
+ .col-md-pull-5 {
|
|
| 1268 |
+ right: 41.66666666666667%; |
|
| 1269 |
+ } |
|
| 1270 |
+ .col-md-pull-4 {
|
|
| 1271 |
+ right: 33.33333333333333%; |
|
| 1272 |
+ } |
|
| 1273 |
+ .col-md-pull-3 {
|
|
| 1274 |
+ right: 25%; |
|
| 1275 |
+ } |
|
| 1276 |
+ .col-md-pull-2 {
|
|
| 1277 |
+ right: 16.666666666666664%; |
|
| 1278 |
+ } |
|
| 1279 |
+ .col-md-pull-1 {
|
|
| 1280 |
+ right: 8.333333333333332%; |
|
| 1281 |
+ } |
|
| 1282 |
+ .col-md-pull-0 {
|
|
| 1283 |
+ right: 0%; |
|
| 1284 |
+ } |
|
| 1285 |
+ .col-md-push-12 {
|
|
| 1286 |
+ left: 100%; |
|
| 1287 |
+ } |
|
| 1288 |
+ .col-md-push-11 {
|
|
| 1289 |
+ left: 91.66666666666666%; |
|
| 1290 |
+ } |
|
| 1291 |
+ .col-md-push-10 {
|
|
| 1292 |
+ left: 83.33333333333334%; |
|
| 1293 |
+ } |
|
| 1294 |
+ .col-md-push-9 {
|
|
| 1295 |
+ left: 75%; |
|
| 1296 |
+ } |
|
| 1297 |
+ .col-md-push-8 {
|
|
| 1298 |
+ left: 66.66666666666666%; |
|
| 1299 |
+ } |
|
| 1300 |
+ .col-md-push-7 {
|
|
| 1301 |
+ left: 58.333333333333336%; |
|
| 1302 |
+ } |
|
| 1303 |
+ .col-md-push-6 {
|
|
| 1304 |
+ left: 50%; |
|
| 1305 |
+ } |
|
| 1306 |
+ .col-md-push-5 {
|
|
| 1307 |
+ left: 41.66666666666667%; |
|
| 1308 |
+ } |
|
| 1309 |
+ .col-md-push-4 {
|
|
| 1310 |
+ left: 33.33333333333333%; |
|
| 1311 |
+ } |
|
| 1312 |
+ .col-md-push-3 {
|
|
| 1313 |
+ left: 25%; |
|
| 1314 |
+ } |
|
| 1315 |
+ .col-md-push-2 {
|
|
| 1316 |
+ left: 16.666666666666664%; |
|
| 1317 |
+ } |
|
| 1318 |
+ .col-md-push-1 {
|
|
| 1319 |
+ left: 8.333333333333332%; |
|
| 1320 |
+ } |
|
| 1321 |
+ .col-md-push-0 {
|
|
| 1322 |
+ left: 0%; |
|
| 1323 |
+ } |
|
| 1324 |
+ .col-md-offset-12 {
|
|
| 1325 |
+ margin-left: 100%; |
|
| 1326 |
+ } |
|
| 1327 |
+ .col-md-offset-11 {
|
|
| 1328 |
+ margin-left: 91.66666666666666%; |
|
| 1329 |
+ } |
|
| 1330 |
+ .col-md-offset-10 {
|
|
| 1331 |
+ margin-left: 83.33333333333334%; |
|
| 1332 |
+ } |
|
| 1333 |
+ .col-md-offset-9 {
|
|
| 1334 |
+ margin-left: 75%; |
|
| 1335 |
+ } |
|
| 1336 |
+ .col-md-offset-8 {
|
|
| 1337 |
+ margin-left: 66.66666666666666%; |
|
| 1338 |
+ } |
|
| 1339 |
+ .col-md-offset-7 {
|
|
| 1340 |
+ margin-left: 58.333333333333336%; |
|
| 1341 |
+ } |
|
| 1342 |
+ .col-md-offset-6 {
|
|
| 1343 |
+ margin-left: 50%; |
|
| 1344 |
+ } |
|
| 1345 |
+ .col-md-offset-5 {
|
|
| 1346 |
+ margin-left: 41.66666666666667%; |
|
| 1347 |
+ } |
|
| 1348 |
+ .col-md-offset-4 {
|
|
| 1349 |
+ margin-left: 33.33333333333333%; |
|
| 1350 |
+ } |
|
| 1351 |
+ .col-md-offset-3 {
|
|
| 1352 |
+ margin-left: 25%; |
|
| 1353 |
+ } |
|
| 1354 |
+ .col-md-offset-2 {
|
|
| 1355 |
+ margin-left: 16.666666666666664%; |
|
| 1356 |
+ } |
|
| 1357 |
+ .col-md-offset-1 {
|
|
| 1358 |
+ margin-left: 8.333333333333332%; |
|
| 1359 |
+ } |
|
| 1360 |
+ .col-md-offset-0 {
|
|
| 1361 |
+ margin-left: 0%; |
|
| 1362 |
+ } |
|
| 1363 |
+} |
|
| 1364 |
+@media (min-width: 1200px) {
|
|
| 1365 |
+ .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 {
|
|
| 1366 |
+ float: left; |
|
| 1367 |
+ } |
|
| 1368 |
+ .col-lg-12 {
|
|
| 1369 |
+ width: 100%; |
|
| 1370 |
+ } |
|
| 1371 |
+ .col-lg-11 {
|
|
| 1372 |
+ width: 91.66666666666666%; |
|
| 1373 |
+ } |
|
| 1374 |
+ .col-lg-10 {
|
|
| 1375 |
+ width: 83.33333333333334%; |
|
| 1376 |
+ } |
|
| 1377 |
+ .col-lg-9 {
|
|
| 1378 |
+ width: 75%; |
|
| 1379 |
+ } |
|
| 1380 |
+ .col-lg-8 {
|
|
| 1381 |
+ width: 66.66666666666666%; |
|
| 1382 |
+ } |
|
| 1383 |
+ .col-lg-7 {
|
|
| 1384 |
+ width: 58.333333333333336%; |
|
| 1385 |
+ } |
|
| 1386 |
+ .col-lg-6 {
|
|
| 1387 |
+ width: 50%; |
|
| 1388 |
+ } |
|
| 1389 |
+ .col-lg-5 {
|
|
| 1390 |
+ width: 41.66666666666667%; |
|
| 1391 |
+ } |
|
| 1392 |
+ .col-lg-4 {
|
|
| 1393 |
+ width: 33.33333333333333%; |
|
| 1394 |
+ } |
|
| 1395 |
+ .col-lg-3 {
|
|
| 1396 |
+ width: 25%; |
|
| 1397 |
+ } |
|
| 1398 |
+ .col-lg-2 {
|
|
| 1399 |
+ width: 16.666666666666664%; |
|
| 1400 |
+ } |
|
| 1401 |
+ .col-lg-1 {
|
|
| 1402 |
+ width: 8.333333333333332%; |
|
| 1403 |
+ } |
|
| 1404 |
+ .col-lg-pull-12 {
|
|
| 1405 |
+ right: 100%; |
|
| 1406 |
+ } |
|
| 1407 |
+ .col-lg-pull-11 {
|
|
| 1408 |
+ right: 91.66666666666666%; |
|
| 1409 |
+ } |
|
| 1410 |
+ .col-lg-pull-10 {
|
|
| 1411 |
+ right: 83.33333333333334%; |
|
| 1412 |
+ } |
|
| 1413 |
+ .col-lg-pull-9 {
|
|
| 1414 |
+ right: 75%; |
|
| 1415 |
+ } |
|
| 1416 |
+ .col-lg-pull-8 {
|
|
| 1417 |
+ right: 66.66666666666666%; |
|
| 1418 |
+ } |
|
| 1419 |
+ .col-lg-pull-7 {
|
|
| 1420 |
+ right: 58.333333333333336%; |
|
| 1421 |
+ } |
|
| 1422 |
+ .col-lg-pull-6 {
|
|
| 1423 |
+ right: 50%; |
|
| 1424 |
+ } |
|
| 1425 |
+ .col-lg-pull-5 {
|
|
| 1426 |
+ right: 41.66666666666667%; |
|
| 1427 |
+ } |
|
| 1428 |
+ .col-lg-pull-4 {
|
|
| 1429 |
+ right: 33.33333333333333%; |
|
| 1430 |
+ } |
|
| 1431 |
+ .col-lg-pull-3 {
|
|
| 1432 |
+ right: 25%; |
|
| 1433 |
+ } |
|
| 1434 |
+ .col-lg-pull-2 {
|
|
| 1435 |
+ right: 16.666666666666664%; |
|
| 1436 |
+ } |
|
| 1437 |
+ .col-lg-pull-1 {
|
|
| 1438 |
+ right: 8.333333333333332%; |
|
| 1439 |
+ } |
|
| 1440 |
+ .col-lg-pull-0 {
|
|
| 1441 |
+ right: 0%; |
|
| 1442 |
+ } |
|
| 1443 |
+ .col-lg-push-12 {
|
|
| 1444 |
+ left: 100%; |
|
| 1445 |
+ } |
|
| 1446 |
+ .col-lg-push-11 {
|
|
| 1447 |
+ left: 91.66666666666666%; |
|
| 1448 |
+ } |
|
| 1449 |
+ .col-lg-push-10 {
|
|
| 1450 |
+ left: 83.33333333333334%; |
|
| 1451 |
+ } |
|
| 1452 |
+ .col-lg-push-9 {
|
|
| 1453 |
+ left: 75%; |
|
| 1454 |
+ } |
|
| 1455 |
+ .col-lg-push-8 {
|
|
| 1456 |
+ left: 66.66666666666666%; |
|
| 1457 |
+ } |
|
| 1458 |
+ .col-lg-push-7 {
|
|
| 1459 |
+ left: 58.333333333333336%; |
|
| 1460 |
+ } |
|
| 1461 |
+ .col-lg-push-6 {
|
|
| 1462 |
+ left: 50%; |
|
| 1463 |
+ } |
|
| 1464 |
+ .col-lg-push-5 {
|
|
| 1465 |
+ left: 41.66666666666667%; |
|
| 1466 |
+ } |
|
| 1467 |
+ .col-lg-push-4 {
|
|
| 1468 |
+ left: 33.33333333333333%; |
|
| 1469 |
+ } |
|
| 1470 |
+ .col-lg-push-3 {
|
|
| 1471 |
+ left: 25%; |
|
| 1472 |
+ } |
|
| 1473 |
+ .col-lg-push-2 {
|
|
| 1474 |
+ left: 16.666666666666664%; |
|
| 1475 |
+ } |
|
| 1476 |
+ .col-lg-push-1 {
|
|
| 1477 |
+ left: 8.333333333333332%; |
|
| 1478 |
+ } |
|
| 1479 |
+ .col-lg-push-0 {
|
|
| 1480 |
+ left: 0%; |
|
| 1481 |
+ } |
|
| 1482 |
+ .col-lg-offset-12 {
|
|
| 1483 |
+ margin-left: 100%; |
|
| 1484 |
+ } |
|
| 1485 |
+ .col-lg-offset-11 {
|
|
| 1486 |
+ margin-left: 91.66666666666666%; |
|
| 1487 |
+ } |
|
| 1488 |
+ .col-lg-offset-10 {
|
|
| 1489 |
+ margin-left: 83.33333333333334%; |
|
| 1490 |
+ } |
|
| 1491 |
+ .col-lg-offset-9 {
|
|
| 1492 |
+ margin-left: 75%; |
|
| 1493 |
+ } |
|
| 1494 |
+ .col-lg-offset-8 {
|
|
| 1495 |
+ margin-left: 66.66666666666666%; |
|
| 1496 |
+ } |
|
| 1497 |
+ .col-lg-offset-7 {
|
|
| 1498 |
+ margin-left: 58.333333333333336%; |
|
| 1499 |
+ } |
|
| 1500 |
+ .col-lg-offset-6 {
|
|
| 1501 |
+ margin-left: 50%; |
|
| 1502 |
+ } |
|
| 1503 |
+ .col-lg-offset-5 {
|
|
| 1504 |
+ margin-left: 41.66666666666667%; |
|
| 1505 |
+ } |
|
| 1506 |
+ .col-lg-offset-4 {
|
|
| 1507 |
+ margin-left: 33.33333333333333%; |
|
| 1508 |
+ } |
|
| 1509 |
+ .col-lg-offset-3 {
|
|
| 1510 |
+ margin-left: 25%; |
|
| 1511 |
+ } |
|
| 1512 |
+ .col-lg-offset-2 {
|
|
| 1513 |
+ margin-left: 16.666666666666664%; |
|
| 1514 |
+ } |
|
| 1515 |
+ .col-lg-offset-1 {
|
|
| 1516 |
+ margin-left: 8.333333333333332%; |
|
| 1517 |
+ } |
|
| 1518 |
+ .col-lg-offset-0 {
|
|
| 1519 |
+ margin-left: 0%; |
|
| 1520 |
+ } |
|
| 1521 |
+} |
|
| 1522 |
+ |
|
| 1523 |
+html {
|
|
| 1524 |
+ font-family: sans-serif; |
|
| 1525 |
+ -ms-text-size-adjust: 100%; |
|
| 1526 |
+ -webkit-text-size-adjust: 100%; |
|
| 1527 |
+} |
|
| 1528 |
+body {
|
|
| 1529 |
+ margin: 0; |
|
| 1530 |
+} |
|
| 1531 |
+article, |
|
| 1532 |
+aside, |
|
| 1533 |
+details, |
|
| 1534 |
+figcaption, |
|
| 1535 |
+figure, |
|
| 1536 |
+footer, |
|
| 1537 |
+header, |
|
| 1538 |
+hgroup, |
|
| 1539 |
+main, |
|
| 1540 |
+nav, |
|
| 1541 |
+section, |
|
| 1542 |
+summary {
|
|
| 1543 |
+ display: block; |
|
| 1544 |
+} |
|
| 1545 |
+audio, |
|
| 1546 |
+canvas, |
|
| 1547 |
+progress, |
|
| 1548 |
+video {
|
|
| 1549 |
+ display: inline-block; |
|
| 1550 |
+ vertical-align: baseline; |
|
| 1551 |
+} |
|
| 1552 |
+audio:not([controls]) {
|
|
| 1553 |
+ display: none; |
|
| 1554 |
+ height: 0; |
|
| 1555 |
+} |
|
| 1556 |
+[hidden], |
|
| 1557 |
+template {
|
|
| 1558 |
+ display: none; |
|
| 1559 |
+} |
|
| 1560 |
+a {
|
|
| 1561 |
+ background: transparent; |
|
| 1562 |
+} |
|
| 1563 |
+a:active, |
|
| 1564 |
+a:hover {
|
|
| 1565 |
+ outline: 0; |
|
| 1566 |
+} |
|
| 1567 |
+abbr[title] {
|
|
| 1568 |
+ border-bottom: 1px dotted; |
|
| 1569 |
+} |
|
| 1570 |
+b, |
|
| 1571 |
+strong {
|
|
| 1572 |
+ font-weight: bold; |
|
| 1573 |
+} |
|
| 1574 |
+dfn {
|
|
| 1575 |
+ font-style: italic; |
|
| 1576 |
+} |
|
| 1577 |
+h1 {
|
|
| 1578 |
+ font-size: 2em; |
|
| 1579 |
+ margin: 0.67em 0; |
|
| 1580 |
+} |
|
| 1581 |
+mark {
|
|
| 1582 |
+ background: #ff0; |
|
| 1583 |
+ color: #000; |
|
| 1584 |
+} |
|
| 1585 |
+small {
|
|
| 1586 |
+ font-size: 80%; |
|
| 1587 |
+} |
|
| 1588 |
+sub, |
|
| 1589 |
+sup {
|
|
| 1590 |
+ font-size: 75%; |
|
| 1591 |
+ line-height: 0; |
|
| 1592 |
+ position: relative; |
|
| 1593 |
+ vertical-align: baseline; |
|
| 1594 |
+} |
|
| 1595 |
+sup {
|
|
| 1596 |
+ top: -0.5em; |
|
| 1597 |
+} |
|
| 1598 |
+sub {
|
|
| 1599 |
+ bottom: -0.25em; |
|
| 1600 |
+} |
|
| 1601 |
+img {
|
|
| 1602 |
+ border: 0; |
|
| 1603 |
+} |
|
| 1604 |
+svg:not(:root) {
|
|
| 1605 |
+ overflow: hidden; |
|
| 1606 |
+} |
|
| 1607 |
+figure {
|
|
| 1608 |
+ margin: 1em 40px; |
|
| 1609 |
+} |
|
| 1610 |
+hr {
|
|
| 1611 |
+ -moz-box-sizing: content-box; |
|
| 1612 |
+ box-sizing: content-box; |
|
| 1613 |
+ height: 0; |
|
| 1614 |
+} |
|
| 1615 |
+pre {
|
|
| 1616 |
+ overflow: auto; |
|
| 1617 |
+} |
|
| 1618 |
+code, |
|
| 1619 |
+kbd, |
|
| 1620 |
+pre, |
|
| 1621 |
+samp {
|
|
| 1622 |
+ font-family: monospace, monospace; |
|
| 1623 |
+ font-size: 1em; |
|
| 1624 |
+} |
|
| 1625 |
+button, |
|
| 1626 |
+input, |
|
| 1627 |
+optgroup, |
|
| 1628 |
+select, |
|
| 1629 |
+textarea {
|
|
| 1630 |
+ color: inherit; |
|
| 1631 |
+ font: inherit; |
|
| 1632 |
+ margin: 0; |
|
| 1633 |
+} |
|
| 1634 |
+button {
|
|
| 1635 |
+ overflow: visible; |
|
| 1636 |
+} |
|
| 1637 |
+button, |
|
| 1638 |
+select {
|
|
| 1639 |
+ text-transform: none; |
|
| 1640 |
+} |
|
| 1641 |
+button, |
|
| 1642 |
+html input[type="button"], |
|
| 1643 |
+input[type="reset"], |
|
| 1644 |
+input[type="submit"] {
|
|
| 1645 |
+ -webkit-appearance: button; |
|
| 1646 |
+ cursor: pointer; |
|
| 1647 |
+} |
|
| 1648 |
+button[disabled], |
|
| 1649 |
+html input[disabled] {
|
|
| 1650 |
+ cursor: default; |
|
| 1651 |
+} |
|
| 1652 |
+button::-moz-focus-inner, |
|
| 1653 |
+input::-moz-focus-inner {
|
|
| 1654 |
+ border: 0; |
|
| 1655 |
+ padding: 0; |
|
| 1656 |
+} |
|
| 1657 |
+input {
|
|
| 1658 |
+ line-height: normal; |
|
| 1659 |
+} |
|
| 1660 |
+input[type="checkbox"], |
|
| 1661 |
+input[type="radio"] {
|
|
| 1662 |
+ box-sizing: border-box; |
|
| 1663 |
+ padding: 0; |
|
| 1664 |
+} |
|
| 1665 |
+input[type="number"]::-webkit-inner-spin-button, |
|
| 1666 |
+input[type="number"]::-webkit-outer-spin-button {
|
|
| 1667 |
+ height: auto; |
|
| 1668 |
+} |
|
| 1669 |
+input[type="search"] {
|
|
| 1670 |
+ -webkit-appearance: textfield; |
|
| 1671 |
+ -moz-box-sizing: content-box; |
|
| 1672 |
+ -webkit-box-sizing: content-box; |
|
| 1673 |
+ box-sizing: content-box; |
|
| 1674 |
+} |
|
| 1675 |
+input[type="search"]::-webkit-search-cancel-button, |
|
| 1676 |
+input[type="search"]::-webkit-search-decoration {
|
|
| 1677 |
+ -webkit-appearance: none; |
|
| 1678 |
+} |
|
| 1679 |
+fieldset {
|
|
| 1680 |
+ border: 1px solid #c0c0c0; |
|
| 1681 |
+ margin: 0 2px; |
|
| 1682 |
+ padding: 0.35em 0.625em 0.75em; |
|
| 1683 |
+} |
|
| 1684 |
+legend {
|
|
| 1685 |
+ border: 0; |
|
| 1686 |
+ padding: 0; |
|
| 1687 |
+} |
|
| 1688 |
+textarea {
|
|
| 1689 |
+ overflow: auto; |
|
| 1690 |
+} |
|
| 1691 |
+optgroup {
|
|
| 1692 |
+ font-weight: bold; |
|
| 1693 |
+} |
|
| 1694 |
+table {
|
|
| 1695 |
+ border-collapse: collapse; |
|
| 1696 |
+ border-spacing: 0; |
|
| 1697 |
+} |
|
| 1698 |
+td, |
|
| 1699 |
+th {
|
|
| 1700 |
+ padding: 0; |
|
| 1701 |
+} |
|
| 1702 |
+@-ms-viewport {
|
|
| 1703 |
+ width: device-width; |
|
| 1704 |
+} |
|
| 1705 |
+.visible-xs, |
|
| 1706 |
+.visible-sm, |
|
| 1707 |
+.visible-md, |
|
| 1708 |
+.visible-lg {
|
|
| 1709 |
+ display: none !important; |
|
| 1710 |
+} |
|
| 1711 |
+@media (max-width: 767px) {
|
|
| 1712 |
+ .visible-xs {
|
|
| 1713 |
+ display: block !important; |
|
| 1714 |
+ } |
|
| 1715 |
+ table.visible-xs {
|
|
| 1716 |
+ display: table; |
|
| 1717 |
+ } |
|
| 1718 |
+ tr.visible-xs {
|
|
| 1719 |
+ display: table-row !important; |
|
| 1720 |
+ } |
|
| 1721 |
+ th.visible-xs, |
|
| 1722 |
+ td.visible-xs {
|
|
| 1723 |
+ display: table-cell !important; |
|
| 1724 |
+ } |
|
| 1725 |
+} |
|
| 1726 |
+@media (min-width: 768px) and (max-width: 991px) {
|
|
| 1727 |
+ .visible-sm {
|
|
| 1728 |
+ display: block !important; |
|
| 1729 |
+ } |
|
| 1730 |
+ table.visible-sm {
|
|
| 1731 |
+ display: table; |
|
| 1732 |
+ } |
|
| 1733 |
+ tr.visible-sm {
|
|
| 1734 |
+ display: table-row !important; |
|
| 1735 |
+ } |
|
| 1736 |
+ th.visible-sm, |
|
| 1737 |
+ td.visible-sm {
|
|
| 1738 |
+ display: table-cell !important; |
|
| 1739 |
+ } |
|
| 1740 |
+} |
|
| 1741 |
+@media (min-width: 992px) and (max-width: 1199px) {
|
|
| 1742 |
+ .visible-md {
|
|
| 1743 |
+ display: block !important; |
|
| 1744 |
+ } |
|
| 1745 |
+ table.visible-md {
|
|
| 1746 |
+ display: table; |
|
| 1747 |
+ } |
|
| 1748 |
+ tr.visible-md {
|
|
| 1749 |
+ display: table-row !important; |
|
| 1750 |
+ } |
|
| 1751 |
+ th.visible-md, |
|
| 1752 |
+ td.visible-md {
|
|
| 1753 |
+ display: table-cell !important; |
|
| 1754 |
+ } |
|
| 1755 |
+} |
|
| 1756 |
+@media (min-width: 1200px) {
|
|
| 1757 |
+ .visible-lg {
|
|
| 1758 |
+ display: block !important; |
|
| 1759 |
+ } |
|
| 1760 |
+ table.visible-lg {
|
|
| 1761 |
+ display: table; |
|
| 1762 |
+ } |
|
| 1763 |
+ tr.visible-lg {
|
|
| 1764 |
+ display: table-row !important; |
|
| 1765 |
+ } |
|
| 1766 |
+ th.visible-lg, |
|
| 1767 |
+ td.visible-lg {
|
|
| 1768 |
+ display: table-cell !important; |
|
| 1769 |
+ } |
|
| 1770 |
+} |
|
| 1771 |
+@media (max-width: 767px) {
|
|
| 1772 |
+ .hidden-xs {
|
|
| 1773 |
+ display: none !important; |
|
| 1774 |
+ } |
|
| 1775 |
+} |
|
| 1776 |
+@media (min-width: 768px) and (max-width: 991px) {
|
|
| 1777 |
+ .hidden-sm {
|
|
| 1778 |
+ display: none !important; |
|
| 1779 |
+ } |
|
| 1780 |
+} |
|
| 1781 |
+@media (min-width: 992px) and (max-width: 1199px) {
|
|
| 1782 |
+ .hidden-md {
|
|
| 1783 |
+ display: none !important; |
|
| 1784 |
+ } |
|
| 1785 |
+} |
|
| 1786 |
+@media (min-width: 1200px) {
|
|
| 1787 |
+ .hidden-lg {
|
|
| 1788 |
+ display: none !important; |
|
| 1789 |
+ } |
|
| 1790 |
+} |
|
| 1791 |
+.visible-print {
|
|
| 1792 |
+ display: none !important; |
|
| 1793 |
+} |
|
| 1794 |
+@media print {
|
|
| 1795 |
+ .visible-print {
|
|
| 1796 |
+ display: block !important; |
|
| 1797 |
+ } |
|
| 1798 |
+ table.visible-print {
|
|
| 1799 |
+ display: table; |
|
| 1800 |
+ } |
|
| 1801 |
+ tr.visible-print {
|
|
| 1802 |
+ display: table-row !important; |
|
| 1803 |
+ } |
|
| 1804 |
+ th.visible-print, |
|
| 1805 |
+ td.visible-print {
|
|
| 1806 |
+ display: table-cell !important; |
|
| 1807 |
+ } |
|
| 1808 |
+} |
|
| 1809 |
+@media print {
|
|
| 1810 |
+ .hidden-print {
|
|
| 1811 |
+ display: none !important; |
|
| 1812 |
+ } |
|
| 1813 |
+} |
|
| 1814 |
+* {
|
|
| 1815 |
+ -webkit-box-sizing: border-box; |
|
| 1816 |
+ -moz-box-sizing: border-box; |
|
| 1817 |
+ box-sizing: border-box; |
|
| 1818 |
+} |
|
| 1819 |
+*:before, |
|
| 1820 |
+*:after {
|
|
| 1821 |
+ -webkit-box-sizing: border-box; |
|
| 1822 |
+ -moz-box-sizing: border-box; |
|
| 1823 |
+ box-sizing: border-box; |
|
| 1824 |
+} |
|
| 1825 |
+html {
|
|
| 1826 |
+ font-size: 62.5%; |
|
| 1827 |
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); |
|
| 1828 |
+} |
|
| 1829 |
+body {
|
|
| 1830 |
+ font-family: "Open Sans", Helvetica, Arial, sans-serif; |
|
| 1831 |
+ font-size: 12px; |
|
| 1832 |
+ line-height: 1.66666667; |
|
| 1833 |
+ color: #333333; |
|
| 1834 |
+ background-color: #ffffff; |
|
| 1835 |
+} |
|
| 1836 |
+input, |
|
| 1837 |
+button, |
|
| 1838 |
+select, |
|
| 1839 |
+textarea {
|
|
| 1840 |
+ font-family: inherit; |
|
| 1841 |
+ font-size: inherit; |
|
| 1842 |
+ line-height: inherit; |
|
| 1843 |
+} |
|
| 1844 |
+a {
|
|
| 1845 |
+ color: #0099d3; |
|
| 1846 |
+ text-decoration: none; |
|
| 1847 |
+} |
|
| 1848 |
+a:hover, |
|
| 1849 |
+a:focus {
|
|
| 1850 |
+ color: #00618a; |
|
| 1851 |
+ text-decoration: underline; |
|
| 1852 |
+} |
|
| 1853 |
+a:focus {
|
|
| 1854 |
+ outline: thin dotted; |
|
| 1855 |
+ outline: 5px auto -webkit-focus-ring-color; |
|
| 1856 |
+ outline-offset: -2px; |
|
| 1857 |
+} |
|
| 1858 |
+figure {
|
|
| 1859 |
+ margin: 0; |
|
| 1860 |
+} |
|
| 1861 |
+img {
|
|
| 1862 |
+ vertical-align: middle; |
|
| 1863 |
+} |
|
| 1864 |
+.img-responsive {
|
|
| 1865 |
+ display: block; |
|
| 1866 |
+ max-width: 100%; |
|
| 1867 |
+ height: auto; |
|
| 1868 |
+} |
|
| 1869 |
+.img-rounded {
|
|
| 1870 |
+ border-radius: 1px; |
|
| 1871 |
+} |
|
| 1872 |
+.img-thumbnail {
|
|
| 1873 |
+ padding: 4px; |
|
| 1874 |
+ line-height: 1.66666667; |
|
| 1875 |
+ background-color: #ffffff; |
|
| 1876 |
+ border: 1px solid #dddddd; |
|
| 1877 |
+ border-radius: 1px; |
|
| 1878 |
+ -webkit-transition: all 0.2s ease-in-out; |
|
| 1879 |
+ transition: all 0.2s ease-in-out; |
|
| 1880 |
+ display: inline-block; |
|
| 1881 |
+ max-width: 100%; |
|
| 1882 |
+ height: auto; |
|
| 1883 |
+} |
|
| 1884 |
+.img-circle {
|
|
| 1885 |
+ border-radius: 50%; |
|
| 1886 |
+} |
|
| 1887 |
+hr {
|
|
| 1888 |
+ margin-top: 20px; |
|
| 1889 |
+ margin-bottom: 20px; |
|
| 1890 |
+ border: 0; |
|
| 1891 |
+ border-top: 1px solid #eeeeee; |
|
| 1892 |
+} |
|
| 1893 |
+.sr-only {
|
|
| 1894 |
+ position: absolute; |
|
| 1895 |
+ width: 1px; |
|
| 1896 |
+ height: 1px; |
|
| 1897 |
+ margin: -1px; |
|
| 1898 |
+ padding: 0; |
|
| 1899 |
+ overflow: hidden; |
|
| 1900 |
+ clip: rect(0, 0, 0, 0); |
|
| 1901 |
+ border: 0; |
|
| 1902 |
+} |
|
| 1903 |
+.clearfix:before, |
|
| 1904 |
+.clearfix:after, |
|
| 1905 |
+.form-horizontal .form-group:before, |
|
| 1906 |
+.form-horizontal .form-group:after, |
|
| 1907 |
+.container:before, |
|
| 1908 |
+.container:after, |
|
| 1909 |
+.container-fluid:before, |
|
| 1910 |
+.container-fluid:after, |
|
| 1911 |
+.row:before, |
|
| 1912 |
+.row:after {
|
|
| 1913 |
+ content: " "; |
|
| 1914 |
+ display: table; |
|
| 1915 |
+} |
|
| 1916 |
+.clearfix:after, |
|
| 1917 |
+.form-horizontal .form-group:after, |
|
| 1918 |
+.container:after, |
|
| 1919 |
+.container-fluid:after, |
|
| 1920 |
+.row:after {
|
|
| 1921 |
+ clear: both; |
|
| 1922 |
+} |
|
| 1923 |
+.center-block {
|
|
| 1924 |
+ display: block; |
|
| 1925 |
+ margin-left: auto; |
|
| 1926 |
+ margin-right: auto; |
|
| 1927 |
+} |
|
| 1928 |
+.pull-right {
|
|
| 1929 |
+ float: right !important; |
|
| 1930 |
+} |
|
| 1931 |
+.pull-left {
|
|
| 1932 |
+ float: left !important; |
|
| 1933 |
+} |
|
| 1934 |
+.hide {
|
|
| 1935 |
+ display: none !important; |
|
| 1936 |
+} |
|
| 1937 |
+.show {
|
|
| 1938 |
+ display: block !important; |
|
| 1939 |
+} |
|
| 1940 |
+.invisible {
|
|
| 1941 |
+ visibility: hidden; |
|
| 1942 |
+} |
|
| 1943 |
+.text-hide {
|
|
| 1944 |
+ font: 0/0 a; |
|
| 1945 |
+ color: transparent; |
|
| 1946 |
+ text-shadow: none; |
|
| 1947 |
+ background-color: transparent; |
|
| 1948 |
+ border: 0; |
|
| 1949 |
+} |
|
| 1950 |
+.hidden {
|
|
| 1951 |
+ display: none !important; |
|
| 1952 |
+ visibility: hidden !important; |
|
| 1953 |
+} |
|
| 1954 |
+.affix {
|
|
| 1955 |
+ position: fixed; |
|
| 1956 |
+} |
|
| 1957 |
+ |
|
| 1958 |
+ |
|
| 1959 |
+ |
|
| 1960 |
+.alert {
|
|
| 1961 |
+ border-width: 2px; |
|
| 1962 |
+ padding-left: 34px; |
|
| 1963 |
+ position: relative; |
|
| 1964 |
+} |
|
| 1965 |
+.alert .alert-link {
|
|
| 1966 |
+ color: #0099d3; |
|
| 1967 |
+} |
|
| 1968 |
+.alert .alert-link:hover {
|
|
| 1969 |
+ color: #00618a; |
|
| 1970 |
+} |
|
| 1971 |
+.alert > .pficon, |
|
| 1972 |
+.alert > .pficon-layered {
|
|
| 1973 |
+ font-size: 20px; |
|
| 1974 |
+ position: absolute; |
|
| 1975 |
+ left: 7px; |
|
| 1976 |
+ top: 7px; |
|
| 1977 |
+} |
|
| 1978 |
+.alert .pficon-info {
|
|
| 1979 |
+ color: #72767b; |
|
| 1980 |
+} |
|
| 1981 |
+.alert-dismissable .close {
|
|
| 1982 |
+ right: -16px; |
|
| 1983 |
+ top: 1px; |
|
| 1984 |
+} |
|
| 1985 |
+ |
|
| 1986 |
+ |
|
| 1987 |
+.login-pf {
|
|
| 1988 |
+ height: 100%; |
|
| 1989 |
+} |
|
| 1990 |
+.login-pf #brand {
|
|
| 1991 |
+ position: relative; |
|
| 1992 |
+ top: -70px; |
|
| 1993 |
+} |
|
| 1994 |
+.login-pf #brand img {
|
|
| 1995 |
+ display: block; |
|
| 1996 |
+ height: 18px; |
|
| 1997 |
+ margin: 0 auto; |
|
| 1998 |
+ max-width: 100%; |
|
| 1999 |
+} |
|
| 2000 |
+@media (min-width: 768px) {
|
|
| 2001 |
+ .login-pf #brand img {
|
|
| 2002 |
+ margin: 0; |
|
| 2003 |
+ text-align: left; |
|
| 2004 |
+ } |
|
| 2005 |
+} |
|
| 2006 |
+.login-pf #badge {
|
|
| 2007 |
+ display: block; |
|
| 2008 |
+ margin: 20px auto 70px; |
|
| 2009 |
+ position: relative; |
|
| 2010 |
+ text-align: center; |
|
| 2011 |
+} |
|
| 2012 |
+@media (min-width: 768px) {
|
|
| 2013 |
+ .login-pf #badge {
|
|
| 2014 |
+ float: right; |
|
| 2015 |
+ margin-right: 64px; |
|
| 2016 |
+ margin-top: 50px; |
|
| 2017 |
+ } |
|
| 2018 |
+} |
|
| 2019 |
+.login-pf body {
|
|
| 2020 |
+ background: #1a1a1a url("../img/bg-login.png") repeat-x 50% 0;
|
|
| 2021 |
+ background-size: auto; |
|
| 2022 |
+} |
|
| 2023 |
+@media (min-width: 768px) {
|
|
| 2024 |
+ .login-pf body {
|
|
| 2025 |
+ background-size: 100% auto; |
|
| 2026 |
+ } |
|
| 2027 |
+} |
|
| 2028 |
+.login-pf .container {
|
|
| 2029 |
+ background-color: transparent; |
|
| 2030 |
+ clear: right; |
|
| 2031 |
+ color: #fff; |
|
| 2032 |
+ padding-bottom: 40px; |
|
| 2033 |
+ padding-top: 20px; |
|
| 2034 |
+ width: auto; |
|
| 2035 |
+} |
|
| 2036 |
+@media (min-width: 768px) {
|
|
| 2037 |
+ .login-pf .container {
|
|
| 2038 |
+ bottom: 13%; |
|
| 2039 |
+ padding-left: 80px; |
|
| 2040 |
+ position: absolute; |
|
| 2041 |
+ width: 100%; |
|
| 2042 |
+ } |
|
| 2043 |
+} |
|
| 2044 |
+.login-pf .container [class^='alert'] {
|
|
| 2045 |
+ background: transparent; |
|
| 2046 |
+ color: #fff; |
|
| 2047 |
+} |
|
| 2048 |
+.login-pf .container .details p:first-child {
|
|
| 2049 |
+ border-top: 1px solid #474747; |
|
| 2050 |
+ padding-top: 25px; |
|
| 2051 |
+ margin-top: 25px; |
|
| 2052 |
+} |
|
| 2053 |
+@media (min-width: 768px) {
|
|
| 2054 |
+ .login-pf .container .details {
|
|
| 2055 |
+ border-left: 1px solid #474747; |
|
| 2056 |
+ padding-left: 40px; |
|
| 2057 |
+ } |
|
| 2058 |
+ .login-pf .container .details p:first-child {
|
|
| 2059 |
+ border-top: 0; |
|
| 2060 |
+ padding-top: 0; |
|
| 2061 |
+ margin-top: 0; |
|
| 2062 |
+ } |
|
| 2063 |
+} |
|
| 2064 |
+.login-pf .container .details p {
|
|
| 2065 |
+ margin-bottom: 2px; |
|
| 2066 |
+} |
|
| 2067 |
+.login-pf .container .form-horizontal .control-label {
|
|
| 2068 |
+ font-size: 13px; |
|
| 2069 |
+ font-weight: 400; |
|
| 2070 |
+ text-align: left; |
|
| 2071 |
+} |
|
| 2072 |
+.login-pf .container .form-horizontal .form-group:last-child, |
|
| 2073 |
+.login-pf .container .form-horizontal .form-group:last-child .help-block:last-child {
|
|
| 2074 |
+ margin-bottom: 0; |
|
| 2075 |
+} |
|
| 2076 |
+.login-pf .container .help-block {
|
|
| 2077 |
+ color: #fff; |
|
| 2078 |
+} |
|
| 2079 |
+@media (min-width: 768px) {
|
|
| 2080 |
+ .login-pf .container .login {
|
|
| 2081 |
+ padding-right: 40px; |
|
| 2082 |
+ } |
|
| 2083 |
+} |
|
| 2084 |
+.login-pf .container .submit {
|
|
| 2085 |
+ text-align: right; |
|
| 2086 |
+} |
|
| 2087 |
+.ie8.login-pf #badge {
|
|
| 2088 |
+ background: url('../img/logo.png') no-repeat;
|
|
| 2089 |
+ height: 44px; |
|
| 2090 |
+ width: 137px; |
|
| 2091 |
+} |
|
| 2092 |
+.ie8.login-pf #badge img {
|
|
| 2093 |
+ width: 0; |
|
| 2094 |
+} |
|
| 2095 |
+.ie8.login-pf #brand {
|
|
| 2096 |
+ background: url('../img/brand-lg.png') no-repeat center;
|
|
| 2097 |
+ background-size: cover auto; |
|
| 2098 |
+} |
|
| 2099 |
+@media (min-width: 768px) {
|
|
| 2100 |
+ .ie8.login-pf #brand {
|
|
| 2101 |
+ background-position: 0 0; |
|
| 2102 |
+ } |
|
| 2103 |
+} |
|
| 2104 |
+.ie8.login-pf #brand img {
|
|
| 2105 |
+ width: 0; |
|
| 2106 |
+} |
|
| 2107 |
+ |
|
| 2108 |
+ |
|
| 2109 |
+ |
|
| 2110 |
+@font-face {
|
|
| 2111 |
+ font-family: 'PatternFlyIcons-webfont'; |
|
| 2112 |
+ src: url(data:application/font-woff;charset=utf-8;base64,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) format('woff');
|
|
| 2113 |
+ font-weight: normal; |
|
| 2114 |
+ font-style: normal; |
|
| 2115 |
+} |
|
| 2116 |
+[class*="-exclamation"] {
|
|
| 2117 |
+ color: #fff; |
|
| 2118 |
+} |
|
| 2119 |
+[class^="pficon-"], |
|
| 2120 |
+[class*=" pficon-"] {
|
|
| 2121 |
+ display: inline-block; |
|
| 2122 |
+ font-family: 'PatternFlyIcons-webfont'; |
|
| 2123 |
+ font-style: normal; |
|
| 2124 |
+ font-variant: normal; |
|
| 2125 |
+ font-weight: normal; |
|
| 2126 |
+ line-height: 1; |
|
| 2127 |
+ speak: none; |
|
| 2128 |
+ text-transform: none; |
|
| 2129 |
+ |
|
| 2130 |
+ -webkit-font-smoothing: antialiased; |
|
| 2131 |
+ -moz-osx-font-smoothing: grayscale; |
|
| 2132 |
+} |
|
| 2133 |
+.pficon-layered {
|
|
| 2134 |
+ position: relative; |
|
| 2135 |
+} |
|
| 2136 |
+.pficon-layered .pficon:first-child {
|
|
| 2137 |
+ position: absolute; |
|
| 2138 |
+ z-index: 1; |
|
| 2139 |
+} |
|
| 2140 |
+.pficon-layered .pficon:first-child + .pficon {
|
|
| 2141 |
+ position: relative; |
|
| 2142 |
+ z-index: 2; |
|
| 2143 |
+} |
|
| 2144 |
+.pficon-warning-exclamation:before {
|
|
| 2145 |
+ content: "\e60d"; |
|
| 2146 |
+} |
|
| 2147 |
+.pficon-screen:before {
|
|
| 2148 |
+ content: "\e600"; |
|
| 2149 |
+} |
|
| 2150 |
+.pficon-save:before {
|
|
| 2151 |
+ content: "\e601"; |
|
| 2152 |
+} |
|
| 2153 |
+.pficon-ok:before {
|
|
| 2154 |
+ color: #57a81c; |
|
| 2155 |
+ content: "\e602"; |
|
| 2156 |
+} |
|
| 2157 |
+.pficon-messages:before {
|
|
| 2158 |
+ content: "\e603"; |
|
| 2159 |
+} |
|
| 2160 |
+.pficon-info:before {
|
|
| 2161 |
+ content: "\e604"; |
|
| 2162 |
+} |
|
| 2163 |
+.pficon-help:before {
|
|
| 2164 |
+ content: "\e605"; |
|
| 2165 |
+} |
|
| 2166 |
+.pficon-folder-open:before {
|
|
| 2167 |
+ content: "\e606"; |
|
| 2168 |
+} |
|
| 2169 |
+.pficon-folder-close:before {
|
|
| 2170 |
+ content: "\e607"; |
|
| 2171 |
+} |
|
| 2172 |
+.pficon-error-exclamation:before {
|
|
| 2173 |
+ content: "\e608"; |
|
| 2174 |
+} |
|
| 2175 |
+.pficon-error-octagon:before {
|
|
| 2176 |
+ color: #c90813; |
|
| 2177 |
+ content: "\e609"; |
|
| 2178 |
+} |
|
| 2179 |
+.pficon-edit:before {
|
|
| 2180 |
+ content: "\e60a"; |
|
| 2181 |
+} |
|
| 2182 |
+.pficon-close:before {
|
|
| 2183 |
+ content: "\e60b"; |
|
| 2184 |
+} |
|
| 2185 |
+.pficon-warning-triangle:before {
|
|
| 2186 |
+ color: #eb7720; |
|
| 2187 |
+ content: "\e60c"; |
|
| 2188 |
+} |
|
| 2189 |
+.pficon-user:before {
|
|
| 2190 |
+ content: "\e60e"; |
|
| 2191 |
+} |
|
| 2192 |
+.pficon-users:before {
|
|
| 2193 |
+ content: "\e60f"; |
|
| 2194 |
+} |
|
| 2195 |
+.pficon-settings:before {
|
|
| 2196 |
+ content: "\e610"; |
|
| 2197 |
+} |
|
| 2198 |
+.pficon-delete:before {
|
|
| 2199 |
+ content: "\e611"; |
|
| 2200 |
+} |
|
| 2201 |
+.pficon-print:before {
|
|
| 2202 |
+ content: "\e612"; |
|
| 2203 |
+} |
|
| 2204 |
+.pficon-refresh:before {
|
|
| 2205 |
+ content: "\e613"; |
|
| 2206 |
+} |
|
| 2207 |
+.pficon-running:before {
|
|
| 2208 |
+ content: "\e614"; |
|
| 2209 |
+} |
|
| 2210 |
+.pficon-import:before {
|
|
| 2211 |
+ content: "\e615"; |
|
| 2212 |
+} |
|
| 2213 |
+.pficon-export:before {
|
|
| 2214 |
+ content: "\e616"; |
|
| 2215 |
+} |
|
| 2216 |
+.pficon-history:before {
|
|
| 2217 |
+ content: "\e617"; |
|
| 2218 |
+} |
|
| 2219 |
+.pficon-home:before {
|
|
| 2220 |
+ content: "\e618"; |
|
| 2221 |
+} |
|
| 2222 |
+.pficon-remove:before {
|
|
| 2223 |
+ content: "\e619"; |
|
| 2224 |
+} |
|
| 2225 |
+.pficon-add:before {
|
|
| 2226 |
+ content: "\e61a"; |
|
| 2227 |
+} |
|
| 2228 |
+ |
|
| 2229 |
+.login-pf {
|
|
| 2230 |
+ background-color: #1a1a1a; |
|
| 2231 |
+} |
|
| 2232 |
+@media (min-width: 768px) {
|
|
| 2233 |
+ .login-pf {
|
|
| 2234 |
+ background-image: url("../img/bg-login-2.png");
|
|
| 2235 |
+ background-position: 100% 100%; |
|
| 2236 |
+ background-repeat: no-repeat; |
|
| 2237 |
+ background-size: 30%; |
|
| 2238 |
+ } |
|
| 2239 |
+} |
|
| 2240 |
+@media (min-width: 992px) {
|
|
| 2241 |
+ .login-pf {
|
|
| 2242 |
+ background-size: auto; |
|
| 2243 |
+ } |
|
| 2244 |
+} |
|
| 2245 |
+.login-pf #badge {
|
|
| 2246 |
+ margin-bottom: 50px; |
|
| 2247 |
+} |
|
| 2248 |
+.login-pf body {
|
|
| 2249 |
+ background: transparent; |
|
| 2250 |
+} |
|
| 2251 |
+@media (min-width: 768px) {
|
|
| 2252 |
+ .login-pf body {
|
|
| 2253 |
+ background-image: url("../img/bg-login.png");
|
|
| 2254 |
+ background-repeat: no-repeat; |
|
| 2255 |
+ background-size: 30%; |
|
| 2256 |
+ height: 100%; |
|
| 2257 |
+ } |
|
| 2258 |
+} |
|
| 2259 |
+@media (min-width: 992px) {
|
|
| 2260 |
+ .login-pf body {
|
|
| 2261 |
+ background-size: auto; |
|
| 2262 |
+ } |
|
| 2263 |
+} |
|
| 2264 |
+.login-pf #brand {
|
|
| 2265 |
+ top: -30px; |
|
| 2266 |
+} |
|
| 2267 |
+@media (min-width: 768px) {
|
|
| 2268 |
+ .login-pf #brand {
|
|
| 2269 |
+ top: -40px; |
|
| 2270 |
+ } |
|
| 2271 |
+ .login-pf #brand + .alert {
|
|
| 2272 |
+ margin-top: -20px; |
|
| 2273 |
+ } |
|
| 2274 |
+} |
|
| 2275 |
+.login-pf .container {
|
|
| 2276 |
+ padding-top: 0; |
|
| 2277 |
+} |
|
| 2278 |
+@media (min-width: 992px) {
|
|
| 2279 |
+ .login-pf .container {
|
|
| 2280 |
+ bottom: 20%; |
|
| 2281 |
+ padding-right: 120px; |
|
| 2282 |
+ } |
|
| 2283 |
+} |
|
| 2284 |
+@media (max-width: 767px) {
|
|
| 2285 |
+ .login-pf #badge {
|
|
| 2286 |
+ margin-bottom: 20px; |
|
| 2287 |
+ } |
|
| 2288 |
+ .login-pf #brand {
|
|
| 2289 |
+ display: none; |
|
| 2290 |
+ } |
|
| 2291 |
+} |
|
| 2292 |
+@media (min-width: 768px) {
|
|
| 2293 |
+ .login-pf {
|
|
| 2294 |
+ background-image: none; |
|
| 2295 |
+ } |
|
| 2296 |
+ .login-pf body {
|
|
| 2297 |
+ background-image: none; |
|
| 2298 |
+ } |
|
| 2299 |
+} |
|
| 2300 |
+ </style> |
|
| 2301 |
+ </head> |
|
| 2302 |
+ <body> |
|
| 2303 |
+ <span id="badge"> |
|
| 2304 |
+ <img src="data:image/png;base64,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" alt="Project Atomic" /> |
|
| 2305 |
+ </span> |
|
| 2306 |
+ <div class="container"> |
|
| 2307 |
+ <div class="row"> |
|
| 2308 |
+ <div class="col-sm-12"> |
|
| 2309 |
+ <div id="brand"> |
|
| 2310 |
+ <!-- insert brand image here --> |
|
| 2311 |
+ <!-- |
|
| 2312 |
+ <img src="" alt="Atomic Registry"> |
|
| 2313 |
+ --> |
|
| 2314 |
+ </div> |
|
| 2315 |
+ |
|
| 2316 |
+ </div> |
|
| 2317 |
+ <div class="col-sm-7 col-md-6 col-lg-5 login"> |
|
| 2318 |
+ {{ if .Error }}
|
|
| 2319 |
+ <div class="error">{{ .Error }}</div>
|
|
| 2320 |
+ <!-- Error code: {{ .ErrorCode }} -->
|
|
| 2321 |
+ {{ end }}
|
|
| 2322 |
+ |
|
| 2323 |
+ <!-- Identity provider name: {{ .ProviderName }} -->
|
|
| 2324 |
+ <form class="form-horizontal" role="form" action="{{ .Action }}" method="POST">
|
|
| 2325 |
+ <input type="hidden" name="{{ .Names.Then }}" value="{{ .Values.Then }}">
|
|
| 2326 |
+ <input type="hidden" name="{{ .Names.CSRF }}" value="{{ .Values.CSRF }}">
|
|
| 2327 |
+ <div class="form-group"> |
|
| 2328 |
+ <label for="inputUsername" class="col-sm-2 col-md-2 control-label">Username</label> |
|
| 2329 |
+ <div class="col-sm-10 col-md-10"> |
|
| 2330 |
+ <input type="text" class="form-control" id="inputUsername" placeholder="" tabindex="1" autofocus="autofocus" type="text" name="{{ .Names.Username }}" value="{{ .Values.Username }}">
|
|
| 2331 |
+ </div> |
|
| 2332 |
+ </div> |
|
| 2333 |
+ <div class="form-group"> |
|
| 2334 |
+ <label for="inputPassword" class="col-sm-2 col-md-2 control-label">Password</label> |
|
| 2335 |
+ <div class="col-sm-10 col-md-10"> |
|
| 2336 |
+ <input type="password" class="form-control" id="inputPassword" placeholder="" tabindex="2" type="password" name="{{ .Names.Password }}" value="">
|
|
| 2337 |
+ </div> |
|
| 2338 |
+ </div> |
|
| 2339 |
+ <div class="form-group"> |
|
| 2340 |
+ <div class="col-xs-8 col-sm-offset-2 col-sm-6 col-md-offset-2 col-md-6"> |
|
| 2341 |
+ |
|
| 2342 |
+ </div> |
|
| 2343 |
+ <div class="col-xs-4 col-sm-4 col-md-4 submit"> |
|
| 2344 |
+ <button type="submit" class="btn btn-primary btn-lg" tabindex="4">Log In</button> |
|
| 2345 |
+ </div> |
|
| 2346 |
+ </div> |
|
| 2347 |
+ </form> |
|
| 2348 |
+ </div> |
|
| 2349 |
+ <div class="col-sm-5 col-md-6 col-lg-7 details"> |
|
| 2350 |
+ <p><strong>Welcome to Atomic Registry.</strong> |
|
| 2351 |
+ </p> |
|
| 2352 |
+ </div> |
|
| 2353 |
+ </div> |
|
| 2354 |
+ </div> |
|
| 2355 |
+ </body> |
|
| 2356 |
+</html> |
| 0 | 2357 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,152 @@ |
| 0 |
+{
|
|
| 1 |
+ "kind": "Template", |
|
| 2 |
+ "apiVersion": "v1", |
|
| 3 |
+ "metadata": {
|
|
| 4 |
+ "name": "registry-newproject-template-shared", |
|
| 5 |
+ "creationTimestamp": null |
|
| 6 |
+ }, |
|
| 7 |
+ "objects": [ |
|
| 8 |
+ {
|
|
| 9 |
+ "kind": "Project", |
|
| 10 |
+ "apiVersion": "v1", |
|
| 11 |
+ "metadata": {
|
|
| 12 |
+ "name": "${PROJECT_NAME}",
|
|
| 13 |
+ "creationTimestamp": null, |
|
| 14 |
+ "annotations": {
|
|
| 15 |
+ "openshift.io/description": "${PROJECT_DESCRIPTION}",
|
|
| 16 |
+ "openshift.io/display-name": "${PROJECT_DISPLAYNAME}",
|
|
| 17 |
+ "openshift.io/requester": "${PROJECT_REQUESTING_USER}"
|
|
| 18 |
+ } |
|
| 19 |
+ }, |
|
| 20 |
+ "spec": {},
|
|
| 21 |
+ "status": {}
|
|
| 22 |
+ }, |
|
| 23 |
+ {
|
|
| 24 |
+ "apiVersion": "v1", |
|
| 25 |
+ "groupNames": [ |
|
| 26 |
+ "system:authenticated" |
|
| 27 |
+ ], |
|
| 28 |
+ "kind": "RoleBinding", |
|
| 29 |
+ "metadata": {
|
|
| 30 |
+ "creationTimestamp": null, |
|
| 31 |
+ "name": "registry-viewer", |
|
| 32 |
+ "namespace": "${PROJECT_NAME}"
|
|
| 33 |
+ }, |
|
| 34 |
+ "roleRef": {
|
|
| 35 |
+ "name": "registry-viewer" |
|
| 36 |
+ }, |
|
| 37 |
+ "subjects": [ |
|
| 38 |
+ {
|
|
| 39 |
+ "kind": "Group", |
|
| 40 |
+ "name": "system:authenticated" |
|
| 41 |
+ } |
|
| 42 |
+ ], |
|
| 43 |
+ "userNames": null |
|
| 44 |
+ }, |
|
| 45 |
+ {
|
|
| 46 |
+ "kind": "RoleBinding", |
|
| 47 |
+ "apiVersion": "v1", |
|
| 48 |
+ "metadata": {
|
|
| 49 |
+ "name": "registry-admin", |
|
| 50 |
+ "namespace": "${PROJECT_NAME}",
|
|
| 51 |
+ "creationTimestamp": null |
|
| 52 |
+ }, |
|
| 53 |
+ "userNames": [ |
|
| 54 |
+ "${PROJECT_ADMIN_USER}"
|
|
| 55 |
+ ], |
|
| 56 |
+ "groupNames": null, |
|
| 57 |
+ "subjects": [ |
|
| 58 |
+ {
|
|
| 59 |
+ "kind": "User", |
|
| 60 |
+ "name": "${PROJECT_ADMIN_USER}"
|
|
| 61 |
+ } |
|
| 62 |
+ ], |
|
| 63 |
+ "roleRef": {
|
|
| 64 |
+ "name": "registry-admin" |
|
| 65 |
+ } |
|
| 66 |
+ }, |
|
| 67 |
+ {
|
|
| 68 |
+ "kind": "RoleBinding", |
|
| 69 |
+ "apiVersion": "v1", |
|
| 70 |
+ "metadata": {
|
|
| 71 |
+ "name": "system:image-pullers", |
|
| 72 |
+ "namespace": "${PROJECT_NAME}",
|
|
| 73 |
+ "creationTimestamp": null |
|
| 74 |
+ }, |
|
| 75 |
+ "userNames": null, |
|
| 76 |
+ "groupNames": [ |
|
| 77 |
+ "system:serviceaccounts:${PROJECT_NAME}"
|
|
| 78 |
+ ], |
|
| 79 |
+ "subjects": [ |
|
| 80 |
+ {
|
|
| 81 |
+ "kind": "SystemGroup", |
|
| 82 |
+ "name": "system:serviceaccounts:${PROJECT_NAME}"
|
|
| 83 |
+ } |
|
| 84 |
+ ], |
|
| 85 |
+ "roleRef": {
|
|
| 86 |
+ "name": "system:image-puller" |
|
| 87 |
+ } |
|
| 88 |
+ }, |
|
| 89 |
+ {
|
|
| 90 |
+ "kind": "RoleBinding", |
|
| 91 |
+ "apiVersion": "v1", |
|
| 92 |
+ "metadata": {
|
|
| 93 |
+ "name": "system:image-builders", |
|
| 94 |
+ "namespace": "${PROJECT_NAME}",
|
|
| 95 |
+ "creationTimestamp": null |
|
| 96 |
+ }, |
|
| 97 |
+ "userNames": [ |
|
| 98 |
+ "system:serviceaccount:${PROJECT_NAME}:builder"
|
|
| 99 |
+ ], |
|
| 100 |
+ "groupNames": null, |
|
| 101 |
+ "subjects": [ |
|
| 102 |
+ {
|
|
| 103 |
+ "kind": "ServiceAccount", |
|
| 104 |
+ "name": "builder" |
|
| 105 |
+ } |
|
| 106 |
+ ], |
|
| 107 |
+ "roleRef": {
|
|
| 108 |
+ "name": "system:image-builder" |
|
| 109 |
+ } |
|
| 110 |
+ }, |
|
| 111 |
+ {
|
|
| 112 |
+ "kind": "RoleBinding", |
|
| 113 |
+ "apiVersion": "v1", |
|
| 114 |
+ "metadata": {
|
|
| 115 |
+ "name": "system:deployers", |
|
| 116 |
+ "namespace": "${PROJECT_NAME}",
|
|
| 117 |
+ "creationTimestamp": null |
|
| 118 |
+ }, |
|
| 119 |
+ "userNames": [ |
|
| 120 |
+ "system:serviceaccount:${PROJECT_NAME}:deployer"
|
|
| 121 |
+ ], |
|
| 122 |
+ "groupNames": null, |
|
| 123 |
+ "subjects": [ |
|
| 124 |
+ {
|
|
| 125 |
+ "kind": "ServiceAccount", |
|
| 126 |
+ "name": "deployer" |
|
| 127 |
+ } |
|
| 128 |
+ ], |
|
| 129 |
+ "roleRef": {
|
|
| 130 |
+ "name": "system:deployer" |
|
| 131 |
+ } |
|
| 132 |
+ } |
|
| 133 |
+ ], |
|
| 134 |
+ "parameters": [ |
|
| 135 |
+ {
|
|
| 136 |
+ "name": "PROJECT_NAME" |
|
| 137 |
+ }, |
|
| 138 |
+ {
|
|
| 139 |
+ "name": "PROJECT_DISPLAYNAME" |
|
| 140 |
+ }, |
|
| 141 |
+ {
|
|
| 142 |
+ "name": "PROJECT_DESCRIPTION" |
|
| 143 |
+ }, |
|
| 144 |
+ {
|
|
| 145 |
+ "name": "PROJECT_ADMIN_USER" |
|
| 146 |
+ }, |
|
| 147 |
+ {
|
|
| 148 |
+ "name": "PROJECT_REQUESTING_USER" |
|
| 149 |
+ } |
|
| 150 |
+ ] |
|
| 151 |
+} |
| 0 | 152 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,130 @@ |
| 0 |
+{
|
|
| 1 |
+ "kind": "Template", |
|
| 2 |
+ "apiVersion": "v1", |
|
| 3 |
+ "metadata": {
|
|
| 4 |
+ "name": "registry-newproject-template-unshared", |
|
| 5 |
+ "creationTimestamp": null |
|
| 6 |
+ }, |
|
| 7 |
+ "objects": [ |
|
| 8 |
+ {
|
|
| 9 |
+ "kind": "Project", |
|
| 10 |
+ "apiVersion": "v1", |
|
| 11 |
+ "metadata": {
|
|
| 12 |
+ "name": "${PROJECT_NAME}",
|
|
| 13 |
+ "creationTimestamp": null, |
|
| 14 |
+ "annotations": {
|
|
| 15 |
+ "openshift.io/description": "${PROJECT_DESCRIPTION}",
|
|
| 16 |
+ "openshift.io/display-name": "${PROJECT_DISPLAYNAME}",
|
|
| 17 |
+ "openshift.io/requester": "${PROJECT_REQUESTING_USER}"
|
|
| 18 |
+ } |
|
| 19 |
+ }, |
|
| 20 |
+ "spec": {},
|
|
| 21 |
+ "status": {}
|
|
| 22 |
+ }, |
|
| 23 |
+ {
|
|
| 24 |
+ "kind": "RoleBinding", |
|
| 25 |
+ "apiVersion": "v1", |
|
| 26 |
+ "metadata": {
|
|
| 27 |
+ "name": "registry-admin", |
|
| 28 |
+ "namespace": "${PROJECT_NAME}",
|
|
| 29 |
+ "creationTimestamp": null |
|
| 30 |
+ }, |
|
| 31 |
+ "userNames": [ |
|
| 32 |
+ "${PROJECT_ADMIN_USER}"
|
|
| 33 |
+ ], |
|
| 34 |
+ "groupNames": null, |
|
| 35 |
+ "subjects": [ |
|
| 36 |
+ {
|
|
| 37 |
+ "kind": "User", |
|
| 38 |
+ "name": "${PROJECT_ADMIN_USER}"
|
|
| 39 |
+ } |
|
| 40 |
+ ], |
|
| 41 |
+ "roleRef": {
|
|
| 42 |
+ "name": "registry-admin" |
|
| 43 |
+ } |
|
| 44 |
+ }, |
|
| 45 |
+ {
|
|
| 46 |
+ "kind": "RoleBinding", |
|
| 47 |
+ "apiVersion": "v1", |
|
| 48 |
+ "metadata": {
|
|
| 49 |
+ "name": "system:image-pullers", |
|
| 50 |
+ "namespace": "${PROJECT_NAME}",
|
|
| 51 |
+ "creationTimestamp": null |
|
| 52 |
+ }, |
|
| 53 |
+ "userNames": null, |
|
| 54 |
+ "groupNames": [ |
|
| 55 |
+ "system:serviceaccounts:${PROJECT_NAME}"
|
|
| 56 |
+ ], |
|
| 57 |
+ "subjects": [ |
|
| 58 |
+ {
|
|
| 59 |
+ "kind": "SystemGroup", |
|
| 60 |
+ "name": "system:serviceaccounts:${PROJECT_NAME}"
|
|
| 61 |
+ } |
|
| 62 |
+ ], |
|
| 63 |
+ "roleRef": {
|
|
| 64 |
+ "name": "system:image-puller" |
|
| 65 |
+ } |
|
| 66 |
+ }, |
|
| 67 |
+ {
|
|
| 68 |
+ "kind": "RoleBinding", |
|
| 69 |
+ "apiVersion": "v1", |
|
| 70 |
+ "metadata": {
|
|
| 71 |
+ "name": "system:image-builders", |
|
| 72 |
+ "namespace": "${PROJECT_NAME}",
|
|
| 73 |
+ "creationTimestamp": null |
|
| 74 |
+ }, |
|
| 75 |
+ "userNames": [ |
|
| 76 |
+ "system:serviceaccount:${PROJECT_NAME}:builder"
|
|
| 77 |
+ ], |
|
| 78 |
+ "groupNames": null, |
|
| 79 |
+ "subjects": [ |
|
| 80 |
+ {
|
|
| 81 |
+ "kind": "ServiceAccount", |
|
| 82 |
+ "name": "builder" |
|
| 83 |
+ } |
|
| 84 |
+ ], |
|
| 85 |
+ "roleRef": {
|
|
| 86 |
+ "name": "system:image-builder" |
|
| 87 |
+ } |
|
| 88 |
+ }, |
|
| 89 |
+ {
|
|
| 90 |
+ "kind": "RoleBinding", |
|
| 91 |
+ "apiVersion": "v1", |
|
| 92 |
+ "metadata": {
|
|
| 93 |
+ "name": "system:deployers", |
|
| 94 |
+ "namespace": "${PROJECT_NAME}",
|
|
| 95 |
+ "creationTimestamp": null |
|
| 96 |
+ }, |
|
| 97 |
+ "userNames": [ |
|
| 98 |
+ "system:serviceaccount:${PROJECT_NAME}:deployer"
|
|
| 99 |
+ ], |
|
| 100 |
+ "groupNames": null, |
|
| 101 |
+ "subjects": [ |
|
| 102 |
+ {
|
|
| 103 |
+ "kind": "ServiceAccount", |
|
| 104 |
+ "name": "deployer" |
|
| 105 |
+ } |
|
| 106 |
+ ], |
|
| 107 |
+ "roleRef": {
|
|
| 108 |
+ "name": "system:deployer" |
|
| 109 |
+ } |
|
| 110 |
+ } |
|
| 111 |
+ ], |
|
| 112 |
+ "parameters": [ |
|
| 113 |
+ {
|
|
| 114 |
+ "name": "PROJECT_NAME" |
|
| 115 |
+ }, |
|
| 116 |
+ {
|
|
| 117 |
+ "name": "PROJECT_DISPLAYNAME" |
|
| 118 |
+ }, |
|
| 119 |
+ {
|
|
| 120 |
+ "name": "PROJECT_DESCRIPTION" |
|
| 121 |
+ }, |
|
| 122 |
+ {
|
|
| 123 |
+ "name": "PROJECT_ADMIN_USER" |
|
| 124 |
+ }, |
|
| 125 |
+ {
|
|
| 126 |
+ "name": "PROJECT_REQUESTING_USER" |
|
| 127 |
+ } |
|
| 128 |
+ ] |
|
| 129 |
+} |
| 0 | 130 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,89 @@ |
| 0 |
+#!/bin/bash |
|
| 1 |
+ |
|
| 2 |
+# wait_for_url attempts to access a url in order to |
|
| 3 |
+# determine if it is available to service requests. |
|
| 4 |
+# |
|
| 5 |
+# $1 - The URL to check |
|
| 6 |
+# $2 - Optional prefix to use when echoing a successful result |
|
| 7 |
+# $3 - Optional time to sleep between attempts (Default: 0.2s) |
|
| 8 |
+# $4 - Optional number of attemps to make (Default: 10) |
|
| 9 |
+# attribution: openshift/origin hack/util.sh |
|
| 10 |
+function wait_for_url {
|
|
| 11 |
+ url=$1 |
|
| 12 |
+ prefix=${2:-}
|
|
| 13 |
+ wait=${3:-0.5}
|
|
| 14 |
+ times=${4:-40}
|
|
| 15 |
+ |
|
| 16 |
+ set +e |
|
| 17 |
+ cmd="chroot /host curl -kfLs ${url}"
|
|
| 18 |
+ for i in $(seq 1 $times); do |
|
| 19 |
+ out=$(${cmd})
|
|
| 20 |
+ if [ $? -eq 0 ]; then |
|
| 21 |
+ set -e |
|
| 22 |
+ echo "${prefix}${out}"
|
|
| 23 |
+ return 0 |
|
| 24 |
+ fi |
|
| 25 |
+ sleep $wait |
|
| 26 |
+ done |
|
| 27 |
+ echo "ERROR: gave up waiting ${wait} seconds ${times} times for ${url} with command ${cmd}"
|
|
| 28 |
+ set -e |
|
| 29 |
+ return 1 |
|
| 30 |
+} |
|
| 31 |
+ |
|
| 32 |
+INSTALL_HOST=${1:-`hostname`}
|
|
| 33 |
+ |
|
| 34 |
+echo "Running using hostname ${INSTALL_HOST}"
|
|
| 35 |
+ |
|
| 36 |
+chroot /host sudo docker run -d --name "origin" \ |
|
| 37 |
+ --privileged --pid=host --net=host \ |
|
| 38 |
+ -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \ |
|
| 39 |
+ -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys -v /var/lib/docker:/var/lib/docker:rw \ |
|
| 40 |
+ -v /etc/origin/:/etc/origin/ -v /var/lib/origin:/var/lib/origin \ |
|
| 41 |
+ openshift/origin start \ |
|
| 42 |
+ --master-config /etc/origin/master/master-config.yaml \ |
|
| 43 |
+ --node-config=/etc/origin/node/node-config.yaml \ |
|
| 44 |
+ --latest-images=true |
|
| 45 |
+ |
|
| 46 |
+echo "Waiting for services to come up..." |
|
| 47 |
+wait_for_url "https://${INSTALL_HOST}:8443/api"
|
|
| 48 |
+ |
|
| 49 |
+CMD="chroot /host docker exec -it origin" |
|
| 50 |
+echo "Starting registry services..." |
|
| 51 |
+ |
|
| 52 |
+set -x |
|
| 53 |
+ |
|
| 54 |
+$CMD oadm registry --credentials /etc/origin/master/openshift-registry.kubeconfig --latest-images=true |
|
| 55 |
+# we're hacking the service to use a node port to reduce deployment complexity |
|
| 56 |
+$CMD oc patch service docker-registry -p \ |
|
| 57 |
+ '{ "spec": { "type": "NodePort", "selector": {"docker-registry": "default"}, "ports": [ {"nodePort": 5000, "port": 5000, "targetPort": 5000}] }}'
|
|
| 58 |
+ |
|
| 59 |
+set +x |
|
| 60 |
+echo "Starting web UI service..." |
|
| 61 |
+ |
|
| 62 |
+# TODO: use master cert from /etc/origin/registry/master.server.cert |
|
| 63 |
+# create secret volume |
|
| 64 |
+# mounted at /etc/cockpit/ws-certs.d/master.server.cert |
|
| 65 |
+# use secret volume in template |
|
| 66 |
+ |
|
| 67 |
+set -x |
|
| 68 |
+$CMD oc create -f /etc/origin/registry/registry-console-template.yaml |
|
| 69 |
+$CMD oc new-app --template registry-console-template \ |
|
| 70 |
+ -p OPENSHIFT_OAUTH_PROVIDER_URL=https://${INSTALL_HOST}:8443,COCKPIT_KUBE_URL=https://${INSTALL_HOST},REGISTRY_HOST=${INSTALL_HOST}:5000
|
|
| 71 |
+# we're hacking the service to use a node port to reduce deployment complexity |
|
| 72 |
+$CMD oc patch service registry-console -p \ |
|
| 73 |
+ '{ "spec": { "type": "NodePort", "selector": {"name": "registry-console"}, "ports": [ {"nodePort": 443, "port": 9000, "targetPort": 9090}] }}'
|
|
| 74 |
+ |
|
| 75 |
+set +x |
|
| 76 |
+echo "Updating default project configuration" |
|
| 77 |
+set -x |
|
| 78 |
+$CMD oc create -f /etc/origin/registry/registry-newproject-template-shared.json |
|
| 79 |
+$CMD oc create -f /etc/origin/registry/registry-newproject-template-unshared.json |
|
| 80 |
+sed -i 's/ projectRequestTemplate:.*$/ projectRequestTemplate: "default\/registry-newproject-template-shared"/' /etc/origin/master/master-config.yaml |
|
| 81 |
+ |
|
| 82 |
+set +x |
|
| 83 |
+echo "Restarting API server" |
|
| 84 |
+set -x |
|
| 85 |
+chroot /host docker restart origin |
|
| 86 |
+ |
|
| 87 |
+set +x |
|
| 88 |
+echo "Web UI hosted at https://${INSTALL_HOST}"
|
| 0 | 89 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,58 @@ |
| 0 |
+#!/bin/bash |
|
| 1 |
+ |
|
| 2 |
+### |
|
| 3 |
+# basic install and run test for atomic registry quickstart image |
|
| 4 |
+# run with "uninstall" argument to test tear down after test |
|
| 5 |
+### |
|
| 6 |
+ |
|
| 7 |
+set -o errexit |
|
| 8 |
+set -o pipefail |
|
| 9 |
+set -x |
|
| 10 |
+ |
|
| 11 |
+TEST_IMAGE=atomic-registry-quickstart |
|
| 12 |
+ |
|
| 13 |
+# we're going to use this for testing |
|
| 14 |
+# node ports aren't working with boxes default hostname localdomain.localhost |
|
| 15 |
+LOCALHOST=127.0.0.1 |
|
| 16 |
+CMD="docker exec -it origin" |
|
| 17 |
+ |
|
| 18 |
+USER=mary |
|
| 19 |
+PROJ=mary-project |
|
| 20 |
+ |
|
| 21 |
+function test_push() {
|
|
| 22 |
+ # login as $USER and do a basic docker workflow |
|
| 23 |
+ $CMD oc login -u ${USER} -p test
|
|
| 24 |
+ $CMD oc new-project ${PROJ}
|
|
| 25 |
+ TOKEN=$($CMD oc whoami -t) |
|
| 26 |
+ docker login -p ${TOKEN} -u unused -e test@example.com ${LOCALHOST}:5000
|
|
| 27 |
+ docker pull busybox |
|
| 28 |
+ docker tag busybox ${LOCALHOST}:5000/${PROJ}/busybox
|
|
| 29 |
+ docker push ${LOCALHOST}:5000/${PROJ}/busybox
|
|
| 30 |
+ docker rmi busybox ${LOCALHOST}:5000/${PROJ}/busybox
|
|
| 31 |
+ docker logout |
|
| 32 |
+} |
|
| 33 |
+ |
|
| 34 |
+function test_cannot_push() {
|
|
| 35 |
+ # in shared mode... |
|
| 36 |
+ # we pull $USERS's image, tag and try to push |
|
| 37 |
+ # bob shouldn't be able to push |
|
| 38 |
+ $CMD oc login -u bob -p test |
|
| 39 |
+ TOKEN=$($CMD oc whoami -t) |
|
| 40 |
+ docker login -p ${TOKEN} -u unused -e test@example.com ${LOCALHOST}:5000
|
|
| 41 |
+ docker pull ${LOCALHOST}:5000/${PROJ}/busybox
|
|
| 42 |
+ docker tag ${LOCALHOST}:5000/${PROJ}/busybox ${LOCALHOST}:5000/${PROJ}/busybox:evil
|
|
| 43 |
+ if docker push ${LOCALHOST}:5000/${PROJ}/busybox:evil; then
|
|
| 44 |
+ echo "registry-viewer user should not have been able to push to repo" |
|
| 45 |
+ docker logout |
|
| 46 |
+ exit 1 |
|
| 47 |
+ fi |
|
| 48 |
+ docker rmi ${LOCALHOST}:5000/${PROJ}/busybox ${LOCALHOST}:5000/${PROJ}/busybox:evil
|
|
| 49 |
+ docker logout |
|
| 50 |
+} |
|
| 51 |
+ |
|
| 52 |
+# first we need to patch for the vagrant port mapping 443 -> 1443 |
|
| 53 |
+$CMD oc login -u system:admin |
|
| 54 |
+$CMD oc patch oauthclient cockpit-oauth-client -p '{ "redirectURIs": [ "https://'"${LOCALHOST}"':1443" ] }'
|
|
| 55 |
+ |
|
| 56 |
+test_push |
|
| 57 |
+test_cannot_push |
| 0 | 58 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,46 @@ |
| 0 |
+#!/bin/bash |
|
| 1 |
+ |
|
| 2 |
+CMD="chroot /host docker exec -it origin" |
|
| 3 |
+ |
|
| 4 |
+# let's make sure we're logged in as admin/default |
|
| 5 |
+$CMD oc login -u system:admin |
|
| 6 |
+$CMD oc project default |
|
| 7 |
+ |
|
| 8 |
+SERVICES=(docker-registry registry-console) |
|
| 9 |
+for SERVICE in "${SERVICES[@]}"
|
|
| 10 |
+do |
|
| 11 |
+ $CMD oc delete dc,service ${SERVICE} --grace-period=0
|
|
| 12 |
+done |
|
| 13 |
+ |
|
| 14 |
+echo "Waiting for pods to terminate" |
|
| 15 |
+ |
|
| 16 |
+# poll for pods named "k8s", wait for them to die |
|
| 17 |
+until [[ $(chroot /host docker ps -f NAME=k8s --format '{{ .Names }}' | wc -l) == 0 ]]
|
|
| 18 |
+do |
|
| 19 |
+ printf "." |
|
| 20 |
+ sleep 1 |
|
| 21 |
+done |
|
| 22 |
+ |
|
| 23 |
+set -x |
|
| 24 |
+chroot /host docker stop origin |
|
| 25 |
+# remove all the containers that have started since origin |
|
| 26 |
+#docker rm $(docker ps --since=origin -qa) |
|
| 27 |
+# now remove origin |
|
| 28 |
+chroot /host docker rm origin |
|
| 29 |
+ |
|
| 30 |
+chroot /host find /var/lib/origin/volumes -type d -exec umount {} \; 2>/dev/null
|
|
| 31 |
+ |
|
| 32 |
+echo "Removing configuration files..." |
|
| 33 |
+DIRS=(/etc/origin /var/lib/origin) |
|
| 34 |
+for DIR in "${DIRS[@]}"
|
|
| 35 |
+do |
|
| 36 |
+ chroot /host rm -rf ${DIR}
|
|
| 37 |
+done |
|
| 38 |
+ |
|
| 39 |
+set +x |
|
| 40 |
+IMAGES=(openshift/origin openshift/origin-docker-registry cockpit/kubernetes) |
|
| 41 |
+ |
|
| 42 |
+echo "Uninstallation complete." |
|
| 43 |
+echo "Stopped container and images have not been removed. To remove them manually run:" |
|
| 44 |
+echo "'sudo docker rm \$(sudo docker ps -qa)'" |
|
| 45 |
+echo "'sudo docker rmi ${IMAGES[*]}'"
|
| 0 | 46 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,41 @@ |
| 0 |
+#!/bin/bash |
|
| 1 |
+ |
|
| 2 |
+set -o errexit |
|
| 3 |
+set -o pipefail |
|
| 4 |
+ |
|
| 5 |
+IMAGE=atomic-registry-quickstart |
|
| 6 |
+docker build -t $IMAGE ../images/atomic-registry-quickstart/. |
|
| 7 |
+ |
|
| 8 |
+set -x |
|
| 9 |
+ |
|
| 10 |
+function install() {
|
|
| 11 |
+ INSTALL=$(docker inspect -f '{{ .ContainerConfig.Labels.INSTALL }}' $IMAGE)
|
|
| 12 |
+ # We need $IMAGE string replaced with the image we built here |
|
| 13 |
+ ${INSTALL//\$IMAGE/$IMAGE}
|
|
| 14 |
+} |
|
| 15 |
+ |
|
| 16 |
+function run() {
|
|
| 17 |
+ RUN=$(docker inspect -f '{{ .ContainerConfig.Labels.RUN }}' $IMAGE)
|
|
| 18 |
+ ${RUN//\$IMAGE/$IMAGE}
|
|
| 19 |
+} |
|
| 20 |
+ |
|
| 21 |
+function stop() {
|
|
| 22 |
+ STOP=$(docker inspect -f '{{ .ContainerConfig.Labels.STOP }}' $IMAGE)
|
|
| 23 |
+ ${STOP//\$IMAGE/$IMAGE}
|
|
| 24 |
+} |
|
| 25 |
+ |
|
| 26 |
+function uninstall() {
|
|
| 27 |
+ UNINSTALL=$(docker inspect -f '{{ .ContainerConfig.Labels.UNINSTALL }}' $IMAGE)
|
|
| 28 |
+ ${UNINSTALL//\$IMAGE/$IMAGE}
|
|
| 29 |
+} |
|
| 30 |
+ |
|
| 31 |
+if [ ! -z $1 ] ; then |
|
| 32 |
+ $1 |
|
| 33 |
+ exit |
|
| 34 |
+fi |
|
| 35 |
+ |
|
| 36 |
+install |
|
| 37 |
+run |
|
| 38 |
+stop |
|
| 39 |
+uninstall |
|
| 40 |
+ |
| 0 | 41 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,46 @@ |
| 0 |
+FROM openshift/origin |
|
| 1 |
+MAINTAINER Aaron Weitekamp <aweiteka@redhat.com> |
|
| 2 |
+ |
|
| 3 |
+LABEL name="projectatomic/atomic-registry-quickstart" \ |
|
| 4 |
+ vendor="Project Atomic" \ |
|
| 5 |
+ url="https://projectatomic.io/registry" \ |
|
| 6 |
+ summary="Quickstart image for Atomic Registry" \ |
|
| 7 |
+ description="Atomic Registry is an open source enterprise registry solution based on the Origin and Cockpit projects featuring single sign-on (SSO) user experience, a robust web interface and advanced role-based access control (RBAC)." |
|
| 8 |
+ |
|
| 9 |
+ADD install.sh run.sh uninstall.sh stop.sh /container/bin/ |
|
| 10 |
+ADD atomic-openshift-master.service /container/etc/systemd/system/ |
|
| 11 |
+ADD atomic-openshift-master /container/etc/sysconfig/ |
|
| 12 |
+ADD registry-ui-template.json /container/etc/origin/ |
|
| 13 |
+ |
|
| 14 |
+LABEL INSTALL='docker run -it --rm \ |
|
| 15 |
+ --privileged --net=host \ |
|
| 16 |
+ -v /var/run:/var/run:rw \ |
|
| 17 |
+ -v /sys:/sys \ |
|
| 18 |
+ -v /etc/localtime:/etc/localtime:ro \ |
|
| 19 |
+ -v /var/lib/docker:/var/lib/docker:rw \ |
|
| 20 |
+ -v /var/lib/origin/:/var/lib/origin/ \ |
|
| 21 |
+ -v /etc/origin/:/etc/origin/ \ |
|
| 22 |
+ -v /:/host \ |
|
| 23 |
+ -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \ |
|
| 24 |
+ --entrypoint /container/bin/install.sh \ |
|
| 25 |
+ $IMAGE' \ |
|
| 26 |
+ RUN='docker run -it --rm --privileged \ |
|
| 27 |
+ --net=host \ |
|
| 28 |
+ -v /:/host \ |
|
| 29 |
+ -v /var/lib/docker:/var/lib/docker:rw \ |
|
| 30 |
+ -v /etc/origin:/etc/origin \ |
|
| 31 |
+ -v /var/lib/registry:/var/lib/registry \ |
|
| 32 |
+ -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \ |
|
| 33 |
+ --entrypoint /container/bin/run.sh \ |
|
| 34 |
+ $IMAGE' \ |
|
| 35 |
+ STOP='docker run -it --rm --privileged \ |
|
| 36 |
+ --net=host \ |
|
| 37 |
+ -v /:/host \ |
|
| 38 |
+ -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \ |
|
| 39 |
+ --entrypoint /container/bin/stop.sh \ |
|
| 40 |
+ $IMAGE' \ |
|
| 41 |
+ UNINSTALL='docker run -it --rm --privileged \ |
|
| 42 |
+ -v /:/host \ |
|
| 43 |
+ --entrypoint /container/bin/uninstall.sh \ |
|
| 44 |
+ $IMAGE' |
|
| 45 |
+ |
| 0 | 46 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,41 @@ |
| 0 |
+# Getting Started With Atomic Registry |
|
| 1 |
+ |
|
| 2 |
+http://projectatomic.io/registry |
|
| 3 |
+ |
|
| 4 |
+**Requirements** |
|
| 5 |
+ |
|
| 6 |
+- Red Hat-based system (RHEL, Centos, Fedora, including Atomic) |
|
| 7 |
+- Docker |
|
| 8 |
+- atomic cli |
|
| 9 |
+ |
|
| 10 |
+## Install and Run |
|
| 11 |
+ |
|
| 12 |
+1. Install the system service files and pull images. |
|
| 13 |
+ |
|
| 14 |
+ sudo atomic install atomic-registry-quickstart |
|
| 15 |
+1. Optional: edit configuration file `/etc/origin/master/master-config.yaml`. |
|
| 16 |
+1. Run the application. This will enable and start the docker containers as system services. |
|
| 17 |
+ |
|
| 18 |
+ sudo atomic run atomic-registry-quickstart |
|
| 19 |
+ |
|
| 20 |
+## Stopping the application |
|
| 21 |
+ |
|
| 22 |
+`sudo atomic stop atomic-registry-quickstart` |
|
| 23 |
+ |
|
| 24 |
+## Uninstall |
|
| 25 |
+ |
|
| 26 |
+`sudo atomic uninstall atomic-registry-quickstart` |
|
| 27 |
+ |
|
| 28 |
+# Additional Setup steps |
|
| 29 |
+ |
|
| 30 |
+1. [Configure authentication](https://docs.openshift.org/latest/install_config/configuring_authentication.html) |
|
| 31 |
+1. [Configure persistent registry storage](https://docs.openshift.org/latest/install_config/install/docker_registry.html#advanced-overriding-the-registry-configuration) |
|
| 32 |
+1. [Assign a user cluster-admin privilege](https://docs.openshift.org/latest/admin_guide/manage_authorization_policy.html#managing-role-bindings) |
|
| 33 |
+1. Explore the web UI |
|
| 34 |
+1. Create a project and [push an image](https://docs.openshift.org/latest/install_config/install/docker_registry.html#access-logging-in-to-the-registry) |
|
| 35 |
+ |
|
| 36 |
+## Reference Documentation |
|
| 37 |
+ |
|
| 38 |
+https://docs.openshift.org/latest/welcome/index.html |
|
| 39 |
+ |
|
| 40 |
+ |
| 0 | 41 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,9 @@ |
| 0 |
+OPTIONS=--loglevel=2 |
|
| 1 |
+CONFIG_FILE=/etc/origin/master/master-config.yaml |
|
| 2 |
+ |
|
| 3 |
+# Proxy configuration |
|
| 4 |
+# Origin uses standard HTTP_PROXY environment variables. Be sure to set |
|
| 5 |
+# NO_PROXY for your master |
|
| 6 |
+#NO_PROXY=master.example.com |
|
| 7 |
+#HTTP_PROXY=http://USER:PASSWORD@IPADDR:PORT |
|
| 8 |
+#HTTPS_PROXY=https://USER:PASSWORD@IPADDR:PORT |
| 0 | 9 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,18 @@ |
| 0 |
+[Unit] |
|
| 1 |
+Description=Atomic Registry origin master |
|
| 2 |
+Documentation=https://github.com/openshift/origin |
|
| 3 |
+After=docker.service |
|
| 4 |
+Requires=docker.service |
|
| 5 |
+PartOf=docker.service |
|
| 6 |
+ |
|
| 7 |
+[Service] |
|
| 8 |
+EnvironmentFile=/etc/sysconfig/atomic-openshift-master |
|
| 9 |
+# this fails unless it exists. necessary for cleanup? |
|
| 10 |
+ExecStartPre=-/usr/bin/docker rm -f origin-master |
|
| 11 |
+ExecStart=/usr/bin/docker run --restart=no --rm --privileged --net=host --pid=host --name origin-master -v /:/rootfs:ro -v /dev:/dev -v /var/run:/var/run:rw -v /var/lib/kubelet/:/var/lib/kubelet:rw -e CONFIG_FILE=${CONFIG_FILE} -e OPTIONS=${OPTIONS} -e HOST=/rootfs -e HOST_ETC=/host-etc -v /etc/localtime:/etc/localtime:ro -v /etc/machine-id:/etc/machine-id:ro -v /run:/run -v /sys:/sys:ro -v /usr/bin/docker:/usr/bin/docker:ro -v /var/lib/docker:/var/lib/docker -v /lib/modules:/lib/modules -v /etc/origin/openvswitch:/etc/openvswitch -v /etc/origin/sdn:/etc/openshift-sdn -v /etc/systemd/system:/host-etc/systemd/system -v /etc/origin/:/etc/origin/ -v /var/lib/origin:/var/lib/origin -e KUBECONFIG=/etc/origin/master/admin.kubeconfig openshift/origin start --master-config /etc/origin/master/master-config.yaml --node-config=/etc/origin/node/node-config.yaml --latest-images=true
|
|
| 12 |
+ExecStartPost=/usr/bin/sleep 10 |
|
| 13 |
+ExecStop=/usr/bin/docker stop origin-master |
|
| 14 |
+Restart=always |
|
| 15 |
+ |
|
| 16 |
+[Install] |
|
| 17 |
+WantedBy=multi-user.target |
| 0 | 18 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,39 @@ |
| 0 |
+#!/bin/bash |
|
| 1 |
+ |
|
| 2 |
+SERVICES=(atomic-openshift-master) |
|
| 3 |
+for SERVICE in "${SERVICES[@]}"
|
|
| 4 |
+do |
|
| 5 |
+ echo "Installing system service ${SERVICE}..."
|
|
| 6 |
+ cp /container/etc/systemd/system/${SERVICE}.service /host/etc/systemd/system/${SERVICE}.service
|
|
| 7 |
+ cp /container/etc/sysconfig/${SERVICE} /host/etc/sysconfig/${SERVICE}
|
|
| 8 |
+done |
|
| 9 |
+ |
|
| 10 |
+chroot /host systemctl daemon-reload |
|
| 11 |
+ |
|
| 12 |
+IMAGES=(openshift/origin openshift/origin-docker-registry aweiteka/cockpit-registry:0.95) |
|
| 13 |
+ |
|
| 14 |
+for IMAGE in "${IMAGES[@]}"
|
|
| 15 |
+do |
|
| 16 |
+ chroot /host docker pull $IMAGE |
|
| 17 |
+done |
|
| 18 |
+ |
|
| 19 |
+# write out configuration |
|
| 20 |
+openshift start --write-config /etc/origin/ --etcd-dir /var/lib/origin/etcd --volume-dir /var/lib/origin/volumes --public-master `hostname` |
|
| 21 |
+ |
|
| 22 |
+echo "Moving node directory to /etc/origin/node" |
|
| 23 |
+mv /host/etc/origin/node* /host/etc/origin/node |
|
| 24 |
+ |
|
| 25 |
+# Copy install script to host |
|
| 26 |
+mkdir -p /host/etc/origin/registry/bin |
|
| 27 |
+cp /container/bin/* /host/etc/origin/registry/bin/. |
|
| 28 |
+cp /container/etc/origin/registry-ui-template.json /host/etc/origin/registry/registry-ui-template.json |
|
| 29 |
+ |
|
| 30 |
+echo "Creating registry UI service certificates..." |
|
| 31 |
+cat /etc/origin/master/master.server.crt /etc/origin/master/master.server.key > /etc/origin/registry/master.server.cert |
|
| 32 |
+ |
|
| 33 |
+echo "Updating servicesNodePortRange to 443-32767..." |
|
| 34 |
+sed -i 's/ servicesNodePortRange:.*$/ servicesNodePortRange: 443-32767/' /etc/origin/master/master-config.yaml |
|
| 35 |
+ |
|
| 36 |
+echo "Optionally edit configuration file /etc/origin/master/master-config.yaml," |
|
| 37 |
+echo "add certificates to /etc/origin/master," |
|
| 38 |
+echo "then run 'atomic run atomic-registry-quickstart'" |
| 0 | 39 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,137 @@ |
| 0 |
+{
|
|
| 1 |
+ "kind": "Template", |
|
| 2 |
+ "apiVersion": "v1", |
|
| 3 |
+ "metadata": {
|
|
| 4 |
+ "name": "cockpit-openshift-template" |
|
| 5 |
+ }, |
|
| 6 |
+ "labels": {
|
|
| 7 |
+ "createdBy": "cockpit-openshift-template" |
|
| 8 |
+ }, |
|
| 9 |
+ "parameters": [ |
|
| 10 |
+ {
|
|
| 11 |
+ "description": "The public url for the Openshift OAuth Provider", |
|
| 12 |
+ "name": "OPENSHIFT_OAUTH_PROVIDER_URL", |
|
| 13 |
+ "required": true |
|
| 14 |
+ }, |
|
| 15 |
+ {
|
|
| 16 |
+ "description": "The public url for the Openshift OAuth Provider", |
|
| 17 |
+ "name": "COCKPIT_KUBE_URL", |
|
| 18 |
+ "required": true |
|
| 19 |
+ }, |
|
| 20 |
+ {
|
|
| 21 |
+ "description": "The public url for the Openshift OAuth Provider", |
|
| 22 |
+ "name": "COCKPIT_KUBE_INSECURE", |
|
| 23 |
+ "required": false |
|
| 24 |
+ }, |
|
| 25 |
+ {
|
|
| 26 |
+ "description": "Oauth client secret", |
|
| 27 |
+ "name": "OPENSHIFT_OAUTH_CLIENT_SECRET", |
|
| 28 |
+ "from": "user[a-zA-Z0-9]{64}",
|
|
| 29 |
+ "generate": "expression" |
|
| 30 |
+ }, |
|
| 31 |
+ {
|
|
| 32 |
+ "description": "Oauth client id", |
|
| 33 |
+ "name": "OPENSHIFT_OAUTH_CLIENT_ID", |
|
| 34 |
+ "value": "cockpit-oauth-client" |
|
| 35 |
+ }, |
|
| 36 |
+ {
|
|
| 37 |
+ "description": "Skip kubernetes CA verification", |
|
| 38 |
+ "name": "KUBERNETES_INSECURE", |
|
| 39 |
+ "value": "" |
|
| 40 |
+ }, |
|
| 41 |
+ {
|
|
| 42 |
+ "description": "PEM Encoded certificate to use for CA verification", |
|
| 43 |
+ "name": "KUBERNETES_CA_DATA", |
|
| 44 |
+ "value": "" |
|
| 45 |
+ } |
|
| 46 |
+ ], |
|
| 47 |
+ "objects": [ |
|
| 48 |
+ {
|
|
| 49 |
+ "kind":"DeploymentConfig", |
|
| 50 |
+ "apiVersion":"v1", |
|
| 51 |
+ "metadata":{
|
|
| 52 |
+ "name":"cockpit-kube", |
|
| 53 |
+ "labels":{
|
|
| 54 |
+ "name":"cockpit-kube" |
|
| 55 |
+ } |
|
| 56 |
+ }, |
|
| 57 |
+ "spec":{
|
|
| 58 |
+ "replicas":1, |
|
| 59 |
+ "selector":{
|
|
| 60 |
+ "name":"cockpit-kube" |
|
| 61 |
+ }, |
|
| 62 |
+ "template":{
|
|
| 63 |
+ "metadata":{
|
|
| 64 |
+ "labels":{
|
|
| 65 |
+ "name":"cockpit-kube" |
|
| 66 |
+ } |
|
| 67 |
+ }, |
|
| 68 |
+ "spec":{
|
|
| 69 |
+ "containers":[{
|
|
| 70 |
+ "name": "cockpit-kube", |
|
| 71 |
+ "image": "aweiteka/cockpit-registry:0.95", |
|
| 72 |
+ "ports":[{
|
|
| 73 |
+ "containerPort":9090, |
|
| 74 |
+ "protocol":"TCP" |
|
| 75 |
+ }], |
|
| 76 |
+ "env":[ |
|
| 77 |
+ {
|
|
| 78 |
+ "name": "OPENSHIFT_OAUTH_PROVIDER_URL", |
|
| 79 |
+ "value": "${OPENSHIFT_OAUTH_PROVIDER_URL}"
|
|
| 80 |
+ }, |
|
| 81 |
+ {
|
|
| 82 |
+ "name": "OPENSHIFT_OAUTH_CLIENT_ID", |
|
| 83 |
+ "value": "${OPENSHIFT_OAUTH_CLIENT_ID}"
|
|
| 84 |
+ }, |
|
| 85 |
+ {
|
|
| 86 |
+ "name": "KUBERNETES_INSECURE", |
|
| 87 |
+ "value": "${KUBERNETES_INSECURE}"
|
|
| 88 |
+ }, |
|
| 89 |
+ {
|
|
| 90 |
+ "name": "KUBERNETES_CA_DATA", |
|
| 91 |
+ "value": "${KUBERNETES_CA_DATA}"
|
|
| 92 |
+ }, |
|
| 93 |
+ {
|
|
| 94 |
+ "name": "COCKPIT_KUBE_INSECURE", |
|
| 95 |
+ "value": "${COCKPIT_KUBE_INSECURE}"
|
|
| 96 |
+ }] |
|
| 97 |
+ }] |
|
| 98 |
+ } |
|
| 99 |
+ } |
|
| 100 |
+ } |
|
| 101 |
+ }, |
|
| 102 |
+ {
|
|
| 103 |
+ "kind":"Service", |
|
| 104 |
+ "apiVersion":"v1", |
|
| 105 |
+ "metadata":{
|
|
| 106 |
+ "name":"cockpit-kube", |
|
| 107 |
+ "labels":{
|
|
| 108 |
+ "name":"cockpit-kube" |
|
| 109 |
+ } |
|
| 110 |
+ }, |
|
| 111 |
+ "spec":{
|
|
| 112 |
+ "type": "ClusterIP", |
|
| 113 |
+ "ports": [{
|
|
| 114 |
+ "protocol": "TCP", |
|
| 115 |
+ "port": 9000, |
|
| 116 |
+ "targetPort": 9090 |
|
| 117 |
+ }], |
|
| 118 |
+ "selector":{
|
|
| 119 |
+ "name":"cockpit-kube" |
|
| 120 |
+ } |
|
| 121 |
+ } |
|
| 122 |
+ }, |
|
| 123 |
+ {
|
|
| 124 |
+ "kind": "OAuthClient", |
|
| 125 |
+ "apiVersion": "v1", |
|
| 126 |
+ "metadata": {
|
|
| 127 |
+ "name": "${OPENSHIFT_OAUTH_CLIENT_ID}"
|
|
| 128 |
+ }, |
|
| 129 |
+ "respondWithChallenges": false, |
|
| 130 |
+ "secret": "${OPENSHIFT_OAUTH_CLIENT_SECRET}",
|
|
| 131 |
+ "redirectURIs": [ |
|
| 132 |
+ "${COCKPIT_KUBE_URL}"
|
|
| 133 |
+ ] |
|
| 134 |
+ } |
|
| 135 |
+ ] |
|
| 136 |
+} |
| 0 | 137 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,51 @@ |
| 0 |
+#!/bin/bash |
|
| 1 |
+ |
|
| 2 |
+SERVICES=(atomic-openshift-master) |
|
| 3 |
+ |
|
| 4 |
+# enable and start services |
|
| 5 |
+ |
|
| 6 |
+for SERVICE in "${SERVICES[@]}"
|
|
| 7 |
+do |
|
| 8 |
+ echo "Starting service ${SERVICE}..."
|
|
| 9 |
+ chroot /host systemctl enable $SERVICE.service |
|
| 10 |
+ chroot /host systemctl start $SERVICE.service |
|
| 11 |
+done |
|
| 12 |
+ |
|
| 13 |
+# TODO: loop until running... |
|
| 14 |
+echo "Waiting for services to come up..." |
|
| 15 |
+until curl -kLs https://`hostname`:8443/api |
|
| 16 |
+do |
|
| 17 |
+ printf "." |
|
| 18 |
+ sleep 1 |
|
| 19 |
+done |
|
| 20 |
+ |
|
| 21 |
+CMD="chroot /host docker exec -it origin-master" |
|
| 22 |
+# TODO: this needs to be smarter. it will fail on openstack instance with floating IP |
|
| 23 |
+IPADDR=`hostname -I | awk '{print $1}'`
|
|
| 24 |
+echo "Starting registry services..." |
|
| 25 |
+ |
|
| 26 |
+set -x |
|
| 27 |
+ |
|
| 28 |
+$CMD oadm registry --credentials /etc/origin/master/openshift-registry.kubeconfig |
|
| 29 |
+$CMD oc patch service docker-registry -p \ |
|
| 30 |
+ '{ "spec": { "type": "NodePort", "ports": [ {"nodePort": 5000, "port": 5000, "targetPort": 5000}] }}'
|
|
| 31 |
+ |
|
| 32 |
+set +x |
|
| 33 |
+echo "Starting web UI service..." |
|
| 34 |
+HOSTNAME=`hostname` |
|
| 35 |
+ |
|
| 36 |
+# TODO: use master cert from /etc/origin/registry/master.server.cert |
|
| 37 |
+# create secret volume |
|
| 38 |
+# mounted at /etc/cockpit/ws-certs.d/master.server.cert |
|
| 39 |
+# use secret volume in template |
|
| 40 |
+ |
|
| 41 |
+set -x |
|
| 42 |
+$cmd oc create -f /host/etc/origin/registry/registry-ui-template.json |
|
| 43 |
+$cmd oc new-app --template cockpit-openshift-template \ |
|
| 44 |
+ -p OPENSHIFT_OAUTH_PROVIDER_URL=https://${HOSTNAME}:8443,COCKPIT_KUBE_URL=https://${HOSTNAME}
|
|
| 45 |
+$CMD oc patch service cockpit-kube -p \ |
|
| 46 |
+ '{ "spec": { "type": "NodePort", "ports": [ {"nodePort": 443, "port": 9000, "targetPort": 9090}] }}'
|
|
| 47 |
+ |
|
| 48 |
+set +x |
|
| 49 |
+echo "Web UI hosted at https://${HOSTNAME}"
|
|
| 50 |
+ |
| 0 | 51 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,20 @@ |
| 0 |
+#!/bin/bash |
|
| 1 |
+ |
|
| 2 |
+ |
|
| 3 |
+CMD="chroot /host docker exec -it origin-master" |
|
| 4 |
+ |
|
| 5 |
+PODS=(docker-registry cockpit-kube) |
|
| 6 |
+for POD in "${PODS[@]}"
|
|
| 7 |
+do |
|
| 8 |
+ echo "Scaling down ${POD}"
|
|
| 9 |
+ $CMD oc scale dc ${POD} --replicas=0
|
|
| 10 |
+done |
|
| 11 |
+ |
|
| 12 |
+SERVICES=(atomic-openshift-master) |
|
| 13 |
+for SERVICE in "${SERVICES[@]}"
|
|
| 14 |
+do |
|
| 15 |
+ echo "Stopping and disabling system service ${SERVICE}..."
|
|
| 16 |
+ chroot /host systemctl stop $SERVICE.service |
|
| 17 |
+ chroot /host systemctl disable $SERVICE.service |
|
| 18 |
+done |
|
| 19 |
+ |
| 0 | 20 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,24 @@ |
| 0 |
+#!/bin/bash |
|
| 1 |
+ |
|
| 2 |
+SERVICES=(atomic-openshift-master) |
|
| 3 |
+for SERVICE in "${SERVICES[@]}"
|
|
| 4 |
+do |
|
| 5 |
+ echo "uninstalling system service ${SERVICE}..."
|
|
| 6 |
+ chroot /host rm /etc/systemd/system/${SERVICE}.service
|
|
| 7 |
+ chroot /host rm /etc/sysconfig/${SERVICE}
|
|
| 8 |
+done |
|
| 9 |
+ |
|
| 10 |
+echo "Removing configuration files..." |
|
| 11 |
+DIRS=(/etc/origin /var/lib/origin) |
|
| 12 |
+for DIR in "${DIRS[@]}"
|
|
| 13 |
+do |
|
| 14 |
+ chroot /host rm -rf ${DIR}
|
|
| 15 |
+done |
|
| 16 |
+ |
|
| 17 |
+IMAGES=(openshift/origin openshift/origin-docker-registry cockpit/kubernetes) |
|
| 18 |
+#aweiteka/cockpit-registry |
|
| 19 |
+ |
|
| 20 |
+echo "Uninstallation complete." |
|
| 21 |
+echo "Stopped container and images have not been removed. To remove them manually run:" |
|
| 22 |
+echo "'sudo docker rm \$(sudo docker ps -qa)'" |
|
| 23 |
+echo "'sudo docker rmi ${IMAGES[*]}'"
|