diff --git a/Procfile b/Procfile deleted file mode 100644 index 9ba3daa..0000000 --- a/Procfile +++ /dev/null @@ -1,2 +0,0 @@ -webui: python webui.py -worker: celery worker --app=rubick.celery:app diff --git a/README.md b/README.md index b37c6b9..7392e7a 100644 --- a/README.md +++ b/README.md @@ -1,73 +1,32 @@ -Rubick -========================== +# Rubick -Rubick is a tool to analyze OpenStack installation for possible problems. It consists of two processes: -1. Discovery - find all OpenStack components and collect information about them. -2. Analyze - perform various checks of discovered data to ensure consistency and conformance to best practices. +Rubick is a tool to analyze OpenStack installation for possible problems. It is +a library that provides a representation of the OpenStack configuration and +inspection/validation/analysis actions on that representation. -Installation -------------- +## Config representation -### Completely environment in VirtualBox via Vagrant -1. Install vagrant(MacOS, Windows, Ubuntu) - http://downloads.vagrantup.com/tags/v1.3.3 and latest version of Virtualbox -2. ```$ vagrant up && vagrant provision``` -3. After that you can access application on http://host_machine_ip:8008/ -4. For testing purposes of your application you can install latest-devstack installation via vagrant. We strongly recommend you to use this repo: https://github.com/lorin/devstack-vm. There are a lot of choices for devstack installation for Rubick to validate: with or without neutron\swift\security_groups\tempest etc. -5. After that you’ll get full worked environment with Rubick and OpenStack. +The first step to create representation of OpenStack architecture and +configuration is a collection of data from an installation of the platform. +There are several ways to collect those data, including automated discovery from +different sources. The most simple way is to parse pre-populated directory +structure that contain configuration files of OpenStack services from different +nodes in a cluster. -### Manual installation and running +With more complicated discovery engines, it is possible that those files are +collected automatically via SSH based on inspection of process list at every +node listed in hypervisor inventory of OpenStack Compute service, and even more +complicated scenarios. However, that is a scope of specialized discovery service +which Rubick is not at the moment. -For Ubuntu: +The next step is to organize all the colleced data into single data structure, +called OpenStack configration model. This is an object model that includes +physical nodes of the cluster, OpenStack services and their instances, +configuration parameters, etc. See detailed description of the proposed model in +the documentation. -```shell -$ sudo apt-get install git build-essential mongodb-server redis-server python-pip -$ git clone https://github.com/stackforge/rubick && cd rubick -$ sudo pip install -r requirements.txt -$ honcho start -``` - -For CentOS: - -Follow the official documentation to enable EPEL repo in your system: http://fedoraproject.org/wiki/EPEL/FAQ#How_can_I_install_the_packages_from_the_EPEL_software_repository -After that install dependencies and run an application. - -```shell -$ sudo yum install git build-essential mongodb-server redis-server python-pip -$ git clone https://github.com/stackforge/rubick && cd rubick -$ sudo pip install -r requirements.txt -$ honcho start -``` -Note: If you use fuel-pm node as a rubicks destination node, you'll need to return CentOS base repositories in the yum settings. - -Note2: All steps for manual deployment and running the app you can find here: /vagrant/cookbooks/openstack-validator/recipes/default.rb - -Rubick usage -------------- - -Open http://host_machine_ip:8008/ with web-browser, host_machine_ip - address your application is installed. -Add new cluster by pushing the button “Add cluster” and fill the fields: - -1. “Cluster name” - with name of your cluster (e.g. local_devstack ) -2. “Description” - with description (e.g. VBox installation of devstack) -3. “Ip Address“ - with username@host:port (e.g. vagrant@192.168.27.100) -4. “SSH key“ - with ssh-key to access the virual machine (e.g. can be find in the directory ~/.vagrant.d/insecure_private_key for Vagrant nodes) -5. Press “Create” - -After that you can select your cluster to run validations or select the rulest before validation. - -Rubick Command Line usage examples -------------- - -``` -$ python rubick/cli.py -h -$ python rubick/cli.py -l -v http://:8008 -$ python rubick/cli.py -a -n 'New_cluster_name' -d 'New description' -H 'root@10.10.3.1:2022' -k ~/.ssh/id_rsa http://:8008 -``` - -Note: Your public key must be without passphrase. - -Hacking -------- - -To check project on compliance to PEP8 run command use: tox -v. +## Config analysis +Once the OpenStack configuration model is created, it could be used to validate +the correctness of static OpenStack settings, as well as the dynamic state of +OpenStack cluster. diff --git a/discover_test.py b/discover_test.py index c76dec5..dc972e5 100644 --- a/discover_test.py +++ b/discover_test.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and# # limitations under the License. import argparse -from flask import json +import json from itertools import groupby import logging import sys diff --git a/requirements.txt b/requirements.txt index 6332942..cf5c70b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,16 +1,10 @@ spur==0.3.5 -Flask==0.10.1 -Flask-Bootstrap>=3.0.0 -Flask-WTF==0.9.2 WTForms-JSON>=0.2.2 gunicorn==18.0 -celery-with-redis>=3.0 -# Jinja2==2.7.1 honcho==0.4.2 jinja2==2.7 lettuce>=0.2.19 pymongo==2.6.1 -#recordtype==1.1 https://bitbucket.org/jstasiak/recordtype/get/default.tar.gz paramiko==1.11.0 oslo.config==1.2.1 diff --git a/rubick/celery.py b/rubick/celery.py deleted file mode 100644 index d0af802..0000000 --- a/rubick/celery.py +++ /dev/null @@ -1,117 +0,0 @@ -from __future__ import absolute_import -import logging -import os -import traceback - -from celery import Celery -from celery.utils.log import get_task_logger - -from rubick.common import Issue, Inspection -from rubick.database import get_db, ObjectId, Cluster -from rubick.discovery import OpenstackDiscovery -import rubick.inspections -# Silence PEP8 "unused import" -assert rubick.inspections -import rubick.schemas -assert rubick.schemas -from rubick.json import openstack_for_json - -broker_url = os.getenv('CELERY_BROKER_URL', 'redis://localhost:6379/0') -backend_url = os.getenv('CELERY_RESULT_BACKEND', broker_url) - -app = Celery('rubick', broker=broker_url, backend=backend_url) -app.conf.update( - CELERY_TRACK_STARTED=True -) - -logger = get_task_logger(__name__) - - -class InspectionRequest(object): - - def __init__(self, nodes, username, password=None, private_key=None): - super(InspectionRequest, self).__init__() - self.nodes = nodes - self.username = username - self.password = password - self.private_key = private_key - - -class InspectionResult(object): - - def __init__(self, request, value): - super(InspectionResult, self).__init__() - self.request = request - self.value = value - - -@app.task(max_retries=0) -def ostack_discover_task(cluster_id): - db = get_db() - cluster_doc = db['clusters'].find_one({'_id': ObjectId(cluster_id)}) - if not cluster_doc: - logger.error('Cluster with ID=%s was not found' % cluster_id) - return - - cluster = Cluster.from_doc(cluster_doc) - - logger.info('Starting OpenStack discovery for cluster "%s" (id=%s)' % - (cluster.name, cluster.id)) - - discovery = OpenstackDiscovery() - - openstack = None - try: - openstack = discovery.discover(cluster.nodes, - cluster.private_key) - except Exception: - message = traceback.format_exc() - logger.error(message) - - logger.info('Finished OpenStack discovery for cluster "%s" (id=%s)' % - (cluster.name, cluster.id)) - - cluster.data = openstack_for_json(openstack) - - db['clusters'].save(cluster.as_doc()) - - -@app.task(max_retries=0) -def ostack_inspect_task(request): - logger.info('Starting OpenStack inspection') - - discovery = OpenstackDiscovery() - - try: - openstack = discovery.discover(request.nodes, - private_key=request.private_key) - except Exception: - message = traceback.format_exc() - logger.error(message) - return InspectionResult(request, message) - - all_inspections = Inspection.all_inspections() - for inspection in all_inspections: - try: - x = inspection() - x.inspect(openstack) - except Exception: - message = traceback.format_exc() - logger.error(message) - openstack.report_issue( - Issue( - Issue.ERROR, - 'Unexpected error running inspection "%s". See log for ' - 'details' % - inspection.name)) - - logger.info('Finished OpenStack inspection') - - return InspectionResult(request, openstack) - - -if __name__ == '__main__': - logging.basicConfig(level=logging.WARNING) - logging.getLogger('rubick').setLevel(logging.DEBUG) - - app.start() diff --git a/rubick/cli.py b/rubick/cli.py deleted file mode 100644 index 26e1b9a..0000000 --- a/rubick/cli.py +++ /dev/null @@ -1,130 +0,0 @@ -import sys - -# temporary workaround for rubick/json and system json modules -sys.path = sys.path[1:] - -import argparse -import json -import requests - -Api_url = None -Debug = None - - -def arg_parse(): - p = argparse.ArgumentParser(description='Rubick cli interface') - p.add_argument('-l', '--list-cluster', - help='List clusters', default=None, action='store_true') - p.add_argument('-a', '--add-cluster', - help='Add cluster', default=None, action='store_true') - p.add_argument('-v', '--verbose', - help='More verbose', default=None, action='store_true') - p.add_argument('-i', '--id', - help='Specify cluster id', default=None) - - p.add_argument('-n', '--name', - help='Cluster name', default=None) - p.add_argument('-d', '--description', - help='Cluster description', default=None) - - p.add_argument('-H', '--host', - help='Entry point host in cluster', default=None) - - p.add_argument('-k', '--key', - help='Identity key', default=None) - - p.add_argument('api', help='Api url', default=None) - - return p.parse_args() - - -def cli_debug(debug_data): - global Debug - if (Debug): - print "*** " + debug_data - - -def rubick_cluster_show(cluster): - print 'Cluster: %s' % cluster['name'] - print '\tid: %s' % cluster['id'] - print '\tnodes: %s' % len(cluster['nodes']) - print '\tdescription: %s' % cluster['description'] - - -def rubick_request_get(uri): - global Api_url - cli_debug("Get request %s " % (Api_url + uri)) - return requests.get(Api_url + uri) - - -def rubick_request_post(uri, payload_data): - global Api_url - cli_debug("POST request %s " % (Api_url + uri)) - cli_debug("POST data %s " % payload_data) - return requests.post(Api_url + uri, json.dumps(payload_data)) - - -def rubick_cluster_list(cluster_id): - - request_url = "/clusters%s" % ("/" + cluster_id if (cluster_id) else "") - - #r = requests.get(request_url) - r = rubick_request_get(request_url) - - code = 1 - - if (r.status_code == requests.codes.ok): - code = 0 - - if (cluster_id is None): - json_data = json.loads(r.text) - else: - # for single output interface - json_data = [json.loads(r.text)] - - for cluster in json_data: - rubick_cluster_show(cluster) - - return code - - -def rubick_cluster_add(name, description, host, key): - if (not bool(name) or not bool(description) or not(host) or not(key)): - # usage error - return 1 - - try: - with open(key) as f: - keyData = f.read() - except IOError: - return 1 - - request_payload = { - "description": description, - "name": name, - "nodes": host, - "private_key": keyData - } - - r = rubick_request_post("/clusters", request_payload) - print r - - -def main(): - global Api_url, Debug - - args = arg_parse() - - Api_url = args.api - Debug = args.verbose - - if (args.list_cluster): - return rubick_cluster_list(args.id) - - if (args.add_cluster): - return rubick_cluster_add( - args.name, args.description, args.host, args.key) - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/static/css/main.css b/static/css/main.css deleted file mode 100644 index 5bbf2d1..0000000 --- a/static/css/main.css +++ /dev/null @@ -1,96 +0,0 @@ -/******************************* - Global -*******************************/ - -html, -body { - font-size: 15px; - height: 100%; -} - -body { - font-family: "Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; - background: #FFFFFF; - margin: 0px; - padding: 0px; - color: #555555; - text-rendering: optimizeLegibility; - min-width: 320px; -} - -.ui.header { - font-family: 'Source Sans Pro', "Helvetica Neue", "Helvetica", "Arial", sans-serif; -} - -/******************************* - Global -*******************************/ - -/*------------------- - Sidebar ---------------------*/ - -#feed .sidebar { - overflow: visible; -} - -/*------------------- - Grid ---------------------*/ - -#feed .grid { - height: 100%; -} -#feed > .grid > .column { - height: 100%; -} - - -/*------------------- - Inbox ---------------------*/ - -#feed .inbox.tab { - background-color: #FFFFFF; -} -#feed .inbox.tab .item { - padding-top: 1rem; - padding-bottom: 1rem; -} -#feed .inbox.tab .item .rating { - margin-top: 0.2rem; -} -#feed .inbox.tab .item .description { - margin-left: 2em; -} -#feed .page { - float: right; - margin-top: 0.9em; -} - -#feed .middle.column { - padding: 1em 2em; -} -#feed .right.column { - padding: 1em 2em; - background-color: #FFFFFF; -} - - -/******************************* - Responsive -*******************************/ - - -@media only screen and (max-width : 1000px) { - #feed .inbox .date { - float: none; - margin-bottom: 0.5em; - } -} - -@media only screen and (max-width : 1250px) { - #feed .left.column > .menu .item { - font-size: 1rem; - } -} \ No newline at end of file diff --git a/static/data/validate_stub.json b/static/data/validate_stub.json deleted file mode 100644 index 1c57857..0000000 --- a/static/data/validate_stub.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "hosts": [ - { - "addresses": [ - "127.0.0.1", - "169.254.169.254", - "10.1.60.8", - "192.168.122.1" - ], - "components": [ - { - "issues": [ - "[WARNING] Unknown section \"app:admin_service\" (source \"/etc/keystone/keystone.conf\" line 274 column 1)", - "[WARNING] Unknown section \"app:admin_version_service\" (source \"/etc/keystone/keystone.conf\" line 289 column 1)", - "[WARNING] Unknown section \"app:public_service\" (source \"/etc/keystone/keystone.conf\" line 268 column 1)", - "[WARNING] Unknown section \"app:public_version_service\" (source \"/etc/keystone/keystone.conf\" line 286 column 1)", - "[WARNING] Unknown section \"app:service_v3\" (source \"/etc/keystone/keystone.conf\" line 271 column 1)", - "[WARNING] Unknown parameter: section \"catalog\" name \"driver\" (source \"/etc/keystone/keystone.conf\" line 103 column 1)", - "[WARNING] Unknown section \"composite:admin\" (source \"/etc/keystone/keystone.conf\" line 304 column 1)", - "[WARNING] Unknown section \"composite:main\" (source \"/etc/keystone/keystone.conf\" line 298 column 1)", - "[WARNING] Unknown section \"ec2\" (source \"/etc/keystone/keystone.conf\" line 122 column 1)", - "[WARNING] Unknown section \"filter:access_log\" (source \"/etc/keystone/keystone.conf\" line 265 column 1)", - "[WARNING] Unknown section \"filter:admin_token_auth\" (source \"/etc/keystone/keystone.conf\" line 232 column 1)", - "[WARNING] Unknown section \"filter:crud_extension\" (source \"/etc/keystone/keystone.conf\" line 244 column 1)", - "[WARNING] Unknown section \"filter:debug\" (source \"/etc/keystone/keystone.conf\" line 226 column 1)", - "[WARNING] Unknown section \"filter:ec2_extension\" (source \"/etc/keystone/keystone.conf\" line 247 column 1)", - "[WARNING] Unknown section \"filter:json_body\" (source \"/etc/keystone/keystone.conf\" line 238 column 1)", - "[WARNING] Unknown section \"filter:s3_extension\" (source \"/etc/keystone/keystone.conf\" line 250 column 1)", - "[WARNING] Unknown section \"filter:sizelimit\" (source \"/etc/keystone/keystone.conf\" line 256 column 1)", - "[WARNING] Unknown section \"filter:stats_monitoring\" (source \"/etc/keystone/keystone.conf\" line 259 column 1)", - "[WARNING] Unknown section \"filter:stats_reporting\" (source \"/etc/keystone/keystone.conf\" line 262 column 1)", - "[WARNING] Unknown section \"filter:token_auth\" (source \"/etc/keystone/keystone.conf\" line 229 column 1)", - "[WARNING] Unknown section \"filter:url_normalize\" (source \"/etc/keystone/keystone.conf\" line 253 column 1)", - "[WARNING] Unknown section \"filter:user_crud_extension\" (source \"/etc/keystone/keystone.conf\" line 241 column 1)", - "[WARNING] Unknown section \"filter:xml_body\" (source \"/etc/keystone/keystone.conf\" line 235 column 1)", - "[WARNING] Unknown section \"pipeline:admin_api\" (source \"/etc/keystone/keystone.conf\" line 280 column 1)", - "[WARNING] Unknown section \"pipeline:admin_version_api\" (source \"/etc/keystone/keystone.conf\" line 295 column 1)", - "[WARNING] Unknown section \"pipeline:api_v3\" (source \"/etc/keystone/keystone.conf\" line 283 column 1)", - "[WARNING] Unknown section \"pipeline:public_api\" (source \"/etc/keystone/keystone.conf\" line 277 column 1)", - "[WARNING] Unknown section \"pipeline:public_version_api\" (source \"/etc/keystone/keystone.conf\" line 292 column 1)", - "[WARNING] Unknown section \"policy\" (source \"/etc/keystone/keystone.conf\" line 119 column 1)", - "[WARNING] Unknown parameter: section \"token\" name \"driver\" (source \"/etc/keystone/keystone.conf\" line 113 column 1)", - "[WARNING] Unknown section \"trust\" (source \"/etc/keystone/keystone.conf\" line 96 column 1)" - ], - "name": "keystone", - "type": "component" - }, - { - "issues": [ - "[ERROR] Nova should have \"None\" in ['169.254.169.254', '10.1.60.8', '192.168.122.1']", - "[WARNING] Unknown parameter: section \"DEFAULT\" name \"vlan_interface\" (source \"/etc/nova/nova.conf\" line 6 column 1)", - "[WARNING] Unknown parameter: section \"DEFAULT\" name \"sql_connection\" (source \"/etc/nova/nova.conf\" line 31 column 1)", - "[WARNING] Unknown parameter: section \"DEFAULT\" name \"compute_scheduler_driver\" (source \"/etc/nova/nova.conf\" line 40 column 1)" - ], - "name": "nova-api", - "type": "component" - }, - { - "issues": [ - "[ERROR] Nova should have \"None\" in ['169.254.169.254', '10.1.60.8', '192.168.122.1']", - "[WARNING] Unknown parameter: section \"DEFAULT\" name \"vlan_interface\" (source \"/etc/nova/nova.conf\" line 6 column 1)", - "[WARNING] Unknown parameter: section \"DEFAULT\" name \"sql_connection\" (source \"/etc/nova/nova.conf\" line 31 column 1)", - "[WARNING] Unknown parameter: section \"DEFAULT\" name \"compute_scheduler_driver\" (source \"/etc/nova/nova.conf\" line 40 column 1)" - ], - "name": "nova-compute", - "type": "component" - }, - { - "issues": [ - "[ERROR] Nova should have \"None\" in ['169.254.169.254', '10.1.60.8', '192.168.122.1']", - "[WARNING] Unknown parameter: section \"DEFAULT\" name \"vlan_interface\" (source \"/etc/nova/nova.conf\" line 6 column 1)", - "[WARNING] Unknown parameter: section \"DEFAULT\" name \"sql_connection\" (source \"/etc/nova/nova.conf\" line 31 column 1)", - "[WARNING] Unknown parameter: section \"DEFAULT\" name \"compute_scheduler_driver\" (source \"/etc/nova/nova.conf\" line 40 column 1)" - ], - "name": "nova-scheduler", - "type": "component" - }, - { - "name": "glance-api", - "type": "component" - }, - { - "name": "glance-registry", - "type": "component" - }, - { - "issues": [ - "[WARNING] Deprecated parameter: section \"DEFAULT\" name \"sql_connection\". Deprecated in favor of \"[DEFAULT]connection\" parameter (source \"/etc/cinder/cinder.conf\" line 17 column 1)" - ], - "name": "cinder-api", - "type": "component" - }, - { - "issues": [ - "[WARNING] Deprecated parameter: section \"DEFAULT\" name \"sql_connection\". Deprecated in favor of \"[DEFAULT]connection\" parameter (source \"/etc/cinder/cinder.conf\" line 17 column 1)" - ], - "name": "cinder-volume", - "type": "component" - }, - { - "name": "cinder-scheduler", - "type": "component" - }, - { - "name": "mysql", - "type": "component" - }, - { - "name": "rabbitmq", - "type": "component" - } - ], - "name": "ic-14-ubuntu", - "type": "host" - } - ], - "type": "openstack" -} diff --git a/static/index.html b/static/index.html deleted file mode 100644 index 4576879..0000000 --- a/static/index.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - -OpenStack Diagnostics Concept - - - - - - - - - - - - - - - -
- -
-
-

- -
- OpenStack Diagnostics -
- A real-time validator of consistency and correctness of - OpenStack configuration files. -
-
-

- -
- -
-
-
- - - - - - - - - diff --git a/static/js/app.js b/static/js/app.js deleted file mode 100644 index 00696f3..0000000 --- a/static/js/app.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - - -// Declare app level module which depends on filters, and services -angular.module('rubick', [ - 'ngRoute', - 'rubick.filters', - 'rubick.controllers' -]). -config(['$routeProvider', function($routeProvider) { - $routeProvider.when('/', {templateUrl: '/static/partials/main.html', controller: 'ValidateCtrl'}); - $routeProvider.otherwise({redirectTo: '/'}); -}]); diff --git a/static/js/controllers/validate_controller.js b/static/js/controllers/validate_controller.js deleted file mode 100644 index d3258a4..0000000 --- a/static/js/controllers/validate_controller.js +++ /dev/null @@ -1,166 +0,0 @@ - -/* Controllers */ - -angular.module('rubick.controllers', []). - controller('ValidateCtrl', ['$scope', '$http', '$timeout', function($scope, $http, $timeout) { - $scope.currentStep = "cluster"; - $scope.ruleGroup = "valid"; - - $scope.setStep = function(step) { - $scope.currentStep = step; - } - - $scope.setRuleGroup = function(group) { - $scope.ruleGroup = group; - } - - $('.ui.accordion').accordion(); - - $scope.getAddClusterFormErrors = function() { - var errors = [] - var required = $scope.addClusterForm.$error.required; - var pattern = $scope.addClusterForm.$error.pattern; - - if (required) { - _.each(required, function(e) { - switch (e.$name) { - case 'name': - errors.push("Cluster name cannot be empty."); - break; - case 'private_key': - errors.push("SSH Key is missing."); - break; - default: - break; - } - }); - } - - if (pattern) { - errors.push("Invalid IP address."); - } - - return errors; - } - - $scope.getErrorClass = function(fieldName, collection) { - if (collection) { - return _.find(collection, function(e) { - return e.$name == fieldName; - }); - } else { - return false; - } - } - - $scope.showAddClusterModal = function() { - $('#add-cluster-modal').modal('show'); - } - - $scope.fetchClusters = function() { - $http.get('/clusters').success(function(data) { - $scope.clusters = data; - }); - } - - $scope.fetchClusters(); - - $scope.fetchRules = function() { - $http.get('/rules').success(function(data) { - $scope.rules = data; - }); - } - - $scope.fetchRules(); - - - $scope.addCluster = function() { - $http.post('/clusters', $scope.newCluster).success(function() { - $scope.fetchClusters(); - $scope.newCluster = undefined; - $('#add-cluster-modal').modal('hide'); - $scope.$apply(); - }); - } - - $scope.selectedCluster = undefined; - - $scope.selectCluster = function(clusterId) { - $scope.selectedCluster = _.find($scope.clusters, function(c) { - return c.id == clusterId; - }); - - $scope.diagnosticsFinished = false; - } - - $scope.unselectCluster = function() { - if (!$scope.runningValidation) { - $scope.selectedCluster = undefined; - } - } - - - $scope.removeCluster = function(clusterId) { - if (!$scope.runningValidation) { - $('#remove-cluster-confirm-modal').modal('show'); - - $scope.clusterIdToRemove = clusterId; - } - } - - $scope.removeConfirm = function() { - var url = '/clusters/' + $scope.clusterIdToRemove; - $scope.clusterIdToRemove = undefined; - - $http.delete(url).success(function() { - $scope.selectedCluster = undefined; - $scope.fetchClusters(); - $('#remove-cluster-confirm-modal').modal('hide'); - }).error(function() { - $('#remove-cluster-confirm-modal').modal('hide'); - }); - } - - $scope.runValidation = function() { - var postData = { cluster_id: $scope.selectedCluster.id } - $scope.runningValidation = true; - - $http.post('/validation', postData).success(function(job) { - $scope.currentJobId = job.id; - - var poll = function() { - $timeout(function() { - $http.get('/validation/' + $scope.currentJobId).success(function(jobData) { - console.log(jobData); - switch (jobData.state) { - case "success": - $scope.results = jobData.result; - $scope.diagnosticsFinished = true; - $scope.runningValidation = false; - break; - case "failure": - $scope.jobError = jobData.message; - $scope.runningValidation = false; - break; - default: - poll(); - break; - } - }); - }, 2000); - }; - poll(); - - }); - - //$http.get('/static/data/validate_stub.json').success(function(data) { - //$scope.results = data; - //}); - } - - //$scope.componentFilter = false; - - $scope.toggleEmptyComponents = function(component) { - return !$scope.componentFilter || component.issues; - } -}]) diff --git a/static/js/filters.js b/static/js/filters.js deleted file mode 100644 index 8ef99c9..0000000 --- a/static/js/filters.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -/* Filters */ - -angular.module('rubick.filters', []). - filter('colorizeIssue', [function() { - return function(text) { - var error='
Error
'; - return String(text).replace('[ERROR]', error); - } -}]); diff --git a/static/js/main.js b/static/js/main.js deleted file mode 100644 index e69de29..0000000 diff --git a/static/lib/angular.min.js b/static/lib/angular.min.js deleted file mode 100644 index 4ae11c8..0000000 --- a/static/lib/angular.min.js +++ /dev/null @@ -1,163 +0,0 @@ -/* - AngularJS v1.0.8 - (c) 2010-2012 Google, Inc. http://angularjs.org - License: MIT -*/ -(function(P,T,q){'use strict';function m(b,a,c){var d;if(b)if(H(b))for(d in b)d!="prototype"&&d!="length"&&d!="name"&&b.hasOwnProperty(d)&&a.call(c,b[d],d);else if(b.forEach&&b.forEach!==m)b.forEach(a,c);else if(!b||typeof b.length!=="number"?0:typeof b.hasOwnProperty!="function"&&typeof b.constructor!="function"||b instanceof L||aa&&b instanceof aa||ma.call(b)!=="[object Object]"||typeof b.callee==="function")for(d=0;d=0&&b.splice(c,1);return a}function U(b,a){if(pa(b)||b&&b.$evalAsync&&b.$watch)throw Error("Can't copy Window or Scope");if(a){if(b===a)throw Error("Can't copy equivalent objects or arrays");if(E(b))for(var c=a.length=0;c2?ha.call(arguments,2):[];return H(a)&&!(a instanceof RegExp)?c.length?function(){return arguments.length?a.apply(b,c.concat(ha.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}:a}function kc(b,a){var c=a;/^\$+/.test(b)?c=q:pa(a)?c="$WINDOW":a&&T===a?c="$DOCUMENT":a&&a.$evalAsync&& -a.$watch&&(c="$SCOPE");return c}function ba(b,a){return typeof b==="undefined"?q:JSON.stringify(b,kc,a?" ":null)}function qb(b){return B(b)?JSON.parse(b):b}function Wa(b){b&&b.length!==0?(b=y(""+b),b=!(b=="f"||b=="0"||b=="false"||b=="no"||b=="n"||b=="[]")):b=!1;return b}function qa(b){b=w(b).clone();try{b.html("")}catch(a){}var c=w("
").append(b).html();try{return b[0].nodeType===3?y(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+y(b)})}catch(d){return y(c)}}function rb(b){try{return decodeURIComponent(b)}catch(a){}} -function Xa(b){var a={},c,d;m((b||"").split("&"),function(b){b&&(c=b.split("="),d=rb(c[0]),v(d)&&(a[d]=v(c[1])?rb(c[1]):!0))});return a}function sb(b){var a=[];m(b,function(b,d){a.push(Ya(d,!0)+(b===!0?"":"="+Ya(b,!0)))});return a.length?a.join("&"):""}function Za(b){return Ya(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Ya(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,a?"%20":"+")} -function lc(b,a){function c(a){a&&d.push(a)}var d=[b],e,g,h=["ng:app","ng-app","x-ng-app","data-ng-app"],f=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;m(h,function(a){h[a]=!0;c(T.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(m(b.querySelectorAll("."+a),c),m(b.querySelectorAll("."+a+"\\:"),c),m(b.querySelectorAll("["+a+"]"),c))});m(d,function(a){if(!e){var b=f.exec(" "+a.className+" ");b?(e=a,g=(b[2]||"").replace(/\s+/g,",")):m(a.attributes,function(b){if(!e&&h[b.name])e=a,g=b.value})}}); -e&&a(e,g?[g]:[])}function tb(b,a){var c=function(){b=w(b);a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");var c=ub(a);c.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},d=/^NG_DEFER_BOOTSTRAP!/;if(P&&!d.test(P.name))return c();P.name=P.name.replace(d,"");$a.resumeBootstrap=function(b){m(b,function(b){a.push(b)});c()}}function ab(b,a){a=a||"_";return b.replace(mc,function(b, -d){return(d?a:"")+b.toLowerCase()})}function bb(b,a,c){if(!b)throw Error("Argument '"+(a||"?")+"' is "+(c||"required"));return b}function ra(b,a,c){c&&E(b)&&(b=b[b.length-1]);bb(H(b),a,"not a function, got "+(b&&typeof b=="object"?b.constructor.name||"Object":typeof b));return b}function cb(b,a,c){if(!a)return b;for(var a=a.split("."),d,e=b,g=a.length,h=0;h 
"+b;a.removeChild(a.firstChild);eb(this,a.childNodes);this.remove()}else eb(this,b)}function fb(b){return b.cloneNode(!0)}function sa(b){wb(b);for(var a=0,b=b.childNodes|| -[];a-1}function zb(b,a){a&&m(a.split(" "),function(a){b.className=S((" "+b.className+" ").replace(/[\n\t]/g," ").replace(" "+S(a)+" "," "))})}function Ab(b,a){a&&m(a.split(" "),function(a){if(!Ca(b,a))b.className=S(b.className+" "+S(a))})}function eb(b,a){if(a)for(var a=!a.nodeName&&v(a.length)&&!pa(a)?a:[a],c=0;c4096&&c.warn("Cookie '"+ -a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!")}else{if(i.cookie!==Q){Q=i.cookie;d=Q.split("; ");ga={};for(f=0;f0&&(a=unescape(e.substring(0,j)),ga[a]===q&&(ga[a]=unescape(e.substring(j+1))))}return ga}};f.defer=function(a,b){var c;p++;c=l(function(){delete o[c];e(a)},b||0);o[c]=!0;return c};f.defer.cancel=function(a){return o[a]?(delete o[a],n(a),e(s),!0):!1}}function zc(){this.$get=["$window","$log","$sniffer","$document", -function(b,a,c,d){return new xc(b,d,a,c)}]}function Ac(){this.$get=function(){function b(b,d){function e(a){if(a!=l){if(n){if(n==a)n=a.n}else n=a;g(a.n,a.p);g(a,l);l=a;l.n=null}}function g(a,b){if(a!=b){if(a)a.p=b;if(b)b.n=a}}if(b in a)throw Error("cacheId "+b+" taken");var h=0,f=D({},d,{id:b}),i={},j=d&&d.capacity||Number.MAX_VALUE,k={},l=null,n=null;return a[b]={put:function(a,b){var c=k[a]||(k[a]={key:a});e(c);u(b)||(a in i||h++,i[a]=b,h>j&&this.remove(n.key))},get:function(a){var b=k[a];if(b)return e(b), -i[a]},remove:function(a){var b=k[a];if(b){if(b==l)l=b.p;if(b==n)n=b.n;g(b.n,b.p);delete k[a];delete i[a];h--}},removeAll:function(){i={};h=0;k={};l=n=null},destroy:function(){k=f=i=null;delete a[b]},info:function(){return D({},f,{size:h})}}}var a={};b.info=function(){var b={};m(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function Bc(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function Fb(b){var a={},c="Directive",d=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/, -e=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,g="Template must have exactly one root element. was: ",h=/^\s*(https?|ftp|mailto|file):/;this.directive=function i(d,e){B(d)?(bb(e,"directive"),a.hasOwnProperty(d)||(a[d]=[],b.factory(d+c,["$injector","$exceptionHandler",function(b,c){var e=[];m(a[d],function(a){try{var g=b.invoke(a);if(H(g))g={compile:I(g)};else if(!g.compile&&g.link)g.compile=I(g.link);g.priority=g.priority||0;g.name=g.name||d;g.require=g.require||g.controller&&g.name;g.restrict=g.restrict||"A"; -e.push(g)}catch(h){c(h)}});return e}])),a[d].push(e)):m(d,ob(i));return this};this.urlSanitizationWhitelist=function(a){return v(a)?(h=a,this):h};this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document",function(b,j,k,l,n,o,p,z,r){function x(a,b,c){a instanceof w||(a=w(a));m(a,function(b,c){b.nodeType==3&&b.nodeValue.match(/\S+/)&&(a[c]=w(b).wrap("").parent()[0])});var d=A(a,b,a,c);return function(b,c){bb(b,"scope"); -for(var e=c?va.clone.call(a):a,g=0,j=e.length;g=8||i.specified)k=i.name,o=ca(k.toLowerCase()),j[o]=k,c[o]=i=S(V&&k=="href"?decodeURIComponent(a.getAttribute(k,2)):i.value),Cb(a,o)&&(c[o]=!0),R(a,b,i,o),C(b,o,"A",g);a=a.className;if(B(a)&&a!=="")for(;h=e.exec(a);)o=ca(h[2]),C(b,o,"C",g)&&(c[o]=S(h[3])),a=a.substr(h.index+h[0].length);break;case 3:Y(b,a.nodeValue);break;case 8:try{if(h=d.exec(a.nodeValue))o=ca(h[1]),C(b,o,"M",g)&&(c[o]=S(h[2]))}catch(n){}}b.sort(t);return b}function K(a,b,c,d,e){function j(a, -b){if(a)a.require=t.require,n.push(a);if(b)b.require=t.require,r.push(b)}function h(a,b){var c,d="data",e=!1;if(B(a)){for(;(c=a.charAt(0))=="^"||c=="?";)a=a.substr(1),c=="^"&&(d="inheritedData"),e=e||c=="?";c=b[d]("$"+a+"Controller");if(!c&&!e)throw Error("No controller: "+a);}else E(a)&&(c=[],m(a,function(a){c.push(h(a,b))}));return c}function i(a,d,e,g,j){var l,z,t,F,N;l=b===e?c:jc(c,new ia(w(e),c.$attr));z=l.$$element;if(K){var Cc=/^\s*([@=&])\s*(\w*)\s*$/,x=d.$parent||d;m(K.scope,function(a,b){var c= -a.match(Cc)||[],e=c[2]||b,c=c[1],g,j,h;d.$$isolateBindings[b]=c+e;switch(c){case "@":l.$observe(e,function(a){d[b]=a});l.$$observers[e].$$scope=x;break;case "=":j=o(l[e]);h=j.assign||function(){g=d[b]=j(x);throw Error(Gb+l[e]+" (directive: "+K.name+")");};g=d[b]=j(x);d.$watch(function(){var a=j(x);a!==d[b]&&(a!==g?g=d[b]=a:h(x,a=g=d[b]));return a});break;case "&":j=o(l[e]);d[b]=function(a){return j(x,a)};break;default:throw Error("Invalid isolate scope definition for directive "+K.name+": "+a);}})}Y&& -m(Y,function(a){var b={$scope:d,$element:z,$attrs:l,$transclude:j};N=a.controller;N=="@"&&(N=l[a.name]);z.data("$"+a.name+"Controller",p(N,b))});g=0;for(t=n.length;gt.priority)break; -if(u=t.scope)ua("isolated scope",K,t,F),M(u)&&(N(F,"ng-isolate-scope"),K=t),N(F,"ng-scope"),z=z||t;C=t.name;if(u=t.controller)Y=Y||{},ua("'"+C+"' controller",Y[C],t,F),Y[C]=t;if(u=t.transclude)ua("transclusion",ja,t,F),ja=t,l=t.priority,u=="element"?(R=w(b),F=c.$$element=w(T.createComment(" "+C+": "+c[C]+" ")),b=F[0],v(e,w(R[0]),b),da=x(R,d,l)):(R=w(fb(b)).contents(),F.html(""),da=x(R,d));if(u=t.template)if(ua("template",A,t,F),A=t,u=Hb(u),t.replace){R=w("
"+S(u)+"
").contents();b=R[0];if(R.length!= -1||b.nodeType!==1)throw Error(g+u);v(e,F,b);C={$attr:{}};a=a.concat(J(b,a.splice(D+1,a.length-(D+1)),C));ga(c,C);y=a.length}else F.html(u);if(t.templateUrl)ua("template",A,t,F),A=t,i=Q(a.splice(D,a.length-D),i,F,c,e,t.replace,da),y=a.length;else if(t.compile)try{s=t.compile(F,c,da),H(s)?j(null,s):s&&j(s.pre,s.post)}catch(G){k(G,qa(F))}if(t.terminal)i.terminal=!0,l=Math.max(l,t.priority)}i.scope=z&&z.scope;i.transclude=ja&&da;return i}function C(d,e,g,j){var h=!1;if(a.hasOwnProperty(e))for(var o,e= -b.get(e+c),l=0,p=e.length;lo.priority)&&o.restrict.indexOf(g)!=-1)d.push(o),h=!0}catch(n){k(n)}return h}function ga(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;m(a,function(d,e){e.charAt(0)!="$"&&(b[e]&&(d+=(e==="style"?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});m(b,function(b,g){g=="class"?(N(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):g=="style"?e.attr("style",e.attr("style")+";"+b):g.charAt(0)!="$"&&!a.hasOwnProperty(g)&&(a[g]=b,d[g]=c[g])})}function Q(a,b,c,d,e, -j,h){var i=[],k,o,p=c[0],r=a.shift(),z=D({},r,{controller:null,templateUrl:null,transclude:null,scope:null});c.html("");l.get(r.templateUrl,{cache:n}).success(function(l){var n,r,l=Hb(l);if(j){r=w("
"+S(l)+"
").contents();n=r[0];if(r.length!=1||n.nodeType!==1)throw Error(g+l);l={$attr:{}};v(e,c,n);J(n,a,l);ga(d,l)}else n=p,c.html(l);a.unshift(z);k=K(a,n,d,h);for(o=A(c[0].childNodes,h);i.length;){var ia=i.pop(),l=i.pop();r=i.pop();var F=i.pop(),t=n;r!==p&&(t=fb(n),v(l,w(r),t));k(function(){b(o, -F,t,e,ia)},F,t,e,ia)}i=null}).error(function(a,b,c,d){throw Error("Failed to load template: "+d.url);});return function(a,c,d,e,g){i?(i.push(c),i.push(d),i.push(e),i.push(g)):k(function(){b(o,c,d,e,g)},c,d,e,g)}}function t(a,b){return b.priority-a.priority}function ua(a,b,c,d){if(b)throw Error("Multiple directives ["+b.name+", "+c.name+"] asking for "+a+" on: "+qa(d));}function Y(a,b){var c=j(b,!0);c&&a.push({priority:0,compile:I(function(a,b){var d=b.parent(),e=d.data("$binding")||[];e.push(c);N(d.data("$binding", -e),"ng-binding");a.$watch(c,function(a){b[0].nodeValue=a})})})}function R(a,b,c,d){var e=j(c,!0);e&&b.push({priority:100,compile:I(function(a,b,c){b=c.$$observers||(c.$$observers={});d==="class"&&(e=j(c[d],!0));c[d]=q;(b[d]||(b[d]=[])).$$inter=!0;(c.$$observers&&c.$$observers[d].$$scope||a).$watch(e,function(a){c.$set(d,a)})})})}function v(a,b,c){var d=b[0],e=d.parentNode,g,j;if(a){g=0;for(j=a.length;g0){var e=Q[0],f=e.text;if(f==a||f==b||f==c||f==d||!a&&!b&&!c&&!d)return e}return!1}function f(b,c,d,f){return(b=h(b,c,d,f))?(a&&!b.json&&e("is not valid json",b),Q.shift(),b):!1}function i(a){f(a)||e("is unexpected, expecting ["+ -a+"]",h())}function j(a,b){return function(c,d){return a(c,d,b)}}function k(a,b,c){return function(d,e){return b(d,e,a,c)}}function l(){for(var a=[];;)if(Q.length>0&&!h("}",")",";","]")&&a.push(v()),!f(";"))return a.length==1?a[0]:function(b,c){for(var d,e=0;e","<=",">="))a=k(a,b.fn,r());return a}function x(){for(var a=m(),b;b=f("*","/","%");)a=k(a,b.fn,m());return a}function m(){var a;return f("+")?A():(a=f("-"))?k(C,a.fn,m()):(a=f("!"))?j(a.fn,m()):A()}function A(){var a; -if(f("("))a=v(),i(")");else if(f("["))a=J();else if(f("{"))a=K();else{var b=f();(a=b.fn)||e("not a primary expression",b)}for(var c;b=f("(","[",".");)b.text==="("?(a=w(a,c),c=null):b.text==="["?(c=a,a=R(a)):b.text==="."?(c=a,a=Y(a)):e("IMPOSSIBLE");return a}function J(){var a=[];if(g().text!="]"){do a.push(t());while(f(","))}i("]");return function(b,c){for(var d=[],e=0;e1;d++){var e=a.shift(),g=b[e];g||(g={},b[e]=g);b=g}return b[a.shift()]=c}function Pb(b,a,c,d,e){return function(g,h){var f=h&&h.hasOwnProperty(b)?h:g,i;if(f===null||f===q)return f;if((f=f[b])&&f.then){if(!("$$v"in f))i=f,i.$$v=q,i.then(function(a){i.$$v=a});f=f.$$v}if(!a||f===null||f=== -q)return f;if((f=f[a])&&f.then){if(!("$$v"in f))i=f,i.$$v=q,i.then(function(a){i.$$v=a});f=f.$$v}if(!c||f===null||f===q)return f;if((f=f[c])&&f.then){if(!("$$v"in f))i=f,i.$$v=q,i.then(function(a){i.$$v=a});f=f.$$v}if(!d||f===null||f===q)return f;if((f=f[d])&&f.then){if(!("$$v"in f))i=f,i.$$v=q,i.then(function(a){i.$$v=a});f=f.$$v}if(!e||f===null||f===q)return f;if((f=f[e])&&f.then){if(!("$$v"in f))i=f,i.$$v=q,i.then(function(a){i.$$v=a});f=f.$$v}return f}}function Nb(b,a){if(jb.hasOwnProperty(b))return jb[b]; -var c=b.split("."),d=c.length,e;if(a)e=d<6?Pb(c[0],c[1],c[2],c[3],c[4]):function(a,b){var e=0,g;do g=Pb(c[e++],c[e++],c[e++],c[e++],c[e++])(a,b),b=q,a=g;while(e7),hasEvent:function(c){if(c=="input"&&V==9)return!1;if(u(a[c])){var e= -b.document.createElement("div");a[c]="on"+c in e}return a[c]},csp:!1}}]}function Yc(){this.$get=I(P)}function Qb(b){var a={},c,d,e;if(!b)return a;m(b.split("\n"),function(b){e=b.indexOf(":");c=y(S(b.substr(0,e)));d=S(b.substr(e+1));c&&(a[c]?a[c]+=", "+d:a[c]=d)});return a}function Rb(b){var a=M(b)?b:q;return function(c){a||(a=Qb(b));return c?a[y(c)]||null:a}}function Sb(b,a,c){if(H(c))return c(b,a);m(c,function(c){b=c(b,a)});return b}function Zc(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/, -d=this.defaults={transformResponse:[function(d){B(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=qb(d,!0)));return d}],transformRequest:[function(a){return M(a)&&ma.apply(a)!=="[object File]"?ba(a):a}],headers:{common:{Accept:"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest"},post:{"Content-Type":"application/json;charset=utf-8"},put:{"Content-Type":"application/json;charset=utf-8"}}},e=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope", -"$q","$injector",function(a,b,c,i,j,k){function l(a){function c(a){var b=D({},a,{data:Sb(a.data,a.headers,f)});return 200<=a.status&&a.status<300?b:j.reject(b)}a.method=la(a.method);var e=a.transformRequest||d.transformRequest,f=a.transformResponse||d.transformResponse,g=D({},a.headers),i=D({"X-XSRF-TOKEN":b.cookies()["XSRF-TOKEN"]},d.headers.common,d.headers[y(a.method)]),k,l,o,p;a:for(k in i){l=y(k);for(o in a.headers)if(y(o)===l)continue a;g[k]=i[k]}if(u(a.data))for(var q in g)if(y(q)==="content-type"){delete g[q]; -break}e=Sb(a.data,Rb(g),e);p=n(a,e,g);p=p.then(c,c);m(z,function(a){p=a(p)});p.success=function(b){p.then(function(c){b(c.data,c.status,c.headers,a)});return p};p.error=function(b){p.then(null,function(c){b(c.data,c.status,c.headers,a)});return p};return p}function n(b,c,d){function e(a,b,c){m&&(200<=a&&a<300?m.put(q,[a,b,Qb(c)]):m.remove(q));f(b,a,c);i.$apply()}function f(a,c,d){c=Math.max(c,0);(200<=c&&c<300?k.resolve:k.reject)({data:a,status:c,headers:Rb(d),config:b})}function h(){var a=za(l.pendingRequests, -b);a!==-1&&l.pendingRequests.splice(a,1)}var k=j.defer(),n=k.promise,m,t,q=o(b.url,b.params);l.pendingRequests.push(b);n.then(h,h);b.cache&&b.method=="GET"&&(m=M(b.cache)?b.cache:p);if(m)if(t=m.get(q))if(t.then)return t.then(h,h),t;else E(t)?f(t[1],t[0],U(t[2])):f(t,200,{});else m.put(q,n);t||a(b.method,q,c,e,d,b.timeout,b.withCredentials);return n}function o(a,b){if(!b)return a;var c=[];hc(b,function(a,b){a==null||a==q||(M(a)&&(a=ba(a)),c.push(encodeURIComponent(b)+"="+encodeURIComponent(a)))}); -return a+(a.indexOf("?")==-1?"?":"&")+c.join("&")}var p=c("$http"),z=[];m(e,function(a){z.push(B(a)?k.get(a):k.invoke(a))});l.pendingRequests=[];(function(a){m(arguments,function(a){l[a]=function(b,c){return l(D(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){m(arguments,function(a){l[a]=function(b,c,d){return l(D(d||{},{method:a,url:b,data:c}))}})})("post","put");l.defaults=d;return l}]}function $c(){this.$get=["$browser","$window","$document",function(b,a,c){return ad(b, -bd,b.defer,a.angular.callbacks,c[0],a.location.protocol.replace(":",""))}]}function ad(b,a,c,d,e,g){function h(a,b){var c=e.createElement("script"),d=function(){e.body.removeChild(c);b&&b()};c.type="text/javascript";c.src=a;V?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=d;e.body.appendChild(c)}return function(e,i,j,k,l,n,o){function p(a,c,d,e){c=(i.match(Jb)||["",g])[1]=="file"?d?200:404:c;a(c==1223?204:c,d,e);b.$$completeOutstandingRequest(s)}b.$$incOutstandingRequestCount(); -i=i||b.url();if(y(e)=="jsonp"){var q="_"+(d.counter++).toString(36);d[q]=function(a){d[q].data=a};h(i.replace("JSON_CALLBACK","angular.callbacks."+q),function(){d[q].data?p(k,200,d[q].data):p(k,-2);delete d[q]})}else{var r=new a;r.open(e,i,!0);m(l,function(a,b){a&&r.setRequestHeader(b,a)});var x;r.onreadystatechange=function(){if(r.readyState==4){var a=r.getAllResponseHeaders(),b=["Cache-Control","Content-Language","Content-Type","Expires","Last-Modified","Pragma"];a||(a="",m(b,function(b){var c= -r.getResponseHeader(b);c&&(a+=b+": "+c+"\n")}));p(k,x||r.status,r.responseText,a)}};if(o)r.withCredentials=!0;r.send(j||"");n>0&&c(function(){x=-1;r.abort()},n)}}}function cd(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","), -SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return b===1?"one":"other"}}}}function dd(){this.$get=["$rootScope","$browser","$q", -"$exceptionHandler",function(b,a,c,d){function e(e,f,i){var j=c.defer(),k=j.promise,l=v(i)&&!i,f=a.defer(function(){try{j.resolve(e())}catch(a){j.reject(a),d(a)}finally{delete g[k.$$timeoutId]}l||b.$apply()},f);k.$$timeoutId=f;g[f]=j;return k}var g={};e.cancel=function(b){return b&&b.$$timeoutId in g?(g[b.$$timeoutId].reject("canceled"),delete g[b.$$timeoutId],a.defer.cancel(b.$$timeoutId)):!1};return e}]}function Tb(b){function a(a,e){return b.factory(a+c,e)}var c="Filter";this.register=a;this.$get= -["$injector",function(a){return function(b){return a.get(b+c)}}];a("currency",Ub);a("date",Vb);a("filter",ed);a("json",fd);a("limitTo",gd);a("lowercase",hd);a("number",Wb);a("orderBy",Xb);a("uppercase",id)}function ed(){return function(b,a){if(!E(b))return b;var c=[];c.check=function(a){for(var b=0;b --1;case "object":for(var c in a)if(c.charAt(0)!=="$"&&d(a[c],b))return!0;return!1;case "array":for(c=0;ce+1?h="0":(f=h,j=!0)}if(j)e>0&&b>-1&&b<1&&(f=b.toFixed(e));else{h=(h.split(Zb)[1]||"").length;u(e)&&(e=Math.min(Math.max(a.minFrac,h),a.maxFrac));var h=Math.pow(10,e),b=Math.round(b*h)/h,b=(""+b).split(Zb),h=b[0],b=b[1]||"",j=0,k=a.lgSize,l=a.gSize;if(h.length>=k+l)for(var j=h.length-k,n=0;n0||e>-c)e+=c;e===0&&c==-12&&(e=12);return kb(e,a,d)}}function Ka(b,a){return function(c,d){var e=c["get"+b](),g=la(a?"SHORT"+b:b);return d[g][e]}}function Vb(b){function a(a){var b;if(b=a.match(c)){var a=new Date(0),g=0,h=0;b[9]&&(g=G(b[9]+b[10]),h=G(b[9]+ -b[11]));a.setUTCFullYear(G(b[1]),G(b[2])-1,G(b[3]));a.setUTCHours(G(b[4]||0)-g,G(b[5]||0)-h,G(b[6]||0),G(b[7]||0))}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e){var g="",h=[],f,i,e=e||"mediumDate",e=b.DATETIME_FORMATS[e]||e;B(c)&&(c=jd.test(c)?G(c):a(c));Ra(c)&&(c=new Date(c));if(!oa(c))return c;for(;e;)(i=kd.exec(e))?(h=h.concat(ha.call(i,1)),e=h.pop()):(h.push(e),e=null);m(h,function(a){f=ld[a];g+=f?f(c, -b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function fd(){return function(b){return ba(b,!0)}}function gd(){return function(b,a){if(!(b instanceof Array))return b;var a=G(a),c=[],d,e;if(!b||!(b instanceof Array))return c;a>b.length?a=b.length:a<-b.length&&(a=-b.length);a>0?(d=0,e=a):(d=b.length+a,e=b.length);for(;dn?(d.$setValidity("maxlength", -!1),q):(d.$setValidity("maxlength",!0),a)};d.$parsers.push(c);d.$formatters.push(c)}}function lb(b,a){b="ngClass"+b;return W(function(c,d,e){function g(b){if(a===!0||c.$index%2===a)i&&!ea(b,i)&&h(i),f(b);i=U(b)}function h(a){M(a)&&!E(a)&&(a=Ta(a,function(a,b){if(a)return b}));d.removeClass(E(a)?a.join(" "):a)}function f(a){M(a)&&!E(a)&&(a=Ta(a,function(a,b){if(a)return b}));a&&d.addClass(E(a)?a.join(" "):a)}var i=q;c.$watch(e[b],g,!0);e.$observe("class",function(){var a=c.$eval(e[b]);g(a,a)});b!== -"ngClass"&&c.$watch("$index",function(d,g){var i=d&1;i!==g&1&&(i===a?f(c.$eval(e[b])):h(c.$eval(e[b])))})})}var y=function(b){return B(b)?b.toLowerCase():b},la=function(b){return B(b)?b.toUpperCase():b},V=G((/msie (\d+)/.exec(y(navigator.userAgent))||[])[1]),w,aa,ha=[].slice,Qa=[].push,ma=Object.prototype.toString,$a=P.angular||(P.angular={}),ta,Ga,Z=["0","0","0"];s.$inject=[];na.$inject=[];var S=function(){return!String.prototype.trim?function(b){return B(b)?b.replace(/^\s*/,"").replace(/\s*$/,""): -b}:function(b){return B(b)?b.trim():b}}();Ga=V<9?function(b){b=b.nodeName?b:b[0];return b.scopeName&&b.scopeName!="HTML"?la(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var mc=/[A-Z]/g,md={full:"1.0.8",major:1,minor:0,dot:8,codeName:"bubble-burst"},Ba=L.cache={},Aa=L.expando="ng-"+(new Date).getTime(),qc=1,bc=P.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},gb=P.document.removeEventListener? -function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)},oc=/([\:\-\_]+(.))/g,pc=/^moz([A-Z])/,va=L.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;this.bind("DOMContentLoaded",a);L(P).bind("load",a)},toString:function(){var b=[];m(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return b>=0?w(this[b]):w(this[this.length+b])},length:0,push:Qa,sort:[].sort,splice:[].splice},Ea={};m("multiple,selected,checked,disabled,readOnly,required".split(","), -function(b){Ea[y(b)]=b});var Db={};m("input,select,option,textarea,button,form".split(","),function(b){Db[la(b)]=!0});m({data:yb,inheritedData:Da,scope:function(b){return Da(b,"$scope")},controller:Bb,injector:function(b){return Da(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Ca,css:function(b,a,c){a=vb(a);if(v(c))b.style[a]=c;else{var d;V<=8&&(d=b.currentStyle&&b.currentStyle[a],d===""&&(d="auto"));d=d||b.style[a];V<=8&&(d=d===""?q:d);return d}},attr:function(b,a,c){var d= -y(a);if(Ea[d])if(v(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||s).specified?d:q;else if(v(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),b===null?q:b},prop:function(b,a,c){if(v(c))b[a]=c;else return b[a]},text:D(V<9?function(b,a){if(b.nodeType==1){if(u(a))return b.innerText;b.innerText=a}else{if(u(a))return b.nodeValue;b.nodeValue=a}}:function(b,a){if(u(a))return b.textContent;b.textContent=a},{$dv:""}), -val:function(b,a){if(u(a)){if(Ga(b)==="SELECT"&&b.multiple){var c=[];m(b.options,function(a){a.selected&&c.push(a.value||a.text)});return c.length===0?null:c}return b.value}b.value=a},html:function(b,a){if(u(a))return b.innerHTML;for(var c=0,d=b.childNodes;c":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Pc={n:"\n",f:"\u000c",r:"\r",t:"\t",v:"\u000b","'":"'",'"':'"'},jb={},bd=P.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw Error("This browser does not support XMLHttpRequest."); -};Tb.$inject=["$provide"];Ub.$inject=["$locale"];Wb.$inject=["$locale"];var Zb=".",ld={yyyy:O("FullYear",4),yy:O("FullYear",2,0,!0),y:O("FullYear",1),MMMM:Ka("Month"),MMM:Ka("Month",!0),MM:O("Month",2,1),M:O("Month",1,1),dd:O("Date",2),d:O("Date",1),HH:O("Hours",2),H:O("Hours",1),hh:O("Hours",2,-12),h:O("Hours",1,-12),mm:O("Minutes",2),m:O("Minutes",1),ss:O("Seconds",2),s:O("Seconds",1),EEEE:Ka("Day"),EEE:Ka("Day",!0),a:function(a,c){return a.getHours()<12?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){var a= --1*a.getTimezoneOffset(),c=a>=0?"+":"";c+=kb(Math[a>0?"floor":"ceil"](a/60),2)+kb(Math.abs(a%60),2);return c}},kd=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,jd=/^\d+$/;Vb.$inject=["$locale"];var hd=I(y),id=I(la);Xb.$inject=["$parse"];var nd=I({restrict:"E",compile:function(a,c){V<=8&&(!c.href&&!c.name&&c.$set("href",""),a.append(T.createComment("IE fix")));return function(a,c){c.bind("click",function(a){c.attr("href")||a.preventDefault()})}}}),mb={};m(Ea,function(a, -c){var d=ca("ng-"+c);mb[d]=function(){return{priority:100,compile:function(){return function(a,g,h){a.$watch(h[d],function(a){h.$set(c,!!a)})}}}}});m(["src","href"],function(a){var c=ca("ng-"+a);mb[c]=function(){return{priority:99,link:function(d,e,g){g.$observe(c,function(c){c&&(g.$set(a,c),V&&e.prop(a,g[a]))})}}}});var Na={$addControl:s,$removeControl:s,$setValidity:s,$setDirty:s};$b.$inject=["$element","$attrs","$scope"];var Qa=function(a){return["$timeout",function(c){var d={name:"form",restrict:"E", -controller:$b,compile:function(){return{pre:function(a,d,h,f){if(!h.action){var i=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};bc(d[0],"submit",i);d.bind("$destroy",function(){c(function(){gb(d[0],"submit",i)},0,!1)})}var j=d.parent().controller("form"),k=h.name||h.ngForm;k&&(a[k]=f);j&&d.bind("$destroy",function(){j.$removeControl(f);k&&(a[k]=q);D(f,Na)})}}}};return a?D(U(d),{restrict:"EAC"}):d}]},od=Qa(),pd=Qa(!0),qd=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/, -rd=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/,sd=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,dc={text:Pa,number:function(a,c,d,e,g,h){Pa(a,c,d,e,g,h);e.$parsers.push(function(a){var c=X(a);return c||sd.test(a)?(e.$setValidity("number",!0),a===""?null:c?a:parseFloat(a)):(e.$setValidity("number",!1),q)});e.$formatters.push(function(a){return X(a)?"":""+a});if(d.min){var f=parseFloat(d.min),a=function(a){return!X(a)&&ai?(e.$setValidity("max",!1),q):(e.$setValidity("max",!0),a)};e.$parsers.push(d);e.$formatters.push(d)}e.$formatters.push(function(a){return X(a)||Ra(a)?(e.$setValidity("number",!0),a):(e.$setValidity("number",!1),q)})},url:function(a,c,d,e,g,h){Pa(a,c,d,e,g,h);a=function(a){return X(a)||qd.test(a)?(e.$setValidity("url",!0),a):(e.$setValidity("url",!1),q)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a, -c,d,e,g,h){Pa(a,c,d,e,g,h);a=function(a){return X(a)||rd.test(a)?(e.$setValidity("email",!0),a):(e.$setValidity("email",!1),q)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){u(d.name)&&c.attr("name",xa());c.bind("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var g=d.ngTrueValue,h=d.ngFalseValue;B(g)||(g=!0);B(h)||(h=!1);c.bind("click", -function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$formatters.push(function(a){return a===g});e.$parsers.push(function(a){return a?g:h})},hidden:s,button:s,submit:s,reset:s},ec=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",link:function(d,e,g,h){h&&(dc[y(g.type)]||dc.text)(d,e,g,h,c,a)}}}],Ma="ng-valid",La="ng-invalid",Oa="ng-pristine",ac="ng-dirty",td=["$scope","$exceptionHandler","$attrs","$element","$parse", -function(a,c,d,e,g){function h(a,c){c=c?"-"+ab(c,"-"):"";e.removeClass((a?La:Ma)+c).addClass((a?Ma:La)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$name=d.name;var f=g(d.ngModel),i=f.assign;if(!i)throw Error(Gb+d.ngModel+" ("+qa(e)+")");this.$render=s;var j=e.inheritedData("$formController")||Na,k=0,l=this.$error={};e.addClass(Oa);h(!0);this.$setValidity=function(a, -c){if(l[a]!==!c){if(c){if(l[a]&&k--,!k)h(!0),this.$valid=!0,this.$invalid=!1}else h(!1),this.$invalid=!0,this.$valid=!1,k++;l[a]=!c;h(c,a);j.$setValidity(a,c,this)}};this.$setViewValue=function(d){this.$viewValue=d;if(this.$pristine)this.$dirty=!0,this.$pristine=!1,e.removeClass(Oa).addClass(ac),j.$setDirty();m(this.$parsers,function(a){d=a(d)});if(this.$modelValue!==d)this.$modelValue=d,i(a,d),m(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}})};var n=this;a.$watch(function(){var c= -f(a);if(n.$modelValue!==c){var d=n.$formatters,e=d.length;for(n.$modelValue=c;e--;)c=d[e](c);if(n.$viewValue!==c)n.$viewValue=c,n.$render()}})}],ud=function(){return{require:["ngModel","^?form"],controller:td,link:function(a,c,d,e){var g=e[0],h=e[1]||Na;h.$addControl(g);c.bind("$destroy",function(){h.$removeControl(g)})}}},vd=I({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),fc=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required= -!0;var g=function(a){if(d.required&&(X(a)||a===!1))e.$setValidity("required",!1);else return e.$setValidity("required",!0),a};e.$formatters.push(g);e.$parsers.unshift(g);d.$observe("required",function(){g(e.$viewValue)})}}}},wd=function(){return{require:"ngModel",link:function(a,c,d,e){var g=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",";e.$parsers.push(function(a){var c=[];a&&m(a.split(g),function(a){a&&c.push(S(a))});return c});e.$formatters.push(function(a){return E(a)?a.join(", "): -q})}}},xd=/^(true|false|\d+)$/,yd=function(){return{priority:100,compile:function(a,c){return xd.test(c.ngValue)?function(a,c,g){g.$set("value",a.$eval(g.ngValue))}:function(a,c,g){a.$watch(g.ngValue,function(a){g.$set("value",a)})}}}},zd=W(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind);a.$watch(d.ngBind,function(a){c.text(a==q?"":a)})}),Ad=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate", -function(a){d.text(a)})}}],Bd=[function(){return function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBindHtmlUnsafe);a.$watch(d.ngBindHtmlUnsafe,function(a){c.html(a||"")})}}],Cd=lb("",!0),Dd=lb("Odd",0),Ed=lb("Even",1),Fd=W({compile:function(a,c){c.$set("ngCloak",q);a.removeClass("ng-cloak")}}),Gd=[function(){return{scope:!0,controller:"@"}}],Hd=["$sniffer",function(a){return{priority:1E3,compile:function(){a.csp=!0}}}],gc={};m("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave submit".split(" "), -function(a){var c=ca("ng-"+a);gc[c]=["$parse",function(d){return function(e,g,h){var f=d(h[c]);g.bind(y(a),function(a){e.$apply(function(){f(e,{$event:a})})})}}]});var Id=["$http","$templateCache","$anchorScroll","$compile",function(a,c,d,e){return{restrict:"ECA",terminal:!0,compile:function(g,h){var f=h.ngInclude||h.src,i=h.onload||"",j=h.autoscroll;return function(g,h){var n=0,o,p=function(){o&&(o.$destroy(),o=null);h.html("")};g.$watch(f,function(f){var m=++n;f?a.get(f,{cache:c}).success(function(a){m=== -n&&(o&&o.$destroy(),o=g.$new(),h.html(a),e(h.contents())(o),v(j)&&(!j||g.$eval(j))&&d(),o.$emit("$includeContentLoaded"),g.$eval(i))}).error(function(){m===n&&p()}):p()})}}}}],Jd=W({compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Kd=W({terminal:!0,priority:1E3}),Ld=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,g,h){var f=h.count,i=g.attr(h.$attr.when),j=h.offset||0,k=e.$eval(i),l={},n=c.startSymbol(),o=c.endSymbol();m(k,function(a,e){l[e]= -c(a.replace(d,n+f+"-"+j+o))});e.$watch(function(){var c=parseFloat(e.$eval(f));return isNaN(c)?"":(c in k||(c=a.pluralCat(c-j)),l[c](e,g,!0))},function(a){g.text(a)})}}}],Md=W({transclude:"element",priority:1E3,terminal:!0,compile:function(a,c,d){return function(a,c,h){var f=h.ngRepeat,h=f.match(/^\s*(.+)\s+in\s+(.*)\s*$/),i,j,k;if(!h)throw Error("Expected ngRepeat in form of '_item_ in _collection_' but got '"+f+"'.");f=h[1];i=h[2];h=f.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!h)throw Error("'item' in 'item in collection' should be identifier or (key, value) but got '"+ -f+"'.");j=h[3]||h[1];k=h[2];var l=new hb;a.$watch(function(a){var e,f,h=a.$eval(i),m=c,q=new hb,u,A,w,v,C,s;if(E(h))C=h||[];else{C=[];for(w in h)h.hasOwnProperty(w)&&w.charAt(0)!="$"&&C.push(w);C.sort()}u=C.length-1;e=0;for(f=C.length;ez;)v.pop().element.remove()}for(;w.length>y;)w.pop()[0].element.remove()}var i;if(!(i=s.match(d)))throw Error("Expected ngOptions in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '"+s+"'.");var j=c(i[2]||i[1]),k=i[4]|| -i[6],l=i[5],m=c(i[3]||""),n=c(i[2]?i[1]:k),o=c(i[7]),w=[[{element:f,label:""}]];r&&(a(r)(e),r.removeClass("ng-scope"),r.remove());f.html("");f.bind("change",function(){e.$apply(function(){var a,c=o(e)||[],d={},h,i,j,m,r,s;if(p){i=[];m=0;for(s=w.length;m@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak{display:none !important;}ng\\:form{display:block;}'); diff --git a/static/lib/angular/angular-route.min.js b/static/lib/angular/angular-route.min.js deleted file mode 100644 index deb4c41..0000000 --- a/static/lib/angular/angular-route.min.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - AngularJS v1.2.0-rc.3 - (c) 2010-2012 Google, Inc. http://angularjs.org - License: MIT -*/ -(function(u,c,A){'use strict';function w(c,s,g,b,d){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(l,m,y){return function(p,l,m){function k(){h&&(h.$destroy(),h=null);q&&(d.leave(q),q=null)}function x(){var a=c.current&&c.current.locals,e=a&&a.$template;if(e){var r=p.$new();y(r,function(v){k();v.html(e);d.enter(v,null,l);var f=g(v.contents()),n=c.current;h=n.scope=r;q=v;if(n.controller){a.$scope=h;var p=b(n.controller,a);n.controllerAs&&(h[n.controllerAs]=p); -v.data("$ngControllerController",p);v.children().data("$ngControllerController",p)}f(h);h.$emit("$viewContentLoaded");h.$eval(t);s()})}else k()}var h,q,t=m.onload||"";p.$on("$routeChangeSuccess",x);x()}}}}u=c.module("ngRoute",["ng"]).provider("$route",function(){function u(b,d){return c.extend(new (c.extend(function(){},{prototype:b})),d)}function s(b,c){var l=c.caseInsensitiveMatch,m={originalPath:b,regexp:b},g=m.keys=[];b=b.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?|\*])?/g,function(b, -c,d,k){b="?"===k?k:null;k="*"===k?k:null;g.push({name:d,optional:!!b});c=c||"";return""+(b?"":c)+"(?:"+(b?c:"")+(k&&"(.+?)"||"([^/]+)")+(b||"")+")"+(b||"")}).replace(/([\/$\*])/g,"\\$1");m.regexp=RegExp("^"+b+"$",l?"i":"");return m}var g={};this.when=function(b,d){g[b]=c.extend({reloadOnSearch:!0},d,b&&s(b,d));if(b){var l="/"==b[b.length-1]?b.substr(0,b.length-1):b+"/";g[l]=c.extend({redirectTo:b},s(l,d))}return this};this.otherwise=function(b){this.when(null,b);return this};this.$get=["$rootScope", -"$location","$routeParams","$q","$injector","$http","$templateCache","$sce",function(b,d,l,m,s,p,w,z){function k(){var a=x(),e=t.current;if(a&&e&&a.$$route===e.$$route&&c.equals(a.pathParams,e.pathParams)&&!a.reloadOnSearch&&!q)e.params=a.params,c.copy(e.params,l),b.$broadcast("$routeUpdate",e);else if(a||e)q=!1,b.$broadcast("$routeChangeStart",a,e),(t.current=a)&&a.redirectTo&&(c.isString(a.redirectTo)?d.path(h(a.redirectTo,a.params)).search(a.params).replace():d.url(a.redirectTo(a.pathParams,d.path(), -d.search())).replace()),m.when(a).then(function(){if(a){var b=c.extend({},a.resolve),e,f;c.forEach(b,function(a,e){b[e]=c.isString(a)?s.get(a):s.invoke(a)});c.isDefined(e=a.template)?c.isFunction(e)&&(e=e(a.params)):c.isDefined(f=a.templateUrl)&&(c.isFunction(f)&&(f=f(a.params)),f=z.getTrustedResourceUrl(f),c.isDefined(f)&&(a.loadedTemplateUrl=f,e=p.get(f,{cache:w}).then(function(a){return a.data})));c.isDefined(e)&&(b.$template=e);return m.all(b)}}).then(function(d){a==t.current&&(a&&(a.locals=d, -c.copy(a.params,l)),b.$broadcast("$routeChangeSuccess",a,e))},function(c){a==t.current&&b.$broadcast("$routeChangeError",a,e,c)})}function x(){var a,b;c.forEach(g,function(r,k){var f;if(f=!b){var n=d.path();f=r.keys;var h={};if(r.regexp)if(n=r.regexp.exec(n)){for(var g=1,l=n.length;g").append(b).html();try{return 3===b[0].nodeType?B(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+B(b)})}catch(d){return B(c)}}function Pb(b){try{return decodeURIComponent(b)}catch(a){}}function Qb(b){var a={},c,d;p((b||"").split("&"),function(b){b&&(c=b.split("="),d=Pb(c[0]), -w(d)&&(b=w(c[1])?Pb(c[1]):!0,a[d]?H(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Rb(b){var a=[];p(b,function(b,d){H(b)?p(b,function(b){a.push(va(d,!0)+(!0===b?"":"="+va(b,!0)))}):a.push(va(d,!0)+(!0===b?"":"="+va(b,!0)))});return a.length?a.join("&"):""}function qb(b){return va(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function va(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g, -a?"%20":"+")}function Mc(b,a){function c(a){a&&d.push(a)}var d=[b],e,f,g=["ng:app","ng-app","x-ng-app","data-ng-app"],h=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;p(g,function(a){g[a]=!0;c(R.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(p(b.querySelectorAll("."+a),c),p(b.querySelectorAll("."+a+"\\:"),c),p(b.querySelectorAll("["+a+"]"),c))});p(d,function(a){if(!e){var b=h.exec(" "+a.className+" ");b?(e=a,f=(b[2]||"").replace(/\s+/g,",")):p(a.attributes,function(b){!e&&g[b.name]&&(e=a,f=b.value)})}}); -e&&a(e,f?[f]:[])}function Sb(b,a){var c=function(){b=x(b);if(b.injector()){var c=b[0]===R?"document":ga(b);throw Ja("btstrpd",c);}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");c=Tb(a);c.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(a,b,c,d,e){a.$apply(function(){b.data("$injector",d);c(b)(a)});e.enabled(!0)}]);return c},d=/^NG_DEFER_BOOTSTRAP!/;if(Y&&!d.test(Y.name))return c();Y.name=Y.name.replace(d,"");Za.resumeBootstrap= -function(b){p(b,function(b){a.push(b)});c()}}function $a(b,a){a=a||"_";return b.replace(Nc,function(b,d){return(d?a:"")+b.toLowerCase()})}function rb(b,a,c){if(!b)throw Ja("areq",a||"?",c||"required");return b}function La(b,a,c){c&&H(b)&&(b=b[b.length-1]);rb(E(b),a,"not a function, got "+(b&&"object"==typeof b?b.constructor.name||"Object":typeof b));return b}function pa(b,a){if("hasOwnProperty"===b)throw Ja("badname",a);}function sb(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g= -0;g "+b;a.removeChild(a.firstChild);vb(this,a.childNodes);x(R.createDocumentFragment()).append(this)}else vb(this,b)}function wb(b){return b.cloneNode(!0)}function Na(b){Ub(b);var a=0;for(b=b.childNodes||[];a=Q?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};c.elem=b;return c}function Ca(b){var a=typeof b,c;"object"==a&&null!==b?"function"==typeof(c=b.$$hashKey)?c=b.$$hashKey():c===s&&(c=b.$$hashKey=Va()):c=b;return a+":"+c}function Pa(b){p(b, -this.put,this)}function $b(b){var a,c;"function"==typeof b?(a=b.$inject)||(a=[],b.length&&(c=b.toString().replace(Tc,""),c=c.match(Uc),p(c[1].split(Vc),function(b){b.replace(Wc,function(b,c,d){a.push(d)})})),b.$inject=a):H(b)?(c=b.length-1,La(b[c],"fn"),a=b.slice(0,c)):La(b,"fn",!0);return a}function Tb(b){function a(a){return function(b,c){if(S(b))p(b,Mb(a));else return a(b,c)}}function c(a,b){pa(a,"service");if(E(b)||H(b))b=r.instantiate(b);if(!b.$get)throw Qa("pget",a);return l[a+h]=b}function d(a, -b){return c(a,{$get:b})}function e(a){var b=[];p(a,function(a){if(!k.get(a)){k.put(a,!0);try{if(F(a)){var c=Ra(a);b=b.concat(e(c.requires)).concat(c._runBlocks);for(var d=c._invokeQueue,c=0,f=d.length;c 4096 bytes)!"));else{if(m.cookie!==da)for(da=m.cookie,d=da.split("; "),N={},f=0;fk&&this.remove(q.key), -b},get:function(a){var b=l[a];if(b)return e(b),m[a]},remove:function(a){var b=l[a];b&&(b==r&&(r=b.p),b==q&&(q=b.n),f(b.n,b.p),delete l[a],delete m[a],g--)},removeAll:function(){m={};g=0;l={};r=q=null},destroy:function(){l=h=m=null;delete a[b]},info:function(){return G({},h,{size:g})}}}var a={};b.info=function(){var b={};p(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function ad(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function bc(b){var a= -{},c="Directive",d=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,e=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,f=/^\s*(https?|ftp|mailto|tel|file):/,g=/^\s*(https?|ftp|file):|data:image\//,h=/^(on[a-z]+|formaction)$/;this.directive=function k(d,e){pa(d,"directive");F(d)?(rb(e,"directiveFactory"),a.hasOwnProperty(d)||(a[d]=[],b.factory(d+c,["$injector","$exceptionHandler",function(b,c){var e=[];p(a[d],function(a,f){try{var k=b.invoke(a);E(k)?k={compile:aa(k)}:!k.compile&&k.link&&(k.compile=aa(k.link));k.priority= -k.priority||0;k.index=f;k.name=k.name||d;k.require=k.require||k.controller&&k.name;k.restrict=k.restrict||"A";e.push(k)}catch(g){c(g)}});return e}])),a[d].push(e)):p(d,Mb(k));return this};this.aHrefSanitizationWhitelist=function(a){return w(a)?(f=a,this):f};this.imgSrcSanitizationWhitelist=function(a){return w(a)?(g=a,this):g};this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate",function(b,l,r,q,n,y,A, -C,u,U,M){function t(a,b,c,d,e){a instanceof x||(a=x(a));p(a,function(b,c){3==b.nodeType&&b.nodeValue.match(/\S+/)&&(a[c]=x(b).wrap("").parent()[0])});var f=ca(a,b,a,c,d,e);return function(b,c){rb(b,"scope");for(var d=c?Sa.clone.call(a):a,e=0,k=d.length;eI.priority)break;if(w=I.scope)ca=ca||I,I.templateUrl||(P("new/isolated scope",u,I,L),S(w)&&(T(L,"ng-isolate-scope"),u=I),T(L,"ng-scope"));Z=I.name;!I.templateUrl&&I.controller&&(w=I.controller,v=v||{},P("'"+Z+"' controller",v[Z],I,L),v[Z]=I);if(w=I.transclude)"ngRepeat"!==Z&&(P("transclusion",g,I,L),g=I),"element"==w?(C=I.priority,w=da(b,G,D),L=c.$$element=x(R.createComment(" "+Z+": "+c[Z]+" ")),b=L[0],db(e,x(ua.call(w,0)),b),O=t(w,d,C,f&&f.name,{newIsolateScopeDirective:u,transcludeDirective:g, -templateDirective:M})):(w=x(wb(b)).contents(),L.html(""),O=t(w,d));if(I.template)if(P("template",M,I,L),M=I,w=E(I.template)?I.template(L,c):I.template,w=cc(w),I.replace){f=I;w=x("
"+ba(w)+"
").contents();b=w[0];if(1!=w.length||1!==b.nodeType)throw ha("tplrt",Z,"");db(e,L,b);K={$attr:{}};a=a.concat(N(b,a.splice(ma+1,a.length-(ma+1)),K));ac(c,K);K=a.length}else L.html(w);if(I.templateUrl)P("template",M,I,L),M=I,I.replace&&(f=I),U=Bb(a.splice(ma,a.length-ma),L,c,e,O,k,h,{newIsolateScopeDirective:u, -transcludeDirective:g,templateDirective:M}),K=a.length;else if(I.compile)try{B=I.compile(L,c,O),E(B)?n(null,B,G,D):B&&n(B.pre,B.post,G,D)}catch(J){r(J,ga(L))}I.terminal&&(U.terminal=!0,C=Math.max(C,I.priority))}U.scope=ca&&ca.scope;U.transclude=g&&O;return U}function Z(d,e,f,g,h,l,n){if(e===h)return null;h=null;if(a.hasOwnProperty(e)){var q;e=b.get(e+c);for(var y=0,A=e.length;yq.priority)&&-1!=q.restrict.indexOf(f)&&(l&&(q=Hc(q,{$$start:l,$$end:n})),d.push(q),h=q)}catch(C){r(C)}}return h} -function ac(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;p(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});p(b,function(b,f){"class"==f?(T(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?e.attr("style",e.attr("style")+";"+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function Bb(a,b,c,d,e,f,k,g){var h=[],l,r,y=b[0],A=a.shift(),C=G({},A,{templateUrl:null,transclude:null,replace:null}),t=E(A.templateUrl)?A.templateUrl(b,c): -A.templateUrl;b.html("");q.get(U.getTrustedResourceUrl(t),{cache:n}).success(function(n){var q;n=cc(n);if(A.replace){n=x("
"+ba(n)+"
").contents();q=n[0];if(1!=n.length||1!==q.nodeType)throw ha("tplrt",A.name,t);n={$attr:{}};db(d,b,q);N(q,a,n);ac(c,n)}else q=y,b.html(n);a.unshift(C);l=L(a,q,c,e,b,A,f,k,g);p(d,function(a,c){a==q&&(d[c]=b[0])});for(r=ca(b[0].childNodes,e);h.length;){n=h.shift();var U=h.shift(),T=h.shift(),s=h.shift(),u=b[0];U!==y&&(u=wb(q),db(T,x(U),u));l(r,n,u,d,s)}h=null}).error(function(a, -b,c,d){throw ha("tpload",d.url);});return function(a,b,c,d,e){h?(h.push(b),h.push(c),h.push(d),h.push(e)):l(r,b,c,d,e)}}function O(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.namea.status?b:r.reject(b)}var d={transformRequest:e.transformRequest,transformResponse:e.transformResponse},f=function(a){function b(a){var c;p(a,function(b, -d){E(b)&&(c=b(),null!=c?a[d]=c:delete a[d])})}var c=e.headers,d=G({},a.headers),f,h,c=G({},c.common,c[B(a.method)]);b(c);b(d);a:for(f in c){a=B(f);for(h in d)if(B(h)===a)continue a;d[f]=c[f]}return d}(a);G(d,a);d.headers=f;d.method=Ea(d.method);(a=Cb(d.url)?b.cookies()[d.xsrfCookieName||e.xsrfCookieName]:s)&&(f[d.xsrfHeaderName||e.xsrfHeaderName]=a);var h=[function(a){f=a.headers;var b=fc(a.data,ec(f),a.transformRequest);z(a.data)&&p(f,function(a,b){"content-type"===B(b)&&delete f[b]});z(a.withCredentials)&& -!z(e.withCredentials)&&(a.withCredentials=e.withCredentials);return y(a,b,f).then(c,c)},s],k=r.when(d);for(p(u,function(a){(a.request||a.requestError)&&h.unshift(a.request,a.requestError);(a.response||a.responseError)&&h.push(a.response,a.responseError)});h.length;){a=h.shift();var g=h.shift(),k=k.then(a,g)}k.success=function(a){k.then(function(b){a(b.data,b.status,b.headers,d)});return k};k.error=function(a){k.then(null,function(b){a(b.data,b.status,b.headers,d)});return k};return k}function y(b, -c,f){function k(a,b,c){p&&(200<=a&&300>a?p.put(s,[a,b,dc(c)]):p.remove(s));g(b,a,c);d.$$phase||d.$apply()}function g(a,c,d){c=Math.max(c,0);(200<=c&&300>c?q.resolve:q.reject)({data:a,status:c,headers:ec(d),config:b})}function m(){var a=Ya(n.pendingRequests,b);-1!==a&&n.pendingRequests.splice(a,1)}var q=r.defer(),y=q.promise,p,u,s=A(b.url,b.params);n.pendingRequests.push(b);y.then(m,m);(b.cache||e.cache)&&(!1!==b.cache&&"GET"==b.method)&&(p=S(b.cache)?b.cache:S(e.cache)?e.cache:C);if(p)if(u=p.get(s), -w(u)){if(u.then)return u.then(m,m),u;H(u)?g(u[1],u[0],fa(u[2])):g(u,200,{})}else p.put(s,y);z(u)&&a(b.method,s,c,k,f,b.timeout,b.withCredentials,b.responseType);return y}function A(a,b){if(!b)return a;var c=[];Gc(b,function(a,b){null!=a&&a!=s&&(H(a)||(a=[a]),p(a,function(a){S(a)&&(a=oa(a));c.push(va(b)+"="+va(a))}))});return a+(-1==a.indexOf("?")?"?":"&")+c.join("&")}var C=c("$http"),u=[];p(f,function(a){u.unshift(F(a)?q.get(a):q.invoke(a))});p(g,function(a,b){var c=F(a)?q.get(a):q.invoke(a);u.splice(b, -0,{response:function(a){return c(r.when(a))},responseError:function(a){return c(r.reject(a))}})});n.pendingRequests=[];(function(a){p(arguments,function(a){n[a]=function(b,c){return n(G(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){p(arguments,function(a){n[a]=function(b,c,d){return n(G(d||{},{method:a,url:b,data:c}))}})})("post","put");n.defaults=e;return n}]}function gd(){this.$get=["$browser","$window","$document",function(b,a,c){return hd(b,id,b.defer,a.angular.callbacks, -c[0],a.location.protocol.replace(":",""))}]}function hd(b,a,c,d,e,f){function g(a,b){var c=e.createElement("script"),d=function(){e.body.removeChild(c);b&&b()};c.type="text/javascript";c.src=a;Q?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=d;e.body.appendChild(c);return d}return function(e,m,k,l,r,q,n,y){function A(){u=-1;M&&M();t&&t.abort()}function C(a,d,e,h){var g=f||wa(m).protocol;T&&c.cancel(T);M=t=null;d="file"==g?e?200:404:d;a(1223==d?204:d, -e,h);b.$$completeOutstandingRequest(v)}var u;b.$$incOutstandingRequestCount();m=m||b.url();if("jsonp"==B(e)){var s="_"+(d.counter++).toString(36);d[s]=function(a){d[s].data=a};var M=g(m.replace("JSON_CALLBACK","angular.callbacks."+s),function(){d[s].data?C(l,200,d[s].data):C(l,u||-2);delete d[s]})}else{var t=new a;t.open(e,m,!0);p(r,function(a,b){w(a)&&t.setRequestHeader(b,a)});t.onreadystatechange=function(){if(4==t.readyState){var a=t.getAllResponseHeaders();C(l,u||t.status,t.responseType?t.response: -t.responseText,a)}};n&&(t.withCredentials=!0);y&&(t.responseType=y);t.send(k||null)}if(0=h&&(r.resolve(n),l(q.$$intervalId),delete e[q.$$intervalId]);y||b.$apply()},g);e[q.$$intervalId]=r;return q}var e={};d.cancel=function(a){return a&&a.$$intervalId in e?(e[a.$$intervalId].reject("canceled"),clearInterval(a.$$intervalId),delete e[a.$$intervalId], -!0):!1};return d}]}function ld(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "), -DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function hc(b){b=b.split("/");for(var a=b.length;a--;)b[a]=qb(b[a]);return b.join("/")}function ic(b,a){var c=wa(b);a.$$protocol= -c.protocol;a.$$host=c.hostname;a.$$port=W(c.port)||md[c.protocol]||null}function jc(b,a){var c="/"!==b.charAt(0);c&&(b="/"+b);var d=wa(b);a.$$path=decodeURIComponent(c&&"/"===d.pathname.charAt(0)?d.pathname.substring(1):d.pathname);a.$$search=Qb(d.search);a.$$hash=decodeURIComponent(d.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function na(b,a){if(0==a.indexOf(b))return a.substr(b.length)}function Ta(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Db(b){return b.substr(0, -Ta(b).lastIndexOf("/")+1)}function kc(b,a){this.$$html5=!0;a=a||"";var c=Db(b);ic(b,this);this.$$parse=function(a){var b=na(c,a);if(!F(b))throw Eb("ipthprfx",a,c);jc(b,this);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Rb(this.$$search),b=this.$$hash?"#"+qb(this.$$hash):"";this.$$url=hc(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$rewrite=function(d){var e;if((e=na(b,d))!==s)return d=e,(e=na(a,e))!==s?c+(na("/",e)||e):b+d;if((e=na(c, -d))!==s)return c+e;if(c==d+"/")return c}}function Fb(b,a){var c=Db(b);ic(b,this);this.$$parse=function(d){var e=na(b,d)||na(c,d),e="#"==e.charAt(0)?na(a,e):this.$$html5?e:"";if(!F(e))throw Eb("ihshprfx",d,a);jc(e,this);this.$$compose()};this.$$compose=function(){var c=Rb(this.$$search),e=this.$$hash?"#"+qb(this.$$hash):"";this.$$url=hc(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};this.$$rewrite=function(a){if(Ta(b)==Ta(a))return a}}function lc(b,a){this.$$html5=!0;Fb.apply(this, -arguments);var c=Db(b);this.$$rewrite=function(d){var e;if(b==Ta(d))return d;if(e=na(c,d))return b+a+e;if(c===d+"/")return c}}function eb(b){return function(){return this[b]}}function mc(b,a){return function(c){if(z(c))return this[b];this[b]=a(c);this.$$compose();return this}}function nd(){var b="",a=!1;this.hashPrefix=function(a){return w(a)?(b=a,this):b};this.html5Mode=function(b){return w(b)?(a=b,this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,f){function g(a){c.$broadcast("$locationChangeSuccess", -h.absUrl(),a)}var h,m=d.baseHref(),k=d.url();a?(m=k.substring(0,k.indexOf("/",k.indexOf("//")+2))+(m||"/"),e=e.history?kc:lc):(m=Ta(k),e=Fb);h=new e(m,"#"+b);h.$$parse(h.$$rewrite(k));f.on("click",function(a){if(!a.ctrlKey&&!a.metaKey&&2!=a.which){for(var b=x(a.target);"a"!==B(b[0].nodeName);)if(b[0]===f[0]||!(b=b.parent())[0])return;var e=b.prop("href"),g=h.$$rewrite(e);e&&(!b.attr("target")&&g&&!a.isDefaultPrevented())&&(a.preventDefault(),g!=d.url()&&(h.$$parse(g),c.$apply(),Y.angular["ff-684208-preventDefault"]= -!0))}});h.absUrl()!=k&&d.url(h.absUrl(),!0);d.onUrlChange(function(a){h.absUrl()!=a&&(c.$broadcast("$locationChangeStart",a,h.absUrl()).defaultPrevented?d.url(h.absUrl()):(c.$evalAsync(function(){var b=h.absUrl();h.$$parse(a);g(b)}),c.$$phase||c.$digest()))});var l=0;c.$watch(function(){var a=d.url(),b=h.$$replace;l&&a==h.absUrl()||(l++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",h.absUrl(),a).defaultPrevented?h.$$parse(a):(d.url(h.absUrl(),b),g(a))}));h.$$replace=!1;return l});return h}]} -function od(){var b=!0,a=this;this.debugEnabled=function(a){return w(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||v;return e.apply?function(){var a=[];p(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"), -info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function qa(b,a){if("constructor"===b)throw xa("isecfld",a);return b}function fb(b,a){if(b&&b.constructor===b)throw xa("isecfn",a);if(b&&b.document&&b.location&&b.alert&&b.setInterval)throw xa("isecwindow",a);if(b&&(b.nodeName||b.on&&b.find))throw xa("isecdom",a);return b}function gb(b,a,c,d,e){e=e||{};a=a.split(".");for(var f,g=0;1e?nc(d[0],d[1],d[2],d[3],d[4],c,a):function(b,f){var h=0,g;do g=nc(d[h++],d[h++],d[h++],d[h++],d[h++],c,a)(b,f),f=s,b=g;while(ha)for(b in g++,d)d.hasOwnProperty(b)&&!f.hasOwnProperty(b)&&(m--,delete d[b])}else d!==f&&(d=f,g++);return g},function(){b(f,d,c)})},$digest:function(){var c, -e,f,g,m=this.$$asyncQueue,p=this.$$postDigestQueue,s,w,M=b,t,x=[],v,N,da;h("$digest");do{w=!1;for(t=this;m.length;)try{da=m.shift(),da.scope.$eval(da.expression)}catch(ka){d(ka)}do{if(g=t.$$watchers)for(s=g.length;s--;)try{(c=g[s])&&((e=c.get(t))!==(f=c.last)&&!(c.eq?Aa(e,f):"number"==typeof e&&"number"==typeof f&&isNaN(e)&&isNaN(f)))&&(w=!0,c.last=c.eq?fa(e):e,c.fn(e,f===k?e:f,t),5>M&&(v=4-M,x[v]||(x[v]=[]),N=E(c.exp)?"fn: "+(c.exp.name||c.exp.toString()):c.exp,N+="; newVal: "+oa(e)+"; oldVal: "+ -oa(f),x[v].push(N)))}catch(L){d(L)}if(!(g=t.$$childHead||t!==this&&t.$$nextSibling))for(;t!==this&&!(g=t.$$nextSibling);)t=t.$parent}while(t=g);if(w&&!M--)throw l.$$phase=null,a("infdig",b,oa(x));}while(w||m.length);for(l.$$phase=null;p.length;)try{p.shift()()}catch(B){d(B)}},$destroy:function(){if(l!=this&&!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;a.$$childHead==this&&(a.$$childHead=this.$$nextSibling);a.$$childTail==this&&(a.$$childTail=this.$$prevSibling); -this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null}},$eval:function(a,b){return e(a)(this,b)},$evalAsync:function(a){l.$$phase||l.$$asyncQueue.length||f.defer(function(){l.$$asyncQueue.length&&l.$digest()});this.$$asyncQueue.push({scope:this,expression:a})},$$postDigest:function(a){this.$$postDigestQueue.push(a)}, -$apply:function(a){try{return h("$apply"),this.$eval(a)}catch(b){d(b)}finally{l.$$phase=null;try{l.$digest()}catch(c){throw d(c),c;}}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);return function(){c[Ya(c,b)]=null}},$emit:function(a,b){var c=[],e,f=this,g=!1,h={name:a,targetScope:f,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},k=[h].concat(ua.call(arguments,1)),l,m;do{e=f.$$listeners[a]||c;h.currentScope= -f;l=0;for(m=e.length;lc))throw sa("iequirks");var e=fa(ea);e.isEnabled=function(){return b};e.trustAs=d.trustAs;e.getTrusted=d.getTrusted;e.valueOf=d.valueOf;b||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=za);e.parseAs=function(b,c){var d=a(c);return d.literal&&d.constant?d:function(a,c){return e.getTrusted(b,d(a,c))}};var f=e.parseAs,g=e.getTrusted,h=e.trustAs;p(ea,function(a,b){var c=B(b);e[Ma("parse_as_"+c)]=function(b){return f(a,b)};e[Ma("get_trusted_"+ -c)]=function(b){return g(a,b)};e[Ma("trust_as_"+c)]=function(b){return h(a,b)}});return e}]}function wd(){this.$get=["$window","$document",function(b,a){var c={},d=W((/android (\d+)/.exec(B((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},g,h=/^(Moz|webkit|O|ms)(?=[A-Z])/,m=f.body&&f.body.style,k=!1,l=!1;if(m){for(var r in m)if(k=h.exec(r)){g=k[0];g=g.substr(0,1).toUpperCase()+g.substr(1);break}g||(g="WebkitOpacity"in m&&"webkit");k=!!("transition"in m|| -g+"Transition"in m);l=!!("animation"in m||g+"Animation"in m);!d||k&&l||(k=F(f.body.style.webkitTransition),l=F(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hashchange:"onhashchange"in b&&(!f.documentMode||7b;b=Math.abs(b);var g=b+"",h="",m=[],k=!1;if(-1!==g.indexOf("e")){var l=g.match(/([\d\.]+)e(-?)(\d+)/);l&&"-"==l[2]&&l[3]>e+1?g="0":(h=g,k=!0)}if(k)0b)&&(h=b.toFixed(e));else{g=(g.split(yc)[1]||"").length;z(e)&&(e=Math.min(Math.max(a.minFrac,g),a.maxFrac));g=Math.pow(10,e);b=Math.round(b*g)/g;b=(""+b).split(yc);g=b[0];b=b[1]|| -"";var k=0,l=a.lgSize,r=a.gSize;if(g.length>=l+r)for(var k=g.length-l,q=0;qb&&(d="-",b=-b);for(b=""+b;b.length-c)e+=c;0===e&&-12==c&&(e=12);return Ib(e,a,d)}}function hb(b,a){return function(c,d){var e=c["get"+b](),f=Ea(a?"SHORT"+b:b);return d[f][e]}}function uc(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,m=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=W(b[9]+b[10]),g=W(b[9]+b[11]));h.call(a,W(b[1]),W(b[2])-1,W(b[3]));f=W(b[4]||0)-f;g=W(b[5]||0)-g;h=W(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));m.call(a,f,g,h,b)}return a} -var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e){var f="",g=[],h,m;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;F(c)&&(c=Ed.test(c)?W(c):a(c));ob(c)&&(c=new Date(c));if(!Ha(c))return c;for(;e;)(m=Fd.exec(e))?(g=g.concat(ua.call(m,1)),e=g.pop()):(g.push(e),e=null);p(g,function(a){h=Gd[a];f+=h?h(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return f}}function Ad(){return function(b){return oa(b,!0)}} -function Bd(){return function(b,a){if(!H(b)&&!F(b))return b;a=W(a);if(F(b))return a?0<=a?b.slice(0,a):b.slice(a,b.length):"";var c=[],d,e;a>b.length?a=b.length:a<-b.length&&(a=-b.length);0a||37<=a&&40>=a)||m()});a.on("change",g);if(e.hasEvent("paste"))a.on("paste cut",m)}d.$render=function(){a.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)};var k=c.ngPattern,l=function(a,b){if(d.$isEmpty(b)||a.test(b))return d.$setValidity("pattern",!0),b;d.$setValidity("pattern",!1);return s};k&&((e=k.match(/^\/(.*)\/([gim]*)$/))?(k=RegExp(e[1], -e[2]),e=function(a){return l(k,a)}):e=function(c){var d=b.$eval(k);if(!d||!d.test)throw D("ngPattern")("noregexp",k,d,ga(a));return l(d,c)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var r=W(c.ngMinlength);e=function(a){if(!d.$isEmpty(a)&&a.lengthq)return d.$setValidity("maxlength", -!1),s;d.$setValidity("maxlength",!0);return a};d.$parsers.push(e);d.$formatters.push(e)}}function Jb(b,a){b="ngClass"+b;return function(){return{restrict:"AC",link:function(c,d,e){function f(b){if(!0===a||c.$index%2===a)h&&!Aa(b,h)&&e.$removeClass(g(h)),e.$addClass(g(b));h=fa(b)}function g(a){if(H(a))return a.join(" ");if(S(a)){var b=[];p(a,function(a,c){a&&b.push(c)});return b.join(" ")}return a}var h=s;c.$watch(e[b],f,!0);e.$observe("class",function(a){f(c.$eval(e[b]))});"ngClass"!==b&&c.$watch("$index", -function(d,f){var h=d&1;h!==f&1&&(h===a?(h=c.$eval(e[b]),e.$addClass(g(h))):(h=c.$eval(e[b]),e.$removeClass(g(h))))})}}}}var B=function(b){return F(b)?b.toLowerCase():b},Ea=function(b){return F(b)?b.toUpperCase():b},Q,x,Ba,ua=[].slice,Hd=[].push,Wa=Object.prototype.toString,Ja=D("ng"),Za=Y.angular||(Y.angular={}),Ra,Da,ia=["0","0","0"];Q=W((/msie (\d+)/.exec(B(navigator.userAgent))||[])[1]);isNaN(Q)&&(Q=W((/trident\/.*; rv:(\d+)/.exec(B(navigator.userAgent))||[])[1]));v.$inject=[];za.$inject=[];var ba= -function(){return String.prototype.trim?function(b){return F(b)?b.trim():b}:function(b){return F(b)?b.replace(/^\s*/,"").replace(/\s*$/,""):b}}();Da=9>Q?function(b){b=b.nodeName?b:b[0];return b.scopeName&&"HTML"!=b.scopeName?Ea(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var Nc=/[A-Z]/g,Id={full:"1.2.0-rc.3",major:1,minor:2,dot:0,codeName:"ferocious-twitch"},Oa=J.cache={},ab=J.expando="ng-"+(new Date).getTime(),Rc=1,Ac=Y.document.addEventListener? -function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},xb=Y.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)},Pc=/([\:\-\_]+(.))/g,Qc=/^moz([A-Z])/,ub=D("jqLite"),Sa=J.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===R.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),J(Y).on("load",a))},toString:function(){var b=[];p(this,function(a){b.push(""+a)});return"["+b.join(", ")+ -"]"},eq:function(b){return 0<=b?x(this[b]):x(this[this.length+b])},length:0,push:Hd,sort:[].sort,splice:[].splice},cb={};p("multiple selected checked disabled readOnly required open".split(" "),function(b){cb[B(b)]=b});var Zb={};p("input select option textarea button form details".split(" "),function(b){Zb[Ea(b)]=!0});p({data:Wb,inheritedData:bb,scope:function(b){return bb(b,"$scope")},controller:Xb,injector:function(b){return bb(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:yb, -css:function(b,a,c){a=Ma(a);if(w(c))b.style[a]=c;else{var d;8>=Q&&(d=b.currentStyle&&b.currentStyle[a],""===d&&(d="auto"));d=d||b.style[a];8>=Q&&(d=""===d?s:d);return d}},attr:function(b,a,c){var d=B(a);if(cb[d])if(w(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||v).specified?d:s;else if(w(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?s:b},prop:function(b,a,c){if(w(c))b[a]=c;else return b[a]}, -text:function(){function b(b,d){var e=a[b.nodeType];if(z(d))return e?b[e]:"";b[e]=d}var a=[];9>Q?(a[1]="innerText",a[3]="nodeValue"):a[1]=a[3]="textContent";b.$dv="";return b}(),val:function(b,a){if(z(a)){if("SELECT"===Da(b)&&b.multiple){var c=[];p(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(z(a))return b.innerHTML;for(var c=0,d=b.childNodes;c":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a, -c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Md={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},Hb=function(a){this.options=a};Hb.prototype={constructor:Hb,lex:function(a){this.text=a;this.index=0;this.ch=s;this.lastCh=":";this.tokens=[];var c;for(a=[];this.index=a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=w(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw xa("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index","<=",">="))a=this.binaryFn(a,c.fn,this.relational());return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(Ua.ZERO,a.fn, -this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=this,d=this.expect().text,e=oc(d,this.options,this.text);return G(function(c,d,h){return e(h||a(c,d),d)},{assign:function(e,g,h){return gb(a(e,h),d,g,c.text,c.options)}})},objectIndex:function(a){var c=this,d=this.expression();this.consume("]");return G(function(e,f){var g=a(e,f),h=d(e,f),m;if(!g)return s;(g=fb(g[h],c.text))&&(g.then&&c.options.unwrapPromises)&&(m=g,"$$v"in g||(m.$$v=s, -m.then(function(a){m.$$v=a})),g=g.$$v);return g},{assign:function(e,f,g){var h=d(e,g);return fb(a(e,g),c.text)[h]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text){do d.push(this.expression());while(this.expect(","))}this.consume(")");var e=this;return function(f,g){for(var h=[],m=c?c(f,g):f,k=0;ka.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=-1*a.getTimezoneOffset();return a=(0<=a?"+":"")+(Ib(Math[0=Q&&(c.href||c.name||c.$set("href",""),a.append(R.createComment("IE fix")));return function(a,c){c.on("click",function(a){c.attr("href")||a.preventDefault()})}}}),Kb={};p(cb,function(a,c){if("multiple"!=a){var d=la("ng-"+c);Kb[d]=function(){return{priority:100,compile:function(){return function(a,f,g){a.$watch(g[d],function(a){g.$set(c,!!a)})}}}}}});p(["src","srcset","href"],function(a){var c=la("ng-"+a);Kb[c]=function(){return{priority:99, -link:function(d,e,f){f.$observe(c,function(c){c&&(f.$set(a,c),Q&&e.prop(a,f[a]))})}}}});var kb={$addControl:v,$removeControl:v,$setValidity:v,$setDirty:v,$setPristine:v};zc.$inject=["$element","$attrs","$scope"];var Bc=function(a){return["$timeout",function(c){return{name:"form",restrict:a?"EAC":"E",controller:zc,compile:function(){return{pre:function(a,e,f,g){if(!f.action){var h=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};Ac(e[0],"submit",h);e.on("$destroy",function(){c(function(){xb(e[0], -"submit",h)},0,!1)})}var m=e.parent().controller("form"),k=f.name||f.ngForm;k&&gb(a,k,g,k);if(m)e.on("$destroy",function(){m.$removeControl(g);k&&gb(a,k,s,k);G(g,kb)})}}}}}]},Od=Bc(),Pd=Bc(!0),Qd=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Rd=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/,Sd=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Cc={text:mb,number:function(a,c,d,e,f,g){mb(a,c,d,e,f,g);e.$parsers.push(function(a){var c=e.$isEmpty(a);if(c||Sd.test(a))return e.$setValidity("number", -!0),""===a?null:c?a:parseFloat(a);e.$setValidity("number",!1);return s});e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a});if(d.min){var h=parseFloat(d.min);a=function(a){if(!e.$isEmpty(a)&&am)return e.$setValidity("max",!1),s;e.$setValidity("max",!0);return a};e.$parsers.push(d);e.$formatters.push(d)}e.$formatters.push(function(a){if(e.$isEmpty(a)|| -ob(a))return e.$setValidity("number",!0),a;e.$setValidity("number",!1);return s})},url:function(a,c,d,e,f,g){mb(a,c,d,e,f,g);a=function(a){if(e.$isEmpty(a)||Qd.test(a))return e.$setValidity("url",!0),a;e.$setValidity("url",!1);return s};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,f,g){mb(a,c,d,e,f,g);a=function(a){if(e.$isEmpty(a)||Rd.test(a))return e.$setValidity("email",!0),a;e.$setValidity("email",!1);return s};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d, -e){z(d.name)&&c.attr("name",Va());c.on("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var f=d.ngTrueValue,g=d.ngFalseValue;F(f)||(f=!0);F(g)||(g=!1);c.on("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return a!==f};e.$formatters.push(function(a){return a=== -f});e.$parsers.push(function(a){return a?f:g})},hidden:v,button:v,submit:v,reset:v},Dc=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",link:function(d,e,f,g){g&&(Cc[B(f.type)]||Cc.text)(d,e,f,g,c,a)}}}],jb="ng-valid",ib="ng-invalid",Fa="ng-pristine",lb="ng-dirty",Td=["$scope","$exceptionHandler","$attrs","$element","$parse",function(a,c,d,e,f){function g(a,c){c=c?"-"+$a(c,"-"):"";e.removeClass((a?ib:jb)+c).addClass((a?jb:ib)+c)}this.$modelValue=this.$viewValue=Number.NaN; -this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$name=d.name;var h=f(d.ngModel),m=h.assign;if(!m)throw D("ngModel")("nonassign",d.ngModel,ga(e));this.$render=v;this.$isEmpty=function(a){return z(a)||""===a||null===a||a!==a};var k=e.inheritedData("$formController")||kb,l=0,r=this.$error={};e.addClass(Fa);g(!0);this.$setValidity=function(a,c){r[a]!==!c&&(c?(r[a]&&l--,l||(g(!0),this.$valid=!0,this.$invalid=!1)):(g(!1), -this.$invalid=!0,this.$valid=!1,l++),r[a]=!c,g(c,a),k.$setValidity(a,c,this))};this.$setPristine=function(){this.$dirty=!1;this.$pristine=!0;e.removeClass(lb).addClass(Fa)};this.$setViewValue=function(d){this.$viewValue=d;this.$pristine&&(this.$dirty=!0,this.$pristine=!1,e.removeClass(Fa).addClass(lb),k.$setDirty());p(this.$parsers,function(a){d=a(d)});this.$modelValue!==d&&(this.$modelValue=d,m(a,d),p(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}}))};var q=this;a.$watch(function(){var c= -h(a);if(q.$modelValue!==c){var d=q.$formatters,e=d.length;for(q.$modelValue=c;e--;)c=d[e](c);q.$viewValue!==c&&(q.$viewValue=c,q.$render())}})}],Ud=function(){return{require:["ngModel","^?form"],controller:Td,link:function(a,c,d,e){var f=e[0],g=e[1]||kb;g.$addControl(f);c.on("$destroy",function(){g.$removeControl(f)})}}},Vd=aa({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),Ec=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required= -!0;var f=function(a){if(d.required&&e.$isEmpty(a))e.$setValidity("required",!1);else return e.$setValidity("required",!0),a};e.$formatters.push(f);e.$parsers.unshift(f);d.$observe("required",function(){f(e.$viewValue)})}}}},Wd=function(){return{require:"ngModel",link:function(a,c,d,e){var f=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",";e.$parsers.push(function(a){if(!z(a)){var c=[];a&&p(a.split(f),function(a){a&&c.push(ba(a))});return c}});e.$formatters.push(function(a){return H(a)?a.join(", "): -s});e.$isEmpty=function(a){return!a||!a.length}}}},Xd=/^(true|false|\d+)$/,Yd=function(){return{priority:100,compile:function(a,c){return Xd.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},Zd=ta(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind);a.$watch(d.ngBind,function(a){c.text(a==s?"":a)})}),$d=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding", -c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}],ae=["$sce","$parse",function(a,c){return function(d,e,f){e.addClass("ng-binding").data("$binding",f.ngBindHtml);var g=c(f.ngBindHtml);d.$watch(function(){return(g(d)||"").toString()},function(c){e.html(a.getTrustedHtml(g(d))||"")})}}],be=Jb("",!0),ce=Jb("Odd",0),de=Jb("Even",1),ee=ta({compile:function(a,c){c.$set("ngCloak",s);a.removeClass("ng-cloak")}}),fe=[function(){return{scope:!0,controller:"@"}}],ge=["$sniffer",function(a){return{priority:1E3, -compile:function(){a.csp=!0}}}],Fc={};p("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var c=la("ng-"+a);Fc[c]=["$parse",function(d){return function(e,f,g){var h=d(g[c]);f.on(B(a),function(a){e.$apply(function(){h(e,{$event:a})})})}}]});var he=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A",compile:function(c,d,e){return function(c,d,h){var m, -k;c.$watch(h.ngIf,function(h){m&&(a.leave(m),m=s);k&&(k.$destroy(),k=s);Ka(h)&&(k=c.$new(),e(k,function(c){m=c;a.enter(c,d.parent(),d)}))})}}}}],ie=["$http","$templateCache","$anchorScroll","$compile","$animate","$sce",function(a,c,d,e,f,g){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",compile:function(h,m,k){var l=m.ngInclude||m.src,p=m.onload||"",q=m.autoscroll;return function(h,m){var s=0,C,u,x=function(){C&&(C.$destroy(),C=null);u&&(f.leave(u),u=null)};h.$watch(g.parseAsResourceUrl(l), -function(g){var l=++s;g?(a.get(g,{cache:c}).success(function(a){if(l===s){var c=h.$new();k(c,function(g){x();C=c;u=g;u.html(a);f.enter(u,null,m);e(u.contents())(C);!w(q)||q&&!h.$eval(q)||d();C.$emit("$includeContentLoaded");h.$eval(p)})}}).error(function(){l===s&&x()}),h.$emit("$includeContentRequested")):x()})}}}}],je=ta({compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),ke=ta({terminal:!0,priority:1E3}),le=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA", -link:function(e,f,g){var h=g.count,m=g.$attr.when&&f.attr(g.$attr.when),k=g.offset||0,l=e.$eval(m)||{},r={},q=c.startSymbol(),n=c.endSymbol(),s=/^when(Minus)?(.+)$/;p(g,function(a,c){s.test(c)&&(l[B(c.replace("when","").replace("Minus","-"))]=f.attr(g.$attr[c]))});p(l,function(a,e){r[e]=c(a.replace(d,q+h+"-"+k+n))});e.$watch(function(){var c=parseFloat(e.$eval(h));if(isNaN(c))return"";c in l||(c=a.pluralCat(c-k));return r[c](e,f,!0)},function(a){f.text(a)})}}}],me=["$parse","$animate",function(a, -c){function d(a){if(a.startNode===a.endNode)return x(a.startNode);var c=a.startNode,d=[c];do{c=c.nextSibling;if(!c)break;d.push(c)}while(c!==a.endNode);return x(d)}var e=D("ngRepeat");return{transclude:"element",priority:1E3,terminal:!0,compile:function(f,g,h){return function(f,g,l){var r=l.ngRepeat,q=r.match(/^\s*(.+)\s+in\s+(.*?)\s*(\s+track\s+by\s+(.+)\s*)?$/),n,s,w,C,u,v,B,t={$id:Ca};if(!q)throw e("iexp",r);l=q[1];u=q[2];(q=q[4])?(n=a(q),s=function(a,c,d){B&&(t[B]=a);t[v]=c;t.$index=d;return n(f, -t)}):(w=function(a,c){return Ca(c)},C=function(a){return a});q=l.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!q)throw e("iidexp",l);v=q[3]||q[1];B=q[2];var F={};f.$watchCollection(u,function(a){var l,q,n=g[0],u,t={},G,D,O,P,H,K,z=[];if(nb(a))H=a,u=s||w;else{u=s||C;H=[];for(O in a)a.hasOwnProperty(O)&&"$"!=O.charAt(0)&&H.push(O);H.sort()}G=H.length;q=z.length=H.length;for(l=0;l -A;)x.pop().element.remove()}for(;w.length>z;)w.pop()[0].element.remove()}var k;if(!(k=v.match(d)))throw ve("iexp",v,ga(f));var l=c(k[2]||k[1]),m=k[4]||k[6],n=k[5],q=c(k[3]||""),p=c(k[2]?k[1]:m),r=c(k[7]),u=k[8]?c(k[8]):null,w=[[{element:f,label:""}]];C&&(a(C)(e),C.removeClass("ng-scope"),C.remove());f.html("");f.on("change",function(){e.$apply(function(){var a,c=r(e)||[],d={},g,k,l,q,t,v,x;if(y)for(k=[],q=0,v=w.length;q@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}'); -//# sourceMappingURL=angular.min.js.map diff --git a/static/lib/moment.min.js b/static/lib/moment.min.js deleted file mode 100644 index 8896ee7..0000000 --- a/static/lib/moment.min.js +++ /dev/null @@ -1,6 +0,0 @@ -//! moment.js -//! version : 2.3.1 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com -(function(a){function b(a,b){return function(c){return i(a.call(this,c),b)}}function c(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function d(){}function e(a){u(a),g(this,a)}function f(a){var b=o(a),c=b.year||0,d=b.month||0,e=b.week||0,f=b.day||0,g=b.hour||0,h=b.minute||0,i=b.second||0,j=b.millisecond||0;this._input=a,this._milliseconds=+j+1e3*i+6e4*h+36e5*g,this._days=+f+7*e,this._months=+d+12*c,this._data={},this._bubble()}function g(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function h(a){return 0>a?Math.ceil(a):Math.floor(a)}function i(a,b){for(var c=a+"";c.lengthd;d++)(c&&a[d]!==b[d]||!c&&q(a[d])!==q(b[d]))&&g++;return g+f}function n(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=Jb[a]||Kb[b]||b}return a}function o(a){var b,c,d={};for(c in a)a.hasOwnProperty(c)&&(b=n(c),b&&(d[b]=a[c]));return d}function p(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}bb[b]=function(e,f){var g,h,i=bb.fn._lang[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=bb().utc().set(d,a);return i.call(bb.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function q(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function r(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function s(a){return t(a)?366:365}function t(a){return 0===a%4&&0!==a%100||0===a%400}function u(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[gb]<0||a._a[gb]>11?gb:a._a[hb]<1||a._a[hb]>r(a._a[fb],a._a[gb])?hb:a._a[ib]<0||a._a[ib]>23?ib:a._a[jb]<0||a._a[jb]>59?jb:a._a[kb]<0||a._a[kb]>59?kb:a._a[lb]<0||a._a[lb]>999?lb:-1,a._pf._overflowDayOfYear&&(fb>b||b>hb)&&(b=hb),a._pf.overflow=b)}function v(a){a._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1}}function w(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function x(a){return a?a.toLowerCase().replace("_","-"):a}function y(a,b){return b.abbr=a,mb[a]||(mb[a]=new d),mb[a].set(b),mb[a]}function z(a){delete mb[a]}function A(a){var b,c,d,e,f=0,g=function(a){if(!mb[a]&&nb)try{require("./lang/"+a)}catch(b){}return mb[a]};if(!a)return bb.fn._lang;if(!k(a)){if(c=g(a))return c;a=[a]}for(;f0;){if(c=g(e.slice(0,b).join("-")))return c;if(d&&d.length>=b&&m(e,d,!0)>=b-1)break;b--}f++}return bb.fn._lang}function B(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function C(a){var b,c,d=a.match(rb);for(b=0,c=d.length;c>b;b++)d[b]=Ob[d[b]]?Ob[d[b]]:B(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function D(a,b){return a.isValid()?(b=E(b,a.lang()),Lb[b]||(Lb[b]=C(b)),Lb[b](a)):a.lang().invalidDate()}function E(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(sb.lastIndex=0;d>=0&&sb.test(a);)a=a.replace(sb,c),sb.lastIndex=0,d-=1;return a}function F(a,b){var c;switch(a){case"DDDD":return vb;case"YYYY":case"GGGG":case"gggg":return wb;case"YYYYY":case"GGGGG":case"ggggg":return xb;case"S":case"SS":case"SSS":case"DDD":return ub;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return yb;case"a":case"A":return A(b._l)._meridiemParse;case"X":return Bb;case"Z":case"ZZ":return zb;case"T":return Ab;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"ww":case"W":case"WW":case"e":case"E":return tb;default:return c=new RegExp(N(M(a.replace("\\","")),"i"))}}function G(a){var b=(zb.exec(a)||[])[0],c=(b+"").match(Gb)||["-",0,0],d=+(60*c[1])+q(c[2]);return"+"===c[0]?-d:d}function H(a,b,c){var d,e=c._a;switch(a){case"M":case"MM":null!=b&&(e[gb]=q(b)-1);break;case"MMM":case"MMMM":d=A(c._l).monthsParse(b),null!=d?e[gb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[hb]=q(b));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=q(b));break;case"YY":e[fb]=q(b)+(q(b)>68?1900:2e3);break;case"YYYY":case"YYYYY":e[fb]=q(b);break;case"a":case"A":c._isPm=A(c._l).isPM(b);break;case"H":case"HH":case"h":case"hh":e[ib]=q(b);break;case"m":case"mm":e[jb]=q(b);break;case"s":case"ss":e[kb]=q(b);break;case"S":case"SS":case"SSS":e[lb]=q(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=G(b);break;case"w":case"ww":case"W":case"WW":case"d":case"dd":case"ddd":case"dddd":case"e":case"E":a=a.substr(0,1);case"gg":case"gggg":case"GG":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=b)}}function I(a){var b,c,d,e,f,g,h,i,j,k,l=[];if(!a._d){for(d=K(a),a._w&&null==a._a[hb]&&null==a._a[gb]&&(f=function(b){return b?b.length<3?parseInt(b,10)>68?"19"+b:"20"+b:b:null==a._a[fb]?bb().weekYear():a._a[fb]},g=a._w,null!=g.GG||null!=g.W||null!=g.E?h=X(f(g.GG),g.W||1,g.E,4,1):(i=A(a._l),j=null!=g.d?T(g.d,i):null!=g.e?parseInt(g.e,10)+i._week.dow:0,k=parseInt(g.w,10)||1,null!=g.d&&js(e)&&(a._pf._overflowDayOfYear=!0),c=S(e,0,a._dayOfYear),a._a[gb]=c.getUTCMonth(),a._a[hb]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=l[b]=d[b];for(;7>b;b++)a._a[b]=l[b]=null==a._a[b]?2===b?1:0:a._a[b];l[ib]+=q((a._tzm||0)/60),l[jb]+=q((a._tzm||0)%60),a._d=(a._useUTC?S:R).apply(null,l)}}function J(a){var b;a._d||(b=o(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],I(a))}function K(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function L(a){a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=A(a._l),h=""+a._i,i=h.length,j=0;for(d=E(a._f,g).match(rb)||[],b=0;b0&&a._pf.unusedInput.push(f),h=h.slice(h.indexOf(c)+c.length),j+=c.length),Ob[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),H(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=i-j,h.length>0&&a._pf.unusedInput.push(h),a._isPm&&a._a[ib]<12&&(a._a[ib]+=12),a._isPm===!1&&12===a._a[ib]&&(a._a[ib]=0),I(a),u(a)}function M(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function N(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function O(a){var b,c,d,e,f;if(0===a._f.length)return a._pf.invalidFormat=!0,a._d=new Date(0/0),void 0;for(e=0;ef)&&(d=f,c=b));g(a,c||b)}function P(a){var b,c=a._i,d=Cb.exec(c);if(d){for(b=4;b>0;b--)if(d[b]){a._f=Eb[b-1]+(d[6]||" ");break}for(b=0;4>b;b++)if(Fb[b][1].exec(c)){a._f+=Fb[b][0];break}zb.exec(c)&&(a._f+=" Z"),L(a)}else a._d=new Date(c)}function Q(b){var c=b._i,d=ob.exec(c);c===a?b._d=new Date:d?b._d=new Date(+d[1]):"string"==typeof c?P(b):k(c)?(b._a=c.slice(0),I(b)):l(c)?b._d=new Date(+c):"object"==typeof c?J(b):b._d=new Date(c)}function R(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function S(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function T(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function U(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function V(a,b,c){var d=eb(Math.abs(a)/1e3),e=eb(d/60),f=eb(e/60),g=eb(f/24),h=eb(g/365),i=45>d&&["s",d]||1===e&&["m"]||45>e&&["mm",e]||1===f&&["h"]||22>f&&["hh",f]||1===g&&["d"]||25>=g&&["dd",g]||45>=g&&["M"]||345>g&&["MM",eb(g/30)]||1===h&&["y"]||["yy",h];return i[2]=b,i[3]=a>0,i[4]=c,U.apply({},i)}function W(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=bb(a).add("d",f),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function X(a,b,c,d,e){var f,g,h=new Date(Date.UTC(a,0)).getUTCDay();return c=null!=c?c:e,f=e-h+(h>d?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:s(a-1)+g}}function Y(a){var b=a._i,c=a._f;return"undefined"==typeof a._pf&&v(a),null===b?bb.invalid({nullInput:!0}):("string"==typeof b&&(a._i=b=A().preparse(b)),bb.isMoment(b)?(a=g({},b),a._d=new Date(+b._d)):c?k(c)?O(a):L(a):Q(a),new e(a))}function Z(a,b){bb.fn[a]=bb.fn[a+"s"]=function(a){var c=this._isUTC?"UTC":"";return null!=a?(this._d["set"+c+b](a),bb.updateOffset(this),this):this._d["get"+c+b]()}}function $(a){bb.duration.fn[a]=function(){return this._data[a]}}function _(a,b){bb.duration.fn["as"+a]=function(){return+this/b}}function ab(){"undefined"==typeof ender&&(this.moment=bb)}for(var bb,cb,db="2.3.1",eb=Math.round,fb=0,gb=1,hb=2,ib=3,jb=4,kb=5,lb=6,mb={},nb="undefined"!=typeof module&&module.exports,ob=/^\/?Date\((\-?\d+)/i,pb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,qb=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,rb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|SS?S?|X|zz?|ZZ?|.)/g,sb=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,tb=/\d\d?/,ub=/\d{1,3}/,vb=/\d{3}/,wb=/\d{1,4}/,xb=/[+\-]?\d{1,6}/,yb=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,zb=/Z|[\+\-]\d\d:?\d\d/i,Ab=/T/i,Bb=/[\+\-]?\d+(\.\d{1,3})?/,Cb=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?$/,Db="YYYY-MM-DDTHH:mm:ssZ",Eb=["YYYY-MM-DD","GGGG-[W]WW","GGGG-[W]WW-E","YYYY-DDD"],Fb=[["HH:mm:ss.S",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],Gb=/([\+\-]|\d\d)/gi,Hb="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),Ib={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},Jb={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},Kb={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},Lb={},Mb="DDD w W M D d".split(" "),Nb="M D H h m s w W".split(" "),Ob={M:function(){return this.month()+1},MMM:function(a){return this.lang().monthsShort(this,a)},MMMM:function(a){return this.lang().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.lang().weekdaysMin(this,a)},ddd:function(a){return this.lang().weekdaysShort(this,a)},dddd:function(a){return this.lang().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return i(this.year()%100,2)},YYYY:function(){return i(this.year(),4)},YYYYY:function(){return i(this.year(),5)},gg:function(){return i(this.weekYear()%100,2)},gggg:function(){return this.weekYear()},ggggg:function(){return i(this.weekYear(),5)},GG:function(){return i(this.isoWeekYear()%100,2)},GGGG:function(){return this.isoWeekYear()},GGGGG:function(){return i(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return q(this.milliseconds()/100)},SS:function(){return i(q(this.milliseconds()/10),2)},SSS:function(){return i(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+i(q(a/60),2)+":"+i(q(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+i(q(10*a/6),4)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()}},Pb=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];Mb.length;)cb=Mb.pop(),Ob[cb+"o"]=c(Ob[cb],cb);for(;Nb.length;)cb=Nb.pop(),Ob[cb+cb]=b(Ob[cb],2);for(Ob.DDDD=b(Ob.DDD,3),g(d.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=bb.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=bb([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return W(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),bb=function(b,c,d,e){return"boolean"==typeof d&&(e=d,d=a),Y({_i:b,_f:c,_l:d,_strict:e,_isUTC:!1})},bb.utc=function(b,c,d,e){var f;return"boolean"==typeof d&&(e=d,d=a),f=Y({_useUTC:!0,_isUTC:!0,_l:d,_i:b,_f:c,_strict:e}).utc()},bb.unix=function(a){return bb(1e3*a)},bb.duration=function(a,b){var c,d,e,g=bb.isDuration(a),h="number"==typeof a,i=g?a._input:h?{}:a,j=null;return h?b?i[b]=a:i.milliseconds=a:(j=pb.exec(a))?(c="-"===j[1]?-1:1,i={y:0,d:q(j[hb])*c,h:q(j[ib])*c,m:q(j[jb])*c,s:q(j[kb])*c,ms:q(j[lb])*c}):(j=qb.exec(a))&&(c="-"===j[1]?-1:1,e=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*c},i={y:e(j[2]),M:e(j[3]),d:e(j[4]),h:e(j[5]),m:e(j[6]),s:e(j[7]),w:e(j[8])}),d=new f(i),g&&a.hasOwnProperty("_lang")&&(d._lang=a._lang),d},bb.version=db,bb.defaultFormat=Db,bb.updateOffset=function(){},bb.lang=function(a,b){var c;return a?(b?y(x(a),b):null===b?(z(a),a="en"):mb[a]||A(a),c=bb.duration.fn._lang=bb.fn._lang=A(a),c._abbr):bb.fn._lang._abbr},bb.langData=function(a){return a&&a._lang&&a._lang._abbr&&(a=a._lang._abbr),A(a)},bb.isMoment=function(a){return a instanceof e},bb.isDuration=function(a){return a instanceof f},cb=Pb.length-1;cb>=0;--cb)p(Pb[cb]);for(bb.normalizeUnits=function(a){return n(a)},bb.invalid=function(a){var b=bb.utc(0/0);return null!=a?g(b._pf,a):b._pf.userInvalidated=!0,b},bb.parseZone=function(a){return bb(a).parseZone()},g(bb.fn=e.prototype,{clone:function(){return bb(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){return D(bb(this).utc(),"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return w(this)},isDSTShifted:function(){return this._a?this.isValid()&&m(this._a,(this._isUTC?bb.utc(this._a):bb(this._a)).toArray())>0:!1},parsingFlags:function(){return g({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(a){var b=D(this,a||bb.defaultFormat);return this.lang().postformat(b)},add:function(a,b){var c;return c="string"==typeof a?bb.duration(+b,a):bb.duration(a,b),j(this,c,1),this},subtract:function(a,b){var c;return c="string"==typeof a?bb.duration(+b,a):bb.duration(a,b),j(this,c,-1),this},diff:function(a,b,c){var d,e,f=this._isUTC?bb(a).zone(this._offset||0):bb(a).local(),g=6e4*(this.zone()-f.zone());return b=n(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-bb(this).startOf("month")-(f-bb(f).startOf("month")))/d,e-=6e4*(this.zone()-bb(this).startOf("month").zone()-(f.zone()-bb(f).startOf("month").zone()))/d,"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:h(e)},from:function(a,b){return bb.duration(this.diff(a)).lang(this.lang()._abbr).humanize(!b)},fromNow:function(a){return this.from(bb(),a)},calendar:function(){var a=this.diff(bb().zone(this.zone()).startOf("day"),"days",!0),b=-6>a?"sameElse":-1>a?"lastWeek":0>a?"lastDay":1>a?"sameDay":2>a?"nextDay":7>a?"nextWeek":"sameElse";return this.format(this.lang().calendar(b,this))},isLeapYear:function(){return t(this.year())},isDST:function(){return this.zone()+bb(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+bb(a).startOf(b)},isSame:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)===+bb(a).startOf(b)},min:function(a){return a=bb.apply(null,arguments),this>a?this:a},max:function(a){return a=bb.apply(null,arguments),a>this?this:a},zone:function(a){var b=this._offset||0;return null==a?this._isUTC?b:this._d.getTimezoneOffset():("string"==typeof a&&(a=G(a)),Math.abs(a)<16&&(a=60*a),this._offset=a,this._isUTC=!0,b!==a&&j(this,bb.duration(b-a,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?bb(a).zone():0,0===(this.zone()-a)%60},daysInMonth:function(){return r(this.year(),this.month())},dayOfYear:function(a){var b=eb((bb(this).startOf("day")-bb(this).startOf("year"))/864e5)+1;return null==a?b:this.add("d",a-b)},weekYear:function(a){var b=W(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?b:this.add("y",a-b)},isoWeekYear:function(a){var b=W(this,1,4).year;return null==a?b:this.add("y",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add("d",7*(a-b))},isoWeek:function(a){var b=W(this,1,4).week;return null==a?b:this.add("d",7*(a-b))},weekday:function(a){var b=(this.day()+7-this.lang()._week.dow)%7;return null==a?b:this.add("d",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},get:function(a){return a=n(a),this[a]()},set:function(a,b){return a=n(a),"function"==typeof this[a]&&this[a](b),this},lang:function(b){return b===a?this._lang:(this._lang=A(b),this)}}),cb=0;cbu;u++)if(t.call(e,n[u],u,n)===r)return}else for(var a=j.keys(n),u=0,i=a.length;i>u;u++)if(t.call(e,n[a[u]],a[u],n)===r)return};j.map=j.collect=function(n,t,r){var e=[];return null==n?e:p&&n.map===p?n.map(t,r):(A(n,function(n,u,i){e.push(t.call(r,n,u,i))}),e)};var E="Reduce of empty array with no initial value";j.reduce=j.foldl=j.inject=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),h&&n.reduce===h)return e&&(t=j.bind(t,e)),u?n.reduce(t,r):n.reduce(t);if(A(n,function(n,i,a){u?r=t.call(e,r,n,i,a):(r=n,u=!0)}),!u)throw new TypeError(E);return r},j.reduceRight=j.foldr=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),v&&n.reduceRight===v)return e&&(t=j.bind(t,e)),u?n.reduceRight(t,r):n.reduceRight(t);var i=n.length;if(i!==+i){var a=j.keys(n);i=a.length}if(A(n,function(o,c,l){c=a?a[--i]:--i,u?r=t.call(e,r,n[c],c,l):(r=n[c],u=!0)}),!u)throw new TypeError(E);return r},j.find=j.detect=function(n,t,r){var e;return O(n,function(n,u,i){return t.call(r,n,u,i)?(e=n,!0):void 0}),e},j.filter=j.select=function(n,t,r){var e=[];return null==n?e:g&&n.filter===g?n.filter(t,r):(A(n,function(n,u,i){t.call(r,n,u,i)&&e.push(n)}),e)},j.reject=function(n,t,r){return j.filter(n,function(n,e,u){return!t.call(r,n,e,u)},r)},j.every=j.all=function(n,t,e){t||(t=j.identity);var u=!0;return null==n?u:d&&n.every===d?n.every(t,e):(A(n,function(n,i,a){return(u=u&&t.call(e,n,i,a))?void 0:r}),!!u)};var O=j.some=j.any=function(n,t,e){t||(t=j.identity);var u=!1;return null==n?u:m&&n.some===m?n.some(t,e):(A(n,function(n,i,a){return u||(u=t.call(e,n,i,a))?r:void 0}),!!u)};j.contains=j.include=function(n,t){return null==n?!1:y&&n.indexOf===y?n.indexOf(t)!=-1:O(n,function(n){return n===t})},j.invoke=function(n,t){var r=o.call(arguments,2),e=j.isFunction(t);return j.map(n,function(n){return(e?t:n[t]).apply(n,r)})},j.pluck=function(n,t){return j.map(n,function(n){return n[t]})},j.where=function(n,t,r){return j.isEmpty(t)?r?void 0:[]:j[r?"find":"filter"](n,function(n){for(var r in t)if(t[r]!==n[r])return!1;return!0})},j.findWhere=function(n,t){return j.where(n,t,!0)},j.max=function(n,t,r){if(!t&&j.isArray(n)&&n[0]===+n[0]&&n.length<65535)return Math.max.apply(Math,n);if(!t&&j.isEmpty(n))return-1/0;var e={computed:-1/0,value:-1/0};return A(n,function(n,u,i){var a=t?t.call(r,n,u,i):n;a>e.computed&&(e={value:n,computed:a})}),e.value},j.min=function(n,t,r){if(!t&&j.isArray(n)&&n[0]===+n[0]&&n.length<65535)return Math.min.apply(Math,n);if(!t&&j.isEmpty(n))return 1/0;var e={computed:1/0,value:1/0};return A(n,function(n,u,i){var a=t?t.call(r,n,u,i):n;ae||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var F=function(n){return function(t,r,e){var u={},i=null==r?j.identity:k(r);return A(t,function(r,a){var o=i.call(e,r,a,t);n(u,o,r)}),u}};j.groupBy=F(function(n,t,r){(j.has(n,t)?n[t]:n[t]=[]).push(r)}),j.indexBy=F(function(n,t,r){n[t]=r}),j.countBy=F(function(n,t){j.has(n,t)?n[t]++:n[t]=1}),j.sortedIndex=function(n,t,r,e){r=null==r?j.identity:k(r);for(var u=r.call(e,t),i=0,a=n.length;a>i;){var o=i+a>>>1;r.call(e,n[o])=0})})},j.difference=function(n){var t=c.apply(e,o.call(arguments,1));return j.filter(n,function(n){return!j.contains(t,n)})},j.zip=function(){for(var n=j.max(j.pluck(arguments,"length").concat(0)),t=new Array(n),r=0;n>r;r++)t[r]=j.pluck(arguments,""+r);return t},j.object=function(n,t){if(null==n)return{};for(var r={},e=0,u=n.length;u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},j.indexOf=function(n,t,r){if(null==n)return-1;var e=0,u=n.length;if(r){if("number"!=typeof r)return e=j.sortedIndex(n,t),n[e]===t?e:-1;e=0>r?Math.max(0,u+r):r}if(y&&n.indexOf===y)return n.indexOf(t,r);for(;u>e;e++)if(n[e]===t)return e;return-1},j.lastIndexOf=function(n,t,r){if(null==n)return-1;var e=null!=r;if(b&&n.lastIndexOf===b)return e?n.lastIndexOf(t,r):n.lastIndexOf(t);for(var u=e?r:n.length;u--;)if(n[u]===t)return u;return-1},j.range=function(n,t,r){arguments.length<=1&&(t=n||0,n=0),r=arguments[2]||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=0,i=new Array(e);e>u;)i[u++]=n,n+=r;return i};var R=function(){};j.bind=function(n,t){var r,e;if(_&&n.bind===_)return _.apply(n,o.call(arguments,1));if(!j.isFunction(n))throw new TypeError;return r=o.call(arguments,2),e=function(){if(!(this instanceof e))return n.apply(t,r.concat(o.call(arguments)));R.prototype=n.prototype;var u=new R;R.prototype=null;var i=n.apply(u,r.concat(o.call(arguments)));return Object(i)===i?i:u}},j.partial=function(n){var t=o.call(arguments,1);return function(){return n.apply(this,t.concat(o.call(arguments)))}},j.bindAll=function(n){var t=o.call(arguments,1);if(0===t.length)throw new Error("bindAll must be passed function names");return A(t,function(t){n[t]=j.bind(n[t],n)}),n},j.memoize=function(n,t){var r={};return t||(t=j.identity),function(){var e=t.apply(this,arguments);return j.has(r,e)?r[e]:r[e]=n.apply(this,arguments)}},j.delay=function(n,t){var r=o.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},j.defer=function(n){return j.delay.apply(j,[n,1].concat(o.call(arguments,1)))},j.throttle=function(n,t,r){var e,u,i,a=null,o=0;r||(r={});var c=function(){o=r.leading===!1?0:new Date,a=null,i=n.apply(e,u)};return function(){var l=new Date;o||r.leading!==!1||(o=l);var f=t-(l-o);return e=this,u=arguments,0>=f?(clearTimeout(a),a=null,o=l,i=n.apply(e,u)):a||r.trailing===!1||(a=setTimeout(c,f)),i}},j.debounce=function(n,t,r){var e,u,i,a,o;return function(){i=this,u=arguments,a=new Date;var c=function(){var l=new Date-a;t>l?e=setTimeout(c,t-l):(e=null,r||(o=n.apply(i,u)))},l=r&&!e;return e||(e=setTimeout(c,t)),l&&(o=n.apply(i,u)),o}},j.once=function(n){var t,r=!1;return function(){return r?t:(r=!0,t=n.apply(this,arguments),n=null,t)}},j.wrap=function(n,t){return function(){var r=[n];return a.apply(r,arguments),t.apply(this,r)}},j.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length-1;r>=0;r--)t=[n[r].apply(this,t)];return t[0]}},j.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},j.keys=w||function(n){if(n!==Object(n))throw new TypeError("Invalid object");var t=[];for(var r in n)j.has(n,r)&&t.push(r);return t},j.values=function(n){for(var t=j.keys(n),r=t.length,e=new Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},j.pairs=function(n){for(var t=j.keys(n),r=t.length,e=new Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},j.invert=function(n){for(var t={},r=j.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},j.functions=j.methods=function(n){var t=[];for(var r in n)j.isFunction(n[r])&&t.push(r);return t.sort()},j.extend=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)n[r]=t[r]}),n},j.pick=function(n){var t={},r=c.apply(e,o.call(arguments,1));return A(r,function(r){r in n&&(t[r]=n[r])}),t},j.omit=function(n){var t={},r=c.apply(e,o.call(arguments,1));for(var u in n)j.contains(r,u)||(t[u]=n[u]);return t},j.defaults=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)n[r]===void 0&&(n[r]=t[r])}),n},j.clone=function(n){return j.isObject(n)?j.isArray(n)?n.slice():j.extend({},n):n},j.tap=function(n,t){return t(n),n};var S=function(n,t,r,e){if(n===t)return 0!==n||1/n==1/t;if(null==n||null==t)return n===t;n instanceof j&&(n=n._wrapped),t instanceof j&&(t=t._wrapped);var u=l.call(n);if(u!=l.call(t))return!1;switch(u){case"[object String]":return n==String(t);case"[object Number]":return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case"[object Date]":case"[object Boolean]":return+n==+t;case"[object RegExp]":return n.source==t.source&&n.global==t.global&&n.multiline==t.multiline&&n.ignoreCase==t.ignoreCase}if("object"!=typeof n||"object"!=typeof t)return!1;for(var i=r.length;i--;)if(r[i]==n)return e[i]==t;var a=n.constructor,o=t.constructor;if(a!==o&&!(j.isFunction(a)&&a instanceof a&&j.isFunction(o)&&o instanceof o))return!1;r.push(n),e.push(t);var c=0,f=!0;if("[object Array]"==u){if(c=n.length,f=c==t.length)for(;c--&&(f=S(n[c],t[c],r,e)););}else{for(var s in n)if(j.has(n,s)&&(c++,!(f=j.has(t,s)&&S(n[s],t[s],r,e))))break;if(f){for(s in t)if(j.has(t,s)&&!c--)break;f=!c}}return r.pop(),e.pop(),f};j.isEqual=function(n,t){return S(n,t,[],[])},j.isEmpty=function(n){if(null==n)return!0;if(j.isArray(n)||j.isString(n))return 0===n.length;for(var t in n)if(j.has(n,t))return!1;return!0},j.isElement=function(n){return!(!n||1!==n.nodeType)},j.isArray=x||function(n){return"[object Array]"==l.call(n)},j.isObject=function(n){return n===Object(n)},A(["Arguments","Function","String","Number","Date","RegExp"],function(n){j["is"+n]=function(t){return l.call(t)=="[object "+n+"]"}}),j.isArguments(arguments)||(j.isArguments=function(n){return!(!n||!j.has(n,"callee"))}),"function"!=typeof/./&&(j.isFunction=function(n){return"function"==typeof n}),j.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},j.isNaN=function(n){return j.isNumber(n)&&n!=+n},j.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"==l.call(n)},j.isNull=function(n){return null===n},j.isUndefined=function(n){return n===void 0},j.has=function(n,t){return f.call(n,t)},j.noConflict=function(){return n._=t,this},j.identity=function(n){return n},j.times=function(n,t,r){for(var e=Array(Math.max(0,n)),u=0;n>u;u++)e[u]=t.call(r,u);return e},j.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))};var I={escape:{"&":"&","<":"<",">":">",'"':""","'":"'"}};I.unescape=j.invert(I.escape);var T={escape:new RegExp("["+j.keys(I.escape).join("")+"]","g"),unescape:new RegExp("("+j.keys(I.unescape).join("|")+")","g")};j.each(["escape","unescape"],function(n){j[n]=function(t){return null==t?"":(""+t).replace(T[n],function(t){return I[n][t]})}}),j.result=function(n,t){if(null==n)return void 0;var r=n[t];return j.isFunction(r)?r.call(n):r},j.mixin=function(n){A(j.functions(n),function(t){var r=j[t]=n[t];j.prototype[t]=function(){var n=[this._wrapped];return a.apply(n,arguments),z.call(this,r.apply(j,n))}})};var N=0;j.uniqueId=function(n){var t=++N+"";return n?n+t:t},j.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var q=/(.)^/,B={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\t|\u2028|\u2029/g;j.template=function(n,t,r){var e;r=j.defaults({},r,j.templateSettings);var u=new RegExp([(r.escape||q).source,(r.interpolate||q).source,(r.evaluate||q).source].join("|")+"|$","g"),i=0,a="__p+='";n.replace(u,function(t,r,e,u,o){return a+=n.slice(i,o).replace(D,function(n){return"\\"+B[n]}),r&&(a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'"),e&&(a+="'+\n((__t=("+e+"))==null?'':__t)+\n'"),u&&(a+="';\n"+u+"\n__p+='"),i=o+t.length,t}),a+="';\n",r.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{e=new Function(r.variable||"obj","_",a)}catch(o){throw o.source=a,o}if(t)return e(t,j);var c=function(n){return e.call(this,n,j)};return c.source="function("+(r.variable||"obj")+"){\n"+a+"}",c},j.chain=function(n){return j(n).chain()};var z=function(n){return this._chain?j(n).chain():n};j.mixin(j),A(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=e[n];j.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!=n&&"splice"!=n||0!==r.length||delete r[0],z.call(this,r)}}),A(["concat","join","slice"],function(n){var t=e[n];j.prototype[n]=function(){return z.call(this,t.apply(this._wrapped,arguments))}}),j.extend(j.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this); -//# sourceMappingURL=underscore-min.map \ No newline at end of file diff --git a/static/partials/main.html b/static/partials/main.html deleted file mode 100644 index c6097c6..0000000 --- a/static/partials/main.html +++ /dev/null @@ -1,241 +0,0 @@ -
- -
-
-
Select Cluster
-
Select Rules
-
Validate
-
- -
- Selected Cluster: -
{{selectedCluster.name}}
- -
-
- - - - -
- -
Add Cluster
- - -
-
-
- - - -
- Select Cluster - Select Cluster -
-
{{cluster.name}}
-

{{cluster.description}}

-
-
-
- - - - -
- -
- - - -
-
- - {{rule.name}} -
-
- {{rule.description}} -
-
-
- -
-
-
-
Cluster Name: {{selectedCluster.name}}
-
Rules selected: {{rules.length}}
- -
-
- -

Diagnostics Results

- -
-

- {{host.name}} -

- -
- Show only components with issues: -
- -
- -
-
- -
-
-
- Number of issues: {{component.issues.length || 0}} -
-
- {{component.name}} -
- - - -
-
-
-
- -
- -
-
- -
diff --git a/static/semantic-ui/packaged/css/semantic.css b/static/semantic-ui/packaged/css/semantic.css deleted file mode 100644 index 10acd27..0000000 --- a/static/semantic-ui/packaged/css/semantic.css +++ /dev/null @@ -1,14575 +0,0 @@ -/* - * # Semantic - Breadcrumb - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Breadcrumb -*******************************/ -.ui.breadcrumb { - margin: 1em 0em; - display: inline-block; - vertical-align: middle; -} -.ui.breadcrumb:first-child { - margin-top: 0em; -} -.ui.breadcrumb:last-child { - margin-bottom: 0em; -} -/******************************* - Content -*******************************/ -.ui.breadcrumb .divider { - display: inline-block; - opacity: 0.5; - margin: 0em 0.15em 0em; - font-size: 1em; - color: rgba(0, 0, 0, 0.3); -} -.ui.breadcrumb a.section { - cursor: pointer; -} -.ui.breadcrumb .section { - display: inline-block; - margin: 0em; - padding: 0em; -} -/* Loose Coupling */ -.ui.breadcrumb.segment { - display: inline-block; - padding: 0.5em 1em; -} -/******************************* - States -*******************************/ -.ui.breadcrumb .active.section { - font-weight: bold; -} -/******************************* - Variations -*******************************/ -.ui.small.breadcrumb { - font-size: 0.75em; -} -.ui.large.breadcrumb { - font-size: 1.1em; -} -.ui.huge.breadcrumb { - font-size: 1.3em; -} - -/* - * # Semantic - Form - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Standard -*******************************/ -/*-------------------- - Form ----------------------*/ -.ui.form { - position: relative; - max-width: 100%; -} -.ui.form :first-child { - margin-top: 0em; -} -.ui.form :last-child { - margin-bottom: 0em; -} -/*-------------------- - Content ----------------------*/ -.ui.form > p { - margin: 1em 0; -} -/*-------------------- - Field ----------------------*/ -.ui.form .field { - clear: both; - margin: 0em 0em 1em; -} -/*-------------------- - Labels ----------------------*/ -.ui.form .field > label { - margin: 0em 0em 0.3em; - display: block; - color: #555555; - font-size: 0.875em; -} -/*-------------------- - Standard Inputs ----------------------*/ -.ui.form textarea, -.ui.form select, -.ui.form input[type="text"], -.ui.form input[type="email"], -.ui.form input[type="date"], -.ui.form input[type="password"], -.ui.form input[type="number"], -.ui.form input[type="tel"], -.ui.form .ui.input { - width: 100%; -} -.ui.form textarea, -.ui.form select, -.ui.form input[type="text"], -.ui.form input[type="email"], -.ui.form input[type="date"], -.ui.form input[type="password"], -.ui.form input[type="number"], -.ui.form input[type="tel"] { - margin: 0em; - padding: 0.85em 1.2em; - font-size: 0.875em; - background-color: #FFFFFF; - border: 1px solid rgba(0, 0, 0, 0.15); - outline: none; - color: rgba(0, 0, 0, 0.7); - -webkit-border-radius: 0.3125em; - -moz-border-radius: 0.3125em; - border-radius: 0.3125em; - -webkit-transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - -moz-transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - -o-transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - -ms-transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - -webkit-box-shadow: 0em 0em 0em 0em rgba(0, 0, 0, 0.3) inset; - -moz-box-shadow: 0em 0em 0em 0em rgba(0, 0, 0, 0.3) inset; - box-shadow: 0em 0em 0em 0em rgba(0, 0, 0, 0.3) inset; - -webkit-appearance: none; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -.ui.textarea, -.ui.form textarea { - line-height: 1.33; - min-height: 8em; - height: 12em; - max-height: 24em; - resize: vertical; -} -.ui.form textarea, -.ui.form input[type="checkbox"] { - vertical-align: top; -} -/*-------------------- - Dividers ----------------------*/ -.ui.form .divider { - clear: both; - margin: 1em 0em; -} -/*-------------------- - Types of Messages ----------------------*/ -.ui.form .info.message, -.ui.form .warning.message, -.ui.form .error.message { - display: none; -} -/* Assumptions */ -.ui.form .message:first-child { - margin-top: 0px; -} -/*-------------------- - Validation Prompt ----------------------*/ -.ui.form .field .prompt.label { - white-space: nowrap; -} -.ui.form .inline.field .prompt { - margin-top: 0em; - margin-left: 1em; -} -.ui.form .inline.field .prompt:before { - margin-top: -0.3em; - bottom: auto; - right: auto; - top: 50%; - left: 0em; -} -/******************************* - States -*******************************/ -/*-------------------- - Focus ----------------------*/ -.ui.form input[type="text"]:focus, -.ui.form input[type="email"]:focus, -.ui.form input[type="date"]:focus, -.ui.form input[type="password"]:focus, -.ui.form input[type="number"]:focus, -.ui.form input[type="tel"]:focus, -.ui.form textarea:focus, -.ui.form select:focus { - color: rgba(0, 0, 0, 0.85); - border-color: rgba(0, 0, 0, 0.2); - border-bottom-left-radius: 0; - border-top-left-radius: 0; - -webkit-appearance: none; - -webkit-box-shadow: 0.3em 0em 0em 0em rgba(0, 0, 0, 0.2) inset; - -moz-box-shadow: 0.3em 0em 0em 0em rgba(0, 0, 0, 0.2) inset; - box-shadow: 0.3em 0em 0em 0em rgba(0, 0, 0, 0.2) inset; -} -/*-------------------- - Error ----------------------*/ -/* On Form */ -.ui.form.warning .warning.message { - display: block; -} -/*-------------------- - Warning ----------------------*/ -/* On Form */ -.ui.form.error .error.message { - display: block; -} -/* On Field(s) */ -.ui.form .fields.error .field label, -.ui.form .field.error label { - color: #D95C5C; -} -.ui.form .fields.error .field textarea, -.ui.form .fields.error .field input[type="text"], -.ui.form .fields.error .field input[type="email"], -.ui.form .fields.error .field input[type="date"], -.ui.form .fields.error .field input[type="password"], -.ui.form .fields.error .field input[type="number"], -.ui.form .fields.error .field input[type="tel"], -.ui.form .field.error textarea, -.ui.form .field.error input[type="text"], -.ui.form .field.error input[type="email"], -.ui.form .field.error input[type="date"], -.ui.form .field.error input[type="password"], -.ui.form .field.error input[type="number"], -.ui.form .field.error input[type="tel"] { - background-color: #FFFAFA; - border-color: #E7BEBE; - border-left: none; - color: #D95C5C; - padding-left: 1.2em; - border-bottom-left-radius: 0; - border-top-left-radius: 0; - -webkit-box-shadow: 0.3em 0em 0em 0em #D95C5C inset; - -moz-box-shadow: 0.3em 0em 0em 0em #D95C5C inset; - box-shadow: 0.3em 0em 0em 0em #D95C5C inset; -} -.ui.form .field.error textarea:focus, -.ui.form .field.error input[type="text"]:focus, -.ui.form .field.error input[type="email"]:focus, -.ui.form .field.error input[type="date"]:focus, -.ui.form .field.error input[type="password"]:focus, -.ui.form .field.error input[type="number"]:focus, -.ui.form .field.error input[type="tel"]:focus { - border-color: #ff5050; - color: #ff5050; - -webkit-appearance: none; - -webkit-box-shadow: 0.3em 0em 0em 0em #FF5050 inset; - -moz-box-shadow: 0.3em 0em 0em 0em #FF5050 inset; - box-shadow: 0.3em 0em 0em 0em #FF5050 inset; -} -/*-------------------- - Empty (Placeholder) ----------------------*/ -/* browsers require these rules separate */ -.ui.form ::-webkit-input-placeholder { - color: #E0E0E0; -} -.ui.form ::-moz-placeholder { - color: #E0E0E0; -} -.ui.form :focus::-webkit-input-placeholder { - color: #AAAAAA; -} -.ui.form :focus::-moz-placeholder { - color: #AAAAAA; -} -/* Error Placeholder */ -.ui.form .error ::-webkit-input-placeholder { - color: rgba(255, 80, 80, 0.4); -} -.ui.form .error ::-moz-placeholder { - color: rgba(255, 80, 80, 0.4); -} -.ui.form .error :focus::-webkit-input-placeholder { - color: rgba(255, 80, 80, 0.7); -} -.ui.form .error :focus::-moz-placeholder { - color: rgba(255, 80, 80, 0.7); -} -/*-------------------- - Disabled ----------------------*/ -.ui.form .field :disabled, -.ui.form .field.disabled { - opacity: 0.5; -} -.ui.form .field.disabled label { - opacity: 0.5; -} -.ui.form .field.disabled :disabled { - opacity: 1; -} -/*-------------------- - Loading State ----------------------*/ -/* On Form */ -.ui.form.loading { - position: relative; -} -.ui.form.loading:after { - position: absolute; - top: 0%; - left: 0%; - content: ''; - width: 100%; - height: 100%; - background: rgba(255, 255, 255, 0.8) url(../images/loader-large.gif) no-repeat 50% 50%; - visibility: visible; -} -/******************************* - Variations -*******************************/ -/*-------------------- - Fluid Width ----------------------*/ -.ui.form.fluid { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -/*-------------------------- - Input w/ attached Button ----------------------------*/ -.ui.form input.attached { - width: auto; -} -/*-------------------- - Date Input ----------------------*/ -.ui.form .date.field > label { - position: relative; -} -.ui.form .date.field > label:after { - position: absolute; - top: 2em; - right: 0.5em; - font-family: 'Icons'; - content: '\f133'; - font-size: 1.2em; - font-weight: normal; - color: #CCCCCC; -} -/*-------------------- - Inverted Colors ----------------------*/ -.ui.inverted.form label { - color: #FFFFFF; -} -.ui.inverted.form .field.error textarea, -.ui.inverted.form .field.error input[type="text"], -.ui.inverted.form .field.error input[type="email"], -.ui.inverted.form .field.error input[type="date"], -.ui.inverted.form .field.error input[type="password"], -.ui.inverted.form .field.error input[type="number"], -.ui.inverted.form .field.error input[type="tel"] { - background-color: #FFCCCC; -} -/*-------------------- - Field Groups ----------------------*/ -/* Grouped Vertically */ -.ui.form .grouped.fields { - margin: 0em 0em 1em; -} -.ui.form .grouped.fields .field { - display: block; - float: none; - margin: 0.5em 0em; - padding: 0em; -} -/*-------------------- - Fields ----------------------*/ -/* Split fields */ -.ui.form .fields { - clear: both; -} -.ui.form .fields:after { - content: ' '; - display: block; - clear: both; - visibility: hidden; - line-height: 0; - height: 0; -} -.ui.form .fields > .field { - clear: none; - float: left; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -.ui.form .fields > .field:first-child { - border-left: none; - box-shadow: none; -} -/* Other Combinations */ -.ui.form .two.fields > .fields, -.ui.form .two.fields > .field { - width: 50%; - padding-left: 1%; - padding-right: 1%; -} -.ui.form .three.fields > .fields, -.ui.form .three.fields > .field { - width: 33.333%; - padding-left: 1%; - padding-right: 1%; -} -.ui.form .four.fields > .fields, -.ui.form .four.fields > .field { - width: 25%; - padding-left: 1%; - padding-right: 1%; -} -.ui.form .five.fields > .fields, -.ui.form .five.fields > .field { - width: 20%; - padding-left: 1%; - padding-right: 1%; -} -.ui.form .fields .field:first-child { - padding-left: 0%; -} -.ui.form .fields .field:last-child { - padding-right: 0%; -} -/*-------------------- - Inline Fields ----------------------*/ -.ui.form .inline.fields .field { - min-height: 1.3em; - margin-right: 0.5em; -} -.ui.form .inline.fields .field > label, -.ui.form .inline.fields .field > p, -.ui.form .inline.fields .field > input, -.ui.form .inline.field > label, -.ui.form .inline.field > p, -.ui.form .inline.field > input { - display: inline-block; - width: auto; - margin-top: 0em; - margin-bottom: 0em; - vertical-align: middle; - font-size: 1em; -} -.ui.form .inline.fields .field > input, -.ui.form .inline.field > input { - font-size: 0.875em; -} -.ui.form .inline.fields .field > :first-child, -.ui.form .inline.field > :first-child { - margin: 0em 0.5em 0em 0em; -} -.ui.form .inline.fields .field > :only-child, -.ui.form .inline.field > :only-child { - margin: 0em; -} -/*-------------------- - Sizes ----------------------*/ -/* Standard */ -.ui.small.form { - font-size: 0.875em; -} -.ui.small.form textarea, -.ui.small.form input[type="text"], -.ui.small.form input[type="email"], -.ui.small.form input[type="date"], -.ui.small.form input[type="password"], -.ui.small.form input[type="number"], -.ui.small.form input[type="tel"], -.ui.small.form label, -.ui.small.form select { - font-size: 1em; -} -/* Large */ -.ui.large.form { - font-size: 1.125em; -} - -/* - * # Semantic - Grid - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Grid -*******************************/ -.ui.grid { - display: block; - text-align: left; - font-size: 0em; - margin: 0% -1.5%; - padding: 0%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -body > .ui.grid { - margin-left: 0%; - margin-right: 0%; -} -.ui.grid:after, -.ui.row:after { - content: "."; - display: block; - height: 0; - clear: both; - visibility: hidden; -} -/*------------------- - Columns ---------------------*/ -.ui.grid > .column, -.ui.grid > .row > .column { - display: inline-block; - text-align: left; - font-size: 1rem; - padding-left: 1.5%; - padding-right: 1.5%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - vertical-align: top; -} -/*------------------- - Rows ---------------------*/ -.ui.grid > .row { - display: block; - width: 100% !important; - margin-top: 1.5%; - padding: 1.5% 0% 0%; - font-size: 0rem; -} -.ui.grid > .row:first-child { - padding-top: 0rem; - margin-top: 0rem; -} -/*------------------- - Content ---------------------*/ -.ui.grid > .row > img, -.ui.grid > .row > .column > img { - max-width: 100%; -} -.ui.grid .column > .ui.segment:only-child { - margin: 0em; -} -/******************************* - Variations -*******************************/ -/*----------------------- - Page Grid (Responsive) --------------------------*/ -.ui.page.grid { - min-width: 320px; - margin-left: 0%; - margin-right: 0%; -} -@media only screen and (max-width: 998px) { - .ui.page.grid { - padding: 0% 4%; - } -} -@media only screen and (min-width: 998px) { - .ui.page.grid { - padding: 0% 8%; - } -} -@media only screen and (min-width: 1500px) { - .ui.page.grid { - padding: 0% 13%; - } -} -@media only screen and (min-width: 1750px) { - .ui.page.grid { - padding: 0% 18%; - } -} -@media only screen and (min-width: 2000px) { - .ui.page.grid { - padding: 0% 23%; - } -} -/*------------------- - Column Width ---------------------*/ -/* Sizing Combinations */ -.ui.grid > .row > .one.wide.column, -.ui.grid > .one.wide.column { - width: 6.25%; -} -.ui.grid > .row > .two.wide.column, -.ui.grid > .two.wide.column { - width: 12.5%; -} -.ui.grid > .row > .three.wide.column, -.ui.grid > .three.wide.column { - width: 18.75%; -} -.ui.grid > .row > .four.wide.column, -.ui.grid > .four.wide.column { - width: 25%; -} -.ui.grid > .row > .five.wide.column, -.ui.grid > .five.wide.column { - width: 31.25%; -} -.ui.grid > .row > .six.wide.column, -.ui.grid > .six.wide.column { - width: 37.5%; -} -.ui.grid > .row > .seven.wide.column, -.ui.grid > .seven.wide.column { - width: 43.75%; -} -.ui.grid > .row > .eight.wide.column, -.ui.grid > .eight.wide.column { - width: 50%; -} -.ui.grid > .row > .nine.wide.column, -.ui.grid > .nine.wide.column { - width: 56.25%; -} -.ui.grid > .row > .ten.wide.column, -.ui.grid > .ten.wide.column { - width: 62.5%; -} -.ui.grid > .row > .eleven.wide.column, -.ui.grid > .eleven.wide.column { - width: 68.75%; -} -.ui.grid > .row > .twelve.wide.column, -.ui.grid > .twelve.wide.column { - width: 75%; -} -.ui.grid > .row > .thirteen.wide.column, -.ui.grid > .thirteen.wide.column { - width: 81.25%; -} -.ui.grid > .row > .fourteen.wide.column, -.ui.grid > .fourteen.wide.column { - width: 87.5%; -} -.ui.grid > .row > .fifteen.wide.column, -.ui.grid > .fifteen.wide.column { - width: 93.75%; -} -.ui.grid > .row > .sixteen.wide.column, -.ui.grid > .sixteen.wide.column { - width: 100%; -} -/*------------------- - Column Count ---------------------*/ -/* Standard */ -.ui.grid > .column, -.ui.grid > .row > .column { - width: 6.25%; -} -/* Assume full width with one column */ -.ui.one.column.grid > .row > .column, -.ui.one.column.grid > .column, -.ui.grid > .one.column.row > .column { - width: 100%; -} -.ui.two.column.grid > .row > .column, -.ui.two.column.grid > .column, -.ui.grid > .two.column.row > .column { - width: 50%; -} -.ui.three.column.grid > .row > .column, -.ui.three.column.grid > .column, -.ui.grid > .three.column.row > .column { - width: 33.3333%; -} -.ui.four.column.grid > .row > .column, -.ui.four.column.grid > .column, -.ui.grid > .four.column.row > .column { - width: 25%; -} -.ui.five.column.grid > .row > .column, -.ui.five.column.grid > .column, -.ui.grid > .five.column.row > .column { - width: 20%; -} -.ui.six.column.grid > .row > .column, -.ui.six.column.grid > .column, -.ui.grid > .six.column.row > .column { - width: 16.66667%; -} -.ui.seven.column.grid > .row > .column, -.ui.seven.column.grid > .column, -.ui.grid > .seven.column.row > .column { - width: 14.2857%; -} -.ui.eight.column.grid > .row > .column, -.ui.eight.column.grid > .column, -.ui.grid > .eight.column.row > .column { - width: 12.5%; -} -.ui.nine.column.grid > .row > .column, -.ui.nine.column.grid > .column, -.ui.grid > .nine.column.row > .column { - width: 11.1111%; -} -.ui.ten.column.grid > .row > .column, -.ui.ten.column.grid > .column, -.ui.grid > .ten.column.row > .column { - width: 10%; -} -.ui.eleven.column.grid > .row > .column, -.ui.eleven.column.grid > .column, -.ui.grid > .eleven.column.row > .column { - width: 9.0909%; -} -.ui.twelve.column.grid > .row > .column, -.ui.twelve.column.grid > .column, -.ui.grid > .twelve.column.row > .column { - width: 8.3333%; -} -.ui.thirteen.column.grid > .row > .column, -.ui.thirteen.column.grid > .column, -.ui.grid > .thirteen.column.row > .column { - width: 7.6923%; -} -.ui.fourteen.column.grid > .row > .column, -.ui.fourteen.column.grid > .column, -.ui.grid > .fourteen.column.row > .column { - width: 7.1428%; -} -.ui.fifteen.column.grid > .row > .column, -.ui.fifteen.column.grid > .column, -.ui.grid > .fifteen.column.row > .column { - width: 6.6666%; -} -.ui.sixteen.column.grid > .row > .column, -.ui.sixteen.column.grid > .column, -.ui.grid > .sixteen.column.row > .column { - width: 6.25%; -} -/* Assume full width with one column */ -.ui.grid > .column:only-child, -.ui.grid > .row > .column:only-child { - width: 100%; -} -/*---------------------- - Relaxed ------------------------*/ -.ui.relaxed.grid { - margin: 0% -2.5%; -} -.ui.relaxed.grid > .column, -.ui.relaxed.grid > .row > .column { - padding-left: 2.5%; - padding-right: 2.5%; -} -/*---------------------- - "Floated" ------------------------*/ -.ui.grid .left.floated.column { - float: left; -} -.ui.grid .right.floated.column { - float: right; -} -/*---------------------- - Divided ------------------------*/ -.ui.divided.grid, -.ui.divided.grid > .row { - display: table; - width: 100%; - margin-left: 0% !important; - margin-right: 0% !important; -} -.ui.divided.grid > .column:not(.row), -.ui.divided.grid > .row > .column { - display: table-cell; - -webkit-box-shadow: -1px 0px 0px 0px rgba(0, 0, 0, 0.1), -2px 0px 0px 0px rgba(255, 255, 255, 0.8); - -moz-box-shadow: -1px 0px 0px 0px rgba(0, 0, 0, 0.1), -2px 0px 0px 0px rgba(255, 255, 255, 0.8); - box-shadow: -1px 0px 0px 0px rgba(0, 0, 0, 0.1), -2px 0px 0px 0px rgba(255, 255, 255, 0.8); -} -.ui.divided.grid > .column.row { - display: table; -} -.ui.divided.grid > .column:first-child, -.ui.divided.grid > .row > .column:first-child { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/* Vertically Divided */ -.ui.vertically.divided.grid > .row { - -webkit-box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(255, 255, 255, 0.8) !important; - -moz-box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(255, 255, 255, 0.8) !important; - box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(255, 255, 255, 0.8) !important; -} -.ui.vertically.divided.grid > .row > .column, -.ui.vertically.divided.grid > .column:not(.row), -.ui.vertically.divided.grid > .row:first-child { - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -/*---------------------- - Celled ------------------------*/ -.ui.celled.grid { - display: table; - width: 100%; - margin-left: 0% !important; - margin-right: 0% !important; - -webkit-box-shadow: 0px 0px 0px 1px #DFDFDF; - -moz-box-shadow: 0px 0px 0px 1px #DFDFDF; - box-shadow: 0px 0px 0px 1px #DFDFDF; -} -.ui.celled.grid > .row, -.ui.celled.grid > .column.row, -.ui.celled.grid > .column.row:first-child { - display: table; - width: 100%; - margin-top: 0em; - padding-top: 0em; - -webkit-box-shadow: 0px -1px 0px 0px #dfdfdf; - -moz-box-shadow: 0px -1px 0px 0px #dfdfdf; - box-shadow: 0px -1px 0px 0px #dfdfdf; -} -.ui.celled.grid > .column:not(.row), -.ui.celled.grid > .row > .column { - display: table-cell; - padding: 0.75em; - -webkit-box-shadow: -1px 0px 0px 0px #dfdfdf; - -moz-box-shadow: -1px 0px 0px 0px #dfdfdf; - box-shadow: -1px 0px 0px 0px #dfdfdf; -} -.ui.celled.grid > .column:first-child, -.ui.celled.grid > .row > .column:first-child { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.celled.page.grid { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*---------------------- - Horizontally Centered ------------------------*/ -/* Vertical Centered */ -.ui.left.aligned.grid, -.ui.left.aligned.grid > .row > .column, -.ui.left.aligned.grid > .column, -.ui.grid .left.aligned.column, -.ui.grid > .left.aligned.row > .column { - text-align: left; -} -.ui.center.aligned.grid, -.ui.center.aligned.grid > .row > .column, -.ui.center.aligned.grid > .column, -.ui.grid .center.aligned.column, -.ui.grid > .center.aligned.row > .column { - text-align: center; -} -.ui.right.aligned.grid, -.ui.right.aligned.grid > .row > .column, -.ui.right.aligned.grid > .column, -.ui.grid .right.aligned.column, -.ui.grid > .right.aligned.row > .column { - text-align: right; -} -/*---------------------- - Vertically Centered ------------------------*/ -/* Vertical Centered */ -.ui.top.aligned.grid, -.ui.top.aligned.grid > .row > .column, -.ui.top.aligned.grid > .column, -.ui.grid .top.aligned.column, -.ui.grid > .top.aligned.row > .column { - vertical-align: top; -} -.ui.middle.aligned.grid, -.ui.middle.aligned.grid > .row > .column, -.ui.middle.aligned.grid > .column, -.ui.grid .middle.aligned.column, -.ui.grid > .middle.aligned.row > .column { - vertical-align: middle; -} -.ui.bottom.aligned.grid, -.ui.bottom.aligned.grid > .row > .column, -.ui.bottom.aligned.grid > .column, -.ui.grid .bottom.aligned.column, -.ui.grid > .bottom.aligned.row > .column { - vertical-align: bottom; -} -/*---------------------- - Equal Height Columns ------------------------*/ -.ui.grid > .equal.height.row { - display: table; - width: 100%; -} -.ui.grid > .equal.height.row > .column { - display: table-cell; -} -/*---------------------- - Only (Device) ------------------------*/ -/* Mobile Only */ -@media only screen and (max-width: 768px) { - .ui.mobile.only.grid, - .ui.grid > .mobile.only.row { - display: block !important; - } - .ui.grid > .row > .mobile.only.column { - display: inline-block !important; - } - .ui.divided.mobile.only.grid, - .ui.celled.mobile.only.grid, - .ui.divided.mobile.only.grid .row, - .ui.celled.mobile.only.grid .row, - .ui.divided.grid .mobile.only.row, - .ui.celled.grid .mobile.only.row, - .ui.grid .mobile.only.equal.height.row, - .ui.mobile.only.grid .equal.height.row { - display: table !important; - } - .ui.divided.grid > .row > .mobile.only.column, - .ui.celled.grid > .row > .mobile.only.column, - .ui.divided.mobile.only.grid > .row > .column, - .ui.celled.mobile.only.grid > .row > .column, - .ui.divided.mobile.only.grid > .column, - .ui.celled.mobile.only.grid > .column { - display: table-cell !important; - } -} -@media only screen and (min-width: 768px) { - .ui.mobile.only.grid, - .ui.grid > .mobile.only.row, - .ui.grid > .row > .mobile.only.column { - display: none; - } -} -/* Tablet Only */ -@media only screen and (min-width: 768px) and (max-width: 998px) { - .ui.tablet.only.grid, - .ui.grid > .tablet.only.row { - display: block !important; - } - .ui.grid > .row > .tablet.only.column { - display: inline-block !important; - } - .ui.divided.tablet.only.grid, - .ui.celled.tablet.only.grid, - .ui.divided.tablet.only.grid .row, - .ui.celled.tablet.only.grid .row, - .ui.divided.grid .tablet.only.row, - .ui.celled.grid .tablet.only.row, - .ui.grid .tablet.only.equal.height.row, - .ui.tablet.only.grid .equal.height.row { - display: table !important; - } - .ui.divided.grid > .row > .tablet.only.column, - .ui.celled.grid > .row > .tablet.only.column, - .ui.divided.tablet.only.grid > .row > .column, - .ui.celled.tablet.only.grid > .row > .column, - .ui.divided.tablet.only.grid > .column, - .ui.celled.tablet.only.grid > .column { - display: table-cell !important; - } -} -@media only screen and (max-width: 768px), (min-width: 998px) { - .ui.tablet.only.grid, - .ui.grid > .tablet.only.row, - .ui.grid > .row > .tablet.only.column { - display: none; - } -} -/* Computer Only */ -@media only screen and (min-width: 998px) { - .ui.computer.only.grid, - .ui.grid > .computer.only.row { - display: block !important; - } - .ui.grid > .row > .computer.only.column { - display: inline-block !important; - } - .ui.divided.computer.only.grid, - .ui.celled.computer.only.grid, - .ui.divided.computer.only.grid .row, - .ui.celled.computer.only.grid .row, - .ui.divided.grid .computer.only.row, - .ui.celled.grid .computer.only.row, - .ui.grid .computer.only.equal.height.row, - .ui.computer.only.grid .equal.height.row { - display: table !important; - } - .ui.divided.grid > .row > .computer.only.column, - .ui.celled.grid > .row > .computer.only.column, - .ui.divided.computer.only.grid > .row > .column, - .ui.celled.computer.only.grid > .row > .column, - .ui.divided.computer.only.grid > .column, - .ui.celled.computer.only.grid > .column { - display: table-cell !important; - } -} -@media only screen and (max-width: 998px) { - .ui.computer.only.grid, - .ui.grid > .computer.only.row, - .ui.grid > .row > .computer.only.column { - display: none; - } -} -/*------------------- - Stackable ---------------------*/ -@media only screen and (max-width: 768px) { - .ui.stackable.grid { - display: block !important; - padding: 0em; - } - .ui.stackable.grid .row > .column, - .ui.stackable.grid > .column { - display: block !important; - width: auto !important; - margin: 1.5em 5% 0em !important; - padding: 1.5em 0em 0em !important; - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; - } - .ui.stackable.divided.grid .column, - .ui.stackable.celled.grid .column { - border-top: 1px dotted rgba(0, 0, 0, 0.1); - } - .ui.stackable.grid > .row:first-child > .column:first-child, - .ui.stackable.grid > .column:first-child { - margin-top: 0em !important; - padding-top: 0em !important; - } - .ui.stackable.divided.grid > .row:first-child > .column:first-child, - .ui.stackable.celled.grid > .row:first-child > .column:first-child, - .ui.stackable.divided.grid > .column:first-child, - .ui.stackable.celled.grid > .column:first-child { - border-top: none !important; - } - /* Remove pointers from vertical menus */ - .ui.stackable.grid .vertical.pointing.menu .item:after { - display: none; - } -} - -/* - * # Semantic - Menu - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Standard -*******************************/ -/*-------------- - Menu ----------------*/ -.ui.menu { - margin: 1rem 0rem; - background-color: #FFFFFF; - font-size: 0px; - font-weight: normal; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - -webkit-border-radius: 0.1875rem; - -moz-border-radius: 0.1875rem; - border-radius: 0.1875rem; -} -.ui.menu:first-child { - margin-top: 0rem; -} -.ui.menu:last-child { - margin-bottom: 0rem; -} -.ui.menu:after { - content: "."; - display: block; - height: 0; - clear: both; - visibility: hidden; -} -.ui.menu > .item:first-child { - border-radius: 0.1875em 0px 0px 0.1875em; -} -.ui.menu > .item:last-child { - border-radius: 0px 0.1875em 0.1875em 0px; -} -.ui.menu .item { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - vertical-align: middle; - line-height: 1; - text-decoration: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -webkit-transition: opacity 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; - -moz-transition: opacity 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; - -o-transition: opacity 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; - -ms-transition: opacity 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; - transition: opacity 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; -} -/*-------------- - Colors ----------------*/ -/* Text Color */ -.ui.menu .item, -.ui.menu .item > a { - color: rgba(0, 0, 0, 0.75); -} -.ui.menu .item .item, -.ui.menu .item .item > a { - color: rgba(30, 30, 30, 0.7); -} -.ui.menu .item .item .item, -.ui.menu .item .item .item > a { - color: rgba(30, 30, 30, 0.6); -} -.ui.menu .dropdown.item .menu .item, -.ui.menu .dropdown.item .menu .item a { - color: rgba(0, 0, 0, 0.75); -} -/* Hover */ -.ui.menu .item .menu a.item:hover, -.ui.menu .item .menu a.item.hover, -.ui.menu .item .menu .link.item:hover, -.ui.menu .item .menu .link.item.hover { - color: rgba(0, 0, 0, 0.85); -} -.ui.menu .dropdown.item .menu .item a:hover { - color: rgba(0, 0, 0, 0.85); -} -/* Active */ -.ui.menu .active.item, -.ui.menu .active.item a { - color: rgba(0, 0, 0, 0.85); - -moz-border-radius: 0px; - -webkit-border-radius: 0px; - border-radius: 0px; -} -/*-------------- - Items ----------------*/ -.ui.menu .item { - position: relative; - display: inline-block; - padding: 0.83em 0.95em; - border-top: 0em solid rgba(0, 0, 0, 0); - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -moz-user-select: -moz-none; - -khtml-user-select: none; - user-select: none; -} -.ui.menu .menu { - margin: 0em; -} -.ui.menu .item.left, -.ui.menu .menu.left { - float: left; -} -.ui.menu .item.right, -.ui.menu .menu.right { - float: right; -} -/*-------------- - Borders ----------------*/ -.ui.menu .item:before { - position: absolute; - content: ''; - top: 0%; - right: 0px; - width: 1px; - height: 100%; - background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.05) 100%); - background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.05) 100%); - background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.05) 100%); - background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.05) 100%); - background-image: linear-gradient(top, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.05) 100%); -} -.ui.menu .menu.right .item:before, -.ui.menu .item.right:before { - right: auto; - left: 0px; -} -/*-------------- - Text Content ----------------*/ -.ui.menu .text.item > *, -.ui.menu .item > p:only-child { - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; - line-height: 1.3; - color: rgba(0, 0, 0, 0.6); -} -.ui.menu .item > p:first-child { - margin-top: 0px; -} -.ui.menu .item > p:last-child { - margin-bottom: 0px; -} -/*-------------- - Button ----------------*/ -.ui.menu:not(.vertical) .item > .button { - position: relative; - top: -0.05em; - margin: -0.55em 0; - padding-bottom: 0.55em; - padding-top: 0.55em; - font-size: 0.875em; - box-shadow: none; -} -/*-------------- - Inputs ----------------*/ -.ui.menu:not(.vertical) .item > .input { - margin-top: -0.83em; - margin-bottom: -0.83em; - padding-top: 0.3em; - padding-bottom: 0.3em; - width: 100%; -} -.ui.menu .item > .input input { - padding-top: 0.5em; - padding-bottom: 0.5em; -} -.ui.vertical.menu .item > .input input { - margin: 0em; - padding-top: 0.63em; - padding-bottom: 0.63em; -} -.ui.vertical.menu .ui.input > .icon { - padding-top: 0.63em; -} -/*-------------- - Header ----------------*/ -.ui.menu .header.item { - background-color: rgba(0, 0, 0, 0.04); - margin: 0em; -} -.ui.vertical.menu .header.item { - font-weight: bold; -} -/*-------------- - Dropdowns ----------------*/ -.ui.menu .dropdown.item .menu { - left: 1px; - margin: 1px 0px 0px 0px; - min-width: calc(99%); - box-shadow: 0 1px 1px 1px #DDDDDD; -} -.ui.menu .simple.dropdown.item .menu { - margin: 0px !important; -} -.ui.menu .dropdown.item .menu .item { - width: 100%; - color: rgba(0, 0, 0, 0.75); -} -.ui.menu .dropdown.item .menu .active.item { - box-shadow: none !important; -} -.ui.menu .ui.dropdown .menu .item:before { - display: none; -} -/*-------------- - Labels ----------------*/ -.ui.menu .item > .label { - background-color: rgba(0, 0, 0, 0.35); - color: #FFFFFF; - margin: -0.15em 0em -0.15em 0.5em; - padding: 0.3em 0.8em; - vertical-align: baseline; -} -.ui.menu .item > .floating.label { - padding: 0.3em 0.8em; -} -/*-------------- - Images ----------------*/ -.ui.menu .item > img:only-child { - display: block; - max-width: 100%; - margin: 0em auto; -} -/******************************* - States -*******************************/ -/*-------------- - Hover ----------------*/ -.ui.link.menu .item:hover, -.ui.menu .item.hover, -.ui.menu .link.item:hover, -.ui.menu a.item:hover, -.ui.menu .ui.dropdown .menu .item.hover, -.ui.menu .ui.dropdown .menu .item:hover { - cursor: pointer; - background-color: rgba(0, 0, 0, 0.02); -} -.ui.menu .ui.dropdown.active { - background-color: rgba(0, 0, 0, 0.02); - -webkit-box-shadow: none; - box-shadow: none; - -webkit-border-bottom-right-radius: 0em; - -moz-border-bottom-right-radius: 0em; - border-bottom-right-radius: 0em; - -webkit-border-bottom-left-radius: 0em; - -moz-border-bottom-left-radius: 0em; - border-bottom-left-radius: 0em; -} -/*-------------- - Down ----------------*/ -.ui.link.menu .item:active, -.ui.menu .link.item:active, -.ui.menu a.item:active, -.ui.menu .ui.dropdown .menu .item:active { - background-color: rgba(0, 0, 0, 0.05); -} -/*-------------- - Active ----------------*/ -.ui.menu .active.item { - background-color: rgba(0, 0, 0, 0.01); - color: rgba(0, 0, 0, 0.95); - -webkit-box-shadow: 0em 0.2em 0em inset; - -moz-box-shadow: 0em 0.2em 0em inset; - box-shadow: 0em 0.2em 0em inset; -} -.ui.vertical.menu .active.item { - -webkit-border-radius: 0em; - -moz-border-radius: 0em; - border-radius: 0em; - -moz-box-shadow: 0.2em 0em 0em inset; - -webkit-box-shadow: 0.2em 0em 0em inset; - box-shadow: 0.2em 0em 0em inset; -} -.ui.vertical.menu > .active.item:first-child { - -webkit-border-radius: 0em 0.1875em 0em 0em; - -moz-border-radius: 0em 0.1875em 0em 0em; - border-radius: 0em 0.1875em 0em 0em; -} -.ui.vertical.menu > .active.item:last-child { - -webkit-border-radius: 0em 0em 0.1875em 0em; - -moz-border-radius: 0em 0em 0.1875em 0em; - border-radius: 0em 0em 0.1875em 0em; -} -.ui.vertical.menu > .active.item:only-child { - -webkit-border-radius: 0em 0.1875em 0.1875em 0em; - -moz-border-radius: 0em 0.1875em 0.1875em 0em; - border-radius: 0em 0.1875em 0.1875em 0em; -} -.ui.vertical.menu .active.item .menu .active.item { - border-left: none; -} -.ui.vertical.menu .active.item .menu .active.item { - padding-left: 1.5rem; -} -.ui.vertical.menu .item .menu .active.item { - background-color: rgba(0, 0, 0, 0.03); - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*-------------- - Disabled ----------------*/ -.ui.menu .item.disabled, -.ui.menu .item.disabled:hover, -.ui.menu .item.disabled.hover { - cursor: default; - color: rgba(0, 0, 0, 0.2); - background-color: transparent !important; -} -/*-------------------- - Loading ----------------------*/ -/* On Form */ -.ui.menu.loading { - position: relative; -} -.ui.menu.loading:after { - position: absolute; - top: 0%; - left: 0%; - content: ''; - width: 100%; - height: 100%; - background: rgba(255, 255, 255, 0.8) url(../images/loader-large.gif) no-repeat 50% 50%; - visibility: visible; -} -/******************************* - Types -*******************************/ -/*-------------- - Vertical ----------------*/ -.ui.vertical.menu .item { - display: block; - height: auto !important; - border-top: none; - border-left: 0em solid rgba(0, 0, 0, 0); - border-right: none; -} -.ui.vertical.menu > .item:first-child { - border-radius: 0.1875em 0.1875em 0px 0px; -} -.ui.vertical.menu > .item:last-child { - border-radius: 0px 0px 0.1875em 0.1875em; -} -.ui.vertical.menu .item > .label { - float: right; - min-width: 2.5; - text-align: center; -} -.ui.vertical.menu .item > .icon:not(.input) { - float: right; - width: 1.22em; - margin: 0em 0em 0em 0.5em; -} -.ui.vertical.menu .item > .label + .icon { - float: none; - margin: 0em 0.25em 0em 0em; -} -/*--- Border ---*/ -.ui.vertical.menu .item:before { - position: absolute; - content: ''; - top: 0%; - left: 0px; - width: 100%; - height: 1px; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.1) 1.5em, rgba(0, 0, 0, 0.03) 100%); - background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.1) 1.5em, rgba(0, 0, 0, 0.03) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.1) 1.5em, rgba(0, 0, 0, 0.03) 100%); - background-image: -ms-linear-gradient(left, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.1) 1.5em, rgba(0, 0, 0, 0.03) 100%); - background-image: linear-gradient(left, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.1) 1.5em, rgba(0, 0, 0, 0.03) 100%); -} -.ui.vertical.menu .item:first-child:before { - background-image: none !important; -} -/*--- Dropdown ---*/ -.ui.vertical.menu .dropdown.item > i { - float: right; - content: "\f0da"; -} -.ui.vertical.menu .dropdown.item .menu { - top: 0% !important; - left: 100%; - margin: 0px 0px 0px 1px; - box-shadow: 0 0px 1px 1px #DDDDDD; -} -.ui.vertical.menu .dropdown.item.active { - border-top-right-radius: 0em; - border-bottom-right-radius: 0em; -} -.ui.vertical.menu .dropdown.item .menu .item { - font-size: 1rem; -} -.ui.vertical.menu .dropdown.item .menu .item .icon { - margin-right: 0em; -} -.ui.vertical.menu .dropdown.item.active { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*--- Sub Menu ---*/ -.ui.vertical.menu .item > .menu { - margin: 0.5em -0.95em 0em; -} -.ui.vertical.menu .item > .menu > .item { - padding: 0.5rem 1.5rem; - font-size: 0.875em; -} -.ui.vertical.menu .item > .menu > .item:before { - display: none; -} -/*-------------- - Tiered ----------------*/ -.ui.tiered.menu > .sub.menu > .item { - color: rgba(0, 0, 0, 0.4); -} -.ui.tiered.menu > .menu > .item:hover, -.ui.tiered.menu > .menu > .item.hover { - color: rgba(0, 0, 0, 0.8); -} -.ui.tiered.menu .item.active { - color: rgba(0, 0, 0, 0.8); -} -.ui.tiered.menu > .menu .item.active:after { - position: absolute; - content: ''; - margin-top: -1px; - top: 100%; - left: 0px; - width: 100%; - height: 2px; - background-color: #FBFBFB; -} -.ui.tiered.menu .sub.menu { - background-color: rgba(0, 0, 0, 0.01); - border-radius: 0em; - border-top: 1px solid rgba(0, 0, 0, 0.1); - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - color: #FFFFFF; -} -.ui.tiered.menu .sub.menu .item { - font-size: 0.875rem; -} -.ui.tiered.menu .sub.menu .item:before { - background-image: none; -} -.ui.tiered.menu .sub.menu .active.item { - padding-top: 0.83em; - background-color: transparent; - border-radius: 0 0 0 0; - border-top: medium none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - color: rgba(0, 0, 0, 0.7) !important; -} -.ui.tiered.menu .sub.menu .active.item:after { - display: none; -} -/* Inverted */ -.ui.inverted.tiered.menu > .menu > .item { - color: rgba(255, 255, 255, 0.5); -} -.ui.inverted.tiered.menu .sub.menu { - background-color: rgba(0, 0, 0, 0.2); -} -.ui.inverted.tiered.menu .sub.menu .item { - color: rgba(255, 255, 255, 0.6); -} -.ui.inverted.tiered.menu > .menu > .item:hover, -.ui.inverted.tiered.menu > .menu > .item.hover { - color: rgba(255, 255, 255, 0.9); -} -.ui.inverted.tiered.menu .active.item:after { - display: none; -} -.ui.inverted.tiered.menu > .sub.menu > .active.item, -.ui.inverted.tiered.menu > .menu > .active.item { - color: #ffffff !important; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/* Tiered pointing */ -.ui.pointing.tiered.menu > .menu > .item:after { - display: none; -} -.ui.pointing.tiered.menu > .sub.menu > .item:after { - display: block; -} -/*-------------- - Tabular ----------------*/ -.ui.tabular.menu { - background-color: transparent; - border-bottom: 1px solid #DCDDDE; - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -.ui.tabular.menu .item { - background-color: transparent; - border-left: 1px solid transparent; - border-right: 1px solid transparent; - border-top: 1px solid transparent; - padding-left: 1.4em; - padding-right: 1.4em; - color: rgba(0, 0, 0, 0.6); -} -.ui.tabular.menu .item:before { - display: none; -} -/* Hover */ -.ui.tabular.menu .item:hover { - background-color: transparent; - color: rgba(0, 0, 0, 0.8); -} -/* Active */ -.ui.tabular.menu .active.item { - position: relative; - top: 1px; - background-color: #FFFFFF; - color: rgba(0, 0, 0, 0.8); - border-color: #DCDDDE; - padding-top: 0.83em; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - -webkit-border-radius: 5px 5px 0 0; - -moz-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} -/* Coupling with segment for attachment */ -.ui.attached.tabular.menu { - position: relative; - z-index: 2; -} -.ui.tabular.menu ~ .bottom.attached.segment { - margin: 1px 0px 0px 1px; -} -/*-------------- - Pagination ----------------*/ -.ui.pagination.menu { - margin: 0em; - display: inline-block; - vertical-align: middle; -} -.ui.pagination.menu .item { - min-width: 2.7em; - min-height: 2.7em; - text-align: center; -} -.ui.pagination.menu.floated { - display: block; -} -/* active */ -.ui.pagination.menu .active.item { - border-top: none; - padding-top: 0.83em; - background-color: rgba(0, 0, 0, 0.05); - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*-------------- - Secondary ----------------*/ -.ui.secondary.menu { - background-color: transparent; - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.secondary.menu > .menu > .item, -.ui.secondary.menu > .item { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - border: none; - height: auto !important; - margin: 0em 0.25em; - padding: 0.5em 1em; - -webkit-border-radius: 0.3125em; - -moz-border-radius: 0.3125em; - border-radius: 0.3125em; -} -.ui.secondary.menu > .menu > .item:before, -.ui.secondary.menu > .item:before { - display: none !important; -} -.ui.secondary.menu .item > .input input { - background-color: transparent; - border: none; -} -.ui.secondary.menu .link.item, -.ui.secondary.menu a.item { - opacity: 0.8; - -webkit-transition: none; - -moz-transition: none; - -o-transition: none; - -ms-transition: none; - transition: none; -} -.ui.secondary.menu .header.item { - border-right: 0.1em solid rgba(0, 0, 0, 0.1); - background-color: transparent; - -webkit-border-radius: 0em; - -moz-border-radius: 0em; - border-radius: 0em; -} -/* hover */ -.ui.secondary.menu .link.item:hover, -.ui.secondary.menu a.item:hover { - opacity: 1; -} -/* active */ -.ui.secondary.menu > .menu > .active.item, -.ui.secondary.menu > .active.item { - background-color: rgba(0, 0, 0, 0.08); - opacity: 1; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.secondary.vertical.menu > .active.item { - -webkit-border-radius: 0.3125em; - -moz-border-radius: 0.3125em; - border-radius: 0.3125em; -} -/* inverted */ -.ui.secondary.inverted.menu .link.item, -.ui.secondary.inverted.menu a.item { - color: rgba(255, 255, 255, 0.5); -} -.ui.secondary.inverted.menu .link.item:hover, -.ui.secondary.inverted.menu a.item:hover { - color: rgba(255, 255, 255, 0.9); -} -.ui.secondary.inverted.menu > .active.item { - background-color: rgba(255, 255, 255, 0.9); -} -/* disable variations */ -.ui.secondary.item.menu > .item { - margin: 0em; -} -.ui.secondary.attached.menu { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*--------------------- - Secondary Pointing ------------------------*/ -.ui.secondary.pointing.menu { - border-bottom: 3px solid rgba(0, 0, 0, 0.1); -} -.ui.secondary.pointing.menu > .menu > .item, -.ui.secondary.pointing.menu > .item { - margin: 0em 0em -3px; - padding: 0.6em 0.95em; - border-bottom: 3px solid rgba(0, 0, 0, 0); - -webkit-border-radius: 0em; - -moz-border-radius: 0em; - border-radius: 0em; - -webkit-transition: color 0.2s - ; - -moz-transition: color 0.2s - ; - -o-transition: color 0.2s - ; - -ms-transition: color 0.2s - ; - transition: color 0.2s - ; -} -/* Item Types */ -.ui.secondary.pointing.menu .header.item { - border-right-width: 0px; - font-weight: bold; -} -.ui.secondary.pointing.menu .text.item { - box-shadow: none !important; -} -.ui.secondary.pointing.menu > .menu > .item:after, -.ui.secondary.pointing.menu > .item:after { - display: none; -} -/* Hover */ -.ui.secondary.pointing.menu > .menu > .link.item:hover, -.ui.secondary.pointing.menu > .link.item:hover, -.ui.secondary.pointing.menu > .menu > a.item:hover, -.ui.secondary.pointing.menu > a.item:hover { - background-color: transparent; - color: rgba(0, 0, 0, 0.7); -} -/* Down */ -.ui.secondary.pointing.menu > .menu > .link.item:active, -.ui.secondary.pointing.menu > .link.item:active, -.ui.secondary.pointing.menu > .menu > a.item:active, -.ui.secondary.pointing.menu > a.item:active { - background-color: transparent; - border-color: rgba(0, 0, 0, 0.2); -} -/* Active */ -.ui.secondary.pointing.menu > .menu > .item.active, -.ui.secondary.pointing.menu > .item.active { - background-color: transparent; - border-color: rgba(0, 0, 0, 0.4); - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*--------------------- - Secondary Vertical ------------------------*/ -.ui.secondary.vertical.pointing.menu { - border: none; - border-right: 3px solid rgba(0, 0, 0, 0.1); -} -.ui.secondary.vertical.menu > .item { - border: none; - margin: 0em 0em 0.3em; - padding: 0.6em 0.8em; - -webkit-border-radius: 0.1875em; - -moz-border-radius: 0.1875em; - border-radius: 0.1875em; -} -.ui.secondary.vertical.menu > .header.item { - -webkit-border-radius: 0em; - -moz-border-radius: 0em; - border-radius: 0em; -} -.ui.secondary.vertical.pointing.menu > .item { - margin: 0em -3px 0em 0em; - border-bottom: none; - border-right: 3px solid transparent; - -webkit-border-radius: 0em; - -moz-border-radius: 0em; - border-radius: 0em; -} -/* Hover */ -.ui.secondary.vertical.pointing.menu > .item.hover, -.ui.secondary.vertical.pointing.menu > .item:hover { - background-color: transparent; - color: rgba(0, 0, 0, 0.7); -} -/* Down */ -.ui.secondary.vertical.pointing.menu > .item:active { - background-color: transparent; - border-color: rgba(0, 0, 0, 0.2); -} -/* Active */ -.ui.secondary.vertical.pointing.menu > .item.active { - background-color: transparent; - border-color: rgba(0, 0, 0, 0.4); - color: rgba(0, 0, 0, 0.85); -} -/*-------------- - Inverted ----------------*/ -.ui.secondary.inverted.menu { - background-color: transparent; -} -.ui.secondary.inverted.pointing.menu { - border-bottom: 3px solid rgba(255, 255, 255, 0.1); -} -.ui.secondary.inverted.pointing.menu > .item { - color: rgba(255, 255, 255, 0.7); -} -/* Hover */ -.ui.secondary.inverted.pointing.menu > .item.hover, -.ui.secondary.inverted.pointing.menu > .item:hover { - color: rgba(255, 255, 255, 0.85); -} -/* Down */ -.ui.secondary.inverted.pointing.menu > .item:active { - border-color: rgba(255, 255, 255, 0.4) !important; -} -/* Active */ -.ui.secondary.inverted.pointing.menu > .item.active { - border-color: rgba(255, 255, 255, 0.8) !important; - color: #ffffff; -} -/*--------------------- - Inverted Vertical -----------------------*/ -.ui.secondary.inverted.vertical.pointing.menu { - border-right: 3px solid rgba(255, 255, 255, 0.1); - border-bottom: none; -} -/*-------------- - Text Menu ----------------*/ -.ui.text.menu { - background-color: transparent; - margin: 1rem -1rem; - -moz-border-radius: 0px; - -webkit-border-radius: 0px; - border-radius: 0px; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.text.menu > .item { - opacity: 0.8; - margin: 0em 1em; - padding: 0em; - height: auto !important; - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - -webkit-transition: opacity 0.2s ease - ; - -moz-transition: opacity 0.2s ease - ; - -o-transition: opacity 0.2s ease - ; - -ms-transition: opacity 0.2s ease - ; - transition: opacity 0.2s ease - ; -} -.ui.text.menu > .item:before { - display: none !important; -} -.ui.text.menu .header.item { - background-color: transparent; - opacity: 1; - color: rgba(50, 50, 50, 0.8); - font-size: 0.875rem; - padding: 0em; - text-transform: uppercase; - font-weight: bold; -} -/*--- fluid text ---*/ -.ui.text.item.menu .item { - margin: 0em; -} -/*--- vertical text ---*/ -.ui.vertical.text.menu { - margin: 1rem 0em; -} -.ui.vertical.text.menu:first-child { - margin-top: 0rem; -} -.ui.vertical.text.menu:last-child { - margin-bottom: 0rem; -} -.ui.vertical.text.menu .item { - float: left; - clear: left; - margin: 0.5em 0em; -} -.ui.vertical.text.menu .item > .icon { - float: none; - margin: 0em 0.83em 0em 0em; -} -.ui.vertical.text.menu .header.item { - margin: 0.8em 0em; -} -/*--- hover ---*/ -.ui.text.menu .item.hover, -.ui.text.menu .item:hover { - opacity: 1; - background-color: transparent; -} -/*--- active ---*/ -.ui.text.menu .active.item { - background-color: transparent; - padding: 0em; - border: none; - opacity: 1; - font-weight: bold; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/* disable variations */ -.ui.text.pointing.menu .active.item:after { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.text.attached.menu { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.inverted.text.menu, -.ui.inverted.text.menu .item, -.ui.inverted.text.menu .item:hover, -.ui.inverted.text.menu .item.active { - background-color: transparent; -} -/*-------------- - Icon Only ----------------*/ -.ui.icon.menu, -.ui.vertical.icon.menu { - width: auto; - display: inline-block; - height: auto; -} -.ui.icon.menu > .item { - height: auto; - text-align: center; - color: rgba(60, 60, 60, 0.7); -} -.ui.icon.menu > .item > .icon { - display: block; - float: none !important; - opacity: 1; - margin: 0em auto !important; -} -.ui.icon.menu .icon:before { - opacity: 1; -} -/* Item Icon Only */ -.ui.menu .icon.item .icon { - margin: 0em; -} -.ui.vertical.icon.menu { - float: none; -} -/*--- inverted ---*/ -.ui.inverted.icon.menu .item { - color: rgba(255, 255, 255, 0.8); -} -.ui.inverted.icon.menu .icon { - color: #ffffff; -} -/*-------------- - Labeled Icon ----------------*/ -.ui.labeled.icon.menu { - text-align: center; -} -.ui.labeled.icon.menu > .item > .icon { - display: block; - font-size: 1.5em !important; - margin: 0em auto 0.3em !important; -} -/******************************* - Variations -*******************************/ -/*-------------- - Colors ----------------*/ -/*--- Light Colors ---*/ -.ui.menu .green.active.item, -.ui.green.menu .active.item { - border-color: #A1CF64 !important; - color: #A1CF64 !important; -} -.ui.menu .red.active.item, -.ui.red.menu .active.item { - border-color: #D95C5C !important; - color: #D95C5C !important; -} -.ui.menu .blue.active.item, -.ui.blue.menu .active.item { - border-color: #6ECFF5 !important; - color: #6ECFF5 !important; -} -.ui.menu .purple.active.item, -.ui.purple.menu .active.item { - border-color: #564F8A !important; - color: #564F8A !important; -} -.ui.menu .orange.active.item, -.ui.orange.menu .active.item { - border-color: #F05940 !important; - color: #F05940 !important; -} -.ui.menu .teal.active.item, -.ui.teal.menu .active.item { - border-color: #00B5AD !important; - color: #00B5AD !important; -} -/*-------------- - Inverted ----------------*/ -.ui.inverted.menu { - background-color: #333333; - box-shadow: none; -} -.ui.inverted.menu .header.item { - margin: 0em; - background-color: rgba(0, 0, 0, 0.3); - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.inverted.menu .item, -.ui.inverted.menu .item > a { - color: #FFFFFF; -} -.ui.inverted.menu .item .item, -.ui.inverted.menu .item .item > a { - color: rgba(255, 255, 255, 0.8); -} -.ui.inverted.menu .dropdown.item .menu .item, -.ui.inverted.menu .dropdown.item .menu .item a { - color: rgba(0, 0, 0, 0.75) !important; -} -.ui.inverted.menu .item.disabled, -.ui.inverted.menu .item.disabled:hover, -.ui.inverted.menu .item.disabled.hover { - color: rgba(255, 255, 255, 0.2); -} -/*--- Border ---*/ -.ui.inverted.menu .item:before { - background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%); - background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%); - background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%); - background-image: -ms-linear-gradient(top, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%); - background-image: linear-gradient(top, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%); -} -.ui.vertical.inverted.menu .item:before { - background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%); - background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%); - background-image: -o-linear-gradient(left, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%); - background-image: -ms-linear-gradient(left, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%); - background-image: linear-gradient(left, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%); -} -/*--- Hover ---*/ -.ui.link.inverted.menu .item:hover, -.ui.inverted.menu .item.hover, -.ui.inverted.menu .link.item:hover, -.ui.inverted.menu a.item:hover, -.ui.inverted.menu .dropdown.item.hover, -.ui.inverted.menu .dropdown.item:hover { - background-color: rgba(255, 255, 255, 0.1); -} -.ui.inverted.menu a.item:hover, -.ui.inverted.menu .item.hover, -.ui.inverted.menu .item > a:hover, -.ui.inverted.menu .item .menu a.item:hover, -.ui.inverted.menu .item .menu a.item.hover, -.ui.inverted.menu .item .menu .link.item:hover, -.ui.inverted.menu .item .menu .link.item.hover { - color: #ffffff; -} -/*--- Down ---*/ -.ui.inverted.menu a.item:active, -.ui.inverted.menu .dropdown.item:active, -.ui.inverted.menu .link.item:active, -.ui.inverted.menu a.item:active { - background-color: rgba(255, 255, 255, 0.15); -} -/*--- Active ---*/ -.ui.inverted.menu .active.item { - box-shadow: none !important; - background-color: rgba(255, 255, 255, 0.2); -} -.ui.inverted.menu .active.item, -.ui.inverted.menu .active.item a { - color: #ffffff !important; -} -.ui.inverted.vertical.menu .item .menu .active.item { - background-color: rgba(255, 255, 255, 0.2); - color: #ffffff; -} -/*--- Pointers ---*/ -.ui.inverted.pointing.menu .active.item:after { - background-color: #505050; - box-shadow: none; -} -.ui.inverted.pointing.menu .active.item:hover:after { - background-color: #3B3B3B; -} -/*-------------- - Selection ----------------*/ -.ui.selection.menu > .item { - color: rgba(0, 0, 0, 0.4); -} -.ui.selection.menu > .item:hover { - color: rgba(0, 0, 0, 0.6); -} -.ui.selection.menu > .item.active { - color: rgba(0, 0, 0, 0.85); -} -.ui.inverted.selection.menu > .item { - color: rgba(255, 255, 255, 0.4); -} -.ui.inverted.selection.menu > .item:hover { - color: rgba(255, 255, 255, 0.9); -} -.ui.inverted.selection.menu > .item.active { - color: #FFFFFF; -} -/*-------------- - Floated ----------------*/ -.ui.floated.menu { - float: left; - margin: 0rem 0.5rem 0rem 0rem; -} -.ui.right.floated.menu { - float: right; - margin: 0rem 0rem 0rem 0.5rem; -} -/*-------------- - Inverted Colors ----------------*/ -/*--- Light Colors ---*/ -.ui.grey.menu { - background-color: #F0F0F0; -} -/*--- Inverted Colors ---*/ -.ui.inverted.green.menu { - background-color: #A1CF64; -} -.ui.inverted.green.pointing.menu .active.item:after { - background-color: #A1CF64; -} -.ui.inverted.red.menu { - background-color: #D95C5C; -} -.ui.inverted.red.pointing.menu .active.item:after { - background-color: #F16883; -} -.ui.inverted.blue.menu { - background-color: #6ECFF5; -} -.ui.inverted.blue.pointing.menu .active.item:after { - background-color: #6ECFF5; -} -.ui.inverted.purple.menu { - background-color: #564F8A; -} -.ui.inverted.purple.pointing.menu .active.item:after { - background-color: #564F8A; -} -.ui.inverted.orange.menu { - background-color: #F05940; -} -.ui.inverted.orange.pointing.menu .active.item:after { - background-color: #F05940; -} -.ui.inverted.teal.menu { - background-color: #00B5AD; -} -.ui.inverted.teal.pointing.menu .active.item:after { - background-color: #00B5AD; -} -/*-------------- - Fitted ----------------*/ -.ui.fitted.menu .item, -.ui.fitted.menu .item .menu .item, -.ui.menu .fitted.item { - padding: 0em; -} -.ui.horizontally.fitted.menu .item, -.ui.horizontally.fitted.menu .item .menu .item, -.ui.menu .horizontally.fitted.item { - padding-top: 0.83em; - padding-bottom: 0.83em; -} -.ui.vertically.fitted.menu .item, -.ui.vertically.fitted.menu .item .menu .item, -.ui.menu .vertically.fitted.item { - padding-left: 0.95em; - padding-right: 0.95em; -} -/*-------------- - Borderless ----------------*/ -.ui.borderless.menu .item:before, -.ui.borderless.menu .item .menu .item:before, -.ui.menu .borderless.item:before { - background-image: none; -} -/*------------------- - Compact ---------------------*/ -.ui.compact.menu { - display: inline-block; - margin: 0em; - vertical-align: middle; -} -.ui.compact.vertical.menu { - width: auto !important; -} -.ui.compact.vertical.menu .item:last-child::before { - display: block; -} -/*------------------- - Fluid ---------------------*/ -.ui.menu.fluid, -.ui.vertical.menu.fluid { - display: block; - width: 100% !important; -} -/*------------------- - Evenly Sized ---------------------*/ -.ui.item.menu, -.ui.item.menu .item { - width: 100%; - padding-left: 0px !important; - padding-right: 0px !important; - text-align: center; -} -.ui.menu.two.item .item { - width: 50%; -} -.ui.menu.three.item .item { - width: 33.333%; -} -.ui.menu.four.item .item { - width: 25%; -} -.ui.menu.five.item .item { - width: 20%; -} -.ui.menu.six.item .item { - width: 16.666%; -} -.ui.menu.seven.item .item { - width: 14.285%; -} -.ui.menu.eight.item .item { - width: 12.500%; -} -.ui.menu.nine.item .item { - width: 11.11%; -} -.ui.menu.ten.item .item { - width: 10.0%; -} -.ui.menu.eleven.item .item { - width: 9.09%; -} -.ui.menu.twelve.item .item { - width: 8.333%; -} -/*-------------- - Fixed ----------------*/ -.ui.menu.fixed { - position: fixed; - z-index: 10; - margin: 0em; - border: none; - width: 100%; -} -.ui.menu.fixed, -.ui.menu.fixed .item:first-child, -.ui.menu.fixed .item:last-child { - -webkit-border-radius: 0px !important; - -moz-border-radius: 0px !important; - border-radius: 0px !important; -} -.ui.menu.fixed.top { - top: 0px; - left: 0px; - right: auto; - bottom: auto; -} -.ui.menu.fixed.right { - top: 0px; - right: 0px; - left: auto; - bottom: auto; - width: auto; - height: 100%; -} -.ui.menu.fixed.bottom { - bottom: 0px; - left: 0px; - top: auto; - right: auto; -} -.ui.menu.fixed.left { - top: 0px; - left: 0px; - right: auto; - bottom: auto; - width: auto; - height: 100%; -} -/*------------------- - Pointing ---------------------*/ -.ui.pointing.menu .active.item:after { - position: absolute; - bottom: -0.35em; - left: 50%; - content: ""; - margin-left: -0.3em; - width: 0.6em; - height: 0.6em; - border: none; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - border-right: 1px solid rgba(0, 0, 0, 0.1); - background-image: none; - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - transform: rotate(45deg); - z-index: 2; - -webkit-transition: background 0.2s ease - ; - -moz-transition: background 0.2s ease - ; - -o-transition: background 0.2s ease - ; - -ms-transition: background 0.2s ease - ; - transition: background 0.2s ease - ; -} -/* Don't double up pointers */ -.ui.pointing.menu .active.item .menu .active.item:after { - display: none; -} -.ui.vertical.pointing.menu .active.item:after { - position: absolute; - top: 50%; - margin-top: -0.3em; - right: -0.4em; - bottom: auto; - left: auto; - border: none; - border-top: 1px solid rgba(0, 0, 0, 0.1); - border-right: 1px solid rgba(0, 0, 0, 0.1); -} -/* Colors */ -.ui.pointing.menu .active.item:after { - background-color: #FCFCFC; -} -.ui.pointing.menu .active.item.hover:after, -.ui.pointing.menu .active.item:hover:after { - background-color: #FAFAFA; -} -.ui.vertical.pointing.menu .menu .active.item:after { - background-color: #F4F4F4; -} -.ui.pointing.menu a.active.item:active:after { - background-color: #F0F0F0; -} -/*-------------- - Attached ----------------*/ -.ui.menu.attached { - margin: 0rem; - -moz-border-radius: 0px; - -webkit-border-radius: 0px; - border-radius: 0px; - /* avoid rgba multiplying */ - - -moz-box-shadow: 0px 0px 0px 1px #DDDDDD; - -webkit-box-shadow: 0px 0px 0px 1px #DDDDDD; - box-shadow: 0px 0px 0px 1px #DDDDDD; -} -.ui.top.attached.menu { - -moz-border-radius: 0.1875em 0.1875em 0px 0px; - -webkit-border-radius: 0.1875em 0.1875em 0px 0px; - border-radius: 0.1875em 0.1875em 0px 0px; -} -.ui.menu.bottom.attached { - -moz-border-radius: 0px 0px 0.1875em 0.1875em; - -webkit-border-radius: 0px 0px 0.1875em 0.1875em; - border-radius: 0px 0px 0.1875em 0.1875em; -} -/*-------------- - Sizes ----------------*/ -.ui.small.menu .item { - font-size: 0.875rem; -} -.ui.small.menu:not(.vertical) .item > .input input { - padding-top: 0.4em; - padding-bottom: 0.4em; -} -.ui.small.vertical.menu { - width: 13rem; -} -.ui.menu .item { - font-size: 1rem; -} -.ui.vertical.menu { - width: 15rem; -} -.ui.large.menu .item { - font-size: 1.125rem; -} -.ui.large.menu .item .item { - font-size: 0.875rem; -} -.ui.large.menu:not(.vertical) .item > .input input { - top: -0.125em; - padding-bottom: 0.6em; - padding-top: 0.6em; -} -.ui.large.menu .dropdown.item .item { - font-size: 1rem; -} -.ui.large.vertical.menu { - width: 18rem; -} - -/* - * # Semantic - Message - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Message -*******************************/ -.ui.message { - position: relative; - min-height: 18px; - margin: 1em 0em; - height: auto; - background-color: #EFEFEF; - padding: 1em; - line-height: 1.33; - color: rgba(0, 0, 0, 0.6); - -webkit-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease; - -moz-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease; - -o-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease; - -ms-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease; - transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -webkit-border-radius: 0.325em 0.325em 0.325em 0.325em; - -moz-border-radius: 0.325em 0.325em 0.325em 0.325em; - border-radius: 0.325em 0.325em 0.325em 0.325em; -} -.ui.message:first-child { - margin-top: 0em; -} -.ui.message:last-child { - margin-bottom: 0em; -} -/*-------------- - Content ----------------*/ -/* block with headers */ -.ui.message .header { - margin: 0em; - font-size: 1.33em; - font-weight: bold; -} -/* block with paragraphs */ -.ui.message p { - opacity: 0.85; - margin: 1em 0em; -} -.ui.message p:first-child { - margin-top: 0em; -} -.ui.message p:last-child { - margin-bottom: 0em; -} -.ui.message .header + p { - margin-top: 0.3em; -} -.ui.message > :first-child { - margin-top: 0em; -} -.ui.message > :last-child { - margin-bottom: 0em; -} -/* block with child list */ -.ui.message ul.list { - opacity: 0.85; - list-style-position: inside; - margin: 0.2em 0em; - padding: 0em; -} -.ui.message ul.list li { - position: relative; - list-style-type: none; - margin: 0em 0em 0em 1em; - padding: 0em; -} -.ui.message ul.list li:before { - position: absolute; - content: '\2022'; - top: -0.05em; - left: -0.8em; - height: 100%; - vertical-align: baseline; - opacity: 0.5; -} -.ui.message ul.list li:first-child { - margin-top: 0em; -} -/* dismissable block */ -.ui.message > .close.icon { - cursor: pointer; - position: absolute; - top: 1em; - right: 0.5em; - opacity: 0.7; - -webkit-transition: opacity 0.1s linear - ; - -moz-transition: opacity 0.1s linear - ; - -o-transition: opacity 0.1s linear - ; - -ms-transition: opacity 0.1s linear - ; - transition: opacity 0.1s linear - ; -} -.ui.message > .close.icon:hover { - opacity: 1; -} -/******************************* - States -*******************************/ -.ui.message.visible, -.ui.header.visible { - display: block !important; -} -.ui.message.hidden, -.ui.header.hidden { - display: none; -} -/******************************* - Variations -*******************************/ -/*-------------- - Compact ----------------*/ -.ui.compact.message { - display: inline-block; -} -/*-------------- - Attached ----------------*/ -.ui.attached.message { - margin-left: -1px; - margin-right: -1px; - margin-bottom: -1px; - -webkit-border-radius: 0.325em 0.325em 0em 0em; - -moz-border-radius: 0.325em 0.325em 0em 0em; - border-radius: 0.325em 0.325em 0em 0em; - -webkit-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.1) inset; -} -.ui.bottom.attached.message { - margin-top: -1px; - -webkit-border-radius: 0em 0em 0.325em 0.325em; - -moz-border-radius: 0em 0em 0.325em 0.325em; - border-radius: 0em 0em 0.325em 0.325em; -} -/*-------------- - Icon ----------------*/ -.ui.icon.message { - display: table; - width: 100%; -} -.ui.icon.message > .icon { - display: table-cell; - vertical-align: middle; - font-size: 3.8em; - opacity: 0.2; -} -.ui.icon.message > .icon + .content { - padding-left: 1em; -} -.ui.icon.message > .content { - display: table-cell; - vertical-align: middle; -} -/*-------------- - Inverted ----------------*/ -.ui.inverted.message { - background-color: rgba(255, 255, 255, 0.05); - color: rgba(255, 255, 255, 0.95); -} -/*-------------- - Floating ----------------*/ -.ui.floating.message { - -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset; - -moz-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset; - box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset; -} -/*-------------- - Colors ----------------*/ -.ui.black.message { - background-color: #333333; - color: rgba(255, 255, 255, 0.95); -} -/*-------------- - Types ----------------*/ -.ui.blue.message, -.ui.info.message { - background-color: #E6F4F9; - color: #4D8796; -} -/* Green Text Block */ -.ui.green.message { - background-color: #DEFCD5; - color: #52A954; -} -/* Yellow Text Block */ -.ui.yellow.message, -.ui.warning.message { - background-color: #F6F3D5; - color: #96904D; -} -/* Red Text Block */ -.ui.red.message { - background-color: #F1D7D7; - color: #A95252; -} -/* Success Text Block */ -.ui.success.message, -.ui.positive.message { - background-color: #5BBD72; - color: #FFFFFF; -} -/* Error Text Block */ -.ui.error.message, -.ui.negative.message { - background-color: #D95C5C; - color: #FFFFFF; -} -/*-------------- - Sizes ----------------*/ -.ui.small.message { - font-size: 0.875em; -} -.ui.message { - font-size: 1em; -} -.ui.large.message { - font-size: 1.125em; -} -.ui.huge.message { - font-size: 1.5em; -} -.ui.massive.message { - font-size: 2em; -} - -/* - * # Semantic - Table - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Table -*******************************/ -/* Prototype */ -.ui.table { - width: 100%; - border-collapse: collapse; -} -/* Table Content */ -.ui.table th, -.ui.table tr, -.ui.table td { - border-collapse: collapse; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -webkit-transition: all 0.1s ease-out; - -moz-transition: all 0.1s ease-out; - -o-transition: all 0.1s ease-out; - -ms-transition: all 0.1s ease-out; - transition: all 0.1s ease-out; -} -/* Headers */ -.ui.table thead { - border-bottom: 1px solid rgba(0, 0, 0, 0.03); -} -.ui.table th { - cursor: auto; - background-color: rgba(0, 0, 0, 0.03); - text-align: left; - color: rgba(0, 0, 0, 0.8); - padding: 0.5em 0.7em; - vertical-align: middle; -} -.ui.table thead th:first-child { - border-radius: 5px 0px 0px 0px; -} -.ui.table thead th:last-child { - border-radius: 0px 5px 0px 0px; -} -.ui.table tfoot th:first-child { - border-radius: 0px 0px 0px 5px; -} -.ui.table tfoot th:last-child { - border-radius: 0px 0px 5px 0px; -} -/* Table Cells */ -.ui.table td { - padding: 0.40em 0.7em; - vertical-align: middle; -} -/* Footer */ -.ui.table tfoot { - border-top: 1px solid rgba(0, 0, 0, 0.03); -} -.ui.table tfoot th { - font-weight: normal; - font-style: italic; -} -/* Table Striping */ -.ui.table tbody tr:nth-child(2n) { - background-color: rgba(0, 0, 50, 0.02); -} -/* Icons */ -.ui.table > .icon { - vertical-align: baseline; -} -.ui.table > .icon:only-child { - margin: 0em; -} -/* Table Segment */ -.ui.table.segment:after { - display: none; -} -.ui.table.segment.stacked:after { - display: block; -} -/******************************* - States -*******************************/ -/*-------------- - Hover ----------------*/ -/* Sortable */ -.ui.sortable.table thead th:hover { - background-image: none; - color: rgba(0, 0, 0, 0.8); -} -.ui.sortable.table th.disabled:hover { - cursor: auto; - background-color: rgba(0, 0, 0, 0.1); - text-align: left; - font-weight: bold; - color: #333333; - color: rgba(0, 0, 0, 0.8); -} -/*-------------- - Positive ----------------*/ -.ui.table tr.positive, -.ui.table td.positive { - -webkit-box-shadow: 2px 0px 0px #119000 inset; - -moz-box-shadow: 2px 0px 0px #119000 inset; - box-shadow: 2px 0px 0px #119000 inset; -} -.ui.table tr.positive td, -.ui.table td.positive { - background-color: #F2F8F0 !important; - color: #119000 !important; -} -.ui.celled.table tr.positive:hover td, -.ui.celled.table tr:hover td.positive, -.ui.table tr.positive:hover td, -.ui.table td:hover.positive, -.ui.table th:hover.positive { - background-color: #ECF5E9 !important; - color: #119000 !important; -} -/*-------------- - Negative ----------------*/ -.ui.table tr.negative, -.ui.table td.negative { - -webkit-box-shadow: 2px 0px 0px #CD2929 inset; - -moz-box-shadow: 2px 0px 0px #CD2929 inset; - box-shadow: 2px 0px 0px #CD2929 inset; -} -.ui.table tr.negative td, -.ui.table td.negative { - background-color: #F9F4F4; - color: #CD2929 !important; -} -.ui.celled.table tr.negative:hover td, -.ui.celled.table tr:hover td.negative, -.ui.table tr.negative:hover td, -.ui.table td:hover.negative, -.ui.table th:hover.negative { - background-color: #F2E8E8 !important; - color: #CD2929 !important; -} -/*-------------- - Error ----------------*/ -.ui.table tr.error, -.ui.table td.error { - -webkit-box-shadow: 2px 0px 0px #CD2929 inset; - -moz-box-shadow: 2px 0px 0px #CD2929 inset; - box-shadow: 2px 0px 0px #CD2929 inset; -} -.ui.table tr.error td, -.ui.table td.error, -.ui.table th.error { - background-color: #F9F4F4 !important; - color: #CD2929 !important; -} -.ui.celled.table tr.error:hover td, -.ui.celled.table tr:hover td.error, -.ui.table tr.error:hover td, -.ui.table td:hover.error, -.ui.table th:hover.error { - background-color: #F2E8E8 !important; - color: #CD2929 !important; -} -/*-------------- - Warning ----------------*/ -.ui.table tr.warning, -.ui.table td.warning { - -webkit-box-shadow: 2px 0px 0px #7D6C00 inset; - -moz-box-shadow: 2px 0px 0px #7D6C00 inset; - box-shadow: 2px 0px 0px #7D6C00 inset; -} -.ui.table tr.warning td, -.ui.table td.warning, -.ui.table th.warning { - background-color: #FBF6E9; - color: #7D6C00 !important; -} -.ui.celled.table tr.warning:hover td, -.ui.celled.table tr:hover td.warning, -.ui.table tr.warning:hover td, -.ui.table td:hover.warning, -.ui.table th:hover.warning { - background-color: #F3EDDC !important; - color: #7D6C00 !important; -} -/*-------------- - Active ----------------*/ -.ui.table tr.active, -.ui.table td.active { - -webkit-box-shadow: 2px 0px 0px rgba(50, 50, 50, 0.9) inset; - -moz-box-shadow: 2px 0px 0px rgba(50, 50, 50, 0.9) inset; - box-shadow: 2px 0px 0px rgba(50, 50, 50, 0.9) inset; -} -.ui.table tr.active td, -.ui.table tr td.active { - background-color: #E0E0E0 !important; - color: rgba(50, 50, 50, 0.9); - /* border-color: rgba(0, 0, 0, 0.15) !important; */ - -} -/*-------------- - Disabled ----------------*/ -.ui.table tr.disabled td, -.ui.table tr td.disabled, -.ui.table tr.disabled:hover td, -.ui.table tr:hover td.disabled { - color: rgba(150, 150, 150, 0.3); -} -/******************************* - Variations -*******************************/ -/*-------------- - Column Count ----------------*/ -.ui.two.column.table td { - width: 50%; -} -.ui.three.column.table td { - width: 33.3333%; -} -.ui.four.column.table td { - width: 25%; -} -.ui.five.column.table td { - width: 20%; -} -.ui.six.column.table td { - width: 16.66667%; -} -.ui.seven.column.table td { - width: 14.2857%; -} -.ui.eight.column.table td { - width: 12.5%; -} -.ui.nine.column.table td { - width: 11.1111%; -} -.ui.ten.column.table td { - width: 10%; -} -.ui.eleven.column.table td { - width: 9.0909%; -} -.ui.twelve.column.table td { - width: 8.3333%; -} -.ui.thirteen.column.table td { - width: 7.6923%; -} -.ui.fourteen.column.table td { - width: 7.1428%; -} -.ui.fifteen.column.table td { - width: 6.6666%; -} -.ui.sixteen.column.table td { - width: 6.25%; -} -/* Column Width */ -.ui.table th.one.wide, -.ui.table td.one.wide { - width: 6.25%; -} -.ui.table th.two.wide, -.ui.table td.two.wide { - width: 12.5%; -} -.ui.table th.three.wide, -.ui.table td.three.wide { - width: 18.75%; -} -.ui.table th.four.wide, -.ui.table td.four.wide { - width: 25%; -} -.ui.table th.five.wide, -.ui.table td.five.wide { - width: 31.25%; -} -.ui.table th.six.wide, -.ui.table td.six.wide { - width: 37.5%; -} -.ui.table th.seven.wide, -.ui.table td.seven.wide { - width: 43.75%; -} -.ui.table th.eight.wide, -.ui.table td.eight.wide { - width: 50%; -} -.ui.table th.nine.wide, -.ui.table td.nine.wide { - width: 56.25%; -} -.ui.table th.ten.wide, -.ui.table td.ten.wide { - width: 62.5%; -} -.ui.table th.eleven.wide, -.ui.table td.eleven.wide { - width: 68.75%; -} -.ui.table th.twelve.wide, -.ui.table td.twelve.wide { - width: 75%; -} -.ui.table th.thirteen.wide, -.ui.table td.thirteen.wide { - width: 81.25%; -} -.ui.table th.fourteen.wide, -.ui.table td.fourteen.wide { - width: 87.5%; -} -.ui.table th.fifteen.wide, -.ui.table td.fifteen.wide { - width: 93.75%; -} -.ui.table th.sixteen.wide, -.ui.table td.sixteen.wide { - width: 100%; -} -/*-------------- - Celled ----------------*/ -.ui.celled.table { - color: rgba(0, 0, 0, 0.8); -} -.ui.celled.table tbody tr, -.ui.celled.table tfoot tr { - border: none; -} -.ui.celled.table th, -.ui.celled.table tbody td { - border: 1px solid rgba(0, 0, 0, 0.1); -} -/* Coupling with segment */ -.ui.celled.table.segment th { - border: none; -} -.ui.celled.table.segment tbody td:first-child { - border-left: none; -} -.ui.celled.table.segment tbody td:last-child { - border-right: none; -} -/*-------------- - Sortable ----------------*/ -.ui.sortable.table thead th { - cursor: pointer; - white-space: nowrap; -} -.ui.sortable.table thead th.sorted, -.ui.sortable.table thead th.sorted:hover { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.ui.sortable.table thead th:after { - display: inline-block; - content: ''; - width: 1em; - opacity: 0.8; - margin: 0em 0em 0em 0.5em; - font-family: 'Icons'; - font-style: normal; - font-weight: normal; - text-decoration: inherit; -} -.ui.sortable.table thead th.ascending:after { - content: '\25b4'; -} -.ui.sortable.table thead th.descending:after { - content: '\25be'; -} -/*-------------- - Inverted ----------------*/ -/* Text Color */ -.ui.inverted.table td { - color: rgba(255, 255, 255, 0.9); -} -.ui.inverted.table th { - background-color: rgba(0, 0, 0, 0.15); - color: rgba(255, 255, 255, 0.9); -} -/* Stripes */ -.ui.inverted.table tbody tr:nth-child(2n) { - background-color: rgba(255, 255, 255, 0.06); -} -/*-------------- - Definition ----------------*/ -.ui.definition.table td:first-child { - font-weight: bold; -} -/*-------------- - Collapsing ----------------*/ -.ui.collapsing.table { - width: auto; -} -/*-------------- - Basic ----------------*/ -.ui.basic.table th { - background-color: transparent; - padding: 0.5em; -} -.ui.basic.table tbody tr { - border-bottom: 1px solid rgba(0, 0, 0, 0.03); -} -.ui.basic.table td { - padding: 0.8em 0.5em; -} -.ui.basic.table tbody tr:nth-child(2n) { - background-color: transparent !important; -} -/*-------------- - Padded ----------------*/ -.ui.padded.table th, -.ui.padded.table td { - padding: 0.8em 1em; -} -.ui.compact.table th { - padding: 0.3em 0.5em; -} -.ui.compact.table td { - padding: 0.2em 0.5em; -} -/*-------------- - Sizes ----------------*/ -/* Small */ -.ui.small.table { - font-size: 0.875em; -} -/* Standard */ -.ui.table { - font-size: 1em; -} -/* Large */ -.ui.large.table { - font-size: 1.1em; -} - -/* - * # Semantic - basic.Icon (Basic) - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - basic.Icon -*******************************/ -@font-face { - font-family: 'Basic Icons'; - src: url(../fonts/basic.icons.eot); - src: url(../fonts/basic.icons.eot?#iefix) format('embedded-opentype'), url(../fonts/basic.icons.woff) format('woff'), url(../fonts/basic.icons.ttf) format('truetype'), url(../fonts/basic.icons.svg#basic.icons) format('svg'); - font-style: normal; - font-weight: normal; - font-variant: normal; - text-decoration: inherit; - text-transform: none; -} -i.basic.icon { - display: inline-block; - opacity: 0.75; - margin: 0em 0.25em 0em 0em; - width: 1.23em; - height: 1em; - font-family: 'Basic Icons'; - font-style: normal; - line-height: 1; - font-weight: normal; - text-decoration: inherit; - text-align: center; - speak: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -webkit-font-smoothing: antialiased; - -moz-font-smoothing: antialiased; - font-smoothing: antialiased; -} -/* basic.icons available */ -i.basic.icon.circle.attention:before { - content: '\2757'; -} -/* '❗' */ -i.basic.icon.circle.help:before { - content: '\e704'; -} -/* '' */ -i.basic.icon.circle.info:before { - content: '\e705'; -} -/* '' */ -i.basic.icon.add:before { - content: '\2795'; -} -/* '➕' */ -i.basic.icon.chart:before { - content: '📈'; -} -/* '\1f4c8' */ -i.basic.icon.chart.bar:before { - content: '📊'; -} -/* '\1f4ca' */ -i.basic.icon.chart.pie:before { - content: '\e7a2'; -} -/* '' */ -i.basic.icon.resize.full:before { - content: '\e744'; -} -/* '' */ -i.basic.icon.resize.horizontal:before { - content: '\2b0d'; -} -/* '⬍' */ -i.basic.icon.resize.small:before { - content: '\e746'; -} -/* '' */ -i.basic.icon.resize.vertical:before { - content: '\2b0c'; -} -/* '⬌' */ -i.basic.icon.down:before { - content: '\2193'; -} -/* '↓' */ -i.basic.icon.down.triangle:before { - content: '\25be'; -} -/* '▾' */ -i.basic.icon.down.arrow:before { - content: '\e75c'; -} -/* '' */ -i.basic.icon.left:before { - content: '\2190'; -} -/* '←' */ -i.basic.icon.left.triangle:before { - content: '\25c2'; -} -/* '◂' */ -i.basic.icon.left.arrow:before { - content: '\e75d'; -} -/* '' */ -i.basic.icon.right:before { - content: '\2192'; -} -/* '→' */ -i.basic.icon.right.triangle:before { - content: '\25b8'; -} -/* '▸' */ -i.basic.icon.right.arrow:before { - content: '\e75e'; -} -/* '' */ -i.basic.icon.up:before { - content: '\2191'; -} -/* '↑' */ -i.basic.icon.up.triangle:before { - content: '\25b4'; -} -/* '▴' */ -i.basic.icon.up.arrow:before { - content: '\e75f'; -} -/* '' */ -i.basic.icon.folder:before { - content: '\e810'; -} -/* '' */ -i.basic.icon.open.folder:before { - content: '📂'; -} -/* '\1f4c2' */ -i.basic.icon.globe:before { - content: '𝌍'; -} -/* '\1d30d' */ -i.basic.icon.desk.globe:before { - content: '🌐'; -} -/* '\1f310' */ -i.basic.icon.star:before { - content: '\e801'; -} -/* '' */ -i.basic.icon.star.empty:before { - content: '\e800'; -} -/* '' */ -i.basic.icon.star.half:before { - content: '\e701'; -} -/* '' */ -i.basic.icon.lock:before { - content: '🔒'; -} -/* '\1f512' */ -i.basic.icon.unlock:before { - content: '🔓'; -} -/* '\1f513' */ -i.basic.icon.layout.grid:before { - content: '\e80c'; -} -/* '' */ -i.basic.icon.layout.block:before { - content: '\e708'; -} -/* '' */ -i.basic.icon.layout.list:before { - content: '\e80b'; -} -/* '' */ -i.basic.icon.heart.empty:before { - content: '\2661'; -} -/* '♡' */ -i.basic.icon.heart:before { - content: '\2665'; -} -/* '♥' */ -i.basic.icon.asterisk:before { - content: '\2731'; -} -/* '✱' */ -i.basic.icon.attachment:before { - content: '📎'; -} -/* '\1f4ce' */ -i.basic.icon.attention:before { - content: '\26a0'; -} -/* '⚠' */ -i.basic.icon.trophy:before { - content: '🏉'; -} -/* '\1f3c9' */ -i.basic.icon.barcode:before { - content: '\e792'; -} -/* '' */ -i.basic.icon.cart:before { - content: '\e813'; -} -/* '' */ -i.basic.icon.block:before { - content: '🚫'; -} -/* '\1f6ab' */ -i.basic.icon.book:before { - content: '📖'; -} -i.basic.icon.bookmark:before { - content: '🔖'; -} -/* '\1f516' */ -i.basic.icon.calendar:before { - content: '📅'; -} -/* '\1f4c5' */ -i.basic.icon.cancel:before { - content: '\2716'; -} -/* '✖' */ -i.basic.icon.close:before { - content: '\e80d'; -} -/* '' */ -i.basic.icon.color:before { - content: '\e794'; -} -/* '' */ -i.basic.icon.chat:before { - content: '\e720'; -} -/* '' */ -i.basic.icon.check:before { - content: '\2611'; -} -/* '☑' */ -i.basic.icon.time:before { - content: '🕔'; -} -/* '\1f554' */ -i.basic.icon.cloud:before { - content: '\2601'; -} -/* '☁' */ -i.basic.icon.code:before { - content: '\e714'; -} -/* '' */ -i.basic.icon.email:before { - content: '\40'; -} -/* '@' */ -i.basic.icon.settings:before { - content: '\26ef'; -} -/* '⛯' */ -i.basic.icon.setting:before { - content: '\2699'; -} -/* '⚙' */ -i.basic.icon.comment:before { - content: '\e802'; -} -/* '' */ -i.basic.icon.clockwise.counter:before { - content: '\27f2'; -} -/* '⟲' */ -i.basic.icon.clockwise:before { - content: '\27f3'; -} -/* '⟳' */ -i.basic.icon.cube:before { - content: '\e807'; -} -/* '' */ -i.basic.icon.direction:before { - content: '\27a2'; -} -/* '➢' */ -i.basic.icon.doc:before { - content: '📄'; -} -/* '\1f4c4' */ -i.basic.icon.docs:before { - content: '\e736'; -} -/* '' */ -i.basic.icon.dollar:before { - content: '💵'; -} -/* '\1f4b5' */ -i.basic.icon.paint:before { - content: '\e7b5'; -} -/* '' */ -i.basic.icon.edit:before { - content: '\270d'; -} -/* '✍' */ -i.basic.icon.eject:before { - content: '\2ecf'; -} -/* '⻏' */ -i.basic.icon.export:before { - content: '\e715'; -} -/* '' */ -i.basic.icon.hide:before { - content: '\e80f'; -} -/* '' */ -i.basic.icon.unhide:before { - content: '\e70b'; -} -/* '' */ -i.basic.icon.facebook:before { - content: '\f301'; -} -/* '' */ -i.basic.icon.fast-forward:before { - content: '\e804'; -} -/* '' */ -i.basic.icon.fire:before { - content: '🔥'; -} -/* '\1f525' */ -i.basic.icon.flag:before { - content: '\2691'; -} -/* '⚑' */ -i.basic.icon.lightning:before { - content: '\26a1'; -} -/* '⚡' */ -i.basic.icon.lab:before { - content: '\68'; -} -/* 'h' */ -i.basic.icon.flight:before { - content: '\2708'; -} -/* '✈' */ -i.basic.icon.forward:before { - content: '\27a6'; -} -/* '➦' */ -i.basic.icon.gift:before { - content: '🎁'; -} -/* '\1f381' */ -i.basic.icon.github:before { - content: '\f308'; -} -/* '' */ -i.basic.icon.globe:before { - content: '\e817'; -} -/* '' */ -i.basic.icon.headphones:before { - content: '🎧'; -} -/* '\1f3a7' */ -i.basic.icon.question:before { - content: '\2753'; -} -/* '❓' */ -i.basic.icon.home:before { - content: '\2302'; -} -/* '⌂' */ -i.basic.icon.i:before { - content: '\2139'; -} -/* 'ℹ' */ -i.basic.icon.idea:before { - content: '💡'; -} -/* '\1f4a1' */ -i.basic.icon.open:before { - content: '🔗'; -} -/* '\1f517' */ -i.basic.icon.content:before { - content: '\e782'; -} -/* '' */ -i.basic.icon.location:before { - content: '\e724'; -} -/* '' */ -i.basic.icon.mail:before { - content: '\2709'; -} -/* '✉' */ -i.basic.icon.mic:before { - content: '🎤'; -} -/* '\1f3a4' */ -i.basic.icon.minus:before { - content: '\2d'; -} -/* '-' */ -i.basic.icon.money:before { - content: '💰'; -} -/* '\1f4b0' */ -i.basic.icon.off:before { - content: '\e78e'; -} -/* '' */ -i.basic.icon.pause:before { - content: '\e808'; -} -/* '' */ -i.basic.icon.photos:before { - content: '\e812'; -} -/* '' */ -i.basic.icon.photo:before { - content: '🌄'; -} -/* '\1f304' */ -i.basic.icon.pin:before { - content: '📌'; -} -/* '\1f4cc' */ -i.basic.icon.play:before { - content: '\e809'; -} -/* '' */ -i.basic.icon.plus:before { - content: '\2b'; -} -/* '+' */ -i.basic.icon.print:before { - content: '\e716'; -} -/* '' */ -i.basic.icon.rss:before { - content: '\e73a'; -} -/* '' */ -i.basic.icon.search:before { - content: '🔍'; -} -/* '\1f50d' */ -i.basic.icon.shuffle:before { - content: '\e803'; -} -/* '' */ -i.basic.icon.tag:before { - content: '\e80a'; -} -/* '' */ -i.basic.icon.tags:before { - content: '\e70d'; -} -/* '' */ -i.basic.icon.terminal:before { - content: '\e7ac'; -} -/* '' */ -i.basic.icon.thumbs.down:before { - content: '👎'; -} -/* '\1f44e' */ -i.basic.icon.thumbs.up:before { - content: '👍'; -} -/* '\1f44d' */ -i.basic.icon.to-end:before { - content: '\e806'; -} -/* '' */ -i.basic.icon.to-start:before { - content: '\e805'; -} -/* '' */ -i.basic.icon.top.list:before { - content: '🏆'; -} -/* '\1f3c6' */ -i.basic.icon.trash:before { - content: '\e729'; -} -/* '' */ -i.basic.icon.twitter:before { - content: '\f303'; -} -/* '' */ -i.basic.icon.upload:before { - content: '\e711'; -} -/* '' */ -i.basic.icon.user.add:before { - content: '\e700'; -} -/* '' */ -i.basic.icon.user:before { - content: '👤'; -} -/* '\1f464' */ -i.basic.icon.community:before { - content: '\e814'; -} -/* '' */ -i.basic.icon.users:before { - content: '👥'; -} -/* '\1f465' */ -i.basic.icon.id:before { - content: '\e722'; -} -/* '' */ -i.basic.icon.url:before { - content: '🔗'; -} -/* '\1f517' */ -i.basic.icon.zoom.in:before { - content: '\e750'; -} -/* '' */ -i.basic.icon.zoom.out:before { - content: '\e751'; -} -/* '' */ -/*-------------- - Spacing Fix ----------------*/ -/* dropdown arrows are to the right */ -i.dropdown.basic.icon { - margin: 0em 0em 0em 0.5em; -} -/* stars are usually consecutive */ -i.basic.icon.star { - width: auto; - margin: 0em; -} -/* left side basic.icons */ -i.basic.icon.left, -i.basic.icon.left, -i.basic.icon.left { - width: auto; - margin: 0em 0.5em 0em 0em; -} -/* right side basic.icons */ -i.basic.icon.search, -i.basic.icon.up, -i.basic.icon.down, -i.basic.icon.right { - width: auto; - margin: 0em 0em 0em 0.5em; -} -/*-------------- - Aliases ----------------*/ -/* aliases for convenience */ -i.basic.icon.delete:before { - content: '\e80d'; -} -/* '' */ -i.basic.icon.dropdown:before { - content: '\25be'; -} -/* '▾' */ -i.basic.icon.help:before { - content: '\e704'; -} -/* '' */ -i.basic.icon.info:before { - content: '\e705'; -} -/* '' */ -i.basic.icon.error:before { - content: '\e80d'; -} -/* '' */ -i.basic.icon.dislike:before { - content: '\2661'; -} -/* '♡' */ -i.basic.icon.like:before { - content: '\2665'; -} -/* '♥' */ -i.basic.icon.eye:before { - content: '\e80f'; -} -/* '' */ -i.basic.icon.eye.hidden:before { - content: '\e70b'; -} -/* '' */ -i.basic.icon.date:before { - content: '📅'; -} -/* '\1f4c5' */ -/******************************* - States -*******************************/ -i.basic.icon.hover { - opacity: 1; -} -i.basic.icon.active { - opacity: 1; -} -i.emphasized.basic.icon { - opacity: 1; -} -i.basic.icon.disabled { - opacity: 0.3; -} -/******************************* - Variations -*******************************/ -/*------------------- - Link ---------------------*/ -i.link.basic.icon { - cursor: pointer; - opacity: 0.7; - -webkit-transition: opacity 0.3s ease-out; - -moz-transition: opacity 0.3s ease-out; - -o-transition: opacity 0.3s ease-out; - -ms-transition: opacity 0.3s ease-out; - transition: opacity 0.3s ease-out; -} -.link.basic.icon:hover { - opacity: 1 !important; -} -/*------------------- - Circular ---------------------*/ -i.circular.basic.icon { - -webkit-border-radius: 500px !important; - -moz-border-radius: 500px !important; - border-radius: 500px !important; - padding: 0.5em 0em !important; - -webkit-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - line-height: 1 !important; - width: 2em !important; - height: 2em !important; -} -i.circular.inverted.basic.icon { - border: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*------------------- - Flipped ---------------------*/ -i.vertically.flipped.basic.icon { - -webkit-transform: scale(1, -1); - -moz-transform: scale(1, -1); - -o-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -i.horizontally.flipped.basic.icon { - -webkit-transform: scale(-1, 1); - -moz-transform: scale(-1, 1); - -o-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -/*------------------- - Rotated ---------------------*/ -i.left.rotated.basic.icon { - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); -} -i.right.rotated.basic.icon { - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -o-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -/*------------------- - Square ---------------------*/ -i.square.basic.icon { - width: 2em; - height: 2em; - padding: 0.5em 0.35em !important; - -webkit-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - vertical-align: baseline; -} -i.square.basic.icon:before { - vertical-align: middle; -} -i.square.inverted.basic.icon { - border: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*------------------- - Inverted ---------------------*/ -i.inverted.basic.icon { - background-color: #222222; - color: #FFFFFF; -} -/*------------------- - Colors ---------------------*/ -i.blue.basic.icon { - color: #6ECFF5 !important; -} -i.black.basic.icon { - color: #5C6166 !important; -} -i.green.basic.icon { - color: #A1CF64 !important; -} -i.red.basic.icon { - color: #D95C5C !important; -} -i.purple.basic.icon { - color: #564F8A !important; -} -i.teal.basic.icon { - color: #00B5AD !important; -} -/*------------------- - Inverted Colors ---------------------*/ -i.inverted.black.basic.icon { - background-color: #5C6166 !important; - color: #FFFFFF !important; -} -i.inverted.blue.basic.icon { - background-color: #6ECFF5 !important; - color: #FFFFFF !important; -} -i.inverted.green.basic.icon { - background-color: #A1CF64 !important; - color: #FFFFFF !important; -} -i.inverted.red.basic.icon { - background-color: #D95C5C !important; - color: #FFFFFF !important; -} -i.inverted.purple.basic.icon { - background-color: #564F8A !important; - color: #FFFFFF !important; -} -i.inverted.teal.basic.icon { - background-color: #00B5AD !important; - color: #FFFFFF !important; -} -/*------------------- - Sizes ---------------------*/ -i.small.basic.icon { - font-size: 0.875em; -} -i.basic.icon { - font-size: 1em; -} -i.large.basic.icon { - font-size: 1.5em; - margin-right: 0.2em; - vertical-align: middle; -} -i.big.basic.icon { - font-size: 2em; - margin-right: 0.5em; - vertical-align: middle; -} -i.huge.basic.icon { - font-size: 4em; - margin-right: 0.75em; - vertical-align: middle; -} -i.massive.basic.icon { - font-size: 8em; - margin-right: 1em; - vertical-align: middle; -} - -/* - * # Semantic - Button - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Button -*******************************/ -/* Prototype */ -.ui.button { - cursor: pointer; - display: inline-block; - vertical-align: middle; - min-height: 1em; - outline: none; - border: none; - background-color: #EBEBEB; - color: #999999; - padding: 0.8em 1.5em; - font-size: 1rem; - text-transform: uppercase; - line-height: 1; - font-weight: bold; - font-style: normal; - text-align: center; - text-decoration: none; - -webkit-border-radius: 0.2em; - -moz-border-radius: 0.2em; - border-radius: 0.2em; - -webkit-box-shadow: 0em -0.185rem 0em rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0em -0.185rem 0em rgba(0, 0, 0, 0.1) inset; - box-shadow: 0em -0.185rem 0em rgba(0, 0, 0, 0.1) inset; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -webkit-transition: opacity 0.25s ease, background-color 0.25s ease, color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease; - -moz-transition: opacity 0.25s ease, background-color 0.25s ease, color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease; - -o-transition: opacity 0.25s ease, background-color 0.25s ease, color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease; - -ms-transition: opacity 0.25s ease, background-color 0.25s ease, color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease; - transition: opacity 0.25s ease, background-color 0.25s ease, color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease; -} -/*-------------- - Count ----------------*/ -.ui.count.button { - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important; -} -.ui.count.button > .count { - position: absolute; - background-color: #FFFFFF; - border: 1px solid #F0F0F0; - margin: -0.8em -1.5em; - padding: 0.8em 1.5em; -} -/*------------------- - Primary ---------------------*/ -.ui.primary.buttons .button, -.ui.primary.button { - background-color: #D95C5C; - color: #FFFFFF; -} -.ui.primary.buttons .button:hover, -.ui.primary.button:hover, -.ui.primary.buttons .active.button, -.ui.primary.button.active { - background-color: #E75859; - color: #FFFFFF; -} -.ui.primary.buttons .button:active, -.ui.primary.button:active { - background-color: #D24B4C; - color: #FFFFFF; -} -/*------------------- - Secondary ---------------------*/ -.ui.secondary.buttons .button, -.ui.secondary.button { - background-color: #00B5AD; - color: #FFFFFF; -} -.ui.secondary.buttons .button:hover, -.ui.secondary.button:hover, -.ui.secondary.buttons .active.button, -.ui.secondary.button.active { - background-color: #009A93; - color: #FFFFFF; -} -.ui.secondary.buttons .button:active, -.ui.secondary.button:active { - background-color: #00847E; - color: #FFFFFF; -} -/*------------------- - Social ---------------------*/ -/* Facebook */ -.ui.facebook.button { - background-color: #3B579D; - color: #FFFFFF; -} -.ui.facebook.button:hover { - background-color: #3A59A9; -} -.ui.facebook.button:active { - background-color: #334F95; -} -/* Twitter */ -.ui.twitter.button { - background-color: #00ACED; - color: #FFFFFF; -} -.ui.twitter.button:hover { - background-color: #00B9FF; -} -.ui.twitter.button:active { - background-color: #009EDA; -} -/*-------------- - Icon ----------------*/ -.ui.button > .icon { - margin-right: 0.5em; - line-height: 1; - -webkit-transition: opacity 0.1s ease - ; - -moz-transition: opacity 0.1s ease - ; - -o-transition: opacity 0.1s ease - ; - -ms-transition: opacity 0.1s ease - ; - transition: opacity 0.1s ease - ; -} -/******************************* - States -*******************************/ -/*-------------- - Active ----------------*/ -.ui.buttons .active.button, -.ui.active.button { - opacity: 1 !important; - background-color: #B0B0B0; - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(0, 0, 0, 0)), to(rgba(255, 255, 255, 0.1))); - background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.1) 100%); - background-image: -moz-linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.1) 100%); - background-image: -o-linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.1) 100%); - background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.1) 100%); - color: #FFFFFF; - -webkit-box-shadow: 0px 0px 0.3em 0px rgba(0, 0, 0, 0.3) inset; - -moz-box-shadow: 0px 0px 0.3em 0px rgba(0, 0, 0, 0.3) inset; - box-shadow: 0px 0px 0.3em 0px rgba(0, 0, 0, 0.3) inset; -} -/*-------------- - Hover ----------------*/ -.ui.button:hover, -.ui.active.button:hover { - opacity: 1 !important; - background-color: #A4A4A4; - color: #FFFFFF; -} -.ui.button:hover .icon, -.ui.button.hover .icon { - opacity: 0.85; -} -/*-------------- - Down ----------------*/ -.ui.button:active, -.ui.active.button:active { - opacity: 1 !important; - background-color: #8C8C8C; - color: #FFFFFF; - -webkit-box-shadow: 0px 1px 0.2em 0px rgba(0, 0, 0, 0.3) inset; - -moz-box-shadow: 0px 1px 0.2em 0px rgba(0, 0, 0, 0.3) inset; - box-shadow: 0px 1px 0.2em 0px rgba(0, 0, 0, 0.3) inset; -} -/*-------------- - Loading ----------------*/ -.ui.loading.button { - position: relative; - cursor: default; - background-color: #F3F3F3 !important; - color: transparent !important; - background-image: none !important; - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; - -webkit-transition: all 0s linear; - -moz-transition: all 0s linear; - -o-transition: all 0s linear; - -ms-transition: all 0s linear; - transition: all 0s linear; -} -.ui.loading.button:after { - position: absolute; - top: 0em; - left: 0em; - width: 100%; - height: 100%; - content: ''; - background: transparent url(../images/loader-mini.gif) no-repeat 50% 50%; -} -.ui.labeled.icon.loading.button .icon { - background-color: transparent; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*------------------- - Disabled ---------------------*/ -.ui.disabled.button { - cursor: default; - color: #DDDDDD !important; - background-color: rgba(50, 50, 50, 0.05) !important; - background-image: none !important; - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -/******************************* - Variations -*******************************/ -/*------------------- - Floated ---------------------*/ -.ui.left.floated.buttons, -.ui.left.floated.button { - float: left; - margin-right: 0.25em; -} -.ui.right.floated.buttons, -.ui.right.floated.button { - float: right; - margin-left: 0.25em; -} -/*------------------- - Sizes ---------------------*/ -.ui.buttons .button, -.ui.button { - font-size: 1rem; -} -.ui.buttons.mini .button, -.ui.mini.button { - font-size: 0.8125rem; - padding: 0.6em 0.8em; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.tiny.buttons .button, -.ui.tiny.button { - font-size: 0.875rem; - padding: 0.6em 0.8em; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.small.buttons .button, -.ui.small.button { - font-size: 0.875rem; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.large.buttons .button, -.ui.large.button { - font-size: 1.125rem; -} -.ui.big.buttons .button, -.ui.big.button { - font-size: 1.25rem; -} -.ui.huge.buttons .button, -.ui.huge.button { - font-size: 1.375rem; -} -.ui.massive.buttons .button, -.ui.massive.button { - font-size: 1.5rem; - font-weight: bold; -} -/* loading */ -.ui.huge.loading.button:after { - background-image: url(../images/loader-small.gif); -} -.ui.massive.buttons .loading.button:after, -.ui.gigantic.buttons .loading.button:after, -.ui.massive.loading.button:after, -.ui.gigantic.loading.button:after { - background-image: url(../images/loader-medium.gif); -} -.ui.huge.loading.button:after, -.ui.huge.loading.button.active:after { - background-image: url(../images/loader-small.gif); -} -.ui.massive.buttons .loading.button:after, -.ui.gigantic.buttons .loading.button:after, -.ui.massive.loading.button:after, -.ui.gigantic.loading.button:after, -.ui.massive.buttons .loading.button.active:after, -.ui.gigantic.buttons .loading.button.active:after, -.ui.massive.loading.button.active:after, -.ui.gigantic.loading.button.active:after { - background-image: url(../images/loader-medium.gif); -} -/*-------------- - Icon Only ----------------*/ -.ui.icon.buttons .button, -.ui.icon.button { - padding: 0.8em; -} -.ui.icon.buttons .button > .icon, -.ui.icon.button > .icon { - opacity: 1; - margin: 0em; - vertical-align: top; -} -/*------------------- - Basic ---------------------*/ -.ui.basic.buttons .button, -.ui.basic.button { - background-color: transparent !important; - background-image: none; - color: #999999 !important; - font-weight: normal; - text-transform: none; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; -} -.ui.basic.buttons { - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - -webkit-border-radius: 0.2em; - -moz-border-radius: 0.2em; - border-radius: 0.2em; -} -.ui.basic.buttons .button:hover, -.ui.basic.button:hover { - color: #7F7F7F !important; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.18) inset; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.18) inset; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.18) inset; -} -.ui.basic.buttons .button:active, -.ui.basic.button:active { - background-color: rgba(0, 0, 0, 0.02) !important; - color: #7F7F7F !important; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; -} -.ui.basic.buttons .button.active, -.ui.basic.button.active { - background-color: rgba(0, 0, 0, 0.05); - color: #7F7F7F; - -webkit-box-shadow: 0px 0px 0px 1px #BDBDBD inset; - -moz-box-shadow: 0px 0px 0px 1px #BDBDBD inset; - box-shadow: 0px 0px 0px 1px #BDBDBD inset; -} -.ui.basic.buttons .button.active:hover, -.ui.basic.button.active:hover { - background-color: rgba(0, 0, 0, 0.1); -} -/* Basic Group */ -.ui.basic.buttons .button { - border: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.basic.buttons .button:hover, -.ui.basic.buttons .button:active { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.basic.buttons .button.active { - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; -} -/*-------------- - Labeled Icon ----------------*/ -.ui.labeled.icon.buttons .button, -.ui.labeled.icon.button { - position: relative; - padding-left: 4em !important; - padding-right: 1.4em !important; -} -.ui.labeled.icon.buttons > .button > .icon, -.ui.labeled.icon.button > .icon { - position: absolute; - top: 0em; - left: 0em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - width: 2.75em; - height: 100%; - padding-top: 0.8em; - background-color: rgba(0, 0, 0, 0.05); - text-align: center; - -webkit-border-radius: 0.2em 0px 0px 0.2em; - -moz-border-radius: 0.2em 0px 0px 0.2em; - border-radius: 0.2em 0px 0px 0.2em; - line-height: 1; - -webkit-box-shadow: -2px 0px 0px 0px rgba(0, 0, 0, 0.05) inset; - -moz-box-shadow: -2px 0px 0px 0px rgba(0, 0, 0, 0.05) inset; - box-shadow: -2px 0px 0px 0px rgba(0, 0, 0, 0.05) inset; -} -.ui.labeled.icon.buttons .button > .icon { - -webkit-border-radius: 0em; - -moz-border-radius: 0em; - border-radius: 0em; -} -.ui.labeled.icon.buttons .button:first-child > .icon { - border-top-left-radius: 0.2em; - border-bottom-left-radius: 0.2em; -} -.ui.labeled.icon.buttons .button:last-child > .icon { - border-top-right-radius: 0.2em; - border-bottom-right-radius: 0.2em; -} -.ui.vertical.labeled.icon.buttons .button:first-child > .icon { - -webkit-border-radius: 0em; - -moz-border-radius: 0em; - border-radius: 0em; - border-top-left-radius: 0.2em; -} -.ui.vertical.labeled.icon.buttons .button:last-child > .icon { - -webkit-border-radius: 0em; - -moz-border-radius: 0em; - border-radius: 0em; - border-bottom-left-radius: 0.2em; -} -.ui.right.labeled.icon.button { - padding-left: 1.4em !important; - padding-right: 4em !important; -} -.ui.left.fluid.labeled.icon.button, -.ui.right.fluid.labeled.icon.button { - padding-left: 1.4em !important; - padding-right: 1.4em !important; -} -.ui.right.labeled.icon.button .icon { - left: auto; - right: 0em; - -webkit-border-radius: 0em 0.2em 0.2em 0em; - -moz-border-radius: 0em 0.2em 0.2em 0em; - border-radius: 0em 0.2em 0.2em 0em; - -webkit-box-shadow: 2px 0px 0px 0px rgba(0, 0, 0, 0.05) inset; - -moz-box-shadow: 2px 0px 0px 0px rgba(0, 0, 0, 0.05) inset; - box-shadow: 2px 0px 0px 0px rgba(0, 0, 0, 0.05) inset; -} -/*-------------- - Toggle ----------------*/ -/* Toggle (Modifies active state to give affordances) */ -.ui.toggle.buttons .active.button, -.ui.buttons .button.toggle.active, -.ui.button.toggle.active { - background-color: #5BBD72 !important; - color: #FFFFFF !important; -} -.ui.button.toggle.active:hover { - background-color: #58CB73 !important; - color: #FFFFFF !important; -} -/*-------------- - Bubbly ----------------*/ -.ui.circular.button { - -webkit-border-radius: 10em; - -moz-border-radius: 10em; - border-radius: 10em; -} -/*-------------- - Attached ----------------*/ -.ui.attached.button { - display: block; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important; -} -.ui.attached.top.button { - -webkit-border-radius: 0.2em 0.2em 0em 0em; - -moz-border-radius: 0.2em 0.2em 0em 0em; - border-radius: 0.2em 0.2em 0em 0em; -} -.ui.attached.bottom.button { - -webkit-border-radius: 0em 0em 0.2em 0.2em; - -moz-border-radius: 0em 0em 0.2em 0.2em; - border-radius: 0em 0em 0.2em 0.2em; -} -.ui.attached.left.button { - display: inline-block; - border-left: none; - padding-right: 0.75em; - text-align: right; - -webkit-border-radius: 0.2em 0em 0em 0.2em; - -moz-border-radius: 0.2em 0em 0em 0.2em; - border-radius: 0.2em 0em 0em 0.2em; -} -.ui.attached.right.button { - display: inline-block; - padding-left: 0.75em; - text-align: left; - -webkit-border-radius: 0em 0.2em 0.2em 0em; - -moz-border-radius: 0em 0.2em 0.2em 0em; - border-radius: 0em 0.2em 0.2em 0em; -} -/*------------------- - Or Buttons ---------------------*/ -.ui.buttons .or { - position: relative; - float: left; - width: 0.3em; - height: 1em; - z-index: 3; -} -.ui.buttons .or:before { - position: absolute; - top: 50%; - left: 50%; - content: 'or'; - background-color: #FFFFFF; - margin-top: -0.15em; - margin-left: -0.9em; - width: 1.8em; - height: 1.8em; - line-height: 1.66; - color: #AAAAAA; - font-style: normal; - font-weight: normal; - text-align: center; - -moz-box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.2) inset; - -webkit-box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.2) inset; - box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.2) inset; - -moz-border-radius: 500px; - -webkit-border-radius: 500px; - border-radius: 500px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -.ui.buttons .or:after { - position: absolute; - top: 0em; - left: 0em; - content: ' '; - width: 0.3em; - height: 1.8em; - background-color: transparent; - border-top: 0.6em solid #FFFFFF; - border-bottom: 0.6em solid #FFFFFF; -} -/* Fluid Or */ -.ui.fluid.buttons .or { - width: 0em !important; -} -.ui.fluid.buttons .or:after { - display: none; -} -/*------------------- - Attached ---------------------*/ -/* Plural Attached */ -.attached.ui.buttons { - margin: 0px; - -webkit-border-radius: 4px 4px 0px 0px; - -moz-border-radius: 4px 4px 0px 0px; - border-radius: 4px 4px 0px 0px; -} -.attached.ui.buttons .button:first-child { - -webkit-border-radius: 4px 0px 0px 0px; - -moz-border-radius: 4px 0px 0px 0px; - border-radius: 4px 0px 0px 0px; -} -.attached.ui.buttons .button:last-child { - -webkit-border-radius: 0px 4px 0px 0px; - -moz-border-radius: 0px 4px 0px 0px; - border-radius: 0px 4px 0px 0px; -} -/* Bottom Side */ -.bottom.attached.ui.buttons { - margin-top: -1px; - -webkit-border-radius: 0px 0px 4px 4px; - -moz-border-radius: 0px 0px 4px 4px; - border-radius: 0px 0px 4px 4px; -} -.bottom.attached.ui.buttons .button:first-child { - -webkit-border-radius: 0px 0px 0px 4px; - -moz-border-radius: 0px 0px 0px 4px; - border-radius: 0px 0px 0px 4px; -} -.bottom.attached.ui.buttons .button:last-child { - -webkit-border-radius: 0px 0px 4px 0px; - -moz-border-radius: 0px 0px 4px 0px; - border-radius: 0px 0px 4px 0px; -} -/* Left Side */ -.left.attached.ui.buttons { - margin-left: -1px; - -webkit-border-radius: 0px 4px 4px 0px; - -moz-border-radius: 0px 4px 4px 0px; - border-radius: 0px 4px 4px 0px; -} -.left.attached.ui.buttons .button:first-child { - margin-left: -1px; - -webkit-border-radius: 0px 4px 0px 0px; - -moz-border-radius: 0px 4px 0px 0px; - border-radius: 0px 4px 0px 0px; -} -.left.attached.ui.buttons .button:last-child { - margin-left: -1px; - -webkit-border-radius: 0px 0px 4px 0px; - -moz-border-radius: 0px 0px 4px 0px; - border-radius: 0px 0px 4px 0px; -} -/* Right Side */ -.right.attached.ui.buttons, -.right.attached.ui.buttons .button { - margin-right: -1px; - -webkit-border-radius: 4px 0px 0px 4px; - -moz-border-radius: 4px 0px 0px 4px; - border-radius: 4px 0px 0px 4px; -} -.right.attached.ui.buttons .button:first-child { - margin-left: -1px; - -webkit-border-radius: 4px 0px 0px 0px; - -moz-border-radius: 4px 0px 0px 0px; - border-radius: 4px 0px 0px 0px; -} -.right.attached.ui.buttons .button:last-child { - margin-left: -1px; - -webkit-border-radius: 0px 0px 0px 4px; - -moz-border-radius: 0px 0px 0px 4px; - border-radius: 0px 0px 0px 4px; -} -/* Fluid */ -.ui.fluid.buttons, -.ui.button.fluid, -.ui.fluid.buttons > .button { - display: block; - width: 100%; -} -.ui.two.buttons > .button { - width: 50%; -} -.ui.three.buttons > .button { - width: 33.333%; -} -.ui.four.buttons > .button { - width: 25%; -} -.ui.five.buttons > .button { - width: 20%; -} -.ui.six.buttons > .button { - width: 16.666%; -} -.ui.seven.buttons > .button { - width: 14.285%; -} -.ui.eight.buttons > .button { - width: 12.500%; -} -.ui.nine.buttons > .button { - width: 11.11%; -} -.ui.ten.buttons > .button { - width: 10%; -} -.ui.eleven.buttons > .button { - width: 9.09%; -} -.ui.twelve.buttons > .button { - width: 8.3333%; -} -/* Fluid Vertical Buttons */ -.ui.fluid.vertical.buttons, -.ui.fluid.vertical.buttons > .button { - width: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -.ui.two.vertical.buttons > .button { - height: 50%; -} -.ui.three.vertical.buttons > .button { - height: 33.333%; -} -.ui.four.vertical.buttons > .button { - height: 25%; -} -.ui.five.vertical.buttons > .button { - height: 20%; -} -.ui.six.vertical.buttons > .button { - height: 16.666%; -} -.ui.seven.vertical.buttons > .button { - height: 14.285%; -} -.ui.eight.vertical.buttons > .button { - height: 12.500%; -} -.ui.nine.vertical.buttons > .button { - height: 11.11%; -} -.ui.ten.vertical.buttons > .button { - height: 10%; -} -.ui.eleven.vertical.buttons > .button { - height: 9.09%; -} -.ui.twelve.vertical.buttons > .button { - height: 8.3333%; -} -/*------------------- - Colors ---------------------*/ -/*--- White ---*/ -.ui.white.buttons .button, -.ui.white.button { - background-color: #FFFFFF; -} -.ui.white.buttons .button:hover, -.ui.white.button:hover { - background-color: #A4A4A4; -} -/*--- Black ---*/ -.ui.black.buttons .button, -.ui.black.button { - background-color: #5C6166; - color: #FFFFFF; -} -.ui.black.buttons .button:hover, -.ui.black.button:hover { - background-color: #4C4C4C; - color: #FFFFFF; -} -.ui.black.buttons .button:active, -.ui.black.button:active { - background-color: #333333; - color: #FFFFFF; -} -/*--- Green ---*/ -.ui.green.buttons .button, -.ui.green.button { - background-color: #5BBD72; - color: #FFFFFF; -} -.ui.green.buttons .button:hover, -.ui.green.button:hover, -.ui.green.buttons .active.button, -.ui.green.button.active { - background-color: #58cb73; - color: #FFFFFF; -} -.ui.green.buttons .button:active, -.ui.green.button:active { - background-color: #4CB164; - color: #FFFFFF; -} -/*--- Red ---*/ -.ui.red.buttons .button, -.ui.red.button { - background-color: #D95C5C; - color: #FFFFFF; -} -.ui.red.buttons .button:hover, -.ui.red.button:hover, -.ui.red.buttons .active.button, -.ui.red.button.active { - background-color: #E75859; - color: #FFFFFF; -} -.ui.red.buttons .button:active, -.ui.red.button:active { - background-color: #D24B4C; - color: #FFFFFF; -} -/*--- Orange ---*/ -.ui.orange.buttons .button, -.ui.orange.button { - background-color: #E96633; - color: #FFFFFF; -} -.ui.orange.buttons .button:hover, -.ui.orange.button:hover, -.ui.orange.buttons .active.button, -.ui.orange.button.active { - background-color: #FF7038; - color: #FFFFFF; -} -.ui.orange.buttons .button:active, -.ui.orange.button:active { - background-color: #DA683B; - color: #FFFFFF; -} -/*--- Blue ---*/ -.ui.blue.buttons .button, -.ui.blue.button { - background-color: #6ECFF5; - color: #FFFFFF; -} -.ui.blue.buttons .button:hover, -.ui.blue.button:hover, -.ui.blue.buttons .active.button, -.ui.blue.button.active { - background-color: #1AB8F3; - color: #FFFFFF; -} -.ui.blue.buttons .button:active, -.ui.blue.button:active { - background-color: #0AA5DF; - color: #FFFFFF; -} -/*--- Purple ---*/ -.ui.purple.buttons .button, -.ui.purple.button { - background-color: #564F8A; - color: #FFFFFF; -} -.ui.purple.buttons .button:hover, -.ui.purple.button:hover, -.ui.purple.buttons .active.button, -.ui.purple.button.active { - background-color: #3E3773; - color: #FFFFFF; -} -.ui.purple.buttons .button:active, -.ui.purple.button:active { - background-color: #2E2860; - color: #FFFFFF; -} -/*--- Teal ---*/ -.ui.teal.buttons .button, -.ui.teal.button { - background-color: #00B5AD; - color: #FFFFFF; -} -.ui.teal.buttons .button:hover, -.ui.teal.button:hover, -.ui.teal.buttons .active.button, -.ui.teal.button.active { - background-color: #009A93; - color: #FFFFFF; -} -.ui.teal.buttons .button:active, -.ui.teal.button:active { - background-color: #00847E; - color: #FFFFFF; -} -/*--------------- - Positive -----------------*/ -.ui.positive.buttons .button, -.ui.positive.button { - background-color: #5BBD72 !important; - color: #FFFFFF; -} -.ui.positive.buttons .button:hover, -.ui.positive.button:hover, -.ui.positive.buttons .active.button, -.ui.positive.button.active { - background-color: #58CB73 !important; - color: #FFFFFF; -} -.ui.positive.buttons .button:active, -.ui.positive.button:active { - background-color: #4CB164 !important; - color: #FFFFFF; -} -/*--------------- - Negative -----------------*/ -.ui.negative.buttons .button, -.ui.negative.button { - background-color: #D95C5C !important; - color: #FFFFFF; -} -.ui.negative.buttons .button:hover, -.ui.negative.button:hover, -.ui.negative.buttons .active.button, -.ui.negative.button.active { - background-color: #E75859 !important; - color: #FFFFFF; -} -.ui.negative.buttons .button:active, -.ui.negative.button:active { - background-color: #D24B4C !important; - color: #FFFFFF; -} -/******************************* - Groups -*******************************/ -.ui.buttons { - display: inline-block; - vertical-align: middle; -} -.ui.buttons:after { - content: "."; - display: block; - height: 0; - clear: both; - visibility: hidden; -} -.ui.buttons .button:first-child { - border-left: none; -} -.ui.buttons .button { - float: left; - -webkit-border-radius: 0em; - -moz-border-radius: 0em; - border-radius: 0em; - border-left: 1px solid rgba(0, 0, 0, 0.05); -} -.ui.buttons .button:first-child { - margin-left: 0em; - border-top-left-radius: 0.2em; - border-bottom-left-radius: 0.2em; -} -.ui.buttons .button:last-child { - border-top-right-radius: 0.2em; - border-bottom-right-radius: 0.2em; -} -/* Vertical Style */ -.ui.vertical.buttons { - display: inline-block; -} -.ui.vertical.buttons .button { - display: block; - float: none; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); - border-left: none; - box-shadow: none; -} -.ui.vertical.buttons .button:first-child, -.ui.vertical.buttons .mini.button:first-child, -.ui.vertical.buttons .tiny.button:first-child, -.ui.vertical.buttons .small.button:first-child, -.ui.vertical.buttons .massive.button:first-child, -.ui.vertical.buttons .huge.button:first-child { - margin-top: 0px; - -moz-border-radius: 0.2em 0.2em 0px 0px; - -webkit-border-radius: 0.2em 0.2em 0px 0px; - border-radius: 0.2em 0.2em 0px 0px; -} -.ui.vertical.buttons .button:last-child, -.ui.vertical.buttons .mini.button:last-child, -.ui.vertical.buttons .tiny.button:last-child, -.ui.vertical.buttons .small.button:last-child, -.ui.vertical.buttons .massive.button:last-child, -.ui.vertical.buttons .huge.button:last-child, -.ui.vertical.buttons .gigantic.button:last-child { - -moz-border-radius: 0px 0px 0.2em 0.2em; - -webkit-border-radius: 0px 0px 0.2em 0.2em; - border-radius: 0px 0px 0.2em 0.2em; -} - -/* - * # Semantic - Divider - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Divider -*******************************/ -.ui.divider { - margin: 1rem 0rem; - border-top: 1px solid rgba(0, 0, 0, 0.1); - border-bottom: 1px solid rgba(255, 255, 255, 0.8); - line-height: 1; - height: 0em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -.ui.vertical.divider, -.ui.horizontal.divider { - position: absolute; - border: none; - height: 0em; - margin: 0em; - background-color: transparent; - font-size: 0.875rem; - font-weight: bold; - text-align: center; - text-transform: uppercase; - color: rgba(0, 0, 0, 0.8); -} -/*-------------- - Vertical ----------------*/ -.ui.vertical.divider { - position: absolute; - z-index: 2; - top: 50%; - left: 50%; - margin: 0% 0% 0% -3%; - width: 6%; - height: 50%; - line-height: 0; - padding: 0em; -} -.ui.vertical.divider:before, -.ui.vertical.divider:after { - position: absolute; - left: 50%; - content: " "; - z-index: 3; - border-left: 1px solid rgba(0, 0, 0, 0.1); - border-right: 1px solid rgba(255, 255, 255, 0.8); - width: 0%; - height: 80%; -} -.ui.vertical.divider:before { - top: -100%; -} -.ui.vertical.divider:after { - top: auto; - bottom: 0px; -} -/*-------------- - Horizontal ----------------*/ -.ui.horizontal.divider { - position: relative; - top: 0%; - left: 0%; - margin: 1rem 1.5rem; - height: auto; - padding: 0em; - line-height: 1; -} -.ui.horizontal.divider:before, -.ui.horizontal.divider:after { - position: absolute; - content: " "; - z-index: 3; - width: 50%; - top: 50%; - height: 0%; - border-top: 1px solid rgba(0, 0, 0, 0.1); - border-bottom: 1px solid rgba(255, 255, 255, 0.8); -} -.ui.horizontal.divider:before { - left: 0%; - margin-left: -1.5rem; -} -.ui.horizontal.divider:after { - left: auto; - right: 0%; - margin-right: -1.5rem; -} -/*-------------- - Icon ----------------*/ -.ui.divider > .icon { - margin: 0em; - font-size: 1rem; - vertical-align: middle; -} -/******************************* - Variations -*******************************/ -/*-------------- - Inverted ----------------*/ -.ui.divider.inverted { - color: #ffffff; -} -.ui.vertical.inverted.divider, -.ui.horizontal.inverted.divider { - color: rgba(255, 255, 255, 0.9); -} -.ui.divider.inverted, -.ui.divider.inverted:after, -.ui.divider.inverted:before { - border-top-color: rgba(0, 0, 0, 0.15); - border-bottom-color: rgba(255, 255, 255, 0.15); - border-left-color: rgba(0, 0, 0, 0.15); - border-right-color: rgba(255, 255, 255, 0.15); -} -/*-------------- - Fitted ----------------*/ -.ui.fitted.divider { - margin: 0em; -} -/*-------------- - Clearing ----------------*/ -.ui.clearing.divider { - clear: both; -} -/*-------------- - Section ----------------*/ -.ui.section.divider { - margin-top: 2rem; - margin-bottom: 2rem; -} - -/* - * # Semantic - Header - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Header -*******************************/ -/* Standard */ -.ui.header { - border: none; - margin: 1em 0em 1rem; - padding: 0em; - font-size: 1.33em; - font-weight: bold; - line-height: 1.33; -} -.ui.header .sub.header { - font-size: 1rem; - font-weight: normal; - margin: 0em; - padding: 0em; - line-height: 1.2; - color: rgba(0, 0, 0, 0.5); -} -.ui.header .icon { - display: table-cell; - vertical-align: middle; - padding-right: 0.5em; -} -.ui.header .icon:only-child { - display: inline-block; -} -.ui.header .content { - display: inline-block; - vertical-align: top; -} -.ui.header .icon + .content { - padding-left: 0.5em; - display: table-cell; -} -/* Positioning */ -.ui.header:first-child { - margin-top: 0em; -} -.ui.header:last-child { - margin-bottom: 0em; -} -.ui.header + p { - margin-top: 0em; -} -/*-------------- - Page Heading ----------------*/ -h1.ui.header { - min-height: 1rem; - line-height: 1.33; - font-size: 2rem; -} -h2.ui.header { - line-height: 1.33; - font-size: 1.75rem; -} -h3.ui.header { - line-height: 1.33; - font-size: 1.33rem; -} -h4.ui.header { - line-height: 1.33; - font-size: 1.1rem; -} -h5.ui.header { - line-height: 1.2; - font-size: 1rem; -} -/*-------------- - Content Heading ----------------*/ -.ui.huge.header { - min-height: 1em; - font-size: 2em; -} -.ui.large.header { - font-size: 1.75em; -} -.ui.medium.header { - font-size: 1.33em; -} -.ui.small.header { - font-size: 1.1em; -} -.ui.tiny.header { - font-size: 1em; -} -/******************************* - Types -*******************************/ -/*------------------- - Icon ---------------------*/ -.ui.icon.header { - display: inline-block; - text-align: center; -} -.ui.icon.header .icon { - float: none; - display: block; - font-size: 3em; - margin: 0em auto 0.2em; - padding: 0em; -} -.ui.icon.header .content { - display: block; -} -.ui.icon.header .circular.icon, -.ui.icon.header .square.icon { - font-size: 2em; -} -.ui.block.icon.header .icon { - margin-bottom: 0em; -} -.ui.icon.header.aligned { - margin-left: auto; - margin-right: auto; - display: block; -} -/******************************* - States -*******************************/ -.ui.disabled.header { - opacity: 0.5; -} -/******************************* - Variations -*******************************/ -/*------------------- - Colors ---------------------*/ -.ui.blue.header { - color: #6ECFF5 !important; -} -.ui.black.header { - color: #5C6166 !important; -} -.ui.green.header { - color: #A1CF64 !important; -} -.ui.red.header { - color: #D95C5C !important; -} -.ui.purple.header { - color: #564F8A !important; -} -.ui.teal.header { - color: #00B5AD !important; -} -.ui.blue.dividing.header { - border-bottom: 3px solid #6ECFF5; -} -.ui.black.dividing.header { - border-bottom: 3px solid #5C6166; -} -.ui.green.dividing.header { - border-bottom: 3px solid #A1CF64; -} -.ui.red.dividing.header { - border-bottom: 3px solid #D95C5C; -} -.ui.purple.dividing.header { - border-bottom: 3px solid #564F8A; -} -.ui.teal.dividing.header { - border-bottom: 3px solid #00B5AD; -} -/*------------------- - Inverted ---------------------*/ -.ui.inverted.header { - color: #FFFFFF; -} -.ui.inverted.header .sub.header { - color: rgba(255, 255, 255, 0.85); -} -/*------------------- - Inverted Colors ---------------------*/ -.ui.inverted.black.header { - background-color: #5C6166 !important; - color: #FFFFFF !important; -} -.ui.inverted.blue.header { - background-color: #6ECFF5 !important; - color: #FFFFFF !important; -} -.ui.inverted.green.header { - background-color: #A1CF64 !important; - color: #FFFFFF !important; -} -.ui.inverted.red.header { - background-color: #D95C5C !important; - color: #FFFFFF !important; -} -.ui.inverted.purple.header { - background-color: #564F8A !important; - color: #FFFFFF !important; -} -.ui.inverted.teal.header { - background-color: #00B5AD !important; - color: #FFFFFF !important; -} -.ui.inverted.block.header { - border-bottom: none; -} -/*------------------- - Aligned ---------------------*/ -.ui.left.aligned.header { - text-align: left; -} -.ui.right.aligned.header { - text-align: right; -} -.ui.center.aligned.header { - text-align: center; -} -/*------------------- - Floated ---------------------*/ -.ui.floated.header, -.ui.left.floated.header { - float: left; - margin-top: 0em; - margin-right: 0.5em; -} -.ui.right.floated.header { - float: right; - margin-top: 0em; - margin-left: 0.5em; -} -/*------------------- - Fittted ---------------------*/ -.ui.fitted.header { - padding: 0em; -} -/*------------------- - Dividing ---------------------*/ -.ui.dividing.header { - padding-bottom: 0.2rem; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); -} -.ui.dividing.header .sub.header { - padding-bottom: 0.5em; -} -.ui.dividing.header .icon { - margin-bottom: 0.2em; -} -/*------------------- - Block ---------------------*/ -.ui.block.header { - background-color: #F5F5F5; - padding: 0.5em 1em; -} -/*------------------- - Attached ---------------------*/ -.ui.attached.header { - background-color: #E0E0E0; - padding: 0.5em 1rem; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); -} -.ui.top.attached.header { - margin-bottom: 0em; - -webkit-border-radius: 0.3125em 0.3125em 0em 0em; - -moz-border-radius: 0.3125em 0.3125em 0em 0em; - border-radius: 0.3125em 0.3125em 0em 0em; -} -.ui.bottom.attached.header { - margin-top: 0em; - -webkit-border-radius: 0em 0em 0.3125em 0.3125em; - -moz-border-radius: 0em 0em 0.3125em 0.3125em; - border-radius: 0em 0em 0.3125em 0.3125em; -} - -/* - * # Semantic - Icon - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/*! - * Font Awesome 3.2.1 - * the iconic font designed for Bootstrap - * ------------------------------------------------------------------------------ - * The full suite of pictographic icons, examples, and documentation can be - * found at http://fon.io. Stay up to date on Twitter at - * http://twitter.com/fon. - * - * License - * ------------------------------------------------------------------------------ - * - The Font Awesome font is licensed under SIL OFL 1.1 - - * http://scripts.sil.org/OFL - -/******************************* - Icon -*******************************/ -@font-face { - font-family: 'Icons'; - src: url(../fonts/icons.eot); - src: url(../fonts/icons.eot?#iefix) format('embedded-opentype'), url(../fonts/icons.woff) format('woff'), url(../fonts/icons.ttf) format('truetype'), url(../fonts/icons.svg#icons) format('svg'); - font-style: normal; - font-weight: normal; - font-variant: normal; - text-decoration: inherit; - text-transform: none; -} -i.icon { - display: inline-block; - opacity: 0.75; - margin: 0em 0.25em 0em 0em; - width: 1.23em; - height: 1em; - font-family: 'Icons'; - font-style: normal; - line-height: 1; - font-weight: normal; - text-decoration: inherit; - text-align: center; - speak: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -webkit-font-smoothing: antialiased; - -moz-font-smoothing: antialiased; - font-smoothing: antialiased; -} -i.icon.left:before { - content: "\f060"; -} -i.icon.right:before { - content: "\f061"; -} -i.icon.add.sign.box:before { - content: "\f0fe"; -} -i.icon.add.sign:before { - content: "\f055"; -} -i.icon.add:before { - content: "\f067"; -} -i.icon.adjust:before { - content: "\f042"; -} -i.icon.adn:before { - content: "\f170"; -} -i.icon.align.center:before { - content: "\f037"; -} -i.icon.align.justify:before { - content: "\f039"; -} -i.icon.align.left:before { - content: "\f036"; -} -i.icon.align.right:before { - content: "\f038"; -} -i.icon.ambulance:before { - content: "\f0f9"; -} -i.icon.anchor:before { - content: "\f13d"; -} -i.icon.android:before { - content: "\f17b"; -} -i.icon.angle.down:before { - content: "\f107"; -} -i.icon.angle.left:before { - content: "\f104"; -} -i.icon.angle.right:before { - content: "\f105"; -} -i.icon.angle.up:before { - content: "\f106"; -} -i.icon.apple:before { - content: "\f179"; -} -i.icon.archive:before { - content: "\f187"; -} -i.icon.arrow.down:before { - content: "\f078"; -} -i.icon.arrow.left:before { - content: "\f053"; -} -i.icon.arrow.right:before { - content: "\f054"; -} -i.icon.arrow.sign.down:before { - content: "\f13a"; -} -i.icon.arrow.sign.left:before { - content: "\f137"; -} -i.icon.arrow.sign.right:before { - content: "\f138"; -} -i.icon.arrow.sign.up:before { - content: "\f139"; -} -i.icon.arrow.up:before { - content: "\f077"; -} -i.icon.asterisk:before { - content: "\f069"; -} -i.icon.attachment:before { - content: "\f0c6"; -} -i.icon.attention:before { - content: "\f06a"; -} -i.icon.backward:before { - content: "\f04a"; -} -i.icon.ban.circle:before { - content: "\f05e"; -} -i.icon.bar.chart:before { - content: "\f080"; -} -i.icon.barcode:before { - content: "\f02a"; -} -i.icon.beer:before { - content: "\f0fc"; -} -i.icon.bell.outline:before { - content: "\f0a2"; -} -i.icon.bell:before { - content: "\f0f3"; -} -i.icon.bitbucket.sign:before { - content: "\f172"; -} -i.icon.bitbucket:before { - content: "\f171"; -} -i.icon.bitcoin:before { - content: "\f15a"; -} -i.icon.bold:before { - content: "\f032"; -} -i.icon.bolt:before { - content: "\f0e7"; -} -i.icon.book:before { - content: "\f02d"; -} -i.icon.bookmark.empty:before { - content: "\f097"; -} -i.icon.bookmark:before { - content: "\f02e"; -} -i.icon.box.arrow.down:before { - content: "\f150"; -} -i.icon.box.arrow.right:before { - content: "\f152"; -} -i.icon.box.arrow.up:before { - content: "\f151"; -} -i.icon.briefcase:before { - content: "\f0b1"; -} -i.icon.browser:before { - content: "\f022"; -} -i.icon.bug:before { - content: "\f188"; -} -i.icon.building:before { - content: "\f0f7"; -} -i.icon.bullhorn:before { - content: "\f0a1"; -} -i.icon.bullseye:before { - content: "\f140"; -} -i.icon.calendar.empty:before { - content: "\f133"; -} -i.icon.calendar:before { - content: "\f073"; -} -i.icon.camera.retro:before { - content: "\f083"; -} -i.icon.camera:before { - content: "\f030"; -} -i.icon.triangle.down:before { - content: "\f0d7"; -} -i.icon.triangle.left:before { - content: "\f0d9"; -} -i.icon.triangle.right:before { - content: "\f0da"; -} -i.icon.triangle.up:before { - content: "\f0d8"; -} -i.icon.cart:before { - content: "\f07a"; -} -i.icon.certificate:before { - content: "\f0a3"; -} -i.icon.chat.outline:before { - content: "\f0e6"; -} -i.icon.chat:before { - content: "\f086"; -} -i.icon.checkbox.empty:before { - content: "\f096"; -} -i.icon.checkbox.minus:before { - content: "\f147"; -} -i.icon.checked.checkbox:before { - content: "\f046"; -} -i.icon.checkmark.sign:before { - content: "\f14a"; -} -i.icon.checkmark:before { - content: "\f00c"; -} -i.icon.circle.blank:before { - content: "\f10c"; -} -i.icon.circle.down:before { - content: "\f0ab"; -} -i.icon.circle.left:before { - content: "\f0a8"; -} -i.icon.circle.right:before { - content: "\f0a9"; -} -i.icon.circle.up:before { - content: "\f0aa"; -} -i.icon.circle:before { - content: "\f111"; -} -i.icon.cloud.download:before { - content: "\f0ed"; -} -i.icon.cloud.upload:before { - content: "\f0ee"; -} -i.icon.cloud:before { - content: "\f0c2"; -} -i.icon.code.fork:before { - content: "\f126"; -} -i.icon.code:before { - content: "\f121"; -} -i.icon.coffee:before { - content: "\f0f4"; -} -i.icon.collapse:before { - content: "\f117"; -} -i.icon.comment.outline:before { - content: "\f0e5"; -} -i.icon.comment:before { - content: "\f075"; -} -i.icon.copy:before { - content: "\f0c5"; -} -i.icon.crop:before { - content: "\f125"; -} -i.icon.css3:before { - content: "\f13c"; -} -i.icon.cut:before { - content: "\f0c4"; -} -i.icon.dashboard:before { - content: "\f0e4"; -} -i.icon.desktop:before { - content: "\f108"; -} -i.icon.doctor:before { - content: "\f0f0"; -} -i.icon.dollar:before { - content: "\f155"; -} -i.icon.double.angle.down:before { - content: "\f103"; -} -i.icon.double.angle.left:before { - content: "\f100"; -} -i.icon.double.angle.right:before { - content: "\f101"; -} -i.icon.double.angle.up:before { - content: "\f102"; -} -i.icon.down:before { - content: "\f063"; -} -i.icon.download.disk:before { - content: "\f019"; -} -i.icon.download:before { - content: "\f01a"; -} -i.icon.dribbble:before { - content: "\f17d"; -} -i.icon.dropbox:before { - content: "\f16b"; -} -i.icon.edit.sign:before { - content: "\f14b"; -} -i.icon.edit:before { - content: "\f044"; -} -i.icon.eject:before { - content: "\f052"; -} -i.icon.ellipsis.horizontal:before { - content: "\f141"; -} -i.icon.ellipsis.vertical:before { - content: "\f142"; -} -i.icon.eraser:before { - content: "\f12d"; -} -i.icon.euro:before { - content: "\f153"; -} -i.icon.exchange:before { - content: "\f0ec"; -} -i.icon.exclamation:before { - content: "\f12a"; -} -i.icon.expand:before { - content: "\f116"; -} -i.icon.external.url.sign:before { - content: "\f14c"; -} -i.icon.external.url:before { - content: "\f08e"; -} -i.icon.facebook.sign:before { - content: "\f082"; -} -i.icon.facebook:before { - content: "\f09a"; -} -i.icon.facetime.video:before { - content: "\f03d"; -} -i.icon.fast.backward:before { - content: "\f049"; -} -i.icon.fast.forward:before { - content: "\f050"; -} -i.icon.female:before { - content: "\f182"; -} -i.icon.fighter.jet:before { - content: "\f0fb"; -} -i.icon.file.outline:before { - content: "\f016"; -} -i.icon.file.text.outline:before { - content: "\f0f6"; -} -i.icon.file.text:before { - content: "\f15c"; -} -i.icon.file:before { - content: "\f15b"; -} -i.icon.filter:before { - content: "\f0b0"; -} -i.icon.fire.extinguisher:before { - content: "\f134"; -} -i.icon.fire:before { - content: "\f06d"; -} -i.icon.flag.checkered:before { - content: "\f11e"; -} -i.icon.flag.empty:before { - content: "\f11d"; -} -i.icon.flag:before { - content: "\f024"; -} -i.icon.flickr:before { - content: "\f16e"; -} -i.icon.folder.open.outline:before { - content: "\f115"; -} -i.icon.folder.open:before { - content: "\f07c"; -} -i.icon.folder.outline:before { - content: "\f114"; -} -i.icon.folder:before { - content: "\f07b"; -} -i.icon.font:before { - content: "\f031"; -} -i.icon.food:before { - content: "\f0f5"; -} -i.icon.forward.mail:before { - content: "\f064"; -} -i.icon.forward:before { - content: "\f04e"; -} -i.icon.foursquare:before { - content: "\f180"; -} -i.icon.frown:before { - content: "\f119"; -} -i.icon.fullscreen:before { - content: "\f0b2"; -} -i.icon.gamepad:before { - content: "\f11b"; -} -i.icon.gift:before { - content: "\f06b"; -} -i.icon.github.alternate:before { - content: "\f09b"; -} -i.icon.github.sign:before { - content: "\f092"; -} -i.icon.github:before { - content: "\f113"; -} -i.icon.gittip:before { - content: "\f184"; -} -i.icon.glass:before { - content: "\f000"; -} -i.icon.globe:before { - content: "\f0ac"; -} -i.icon.google.plus.sign:before { - content: "\f0d4"; -} -i.icon.google.plus:before { - content: "\f0d5"; -} -i.icon.h.sign:before { - content: "\f0fd"; -} -i.icon.hand.down:before { - content: "\f0a7"; -} -i.icon.hand.left:before { - content: "\f0a5"; -} -i.icon.hand.right:before { - content: "\f0a4"; -} -i.icon.hand.up:before { - content: "\f0a6"; -} -i.icon.hdd:before { - content: "\f0a0"; -} -i.icon.headphones:before { - content: "\f025"; -} -i.icon.heart.empty:before { - content: "\f08a"; -} -i.icon.heart:before { - content: "\f004"; -} -i.icon.help:before { - content: "\f059"; -} -i.icon.hide:before { - content: "\f070"; -} -i.icon.home:before { - content: "\f015"; -} -i.icon.hospital:before { - content: "\f0f8"; -} -i.icon.html5:before { - content: "\f13b"; -} -i.icon.inbox:before { - content: "\f01c"; -} -i.icon.indent.left:before { - content: "\f03b"; -} -i.icon.indent.right:before { - content: "\f03c"; -} -i.icon.info.letter:before { - content: "\f129"; -} -i.icon.info:before { - content: "\f05a"; -} -i.icon.instagram:before { - content: "\f16d"; -} -i.icon.italic:before { - content: "\f033"; -} -i.icon.key:before { - content: "\f084"; -} -i.icon.keyboard:before { - content: "\f11c"; -} -i.icon.lab:before { - content: "\f0c3"; -} -i.icon.laptop:before { - content: "\f109"; -} -i.icon.layout.block:before { - content: "\f009"; -} -i.icon.layout.column:before { - content: "\f0db"; -} -i.icon.layout.grid:before { - content: "\f00a"; -} -i.icon.layout.list:before { - content: "\f00b"; -} -i.icon.leaf:before { - content: "\f06c"; -} -i.icon.legal:before { - content: "\f0e3"; -} -i.icon.lemon:before { - content: "\f094"; -} -i.icon.level.down:before { - content: "\f149"; -} -i.icon.level.up:before { - content: "\f148"; -} -i.icon.lightbulb:before { - content: "\f0eb"; -} -i.icon.linkedin.sign:before { - content: "\f08c"; -} -i.icon.linkedin:before { - content: "\f0e1"; -} -i.icon.linux:before { - content: "\f17c"; -} -i.icon.list.ordered:before { - content: "\f0cb"; -} -i.icon.list.unordered:before { - content: "\f0ca"; -} -i.icon.list:before { - content: "\f03a"; -} -i.icon.loading:before { - content: "\f110"; -} -i.icon.location:before { - content: "\f124"; -} -i.icon.lock:before { - content: "\f023"; -} -i.icon.long.arrow.down:before { - content: "\f175"; -} -i.icon.long.arrow.left:before { - content: "\f177"; -} -i.icon.long.arrow.right:before { - content: "\f178"; -} -i.icon.long.arrow.up:before { - content: "\f176"; -} -i.icon.magic:before { - content: "\f0d0"; -} -i.icon.magnet:before { - content: "\f076"; -} -i.icon.mail.outline:before { - content: "\f003"; -} -i.icon.mail.reply:before { - content: "\f112"; -} -i.icon.mail:before { - content: "\f0e0"; -} -i.icon.male:before { - content: "\f183"; -} -i.icon.map.marker:before { - content: "\f041"; -} -i.icon.map:before { - content: "\f14e"; -} -i.icon.maxcdn:before { - content: "\f136"; -} -i.icon.medkit:before { - content: "\f0fa"; -} -i.icon.meh:before { - content: "\f11a"; -} -i.icon.minus.sign.alternate:before { - content: "\f146"; -} -i.icon.minus.sign:before { - content: "\f056"; -} -i.icon.minus:before { - content: "\f068"; -} -i.icon.mobile:before { - content: "\f10b"; -} -i.icon.money:before { - content: "\f0d6"; -} -i.icon.moon:before { - content: "\f186"; -} -i.icon.move:before { - content: "\f047"; -} -i.icon.music:before { - content: "\f001"; -} -i.icon.mute:before { - content: "\f131"; -} -i.icon.off:before { - content: "\f011"; -} -i.icon.ok.circle:before { - content: "\f05d"; -} -i.icon.ok.sign:before { - content: "\f058"; -} -i.icon.paste:before { - content: "\f0ea"; -} -i.icon.pause:before { - content: "\f04c"; -} -i.icon.payment:before { - content: "\f09d"; -} -i.icon.pencil:before { - content: "\f040"; -} -i.icon.phone.sign:before { - content: "\f098"; -} -i.icon.phone:before { - content: "\f095"; -} -i.icon.photo:before { - content: "\f03e"; -} -i.icon.pin:before { - content: "\f08d"; -} -i.icon.pinterest.sign:before { - content: "\f0d3"; -} -i.icon.pinterest:before { - content: "\f0d2"; -} -i.icon.plane:before { - content: "\f072"; -} -i.icon.play.circle:before { - content: "\f01d"; -} -i.icon.play.sign:before { - content: "\f144"; -} -i.icon.play:before { - content: "\f04b"; -} -i.icon.pound:before { - content: "\f154"; -} -i.icon.print:before { - content: "\f02f"; -} -i.icon.puzzle.piece:before { - content: "\f12e"; -} -i.icon.qr.code:before { - content: "\f029"; -} -i.icon.question:before { - content: "\f128"; -} -i.icon.quote.left:before { - content: "\f10d"; -} -i.icon.quote.right:before { - content: "\f10e"; -} -i.icon.refresh:before { - content: "\f021"; -} -i.icon.remove.circle:before { - content: "\f05c"; -} -i.icon.remove.sign:before { - content: "\f057"; -} -i.icon.remove:before { - content: "\f00d"; -} -i.icon.renren:before { - content: "\f18b"; -} -i.icon.reorder:before { - content: "\f0c9"; -} -i.icon.repeat:before { - content: "\f01e"; -} -i.icon.reply.all.mail:before { - content: "\f122"; -} -i.icon.resize.full:before { - content: "\f065"; -} -i.icon.resize.horizontal:before { - content: "\f07e"; -} -i.icon.resize.small:before { - content: "\f066"; -} -i.icon.resize.vertical:before { - content: "\f07d"; -} -i.icon.retweet:before { - content: "\f079"; -} -i.icon.road:before { - content: "\f018"; -} -i.icon.rocket:before { - content: "\f135"; -} -i.icon.rss.sign:before { - content: "\f143"; -} -i.icon.rss:before { - content: "\f09e"; -} -i.icon.rupee:before { - content: "\f156"; -} -i.icon.save:before { - content: "\f0c7"; -} -i.icon.screenshot:before { - content: "\f05b"; -} -i.icon.search:before { - content: "\f002"; -} -i.icon.setting:before { - content: "\f013"; -} -i.icon.settings:before { - content: "\f085"; -} -i.icon.share.sign:before { - content: "\f14d"; -} -i.icon.share:before { - content: "\f045"; -} -i.icon.shield:before { - content: "\f132"; -} -i.icon.shuffle:before { - content: "\f074"; -} -i.icon.sign.in:before { - content: "\f090"; -} -i.icon.sign.out:before { - content: "\f08b"; -} -i.icon.sign:before { - content: "\f0c8"; -} -i.icon.signal:before { - content: "\f012"; -} -i.icon.sitemap:before { - content: "\f0e8"; -} -i.icon.skype:before { - content: "\f17e"; -} -i.icon.smile:before { - content: "\f118"; -} -i.icon.sort.alphabet.descending:before { - content: "\f15e"; -} -i.icon.sort.alphabet:before { - content: "\f15d"; -} -i.icon.sort.ascending:before { - content: "\f0de"; -} -i.icon.sort.attributes.descending:before { - content: "\f161"; -} -i.icon.sort.attributes:before { - content: "\f160"; -} -i.icon.sort.descending:before { - content: "\f0dd"; -} -i.icon.sort.order.descending:before { - content: "\f163"; -} -i.icon.sort.order:before { - content: "\f162"; -} -i.icon.sort:before { - content: "\f0dc"; -} -i.icon.stackexchange:before { - content: "\f16c"; -} -i.icon.star.empty:before { - content: "\f006"; -} -i.icon.star.half.empty:before { - content: "\f123"; -} -i.icon.star.half.full:before, -i.icon.star.half:before { - content: "\f089"; -} -i.icon.star:before { - content: "\f005"; -} -i.icon.step.backward:before { - content: "\f048"; -} -i.icon.step.forward:before { - content: "\f051"; -} -i.icon.stethoscope:before { - content: "\f0f1"; -} -i.icon.stop:before { - content: "\f04d"; -} -i.icon.strikethrough:before { - content: "\f0cc"; -} -i.icon.subscript:before { - content: "\f12c"; -} -i.icon.suitcase:before { - content: "\f0f2"; -} -i.icon.sun:before { - content: "\f185"; -} -i.icon.superscript:before { - content: "\f12b"; -} -i.icon.table:before { - content: "\f0ce"; -} -i.icon.tablet:before { - content: "\f10a"; -} -i.icon.tag:before { - content: "\f02b"; -} -i.icon.tags:before { - content: "\f02c"; -} -i.icon.tasks:before { - content: "\f0ae"; -} -i.icon.terminal:before { - content: "\f120"; -} -i.icon.text.height:before { - content: "\f034"; -} -i.icon.text.width:before { - content: "\f035"; -} -i.icon.thumbs.down.outline:before { - content: "\f088"; -} -i.icon.thumbs.down:before { - content: "\f165"; -} -i.icon.thumbs.up.outline:before { - content: "\f087"; -} -i.icon.thumbs.up:before { - content: "\f164"; -} -i.icon.ticket:before { - content: "\f145"; -} -i.icon.time:before { - content: "\f017"; -} -i.icon.tint:before { - content: "\f043"; -} -i.icon.trash:before { - content: "\f014"; -} -i.icon.trello:before { - content: "\f181"; -} -i.icon.trophy:before { - content: "\f091"; -} -i.icon.truck:before { - content: "\f0d1"; -} -i.icon.tumblr.sign:before { - content: "\f174"; -} -i.icon.tumblr:before { - content: "\f173"; -} -i.icon.twitter.sign:before { - content: "\f081"; -} -i.icon.twitter:before { - content: "\f099"; -} -i.icon.umbrella:before { - content: "\f0e9"; -} -i.icon.underline:before { - content: "\f0cd"; -} -i.icon.undo:before { - content: "\f0e2"; -} -i.icon.unhide:before { - content: "\f06e"; -} -i.icon.unlink:before { - content: "\f127"; -} -i.icon.unlock.alternate:before { - content: "\f13e"; -} -i.icon.unlock:before { - content: "\f09c"; -} -i.icon.unmute:before { - content: "\f130"; -} -i.icon.up:before { - content: "\f062"; -} -i.icon.upload.disk:before { - content: "\f093"; -} -i.icon.upload:before { - content: "\f01b"; -} -i.icon.url:before { - content: "\f0c1"; -} -i.icon.user:before { - content: "\f007"; -} -i.icon.users:before { - content: "\f0c0"; -} -i.icon.video:before { - content: "\f008"; -} -i.icon.vk:before { - content: "\f189"; -} -i.icon.volume.down:before { - content: "\f027"; -} -i.icon.volume.off:before { - content: "\f026"; -} -i.icon.volume.up:before { - content: "\f028"; -} -i.icon.warning:before { - content: "\f071"; -} -i.icon.weibo:before { - content: "\f18a"; -} -i.icon.windows:before { - content: "\f17a"; -} -i.icon.won:before { - content: "\f159"; -} -i.icon.wrench:before { - content: "\f0ad"; -} -i.icon.xing.sign:before { - content: "\f169"; -} -i.icon.xing:before { - content: "\f168"; -} -i.icon.yen:before { - content: "\f157"; -} -i.icon.youtube.play:before { - content: "\f16a"; -} -i.icon.youtube.sign:before { - content: "\f166"; -} -i.icon.youtube:before { - content: "\f167"; -} -i.icon.yuan:before { - content: "\f158"; -} -i.icon.zoom.in:before { - content: "\f00e"; -} -i.icon.zoom.out:before { - content: "\f010"; -} -/*-------------- - Aliases ----------------*/ -i.icon.check:before { - content: "\f00c"; -} -i.icon.close:before { - content: "\f00d"; -} -i.icon.delete:before { - content: "\f00d"; -} -i.icon.like:before { - content: "\f004"; -} -i.icon.plus:before { - content: "\f067"; -} -i.icon.signup:before { - content: "\f044"; -} -/*-------------- - Spacing Fix ----------------*/ -/* stars are usually consecutive */ -i.icon.star { - width: auto; - margin: 0em; -} -/* left side icons */ -i.icon.left, -i.icon.left, -i.icon.left { - width: auto; - margin: 0em 0.5em 0em 0em; -} -/* right side icons */ -i.icon.search, -i.icon.up, -i.icon.down, -i.icon.right { - width: auto; - margin: 0em 0em 0em 0.5em; -} -/******************************* - Types -*******************************/ -/*-------------- - Loading ----------------*/ -i.icon.loading { - -webkit-animation: icon-loading 2s linear infinite; - -moz-animation: icon-loading 2s linear infinite; - -ms-animation: icon-loading 2s linear infinite; - -o-animation: icon-loading 2s linear infinite; - animation: icon-loading 2s linear infinite; -} -@keyframes icon-loading { - from { - -webkit-transform: rotate(0deg); - -moz-transform: rotate(0deg); - -o-transform: rotate(0deg); - -ms-transform: rotate(0deg); - transform: rotate(0deg); - } - to { - -webkit-transform: rotate(360deg); - -moz-transform: rotate(360deg); - -o-transform: rotate(360deg); - -ms-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-moz-keyframes icon-loading { - from { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - to { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-webkit-keyframes icon-loading { - from { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-ms-keyframes icon-loading { - from { - -ms-transform: rotate(0deg); - transform: rotate(0deg); - } - to { - -ms-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-o-keyframes icon-loading { - from { - -o-transform: rotate(0deg); - transform: rotate(0deg); - } - to { - -o-transform: rotate(360deg); - transform: rotate(360deg); - } -} -/******************************* - States -*******************************/ -i.icon.hover { - opacity: 1; -} -i.icon.active { - opacity: 1; -} -i.emphasized.icon { - opacity: 1; -} -i.icon.disabled { - opacity: 0.3; -} -/******************************* - Variations -*******************************/ -/*------------------- - Link ---------------------*/ -i.link.icon { - cursor: pointer; - opacity: 0.7; - -webkit-transition: opacity 0.3s ease-out; - -moz-transition: opacity 0.3s ease-out; - -o-transition: opacity 0.3s ease-out; - -ms-transition: opacity 0.3s ease-out; - transition: opacity 0.3s ease-out; -} -i.link.icon:hover { - opacity: 1 !important; -} -/*------------------- - Circular ---------------------*/ -i.circular.icon { - -webkit-border-radius: 500em !important; - -moz-border-radius: 500em !important; - border-radius: 500em !important; - padding: 0.5em 0.35em !important; - -webkit-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - line-height: 1 !important; - width: 2em !important; - height: 2em !important; -} -i.circular.inverted.icon { - border: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*------------------- - Flipped ---------------------*/ -i.vertically.flipped.icon { - -webkit-transform: scale(1, -1); - -moz-transform: scale(1, -1); - -o-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -i.horizontally.flipped.icon { - -webkit-transform: scale(-1, 1); - -moz-transform: scale(-1, 1); - -o-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -/*------------------- - Rotated ---------------------*/ -i.rotated.icon, -i.right.rotated.icon, -i.clockwise.rotated.icon { - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -o-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -i.left.rotated.icon, -i.counterclockwise.rotated.icon { - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); -} -/*------------------- - Square ---------------------*/ -i.square.icon { - width: 2em; - height: 2em; - padding: 0.5em 0.35em !important; - -webkit-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - vertical-align: baseline; -} -i.square.icon:before { - vertical-align: middle; -} -i.square.inverted.icon { - border: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*------------------- - Inverted ---------------------*/ -i.inverted.icon { - background-color: #222222; - color: #FFFFFF; -} -/*------------------- - Colors ---------------------*/ -i.blue.icon { - color: #6ECFF5 !important; -} -i.black.icon { - color: #5C6166 !important; -} -i.green.icon { - color: #A1CF64 !important; -} -i.red.icon { - color: #D95C5C !important; -} -i.purple.icon { - color: #564F8A !important; -} -i.teal.icon { - color: #00B5AD !important; -} -/*------------------- - Inverted Colors ---------------------*/ -i.inverted.black.icon { - background-color: #5C6166 !important; - color: #FFFFFF !important; -} -i.inverted.blue.icon { - background-color: #6ECFF5 !important; - color: #FFFFFF !important; -} -i.inverted.green.icon { - background-color: #A1CF64 !important; - color: #FFFFFF !important; -} -i.inverted.red.icon { - background-color: #D95C5C !important; - color: #FFFFFF !important; -} -i.inverted.purple.icon { - background-color: #564F8A !important; - color: #FFFFFF !important; -} -i.inverted.teal.icon { - background-color: #00B5AD !important; - color: #FFFFFF !important; -} -/*------------------- - Sizes ---------------------*/ -i.small.icon { - font-size: 0.875em; -} -i.icon { - font-size: 1em; -} -i.large.icon { - font-size: 1.5em; - vertical-align: middle; -} -i.big.icon { - font-size: 2em; - vertical-align: middle; -} -i.huge.icon { - font-size: 4em; - vertical-align: middle; -} -i.massive.icon { - font-size: 8em; - vertical-align: middle; -} - -/* - * # Semantic - Image - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Image -*******************************/ -.ui.image { - position: relative; - display: inline-block; - vertical-align: middle; - max-width: 100%; - background-color: rgba(0, 0, 0, 0.05); -} -img.ui.image { - display: block; - background: none; -} -.ui.image img { - display: block; - max-width: 100%; - height: auto; -} -/******************************* - States -*******************************/ -.ui.disabled.image { - cursor: default; - opacity: 0.3; -} -/******************************* - Variations -*******************************/ -/*-------------- - Rounded ----------------*/ -.ui.rounded.images .image, -.ui.rounded.images img, -.ui.rounded.image img, -.ui.rounded.image { - -webkit-border-radius: 0.3125em; - -moz-border-radius: 0.3125em; - border-radius: 0.3125em; -} -/*-------------- - Circular ----------------*/ -.ui.circular.images .image, -.ui.circular.images img, -.ui.circular.image img, -.ui.circular.image { - -webkit-border-radius: 500rem; - -moz-border-radius: 500rem; - border-radius: 500rem; -} -/*-------------- - Fluid ----------------*/ -.ui.fluid.images, -.ui.fluid.image, -.ui.fluid.images img, -.ui.fluid.image img { - display: block; - width: 100%; -} -/*-------------- - Avatar ----------------*/ -.ui.avatar.images .image, -.ui.avatar.images img, -.ui.avatar.image img, -.ui.avatar.image { - margin-right: 0.5em; - display: inline-block; - width: 2em; - height: 2em; - -webkit-border-radius: 500rem; - -moz-border-radius: 500rem; - border-radius: 500rem; -} -/*------------------- - Floated ---------------------*/ -.ui.floated.image, -.ui.floated.images { - float: left; - margin-right: 1em; - margin-bottom: 1em; -} -.ui.right.floated.images, -.ui.right.floated.image { - float: right; - margin-bottom: 1em; - margin-left: 1em; -} -/*-------------- - Sizes ----------------*/ -.ui.tiny.images .image, -.ui.tiny.images img, -.ui.tiny.image { - width: 20px; - font-size: 0.7rem; -} -.ui.mini.images .image, -.ui.mini.images img, -.ui.mini.image { - width: 35px; - font-size: 0.8rem; -} -.ui.small.images .image, -.ui.small.images img, -.ui.small.image { - width: 80px; - font-size: 0.9rem; -} -.ui.medium.images .image, -.ui.medium.images img, -.ui.medium.image { - width: 300px; - font-size: 1rem; -} -.ui.large.images .image, -.ui.large.images img, -.ui.large.image { - width: 450px; - font-size: 1.1rem; -} -.ui.huge.images .image, -.ui.huge.images img, -.ui.huge.image { - width: 600px; - font-size: 1.2rem; -} -/******************************* - Groups -*******************************/ -.ui.images { - font-size: 0em; - margin: 0em -0.25rem 0rem; -} -.ui.images .image, -.ui.images img { - display: inline-block; - margin: 0em 0.25em 0.5em; -} - -/* - * # Semantic - Input - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Standard -*******************************/ -/*-------------------- - Inputs ----------------------*/ -.ui.input { - display: inline-block; - position: relative; - color: rgba(0, 0, 0, 0.7); -} -.ui.input input { - width: 100%; - font-family: "Helvetica Neue", "Helvetica", Arial; - margin: 0em; - padding: 0.85em 1.2em; - font-size: 0.875em; - background-color: #FFFFFF; - border: 1px solid rgba(0, 0, 0, 0.15); - outline: none; - color: rgba(0, 0, 0, 0.7); - -webkit-border-radius: 0.3125em; - -moz-border-radius: 0.3125em; - border-radius: 0.3125em; - -webkit-transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - -moz-transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - -o-transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - -ms-transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -/*-------------------- - Placeholder ----------------------*/ -/* browsers require these rules separate */ -.ui.input::-web inputkit-input-placeholder { - color: #E0E0E0; -} -.ui.input::-moz input-placeholder { - color: #E0E0E0; -} -/******************************* - States -*******************************/ -/*-------------------- - Active ----------------------*/ -.ui.input input:active, -.ui.input.down input { - border-color: rgba(0, 0, 0, 0.3); - background-color: #FAFAFA; -} -/*-------------------- - Loading ----------------------*/ -.ui.loading.input > .icon { - background: url(../images/loader-mini.gif) no-repeat 50% 50%; -} -.ui.loading.input > .icon:before, -.ui.loading.input > .icon:after { - display: none; -} -/*-------------------- - Focus ----------------------*/ -.ui.input.focus input, -.ui.input input:focus { - border-color: rgba(0, 0, 0, 0.2); - color: rgba(0, 0, 0, 0.85); -} -.ui.input.focus input input::-webkit-input-placeholder, -.ui.input input:focus input::-webkit-input-placeholder { - color: #AAAAAA; -} -.ui.input.focus input input::-moz-placeholder, -.ui.input input:focus input::-moz-placeholder { - color: #AAAAAA; -} -/*-------------------- - Error ----------------------*/ -.ui.input.error input { - background-color: #FFFAFA; - border-color: #E7BEBE; - color: #D95C5C; -} -/* Error Placeholder */ -.ui.input.error input ::-webkit-input-placeholder { - color: rgba(255, 80, 80, 0.4); -} -.ui.input.error input ::-moz-placeholder { - color: rgba(255, 80, 80, 0.4); -} -.ui.input.error input :focus::-webkit-input-placeholder { - color: rgba(255, 80, 80, 0.7); -} -.ui.input.error input :focus::-moz-placeholder { - color: rgba(255, 80, 80, 0.7); -} -/******************************* - Variations -*******************************/ -/*-------------------- - Transparent ----------------------*/ -.ui.transparent.input input { - border: none; - background-color: transparent; -} -/*-------------------- - Icon ----------------------*/ -.ui.icon.input > .icon { - cursor: default; - position: absolute; - opacity: 0.5; - top: 0px; - right: 0px; - margin: 0em; - width: 2.6em; - height: 100%; - padding-top: 0.82em; - text-align: center; - -webkit-border-radius: 0em 0.3125em 0.3125em 0em; - -moz-border-radius: 0em 0.3125em 0.3125em 0em; - border-radius: 0em 0.3125em 0.3125em 0em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -webkit-transition: opacity 0.3s ease-out; - -moz-transition: opacity 0.3s ease-out; - -o-transition: opacity 0.3s ease-out; - -ms-transition: opacity 0.3s ease-out; - transition: opacity 0.3s ease-out; -} -.ui.icon.input > .link.icon { - cursor: pointer; -} -.ui.icon.input input { - padding-right: 3em !important; -} -.ui.icon.input > .circular.icon { - top: 0.35em; - right: 0.5em; -} -/* Left Side */ -.ui.left.icon.input > .icon { - right: auto; - left: 1px; - -webkit-border-radius: 0.3125em 0em 0em 0.3125em; - -moz-border-radius: 0.3125em 0em 0em 0.3125em; - border-radius: 0.3125em 0em 0em 0.3125em; -} -.ui.left.icon.input > .circular.icon { - right: auto; - left: 0.5em; -} -.ui.left.icon.input > input { - padding-left: 3em !important; - padding-right: 1.2em !important; -} -/* Focus */ -.ui.icon.input > input:focus ~ .icon { - opacity: 1; -} -/*-------------------- - Labeled ----------------------*/ -.ui.labeled.input .corner.label { - top: 1px; - right: 1px; - -webkit-border-top-right-radius: 0.3125em; - -moz-border-top-right-radius: 0.3125em; - border-top-right-radius: 0.3125em; -} -.ui.labeled.input input { - padding-right: 2.5em !important; -} -/* Spacing with corner label */ -.ui.labeled.icon.input:not(.left) > input { - padding-right: 3.25em !important; -} -.ui.labeled.icon.input:not(.left) > .icon { - margin-right: 0.75em; -} -/*-------------------- - Action ----------------------*/ -.ui.action.input { - display: table; -} -.ui.action.input > input { - display: table-cell; - border-top-right-radius: 0px !important; - border-bottom-right-radius: 0px !important; - border-right: none; -} -.ui.action.input > .button { - display: table-cell; - opacity: 0.9; - border-top-left-radius: 0px; - border-bottom-left-radius: 0px; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - white-space: nowrap; -} -.ui.action.input > .button > .icon { - display: inline; -} -.ui.action.input > input:focus ~ .button { - opacity: 1; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset; -} -/*-------------------- - Fluid ----------------------*/ -.ui.fluid.input { - display: block; -} -/*-------------------- - Size ----------------------*/ -.ui.mini.input { - font-size: 0.8125rem; -} -.ui.tiny.input { - font-size: 0.875rem; -} -.ui.small.input { - font-size: 0.875rem; -} -.ui.input { - font-size: 1rem; -} -.ui.large.input { - font-size: 1.125rem; -} -.ui.big.input { - font-size: 1.25rem; -} -.ui.huge.input { - font-size: 1.375rem; -} -.ui.massive.input { - font-size: 1.5rem; -} - -/* - * # Semantic - Label - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Label -*******************************/ -.ui.label { - display: inline-block; - vertical-align: middle; - margin: -0.25em 0.25em 0em; - background-color: #E8E8E8; - border-color: #E8E8E8; - padding: 0.5em 0.8em; - color: rgba(0, 0, 0, 0.65); - text-transform: uppercase; - font-weight: normal; - -webkit-border-radius: 0.325em; - -moz-border-radius: 0.325em; - border-radius: 0.325em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -webkit-transition: background 0.1s linear - ; - -moz-transition: background 0.1s linear - ; - -o-transition: background 0.1s linear - ; - -ms-transition: background 0.1s linear - ; - transition: background 0.1s linear - ; -} -.ui.label:first-child { - margin-left: 0em; -} -.ui.label:last-child { - margin-right: 0em; -} -/* Link */ -a.ui.label { - cursor: pointer; -} -/* Detail */ -.ui.label .detail { - display: inline-block; - margin-left: 0.5em; - font-weight: bold; - opacity: 0.8; -} -/* Icon */ -.ui.label .icon { - width: auto; -} -/* Removable label */ -.ui.label .delete.icon { - cursor: pointer; - margin: 0em 0em 0em 0.5em; - opacity: 0.7; - -webkit-transition: background 0.1s linear - ; - -moz-transition: background 0.1s linear - ; - -o-transition: background 0.1s linear - ; - -ms-transition: background 0.1s linear - ; - transition: background 0.1s linear - ; -} -.ui.label .delete.icon:hover { - opacity: 0.99; -} -/******************************* - Types -*******************************/ -.ui.image.label { - width: auto !important; - margin-top: 0em; - margin-bottom: 0em; - padding-top: 0.4em; - padding-bottom: 0.4em; - line-height: 1.5em; - vertical-align: baseline; - text-transform: none; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; -} -.ui.image.label img { - display: inline-block; - height: 2.25em; - margin: -0.4em 0.8em -0.4em -0.8em; - vertical-align: top; - -moz-border-radius: 0.325em 0em 0em 0.325em; - -webkit-border-radius: 0.325em 0em 0em 0.325em; - border-radius: 0.325em 0em 0em 0.325em; -} -/******************************* - States -*******************************/ -/*------------------- - Disabled ---------------------*/ -.ui.label.disabled { - opacity: 0.5; -} -/*------------------- - Hover ---------------------*/ -a.ui.labels .label:hover, -a.ui.label:hover { - background-color: #E0E0E0; - border-color: #E0E0E0; - color: rgba(0, 0, 0, 0.7); -} -.ui.labels a.label:hover:before, -a.ui.label:hover:before { - background-color: #E0E0E0; - color: rgba(0, 0, 0, 0.7); -} -/*------------------- - Visible ---------------------*/ -.ui.labels.visible .label, -.ui.label.visible { - display: inline-block !important; -} -/*------------------- - Hidden ---------------------*/ -.ui.labels.hidden .label, -.ui.label.hidden { - display: none !important; -} -/******************************* - Variations -*******************************/ -/*------------------- - Tag ---------------------*/ -.ui.tag.labels .label, -.ui.tag.label { - margin-left: 1em; - position: relative; - padding: 0.33em 1.3em 0.33em 1.4em; - -webkit-border-radius: 0px 3px 3px 0px; - -moz-border-radius: 0px 3px 3px 0px; - border-radius: 0px 3px 3px 0px; -} -.ui.tag.labels .label:before, -.ui.tag.label:before { - position: absolute; - top: 0.3em; - left: 0.3em; - content: ''; - margin-left: -1em; - background-image: none; - width: 1.5em; - height: 1.5em; - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - transform: rotate(45deg); - -webkit-transition: background 0.1s linear - ; - -moz-transition: background 0.1s linear - ; - -o-transition: background 0.1s linear - ; - -ms-transition: background 0.1s linear - ; - transition: background 0.1s linear - ; -} -.ui.tag.labels .label:after, -.ui.tag.label:after { - position: absolute; - content: ''; - top: 50%; - left: -0.25em; - margin-top: -0.3em; - background-color: #FFFFFF; - width: 0.55em; - height: 0.55em; - -webkit-box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3); - -moz-box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3); - box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3); - -moz-border-radius: 100px 100px 100px 100px; - -webkit-border-radius: 100px 100px 100px 100px; - border-radius: 100px 100px 100px 100px; -} -/*------------------- - Ribbon ---------------------*/ -.ui.ribbon.label { - position: relative; - left: -1.8rem; - padding-left: 2rem; - -webkit-border-radius: 0px 4px 4px 0px; - -moz-border-radius: 0px 4px 4px 0px; - border-radius: 0px 4px 4px 0px; -} -.ui.ribbon.label:after { - position: absolute; - content: ""; - top: 100%; - left: 0%; - border-top: 0em solid transparent; - border-right-width: 1em; - border-right-color: inherit; - border-right-style: solid; - border-bottom: 1em solid transparent; - border-left: 0em solid transparent; - width: 0em; - height: 0em; -} -/*------------------- - Attached ---------------------*/ -.ui.top.attached.label, -.ui.attached.label { - width: 100%; - position: absolute; - margin: 0em; - top: 0em; - left: 0em; - -webkit-border-radius: 4px 4px 0em 0em; - -moz-border-radius: 4px 4px 0em 0em; - border-radius: 4px 4px 0em 0em; -} -.ui.bottom.attached.label { - top: auto; - bottom: 0em; - -webkit-border-radius: 0em 0em 4px 4px; - -moz-border-radius: 0em 0em 4px 4px; - border-radius: 0em 0em 4px 4px; -} -.ui.top.left.attached.label { - width: auto; - margin-top: 0em !important; - -webkit-border-radius: 4px 0em 4px 0em; - -moz-border-radius: 4px 0em 4px 0em; - border-radius: 4px 0em 4px 0em; -} -.ui.top.right.attached.label { - width: auto; - left: auto; - right: 0em; - -webkit-border-radius: 0em 4px 0em 4px; - -moz-border-radius: 0em 4px 0em 4px; - border-radius: 0em 4px 0em 4px; -} -.ui.bottom.left.attached.label { - width: auto; - top: auto; - bottom: 0em; - -webkit-border-radius: 4px 0em 0em 4px; - -moz-border-radius: 4px 0em 0em 4px; - border-radius: 4px 0em 0em 4px; -} -.ui.bottom.right.attached.label { - top: auto; - bottom: 0em; - left: auto; - right: 0em; - width: auto; - -webkit-border-radius: 4px 0em 4px 0em; - -moz-border-radius: 4px 0em 4px 0em; - border-radius: 4px 0em 4px 0em; -} -/*------------------- - Corner Label ---------------------*/ -.ui.corner.label { - background-color: transparent; - position: absolute; - top: 0em; - right: 0em; - z-index: 10; - margin: 0em; - font-size: 0.8125em; - width: 2rem; - height: 2rem; - padding: 0em; - text-align: center; - -webkit-transition: color 0.2s ease; - -moz-transition: color 0.2s ease; - -o-transition: color 0.2s ease; - -ms-transition: color 0.2s ease; - transition: color 0.2s ease; -} -.ui.corner.label:after { - position: absolute; - content: ""; - right: 0em; - top: 0em; - z-index: -1; - width: 0em; - height: 0em; - border-top: 0em solid transparent; - border-right: 3em solid transparent; - border-bottom: 3em solid transparent; - border-left: 0em solid transparent; - border-right-color: inherit; - -webkit-transition: border-color 0.2s ease; - -moz-transition: border-color 0.2s ease; - -o-transition: border-color 0.2s ease; - -ms-transition: border-color 0.2s ease; - transition: border-color 0.2s ease; -} -.ui.corner.label .icon { - margin: 0.4em 0em 0em 0.7em; -} -.ui.corner.label .text { - display: inline-block; - font-weight: bold; - margin: 0.5em 0em 0em 0.6em; - width: 2.5em; - font-size: 0.82em; - text-align: center; - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -o-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); -} -/* Left Corner */ -.ui.left.corner.label, -.ui.left.corner.label:after { - right: auto; - left: 0em; -} -.ui.left.corner.label:after { - border-top: 3em solid transparent; - border-right: 3em solid transparent; - border-bottom: 0em solid transparent; - border-left: 0em solid transparent; - border-top-color: inherit; -} -.ui.left.corner.label .icon { - margin: 0.4em 0em 0em -0.7em; -} -.ui.left.corner.label .text { - margin: 0.5em 0em 0em -0.6em; - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - transform: rotate(-45deg); -} -/* Hover */ -.ui.corner.label:hover { - background-color: transparent; -} -/*------------------- - Fluid ---------------------*/ -.ui.label.fluid, -.ui.fluid.labels > .label { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -/*------------------- - Inverted ---------------------*/ -.ui.inverted.labels .label, -.ui.inverted.label { - color: #FFFFFF !important; -} -/*------------------- - Colors ---------------------*/ -/*--- Black ---*/ -.ui.black.labels .label, -.ui.black.label { - background-color: #5C6166 !important; - border-color: #5C6166 !important; - color: #FFFFFF !important; -} -.ui.labels .black.label:before, -.ui.black.labels .label:before, -.ui.black.label:before { - background-color: #5C6166 !important; -} -/* Hover */ -a.ui.black.labels .label:hover, -a.ui.black.label:hover { - background-color: #888888 !important; - border-color: #888888 !important; -} -.ui.labels a.black.label:hover:before, -.ui.black.labels a.label:hover:before, -a.ui.black.label:hover:before { - background-color: #888888 !important; -} -/* Corner */ -.ui.black.corner.label, -.ui.black.corner.label:hover { - background-color: transparent !important; -} -/*--- Green ---*/ -.ui.green.labels .label, -.ui.green.label { - background-color: #A1CF64 !important; - border-color: #A1CF64 !important; - color: #FFFFFF !important; -} -.ui.labels .green.label:before, -.ui.green.labels .label:before, -.ui.green.label:before { - background-color: #A1CF64 !important; -} -/* Hover */ -a.ui.green.labels .label:hover, -a.ui.green.label:hover { - background-color: #89B84C !important; - border-color: #89B84C !important; -} -.ui.labels a.green.label:hover:before, -.ui.green.labels a.label:hover:before, -a.ui.green.label:hover:before { - background-color: #89B84C !important; -} -/* Corner */ -.ui.green.corner.label, -.ui.green.corner.label:hover { - background-color: transparent !important; -} -/*--- Red ---*/ -.ui.red.labels .label, -.ui.red.label { - background-color: #D95C5C !important; - border-color: #D95C5C !important; - color: #FFFFFF !important; -} -.ui.labels .red.label:before, -.ui.red.labels .label:before, -.ui.red.label:before { - background-color: #D95C5C !important; -} -/* Corner */ -.ui.red.corner.label, -.ui.red.corner.label:hover { - background-color: transparent !important; -} -/* Hover */ -a.ui.red.labels .label:hover, -a.ui.red.label:hover { - background-color: #DE3859 !important; - border-color: #DE3859 !important; - color: #FFFFFF !important; -} -.ui.labels a.red.label:hover:before, -.ui.red.labels a.label:hover:before, -a.ui.red.label:hover:before { - background-color: #DE3859 !important; -} -/*--- Blue ---*/ -.ui.blue.labels .label, -.ui.blue.label { - background-color: #6ECFF5 !important; - border-color: #6ECFF5 !important; - color: #FFFFFF !important; -} -.ui.labels .blue.label:before, -.ui.blue.labels .label:before, -.ui.blue.label:before { - background-color: #6ECFF5 !important; -} -/* Hover */ -a.ui.blue.labels .label:hover, -.ui.blue.labels a.label:hover, -a.ui.blue.label:hover { - background-color: #1AB8F3 !important; - border-color: #1AB8F3 !important; - color: #FFFFFF !important; -} -.ui.labels a.blue.label:hover:before, -.ui.blue.labels a.label:hover:before, -a.ui.blue.label:hover:before { - background-color: #1AB8F3 !important; -} -/* Corner */ -.ui.blue.corner.label, -.ui.blue.corner.label:hover { - background-color: transparent !important; -} -/*--- Purple ---*/ -.ui.purple.labels .label, -.ui.purple.label { - background-color: #564F8A !important; - border-color: #564F8A !important; - color: #FFFFFF !important; -} -.ui.labels .purple.label:before, -.ui.purple.labels .label:before, -.ui.purple.label:before { - background-color: #564F8A !important; -} -/* Hover */ -a.ui.purple.labels .label:hover, -.ui.purple.labels a.label:hover, -a.ui.purple.label:hover { - background-color: #3E3773 !important; - border-color: #3E3773 !important; - color: #FFFFFF !important; -} -.ui.labels a.purple.label:hover:before, -.ui.purple.labels a.label:hover:before, -a.ui.purple.label:hover:before { - background-color: #3E3773 !important; -} -/* Corner */ -.ui.purple.corner.label, -.ui.purple.corner.label:hover { - background-color: transparent !important; -} -/*--- Orange ---*/ -.ui.orange.labels .label, -.ui.orange.label { - background-color: #F05940 !important; - border-color: #F05940 !important; - color: #FFFFFF !important; -} -.ui.labels .orange.label:before, -.ui.orange.labels .label:before, -.ui.orange.label:before { - background-color: #F05940 !important; -} -/* Hover */ -a.ui.orange.labels .label:hover, -.ui.orange.labels a.label:hover, -a.ui.orange.label:hover { - background-color: #FF4121 !important; - border-color: #FF4121 !important; - color: #FFFFFF !important; -} -.ui.labels a.orange.label:hover:before, -.ui.orange.labels a.label:hover:before, -a.ui.orange.label:hover:before { - background-color: #FF4121 !important; -} -/* Corner */ -.ui.orange.corner.label, -.ui.orange.corner.label:hover { - background-color: transparent !important; -} -/*--- Pink ---*/ -.ui.teal.labels .label, -.ui.teal.label { - background-color: #00B5AD !important; - border-color: #00B5AD !important; - color: #FFFFFF !important; -} -.ui.labels .teal.label:before, -.ui.teal.labels .label:before, -.ui.teal.label:before { - background-color: #00B5AD !important; -} -/* Hover */ -a.ui.teal.labels .label:hover, -.ui.teal.labels a.label:hover, -a.ui.teal.label:hover { - background-color: #009A93 !important; - border-color: #009A93 !important; - color: #FFFFFF !important; -} -.ui.labels a.teal.label:hover:before, -.ui.teal.labels a.label:hover:before, -a.ui.teal.label:hover:before { - background-color: #009A93 !important; -} -/* Corner */ -.ui.teal.corner.label, -.ui.teal.corner.label:hover { - background-color: transparent !important; -} -/*------------------- - Horizontal ---------------------*/ -.ui.horizontal.labels .label, -.ui.horizontal.label { - margin: -0.125em 0.5em -0.125em 0em; - padding: 0.35em 1em; - min-width: 6em; - text-align: center; -} -/*------------------- - Circular ---------------------*/ -.ui.circular.labels .label, -.ui.circular.label { - min-height: 1em; - max-height: 2em; - padding: 0.5em !important; - line-height: 1em; - text-align: center; - -webkit-border-radius: 500rem; - -moz-border-radius: 500rem; - border-radius: 500rem; -} -/*------------------- - Pointing ---------------------*/ -.ui.pointing.label { - position: relative; -} -.ui.attached.pointing.label { - position: absolute; -} -.ui.pointing.label:before { - position: absolute; - content: ""; - width: 0.6em; - height: 0.6em; - background-image: none; - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - transform: rotate(45deg); - z-index: 2; - -webkit-transition: background 0.1s linear - ; - -moz-transition: background 0.1s linear - ; - -o-transition: background 0.1s linear - ; - -ms-transition: background 0.1s linear - ; - transition: background 0.1s linear - ; -} -/*--- Above ---*/ -.ui.pointing.label:before { - background-color: #E8E8E8; -} -.ui.pointing.label, -.ui.pointing.above.label { - margin-top: 1em; -} -.ui.pointing.label:before, -.ui.pointing.above.label:before { - margin-left: -0.3em; - top: -0.3em; - left: 50%; -} -/*--- Below ---*/ -.ui.pointing.below.label { - margin-top: 0em; - margin-bottom: 1em; -} -.ui.pointing.below.label:before { - margin-left: -0.3em; - top: auto; - right: auto; - bottom: -0.3em; - left: 50%; -} -/*--- Left ---*/ -.ui.pointing.left.label { - margin-top: 0em; - margin-left: 1em; -} -.ui.pointing.left.label:before { - margin-top: -0.3em; - bottom: auto; - right: auto; - top: 50%; - left: 0em; -} -/*--- Right ---*/ -.ui.pointing.right.label { - margin-top: 0em; - margin-right: 1em; -} -.ui.pointing.right.label:before { - margin-top: -0.3em; - right: -0.3em; - top: 50%; - bottom: auto; - left: auto; -} -/*------------------ - Floating Label --------------------*/ -.ui.floating.label { - position: absolute; - z-index: 100; - top: -1em; - left: 100%; - margin: 0em 0em 0em -1.5em !important; -} -/*------------------- - Sizes ---------------------*/ -.ui.small.labels .label, -.ui.small.label { - font-size: 0.75rem; -} -.ui.label { - font-size: 0.8125rem; -} -.ui.large.labels .label, -.ui.large.label { - font-size: 0.875rem; -} -.ui.huge.labels .label, -.ui.huge.label { - font-size: 1rem; -} - -/* - * # Semantic - Loader - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Loader -*******************************/ -/* Standard Size */ -.ui.loader { - display: none; - position: absolute; - top: 50%; - left: 50%; - margin: 0px; - z-index: 1000; - -webkit-transform: translateX(-50%) translateY(-50%); - -moz-transform: translateX(-50%) translateY(-50%); - -o-transform: translateX(-50%) translateY(-50%); - -ms-transform: translateX(-50%) translateY(-50%); - transform: translateX(-50%) translateY(-50%); -} -.ui.dimmer .loader { - display: block; -} -/******************************* - Types -*******************************/ -/*------------------- - Text ---------------------*/ -.ui.text.loader { - width: auto !important; - height: auto !important; - text-align: center; - font-style: normal; -} -.ui.mini.text.loader { - min-width: 16px; - padding-top: 2em; - font-size: 0.875em; -} -.ui.small.text.loader { - min-width: 24px; - padding-top: 2.5em; - font-size: 0.875em; -} -.ui.text.loader { - min-width: 32px; - font-size: 1em; - padding-top: 3em; -} -.ui.large.text.loader { - min-width: 64px; - padding-top: 5em; - font-size: 1.2em; -} -/******************************* - States -*******************************/ -.ui.loader.active, -.ui.loader.visible { - display: block; -} -.ui.loader.disabled, -.ui.loader.hidden { - display: none; -} -/******************************* - Variations -*******************************/ -/*------------------- - Inverted ---------------------*/ -.ui.dimmer .ui.text.loader, -.ui.inverted.text.loader { - color: rgba(255, 255, 255, 0.8); -} -.ui.inverted.dimmer .ui.text.loader { - color: rgba(0, 0, 0, 0.8); -} -/* Tiny Size */ -.ui.dimmer .mini.ui.loader, -.ui.inverted .mini.ui.loader { - background-image: url(../images/loader-mini-inverted.gif); -} -/* Small Size */ -.ui.dimmer .small.ui.loader, -.ui.inverted .small.ui.loader { - background-image: url(../images/loader-small-inverted.gif); -} -/* Standard Size */ -.ui.dimmer .ui.loader, -.ui.inverted.loader { - background-image: url(../images/loader-medium-inverted.gif); -} -/* Large Size */ -.ui.dimmer .large.ui.loader, -.ui.inverted .large.ui.loader { - background-image: url(../images/loader-large-inverted.gif); -} -/*------------------- - Sizes ---------------------*/ -/* Tiny Size */ -.ui.inverted.dimmer .ui.mini.loader, -.ui.mini.loader { - width: 16px; - height: 16px; - background-image: url(../images/loader-mini.gif); -} -/* Small Size */ -.ui.inverted.dimmer .ui.small.loader, -.ui.small.loader { - width: 24px; - height: 24px; - background-image: url(../images/loader-small.gif); -} -.ui.inverted.dimmer .ui.loader, -.ui.loader { - width: 32px; - height: 32px; - background: url(../images/loader-medium.gif) no-repeat; - background-position: 48% 0px; -} -/* Large Size */ -.ui.inverted.dimmer .ui.loader.large, -.ui.loader.large { - width: 64px; - height: 64px; - background-image: url(../images/loader-large.gif); -} -/*------------------- - Inline ---------------------*/ -.ui.inline.loader { - position: static; - vertical-align: middle; - margin: 0em; - -webkit-transform: none; - -moz-transform: none; - -o-transform: none; - -ms-transform: none; - transform: none; -} -.ui.inline.loader.active, -.ui.inline.loader.visible { - display: inline-block; -} - -/* - * # Semantic - Progress Bar - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Progress Bar -*******************************/ -.ui.progress { - border: 1px solid rgba(0, 0, 0, 0.1); - width: 100%; - height: 35px; - background-color: #FAFAFA; - padding: 5px; - -webkit-border-radius: 0.3125em; - -moz-border-radius: 0.3125em; - border-radius: 0.3125em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -.ui.progress .bar { - display: inline-block; - height: 100%; - background-color: #CCCCCC; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - -webkit-transition: width 1s ease-in-out, background-color 1s ease-out; - -moz-transition: width 1s ease-in-out, background-color 1s ease-out; - -ms-transition: width 1s ease-in-out, background-color 1s ease-out; - -o-transition: width 1s ease-in-out, background-color 1s ease-out; - transition: width 1s ease-in-out, background-color 1s ease-out; -} -/******************************* - States -*******************************/ -/*-------------- - Successful ----------------*/ -.ui.successful.progress .bar { - background-color: #73E064 !important; -} -.ui.successful.progress .bar, -.ui.successful.progress .bar::after { - -webkit-animation: none !important; - -moz-animation: none !important; - animation: none !important; -} -/*-------------- - Failed ----------------*/ -.ui.failed.progress .bar { - background-color: #DF9BA4 !important; -} -.ui.failed.progress .bar, -.ui.failed.progress .bar::after { - -webkit-animation: none !important; - -moz-animation: none !important; - animation: none !important; -} -/*-------------- - Active ----------------*/ -.ui.active.progress .bar { - position: relative; -} -.ui.active.progress .bar::after { - content: ''; - opacity: 0; - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - background: #FFFFFF; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - -webkit-animation: progress-active 2s ease-out infinite; - -moz-animation: progress-active 2s ease-out infinite; - animation: progress-active 2s ease-out infinite; -} -@-webkit-keyframes progress-active { - 0% { - opacity: 0; - width: 0; - } - 50% { - opacity: 0.3; - } - 100% { - opacity: 0; - width: 95%; - } -} -@-moz-keyframes progress-active { - 0% { - opacity: 0; - width: 0; - } - 50% { - opacity: 0.3; - } - 100% { - opacity: 0; - width: 100%; - } -} -@keyframes progress-active { - 0% { - opacity: 0; - width: 0; - } - 50% { - opacity: 0.3; - } - 100% { - opacity: 0; - width: 100%; - } -} -/*-------------- - Disabled ----------------*/ -.ui.disabled.progress { - opacity: 0.35; -} -.ui.disabled.progress .bar, -.ui.disabled.progress .bar::after { - -webkit-animation: none !important; - -moz-animation: none !important; - animation: none !important; -} -/******************************* - Variations -*******************************/ -/*-------------- - Attached ----------------*/ -/* bottom attached */ -.ui.progress.attached { - position: relative; - border: none; -} -.ui.progress.attached, -.ui.progress.attached .bar { - display: block; - height: 3px; - padding: 0px; - overflow: hidden; - -webkit-border-radius: 0em 0em 0.3125em 0.3125em; - -moz-border-radius: 0em 0em 0.3125em 0.3125em; - border-radius: 0em 0em 0.3125em 0.3125em; -} -.ui.progress.attached .bar { - -webkit-border-radius: 0em; - -moz-border-radius: 0em; - border-radius: 0em; -} -/* top attached */ -.ui.progress.top.attached, -.ui.progress.top.attached .bar { - top: -2px; - -webkit-border-radius: 0.3125em 0.3125em 0em 0em; - -moz-border-radius: 0.3125em 0.3125em 0em 0em; - border-radius: 0.3125em 0.3125em 0em 0em; -} -.ui.progress.top.attached .bar { - -webkit-border-radius: 0em; - -moz-border-radius: 0em; - border-radius: 0em; -} -/*-------------- - Colors ----------------*/ -.ui.blue.progress .bar { - background-color: #6ECFF5; -} -.ui.black.progress .bar { - background-color: #5C6166; -} -.ui.green.progress .bar { - background-color: #A1CF64; -} -.ui.red.progress .bar { - background-color: #EF4D6D; -} -.ui.purple.progress .bar { - background-color: #564F8A; -} -.ui.teal.progress .bar { - background-color: #00B5AD; -} -/*-------------- - Striped ----------------*/ -.ui.progress.striped .bar { - -webkit-background-size: 30px 30px; - -moz-background-size: 30px 30px; - background-size: 30px 30px; - background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(135deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -ms-linear-gradient(135deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(135deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.ui.progress.active.striped .bar:after { - -webkit-animation: none; - -moz-animation: none; - -ms-animation: none; - -o-animation: none; - animation: none; -} -.ui.progress.active.striped .bar { - -webkit-animation: progress-striped 3s linear infinite; - -moz-animation: progress-striped 3s linear infinite; - animation: progress-striped 3s linear infinite; -} -@-webkit-keyframes progress-striped { - 0% { - background-position: 0px 0; - } - 100% { - background-position: 60px 0; - } -} -@-moz-keyframes progress-striped { - 0% { - background-position: 0px 0; - } - 100% { - background-position: 60px 0; - } -} -@keyframes progress-striped { - 0% { - background-position: 0px 0; - } - 100% { - background-position: 60px 0; - } -} -/*-------------- - Sizes ----------------*/ -.ui.small.progress .bar { - height: 14px; -} - -/* - * # Semantic - Segment - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Segment -*******************************/ -.ui.segment { - position: relative; - background-color: #FFFFFF; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - margin: 1em 0em; - padding: 1em; - -webkit-border-radius: 5px 5px 5px 5px; - -moz-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -.ui.segment:first-child { - margin-top: 0em; -} -.ui.segment:last-child { - margin-bottom: 0em; -} -.ui.segment:after { - content: ''; - display: block; - height: 0; - clear: both; - visibility: hidden; -} -.ui.vertical.segment { - margin: 0em; - padding-left: 0em; - padding-right: 0em; - background-color: transparent; - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px; - -webkit-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.1); - box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.1); -} -.ui.vertical.segment:first-child { - padding-top: 0em; -} -.ui.horizontal.segment { - margin: 0em; - padding-top: 0em; - padding-bottom: 0em; - background-color: transparent; - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px; - -webkit-box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.1); - box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.1); -} -.ui.horizontal.segment:first-child { - padding-left: 0em; -} -/*------------------- - Loose Coupling ---------------------*/ -.ui.pointing.menu + .ui.attached.segment { - top: 1px; -} -/* No padding on edge content */ -.ui.segment > :first-child { - margin-top: 0em; -} -.ui.segment > :last-child { - margin-bottom: 0em; -} -/* Padding on next content after a label */ -.ui.segment > .attached.label:first-child + * { - margin-top: 2em; -} -.ui.segment > .bottom.attached.label:first-child ~ :last-child { - margin-top: 0em; - margin-bottom: 2em; -} -/******************************* - Types -*******************************/ -/*------------------- - Piled ---------------------*/ -.ui.piled.segment { - margin: 2em 0em; - -webkit-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.15); - -moz-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.15); - -ms-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.15); - -o-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.15); - box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.15); -} -.ui.piled.segment:first-child { - margin-top: 0em; -} -.ui.piled.segment:last-child { - margin-bottom: 0em; -} -.ui.piled.segment:after, -.ui.piled.segment:before { - background-color: #FFFFFF; - visibility: visible; - content: ""; - display: block; - height: 100%; - left: -1px; - position: absolute; - width: 100%; - -webkit-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1); -} -.ui.piled.segment:after { - -webkit-transform: rotate(1.2deg); - -moz-transform: rotate(1.2deg); - -ms-transform: rotate(1.2deg); - -o-transform: rotate(1.2deg); - transform: rotate(1.2deg); - top: 0; - z-index: -1; -} -.ui.piled.segment:before { - -webkit-transform: rotate(-1.2deg); - -moz-transform: rotate(-1.2deg); - -ms-transform: rotate(-1.2deg); - -o-transform: rotate(-1.2deg); - transform: rotate(-1.2deg); - top: 0; - z-index: -2; -} -/*------------------- - Stacked ---------------------*/ -.ui.stacked.segment { - padding-bottom: 1.7em; -} -.ui.stacked.segment:after, -.ui.stacked.segment:before { - content: ''; - position: absolute; - bottom: -3px; - left: 0%; - border-top: 1px solid rgba(0, 0, 0, 0.1); - background-color: rgba(0, 0, 0, 0.02); - width: 100%; - height: 5px; - visibility: visible; -} -.ui.stacked.segment:before { - bottom: 0px; -} -/* Inverted */ -.ui.stacked.inverted.segment:after, -.ui.stacked.inverted.segment:before { - background-color: rgba(255, 255, 255, 0.1); - border-top: 1px solid rgba(255, 255, 255, 0.35); -} -/*------------------- - Raised ---------------------*/ -.ui.raised.segment { - -webkit-box-shadow: 0px 1px 2px 1px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0px 1px 2px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 1px 2px 1px rgba(0, 0, 0, 0.1); -} -/******************************* - States -*******************************/ -.ui.disabled.segment { - opacity: 0.8; - color: #DDDDDD; -} -/******************************* - Variations -*******************************/ -/*------------------- - Basic ---------------------*/ -.ui.basic.segment { - position: relative; - background-color: transparent; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px; -} -.ui.basic.segment:first-child { - padding-top: 0em; -} -.ui.basic.segment:last-child { - padding-bottom: 0em; -} -/*------------------- - Fittted ---------------------*/ -.ui.fitted.segment { - padding: 0em; -} -/*------------------- - Colors ---------------------*/ -.ui.blue.segment { - border-top: 0.2em solid #6ECFF5; -} -.ui.green.segment { - border-top: 0.2em solid #A1CF64; -} -.ui.red.segment { - border-top: 0.2em solid #D95C5C; -} -.ui.orange.segment { - border-top: 0.2em solid #F05940; -} -.ui.purple.segment { - border-top: 0.2em solid #564F8A; -} -.ui.teal.segment { - border-top: 0.2em solid #00B5AD; -} -/*------------------- - Inverted Colors ---------------------*/ -.ui.inverted.black.segment { - background-color: #5C6166 !important; - color: #FFFFFF !important; -} -.ui.inverted.blue.segment { - background-color: #6ECFF5 !important; - color: #FFFFFF !important; -} -.ui.inverted.green.segment { - background-color: #A1CF64 !important; - color: #FFFFFF !important; -} -.ui.inverted.red.segment { - background-color: #D95C5C !important; - color: #FFFFFF !important; -} -.ui.inverted.orange.segment { - background-color: #F05940 !important; - color: #FFFFFF !important; -} -.ui.inverted.purple.segment { - background-color: #564F8A !important; - color: #FFFFFF !important; -} -.ui.inverted.teal.segment { - background-color: #00B5AD !important; - color: #FFFFFF !important; -} -/*------------------- - Aligned ---------------------*/ -.ui.left.aligned.segment { - text-align: left; -} -.ui.right.aligned.segment { - text-align: right; -} -.ui.center.aligned.segment { - text-align: center; -} -/*------------------- - Floated ---------------------*/ -.ui.floated.segment, -.ui.left.floated.segment { - float: left; -} -.ui.right.floated.segment { - float: right; -} -/*------------------- - Inverted ---------------------*/ -.ui.inverted.segment { - border: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.inverted.segment, -.ui.primary.inverted.segment { - background-color: #222222; - color: #FFFFFF; -} -/*------------------- - Ordinality ---------------------*/ -.ui.primary.segment { - background-color: #FFFFFF; - color: #555555; -} -.ui.secondary.segment { - background-color: #FAF9FA; - color: #777777; -} -.ui.tertiary.segment { - background-color: #EBEBEB; - color: #B0B0B0; -} -.ui.secondary.inverted.segment { - background-color: #555555; - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(255, 255, 255, 0.3)), to(rgba(255, 255, 255, 0.3))); - background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%); - background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%); - background-image: -o-linear-gradient(rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%); - background-image: linear-gradient(rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%); - color: #FAFAFA; -} -.ui.tertiary.inverted.segment { - background-color: #555555; - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(255, 255, 255, 0.6)), to(rgba(255, 255, 255, 0.6))); - background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%); - background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%); - background-image: -o-linear-gradient(rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%); - background-image: linear-gradient(rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%); - color: #EEEEEE; -} -/*------------------- - Attached ---------------------*/ -.ui.segment.attached { - top: -1px; - bottom: -1px; - -moz-border-radius: 0px; - -webkit-border-radius: 0px; - border-radius: 0px; - margin: 0em; - -moz-box-shadow: 0px 0px 0px 1px #DDDDDD; - -webkit-box-shadow: 0px 0px 0px 1px #DDDDDD; - box-shadow: 0px 0px 0px 1px #DDDDDD; -} -.ui.top.attached.segment { - top: 0px; - bottom: -1px; - margin-top: 1em; - margin-bottom: 0em; - -moz-border-radius: 5px 5px 0px 0px; - -webkit-border-radius: 5px 5px 0px 0px; - border-radius: 5px 5px 0px 0px; -} -.ui.segment.bottom.attached { - top: -1px; - bottom: 0px; - margin-top: 0em; - margin-bottom: 1em; - -moz-border-radius: 0px 0px 5px 5px; - -webkit-border-radius: 0px 0px 5px 5px; - border-radius: 0px 0px 5px 5px; -} - -/* - * # Semantic - Steps - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Step -*******************************/ -.ui.step, -.ui.steps .step { - display: inline-block; - position: relative; - padding: 1em 2em 1em 3em; - vertical-align: top; - background-color: #FFFFFF; - color: #888888; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -.ui.step:after, -.ui.steps .step:after { - position: absolute; - z-index: 2; - content: ''; - top: 0em; - right: -1.45em; - border-bottom: 1.5em solid transparent; - border-left: 1.5em solid #FFFFFF; - border-top: 1.5em solid transparent; - width: 0em; - height: 0em; -} -.ui.step, -.ui.steps .step, -.ui.steps .step:after { - -webkit-transition: opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease; - -moz-transition: opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease; - -o-transition: opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease; - -ms-transition: opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease; - transition: opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease; -} -/******************************* - Group -*******************************/ -.ui.steps { - cursor: pointer; - display: inline-block; - font-size: 0em; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - line-height: 1; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -moz-border-radius: 0.3125rem; - -webkit-border-radius: 0.3125rem; - border-radius: 0.3125rem; -} -.ui.steps .step:first-child { - padding-left: 1.35em; - -webkit-border-radius: 0.3125em 0em 0em 0.3125em; - -moz-border-radius: 0.3125em 0em 0em 0.3125em; - border-radius: 0.3125em 0em 0em 0.3125em; -} -.ui.steps .step:last-child { - -webkit-border-radius: 0em 0.3125em 0.3125em 0em; - -moz-border-radius: 0em 0.3125em 0.3125em 0em; - border-radius: 0em 0.3125em 0.3125em 0em; -} -.ui.steps .step:only-child { - -webkit-border-radius: 0.3125em; - -moz-border-radius: 0.3125em; - border-radius: 0.3125em; -} -.ui.steps .step:last-child { - margin-right: 0em; -} -.ui.steps .step:last-child:after { - display: none; -} -/******************************* - States -*******************************/ -/* Hover */ -.ui.step:hover, -.ui.step.hover { - background-color: #F7F7F7; - color: rgba(0, 0, 0, 0.8); -} -.ui.steps .step.hover:after, -.ui.steps .step:hover:after, -.ui.step:hover, -.ui.step.hover::after { - border-left-color: #F7F7F7; -} -/* Hover */ -.ui.steps .step.down, -.ui.steps .step:active, -.ui.step.down, -.ui.step:active { - background-color: #F0F0F0; -} -.ui.steps .step.down:after, -.ui.steps .step:active:after, -.ui.steps.down::after, -.ui.steps:active::after { - border-left-color: #F0F0F0; -} -/* Active */ -.ui.steps .step.active, -.ui.active.step { - cursor: auto; - background-color: #555555; - color: #FFFFFF; - font-weight: bold; -} -.ui.steps .step.active:after, -.ui.active.steps:after { - border-left-color: #555555; -} -/* Disabled */ -.ui.steps .disabled.step, -.ui.disabled.step { - cursor: auto; - background-color: #FFFFFF; - color: #CBCBCB; -} -.ui.disabled.step:after { - border: none; - background-color: #FFFFFF; - top: 0.42em; - right: -1em; - width: 2.15em; - height: 2.15em; - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-box-shadow: -1px -1px 0px 0px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: -1px -1px 0px 0px rgba(0, 0, 0, 0.1) inset; - box-shadow: -1px -1px 0px 0px rgba(0, 0, 0, 0.1) inset; -} -/******************************* - Variations -*******************************/ -/* Attached */ -.attached.ui.steps { - margin: 0em; - -webkit-border-radius: 0.3125em 0.3125em 0em 0em; - -moz-border-radius: 0.3125em 0.3125em 0em 0em; - border-radius: 0.3125em 0.3125em 0em 0em; -} -.attached.ui.steps .step:first-child { - -webkit-border-radius: 0.3125em 0em 0em 0em; - -moz-border-radius: 0.3125em 0em 0em 0em; - border-radius: 0.3125em 0em 0em 0em; -} -.attached.ui.steps .step:last-child { - -webkit-border-radius: 0em 0.3125em 0em 0em; - -moz-border-radius: 0em 0.3125em 0em 0em; - border-radius: 0em 0.3125em 0em 0em; -} -/* Bottom Side */ -.bottom.attached.ui.steps { - margin-top: -1px; - -webkit-border-radius: 0em 0em 0.3125em 0.3125em; - -moz-border-radius: 0em 0em 0.3125em 0.3125em; - border-radius: 0em 0em 0.3125em 0.3125em; -} -.bottom.attached.ui.steps .step:first-child { - -webkit-border-radius: 0em 0em 0em 0.3125em; - -moz-border-radius: 0em 0em 0em 0.3125em; - border-radius: 0em 0em 0em 0.3125em; -} -.bottom.attached.ui.steps .step:last-child { - -webkit-border-radius: 0em 0em 0.3125em 0em; - -moz-border-radius: 0em 0em 0.3125em 0em; - border-radius: 0em 0em 0.3125em 0em; -} -/* Evenly divided */ -.ui.one.steps, -.ui.two.steps, -.ui.three.steps, -.ui.four.steps, -.ui.five.steps, -.ui.six.steps, -.ui.seven.steps, -.ui.eight.steps { - display: block; -} -.ui.one.steps > .step { - width: 100%; -} -.ui.two.steps > .step { - width: 50%; -} -.ui.three.steps > .step { - width: 33.333%; -} -.ui.four.steps > .step { - width: 25%; -} -.ui.five.steps > .step { - width: 20%; -} -.ui.six.steps > .step { - width: 16.666%; -} -.ui.seven.steps > .step { - width: 14.285%; -} -.ui.eight.steps > .step { - width: 12.500%; -} -/******************************* - Sizes -*******************************/ -.ui.small.step, -.ui.small.steps .step { - font-size: 0.8rem; -} -.ui.step, -.ui.steps .step { - font-size: 1rem; -} -.ui.large.step, -.ui.large.steps .step { - font-size: 1.25rem; -} - -/* - * # Semantic - Accordion - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Accordion -*******************************/ -.ui.accordion { - width: 600px; - max-width: 100%; - overflow: hidden; - font-size: 1rem; - border-radius: 0.3125em; - background-color: #FFFFFF; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); -} -.ui.accordion .title { - cursor: pointer; - margin: 0em; - padding: 0.75em 1em; - color: rgba(0, 0, 0, 0.6); - border-top: 1px solid rgba(0, 0, 0, 0.05); - -webkit-transition: background-color 0.2s ease-out; - -moz-transition: background-color 0.2s ease-out; - -o-transition: background-color 0.2s ease-out; - -ms-transition: background-color 0.2s ease-out; - transition: background-color 0.2s ease-out; -} -.ui.accordion .title:first-child { - border-top: none; -} -/* Content */ -.ui.accordion .content { - display: none; - margin: 0em; - padding: 1.3em 1em; -} -/* Arrow */ -.ui.accordion .title .dropdown.icon { - display: inline-block; - float: none; - margin: 0em 0.5em 0em 0em; - -webkit-transition: -webkit-transform 0.2s ease, opacity 0.2s ease; - -moz-transition: -moz-transform 0.2s ease, opacity 0.2s ease; - -o-transition: -o-transform 0.2s ease, opacity 0.2s ease; - -ms-transition: -ms-transform 0.2s ease, opacity 0.2s ease; - transition: transform 0.2s ease, - opacity 0.2s ease - ; - -webkit-transform: rotate(0deg); - -moz-transform: rotate(0deg); - -o-transform: rotate(0deg); - -ms-transform: rotate(0deg); - transform: rotate(0deg); -} -.ui.accordion .title .dropdown.icon:before { - content: '\f0da'; -} -/*-------------- - Loose Coupling ----------------*/ -.ui.basic.accordion.menu { - background-color: #FFFFFF; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); -} -.ui.basic.accordion.menu .title, -.ui.basic.accordion.menu .content { - padding: 0em; -} -/******************************* - Types -*******************************/ -/*-------------- - Basic ----------------*/ -.ui.basic.accordion { - background-color: transparent; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.basic.accordion .title, -.ui.basic.accordion .title { - background-color: transparent; - border-top: none; - padding-left: 0em; - padding-right: 0em; -} -.ui.basic.accordion .content { - padding-left: 0em; - padding-right: 0em; -} -.ui.basic.accordion .active.title { - background-color: transparent; -} -/******************************* - States -*******************************/ -/*-------------- - Hover ----------------*/ -.ui.accordion .title:hover, -.ui.accordion .active.title { - color: rgba(0, 0, 0, 0.8); -} -/*-------------- - Active ----------------*/ -.ui.accordion .active.title { - background-color: rgba(0, 0, 0, 0.1); - color: rgba(0, 0, 0, 0.8); -} -.ui.accordion .active.title .dropdown.icon { - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -o-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.ui.accordion .active.content { - display: block; -} -/******************************* - Variations -*******************************/ -/*-------------- - Fluid ----------------*/ -.ui.fluid.accordion { - width: 100%; -} - -/* - * # Semantic - Chat Room - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Chat Room -*******************************/ -.ui.chatroom { - background-color: #F8F8F8; - width: 330px; - height: 370px; - padding: 0px; -} -.ui.chatroom .room { - position: relative; - background-color: #FFFFFF; - overflow: hidden; - height: 286px; - border: 1px solid rgba(0, 0, 0, 0.1); - border-top: none; - border-bottom: none; -} -.ui.chatroom .room .loader { - display: none; - margin: -25px 0px 0px -25px; -} -/* Chat Room Actions */ -.ui.chatroom .actions { - overflow: hidden; - background-color: #EEEEEE; - padding: 4px; - border: 1px solid rgba(0, 0, 0, 0.1); - -moz-border-radius: 5px 5px 0px 0px; - -webkit-border-radius: 5px 5px 0px 0px; - border-radius: 5px 5px 0px 0px; -} -.ui.chatroom .actions .button { - float: right; - margin-left: 3px; -} -/* Online User Count */ -.ui.chatroom .actions .message { - float: left; - margin-left: 6px; - font-size: 11px; - color: #AAAAAA; - text-shadow: 0px -1px 0px rgba(255, 255, 255, 0.8); - line-height: 28px; -} -.ui.chatroom .actions .message .loader { - display: inline-block; - margin-right: 8px; -} -/* Chat Room Text Log */ -.ui.chatroom .log { - float: left; - overflow: auto; - overflow-x: hidden; - overflow-y: auto; -} -.ui.chatroom .log .message { - padding: 3px 0px; - border-top: 1px dotted #DADADA; -} -.ui.chatroom .log .message:first-child { - border-top: none; -} -/* status event */ -.ui.chatroom .status { - padding: 5px 0px; - color: #AAAAAA; - font-size: 12px; - font-style: italic; - line-height: 1.33; - border-top: 1px dotted #DADADA; -} -.ui.chatroom .log .status:first-child { - border-top: none; -} -.ui.chatroom .log .flag { - float: left; -} -.ui.chatroom .log p { - margin-left: 0px; -} -.ui.chatroom .log .author { - font-weight: bold; - -webkit-transition: color 0.3s ease-out; - -moz-transition: color 0.3s ease-out; - -o-transition: color 0.3s ease-out; - -ms-transition: color 0.3s ease-out; - transition: color 0.3s ease-out; -} -.ui.chatroom .log a.author:hover { - opacity: 0.8; -} -.ui.chatroom .log .message.admin p { - font-weight: bold; - margin: 1px 0px 0px 23px; -} -.ui.chatroom .log .divider { - margin: -1px 0px; - font-size: 11px; - padding: 10px 0px; - border-top: 1px solid #F8F8F8; - border-bottom: 1px solid #F8F8F8; -} -.ui.chatroom .log .divider .rule { - top: 50%; - width: 15%; -} -.ui.chatroom .log .divider .label { - color: #777777; - margin: 0px; -} -/* Chat Room User List */ -.ui.chatroom .room .list { - position: relative; - overflow: auto; - overflow-x: hidden; - overflow-y: auto; - float: left; - background-color: #EEEEEE; - border-left: 1px solid #DDDDDD; -} -.ui.chatroom .room .list .user { - display: table; - padding: 3px 7px; - border-bottom: 1px solid #DDDDDD; -} -.ui.chatroom .room .list .user:hover { - background-color: #F8F8F8; -} -.ui.chatroom .room .list .image { - display: table-cell; - vertical-align: middle; - width: 20px; -} -.ui.chatroom .room .list .image img { - width: 20px; - height: 20px; - vertical-align: middle; -} -.ui.chatroom .room .list p { - display: table-cell; - vertical-align: middle; - padding-left: 7px; - padding-right: 14px; - font-size: 11px; - line-height: 1.2; - font-weight: bold; -} -.ui.chatroom .room .list a:hover { - opacity: 0.8; -} -/* User List Loading */ -.ui.chatroom.loading .loader { - display: block; -} -/* Chat Room Talk Input */ -.ui.chatroom .talk { - border: 1px solid rgba(0, 0, 0, 0.1); - padding: 5px 0px 0px; - background-color: #EEEEEE; - -webkit-border-radius: 0px 0px 5px 5px; - -moz-border-radius: 0px 0px 5px 5px; - border-radius: 0px 0px 5px 5px; -} -.ui.chatroom .talk .avatar, -.ui.chatroom .talk input, -.ui.chatroom .talk .button { - float: left; -} -.ui.chatroom .talk .avatar img { - display: block; - width: 30px; - height: 30px; - margin-right: 4px; - border-radius: 500rem; -} -.ui.chatroom .talk input { - border: 1px solid #CCCCCC; - margin: 0px; - width: 196px; - height: 14px; - padding: 8px 5px; - font-size: 12px; - color: #555555; -} -.ui.chatroom .talk input.focus { - border: 1px solid #AAAAAA; -} -.ui.chatroom .send { - width: 80px; - height: 32px; - margin-left: -1px; - padding: 4px 12px; - font-size: 12px; - line-height: 23px; - -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; - border-radius: 0 5px 5px 0; -} -.ui.chatroom .talk .log-in.button { - display: block; - float: none; - margin-top: -6px; - height: 22px; - border-radius: 0px 0px 4px 4px; -} -.ui.chatroom .talk .log-in.button i { - vertical-align: text-top; -} -/* Quirky Flags */ -.ui.chatroom .log .team.flag { - width: 18px; -} -/* Chat room Loaded */ -.ui.chatroom.loading .loader { - display: block; -} -/* Standard Size */ -.ui.chatroom { - width: 330px; - height: 370px; -} -.ui.chatroom .room .container { - width: 3000px; -} -.ui.chatroom .log { - width: 314px; - height: 278px; - padding: 4px 7px; -} -.ui.chatroom .room .list { - width: 124px; - height: 278px; - padding: 4px 0px; -} -.ui.chatroom .room .list .user { - width: 110px; -} -.ui.chatroom .talk { - height: 40px; -} - -/* - * # Semantic - Checkbox - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Checkbox -*******************************/ -/*-------------- - Standard ----------------*/ -/*--- Content ---*/ -.ui.checkbox { - position: relative; - display: inline-block; - width: 1em; - height: 1.5em; - outline: none; - vertical-align: middle; -} -.ui.checkbox input { - position: absolute; - top: 0px; - left: 0px; - opacity: 0; - outline: none; -} -/*--- Box ---*/ -.ui.checkbox .box, -.ui.checkbox label { - cursor: pointer; - position: relative; - min-width: 1em; - height: 1.5em; - padding-left: 2em; - outline: none; - white-space: nowrap; -} -.ui.checkbox .box:before, -.ui.checkbox label:before { - position: absolute; - top: 0.25em; - line-height: 1; - width: 1em; - height: 1em; - left: 0em; - content: ''; - border-radius: 4px; - background: #FFFFFF; - -webkit-transition: background-color 0.3s ease, box-shadow 0.3s ease; - -moz-transition: background-color 0.3s ease, box-shadow 0.3s ease; - -o-transition: background-color 0.3s ease, box-shadow 0.3s ease; - -ms-transition: background-color 0.3s ease, box-shadow 0.3s ease; - transition: background-color 0.3s ease, box-shadow 0.3s ease; - -webkit-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.2); - box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.2); -} -/*--- Checkbox ---*/ -.ui.checkbox .box:after, -.ui.checkbox label:after { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; - filter: alpha(opacity=0); - opacity: 0; - content: ''; - position: absolute; - background: transparent; - border: 0.2em solid #333333; - border-top: none; - border-right: none; - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - transform: rotate(-45deg); -} -.ui.checkbox .box:after, -.ui.checkbox label:after { - top: 0.54em; - left: 0.2em; - width: 0.45em; - height: 0.15em; -} -/*--- Inside Label ---*/ -.ui.checkbox label { - color: rgba(0, 0, 0, 0.6); - -webkit-transition: color 0.2s ease; - -moz-transition: color 0.2s ease; - -o-transition: color 0.2s ease; - -ms-transition: color 0.2s ease; - transition: color 0.2s ease; -} -.ui.checkbox label:hover { - color: rgba(0, 0, 0, 0.8); -} -.ui.checkbox input:focus + label { - color: rgba(0, 0, 0, 0.8); -} -/*--- Outside Label ---*/ -.ui.checkbox + label { - cursor: pointer; - opacity: 0.85; - vertical-align: middle; -} -.ui.checkbox + label:hover { - opacity: 1; -} -/******************************* - States -*******************************/ -/*--- Hover ---*/ -.ui.checkbox .box:hover::before, -.ui.checkbox label:hover::before { - -webkit-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.3); - -moz-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.3); - box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.3); -} -/*--- Down ---*/ -.ui.checkbox .box:active::before, -.ui.checkbox label:active::before { - background-color: #F5F5F5; -} -/*--- Focus ---*/ -.ui.checkbox input:focus + .box:before, -.ui.checkbox input:focus + label:before { - -webkit-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.3); - -moz-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.3); - box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.3); -} -/*--- Active ---*/ -.ui.checkbox input:checked + .box:after, -.ui.checkbox input:checked + label:after { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - filter: alpha(opacity=100); - opacity: 1; -} -/*--- Disabled ---*/ -.ui.disabled.checkbox + .box:after, -.ui.checkbox input[disabled] + .box:after, -.ui.disabled.checkbox label, -.ui.checkbox input[disabled] + label { - opacity: 0.4; - color: rgba(0, 0, 0, 0.3); -} -/******************************* - Variations -*******************************/ -/*-------------- - Radio ----------------*/ -.ui.radio.checkbox .box:before, -.ui.radio.checkbox label:before { - width: 1em; - height: 1em; - -webkit-border-radius: 500px; - -moz-border-radius: 500px; - border-radius: 500px; -} -.ui.radio.checkbox .box:after, -.ui.radio.checkbox label:after { - border: none; - top: 0.45em; - left: 0.2em; - width: 0.6em; - height: 0.6em; - background-color: #555555; - -webkit-border-radius: 500px; - -moz-border-radius: 500px; - border-radius: 500px; -} -/*-------------- - Slider ----------------*/ -.ui.slider.checkbox { - cursor: pointer; - min-width: 3em; - height: 2em; -} -/* Line */ -.ui.slider.checkbox:after { - position: absolute; - top: 0.8em; - left: 0em; - content: ''; - width: 3em; - height: 2px; - background-color: rgba(0, 0, 0, 0.1); -} -/* Button */ -.ui.slider.checkbox .box, -.ui.slider.checkbox label { - padding-left: 4em; -} -.ui.slider.checkbox .box:before, -.ui.slider.checkbox label:before { - cursor: pointer; - display: block; - position: absolute; - top: 0em; - left: 0; - z-index: 1; - width: 1.5em; - height: 1.5em; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - border-radius: 50rem; - -webkit-transition: left 0.3s ease 0s; - -moz-transition: left 0.3s ease 0s; - -o-transition: left 0.3s ease 0s; - -ms-transition: left 0.3s ease 0s; - transition: left 0.3s ease 0s; -} -/* Button Activation Light */ -.ui.slider.checkbox .box:after, -.ui.slider.checkbox label:after { - opacity: 1; - position: absolute; - content: ''; - top: 0.375em; - left: 0em; - z-index: 2; - margin-left: 0.375em; - border: none; - width: 0.75em; - height: 0.75em; - border-radius: 50rem; - -webkit-transition: background 0.3s ease 0s, - left 0.3s ease 0s - ; - -moz-transition: background 0.3s ease 0s, - left 0.3s ease 0s - ; - -o-transition: background 0.3s ease 0s, - left 0.3s ease 0s - ; - -ms-transition: background 0.3s ease 0s, - left 0.3s ease 0s - ; - transition: background 0.3s ease 0s, - left 0.3s ease 0s - ; -} -/* Selected Slider Toggle */ -.ui.slider.checkbox input:checked + .box:before, -.ui.slider.checkbox input:checked + label:before, -.ui.slider.checkbox input:checked + .box:after, -.ui.slider.checkbox input:checked + label:after { - left: 1.75em; -} -/* Off Color */ -.ui.slider.checkbox .box:after, -.ui.slider.checkbox label:after { - background-color: #D95C5C; -} -/* On Color */ -.ui.slider.checkbox input:checked + .box:after, -.ui.slider.checkbox input:checked + label:after { - background-color: #89B84C; -} -/*-------------- - Toggle ----------------*/ -.ui.toggle.checkbox { - cursor: pointer; - height: 2em; -} -.ui.toggle.checkbox .box, -.ui.toggle.checkbox label { - padding-left: 4em; -} -/* Switch */ -.ui.toggle.checkbox .box:before, -.ui.toggle.checkbox label:before { - cursor: pointer; - display: block; - position: absolute; - content: ''; - top: 0em; - left: 0em; - z-index: 1; - background-color: #FFFFFF; - width: 3em; - height: 1.5em; - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; - border-radius: 50rem; -} -/* Activation Light */ -.ui.toggle.checkbox .box:after, -.ui.toggle.checkbox label:after { - opacity: 1; - background-color: transparent; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - content: ''; - position: absolute; - top: 0.35em; - left: 0.5em; - z-index: 2; - border: none; - width: 0.75em; - height: 0.75em; - background-color: #D95C5C; - border-radius: 50rem; - -webkit-transition: background 0.3s ease 0s, - left 0.3s ease 0s - ; - -moz-transition: background 0.3s ease 0s, - left 0.3s ease 0s - ; - -o-transition: background 0.3s ease 0s, - left 0.3s ease 0s - ; - -ms-transition: background 0.3s ease 0s, - left 0.3s ease 0s - ; - transition: background 0.3s ease 0s, - left 0.3s ease 0s - ; -} -/* Active */ -.ui.toggle.checkbox:active .box:before, -.ui.toggle.checkbox:active label:before { - background-color: #F5F5F5; -} -/* Active */ -.ui.toggle.checkbox input:checked + .box:after, -.ui.toggle.checkbox input:checked + label:after { - left: 1.75em; - background-color: #89B84C; -} -/*-------------- - Sizes ----------------*/ -.ui.checkbox { - font-size: 1em; -} -.ui.large.checkbox { - font-size: 1.25em; -} -.ui.huge.checkbox { - font-size: 1.5em; -} - -/* - * # Semantic - Dimmer - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Dimmer -*******************************/ -.ui.dimmable { - position: relative; -} -.ui.dimmer { - display: none; - position: absolute; - top: 0em !important; - left: 0em !important; - width: 0%; - height: 0%; - text-align: center; - vertical-align: middle; - background-color: rgba(0, 0, 0, 0.85); - opacity: 0; - line-height: 1; - -webkit-animation-fill-mode: both; - -moz-animation-fill-mode: both; - -o-animation-fill-mode: both; - -ms-animation-fill-mode: both; - animation-fill-mode: both; - -webkit-animation-duration: 0.5s; - -moz-animation-duration: 0.5s; - -o-animation-duration: 0.5s; - -ms-animation-duration: 0.5s; - animation-duration: 0.5s; - -webkit-transition: background-color 0.5s linear; - -moz-transition: background-color 0.5s linear; - -o-transition: background-color 0.5s linear; - -ms-transition: background-color 0.5s linear; - transition: background-color 0.5s linear; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - z-index: 1000; -} -/* -.ui.dimmed.dimmable > :not(.dimmer) { - -webkit-transition: - filter 0.5s ease - ; - -moz-transition: - filter 0.5s ease - ; - -o-transition: - filter 0.5s ease - ; - -ms-transition: - filter 0.5s ease - ; - transition: - filter 0.5s ease - ; -} -*/ -/* Dimmer Content */.ui.dimmer > .content { - width: 100%; - height: 100%; - display: table; - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; -} -.ui.dimmer > .content > div { - display: table-cell; - vertical-align: middle; - color: #FFFFFF; -} -/* Loose Coupling */ -.ui.segment > .ui.dimmer { - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} -.ui.horizontal.segment > .ui.dimmer, -.ui.vertical.segment > .ui.dimmer { - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} -/******************************* - States -*******************************/ -/* -.ui.dimmed.dimmable > :not(.dimmer) { - -webkit-filter: ~"blur(5px) grayscale(0.7)"; - -moz-filter: ~"blur(5px) grayscale(0.7)"; -} -*/ -.ui.dimmed.dimmable > .ui.dimmer, -.ui.active.dimmer { - display: block; - width: 100%; - height: 100%; - opacity: 1; -} -.ui.disabled.dimmer { - width: 0em !important; - height: 0em !important; -} -/******************************* - Variations -*******************************/ -/*-------------- - Page ----------------*/ -.ui.page.dimmer { - position: fixed; - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - transform-style: preserve-3d; - -webkit-perspective: 2000px; - -moz-perspective: 2000px; - perspective: 2000px; - -webkit-transform-origin: center center; - -moz-transform-origin: center center; - -o-transform-origin: center center; - -ms-transform-origin: center center; - transform-origin: center center; -} -.ui.scrolling.page.dimmer { - position: absolute; -} -/* -body.ui.dimmed.dimmable > :not(.dimmer){ - -webkit-filter: ~"blur(15px) grayscale(0.7)"; - -moz-filter: ~"blur(15px) grayscale(0.7)"; -} -*/ -/*-------------- - Aligned ----------------*/ -.ui.dimmer > .top.aligned.content > * { - vertical-align: top; -} -.ui.dimmer > .bottom.aligned.content > * { - vertical-align: bottom; -} -/*-------------- - Inverted ----------------*/ -.ui.inverted.dimmer { - background-color: rgba(255, 255, 255, 0.85); -} -.ui.inverted.dimmer > .content > * { - color: rgba(0, 0, 0, 0.8); -} -/*-------------- - Simple ----------------*/ -/* Displays without javascript */ -.ui.simple.dimmer { - display: block; - overflow: hidden; - opacity: 1; - z-index: -100; - background-color: rgba(0, 0, 0, 0); -} -.ui.dimmed.dimmable > .ui.simple.dimmer { - overflow: visible; - opacity: 1; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.85); - z-index: 1; -} -.ui.simple.inverted.dimmer { - background-color: rgba(255, 255, 255, 0); -} -.ui.dimmed.dimmable > .ui.simple.inverted.dimmer { - background-color: rgba(255, 255, 255, 0.85); -} - -/* - * # Semantic - Dropdown - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Dropdown -*******************************/ -.ui.dropdown { - position: relative; - display: inline-block; - line-height: 1; - -webkit-transition: border-radius 0.1s ease, width 0.2s ease; - -moz-transition: border-radius 0.1s ease, width 0.2s ease; - -o-transition: border-radius 0.1s ease, width 0.2s ease; - -ms-transition: border-radius 0.1s ease, width 0.2s ease; - transition: border-radius 0.1s ease, width 0.2s ease; -} -/******************************* - Content -*******************************/ -/*-------------- - Menu ----------------*/ -.ui.dropdown .menu { - position: absolute; - display: none; - top: 100%; - margin: 0em; - background-color: #FFFFFF; - min-width: 100%; - white-space: nowrap; - font-size: 0.875em; - text-shadow: none; - -webkit-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1); - -moz-border-radius: 0px 0px 0.325em 0.325em; - -webkit-border-radius: 0px 0px 0.325em 0.325em; - border-radius: 0px 0px 0.325em 0.325em; - -webkit-transition: opacity 0.2s ease; - -moz-transition: opacity 0.2s ease; - -o-transition: opacity 0.2s ease; - -ms-transition: opacity 0.2s ease; - transition: opacity 0.2s ease; - z-index: 11; -} -/*-------------- - Icon ----------------*/ -.ui.dropdown > .dropdown.icon { - width: auto; - margin: 0em 0em 0em 0.5em; -} -.ui.dropdown > .dropdown.icon:before { - content: "\f0d7"; -} -.ui.dropdown .menu .item .dropdown.icon { - width: auto; - float: right; - margin: 0em 0em 0em 0.5em; -} -.ui.dropdown .menu .item .dropdown.icon:before { - content: "\f0da"; -} -/*-------------- - Text ----------------*/ -.ui.dropdown > .text { - cursor: pointer; - display: inline-block; - -webkit-transition: color 0.2s ease; - -moz-transition: color 0.2s ease; - -o-transition: color 0.2s ease; - -ms-transition: color 0.2s ease; - transition: color 0.2s ease; -} -/* Flyout Direction */ -.ui.dropdown .menu { - left: 0px; -} -/*-------------- - Sub Menu ----------------*/ -.ui.dropdown .menu .menu { - top: 0% !important; - left: 100% !important; - margin: 0em !important; - border-radius: 0 0.325em 0.325em 0em !important; -} -.ui.dropdown .menu .menu:after { - display: none; -} -.ui.dropdown .menu .item { - cursor: pointer; - border: none; - border-top: 1px solid rgba(0, 0, 0, 0.05); - height: auto; - font-size: 0.875em; - display: block; - color: rgba(0, 0, 0, 0.75); - padding: 0.85em 1em !important; - font-size: 0.875rem; - text-transform: none; - font-weight: normal; - text-align: left; - -webkit-touch-callout: none; -} -.ui.dropdown .menu .item:before { - display: none; -} -.ui.dropdown .menu .item .icon { - margin-right: 0.75em; -} -.ui.dropdown .menu .item:first-child { - border-top: none; -} -/******************************* - Coupling -*******************************/ -/* Opposite on last menu on right */ -.ui.menu .right.menu .dropdown:last-child .menu, -.ui.buttons > .ui.dropdown:last-child .menu { - left: auto; - right: 0px; -} -.ui.vertical.menu .dropdown.item > .dropdown.icon { - content: "\f0da"; -} -/******************************* - States -*******************************/ -/* Dropdown Visible */ -.ui.visible.dropdown { - border-bottom-left-radius: 0em !important; - border-bottom-right-radius: 0em !important; -} -.ui.visible.dropdown > .menu { - display: block; -} -/* Menu Item Hover */ -.ui.dropdown .menu .item:hover { - background-color: rgba(0, 0, 0, 0.02); - z-index: 12; -} -/* Menu Item Active */ -.ui.dropdown .menu .active.item { - background-color: rgba(0, 0, 0, 0.04); - border-left: none; - -webkit-box-shadow: none; - -moz-shadow: none; - box-shadow: none; - z-index: 12; -} -/* Default Text */ -.ui.dropdown > .default.text, -.ui.default.dropdown > .text { - color: rgba(0, 0, 0, 0.5); -} -.ui.dropdown:hover > .default.text, -.ui.default.dropdown:hover > .text { - color: rgba(0, 0, 0, 0.8); -} -/******************************* - Variations -*******************************/ -/*-------------- - Simple ----------------*/ -/* Displays without javascript */ -.ui.simple.dropdown .menu:before, -.ui.simple.dropdown .menu:after { - display: none; -} -.ui.simple.dropdown .menu { - display: block; - overflow: hidden; - top: -9999px !important; - position: absolute; - opacity: 0; - width: 0; - height: 0; - -webkit-transition: opacity 0.2s ease-out; - -moz-transition: opacity 0.2s ease-out; - -o-transition: opacity 0.2s ease-out; - -ms-transition: opacity 0.2s ease-out; - transition: opacity 0.2s ease-out; -} -.ui.simple.active.dropdown, -.ui.simple.dropdown:hover { - border-bottom-left-radius: 0em !important; - border-bottom-right-radius: 0em !important; -} -.ui.simple.active.dropdown > .menu, -.ui.simple.dropdown:hover > .menu { - overflow: visible; - width: auto; - height: auto; - top: 100% !important; - opacity: 1; -} -.ui.simple.dropdown > .menu .item:active > .menu, -.ui.simple.dropdown:hover > .menu .item:hover > .menu { - overflow: visible; - width: auto; - height: auto; - top: 0% !important; - left: 100% !important; - opacity: 1; -} -.ui.simple.disabled.dropdown:hover .menu { - display: none; - height: 0px; - width: 0px; - overflow: hidden; -} -/*-------------- - Selection ----------------*/ -/* Displays like a select box */ -.ui.selection.dropdown { - cursor: pointer; - display: inline-block; - word-wrap: break-word; - white-space: normal; - background-color: #FFFFFF; - padding: 0.5em 1em; - line-height: 1.33; - color: rgba(0, 0, 0, 0.8); - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - -webkit-border-radius: 0.3125em !important; - -moz-border-radius: 0.3125em !important; - border-radius: 0.3125em !important; -} -.ui.selection.dropdown > .dropdown.icon { - float: right; - opacity: 0.7; - margin: 0.2em 0em 0.2em 1.25em; - -webkit-transition: opacity 0.2s ease-out; - -moz-transition: opacity 0.2s ease-out; - -o-transition: opacity 0.2s ease-out; - -ms-transition: opacity 0.2s ease-out; - transition: opacity 0.2s ease-out; -} -.ui.selection.dropdown, -.ui.selection.dropdown .menu { - top: 100%; - -webkit-transition: box-shadow 0.2s ease-out; - -moz-transition: box-shadow 0.2s ease-out; - -o-transition: box-shadow 0.2s ease-out; - -ms-transition: box-shadow 0.2s ease-out; - transition: box-shadow 0.2s ease-out; -} -.ui.selection.dropdown .menu { - max-height: 312px; - overflow-x: hidden; - overflow-y: auto; - -webkit-box-shadow: 0px 1px 0px 1px #EEEEEE; - -moz-box-shadow: 0px 1px 0px 1px #EEEEEE; - box-shadow: 0px 1px 0px 1px #EEEEEE; - -moz-border-radius: 0px 0px 0.325em 0.325em; - -webkit-border-radius: 0px 0px 0.325em 0.325em; - border-radius: 0px 0px 0.325em 0.325em; -} -.ui.selection.dropdown .menu:after, -.ui.selection.dropdown .menu:before { - display: none; -} -.ui.selection.dropdown .menu img { - height: 2.5em; - display: inline-block; - vertical-align: middle; - margin-right: 0.5em; -} -/* Hover */ -.ui.selection.dropdown:hover, -.ui.selection.dropdown.hover { - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2); -} -.ui.selection.dropdown:hover > .dropdown.icon { - opacity: 1; -} -/* Visible */ -.ui.selection.active.dropdown { - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2) !important; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2) !important; - -webkit-border-radius: 0.3125em 0.3125em 0em 0em !important; - -moz-border-radius: 0.3125em 0.3125em 0em 0em !important; - border-radius: 0.3125em 0.3125em 0em 0em !important; -} -.ui.selection.active.dropdown > .dropdown.icon { - opacity: 1; -} -.ui.selection.active.dropdown .menu { - -webkit-box-shadow: 0px 1px 0px 1px #D3D3D3; - -moz-box-shadow: 0px 1px 0px 1px #D3D3D3; - box-shadow: 0px 1px 0px 1px #D3D3D3; -} -/*-------------- - Fluid ----------------*/ -.ui.fluid.dropdown { - display: block; -} -/*-------------- - Inline ----------------*/ -.ui.inline.dropdown { - cursor: pointer; - display: inline-block; - color: inherit; -} -.ui.inline.dropdown .dropdown.icon { - margin: 0em 0.5em 0em 0.25em; -} -.ui.inline.dropdown .text { - font-weight: bold; -} -.ui.inline.dropdown .menu { - cursor: auto; - margin-top: 0.25em; - -webkit-border-radius: 0.325em; - -moz-border-radius: 0.325em; - border-radius: 0.325em; -} -/*-------------- - Floating ----------------*/ -.ui.floating.dropdown .menu { - left: 0; - right: auto; - margin-top: 0.5em; - -webkit-border-radius: 0.325em; - -moz-border-radius: 0.325em; - border-radius: 0.325em; -} -/*-------------- - Pointing ----------------*/ -.ui.pointing.dropdown .menu { - top: 100%; - margin-top: 0.75em; - -moz-border-radius: 0.325em; - -webkit-border-radius: 0.325em; - border-radius: 0.325em; -} -.ui.pointing.dropdown .menu:after { - display: block; - position: absolute; - pointer-events: none; - content: " "; - visibility: visible; - width: 0.5em; - height: 0.5em; - -moz-box-shadow: -1px -1px 0px 1px rgba(0, 0, 0, 0.05); - -webkit-box-shadow: -1px -1px 0px 1px rgba(0, 0, 0, 0.05); - box-shadow: -1px -1px 0px 1px rgba(0, 0, 0, 0.05); - background-image: none; - background-color: #FFFFFF; - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - transform: rotate(45deg); - z-index: 2; -} -.ui.pointing.dropdown .menu .item.active:first-child { - background: transparent -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.03)); - background: transparent -moz-linear-gradient(transparent, rgba(0, 0, 0, 0.03)); - background: transparent -o-linear-gradient(transparent, rgba(0, 0, 0, 0.03)); - background: transparent -ms-linear-gradient(transparent, rgba(0, 0, 0, 0.03)); - background: transparent linear-gradient(transparent, rgba(0, 0, 0, 0.03)); -} -/* Directions */ -.ui.pointing.dropdown .menu:after { - top: -0.25em; - left: 50%; - margin: 0em 0em 0em -0.25em; -} -.ui.top.left.pointing.dropdown .menu { - top: 100%; - bottom: auto; - left: 0%; - right: auto; - margin: 0.75em 0em 0em; -} -.ui.top.left.pointing.dropdown .menu:after { - top: -0.25em; - left: 1.25em; - right: auto; - margin: 0em; - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - transform: rotate(45deg); -} -.ui.top.right.pointing.dropdown .menu { - top: 100%; - bottom: auto; - right: 0%; - left: auto; - margin: 0.75em 0em 0em; -} -.ui.top.right.pointing.dropdown .menu:after { - top: -0.25em; - left: auto; - right: 1.25em; - margin: 0em; - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - transform: rotate(45deg); -} -.ui.left.pointing.dropdown .menu { - top: 0%; - left: 100%; - right: auto; - margin: 0em 0em 0em 0.75em; -} -.ui.left.pointing.dropdown .menu:after { - top: 1em; - left: -0.25em; - margin: 0em 0em 0em 0em; - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - transform: rotate(-45deg); -} -.ui.right.pointing.dropdown .menu { - top: 0%; - left: auto; - right: 100%; - margin: 0em 0.75em 0em 0em; -} -.ui.right.pointing.dropdown .menu:after { - top: 1em; - left: auto; - right: -0.25em; - margin: 0em 0em 0em 0em; - -webkit-transform: rotate(135deg); - -moz-transform: rotate(135deg); - transform: rotate(135deg); -} - -/* - * # Semantic - Modal - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Modal -*******************************/ -.ui.modal { - display: none; - position: fixed; - z-index: 1001; - top: 50%; - left: 50%; - text-align: left; - width: 90%; - margin-left: -45%; - background-color: #FFFFFF; - border: 1px solid #DDDDDD; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} -/******************************* - Content -*******************************/ -/*-------------- - Close ----------------*/ -.ui.modal > .close { - cursor: pointer; - position: absolute; - opacity: 0.8; - font-size: 1.25em; - top: -1.75em; - right: -1.75em; - color: #FFFFFF; -} -.ui.modal > .close:hover { - opacity: 1; -} -/*-------------- - Header ----------------*/ -.ui.modal > .header { - margin: 0em; - padding: 1.5rem 2rem; - font-size: 1.6em; - font-weight: bold; - -webkit-border-radius: 0.325em 0.325em 0px 0px; - -moz-border-radius: 0.325em 0.325em 0px 0px; - border-radius: 0.325em 0.325em 0px 0px; -} -/*-------------- - Content ----------------*/ -.ui.modal > .content { - display: table; - width: 100%; - position: relative; - padding: 2em; - background-color: #F4F4F4; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -.ui.modal > .content > .left { - display: table-cell; - padding-right: 1.5%; - min-width: 25%; -} -.ui.modal > .content > .right { - display: table-cell; - padding-left: 1.5%; - vertical-align: top; -} -.ui.modal > .content > .left > .icon { - font-size: 8em; - margin: 0em; -} -.ui.modal > .content p { - line-height: 1.6; -} -/*-------------- - Actions ----------------*/ -.ui.modal .actions { - padding: 1rem 2rem; - text-align: right; -} -.ui.modal .actions > .button { - margin-left: 0.75em; -} -/*------------------- - Sizing ---------------------*/ -/* Mobile Only */ -@media only screen and (max-width: 768px) { - .ui.modal .content .left { - display: block; - padding: 0em 0em 0em 1em; - } - .ui.modal .content .right { - display: block; - padding: 1em 0em 0em 0em; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - } -} -/* Tablet and Mobile */ -@media only screen and (max-width: 998px) { - .ui.modal { - width: 92%; - margin-left: -46%; - } - .ui.modal > .close { - color: rgba(0, 0, 0, 0.8); - top: 1.5rem; - right: 1rem; - } -} -/* Computer / Responsive */ -@media only screen and (min-width: 998px) { - .ui.modal { - width: 74%; - margin-left: -37%; - } -} -@media only screen and (min-width: 1500px) { - .ui.modal { - width: 56%; - margin-left: -28%; - } -} -@media only screen and (min-width: 1750px) { - .ui.modal { - width: 42%; - margin-left: -21%; - } -} -@media only screen and (min-width: 2000px) { - .ui.modal { - width: 36%; - margin-left: -18%; - } -} -/******************************* - Types -*******************************/ -.ui.basic.modal { - background-color: transparent; - border: none; - color: #FFFFFF; -} -.ui.basic.modal > .close { - top: 1.5rem; - right: 1rem; -} -.ui.basic.modal .content { - background-color: transparent; -} -/******************************* - Variations -*******************************/ -/* A modal that cannot fit on the page */ -.ui.modal.scrolling { - position: absolute; - margin-top: 10px; -} -/******************************* - States -*******************************/ -.ui.active.modal { - display: block; -} -/*-------------- - Size ----------------*/ -/* Small */ -.ui.small.modal > .header { - font-size: 1.3em; -} -@media only screen and (min-width: 998px) { - .ui.small.modal { - width: 58%; - margin-left: -29%; - } -} -@media only screen and (min-width: 1500px) { - .ui.small.modal { - width: 40%; - margin-left: -20%; - } -} -@media only screen and (min-width: 1750px) { - .ui.small.modal { - width: 26%; - margin-left: -13%; - } -} -@media only screen and (min-width: 2000px) { - .ui.small.modal { - width: 20%; - margin-left: -10%; - } -} -/* Large */ -@media only screen and (min-width: 998px) { - .ui.large.modal { - width: 74%; - margin-left: -37%; - } -} -@media only screen and (min-width: 1500px) { - .ui.large.modal { - width: 64%; - margin-left: -32%; - } -} -@media only screen and (min-width: 1750px) { - .ui.large.modal { - width: 54%; - margin-left: -27%; - } -} -@media only screen and (min-width: 2000px) { - .ui.large.modal { - width: 44%; - margin-left: -22%; - } -} - -/* - * # Semantic - Nag - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Nag -*******************************/ -.ui.nag { - display: none; - opacity: 0.95; - position: relative; - top: 0px; - left: 0%; - z-index: 101; - min-height: 0; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - margin: 0em; - line-height: 3em; - padding: 0em 1em; - background-color: #555555; - -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2); - box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2); - font-size: 1em; - text-align: center; - color: rgba(255, 255, 255, 0.8); - -webkit-border-radius: 0px 0px 5px 5px; - -moz-border-radius: 0px 0px 5px 5px; - border-radius: 0px 0px 5px 5px; - -webkit-transition: 0.2s background; - -moz-transition: 0.2s background; - -o-transition: 0.2s background; - -ms-transition: 0.2s background; - transition: 0.2s background; -} -a.ui.nag { - cursor: pointer; -} -.ui.nag > .title { - display: inline-block; - margin: 0em 0.5em; - color: #FFFFFF; -} -.ui.nag > .close.icon { - cursor: pointer; - opacity: 0.4; - position: absolute; - top: 50%; - right: 1em; - margin-top: -0.5em; - color: #FFFFFF; - -webkit-transition: 0.1s opacity; - -moz-transition: 0.1s opacity; - -o-transition: 0.1s opacity; - -ms-transition: 0.1s opacity; - transition: 0.1s opacity; -} -/******************************* - States -*******************************/ -/* Hover */ -.ui.nag:hover { - opacity: 1; -} -.ui.nag .close:hover { - opacity: 1; -} -/******************************* - Variations -*******************************/ -/*-------------- - Static ----------------*/ -.ui.overlay.nag { - position: absolute; - display: block; -} -/*-------------- - Fixed ----------------*/ -.ui.fixed.nag { - position: fixed; -} -/*-------------- - Bottom ----------------*/ -.ui.botton.nag { - -webkit-border-radius: 5px 5px 0px 0px; - -moz-border-radius: 5px 5px 0px 0px; - border-radius: 5px 5px 0px 0px; -} -.ui.fixed.bottom.nags, -.ui.fixed.bottom.nag { - top: auto; - bottom: 0px; -} -/*-------------- - White ----------------*/ -.ui.white.nags .nag, -.ui.white.nag { - background-color: #F1F1F1; - text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.8); - color: #ACACAC; -} -.ui.white.nags .nag .close, -.ui.white.nags .nag .title, -.ui.white.nag .close, -.ui.white.nag .title { - color: #333333; -} -/******************************* - Groups -*******************************/ -.ui.nags .nag { - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px; -} - -/* - * # Semantic - Popup - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Popup -*******************************/ -.ui.popup { - display: none; - position: absolute; - top: 0px; - right: 0px; - z-index: 900; - border: 1px solid #DCDDDE; - max-width: 250px; - background-color: #FFFFFF; - padding: 0.8em 1.2em; - font-size: 0.875rem; - font-weight: normal; - font-style: normal; - color: rgba(0, 0, 0, 0.7); - -webkit-border-radius: 0.2em; - -moz-border-radius: 0.2em; - border-radius: 0.2em; - -webkit-box-shadow: 0px 1px 1px #DCDDDE; - -moz-box-shadow: 0px 1px 1px #DCDDDE; - box-shadow: 0px 1px 1px #DCDDDE; -} -.ui.popup .header { - padding: 0em 0em 0.5em; - font-size: 1.125em; - line-height: 1.2; - font-weight: bold; -} -.ui.popup:before { - position: absolute; - content: ""; - width: 0.75em; - height: 0.75rem; - background-image: none; - background-color: #FFFFFF; - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - transform: rotate(45deg); - z-index: 2; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -webkit-box-shadow: 1px 1px 1px #DCDDDE; - -moz-box-shadow: 1px 1px 1px #DCDDDE; - box-shadow: 1px 1px 1px #DCDDDE; -} -.ui.popup .ui.button { - width: 100%; -} -/******************************* - Types -*******************************/ -/*-------------- - Spacing ----------------*/ -.ui.popup { - margin: 0em; -} -.ui.popup.bottom { - margin: 0.75em 0em 0em; -} -.ui.popup.top { - margin: 0em 0em 0.75em; -} -.ui.popup.left.center { - margin: 0em 0.75em 0em 0em; -} -.ui.popup.right.center { - margin: 0em 0em 0em 0.75em; -} -.ui.popup.center { - margin-left: -1.25em; -} -/*-------------- - Pointer ----------------*/ -/*--- Below ---*/ -.ui.bottom.center.popup:before { - margin-left: -0.4em; - top: -0.4em; - left: 50%; - right: auto; - bottom: auto; - -webkit-box-shadow: -1px -1px 1px #dcddde; - -moz-box-shadow: -1px -1px 1px #dcddde; - box-shadow: -1px -1px 1px #dcddde; -} -.ui.bottom.left.popup { - margin-right: -0.8em; -} -.ui.bottom.left.popup:before { - top: -0.4em; - right: 1em; - bottom: auto; - left: auto; - margin-left: 0em; - -webkit-box-shadow: -1px -1px 1px #dcddde; - -moz-box-shadow: -1px -1px 1px #dcddde; - box-shadow: -1px -1px 1px #dcddde; -} -.ui.bottom.right.popup { - margin-left: -0.8em; -} -.ui.bottom.right.popup:before { - top: -0.4em; - left: 1em; - right: auto; - bottom: auto; - margin-left: 0em; - -webkit-box-shadow: -1px -1px 1px #dcddde; - -moz-box-shadow: -1px -1px 1px #dcddde; - box-shadow: -1px -1px 1px #dcddde; -} -/*--- Above ---*/ -.ui.top.center.popup:before { - top: auto; - right: auto; - bottom: -0.4em; - left: 50%; - margin-left: -0.4em; -} -.ui.top.left.popup { - margin-right: -0.8em; -} -.ui.top.left.popup:before { - bottom: -0.4em; - right: 1em; - top: auto; - left: auto; - margin-left: 0em; -} -.ui.top.right.popup { - margin-left: -0.8em; -} -.ui.top.right.popup:before { - bottom: -0.4em; - left: 1em; - top: auto; - right: auto; - margin-left: 0em; -} -/*--- Left Center ---*/ -.ui.left.center.popup:before { - top: 50%; - right: -0.35em; - bottom: auto; - left: auto; - margin-top: -0.4em; - -moz-box-shadow: 1px -1px 1px #dcddde; - -webkit-box-shadow: 1px -1px 1px #dcddde; - box-shadow: 1px -1px 1px #dcddde; -} -/*--- Right Center ---*/ -.ui.right.center.popup:before { - top: 50%; - left: -0.35em; - bottom: auto; - right: auto; - margin-top: -0.4em; - -moz-box-shadow: -1px 1px 1px #dcddde; - -webkit-box-shadow: -1px 1px 1px #dcddde; - box-shadow: -1px 1px 1px #dcddde; -} -/******************************* - States -*******************************/ -.ui.loading.popup { - display: block; - visibility: hidden; -} -.ui.active.popup { - display: block; -} -/******************************* - Variations -*******************************/ -/*-------------- - Size ----------------*/ -.ui.small.popup { - font-size: 0.75rem; -} -.ui.large.popup { - font-size: 1rem; -} -/*-------------- - Colors ----------------*/ -/* Inverted colors */ -.ui.inverted.popup { - background-color: #333333; - border: none; - color: #FFFFFF; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.inverted.popup .header { - background-color: rgba(0, 0, 0, 0.2); - color: #FFFFFF; -} -.ui.inverted.popup:before { - background-color: #333333; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} - -/* - * # Semantic - Rating - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Rating -*******************************/ -.ui.rating { - display: inline-block; - font-size: 0em; - vertical-align: baseline; - margin: 0em 0.5em 0em 0em; -} -.ui.rating:last-child { - margin-right: 0em; -} -.ui.rating:before { - display: block; - content: ''; - visibility: hidden; - clear: both; - height: 0; -} -/* Icon */ -.ui.rating .icon { - cursor: default; - margin: 0em; - width: 1em; - height: auto; - padding: 0em; - color: rgba(0, 0, 0, 0.15); - font-weight: normal; - font-style: normal; -} -.ui.rating .icon:before { - content: "\2605"; - -webkit-transition: color 0.3s ease, - opacity 0.3s ease - ; - -moz-transition: color 0.3s ease, - opacity 0.3s ease - ; - -ms-transition: color 0.3s ease, - opacity 0.3s ease - ; - -o-transition: color 0.3s ease, - opacity 0.3s ease - ; - transition: color 0.3s ease, - opacity 0.3s ease - ; -} -/******************************* - Types -*******************************/ -/*------------------- - Star ---------------------*/ -.ui.star.rating .icon { - width: 1.2em; -} -/* Star */ -.ui.star.rating .icon:before { - content: '\f006'; - font-family: 'Icons'; -} -/* Active Star */ -.ui.star.rating .active.icon:before { - content: '\f005'; - font-family: 'Icons'; -} -/*------------------- - Heart ---------------------*/ -.ui.heart.rating .icon { - width: 1.2em; -} -.ui.heart.rating .icon:before { - content: '\f08a'; - font-family: 'Icons'; -} -/* Active */ -.ui.heart.rating .active.icon:before { - content: '\f004'; - font-family: 'Icons'; -} -.ui.heart.rating .active.icon { - color: #EF404A !important; -} -/* Hovered */ -.ui.heart.rating .hover.icon, -.ui.heart.rating .active.hover.icon { - color: #FF2733 !important; -} -/******************************* - States -*******************************/ -/*------------------- - Active ---------------------*/ -/* active rating */ -.ui.active.rating .icon { - cursor: pointer; -} -/* active icons */ -.ui.rating .active.icon { - color: #FFCB08 !important; -} -/*------------------- - Hover ---------------------*/ -/* rating */ -.ui.rating.hover .active.icon { - opacity: 0.5; -} -/* icon */ -.ui.rating .icon.hover, -.ui.rating .icon.hover.active { - opacity: 1; - color: #FFB70A !important; -} -/******************************* - Variations -*******************************/ -.ui.small.rating .icon { - font-size: 0.75rem; -} -.ui.rating .icon { - font-size: 1rem; -} -.ui.large.rating .icon { - font-size: 1.5rem; - vertical-align: middle; -} -.ui.huge.rating .icon { - font-size: 2rem; - vertical-align: middle; -} - -/* - * # Semantic - Reveal - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Reveal -*******************************/ -.ui.reveal { - display: inline-block; - position: relative !important; - z-index: 2 !important; - font-size: 0em !important; -} -.ui.reveal > .content { - font-size: 1em !important; -} -.ui.reveal > .visible.content { - -webkit-transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; - -moz-transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; - -ms-transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; - transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; -} -.ui.reveal > .visible.content { - position: absolute !important; - top: 0em !important; - left: 0em !important; - z-index: 4 !important; - -webkit-transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; - -moz-transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; - -ms-transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; - transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; -} -.ui.reveal > .hidden.content { - position: relative !important; - z-index: 3 !important; -} -/*------------------ - Loose Coupling --------------------*/ -.ui.reveal.button { - overflow: hidden; -} -/******************************* - Types -*******************************/ -/*-------------- - Slide ----------------*/ -.ui.slide.reveal { - position: relative !important; - display: block; - overflow: hidden !important; - white-space: nowrap; -} -.ui.slide.reveal > .content { - display: block; - float: left; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - margin: 0em; - -webkit-transition: top 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, left 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, right 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, bottom 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; - -moz-transition: top 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, left 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, right 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, bottom 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; - -ms-transition: top 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, left 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, right 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, bottom 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; - transition: top 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, left 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, right 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, bottom 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s; -} -.ui.slide.reveal > .visible.content { - position: relative !important; -} -.ui.slide.reveal > .hidden.content { - position: absolute !important; - left: 100% !important; - width: 100% !important; -} -.ui.slide.reveal:hover > .visible.content { - left: -100% !important; -} -.ui.slide.reveal:hover > .hidden.content { - left: 0% !important; -} -.ui.right.slide.reveal > .visible.content { - left: 0%; -} -.ui.right.slide.reveal > .hidden.content { - left: auto !important; - right: 100% !important; -} -.ui.right.slide.reveal:hover > .visible.content { - left: 100% !important; - right: auto !important; -} -.ui.right.slide.reveal:hover > .hidden.content { - left: auto !important; - right: 0% !important; -} -.ui.up.slide.reveal > .visible.content { - top: 0% !important; - left: 0% !important; - right: auto !important; - bottom: auto !important; -} -.ui.up.slide.reveal > .hidden.content { - top: 100% !important; - left: 0% !important; - right: auto !important; - bottom: auto !important; -} -.ui.slide.up.reveal:hover > .visible.content { - top: -100% !important; - left: 0% !important; -} -.ui.slide.up.reveal:hover > .hidden.content { - top: 0% !important; - left: 0% !important; -} -.ui.down.slide.reveal > .visible.content { - top: auto !important; - right: auto !important; - bottom: auto !important; - bottom: 0% !important; -} -.ui.down.slide.reveal > .hidden.content { - top: auto !important; - right: auto !important; - bottom: 100% !important; - left: 0% !important; -} -.ui.slide.down.reveal:hover > .visible.content { - left: 0% !important; - bottom: -100% !important; -} -.ui.slide.down.reveal:hover > .hidden.content { - left: 0% !important; - bottom: 0% !important; -} -/*-------------- - Fade ----------------*/ -.ui.fade.reveal > .visible.content { - opacity: 1; -} -.ui.fade.reveal:hover > .visible.content { - opacity: 0; -} -/*-------------- - Move ----------------*/ -.ui.move.reveal > .visible.content, -.ui.move.left.reveal > .visible.content { - left: auto !important; - top: auto !important; - bottom: auto !important; - right: 0% !important; -} -.ui.move.reveal:hover > .visible.content, -.ui.move.left.reveal:hover > .visible.content { - right: 100% !important; -} -.ui.move.right.reveal > .visible.content { - right: auto !important; - top: auto !important; - bottom: auto !important; - left: 0% !important; -} -.ui.move.right.reveal:hover > .visible.content { - left: 100% !important; -} -.ui.move.up.reveal > .visible.content { - right: auto !important; - left: auto !important; - top: auto !important; - bottom: 0% !important; -} -.ui.move.up.reveal:hover > .visible.content { - bottom: 100% !important; -} -.ui.move.down.reveal > .visible.content { - right: auto !important; - left: auto !important; - top: 0% !important; - bottom: auto !important; -} -.ui.move.down.reveal:hover > .visible.content { - top: 100% !important; -} -/*-------------- - Rotate ----------------*/ -.ui.rotate.reveal > .visible.content { - -webkit-transition-duration: 0.8s; - -moz-transition-duration: 0.8s; - -o-transition-duration: 0.8s; - -ms-transition-duration: 0.8s; - transition-duration: 0.8s; - -webkit-transform: rotate(0deg); - -moz-transform: rotate(0deg); - -o-transform: rotate(0deg); - -ms-transform: rotate(0deg); - transform: rotate(0deg); -} -.ui.rotate.reveal > .visible.content, -.ui.rotate.right.reveal > .visible.content { - -webkit-transform-origin: bottom right; - -moz-transform-origin: bottom right; - -o-transform-origin: bottom right; - -ms-transform-origin: bottom right; - transform-origin: bottom right; -} -.ui.rotate.reveal:hover > .visible.content, -.ui.rotate.right.reveal:hover > .visible.content { - -webkit-transform: rotate(110deg); - -moz-transform: rotate(110deg); - -o-transform: rotate(110deg); - -ms-transform: rotate(110deg); - transform: rotate(110deg); -} -.ui.rotate.left.reveal > .visible.content { - -webkit-transform-origin: bottom left; - -moz-transform-origin: bottom left; - -o-transform-origin: bottom left; - -ms-transform-origin: bottom left; - transform-origin: bottom left; -} -.ui.rotate.left.reveal:hover > .visible.content { - -webkit-transform: rotate(-110deg); - -moz-transform: rotate(-110deg); - -o-transform: rotate(-110deg); - -ms-transform: rotate(-110deg); - transform: rotate(-110deg); -} -/******************************* - States -*******************************/ -.ui.disabled.reveal { - opacity: 1 !important; -} -.ui.disabled.reveal > .content { - -webkit-transition: none !important; - -moz-transition: none !important; - -o-transition: none !important; - -ms-transition: none !important; - transition: none !important; -} -.ui.disabled.reveal:hover > .visible.content { - position: static !important; - display: block !important; - opacity: 1 !important; - top: 0 !important; - left: 0 !important; - right: auto !important; - bottom: auto !important; - transform: none !important; -} -.ui.disabled.reveal:hover > .hidden.content { - display: none !important; -} -/******************************* - Variations -*******************************/ -/*-------------- - Masked ----------------*/ -.ui.masked.reveal { - overflow: hidden; -} -/*-------------- - Instant ----------------*/ -.ui.instant.reveal > .content { - -webkit-transition-delay: 0s !important; - -moz-transition-delay: 0s !important; - -o-transition-delay: 0s !important; - -ms-transition-delay: 0s !important; - transition-delay: 0s !important; -} - -/* - * # Semantic - Search - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Search -*******************************/ -.ui.search { - position: relative; - text-shadow: none; - font-style: normal; - font-weight: normal; -} -.ui.search input { - -webkit-border-radius: 500rem; - -moz-border-radius: 500rem; - border-radius: 500rem; -} -/*-------------- - Button ----------------*/ -.ui.search > .button { - position: relative; - z-index: 2; - float: right; - margin: 0px 0px 0px -15px; - padding: 6px 15px 7px; - -webkit-border-radius: 0px 15px 15px 0px; - -moz-border-radius: 0px 15px 15px 0px; - border-radius: 0px 15px 15px 0px; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -/*-------------- - Results ----------------*/ -.ui.search .results { - display: none; - position: absolute; - z-index: 999; - top: 100%; - left: 0px; - overflow: hidden; - background-color: #FFFFFF; - margin-top: 0.5em; - width: 380px; - font-size: 0.875em; - line-height: 1.2; - color: #555555; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - -webkit-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(0, 0, 0, 0.1) inset; - -moz-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(0, 0, 0, 0.1) inset; -} -.ui.search .result { - cursor: pointer; - overflow: hidden; - padding: 0.5em 1em; -} -.ui.search .result:first-child { - border-top: none; -} -.ui.search .result .image { - background: #F0F0F0; - margin-right: 10px; - float: left; - overflow: hidden; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - width: 38px; - height: 38px; -} -.ui.search .result .image img { - display: block; - width: 38px; - height: 38px; -} -.ui.search .result .image ~ .info { - float: none; - margin-left: 50px; -} -.ui.search .result .info { - float: left; -} -.ui.search .result .title { - font-weight: bold; - color: rgba(0, 0, 0, 0.8); -} -.ui.search .result .description { - color: rgba(0, 0, 0, 0.6); -} -.ui.search .result .price { - float: right; - color: #5BBD72; - font-weight: bold; -} -/*-------------- - Message ----------------*/ -.ui.search .message { - padding: 1em; -} -.ui.search .message .text .title { - margin: 0em 0em 0.5rem; - font-size: 1.25rem; - font-weight: bold; - color: rgba(0, 0, 0, 0.8); -} -.ui.search .message .text .description { - margin: 0em; - font-size: 1rem; - color: rgba(0, 0, 0, 0.5); -} -/*-------------- - Categories ----------------*/ -.ui.search .results .category { - background-color: #FAFAFA; - border-top: 1px solid rgba(0, 0, 0, 0.1); - -webkit-transition: background 0.2s ease-in; - -moz-transition: background 0.2s ease-in; - -o-transition: background 0.2s ease-in; - -ms-transition: background 0.2s ease-in; - transition: background 0.2s ease-in; -} -.ui.search .results .category:first-child { - border-top: none; -} -.ui.search .results .category > .name { - float: left; - padding: 12px 0px 0px 8px; - font-weight: bold; - color: #777777; - text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.8); -} -.ui.search .results .category .result { - background-color: #FFFFFF; - margin-left: 80px; - border-left: 1px solid rgba(0, 0, 0, 0.1); -} -/* View All Results */ -.ui.search .all { - display: block; - border-top: 1px solid rgba(0, 0, 0, 0.1); - background-color: #FAFAFA; - height: 2em; - line-height: 2em; - color: rgba(0, 0, 0, 0.6); - font-weight: bold; - text-align: center; -} -/******************************* - States -*******************************/ -/*-------------- - Hover ----------------*/ -.ui.search .result:hover, -.ui.search .category .result:hover { - background-color: #F8F8F8; -} -.ui.search .all:hover { - background-color: #F0F0F0; -} -/*-------------- - Loading ----------------*/ -.ui.search.loading .input .icon { - background: url(../images/loader-mini.gif) no-repeat 50% 50%; -} -.ui.search.loading .input .icon:before, -.ui.search.loading .input .icon:after { - display: none; -} -/*-------------- - Active ----------------*/ -.ui.search .results .category.active { - background-color: #F1F1F1; -} -.ui.search .results .category.active > .name { - color: #333333; -} -.ui.search .result.active, -.ui.search .category .result.active { - background-color: #FBFBFB; -} -.ui.search .result.active .title { - color: #000000; -} -.ui.search .result.active .description { - color: #555555; -} -/******************************* - Variations -*******************************/ -/* Large */ -.ui.search .large.result .image, -.ui.search .large.result .image img { - width: 50px; - height: 50px; -} -.ui.search .large.results .indented.info { - margin-left: 65px; -} -.ui.search .large.results .info .title { - font-size: 16px; -} -.ui.search .large.results .info .description { - font-size: 11px; -} - -/* - * # Semantic - Shape - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Shape -*******************************/ -.ui.shape { - position: relative; - -webkit-perspective: 2000px; - -moz-perspective: 2000px; - -ms-perspective: 2000px; - perspective: 2000px; -} -.ui.shape .sides { - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.ui.shape .side { - opacity: 1; - width: 100%; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; -} -.ui.shape .side { - display: none; -} -/******************************* - States -*******************************/ -/*-------------- - Animating ----------------*/ -.ui.shape.animating .sides { - position: absolute; -} -.ui.shape .animating.side { - position: absolute; - width: 100%; - top: 0px; - left: 0px; - z-index: 100; -} -.ui.shape .hidden.side { - opacity: 0.4; -} -/*-------------- - CSS ----------------*/ -.ui.shape.css { - -webkit-transition: all 0.6s ease-in-out; - -moz-transition: all 0.6s ease-in-out; - -o-transition: all 0.6s ease-in-out; - -ms-transition: all 0.6s ease-in-out; - transition: all 0.6s ease-in-out; -} -.ui.shape.css .sides { - -webkit-transition: all 0.6s ease-in-out; - -moz-transition: all 0.6s ease-in-out; - -o-transition: all 0.6s ease-in-out; - -ms-transition: all 0.6s ease-in-out; - transition: all 0.6s ease-in-out; -} -.ui.shape.css .side { - -webkit-transition: opacity 0.6s ease-in-out; - -moz-transition: opacity 0.6s ease-in-out; - -o-transition: opacity 0.6s ease-in-out; - -ms-transition: opacity 0.6s ease-in-out; - transition: opacity 0.6s ease-in-out; -} -/*-------------- - Active ----------------*/ -.ui.shape .active.side { - display: block; -} - -/* - * # Semantic - Sidebar - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Sidebar -*******************************/ -body { - -webkit-transition: margin 0.3s ease, -webkit-transform 0.3s ease; - -moz-transition: margin 0.3s ease, -moz-transform 0.3s ease; - -o-transition: margin 0.3s ease, - transform 0.3s ease - ; - -ms-transition: margin 0.3s ease, - transform 0.3s ease - ; - transition: margin 0.3s ease, - transform 0.3s ease - ; -} -.ui.sidebar { - position: fixed; - margin: 0 !important; - width: 275px !important; - height: 100% !important; - -webkit-border-radius: 0px !important; - -moz-border-radius: 0px !important; - border-radius: 0px !important; - -ms-overflow-y: auto; - overflow-y: auto; - top: 0px; - left: 0px; - z-index: 999; - -webkit-transition: margin-left 0.3s ease, margin-top 0.3s ease; - -moz-transition: margin-left 0.3s ease, margin-top 0.3s ease; - -o-transition: margin-left 0.3s ease, margin-top 0.3s ease; - -ms-transition: margin-left 0.3s ease, margin-top 0.3s ease; - transition: margin-left 0.3s ease, margin-top 0.3s ease; -} -/******************************* - Types -*******************************/ -.ui.sidebar { - margin-left: -275px !important; -} -.ui.right.sidebar { - left: 100%; - margin: 0px !important; -} -.ui.top.sidebar { - margin: -40px 0px 0px 0px !important; - width: 100% !important; - height: 40px !important; -} -.ui.bottom.sidebar { - width: 100% !important; - height: 40px !important; - top: 100%; - margin: 0px !important; -} -/******************************* - States -*******************************/ -.ui.active.sidebar { - margin-left: 0px !important; -} -.ui.active.right.sidebar { - margin-left: -275px !important; -} -.ui.active.top.sidebar { - margin-top: 0px !important; -} -.ui.active.bottom.sidebar { - margin-top: -40px !important; -} -/******************************* - Variations -*******************************/ -.ui.floating.sidebar { - -webkit-box-shadow: 3px 0px 3px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 3px 0px 3px rgba(0, 0, 0, 0.2); - box-shadow: 3px 0px 3px rgba(0, 0, 0, 0.2); -} -.ui.right.floating.sidebar { - -webkit-box-shadow: -3px 0px 3px rgba(0, 0, 0, 0.2); - -moz-box-shadow: -3px 0px 3px rgba(0, 0, 0, 0.2); - box-shadow: -3px 0px 3px rgba(0, 0, 0, 0.2); -} -.ui.top.floating.sidebar { - -webkit-box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.2); - box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.2); -} -.ui.bottom.floating.sidebar { - -webkit-box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.2); - box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.2); -} - -/* - * # Semantic - Tab - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - UI Tabs -*******************************/ -.ui.tab { - display: none; -} -/******************************* - States -*******************************/ -/*-------------------- - Active ----------------------*/ -.ui.tab.active, -.ui.tab.open { - display: block; -} -/*-------------------- - Loading ----------------------*/ -.ui.tab.loading { - position: relative; - overflow: hidden; - display: block; - min-height: 250px; - text-indent: -10000px; -} -.ui.tab.loading * { - position: relative !important; - left: -10000px !important; -} -.ui.tab.loading:after { - position: absolute; - top: 50px; - left: 50%; - content: 'Loading...'; - margin-left: -32px; - text-indent: 5px; - color: rgba(0, 0, 0, 0.4); - width: 100%; - height: 100%; - padding-top: 75px; - background: url(../images/loader-large.gif) no-repeat 0px 0px; - visibility: visible; -} - -/******************************* - Semantic - Transition - Author: Jack Lukic - - CSS animation definitions for - transition module - -*******************************/ -/* - Some transitions adapted from Animate CSS - https://github.com/daneden/animate.css -*/ -.ui.transition { - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - -o-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-animation-iteration-count: 1; - -moz-animation-iteration-count: 1; - -ms-animation-iteration-count: 1; - -o-animation-iteration-count: 1; - animation-iteration-count: 1; - -webkit-animation-duration: 1s; - -moz-animation-duration: 1s; - -ms-animation-duration: 1s; - -o-animation-duration: 1s; - animation-duration: 1s; - animation-timing-function: ease; - -webkit-animation-timing-function: ease; - -webkit-animation-fill-mode: both; - -moz-animation-fill-mode: both; - -ms-animation-fill-mode: both; - -o-animation-fill-mode: both; - animation-fill-mode: both; - -webkit-transform: translateZ(0); - -moz-transform: translateZ(0); - -ms-transform: translateZ(0); - -o-transform: translateZ(0); - transform: translateZ(0); -} -/******************************* - States -*******************************/ -/* Loading */ -.ui.loading.transition { - position: absolute; - top: -999999px; - left: -99999px; -} -/* Hidden */ -.ui.hidden.transition { - display: none; -} -/* Visible */ -.ui.visible.transition { - display: block; - visibility: visible; -} -/* Disabled */ -.ui.disabled.transition { - -webkit-animation-play-state: paused; - -moz-animation-play-state: paused; - -ms-animation-play-state: paused; - -o-animation-play-state: paused; - animation-play-state: paused; -} -/******************************* - Variations -*******************************/ -.ui.looping.transition { - -webkit-animation-iteration-count: infinite; - -moz-animation-iteration-count: infinite; - -ms-animation-iteration-count: infinite; - -o-animation-iteration-count: infinite; - animation-iteration-count: infinite; -} -/******************************* - Types -*******************************/ -/*-------------- - Emphasis ----------------*/ -.ui.flash.transition { - -webkit-animation-name: flash; - -moz-animation-name: flash; - -o-animation-name: flash; - animation-name: flash; -} -.ui.shake.transition { - -webkit-animation-name: shake; - -moz-animation-name: shake; - -o-animation-name: shake; - animation-name: shake; -} -.ui.bounce.transition { - -webkit-animation-name: bounce; - -moz-animation-name: bounce; - -o-animation-name: bounce; - animation-name: bounce; -} -.ui.tada.transition { - -webkit-animation-name: tada; - -moz-animation-name: tada; - -o-animation-name: tada; - animation-name: tada; -} -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ -.ui.pulse.transition { - -webkit-animation-name: pulse; - -moz-animation-name: pulse; - -o-animation-name: pulse; - animation-name: pulse; -} -/*-------------- - Flips ----------------*/ -.ui.flip.transition.in, -.ui.flip.transition.out { - -webkit-perspective: 2000px; - perspective: 2000px; -} -.ui.horizontal.flip.transition.in, -.ui.horizontal.flip.transition.out { - -webkit-animation-name: horizontalFlip; - -moz-animation-name: horizontalFlip; - -o-animation-name: horizontalFlip; - animation-name: horizontalFlip; -} -.ui.horizontal.flip.transition.out { - -webkit-animation-name: horizontalFlipOut; - -moz-animation-name: horizontalFlipOut; - -o-animation-name: horizontalFlipOut; - animation-name: horizontalFlipOut; -} -.ui.vertical.flip.transition.in, -.ui.vertical.flip.transition.out { - -webkit-animation-name: verticalFlip; - -moz-animation-name: verticalFlip; - -o-animation-name: verticalFlip; - animation-name: verticalFlip; -} -.ui.vertical.flip.transition.out { - -webkit-animation-name: verticalFlipOut; - -moz-animation-name: verticalFlipOut; - -o-animation-name: verticalFlipOut; - animation-name: verticalFlipOut; -} -/*-------------- - Fades ----------------*/ -.ui.fade.transition.in { - -webkit-animation-name: fade; - -moz-animation-name: fade; - -o-animation-name: fade; - animation-name: fade; -} -.ui.fade.transition.out { - -webkit-animation-name: fadeOut; - -moz-animation-name: fadeOut; - -o-animation-name: fadeOut; - animation-name: fadeOut; -} -.ui.fade.up.transition.in { - -webkit-animation-name: fadeUp; - -moz-animation-name: fadeUp; - -o-animation-name: fadeUp; - animation-name: fadeUp; -} -.ui.fade.up.transition.out { - -webkit-animation-name: fadeUpOut; - -moz-animation-name: fadeUpOut; - -o-animation-name: fadeUpOut; - animation-name: fadeUpOut; -} -.ui.fade.down.transition.in { - -webkit-animation-name: fadeDown; - -moz-animation-name: fadeDown; - -o-animation-name: fadeDown; - animation-name: fadeDown; -} -.ui.fade.down.transition.out { - -webkit-animation-name: fadeDownOut; - -moz-animation-name: fadeDownOut; - -o-animation-name: fadeDownOut; - animation-name: fadeDownOut; -} -/*-------------- - Scale ----------------*/ -.ui.scale.transition.in { - -webkit-animation-name: scale; - -moz-animation-name: scale; - -o-animation-name: scale; - animation-name: scale; -} -.ui.scale.transition.out { - -webkit-animation-name: scaleOut; - -moz-animation-name: scaleOut; - -o-animation-name: scaleOut; - animation-name: scaleOut; -} -/*-------------- - Slide ----------------*/ -.ui.slide.down.transition.in { - -webkit-animation-name: slide; - -moz-animation-name: slide; - -o-animation-name: slide; - animation-name: slide; - transform-origin: 50% 0%; - -ms-transform-origin: 50% 0%; - -webkit-transform-origin: 50% 0%; -} -.ui.slide.down.transition.out { - -webkit-animation-name: slideOut; - -moz-animation-name: slideOut; - -o-animation-name: slideOut; - animation-name: slideOut; - transform-origin: 50% 0%; - -ms-transform-origin: 50% 0%; - -webkit-transform-origin: 50% 0%; -} -.ui.slide.up.transition.in { - -webkit-animation-name: slide; - -moz-animation-name: slide; - -o-animation-name: slide; - animation-name: slide; - transform-origin: 50% 100%; - -ms-transform-origin: 50% 100%; - -webkit-transform-origin: 50% 100%; -} -.ui.slide.up.transition.out { - -webkit-animation-name: slideOut; - -moz-animation-name: slideOut; - -o-animation-name: slideOut; - animation-name: slideOut; - transform-origin: 50% 100%; - -ms-transform-origin: 50% 100%; - -webkit-transform-origin: 50% 100%; -} -@-moz-keyframes slide { - 0% { - opacity: 0; - -moz-transform: scaleY(0); - } - 100% { - opacity: 1; - -moz-transform: scaleY(1); - } -} -@-webkit-keyframes slide { - 0% { - opacity: 0; - -webkit-transform: scaleY(0); - } - 100% { - opacity: 1; - -webkit-transform: scaleY(1); - } -} -@keyframes slide { - 0% { - opacity: 0; - transform: scaleY(0); - } - 100% { - opacity: 1; - transform: scaleY(1); - } -} -@-moz-keyframes slideOut { - 0% { - opacity: 1; - -moz-transform: scaleY(1); - } - 100% { - opacity: 0; - -moz-transform: scaleY(0); - } -} -@-webkit-keyframes slideOut { - 0% { - opacity: 1; - -webkit-transform: scaleY(1); - } - 100% { - opacity: 0; - -webkit-transform: scaleY(0); - } -} -@keyframes slideOut { - 0% { - opacity: 1; - transform: scaleY(1); - } - 100% { - opacity: 0; - transform: scaleY(0); - } -} -/******************************* - Animations -*******************************/ -/*-------------- - Emphasis ----------------*/ -/* Flash */ -@-webkit-keyframes flash { - 0%, - 50%, - 100% { - opacity: 1; - } - 25%, - 75% { - opacity: 0; - } -} -@-moz-keyframes flash { - 0%, - 50%, - 100% { - opacity: 1; - } - 25%, - 75% { - opacity: 0; - } -} -@-o-keyframes flash { - 0%, - 50%, - 100% { - opacity: 1; - } - 25%, - 75% { - opacity: 0; - } -} -@keyframes flash { - 0%, - 50%, - 100% { - opacity: 1; - } - 25%, - 75% { - opacity: 0; - } -} -/* Shake */ -@-webkit-keyframes shake { - 0%, - 100% { - -webkit-transform: translateX(0); - } - 10%, - 30%, - 50%, - 70%, - 90% { - -webkit-transform: translateX(-10px); - } - 20%, - 40%, - 60%, - 80% { - -webkit-transform: translateX(10px); - } -} -@-moz-keyframes shake { - 0%, - 100% { - -moz-transform: translateX(0); - } - 10%, - 30%, - 50%, - 70%, - 90% { - -moz-transform: translateX(-10px); - } - 20%, - 40%, - 60%, - 80% { - -moz-transform: translateX(10px); - } -} -@-o-keyframes shake { - 0%, - 100% { - -o-transform: translateX(0); - } - 10%, - 30%, - 50%, - 70%, - 90% { - -o-transform: translateX(-10px); - } - 20%, - 40%, - 60%, - 80% { - -o-transform: translateX(10px); - } -} -@keyframes shake { - 0%, - 100% { - transform: translateX(0); - } - 10%, - 30%, - 50%, - 70%, - 90% { - transform: translateX(-10px); - } - 20%, - 40%, - 60%, - 80% { - transform: translateX(10px); - } -} -/* Bounce */ -@-webkit-keyframes bounce { - 0%, - 20%, - 50%, - 80%, - 100% { - -webkit-transform: translateY(0); - } - 40% { - -webkit-transform: translateY(-30px); - } - 60% { - -webkit-transform: translateY(-15px); - } -} -@-moz-keyframes bounce { - 0%, - 20%, - 50%, - 80%, - 100% { - -moz-transform: translateY(0); - } - 40% { - -moz-transform: translateY(-30px); - } - 60% { - -moz-transform: translateY(-15px); - } -} -@-o-keyframes bounce { - 0%, - 20%, - 50%, - 80%, - 100% { - -o-transform: translateY(0); - } - 40% { - -o-transform: translateY(-30px); - } - 60% { - -o-transform: translateY(-15px); - } -} -@keyframes bounce { - 0%, - 20%, - 50%, - 80%, - 100% { - transform: translateY(0); - } - 40% { - transform: translateY(-30px); - } - 60% { - transform: translateY(-15px); - } -} -/* Tada */ -@-webkit-keyframes tada { - 0% { - -webkit-transform: scale(1); - } - 10%, - 20% { - -webkit-transform: scale(0.9) rotate(-3deg); - } - 30%, - 50%, - 70%, - 90% { - -webkit-transform: scale(1.1) rotate(3deg); - } - 40%, - 60%, - 80% { - -webkit-transform: scale(1.1) rotate(-3deg); - } - 100% { - -webkit-transform: scale(1) rotate(0); - } -} -@-moz-keyframes tada { - 0% { - -moz-transform: scale(1); - } - 10%, - 20% { - -moz-transform: scale(0.9) rotate(-3deg); - } - 30%, - 50%, - 70%, - 90% { - -moz-transform: scale(1.1) rotate(3deg); - } - 40%, - 60%, - 80% { - -moz-transform: scale(1.1) rotate(-3deg); - } - 100% { - -moz-transform: scale(1) rotate(0); - } -} -@-o-keyframes tada { - 0% { - -o-transform: scale(1); - } - 10%, - 20% { - -o-transform: scale(0.9) rotate(-3deg); - } - 30%, - 50%, - 70%, - 90% { - -o-transform: scale(1.1) rotate(3deg); - } - 40%, - 60%, - 80% { - -o-transform: scale(1.1) rotate(-3deg); - } - 100% { - -o-transform: scale(1) rotate(0); - } -} -@keyframes tada { - 0% { - transform: scale(1); - } - 10%, - 20% { - transform: scale(0.9) rotate(-3deg); - } - 30%, - 50%, - 70%, - 90% { - transform: scale(1.1) rotate(3deg); - } - 40%, - 60%, - 80% { - transform: scale(1.1) rotate(-3deg); - } - 100% { - transform: scale(1) rotate(0); - } -} -@-webkit-keyframes pulse { - 0% { - -webkit-transform: scale(1); - opacity: 1; - } - 50% { - -webkit-transform: scale(0.9); - opacity: 0.7; - } - 100% { - -webkit-transform: scale(1); - opacity: 1; - } -} -@-o-keyframes pulse { - 0% { - -o-transform: scale(1); - opacity: 1; - } - 50% { - -o-transform: scale(0.9); - opacity: 0.7; - } - 100% { - -o-transform: scale(1); - opacity: 1; - } -} -@-moz-keyframes pulse { - 0% { - -moz-transform: scale(1); - opacity: 1; - } - 50% { - -moz-transform: scale(0.9); - opacity: 0.7; - } - 100% { - -moz-transform: scale(1); - opacity: 1; - } -} -@keyframes pulse { - 0% { - transform: scale(1); - opacity: 1; - } - 50% { - transform: scale(0.9); - opacity: 0.7; - } - 100% { - transform: scale(1); - opacity: 1; - } -} -/*-------------- - Flips ----------------*/ -/* Horizontal */ -@-webkit-keyframes horizontalFlip { - 0% { - -webkit-transform: rotateY(-90deg); - opacity: 0; - } - 100% { - -webkit-transform: rotateY(0deg); - opacity: 1; - } -} -@-moz-keyframes horizontalFlip { - 0% { - -moz-transform: rotateY(-90deg); - opacity: 0; - } - 100% { - -moz-transform: rotateY(0deg); - opacity: 1; - } -} -@-o-keyframes horizontalFlip { - 0% { - -o-transform: rotateY(-90deg); - opacity: 0; - } - 100% { - -o-transform: rotateY(0deg); - opacity: 1; - } -} -@keyframes horizontalFlip { - 0% { - transform: rotateY(-90deg); - opacity: 0; - } - 100% { - transform: rotateY(0deg); - opacity: 1; - } -} -/* Horizontal */ -@-webkit-keyframes horizontalFlipOut { - 0% { - -webkit-transform: rotateY(0deg); - opacity: 0; - } - 100% { - -webkit-transform: rotateY(90deg); - opacity: 1; - } -} -@-moz-keyframes horizontalFlipOut { - 0% { - -moz-transform: rotateY(0deg); - opacity: 0; - } - 100% { - -moz-transform: rotateY(90deg); - opacity: 1; - } -} -@-o-keyframes horizontalFlipOut { - 0% { - -o-transform: rotateY(0deg); - opacity: 0; - } - 100% { - -o-transform: rotateY(90deg); - opacity: 1; - } -} -@keyframes horizontalFlipOut { - 0% { - transform: rotateY(0deg); - opacity: 0; - } - 100% { - transform: rotateY(90deg); - opacity: 1; - } -} -/* Vertical */ -@-webkit-keyframes verticalFlip { - 0% { - -webkit-transform: rotateX(-90deg); - opacity: 0; - } - 100% { - -webkit-transform: rotateX(0deg); - opacity: 1; - } -} -@-moz-keyframes verticalFlip { - 0% { - -moz-transform: rotateX(-90deg); - opacity: 0; - } - 100% { - -moz-transform: rotateX(0deg); - opacity: 1; - } -} -@-o-keyframes verticalFlip { - 0% { - -o-transform: rotateX(-90deg); - opacity: 0; - } - 100% { - -o-transform: rotateX(0deg); - opacity: 1; - } -} -@keyframes verticalFlip { - 0% { - transform: rotateX(-90deg); - opacity: 0; - } - 100% { - transform: rotateX(0deg); - opacity: 1; - } -} -@-webkit-keyframes verticalFlipOut { - 0% { - -webkit-transform: rotateX(0deg); - opacity: 1; - } - 100% { - -webkit-transform: rotateX(-90deg); - opacity: 0; - } -} -@-moz-keyframes verticalFlipOut { - 0% { - -moz-transform: rotateX(0deg); - opacity: 1; - } - 100% { - -moz-transform: rotateX(-90deg); - opacity: 0; - } -} -@-o-keyframes verticalFlipOut { - 0% { - -o-transform: rotateX(0deg); - opacity: 1; - } - 100% { - -o-transform: rotateX(-90deg); - opacity: 0; - } -} -@keyframes verticalFlipOut { - 0% { - transform: rotateX(0deg); - opacity: 1; - } - 100% { - transform: rotateX(-90deg); - opacity: 0; - } -} -/*-------------- - Fades ----------------*/ -/* Fade */ -@-webkit-keyframes fade { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@-moz-keyframes fade { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@-o-keyframes fade { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes fade { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@-webkit-keyframes fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@-moz-keyframes fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@-o-keyframes fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@keyframes fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -/* Fade Up */ -@-webkit-keyframes fadeUp { - 0% { - opacity: 0; - -webkit-transform: translateY(20px); - } - 100% { - opacity: 1; - -webkit-transform: translateY(0); - } -} -@-moz-keyframes fadeUp { - 0% { - opacity: 0; - -moz-transform: translateY(20px); - } - 100% { - opacity: 1; - -moz-transform: translateY(0); - } -} -@-o-keyframes fadeUp { - 0% { - opacity: 0; - -o-transform: translateY(20px); - } - 100% { - opacity: 1; - -o-transform: translateY(0); - } -} -@keyframes fadeUp { - 0% { - opacity: 0; - transform: translateY(20px); - } - 100% { - opacity: 1; - transform: translateY(0); - } -} -@-webkit-keyframes fadeUpOut { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - } - 100% { - opacity: 0; - -webkit-transform: translateY(20px); - } -} -@-moz-keyframes fadeUpOut { - 0% { - opacity: 1; - -moz-transform: translateY(0); - } - 100% { - opacity: 0; - -moz-transform: translateY(20px); - } -} -@-o-keyframes fadeUpOut { - 0% { - opacity: 1; - -o-transform: translateY(0); - } - 100% { - opacity: 0; - -o-transform: translateY(20px); - } -} -@keyframes fadeUpOut { - 0% { - opacity: 1; - transform: translateY(0); - } - 100% { - opacity: 0; - transform: translateY(20px); - } -} -/* Fade Down */ -@-webkit-keyframes fadeDown { - 0% { - opacity: 0; - -webkit-transform: translateY(-20px); - } - 100% { - opacity: 1; - -webkit-transform: translateY(0); - } -} -@-moz-keyframes fadeDown { - 0% { - opacity: 0; - -moz-transform: translateY(-20px); - } - 100% { - opacity: 1; - -moz-transform: translateY(0); - } -} -@-o-keyframes fadeDown { - 0% { - opacity: 0; - -o-transform: translateY(-20px); - } - 100% { - opacity: 1; - -o-transform: translateY(0); - } -} -@keyframes fadeDown { - 0% { - opacity: 0; - transform: translateY(-20px); - } - 100% { - opacity: 1; - transform: translateY(0); - } -} -@-webkit-keyframes fadeDownOut { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - } - 100% { - opacity: 0; - -webkit-transform: translateY(-20px); - } -} -@-moz-keyframes fadeDownOut { - 0% { - opacity: 1; - -moz-transform: translateY(0); - } - 100% { - opacity: 0; - -moz-transform: translateY(-20px); - } -} -@-o-keyframes fadeDownOut { - 0% { - opacity: 1; - -o-transform: translateY(0); - } - 100% { - opacity: 0; - -o-transform: translateY(-20px); - } -} -@keyframes fadeDownOut { - 0% { - opacity: 1; - transform: translateY(0); - } - 100% { - opacity: 0; - transform: translateY(-20px); - } -} -/*-------------- - Scale ----------------*/ -/* Scale */ -@-webkit-keyframes scale { - 0% { - opacity: 0; - -webkit-transform: scale(0.7); - } - 100% { - opacity: 1; - -webkit-transform: scale(1); - } -} -@-moz-keyframes scale { - 0% { - opacity: 0; - -moz-transform: scale(0.7); - } - 100% { - opacity: 1; - -moz-transform: scale(1); - } -} -@-o-keyframes scale { - 0% { - opacity: 0; - -o-transform: scale(0.7); - } - 100% { - opacity: 1; - -o-transform: scale(1); - } -} -@keyframes scale { - 0% { - opacity: 0; - transform: scale(0.7); - } - 100% { - opacity: 1; - transform: scale(1); - } -} -@-webkit-keyframes scaleOut { - 0% { - opacity: 1; - -webkit-transform: scale(1); - } - 100% { - opacity: 0; - -webkit-transform: scale(0.7); - } -} -@-moz-keyframes scaleOut { - 0% { - opacity: 1; - -moz-transform: scale(1); - } - 100% { - opacity: 0; - -moz-transform: scale(0.7); - } -} -@-o-keyframes scaleOut { - 0% { - opacity: 1; - -o-transform: scale(1); - } - 100% { - opacity: 0; - -o-transform: scale(0.7); - } -} -@keyframes scaleOut { - 0% { - opacity: 1; - transform: scale(1); - } - 100% { - opacity: 0; - transform: scale(0.7); - } -} - -/* - * # Semantic - Video - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Video -*******************************/ -.ui.video { - position: relative; - max-width: 100%; -} -/*-------------- - Content ----------------*/ -/* Placeholder Image */ -.ui.video .placeholder { - background-color: #333333; -} -/* Play Icon Overlay */ -.ui.video .play { - cursor: pointer; - position: absolute; - top: 0px; - left: 0px; - z-index: 10; - width: 100%; - height: 100%; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; - filter: alpha(opacity=60); - opacity: 0.6; - -webkit-transition: opacity 0.3s; - -moz-transition: opacity 0.3s; - -o-transition: opacity 0.3s; - -ms-transition: opacity 0.3s; - transition: opacity 0.3s; -} -.ui.video .play.icon:before { - position: absolute; - top: 50%; - left: 50%; - z-index: 11; - font-size: 6rem; - margin: -3rem 0em 0em -3rem; - color: #FFFFFF; - text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.4); -} -.ui.video .placeholder { - display: block; - width: 100%; - height: 100%; -} -/* IFrame Embed */ -.ui.video .embed { - display: none; -} -/******************************* - States -*******************************/ -/*-------------- - Hover ----------------*/ -.ui.video .play:hover { - opacity: 1; -} -/*-------------- - Active ----------------*/ -.ui.video.active .play, -.ui.video.active .placeholder { - display: none; -} -.ui.video.active .embed { - display: block; -} - -/* - * # Semantic Comment View - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - * Released: April 17 2013 - */ -/******************************* - Standard -*******************************/ -/*-------------- - Comments ----------------*/ -.ui.comments a { - cursor: pointer; -} -/*-------------- - Comment ----------------*/ -.ui.comments .comment { - position: relative; - margin-top: 0.5em; - padding-top: 0.5em; -} -.ui.comments .comment:first-child { - margin-top: 0em; - padding-top: 0em; -} -/*-------------------- - Avatar (Optional) ----------------------*/ -.ui.comments .comment .avatar { - display: block; - float: left; - width: 4em; -} -.ui.comments .comment .avatar img { - display: block; - margin: 0em auto; - width: 3em; - height: 3em; - border-radius: 500px; -} -/*-------------- - Content ----------------*/ -.ui.comments .comment > .content, -.ui.comments .comment > .avatar { - display: block; -} -.ui.comments .comment .avatar ~ .content { - padding: 0em 1em; -} -/* If there is an avatar move content over */ -.ui.comments .comment > .avatar ~ .content { - padding-top: 0.25em; - margin-left: 3.5em; -} -.ui.comments .comment .metadata { - display: inline-block; - margin-left: 0.3em; - color: rgba(0, 0, 0, 0.4); -} -.ui.comments .comment .metadata > * { - display: inline-block; - margin: 0em 0.3em 0em 0em; -} -/*-------------------- - Comment Text ----------------------*/ -.ui.comments .comment .text { - margin: 0.25em 0em 0.5em; - word-wrap: break-word; -} -/*-------------------- - User Actions ----------------------*/ -.ui.comments .comment .actions { - font-size: 0.9em; -} -.ui.comments .comment .actions a { - display: inline-block; - margin: 0em 0.3em 0em 0em; - color: rgba(0, 0, 0, 0.3); -} -.ui.comments .comment .actions a.active, -.ui.comments .comment .actions a:hover { - color: rgba(0, 0, 0, 0.6); -} -/*-------------------- - Reply Form ----------------------*/ -.ui.comments .reply.form { - margin-top: 0.75em; - width: 100%; - max-width: 30em; -} -.ui.comments .comment .reply.form { - margin-left: 2em; -} -.ui.comments > .reply.form { - margin-top: 1.5em; - max-width: 40em; -} -.ui.comments .reply.form textarea { - height: 12em; -} -/*-------------------- - Nested Comments ----------------------*/ -.ui.comments .comment .comments { - margin-top: 0.5em; - padding-top: 0.5em; - padding-bottom: 1em; -} -.ui.comments .comment .comments:before { - position: absolute; - top: 0px; - left: 0px; -} -/* One Deep */ -.ui.comments > .comment .comments { - margin-left: 2em; -} -/* Two Deep */ -.ui.comments > .comment > .comments > .comment > .comments { - margin-left: 1.75em; -} -/* Three Deep */ -.ui.comments > .comment > .comments > .comment > .comments > .comment > .comments { - margin-left: 1.5em; -} -/* Four Deep or more */ -.ui.comments > .comment > .comments > .comment > .comments > .comment > .comments > .comment .comments { - margin-left: 0.5em; -} -/******************************* - Variations -*******************************/ -/*-------------------- - Threaded ----------------------*/ -.ui.threaded.comments .comment .comments { - margin-left: 2em !important; - padding-left: 2em !important; - -webkit-box-shadow: -1px 0px 0px rgba(0, 0, 0, 0.05); - -moz-box-shadow: -1px 0px 0px rgba(0, 0, 0, 0.05); - box-shadow: -1px 0px 0px rgba(0, 0, 0, 0.05); -} -/*-------------------- - Minimal ----------------------*/ -.ui.minimal.comments .comment .actions { - opacity: 0; - -webkit-transition: opacity 0.1s ease-out; - -moz-transition: opacity 0.1s ease-out; - -o-transition: opacity 0.1s ease-out; - -ms-transition: opacity 0.1s ease-out; - transition: opacity 0.1s ease-out; - -webkit-transition-delay: 0.1s; - -moz-transition-delay: 0.1s; - -o-transition-delay: 0.1s; - -ms-transition-delay: 0.1s; - transition-delay: 0.1s; -} -.ui.minimal.comments .comment > .content:hover > .actions { - opacity: 1; -} -/*-------------------- - Sizes ----------------------*/ -.ui.small.comments { - font-size: 0.875em; -} - -/* - * # Activity Feed View - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - * Released: May 22, 2013 - */ -/******************************* - Activity Feed -*******************************/ -.ui.feed a { - cursor: pointer; -} -.ui.feed, -.ui.feed .event, -.ui.feed .label, -.ui.feed .content, -.ui.feed .extra { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -/******************************* - Content -*******************************/ -/* Event */ -.ui.feed .event { - width: 100%; - display: table; - padding: 1em; -} -.ui.feed .event:first-child { - border-top: 0px; -} -.ui.feed .event:last-child { - margin-bottom: 1em; -} -/* Event Label */ -.ui.feed .label { - width: 3em; - display: table-cell; - vertical-align: top; - text-align: left; -} -.ui.feed .label .icon { - font-size: 1.5em; - padding: 0.5em; - margin: 0em; -} -.ui.feed .label img { - width: 3em; - margin: 0em; - border-radius: 50em; -} -.ui.feed .label + .content { - padding: 0.75em 1em 0em; -} -/* Content */ -.ui.feed .content { - display: table-cell; - vertical-align: top; - text-align: left; - word-wrap: break-word; -} -/* Date */ -.ui.feed .content .date { - float: right; - padding-left: 1em; - color: rgba(0, 0, 0, 0.4); -} -/* Summary */ -.ui.feed .content .summary { - color: rgba(0, 0, 0, 0.75); -} -.ui.feed .content .summary img { - display: inline-block; - margin-right: 0.25em; - width: 4em; - border-radius: 500px; -} -/* Additional Information */ -.ui.feed .content .extra { - margin: 1em 0em 0em; - padding: 0.5em 0em 0em; - color: rgba(0, 0, 0, 0.5); -} -.ui.feed .content .extra.images img { - display: inline-block; - margin-right: 0.25em; - width: 6em; -} -.ui.feed .content .extra.text { - padding: 0.5em 1em; - border-left: 0.2em solid rgba(0, 0, 0, 0.1); -} -/******************************* - Variations -*******************************/ -.ui.small.feed { - font-size: 0.875em; -} -.ui.small.feed .label img { - width: 2.5em; -} -.ui.small.feed .label .icon { - font-size: 1.25em; -} -.ui.feed .event { - padding: 0.75em 0em; -} -.ui.small.feed .label + .content { - padding: 0.5em 0.5em 0; -} -.ui.small.feed .content .extra.images img { - width: 5em; -} -.ui.small.feed .content .extra { - margin: 0.5em 0em 0em; -} -.ui.small.feed .content .extra.text { - padding: 0.25em 0.5em; -} - -/* - * # Semantic Item View - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - * Released: April 17 2013 - */ -/******************************* - Standard -*******************************/ -/*-------------- - Items ----------------*/ -.ui.items { - margin: 1em 0em 0em; -} -.ui.items:first-child { - margin-top: 0em; -} -.ui.items:last-child { - margin-bottom: -1em; -} -/* Force Clearing */ -.ui.items:after { - display: block; - content: ' '; - height: 0px; - clear: both; - overflow: hidden; - visibility: hidden; -} -/*-------------- - Item ----------------*/ -.ui.items > .row > .item, -.ui.items > .item { - display: block; - float: left; - position: relative; - top: 0px; - width: 316px; - min-height: 375px; - margin: 0em 0.5em 2.5em; - padding: 0em; - background-color: #FFFFFF; - line-height: 1.2; - font-size: 1em; - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); - border-bottom: 0.2em solid rgba(0, 0, 0, 0.2); - -moz-border-radius: 0.33em; - -webkit-border-radius: 0.33em; - border-radius: 0.33em; - -webkit-transition: box-shadow 0.2s ease; - -moz-transition: box-shadow 0.2s ease; - -o-transition: box-shadow 0.2s ease; - -ms-transition: box-shadow 0.2s ease; - transition: box-shadow 0.2s ease; - padding: 0.5em; -} -.ui.items a.item, -.ui.items .item a { - cursor: pointer; -} -.ui.items .item, -.ui.items .item > .image, -.ui.items .item > .image .overlay, -.ui.items .item > .content, -.ui.items .item > .content > .meta, -.ui.items .item > .content > .extra { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -/*-------------- - Images ----------------*/ -.ui.items .item > .image { - display: block; - position: relative; - background-color: rgba(0, 0, 0, 0.05); - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - -webkit-border-radius: 0.2em; - -moz-border-radius: 0.2em; - border-radius: 0.2em; -} -.ui.items .item > .image > img { - display: block; - width: 100%; -} -/*-------------- - Content ----------------*/ -.ui.items .item > .content { - padding: 0.75em 0.5em; -} -.ui.items .item > .content > .name { - display: block; - font-size: 1.25em; - font-weight: bold; - margin-bottom: 0.2em; - color: rgba(0, 0, 0, 0.7); -} -.ui.items .item > .content > .description { - clear: both; - margin: 0em 0em; - color: rgba(0, 0, 0, 0.45); -} -.ui.items .item > .content > .description p { - margin: 0em 0em 0.2em; -} -.ui.items .item > .content > .description p:last-child { - margin-bottom: 0em; -} -/*-------------- - Meta ----------------*/ -.ui.items .item .meta { - float: right; - color: rgba(0, 0, 0, 0.35); -} -.ui.items .item > .content > .meta + .name { - float: left; -} -/*-------------- - Labels ----------------*/ -/*-----star----- */ -/* hover */ -.ui.items .item .star.label:hover::after { - border-right-color: #F6EFC3; -} -.ui.items .item .star.label:hover::after { - border-top-color: #F6EFC3; -} -.ui.items .item .star.label:hover .icon { - color: #ac9400; -} -/* active */ -.ui.items .item .star.label.active::after { - border-right-color: #F6EFC3; -} -.ui.items .item .star.label.active::after { - border-top-color: #F6EFC3; -} -.ui.items .item .star.label.active .icon { - color: #ac9400; -} -/*-----like----- */ -/* hover */ -.ui.items .item .like.label:hover::after { - border-right-color: #F5E1E2; -} -.ui.items .item .like.label.active::after { - border-top-color: #F5E1E2; -} -.ui.items .item .like.label:hover .icon { - color: #ef404a; -} -/* active */ -.ui.items .item .like.label.active::after { - border-right-color: #F5E1E2; -} -.ui.items .item .like.label.active::after { - border-top-color: #F5E1E2; -} -.ui.items .item .like.label.active .icon { - color: #ef404a; -} -/*-------------- - Extra ----------------*/ -.ui.items .item .extra { - position: absolute; - width: 100%; - padding: 0em 0.5em; - bottom: -2em; - left: 0em; - height: 1.5em; - color: rgba(0, 0, 0, 0.25); - -webkit-transition: color 0.2s ease; - -moz-transition: color 0.2s ease; - -o-transition: color 0.2s ease; - -ms-transition: color 0.2s ease; - transition: color 0.2s ease; -} -.ui.items .item .extra > img { - display: inline-block; - border-radius: 500px 500px 500px 500px; - margin-right: 0.25em; - vertical-align: middle; - width: 2em; -} -.ui.items .item .extra .left { - float: left; -} -.ui.items .item .extra .right { - float: right; -} -/******************************* - States -*******************************/ -.ui.items .item:hover { - cursor: pointer; - z-index: 5; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2); -} -.ui.items .item:hover .extra { - color: rgba(0, 0, 0, 0.5); -} -.ui.items .item:nth-of-type(n+1):hover { - border-bottom-color: #6ECFF5 !important; -} -.ui.items .item:nth-of-type(n+2):hover { - border-bottom-color: #5C6166 !important; -} -.ui.items .item:nth-of-type(n+3):hover { - border-bottom-color: #A1CF64 !important; -} -.ui.items .item:nth-of-type(n+4):hover { - border-bottom-color: #D95C5C !important; -} -.ui.items .item:nth-of-type(n+5):hover { - border-bottom-color: #564F8A !important; -} -.ui.items .item:nth-of-type(n+6):hover { - border-bottom-color: #00B5AD !important; -} -/******************************* - Variations -*******************************/ -/*-------------- - Connected ----------------*/ -.ui.connected.items { - display: table; - width: 100%; - margin-left: 0em !important; - margin-right: 0em !important; -} -.ui.connected.items > .row > .item, -.ui.connected.items > .item { - float: none; - display: table-cell; - vertical-align: top; - height: auto; - border-radius: 0px; - margin: 0em; - width: 33.33%; -} -.ui.connected.items > .row { - display: table; - margin: 0.5em 0em; -} -.ui.connected.items > .row:first-child { - margin-top: 0em; -} -/* Borders */ -.ui.connected.items > .item, -.ui.connected.items > .row:last-child > .item { - border-bottom: 0.2em solid rgba(0, 0, 0, 0.2); -} -.ui.connected.items > .row:last-child > .item:first-child, -.ui.connected.items > .item:first-child { - border-radius: 0em 0em 0em 0.33em; -} -.ui.connected.items > .row:last-child > .item:last-child, -.ui.connected.items > .item:last-child { - border-radius: 0em 0em 0.33em 0em; -} -/* Hover */ -.ui.connected.items .item:hover { - border-bottom-width: 0.2em; -} -/* Item Count */ -.ui.one.connected.items > .row > .item, -.ui.one.connected.items > .item { - width: 50%; - padding-left: 2%; - padding-right: 2%; -} -.ui.two.connected.items > .row > .item, -.ui.two.connected.items > .item { - width: 50%; - padding-left: 1%; - padding-right: 1%; -} -.ui.three.connected.items > .row > .item, -.ui.three.connected.items > .item { - width: 33.333%; - padding-left: 1%; - padding-right: 1%; -} -.ui.four.connected.items > .row > .item, -.ui.four.connected.items > .item { - width: 25%; - padding-left: 0.5%; - padding-right: 0.5%; -} -.ui.five.connected.items > .row > .item, -.ui.five.connected.items > .item { - width: 20%; - padding-left: 0.5%; - padding-right: 0.5%; -} -.ui.six.connected.items > .row > .item, -.ui.six.connected.items > .item { - width: 16.66%; - padding-left: 0.5%; - padding-right: 0.5%; -} -.ui.seven.connected.items > .row > .item, -.ui.seven.connected.items > .item { - width: 14.28%; - padding-left: 0.5%; - padding-right: 0.5%; -} -.ui.eight.connected.items > .row > .item, -.ui.eight.connected.items > .item { - width: 12.5%; - padding-left: 0.25%; - padding-right: 0.25%; -} -.ui.nine.connected.items > .row > .item, -.ui.nine.connected.items > .item { - width: 11.11%; - padding-left: 0.25%; - padding-right: 0.25%; -} -.ui.ten.connected.items > .row > .item, -.ui.ten.connected.items > .item { - width: 10%; - padding-left: 0.2%; - padding-right: 0.2%; -} -.ui.eleven.connected.items > .row > .item, -.ui.eleven.connected.items > .item { - width: 9.09%; - padding-left: 0.2%; - padding-right: 0.2%; -} -.ui.twelve.connected.items > .row > .item, -.ui.twelve.connected.items > .item { - width: 8.3333%; - padding-left: 0.1%; - padding-right: 0.1%; -} -/*------------------- - Responsive ---------------------*/ -@media only screen and (max-width: 768px) { - .ui.stackable.items { - display: block !important; - } - .ui.stackable.items > .item, - .ui.stackable.items > .row > .item { - display: block !important; - height: auto !important; - width: auto !important; - padding: 0% !important; - } -} -/*-------------------- - Horizontal ----------------------*/ -.ui.horizontal.items > .item, -.ui.items > .horizontal.item { - display: table; -} -.ui.horizontal.items > .item > .image .ui.items > .horizontal.item > .image { - display: table-cell; - width: 50%; -} -.ui.horizontal.items > .item > .image + .content, -.ui.items > .horizontal.item > .image + .content { - width: 50%; - display: table-cell; -} -.ui.horizontal.items > .item > .content, -.ui.items > .horizontal.item > .content { - padding: 1% 1.7% 11% 3%; - vertical-align: top; -} -.ui.horizontal.items > .item > .meta, -.ui.items > .horizontal.item > .meta { - position: absolute; - padding: 0%; - bottom: 7%; - left: 3%; - width: 94%; -} -.ui.horizontal.items > .item > .image + .content + .meta, -.ui.items > .horizontal.item > .image + .content + .meta { - bottom: 7%; - left: 53%; - width: 44%; -} -.ui.horizontal.items > .item .avatar, -.ui.items > .horizontal.item .avatar { - width: 11.5%; -} -.ui.items > .item .avatar { - max-width: 25px; -} -/*-------------- - Item Count ----------------*/ -.ui.one.items { - margin-left: -2%; - margin-right: -2%; -} -.ui.one.items > .item { - width: 100%; - margin-left: 2%; - margin-right: 2%; -} -.ui.two.items { - margin-left: -1%; - margin-right: -1%; -} -.ui.two.items > .item { - width: 48%; - margin-left: 1%; - margin-right: 1%; -} -.ui.two.items > .item:nth-child(2n+1) { - clear: left; -} -.ui.three.items { - margin-left: -1%; - margin-right: -1%; -} -.ui.three.items > .item { - width: 31.333%; - margin-left: 1%; - margin-right: 1%; -} -.ui.three.items > .item:nth-child(3n+1) { - clear: left; -} -.ui.four.items { - margin-left: -0.5%; - margin-right: -0.5%; -} -.ui.four.items > .item { - width: 24%; - margin-left: 0.5%; - margin-right: 0.5%; -} -.ui.four.items > .item:nth-child(4n+1) { - clear: left; -} -.ui.five.items { - margin-left: -0.5%; - margin-right: -0.5%; -} -.ui.five.items > .item { - width: 19%; - margin-left: 0.5%; - margin-right: 0.5%; -} -.ui.five.items > .item:nth-child(5n+1) { - clear: left; -} -.ui.six.items { - margin-left: -0.5%; - margin-right: -0.5%; -} -.ui.six.items > .item { - width: 15.66%; - margin-left: 0.5%; - margin-right: 0.5%; -} -.ui.six.items > .item:nth-child(6n+1) { - clear: left; -} -.ui.seven.items { - margin-left: -0.5%; - margin-right: -0.5%; -} -.ui.seven.items > .item { - width: 13.28%; - margin-left: 0.5%; - margin-right: 0.5%; - font-size: 11px; -} -.ui.seven.items > .item:nth-child(7n+1) { - clear: left; -} -.ui.eight.items { - margin-left: -0.25%; - margin-right: -0.25%; -} -.ui.eight.items > .item { - width: 12.0%; - margin-left: 0.25%; - margin-right: 0.25%; - font-size: 11px; -} -.ui.eight.items > .item:nth-child(8n+1) { - clear: left; -} -.ui.nine.items { - margin-left: -0.25%; - margin-right: -0.25%; -} -.ui.nine.items > .item { - width: 10.61%; - margin-left: 0.25%; - margin-right: 0.25%; - font-size: 10px; -} -.ui.nine.items > .item:nth-child(9n+1) { - clear: left; -} -.ui.ten.items { - margin-left: -0.2%; - margin-right: -0.2%; -} -.ui.ten.items > .item { - width: 9.6%; - margin-left: 0.2%; - margin-right: 0.2%; - font-size: 10px; -} -.ui.ten.items > .item:nth-child(10n+1) { - clear: left; -} -.ui.eleven.items { - margin-left: -0.2%; - margin-right: -0.2%; -} -.ui.eleven.items > .item { - width: 8.69%; - margin-left: 0.2%; - margin-right: 0.2%; - font-size: 9px; -} -.ui.eleven.items > .item:nth-child(11n+1) { - clear: left; -} -.ui.twelve.items { - margin-left: -0.1%; - margin-right: -0.1%; -} -.ui.twelve.items > .item { - width: 8.1333%; - margin-left: 0.1%; - margin-right: 0.1%; - font-size: 9px; -} -.ui.twelve.items > .item:nth-child(12n+1) { - clear: left; -} - -/* - * # Semantic List - Flat - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - * Released: April 26 2013 - */ -/******************************* - List -*******************************/ -ul.ui.list, -ol.ui.list, -.ui.list { - list-style-type: none; - margin: 1em 0em; - padding: 0em; -} -ul.ui.list ul, -ol.ui.list ol, -.ui.list .list { - margin: 0em; - padding: 0.5em 0em 0.5em 1em; -} -ul.ui.list:first-child, -ol.ui.list:first-child, -.ui.list:first-child { - margin-top: 0em; -} -ul.ui.list:last-child, -ol.ui.list:last-child, -.ui.list:last-child { - margin-bottom: 0em; -} -/******************************* - Content -*******************************/ -/* List Item */ -ul.ui.list li, -ol.ui.list li, -.ui.list .item { - display: list-item; - list-style-type: none; - list-style-position: inside; - padding: 0.3em 0em; - line-height: 1.2; -} -.ui.list .item:after { - content: ''; - display: block; - height: 0; - clear: both; - visibility: hidden; -} -/* Icon */ -.ui.list .item > .icon { - display: table-cell; - margin: 0em; - padding: 0em 0.5em 0em 0em; - vertical-align: middle; -} -.ui.list .item > .icon:only-child { - display: inline-block; -} -.ui.horizontal.list .item > .icon { - padding: 0em 0.25em 0em 0em; -} -/* Image */ -.ui.list .item > img { - display: inline-block; - width: 2em; - margin-right: 0.5em; - vertical-align: middle; - -webkit-border-radius: 0.2em; - -moz-border-radius: 0.2em; - border-radius: 0.2em; -} -/* Content */ -.ui.list .item > .content { - display: inline-block; - vertical-align: middle; - line-height: 1.2; -} -.ui.list .item > .icon + .content { - display: table-cell; - vertical-align: top; - padding-left: 0.5em; -} -/* Link */ -.ui.list a { - cursor: pointer; -} -.ui.list a .icon { - color: rgba(0, 0, 0, 0.6); - -webkit-transition: color 0.2s ease; - -moz-transition: color 0.2s ease; - -o-transition: color 0.2s ease; - -ms-transition: color 0.2s ease; - transition: color 0.2s ease; -} -/* Header */ -.ui.list .header { - font-weight: bold; -} -.ui.list .description { - color: rgba(0, 0, 0, 0.5); -} -/* Floated Content */ -.ui.list .item > .left.floated { - margin-right: 1em; - float: left; -} -.ui.list .item > .right.floated { - margin-left: 1em; - float: right; -} -/******************************* - Types -*******************************/ -/*------------------- - Horizontal ---------------------*/ -.ui.horizontal.list { - display: inline-block; - font-size: 0em; -} -.ui.horizontal.list .item { - display: inline-block; - margin-left: 1em; - font-size: 1rem; -} -.ui.horizontal.list .item:first-child { - margin-left: 0em; -} -/******************************* - States -*******************************/ -/*------------------- - Hover ---------------------*/ -.ui.list a:hover .icon { - color: rgba(0, 0, 0, 0.8); -} -/******************************* - Variations -*******************************/ -/*------------------- - Link ---------------------*/ -.ui.link.list .item { - color: rgba(0, 0, 0, 0.4); -} -.ui.link.list a.item, -.ui.link.list .item a { - color: rgba(0, 0, 0, 0.6); -} -.ui.link.list a.item:hover, -.ui.link.list .item a:hover { - color: rgba(0, 0, 0, 0.8); -} -.ui.link.list a.item:active, -.ui.link.list .item a:active { - color: rgba(0, 0, 0, 0.9); -} -.ui.link.list a.active.item, -.ui.link.list .active.item a { - color: rgba(0, 0, 0, 0.8); -} -/*------------------- - Selection ---------------------*/ -.ui.selection.list .item { - cursor: pointer; - color: rgba(0, 0, 0, 0.4); - padding: 0.5em; - -webkit-transition: 0.2s color ease, 0.2s padding-left ease, 0.2s background-color ease; - -moz-transition: 0.2s color ease, 0.2s padding-left ease, 0.2s background-color ease; - -o-transition: 0.2s color ease, 0.2s padding-left ease, 0.2s background-color ease; - -ms-transition: 0.2s color ease, 0.2s padding-left ease, 0.2s background-color ease; - transition: 0.2s color ease, 0.2s padding-left ease, 0.2s background-color ease; -} -.ui.selection.list .item:hover { - background-color: rgba(0, 0, 0, 0.02); - color: rgba(0, 0, 0, 0.7); -} -.ui.selection.list:not(.horizontal, .ordered) .item:hover { - padding-left: 1em; -} -.ui.selection.list:not(.horizontal, .ordered) .item:hover .item:hover { - padding-left: 0.5em; -} -.ui.selection.list .item:active { - background-color: rgba(0, 0, 0, 0.05); - color: rgba(0, 0, 0, 0.7); -} -.ui.selection.list .item.active { - background-color: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.7); -} -/*------------------- - Bulleted ---------------------*/ -ul.ui.list, -.ui.bulleted.list { - margin-left: 1em; -} -ul.ui.list li, -.ui.bulleted.list .item { - position: relative; -} -ul.ui.list li:before, -.ui.bulleted.list .item:before { - position: absolute; - left: -1em; - content: '•'; - line-height: 1.2rem; - vertical-align: top; -} -ul.ui.list ul, -.ui.bulleted.list .list { - padding-left: 1.2em; -} -/* Horizontal Bulleted */ -ul.ui.horizontal.bulleted.list, -.ui.horizontal.bulleted.list { - margin-left: 0em; -} -ul.ui.horizontal.bulleted.list li, -.ui.horizontal.bulleted.list .item { - margin-left: 1.5em; -} -ul.ui.horizontal.bulleted.list li:before, -.ui.horizontal.bulleted.list .item:before { - left: -0.9em; -} -ul.ui.horizontal.bulleted.list li:first-child, -.ui.horizontal.bulleted.list .item:first-child { - margin-left: 0em; -} -ul.ui.horizontal.bulleted.list li:first-child::before, -.ui.horizontal.bulleted.list .item:first-child::before { - display: none; -} -/*------------------- - Ordered ---------------------*/ -ol.ui.list, -.ui.ordered.list { - counter-reset: ordered; - margin-left: 2em; - list-style-type: none; -} -ol.ui.list li, -.ui.ordered.list .item { - list-style-type: none; - position: relative; -} -ol.ui.list li:before, -.ui.ordered.list .item:before { - position: absolute; - left: -2em; - counter-increment: ordered; - content: counters(ordered, "."); - text-align: right; - vertical-align: top; - opacity: 0.75; -} -ol.ui.list ol, -.ui.ordered.list .list { - counter-reset: ordered; - padding-left: 3em; -} -ol.ui.list ol li:before, -.ui.ordered.list .list .item:before { - left: -2.5em; -} -/* Horizontal Ordered */ -ol.ui.horizontal.list, -.ui.ordered.horizontal.list { - margin-left: 0em; -} -ol.ui.horizontal.list li:before, -.ui.ordered.horizontal.list .item:before { - position: static; - margin: 0em 0.5em 0em 0em; -} -/*------------------- - Divided ---------------------*/ -.ui.divided.list > .item, -.ui.divided.list > .list { - border-top: 1px solid rgba(0, 0, 0, 0.1); - padding-left: 0.5em; - padding-right: 0.5em; -} -.ui.divided.list .item .menu .item { - border-width: 0px; -} -.ui.divided.list .item:first-child { - border-top-width: 0px; -} -/* Sub Menu */ -.ui.divided.list .list { - margin-left: -0.5em; - margin-right: -0.5em; -} -.ui.divided.list .list .item { - padding-left: 1em; - padding-right: 1em; -} -.ui.divided.list .list .item:first-child { - border-top-width: 1px; -} -/* Divided bulleted */ -.ui.divided.bulleted.list { - margin-left: 0em; -} -.ui.divided.bulleted.list .item { - padding-left: 1.5em; -} -.ui.divided.bulleted.list .item:before { - left: 0.5em; -} -/* Divided ordered */ -.ui.divided.ordered.list { - margin-left: 0em; -} -.ui.divided.ordered.list > .item { - padding-left: 2em; - padding-right: 2em; -} -.ui.divided.ordered.list > .item:before { - left: 0.5em; -} -.ui.divided.ordered.list .item .list { - margin-left: -2em; - margin-right: -2em; -} -/* Divided horizontal */ -.ui.divided.horizontal.list { - margin-left: 0em; -} -.ui.divided.horizontal.list .item { - border-top: none; - border-left: 1px solid rgba(0, 0, 0, 0.1); - margin: 0em; - padding-left: 0.75em; - padding-right: 0.75em; - line-height: 0.6; -} -.ui.horizontal.divided.list .item:first-child { - border-left: none; - padding-left: 0em; -} -/*------------------- - Celled ---------------------*/ -.ui.celled.list > .item, -.ui.celled.list > .list { - border-top: 1px solid rgba(0, 0, 0, 0.1); - padding-left: 0.5em; - padding-right: 0.5em; -} -.ui.celled.list > .item:last-child { - border-bottom: 1px solid rgba(0, 0, 0, 0.1); -} -/* Sub Menu */ -.ui.celled.list .item .list { - margin-left: -0.5em; - margin-right: -0.5em; -} -.ui.celled.list .item .list .item { - border-width: 0px; -} -.ui.celled.list .list .item:first-child { - border-top-width: 0px; -} -/* Celled Bulleted */ -.ui.celled.bulleted.list { - margin-left: 0em; -} -.ui.celled.bulleted.list > .item { - padding-left: 1.5em; -} -.ui.celled.bulleted.list > .item:before { - left: 0.5em; -} -/* Celled Ordered */ -.ui.celled.ordered.list { - margin-left: 0em; -} -.ui.celled.ordered.list .item { - padding-left: 2em; - padding-right: 2em; -} -.ui.celled.ordered.list .item:before { - left: 0.5em; -} -.ui.celled.ordered.list .item .list { - margin-left: -2em; - margin-right: -2em; -} -/* Celled Horizontal */ -.ui.horizontal.celled.list { - margin-left: 0em; -} -.ui.horizontal.celled.list .item { - border-top: none; - border-left: 1px solid rgba(0, 0, 0, 0.1); - margin: 0em; - padding-left: 0.75em; - padding-right: 0.75em; - line-height: 0.6; -} -.ui.horizontal.celled.list .item:last-child { - border-bottom: none; - border-right: 1px solid rgba(0, 0, 0, 0.1); -} -/*------------------- - Relaxed ---------------------*/ -.ui.relaxed.list:not(.horizontal) .item { - padding-top: 0.5em; - padding-bottom: 0.5em; -} -.ui.horizontal.relaxed.list .item { - padding-left: 1.25em; - padding-right: 1.25em; -} -.ui.very.relaxed.list:not(.horizontal) .item { - padding-top: 1em; - padding-bottom: 1em; -} -.ui.horizontal.very.relaxed.list .item { - padding-left: 2em; - padding-right: 2em; -} -/*------------------- - Sizes ---------------------*/ -.ui.mini.list .item { - font-size: 0.7rem; -} -.ui.tiny.list .item { - font-size: 0.8125rem; -} -.ui.small.list .item { - font-size: 0.875rem; -} -.ui.list .item { - font-size: 1em; -} -.ui.large.list .item { - font-size: 1.125rem; -} -.ui.big.list .item { - font-size: 1.25rem; -} -.ui.huge.list .item { - font-size: 1.375rem; -} -.ui.massive.list .item { - font-size: 1.5rem; -} - -/* - * # Statistic - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - * Released: Aug 20, 2013 - */ -/******************************* - Statistic -*******************************/ -.ui.statistic { - text-align: center; -} -/******************************* - Content -*******************************/ -.ui.statistic > .number { - font-size: 4em; - font-weight: bold; - color: rgba(0, 0, 0, 0.7); -} -.ui.statistic > .description { - opacity: 0.8; -} diff --git a/static/semantic-ui/packaged/css/semantic.min.css b/static/semantic-ui/packaged/css/semantic.min.css deleted file mode 100644 index 6816fe2..0000000 --- a/static/semantic-ui/packaged/css/semantic.min.css +++ /dev/null @@ -1,29 +0,0 @@ -/* -* # Semantic UI -* Version: 0.6.1 -* http://github.com/jlukic/semantic-ui -* -* -* Copyright 2013 Contributors -* Released under the MIT license -* http://opensource.org/licenses/MIT -* -* Released: 10/15/2013 -*/ - -.ui.breadcrumb{margin:1em 0;display:inline-block;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.5;margin:0 .15em;font-size:1em;color:rgba(0,0,0,.3)}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.5em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.small.breadcrumb{font-size:.75em}.ui.large.breadcrumb{font-size:1.1em}.ui.huge.breadcrumb{font-size:1.3em}.ui.form{position:relative;max-width:100%}.ui.form :first-child{margin-top:0}.ui.form :last-child{margin-bottom:0}.ui.form>p{margin:1em 0}.ui.form .field{clear:both;margin:0 0 1em}.ui.form .field>label{margin:0 0 .3em;display:block;color:#555;font-size:.875em}.ui.form textarea,.ui.form select,.ui.form input[type=text],.ui.form input[type=email],.ui.form input[type=date],.ui.form input[type=password],.ui.form input[type=number],.ui.form input[type=tel],.ui.form .ui.input{width:100%}.ui.form textarea,.ui.form select,.ui.form input[type=text],.ui.form input[type=email],.ui.form input[type=date],.ui.form input[type=password],.ui.form input[type=number],.ui.form input[type=tel]{margin:0;padding:.85em 1.2em;font-size:.875em;background-color:#FFF;border:1px solid rgba(0,0,0,.15);outline:0;color:rgba(0,0,0,.7);-webkit-border-radius:.3125em;-moz-border-radius:.3125em;border-radius:.3125em;-webkit-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;-moz-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;-o-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;-ms-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;-webkit-box-shadow:0 0 rgba(0,0,0,.3) inset;-moz-box-shadow:0 0 rgba(0,0,0,.3) inset;box-shadow:0 0 rgba(0,0,0,.3) inset;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.textarea,.ui.form textarea{line-height:1.33;min-height:8em;height:12em;max-height:24em;resize:vertical}.ui.form textarea,.ui.form input[type=checkbox]{vertical-align:top}.ui.form .divider{clear:both;margin:1em 0}.ui.form .info.message,.ui.form .warning.message,.ui.form .error.message{display:none}.ui.form .message:first-child{margin-top:0}.ui.form .field .prompt.label{white-space:nowrap}.ui.form .inline.field .prompt{margin-top:0;margin-left:1em}.ui.form .inline.field .prompt:before{margin-top:-.3em;bottom:auto;right:auto;top:50%;left:0}.ui.form input[type=text]:focus,.ui.form input[type=email]:focus,.ui.form input[type=date]:focus,.ui.form input[type=password]:focus,.ui.form input[type=number]:focus,.ui.form input[type=tel]:focus,.ui.form textarea:focus,.ui.form select:focus{color:rgba(0,0,0,.85);border-color:rgba(0,0,0,.2);border-bottom-left-radius:0;border-top-left-radius:0;-webkit-appearance:none;-webkit-box-shadow:.3em 0 0 0 rgba(0,0,0,.2) inset;-moz-box-shadow:.3em 0 0 0 rgba(0,0,0,.2) inset;box-shadow:.3em 0 0 0 rgba(0,0,0,.2) inset}.ui.form.warning .warning.message{display:block}.ui.form.error .error.message{display:block}.ui.form .fields.error .field label,.ui.form .field.error label{color:#D95C5C}.ui.form .fields.error .field textarea,.ui.form .fields.error .field input[type=text],.ui.form .fields.error .field input[type=email],.ui.form .fields.error .field input[type=date],.ui.form .fields.error .field input[type=password],.ui.form .fields.error .field input[type=number],.ui.form .fields.error .field input[type=tel],.ui.form .field.error textarea,.ui.form .field.error input[type=text],.ui.form .field.error input[type=email],.ui.form .field.error input[type=date],.ui.form .field.error input[type=password],.ui.form .field.error input[type=number],.ui.form .field.error input[type=tel]{background-color:snow;border-color:#E7BEBE;border-left:0;color:#D95C5C;padding-left:1.2em;border-bottom-left-radius:0;border-top-left-radius:0;-webkit-box-shadow:.3em 0 0 0 #D95C5C inset;-moz-box-shadow:.3em 0 0 0 #D95C5C inset;box-shadow:.3em 0 0 0 #D95C5C inset}.ui.form .field.error textarea:focus,.ui.form .field.error input[type=text]:focus,.ui.form .field.error input[type=email]:focus,.ui.form .field.error input[type=date]:focus,.ui.form .field.error input[type=password]:focus,.ui.form .field.error input[type=number]:focus,.ui.form .field.error input[type=tel]:focus{border-color:#ff5050;color:#ff5050;-webkit-appearance:none;-webkit-box-shadow:.3em 0 0 0 #FF5050 inset;-moz-box-shadow:.3em 0 0 0 #FF5050 inset;box-shadow:.3em 0 0 0 #FF5050 inset}.ui.form ::-webkit-input-placeholder{color:#E0E0E0}.ui.form ::-moz-placeholder{color:#E0E0E0}.ui.form :focus::-webkit-input-placeholder{color:#AAA}.ui.form :focus::-moz-placeholder{color:#AAA}.ui.form .error ::-webkit-input-placeholder{color:rgba(255,80,80,.4)}.ui.form .error ::-moz-placeholder{color:rgba(255,80,80,.4)}.ui.form .error :focus::-webkit-input-placeholder{color:rgba(255,80,80,.7)}.ui.form .error :focus::-moz-placeholder{color:rgba(255,80,80,.7)}.ui.form .field :disabled,.ui.form .field.disabled{opacity:.5}.ui.form .field.disabled label{opacity:.5}.ui.form .field.disabled :disabled{opacity:1}.ui.form.loading{position:relative}.ui.form.loading:after{position:absolute;top:0;left:0;content:'';width:100%;height:100%;background:rgba(255,255,255,.8) url(../images/loader-large.gif) no-repeat 50% 50%;visibility:visible}.ui.form.fluid{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.form input.attached{width:auto}.ui.form .date.field>label{position:relative}.ui.form .date.field>label:after{position:absolute;top:2em;right:.5em;font-family:Icons;content:'\f133';font-size:1.2em;font-weight:400;color:#CCC}.ui.inverted.form label{color:#FFF}.ui.inverted.form .field.error textarea,.ui.inverted.form .field.error input[type=text],.ui.inverted.form .field.error input[type=email],.ui.inverted.form .field.error input[type=date],.ui.inverted.form .field.error input[type=password],.ui.inverted.form .field.error input[type=number],.ui.inverted.form .field.error input[type=tel]{background-color:#FCC}.ui.form .grouped.fields{margin:0 0 1em}.ui.form .grouped.fields .field{display:block;float:none;margin:.5em 0;padding:0}.ui.form .fields{clear:both}.ui.form .fields:after{content:' ';display:block;clear:both;visibility:hidden;line-height:0;height:0}.ui.form .fields>.field{clear:none;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.form .fields>.field:first-child{border-left:0;box-shadow:none}.ui.form .two.fields>.fields,.ui.form .two.fields>.field{width:50%;padding-left:1%;padding-right:1%}.ui.form .three.fields>.fields,.ui.form .three.fields>.field{width:33.333%;padding-left:1%;padding-right:1%}.ui.form .four.fields>.fields,.ui.form .four.fields>.field{width:25%;padding-left:1%;padding-right:1%}.ui.form .five.fields>.fields,.ui.form .five.fields>.field{width:20%;padding-left:1%;padding-right:1%}.ui.form .fields .field:first-child{padding-left:0}.ui.form .fields .field:last-child{padding-right:0}.ui.form .inline.fields .field{min-height:1.3em;margin-right:.5em}.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p,.ui.form .inline.fields .field>input,.ui.form .inline.field>label,.ui.form .inline.field>p,.ui.form .inline.field>input{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:middle;font-size:1em}.ui.form .inline.fields .field>input,.ui.form .inline.field>input{font-size:.875em}.ui.form .inline.fields .field>:first-child,.ui.form .inline.field>:first-child{margin:0 .5em 0 0}.ui.form .inline.fields .field>:only-child,.ui.form .inline.field>:only-child{margin:0}.ui.small.form{font-size:.875em}.ui.small.form textarea,.ui.small.form input[type=text],.ui.small.form input[type=email],.ui.small.form input[type=date],.ui.small.form input[type=password],.ui.small.form input[type=number],.ui.small.form input[type=tel],.ui.small.form label,.ui.small.form select{font-size:1em}.ui.large.form{font-size:1.125em}.ui.grid{display:block;text-align:left;font-size:0;margin:0 -1.5%;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}body>.ui.grid{margin-left:0;margin-right:0}.ui.grid:after,.ui.row:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.grid>.column,.ui.grid>.row>.column{display:inline-block;text-align:left;font-size:1rem;padding-left:1.5%;padding-right:1.5%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;vertical-align:top}.ui.grid>.row{display:block;width:100%!important;margin-top:1.5%;padding:1.5% 0 0;font-size:0rem}.ui.grid>.row:first-child{padding-top:0rem;margin-top:0rem}.ui.grid>.row>img,.ui.grid>.row>.column>img{max-width:100%}.ui.grid .column>.ui.segment:only-child{margin:0}.ui.page.grid{min-width:320px;margin-left:0;margin-right:0}@media only screen and (max-width:998px){.ui.page.grid{padding:0 4%}}@media only screen and (min-width:998px){.ui.page.grid{padding:0 8%}}@media only screen and (min-width:1500px){.ui.page.grid{padding:0 13%}}@media only screen and (min-width:1750px){.ui.page.grid{padding:0 18%}}@media only screen and (min-width:2000px){.ui.page.grid{padding:0 23%}}.ui.grid>.row>.one.wide.column,.ui.grid>.one.wide.column{width:6.25%}.ui.grid>.row>.two.wide.column,.ui.grid>.two.wide.column{width:12.5%}.ui.grid>.row>.three.wide.column,.ui.grid>.three.wide.column{width:18.75%}.ui.grid>.row>.four.wide.column,.ui.grid>.four.wide.column{width:25%}.ui.grid>.row>.five.wide.column,.ui.grid>.five.wide.column{width:31.25%}.ui.grid>.row>.six.wide.column,.ui.grid>.six.wide.column{width:37.5%}.ui.grid>.row>.seven.wide.column,.ui.grid>.seven.wide.column{width:43.75%}.ui.grid>.row>.eight.wide.column,.ui.grid>.eight.wide.column{width:50%}.ui.grid>.row>.nine.wide.column,.ui.grid>.nine.wide.column{width:56.25%}.ui.grid>.row>.ten.wide.column,.ui.grid>.ten.wide.column{width:62.5%}.ui.grid>.row>.eleven.wide.column,.ui.grid>.eleven.wide.column{width:68.75%}.ui.grid>.row>.twelve.wide.column,.ui.grid>.twelve.wide.column{width:75%}.ui.grid>.row>.thirteen.wide.column,.ui.grid>.thirteen.wide.column{width:81.25%}.ui.grid>.row>.fourteen.wide.column,.ui.grid>.fourteen.wide.column{width:87.5%}.ui.grid>.row>.fifteen.wide.column,.ui.grid>.fifteen.wide.column{width:93.75%}.ui.grid>.row>.sixteen.wide.column,.ui.grid>.sixteen.wide.column{width:100%}.ui.grid>.column,.ui.grid>.row>.column{width:6.25%}.ui.one.column.grid>.row>.column,.ui.one.column.grid>.column,.ui.grid>.one.column.row>.column{width:100%}.ui.two.column.grid>.row>.column,.ui.two.column.grid>.column,.ui.grid>.two.column.row>.column{width:50%}.ui.three.column.grid>.row>.column,.ui.three.column.grid>.column,.ui.grid>.three.column.row>.column{width:33.3333%}.ui.four.column.grid>.row>.column,.ui.four.column.grid>.column,.ui.grid>.four.column.row>.column{width:25%}.ui.five.column.grid>.row>.column,.ui.five.column.grid>.column,.ui.grid>.five.column.row>.column{width:20%}.ui.six.column.grid>.row>.column,.ui.six.column.grid>.column,.ui.grid>.six.column.row>.column{width:16.66667%}.ui.seven.column.grid>.row>.column,.ui.seven.column.grid>.column,.ui.grid>.seven.column.row>.column{width:14.2857%}.ui.eight.column.grid>.row>.column,.ui.eight.column.grid>.column,.ui.grid>.eight.column.row>.column{width:12.5%}.ui.nine.column.grid>.row>.column,.ui.nine.column.grid>.column,.ui.grid>.nine.column.row>.column{width:11.1111%}.ui.ten.column.grid>.row>.column,.ui.ten.column.grid>.column,.ui.grid>.ten.column.row>.column{width:10%}.ui.eleven.column.grid>.row>.column,.ui.eleven.column.grid>.column,.ui.grid>.eleven.column.row>.column{width:9.0909%}.ui.twelve.column.grid>.row>.column,.ui.twelve.column.grid>.column,.ui.grid>.twelve.column.row>.column{width:8.3333%}.ui.thirteen.column.grid>.row>.column,.ui.thirteen.column.grid>.column,.ui.grid>.thirteen.column.row>.column{width:7.6923%}.ui.fourteen.column.grid>.row>.column,.ui.fourteen.column.grid>.column,.ui.grid>.fourteen.column.row>.column{width:7.1428%}.ui.fifteen.column.grid>.row>.column,.ui.fifteen.column.grid>.column,.ui.grid>.fifteen.column.row>.column{width:6.6666%}.ui.sixteen.column.grid>.row>.column,.ui.sixteen.column.grid>.column,.ui.grid>.sixteen.column.row>.column{width:6.25%}.ui.grid>.column:only-child,.ui.grid>.row>.column:only-child{width:100%}.ui.relaxed.grid{margin:0 -2.5%}.ui.relaxed.grid>.column,.ui.relaxed.grid>.row>.column{padding-left:2.5%;padding-right:2.5%}.ui.grid .left.floated.column{float:left}.ui.grid .right.floated.column{float:right}.ui.divided.grid,.ui.divided.grid>.row{display:table;width:100%;margin-left:0!important;margin-right:0!important}.ui.divided.grid>.column:not(.row),.ui.divided.grid>.row>.column{display:table-cell;-webkit-box-shadow:-1px 0 0 0 rgba(0,0,0,.1),-2px 0 0 0 rgba(255,255,255,.8);-moz-box-shadow:-1px 0 0 0 rgba(0,0,0,.1),-2px 0 0 0 rgba(255,255,255,.8);box-shadow:-1px 0 0 0 rgba(0,0,0,.1),-2px 0 0 0 rgba(255,255,255,.8)}.ui.divided.grid>.column.row{display:table}.ui.divided.grid>.column:first-child,.ui.divided.grid>.row>.column:first-child{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.vertically.divided.grid>.row{-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.1),0 -2px 0 0 rgba(255,255,255,.8)!important;-moz-box-shadow:0 -1px 0 0 rgba(0,0,0,.1),0 -2px 0 0 rgba(255,255,255,.8)!important;box-shadow:0 -1px 0 0 rgba(0,0,0,.1),0 -2px 0 0 rgba(255,255,255,.8)!important}.ui.vertically.divided.grid>.row>.column,.ui.vertically.divided.grid>.column:not(.row),.ui.vertically.divided.grid>.row:first-child{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui.celled.grid{display:table;width:100%;margin-left:0!important;margin-right:0!important;-webkit-box-shadow:0 0 0 1px #DFDFDF;-moz-box-shadow:0 0 0 1px #DFDFDF;box-shadow:0 0 0 1px #DFDFDF}.ui.celled.grid>.row,.ui.celled.grid>.column.row,.ui.celled.grid>.column.row:first-child{display:table;width:100%;margin-top:0;padding-top:0;-webkit-box-shadow:0 -1px 0 0 #dfdfdf;-moz-box-shadow:0 -1px 0 0 #dfdfdf;box-shadow:0 -1px 0 0 #dfdfdf}.ui.celled.grid>.column:not(.row),.ui.celled.grid>.row>.column{display:table-cell;padding:.75em;-webkit-box-shadow:-1px 0 0 0 #dfdfdf;-moz-box-shadow:-1px 0 0 0 #dfdfdf;box-shadow:-1px 0 0 0 #dfdfdf}.ui.celled.grid>.column:first-child,.ui.celled.grid>.row>.column:first-child{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.celled.page.grid{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.left.aligned.grid,.ui.left.aligned.grid>.row>.column,.ui.left.aligned.grid>.column,.ui.grid .left.aligned.column,.ui.grid>.left.aligned.row>.column{text-align:left}.ui.center.aligned.grid,.ui.center.aligned.grid>.row>.column,.ui.center.aligned.grid>.column,.ui.grid .center.aligned.column,.ui.grid>.center.aligned.row>.column{text-align:center}.ui.right.aligned.grid,.ui.right.aligned.grid>.row>.column,.ui.right.aligned.grid>.column,.ui.grid .right.aligned.column,.ui.grid>.right.aligned.row>.column{text-align:right}.ui.top.aligned.grid,.ui.top.aligned.grid>.row>.column,.ui.top.aligned.grid>.column,.ui.grid .top.aligned.column,.ui.grid>.top.aligned.row>.column{vertical-align:top}.ui.middle.aligned.grid,.ui.middle.aligned.grid>.row>.column,.ui.middle.aligned.grid>.column,.ui.grid .middle.aligned.column,.ui.grid>.middle.aligned.row>.column{vertical-align:middle}.ui.bottom.aligned.grid,.ui.bottom.aligned.grid>.row>.column,.ui.bottom.aligned.grid>.column,.ui.grid .bottom.aligned.column,.ui.grid>.bottom.aligned.row>.column{vertical-align:bottom}.ui.grid>.equal.height.row{display:table;width:100%}.ui.grid>.equal.height.row>.column{display:table-cell}@media only screen and (max-width:768px){.ui.mobile.only.grid,.ui.grid>.mobile.only.row{display:block!important}.ui.grid>.row>.mobile.only.column{display:inline-block!important}.ui.divided.mobile.only.grid,.ui.celled.mobile.only.grid,.ui.divided.mobile.only.grid .row,.ui.celled.mobile.only.grid .row,.ui.divided.grid .mobile.only.row,.ui.celled.grid .mobile.only.row,.ui.grid .mobile.only.equal.height.row,.ui.mobile.only.grid .equal.height.row{display:table!important}.ui.divided.grid>.row>.mobile.only.column,.ui.celled.grid>.row>.mobile.only.column,.ui.divided.mobile.only.grid>.row>.column,.ui.celled.mobile.only.grid>.row>.column,.ui.divided.mobile.only.grid>.column,.ui.celled.mobile.only.grid>.column{display:table-cell!important}}@media only screen and (min-width:768px){.ui.mobile.only.grid,.ui.grid>.mobile.only.row,.ui.grid>.row>.mobile.only.column{display:none}}@media only screen and (min-width:768px) and (max-width:998px){.ui.tablet.only.grid,.ui.grid>.tablet.only.row{display:block!important}.ui.grid>.row>.tablet.only.column{display:inline-block!important}.ui.divided.tablet.only.grid,.ui.celled.tablet.only.grid,.ui.divided.tablet.only.grid .row,.ui.celled.tablet.only.grid .row,.ui.divided.grid .tablet.only.row,.ui.celled.grid .tablet.only.row,.ui.grid .tablet.only.equal.height.row,.ui.tablet.only.grid .equal.height.row{display:table!important}.ui.divided.grid>.row>.tablet.only.column,.ui.celled.grid>.row>.tablet.only.column,.ui.divided.tablet.only.grid>.row>.column,.ui.celled.tablet.only.grid>.row>.column,.ui.divided.tablet.only.grid>.column,.ui.celled.tablet.only.grid>.column{display:table-cell!important}}@media only screen and (max-width:768px),(min-width:998px){.ui.tablet.only.grid,.ui.grid>.tablet.only.row,.ui.grid>.row>.tablet.only.column{display:none}}@media only screen and (min-width:998px){.ui.computer.only.grid,.ui.grid>.computer.only.row{display:block!important}.ui.grid>.row>.computer.only.column{display:inline-block!important}.ui.divided.computer.only.grid,.ui.celled.computer.only.grid,.ui.divided.computer.only.grid .row,.ui.celled.computer.only.grid .row,.ui.divided.grid .computer.only.row,.ui.celled.grid .computer.only.row,.ui.grid .computer.only.equal.height.row,.ui.computer.only.grid .equal.height.row{display:table!important}.ui.divided.grid>.row>.computer.only.column,.ui.celled.grid>.row>.computer.only.column,.ui.divided.computer.only.grid>.row>.column,.ui.celled.computer.only.grid>.row>.column,.ui.divided.computer.only.grid>.column,.ui.celled.computer.only.grid>.column{display:table-cell!important}}@media only screen and (max-width:998px){.ui.computer.only.grid,.ui.grid>.computer.only.row,.ui.grid>.row>.computer.only.column{display:none}}@media only screen and (max-width:768px){.ui.stackable.grid{display:block!important;padding:0}.ui.stackable.grid .row>.column,.ui.stackable.grid>.column{display:block!important;width:auto!important;margin:1.5em 5% 0!important;padding:1.5em 0 0!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui.stackable.divided.grid .column,.ui.stackable.celled.grid .column{border-top:1px dotted rgba(0,0,0,.1)}.ui.stackable.grid>.row:first-child>.column:first-child,.ui.stackable.grid>.column:first-child{margin-top:0!important;padding-top:0!important}.ui.stackable.divided.grid>.row:first-child>.column:first-child,.ui.stackable.celled.grid>.row:first-child>.column:first-child,.ui.stackable.divided.grid>.column:first-child,.ui.stackable.celled.grid>.column:first-child{border-top:0!important}.ui.stackable.grid .vertical.pointing.menu .item:after{display:none}}.ui.menu{margin:1rem 0rem;background-color:#FFF;font-size:0;font-weight:400;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);-webkit-border-radius:.1875rem;-moz-border-radius:.1875rem;border-radius:.1875rem}.ui.menu:first-child{margin-top:0rem}.ui.menu:last-child{margin-bottom:0rem}.ui.menu:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.menu>.item:first-child{border-radius:.1875em 0 0 .1875em}.ui.menu>.item:last-child{border-radius:0 .1875em .1875em 0}.ui.menu .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:middle;line-height:1;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:opacity .2s ease,background .2s ease,box-shadow .2s ease;-moz-transition:opacity .2s ease,background .2s ease,box-shadow .2s ease;-o-transition:opacity .2s ease,background .2s ease,box-shadow .2s ease;-ms-transition:opacity .2s ease,background .2s ease,box-shadow .2s ease;transition:opacity .2s ease,background .2s ease,box-shadow .2s ease}.ui.menu .item,.ui.menu .item>a{color:rgba(0,0,0,.75)}.ui.menu .item .item,.ui.menu .item .item>a{color:rgba(30,30,30,.7)}.ui.menu .item .item .item,.ui.menu .item .item .item>a{color:rgba(30,30,30,.6)}.ui.menu .dropdown.item .menu .item,.ui.menu .dropdown.item .menu .item a{color:rgba(0,0,0,.75)}.ui.menu .item .menu a.item:hover,.ui.menu .item .menu a.item.hover,.ui.menu .item .menu .link.item:hover,.ui.menu .item .menu .link.item.hover{color:rgba(0,0,0,.85)}.ui.menu .dropdown.item .menu .item a:hover{color:rgba(0,0,0,.85)}.ui.menu .active.item,.ui.menu .active.item a{color:rgba(0,0,0,.85);-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.ui.menu .item{position:relative;display:inline-block;padding:.83em .95em;border-top:0 solid rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);-moz-user-select:-moz-none;-khtml-user-select:none;user-select:none}.ui.menu .menu{margin:0}.ui.menu .item.left,.ui.menu .menu.left{float:left}.ui.menu .item.right,.ui.menu .menu.right{float:right}.ui.menu .item:before{position:absolute;content:'';top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%);background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%);background-image:-o-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%);background-image:-ms-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%);background-image:linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%)}.ui.menu .menu.right .item:before,.ui.menu .item.right:before{right:auto;left:0}.ui.menu .text.item>*,.ui.menu .item>p:only-child{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;line-height:1.3;color:rgba(0,0,0,.6)}.ui.menu .item>p:first-child{margin-top:0}.ui.menu .item>p:last-child{margin-bottom:0}.ui.menu:not(.vertical) .item>.button{position:relative;top:-.05em;margin:-.55em 0;padding-bottom:.55em;padding-top:.55em;font-size:.875em;box-shadow:none}.ui.menu:not(.vertical) .item>.input{margin-top:-.83em;margin-bottom:-.83em;padding-top:.3em;padding-bottom:.3em;width:100%}.ui.menu .item>.input input{padding-top:.5em;padding-bottom:.5em}.ui.vertical.menu .item>.input input{margin:0;padding-top:.63em;padding-bottom:.63em}.ui.vertical.menu .ui.input>.icon{padding-top:.63em}.ui.menu .header.item{background-color:rgba(0,0,0,.04);margin:0}.ui.vertical.menu .header.item{font-weight:700}.ui.menu .dropdown.item .menu{left:1px;margin:1px 0 0;min-width:calc(99%);box-shadow:0 1px 1px 1px #DDD}.ui.menu .simple.dropdown.item .menu{margin:0!important}.ui.menu .dropdown.item .menu .item{width:100%;color:rgba(0,0,0,.75)}.ui.menu .dropdown.item .menu .active.item{box-shadow:none!important}.ui.menu .ui.dropdown .menu .item:before{display:none}.ui.menu .item>.label{background-color:rgba(0,0,0,.35);color:#FFF;margin:-.15em 0 -.15em .5em;padding:.3em .8em;vertical-align:baseline}.ui.menu .item>.floating.label{padding:.3em .8em}.ui.menu .item>img:only-child{display:block;max-width:100%;margin:0 auto}.ui.link.menu .item:hover,.ui.menu .item.hover,.ui.menu .link.item:hover,.ui.menu a.item:hover,.ui.menu .ui.dropdown .menu .item.hover,.ui.menu .ui.dropdown .menu .item:hover{cursor:pointer;background-color:rgba(0,0,0,.02)}.ui.menu .ui.dropdown.active{background-color:rgba(0,0,0,.02);-webkit-box-shadow:none;box-shadow:none;-webkit-border-bottom-right-radius:0;-moz-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui.link.menu .item:active,.ui.menu .link.item:active,.ui.menu a.item:active,.ui.menu .ui.dropdown .menu .item:active{background-color:rgba(0,0,0,.05)}.ui.menu .active.item{background-color:rgba(0,0,0,.01);color:rgba(0,0,0,.95);-webkit-box-shadow:0 .2em 0 inset;-moz-box-shadow:0 .2em 0 inset;box-shadow:0 .2em 0 inset}.ui.vertical.menu .active.item{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-moz-box-shadow:.2em 0 0 inset;-webkit-box-shadow:.2em 0 0 inset;box-shadow:.2em 0 0 inset}.ui.vertical.menu>.active.item:first-child{-webkit-border-radius:0 .1875em 0 0;-moz-border-radius:0 .1875em 0 0;border-radius:0 .1875em 0 0}.ui.vertical.menu>.active.item:last-child{-webkit-border-radius:0 0 .1875em;-moz-border-radius:0 0 .1875em;border-radius:0 0 .1875em}.ui.vertical.menu>.active.item:only-child{-webkit-border-radius:0 .1875em .1875em 0;-moz-border-radius:0 .1875em .1875em 0;border-radius:0 .1875em .1875em 0}.ui.vertical.menu .active.item .menu .active.item{border-left:0}.ui.vertical.menu .active.item .menu .active.item{padding-left:1.5rem}.ui.vertical.menu .item .menu .active.item{background-color:rgba(0,0,0,.03);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.menu .item.disabled,.ui.menu .item.disabled:hover,.ui.menu .item.disabled.hover{cursor:default;color:rgba(0,0,0,.2);background-color:transparent!important}.ui.menu.loading{position:relative}.ui.menu.loading:after{position:absolute;top:0;left:0;content:'';width:100%;height:100%;background:rgba(255,255,255,.8) url(../images/loader-large.gif) no-repeat 50% 50%;visibility:visible}.ui.vertical.menu .item{display:block;height:auto!important;border-top:0;border-left:0 solid rgba(0,0,0,0);border-right:0}.ui.vertical.menu>.item:first-child{border-radius:.1875em .1875em 0 0}.ui.vertical.menu>.item:last-child{border-radius:0 0 .1875em .1875em}.ui.vertical.menu .item>.label{float:right;min-width:2.5;text-align:center}.ui.vertical.menu .item>.icon:not(.input){float:right;width:1.22em;margin:0 0 0 .5em}.ui.vertical.menu .item>.label+.icon{float:none;margin:0 .25em 0 0}.ui.vertical.menu .item:before{position:absolute;content:'';top:0;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%);background-image:-moz-linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%);background-image:-ms-linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%);background-image:linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%)}.ui.vertical.menu .item:first-child:before{background-image:none!important}.ui.vertical.menu .dropdown.item>i{float:right;content:"\f0da"}.ui.vertical.menu .dropdown.item .menu{top:0!important;left:100%;margin:0 0 0 1px;box-shadow:0 0 1px 1px #DDD}.ui.vertical.menu .dropdown.item.active{border-top-right-radius:0;border-bottom-right-radius:0}.ui.vertical.menu .dropdown.item .menu .item{font-size:1rem}.ui.vertical.menu .dropdown.item .menu .item .icon{margin-right:0}.ui.vertical.menu .dropdown.item.active{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.vertical.menu .item>.menu{margin:.5em -.95em 0}.ui.vertical.menu .item>.menu>.item{padding:.5rem 1.5rem;font-size:.875em}.ui.vertical.menu .item>.menu>.item:before{display:none}.ui.tiered.menu>.sub.menu>.item{color:rgba(0,0,0,.4)}.ui.tiered.menu>.menu>.item:hover,.ui.tiered.menu>.menu>.item.hover{color:rgba(0,0,0,.8)}.ui.tiered.menu .item.active{color:rgba(0,0,0,.8)}.ui.tiered.menu>.menu .item.active:after{position:absolute;content:'';margin-top:-1px;top:100%;left:0;width:100%;height:2px;background-color:#FBFBFB}.ui.tiered.menu .sub.menu{background-color:rgba(0,0,0,.01);border-radius:0;border-top:1px solid rgba(0,0,0,.1);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;color:#FFF}.ui.tiered.menu .sub.menu .item{font-size:.875rem}.ui.tiered.menu .sub.menu .item:before{background-image:none}.ui.tiered.menu .sub.menu .active.item{padding-top:.83em;background-color:transparent;border-radius:0;border-top:medium none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;color:rgba(0,0,0,.7)!important}.ui.tiered.menu .sub.menu .active.item:after{display:none}.ui.inverted.tiered.menu>.menu>.item{color:rgba(255,255,255,.5)}.ui.inverted.tiered.menu .sub.menu{background-color:rgba(0,0,0,.2)}.ui.inverted.tiered.menu .sub.menu .item{color:rgba(255,255,255,.6)}.ui.inverted.tiered.menu>.menu>.item:hover,.ui.inverted.tiered.menu>.menu>.item.hover{color:rgba(255,255,255,.9)}.ui.inverted.tiered.menu .active.item:after{display:none}.ui.inverted.tiered.menu>.sub.menu>.active.item,.ui.inverted.tiered.menu>.menu>.active.item{color:#fff!important;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.pointing.tiered.menu>.menu>.item:after{display:none}.ui.pointing.tiered.menu>.sub.menu>.item:after{display:block}.ui.tabular.menu{background-color:transparent;border-bottom:1px solid #DCDDDE;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui.tabular.menu .item{background-color:transparent;border-left:1px solid transparent;border-right:1px solid transparent;border-top:1px solid transparent;padding-left:1.4em;padding-right:1.4em;color:rgba(0,0,0,.6)}.ui.tabular.menu .item:before{display:none}.ui.tabular.menu .item:hover{background-color:transparent;color:rgba(0,0,0,.8)}.ui.tabular.menu .active.item{position:relative;top:1px;background-color:#FFF;color:rgba(0,0,0,.8);border-color:#DCDDDE;padding-top:.83em;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.ui.attached.tabular.menu{position:relative;z-index:2}.ui.tabular.menu~.bottom.attached.segment{margin:1px 0 0 1px}.ui.pagination.menu{margin:0;display:inline-block;vertical-align:middle}.ui.pagination.menu .item{min-width:2.7em;min-height:2.7em;text-align:center}.ui.pagination.menu.floated{display:block}.ui.pagination.menu .active.item{border-top:0;padding-top:.83em;background-color:rgba(0,0,0,.05);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.secondary.menu{background-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.secondary.menu>.menu>.item,.ui.secondary.menu>.item{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border:0;height:auto!important;margin:0 .25em;padding:.5em 1em;-webkit-border-radius:.3125em;-moz-border-radius:.3125em;border-radius:.3125em}.ui.secondary.menu>.menu>.item:before,.ui.secondary.menu>.item:before{display:none!important}.ui.secondary.menu .item>.input input{background-color:transparent;border:0}.ui.secondary.menu .link.item,.ui.secondary.menu a.item{opacity:.8;-webkit-transition:none;-moz-transition:none;-o-transition:none;-ms-transition:none;transition:none}.ui.secondary.menu .header.item{border-right:.1em solid rgba(0,0,0,.1);background-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui.secondary.menu .link.item:hover,.ui.secondary.menu a.item:hover{opacity:1}.ui.secondary.menu>.menu>.active.item,.ui.secondary.menu>.active.item{background-color:rgba(0,0,0,.08);opacity:1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.secondary.vertical.menu>.active.item{-webkit-border-radius:.3125em;-moz-border-radius:.3125em;border-radius:.3125em}.ui.secondary.inverted.menu .link.item,.ui.secondary.inverted.menu a.item{color:rgba(255,255,255,.5)}.ui.secondary.inverted.menu .link.item:hover,.ui.secondary.inverted.menu a.item:hover{color:rgba(255,255,255,.9)}.ui.secondary.inverted.menu>.active.item{background-color:rgba(255,255,255,.9)}.ui.secondary.item.menu>.item{margin:0}.ui.secondary.attached.menu{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.secondary.pointing.menu{border-bottom:3px solid rgba(0,0,0,.1)}.ui.secondary.pointing.menu>.menu>.item,.ui.secondary.pointing.menu>.item{margin:0 0 -3px;padding:.6em .95em;border-bottom:3px solid rgba(0,0,0,0);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-transition:color .2s;-moz-transition:color .2s;-o-transition:color .2s;-ms-transition:color .2s;transition:color .2s}.ui.secondary.pointing.menu .header.item{border-right-width:0;font-weight:700}.ui.secondary.pointing.menu .text.item{box-shadow:none!important}.ui.secondary.pointing.menu>.menu>.item:after,.ui.secondary.pointing.menu>.item:after{display:none}.ui.secondary.pointing.menu>.menu>.link.item:hover,.ui.secondary.pointing.menu>.link.item:hover,.ui.secondary.pointing.menu>.menu>a.item:hover,.ui.secondary.pointing.menu>a.item:hover{background-color:transparent;color:rgba(0,0,0,.7)}.ui.secondary.pointing.menu>.menu>.link.item:active,.ui.secondary.pointing.menu>.link.item:active,.ui.secondary.pointing.menu>.menu>a.item:active,.ui.secondary.pointing.menu>a.item:active{background-color:transparent;border-color:rgba(0,0,0,.2)}.ui.secondary.pointing.menu>.menu>.item.active,.ui.secondary.pointing.menu>.item.active{background-color:transparent;border-color:rgba(0,0,0,.4);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.secondary.vertical.pointing.menu{border:0;border-right:3px solid rgba(0,0,0,.1)}.ui.secondary.vertical.menu>.item{border:0;margin:0 0 .3em;padding:.6em .8em;-webkit-border-radius:.1875em;-moz-border-radius:.1875em;border-radius:.1875em}.ui.secondary.vertical.menu>.header.item{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui.secondary.vertical.pointing.menu>.item{margin:0 -3px 0 0;border-bottom:0;border-right:3px solid transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui.secondary.vertical.pointing.menu>.item.hover,.ui.secondary.vertical.pointing.menu>.item:hover{background-color:transparent;color:rgba(0,0,0,.7)}.ui.secondary.vertical.pointing.menu>.item:active{background-color:transparent;border-color:rgba(0,0,0,.2)}.ui.secondary.vertical.pointing.menu>.item.active{background-color:transparent;border-color:rgba(0,0,0,.4);color:rgba(0,0,0,.85)}.ui.secondary.inverted.menu{background-color:transparent}.ui.secondary.inverted.pointing.menu{border-bottom:3px solid rgba(255,255,255,.1)}.ui.secondary.inverted.pointing.menu>.item{color:rgba(255,255,255,.7)}.ui.secondary.inverted.pointing.menu>.item.hover,.ui.secondary.inverted.pointing.menu>.item:hover{color:rgba(255,255,255,.85)}.ui.secondary.inverted.pointing.menu>.item:active{border-color:rgba(255,255,255,.4)!important}.ui.secondary.inverted.pointing.menu>.item.active{border-color:rgba(255,255,255,.8)!important;color:#fff}.ui.secondary.inverted.vertical.pointing.menu{border-right:3px solid rgba(255,255,255,.1);border-bottom:0}.ui.text.menu{background-color:transparent;margin:1rem -1rem;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.text.menu>.item{opacity:.8;margin:0 1em;padding:0;height:auto!important;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-transition:opacity .2s ease;-moz-transition:opacity .2s ease;-o-transition:opacity .2s ease;-ms-transition:opacity .2s ease;transition:opacity .2s ease}.ui.text.menu>.item:before{display:none!important}.ui.text.menu .header.item{background-color:transparent;opacity:1;color:rgba(50,50,50,.8);font-size:.875rem;padding:0;text-transform:uppercase;font-weight:700}.ui.text.item.menu .item{margin:0}.ui.vertical.text.menu{margin:1rem 0}.ui.vertical.text.menu:first-child{margin-top:0rem}.ui.vertical.text.menu:last-child{margin-bottom:0rem}.ui.vertical.text.menu .item{float:left;clear:left;margin:.5em 0}.ui.vertical.text.menu .item>.icon{float:none;margin:0 .83em 0 0}.ui.vertical.text.menu .header.item{margin:.8em 0}.ui.text.menu .item.hover,.ui.text.menu .item:hover{opacity:1;background-color:transparent}.ui.text.menu .active.item{background-color:transparent;padding:0;border:0;opacity:1;font-weight:700;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.text.pointing.menu .active.item:after{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.text.attached.menu{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.inverted.text.menu,.ui.inverted.text.menu .item,.ui.inverted.text.menu .item:hover,.ui.inverted.text.menu .item.active{background-color:transparent}.ui.icon.menu,.ui.vertical.icon.menu{width:auto;display:inline-block;height:auto}.ui.icon.menu>.item{height:auto;text-align:center;color:rgba(60,60,60,.7)}.ui.icon.menu>.item>.icon{display:block;float:none!important;opacity:1;margin:0 auto!important}.ui.icon.menu .icon:before{opacity:1}.ui.menu .icon.item .icon{margin:0}.ui.vertical.icon.menu{float:none}.ui.inverted.icon.menu .item{color:rgba(255,255,255,.8)}.ui.inverted.icon.menu .icon{color:#fff}.ui.labeled.icon.menu{text-align:center}.ui.labeled.icon.menu>.item>.icon{display:block;font-size:1.5em!important;margin:0 auto .3em!important}.ui.menu .green.active.item,.ui.green.menu .active.item{border-color:#A1CF64!important;color:#A1CF64!important}.ui.menu .red.active.item,.ui.red.menu .active.item{border-color:#D95C5C!important;color:#D95C5C!important}.ui.menu .blue.active.item,.ui.blue.menu .active.item{border-color:#6ECFF5!important;color:#6ECFF5!important}.ui.menu .purple.active.item,.ui.purple.menu .active.item{border-color:#564F8A!important;color:#564F8A!important}.ui.menu .orange.active.item,.ui.orange.menu .active.item{border-color:#F05940!important;color:#F05940!important}.ui.menu .teal.active.item,.ui.teal.menu .active.item{border-color:#00B5AD!important;color:#00B5AD!important}.ui.inverted.menu{background-color:#333;box-shadow:none}.ui.inverted.menu .header.item{margin:0;background-color:rgba(0,0,0,.3);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.inverted.menu .item,.ui.inverted.menu .item>a{color:#FFF}.ui.inverted.menu .item .item,.ui.inverted.menu .item .item>a{color:rgba(255,255,255,.8)}.ui.inverted.menu .dropdown.item .menu .item,.ui.inverted.menu .dropdown.item .menu .item a{color:rgba(0,0,0,.75)!important}.ui.inverted.menu .item.disabled,.ui.inverted.menu .item.disabled:hover,.ui.inverted.menu .item.disabled.hover{color:rgba(255,255,255,.2)}.ui.inverted.menu .item:before{background-image:-webkit-linear-gradient(top,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-moz-linear-gradient(top,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-o-linear-gradient(top,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:linear-gradient(top,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%)}.ui.vertical.inverted.menu .item:before{background-image:-webkit-linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-moz-linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-o-linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-ms-linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%)}.ui.link.inverted.menu .item:hover,.ui.inverted.menu .item.hover,.ui.inverted.menu .link.item:hover,.ui.inverted.menu a.item:hover,.ui.inverted.menu .dropdown.item.hover,.ui.inverted.menu .dropdown.item:hover{background-color:rgba(255,255,255,.1)}.ui.inverted.menu a.item:hover,.ui.inverted.menu .item.hover,.ui.inverted.menu .item>a:hover,.ui.inverted.menu .item .menu a.item:hover,.ui.inverted.menu .item .menu a.item.hover,.ui.inverted.menu .item .menu .link.item:hover,.ui.inverted.menu .item .menu .link.item.hover{color:#fff}.ui.inverted.menu a.item:active,.ui.inverted.menu .dropdown.item:active,.ui.inverted.menu .link.item:active,.ui.inverted.menu a.item:active{background-color:rgba(255,255,255,.15)}.ui.inverted.menu .active.item{box-shadow:none!important;background-color:rgba(255,255,255,.2)}.ui.inverted.menu .active.item,.ui.inverted.menu .active.item a{color:#fff!important}.ui.inverted.vertical.menu .item .menu .active.item{background-color:rgba(255,255,255,.2);color:#fff}.ui.inverted.pointing.menu .active.item:after{background-color:#505050;box-shadow:none}.ui.inverted.pointing.menu .active.item:hover:after{background-color:#3B3B3B}.ui.selection.menu>.item{color:rgba(0,0,0,.4)}.ui.selection.menu>.item:hover{color:rgba(0,0,0,.6)}.ui.selection.menu>.item.active{color:rgba(0,0,0,.85)}.ui.inverted.selection.menu>.item{color:rgba(255,255,255,.4)}.ui.inverted.selection.menu>.item:hover{color:rgba(255,255,255,.9)}.ui.inverted.selection.menu>.item.active{color:#FFF}.ui.floated.menu{float:left;margin:0rem .5rem 0rem 0rem}.ui.right.floated.menu{float:right;margin:0rem 0rem 0rem .5rem}.ui.grey.menu{background-color:#F0F0F0}.ui.inverted.green.menu{background-color:#A1CF64}.ui.inverted.green.pointing.menu .active.item:after{background-color:#A1CF64}.ui.inverted.red.menu{background-color:#D95C5C}.ui.inverted.red.pointing.menu .active.item:after{background-color:#F16883}.ui.inverted.blue.menu{background-color:#6ECFF5}.ui.inverted.blue.pointing.menu .active.item:after{background-color:#6ECFF5}.ui.inverted.purple.menu{background-color:#564F8A}.ui.inverted.purple.pointing.menu .active.item:after{background-color:#564F8A}.ui.inverted.orange.menu{background-color:#F05940}.ui.inverted.orange.pointing.menu .active.item:after{background-color:#F05940}.ui.inverted.teal.menu{background-color:#00B5AD}.ui.inverted.teal.pointing.menu .active.item:after{background-color:#00B5AD}.ui.fitted.menu .item,.ui.fitted.menu .item .menu .item,.ui.menu .fitted.item{padding:0}.ui.horizontally.fitted.menu .item,.ui.horizontally.fitted.menu .item .menu .item,.ui.menu .horizontally.fitted.item{padding-top:.83em;padding-bottom:.83em}.ui.vertically.fitted.menu .item,.ui.vertically.fitted.menu .item .menu .item,.ui.menu .vertically.fitted.item{padding-left:.95em;padding-right:.95em}.ui.borderless.menu .item:before,.ui.borderless.menu .item .menu .item:before,.ui.menu .borderless.item:before{background-image:none}.ui.compact.menu{display:inline-block;margin:0;vertical-align:middle}.ui.compact.vertical.menu{width:auto!important}.ui.compact.vertical.menu .item:last-child::before{display:block}.ui.menu.fluid,.ui.vertical.menu.fluid{display:block;width:100%!important}.ui.item.menu,.ui.item.menu .item{width:100%;padding-left:0!important;padding-right:0!important;text-align:center}.ui.menu.two.item .item{width:50%}.ui.menu.three.item .item{width:33.333%}.ui.menu.four.item .item{width:25%}.ui.menu.five.item .item{width:20%}.ui.menu.six.item .item{width:16.666%}.ui.menu.seven.item .item{width:14.285%}.ui.menu.eight.item .item{width:12.5%}.ui.menu.nine.item .item{width:11.11%}.ui.menu.ten.item .item{width:10%}.ui.menu.eleven.item .item{width:9.09%}.ui.menu.twelve.item .item{width:8.333%}.ui.menu.fixed{position:fixed;z-index:10;margin:0;border:0;width:100%}.ui.menu.fixed,.ui.menu.fixed .item:first-child,.ui.menu.fixed .item:last-child{-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.ui.menu.fixed.top{top:0;left:0;right:auto;bottom:auto}.ui.menu.fixed.right{top:0;right:0;left:auto;bottom:auto;width:auto;height:100%}.ui.menu.fixed.bottom{bottom:0;left:0;top:auto;right:auto}.ui.menu.fixed.left{top:0;left:0;right:auto;bottom:auto;width:auto;height:100%}.ui.pointing.menu .active.item:after{position:absolute;bottom:-.35em;left:50%;content:"";margin-left:-.3em;width:.6em;height:.6em;border:0;border-bottom:1px solid rgba(0,0,0,.1);border-right:1px solid rgba(0,0,0,.1);background-image:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .2s ease;-moz-transition:background .2s ease;-o-transition:background .2s ease;-ms-transition:background .2s ease;transition:background .2s ease}.ui.pointing.menu .active.item .menu .active.item:after{display:none}.ui.vertical.pointing.menu .active.item:after{position:absolute;top:50%;margin-top:-.3em;right:-.4em;bottom:auto;left:auto;border:0;border-top:1px solid rgba(0,0,0,.1);border-right:1px solid rgba(0,0,0,.1)}.ui.pointing.menu .active.item:after{background-color:#FCFCFC}.ui.pointing.menu .active.item.hover:after,.ui.pointing.menu .active.item:hover:after{background-color:#FAFAFA}.ui.vertical.pointing.menu .menu .active.item:after{background-color:#F4F4F4}.ui.pointing.menu a.active.item:active:after{background-color:#F0F0F0}.ui.menu.attached{margin:0rem;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-shadow:0 0 0 1px #DDD;-webkit-box-shadow:0 0 0 1px #DDD;box-shadow:0 0 0 1px #DDD}.ui.top.attached.menu{-moz-border-radius:.1875em .1875em 0 0;-webkit-border-radius:.1875em .1875em 0 0;border-radius:.1875em .1875em 0 0}.ui.menu.bottom.attached{-moz-border-radius:0 0 .1875em .1875em;-webkit-border-radius:0 0 .1875em .1875em;border-radius:0 0 .1875em .1875em}.ui.small.menu .item{font-size:.875rem}.ui.small.menu:not(.vertical) .item>.input input{padding-top:.4em;padding-bottom:.4em}.ui.small.vertical.menu{width:13rem}.ui.menu .item{font-size:1rem}.ui.vertical.menu{width:15rem}.ui.large.menu .item{font-size:1.125rem}.ui.large.menu .item .item{font-size:.875rem}.ui.large.menu:not(.vertical) .item>.input input{top:-.125em;padding-bottom:.6em;padding-top:.6em}.ui.large.menu .dropdown.item .item{font-size:1rem}.ui.large.vertical.menu{width:18rem}.ui.message{position:relative;min-height:18px;margin:1em 0;height:auto;background-color:#EFEFEF;padding:1em;line-height:1.33;color:rgba(0,0,0,.6);-webkit-transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;-moz-transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;-o-transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;-ms-transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:.325em;-moz-border-radius:.325em;border-radius:.325em}.ui.message:first-child{margin-top:0}.ui.message:last-child{margin-bottom:0}.ui.message .header{margin:0;font-size:1.33em;font-weight:700}.ui.message p{opacity:.85;margin:1em 0}.ui.message p:first-child{margin-top:0}.ui.message p:last-child{margin-bottom:0}.ui.message .header+p{margin-top:.3em}.ui.message>:first-child{margin-top:0}.ui.message>:last-child{margin-bottom:0}.ui.message ul.list{opacity:.85;list-style-position:inside;margin:.2em 0;padding:0}.ui.message ul.list li{position:relative;list-style-type:none;margin:0 0 0 1em;padding:0}.ui.message ul.list li:before{position:absolute;content:'\2022';top:-.05em;left:-.8em;height:100%;vertical-align:baseline;opacity:.5}.ui.message ul.list li:first-child{margin-top:0}.ui.message>.close.icon{cursor:pointer;position:absolute;top:1em;right:.5em;opacity:.7;-webkit-transition:opacity .1s linear;-moz-transition:opacity .1s linear;-o-transition:opacity .1s linear;-ms-transition:opacity .1s linear;transition:opacity .1s linear}.ui.message>.close.icon:hover{opacity:1}.ui.message.visible,.ui.header.visible{display:block!important}.ui.message.hidden,.ui.header.hidden{display:none}.ui.compact.message{display:inline-block}.ui.attached.message{margin-left:-1px;margin-right:-1px;margin-bottom:-1px;-webkit-border-radius:.325em .325em 0 0;-moz-border-radius:.325em .325em 0 0;border-radius:.325em .325em 0 0;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.ui.bottom.attached.message{margin-top:-1px;-webkit-border-radius:0 0 .325em .325em;-moz-border-radius:0 0 .325em .325em;border-radius:0 0 .325em .325em}.ui.icon.message{display:table;width:100%}.ui.icon.message>.icon{display:table-cell;vertical-align:middle;font-size:3.8em;opacity:.2}.ui.icon.message>.icon+.content{padding-left:1em}.ui.icon.message>.content{display:table-cell;vertical-align:middle}.ui.inverted.message{background-color:rgba(255,255,255,.05);color:rgba(255,255,255,.95)}.ui.floating.message{-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.05) inset;-moz-box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.05) inset;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.05) inset}.ui.black.message{background-color:#333;color:rgba(255,255,255,.95)}.ui.blue.message,.ui.info.message{background-color:#E6F4F9;color:#4D8796}.ui.green.message{background-color:#DEFCD5;color:#52A954}.ui.yellow.message,.ui.warning.message{background-color:#F6F3D5;color:#96904D}.ui.red.message{background-color:#F1D7D7;color:#A95252}.ui.success.message,.ui.positive.message{background-color:#5BBD72;color:#FFF}.ui.error.message,.ui.negative.message{background-color:#D95C5C;color:#FFF}.ui.small.message{font-size:.875em}.ui.message{font-size:1em}.ui.large.message{font-size:1.125em}.ui.huge.message{font-size:1.5em}.ui.massive.message{font-size:2em}.ui.table{width:100%;border-collapse:collapse}.ui.table th,.ui.table tr,.ui.table td{border-collapse:collapse;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .1s ease-out;-moz-transition:all .1s ease-out;-o-transition:all .1s ease-out;-ms-transition:all .1s ease-out;transition:all .1s ease-out}.ui.table thead{border-bottom:1px solid rgba(0,0,0,.03)}.ui.table th{cursor:auto;background-color:rgba(0,0,0,.03);text-align:left;color:rgba(0,0,0,.8);padding:.5em .7em;vertical-align:middle}.ui.table thead th:first-child{border-radius:5px 0 0}.ui.table thead th:last-child{border-radius:0 5px 0 0}.ui.table tfoot th:first-child{border-radius:0 0 0 5px}.ui.table tfoot th:last-child{border-radius:0 0 5px}.ui.table td{padding:.4em .7em;vertical-align:middle}.ui.table tfoot{border-top:1px solid rgba(0,0,0,.03)}.ui.table tfoot th{font-weight:400;font-style:italic}.ui.table tbody tr:nth-child(2n){background-color:rgba(0,0,50,.02)}.ui.table>.icon{vertical-align:baseline}.ui.table>.icon:only-child{margin:0}.ui.table.segment:after{display:none}.ui.table.segment.stacked:after{display:block}.ui.sortable.table thead th:hover{background-image:none;color:rgba(0,0,0,.8)}.ui.sortable.table th.disabled:hover{cursor:auto;background-color:rgba(0,0,0,.1);text-align:left;font-weight:700;color:#333;color:rgba(0,0,0,.8)}.ui.table tr.positive,.ui.table td.positive{-webkit-box-shadow:2px 0 0 #119000 inset;-moz-box-shadow:2px 0 0 #119000 inset;box-shadow:2px 0 0 #119000 inset}.ui.table tr.positive td,.ui.table td.positive{background-color:#F2F8F0!important;color:#119000!important}.ui.celled.table tr.positive:hover td,.ui.celled.table tr:hover td.positive,.ui.table tr.positive:hover td,.ui.table td:hover.positive,.ui.table th:hover.positive{background-color:#ECF5E9!important;color:#119000!important}.ui.table tr.negative,.ui.table td.negative{-webkit-box-shadow:2px 0 0 #CD2929 inset;-moz-box-shadow:2px 0 0 #CD2929 inset;box-shadow:2px 0 0 #CD2929 inset}.ui.table tr.negative td,.ui.table td.negative{background-color:#F9F4F4;color:#CD2929!important}.ui.celled.table tr.negative:hover td,.ui.celled.table tr:hover td.negative,.ui.table tr.negative:hover td,.ui.table td:hover.negative,.ui.table th:hover.negative{background-color:#F2E8E8!important;color:#CD2929!important}.ui.table tr.error,.ui.table td.error{-webkit-box-shadow:2px 0 0 #CD2929 inset;-moz-box-shadow:2px 0 0 #CD2929 inset;box-shadow:2px 0 0 #CD2929 inset}.ui.table tr.error td,.ui.table td.error,.ui.table th.error{background-color:#F9F4F4!important;color:#CD2929!important}.ui.celled.table tr.error:hover td,.ui.celled.table tr:hover td.error,.ui.table tr.error:hover td,.ui.table td:hover.error,.ui.table th:hover.error{background-color:#F2E8E8!important;color:#CD2929!important}.ui.table tr.warning,.ui.table td.warning{-webkit-box-shadow:2px 0 0 #7D6C00 inset;-moz-box-shadow:2px 0 0 #7D6C00 inset;box-shadow:2px 0 0 #7D6C00 inset}.ui.table tr.warning td,.ui.table td.warning,.ui.table th.warning{background-color:#FBF6E9;color:#7D6C00!important}.ui.celled.table tr.warning:hover td,.ui.celled.table tr:hover td.warning,.ui.table tr.warning:hover td,.ui.table td:hover.warning,.ui.table th:hover.warning{background-color:#F3EDDC!important;color:#7D6C00!important}.ui.table tr.active,.ui.table td.active{-webkit-box-shadow:2px 0 0 rgba(50,50,50,.9) inset;-moz-box-shadow:2px 0 0 rgba(50,50,50,.9) inset;box-shadow:2px 0 0 rgba(50,50,50,.9) inset}.ui.table tr.active td,.ui.table tr td.active{background-color:#E0E0E0!important;color:rgba(50,50,50,.9)}.ui.table tr.disabled td,.ui.table tr td.disabled,.ui.table tr.disabled:hover td,.ui.table tr:hover td.disabled{color:rgba(150,150,150,.3)}.ui.two.column.table td{width:50%}.ui.three.column.table td{width:33.3333%}.ui.four.column.table td{width:25%}.ui.five.column.table td{width:20%}.ui.six.column.table td{width:16.66667%}.ui.seven.column.table td{width:14.2857%}.ui.eight.column.table td{width:12.5%}.ui.nine.column.table td{width:11.1111%}.ui.ten.column.table td{width:10%}.ui.eleven.column.table td{width:9.0909%}.ui.twelve.column.table td{width:8.3333%}.ui.thirteen.column.table td{width:7.6923%}.ui.fourteen.column.table td{width:7.1428%}.ui.fifteen.column.table td{width:6.6666%}.ui.sixteen.column.table td{width:6.25%}.ui.table th.one.wide,.ui.table td.one.wide{width:6.25%}.ui.table th.two.wide,.ui.table td.two.wide{width:12.5%}.ui.table th.three.wide,.ui.table td.three.wide{width:18.75%}.ui.table th.four.wide,.ui.table td.four.wide{width:25%}.ui.table th.five.wide,.ui.table td.five.wide{width:31.25%}.ui.table th.six.wide,.ui.table td.six.wide{width:37.5%}.ui.table th.seven.wide,.ui.table td.seven.wide{width:43.75%}.ui.table th.eight.wide,.ui.table td.eight.wide{width:50%}.ui.table th.nine.wide,.ui.table td.nine.wide{width:56.25%}.ui.table th.ten.wide,.ui.table td.ten.wide{width:62.5%}.ui.table th.eleven.wide,.ui.table td.eleven.wide{width:68.75%}.ui.table th.twelve.wide,.ui.table td.twelve.wide{width:75%}.ui.table th.thirteen.wide,.ui.table td.thirteen.wide{width:81.25%}.ui.table th.fourteen.wide,.ui.table td.fourteen.wide{width:87.5%}.ui.table th.fifteen.wide,.ui.table td.fifteen.wide{width:93.75%}.ui.table th.sixteen.wide,.ui.table td.sixteen.wide{width:100%}.ui.celled.table{color:rgba(0,0,0,.8)}.ui.celled.table tbody tr,.ui.celled.table tfoot tr{border:0}.ui.celled.table th,.ui.celled.table tbody td{border:1px solid rgba(0,0,0,.1)}.ui.celled.table.segment th{border:0}.ui.celled.table.segment tbody td:first-child{border-left:0}.ui.celled.table.segment tbody td:last-child{border-right:0}.ui.sortable.table thead th{cursor:pointer;white-space:nowrap}.ui.sortable.table thead th.sorted,.ui.sortable.table thead th.sorted:hover{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.sortable.table thead th:after{display:inline-block;content:'';width:1em;opacity:.8;margin:0 0 0 .5em;font-family:Icons;font-style:normal;font-weight:400;text-decoration:inherit}.ui.sortable.table thead th.ascending:after{content:'\25b4'}.ui.sortable.table thead th.descending:after{content:'\25be'}.ui.inverted.table td{color:rgba(255,255,255,.9)}.ui.inverted.table th{background-color:rgba(0,0,0,.15);color:rgba(255,255,255,.9)}.ui.inverted.table tbody tr:nth-child(2n){background-color:rgba(255,255,255,.06)}.ui.definition.table td:first-child{font-weight:700}.ui.collapsing.table{width:auto}.ui.basic.table th{background-color:transparent;padding:.5em}.ui.basic.table tbody tr{border-bottom:1px solid rgba(0,0,0,.03)}.ui.basic.table td{padding:.8em .5em}.ui.basic.table tbody tr:nth-child(2n){background-color:transparent!important}.ui.padded.table th,.ui.padded.table td{padding:.8em 1em}.ui.compact.table th{padding:.3em .5em}.ui.compact.table td{padding:.2em .5em}.ui.small.table{font-size:.875em}.ui.table{font-size:1em}.ui.large.table{font-size:1.1em}@font-face{font-family:'Basic Icons';src:url(../fonts/basic.icons.eot);src:url(../fonts/basic.icons.eot?#iefix) format('embedded-opentype'),url(../fonts/basic.icons.woff) format('woff'),url(../fonts/basic.icons.ttf) format('truetype'),url(../fonts/basic.icons.svg#basic.icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.basic.icon{display:inline-block;opacity:.75;margin:0 .25em 0 0;width:1.23em;height:1em;font-family:'Basic Icons';font-style:normal;line-height:1;font-weight:400;text-decoration:inherit;text-align:center;speak:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;font-smoothing:antialiased}i.basic.icon.circle.attention:before{content:'\2757'}i.basic.icon.circle.help:before{content:'\e704'}i.basic.icon.circle.info:before{content:'\e705'}i.basic.icon.add:before{content:'\2795'}i.basic.icon.chart:before{content:'📈'}i.basic.icon.chart.bar:before{content:'📊'}i.basic.icon.chart.pie:before{content:'\e7a2'}i.basic.icon.resize.full:before{content:'\e744'}i.basic.icon.resize.horizontal:before{content:'\2b0d'}i.basic.icon.resize.small:before{content:'\e746'}i.basic.icon.resize.vertical:before{content:'\2b0c'}i.basic.icon.down:before{content:'\2193'}i.basic.icon.down.triangle:before{content:'\25be'}i.basic.icon.down.arrow:before{content:'\e75c'}i.basic.icon.left:before{content:'\2190'}i.basic.icon.left.triangle:before{content:'\25c2'}i.basic.icon.left.arrow:before{content:'\e75d'}i.basic.icon.right:before{content:'\2192'}i.basic.icon.right.triangle:before{content:'\25b8'}i.basic.icon.right.arrow:before{content:'\e75e'}i.basic.icon.up:before{content:'\2191'}i.basic.icon.up.triangle:before{content:'\25b4'}i.basic.icon.up.arrow:before{content:'\e75f'}i.basic.icon.folder:before{content:'\e810'}i.basic.icon.open.folder:before{content:'📂'}i.basic.icon.globe:before{content:'𝌍'}i.basic.icon.desk.globe:before{content:'🌐'}i.basic.icon.star:before{content:'\e801'}i.basic.icon.star.empty:before{content:'\e800'}i.basic.icon.star.half:before{content:'\e701'}i.basic.icon.lock:before{content:'🔒'}i.basic.icon.unlock:before{content:'🔓'}i.basic.icon.layout.grid:before{content:'\e80c'}i.basic.icon.layout.block:before{content:'\e708'}i.basic.icon.layout.list:before{content:'\e80b'}i.basic.icon.heart.empty:before{content:'\2661'}i.basic.icon.heart:before{content:'\2665'}i.basic.icon.asterisk:before{content:'\2731'}i.basic.icon.attachment:before{content:'📎'}i.basic.icon.attention:before{content:'\26a0'}i.basic.icon.trophy:before{content:'🏉'}i.basic.icon.barcode:before{content:'\e792'}i.basic.icon.cart:before{content:'\e813'}i.basic.icon.block:before{content:'🚫'}i.basic.icon.book:before{content:'📖'}i.basic.icon.bookmark:before{content:'🔖'}i.basic.icon.calendar:before{content:'📅'}i.basic.icon.cancel:before{content:'\2716'}i.basic.icon.close:before{content:'\e80d'}i.basic.icon.color:before{content:'\e794'}i.basic.icon.chat:before{content:'\e720'}i.basic.icon.check:before{content:'\2611'}i.basic.icon.time:before{content:'🕔'}i.basic.icon.cloud:before{content:'\2601'}i.basic.icon.code:before{content:'\e714'}i.basic.icon.email:before{content:'\40'}i.basic.icon.settings:before{content:'\26ef'}i.basic.icon.setting:before{content:'\2699'}i.basic.icon.comment:before{content:'\e802'}i.basic.icon.clockwise.counter:before{content:'\27f2'}i.basic.icon.clockwise:before{content:'\27f3'}i.basic.icon.cube:before{content:'\e807'}i.basic.icon.direction:before{content:'\27a2'}i.basic.icon.doc:before{content:'📄'}i.basic.icon.docs:before{content:'\e736'}i.basic.icon.dollar:before{content:'💵'}i.basic.icon.paint:before{content:'\e7b5'}i.basic.icon.edit:before{content:'\270d'}i.basic.icon.eject:before{content:'\2ecf'}i.basic.icon.export:before{content:'\e715'}i.basic.icon.hide:before{content:'\e80f'}i.basic.icon.unhide:before{content:'\e70b'}i.basic.icon.facebook:before{content:'\f301'}i.basic.icon.fast-forward:before{content:'\e804'}i.basic.icon.fire:before{content:'🔥'}i.basic.icon.flag:before{content:'\2691'}i.basic.icon.lightning:before{content:'\26a1'}i.basic.icon.lab:before{content:'\68'}i.basic.icon.flight:before{content:'\2708'}i.basic.icon.forward:before{content:'\27a6'}i.basic.icon.gift:before{content:'🎁'}i.basic.icon.github:before{content:'\f308'}i.basic.icon.globe:before{content:'\e817'}i.basic.icon.headphones:before{content:'🎧'}i.basic.icon.question:before{content:'\2753'}i.basic.icon.home:before{content:'\2302'}i.basic.icon.i:before{content:'\2139'}i.basic.icon.idea:before{content:'💡'}i.basic.icon.open:before{content:'🔗'}i.basic.icon.content:before{content:'\e782'}i.basic.icon.location:before{content:'\e724'}i.basic.icon.mail:before{content:'\2709'}i.basic.icon.mic:before{content:'🎤'}i.basic.icon.minus:before{content:'\2d'}i.basic.icon.money:before{content:'💰'}i.basic.icon.off:before{content:'\e78e'}i.basic.icon.pause:before{content:'\e808'}i.basic.icon.photos:before{content:'\e812'}i.basic.icon.photo:before{content:'🌄'}i.basic.icon.pin:before{content:'📌'}i.basic.icon.play:before{content:'\e809'}i.basic.icon.plus:before{content:'\2b'}i.basic.icon.print:before{content:'\e716'}i.basic.icon.rss:before{content:'\e73a'}i.basic.icon.search:before{content:'🔍'}i.basic.icon.shuffle:before{content:'\e803'}i.basic.icon.tag:before{content:'\e80a'}i.basic.icon.tags:before{content:'\e70d'}i.basic.icon.terminal:before{content:'\e7ac'}i.basic.icon.thumbs.down:before{content:'👎'}i.basic.icon.thumbs.up:before{content:'👍'}i.basic.icon.to-end:before{content:'\e806'}i.basic.icon.to-start:before{content:'\e805'}i.basic.icon.top.list:before{content:'🏆'}i.basic.icon.trash:before{content:'\e729'}i.basic.icon.twitter:before{content:'\f303'}i.basic.icon.upload:before{content:'\e711'}i.basic.icon.user.add:before{content:'\e700'}i.basic.icon.user:before{content:'👤'}i.basic.icon.community:before{content:'\e814'}i.basic.icon.users:before{content:'👥'}i.basic.icon.id:before{content:'\e722'}i.basic.icon.url:before{content:'🔗'}i.basic.icon.zoom.in:before{content:'\e750'}i.basic.icon.zoom.out:before{content:'\e751'}i.dropdown.basic.icon{margin:0 0 0 .5em}i.basic.icon.star{width:auto;margin:0}i.basic.icon.left,i.basic.icon.left,i.basic.icon.left{width:auto;margin:0 .5em 0 0}i.basic.icon.search,i.basic.icon.up,i.basic.icon.down,i.basic.icon.right{width:auto;margin:0 0 0 .5em}i.basic.icon.delete:before{content:'\e80d'}i.basic.icon.dropdown:before{content:'\25be'}i.basic.icon.help:before{content:'\e704'}i.basic.icon.info:before{content:'\e705'}i.basic.icon.error:before{content:'\e80d'}i.basic.icon.dislike:before{content:'\2661'}i.basic.icon.like:before{content:'\2665'}i.basic.icon.eye:before{content:'\e80f'}i.basic.icon.eye.hidden:before{content:'\e70b'}i.basic.icon.date:before{content:'📅'}i.basic.icon.hover{opacity:1}i.basic.icon.active{opacity:1}i.emphasized.basic.icon{opacity:1}i.basic.icon.disabled{opacity:.3}i.link.basic.icon{cursor:pointer;opacity:.7;-webkit-transition:opacity .3s ease-out;-moz-transition:opacity .3s ease-out;-o-transition:opacity .3s ease-out;-ms-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.link.basic.icon:hover{opacity:1!important}i.circular.basic.icon{-webkit-border-radius:500px!important;-moz-border-radius:500px!important;border-radius:500px!important;padding:.5em 0!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;line-height:1!important;width:2em!important;height:2em!important}i.circular.inverted.basic.icon{border:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}i.vertically.flipped.basic.icon{-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-o-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}i.horizontally.flipped.basic.icon{-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}i.left.rotated.basic.icon{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}i.right.rotated.basic.icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}i.square.basic.icon{width:2em;height:2em;padding:.5em .35em!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;vertical-align:baseline}i.square.basic.icon:before{vertical-align:middle}i.square.inverted.basic.icon{border:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}i.inverted.basic.icon{background-color:#222;color:#FFF}i.blue.basic.icon{color:#6ECFF5!important}i.black.basic.icon{color:#5C6166!important}i.green.basic.icon{color:#A1CF64!important}i.red.basic.icon{color:#D95C5C!important}i.purple.basic.icon{color:#564F8A!important}i.teal.basic.icon{color:#00B5AD!important}i.inverted.black.basic.icon{background-color:#5C6166!important;color:#FFF!important}i.inverted.blue.basic.icon{background-color:#6ECFF5!important;color:#FFF!important}i.inverted.green.basic.icon{background-color:#A1CF64!important;color:#FFF!important}i.inverted.red.basic.icon{background-color:#D95C5C!important;color:#FFF!important}i.inverted.purple.basic.icon{background-color:#564F8A!important;color:#FFF!important}i.inverted.teal.basic.icon{background-color:#00B5AD!important;color:#FFF!important}i.small.basic.icon{font-size:.875em}i.basic.icon{font-size:1em}i.large.basic.icon{font-size:1.5em;margin-right:.2em;vertical-align:middle}i.big.basic.icon{font-size:2em;margin-right:.5em;vertical-align:middle}i.huge.basic.icon{font-size:4em;margin-right:.75em;vertical-align:middle}i.massive.basic.icon{font-size:8em;margin-right:1em;vertical-align:middle}.ui.button{cursor:pointer;display:inline-block;vertical-align:middle;min-height:1em;outline:0;border:0;background-color:#EBEBEB;color:#999;padding:.8em 1.5em;font-size:1rem;text-transform:uppercase;line-height:1;font-weight:700;font-style:normal;text-align:center;text-decoration:none;-webkit-border-radius:.2em;-moz-border-radius:.2em;border-radius:.2em;-webkit-box-shadow:0 -.185rem 0 rgba(0,0,0,.1) inset;-moz-box-shadow:0 -.185rem 0 rgba(0,0,0,.1) inset;box-shadow:0 -.185rem 0 rgba(0,0,0,.1) inset;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-transition:opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease;-moz-transition:opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease;-o-transition:opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease;-ms-transition:opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease;transition:opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease}.ui.count.button{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1)!important;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1)!important;box-shadow:0 0 0 1px rgba(0,0,0,.1)!important}.ui.count.button>.count{position:absolute;background-color:#FFF;border:1px solid #F0F0F0;margin:-.8em -1.5em;padding:.8em 1.5em}.ui.primary.buttons .button,.ui.primary.button{background-color:#D95C5C;color:#FFF}.ui.primary.buttons .button:hover,.ui.primary.button:hover,.ui.primary.buttons .active.button,.ui.primary.button.active{background-color:#E75859;color:#FFF}.ui.primary.buttons .button:active,.ui.primary.button:active{background-color:#D24B4C;color:#FFF}.ui.secondary.buttons .button,.ui.secondary.button{background-color:#00B5AD;color:#FFF}.ui.secondary.buttons .button:hover,.ui.secondary.button:hover,.ui.secondary.buttons .active.button,.ui.secondary.button.active{background-color:#009A93;color:#FFF}.ui.secondary.buttons .button:active,.ui.secondary.button:active{background-color:#00847E;color:#FFF}.ui.facebook.button{background-color:#3B579D;color:#FFF}.ui.facebook.button:hover{background-color:#3A59A9}.ui.facebook.button:active{background-color:#334F95}.ui.twitter.button{background-color:#00ACED;color:#FFF}.ui.twitter.button:hover{background-color:#00B9FF}.ui.twitter.button:active{background-color:#009EDA}.ui.button>.icon{margin-right:.5em;line-height:1;-webkit-transition:opacity .1s ease;-moz-transition:opacity .1s ease;-o-transition:opacity .1s ease;-ms-transition:opacity .1s ease;transition:opacity .1s ease}.ui.buttons .active.button,.ui.active.button{opacity:1!important;background-color:#B0B0B0;background-image:-webkit-gradient(linear,0 0,0 100%,from(rgba(0,0,0,0)),to(rgba(255,255,255,.1)));background-image:-webkit-linear-gradient(rgba(0,0,0,0) 0,rgba(255,255,255,.1) 100%);background-image:-moz-linear-gradient(rgba(0,0,0,0) 0,rgba(255,255,255,.1) 100%);background-image:-o-linear-gradient(rgba(0,0,0,0) 0,rgba(255,255,255,.1) 100%);background-image:linear-gradient(rgba(0,0,0,0) 0,rgba(255,255,255,.1) 100%);color:#FFF;-webkit-box-shadow:0 0 .3em 0 rgba(0,0,0,.3) inset;-moz-box-shadow:0 0 .3em 0 rgba(0,0,0,.3) inset;box-shadow:0 0 .3em 0 rgba(0,0,0,.3) inset}.ui.button:hover,.ui.active.button:hover{opacity:1!important;background-color:#A4A4A4;color:#FFF}.ui.button:hover .icon,.ui.button.hover .icon{opacity:.85}.ui.button:active,.ui.active.button:active{opacity:1!important;background-color:#8C8C8C;color:#FFF;-webkit-box-shadow:0 1px .2em 0 rgba(0,0,0,.3) inset;-moz-box-shadow:0 1px .2em 0 rgba(0,0,0,.3) inset;box-shadow:0 1px .2em 0 rgba(0,0,0,.3) inset}.ui.loading.button{position:relative;cursor:default;background-color:#F3F3F3!important;color:transparent!important;background-image:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;-webkit-transition:all 0s linear;-moz-transition:all 0s linear;-o-transition:all 0s linear;-ms-transition:all 0s linear;transition:all 0s linear}.ui.loading.button:after{position:absolute;top:0;left:0;width:100%;height:100%;content:'';background:transparent url(../images/loader-mini.gif) no-repeat 50% 50%}.ui.labeled.icon.loading.button .icon{background-color:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.disabled.button{cursor:default;color:#DDD!important;background-color:rgba(50,50,50,.05)!important;background-image:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui.left.floated.buttons,.ui.left.floated.button{float:left;margin-right:.25em}.ui.right.floated.buttons,.ui.right.floated.button{float:right;margin-left:.25em}.ui.buttons .button,.ui.button{font-size:1rem}.ui.buttons.mini .button,.ui.mini.button{font-size:.8125rem;padding:.6em .8em;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.tiny.buttons .button,.ui.tiny.button{font-size:.875rem;padding:.6em .8em;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.small.buttons .button,.ui.small.button{font-size:.875rem;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.large.buttons .button,.ui.large.button{font-size:1.125rem}.ui.big.buttons .button,.ui.big.button{font-size:1.25rem}.ui.huge.buttons .button,.ui.huge.button{font-size:1.375rem}.ui.massive.buttons .button,.ui.massive.button{font-size:1.5rem;font-weight:700}.ui.huge.loading.button:after{background-image:url(../images/loader-small.gif)}.ui.massive.buttons .loading.button:after,.ui.gigantic.buttons .loading.button:after,.ui.massive.loading.button:after,.ui.gigantic.loading.button:after{background-image:url(../images/loader-medium.gif)}.ui.huge.loading.button:after,.ui.huge.loading.button.active:after{background-image:url(../images/loader-small.gif)}.ui.massive.buttons .loading.button:after,.ui.gigantic.buttons .loading.button:after,.ui.massive.loading.button:after,.ui.gigantic.loading.button:after,.ui.massive.buttons .loading.button.active:after,.ui.gigantic.buttons .loading.button.active:after,.ui.massive.loading.button.active:after,.ui.gigantic.loading.button.active:after{background-image:url(../images/loader-medium.gif)}.ui.icon.buttons .button,.ui.icon.button{padding:.8em}.ui.icon.buttons .button>.icon,.ui.icon.button>.icon{opacity:1;margin:0;vertical-align:top}.ui.basic.buttons .button,.ui.basic.button{background-color:transparent!important;background-image:none;color:#999!important;font-weight:400;text-transform:none;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.ui.basic.buttons{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-webkit-border-radius:.2em;-moz-border-radius:.2em;border-radius:.2em}.ui.basic.buttons .button:hover,.ui.basic.button:hover{color:#7F7F7F!important;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.18) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.18) inset;box-shadow:0 0 0 1px rgba(0,0,0,.18) inset}.ui.basic.buttons .button:active,.ui.basic.button:active{background-color:rgba(0,0,0,.02)!important;color:#7F7F7F!important;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.ui.basic.buttons .button.active,.ui.basic.button.active{background-color:rgba(0,0,0,.05);color:#7F7F7F;-webkit-box-shadow:0 0 0 1px #BDBDBD inset;-moz-box-shadow:0 0 0 1px #BDBDBD inset;box-shadow:0 0 0 1px #BDBDBD inset}.ui.basic.buttons .button.active:hover,.ui.basic.button.active:hover{background-color:rgba(0,0,0,.1)}.ui.basic.buttons .button{border:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.basic.buttons .button:hover,.ui.basic.buttons .button:active{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.basic.buttons .button.active{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.ui.labeled.icon.buttons .button,.ui.labeled.icon.button{position:relative;padding-left:4em!important;padding-right:1.4em!important}.ui.labeled.icon.buttons>.button>.icon,.ui.labeled.icon.button>.icon{position:absolute;top:0;left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;width:2.75em;height:100%;padding-top:.8em;background-color:rgba(0,0,0,.05);text-align:center;-webkit-border-radius:.2em 0 0 .2em;-moz-border-radius:.2em 0 0 .2em;border-radius:.2em 0 0 .2em;line-height:1;-webkit-box-shadow:-2px 0 0 0 rgba(0,0,0,.05) inset;-moz-box-shadow:-2px 0 0 0 rgba(0,0,0,.05) inset;box-shadow:-2px 0 0 0 rgba(0,0,0,.05) inset}.ui.labeled.icon.buttons .button>.icon{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui.labeled.icon.buttons .button:first-child>.icon{border-top-left-radius:.2em;border-bottom-left-radius:.2em}.ui.labeled.icon.buttons .button:last-child>.icon{border-top-right-radius:.2em;border-bottom-right-radius:.2em}.ui.vertical.labeled.icon.buttons .button:first-child>.icon{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-top-left-radius:.2em}.ui.vertical.labeled.icon.buttons .button:last-child>.icon{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-bottom-left-radius:.2em}.ui.right.labeled.icon.button{padding-left:1.4em!important;padding-right:4em!important}.ui.left.fluid.labeled.icon.button,.ui.right.fluid.labeled.icon.button{padding-left:1.4em!important;padding-right:1.4em!important}.ui.right.labeled.icon.button .icon{left:auto;right:0;-webkit-border-radius:0 .2em .2em 0;-moz-border-radius:0 .2em .2em 0;border-radius:0 .2em .2em 0;-webkit-box-shadow:2px 0 0 0 rgba(0,0,0,.05) inset;-moz-box-shadow:2px 0 0 0 rgba(0,0,0,.05) inset;box-shadow:2px 0 0 0 rgba(0,0,0,.05) inset}.ui.toggle.buttons .active.button,.ui.buttons .button.toggle.active,.ui.button.toggle.active{background-color:#5BBD72!important;color:#FFF!important}.ui.button.toggle.active:hover{background-color:#58CB73!important;color:#FFF!important}.ui.circular.button{-webkit-border-radius:10em;-moz-border-radius:10em;border-radius:10em}.ui.attached.button{display:block;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1)!important;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1)!important;box-shadow:0 0 0 1px rgba(0,0,0,.1)!important}.ui.attached.top.button{-webkit-border-radius:.2em .2em 0 0;-moz-border-radius:.2em .2em 0 0;border-radius:.2em .2em 0 0}.ui.attached.bottom.button{-webkit-border-radius:0 0 .2em .2em;-moz-border-radius:0 0 .2em .2em;border-radius:0 0 .2em .2em}.ui.attached.left.button{display:inline-block;border-left:0;padding-right:.75em;text-align:right;-webkit-border-radius:.2em 0 0 .2em;-moz-border-radius:.2em 0 0 .2em;border-radius:.2em 0 0 .2em}.ui.attached.right.button{display:inline-block;padding-left:.75em;text-align:left;-webkit-border-radius:0 .2em .2em 0;-moz-border-radius:0 .2em .2em 0;border-radius:0 .2em .2em 0}.ui.buttons .or{position:relative;float:left;width:.3em;height:1em;z-index:3}.ui.buttons .or:before{position:absolute;top:50%;left:50%;content:'or';background-color:#FFF;margin-top:-.15em;margin-left:-.9em;width:1.8em;height:1.8em;line-height:1.66;color:#AAA;font-style:normal;font-weight:400;text-align:center;-moz-box-shadow:0 2px 1px 0 rgba(0,0,0,.2) inset;-webkit-box-shadow:0 2px 1px 0 rgba(0,0,0,.2) inset;box-shadow:0 2px 1px 0 rgba(0,0,0,.2) inset;-moz-border-radius:500px;-webkit-border-radius:500px;border-radius:500px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.buttons .or:after{position:absolute;top:0;left:0;content:' ';width:.3em;height:1.8em;background-color:transparent;border-top:.6em solid #FFF;border-bottom:.6em solid #FFF}.ui.fluid.buttons .or{width:0!important}.ui.fluid.buttons .or:after{display:none}.attached.ui.buttons{margin:0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.attached.ui.buttons .button:first-child{-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0;border-radius:4px 0 0}.attached.ui.buttons .button:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0}.bottom.attached.ui.buttons{margin-top:-1px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.bottom.attached.ui.buttons .button:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px}.bottom.attached.ui.buttons .button:last-child{-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px;border-radius:0 0 4px}.left.attached.ui.buttons{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.left.attached.ui.buttons .button:first-child{margin-left:-1px;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0}.left.attached.ui.buttons .button:last-child{margin-left:-1px;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px;border-radius:0 0 4px}.right.attached.ui.buttons,.right.attached.ui.buttons .button{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.right.attached.ui.buttons .button:first-child{margin-left:-1px;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0;border-radius:4px 0 0}.right.attached.ui.buttons .button:last-child{margin-left:-1px;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px}.ui.fluid.buttons,.ui.button.fluid,.ui.fluid.buttons>.button{display:block;width:100%}.ui.two.buttons>.button{width:50%}.ui.three.buttons>.button{width:33.333%}.ui.four.buttons>.button{width:25%}.ui.five.buttons>.button{width:20%}.ui.six.buttons>.button{width:16.666%}.ui.seven.buttons>.button{width:14.285%}.ui.eight.buttons>.button{width:12.5%}.ui.nine.buttons>.button{width:11.11%}.ui.ten.buttons>.button{width:10%}.ui.eleven.buttons>.button{width:9.09%}.ui.twelve.buttons>.button{width:8.3333%}.ui.fluid.vertical.buttons,.ui.fluid.vertical.buttons>.button{width:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.two.vertical.buttons>.button{height:50%}.ui.three.vertical.buttons>.button{height:33.333%}.ui.four.vertical.buttons>.button{height:25%}.ui.five.vertical.buttons>.button{height:20%}.ui.six.vertical.buttons>.button{height:16.666%}.ui.seven.vertical.buttons>.button{height:14.285%}.ui.eight.vertical.buttons>.button{height:12.5%}.ui.nine.vertical.buttons>.button{height:11.11%}.ui.ten.vertical.buttons>.button{height:10%}.ui.eleven.vertical.buttons>.button{height:9.09%}.ui.twelve.vertical.buttons>.button{height:8.3333%}.ui.white.buttons .button,.ui.white.button{background-color:#FFF}.ui.white.buttons .button:hover,.ui.white.button:hover{background-color:#A4A4A4}.ui.black.buttons .button,.ui.black.button{background-color:#5C6166;color:#FFF}.ui.black.buttons .button:hover,.ui.black.button:hover{background-color:#4C4C4C;color:#FFF}.ui.black.buttons .button:active,.ui.black.button:active{background-color:#333;color:#FFF}.ui.green.buttons .button,.ui.green.button{background-color:#5BBD72;color:#FFF}.ui.green.buttons .button:hover,.ui.green.button:hover,.ui.green.buttons .active.button,.ui.green.button.active{background-color:#58cb73;color:#FFF}.ui.green.buttons .button:active,.ui.green.button:active{background-color:#4CB164;color:#FFF}.ui.red.buttons .button,.ui.red.button{background-color:#D95C5C;color:#FFF}.ui.red.buttons .button:hover,.ui.red.button:hover,.ui.red.buttons .active.button,.ui.red.button.active{background-color:#E75859;color:#FFF}.ui.red.buttons .button:active,.ui.red.button:active{background-color:#D24B4C;color:#FFF}.ui.orange.buttons .button,.ui.orange.button{background-color:#E96633;color:#FFF}.ui.orange.buttons .button:hover,.ui.orange.button:hover,.ui.orange.buttons .active.button,.ui.orange.button.active{background-color:#FF7038;color:#FFF}.ui.orange.buttons .button:active,.ui.orange.button:active{background-color:#DA683B;color:#FFF}.ui.blue.buttons .button,.ui.blue.button{background-color:#6ECFF5;color:#FFF}.ui.blue.buttons .button:hover,.ui.blue.button:hover,.ui.blue.buttons .active.button,.ui.blue.button.active{background-color:#1AB8F3;color:#FFF}.ui.blue.buttons .button:active,.ui.blue.button:active{background-color:#0AA5DF;color:#FFF}.ui.purple.buttons .button,.ui.purple.button{background-color:#564F8A;color:#FFF}.ui.purple.buttons .button:hover,.ui.purple.button:hover,.ui.purple.buttons .active.button,.ui.purple.button.active{background-color:#3E3773;color:#FFF}.ui.purple.buttons .button:active,.ui.purple.button:active{background-color:#2E2860;color:#FFF}.ui.teal.buttons .button,.ui.teal.button{background-color:#00B5AD;color:#FFF}.ui.teal.buttons .button:hover,.ui.teal.button:hover,.ui.teal.buttons .active.button,.ui.teal.button.active{background-color:#009A93;color:#FFF}.ui.teal.buttons .button:active,.ui.teal.button:active{background-color:#00847E;color:#FFF}.ui.positive.buttons .button,.ui.positive.button{background-color:#5BBD72!important;color:#FFF}.ui.positive.buttons .button:hover,.ui.positive.button:hover,.ui.positive.buttons .active.button,.ui.positive.button.active{background-color:#58CB73!important;color:#FFF}.ui.positive.buttons .button:active,.ui.positive.button:active{background-color:#4CB164!important;color:#FFF}.ui.negative.buttons .button,.ui.negative.button{background-color:#D95C5C!important;color:#FFF}.ui.negative.buttons .button:hover,.ui.negative.button:hover,.ui.negative.buttons .active.button,.ui.negative.button.active{background-color:#E75859!important;color:#FFF}.ui.negative.buttons .button:active,.ui.negative.button:active{background-color:#D24B4C!important;color:#FFF}.ui.buttons{display:inline-block;vertical-align:middle}.ui.buttons:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.buttons .button:first-child{border-left:0}.ui.buttons .button{float:left;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-left:1px solid rgba(0,0,0,.05)}.ui.buttons .button:first-child{margin-left:0;border-top-left-radius:.2em;border-bottom-left-radius:.2em}.ui.buttons .button:last-child{border-top-right-radius:.2em;border-bottom-right-radius:.2em}.ui.vertical.buttons{display:inline-block}.ui.vertical.buttons .button{display:block;float:none;border-bottom:1px solid rgba(0,0,0,.05);border-left:0;box-shadow:none}.ui.vertical.buttons .button:first-child,.ui.vertical.buttons .mini.button:first-child,.ui.vertical.buttons .tiny.button:first-child,.ui.vertical.buttons .small.button:first-child,.ui.vertical.buttons .massive.button:first-child,.ui.vertical.buttons .huge.button:first-child{margin-top:0;-moz-border-radius:.2em .2em 0 0;-webkit-border-radius:.2em .2em 0 0;border-radius:.2em .2em 0 0}.ui.vertical.buttons .button:last-child,.ui.vertical.buttons .mini.button:last-child,.ui.vertical.buttons .tiny.button:last-child,.ui.vertical.buttons .small.button:last-child,.ui.vertical.buttons .massive.button:last-child,.ui.vertical.buttons .huge.button:last-child,.ui.vertical.buttons .gigantic.button:last-child{-moz-border-radius:0 0 .2em .2em;-webkit-border-radius:0 0 .2em .2em;border-radius:0 0 .2em .2em}.ui.divider{margin:1rem 0rem;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(255,255,255,.8);line-height:1;height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.ui.vertical.divider,.ui.horizontal.divider{position:absolute;border:0;height:0;margin:0;background-color:transparent;font-size:.875rem;font-weight:700;text-align:center;text-transform:uppercase;color:rgba(0,0,0,.8)}.ui.vertical.divider{position:absolute;z-index:2;top:50%;left:50%;margin:0 0 0 -3%;width:6%;height:50%;line-height:0;padding:0}.ui.vertical.divider:before,.ui.vertical.divider:after{position:absolute;left:50%;content:" ";z-index:3;border-left:1px solid rgba(0,0,0,.1);border-right:1px solid rgba(255,255,255,.8);width:0;height:80%}.ui.vertical.divider:before{top:-100%}.ui.vertical.divider:after{top:auto;bottom:0}.ui.horizontal.divider{position:relative;top:0;left:0;margin:1rem 1.5rem;height:auto;padding:0;line-height:1}.ui.horizontal.divider:before,.ui.horizontal.divider:after{position:absolute;content:" ";z-index:3;width:50%;top:50%;height:0;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(255,255,255,.8)}.ui.horizontal.divider:before{left:0;margin-left:-1.5rem}.ui.horizontal.divider:after{left:auto;right:0;margin-right:-1.5rem}.ui.divider>.icon{margin:0;font-size:1rem;vertical-align:middle}.ui.divider.inverted{color:#fff}.ui.vertical.inverted.divider,.ui.horizontal.inverted.divider{color:rgba(255,255,255,.9)}.ui.divider.inverted,.ui.divider.inverted:after,.ui.divider.inverted:before{border-top-color:rgba(0,0,0,.15);border-bottom-color:rgba(255,255,255,.15);border-left-color:rgba(0,0,0,.15);border-right-color:rgba(255,255,255,.15)}.ui.fitted.divider{margin:0}.ui.clearing.divider{clear:both}.ui.section.divider{margin-top:2rem;margin-bottom:2rem}.ui.header{border:0;margin:1em 0 1rem;padding:0;font-size:1.33em;font-weight:700;line-height:1.33}.ui.header .sub.header{font-size:1rem;font-weight:400;margin:0;padding:0;line-height:1.2;color:rgba(0,0,0,.5)}.ui.header .icon{display:table-cell;vertical-align:middle;padding-right:.5em}.ui.header .icon:only-child{display:inline-block}.ui.header .content{display:inline-block;vertical-align:top}.ui.header .icon+.content{padding-left:.5em;display:table-cell}.ui.header:first-child{margin-top:0}.ui.header:last-child{margin-bottom:0}.ui.header+p{margin-top:0}h1.ui.header{min-height:1rem;line-height:1.33;font-size:2rem}h2.ui.header{line-height:1.33;font-size:1.75rem}h3.ui.header{line-height:1.33;font-size:1.33rem}h4.ui.header{line-height:1.33;font-size:1.1rem}h5.ui.header{line-height:1.2;font-size:1rem}.ui.huge.header{min-height:1em;font-size:2em}.ui.large.header{font-size:1.75em}.ui.medium.header{font-size:1.33em}.ui.small.header{font-size:1.1em}.ui.tiny.header{font-size:1em}.ui.icon.header{display:inline-block;text-align:center}.ui.icon.header .icon{float:none;display:block;font-size:3em;margin:0 auto .2em;padding:0}.ui.icon.header .content{display:block}.ui.icon.header .circular.icon,.ui.icon.header .square.icon{font-size:2em}.ui.block.icon.header .icon{margin-bottom:0}.ui.icon.header.aligned{margin-left:auto;margin-right:auto;display:block}.ui.disabled.header{opacity:.5}.ui.blue.header{color:#6ECFF5!important}.ui.black.header{color:#5C6166!important}.ui.green.header{color:#A1CF64!important}.ui.red.header{color:#D95C5C!important}.ui.purple.header{color:#564F8A!important}.ui.teal.header{color:#00B5AD!important}.ui.blue.dividing.header{border-bottom:3px solid #6ECFF5}.ui.black.dividing.header{border-bottom:3px solid #5C6166}.ui.green.dividing.header{border-bottom:3px solid #A1CF64}.ui.red.dividing.header{border-bottom:3px solid #D95C5C}.ui.purple.dividing.header{border-bottom:3px solid #564F8A}.ui.teal.dividing.header{border-bottom:3px solid #00B5AD}.ui.inverted.header{color:#FFF}.ui.inverted.header .sub.header{color:rgba(255,255,255,.85)}.ui.inverted.black.header{background-color:#5C6166!important;color:#FFF!important}.ui.inverted.blue.header{background-color:#6ECFF5!important;color:#FFF!important}.ui.inverted.green.header{background-color:#A1CF64!important;color:#FFF!important}.ui.inverted.red.header{background-color:#D95C5C!important;color:#FFF!important}.ui.inverted.purple.header{background-color:#564F8A!important;color:#FFF!important}.ui.inverted.teal.header{background-color:#00B5AD!important;color:#FFF!important}.ui.inverted.block.header{border-bottom:0}.ui.left.aligned.header{text-align:left}.ui.right.aligned.header{text-align:right}.ui.center.aligned.header{text-align:center}.ui.floated.header,.ui.left.floated.header{float:left;margin-top:0;margin-right:.5em}.ui.right.floated.header{float:right;margin-top:0;margin-left:.5em}.ui.fitted.header{padding:0}.ui.dividing.header{padding-bottom:.2rem;border-bottom:1px solid rgba(0,0,0,.1)}.ui.dividing.header .sub.header{padding-bottom:.5em}.ui.dividing.header .icon{margin-bottom:.2em}.ui.block.header{background-color:#F5F5F5;padding:.5em 1em}.ui.attached.header{background-color:#E0E0E0;padding:.5em 1rem;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1)}.ui.top.attached.header{margin-bottom:0;-webkit-border-radius:.3125em .3125em 0 0;-moz-border-radius:.3125em .3125em 0 0;border-radius:.3125em .3125em 0 0}.ui.bottom.attached.header{margin-top:0;-webkit-border-radius:0 0 .3125em .3125em;-moz-border-radius:0 0 .3125em .3125em;border-radius:0 0 .3125em .3125em}/*! - * Font Awesome 3.2.1 - * the iconic font designed for Bootstrap - * ------------------------------------------------------------------------------ - * The full suite of pictographic icons, examples, and documentation can be - * found at http://fon.io. Stay up to date on Twitter at - * http://twitter.com/fon. - * - * License - * ------------------------------------------------------------------------------ - * - The Font Awesome font is licensed under SIL OFL 1.1 - - * http://scripts.sil.org/OFL - -/******************************* - Icon -*******************************/@font-face{font-family:Icons;src:url(../fonts/icons.eot);src:url(../fonts/icons.eot?#iefix) format('embedded-opentype'),url(../fonts/icons.woff) format('woff'),url(../fonts/icons.ttf) format('truetype'),url(../fonts/icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon{display:inline-block;opacity:.75;margin:0 .25em 0 0;width:1.23em;height:1em;font-family:Icons;font-style:normal;line-height:1;font-weight:400;text-decoration:inherit;text-align:center;speak:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;font-smoothing:antialiased}i.icon.left:before{content:"\f060"}i.icon.right:before{content:"\f061"}i.icon.add.sign.box:before{content:"\f0fe"}i.icon.add.sign:before{content:"\f055"}i.icon.add:before{content:"\f067"}i.icon.adjust:before{content:"\f042"}i.icon.adn:before{content:"\f170"}i.icon.align.center:before{content:"\f037"}i.icon.align.justify:before{content:"\f039"}i.icon.align.left:before{content:"\f036"}i.icon.align.right:before{content:"\f038"}i.icon.ambulance:before{content:"\f0f9"}i.icon.anchor:before{content:"\f13d"}i.icon.android:before{content:"\f17b"}i.icon.angle.down:before{content:"\f107"}i.icon.angle.left:before{content:"\f104"}i.icon.angle.right:before{content:"\f105"}i.icon.angle.up:before{content:"\f106"}i.icon.apple:before{content:"\f179"}i.icon.archive:before{content:"\f187"}i.icon.arrow.down:before{content:"\f078"}i.icon.arrow.left:before{content:"\f053"}i.icon.arrow.right:before{content:"\f054"}i.icon.arrow.sign.down:before{content:"\f13a"}i.icon.arrow.sign.left:before{content:"\f137"}i.icon.arrow.sign.right:before{content:"\f138"}i.icon.arrow.sign.up:before{content:"\f139"}i.icon.arrow.up:before{content:"\f077"}i.icon.asterisk:before{content:"\f069"}i.icon.attachment:before{content:"\f0c6"}i.icon.attention:before{content:"\f06a"}i.icon.backward:before{content:"\f04a"}i.icon.ban.circle:before{content:"\f05e"}i.icon.bar.chart:before{content:"\f080"}i.icon.barcode:before{content:"\f02a"}i.icon.beer:before{content:"\f0fc"}i.icon.bell.outline:before{content:"\f0a2"}i.icon.bell:before{content:"\f0f3"}i.icon.bitbucket.sign:before{content:"\f172"}i.icon.bitbucket:before{content:"\f171"}i.icon.bitcoin:before{content:"\f15a"}i.icon.bold:before{content:"\f032"}i.icon.bolt:before{content:"\f0e7"}i.icon.book:before{content:"\f02d"}i.icon.bookmark.empty:before{content:"\f097"}i.icon.bookmark:before{content:"\f02e"}i.icon.box.arrow.down:before{content:"\f150"}i.icon.box.arrow.right:before{content:"\f152"}i.icon.box.arrow.up:before{content:"\f151"}i.icon.briefcase:before{content:"\f0b1"}i.icon.browser:before{content:"\f022"}i.icon.bug:before{content:"\f188"}i.icon.building:before{content:"\f0f7"}i.icon.bullhorn:before{content:"\f0a1"}i.icon.bullseye:before{content:"\f140"}i.icon.calendar.empty:before{content:"\f133"}i.icon.calendar:before{content:"\f073"}i.icon.camera.retro:before{content:"\f083"}i.icon.camera:before{content:"\f030"}i.icon.triangle.down:before{content:"\f0d7"}i.icon.triangle.left:before{content:"\f0d9"}i.icon.triangle.right:before{content:"\f0da"}i.icon.triangle.up:before{content:"\f0d8"}i.icon.cart:before{content:"\f07a"}i.icon.certificate:before{content:"\f0a3"}i.icon.chat.outline:before{content:"\f0e6"}i.icon.chat:before{content:"\f086"}i.icon.checkbox.empty:before{content:"\f096"}i.icon.checkbox.minus:before{content:"\f147"}i.icon.checked.checkbox:before{content:"\f046"}i.icon.checkmark.sign:before{content:"\f14a"}i.icon.checkmark:before{content:"\f00c"}i.icon.circle.blank:before{content:"\f10c"}i.icon.circle.down:before{content:"\f0ab"}i.icon.circle.left:before{content:"\f0a8"}i.icon.circle.right:before{content:"\f0a9"}i.icon.circle.up:before{content:"\f0aa"}i.icon.circle:before{content:"\f111"}i.icon.cloud.download:before{content:"\f0ed"}i.icon.cloud.upload:before{content:"\f0ee"}i.icon.cloud:before{content:"\f0c2"}i.icon.code.fork:before{content:"\f126"}i.icon.code:before{content:"\f121"}i.icon.coffee:before{content:"\f0f4"}i.icon.collapse:before{content:"\f117"}i.icon.comment.outline:before{content:"\f0e5"}i.icon.comment:before{content:"\f075"}i.icon.copy:before{content:"\f0c5"}i.icon.crop:before{content:"\f125"}i.icon.css3:before{content:"\f13c"}i.icon.cut:before{content:"\f0c4"}i.icon.dashboard:before{content:"\f0e4"}i.icon.desktop:before{content:"\f108"}i.icon.doctor:before{content:"\f0f0"}i.icon.dollar:before{content:"\f155"}i.icon.double.angle.down:before{content:"\f103"}i.icon.double.angle.left:before{content:"\f100"}i.icon.double.angle.right:before{content:"\f101"}i.icon.double.angle.up:before{content:"\f102"}i.icon.down:before{content:"\f063"}i.icon.download.disk:before{content:"\f019"}i.icon.download:before{content:"\f01a"}i.icon.dribbble:before{content:"\f17d"}i.icon.dropbox:before{content:"\f16b"}i.icon.edit.sign:before{content:"\f14b"}i.icon.edit:before{content:"\f044"}i.icon.eject:before{content:"\f052"}i.icon.ellipsis.horizontal:before{content:"\f141"}i.icon.ellipsis.vertical:before{content:"\f142"}i.icon.eraser:before{content:"\f12d"}i.icon.euro:before{content:"\f153"}i.icon.exchange:before{content:"\f0ec"}i.icon.exclamation:before{content:"\f12a"}i.icon.expand:before{content:"\f116"}i.icon.external.url.sign:before{content:"\f14c"}i.icon.external.url:before{content:"\f08e"}i.icon.facebook.sign:before{content:"\f082"}i.icon.facebook:before{content:"\f09a"}i.icon.facetime.video:before{content:"\f03d"}i.icon.fast.backward:before{content:"\f049"}i.icon.fast.forward:before{content:"\f050"}i.icon.female:before{content:"\f182"}i.icon.fighter.jet:before{content:"\f0fb"}i.icon.file.outline:before{content:"\f016"}i.icon.file.text.outline:before{content:"\f0f6"}i.icon.file.text:before{content:"\f15c"}i.icon.file:before{content:"\f15b"}i.icon.filter:before{content:"\f0b0"}i.icon.fire.extinguisher:before{content:"\f134"}i.icon.fire:before{content:"\f06d"}i.icon.flag.checkered:before{content:"\f11e"}i.icon.flag.empty:before{content:"\f11d"}i.icon.flag:before{content:"\f024"}i.icon.flickr:before{content:"\f16e"}i.icon.folder.open.outline:before{content:"\f115"}i.icon.folder.open:before{content:"\f07c"}i.icon.folder.outline:before{content:"\f114"}i.icon.folder:before{content:"\f07b"}i.icon.font:before{content:"\f031"}i.icon.food:before{content:"\f0f5"}i.icon.forward.mail:before{content:"\f064"}i.icon.forward:before{content:"\f04e"}i.icon.foursquare:before{content:"\f180"}i.icon.frown:before{content:"\f119"}i.icon.fullscreen:before{content:"\f0b2"}i.icon.gamepad:before{content:"\f11b"}i.icon.gift:before{content:"\f06b"}i.icon.github.alternate:before{content:"\f09b"}i.icon.github.sign:before{content:"\f092"}i.icon.github:before{content:"\f113"}i.icon.gittip:before{content:"\f184"}i.icon.glass:before{content:"\f000"}i.icon.globe:before{content:"\f0ac"}i.icon.google.plus.sign:before{content:"\f0d4"}i.icon.google.plus:before{content:"\f0d5"}i.icon.h.sign:before{content:"\f0fd"}i.icon.hand.down:before{content:"\f0a7"}i.icon.hand.left:before{content:"\f0a5"}i.icon.hand.right:before{content:"\f0a4"}i.icon.hand.up:before{content:"\f0a6"}i.icon.hdd:before{content:"\f0a0"}i.icon.headphones:before{content:"\f025"}i.icon.heart.empty:before{content:"\f08a"}i.icon.heart:before{content:"\f004"}i.icon.help:before{content:"\f059"}i.icon.hide:before{content:"\f070"}i.icon.home:before{content:"\f015"}i.icon.hospital:before{content:"\f0f8"}i.icon.html5:before{content:"\f13b"}i.icon.inbox:before{content:"\f01c"}i.icon.indent.left:before{content:"\f03b"}i.icon.indent.right:before{content:"\f03c"}i.icon.info.letter:before{content:"\f129"}i.icon.info:before{content:"\f05a"}i.icon.instagram:before{content:"\f16d"}i.icon.italic:before{content:"\f033"}i.icon.key:before{content:"\f084"}i.icon.keyboard:before{content:"\f11c"}i.icon.lab:before{content:"\f0c3"}i.icon.laptop:before{content:"\f109"}i.icon.layout.block:before{content:"\f009"}i.icon.layout.column:before{content:"\f0db"}i.icon.layout.grid:before{content:"\f00a"}i.icon.layout.list:before{content:"\f00b"}i.icon.leaf:before{content:"\f06c"}i.icon.legal:before{content:"\f0e3"}i.icon.lemon:before{content:"\f094"}i.icon.level.down:before{content:"\f149"}i.icon.level.up:before{content:"\f148"}i.icon.lightbulb:before{content:"\f0eb"}i.icon.linkedin.sign:before{content:"\f08c"}i.icon.linkedin:before{content:"\f0e1"}i.icon.linux:before{content:"\f17c"}i.icon.list.ordered:before{content:"\f0cb"}i.icon.list.unordered:before{content:"\f0ca"}i.icon.list:before{content:"\f03a"}i.icon.loading:before{content:"\f110"}i.icon.location:before{content:"\f124"}i.icon.lock:before{content:"\f023"}i.icon.long.arrow.down:before{content:"\f175"}i.icon.long.arrow.left:before{content:"\f177"}i.icon.long.arrow.right:before{content:"\f178"}i.icon.long.arrow.up:before{content:"\f176"}i.icon.magic:before{content:"\f0d0"}i.icon.magnet:before{content:"\f076"}i.icon.mail.outline:before{content:"\f003"}i.icon.mail.reply:before{content:"\f112"}i.icon.mail:before{content:"\f0e0"}i.icon.male:before{content:"\f183"}i.icon.map.marker:before{content:"\f041"}i.icon.map:before{content:"\f14e"}i.icon.maxcdn:before{content:"\f136"}i.icon.medkit:before{content:"\f0fa"}i.icon.meh:before{content:"\f11a"}i.icon.minus.sign.alternate:before{content:"\f146"}i.icon.minus.sign:before{content:"\f056"}i.icon.minus:before{content:"\f068"}i.icon.mobile:before{content:"\f10b"}i.icon.money:before{content:"\f0d6"}i.icon.moon:before{content:"\f186"}i.icon.move:before{content:"\f047"}i.icon.music:before{content:"\f001"}i.icon.mute:before{content:"\f131"}i.icon.off:before{content:"\f011"}i.icon.ok.circle:before{content:"\f05d"}i.icon.ok.sign:before{content:"\f058"}i.icon.paste:before{content:"\f0ea"}i.icon.pause:before{content:"\f04c"}i.icon.payment:before{content:"\f09d"}i.icon.pencil:before{content:"\f040"}i.icon.phone.sign:before{content:"\f098"}i.icon.phone:before{content:"\f095"}i.icon.photo:before{content:"\f03e"}i.icon.pin:before{content:"\f08d"}i.icon.pinterest.sign:before{content:"\f0d3"}i.icon.pinterest:before{content:"\f0d2"}i.icon.plane:before{content:"\f072"}i.icon.play.circle:before{content:"\f01d"}i.icon.play.sign:before{content:"\f144"}i.icon.play:before{content:"\f04b"}i.icon.pound:before{content:"\f154"}i.icon.print:before{content:"\f02f"}i.icon.puzzle.piece:before{content:"\f12e"}i.icon.qr.code:before{content:"\f029"}i.icon.question:before{content:"\f128"}i.icon.quote.left:before{content:"\f10d"}i.icon.quote.right:before{content:"\f10e"}i.icon.refresh:before{content:"\f021"}i.icon.remove.circle:before{content:"\f05c"}i.icon.remove.sign:before{content:"\f057"}i.icon.remove:before{content:"\f00d"}i.icon.renren:before{content:"\f18b"}i.icon.reorder:before{content:"\f0c9"}i.icon.repeat:before{content:"\f01e"}i.icon.reply.all.mail:before{content:"\f122"}i.icon.resize.full:before{content:"\f065"}i.icon.resize.horizontal:before{content:"\f07e"}i.icon.resize.small:before{content:"\f066"}i.icon.resize.vertical:before{content:"\f07d"}i.icon.retweet:before{content:"\f079"}i.icon.road:before{content:"\f018"}i.icon.rocket:before{content:"\f135"}i.icon.rss.sign:before{content:"\f143"}i.icon.rss:before{content:"\f09e"}i.icon.rupee:before{content:"\f156"}i.icon.save:before{content:"\f0c7"}i.icon.screenshot:before{content:"\f05b"}i.icon.search:before{content:"\f002"}i.icon.setting:before{content:"\f013"}i.icon.settings:before{content:"\f085"}i.icon.share.sign:before{content:"\f14d"}i.icon.share:before{content:"\f045"}i.icon.shield:before{content:"\f132"}i.icon.shuffle:before{content:"\f074"}i.icon.sign.in:before{content:"\f090"}i.icon.sign.out:before{content:"\f08b"}i.icon.sign:before{content:"\f0c8"}i.icon.signal:before{content:"\f012"}i.icon.sitemap:before{content:"\f0e8"}i.icon.skype:before{content:"\f17e"}i.icon.smile:before{content:"\f118"}i.icon.sort.alphabet.descending:before{content:"\f15e"}i.icon.sort.alphabet:before{content:"\f15d"}i.icon.sort.ascending:before{content:"\f0de"}i.icon.sort.attributes.descending:before{content:"\f161"}i.icon.sort.attributes:before{content:"\f160"}i.icon.sort.descending:before{content:"\f0dd"}i.icon.sort.order.descending:before{content:"\f163"}i.icon.sort.order:before{content:"\f162"}i.icon.sort:before{content:"\f0dc"}i.icon.stackexchange:before{content:"\f16c"}i.icon.star.empty:before{content:"\f006"}i.icon.star.half.empty:before{content:"\f123"}i.icon.star.half.full:before,i.icon.star.half:before{content:"\f089"}i.icon.star:before{content:"\f005"}i.icon.step.backward:before{content:"\f048"}i.icon.step.forward:before{content:"\f051"}i.icon.stethoscope:before{content:"\f0f1"}i.icon.stop:before{content:"\f04d"}i.icon.strikethrough:before{content:"\f0cc"}i.icon.subscript:before{content:"\f12c"}i.icon.suitcase:before{content:"\f0f2"}i.icon.sun:before{content:"\f185"}i.icon.superscript:before{content:"\f12b"}i.icon.table:before{content:"\f0ce"}i.icon.tablet:before{content:"\f10a"}i.icon.tag:before{content:"\f02b"}i.icon.tags:before{content:"\f02c"}i.icon.tasks:before{content:"\f0ae"}i.icon.terminal:before{content:"\f120"}i.icon.text.height:before{content:"\f034"}i.icon.text.width:before{content:"\f035"}i.icon.thumbs.down.outline:before{content:"\f088"}i.icon.thumbs.down:before{content:"\f165"}i.icon.thumbs.up.outline:before{content:"\f087"}i.icon.thumbs.up:before{content:"\f164"}i.icon.ticket:before{content:"\f145"}i.icon.time:before{content:"\f017"}i.icon.tint:before{content:"\f043"}i.icon.trash:before{content:"\f014"}i.icon.trello:before{content:"\f181"}i.icon.trophy:before{content:"\f091"}i.icon.truck:before{content:"\f0d1"}i.icon.tumblr.sign:before{content:"\f174"}i.icon.tumblr:before{content:"\f173"}i.icon.twitter.sign:before{content:"\f081"}i.icon.twitter:before{content:"\f099"}i.icon.umbrella:before{content:"\f0e9"}i.icon.underline:before{content:"\f0cd"}i.icon.undo:before{content:"\f0e2"}i.icon.unhide:before{content:"\f06e"}i.icon.unlink:before{content:"\f127"}i.icon.unlock.alternate:before{content:"\f13e"}i.icon.unlock:before{content:"\f09c"}i.icon.unmute:before{content:"\f130"}i.icon.up:before{content:"\f062"}i.icon.upload.disk:before{content:"\f093"}i.icon.upload:before{content:"\f01b"}i.icon.url:before{content:"\f0c1"}i.icon.user:before{content:"\f007"}i.icon.users:before{content:"\f0c0"}i.icon.video:before{content:"\f008"}i.icon.vk:before{content:"\f189"}i.icon.volume.down:before{content:"\f027"}i.icon.volume.off:before{content:"\f026"}i.icon.volume.up:before{content:"\f028"}i.icon.warning:before{content:"\f071"}i.icon.weibo:before{content:"\f18a"}i.icon.windows:before{content:"\f17a"}i.icon.won:before{content:"\f159"}i.icon.wrench:before{content:"\f0ad"}i.icon.xing.sign:before{content:"\f169"}i.icon.xing:before{content:"\f168"}i.icon.yen:before{content:"\f157"}i.icon.youtube.play:before{content:"\f16a"}i.icon.youtube.sign:before{content:"\f166"}i.icon.youtube:before{content:"\f167"}i.icon.yuan:before{content:"\f158"}i.icon.zoom.in:before{content:"\f00e"}i.icon.zoom.out:before{content:"\f010"}i.icon.check:before{content:"\f00c"}i.icon.close:before{content:"\f00d"}i.icon.delete:before{content:"\f00d"}i.icon.like:before{content:"\f004"}i.icon.plus:before{content:"\f067"}i.icon.signup:before{content:"\f044"}i.icon.star{width:auto;margin:0}i.icon.left,i.icon.left,i.icon.left{width:auto;margin:0 .5em 0 0}i.icon.search,i.icon.up,i.icon.down,i.icon.right{width:auto;margin:0 0 0 .5em}i.icon.loading{-webkit-animation:icon-loading 2s linear infinite;-moz-animation:icon-loading 2s linear infinite;-ms-animation:icon-loading 2s linear infinite;-o-animation:icon-loading 2s linear infinite;animation:icon-loading 2s linear infinite}@keyframes icon-loading{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes icon-loading{from{-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes icon-loading{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes icon-loading{from{-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes icon-loading{from{-o-transform:rotate(0deg);transform:rotate(0deg)}to{-o-transform:rotate(360deg);transform:rotate(360deg)}}i.icon.hover{opacity:1}i.icon.active{opacity:1}i.emphasized.icon{opacity:1}i.icon.disabled{opacity:.3}i.link.icon{cursor:pointer;opacity:.7;-webkit-transition:opacity .3s ease-out;-moz-transition:opacity .3s ease-out;-o-transition:opacity .3s ease-out;-ms-transition:opacity .3s ease-out;transition:opacity .3s ease-out}i.link.icon:hover{opacity:1!important}i.circular.icon{-webkit-border-radius:500em!important;-moz-border-radius:500em!important;border-radius:500em!important;padding:.5em .35em!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;line-height:1!important;width:2em!important;height:2em!important}i.circular.inverted.icon{border:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}i.vertically.flipped.icon{-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-o-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}i.horizontally.flipped.icon{-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}i.rotated.icon,i.right.rotated.icon,i.clockwise.rotated.icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}i.left.rotated.icon,i.counterclockwise.rotated.icon{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}i.square.icon{width:2em;height:2em;padding:.5em .35em!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;vertical-align:baseline}i.square.icon:before{vertical-align:middle}i.square.inverted.icon{border:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}i.inverted.icon{background-color:#222;color:#FFF}i.blue.icon{color:#6ECFF5!important}i.black.icon{color:#5C6166!important}i.green.icon{color:#A1CF64!important}i.red.icon{color:#D95C5C!important}i.purple.icon{color:#564F8A!important}i.teal.icon{color:#00B5AD!important}i.inverted.black.icon{background-color:#5C6166!important;color:#FFF!important}i.inverted.blue.icon{background-color:#6ECFF5!important;color:#FFF!important}i.inverted.green.icon{background-color:#A1CF64!important;color:#FFF!important}i.inverted.red.icon{background-color:#D95C5C!important;color:#FFF!important}i.inverted.purple.icon{background-color:#564F8A!important;color:#FFF!important}i.inverted.teal.icon{background-color:#00B5AD!important;color:#FFF!important}i.small.icon{font-size:.875em}i.icon{font-size:1em}i.large.icon{font-size:1.5em;vertical-align:middle}i.big.icon{font-size:2em;vertical-align:middle}i.huge.icon{font-size:4em;vertical-align:middle}i.massive.icon{font-size:8em;vertical-align:middle}.ui.image{position:relative;display:inline-block;vertical-align:middle;max-width:100%;background-color:rgba(0,0,0,.05)}img.ui.image{display:block;background:0 0}.ui.image img{display:block;max-width:100%;height:auto}.ui.disabled.image{cursor:default;opacity:.3}.ui.rounded.images .image,.ui.rounded.images img,.ui.rounded.image img,.ui.rounded.image{-webkit-border-radius:.3125em;-moz-border-radius:.3125em;border-radius:.3125em}.ui.circular.images .image,.ui.circular.images img,.ui.circular.image img,.ui.circular.image{-webkit-border-radius:500rem;-moz-border-radius:500rem;border-radius:500rem}.ui.fluid.images,.ui.fluid.image,.ui.fluid.images img,.ui.fluid.image img{display:block;width:100%}.ui.avatar.images .image,.ui.avatar.images img,.ui.avatar.image img,.ui.avatar.image{margin-right:.5em;display:inline-block;width:2em;height:2em;-webkit-border-radius:500rem;-moz-border-radius:500rem;border-radius:500rem}.ui.floated.image,.ui.floated.images{float:left;margin-right:1em;margin-bottom:1em}.ui.right.floated.images,.ui.right.floated.image{float:right;margin-bottom:1em;margin-left:1em}.ui.tiny.images .image,.ui.tiny.images img,.ui.tiny.image{width:20px;font-size:.7rem}.ui.mini.images .image,.ui.mini.images img,.ui.mini.image{width:35px;font-size:.8rem}.ui.small.images .image,.ui.small.images img,.ui.small.image{width:80px;font-size:.9rem}.ui.medium.images .image,.ui.medium.images img,.ui.medium.image{width:300px;font-size:1rem}.ui.large.images .image,.ui.large.images img,.ui.large.image{width:450px;font-size:1.1rem}.ui.huge.images .image,.ui.huge.images img,.ui.huge.image{width:600px;font-size:1.2rem}.ui.images{font-size:0;margin:0 -.25rem 0rem}.ui.images .image,.ui.images img{display:inline-block;margin:0 .25em .5em}.ui.input{display:inline-block;position:relative;color:rgba(0,0,0,.7)}.ui.input input{width:100%;font-family:"Helvetica Neue",Helvetica,Arial;margin:0;padding:.85em 1.2em;font-size:.875em;background-color:#FFF;border:1px solid rgba(0,0,0,.15);outline:0;color:rgba(0,0,0,.7);-webkit-border-radius:.3125em;-moz-border-radius:.3125em;border-radius:.3125em;-webkit-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;-moz-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;-o-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;-ms-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.input::-web inputkit-input-placeholder{color:#E0E0E0}.ui.input::-moz input-placeholder{color:#E0E0E0}.ui.input input:active,.ui.input.down input{border-color:rgba(0,0,0,.3);background-color:#FAFAFA}.ui.loading.input>.icon{background:url(../images/loader-mini.gif) no-repeat 50% 50%}.ui.loading.input>.icon:before,.ui.loading.input>.icon:after{display:none}.ui.input.focus input,.ui.input input:focus{border-color:rgba(0,0,0,.2);color:rgba(0,0,0,.85)}.ui.input.focus input input::-webkit-input-placeholder,.ui.input input:focus input::-webkit-input-placeholder{color:#AAA}.ui.input.focus input input::-moz-placeholder,.ui.input input:focus input::-moz-placeholder{color:#AAA}.ui.input.error input{background-color:snow;border-color:#E7BEBE;color:#D95C5C}.ui.input.error input ::-webkit-input-placeholder{color:rgba(255,80,80,.4)}.ui.input.error input ::-moz-placeholder{color:rgba(255,80,80,.4)}.ui.input.error input :focus::-webkit-input-placeholder{color:rgba(255,80,80,.7)}.ui.input.error input :focus::-moz-placeholder{color:rgba(255,80,80,.7)}.ui.transparent.input input{border:0;background-color:transparent}.ui.icon.input>.icon{cursor:default;position:absolute;opacity:.5;top:0;right:0;margin:0;width:2.6em;height:100%;padding-top:.82em;text-align:center;-webkit-border-radius:0 .3125em .3125em 0;-moz-border-radius:0 .3125em .3125em 0;border-radius:0 .3125em .3125em 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:opacity .3s ease-out;-moz-transition:opacity .3s ease-out;-o-transition:opacity .3s ease-out;-ms-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.ui.icon.input>.link.icon{cursor:pointer}.ui.icon.input input{padding-right:3em!important}.ui.icon.input>.circular.icon{top:.35em;right:.5em}.ui.left.icon.input>.icon{right:auto;left:1px;-webkit-border-radius:.3125em 0 0 .3125em;-moz-border-radius:.3125em 0 0 .3125em;border-radius:.3125em 0 0 .3125em}.ui.left.icon.input>.circular.icon{right:auto;left:.5em}.ui.left.icon.input>input{padding-left:3em!important;padding-right:1.2em!important}.ui.icon.input>input:focus~.icon{opacity:1}.ui.labeled.input .corner.label{top:1px;right:1px;-webkit-border-top-right-radius:.3125em;-moz-border-top-right-radius:.3125em;border-top-right-radius:.3125em}.ui.labeled.input input{padding-right:2.5em!important}.ui.labeled.icon.input:not(.left)>input{padding-right:3.25em!important}.ui.labeled.icon.input:not(.left)>.icon{margin-right:.75em}.ui.action.input{display:table}.ui.action.input>input{display:table-cell;border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:0}.ui.action.input>.button{display:table-cell;opacity:.9;border-top-left-radius:0;border-bottom-left-radius:0;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;white-space:nowrap}.ui.action.input>.button>.icon{display:inline}.ui.action.input>input:focus~.button{opacity:1;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.2) inset;box-shadow:0 0 0 1px rgba(0,0,0,.2) inset}.ui.fluid.input{display:block}.ui.mini.input{font-size:.8125rem}.ui.tiny.input{font-size:.875rem}.ui.small.input{font-size:.875rem}.ui.input{font-size:1rem}.ui.large.input{font-size:1.125rem}.ui.big.input{font-size:1.25rem}.ui.huge.input{font-size:1.375rem}.ui.massive.input{font-size:1.5rem}.ui.label{display:inline-block;vertical-align:middle;margin:-.25em .25em 0;background-color:#E8E8E8;border-color:#E8E8E8;padding:.5em .8em;color:rgba(0,0,0,.65);text-transform:uppercase;font-weight:400;-webkit-border-radius:.325em;-moz-border-radius:.325em;border-radius:.325em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;-o-transition:background .1s linear;-ms-transition:background .1s linear;transition:background .1s linear}.ui.label:first-child{margin-left:0}.ui.label:last-child{margin-right:0}a.ui.label{cursor:pointer}.ui.label .detail{display:inline-block;margin-left:.5em;font-weight:700;opacity:.8}.ui.label .icon{width:auto}.ui.label .delete.icon{cursor:pointer;margin:0 0 0 .5em;opacity:.7;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;-o-transition:background .1s linear;-ms-transition:background .1s linear;transition:background .1s linear}.ui.label .delete.icon:hover{opacity:.99}.ui.image.label{width:auto!important;margin-top:0;margin-bottom:0;padding-top:.4em;padding-bottom:.4em;line-height:1.5em;vertical-align:baseline;text-transform:none;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.ui.image.label img{display:inline-block;height:2.25em;margin:-.4em .8em -.4em -.8em;vertical-align:top;-moz-border-radius:.325em 0 0 .325em;-webkit-border-radius:.325em 0 0 .325em;border-radius:.325em 0 0 .325em}.ui.label.disabled{opacity:.5}a.ui.labels .label:hover,a.ui.label:hover{background-color:#E0E0E0;border-color:#E0E0E0;color:rgba(0,0,0,.7)}.ui.labels a.label:hover:before,a.ui.label:hover:before{background-color:#E0E0E0;color:rgba(0,0,0,.7)}.ui.labels.visible .label,.ui.label.visible{display:inline-block!important}.ui.labels.hidden .label,.ui.label.hidden{display:none!important}.ui.tag.labels .label,.ui.tag.label{margin-left:1em;position:relative;padding:.33em 1.3em .33em 1.4em;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.ui.tag.labels .label:before,.ui.tag.label:before{position:absolute;top:.3em;left:.3em;content:'';margin-left:-1em;background-image:none;width:1.5em;height:1.5em;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:background .1s linear;-moz-transition:background .1s linear;-o-transition:background .1s linear;-ms-transition:background .1s linear;transition:background .1s linear}.ui.tag.labels .label:after,.ui.tag.label:after{position:absolute;content:'';top:50%;left:-.25em;margin-top:-.3em;background-color:#FFF;width:.55em;height:.55em;-webkit-box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);-moz-box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);-moz-border-radius:100px;-webkit-border-radius:100px;border-radius:100px}.ui.ribbon.label{position:relative;left:-1.8rem;padding-left:2rem;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.ui.ribbon.label:after{position:absolute;content:"";top:100%;left:0;border-top:0 solid transparent;border-right-width:1em;border-right-color:inherit;border-right-style:solid;border-bottom:1em solid transparent;border-left:0 solid transparent;width:0;height:0}.ui.top.attached.label,.ui.attached.label{width:100%;position:absolute;margin:0;top:0;left:0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.ui.bottom.attached.label{top:auto;bottom:0;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.ui.top.left.attached.label{width:auto;margin-top:0!important;-webkit-border-radius:4px 0;-moz-border-radius:4px 0;border-radius:4px 0}.ui.top.right.attached.label{width:auto;left:auto;right:0;-webkit-border-radius:0 4px;-moz-border-radius:0 4px;border-radius:0 4px}.ui.bottom.left.attached.label{width:auto;top:auto;bottom:0;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.ui.bottom.right.attached.label{top:auto;bottom:0;left:auto;right:0;width:auto;-webkit-border-radius:4px 0;-moz-border-radius:4px 0;border-radius:4px 0}.ui.corner.label{background-color:transparent;position:absolute;top:0;right:0;z-index:10;margin:0;font-size:.8125em;width:2rem;height:2rem;padding:0;text-align:center;-webkit-transition:color .2s ease;-moz-transition:color .2s ease;-o-transition:color .2s ease;-ms-transition:color .2s ease;transition:color .2s ease}.ui.corner.label:after{position:absolute;content:"";right:0;top:0;z-index:-1;width:0;height:0;border-top:0 solid transparent;border-right:3em solid transparent;border-bottom:3em solid transparent;border-left:0 solid transparent;border-right-color:inherit;-webkit-transition:border-color .2s ease;-moz-transition:border-color .2s ease;-o-transition:border-color .2s ease;-ms-transition:border-color .2s ease;transition:border-color .2s ease}.ui.corner.label .icon{margin:.4em 0 0 .7em}.ui.corner.label .text{display:inline-block;font-weight:700;margin:.5em 0 0 .6em;width:2.5em;font-size:.82em;text-align:center;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.ui.left.corner.label,.ui.left.corner.label:after{right:auto;left:0}.ui.left.corner.label:after{border-top:3em solid transparent;border-right:3em solid transparent;border-bottom:0 solid transparent;border-left:0 solid transparent;border-top-color:inherit}.ui.left.corner.label .icon{margin:.4em 0 0 -.7em}.ui.left.corner.label .text{margin:.5em 0 0 -.6em;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.ui.corner.label:hover{background-color:transparent}.ui.label.fluid,.ui.fluid.labels>.label{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.inverted.labels .label,.ui.inverted.label{color:#FFF!important}.ui.black.labels .label,.ui.black.label{background-color:#5C6166!important;border-color:#5C6166!important;color:#FFF!important}.ui.labels .black.label:before,.ui.black.labels .label:before,.ui.black.label:before{background-color:#5C6166!important}a.ui.black.labels .label:hover,a.ui.black.label:hover{background-color:#888!important;border-color:#888!important}.ui.labels a.black.label:hover:before,.ui.black.labels a.label:hover:before,a.ui.black.label:hover:before{background-color:#888!important}.ui.black.corner.label,.ui.black.corner.label:hover{background-color:transparent!important}.ui.green.labels .label,.ui.green.label{background-color:#A1CF64!important;border-color:#A1CF64!important;color:#FFF!important}.ui.labels .green.label:before,.ui.green.labels .label:before,.ui.green.label:before{background-color:#A1CF64!important}a.ui.green.labels .label:hover,a.ui.green.label:hover{background-color:#89B84C!important;border-color:#89B84C!important}.ui.labels a.green.label:hover:before,.ui.green.labels a.label:hover:before,a.ui.green.label:hover:before{background-color:#89B84C!important}.ui.green.corner.label,.ui.green.corner.label:hover{background-color:transparent!important}.ui.red.labels .label,.ui.red.label{background-color:#D95C5C!important;border-color:#D95C5C!important;color:#FFF!important}.ui.labels .red.label:before,.ui.red.labels .label:before,.ui.red.label:before{background-color:#D95C5C!important}.ui.red.corner.label,.ui.red.corner.label:hover{background-color:transparent!important}a.ui.red.labels .label:hover,a.ui.red.label:hover{background-color:#DE3859!important;border-color:#DE3859!important;color:#FFF!important}.ui.labels a.red.label:hover:before,.ui.red.labels a.label:hover:before,a.ui.red.label:hover:before{background-color:#DE3859!important}.ui.blue.labels .label,.ui.blue.label{background-color:#6ECFF5!important;border-color:#6ECFF5!important;color:#FFF!important}.ui.labels .blue.label:before,.ui.blue.labels .label:before,.ui.blue.label:before{background-color:#6ECFF5!important}a.ui.blue.labels .label:hover,.ui.blue.labels a.label:hover,a.ui.blue.label:hover{background-color:#1AB8F3!important;border-color:#1AB8F3!important;color:#FFF!important}.ui.labels a.blue.label:hover:before,.ui.blue.labels a.label:hover:before,a.ui.blue.label:hover:before{background-color:#1AB8F3!important}.ui.blue.corner.label,.ui.blue.corner.label:hover{background-color:transparent!important}.ui.purple.labels .label,.ui.purple.label{background-color:#564F8A!important;border-color:#564F8A!important;color:#FFF!important}.ui.labels .purple.label:before,.ui.purple.labels .label:before,.ui.purple.label:before{background-color:#564F8A!important}a.ui.purple.labels .label:hover,.ui.purple.labels a.label:hover,a.ui.purple.label:hover{background-color:#3E3773!important;border-color:#3E3773!important;color:#FFF!important}.ui.labels a.purple.label:hover:before,.ui.purple.labels a.label:hover:before,a.ui.purple.label:hover:before{background-color:#3E3773!important}.ui.purple.corner.label,.ui.purple.corner.label:hover{background-color:transparent!important}.ui.orange.labels .label,.ui.orange.label{background-color:#F05940!important;border-color:#F05940!important;color:#FFF!important}.ui.labels .orange.label:before,.ui.orange.labels .label:before,.ui.orange.label:before{background-color:#F05940!important}a.ui.orange.labels .label:hover,.ui.orange.labels a.label:hover,a.ui.orange.label:hover{background-color:#FF4121!important;border-color:#FF4121!important;color:#FFF!important}.ui.labels a.orange.label:hover:before,.ui.orange.labels a.label:hover:before,a.ui.orange.label:hover:before{background-color:#FF4121!important}.ui.orange.corner.label,.ui.orange.corner.label:hover{background-color:transparent!important}.ui.teal.labels .label,.ui.teal.label{background-color:#00B5AD!important;border-color:#00B5AD!important;color:#FFF!important}.ui.labels .teal.label:before,.ui.teal.labels .label:before,.ui.teal.label:before{background-color:#00B5AD!important}a.ui.teal.labels .label:hover,.ui.teal.labels a.label:hover,a.ui.teal.label:hover{background-color:#009A93!important;border-color:#009A93!important;color:#FFF!important}.ui.labels a.teal.label:hover:before,.ui.teal.labels a.label:hover:before,a.ui.teal.label:hover:before{background-color:#009A93!important}.ui.teal.corner.label,.ui.teal.corner.label:hover{background-color:transparent!important}.ui.horizontal.labels .label,.ui.horizontal.label{margin:-.125em .5em -.125em 0;padding:.35em 1em;min-width:6em;text-align:center}.ui.circular.labels .label,.ui.circular.label{min-height:1em;max-height:2em;padding:.5em!important;line-height:1em;text-align:center;-webkit-border-radius:500rem;-moz-border-radius:500rem;border-radius:500rem}.ui.pointing.label{position:relative}.ui.attached.pointing.label{position:absolute}.ui.pointing.label:before{position:absolute;content:"";width:.6em;height:.6em;background-image:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;-o-transition:background .1s linear;-ms-transition:background .1s linear;transition:background .1s linear}.ui.pointing.label:before{background-color:#E8E8E8}.ui.pointing.label,.ui.pointing.above.label{margin-top:1em}.ui.pointing.label:before,.ui.pointing.above.label:before{margin-left:-.3em;top:-.3em;left:50%}.ui.pointing.below.label{margin-top:0;margin-bottom:1em}.ui.pointing.below.label:before{margin-left:-.3em;top:auto;right:auto;bottom:-.3em;left:50%}.ui.pointing.left.label{margin-top:0;margin-left:1em}.ui.pointing.left.label:before{margin-top:-.3em;bottom:auto;right:auto;top:50%;left:0}.ui.pointing.right.label{margin-top:0;margin-right:1em}.ui.pointing.right.label:before{margin-top:-.3em;right:-.3em;top:50%;bottom:auto;left:auto}.ui.floating.label{position:absolute;z-index:100;top:-1em;left:100%;margin:0 0 0 -1.5em!important}.ui.small.labels .label,.ui.small.label{font-size:.75rem}.ui.label{font-size:.8125rem}.ui.large.labels .label,.ui.large.label{font-size:.875rem}.ui.huge.labels .label,.ui.huge.label{font-size:1rem}.ui.loader{display:none;position:absolute;top:50%;left:50%;margin:0;z-index:1000;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.ui.dimmer .loader{display:block}.ui.text.loader{width:auto!important;height:auto!important;text-align:center;font-style:normal}.ui.mini.text.loader{min-width:16px;padding-top:2em;font-size:.875em}.ui.small.text.loader{min-width:24px;padding-top:2.5em;font-size:.875em}.ui.text.loader{min-width:32px;font-size:1em;padding-top:3em}.ui.large.text.loader{min-width:64px;padding-top:5em;font-size:1.2em}.ui.loader.active,.ui.loader.visible{display:block}.ui.loader.disabled,.ui.loader.hidden{display:none}.ui.dimmer .ui.text.loader,.ui.inverted.text.loader{color:rgba(255,255,255,.8)}.ui.inverted.dimmer .ui.text.loader{color:rgba(0,0,0,.8)}.ui.dimmer .mini.ui.loader,.ui.inverted .mini.ui.loader{background-image:url(../images/loader-mini-inverted.gif)}.ui.dimmer .small.ui.loader,.ui.inverted .small.ui.loader{background-image:url(../images/loader-small-inverted.gif)}.ui.dimmer .ui.loader,.ui.inverted.loader{background-image:url(../images/loader-medium-inverted.gif)}.ui.dimmer .large.ui.loader,.ui.inverted .large.ui.loader{background-image:url(../images/loader-large-inverted.gif)}.ui.inverted.dimmer .ui.mini.loader,.ui.mini.loader{width:16px;height:16px;background-image:url(../images/loader-mini.gif)}.ui.inverted.dimmer .ui.small.loader,.ui.small.loader{width:24px;height:24px;background-image:url(../images/loader-small.gif)}.ui.inverted.dimmer .ui.loader,.ui.loader{width:32px;height:32px;background:url(../images/loader-medium.gif) no-repeat;background-position:48% 0}.ui.inverted.dimmer .ui.loader.large,.ui.loader.large{width:64px;height:64px;background-image:url(../images/loader-large.gif)}.ui.inline.loader{position:static;vertical-align:middle;margin:0;-webkit-transform:none;-moz-transform:none;-o-transform:none;-ms-transform:none;transform:none}.ui.inline.loader.active,.ui.inline.loader.visible{display:inline-block}.ui.progress{border:1px solid rgba(0,0,0,.1);width:100%;height:35px;background-color:#FAFAFA;padding:5px;-webkit-border-radius:.3125em;-moz-border-radius:.3125em;border-radius:.3125em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.progress .bar{display:inline-block;height:100%;background-color:#CCC;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:width 1s ease-in-out,background-color 1s ease-out;-moz-transition:width 1s ease-in-out,background-color 1s ease-out;-ms-transition:width 1s ease-in-out,background-color 1s ease-out;-o-transition:width 1s ease-in-out,background-color 1s ease-out;transition:width 1s ease-in-out,background-color 1s ease-out}.ui.successful.progress .bar{background-color:#73E064!important}.ui.successful.progress .bar,.ui.successful.progress .bar::after{-webkit-animation:none!important;-moz-animation:none!important;animation:none!important}.ui.failed.progress .bar{background-color:#DF9BA4!important}.ui.failed.progress .bar,.ui.failed.progress .bar::after{-webkit-animation:none!important;-moz-animation:none!important;animation:none!important}.ui.active.progress .bar{position:relative}.ui.active.progress .bar::after{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#FFF;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-webkit-animation:progress-active 2s ease-out infinite;-moz-animation:progress-active 2s ease-out infinite;animation:progress-active 2s ease-out infinite}@-webkit-keyframes progress-active{0%{opacity:0;width:0}50%{opacity:.3}100%{opacity:0;width:95%}}@-moz-keyframes progress-active{0%{opacity:0;width:0}50%{opacity:.3}100%{opacity:0;width:100%}}@keyframes progress-active{0%{opacity:0;width:0}50%{opacity:.3}100%{opacity:0;width:100%}}.ui.disabled.progress{opacity:.35}.ui.disabled.progress .bar,.ui.disabled.progress .bar::after{-webkit-animation:none!important;-moz-animation:none!important;animation:none!important}.ui.progress.attached{position:relative;border:0}.ui.progress.attached,.ui.progress.attached .bar{display:block;height:3px;padding:0;overflow:hidden;-webkit-border-radius:0 0 .3125em .3125em;-moz-border-radius:0 0 .3125em .3125em;border-radius:0 0 .3125em .3125em}.ui.progress.attached .bar{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui.progress.top.attached,.ui.progress.top.attached .bar{top:-2px;-webkit-border-radius:.3125em .3125em 0 0;-moz-border-radius:.3125em .3125em 0 0;border-radius:.3125em .3125em 0 0}.ui.progress.top.attached .bar{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui.blue.progress .bar{background-color:#6ECFF5}.ui.black.progress .bar{background-color:#5C6166}.ui.green.progress .bar{background-color:#A1CF64}.ui.red.progress .bar{background-color:#EF4D6D}.ui.purple.progress .bar{background-color:#564F8A}.ui.teal.progress .bar{background-color:#00B5AD}.ui.progress.striped .bar{-webkit-background-size:30px 30px;-moz-background-size:30px 30px;background-size:30px 30px;background-image:-webkit-gradient(linear,left top,right bottom,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.ui.progress.active.striped .bar:after{-webkit-animation:none;-moz-animation:none;-ms-animation:none;-o-animation:none;animation:none}.ui.progress.active.striped .bar{-webkit-animation:progress-striped 3s linear infinite;-moz-animation:progress-striped 3s linear infinite;animation:progress-striped 3s linear infinite}@-webkit-keyframes progress-striped{0%{background-position:0 0}100%{background-position:60px 0}}@-moz-keyframes progress-striped{0%{background-position:0 0}100%{background-position:60px 0}}@keyframes progress-striped{0%{background-position:0 0}100%{background-position:60px 0}}.ui.small.progress .bar{height:14px}.ui.segment{position:relative;background-color:#FFF;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);margin:1em 0;padding:1em;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.segment:first-child{margin-top:0}.ui.segment:last-child{margin-bottom:0}.ui.segment:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.vertical.segment{margin:0;padding-left:0;padding-right:0;background-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:0 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 0 rgba(0,0,0,.1)}.ui.vertical.segment:first-child{padding-top:0}.ui.horizontal.segment{margin:0;padding-top:0;padding-bottom:0;background-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:1px 0 0 rgba(0,0,0,.1);-moz-box-shadow:1px 0 0 rgba(0,0,0,.1);box-shadow:1px 0 0 rgba(0,0,0,.1)}.ui.horizontal.segment:first-child{padding-left:0}.ui.pointing.menu+.ui.attached.segment{top:1px}.ui.segment>:first-child{margin-top:0}.ui.segment>:last-child{margin-bottom:0}.ui.segment>.attached.label:first-child+*{margin-top:2em}.ui.segment>.bottom.attached.label:first-child~:last-child{margin-top:0;margin-bottom:2em}.ui.piled.segment{margin:2em 0;-webkit-box-shadow:0 0 1px 1px rgba(0,0,0,.15);-moz-box-shadow:0 0 1px 1px rgba(0,0,0,.15);-ms-box-shadow:0 0 1px 1px rgba(0,0,0,.15);-o-box-shadow:0 0 1px 1px rgba(0,0,0,.15);box-shadow:0 0 1px 1px rgba(0,0,0,.15)}.ui.piled.segment:first-child{margin-top:0}.ui.piled.segment:last-child{margin-bottom:0}.ui.piled.segment:after,.ui.piled.segment:before{background-color:#FFF;visibility:visible;content:"";display:block;height:100%;left:-1px;position:absolute;width:100%;-webkit-box-shadow:0 0 1px 1px rgba(0,0,0,.1);-moz-box-shadow:0 0 1px 1px rgba(0,0,0,.1);box-shadow:0 0 1px 1px rgba(0,0,0,.1)}.ui.piled.segment:after{-webkit-transform:rotate(1.2deg);-moz-transform:rotate(1.2deg);-ms-transform:rotate(1.2deg);-o-transform:rotate(1.2deg);transform:rotate(1.2deg);top:0;z-index:-1}.ui.piled.segment:before{-webkit-transform:rotate(-1.2deg);-moz-transform:rotate(-1.2deg);-ms-transform:rotate(-1.2deg);-o-transform:rotate(-1.2deg);transform:rotate(-1.2deg);top:0;z-index:-2}.ui.stacked.segment{padding-bottom:1.7em}.ui.stacked.segment:after,.ui.stacked.segment:before{content:'';position:absolute;bottom:-3px;left:0;border-top:1px solid rgba(0,0,0,.1);background-color:rgba(0,0,0,.02);width:100%;height:5px;visibility:visible}.ui.stacked.segment:before{bottom:0}.ui.stacked.inverted.segment:after,.ui.stacked.inverted.segment:before{background-color:rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.35)}.ui.raised.segment{-webkit-box-shadow:0 1px 2px 1px rgba(0,0,0,.1);-moz-box-shadow:0 1px 2px 1px rgba(0,0,0,.1);box-shadow:0 1px 2px 1px rgba(0,0,0,.1)}.ui.disabled.segment{opacity:.8;color:#DDD}.ui.basic.segment{position:relative;background-color:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui.basic.segment:first-child{padding-top:0}.ui.basic.segment:last-child{padding-bottom:0}.ui.fitted.segment{padding:0}.ui.blue.segment{border-top:.2em solid #6ECFF5}.ui.green.segment{border-top:.2em solid #A1CF64}.ui.red.segment{border-top:.2em solid #D95C5C}.ui.orange.segment{border-top:.2em solid #F05940}.ui.purple.segment{border-top:.2em solid #564F8A}.ui.teal.segment{border-top:.2em solid #00B5AD}.ui.inverted.black.segment{background-color:#5C6166!important;color:#FFF!important}.ui.inverted.blue.segment{background-color:#6ECFF5!important;color:#FFF!important}.ui.inverted.green.segment{background-color:#A1CF64!important;color:#FFF!important}.ui.inverted.red.segment{background-color:#D95C5C!important;color:#FFF!important}.ui.inverted.orange.segment{background-color:#F05940!important;color:#FFF!important}.ui.inverted.purple.segment{background-color:#564F8A!important;color:#FFF!important}.ui.inverted.teal.segment{background-color:#00B5AD!important;color:#FFF!important}.ui.left.aligned.segment{text-align:left}.ui.right.aligned.segment{text-align:right}.ui.center.aligned.segment{text-align:center}.ui.floated.segment,.ui.left.floated.segment{float:left}.ui.right.floated.segment{float:right}.ui.inverted.segment{border:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.inverted.segment,.ui.primary.inverted.segment{background-color:#222;color:#FFF}.ui.primary.segment{background-color:#FFF;color:#555}.ui.secondary.segment{background-color:#FAF9FA;color:#777}.ui.tertiary.segment{background-color:#EBEBEB;color:#B0B0B0}.ui.secondary.inverted.segment{background-color:#555;background-image:-webkit-gradient(linear,0 0,0 100%,from(rgba(255,255,255,.3)),to(rgba(255,255,255,.3)));background-image:-webkit-linear-gradient(rgba(255,255,255,.3) 0,rgba(255,255,255,.3) 100%);background-image:-moz-linear-gradient(rgba(255,255,255,.3) 0,rgba(255,255,255,.3) 100%);background-image:-o-linear-gradient(rgba(255,255,255,.3) 0,rgba(255,255,255,.3) 100%);background-image:linear-gradient(rgba(255,255,255,.3) 0,rgba(255,255,255,.3) 100%);color:#FAFAFA}.ui.tertiary.inverted.segment{background-color:#555;background-image:-webkit-gradient(linear,0 0,0 100%,from(rgba(255,255,255,.6)),to(rgba(255,255,255,.6)));background-image:-webkit-linear-gradient(rgba(255,255,255,.6) 0,rgba(255,255,255,.6) 100%);background-image:-moz-linear-gradient(rgba(255,255,255,.6) 0,rgba(255,255,255,.6) 100%);background-image:-o-linear-gradient(rgba(255,255,255,.6) 0,rgba(255,255,255,.6) 100%);background-image:linear-gradient(rgba(255,255,255,.6) 0,rgba(255,255,255,.6) 100%);color:#EEE}.ui.segment.attached{top:-1px;bottom:-1px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;margin:0;-moz-box-shadow:0 0 0 1px #DDD;-webkit-box-shadow:0 0 0 1px #DDD;box-shadow:0 0 0 1px #DDD}.ui.top.attached.segment{top:0;bottom:-1px;margin-top:1em;margin-bottom:0;-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.ui.segment.bottom.attached{top:-1px;bottom:0;margin-top:0;margin-bottom:1em;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.ui.step,.ui.steps .step{display:inline-block;position:relative;padding:1em 2em 1em 3em;vertical-align:top;background-color:#FFF;color:#888;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.step:after,.ui.steps .step:after{position:absolute;z-index:2;content:'';top:0;right:-1.45em;border-bottom:1.5em solid transparent;border-left:1.5em solid #FFF;border-top:1.5em solid transparent;width:0;height:0}.ui.step,.ui.steps .step,.ui.steps .step:after{-webkit-transition:opacity .1s ease,color .1s ease,box-shadow .1s ease;-moz-transition:opacity .1s ease,color .1s ease,box-shadow .1s ease;-o-transition:opacity .1s ease,color .1s ease,box-shadow .1s ease;-ms-transition:opacity .1s ease,color .1s ease,box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,box-shadow .1s ease}.ui.steps{cursor:pointer;display:inline-block;font-size:0;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);line-height:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-moz-border-radius:.3125rem;-webkit-border-radius:.3125rem;border-radius:.3125rem}.ui.steps .step:first-child{padding-left:1.35em;-webkit-border-radius:.3125em 0 0 .3125em;-moz-border-radius:.3125em 0 0 .3125em;border-radius:.3125em 0 0 .3125em}.ui.steps .step:last-child{-webkit-border-radius:0 .3125em .3125em 0;-moz-border-radius:0 .3125em .3125em 0;border-radius:0 .3125em .3125em 0}.ui.steps .step:only-child{-webkit-border-radius:.3125em;-moz-border-radius:.3125em;border-radius:.3125em}.ui.steps .step:last-child{margin-right:0}.ui.steps .step:last-child:after{display:none}.ui.step:hover,.ui.step.hover{background-color:#F7F7F7;color:rgba(0,0,0,.8)}.ui.steps .step.hover:after,.ui.steps .step:hover:after,.ui.step:hover,.ui.step.hover::after{border-left-color:#F7F7F7}.ui.steps .step.down,.ui.steps .step:active,.ui.step.down,.ui.step:active{background-color:#F0F0F0}.ui.steps .step.down:after,.ui.steps .step:active:after,.ui.steps.down::after,.ui.steps:active::after{border-left-color:#F0F0F0}.ui.steps .step.active,.ui.active.step{cursor:auto;background-color:#555;color:#FFF;font-weight:700}.ui.steps .step.active:after,.ui.active.steps:after{border-left-color:#555}.ui.steps .disabled.step,.ui.disabled.step{cursor:auto;background-color:#FFF;color:#CBCBCB}.ui.disabled.step:after{border:0;background-color:#FFF;top:.42em;right:-1em;width:2.15em;height:2.15em;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-box-shadow:-1px -1px 0 0 rgba(0,0,0,.1) inset;-moz-box-shadow:-1px -1px 0 0 rgba(0,0,0,.1) inset;box-shadow:-1px -1px 0 0 rgba(0,0,0,.1) inset}.attached.ui.steps{margin:0;-webkit-border-radius:.3125em .3125em 0 0;-moz-border-radius:.3125em .3125em 0 0;border-radius:.3125em .3125em 0 0}.attached.ui.steps .step:first-child{-webkit-border-radius:.3125em 0 0;-moz-border-radius:.3125em 0 0;border-radius:.3125em 0 0}.attached.ui.steps .step:last-child{-webkit-border-radius:0 .3125em 0 0;-moz-border-radius:0 .3125em 0 0;border-radius:0 .3125em 0 0}.bottom.attached.ui.steps{margin-top:-1px;-webkit-border-radius:0 0 .3125em .3125em;-moz-border-radius:0 0 .3125em .3125em;border-radius:0 0 .3125em .3125em}.bottom.attached.ui.steps .step:first-child{-webkit-border-radius:0 0 0 .3125em;-moz-border-radius:0 0 0 .3125em;border-radius:0 0 0 .3125em}.bottom.attached.ui.steps .step:last-child{-webkit-border-radius:0 0 .3125em;-moz-border-radius:0 0 .3125em;border-radius:0 0 .3125em}.ui.one.steps,.ui.two.steps,.ui.three.steps,.ui.four.steps,.ui.five.steps,.ui.six.steps,.ui.seven.steps,.ui.eight.steps{display:block}.ui.one.steps>.step{width:100%}.ui.two.steps>.step{width:50%}.ui.three.steps>.step{width:33.333%}.ui.four.steps>.step{width:25%}.ui.five.steps>.step{width:20%}.ui.six.steps>.step{width:16.666%}.ui.seven.steps>.step{width:14.285%}.ui.eight.steps>.step{width:12.5%}.ui.small.step,.ui.small.steps .step{font-size:.8rem}.ui.step,.ui.steps .step{font-size:1rem}.ui.large.step,.ui.large.steps .step{font-size:1.25rem}.ui.accordion{width:600px;max-width:100%;overflow:hidden;font-size:1rem;border-radius:.3125em;background-color:#FFF;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1)}.ui.accordion .title{cursor:pointer;margin:0;padding:.75em 1em;color:rgba(0,0,0,.6);border-top:1px solid rgba(0,0,0,.05);-webkit-transition:background-color .2s ease-out;-moz-transition:background-color .2s ease-out;-o-transition:background-color .2s ease-out;-ms-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.ui.accordion .title:first-child{border-top:0}.ui.accordion .content{display:none;margin:0;padding:1.3em 1em}.ui.accordion .title .dropdown.icon{display:inline-block;float:none;margin:0 .5em 0 0;-webkit-transition:-webkit-transform .2s ease,opacity .2s ease;-moz-transition:-moz-transform .2s ease,opacity .2s ease;-o-transition:-o-transform .2s ease,opacity .2s ease;-ms-transition:-ms-transform .2s ease,opacity .2s ease;transition:transform .2s ease,opacity .2s ease;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.ui.accordion .title .dropdown.icon:before{content:'\f0da'}.ui.basic.accordion.menu{background-color:#FFF;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1)}.ui.basic.accordion.menu .title,.ui.basic.accordion.menu .content{padding:0}.ui.basic.accordion{background-color:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.basic.accordion .title,.ui.basic.accordion .title{background-color:transparent;border-top:0;padding-left:0;padding-right:0}.ui.basic.accordion .content{padding-left:0;padding-right:0}.ui.basic.accordion .active.title{background-color:transparent}.ui.accordion .title:hover,.ui.accordion .active.title{color:rgba(0,0,0,.8)}.ui.accordion .active.title{background-color:rgba(0,0,0,.1);color:rgba(0,0,0,.8)}.ui.accordion .active.title .dropdown.icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.ui.accordion .active.content{display:block}.ui.fluid.accordion{width:100%}.ui.chatroom{background-color:#F8F8F8;width:330px;height:370px;padding:0}.ui.chatroom .room{position:relative;background-color:#FFF;overflow:hidden;height:286px;border:1px solid rgba(0,0,0,.1);border-top:0;border-bottom:0}.ui.chatroom .room .loader{display:none;margin:-25px 0 0 -25px}.ui.chatroom .actions{overflow:hidden;background-color:#EEE;padding:4px;border:1px solid rgba(0,0,0,.1);-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.ui.chatroom .actions .button{float:right;margin-left:3px}.ui.chatroom .actions .message{float:left;margin-left:6px;font-size:11px;color:#AAA;text-shadow:0 -1px 0 rgba(255,255,255,.8);line-height:28px}.ui.chatroom .actions .message .loader{display:inline-block;margin-right:8px}.ui.chatroom .log{float:left;overflow:auto;overflow-x:hidden;overflow-y:auto}.ui.chatroom .log .message{padding:3px 0;border-top:1px dotted #DADADA}.ui.chatroom .log .message:first-child{border-top:0}.ui.chatroom .status{padding:5px 0;color:#AAA;font-size:12px;font-style:italic;line-height:1.33;border-top:1px dotted #DADADA}.ui.chatroom .log .status:first-child{border-top:0}.ui.chatroom .log .flag{float:left}.ui.chatroom .log p{margin-left:0}.ui.chatroom .log .author{font-weight:700;-webkit-transition:color .3s ease-out;-moz-transition:color .3s ease-out;-o-transition:color .3s ease-out;-ms-transition:color .3s ease-out;transition:color .3s ease-out}.ui.chatroom .log a.author:hover{opacity:.8}.ui.chatroom .log .message.admin p{font-weight:700;margin:1px 0 0 23px}.ui.chatroom .log .divider{margin:-1px 0;font-size:11px;padding:10px 0;border-top:1px solid #F8F8F8;border-bottom:1px solid #F8F8F8}.ui.chatroom .log .divider .rule{top:50%;width:15%}.ui.chatroom .log .divider .label{color:#777;margin:0}.ui.chatroom .room .list{position:relative;overflow:auto;overflow-x:hidden;overflow-y:auto;float:left;background-color:#EEE;border-left:1px solid #DDD}.ui.chatroom .room .list .user{display:table;padding:3px 7px;border-bottom:1px solid #DDD}.ui.chatroom .room .list .user:hover{background-color:#F8F8F8}.ui.chatroom .room .list .image{display:table-cell;vertical-align:middle;width:20px}.ui.chatroom .room .list .image img{width:20px;height:20px;vertical-align:middle}.ui.chatroom .room .list p{display:table-cell;vertical-align:middle;padding-left:7px;padding-right:14px;font-size:11px;line-height:1.2;font-weight:700}.ui.chatroom .room .list a:hover{opacity:.8}.ui.chatroom.loading .loader{display:block}.ui.chatroom .talk{border:1px solid rgba(0,0,0,.1);padding:5px 0 0;background-color:#EEE;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.ui.chatroom .talk .avatar,.ui.chatroom .talk input,.ui.chatroom .talk .button{float:left}.ui.chatroom .talk .avatar img{display:block;width:30px;height:30px;margin-right:4px;border-radius:500rem}.ui.chatroom .talk input{border:1px solid #CCC;margin:0;width:196px;height:14px;padding:8px 5px;font-size:12px;color:#555}.ui.chatroom .talk input.focus{border:1px solid #AAA}.ui.chatroom .send{width:80px;height:32px;margin-left:-1px;padding:4px 12px;font-size:12px;line-height:23px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;border-radius:0 5px 5px 0}.ui.chatroom .talk .log-in.button{display:block;float:none;margin-top:-6px;height:22px;border-radius:0 0 4px 4px}.ui.chatroom .talk .log-in.button i{vertical-align:text-top}.ui.chatroom .log .team.flag{width:18px}.ui.chatroom.loading .loader{display:block}.ui.chatroom{width:330px;height:370px}.ui.chatroom .room .container{width:3000px}.ui.chatroom .log{width:314px;height:278px;padding:4px 7px}.ui.chatroom .room .list{width:124px;height:278px;padding:4px 0}.ui.chatroom .room .list .user{width:110px}.ui.chatroom .talk{height:40px}.ui.checkbox{position:relative;display:inline-block;width:1em;height:1.5em;outline:0;vertical-align:middle}.ui.checkbox input{position:absolute;top:0;left:0;opacity:0;outline:0}.ui.checkbox .box,.ui.checkbox label{cursor:pointer;position:relative;min-width:1em;height:1.5em;padding-left:2em;outline:0;white-space:nowrap}.ui.checkbox .box:before,.ui.checkbox label:before{position:absolute;top:.25em;line-height:1;width:1em;height:1em;left:0;content:'';border-radius:4px;background:#FFF;-webkit-transition:background-color .3s ease,box-shadow .3s ease;-moz-transition:background-color .3s ease,box-shadow .3s ease;-o-transition:background-color .3s ease,box-shadow .3s ease;-ms-transition:background-color .3s ease,box-shadow .3s ease;transition:background-color .3s ease,box-shadow .3s ease;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.ui.checkbox .box:after,.ui.checkbox label:after{-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;content:'';position:absolute;background:transparent;border:.2em solid #333;border-top:0;border-right:0;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.ui.checkbox .box:after,.ui.checkbox label:after{top:.54em;left:.2em;width:.45em;height:.15em}.ui.checkbox label{color:rgba(0,0,0,.6);-webkit-transition:color .2s ease;-moz-transition:color .2s ease;-o-transition:color .2s ease;-ms-transition:color .2s ease;transition:color .2s ease}.ui.checkbox label:hover{color:rgba(0,0,0,.8)}.ui.checkbox input:focus+label{color:rgba(0,0,0,.8)}.ui.checkbox+label{cursor:pointer;opacity:.85;vertical-align:middle}.ui.checkbox+label:hover{opacity:1}.ui.checkbox .box:hover::before,.ui.checkbox label:hover::before{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.ui.checkbox .box:active::before,.ui.checkbox label:active::before{background-color:#F5F5F5}.ui.checkbox input:focus+.box:before,.ui.checkbox input:focus+label:before{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.ui.checkbox input:checked+.box:after,.ui.checkbox input:checked+label:after{-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);opacity:1}.ui.disabled.checkbox+.box:after,.ui.checkbox input[disabled]+.box:after,.ui.disabled.checkbox label,.ui.checkbox input[disabled]+label{opacity:.4;color:rgba(0,0,0,.3)}.ui.radio.checkbox .box:before,.ui.radio.checkbox label:before{width:1em;height:1em;-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.ui.radio.checkbox .box:after,.ui.radio.checkbox label:after{border:0;top:.45em;left:.2em;width:.6em;height:.6em;background-color:#555;-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.ui.slider.checkbox{cursor:pointer;min-width:3em;height:2em}.ui.slider.checkbox:after{position:absolute;top:.8em;left:0;content:'';width:3em;height:2px;background-color:rgba(0,0,0,.1)}.ui.slider.checkbox .box,.ui.slider.checkbox label{padding-left:4em}.ui.slider.checkbox .box:before,.ui.slider.checkbox label:before{cursor:pointer;display:block;position:absolute;top:0;left:0;z-index:1;width:1.5em;height:1.5em;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;border-radius:50rem;-webkit-transition:left .3s ease 0s;-moz-transition:left .3s ease 0s;-o-transition:left .3s ease 0s;-ms-transition:left .3s ease 0s;transition:left .3s ease 0s}.ui.slider.checkbox .box:after,.ui.slider.checkbox label:after{opacity:1;position:absolute;content:'';top:.375em;left:0;z-index:2;margin-left:.375em;border:0;width:.75em;height:.75em;border-radius:50rem;-webkit-transition:background .3s ease 0s,left .3s ease 0s;-moz-transition:background .3s ease 0s,left .3s ease 0s;-o-transition:background .3s ease 0s,left .3s ease 0s;-ms-transition:background .3s ease 0s,left .3s ease 0s;transition:background .3s ease 0s,left .3s ease 0s}.ui.slider.checkbox input:checked+.box:before,.ui.slider.checkbox input:checked+label:before,.ui.slider.checkbox input:checked+.box:after,.ui.slider.checkbox input:checked+label:after{left:1.75em}.ui.slider.checkbox .box:after,.ui.slider.checkbox label:after{background-color:#D95C5C}.ui.slider.checkbox input:checked+.box:after,.ui.slider.checkbox input:checked+label:after{background-color:#89B84C}.ui.toggle.checkbox{cursor:pointer;height:2em}.ui.toggle.checkbox .box,.ui.toggle.checkbox label{padding-left:4em}.ui.toggle.checkbox .box:before,.ui.toggle.checkbox label:before{cursor:pointer;display:block;position:absolute;content:'';top:0;left:0;z-index:1;background-color:#FFF;width:3em;height:1.5em;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;border-radius:50rem}.ui.toggle.checkbox .box:after,.ui.toggle.checkbox label:after{opacity:1;background-color:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;content:'';position:absolute;top:.35em;left:.5em;z-index:2;border:0;width:.75em;height:.75em;background-color:#D95C5C;border-radius:50rem;-webkit-transition:background .3s ease 0s,left .3s ease 0s;-moz-transition:background .3s ease 0s,left .3s ease 0s;-o-transition:background .3s ease 0s,left .3s ease 0s;-ms-transition:background .3s ease 0s,left .3s ease 0s;transition:background .3s ease 0s,left .3s ease 0s}.ui.toggle.checkbox:active .box:before,.ui.toggle.checkbox:active label:before{background-color:#F5F5F5}.ui.toggle.checkbox input:checked+.box:after,.ui.toggle.checkbox input:checked+label:after{left:1.75em;background-color:#89B84C}.ui.checkbox{font-size:1em}.ui.large.checkbox{font-size:1.25em}.ui.huge.checkbox{font-size:1.5em}.ui.dimmable{position:relative}.ui.dimmer{display:none;position:absolute;top:0!important;left:0!important;width:0;height:0;text-align:center;vertical-align:middle;background-color:rgba(0,0,0,.85);opacity:0;line-height:1;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;-ms-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-o-animation-duration:.5s;-ms-animation-duration:.5s;animation-duration:.5s;-webkit-transition:background-color .5s linear;-moz-transition:background-color .5s linear;-o-transition:background-color .5s linear;-ms-transition:background-color .5s linear;transition:background-color .5s linear;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;z-index:1000}.ui.dimmer>.content{width:100%;height:100%;display:table;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.dimmer>.content>div{display:table-cell;vertical-align:middle;color:#FFF}.ui.segment>.ui.dimmer{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.ui.horizontal.segment>.ui.dimmer,.ui.vertical.segment>.ui.dimmer{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.ui.dimmed.dimmable>.ui.dimmer,.ui.active.dimmer{display:block;width:100%;height:100%;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.ui.page.dimmer{position:fixed;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-perspective:2000px;-moz-perspective:2000px;perspective:2000px;-webkit-transform-origin:center center;-moz-transform-origin:center center;-o-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}.ui.scrolling.page.dimmer{position:absolute}.ui.dimmer>.top.aligned.content>*{vertical-align:top}.ui.dimmer>.bottom.aligned.content>*{vertical-align:bottom}.ui.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.inverted.dimmer>.content>*{color:rgba(0,0,0,.8)}.ui.simple.dimmer{display:block;overflow:hidden;opacity:1;z-index:-100;background-color:rgba(0,0,0,0)}.ui.dimmed.dimmable>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background-color:rgba(0,0,0,.85);z-index:1}.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,0)}.ui.dimmed.dimmable>.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.dropdown{position:relative;display:inline-block;line-height:1;-webkit-transition:border-radius .1s ease,width .2s ease;-moz-transition:border-radius .1s ease,width .2s ease;-o-transition:border-radius .1s ease,width .2s ease;-ms-transition:border-radius .1s ease,width .2s ease;transition:border-radius .1s ease,width .2s ease}.ui.dropdown .menu{position:absolute;display:none;top:100%;margin:0;background-color:#FFF;min-width:100%;white-space:nowrap;font-size:.875em;text-shadow:none;-webkit-box-shadow:0 0 1px 1px rgba(0,0,0,.1);-moz-box-shadow:0 0 1px 1px rgba(0,0,0,.1);box-shadow:0 0 1px 1px rgba(0,0,0,.1);-moz-border-radius:0 0 .325em .325em;-webkit-border-radius:0 0 .325em .325em;border-radius:0 0 .325em .325em;-webkit-transition:opacity .2s ease;-moz-transition:opacity .2s ease;-o-transition:opacity .2s ease;-ms-transition:opacity .2s ease;transition:opacity .2s ease;z-index:11}.ui.dropdown>.dropdown.icon{width:auto;margin:0 0 0 .5em}.ui.dropdown>.dropdown.icon:before{content:"\f0d7"}.ui.dropdown .menu .item .dropdown.icon{width:auto;float:right;margin:0 0 0 .5em}.ui.dropdown .menu .item .dropdown.icon:before{content:"\f0da"}.ui.dropdown>.text{cursor:pointer;display:inline-block;-webkit-transition:color .2s ease;-moz-transition:color .2s ease;-o-transition:color .2s ease;-ms-transition:color .2s ease;transition:color .2s ease}.ui.dropdown .menu{left:0}.ui.dropdown .menu .menu{top:0!important;left:100%!important;margin:0!important;border-radius:0 .325em .325em 0!important}.ui.dropdown .menu .menu:after{display:none}.ui.dropdown .menu .item{cursor:pointer;border:0;border-top:1px solid rgba(0,0,0,.05);height:auto;font-size:.875em;display:block;color:rgba(0,0,0,.75);padding:.85em 1em!important;font-size:.875rem;text-transform:none;font-weight:400;text-align:left;-webkit-touch-callout:none}.ui.dropdown .menu .item:before{display:none}.ui.dropdown .menu .item .icon{margin-right:.75em}.ui.dropdown .menu .item:first-child{border-top:0}.ui.menu .right.menu .dropdown:last-child .menu,.ui.buttons>.ui.dropdown:last-child .menu{left:auto;right:0}.ui.vertical.menu .dropdown.item>.dropdown.icon{content:"\f0da"}.ui.visible.dropdown{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.visible.dropdown>.menu{display:block}.ui.dropdown .menu .item:hover{background-color:rgba(0,0,0,.02);z-index:12}.ui.dropdown .menu .active.item{background-color:rgba(0,0,0,.04);border-left:0;-webkit-box-shadow:none;-moz-shadow:none;box-shadow:none;z-index:12}.ui.dropdown>.default.text,.ui.default.dropdown>.text{color:rgba(0,0,0,.5)}.ui.dropdown:hover>.default.text,.ui.default.dropdown:hover>.text{color:rgba(0,0,0,.8)}.ui.simple.dropdown .menu:before,.ui.simple.dropdown .menu:after{display:none}.ui.simple.dropdown .menu{display:block;overflow:hidden;top:-9999px!important;position:absolute;opacity:0;width:0;height:0;-webkit-transition:opacity .2s ease-out;-moz-transition:opacity .2s ease-out;-o-transition:opacity .2s ease-out;-ms-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.ui.simple.active.dropdown,.ui.simple.dropdown:hover{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.simple.active.dropdown>.menu,.ui.simple.dropdown:hover>.menu{overflow:visible;width:auto;height:auto;top:100%!important;opacity:1}.ui.simple.dropdown>.menu .item:active>.menu,.ui.simple.dropdown:hover>.menu .item:hover>.menu{overflow:visible;width:auto;height:auto;top:0!important;left:100%!important;opacity:1}.ui.simple.disabled.dropdown:hover .menu{display:none;height:0;width:0;overflow:hidden}.ui.selection.dropdown{cursor:pointer;display:inline-block;word-wrap:break-word;white-space:normal;background-color:#FFF;padding:.5em 1em;line-height:1.33;color:rgba(0,0,0,.8);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);-webkit-border-radius:.3125em!important;-moz-border-radius:.3125em!important;border-radius:.3125em!important}.ui.selection.dropdown>.dropdown.icon{float:right;opacity:.7;margin:.2em 0 .2em 1.25em;-webkit-transition:opacity .2s ease-out;-moz-transition:opacity .2s ease-out;-o-transition:opacity .2s ease-out;-ms-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.ui.selection.dropdown,.ui.selection.dropdown .menu{top:100%;-webkit-transition:box-shadow .2s ease-out;-moz-transition:box-shadow .2s ease-out;-o-transition:box-shadow .2s ease-out;-ms-transition:box-shadow .2s ease-out;transition:box-shadow .2s ease-out}.ui.selection.dropdown .menu{max-height:312px;overflow-x:hidden;overflow-y:auto;-webkit-box-shadow:0 1px 0 1px #EEE;-moz-box-shadow:0 1px 0 1px #EEE;box-shadow:0 1px 0 1px #EEE;-moz-border-radius:0 0 .325em .325em;-webkit-border-radius:0 0 .325em .325em;border-radius:0 0 .325em .325em}.ui.selection.dropdown .menu:after,.ui.selection.dropdown .menu:before{display:none}.ui.selection.dropdown .menu img{height:2.5em;display:inline-block;vertical-align:middle;margin-right:.5em}.ui.selection.dropdown:hover,.ui.selection.dropdown.hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.ui.selection.dropdown:hover>.dropdown.icon{opacity:1}.ui.selection.active.dropdown{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2)!important;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.2)!important;box-shadow:0 0 0 1px rgba(0,0,0,.2)!important;-webkit-border-radius:.3125em .3125em 0 0!important;-moz-border-radius:.3125em .3125em 0 0!important;border-radius:.3125em .3125em 0 0!important}.ui.selection.active.dropdown>.dropdown.icon{opacity:1}.ui.selection.active.dropdown .menu{-webkit-box-shadow:0 1px 0 1px #D3D3D3;-moz-box-shadow:0 1px 0 1px #D3D3D3;box-shadow:0 1px 0 1px #D3D3D3}.ui.fluid.dropdown{display:block}.ui.inline.dropdown{cursor:pointer;display:inline-block;color:inherit}.ui.inline.dropdown .dropdown.icon{margin:0 .5em 0 .25em}.ui.inline.dropdown .text{font-weight:700}.ui.inline.dropdown .menu{cursor:auto;margin-top:.25em;-webkit-border-radius:.325em;-moz-border-radius:.325em;border-radius:.325em}.ui.floating.dropdown .menu{left:0;right:auto;margin-top:.5em;-webkit-border-radius:.325em;-moz-border-radius:.325em;border-radius:.325em}.ui.pointing.dropdown .menu{top:100%;margin-top:.75em;-moz-border-radius:.325em;-webkit-border-radius:.325em;border-radius:.325em}.ui.pointing.dropdown .menu:after{display:block;position:absolute;pointer-events:none;content:" ";visibility:visible;width:.5em;height:.5em;-moz-box-shadow:-1px -1px 0 1px rgba(0,0,0,.05);-webkit-box-shadow:-1px -1px 0 1px rgba(0,0,0,.05);box-shadow:-1px -1px 0 1px rgba(0,0,0,.05);background-image:none;background-color:#FFF;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);z-index:2}.ui.pointing.dropdown .menu .item.active:first-child{background:transparent -webkit-linear-gradient(transparent,rgba(0,0,0,.03));background:transparent -moz-linear-gradient(transparent,rgba(0,0,0,.03));background:transparent -o-linear-gradient(transparent,rgba(0,0,0,.03));background:transparent -ms-linear-gradient(transparent,rgba(0,0,0,.03));background:transparent linear-gradient(transparent,rgba(0,0,0,.03))}.ui.pointing.dropdown .menu:after{top:-.25em;left:50%;margin:0 0 0 -.25em}.ui.top.left.pointing.dropdown .menu{top:100%;bottom:auto;left:0;right:auto;margin:.75em 0 0}.ui.top.left.pointing.dropdown .menu:after{top:-.25em;left:1.25em;right:auto;margin:0;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg)}.ui.top.right.pointing.dropdown .menu{top:100%;bottom:auto;right:0;left:auto;margin:.75em 0 0}.ui.top.right.pointing.dropdown .menu:after{top:-.25em;left:auto;right:1.25em;margin:0;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg)}.ui.left.pointing.dropdown .menu{top:0;left:100%;right:auto;margin:0 0 0 .75em}.ui.left.pointing.dropdown .menu:after{top:1em;left:-.25em;margin:0;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);transform:rotate(-45deg)}.ui.right.pointing.dropdown .menu{top:0;left:auto;right:100%;margin:0 .75em 0 0}.ui.right.pointing.dropdown .menu:after{top:1em;left:auto;right:-.25em;margin:0;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);transform:rotate(135deg)}.ui.modal{display:none;position:fixed;z-index:1001;top:50%;left:50%;text-align:left;width:90%;margin-left:-45%;background-color:#FFF;border:1px solid #DDD;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.ui.modal>.close{cursor:pointer;position:absolute;opacity:.8;font-size:1.25em;top:-1.75em;right:-1.75em;color:#FFF}.ui.modal>.close:hover{opacity:1}.ui.modal>.header{margin:0;padding:1.5rem 2rem;font-size:1.6em;font-weight:700;-webkit-border-radius:.325em .325em 0 0;-moz-border-radius:.325em .325em 0 0;border-radius:.325em .325em 0 0}.ui.modal>.content{display:table;width:100%;position:relative;padding:2em;background-color:#F4F4F4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.modal>.content>.left{display:table-cell;padding-right:1.5%;min-width:25%}.ui.modal>.content>.right{display:table-cell;padding-left:1.5%;vertical-align:top}.ui.modal>.content>.left>.icon{font-size:8em;margin:0}.ui.modal>.content p{line-height:1.6}.ui.modal .actions{padding:1rem 2rem;text-align:right}.ui.modal .actions>.button{margin-left:.75em}@media only screen and (max-width:768px){.ui.modal .content .left{display:block;padding:0 0 0 1em}.ui.modal .content .right{display:block;padding:1em 0 0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}}@media only screen and (max-width:998px){.ui.modal{width:92%;margin-left:-46%}.ui.modal>.close{color:rgba(0,0,0,.8);top:1.5rem;right:1rem}}@media only screen and (min-width:998px){.ui.modal{width:74%;margin-left:-37%}}@media only screen and (min-width:1500px){.ui.modal{width:56%;margin-left:-28%}}@media only screen and (min-width:1750px){.ui.modal{width:42%;margin-left:-21%}}@media only screen and (min-width:2000px){.ui.modal{width:36%;margin-left:-18%}}.ui.basic.modal{background-color:transparent;border:0;color:#FFF}.ui.basic.modal>.close{top:1.5rem;right:1rem}.ui.basic.modal .content{background-color:transparent}.ui.modal.scrolling{position:absolute;margin-top:10px}.ui.active.modal{display:block}.ui.small.modal>.header{font-size:1.3em}@media only screen and (min-width:998px){.ui.small.modal{width:58%;margin-left:-29%}}@media only screen and (min-width:1500px){.ui.small.modal{width:40%;margin-left:-20%}}@media only screen and (min-width:1750px){.ui.small.modal{width:26%;margin-left:-13%}}@media only screen and (min-width:2000px){.ui.small.modal{width:20%;margin-left:-10%}}@media only screen and (min-width:998px){.ui.large.modal{width:74%;margin-left:-37%}}@media only screen and (min-width:1500px){.ui.large.modal{width:64%;margin-left:-32%}}@media only screen and (min-width:1750px){.ui.large.modal{width:54%;margin-left:-27%}}@media only screen and (min-width:2000px){.ui.large.modal{width:44%;margin-left:-22%}}.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:101;min-height:0;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;margin:0;line-height:3em;padding:0 1em;background-color:#555;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px 0 rgba(0,0,0,.2);box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1em;text-align:center;color:rgba(255,255,255,.8);-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-transition:.2s background;-moz-transition:.2s background;-o-transition:.2s background;-ms-transition:.2s background;transition:.2s background}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#FFF}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;margin-top:-.5em;color:#FFF;-webkit-transition:.1s opacity;-moz-transition:.1s opacity;-o-transition:.1s opacity;-ms-transition:.1s opacity;transition:.1s opacity}.ui.nag:hover{opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.botton.nag{-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.ui.fixed.bottom.nags,.ui.fixed.bottom.nag{top:auto;bottom:0}.ui.white.nags .nag,.ui.white.nag{background-color:#F1F1F1;text-shadow:0 1px 0 rgba(255,255,255,.8);color:#ACACAC}.ui.white.nags .nag .close,.ui.white.nags .nag .title,.ui.white.nag .close,.ui.white.nag .title{color:#333}.ui.nags .nag{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui.popup{display:none;position:absolute;top:0;right:0;z-index:900;border:1px solid #DCDDDE;max-width:250px;background-color:#FFF;padding:.8em 1.2em;font-size:.875rem;font-weight:400;font-style:normal;color:rgba(0,0,0,.7);-webkit-border-radius:.2em;-moz-border-radius:.2em;border-radius:.2em;-webkit-box-shadow:0 1px 1px #DCDDDE;-moz-box-shadow:0 1px 1px #DCDDDE;box-shadow:0 1px 1px #DCDDDE}.ui.popup .header{padding:0 0 .5em;font-size:1.125em;line-height:1.2;font-weight:700}.ui.popup:before{position:absolute;content:"";width:.75em;height:.75rem;background-image:none;background-color:#FFF;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:1px 1px 1px #DCDDDE;-moz-box-shadow:1px 1px 1px #DCDDDE;box-shadow:1px 1px 1px #DCDDDE}.ui.popup .ui.button{width:100%}.ui.popup{margin:0}.ui.popup.bottom{margin:.75em 0 0}.ui.popup.top{margin:0 0 .75em}.ui.popup.left.center{margin:0 .75em 0 0}.ui.popup.right.center{margin:0 0 0 .75em}.ui.popup.center{margin-left:-1.25em}.ui.bottom.center.popup:before{margin-left:-.4em;top:-.4em;left:50%;right:auto;bottom:auto;-webkit-box-shadow:-1px -1px 1px #dcddde;-moz-box-shadow:-1px -1px 1px #dcddde;box-shadow:-1px -1px 1px #dcddde}.ui.bottom.left.popup{margin-right:-.8em}.ui.bottom.left.popup:before{top:-.4em;right:1em;bottom:auto;left:auto;margin-left:0;-webkit-box-shadow:-1px -1px 1px #dcddde;-moz-box-shadow:-1px -1px 1px #dcddde;box-shadow:-1px -1px 1px #dcddde}.ui.bottom.right.popup{margin-left:-.8em}.ui.bottom.right.popup:before{top:-.4em;left:1em;right:auto;bottom:auto;margin-left:0;-webkit-box-shadow:-1px -1px 1px #dcddde;-moz-box-shadow:-1px -1px 1px #dcddde;box-shadow:-1px -1px 1px #dcddde}.ui.top.center.popup:before{top:auto;right:auto;bottom:-.4em;left:50%;margin-left:-.4em}.ui.top.left.popup{margin-right:-.8em}.ui.top.left.popup:before{bottom:-.4em;right:1em;top:auto;left:auto;margin-left:0}.ui.top.right.popup{margin-left:-.8em}.ui.top.right.popup:before{bottom:-.4em;left:1em;top:auto;right:auto;margin-left:0}.ui.left.center.popup:before{top:50%;right:-.35em;bottom:auto;left:auto;margin-top:-.4em;-moz-box-shadow:1px -1px 1px #dcddde;-webkit-box-shadow:1px -1px 1px #dcddde;box-shadow:1px -1px 1px #dcddde}.ui.right.center.popup:before{top:50%;left:-.35em;bottom:auto;right:auto;margin-top:-.4em;-moz-box-shadow:-1px 1px 1px #dcddde;-webkit-box-shadow:-1px 1px 1px #dcddde;box-shadow:-1px 1px 1px #dcddde}.ui.loading.popup{display:block;visibility:hidden}.ui.active.popup{display:block}.ui.small.popup{font-size:.75rem}.ui.large.popup{font-size:1rem}.ui.inverted.popup{background-color:#333;border:0;color:#FFF;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.inverted.popup .header{background-color:rgba(0,0,0,.2);color:#FFF}.ui.inverted.popup:before{background-color:#333;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.rating{display:inline-block;font-size:0;vertical-align:baseline;margin:0 .5em 0 0}.ui.rating:last-child{margin-right:0}.ui.rating:before{display:block;content:'';visibility:hidden;clear:both;height:0}.ui.rating .icon{cursor:default;margin:0;width:1em;height:auto;padding:0;color:rgba(0,0,0,.15);font-weight:400;font-style:normal}.ui.rating .icon:before{content:"\2605";-webkit-transition:color .3s ease,opacity .3s ease;-moz-transition:color .3s ease,opacity .3s ease;-ms-transition:color .3s ease,opacity .3s ease;-o-transition:color .3s ease,opacity .3s ease;transition:color .3s ease,opacity .3s ease}.ui.star.rating .icon{width:1.2em}.ui.star.rating .icon:before{content:'\f006';font-family:Icons}.ui.star.rating .active.icon:before{content:'\f005';font-family:Icons}.ui.heart.rating .icon{width:1.2em}.ui.heart.rating .icon:before{content:'\f08a';font-family:Icons}.ui.heart.rating .active.icon:before{content:'\f004';font-family:Icons}.ui.heart.rating .active.icon{color:#EF404A!important}.ui.heart.rating .hover.icon,.ui.heart.rating .active.hover.icon{color:#FF2733!important}.ui.active.rating .icon{cursor:pointer}.ui.rating .active.icon{color:#FFCB08!important}.ui.rating.hover .active.icon{opacity:.5}.ui.rating .icon.hover,.ui.rating .icon.hover.active{opacity:1;color:#FFB70A!important}.ui.small.rating .icon{font-size:.75rem}.ui.rating .icon{font-size:1rem}.ui.large.rating .icon{font-size:1.5rem;vertical-align:middle}.ui.huge.rating .icon{font-size:2rem;vertical-align:middle}.ui.reveal{display:inline-block;position:relative!important;z-index:2!important;font-size:0!important}.ui.reveal>.content{font-size:1em!important}.ui.reveal>.visible.content{-webkit-transition:all .8s cubic-bezier(0.175,.885,.32,1) .15s;-moz-transition:all .8s cubic-bezier(0.175,.885,.32,1) .15s;-ms-transition:all .8s cubic-bezier(0.175,.885,.32,1) .15s;transition:all .8s cubic-bezier(0.175,.885,.32,1) .15s}.ui.reveal>.visible.content{position:absolute!important;top:0!important;left:0!important;z-index:4!important;-webkit-transition:all .8s cubic-bezier(0.175,.885,.32,1) .15s;-moz-transition:all .8s cubic-bezier(0.175,.885,.32,1) .15s;-ms-transition:all .8s cubic-bezier(0.175,.885,.32,1) .15s;transition:all .8s cubic-bezier(0.175,.885,.32,1) .15s}.ui.reveal>.hidden.content{position:relative!important;z-index:3!important}.ui.reveal.button{overflow:hidden}.ui.slide.reveal{position:relative!important;display:block;overflow:hidden!important;white-space:nowrap}.ui.slide.reveal>.content{display:block;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;margin:0;-webkit-transition:top .8s cubic-bezier(0.175,.885,.32,1) .15s,left .8s cubic-bezier(0.175,.885,.32,1) .15s,right .8s cubic-bezier(0.175,.885,.32,1) .15s,bottom .8s cubic-bezier(0.175,.885,.32,1) .15s;-moz-transition:top .8s cubic-bezier(0.175,.885,.32,1) .15s,left .8s cubic-bezier(0.175,.885,.32,1) .15s,right .8s cubic-bezier(0.175,.885,.32,1) .15s,bottom .8s cubic-bezier(0.175,.885,.32,1) .15s;-ms-transition:top .8s cubic-bezier(0.175,.885,.32,1) .15s,left .8s cubic-bezier(0.175,.885,.32,1) .15s,right .8s cubic-bezier(0.175,.885,.32,1) .15s,bottom .8s cubic-bezier(0.175,.885,.32,1) .15s;transition:top .8s cubic-bezier(0.175,.885,.32,1) .15s,left .8s cubic-bezier(0.175,.885,.32,1) .15s,right .8s cubic-bezier(0.175,.885,.32,1) .15s,bottom .8s cubic-bezier(0.175,.885,.32,1) .15s}.ui.slide.reveal>.visible.content{position:relative!important}.ui.slide.reveal>.hidden.content{position:absolute!important;left:100%!important;width:100%!important}.ui.slide.reveal:hover>.visible.content{left:-100%!important}.ui.slide.reveal:hover>.hidden.content{left:0!important}.ui.right.slide.reveal>.visible.content{left:0}.ui.right.slide.reveal>.hidden.content{left:auto!important;right:100%!important}.ui.right.slide.reveal:hover>.visible.content{left:100%!important;right:auto!important}.ui.right.slide.reveal:hover>.hidden.content{left:auto!important;right:0!important}.ui.up.slide.reveal>.visible.content{top:0!important;left:0!important;right:auto!important;bottom:auto!important}.ui.up.slide.reveal>.hidden.content{top:100%!important;left:0!important;right:auto!important;bottom:auto!important}.ui.slide.up.reveal:hover>.visible.content{top:-100%!important;left:0!important}.ui.slide.up.reveal:hover>.hidden.content{top:0!important;left:0!important}.ui.down.slide.reveal>.visible.content{top:auto!important;right:auto!important;bottom:auto!important;bottom:0!important}.ui.down.slide.reveal>.hidden.content{top:auto!important;right:auto!important;bottom:100%!important;left:0!important}.ui.slide.down.reveal:hover>.visible.content{left:0!important;bottom:-100%!important}.ui.slide.down.reveal:hover>.hidden.content{left:0!important;bottom:0!important}.ui.fade.reveal>.visible.content{opacity:1}.ui.fade.reveal:hover>.visible.content{opacity:0}.ui.move.reveal>.visible.content,.ui.move.left.reveal>.visible.content{left:auto!important;top:auto!important;bottom:auto!important;right:0!important}.ui.move.reveal:hover>.visible.content,.ui.move.left.reveal:hover>.visible.content{right:100%!important}.ui.move.right.reveal>.visible.content{right:auto!important;top:auto!important;bottom:auto!important;left:0!important}.ui.move.right.reveal:hover>.visible.content{left:100%!important}.ui.move.up.reveal>.visible.content{right:auto!important;left:auto!important;top:auto!important;bottom:0!important}.ui.move.up.reveal:hover>.visible.content{bottom:100%!important}.ui.move.down.reveal>.visible.content{right:auto!important;left:auto!important;top:0!important;bottom:auto!important}.ui.move.down.reveal:hover>.visible.content{top:100%!important}.ui.rotate.reveal>.visible.content{-webkit-transition-duration:.8s;-moz-transition-duration:.8s;-o-transition-duration:.8s;-ms-transition-duration:.8s;transition-duration:.8s;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.ui.rotate.reveal>.visible.content,.ui.rotate.right.reveal>.visible.content{-webkit-transform-origin:bottom right;-moz-transform-origin:bottom right;-o-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right}.ui.rotate.reveal:hover>.visible.content,.ui.rotate.right.reveal:hover>.visible.content{-webkit-transform:rotate(110deg);-moz-transform:rotate(110deg);-o-transform:rotate(110deg);-ms-transform:rotate(110deg);transform:rotate(110deg)}.ui.rotate.left.reveal>.visible.content{-webkit-transform-origin:bottom left;-moz-transform-origin:bottom left;-o-transform-origin:bottom left;-ms-transform-origin:bottom left;transform-origin:bottom left}.ui.rotate.left.reveal:hover>.visible.content{-webkit-transform:rotate(-110deg);-moz-transform:rotate(-110deg);-o-transform:rotate(-110deg);-ms-transform:rotate(-110deg);transform:rotate(-110deg)}.ui.disabled.reveal{opacity:1!important}.ui.disabled.reveal>.content{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}.ui.disabled.reveal:hover>.visible.content{position:static!important;display:block!important;opacity:1!important;top:0!important;left:0!important;right:auto!important;bottom:auto!important;transform:none!important}.ui.disabled.reveal:hover>.hidden.content{display:none!important}.ui.masked.reveal{overflow:hidden}.ui.instant.reveal>.content{-webkit-transition-delay:0s!important;-moz-transition-delay:0s!important;-o-transition-delay:0s!important;-ms-transition-delay:0s!important;transition-delay:0s!important}.ui.search{position:relative;text-shadow:none;font-style:normal;font-weight:400}.ui.search input{-webkit-border-radius:500rem;-moz-border-radius:500rem;border-radius:500rem}.ui.search>.button{position:relative;z-index:2;float:right;margin:0 0 0 -15px;padding:6px 15px 7px;-webkit-border-radius:0 15px 15px 0;-moz-border-radius:0 15px 15px 0;border-radius:0 15px 15px 0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.search .results{display:none;position:absolute;z-index:999;top:100%;left:0;overflow:hidden;background-color:#FFF;margin-top:.5em;width:380px;font-size:.875em;line-height:1.2;color:#555;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 1px 1px rgba(0,0,0,.1),0 -2px 0 0 rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 1px 1px rgba(0,0,0,.1),0 -2px 0 0 rgba(0,0,0,.1) inset;box-shadow:0 0 1px 1px rgba(0,0,0,.1),0 -2px 0 0 rgba(0,0,0,.1) inset}.ui.search .result{cursor:pointer;overflow:hidden;padding:.5em 1em}.ui.search .result:first-child{border-top:0}.ui.search .result .image{background:#F0F0F0;margin-right:10px;float:left;overflow:hidden;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;width:38px;height:38px}.ui.search .result .image img{display:block;width:38px;height:38px}.ui.search .result .image~.info{float:none;margin-left:50px}.ui.search .result .info{float:left}.ui.search .result .title{font-weight:700;color:rgba(0,0,0,.8)}.ui.search .result .description{color:rgba(0,0,0,.6)}.ui.search .result .price{float:right;color:#5BBD72;font-weight:700}.ui.search .message{padding:1em}.ui.search .message .text .title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:rgba(0,0,0,.8)}.ui.search .message .text .description{margin:0;font-size:1rem;color:rgba(0,0,0,.5)}.ui.search .results .category{background-color:#FAFAFA;border-top:1px solid rgba(0,0,0,.1);-webkit-transition:background .2s ease-in;-moz-transition:background .2s ease-in;-o-transition:background .2s ease-in;-ms-transition:background .2s ease-in;transition:background .2s ease-in}.ui.search .results .category:first-child{border-top:0}.ui.search .results .category>.name{float:left;padding:12px 0 0 8px;font-weight:700;color:#777;text-shadow:0 1px 0 rgba(255,255,255,.8)}.ui.search .results .category .result{background-color:#FFF;margin-left:80px;border-left:1px solid rgba(0,0,0,.1)}.ui.search .all{display:block;border-top:1px solid rgba(0,0,0,.1);background-color:#FAFAFA;height:2em;line-height:2em;color:rgba(0,0,0,.6);font-weight:700;text-align:center}.ui.search .result:hover,.ui.search .category .result:hover{background-color:#F8F8F8}.ui.search .all:hover{background-color:#F0F0F0}.ui.search.loading .input .icon{background:url(../images/loader-mini.gif) no-repeat 50% 50%}.ui.search.loading .input .icon:before,.ui.search.loading .input .icon:after{display:none}.ui.search .results .category.active{background-color:#F1F1F1}.ui.search .results .category.active>.name{color:#333}.ui.search .result.active,.ui.search .category .result.active{background-color:#FBFBFB}.ui.search .result.active .title{color:#000}.ui.search .result.active .description{color:#555}.ui.search .large.result .image,.ui.search .large.result .image img{width:50px;height:50px}.ui.search .large.results .indented.info{margin-left:65px}.ui.search .large.results .info .title{font-size:16px}.ui.search .large.results .info .description{font-size:11px}.ui.shape{position:relative;-webkit-perspective:2000px;-moz-perspective:2000px;-ms-perspective:2000px;perspective:2000px}.ui.shape .sides{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.ui.shape .side{opacity:1;width:100%;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.ui.shape .side{display:none}.ui.shape.animating .sides{position:absolute}.ui.shape .animating.side{position:absolute;width:100%;top:0;left:0;z-index:100}.ui.shape .hidden.side{opacity:.4}.ui.shape.css{-webkit-transition:all .6s ease-in-out;-moz-transition:all .6s ease-in-out;-o-transition:all .6s ease-in-out;-ms-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.ui.shape.css .sides{-webkit-transition:all .6s ease-in-out;-moz-transition:all .6s ease-in-out;-o-transition:all .6s ease-in-out;-ms-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.ui.shape.css .side{-webkit-transition:opacity .6s ease-in-out;-moz-transition:opacity .6s ease-in-out;-o-transition:opacity .6s ease-in-out;-ms-transition:opacity .6s ease-in-out;transition:opacity .6s ease-in-out}.ui.shape .active.side{display:block}body{-webkit-transition:margin .3s ease,-webkit-transform .3s ease;-moz-transition:margin .3s ease,-moz-transform .3s ease;-o-transition:margin .3s ease,transform .3s ease;-ms-transition:margin .3s ease,transform .3s ease;transition:margin .3s ease,transform .3s ease}.ui.sidebar{position:fixed;margin:0!important;width:275px!important;height:100%!important;-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important;-ms-overflow-y:auto;overflow-y:auto;top:0;left:0;z-index:999;-webkit-transition:margin-left .3s ease,margin-top .3s ease;-moz-transition:margin-left .3s ease,margin-top .3s ease;-o-transition:margin-left .3s ease,margin-top .3s ease;-ms-transition:margin-left .3s ease,margin-top .3s ease;transition:margin-left .3s ease,margin-top .3s ease}.ui.sidebar{margin-left:-275px!important}.ui.right.sidebar{left:100%;margin:0!important}.ui.top.sidebar{margin:-40px 0 0 0!important;width:100%!important;height:40px!important}.ui.bottom.sidebar{width:100%!important;height:40px!important;top:100%;margin:0!important}.ui.active.sidebar{margin-left:0!important}.ui.active.right.sidebar{margin-left:-275px!important}.ui.active.top.sidebar{margin-top:0!important}.ui.active.bottom.sidebar{margin-top:-40px!important}.ui.floating.sidebar{-webkit-box-shadow:3px 0 3px rgba(0,0,0,.2);-moz-box-shadow:3px 0 3px rgba(0,0,0,.2);box-shadow:3px 0 3px rgba(0,0,0,.2)}.ui.right.floating.sidebar{-webkit-box-shadow:-3px 0 3px rgba(0,0,0,.2);-moz-box-shadow:-3px 0 3px rgba(0,0,0,.2);box-shadow:-3px 0 3px rgba(0,0,0,.2)}.ui.top.floating.sidebar{-webkit-box-shadow:0 5px 5px rgba(0,0,0,.2);-moz-box-shadow:0 5px 5px rgba(0,0,0,.2);box-shadow:0 5px 5px rgba(0,0,0,.2)}.ui.bottom.floating.sidebar{-webkit-box-shadow:0 -5px 5px rgba(0,0,0,.2);-moz-box-shadow:0 -5px 5px rgba(0,0,0,.2);box-shadow:0 -5px 5px rgba(0,0,0,.2)}.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px;text-indent:-10000px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading:after{position:absolute;top:50px;left:50%;content:'Loading...';margin-left:-32px;text-indent:5px;color:rgba(0,0,0,.4);width:100%;height:100%;padding-top:75px;background:url(../images/loader-large.gif) no-repeat 0 0;visibility:visible}.ui.transition{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;backface-visibility:hidden;-webkit-animation-iteration-count:1;-moz-animation-iteration-count:1;-ms-animation-iteration-count:1;-o-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-duration:1s;-moz-animation-duration:1s;-ms-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;animation-timing-function:ease;-webkit-animation-timing-function:ease;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.ui.loading.transition{position:absolute;top:-999999px;left:-99999px}.ui.hidden.transition{display:none}.ui.visible.transition{display:block;visibility:visible}.ui.disabled.transition{-webkit-animation-play-state:paused;-moz-animation-play-state:paused;-ms-animation-play-state:paused;-o-animation-play-state:paused;animation-play-state:paused}.ui.looping.transition{-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-o-animation-iteration-count:infinite;animation-iteration-count:infinite}.ui.flash.transition{-webkit-animation-name:flash;-moz-animation-name:flash;-o-animation-name:flash;animation-name:flash}.ui.shake.transition{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake}.ui.bounce.transition{-webkit-animation-name:bounce;-moz-animation-name:bounce;-o-animation-name:bounce;animation-name:bounce}.ui.tada.transition{-webkit-animation-name:tada;-moz-animation-name:tada;-o-animation-name:tada;animation-name:tada}.ui.pulse.transition{-webkit-animation-name:pulse;-moz-animation-name:pulse;-o-animation-name:pulse;animation-name:pulse}.ui.flip.transition.in,.ui.flip.transition.out{-webkit-perspective:2000px;perspective:2000px}.ui.horizontal.flip.transition.in,.ui.horizontal.flip.transition.out{-webkit-animation-name:horizontalFlip;-moz-animation-name:horizontalFlip;-o-animation-name:horizontalFlip;animation-name:horizontalFlip}.ui.horizontal.flip.transition.out{-webkit-animation-name:horizontalFlipOut;-moz-animation-name:horizontalFlipOut;-o-animation-name:horizontalFlipOut;animation-name:horizontalFlipOut}.ui.vertical.flip.transition.in,.ui.vertical.flip.transition.out{-webkit-animation-name:verticalFlip;-moz-animation-name:verticalFlip;-o-animation-name:verticalFlip;animation-name:verticalFlip}.ui.vertical.flip.transition.out{-webkit-animation-name:verticalFlipOut;-moz-animation-name:verticalFlipOut;-o-animation-name:verticalFlipOut;animation-name:verticalFlipOut}.ui.fade.transition.in{-webkit-animation-name:fade;-moz-animation-name:fade;-o-animation-name:fade;animation-name:fade}.ui.fade.transition.out{-webkit-animation-name:fadeOut;-moz-animation-name:fadeOut;-o-animation-name:fadeOut;animation-name:fadeOut}.ui.fade.up.transition.in{-webkit-animation-name:fadeUp;-moz-animation-name:fadeUp;-o-animation-name:fadeUp;animation-name:fadeUp}.ui.fade.up.transition.out{-webkit-animation-name:fadeUpOut;-moz-animation-name:fadeUpOut;-o-animation-name:fadeUpOut;animation-name:fadeUpOut}.ui.fade.down.transition.in{-webkit-animation-name:fadeDown;-moz-animation-name:fadeDown;-o-animation-name:fadeDown;animation-name:fadeDown}.ui.fade.down.transition.out{-webkit-animation-name:fadeDownOut;-moz-animation-name:fadeDownOut;-o-animation-name:fadeDownOut;animation-name:fadeDownOut}.ui.scale.transition.in{-webkit-animation-name:scale;-moz-animation-name:scale;-o-animation-name:scale;animation-name:scale}.ui.scale.transition.out{-webkit-animation-name:scaleOut;-moz-animation-name:scaleOut;-o-animation-name:scaleOut;animation-name:scaleOut}.ui.slide.down.transition.in{-webkit-animation-name:slide;-moz-animation-name:slide;-o-animation-name:slide;animation-name:slide;transform-origin:50% 0;-ms-transform-origin:50% 0;-webkit-transform-origin:50% 0}.ui.slide.down.transition.out{-webkit-animation-name:slideOut;-moz-animation-name:slideOut;-o-animation-name:slideOut;animation-name:slideOut;transform-origin:50% 0;-ms-transform-origin:50% 0;-webkit-transform-origin:50% 0}.ui.slide.up.transition.in{-webkit-animation-name:slide;-moz-animation-name:slide;-o-animation-name:slide;animation-name:slide;transform-origin:50% 100%;-ms-transform-origin:50% 100%;-webkit-transform-origin:50% 100%}.ui.slide.up.transition.out{-webkit-animation-name:slideOut;-moz-animation-name:slideOut;-o-animation-name:slideOut;animation-name:slideOut;transform-origin:50% 100%;-ms-transform-origin:50% 100%;-webkit-transform-origin:50% 100%}@-moz-keyframes slide{0%{opacity:0;-moz-transform:scaleY(0)}100%{opacity:1;-moz-transform:scaleY(1)}}@-webkit-keyframes slide{0%{opacity:0;-webkit-transform:scaleY(0)}100%{opacity:1;-webkit-transform:scaleY(1)}}@keyframes slide{0%{opacity:0;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}@-moz-keyframes slideOut{0%{opacity:1;-moz-transform:scaleY(1)}100%{opacity:0;-moz-transform:scaleY(0)}}@-webkit-keyframes slideOut{0%{opacity:1;-webkit-transform:scaleY(1)}100%{opacity:0;-webkit-transform:scaleY(0)}}@keyframes slideOut{0%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(0)}}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-moz-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-o-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px)}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)}20%,40%,60%,80%{-moz-transform:translateX(10px)}}@-o-keyframes shake{0%,100%{-o-transform:translateX(0)}10%,30%,50%,70%,90%{-o-transform:translateX(-10px)}20%,40%,60%,80%{-o-transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@-webkit-keyframes bounce{0%,20%,50%,80%,100%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px)}}@-moz-keyframes bounce{0%,20%,50%,80%,100%{-moz-transform:translateY(0)}40%{-moz-transform:translateY(-30px)}60%{-moz-transform:translateY(-15px)}}@-o-keyframes bounce{0%,20%,50%,80%,100%{-o-transform:translateY(0)}40%{-o-transform:translateY(-30px)}60%{-o-transform:translateY(-15px)}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@-webkit-keyframes tada{0%{-webkit-transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0)}}@-moz-keyframes tada{0%{-moz-transform:scale(1)}10%,20%{-moz-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg)}100%{-moz-transform:scale(1) rotate(0)}}@-o-keyframes tada{0%{-o-transform:scale(1)}10%,20%{-o-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-o-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-o-transform:scale(1.1) rotate(-3deg)}100%{-o-transform:scale(1) rotate(0)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);opacity:1}50%{-webkit-transform:scale(0.9);opacity:.7}100%{-webkit-transform:scale(1);opacity:1}}@-o-keyframes pulse{0%{-o-transform:scale(1);opacity:1}50%{-o-transform:scale(0.9);opacity:.7}100%{-o-transform:scale(1);opacity:1}}@-moz-keyframes pulse{0%{-moz-transform:scale(1);opacity:1}50%{-moz-transform:scale(0.9);opacity:.7}100%{-moz-transform:scale(1);opacity:1}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(0.9);opacity:.7}100%{transform:scale(1);opacity:1}}@-webkit-keyframes horizontalFlip{0%{-webkit-transform:rotateY(-90deg);opacity:0}100%{-webkit-transform:rotateY(0deg);opacity:1}}@-moz-keyframes horizontalFlip{0%{-moz-transform:rotateY(-90deg);opacity:0}100%{-moz-transform:rotateY(0deg);opacity:1}}@-o-keyframes horizontalFlip{0%{-o-transform:rotateY(-90deg);opacity:0}100%{-o-transform:rotateY(0deg);opacity:1}}@keyframes horizontalFlip{0%{transform:rotateY(-90deg);opacity:0}100%{transform:rotateY(0deg);opacity:1}}@-webkit-keyframes horizontalFlipOut{0%{-webkit-transform:rotateY(0deg);opacity:0}100%{-webkit-transform:rotateY(90deg);opacity:1}}@-moz-keyframes horizontalFlipOut{0%{-moz-transform:rotateY(0deg);opacity:0}100%{-moz-transform:rotateY(90deg);opacity:1}}@-o-keyframes horizontalFlipOut{0%{-o-transform:rotateY(0deg);opacity:0}100%{-o-transform:rotateY(90deg);opacity:1}}@keyframes horizontalFlipOut{0%{transform:rotateY(0deg);opacity:0}100%{transform:rotateY(90deg);opacity:1}}@-webkit-keyframes verticalFlip{0%{-webkit-transform:rotateX(-90deg);opacity:0}100%{-webkit-transform:rotateX(0deg);opacity:1}}@-moz-keyframes verticalFlip{0%{-moz-transform:rotateX(-90deg);opacity:0}100%{-moz-transform:rotateX(0deg);opacity:1}}@-o-keyframes verticalFlip{0%{-o-transform:rotateX(-90deg);opacity:0}100%{-o-transform:rotateX(0deg);opacity:1}}@keyframes verticalFlip{0%{transform:rotateX(-90deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@-webkit-keyframes verticalFlipOut{0%{-webkit-transform:rotateX(0deg);opacity:1}100%{-webkit-transform:rotateX(-90deg);opacity:0}}@-moz-keyframes verticalFlipOut{0%{-moz-transform:rotateX(0deg);opacity:1}100%{-moz-transform:rotateX(-90deg);opacity:0}}@-o-keyframes verticalFlipOut{0%{-o-transform:rotateX(0deg);opacity:1}100%{-o-transform:rotateX(-90deg);opacity:0}}@keyframes verticalFlipOut{0%{transform:rotateX(0deg);opacity:1}100%{transform:rotateX(-90deg);opacity:0}}@-webkit-keyframes fade{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fade{0%{opacity:0}100%{opacity:1}}@-o-keyframes fade{0%{opacity:0}100%{opacity:1}}@keyframes fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-o-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes fadeUpOut{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px)}}@-moz-keyframes fadeUpOut{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(20px)}}@-o-keyframes fadeUpOut{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(20px)}}@keyframes fadeUpOut{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(20px)}}@-webkit-keyframes fadeDown{0%{opacity:0;-webkit-transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeDown{0%{opacity:0;-moz-transform:translateY(-20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeDown{0%{opacity:0;-o-transform:translateY(-20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes fadeDownOut{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px)}}@-moz-keyframes fadeDownOut{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-20px)}}@-o-keyframes fadeDownOut{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(-20px)}}@keyframes fadeDownOut{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-20px)}}@-webkit-keyframes scale{0%{opacity:0;-webkit-transform:scale(0.7)}100%{opacity:1;-webkit-transform:scale(1)}}@-moz-keyframes scale{0%{opacity:0;-moz-transform:scale(0.7)}100%{opacity:1;-moz-transform:scale(1)}}@-o-keyframes scale{0%{opacity:0;-o-transform:scale(0.7)}100%{opacity:1;-o-transform:scale(1)}}@keyframes scale{0%{opacity:0;transform:scale(0.7)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes scaleOut{0%{opacity:1;-webkit-transform:scale(1)}100%{opacity:0;-webkit-transform:scale(0.7)}}@-moz-keyframes scaleOut{0%{opacity:1;-moz-transform:scale(1)}100%{opacity:0;-moz-transform:scale(0.7)}}@-o-keyframes scaleOut{0%{opacity:1;-o-transform:scale(1)}100%{opacity:0;-o-transform:scale(0.7)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.7)}}.ui.video{position:relative;max-width:100%}.ui.video .placeholder{background-color:#333}.ui.video .play{cursor:pointer;position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;-ms-filter:"alpha(Opacity=60)";filter:alpha(opacity=60);opacity:.6;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-o-transition:opacity .3s;-ms-transition:opacity .3s;transition:opacity .3s}.ui.video .play.icon:before{position:absolute;top:50%;left:50%;z-index:11;font-size:6rem;margin:-3rem 0 0 -3rem;color:#FFF;text-shadow:0 3px 3px rgba(0,0,0,.4)}.ui.video .placeholder{display:block;width:100%;height:100%}.ui.video .embed{display:none}.ui.video .play:hover{opacity:1}.ui.video.active .play,.ui.video.active .placeholder{display:none}.ui.video.active .embed{display:block}.ui.comments a{cursor:pointer}.ui.comments .comment{position:relative;margin-top:.5em;padding-top:.5em}.ui.comments .comment:first-child{margin-top:0;padding-top:0}.ui.comments .comment .avatar{display:block;float:left;width:4em}.ui.comments .comment .avatar img{display:block;margin:0 auto;width:3em;height:3em;border-radius:500px}.ui.comments .comment>.content,.ui.comments .comment>.avatar{display:block}.ui.comments .comment .avatar~.content{padding:0 1em}.ui.comments .comment>.avatar~.content{padding-top:.25em;margin-left:3.5em}.ui.comments .comment .metadata{display:inline-block;margin-left:.3em;color:rgba(0,0,0,.4)}.ui.comments .comment .metadata>*{display:inline-block;margin:0 .3em 0 0}.ui.comments .comment .text{margin:.25em 0 .5em;word-wrap:break-word}.ui.comments .comment .actions{font-size:.9em}.ui.comments .comment .actions a{display:inline-block;margin:0 .3em 0 0;color:rgba(0,0,0,.3)}.ui.comments .comment .actions a.active,.ui.comments .comment .actions a:hover{color:rgba(0,0,0,.6)}.ui.comments .reply.form{margin-top:.75em;width:100%;max-width:30em}.ui.comments .comment .reply.form{margin-left:2em}.ui.comments>.reply.form{margin-top:1.5em;max-width:40em}.ui.comments .reply.form textarea{height:12em}.ui.comments .comment .comments{margin-top:.5em;padding-top:.5em;padding-bottom:1em}.ui.comments .comment .comments:before{position:absolute;top:0;left:0}.ui.comments>.comment .comments{margin-left:2em}.ui.comments>.comment>.comments>.comment>.comments{margin-left:1.75em}.ui.comments>.comment>.comments>.comment>.comments>.comment>.comments{margin-left:1.5em}.ui.comments>.comment>.comments>.comment>.comments>.comment>.comments>.comment .comments{margin-left:.5em}.ui.threaded.comments .comment .comments{margin-left:2em!important;padding-left:2em!important;-webkit-box-shadow:-1px 0 0 rgba(0,0,0,.05);-moz-box-shadow:-1px 0 0 rgba(0,0,0,.05);box-shadow:-1px 0 0 rgba(0,0,0,.05)}.ui.minimal.comments .comment .actions{opacity:0;-webkit-transition:opacity .1s ease-out;-moz-transition:opacity .1s ease-out;-o-transition:opacity .1s ease-out;-ms-transition:opacity .1s ease-out;transition:opacity .1s ease-out;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;-o-transition-delay:.1s;-ms-transition-delay:.1s;transition-delay:.1s}.ui.minimal.comments .comment>.content:hover>.actions{opacity:1}.ui.small.comments{font-size:.875em}.ui.feed a{cursor:pointer}.ui.feed,.ui.feed .event,.ui.feed .label,.ui.feed .content,.ui.feed .extra{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.feed .event{width:100%;display:table;padding:1em}.ui.feed .event:first-child{border-top:0}.ui.feed .event:last-child{margin-bottom:1em}.ui.feed .label{width:3em;display:table-cell;vertical-align:top;text-align:left}.ui.feed .label .icon{font-size:1.5em;padding:.5em;margin:0}.ui.feed .label img{width:3em;margin:0;border-radius:50em}.ui.feed .label+.content{padding:.75em 1em 0}.ui.feed .content{display:table-cell;vertical-align:top;text-align:left;word-wrap:break-word}.ui.feed .content .date{float:right;padding-left:1em;color:rgba(0,0,0,.4)}.ui.feed .content .summary{color:rgba(0,0,0,.75)}.ui.feed .content .summary img{display:inline-block;margin-right:.25em;width:4em;border-radius:500px}.ui.feed .content .extra{margin:1em 0 0;padding:.5em 0 0;color:rgba(0,0,0,.5)}.ui.feed .content .extra.images img{display:inline-block;margin-right:.25em;width:6em}.ui.feed .content .extra.text{padding:.5em 1em;border-left:.2em solid rgba(0,0,0,.1)}.ui.small.feed{font-size:.875em}.ui.small.feed .label img{width:2.5em}.ui.small.feed .label .icon{font-size:1.25em}.ui.feed .event{padding:.75em 0}.ui.small.feed .label+.content{padding:.5em .5em 0}.ui.small.feed .content .extra.images img{width:5em}.ui.small.feed .content .extra{margin:.5em 0 0}.ui.small.feed .content .extra.text{padding:.25em .5em}.ui.items{margin:1em 0 0}.ui.items:first-child{margin-top:0}.ui.items:last-child{margin-bottom:-1em}.ui.items:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.row>.item,.ui.items>.item{display:block;float:left;position:relative;top:0;width:316px;min-height:375px;margin:0 .5em 2.5em;padding:0;background-color:#FFF;line-height:1.2;font-size:1em;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);border-bottom:.2em solid rgba(0,0,0,.2);-moz-border-radius:.33em;-webkit-border-radius:.33em;border-radius:.33em;-webkit-transition:box-shadow .2s ease;-moz-transition:box-shadow .2s ease;-o-transition:box-shadow .2s ease;-ms-transition:box-shadow .2s ease;transition:box-shadow .2s ease;padding:.5em}.ui.items a.item,.ui.items .item a{cursor:pointer}.ui.items .item,.ui.items .item>.image,.ui.items .item>.image .overlay,.ui.items .item>.content,.ui.items .item>.content>.meta,.ui.items .item>.content>.extra{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.items .item>.image{display:block;position:relative;background-color:rgba(0,0,0,.05);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-webkit-border-radius:.2em;-moz-border-radius:.2em;border-radius:.2em}.ui.items .item>.image>img{display:block;width:100%}.ui.items .item>.content{padding:.75em .5em}.ui.items .item>.content>.name{display:block;font-size:1.25em;font-weight:700;margin-bottom:.2em;color:rgba(0,0,0,.7)}.ui.items .item>.content>.description{clear:both;margin:0;color:rgba(0,0,0,.45)}.ui.items .item>.content>.description p{margin:0 0 .2em}.ui.items .item>.content>.description p:last-child{margin-bottom:0}.ui.items .item .meta{float:right;color:rgba(0,0,0,.35)}.ui.items .item>.content>.meta+.name{float:left}.ui.items .item .star.label:hover::after{border-right-color:#F6EFC3}.ui.items .item .star.label:hover::after{border-top-color:#F6EFC3}.ui.items .item .star.label:hover .icon{color:#ac9400}.ui.items .item .star.label.active::after{border-right-color:#F6EFC3}.ui.items .item .star.label.active::after{border-top-color:#F6EFC3}.ui.items .item .star.label.active .icon{color:#ac9400}.ui.items .item .like.label:hover::after{border-right-color:#F5E1E2}.ui.items .item .like.label.active::after{border-top-color:#F5E1E2}.ui.items .item .like.label:hover .icon{color:#ef404a}.ui.items .item .like.label.active::after{border-right-color:#F5E1E2}.ui.items .item .like.label.active::after{border-top-color:#F5E1E2}.ui.items .item .like.label.active .icon{color:#ef404a}.ui.items .item .extra{position:absolute;width:100%;padding:0 .5em;bottom:-2em;left:0;height:1.5em;color:rgba(0,0,0,.25);-webkit-transition:color .2s ease;-moz-transition:color .2s ease;-o-transition:color .2s ease;-ms-transition:color .2s ease;transition:color .2s ease}.ui.items .item .extra>img{display:inline-block;border-radius:500px;margin-right:.25em;vertical-align:middle;width:2em}.ui.items .item .extra .left{float:left}.ui.items .item .extra .right{float:right}.ui.items .item:hover{cursor:pointer;z-index:5;box-shadow:0 0 0 1px rgba(0,0,0,.2)}.ui.items .item:hover .extra{color:rgba(0,0,0,.5)}.ui.items .item:nth-of-type(n+1):hover{border-bottom-color:#6ECFF5!important}.ui.items .item:nth-of-type(n+2):hover{border-bottom-color:#5C6166!important}.ui.items .item:nth-of-type(n+3):hover{border-bottom-color:#A1CF64!important}.ui.items .item:nth-of-type(n+4):hover{border-bottom-color:#D95C5C!important}.ui.items .item:nth-of-type(n+5):hover{border-bottom-color:#564F8A!important}.ui.items .item:nth-of-type(n+6):hover{border-bottom-color:#00B5AD!important}.ui.connected.items{display:table;width:100%;margin-left:0!important;margin-right:0!important}.ui.connected.items>.row>.item,.ui.connected.items>.item{float:none;display:table-cell;vertical-align:top;height:auto;border-radius:0;margin:0;width:33.33%}.ui.connected.items>.row{display:table;margin:.5em 0}.ui.connected.items>.row:first-child{margin-top:0}.ui.connected.items>.item,.ui.connected.items>.row:last-child>.item{border-bottom:.2em solid rgba(0,0,0,.2)}.ui.connected.items>.row:last-child>.item:first-child,.ui.connected.items>.item:first-child{border-radius:0 0 0 .33em}.ui.connected.items>.row:last-child>.item:last-child,.ui.connected.items>.item:last-child{border-radius:0 0 .33em}.ui.connected.items .item:hover{border-bottom-width:.2em}.ui.one.connected.items>.row>.item,.ui.one.connected.items>.item{width:50%;padding-left:2%;padding-right:2%}.ui.two.connected.items>.row>.item,.ui.two.connected.items>.item{width:50%;padding-left:1%;padding-right:1%}.ui.three.connected.items>.row>.item,.ui.three.connected.items>.item{width:33.333%;padding-left:1%;padding-right:1%}.ui.four.connected.items>.row>.item,.ui.four.connected.items>.item{width:25%;padding-left:.5%;padding-right:.5%}.ui.five.connected.items>.row>.item,.ui.five.connected.items>.item{width:20%;padding-left:.5%;padding-right:.5%}.ui.six.connected.items>.row>.item,.ui.six.connected.items>.item{width:16.66%;padding-left:.5%;padding-right:.5%}.ui.seven.connected.items>.row>.item,.ui.seven.connected.items>.item{width:14.28%;padding-left:.5%;padding-right:.5%}.ui.eight.connected.items>.row>.item,.ui.eight.connected.items>.item{width:12.5%;padding-left:.25%;padding-right:.25%}.ui.nine.connected.items>.row>.item,.ui.nine.connected.items>.item{width:11.11%;padding-left:.25%;padding-right:.25%}.ui.ten.connected.items>.row>.item,.ui.ten.connected.items>.item{width:10%;padding-left:.2%;padding-right:.2%}.ui.eleven.connected.items>.row>.item,.ui.eleven.connected.items>.item{width:9.09%;padding-left:.2%;padding-right:.2%}.ui.twelve.connected.items>.row>.item,.ui.twelve.connected.items>.item{width:8.3333%;padding-left:.1%;padding-right:.1%}@media only screen and (max-width:768px){.ui.stackable.items{display:block!important}.ui.stackable.items>.item,.ui.stackable.items>.row>.item{display:block!important;height:auto!important;width:auto!important;padding:0!important}}.ui.horizontal.items>.item,.ui.items>.horizontal.item{display:table}.ui.horizontal.items>.item>.image .ui.items>.horizontal.item>.image{display:table-cell;width:50%}.ui.horizontal.items>.item>.image+.content,.ui.items>.horizontal.item>.image+.content{width:50%;display:table-cell}.ui.horizontal.items>.item>.content,.ui.items>.horizontal.item>.content{padding:1% 1.7% 11% 3%;vertical-align:top}.ui.horizontal.items>.item>.meta,.ui.items>.horizontal.item>.meta{position:absolute;padding:0;bottom:7%;left:3%;width:94%}.ui.horizontal.items>.item>.image+.content+.meta,.ui.items>.horizontal.item>.image+.content+.meta{bottom:7%;left:53%;width:44%}.ui.horizontal.items>.item .avatar,.ui.items>.horizontal.item .avatar{width:11.5%}.ui.items>.item .avatar{max-width:25px}.ui.one.items{margin-left:-2%;margin-right:-2%}.ui.one.items>.item{width:100%;margin-left:2%;margin-right:2%}.ui.two.items{margin-left:-1%;margin-right:-1%}.ui.two.items>.item{width:48%;margin-left:1%;margin-right:1%}.ui.two.items>.item:nth-child(2n+1){clear:left}.ui.three.items{margin-left:-1%;margin-right:-1%}.ui.three.items>.item{width:31.333%;margin-left:1%;margin-right:1%}.ui.three.items>.item:nth-child(3n+1){clear:left}.ui.four.items{margin-left:-.5%;margin-right:-.5%}.ui.four.items>.item{width:24%;margin-left:.5%;margin-right:.5%}.ui.four.items>.item:nth-child(4n+1){clear:left}.ui.five.items{margin-left:-.5%;margin-right:-.5%}.ui.five.items>.item{width:19%;margin-left:.5%;margin-right:.5%}.ui.five.items>.item:nth-child(5n+1){clear:left}.ui.six.items{margin-left:-.5%;margin-right:-.5%}.ui.six.items>.item{width:15.66%;margin-left:.5%;margin-right:.5%}.ui.six.items>.item:nth-child(6n+1){clear:left}.ui.seven.items{margin-left:-.5%;margin-right:-.5%}.ui.seven.items>.item{width:13.28%;margin-left:.5%;margin-right:.5%;font-size:11px}.ui.seven.items>.item:nth-child(7n+1){clear:left}.ui.eight.items{margin-left:-.25%;margin-right:-.25%}.ui.eight.items>.item{width:12%;margin-left:.25%;margin-right:.25%;font-size:11px}.ui.eight.items>.item:nth-child(8n+1){clear:left}.ui.nine.items{margin-left:-.25%;margin-right:-.25%}.ui.nine.items>.item{width:10.61%;margin-left:.25%;margin-right:.25%;font-size:10px}.ui.nine.items>.item:nth-child(9n+1){clear:left}.ui.ten.items{margin-left:-.2%;margin-right:-.2%}.ui.ten.items>.item{width:9.6%;margin-left:.2%;margin-right:.2%;font-size:10px}.ui.ten.items>.item:nth-child(10n+1){clear:left}.ui.eleven.items{margin-left:-.2%;margin-right:-.2%}.ui.eleven.items>.item{width:8.69%;margin-left:.2%;margin-right:.2%;font-size:9px}.ui.eleven.items>.item:nth-child(11n+1){clear:left}.ui.twelve.items{margin-left:-.1%;margin-right:-.1%}.ui.twelve.items>.item{width:8.1333%;margin-left:.1%;margin-right:.1%;font-size:9px}.ui.twelve.items>.item:nth-child(12n+1){clear:left}ul.ui.list,ol.ui.list,.ui.list{list-style-type:none;margin:1em 0;padding:0}ul.ui.list ul,ol.ui.list ol,.ui.list .list{margin:0;padding:.5em 0 .5em 1em}ul.ui.list:first-child,ol.ui.list:first-child,.ui.list:first-child{margin-top:0}ul.ui.list:last-child,ol.ui.list:last-child,.ui.list:last-child{margin-bottom:0}ul.ui.list li,ol.ui.list li,.ui.list .item{display:list-item;list-style-type:none;list-style-position:inside;padding:.3em 0;line-height:1.2}.ui.list .item:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.list .item>.icon{display:table-cell;margin:0;padding:0 .5em 0 0;vertical-align:middle}.ui.list .item>.icon:only-child{display:inline-block}.ui.horizontal.list .item>.icon{padding:0 .25em 0 0}.ui.list .item>img{display:inline-block;width:2em;margin-right:.5em;vertical-align:middle;-webkit-border-radius:.2em;-moz-border-radius:.2em;border-radius:.2em}.ui.list .item>.content{display:inline-block;vertical-align:middle;line-height:1.2}.ui.list .item>.icon+.content{display:table-cell;vertical-align:top;padding-left:.5em}.ui.list a{cursor:pointer}.ui.list a .icon{color:rgba(0,0,0,.6);-webkit-transition:color .2s ease;-moz-transition:color .2s ease;-o-transition:color .2s ease;-ms-transition:color .2s ease;transition:color .2s ease}.ui.list .header{font-weight:700}.ui.list .description{color:rgba(0,0,0,.5)}.ui.list .item>.left.floated{margin-right:1em;float:left}.ui.list .item>.right.floated{margin-left:1em;float:right}.ui.horizontal.list{display:inline-block;font-size:0}.ui.horizontal.list .item{display:inline-block;margin-left:1em;font-size:1rem}.ui.horizontal.list .item:first-child{margin-left:0}.ui.list a:hover .icon{color:rgba(0,0,0,.8)}.ui.link.list .item{color:rgba(0,0,0,.4)}.ui.link.list a.item,.ui.link.list .item a{color:rgba(0,0,0,.6)}.ui.link.list a.item:hover,.ui.link.list .item a:hover{color:rgba(0,0,0,.8)}.ui.link.list a.item:active,.ui.link.list .item a:active{color:rgba(0,0,0,.9)}.ui.link.list a.active.item,.ui.link.list .active.item a{color:rgba(0,0,0,.8)}.ui.selection.list .item{cursor:pointer;color:rgba(0,0,0,.4);padding:.5em;-webkit-transition:.2s color ease,.2s padding-left ease,.2s background-color ease;-moz-transition:.2s color ease,.2s padding-left ease,.2s background-color ease;-o-transition:.2s color ease,.2s padding-left ease,.2s background-color ease;-ms-transition:.2s color ease,.2s padding-left ease,.2s background-color ease;transition:.2s color ease,.2s padding-left ease,.2s background-color ease}.ui.selection.list .item:hover{background-color:rgba(0,0,0,.02);color:rgba(0,0,0,.7)}.ui.selection.list:not(.horizontal,.ordered) .item:hover{padding-left:1em}.ui.selection.list:not(.horizontal,.ordered) .item:hover .item:hover{padding-left:.5em}.ui.selection.list .item:active{background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.7)}.ui.selection.list .item.active{background-color:rgba(0,0,0,.04);color:rgba(0,0,0,.7)}ul.ui.list,.ui.bulleted.list{margin-left:1em}ul.ui.list li,.ui.bulleted.list .item{position:relative}ul.ui.list li:before,.ui.bulleted.list .item:before{position:absolute;left:-1em;content:'•';line-height:1.2rem;vertical-align:top}ul.ui.list ul,.ui.bulleted.list .list{padding-left:1.2em}ul.ui.horizontal.bulleted.list,.ui.horizontal.bulleted.list{margin-left:0}ul.ui.horizontal.bulleted.list li,.ui.horizontal.bulleted.list .item{margin-left:1.5em}ul.ui.horizontal.bulleted.list li:before,.ui.horizontal.bulleted.list .item:before{left:-.9em}ul.ui.horizontal.bulleted.list li:first-child,.ui.horizontal.bulleted.list .item:first-child{margin-left:0}ul.ui.horizontal.bulleted.list li:first-child::before,.ui.horizontal.bulleted.list .item:first-child::before{display:none}ol.ui.list,.ui.ordered.list{counter-reset:ordered;margin-left:2em;list-style-type:none}ol.ui.list li,.ui.ordered.list .item{list-style-type:none;position:relative}ol.ui.list li:before,.ui.ordered.list .item:before{position:absolute;left:-2em;counter-increment:ordered;content:counters(ordered,".");text-align:right;vertical-align:top;opacity:.75}ol.ui.list ol,.ui.ordered.list .list{counter-reset:ordered;padding-left:3em}ol.ui.list ol li:before,.ui.ordered.list .list .item:before{left:-2.5em}ol.ui.horizontal.list,.ui.ordered.horizontal.list{margin-left:0}ol.ui.horizontal.list li:before,.ui.ordered.horizontal.list .item:before{position:static;margin:0 .5em 0 0}.ui.divided.list>.item,.ui.divided.list>.list{border-top:1px solid rgba(0,0,0,.1);padding-left:.5em;padding-right:.5em}.ui.divided.list .item .menu .item{border-width:0}.ui.divided.list .item:first-child{border-top-width:0}.ui.divided.list .list{margin-left:-.5em;margin-right:-.5em}.ui.divided.list .list .item{padding-left:1em;padding-right:1em}.ui.divided.list .list .item:first-child{border-top-width:1px}.ui.divided.bulleted.list{margin-left:0}.ui.divided.bulleted.list .item{padding-left:1.5em}.ui.divided.bulleted.list .item:before{left:.5em}.ui.divided.ordered.list{margin-left:0}.ui.divided.ordered.list>.item{padding-left:2em;padding-right:2em}.ui.divided.ordered.list>.item:before{left:.5em}.ui.divided.ordered.list .item .list{margin-left:-2em;margin-right:-2em}.ui.divided.horizontal.list{margin-left:0}.ui.divided.horizontal.list .item{border-top:0;border-left:1px solid rgba(0,0,0,.1);margin:0;padding-left:.75em;padding-right:.75em;line-height:.6}.ui.horizontal.divided.list .item:first-child{border-left:0;padding-left:0}.ui.celled.list>.item,.ui.celled.list>.list{border-top:1px solid rgba(0,0,0,.1);padding-left:.5em;padding-right:.5em}.ui.celled.list>.item:last-child{border-bottom:1px solid rgba(0,0,0,.1)}.ui.celled.list .item .list{margin-left:-.5em;margin-right:-.5em}.ui.celled.list .item .list .item{border-width:0}.ui.celled.list .list .item:first-child{border-top-width:0}.ui.celled.bulleted.list{margin-left:0}.ui.celled.bulleted.list>.item{padding-left:1.5em}.ui.celled.bulleted.list>.item:before{left:.5em}.ui.celled.ordered.list{margin-left:0}.ui.celled.ordered.list .item{padding-left:2em;padding-right:2em}.ui.celled.ordered.list .item:before{left:.5em}.ui.celled.ordered.list .item .list{margin-left:-2em;margin-right:-2em}.ui.horizontal.celled.list{margin-left:0}.ui.horizontal.celled.list .item{border-top:0;border-left:1px solid rgba(0,0,0,.1);margin:0;padding-left:.75em;padding-right:.75em;line-height:.6}.ui.horizontal.celled.list .item:last-child{border-bottom:0;border-right:1px solid rgba(0,0,0,.1)}.ui.relaxed.list:not(.horizontal) .item{padding-top:.5em;padding-bottom:.5em}.ui.horizontal.relaxed.list .item{padding-left:1.25em;padding-right:1.25em}.ui.very.relaxed.list:not(.horizontal) .item{padding-top:1em;padding-bottom:1em}.ui.horizontal.very.relaxed.list .item{padding-left:2em;padding-right:2em}.ui.mini.list .item{font-size:.7rem}.ui.tiny.list .item{font-size:.8125rem}.ui.small.list .item{font-size:.875rem}.ui.list .item{font-size:1em}.ui.large.list .item{font-size:1.125rem}.ui.big.list .item{font-size:1.25rem}.ui.huge.list .item{font-size:1.375rem}.ui.massive.list .item{font-size:1.5rem}.ui.statistic{text-align:center}.ui.statistic>.number{font-size:4em;font-weight:700;color:rgba(0,0,0,.7)}.ui.statistic>.description{opacity:.8} \ No newline at end of file diff --git a/static/semantic-ui/packaged/fonts/basic.icons.eot b/static/semantic-ui/packaged/fonts/basic.icons.eot deleted file mode 100644 index 25066de..0000000 Binary files a/static/semantic-ui/packaged/fonts/basic.icons.eot and /dev/null differ diff --git a/static/semantic-ui/packaged/fonts/basic.icons.svg b/static/semantic-ui/packaged/fonts/basic.icons.svg deleted file mode 100644 index b9c54d0..0000000 --- a/static/semantic-ui/packaged/fonts/basic.icons.svg +++ /dev/null @@ -1,450 +0,0 @@ - - - - -Created by FontForge 20100429 at Thu Sep 20 22:09:47 2012 - By root -Copyright (C) 2012 by original authors @ fontello.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/semantic-ui/packaged/fonts/basic.icons.ttf b/static/semantic-ui/packaged/fonts/basic.icons.ttf deleted file mode 100644 index 318a264..0000000 Binary files a/static/semantic-ui/packaged/fonts/basic.icons.ttf and /dev/null differ diff --git a/static/semantic-ui/packaged/fonts/basic.icons.woff b/static/semantic-ui/packaged/fonts/basic.icons.woff deleted file mode 100644 index baba1b5..0000000 Binary files a/static/semantic-ui/packaged/fonts/basic.icons.woff and /dev/null differ diff --git a/static/semantic-ui/packaged/fonts/icons.eot b/static/semantic-ui/packaged/fonts/icons.eot deleted file mode 100644 index 0662cb9..0000000 Binary files a/static/semantic-ui/packaged/fonts/icons.eot and /dev/null differ diff --git a/static/semantic-ui/packaged/fonts/icons.otf b/static/semantic-ui/packaged/fonts/icons.otf deleted file mode 100644 index 7012545..0000000 Binary files a/static/semantic-ui/packaged/fonts/icons.otf and /dev/null differ diff --git a/static/semantic-ui/packaged/fonts/icons.svg b/static/semantic-ui/packaged/fonts/icons.svg deleted file mode 100644 index 2edb4ec..0000000 --- a/static/semantic-ui/packaged/fonts/icons.svg +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/static/semantic-ui/packaged/fonts/icons.ttf b/static/semantic-ui/packaged/fonts/icons.ttf deleted file mode 100644 index d365924..0000000 Binary files a/static/semantic-ui/packaged/fonts/icons.ttf and /dev/null differ diff --git a/static/semantic-ui/packaged/fonts/icons.woff b/static/semantic-ui/packaged/fonts/icons.woff deleted file mode 100644 index b9bd17e..0000000 Binary files a/static/semantic-ui/packaged/fonts/icons.woff and /dev/null differ diff --git a/static/semantic-ui/packaged/images/loader-large-inverted.gif b/static/semantic-ui/packaged/images/loader-large-inverted.gif deleted file mode 100644 index ee5283f..0000000 Binary files a/static/semantic-ui/packaged/images/loader-large-inverted.gif and /dev/null differ diff --git a/static/semantic-ui/packaged/images/loader-large.gif b/static/semantic-ui/packaged/images/loader-large.gif deleted file mode 100644 index 519621c..0000000 Binary files a/static/semantic-ui/packaged/images/loader-large.gif and /dev/null differ diff --git a/static/semantic-ui/packaged/images/loader-medium-inverted.gif b/static/semantic-ui/packaged/images/loader-medium-inverted.gif deleted file mode 100644 index caa3110..0000000 Binary files a/static/semantic-ui/packaged/images/loader-medium-inverted.gif and /dev/null differ diff --git a/static/semantic-ui/packaged/images/loader-medium.gif b/static/semantic-ui/packaged/images/loader-medium.gif deleted file mode 100644 index 386eb5a..0000000 Binary files a/static/semantic-ui/packaged/images/loader-medium.gif and /dev/null differ diff --git a/static/semantic-ui/packaged/images/loader-mini-inverted.gif b/static/semantic-ui/packaged/images/loader-mini-inverted.gif deleted file mode 100644 index c7c95b9..0000000 Binary files a/static/semantic-ui/packaged/images/loader-mini-inverted.gif and /dev/null differ diff --git a/static/semantic-ui/packaged/images/loader-mini.gif b/static/semantic-ui/packaged/images/loader-mini.gif deleted file mode 100644 index 7f3e27c..0000000 Binary files a/static/semantic-ui/packaged/images/loader-mini.gif and /dev/null differ diff --git a/static/semantic-ui/packaged/images/loader-small-inverted.gif b/static/semantic-ui/packaged/images/loader-small-inverted.gif deleted file mode 100644 index bbb0a67..0000000 Binary files a/static/semantic-ui/packaged/images/loader-small-inverted.gif and /dev/null differ diff --git a/static/semantic-ui/packaged/images/loader-small.gif b/static/semantic-ui/packaged/images/loader-small.gif deleted file mode 100644 index 8c9f60e..0000000 Binary files a/static/semantic-ui/packaged/images/loader-small.gif and /dev/null differ diff --git a/static/semantic-ui/packaged/javascript/semantic.js b/static/semantic-ui/packaged/javascript/semantic.js deleted file mode 100644 index 4ca4f01..0000000 --- a/static/semantic-ui/packaged/javascript/semantic.js +++ /dev/null @@ -1,11322 +0,0 @@ -/* - * # Semantic - Accordion - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -$.fn.accordion = function(parameters) { - var - $allModules = $(this), - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - invokedResponse - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.accordion.settings, parameters) - : $.extend({}, $.fn.accordion.settings), - - className = settings.className, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - moduleSelector = $allModules.selector || '', - - $module = $(this), - $title = $module.find(selector.title), - $content = $module.find(selector.content), - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - module.debug('Initializing accordion with bound events', $module); - // initializing - $title - .on('click' + eventNamespace, module.event.click) - ; - module.instantiate(); - }, - - instantiate: function() { - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.debug('Destroying previous accordion for', $module); - $module - .removeData(moduleNamespace) - ; - $title - .off(eventNamespace) - ; - }, - - event: { - click: function() { - module.verbose('Title clicked', this); - var - $activeTitle = $(this), - index = $title.index($activeTitle) - ; - module.toggle(index); - }, - resetStyle: function() { - module.verbose('Resetting styles on element', this); - $(this) - .attr('style', '') - .removeAttr('style') - .children() - .attr('style', '') - .removeAttr('style') - ; - } - }, - - toggle: function(index) { - module.debug('Toggling content content at index', index); - var - $activeTitle = $title.eq(index), - $activeContent = $activeTitle.next($content), - contentIsOpen = $activeContent.is(':visible') - ; - if(contentIsOpen) { - if(settings.collapsible) { - module.close(index); - } - else { - module.debug('Cannot close accordion content collapsing is disabled'); - } - } - else { - module.open(index); - } - }, - - open: function(index) { - var - $activeTitle = $title.eq(index), - $activeContent = $activeTitle.next($content), - $previousTitle = $title.filter('.' + className.active), - $previousContent = $previousTitle.next($title), - contentIsOpen = ($previousTitle.size() > 0) - ; - if( !$activeContent.is(':animated') ) { - module.debug('Opening accordion content', $activeTitle); - if(settings.exclusive && contentIsOpen) { - $previousTitle - .removeClass(className.active) - ; - $previousContent - .stop() - .children() - .animate({ - opacity: 0 - }, settings.duration, module.event.resetStyle) - .end() - .slideUp(settings.duration , settings.easing, function() { - $previousContent - .removeClass(className.active) - .attr('style', '') - .removeAttr('style') - .children() - .attr('style', '') - .removeAttr('style') - ; - }) - ; - } - $activeTitle - .addClass(className.active) - ; - $activeContent - .stop() - .children() - .attr('style', '') - .removeAttr('style') - .end() - .slideDown(settings.duration, settings.easing, function() { - $activeContent - .addClass(className.active) - .attr('style', '') - .removeAttr('style') - ; - $.proxy(settings.onOpen, $activeContent)(); - $.proxy(settings.onChange, $activeContent)(); - }) - ; - } - }, - - close: function(index) { - var - $activeTitle = $title.eq(index), - $activeContent = $activeTitle.next($content) - ; - module.debug('Closing accordion content', $activeTitle); - $activeTitle - .removeClass(className.active) - ; - $activeContent - .removeClass(className.active) - .show() - .stop() - .children() - .animate({ - opacity: 0 - }, settings.duration, module.event.resetStyle) - .end() - .slideUp(settings.duration, settings.easing, function(){ - $activeContent - .attr('style', '') - .removeAttr('style') - ; - $.proxy(settings.onClose, $activeContent)(); - $.proxy(settings.onChange, $activeContent)(); - }) - ; - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - module.debug('Changing internal', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.accordion.settings = { - name : 'Accordion', - namespace : 'accordion', - - debug : true, - verbose : true, - performance : true, - - exclusive : true, - collapsible : true, - - duration : 500, - easing : 'easeInOutQuint', - - onOpen : function(){}, - onClose : function(){}, - onChange : function(){}, - - error: { - method : 'The method you called is not defined' - }, - - className : { - active : 'active' - }, - - selector : { - title : '.title', - content : '.content' - }, - - -}; - -// Adds easing -$.extend( $.easing, { - easeInOutQuint: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; - return c/2*((t-=2)*t*t*t*t + 2) + b; - } -}); - -})( jQuery, window , document ); - - -/* - * # Semantic - API - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - - $.api = $.fn.api = function(parameters) { - - var - settings = $.extend(true, {}, $.api.settings, parameters), - - // if this keyword isn't a jQuery object, create one - context = (typeof this != 'function') - ? this - : $('
'), - // context defines the element used for loading/error state - $context = (settings.stateContext) - ? $(settings.stateContext) - : $(context), - // module is the thing that initiates the api action, can be independent of context - $module = typeof this == 'object' - ? $(context) - : $context, - - element = this, - time = new Date().getTime(), - performance = [], - - moduleSelector = $module.selector || '', - moduleNamespace = settings.namespace + '-module', - - className = settings.className, - metadata = settings.metadata, - error = settings.error, - - instance = $module.data(moduleNamespace), - - query = arguments[0], - methodInvoked = (instance !== undefined && typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - module, - invokedResponse - ; - - module = { - initialize: function() { - var - runSettings, - - loadingTimer = new Date().getTime(), - loadingDelay, - - promise, - url, - - formData = {}, - data, - - ajaxSettings = {}, - xhr - ; - - // serialize parent form if requested! - if(settings.serializeForm && $(this).toJSON() !== undefined) { - formData = module.get.formData(); - module.debug('Adding form data to API Request', formData); - $.extend(true, settings.data, formData); - } - - // let beforeSend change settings object - runSettings = $.proxy(settings.beforeSend, $module)(settings); - - // check for exit conditions - if(runSettings !== undefined && !runSettings) { - module.error(error.beforeSend); - module.reset(); - return; - } - - // get real url from template - url = module.get.url( module.get.templateURL() ); - - // exit conditions reached from missing url parameters - if( !url ) { - module.error(error.missingURL); - module.reset(); - return; - } - - // promise handles notification on api request, so loading min. delay can occur for all notifications - promise = - $.Deferred() - .always(function() { - if(settings.stateContext) { - $context - .removeClass(className.loading) - ; - } - $.proxy(settings.complete, $module)(); - }) - .done(function(response) { - module.debug('API request successful'); - // take a stab at finding success state if json - if(settings.dataType == 'json') { - if (response.error !== undefined) { - $.proxy(settings.failure, $context)(response.error, settings, $module); - } - else if ($.isArray(response.errors)) { - $.proxy(settings.failure, $context)(response.errors[0], settings, $module); - } - else { - $.proxy(settings.success, $context)(response, settings, $module); - } - } - // otherwise - else { - $.proxy(settings.success, $context)(response, settings, $module); - } - }) - .fail(function(xhr, status, httpMessage) { - var - errorMessage = (settings.error[status] !== undefined) - ? settings.error[status] - : httpMessage, - response - ; - // let em know unless request aborted - if(xhr !== undefined) { - // readyState 4 = done, anything less is not really sent - if(xhr.readyState !== undefined && xhr.readyState == 4) { - - // if http status code returned and json returned error, look for it - if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') { - module.error(error.statusMessage + httpMessage); - } - else { - if(status == 'error' && settings.dataType == 'json') { - try { - response = $.parseJSON(xhr.responseText); - if(response && response.error !== undefined) { - errorMessage = response.error; - } - } - catch(error) { - module.error(error.JSONParse); - } - } - } - $context - .removeClass(className.loading) - .addClass(className.error) - ; - // show error state only for duration specified in settings - if(settings.errorLength > 0) { - setTimeout(function(){ - $context - .removeClass(className.error) - ; - }, settings.errorLength); - } - module.debug('API Request error:', errorMessage); - $.proxy(settings.failure, $context)(errorMessage, settings, this); - } - else { - module.debug('Request Aborted (Most likely caused by page change)'); - } - } - }) - ; - - // look for params in data - $.extend(true, ajaxSettings, settings, { - success : function(){}, - failure : function(){}, - complete : function(){}, - type : settings.method || settings.type, - data : data, - url : url, - beforeSend : settings.beforeXHR - }); - - if(settings.stateContext) { - $context - .addClass(className.loading) - ; - } - - if(settings.progress) { - module.verbose('Adding progress events'); - $.extend(true, ajaxSettings, { - xhr: function() { - var - xhr = new window.XMLHttpRequest() - ; - xhr.upload.addEventListener('progress', function(event) { - var - percentComplete - ; - if (event.lengthComputable) { - percentComplete = Math.round(event.loaded / event.total * 10000) / 100 + '%'; - $.proxy(settings.progress, $context)(percentComplete, event); - } - }, false); - xhr.addEventListener('progress', function(event) { - var - percentComplete - ; - if (event.lengthComputable) { - percentComplete = Math.round(event.loaded / event.total * 10000) / 100 + '%'; - $.proxy(settings.progress, $context)(percentComplete, event); - } - }, false); - return xhr; - } - }); - } - - module.verbose('Creating AJAX request with settings: ', ajaxSettings); - xhr = - $.ajax(ajaxSettings) - .always(function() { - // calculate if loading time was below minimum threshold - loadingDelay = ( settings.loadingLength - (new Date().getTime() - loadingTimer) ); - settings.loadingDelay = loadingDelay < 0 - ? 0 - : loadingDelay - ; - }) - .done(function(response) { - var - context = this - ; - setTimeout(function(){ - promise.resolveWith(context, [response]); - }, settings.loadingDelay); - }) - .fail(function(xhr, status, httpMessage) { - var - context = this - ; - // page triggers abort on navigation, dont show error - if(status != 'abort') { - setTimeout(function(){ - promise.rejectWith(context, [xhr, status, httpMessage]); - }, settings.loadingDelay); - } - else { - $context - .removeClass(className.error) - .removeClass(className.loading) - ; - } - }) - ; - if(settings.stateContext) { - $module - .data(metadata.promise, promise) - .data(metadata.xhr, xhr) - ; - } - }, - - get: { - formData: function() { - return $module - .closest('form') - .toJSON() - ; - }, - templateURL: function() { - var - action = $module.data(settings.metadata.action) || settings.action || false, - url - ; - if(action) { - module.debug('Creating url for: ', action); - if(settings.api[action] !== undefined) { - url = settings.api[action]; - } - else { - module.error(error.missingAction); - } - } - // override with url if specified - if(settings.url) { - url = settings.url; - module.debug('Getting url', url); - } - return url; - }, - url: function(url, urlData) { - var - urlVariables - ; - if(url) { - urlVariables = url.match(settings.regExpTemplate); - urlData = urlData || settings.urlData; - - if(urlVariables) { - module.debug('Looking for URL variables', urlVariables); - $.each(urlVariables, function(index, templateValue){ - var - term = templateValue.substr( 2, templateValue.length - 3), - termValue = ($.isPlainObject(urlData) && urlData[term] !== undefined) - ? urlData[term] - : ($module.data(term) !== undefined) - ? $module.data(term) - : urlData[term] - ; - module.verbose('Looking for variable', term, $module, $module.data(term), urlData[term]); - // remove optional value - if(termValue === false) { - module.debug('Removing variable from URL', urlVariables); - url = url.replace('/' + templateValue, ''); - } - // undefined condition - else if(termValue === undefined || !termValue) { - module.error(error.missingParameter + term); - url = false; - return false; - } - else { - url = url.replace(templateValue, termValue); - } - }); - } - } - return url; - } - }, - - // reset api request - reset: function() { - $module - .data(metadata.promise, false) - .data(metadata.xhr, false) - ; - $context - .removeClass(className.error) - .removeClass(className.loading) - ; - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; - }; - - // handle DOM attachment to API functionality - $.fn.apiButton = function(parameters) { - $(this) - .each(function(){ - var - // if only function passed it is success callback - $module = $(this), - selector = $(this).selector || '', - - settings = ( $.isFunction(parameters) ) - ? $.extend(true, {}, $.api.settings, $.fn.apiButton.settings, { stateContext: this, success: parameters }) - : $.extend(true, {}, $.api.settings, $.fn.apiButton.settings, { stateContext: this}, parameters), - module - ; - module = { - initialize: function() { - if(settings.context && selector !== '') { - $(settings.context) - .on(selector, 'click.' + settings.namespace, module.click) - ; - } - else { - $module - .on('click.' + settings.namespace, module.click) - ; - } - }, - click: function() { - if(!settings.filter || $(this).filter(settings.filter).size() === 0) { - $.proxy( $.api, this )(settings); - } - } - }; - module.initialize(); - }) - ; - return this; - }; - - $.api.settings = { - - name : 'API', - namespace : 'api', - - debug : true, - verbose : true, - performance : true, - - api : {}, - - beforeSend : function(settings) { - return settings; - }, - beforeXHR : function(xhr) {}, - success : function(response) {}, - complete : function(response) {}, - failure : function(errorCode) {}, - progress : false, - - error : { - missingAction : 'API action used but no url was defined', - missingURL : 'URL not specified for the API action', - missingParameter : 'Missing an essential URL parameter: ', - - timeout : 'Your request timed out', - error : 'There was an error with your request', - parseError : 'There was an error parsing your request', - JSONParse : 'JSON could not be parsed during error handling', - statusMessage : 'Server gave an error: ', - beforeSend : 'The before send function has aborted the request', - exitConditions : 'API Request Aborted. Exit conditions met' - }, - - className: { - loading : 'loading', - error : 'error' - }, - - metadata: { - action : 'action', - promise : 'promise', - xhr : 'xhr' - }, - - regExpTemplate: /\{\$([A-z]+)\}/g, - - action : false, - url : false, - urlData : false, - serializeForm : false, - - stateContext : false, - - method : 'get', - data : {}, - dataType : 'json', - cache : true, - - loadingLength : 200, - errorLength : 2000 - - }; - - $.fn.apiButton.settings = { - filter : '.disabled, .loading', - context : false, - stateContext : false - }; - -})( jQuery, window , document ); -/* - * # Semantic - Colorize - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - - $.fn.colorize = function(parameters) { - var - settings = $.extend(true, {}, $.fn.colorize.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function(instanceIndex) { - - var - $module = $(this), - - mainCanvas = $('')[0], - imageCanvas = $('')[0], - overlayCanvas = $('')[0], - - backgroundImage = new Image(), - - // defs - mainContext, - imageContext, - overlayContext, - - image, - imageName, - - width, - height, - - // shortucts - colors = settings.colors, - paths = settings.paths, - namespace = settings.namespace, - error = settings.error, - - // boilerplate - instance = $module.data('module-' + namespace), - module - ; - - module = { - - checkPreconditions: function() { - module.debug('Checking pre-conditions'); - - if( !$.isPlainObject(colors) || $.isEmptyObject(colors) ) { - module.error(error.undefinedColors); - return false; - } - return true; - }, - - async: function(callback) { - if(settings.async) { - setTimeout(callback, 0); - } - else { - callback(); - } - }, - - getMetadata: function() { - module.debug('Grabbing metadata'); - image = $module.data('image') || settings.image || undefined; - imageName = $module.data('name') || settings.name || instanceIndex; - width = settings.width || $module.width(); - height = settings.height || $module.height(); - if(width === 0 || height === 0) { - module.error(error.undefinedSize); - } - }, - - initialize: function() { - module.debug('Initializing with colors', colors); - if( module.checkPreconditions() ) { - - module.async(function() { - module.getMetadata(); - module.canvas.create(); - - module.draw.image(function() { - module.draw.colors(); - module.canvas.merge(); - }); - $module - .data('module-' + namespace, module) - ; - }); - } - }, - - redraw: function() { - module.debug('Redrawing image'); - module.async(function() { - module.canvas.clear(); - module.draw.colors(); - module.canvas.merge(); - }); - }, - - change: { - color: function(colorName, color) { - module.debug('Changing color', colorName); - if(colors[colorName] === undefined) { - module.error(error.missingColor); - return false; - } - colors[colorName] = color; - module.redraw(); - } - }, - - canvas: { - create: function() { - module.debug('Creating canvases'); - - mainCanvas.width = width; - mainCanvas.height = height; - imageCanvas.width = width; - imageCanvas.height = height; - overlayCanvas.width = width; - overlayCanvas.height = height; - - mainContext = mainCanvas.getContext('2d'); - imageContext = imageCanvas.getContext('2d'); - overlayContext = overlayCanvas.getContext('2d'); - - $module - .append( mainCanvas ) - ; - mainContext = $module.children('canvas')[0].getContext('2d'); - }, - clear: function(context) { - module.debug('Clearing canvas'); - overlayContext.fillStyle = '#FFFFFF'; - overlayContext.fillRect(0, 0, width, height); - }, - merge: function() { - if( !$.isFunction(mainContext.blendOnto) ) { - module.error(error.missingPlugin); - return; - } - mainContext.putImageData( imageContext.getImageData(0, 0, width, height), 0, 0); - overlayContext.blendOnto(mainContext, 'multiply'); - } - }, - - draw: { - - image: function(callback) { - module.debug('Drawing image'); - callback = callback || function(){}; - if(image) { - backgroundImage.src = image; - backgroundImage.onload = function() { - imageContext.drawImage(backgroundImage, 0, 0); - callback(); - }; - } - else { - module.error(error.noImage); - callback(); - } - }, - - colors: function() { - module.debug('Drawing color overlays', colors); - $.each(colors, function(colorName, color) { - settings.onDraw(overlayContext, imageName, colorName, color); - }); - } - - }, - - debug: function(message, variableName) { - if(settings.debug) { - if(variableName !== undefined) { - console.info(settings.name + ': ' + message, variableName); - } - else { - console.info(settings.name + ': ' + message); - } - } - }, - error: function(errorMessage) { - console.warn(settings.name + ': ' + errorMessage); - }, - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.error.method); - return false; - }); - } - return ( $.isFunction( method ) ) - ? method.apply(context, methodArguments) - : false - ; - } - - }; - if(instance !== undefined && moduleArguments) { - // simpler than invoke realizing to invoke itself (and losing scope due prototype.call() - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // initializing - module.initialize(); - }) - ; - return this; - }; - - $.fn.colorize.settings = { - name : 'Image Colorizer', - debug : true, - namespace : 'colorize', - - onDraw : function(overlayContext, imageName, colorName, color) {}, - - // whether to block execution while updating canvas - async : true, - // object containing names and default values of color regions - colors : {}, - - metadata: { - image : 'image', - name : 'name' - }, - - error: { - noImage : 'No tracing image specified', - undefinedColors : 'No default colors specified.', - missingColor : 'Attempted to change color that does not exist', - missingPlugin : 'Blend onto plug-in must be included', - undefinedHeight : 'The width or height of image canvas could not be automatically determined. Please specify a height.' - } - - }; - -})( jQuery, window , document ); - -/* - * # Semantic - Form Validation - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.form = function(fields, parameters) { - var - $allModules = $(this), - - settings = $.extend(true, {}, $.fn.form.settings, parameters), - validation = $.extend({}, $.fn.form.settings.defaults, fields), - - namespace = settings.namespace, - metadata = settings.metadata, - selector = settings.selector, - className = settings.className, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - invokedResponse - ; - $allModules - .each(function() { - var - $module = $(this), - $field = $(this).find(selector.field), - $group = $(this).find(selector.group), - $message = $(this).find(selector.message), - $prompt = $(this).find(selector.prompt), - $submit = $(this).find(selector.submit), - - formErrors = [], - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing form validation', $module, validation, settings); - if(settings.keyboardShortcuts) { - $field - .on('keydown' + eventNamespace, module.event.field.keydown) - ; - } - $module - .on('submit' + eventNamespace, module.validate.form) - ; - $field - .on('blur' + eventNamespace, module.event.field.blur) - ; - $submit - .on('click' + eventNamespace, module.submit) - ; - $field - .on(module.get.changeEvent() + eventNamespace, module.event.field.change) - ; - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module', instance); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache'); - $field = $module.find(selector.field); - }, - - submit: function() { - module.verbose('Submitting form', $module); - $module - .submit() - ; - }, - - event: { - field: { - keydown: function(event) { - var - $field = $(this), - key = event.which, - keyCode = { - enter : 13, - escape : 27 - } - ; - if( key == keyCode.escape) { - module.verbose('Escape key pressed blurring field'); - $field - .blur() - ; - } - if(!event.ctrlKey && key == keyCode.enter && $field.is(selector.input) ) { - module.debug('Enter key pressed, submitting form'); - $submit - .addClass(className.down) - ; - $field - .one('keyup' + eventNamespace, module.event.field.keyup) - ; - event.preventDefault(); - return false; - } - }, - keyup: function() { - module.verbose('Doing keyboard shortcut form submit'); - $submit.removeClass(className.down); - module.submit(); - }, - blur: function() { - var - $field = $(this), - $fieldGroup = $field.closest($group) - ; - if( $fieldGroup.hasClass(className.error) ) { - module.debug('Revalidating field', $field, module.get.validation($field)); - module.validate.field( module.get.validation($field) ); - } - else if(settings.on == 'blur' || settings.on == 'change') { - module.validate.field( module.get.validation($field) ); - } - }, - change: function() { - var - $field = $(this), - $fieldGroup = $field.closest($group) - ; - if( $fieldGroup.hasClass(className.error) ) { - module.debug('Revalidating field', $field, module.get.validation($field)); - module.validate.field( module.get.validation($field) ); - } - else if(settings.on == 'change') { - module.validate.field( module.get.validation($field) ); - } - } - } - - }, - - get: { - changeEvent: function() { - return (document.createElement('input').oninput !== undefined) - ? 'input' - : (document.createElement('input').onpropertychange !== undefined) - ? 'propertychange' - : 'keyup' - ; - }, - field: function(identifier) { - module.verbose('Finding field with identifier', identifier); - if( $field.filter('#' + identifier).size() > 0 ) { - return $field.filter('#' + identifier); - } - else if( $field.filter('[name="' + identifier +'"]').size() > 0 ) { - return $field.filter('[name="' + identifier +'"]'); - } - else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').size() > 0 ) { - return $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]'); - } - return $(''); - }, - validation: function($field) { - var - rules - ; - $.each(validation, function(fieldName, field) { - if( module.get.field(field.identifier).get(0) == $field.get(0) ) { - rules = field; - } - }); - return rules || false; - } - }, - - has: { - - field: function(identifier) { - module.verbose('Checking for existence of a field with identifier', identifier); - if( $field.filter('#' + identifier).size() > 0 ) { - return true; - } - else if( $field.filter('[name="' + identifier +'"]').size() > 0 ) { - return true; - } - else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').size() > 0 ) { - return true; - } - return false; - } - - }, - - add: { - prompt: function(field, errors) { - var - $field = module.get.field(field.identifier), - $fieldGroup = $field.closest($group), - $prompt = $fieldGroup.find(selector.prompt), - promptExists = ($prompt.size() !== 0) - ; - module.verbose('Adding inline error', field); - $fieldGroup - .addClass(className.error) - ; - if(settings.inline) { - if(!promptExists) { - $prompt = settings.templates.prompt(errors); - $prompt - .appendTo($fieldGroup) - ; - } - $prompt - .html(errors[0]) - ; - if(!promptExists) { - if(settings.transition && $.fn.transition !== undefined) { - module.verbose('Displaying error with css transition', settings.transition); - $prompt.transition(settings.transition + ' in', settings.duration); - } - else { - module.verbose('Displaying error with fallback javascript animation'); - $prompt - .fadeIn(settings.duration) - ; - } - } - } - }, - errors: function(errors) { - module.debug('Adding form error messages', errors); - $message - .html( settings.templates.error(errors) ) - ; - } - }, - - remove: { - prompt: function(field) { - var - $field = module.get.field(field.identifier), - $fieldGroup = $field.closest($group), - $prompt = $fieldGroup.find(selector.prompt) - ; - $fieldGroup - .removeClass(className.error) - ; - if(settings.inline && $prompt.is(':visible')) { - module.verbose('Removing prompt for field', field); - if(settings.transition && $.fn.transition !== undefined) { - $prompt.transition(settings.transition + ' out', settings.duration, function() { - $prompt.remove(); - }); - } - else { - $prompt - .fadeOut(settings.duration, function(){ - $prompt.remove(); - }) - ; - } - } - } - }, - - validate: { - - form: function(event) { - var - allValid = true - ; - // reset errors - formErrors = []; - $.each(validation, function(fieldName, field) { - if( !( module.validate.field(field) ) ) { - allValid = false; - } - }); - if(allValid) { - module.debug('Form has no validation errors, submitting'); - $module - .removeClass(className.error) - .addClass(className.success) - ; - $.proxy(settings.onSuccess, this)(event); - } - else { - module.debug('Form has errors'); - $module.addClass(className.error); - if(!settings.inline) { - module.add.errors(formErrors); - } - return $.proxy(settings.onFailure, this)(formErrors); - } - }, - - // takes a validation object and returns whether field passes validation - field: function(field) { - var - $field = module.get.field(field.identifier), - fieldValid = true, - fieldErrors = [] - ; - if(field.rules !== undefined) { - $.each(field.rules, function(index, rule) { - if( module.has.field(field.identifier) && !( module.validate.rule(field, rule) ) ) { - module.debug('Field is invalid', field.identifier, rule.type); - fieldErrors.push(rule.prompt); - fieldValid = false; - } - }); - } - if(fieldValid) { - module.remove.prompt(field, fieldErrors); - $.proxy(settings.onValid, $field)(); - } - else { - formErrors = formErrors.concat(fieldErrors); - module.add.prompt(field, fieldErrors); - $.proxy(settings.onInvalid, $field)(fieldErrors); - return false; - } - return true; - }, - - // takes validation rule and returns whether field passes rule - rule: function(field, validation) { - var - $field = module.get.field(field.identifier), - type = validation.type, - value = $field.val(), - - bracketRegExp = /\[(.*?)\]/i, - bracket = bracketRegExp.exec(type), - isValid = true, - ancillary, - functionType - ; - // if bracket notation is used, pass in extra parameters - if(bracket !== undefined && bracket !== null) { - ancillary = bracket[1]; - functionType = type.replace(bracket[0], ''); - isValid = $.proxy(settings.rules[functionType], $module)(value, ancillary); - } - // normal notation - else { - isValid = $.proxy(settings.rules[type], $field)(value); - } - return isValid; - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - module.debug('Changing internal', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - - }) - ; - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.form.settings = { - - name : 'Form', - namespace : 'form', - - debug : true, - verbose : true, - performance : true, - - - keyboardShortcuts : true, - on : 'submit', - inline : false, - - transition : 'scale', - duration : 150, - - - onValid : function() {}, - onInvalid : function() {}, - onSuccess : function() { return true; }, - onFailure : function() { return false; }, - - metadata : { - validate: 'validate' - }, - - selector : { - message : '.error.message', - field : 'input, textarea, select', - group : '.field', - input : 'input', - prompt : '.prompt', - submit : '.submit' - }, - - className : { - error : 'error', - success : 'success', - down : 'down', - label : 'ui label prompt' - }, - - // errors - error: { - method : 'The method you called is not defined.' - }, - - - - templates: { - error: function(errors) { - var - html = '
    ' - ; - $.each(errors, function(index, value) { - html += '
  • ' + value + '
  • '; - }); - html += '
'; - return $(html); - }, - prompt: function(errors) { - return $('
') - .addClass('ui red pointing prompt label') - .html(errors[0]) - ; - } - }, - - rules: { - checked: function() { - return ($(this).filter(':checked').size() > 0); - }, - empty: function(value) { - return !(value === undefined || '' === value); - }, - email: function(value){ - var - emailRegExp = new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?") - ; - return emailRegExp.test(value); - }, - length: function(value, requiredLength) { - return (value !== undefined) - ? (value.length >= requiredLength) - : false - ; - }, - not: function(value, notValue) { - return (value != notValue); - }, - contains: function(value, text) { - return (value.search(text) !== -1); - }, - is: function(value, text) { - return (value == text); - }, - maxLength: function(value, maxLength) { - return (value !== undefined) - ? (value.length <= maxLength) - : false - ; - }, - match: function(value, fieldIdentifier) { - // use either id or name of field - var - $form = $(this), - matchingValue - ; - if($form.find('#' + fieldIdentifier).size() > 0) { - matchingValue = $form.find('#' + fieldIdentifier).val(); - } - else if($form.find('[name=' + fieldIdentifier +']').size() > 0) { - matchingValue = $form.find('[name=' + fieldIdentifier + ']').val(); - } - else if( $form.find('[data-validate="'+ fieldIdentifier +'"]').size() > 0 ) { - matchingValue = $form.find('[data-validate="'+ fieldIdentifier +'"]').val(); - } - return (matchingValue !== undefined) - ? ( value.toString() == matchingValue.toString() ) - : false - ; - }, - url: function(value) { - var - urlRegExp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ - ; - return urlRegExp.test(value); - } - } - -}; - -})( jQuery, window , document ); - -/* - * # Semantic - State - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.state = function(parameters) { - var - $allModules = $(this), - settings = $.extend(true, {}, $.fn.state.settings, parameters), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - // shortcuts - error = settings.error, - metadata = settings.metadata, - className = settings.className, - namespace = settings.namespace, - states = settings.states, - text = settings.text, - - eventNamespace = '.' + namespace, - moduleNamespace = namespace + '-module', - - - invokedResponse - ; - $allModules - .each(function() { - var - $module = $(this), - - element = this, - instance = $module.data(moduleNamespace), - - module - ; - module = { - - initialize: function() { - module.verbose('Initializing module'); - - // allow module to guess desired state based on element - if(settings.automatic) { - module.add.defaults(); - } - - // bind events with delegated events - if(settings.context && moduleSelector !== '') { - if( module.allows('hover') ) { - $(element, settings.context) - .on(moduleSelector, 'mouseenter' + eventNamespace, module.enable.hover) - .on(moduleSelector, 'mouseleave' + eventNamespace, module.disable.hover) - ; - } - if( module.allows('down') ) { - $(element, settings.context) - .on(moduleSelector, 'mousedown' + eventNamespace, module.enable.down) - .on(moduleSelector, 'mouseup' + eventNamespace, module.disable.down) - ; - } - if( module.allows('focus') ) { - $(element, settings.context) - .on(moduleSelector, 'focus' + eventNamespace, module.enable.focus) - .on(moduleSelector, 'blur' + eventNamespace, module.disable.focus) - ; - } - $(settings.context) - .on(moduleSelector, 'mouseenter' + eventNamespace, module.change.text) - .on(moduleSelector, 'mouseleave' + eventNamespace, module.reset.text) - .on(moduleSelector, 'click' + eventNamespace, module.toggle.state) - ; - } - else { - if( module.allows('hover') ) { - $module - .on('mouseenter' + eventNamespace, module.enable.hover) - .on('mouseleave' + eventNamespace, module.disable.hover) - ; - } - if( module.allows('down') ) { - $module - .on('mousedown' + eventNamespace, module.enable.down) - .on('mouseup' + eventNamespace, module.disable.down) - ; - } - if( module.allows('focus') ) { - $module - .on('focus' + eventNamespace, module.enable.focus) - .on('blur' + eventNamespace, module.disable.focus) - ; - } - $module - .on('mouseenter' + eventNamespace, module.change.text) - .on('mouseleave' + eventNamespace, module.reset.text) - .on('click' + eventNamespace, module.toggle.state) - ; - } - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module', instance); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache'); - $module = $(element); - }, - - add: { - defaults: function() { - var - userStates = parameters && $.isPlainObject(parameters.states) - ? parameters.states - : {} - ; - $.each(settings.defaults, function(type, typeStates) { - if( module.is[type] !== undefined && module.is[type]() ) { - module.verbose('Adding default states', type, element); - $.extend(settings.states, typeStates, userStates); - } - }); - } - }, - - is: { - - active: function() { - return $module.hasClass(className.active); - }, - loading: function() { - return $module.hasClass(className.loading); - }, - inactive: function() { - return !( $module.hasClass(className.active) ); - }, - - enabled: function() { - return !( $module.is(settings.filter.active) ); - }, - disabled: function() { - return ( $module.is(settings.filter.active) ); - }, - textEnabled: function() { - return !( $module.is(settings.filter.text) ); - }, - - // definitions for automatic type detection - button: function() { - return $module.is('.button:not(a, .submit)'); - }, - input: function() { - return $module.is('input'); - } - }, - - allow: function(state) { - module.debug('Now allowing state', state); - states[state] = true; - }, - disallow: function(state) { - module.debug('No longer allowing', state); - states[state] = false; - }, - - allows: function(state) { - return states[state] || false; - }, - - enable: { - state: function(state) { - if(module.allows(state)) { - $module.addClass( className[state] ); - } - }, - // convenience - focus: function() { - $module.addClass(className.focus); - }, - hover: function() { - $module.addClass(className.hover); - }, - down: function() { - $module.addClass(className.down); - }, - }, - - disable: { - state: function(state) { - if(module.allows(state)) { - $module.removeClass( className[state] ); - } - }, - // convenience - focus: function() { - $module.removeClass(className.focus); - }, - hover: function() { - $module.removeClass(className.hover); - }, - down: function() { - $module.removeClass(className.down); - }, - }, - - toggle: { - state: function() { - var - apiRequest = $module.data(metadata.promise) - ; - if( module.allows('active') && module.is.enabled() ) { - module.refresh(); - if(apiRequest !== undefined) { - module.listenTo(apiRequest); - } - else { - module.change.state(); - } - } - } - }, - - listenTo: function(apiRequest) { - module.debug('API request detected, waiting for state signal', apiRequest); - if(apiRequest) { - if(text.loading) { - module.update.text(text.loading); - } - $.when(apiRequest) - .then(function() { - if(apiRequest.state() == 'resolved') { - module.debug('API request succeeded'); - settings.activateTest = function(){ return true; }; - settings.deactivateTest = function(){ return true; }; - } - else { - module.debug('API request failed'); - settings.activateTest = function(){ return false; }; - settings.deactivateTest = function(){ return false; }; - } - module.change.state(); - }) - ; - } - // xhr exists but set to false, beforeSend killed the xhr - else { - settings.activateTest = function(){ return false; }; - settings.deactivateTest = function(){ return false; }; - } - }, - - // checks whether active/inactive state can be given - change: { - - state: function() { - module.debug('Determining state change direction'); - // inactive to active change - if( module.is.inactive() ) { - module.activate(); - } - else { - module.deactivate(); - } - if(settings.sync) { - module.sync(); - } - $.proxy(settings.onChange, element)(); - }, - - text: function() { - if( module.is.textEnabled() ) { - if( module.is.active() ) { - if(text.hover) { - module.verbose('Changing text to hover text', text.hover); - module.update.text(text.hover); - } - else if(text.disable) { - module.verbose('Changing text to disable text', text.disable); - module.update.text(text.disable); - } - } - else { - if(text.hover) { - module.verbose('Changing text to hover text', text.disable); - module.update.text(text.hover); - } - else if(text.enable){ - module.verbose('Changing text to enable text', text.enable); - module.update.text(text.enable); - } - } - } - } - - }, - - activate: function() { - if( $.proxy(settings.activateTest, element)() ) { - module.debug('Setting state to active'); - $module - .addClass(className.active) - ; - module.update.text(text.active); - } - $.proxy(settings.onActivate, element)(); - }, - - deactivate: function() { - if($.proxy(settings.deactivateTest, element)() ) { - module.debug('Setting state to inactive'); - $module - .removeClass(className.active) - ; - module.update.text(text.inactive); - } - $.proxy(settings.onDeactivate, element)(); - }, - - sync: function() { - module.verbose('Syncing other buttons to current state'); - if( module.is.active() ) { - $allModules - .not($module) - .state('activate'); - } - else { - $allModules - .not($module) - .state('deactivate') - ; - } - }, - - get: { - text: function() { - return (settings.selector.text) - ? $module.find(settings.selector.text).text() - : $module.html() - ; - }, - textFor: function(state) { - return text[state] || false; - } - }, - - flash: { - text: function(text, duration) { - var - previousText = module.get.text() - ; - module.debug('Flashing text message', text, duration); - text = text || settings.text.flash; - duration = duration || settings.flashDuration; - module.update.text(text); - setTimeout(function(){ - module.update.text(previousText); - }, duration); - } - }, - - reset: { - // on mouseout sets text to previous value - text: function() { - var - activeText = text.active || $module.data(metadata.storedText), - inactiveText = text.inactive || $module.data(metadata.storedText) - ; - if( module.is.textEnabled() ) { - if( module.is.active() && activeText) { - module.verbose('Resetting active text', activeText); - module.update.text(activeText); - } - else if(inactiveText) { - module.verbose('Resetting inactive text', activeText); - module.update.text(inactiveText); - } - } - } - }, - - update: { - text: function(text) { - var - currentText = module.get.text() - ; - if(text && text !== currentText) { - module.debug('Updating text', text); - if(settings.selector.text) { - $module - .data(metadata.storedText, text) - .find(settings.selector.text) - .text(text) - ; - } - else { - $module - .data(metadata.storedText, text) - .html(text) - ; - } - } - else { - module.debug('Text is already sane, ignoring update', text); - } - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - module.debug('Changing internal', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - - }) - ; - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.state.settings = { - - // module info - name : 'State', - - // debug output - debug : true, - - // verbose debug output - verbose : true, - - // namespace for events - namespace : 'state', - - // debug data includes performance - performance: true, - - // callback occurs on state change - onActivate : function() {}, - onDeactivate : function() {}, - onChange : function() {}, - - // state test functions - activateTest : function() { return true; }, - deactivateTest : function() { return true; }, - - // whether to automatically map default states - automatic : true, - - // activate / deactivate changes all elements instantiated at same time - sync : false, - - // default flash text duration, used for temporarily changing text of an element - flashDuration : 3000, - - // selector filter - filter : { - text : '.loading, .disabled', - active : '.disabled' - }, - - context : false, - - // error - error: { - method : 'The method you called is not defined.' - }, - - // metadata - metadata: { - promise : 'promise', - storedText : 'stored-text' - }, - - // change class on state - className: { - focus : 'focus', - hover : 'hover', - down : 'down', - active : 'active', - loading : 'loading' - }, - - selector: { - // selector for text node - text: false - }, - - defaults : { - input: { - hover : true, - focus : true, - down : true, - loading : false, - active : false - }, - button: { - hover : true, - focus : false, - down : true, - active : true, - loading : true - } - }, - - states : { - hover : true, - focus : true, - down : true, - loading : false, - active : false - }, - - text : { - flash : false, - hover : false, - active : false, - inactive : false, - enable : false, - disable : false - } - -}; - - - -})( jQuery, window , document ); - -/* - * # Semantic - Chatroom - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -$.fn.chatroom = function(parameters) { - var - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function() { - var - settings = $.extend(true, {}, $.fn.chatroom.settings, parameters), - - className = settings.className, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - $module = $(this), - - $expandButton = $module.find(selector.expandButton), - $userListButton = $module.find(selector.userListButton), - - $userList = $module.find(selector.userList), - $room = $module.find(selector.room), - $userCount = $module.find(selector.userCount), - - $log = $module.find(selector.log), - $message = $module.find(selector.message), - - $messageInput = $module.find(selector.messageInput), - $messageButton = $module.find(selector.messageButton), - - instance = $module.data('module'), - - html = '', - users = {}, - - channel, - loggedInUser, - - message, - count, - - height, - - pusher, - module - ; - - module = { - - width: { - log : $log.width(), - userList : $userList.outerWidth() - }, - - initialize: function() { - - // check error conditions - if(Pusher === undefined) { - module.error(error.pusher); - } - if(settings.key === undefined || settings.channelName === undefined) { - module.error(error.key); - return false; - } - else if( !(settings.endpoint.message || settings.endpoint.authentication) ) { - module.error(error.endpoint); - return false; - } - - // define pusher - pusher = new Pusher(settings.key); - Pusher.channel_auth_endpoint = settings.endpoint.authentication; - - channel = pusher.subscribe(settings.channelName); - - channel.bind('pusher:subscription_succeeded', module.user.list.create); - channel.bind('pusher:subscription_error', module.error); - channel.bind('pusher:member_added', module.user.joined); - channel.bind('pusher:member_removed', module.user.left); - channel.bind('update_messages', module.message.receive); - - $.each(settings.customEvents, function(label, value) { - channel.bind(label, value); - }); - - // bind module events - $userListButton - .on('click.' + namespace, module.event.toggleUserList) - ; - $expandButton - .on('click.' + namespace, module.event.toggleExpand) - ; - $messageInput - .on('keydown.' + namespace, module.event.input.keydown) - .on('keyup.' + namespace, module.event.input.keyup) - ; - $messageButton - .on('mouseenter.' + namespace, module.event.hover) - .on('mouseleave.' + namespace, module.event.hover) - .on('click.' + namespace, module.event.submit) - ; - // scroll to bottom of chat log - $log - .animate({ - scrollTop: $log.prop('scrollHeight') - }, 400) - ; - $module - .data('module', module) - .addClass(className.loading) - ; - - }, - - // refresh module - refresh: function() { - // reset width calculations - $userListButton - .removeClass(className.active) - ; - module.width = { - log : $log.width(), - userList : $userList.outerWidth() - }; - if( $userListButton.hasClass(className.active) ) { - module.user.list.hide(); - } - $module.data('module', module); - }, - - user: { - - updateCount: function() { - if(settings.userCount) { - users = $module.data('users'); - count = 0; - $.each(users, function() { - count++; - }); - $userCount - .html( settings.templates.userCount(count) ) - ; - } - }, - - // add user to user list - joined: function(member) { - users = $module.data('users'); - if(member.id != 'anonymous' && users[ member.id ] === undefined ) { - users[ member.id ] = member.info; - if(settings.randomColor && member.info.color === undefined) { - member.info.color = settings.templates.color(member.id); - } - html = settings.templates.userList(member.info); - if(member.info.isAdmin) { - $(html) - .prependTo($userList) - ; - } - else { - $(html) - .appendTo($userList) - ; - } - if(settings.partingMessages) { - $log - .append( settings.templates.joined(member.info) ) - ; - module.message.scroll.test(); - } - module.user.updateCount(); - } - }, - - // remove user from user list - left: function(member) { - users = $module.data('users'); - if(member !== undefined && member.id !== 'anonymous') { - delete users[ member.id ]; - $module - .data('users', users) - ; - $userList - .find('[data-id='+ member.id + ']') - .remove() - ; - if(settings.partingMessages) { - $log - .append( settings.templates.left(member.info) ) - ; - module.message.scroll.test(); - } - module.user.updateCount(); - } - }, - - list: { - - // receives list of members and generates user list - create: function(members) { - users = {}; - members.each(function(member) { - if(member.id !== 'anonymous' && member.id !== 'undefined') { - if(settings.randomColor && member.info.color === undefined) { - member.info.color = settings.templates.color(member.id); - } - // sort list with admin first - html = (member.info.isAdmin) - ? settings.templates.userList(member.info) + html - : html + settings.templates.userList(member.info) - ; - users[ member.id ] = member.info; - } - }); - $module - .data('users', users) - .data('user', users[members.me.id] ) - .removeClass(className.loading) - ; - $userList - .html(html) - ; - module.user.updateCount(); - $.proxy(settings.onJoin, $userList.children())(); - }, - - // shows user list - show: function() { - $log - .animate({ - width: (module.width.log - module.width.userList) - }, { - duration : settings.speed, - easing : settings.easing, - complete : module.message.scroll.move - }) - ; - }, - - // hides user list - hide: function() { - $log - .stop() - .animate({ - width: (module.width.log) - }, { - duration : settings.speed, - easing : settings.easing, - complete : module.message.scroll.move - }) - ; - } - - } - - }, - - message: { - - // handles scrolling of chat log - scroll: { - test: function() { - height = $log.prop('scrollHeight') - $log.height(); - if( Math.abs($log.scrollTop() - height) < settings.scrollArea) { - module.message.scroll.move(); - } - }, - - move: function() { - height = $log.prop('scrollHeight') - $log.height(); - $log - .scrollTop(height) - ; - } - }, - - // sends chat message - send: function(message) { - if( !module.utils.emptyString(message) ) { - $.api({ - url : settings.endpoint.message, - method : 'POST', - data : { - 'message': { - content : message, - timestamp : new Date().getTime() - } - } - }); - } - }, - - // receives chat response and processes - receive: function(response) { - message = response.data; - users = $module.data('users'); - loggedInUser = $module.data('user'); - if(users[ message.userID] !== undefined) { - // logged in user's messages already pushed instantly - if(loggedInUser === undefined || loggedInUser.id != message.userID) { - message.user = users[ message.userID ]; - module.message.display(message); - } - } - }, - - // displays message in chat log - display: function(message) { - $log - .append( settings.templates.message(message) ) - ; - module.message.scroll.test(); - $.proxy(settings.onMessage, $log.children().last() )(); - } - - }, - - expand: function() { - $module - .addClass(className.expand) - ; - $.proxy(settings.onExpand, $module )(); - module.refresh(); - }, - - contract: function() { - $module - .removeClass(className.expand) - ; - $.proxy(settings.onContract, $module )(); - module.refresh(); - }, - - event: { - - input: { - - keydown: function(event) { - if(event.which == 13) { - $messageButton - .addClass(className.down) - ; - } - }, - - keyup: function(event) { - if(event.which == 13) { - $messageButton - .removeClass(className.down) - ; - module.event.submit(); - } - } - - }, - - // handles message form submit - submit: function() { - var - message = $messageInput.val(), - loggedInUser = $module.data('user') - ; - if(loggedInUser !== undefined && !module.utils.emptyString(message)) { - module.message.send(message); - // display immediately - module.message.display({ - user: loggedInUser, - text: message - }); - module.message.scroll.move(); - $messageInput - .val('') - ; - - } - }, - - // handles button click on expand button - toggleExpand: function() { - if( !$module.hasClass(className.expand) ) { - $expandButton - .addClass(className.active) - ; - module.expand(); - } - else { - $expandButton - .removeClass(className.active) - ; - module.contract(); - } - }, - - // handles button click on user list button - toggleUserList: function() { - if( !$log.is(':animated') ) { - if( !$userListButton.hasClass(className.active) ) { - $userListButton - .addClass(className.active) - ; - module.user.list.show(); - } - else { - $userListButton - .removeClass('active') - ; - module.user.list.hide(); - } - } - - } - }, - - utils: { - - emptyString: function(string) { - if(typeof string == 'string') { - return (string.search(/\S/) == -1); - } - return false; - } - - }, - - - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - title += ' ' + '(' + $allDropdowns.size() + ')'; - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - } - else { - module.error(error.method); - } - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - return found || false; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) -; - - return (invokedResponse) - ? invokedResponse - : this - ; -}; - - $.fn.chatroom.settings = { - - name : 'Chat', - debug : false, - namespace : 'chat', - - channel : 'present-chat', - - onJoin : function(){}, - onMessage : function(){}, - onExpand : function(){}, - onContract : function(){}, - - customEvents : {}, - - partingMessages : false, - userCount : true, - randomColor : true, - - speed : 300, - easing : 'easeOutQuint', - - // pixels from bottom of chat log that should trigger auto scroll to bottom - scrollArea : 9999, - - endpoint : { - message : false, - authentication : false - }, - - error: { - method : 'The method you called is not defined', - endpoint : 'Please define a message and authentication endpoint.', - key : 'You must specify a pusher key and channel.', - pusher : 'You must include the Pusher library.' - }, - - className : { - expand : 'expand', - active : 'active', - hover : 'hover', - down : 'down', - loading : 'loading' - }, - - selector : { - userCount : '.actions .message', - userListButton : '.actions .list.button', - expandButton : '.actions .expand.button', - room : '.room', - userList : '.room .list', - log : '.room .log', - message : '.room .log .message', - author : '.room log .message .author', - messageInput : '.talk input', - messageButton : '.talk .send.button' - }, - - templates: { - - userCount: function(number) { - return number + ' users in chat'; - }, - - color: function(userID) { - var - colors = [ - '#000000', - '#333333', - '#666666', - '#999999', - '#CC9999', - '#CC6666', - '#CC3333', - '#993333', - '#663333', - '#CC6633', - '#CC9966', - '#CC9933', - '#999966', - '#CCCC66', - '#99CC66', - '#669933', - '#669966', - '#33A3CC', - '#336633', - '#33CCCC', - '#339999', - '#336666', - '#336699', - '#6666CC', - '#9966CC', - '#333399', - '#663366', - '#996699', - '#993366', - '#CC6699' - ] - ; - return colors[ Math.floor( Math.random() * colors.length) ]; - }, - - message: function(message) { - var - html = '' - ; - if(message.user.isAdmin) { - message.user.color = '#55356A'; - html += '
'; - html += ''; - } - /* - else if(message.user.isPro) { - html += '
'; - html += ''; - } - */ - else { - html += '
'; - } - html += '

'; - if(message.user.color !== undefined) { - html += '' + message.user.name + ': '; - } - else { - html += '' + message.user.name + ': '; - } - html += '' - + message.text - + '

' - + '
' - ; - return html; - }, - - joined: function(member) { - return (typeof member.name !== undefined) - ? '
' + member.name + ' has joined the chat.
' - : false - ; - }, - left: function(member) { - return (typeof member.name !== undefined) - ? '
' + member.name + ' has left the chat.
' - : false - ; - }, - - userList: function(member) { - var - html = '' - ; - if(member.isAdmin) { - member.color = '#55356A'; - } - html += '' - + '
' - + '
' - + ' ' - + '
' - ; - if(member.color !== undefined) { - html += '

' + member.name + '

'; - } - else { - html += '

' + member.name + '

'; - } - html += '
'; - return html; - } - - } - - }; - -})( jQuery, window , document ); - -/* - * # Semantic - Checkbox - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.checkbox = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - invokedResponse - ; - - $allModules - .each(function() { - var - settings = $.extend(true, {}, $.fn.checkbox.settings, parameters), - - className = settings.className, - namespace = settings.namespace, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $label = $(this).next(settings.selector.label).first(), - $input = $(this).find(settings.selector.input), - - selector = $module.selector || '', - instance = $module.data(moduleNamespace), - - element = this, - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing checkbox', settings); - if(settings.context && selector !== '') { - module.verbose('Adding delegated events'); - $(element, settings.context) - .on(selector, 'click' + eventNamespace, module.toggle) - .on(selector + ' + ' + settings.selector.label, 'click' + eventNamespace, module.toggle) - ; - } - else { - $module - .on('click' + eventNamespace, module.toggle) - .data(moduleNamespace, module) - ; - $label - .on('click' + eventNamespace, module.toggle) - ; - } - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module'); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - is: { - radio: function() { - return $module.hasClass(className.radio); - } - }, - - can: { - disable: function() { - return (typeof settings.required === 'boolean') - ? settings.required - : !module.is.radio() - ; - } - }, - - enable: function() { - module.debug('Enabling checkbox', $input); - $input - .prop('checked', true) - ; - $.proxy(settings.onChange, $input.get())(); - $.proxy(settings.onEnable, $input.get())(); - }, - - disable: function() { - module.debug('Disabling checkbox'); - $input - .prop('checked', false) - ; - $.proxy(settings.onChange, $input.get())(); - $.proxy(settings.onDisable, $input.get())(); - }, - - toggle: function(event) { - module.verbose('Determining new checkbox state'); - if($input.prop('checked') === undefined || !$input.prop('checked')) { - module.enable(); - } - else if( module.can.disable() ) { - module.disable(); - } - }, - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.checkbox.settings = { - - name : 'Checkbox', - namespace : 'checkbox', - - verbose : true, - debug : true, - performance : true, - - // delegated event context - context : false, - required : 'auto', - - onChange : function(){}, - onEnable : function(){}, - onDisable : function(){}, - - error : { - method : 'The method you called is not defined.' - }, - - selector : { - input : 'input[type=checkbox], input[type=radio]', - label : 'label' - }, - - className : { - radio : 'radio' - } - -}; - -})( jQuery, window , document ); - -/* - * # Semantic - Dimmer - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.dimmer = function(parameters) { - var - $allModules = $(this), - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - invokedResponse - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.dimmer.settings, parameters) - : $.extend({}, $.fn.dimmer.settings), - - selector = settings.selector, - namespace = settings.namespace, - className = settings.className, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - moduleSelector = $allModules.selector || '', - - clickEvent = ('ontouchstart' in document.documentElement) - ? 'touchstart' - : 'click', - - $module = $(this), - $dimmer, - $dimmable, - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - preinitialize: function() { - if( module.is.dimmer() ) { - $dimmable = $module.parent(); - $dimmer = $module; - } - else { - $dimmable = $module; - if( module.has.dimmer() ) { - $dimmer = $dimmable.children(selector.dimmer).first(); - } - else { - $dimmer = module.create(); - } - } - }, - - initialize: function() { - module.debug('Initializing dimmer', settings); - if(settings.on == 'hover') { - $dimmable - .on('mouseenter' + eventNamespace, module.show) - .on('mouseleave' + eventNamespace, module.hide) - ; - } - else if(settings.on == 'click') { - $dimmable - .on(clickEvent + eventNamespace, module.toggle) - ; - } - - if( module.is.page() ) { - module.debug('Setting as a page dimmer', $dimmable); - module.set.pageDimmer(); - } - - if(settings.closable) { - module.verbose('Adding dimmer close event', $dimmer); - $dimmer - .on(clickEvent + eventNamespace, module.event.click) - ; - } - module.set.dimmable(); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module', $dimmer); - $module - .removeData(moduleNamespace) - ; - $dimmable - .off(eventNamespace) - ; - $dimmer - .off(eventNamespace) - ; - }, - - event: { - - click: function(event) { - module.verbose('Determining if event occured on dimmer', event); - if( $dimmer.find(event.target).size() === 0 || $(event.target).is(selector.content) ) { - module.hide(); - event.stopImmediatePropagation(); - } - } - - }, - - addContent: function(element) { - var - $content = $(element).detach() - ; - module.debug('Add content to dimmer', $content); - if($content.parent()[0] !== $dimmer[0]) { - $dimmer.append($content); - } - }, - - create: function() { - return $( settings.template.dimmer() ).appendTo($dimmable); - }, - - animate: { - show: function(callback) { - callback = callback || function(){}; - module.set.dimmed(); - if($.fn.transition !== undefined) { - $dimmer - .transition(settings.transition + ' in', module.get.duration(), function() { - module.set.active(); - callback(); - }) - ; - } - else { - module.verbose('Showing dimmer animation with javascript'); - $dimmer - .stop() - .css({ - opacity : 0, - width : '100%', - height : '100%' - }) - .fadeTo(module.get.duration(), 1, function() { - $dimmer.removeAttr('style'); - module.set.active(); - callback(); - }) - ; - } - }, - hide: function(callback) { - callback = callback || function(){}; - module.remove.dimmed(); - if($.fn.transition !== undefined) { - module.verbose('Hiding dimmer with css'); - $dimmer - .transition(settings.transition + ' out', module.get.duration(), function() { - module.remove.active(); - callback(); - }) - ; - } - else { - module.verbose('Hiding dimmer with javascript'); - $dimmer - .stop() - .fadeOut(module.get.duration(), function() { - $dimmer.removeAttr('style'); - module.remove.active(); - callback(); - }) - ; - } - } - }, - - get: { - dimmer: function() { - return $dimmer; - }, - duration: function() { - if(typeof settings.duration == 'object') { - if( module.is.active() ) { - return settings.duration.hide; - } - else { - return settings.duration.show; - } - } - return settings.duration; - } - }, - - has: { - dimmer: function() { - return ( $module.children(selector.dimmer).size() > 0 ); - } - }, - - is: { - dimmer: function() { - return $module.is(selector.dimmer); - }, - dimmable: function() { - return $module.is(selector.dimmable); - }, - active: function() { - return $dimmer.hasClass(className.active); - }, - animating: function() { - return ( $dimmer.is(':animated') || $dimmer.hasClass(className.transition) ); - }, - page: function () { - return $dimmable.is('body'); - }, - enabled: function() { - return !$dimmable.hasClass(className.disabled); - }, - disabled: function() { - return $dimmable.hasClass(className.disabled); - }, - pageDimmer: function() { - return $dimmer.hasClass(className.pageDimmer); - } - }, - - can: { - show: function() { - return !$dimmer.hasClass(className.disabled); - } - }, - - set: { - active: function() { - $dimmer - .removeClass(className.transition) - .addClass(className.active) - ; - }, - dimmable: function() { - $dimmable.addClass(className.dimmable); - }, - dimmed: function() { - $dimmable.addClass(className.dimmed); - }, - pageDimmer: function() { - $dimmer.addClass(className.pageDimmer); - }, - disabled: function() { - $dimmer.addClass(className.disabled); - } - }, - - remove: { - active: function() { - $dimmer - .removeClass(className.transition) - .removeClass(className.active) - ; - }, - dimmed: function() { - $dimmable.removeClass(className.dimmed); - }, - disabled: function() { - $dimmer.removeClass(className.disabled); - } - }, - - show: function(callback) { - module.debug('Showing dimmer', $dimmer, settings); - if( !(module.is.active() || module.is.animating() ) && module.is.enabled() ) { - module.animate.show(callback); - $.proxy(settings.onShow, element)(); - $.proxy(settings.onChange, element)(); - } - else { - module.debug('Dimmer is already shown or disabled'); - } - }, - - hide: function(callback) { - if( module.is.active() && !module.is.animating() ) { - module.debug('Hiding dimmer', $dimmer); - module.animate.hide(callback); - $.proxy(settings.onHide, element)(); - $.proxy(settings.onChange, element)(); - } - else { - module.debug('Dimmer is not visible'); - } - }, - - toggle: function() { - module.verbose('Toggling dimmer visibility', $dimmer); - if( !module.is.active() ) { - module.show(); - } - else { - module.hide(); - } - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - - module.preinitialize(); - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.dimmer.settings = { - - name : 'Dimmer', - namespace : 'dimmer', - - verbose : true, - debug : true, - performance : true, - - transition : 'fade', - - on : false, - closable : true, - duration : { - show : 500, - hide : 500 - }, - - onChange : function(){}, - onShow : function(){}, - onHide : function(){}, - - error : { - method : 'The method you called is not defined.' - }, - - selector: { - dimmable : '.ui.dimmable', - dimmer : '.ui.dimmer', - content : '.ui.dimmer > .content, .ui.dimmer > .content > .center' - }, - - template: { - dimmer: function() { - return $('
').attr('class', 'ui dimmer'); - } - }, - - className : { - active : 'active', - dimmable : 'ui dimmable', - dimmed : 'dimmed', - disabled : 'disabled', - pageDimmer : 'page', - hide : 'hide', - show : 'show', - transition : 'transition' - } - -}; - -})( jQuery, window , document ); -/* - * # Semantic - Dropdown - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -;(function ( $, window, document, undefined ) { - -$.fn.dropdown = function(parameters) { - var - $allModules = $(this), - $document = $(document), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - invokedResponse - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.dropdown.settings, parameters) - : $.extend({}, $.fn.dropdown.settings), - - className = settings.className, - metadata = settings.metadata, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - isTouchDevice = ('ontouchstart' in document.documentElement), - - $module = $(this), - $item = $module.find(selector.item), - $text = $module.find(selector.text), - $input = $module.find(selector.input), - - $menu = $module.children(selector.menu), - - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - module.debug('Initializing dropdown', settings); - if(isTouchDevice) { - $module - .on('touchstart' + eventNamespace, module.event.test.toggle) - ; - } - else if(settings.on == 'click') { - $module - .on('click' + eventNamespace, module.event.test.toggle) - ; - } - else if(settings.on == 'hover') { - $module - .on('mouseenter' + eventNamespace, module.delay.show) - .on('mouseleave' + eventNamespace, module.delay.hide) - ; - } - else { - $module - .on(settings.on + eventNamespace, module.toggle) - ; - } - if(settings.action == 'updateForm') { - module.set.selected(); - } - $item - .on('mouseenter' + eventNamespace, module.event.item.mouseenter) - .on('mouseleave' + eventNamespace, module.event.item.mouseleave) - .on(module.get.selectEvent() + eventNamespace, module.event.item.click) - ; - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of dropdown', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous dropdown for', $module); - $item - .off(eventNamespace) - ; - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - event: { - - test: { - toggle: function(event) { - module.determine.intent(event, module.toggle); - event.stopImmediatePropagation(); - }, - hide: function(event) { - module.determine.intent(event, module.hide); - event.stopPropagation(); - } - }, - - item: { - - mouseenter: function(event) { - var - $currentMenu = $(this).find(selector.menu), - $otherMenus = $(this).siblings(selector.item).children(selector.menu) - ; - if( $currentMenu.size() > 0 ) { - clearTimeout(module.itemTimer); - module.itemTimer = setTimeout(function() { - module.animate.hide(false, $otherMenus); - module.verbose('Showing sub-menu', $currentMenu); - module.animate.show(false, $currentMenu); - }, settings.delay.show * 2); - } - }, - - mouseleave: function(event) { - var - $currentMenu = $(this).find(selector.menu) - ; - if($currentMenu.size() > 0) { - clearTimeout(module.itemTimer); - module.itemTimer = setTimeout(function() { - module.verbose('Hiding sub-menu', $currentMenu); - module.animate.hide(false, $currentMenu); - }, settings.delay.hide); - } - }, - - click: function (event) { - var - $choice = $(this), - text = $choice.data(metadata.text) || $choice.text(), - value = $choice.data(metadata.value) || text.toLowerCase() - ; - if( $choice.find(selector.menu).size() === 0 ) { - module.verbose('Adding active state to selected item'); - $item - .removeClass(className.active) - ; - $choice - .addClass(className.active) - ; - module.determine.selectAction(text, value); - $.proxy(settings.onChange, element)(value, text); - } - } - - }, - - resetStyle: function() { - $(this).removeAttr('style'); - } - - }, - - determine: { - selectAction: function(text, value) { - module.verbose('Determining action', settings.action); - if(settings.action == 'auto') { - if(module.is.selection()) { - module.debug('Selection dropdown used updating form', text, value); - module.updateForm(text, value); - } - else { - module.debug('No action specified hiding dropdown', text, value); - module.hide(); - } - } - else if( $.isFunction( module[settings.action] ) ) { - module.verbose('Triggering preset action', settings.action, text, value); - module[ settings.action ](text, value); - } - else if( $.isFunction(settings.action) ) { - module.verbose('Triggering user action', settings.action, text, value); - settings.action(text, value); - } - else { - module.error(error.action); - } - }, - intent: function(event, callback) { - module.debug('Determining whether event occurred in dropdown', event.target); - callback = callback || function(){}; - if( $(event.target).closest($menu).size() === 0 ) { - module.verbose('Triggering event', callback); - callback(); - } - else { - module.verbose('Event occurred in dropdown, canceling callback'); - } - } - }, - - bind: { - intent: function() { - module.verbose('Binding hide intent event to document'); - $document - .on(module.get.selectEvent(), module.event.test.hide) - ; - } - }, - - unbind: { - intent: function() { - module.verbose('Removing hide intent event from document'); - $document - .off(module.get.selectEvent()) - ; - } - }, - - nothing: function() {}, - - changeText: function(text, value) { - module.set.text(text); - module.hide(); - }, - - updateForm: function(text, value) { - module.set.text(text); - module.set.value(value); - module.hide(); - }, - - get: { - selectEvent: function() { - return (isTouchDevice) - ? 'touchstart' - : 'click' - ; - }, - text: function() { - return $text.text(); - }, - value: function() { - return $input.val(); - }, - item: function(value) { - var - $selectedItem - ; - value = value || $input.val(); - $item - .each(function() { - if( $(this).data(metadata.value) == value ) { - $selectedItem = $(this); - } - }) - ; - return $selectedItem || false; - } - }, - - set: { - text: function(text) { - module.debug('Changing text', text, $text); - $text.removeClass(className.placeholder); - $text.text(text); - }, - value: function(value) { - module.debug('Adding selected value to hidden input', value, $input); - $input.val(value); - }, - active: function() { - $module.addClass(className.active); - }, - visible: function() { - $module.addClass(className.visible); - }, - selected: function(value) { - var - $selectedItem = module.get.item(value), - selectedText - ; - if($selectedItem) { - module.debug('Setting selected menu item to', $selectedItem); - selectedText = $selectedItem.data(metadata.text) || $selectedItem.text(); - $item - .removeClass(className.active) - ; - $selectedItem - .addClass(className.active) - ; - module.set.text(selectedText); - } - } - }, - - remove: { - active: function() { - $module.removeClass(className.active); - }, - visible: function() { - $module.removeClass(className.visible); - } - }, - - is: { - selection: function() { - return $module.hasClass(className.selection); - }, - visible: function($subMenu) { - return ($subMenu) - ? $subMenu.is(':animated, :visible') - : $menu.is(':animated, :visible') - ; - }, - hidden: function($subMenu) { - return ($subMenu) - ? $subMenu.is(':not(:animated, :visible)') - : $menu.is(':not(:animated, :visible)') - ; - } - }, - - can: { - click: function() { - return (isTouchDevice || settings.on == 'click'); - }, - show: function() { - return !$module.hasClass(className.disabled); - } - }, - - animate: { - show: function(callback, $subMenu) { - var - $currentMenu = $subMenu || $menu - ; - callback = callback || function(){}; - if( module.is.hidden($currentMenu) ) { - module.verbose('Doing menu show animation', $currentMenu); - if(settings.transition == 'none') { - callback(); - } - else if($.fn.transition !== undefined) { - $currentMenu.transition({ - animation : settings.transition + ' in', - duration : settings.duration, - complete : callback, - queue : false - }); - } - else if(settings.transition == 'slide down') { - $currentMenu - .hide() - .clearQueue() - .children() - .clearQueue() - .css('opacity', 0) - .delay(50) - .animate({ - opacity : 1 - }, settings.duration, 'easeOutQuad', module.event.resetStyle) - .end() - .slideDown(100, 'easeOutQuad', function() { - $.proxy(module.event.resetStyle, this)(); - callback(); - }) - ; - } - else if(settings.transition == 'fade') { - $currentMenu - .hide() - .clearQueue() - .fadeIn(settings.duration, function() { - $.proxy(module.event.resetStyle, this)(); - callback(); - }) - ; - } - else { - module.error(error.transition); - } - } - }, - hide: function(callback, $subMenu) { - var - $currentMenu = $subMenu || $menu - ; - callback = callback || function(){}; - if(module.is.visible($currentMenu) ) { - module.verbose('Doing menu hide animation', $currentMenu); - if($.fn.transition !== undefined) { - $currentMenu.transition({ - animation : settings.transition + ' out', - duration : settings.duration, - complete : callback, - queue : false - }); - } - else if(settings.transition == 'none') { - callback(); - } - else if(settings.transition == 'slide down') { - $currentMenu - .show() - .clearQueue() - .children() - .clearQueue() - .css('opacity', 1) - .animate({ - opacity : 0 - }, 100, 'easeOutQuad', module.event.resetStyle) - .end() - .delay(50) - .slideUp(100, 'easeOutQuad', function() { - $.proxy(module.event.resetStyle, this)(); - callback(); - }) - ; - } - else if(settings.transition == 'fade') { - $currentMenu - .show() - .clearQueue() - .fadeOut(150, function() { - $.proxy(module.event.resetStyle, this)(); - callback(); - }) - ; - } - else { - module.error(error.transition); - } - } - } - }, - - show: function() { - module.debug('Checking if dropdown can show'); - if( module.is.hidden() ) { - module.hideOthers(); - module.set.active(); - module.animate.show(module.set.visible); - if( module.can.click() ) { - module.bind.intent(); - } - $.proxy(settings.onShow, element)(); - } - }, - - hide: function() { - if( module.is.visible() ) { - module.debug('Hiding dropdown'); - if( module.can.click() ) { - module.unbind.intent(); - } - module.remove.active(); - module.animate.hide(module.remove.visible); - $.proxy(settings.onHide, element)(); - } - }, - - delay: { - show: function() { - module.verbose('Delaying show event to ensure user intent'); - clearTimeout(module.timer); - module.timer = setTimeout(module.show, settings.delay.show); - }, - hide: function() { - module.verbose('Delaying hide event to ensure user intent'); - clearTimeout(module.timer); - module.timer = setTimeout(module.hide, settings.delay.hide); - } - }, - - hideOthers: function() { - module.verbose('Finding other dropdowns to hide'); - $allModules - .not($module) - .has(selector.menu + ':visible') - .dropdown('hide') - ; - }, - - toggle: function() { - module.verbose('Toggling menu visibility'); - if( module.is.hidden() ) { - module.show(); - } - else { - module.hide(); - } - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (invokedResponse) - ? invokedResponse - : this - ; -}; - -$.fn.dropdown.settings = { - - name : 'Dropdown', - namespace : 'dropdown', - - verbose : true, - debug : true, - performance : true, - - on : 'click', - action : 'auto', - - delay: { - show: 200, - hide: 300 - }, - - transition : 'slide down', - duration : 250, - - onChange : function(){}, - onShow : function(){}, - onHide : function(){}, - - error : { - action : 'You called a dropdown action that was not defined', - method : 'The method you called is not defined.', - transition : 'The requested transition was not found' - }, - - metadata: { - text : 'text', - value : 'value' - }, - - selector : { - menu : '.menu', - item : '.menu > .item', - text : '> .text', - input : '> input[type="hidden"]' - }, - - className : { - active : 'active', - placeholder : 'default', - disabled : 'disabled', - visible : 'visible', - selection : 'selection' - } - -}; - -})( jQuery, window , document ); -/* - * # Semantic - Modal - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.modal = function(parameters) { - var - $allModules = $(this), - $window = $(window), - $document = $(document), - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - invokedResponse - ; - - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.modal.settings, parameters) - : $.extend({}, $.fn.modal.settings), - - selector = settings.selector, - className = settings.className, - namespace = settings.namespace, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - moduleSelector = $allModules.selector || '', - - $module = $(this), - $context = $(settings.context), - $otherModals = $allModules.not($module), - $close = $module.find(selector.close), - - $focusedElement, - $dimmable, - $dimmer, - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing dimmer', $context); - - $dimmable = $context - .dimmer('add content', $module) - ; - $dimmer = $context - .dimmer('get dimmer') - ; - - module.verbose('Attaching close events', $close); - $close - .on('click' + eventNamespace, module.event.close) - ; - $window - .on('resize', function() { - module.event.debounce(module.refresh, 50); - }) - ; - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of modal'); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous modal'); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - $close - .off(eventNamespace) - ; - $context - .dimmer('destroy') - ; - }, - - refresh: function() { - module.remove.scrolling(); - module.cacheSizes(); - module.set.type(); - module.set.position(); - }, - - attachEvents: function(selector, event) { - var - $toggle = $(selector) - ; - event = $.isFunction(module[event]) - ? module[event] - : module.toggle - ; - if($toggle.size() > 0) { - module.debug('Attaching modal events to element', selector, event); - $toggle - .off(eventNamespace) - .on('click' + eventNamespace, event) - ; - } - else { - module.error(error.notFound); - } - }, - - event: { - close: function() { - module.verbose('Closing element pressed'); - if( $(this).is(selector.approve) ) { - $.proxy(settings.onApprove, element)(); - } - if( $(this).is(selector.deny) ) { - $.proxy(settings.onDeny, element)(); - } - module.hide(); - }, - click: function(event) { - module.verbose('Determining if event occured on dimmer', event); - if( $dimmer.find(event.target).size() === 0 ) { - module.hide(); - event.stopImmediatePropagation(); - } - }, - debounce: function(method, delay) { - clearTimeout(module.timer); - module.timer = setTimeout(method, delay); - }, - keyboard: function(event) { - var - keyCode = event.which, - escapeKey = 27 - ; - if(keyCode == escapeKey) { - module.debug('Escape key pressed hiding modal'); - module.hide(); - event.preventDefault(); - } - }, - resize: function() { - if( $dimmable.dimmer('is active') ) { - module.refresh(); - } - } - }, - - toggle: function() { - if( module.is.active() ) { - module.hide(); - } - else { - module.show(); - } - }, - - show: function() { - module.showDimmer(); - module.cacheSizes(); - module.set.position(); - module.hideAll(); - if(settings.transition && $.fn.transition !== undefined) { - $module - .transition(settings.transition + ' in', settings.duration, module.set.active) - ; - } - else { - $module - .fadeIn(settings.duration, settings.easing, module.set.active) - ; - } - module.debug('Triggering dimmer'); - $.proxy(settings.onShow, element)(); - }, - - showDimmer: function() { - module.debug('Showing modal'); - module.set.dimmerSettings(); - $dimmable.dimmer('show'); - }, - - hide: function() { - if(settings.closable) { - $dimmer - .off('click' + eventNamespace) - ; - } - if( $dimmable.dimmer('is active') ) { - $dimmable.dimmer('hide'); - } - if( module.is.active() ) { - module.hideModal(); - $.proxy(settings.onHide, element)(); - } - else { - module.debug('Cannot hide modal, modal is not visible'); - } - }, - - hideDimmer: function() { - module.debug('Hiding dimmer'); - $dimmable.dimmer('hide'); - }, - - hideModal: function() { - module.debug('Hiding modal'); - module.remove.keyboardShortcuts(); - if(settings.transition && $.fn.transition !== undefined) { - $module - .transition(settings.transition + ' out', settings.duration, function() { - module.remove.active(); - module.restore.focus(); - }) - ; - } - else { - $module - .fadeOut(settings.duration, settings.easing, function() { - module.remove.active(); - module.restore.focus(); - }) - ; - } - }, - - hideAll: function() { - $otherModals - .filter(':visible') - .modal('hide') - ; - }, - - add: { - keyboardShortcuts: function() { - module.verbose('Adding keyboard shortcuts'); - $document - .on('keyup' + eventNamespace, module.event.keyboard) - ; - } - }, - - save: { - focus: function() { - $focusedElement = $(document.activeElement).blur(); - } - }, - - restore: { - focus: function() { - if($focusedElement.size() > 0) { - $focusedElement.focus(); - } - } - }, - - remove: { - active: function() { - $module.removeClass(className.active); - }, - keyboardShortcuts: function() { - module.verbose('Removing keyboard shortcuts'); - $document - .off('keyup' + eventNamespace) - ; - }, - scrolling: function() { - $dimmable.removeClass(className.scrolling); - $module.removeClass(className.scrolling); - } - }, - - cacheSizes: function() { - module.cache = { - height : $module.outerHeight() + settings.offset, - contextHeight : (settings.context == 'body') - ? $(window).height() - : $dimmable.height() - }; - module.debug('Caching modal and container sizes', module.cache); - }, - - can: { - fit: function() { - return (module.cache.height < module.cache.contextHeight); - } - }, - - is: { - active: function() { - return $module.hasClass(className.active); - } - }, - - set: { - active: function() { - module.add.keyboardShortcuts(); - module.save.focus(); - module.set.type(); - $module - .addClass(className.active) - ; - if(settings.closable) { - $dimmer - .on('click' + eventNamespace, module.event.click) - ; - } - }, - dimmerSettings: function() { - module.debug('Setting dimmer settings', $dimmable); - $dimmable - .dimmer({ - closable: false, - show: settings.duration * 0.95, - hide: settings.duration * 1.05 - }) - ; - }, - scrolling: function() { - $dimmable.addClass(className.scrolling); - $module.addClass(className.scrolling); - }, - type: function() { - if(module.can.fit()) { - module.verbose('Modal fits on screen'); - module.remove.scrolling(); - } - else { - module.verbose('Modal cannot fit on screen setting to scrolling'); - module.set.scrolling(); - } - }, - position: function() { - module.verbose('Centering modal on page', module.cache, module.cache.height / 2); - if(module.can.fit()) { - $module - .css({ - top: '', - marginTop: -(module.cache.height / 2) - }) - ; - } - else { - $module - .css({ - marginTop : '1em', - top : $document.scrollTop() - }) - ; - } - } - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.modal.settings = { - - name : 'Modal', - namespace : 'modal', - verbose : true, - debug : true, - performance : true, - - closable : true, - context : 'body', - duration : 500, - easing : 'easeOutExpo', - offset : 0, - transition : 'scale', - - onShow : function(){}, - onHide : function(){}, - onApprove : function(){ console.log('approved'); }, - onDeny : function(){ console.log('denied'); }, - - selector : { - close : '.close, .actions .button', - approve : '.actions .positive, .actions .approve', - deny : '.actions .negative, .actions .cancel' - }, - error : { - method : 'The method you called is not defined.' - }, - className : { - active : 'active', - scrolling : 'scrolling' - }, -}; - - -})( jQuery, window , document ); -/* - * # Semantic - Nag - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -$.fn.nag = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - invokedResponse - ; - $(this) - .each(function() { - var - settings = $.extend(true, {}, $.fn.nag.settings, parameters), - - className = settings.className, - selector = settings.selector, - error = settings.error, - namespace = settings.namespace, - - eventNamespace = '.' + namespace, - moduleNamespace = namespace + '-module', - - $module = $(this), - - $close = $module.find(selector.close), - $context = $(settings.context), - - - element = this, - instance = $module.data(moduleNamespace), - - moduleOffset, - moduleHeight, - - contextWidth, - contextHeight, - contextOffset, - - yOffset, - yPosition, - - timer, - module, - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); } - ; - module = { - - initialize: function() { - module.verbose('Initializing element'); - // calculate module offset once - moduleOffset = $module.offset(); - moduleHeight = $module.outerHeight(); - contextWidth = $context.outerWidth(); - contextHeight = $context.outerHeight(); - contextOffset = $context.offset(); - - $module - .data(moduleNamespace, module) - ; - $close - .on('click' + eventNamespace, module.dismiss) - ; - // lets avoid javascript if we dont need to reposition - if(settings.context == window && settings.position == 'fixed') { - $module - .addClass(className.fixed) - ; - } - if(settings.sticky) { - module.verbose('Adding scroll events'); - // retrigger on scroll for absolute - if(settings.position == 'absolute') { - $context - .on('scroll' + eventNamespace, module.event.scroll) - .on('resize' + eventNamespace, module.event.scroll) - ; - } - // fixed is always relative to window - else { - $(window) - .on('scroll' + eventNamespace, module.event.scroll) - .on('resize' + eventNamespace, module.event.scroll) - ; - } - // fire once to position on init - $.proxy(module.event.scroll, this)(); - } - - if(settings.displayTime > 0) { - setTimeout(module.hide, settings.displayTime); - } - if(module.should.show()) { - if( !$module.is(':visible') ) { - module.show(); - } - } - else { - module.hide(); - } - }, - - destroy: function() { - module.verbose('Destroying instance'); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - if(settings.sticky) { - $context - .off(eventNamespace) - ; - } - }, - - refresh: function() { - module.debug('Refreshing cached calculations'); - moduleOffset = $module.offset(); - moduleHeight = $module.outerHeight(); - contextWidth = $context.outerWidth(); - contextHeight = $context.outerHeight(); - contextOffset = $context.offset(); - }, - - show: function() { - module.debug('Showing nag', settings.animation.show); - if(settings.animation.show == 'fade') { - $module - .fadeIn(settings.duration, settings.easing) - ; - } - else { - $module - .slideDown(settings.duration, settings.easing) - ; - } - }, - - hide: function() { - module.debug('Showing nag', settings.animation.hide); - if(settings.animation.show == 'fade') { - $module - .fadeIn(settings.duration, settings.easing) - ; - } - else { - $module - .slideUp(settings.duration, settings.easing) - ; - } - }, - - onHide: function() { - module.debug('Removing nag', settings.animation.hide); - $module.remove(); - if (settings.onHide) { - settings.onHide(); - } - }, - - stick: function() { - module.refresh(); - - if(settings.position == 'fixed') { - var - windowScroll = $(window).prop('pageYOffset') || $(window).scrollTop(), - fixedOffset = ( $module.hasClass(className.bottom) ) - ? contextOffset.top + (contextHeight - moduleHeight) - windowScroll - : contextOffset.top - windowScroll - ; - $module - .css({ - position : 'fixed', - top : fixedOffset, - left : contextOffset.left, - width : contextWidth - settings.scrollBarWidth - }) - ; - } - else { - $module - .css({ - top : yPosition - }) - ; - } - }, - unStick: function() { - $module - .css({ - top : '' - }) - ; - }, - dismiss: function(event) { - if(settings.storageMethod) { - module.storage.set(settings.storedKey, settings.storedValue); - } - module.hide(); - event.stopImmediatePropagation(); - event.preventDefault(); - }, - - should: { - show: function() { - if(settings.persist) { - module.debug('Persistent nag is set, can show nag'); - return true; - } - if(module.storage.get(settings.storedKey) != settings.storedValue) { - module.debug('Stored value is not set, can show nag', module.storage.get(settings.storedKey)); - return true; - } - module.debug('Stored value is set, cannot show nag', module.storage.get(settings.storedKey)); - return false; - }, - stick: function() { - yOffset = $context.prop('pageYOffset') || $context.scrollTop(); - yPosition = ( $module.hasClass(className.bottom) ) - ? (contextHeight - $module.outerHeight() ) + yOffset - : yOffset - ; - // absolute position calculated when y offset met - if(yPosition > moduleOffset.top) { - return true; - } - else if(settings.position == 'fixed') { - return true; - } - return false; - } - }, - - storage: { - - set: function(key, value) { - module.debug('Setting stored value', key, value, settings.storageMethod); - if(settings.storageMethod == 'local' && window.store !== undefined) { - window.store.set(key, value); - } - // store by cookie - else if($.cookie !== undefined) { - $.cookie(key, value); - } - else { - module.error(error.noStorage); - } - }, - get: function(key) { - module.debug('Getting stored value', key, settings.storageMethod); - if(settings.storageMethod == 'local' && window.store !== undefined) { - return window.store.get(key); - } - // get by cookie - else if($.cookie !== undefined) { - return $.cookie(key); - } - else { - module.error(error.noStorage); - } - } - - }, - - event: { - scroll: function() { - if(timer !== undefined) { - clearTimeout(timer); - } - timer = setTimeout(function() { - if(module.should.stick() ) { - requestAnimationFrame(module.stick); - } - else { - module.unStick(); - } - }, settings.lag); - } - }, - setting: function(name, value) { - module.debug('Changing setting', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - module.debug('Changing internal', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - - }) - ; - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.nag.settings = { - - name : 'Nag', - - verbose : true, - debug : true, - performance : true, - - namespace : 'Nag', - - // allows cookie to be overriden - persist : false, - - // set to zero to manually dismiss, otherwise hides on its own - displayTime : 0, - - animation : { - show: 'slide', - hide: 'slide' - }, - - // method of stickyness - position : 'fixed', - scrollBarWidth : 18, - - // type of storage to use - storageMethod : 'cookie', - - // value to store in dismissed localstorage/cookie - storedKey : 'nag', - storedValue : 'dismiss', - - // need to calculate stickyness on scroll - sticky : false, - - // how often to check scroll event - lag : 0, - - // context for scroll event - context : window, - - error: { - noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state', - method : 'The method you called is not defined.' - }, - - className : { - bottom : 'bottom', - fixed : 'fixed' - }, - - selector : { - close: '.icon.close' - }, - - speed : 500, - easing : 'easeOutQuad', - - onHide: function() {} - -}; - -})( jQuery, window , document ); - -/* - * # Semantic - Popup - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -$.fn.popup = function(parameters) { - var - $allModules = $(this), - $document = $(document), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - invokedResponse - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.popup.settings, parameters) - : $.extend({}, $.fn.popup.settings), - - selector = settings.selector, - className = settings.className, - error = settings.error, - metadata = settings.metadata, - namespace = settings.namespace, - - eventNamespace = '.' + settings.namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - - $window = $(window), - $offsetParent = $module.offsetParent(), - $popup = (settings.inline) - ? $module.next(settings.selector.popup) - : $window.children(settings.selector.popup).last(), - - searchDepth = 0, - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - // binds events - initialize: function() { - module.debug('Initializing module', $module); - if(settings.on == 'hover') { - $module - .on('mouseenter' + eventNamespace, module.event.mouseenter) - .on('mouseleave' + eventNamespace, module.event.mouseleave) - ; - } - else { - $module - .on(settings.on + '' + eventNamespace, module.event[settings.on]) - ; - } - $window - .on('resize' + eventNamespace, module.event.resize) - ; - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - refresh: function() { - $popup = (settings.inline) - ? $module.next(selector.popup) - : $window.children(selector.popup).last() - ; - $offsetParent = $module.offsetParent(); - }, - - destroy: function() { - module.debug('Destroying previous module'); - $window - .off(eventNamespace) - ; - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - event: { - mouseenter: function(event) { - var element = this; - module.timer = setTimeout(function() { - $.proxy(module.toggle, element)(); - if( $(element).hasClass(className.visible) ) { - event.stopPropagation(); - } - }, settings.delay); - }, - mouseleave: function() { - clearTimeout(module.timer); - if( $module.is(':visible') ) { - module.hide(); - } - }, - click: function(event) { - $.proxy(module.toggle, this)(); - if( $(this).hasClass(className.visible) ) { - event.stopPropagation(); - } - }, - resize: function() { - if( $popup.is(':visible') ) { - module.position(); - } - } - }, - - // generates popup html from metadata - create: function() { - module.debug('Creating pop-up html'); - var - html = $module.data(metadata.html) || settings.html, - variation = $module.data(metadata.variation) || settings.variation, - title = $module.data(metadata.title) || settings.title, - content = $module.data(metadata.content) || $module.attr('title') || settings.content - ; - if(html || content || title) { - if(!html) { - html = settings.template({ - title : title, - content : content - }); - } - $popup = $('
') - .addClass(className.popup) - .addClass(variation) - .html(html) - ; - if(settings.inline) { - module.verbose('Inserting popup element inline', $popup); - $popup - .insertAfter($module) - ; - } - else { - module.verbose('Appending popup element to body', $popup); - $popup - .appendTo( $('body') ) - ; - } - $.proxy(settings.onCreate, $popup)(); - } - else { - module.error(error.content); - } - }, - - remove: function() { - module.debug('Removing popup'); - $popup - .remove() - ; - }, - - get: { - offstagePosition: function() { - var - boundary = { - top : $(window).scrollTop(), - bottom : $(window).scrollTop() + $(window).height(), - left : 0, - right : $(window).width() - }, - popup = { - width : $popup.width(), - height : $popup.outerHeight(), - position : $popup.offset() - }, - offstage = {}, - offstagePositions = [] - ; - if(popup.position) { - offstage = { - top : (popup.position.top < boundary.top), - bottom : (popup.position.top + popup.height > boundary.bottom), - right : (popup.position.left + popup.width > boundary.right), - left : (popup.position.left < boundary.left) - }; - } - module.verbose('Checking if outside viewable area', popup.position); - // return only boundaries that have been surpassed - $.each(offstage, function(direction, isOffstage) { - if(isOffstage) { - offstagePositions.push(direction); - } - }); - return (offstagePositions.length > 0) - ? offstagePositions.join(' ') - : false - ; - }, - nextPosition: function(position) { - switch(position) { - case 'top left': - position = 'bottom left'; - break; - case 'bottom left': - position = 'top right'; - break; - case 'top right': - position = 'bottom right'; - break; - case 'bottom right': - position = 'top center'; - break; - case 'top center': - position = 'bottom center'; - break; - case 'bottom center': - position = 'right center'; - break; - case 'right center': - position = 'left center'; - break; - case 'left center': - position = 'top center'; - break; - } - return position; - } - }, - - // determines popup state - toggle: function() { - $module = $(this); - module.debug('Toggling pop-up'); - // refresh state of module - module.refresh(); - if( !$module.hasClass(className.visible) ) { - if(settings.on == 'click') { - module.hideAll(); - } - module.show(); - } - else { - // module.hide(); - } - }, - - position: function(position, arrowOffset) { - var - windowWidth = $(window).width(), - windowHeight = $(window).height(), - width = $module.outerWidth(), - height = $module.outerHeight(), - popupWidth = $popup.width(), - popupHeight = $popup.outerHeight(), - - offset = (settings.inline) - ? $module.position() - : $module.offset(), - parentWidth = (settings.inline) - ? $offsetParent.outerWidth() - : $window.outerWidth(), - parentHeight = (settings.inline) - ? $offsetParent.outerHeight() - : $window.outerHeight(), - - positioning, - offstagePosition - ; - position = position || $module.data(metadata.position) || settings.position; - arrowOffset = arrowOffset || $module.data(metadata.arrowOffset) || settings.arrowOffset; - module.debug('Calculating offset for position', position); - switch(position) { - case 'top left': - positioning = { - bottom : parentHeight - offset.top + settings.distanceAway, - right : parentWidth - offset.left - width - arrowOffset, - top : 'auto', - left : 'auto' - }; - break; - case 'top center': - positioning = { - bottom : parentHeight - offset.top + settings.distanceAway, - left : offset.left + (width / 2) - (popupWidth / 2) + arrowOffset, - top : 'auto', - right : 'auto' - }; - break; - case 'top right': - positioning = { - top : 'auto', - bottom : parentHeight - offset.top + settings.distanceAway, - left : offset.left + arrowOffset - }; - break; - case 'left center': - positioning = { - top : offset.top + (height / 2) - (popupHeight / 2), - right : parentWidth - offset.left + settings.distanceAway - arrowOffset, - left : 'auto', - bottom : 'auto' - }; - break; - case 'right center': - positioning = { - top : offset.top + (height / 2) - (popupHeight / 2), - left : offset.left + width + settings.distanceAway + arrowOffset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom left': - positioning = { - top : offset.top + height + settings.distanceAway, - right : parentWidth - offset.left - width - arrowOffset, - left : 'auto', - bottom : 'auto' - }; - break; - case 'bottom center': - positioning = { - top : offset.top + height + settings.distanceAway, - left : offset.left + (width / 2) - (popupWidth / 2) + arrowOffset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom right': - positioning = { - top : offset.top + height + settings.distanceAway, - left : offset.left + arrowOffset, - bottom : 'auto', - right : 'auto' - }; - break; - } - // true width on popup, avoid rounding error - $.extend(positioning, { - width: $popup.width() + 1 - }); - // tentatively place on stage - $popup - .css(positioning) - .removeClass(className.position) - .addClass(position) - ; - // check if is offstage - offstagePosition = module.get.offstagePosition(); - // recursively find new positioning - if(offstagePosition) { - module.debug('Element is outside boundaries ', offstagePosition); - if(searchDepth < settings.maxSearchDepth) { - position = module.get.nextPosition(position); - searchDepth++; - module.debug('Trying new position: ', position); - return module.position(position); - } - else { - module.error(error.recursion); - searchDepth = 0; - return false; - } - } - else { - module.debug('Position is on stage', position); - searchDepth = 0; - return true; - } - }, - - show: function() { - module.debug('Showing pop-up', settings.transition); - if($popup.size() === 0) { - module.create(); - } - module.position(); - $module - .addClass(className.visible) - ; - if(settings.transition && $.fn.transition !== undefined) { - $popup - .transition(settings.transition + ' in', settings.duration) - ; - } - else { - $popup - .stop() - .fadeIn(settings.duration, settings.easing) - ; - } - if(settings.on == 'click' && settings.clicktoClose) { - module.debug('Binding popup close event'); - $document - .on('click.' + namespace, module.gracefully.hide) - ; - } - $.proxy(settings.onShow, $popup)(); - }, - - hideAll: function() { - $(selector.popup) - .filter(':visible') - .popup('hide') - ; - }, - - hide: function() { - $module - .removeClass(className.visible) - ; - if($popup.is(':visible') ) { - module.debug('Hiding pop-up'); - if(settings.transition && $.fn.transition !== undefined) { - $popup - .transition(settings.transition + ' out', settings.duration, module.reset) - ; - } - else { - $popup - .stop() - .fadeOut(settings.duration, settings.easing, module.reset) - ; - } - } - if(settings.on == 'click' && settings.clicktoClose) { - $document - .off('click.' + namespace) - ; - } - $.proxy(settings.onHide, $popup)(); - }, - - reset: function() { - module.verbose('Resetting inline styles'); - $popup - .attr('style', '') - .removeAttr('style') - ; - if(!settings.inline) { - module.remove(); - } - }, - - gracefully: { - hide: function(event) { - // don't close on clicks inside popup - if( $(event.target).closest(selector.popup).size() === 0) { - module.hide(); - } - } - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.popup.settings = { - - name : 'Popup', - debug : true, - verbose : true, - performance : true, - namespace : 'popup', - - onCreate : function(){}, - onShow : function(){}, - onHide : function(){}, - - variation : '', - content : false, - html : false, - title : false, - - on : 'hover', - clicktoClose : true, - - position : 'top center', - delay : 150, - inline : true, - - duration : 150, - easing : 'easeOutQuint', - transition : 'scale', - - distanceAway : 0, - arrowOffset : 0, - maxSearchDepth : 10, - - error: { - content : 'Your popup has no content specified', - method : 'The method you called is not defined.', - recursion : 'Popup attempted to reposition element to fit, but could not find an adequate position.' - }, - - metadata: { - arrowOffset : 'arrowOffset', - content : 'content', - html : 'html', - position : 'position', - title : 'title', - variation : 'variation' - }, - - className : { - popup : 'ui popup', - visible : 'visible', - loading : 'loading', - position : 'top left center bottom right' - }, - - selector : { - popup : '.ui.popup' - }, - - template: function(text) { - var html = ''; - if(typeof text !== undefined) { - if(typeof text.title !== undefined && text.title) { - html += '
' + text.title + '
'; - } - if(typeof text.content !== undefined && text.content) { - html += '
' + text.content + '
'; - } - } - return html; - } - -}; - -})( jQuery, window , document ); - -/* - * # Semantic - Rating - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -$.fn.rating = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - invokedResponse - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.rating.settings, parameters) - : $.extend({}, $.fn.rating.settings), - - namespace = settings.namespace, - className = settings.className, - metadata = settings.metadata, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - element = this, - instance = $(this).data(moduleNamespace), - - $module = $(this), - $icon = $module.find(selector.icon), - - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing rating module', settings); - - if(settings.interactive) { - module.enable(); - } - else { - module.disable(); - } - - if(settings.initialRating) { - module.debug('Setting initial rating'); - module.setRating(settings.initialRating); - } - if( $module.data(metadata.rating) ) { - module.debug('Rating found in metadata'); - module.setRating( $module.data(metadata.rating) ); - } - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Instantiating module', settings); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous instance', instance); - $module - .removeData(moduleNamespace) - ; - $icon - .off(eventNamespace) - ; - }, - - event: { - mouseenter: function() { - var - $activeIcon = $(this) - ; - $activeIcon - .nextAll() - .removeClass(className.hover) - ; - $module - .addClass(className.hover) - ; - $activeIcon - .addClass(className.hover) - .prevAll() - .addClass(className.hover) - ; - }, - mouseleave: function() { - $module - .removeClass(className.hover) - ; - $icon - .removeClass(className.hover) - ; - }, - click: function() { - var - $activeIcon = $(this), - currentRating = module.getRating(), - rating = $icon.index($activeIcon) + 1 - ; - if(settings.clearable && currentRating == rating) { - module.clearRating(); - } - else { - module.setRating( rating ); - } - } - }, - - clearRating: function() { - module.debug('Clearing current rating'); - module.setRating(0); - }, - - getRating: function() { - var - currentRating = $icon.filter('.' + className.active).size() - ; - module.verbose('Current rating retrieved', currentRating); - return currentRating; - }, - - enable: function() { - module.debug('Setting rating to interactive mode'); - $icon - .on('mouseenter' + eventNamespace, module.event.mouseenter) - .on('mouseleave' + eventNamespace, module.event.mouseleave) - .on('click' + eventNamespace, module.event.click) - ; - $module - .addClass(className.active) - ; - }, - - disable: function() { - module.debug('Setting rating to read-only mode'); - $icon - .off(eventNamespace) - ; - $module - .removeClass(className.active) - ; - }, - - setRating: function(rating) { - var - ratingIndex = (rating - 1 >= 0) - ? (rating - 1) - : 0, - $activeIcon = $icon.eq(ratingIndex) - ; - $module - .removeClass(className.hover) - ; - $icon - .removeClass(className.hover) - .removeClass(className.active) - ; - if(rating > 0) { - module.verbose('Setting current rating to', rating); - $activeIcon - .addClass(className.active) - .prevAll() - .addClass(className.active) - ; - } - $.proxy(settings.onRate, element)(rating); - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.rating.settings = { - - name : 'Rating', - namespace : 'rating', - - verbose : true, - debug : true, - performance : true, - - initialRating : 0, - interactive : true, - clearable : false, - - onRate : function(rating){}, - - error : { - method : 'The method you called is not defined' - }, - - metadata: { - rating: 'rating' - }, - - className : { - active : 'active', - hover : 'hover', - loading : 'loading' - }, - - selector : { - icon : '.icon' - } - -}; - -})( jQuery, window , document ); - -/* - * # Semantic - Search - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -$.fn.search = function(source, parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - invokedResponse - ; - $(this) - .each(function() { - var - settings = $.extend(true, {}, $.fn.search.settings, parameters), - - className = settings.className, - selector = settings.selector, - error = settings.error, - namespace = settings.namespace, - - eventNamespace = '.' + namespace, - moduleNamespace = namespace + '-module', - - $module = $(this), - $prompt = $module.find(selector.prompt), - $searchButton = $module.find(selector.searchButton), - $results = $module.find(selector.results), - $result = $module.find(selector.result), - $category = $module.find(selector.category), - - element = this, - instance = $module.data(moduleNamespace), - - module - ; - module = { - - initialize: function() { - module.verbose('Initializing module'); - var - prompt = $prompt[0], - inputEvent = (prompt.oninput !== undefined) - ? 'input' - : (prompt.onpropertychange !== undefined) - ? 'propertychange' - : 'keyup' - ; - // attach events - $prompt - .on('focus' + eventNamespace, module.event.focus) - .on('blur' + eventNamespace, module.event.blur) - .on('keydown' + eventNamespace, module.handleKeyboard) - ; - if(settings.automatic) { - $prompt - .on(inputEvent + eventNamespace, module.search.throttle) - ; - } - $searchButton - .on('click' + eventNamespace, module.search.query) - ; - $results - .on('click' + eventNamespace, selector.result, module.results.select) - ; - module.instantiate(); - }, - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - destroy: function() { - module.verbose('Destroying instance'); - $module - .removeData(moduleNamespace) - ; - }, - event: { - focus: function() { - $module - .addClass(className.focus) - ; - module.results.show(); - }, - blur: function() { - module.search.cancel(); - $module - .removeClass(className.focus) - ; - module.results.hide(); - } - }, - handleKeyboard: function(event) { - var - // force latest jq dom - $result = $module.find(selector.result), - $category = $module.find(selector.category), - keyCode = event.which, - keys = { - backspace : 8, - enter : 13, - escape : 27, - upArrow : 38, - downArrow : 40 - }, - activeClass = className.active, - currentIndex = $result.index( $result.filter('.' + activeClass) ), - resultSize = $result.size(), - newIndex - ; - // search shortcuts - if(keyCode == keys.escape) { - module.verbose('Escape key pressed, blurring search field'); - $prompt - .trigger('blur') - ; - } - // result shortcuts - if($results.filter(':visible').size() > 0) { - if(keyCode == keys.enter) { - module.verbose('Enter key pressed, selecting active result'); - if( $result.filter('.' + activeClass).exists() ) { - $.proxy(module.results.select, $result.filter('.' + activeClass) )(); - event.preventDefault(); - return false; - } - } - else if(keyCode == keys.upArrow) { - module.verbose('Up key pressed, changing active result'); - newIndex = (currentIndex - 1 < 0) - ? currentIndex - : currentIndex - 1 - ; - $category - .removeClass(activeClass) - ; - $result - .removeClass(activeClass) - .eq(newIndex) - .addClass(activeClass) - .closest($category) - .addClass(activeClass) - ; - event.preventDefault(); - } - else if(keyCode == keys.downArrow) { - module.verbose('Down key pressed, changing active result'); - newIndex = (currentIndex + 1 >= resultSize) - ? currentIndex - : currentIndex + 1 - ; - $category - .removeClass(activeClass) - ; - $result - .removeClass(activeClass) - .eq(newIndex) - .addClass(activeClass) - .closest($category) - .addClass(activeClass) - ; - event.preventDefault(); - } - } - else { - // query shortcuts - if(keyCode == keys.enter) { - module.verbose('Enter key pressed, executing query'); - module.search.query(); - $searchButton - .addClass(className.down) - ; - $prompt - .one('keyup', function(){ - $searchButton - .removeClass(className.down) - ; - }) - ; - } - } - }, - search: { - cancel: function() { - var - xhr = $module.data('xhr') || false - ; - if( xhr && xhr.state() != 'resolved') { - module.debug('Cancelling last search'); - xhr.abort(); - } - }, - throttle: function() { - var - searchTerm = $prompt.val(), - numCharacters = searchTerm.length - ; - clearTimeout(module.timer); - if(numCharacters >= settings.minCharacters) { - module.timer = setTimeout(module.search.query, settings.searchThrottle); - } - else { - module.results.hide(); - } - }, - query: function() { - var - searchTerm = $prompt.val(), - cachedHTML = module.search.cache.read(searchTerm) - ; - if(cachedHTML) { - module.debug("Reading result for '" + searchTerm + "' from cache"); - module.results.add(cachedHTML); - } - else { - module.debug("Querying for '" + searchTerm + "'"); - if(typeof source == 'object') { - module.search.local(searchTerm); - } - else { - module.search.remote(searchTerm); - } - $.proxy(settings.onSearchQuery, $module)(searchTerm); - } - }, - local: function(searchTerm) { - var - results = [], - fullTextResults = [], - searchFields = $.isArray(settings.searchFields) - ? settings.searchFields - : [settings.searchFields], - - searchRegExp = new RegExp('(?:\s|^)' + searchTerm, 'i'), - fullTextRegExp = new RegExp(searchTerm, 'i'), - searchHTML - ; - $module - .addClass(className.loading) - ; - // iterate through search fields in array order - $.each(searchFields, function(index, field) { - $.each(source, function(label, thing) { - if(typeof thing[field] == 'string' && ($.inArray(thing, results) == -1) && ($.inArray(thing, fullTextResults) == -1) ) { - if( searchRegExp.test( thing[field] ) ) { - results.push(thing); - } - else if( fullTextRegExp.test( thing[field] ) ) { - fullTextResults.push(thing); - } - } - }); - }); - searchHTML = module.results.generate({ - results: $.merge(results, fullTextResults) - }); - $module - .removeClass(className.loading) - ; - module.search.cache.write(searchTerm, searchHTML); - module.results.add(searchHTML); - }, - remote: function(searchTerm) { - var - apiSettings = { - stateContext : $module, - url : source, - urlData: { query: searchTerm }, - success : function(response) { - searchHTML = module.results.generate(response); - module.search.cache.write(searchTerm, searchHTML); - module.results.add(searchHTML); - }, - failure : module.error - }, - searchHTML - ; - module.search.cancel(); - module.debug('Executing search'); - $.extend(true, apiSettings, settings.apiSettings); - $.api(apiSettings); - }, - - cache: { - read: function(name) { - var - cache = $module.data('cache') - ; - return (settings.cache && (typeof cache == 'object') && (cache[name] !== undefined) ) - ? cache[name] - : false - ; - }, - write: function(name, value) { - var - cache = ($module.data('cache') !== undefined) - ? $module.data('cache') - : {} - ; - cache[name] = value; - $module - .data('cache', cache) - ; - } - } - }, - - results: { - generate: function(response) { - module.debug('Generating html from response', response); - var - template = settings.templates[settings.type], - html = '' - ; - if(($.isPlainObject(response.results) && !$.isEmptyObject(response.results)) || ($.isArray(response.results) && response.results.length > 0) ) { - if(settings.maxResults > 0) { - response.results = $.makeArray(response.results).slice(0, settings.maxResults); - } - if(response.results.length > 0) { - if($.isFunction(template)) { - html = template(response); - } - else { - module.error(error.noTemplate, false); - } - } - } - else { - html = module.message(error.noResults, 'empty'); - } - $.proxy(settings.onResults, $module)(response); - return html; - }, - add: function(html) { - if(settings.onResultsAdd == 'default' || $.proxy(settings.onResultsAdd, $results)(html) == 'default') { - $results - .html(html) - ; - } - module.results.show(); - }, - show: function() { - if( ($results.filter(':visible').size() === 0) && ($prompt.filter(':focus').size() > 0) && $results.html() !== '') { - $results - .stop() - .fadeIn(200) - ; - $.proxy(settings.onResultsOpen, $results)(); - } - }, - hide: function() { - if($results.filter(':visible').size() > 0) { - $results - .stop() - .fadeOut(200) - ; - $.proxy(settings.onResultsClose, $results)(); - } - }, - select: function(event) { - module.debug('Search result selected'); - var - $result = $(this), - $title = $result.find('.title'), - title = $title.html() - ; - if(settings.onSelect == 'default' || $.proxy(settings.onSelect, this)(event) == 'default') { - var - $link = $result.find('a[href]').eq(0), - href = $link.attr('href') || false, - target = $link.attr('target') || false - ; - module.results.hide(); - $prompt - .val(title) - ; - if(href) { - if(target == '_blank' || event.ctrlKey) { - window.open(href); - } - else { - window.location.href = (href); - } - } - } - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - module.debug('Changing internal', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - - }) - ; - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.search.settings = { - - name : 'Search Module', - namespace : 'search', - - debug : true, - verbose : true, - performance : true, - - // onSelect default action is defined in module - onSelect : 'default', - onResultsAdd : 'default', - - onSearchQuery : function(){}, - onResults : function(response){}, - - onResultsOpen : function(){}, - onResultsClose : function(){}, - - automatic : 'true', - type : 'simple', - minCharacters : 3, - searchThrottle : 300, - maxResults : 7, - cache : true, - - searchFields : [ - 'title', - 'description' - ], - - // api config - apiSettings: { - - }, - - className: { - active : 'active', - down : 'down', - focus : 'focus', - empty : 'empty', - loading : 'loading' - }, - - error : { - noResults : 'Your search returned no results', - logging : 'Error in debug logging, exiting.', - noTemplate : 'A valid template name was not specified.', - serverError : 'There was an issue with querying the server.', - method : 'The method you called is not defined.' - }, - - selector : { - prompt : '.prompt', - searchButton : '.search.button', - results : '.results', - category : '.category', - result : '.result' - }, - - templates: { - message: function(message, type) { - var - html = '' - ; - if(message !== undefined && type !== undefined) { - html += '' - + '
' - ; - // message type - if(type == 'empty') { - html += '' - + '
No Results
' - + '
' + message + '
' - ; - } - else { - html += '
' + message + '
'; - } - html += '
'; - } - return html; - }, - categories: function(response) { - var - html = '' - ; - if(response.results !== undefined) { - // each category - $.each(response.results, function(index, category) { - if(category.results !== undefined && category.results.length > 0) { - html += '' - + '
' - + '
' + category.name + '
' - ; - // each item inside category - $.each(category.results, function(index, result) { - html += '
'; - html += ''; - if(result.image !== undefined) { - html+= '' - + '
' - + ' ' - + '
' - ; - } - html += '
'; - if(result.price !== undefined) { - html+= '
' + result.price + '
'; - } - if(result.title !== undefined) { - html+= '
' + result.title + '
'; - } - if(result.description !== undefined) { - html+= '
' + result.description + '
'; - } - html += '' - + '
' - + '
' - ; - }); - html += '' - + '
' - ; - } - }); - if(response.resultPage) { - html += '' - + '' - + response.resultPage.text - + ''; - } - return html; - } - return false; - }, - simple: function(response) { - var - html = '' - ; - if(response.results !== undefined) { - - // each result - $.each(response.results, function(index, result) { - html += ''; - if(result.image !== undefined) { - html+= '' - + '
' - + ' ' - + '
' - ; - } - html += '
'; - if(result.price !== undefined) { - html+= '
' + result.price + '
'; - } - if(result.title !== undefined) { - html+= '
' + result.title + '
'; - } - if(result.description !== undefined) { - html+= '
' + result.description + '
'; - } - html += '' - + '
' - + '
' - ; - }); - - if(response.resultPage) { - html += '' - + '' - + response.resultPage.text - + ''; - } - return html; - } - return false; - } - } -}; - -})( jQuery, window , document ); -/* - * # Semantic - Shape - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.shape = function(parameters) { - var - $allModules = $(this), - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - invokedResponse - ; - - $allModules - .each(function() { - var - moduleSelector = $allModules.selector || '', - settings = $.extend(true, {}, $.fn.shape.settings, parameters), - - // internal aliases - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - className = settings.className, - - // define namespaces for modules - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - // selector cache - $module = $(this), - $sides = $module.find(selector.sides), - $side = $module.find(selector.side), - - // private variables - $activeSide, - $nextSide, - - // standard module - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing module for', element); - module.set.defaultSide(); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module for', element); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache for', element); - $module = $(element); - $sides = $(this).find(selector.shape); - $side = $(this).find(selector.side); - }, - - repaint: function() { - module.verbose('Forcing repaint event'); - var - shape = $sides.get(0) || document.createElement('div'), - fakeAssignment = shape.offsetWidth - ; - }, - - animate: function(propertyObject, callback) { - module.verbose('Animating box with properties', propertyObject); - callback = callback || function(event) { - module.verbose('Executing animation callback'); - if(event !== undefined) { - event.stopPropagation(); - } - module.reset(); - module.set.active(); - }; - if(settings.useCSS) { - if(module.get.transitionEvent()) { - module.verbose('Starting CSS animation'); - $module - .addClass(className.animating) - ; - module.set.stageSize(); - module.repaint(); - $module - .addClass(className.css) - ; - $activeSide - .addClass(className.hidden) - ; - $sides - .css(propertyObject) - .one(module.get.transitionEvent(), callback) - ; - } - else { - callback(); - } - } - else { - // not yet supported until .animate() is extended to allow RotateX/Y - module.verbose('Starting javascript animation'); - $module - .addClass(className.animating) - .removeClass(className.css) - ; - module.set.stageSize(); - module.repaint(); - $activeSide - .animate({ - opacity: 0 - }, settings.duration, settings.easing) - ; - $sides - .animate(propertyObject, settings.duration, settings.easing, callback) - ; - } - }, - - queue: function(method) { - module.debug('Queueing animation of', method); - $sides - .one(module.get.transitionEvent(), function() { - module.debug('Executing queued animation'); - setTimeout(function(){ - $module.shape(method); - }, 0); - }) - ; - }, - - reset: function() { - module.verbose('Animating states reset'); - $module - .removeClass(className.css) - .removeClass(className.animating) - .attr('style', '') - .removeAttr('style') - ; - // removeAttr style does not consistently work in safari - $sides - .attr('style', '') - .removeAttr('style') - ; - $side - .attr('style', '') - .removeAttr('style') - .removeClass(className.hidden) - ; - $nextSide - .removeClass(className.animating) - .attr('style', '') - .removeAttr('style') - ; - }, - - is: { - animating: function() { - return $module.hasClass(className.animating); - } - }, - - get: { - - transform: { - up: function() { - var - translate = { - y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - z: -($activeSide.outerHeight() / 2) - } - ; - return { - transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)' - }; - }, - - down: function() { - var - translate = { - y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - z: -($activeSide.outerHeight() / 2) - } - ; - return { - transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)' - }; - }, - - left: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2), - z : -($activeSide.outerWidth() / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)' - }; - }, - - right: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2), - z : -($activeSide.outerWidth() / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)' - }; - }, - - over: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) rotateY(180deg)' - }; - }, - - back: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)' - }; - } - }, - - transitionEvent: function() { - var - element = document.createElement('element'), - transitions = { - 'transition' :'transitionend', - 'OTransition' :'oTransitionEnd', - 'MozTransition' :'transitionend', - 'WebkitTransition' :'webkitTransitionEnd' - }, - transition - ; - for(transition in transitions){ - if( element.style[transition] !== undefined ){ - return transitions[transition]; - } - } - }, - - nextSide: function() { - return ( $activeSide.next(selector.side).size() > 0 ) - ? $activeSide.next(selector.side) - : $module.find(selector.side).first() - ; - } - - }, - - set: { - - defaultSide: function() { - $activeSide = $module.find('.' + settings.className.active); - $nextSide = ( $activeSide.next(selector.side).size() > 0 ) - ? $activeSide.next(selector.side) - : $module.find(selector.side).first() - ; - module.verbose('Active side set to', $activeSide); - module.verbose('Next side set to', $nextSide); - }, - - stageSize: function() { - var - stage = { - width : $nextSide.outerWidth(), - height : $nextSide.outerHeight() - } - ; - module.verbose('Resizing stage to fit new content', stage); - $module - .css({ - width : stage.width, - height : stage.height - }) - ; - }, - - nextSide: function(selector) { - $nextSide = $module.find(selector); - if($nextSide.size() === 0) { - module.error(error.side); - } - module.verbose('Next side manually set to', $nextSide); - }, - - active: function() { - module.verbose('Setting new side to active', $nextSide); - $side - .removeClass(className.active) - ; - $nextSide - .addClass(className.active) - ; - $.proxy(settings.onChange, $nextSide)(); - module.set.defaultSide(); - } - }, - - flip: { - - up: function() { - module.debug('Flipping up', $nextSide); - if( !module.is.animating() ) { - module.stage.above(); - module.animate( module.get.transform.up() ); - } - else { - module.queue('flip up'); - } - }, - - down: function() { - module.debug('Flipping down', $nextSide); - if( !module.is.animating() ) { - module.stage.below(); - module.animate( module.get.transform.down() ); - } - else { - module.queue('flip down'); - } - }, - - left: function() { - module.debug('Flipping left', $nextSide); - if( !module.is.animating() ) { - module.stage.left(); - module.animate(module.get.transform.left() ); - } - else { - module.queue('flip left'); - } - }, - - right: function() { - module.debug('Flipping right', $nextSide); - if( !module.is.animating() ) { - module.stage.right(); - module.animate(module.get.transform.right() ); - } - else { - module.queue('flip right'); - } - }, - - over: function() { - module.debug('Flipping over', $nextSide); - if( !module.is.animating() ) { - module.stage.behind(); - module.animate(module.get.transform.over() ); - } - else { - module.queue('flip over'); - } - }, - - back: function() { - module.debug('Flipping back', $nextSide); - if( !module.is.animating() ) { - module.stage.behind(); - module.animate(module.get.transform.back() ); - } - else { - module.queue('flip back'); - } - } - - }, - - stage: { - - above: function() { - var - box = { - origin : (($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - depth : { - active : ($nextSide.outerHeight() / 2), - next : ($activeSide.outerHeight() / 2) - } - } - ; - module.verbose('Setting the initial animation position as above', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'top' : box.origin + 'px', - 'transform' : 'rotateX(90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - below: function() { - var - box = { - origin : (($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - depth : { - active : ($nextSide.outerHeight() / 2), - next : ($activeSide.outerHeight() / 2) - } - } - ; - module.verbose('Setting the initial animation position as below', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'top' : box.origin + 'px', - 'transform' : 'rotateX(-90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - left: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as left', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(-90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - right: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as left', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - behind: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as behind', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(-180deg)' - }) - ; - } - }, - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.shape.settings = { - - // module info - name : 'Shape', - - // debug content outputted to console - debug : true, - - // verbose debug output - verbose : true, - - // performance data output - performance: true, - - // event namespace - namespace : 'shape', - - // callback occurs on side change - beforeChange : function() {}, - onChange : function() {}, - - // use css animation (currently only true is supported) - useCSS : true, - - // animation duration (useful only with future js animations) - duration : 1000, - easing : 'easeInOutQuad', - - // possible errors - error: { - side : 'You tried to switch to a side that does not exist.', - method : 'The method you called is not defined' - }, - - // classnames used - className : { - css : 'css', - animating : 'animating', - hidden : 'hidden', - active : 'active' - }, - - // selectors used - selector : { - sides : '.sides', - side : '.side' - } - -}; - - -})( jQuery, window , document ); -/* - * # Semantic - Dropdown - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.sidebar = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - invokedResponse - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.sidebar.settings, parameters) - : $.extend({}, $.fn.sidebar.settings), - - selector = settings.selector, - className = settings.className, - namespace = settings.namespace, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - - $body = $('body'), - $head = $('head'), - $style = $('style[title=' + namespace + ']'), - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - module.debug('Initializing sidebar', $module); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module for', $module); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache'); - $style = $('style[title=' + namespace + ']'); - }, - - attachEvents: function(selector, event) { - var - $toggle = $(selector) - ; - event = $.isFunction(module[event]) - ? module[event] - : module.toggle - ; - if($toggle.size() > 0) { - module.debug('Attaching sidebar events to element', selector, event); - $toggle - .off(eventNamespace) - .on('click' + eventNamespace, event) - ; - } - else { - module.error(error.notFound); - } - }, - - - show: function() { - module.debug('Showing sidebar'); - if(module.is.closed()) { - if(!settings.overlay) { - module.pushPage(); - } - module.set.active(); - } - else { - module.debug('Sidebar is already visible'); - } - }, - - hide: function() { - if(module.is.open()) { - if(!settings.overlay) { - module.pullPage(); - module.remove.pushed(); - } - module.remove.active(); - } - }, - - toggle: function() { - if(module.is.closed()) { - module.show(); - } - else { - module.hide(); - } - }, - - pushPage: function() { - var - direction = module.get.direction(), - distance = (module.is.vertical()) - ? $module.outerHeight() - : $module.outerWidth() - ; - if(settings.useCSS) { - module.debug('Using CSS to animate body'); - module.add.bodyCSS(direction, distance); - module.set.pushed(); - } - else { - module.animatePage(direction, distance, module.set.pushed); - } - }, - - pullPage: function() { - var - direction = module.get.direction() - ; - if(settings.useCSS) { - module.debug('Resetting body position css'); - module.remove.bodyCSS(); - } - else { - module.debug('Resetting body position using javascript'); - module.animatePage(direction, 0); - } - module.remove.pushed(); - }, - - animatePage: function(direction, distance) { - var - animateSettings = {} - ; - animateSettings['padding-' + direction] = distance; - module.debug('Using javascript to animate body', animateSettings); - $body - .animate(animateSettings, settings.duration, module.set.pushed) - ; - }, - - add: { - bodyCSS: function(direction, distance) { - var - style - ; - if(direction !== className.bottom) { - style = '' - + '' - ; - } - $head.append(style); - module.debug('Adding body css to head', $style); - } - }, - - remove: { - bodyCSS: function() { - module.debug('Removing body css styles', $style); - module.refresh(); - $style.remove(); - }, - active: function() { - $module.removeClass(className.active); - }, - pushed: function() { - module.verbose('Removing body push state', module.get.direction()); - $body - .removeClass(className[ module.get.direction() ]) - .removeClass(className.pushed) - ; - } - }, - - set: { - active: function() { - $module.addClass(className.active); - }, - pushed: function() { - module.verbose('Adding body push state', module.get.direction()); - $body - .addClass(className[ module.get.direction() ]) - .addClass(className.pushed) - ; - } - }, - - get: { - direction: function() { - if($module.hasClass(className.top)) { - return className.top; - } - else if($module.hasClass(className.right)) { - return className.right; - } - else if($module.hasClass(className.bottom)) { - return className.bottom; - } - else { - return className.left; - } - }, - transitionEvent: function() { - var - element = document.createElement('element'), - transitions = { - 'transition' :'transitionend', - 'OTransition' :'oTransitionEnd', - 'MozTransition' :'transitionend', - 'WebkitTransition' :'webkitTransitionEnd' - }, - transition - ; - for(transition in transitions){ - if( element.style[transition] !== undefined ){ - return transitions[transition]; - } - } - } - }, - - is: { - open: function() { - return $module.is(':animated') || $module.hasClass(className.active); - }, - closed: function() { - return !module.is.open(); - }, - vertical: function() { - return $module.hasClass(className.top); - } - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.sidebar.settings = { - - name : 'Sidebar', - namespace : 'sidebar', - - verbose : true, - debug : true, - performance : true, - - useCSS : true, - overlay : false, - duration : 300, - - side : 'left', - - onChange : function(){}, - onShow : function(){}, - onHide : function(){}, - - className: { - active : 'active', - pushed : 'pushed', - top : 'top', - left : 'left', - right : 'right', - bottom : 'bottom' - }, - - error : { - method : 'The method you called is not defined.', - notFound : 'There were no elements that matched the specified selector' - } - -}; - -})( jQuery, window , document ); -/* - * # Semantic - Tab - * http://github.com/jlukic/semantic-ui/ - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - - -;(function ($, window, document, undefined) { - - $.fn.tab = function(parameters) { - - var - settings = $.extend(true, {}, $.fn.tab.settings, parameters), - - $module = $(this), - $tabs = $(settings.context).find(settings.selector.tabs), - - moduleSelector = $module.selector || '', - - cache = {}, - firstLoad = true, - recursionDepth = 0, - - activeTabPath, - parameterArray, - historyEvent, - - element = this, - time = new Date().getTime(), - performance = [], - - className = settings.className, - metadata = settings.metadata, - error = settings.error, - - eventNamespace = '.' + settings.namespace, - moduleNamespace = 'module-' + settings.namespace, - - instance = $module.data(moduleNamespace), - - query = arguments[0], - methodInvoked = (instance !== undefined && typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - module, - invokedResponse - ; - - module = { - - initialize: function() { - module.debug('Initializing Tabs', $module); - - // set up automatic routing - if(settings.auto) { - module.verbose('Setting up automatic tab retrieval from server'); - settings.apiSettings = { - url: settings.path + '/{$tab}' - }; - } - - // attach history events - if(settings.history) { - if( $.address === undefined ) { - module.error(error.state); - return false; - } - else if(settings.path === false) { - module.error(error.path); - return false; - } - else { - module.verbose('Address library found adding state change event'); - $.address - .state(settings.path) - .unbind('change') - .bind('change', module.event.history.change) - ; - } - } - - // attach events if navigation wasn't set to window - if( !$.isWindow( element ) ) { - module.debug('Attaching tab activation events to element', $module); - $module - .on('click' + eventNamespace, module.event.click) - ; - } - module.instantiate(); - }, - - instantiate: function () { - module.verbose('Storing instance of module', module); - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.debug('Destroying tabs', $module); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - }, - - event: { - click: function(event) { - module.debug('Navigation clicked'); - var - tabPath = $(this).data(metadata.tab) - ; - if(tabPath !== undefined) { - if(settings.history) { - $.address.value(tabPath); - } - else { - module.changeTab(tabPath); - } - event.preventDefault(); - } - else { - module.debug('No tab specified'); - } - }, - history: { - change: function(event) { - var - tabPath = event.pathNames.join('/') || module.get.initialPath(), - pageTitle = settings.templates.determineTitle(tabPath) || false - ; - module.debug('History change event', tabPath, event); - historyEvent = event; - if(tabPath !== undefined) { - module.changeTab(tabPath); - } - if(pageTitle) { - $.address.title(pageTitle); - } - } - } - }, - - refresh: function() { - if(activeTabPath) { - module.debug('Refreshing tab', activeTabPath); - module.changeTab(activeTabPath); - } - }, - - cache: { - - read: function(cacheKey) { - return (cacheKey !== undefined) - ? cache[cacheKey] - : false - ; - }, - add: function(cacheKey, content) { - cacheKey = cacheKey || activeTabPath; - module.debug('Adding cached content for', cacheKey); - cache[cacheKey] = content; - }, - remove: function(cacheKey) { - cacheKey = cacheKey || activeTabPath; - module.debug('Removing cached content for', cacheKey); - delete cache[cacheKey]; - } - }, - - changeTab: function(tabPath) { - var - pushStateAvailable = (window.history && window.history.pushState), - shouldIgnoreLoad = (pushStateAvailable && settings.ignoreFirstLoad && firstLoad), - remoteContent = (settings.auto || $.isPlainObject(settings.apiSettings) ), - // only get default path if not remote content - pathArray = (remoteContent && !shouldIgnoreLoad) - ? module.utilities.pathToArray(tabPath) - : module.get.defaultPathArray(tabPath) - ; - tabPath = module.utilities.arrayToPath(pathArray); - module.deactivate.all(); - $.each(pathArray, function(index, tab) { - var - currentPathArray = pathArray.slice(0, index + 1), - currentPath = module.utilities.arrayToPath(currentPathArray), - - isTab = module.is.tab(currentPath), - isLastIndex = (index + 1 == pathArray.length), - - $tab = module.get.tabElement(currentPath), - nextPathArray, - nextPath, - isLastTab - ; - module.verbose('Looking for tab', tab); - if(isTab) { - module.verbose('Tab was found', tab); - - // scope up - activeTabPath = currentPath; - parameterArray = module.utilities.filterArray(pathArray, currentPathArray); - - if(isLastIndex) { - isLastTab = true; - } - else { - nextPathArray = pathArray.slice(0, index + 2); - nextPath = module.utilities.arrayToPath(nextPathArray); - isLastTab = ( !module.is.tab(nextPath) ); - if(isLastTab) { - module.verbose('Tab parameters found', nextPathArray); - } - } - if(isLastTab && remoteContent) { - if(!shouldIgnoreLoad) { - module.activate.navigation(currentPath); - module.content.fetch(currentPath, tabPath); - } - else { - module.debug('Ignoring remote content on first tab load', currentPath); - firstLoad = false; - module.cache.add(tabPath, $tab.html()); - module.activate.all(currentPath); - $.proxy(settings.onTabInit, $tab)(currentPath, parameterArray, historyEvent); - $.proxy(settings.onTabLoad, $tab)(currentPath, parameterArray, historyEvent); - } - return false; - } - else { - module.debug('Opened local tab', currentPath); - module.activate.all(currentPath); - $.proxy(settings.onTabLoad, $tab)(currentPath, parameterArray, historyEvent); - } - } - else { - module.error(error.missingTab, tab); - return false; - } - }); - }, - - content: { - - fetch: function(tabPath, fullTabPath) { - var - $tab = module.get.tabElement(tabPath), - apiSettings = { - dataType : 'html', - stateContext : $tab, - success : function(response) { - module.cache.add(fullTabPath, response); - module.content.update(tabPath, response); - if(tabPath == activeTabPath) { - module.debug('Content loaded', tabPath); - module.activate.tab(tabPath); - } - else { - module.debug('Content loaded in background', tabPath); - } - $.proxy(settings.onTabInit, $tab)(tabPath, parameterArray, historyEvent); - $.proxy(settings.onTabLoad, $tab)(tabPath, parameterArray, historyEvent); - }, - urlData: { tab: fullTabPath } - }, - request = $tab.data(metadata.promise) || false, - existingRequest = ( request && request.state() === 'pending' ), - requestSettings, - cachedContent - ; - - fullTabPath = fullTabPath || tabPath; - cachedContent = module.cache.read(fullTabPath); - - if(settings.cache && cachedContent) { - module.debug('Showing existing content', fullTabPath); - module.content.update(tabPath, cachedContent); - module.activate.tab(tabPath); - $.proxy(settings.onTabLoad, $tab)(tabPath, parameterArray, historyEvent); - } - else if(existingRequest) { - module.debug('Content is already loading', fullTabPath); - $tab - .addClass(className.loading) - ; - } - else if($.api !== undefined) { - console.log(settings.apiSettings); - requestSettings = $.extend(true, { headers: { 'X-Remote': true } }, settings.apiSettings, apiSettings); - module.debug('Retrieving remote content', fullTabPath, requestSettings); - $.api( requestSettings ); - } - else { - module.error(error.api); - } - }, - - update: function(tabPath, html) { - module.debug('Updating html for', tabPath); - var - $tab = module.get.tabElement(tabPath) - ; - $tab - .html(html) - ; - } - }, - - activate: { - all: function(tabPath) { - module.activate.tab(tabPath); - module.activate.navigation(tabPath); - }, - tab: function(tabPath) { - var - $tab = module.get.tabElement(tabPath) - ; - module.verbose('Showing tab content for', $tab); - $tab.addClass(className.active); - }, - navigation: function(tabPath) { - var - $navigation = module.get.navElement(tabPath) - ; - module.verbose('Activating tab navigation for', $navigation, tabPath); - $navigation.addClass(className.active); - } - }, - - deactivate: { - all: function() { - module.deactivate.navigation(); - module.deactivate.tabs(); - }, - navigation: function() { - $module - .removeClass(className.active) - ; - }, - tabs: function() { - $tabs - .removeClass(className.active + ' ' + className.loading) - ; - } - }, - - is: { - tab: function(tabName) { - return (tabName !== undefined) - ? ( module.get.tabElement(tabName).size() > 0 ) - : false - ; - } - }, - - get: { - initialPath: function() { - return $module.eq(0).data(metadata.tab) || $tabs.eq(0).data(metadata.tab); - }, - path: function() { - return $.address.value(); - }, - // adds default tabs to tab path - defaultPathArray: function(tabPath) { - return module.utilities.pathToArray( module.get.defaultPath(tabPath) ); - }, - defaultPath: function(tabPath) { - var - $defaultNav = $module.filter('[data-' + metadata.tab + '^="' + tabPath + '/"]').eq(0), - defaultTab = $defaultNav.data(metadata.tab) || false - ; - if( defaultTab ) { - module.debug('Found default tab', defaultTab); - if(recursionDepth < settings.maxDepth) { - recursionDepth++; - return module.get.defaultPath(defaultTab); - } - module.error(error.recursion); - } - else { - module.debug('No default tabs found for', tabPath, $tabs); - } - recursionDepth = 0; - return tabPath; - }, - navElement: function(tabPath) { - tabPath = tabPath || activeTabPath; - return $module.filter('[data-' + metadata.tab + '="' + tabPath + '"]'); - }, - tabElement: function(tabPath) { - var - $fullPathTab, - $simplePathTab, - tabPathArray, - lastTab - ; - tabPath = tabPath || activeTabPath; - tabPathArray = module.utilities.pathToArray(tabPath); - lastTab = module.utilities.last(tabPathArray); - $fullPathTab = $tabs.filter('[data-' + metadata.tab + '="' + lastTab + '"]'); - $simplePathTab = $tabs.filter('[data-' + metadata.tab + '="' + tabPath + '"]'); - return ($fullPathTab.size() > 0) - ? $fullPathTab - : $simplePathTab - ; - }, - tab: function() { - return activeTabPath; - } - }, - - utilities: { - filterArray: function(keepArray, removeArray) { - return $.grep(keepArray, function(keepValue) { - return ( $.inArray(keepValue, removeArray) == -1); - }); - }, - last: function(array) { - return $.isArray(array) - ? array[ array.length - 1] - : false - ; - }, - pathToArray: function(pathName) { - if(pathName === undefined) { - pathName = activeTabPath; - } - return typeof pathName == 'string' - ? pathName.split('/') - : [pathName] - ; - }, - arrayToPath: function(pathArray) { - return $.isArray(pathArray) - ? pathArray.join('/') - : false - ; - } - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; - - }; - - // shortcut for tabbed content with no defined navigation - $.tab = function(settings) { - $(window).tab(settings); - }; - - $.fn.tab.settings = { - - name : 'Tab', - verbose : true, - debug : true, - performance : true, - namespace : 'tab', - - // only called first time a tab's content is loaded (when remote source) - onTabInit : function(tabPath, parameterArray, historyEvent) {}, - // called on every load - onTabLoad : function(tabPath, parameterArray, historyEvent) {}, - - templates : { - determineTitle: function(tabArray) {} - }, - - // uses pjax style endpoints fetching content from same url with remote-content headers - auto : false, - history : false, - path : false, - - context : 'body', - - // max depth a tab can be nested - maxDepth : 25, - // dont load content on first load - ignoreFirstLoad : false, - // load tab content new every tab click - alwaysRefresh : false, - // cache the content requests to pull locally - cache : true, - // settings for api call - apiSettings : false, - - error: { - api : 'You attempted to load content without API module', - method : 'The method you called is not defined', - missingTab : 'Tab cannot be found', - noContent : 'The tab you specified is missing a content url.', - path : 'History enabled, but no path was specified', - recursion : 'Max recursive depth reached', - state : 'The state library has not been initialized' - }, - - metadata : { - tab : 'tab', - loaded : 'loaded', - promise: 'promise' - }, - - className : { - loading : 'loading', - active : 'active' - }, - - selector : { - tabs : '.ui.tab' - } - - }; - -})( jQuery, window , document ); - -/* - * # Semantic - Transition - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.transition = function() { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - moduleArguments = arguments, - query = moduleArguments[0], - queryArguments = [].slice.call(arguments, 1), - methodInvoked = (typeof query === 'string'), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - invokedResponse - ; - $allModules - .each(function() { - var - $module = $(this), - element = this, - - // set at run time - settings, - instance, - - error, - className, - metadata, - animationEnd, - animationName, - - namespace, - moduleNamespace, - module - ; - - module = { - - initialize: function() { - // get settings - settings = module.get.settings.apply(element, moduleArguments); - module.verbose('Converted arguments into settings object', settings); - - // set shortcuts - error = settings.error; - className = settings.className; - namespace = settings.namespace; - metadata = settings.metadata; - moduleNamespace = 'module-' + namespace; - - animationEnd = module.get.animationEvent(); - animationName = module.get.animationName(); - - instance = $module.data(moduleNamespace); - - if(instance === undefined) { - module.instantiate(); - } - if(methodInvoked) { - methodInvoked = module.invoke(query); - } - // no internal method was found matching query or query not made - if(methodInvoked === false) { - module.animate(); - } - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module for', element); - $module - .removeData(moduleNamespace) - ; - }, - - animate: function(overrideSettings) { - settings = overrideSettings || settings; - module.debug('Preparing animation', settings.animation); - if(module.is.animating()) { - if(settings.queue) { - module.queue(settings.animation); - } - return false; - } - module.save.conditions(); - module.set.duration(settings.duration); - module.set.animating(); - module.repaint(); - $module - .addClass(className.transition) - .addClass(settings.animation) - .one(animationEnd, module.complete) - ; - if(!module.has.direction() && module.can.transition()) { - module.set.direction(); - } - if(!module.can.animate()) { - module.restore.conditions(); - module.error(error.noAnimation); - return false; - } - module.show(); - module.debug('Starting tween', settings.animation, $module.attr('class')); - }, - - queue: function(animation) { - module.debug('Queueing animation of', animation); - instance.queuing = true; - $module - .one(animationEnd, function() { - instance.queuing = false; - module.animate.apply(this, settings); - }) - ; - }, - - complete: function () { - module.verbose('CSS animation complete', settings.animation); - if(!module.is.looping()) { - if($module.hasClass(className.outward)) { - module.restore.conditions(); - module.hide(); - } - else if($module.hasClass(className.inward)) { - module.restore.conditions(); - module.show(); - } - else { - module.restore.conditions(); - } - module.remove.animating(); - } - $.proxy(settings.complete, this)(); - }, - - repaint: function(fakeAssignment) { - module.verbose('Forcing repaint event'); - fakeAssignment = element.offsetWidth; - }, - - has: { - direction: function(animation) { - animation = animation || settings.animation; - if( $module.hasClass(className.inward) || $module.hasClass(className.outward) ) { - return true; - } - } - }, - - set: { - - animating: function() { - $module.addClass(className.animating); - }, - - direction: function() { - if($module.is(':visible')) { - module.debug('Automatically determining the direction of animation', 'Outward'); - $module - .addClass(className.outward) - .removeClass(className.inward) - ; - } - else { - module.debug('Automatically determining the direction of animation', 'Inward'); - $module - .addClass(className.inward) - .removeClass(className.outward) - ; - } - }, - - looping: function() { - module.debug('Transition set to loop'); - $module - .addClass(className.looping) - ; - }, - - duration: function(duration) { - duration = duration || settings.duration; - duration = (typeof duration == 'number') - ? duration + 'ms' - : duration - ; - module.verbose('Setting animation duration', duration); - $module - .css({ - '-webkit-animation-duration': duration, - '-moz-animation-duration': duration, - '-ms-animation-duration': duration, - '-o-animation-duration': duration, - 'animation-duration': duration - }) - ; - } - }, - - save: { - conditions: function() { - module.cache = { - className : $module.attr('class'), - style : $module.attr('style') - }; - module.verbose('Saving original attributes', module.cache); - } - }, - - restore: { - conditions: function() { - if(typeof module.cache === undefined) { - module.error(error.cache); - return false; - } - if(module.cache.className) { - $module.attr('class', module.cache.className); - } - else { - $module.removeAttr('class'); - } - if(module.cache.style) { - $module.attr('style', module.cache.style); - } - else { - $module.removeAttr('style'); - } - if(module.is.looping()) { - module.remove.looping(); - } - module.verbose('Restoring original attributes', module.cache); - } - }, - - remove: { - - animating: function() { - $module.removeClass(className.animating); - }, - - looping: function() { - module.debug('Transitions are no longer looping'); - $module - .removeClass(className.looping) - ; - module.repaint(); - } - - }, - - get: { - - settings: function(animation, duration, complete) { - // single settings object - if($.isPlainObject(animation)) { - return $.extend(true, {}, $.fn.transition.settings, animation); - } - // all arguments provided - else if(typeof complete == 'function') { - return $.extend(true, {}, $.fn.transition.settings, { - animation : animation, - complete : complete, - duration : duration - }); - } - // only duration provided - else if(typeof duration == 'string' || typeof duration == 'number') { - return $.extend(true, {}, $.fn.transition.settings, { - animation : animation, - duration : duration - }); - } - // duration is actually settings object - else if(typeof duration == 'object') { - return $.extend(true, {}, $.fn.transition.settings, duration, { - animation : animation - }); - } - // duration is actually callback - else if(typeof duration == 'function') { - return $.extend(true, {}, $.fn.transition.settings, { - animation : animation, - complete : duration - }); - } - // only animation provided - else { - return $.extend(true, {}, $.fn.transition.settings, { - animation : animation - }); - } - return $.extend({}, $.fn.transition.settings); - }, - - animationName: function() { - var - element = document.createElement('div'), - animations = { - 'animation' :'animationName', - 'OAnimation' :'oAnimationName', - 'MozAnimation' :'mozAnimationName', - 'WebkitAnimation' :'webkitAnimationName' - }, - animation - ; - for(animation in animations){ - if( element.style[animation] !== undefined ){ - module.verbose('Determining animation vendor name property', animations[animation]); - return animations[animation]; - } - } - return false; - }, - - animationEvent: function() { - var - element = document.createElement('div'), - animations = { - 'animation' :'animationend', - 'OAnimation' :'oAnimationEnd', - 'MozAnimation' :'mozAnimationEnd', - 'WebkitAnimation' :'webkitAnimationEnd' - }, - animation - ; - for(animation in animations){ - if( element.style[animation] !== undefined ){ - module.verbose('Determining animation vendor end event', animations[animation]); - return animations[animation]; - } - } - return false; - } - - }, - - can: { - animate: function() { - if($module.css(animationName) !== 'none') { - module.debug('CSS definition found'); - return true; - } - else { - module.debug('Unable to find css definition'); - return false; - } - }, - transition: function() { - var - $clone = $('
').addClass( $module.attr('class') ).appendTo($('body')), - currentAnimation = $clone.css(animationName), - inAnimation = $clone.addClass(className.inward).css(animationName) - ; - if(currentAnimation != inAnimation) { - module.debug('In/out transitions exist'); - $clone.remove(); - return true; - } - else { - module.debug('Static animation found'); - $clone.remove(); - return false; - } - } - }, - - is: { - animating: function() { - return $module.hasClass(className.animating); - }, - looping: function() { - return $module.hasClass(className.looping); - }, - visible: function() { - return $module.is(':visible'); - } - }, - - hide: function() { - module.verbose('Hiding element'); - $module - .removeClass(className.visible) - .addClass(className.transition) - .addClass(className.hidden) - ; - module.repaint(); - }, - show: function() { - module.verbose('Showing element'); - $module - .removeClass(className.hidden) - .addClass(className.transition) - .addClass(className.visible) - ; - module.repaint(); - }, - - start: function() { - module.verbose('Starting animation'); - $module.removeClass(className.disabled); - }, - - stop: function() { - module.debug('Stopping animation'); - $module.addClass(className.disabled); - }, - - toggle: function() { - module.debug('Toggling play status'); - $module.toggleClass(className.disabled); - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found || false; - } - }; - module.initialize(); - }) - ; - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.transition.settings = { - - // module info - name : 'Transition', - - // debug content outputted to console - debug : false, - - // verbose debug output - verbose : true, - - // performance data output - performance : true, - - // event namespace - namespace : 'transition', - - // animation complete event - complete : function() {}, - - // animation duration - animation : 'fade', - duration : '700ms', - - // queue up animations - queue : true, - - className : { - animating : 'animating', - disabled : 'disabled', - hidden : 'hidden', - inward : 'in', - loading : 'loading', - looping : 'looping', - outward : 'out', - transition : 'ui transition', - visible : 'visible' - }, - - // possible errors - error: { - noAnimation : 'There is no css animation matching the one you specified.', - method : 'The method you called is not defined' - } - -}; - - -})( jQuery, window , document ); - -/* ****************************** - Module - Video - Author: Jack Lukic - - This is a video playlist and video embed plugin which helps - provide helpers for adding embed code for vimeo and youtube and - abstracting event handlers for each library - -****************************** */ - -;(function ($, window, document, undefined) { - -$.fn.video = function(parameters) { - - var - $allModules = $(this), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - invokedResponse - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.video.settings, parameters) - : $.extend({}, $.fn.video.settings), - - selector = settings.selector, - className = settings.className, - error = settings.error, - metadata = settings.metadata, - namespace = settings.namespace, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $placeholder = $module.find(selector.placeholder), - $playButton = $module.find(selector.playButton), - $embed = $module.find(selector.embed), - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - module.debug('Initializing video'); - $placeholder - .on('click' + eventNamespace, module.play) - ; - $playButton - .on('click' + eventNamespace, module.play) - ; - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous instance of video'); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - $placeholder - .off(eventNamespace) - ; - $playButton - .off(eventNamespace) - ; - }, - - // sets new video - change: function(source, id, url) { - module.debug('Changing video to ', source, id, url); - $module - .data(metadata.source, source) - .data(metadata.id, id) - .data(metadata.url, url) - ; - settings.onChange(); - }, - - // clears video embed - reset: function() { - module.debug('Clearing video embed and showing placeholder'); - $module - .removeClass(className.active) - ; - $embed - .html(' ') - ; - $placeholder - .show() - ; - settings.onReset(); - }, - - // plays current video - play: function() { - module.debug('Playing video'); - var - source = $module.data(metadata.source) || false, - url = $module.data(metadata.url) || false, - id = $module.data(metadata.id) || false - ; - $embed - .html( module.generate.html(source, id, url) ) - ; - $module - .addClass(className.active) - ; - settings.onPlay(); - }, - - generate: { - // generates iframe html - html: function(source, id, url) { - module.debug('Generating embed html'); - var - width = (settings.width == 'auto') - ? $module.width() - : settings.width, - height = (settings.height == 'auto') - ? $module.height() - : settings.height, - html - ; - if(source && id) { - if(source == 'vimeo') { - html = '' - + '' - ; - } - else if(source == 'youtube') { - html = '' - + '' - ; - } - } - else if(url) { - html = '' - + '' - ; - } - else { - module.error(error.noVideo); - } - return html; - }, - - // generate url parameters - url: function(source) { - var - api = (settings.api) - ? 1 - : 0, - autoplay = (settings.autoplay) - ? 1 - : 0, - hd = (settings.hd) - ? 1 - : 0, - showUI = (settings.showUI) - ? 1 - : 0, - // opposite used for some params - hideUI = !(settings.showUI) - ? 1 - : 0, - url = '' - ; - if(source == 'vimeo') { - url = '' - + 'api=' + api - + '&title=' + showUI - + '&byline=' + showUI - + '&portrait=' + showUI - + '&autoplay=' + autoplay - ; - if(settings.color) { - url += '&color=' + settings.color; - } - } - if(source == 'ustream') { - url = '' - + 'autoplay=' + autoplay - ; - if(settings.color) { - url += '&color=' + settings.color; - } - } - else if(source == 'youtube') { - url = '' - + 'enablejsapi=' + api - + '&autoplay=' + autoplay - + '&autohide=' + hideUI - + '&hq=' + hd - + '&modestbranding=1' - ; - if(settings.color) { - url += '&color=' + settings.color; - } - } - return url; - } - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return false; - } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; - return false; - } - else { - module.error(error.method); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(invokedResponse)) { - invokedResponse.push(response); - } - else if(typeof invokedResponse == 'string') { - invokedResponse = [invokedResponse, response]; - } - else if(response !== undefined) { - invokedResponse = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.video.settings = { - - name : 'Video', - namespace : 'video', - - debug : true, - verbose : true, - performance : true, - - metadata : { - source : 'source', - id : 'id', - url : 'url' - }, - - onPlay : function(){}, - onReset : function(){}, - onChange : function(){}, - - // callbacks not coded yet (needs to use jsapi) - onPause : function() {}, - onStop : function() {}, - - width : 'auto', - height : 'auto', - - autoplay : false, - color : '#442359', - hd : true, - showUI : false, - api : true, - - error : { - noVideo : 'No video specified', - method : 'The method you called is not defined' - }, - - className : { - active : 'active' - }, - - selector : { - embed : '.embed', - placeholder : '.placeholder', - playButton : '.play' - } -}; - - -})( jQuery, window , document ); diff --git a/static/semantic-ui/packaged/javascript/semantic.min.js b/static/semantic-ui/packaged/javascript/semantic.min.js deleted file mode 100644 index 192c3a2..0000000 --- a/static/semantic-ui/packaged/javascript/semantic.min.js +++ /dev/null @@ -1,15 +0,0 @@ -/** # Semantic UI -* Version: 0.6.1 -* http://github.com/jlukic/semantic-ui -* -* -* Copyright 2013 Contributors -* Released under the MIT license -* http://opensource.org/licenses/MIT -* -* Release Date: 10/15/2013 -*/ -!function(a,b,c,d){a.fn.accordion=function(b){var c,e=a(this),f=(new Date).getTime(),g=[],h=arguments[0],i="string"==typeof h,j=[].slice.call(arguments,1);return e.each(function(){var k,l=a.isPlainObject(b)?a.extend(!0,{},a.fn.accordion.settings,b):a.extend({},a.fn.accordion.settings),m=l.className,n=l.namespace,o=l.selector,p=l.error,q="."+n,r="module-"+n,s=e.selector||"",t=a(this),u=t.find(o.title),v=t.find(o.content),w=this,x=t.data(r);k={initialize:function(){k.debug("Initializing accordion with bound events",t),u.on("click"+q,k.event.click),k.instantiate()},instantiate:function(){x=k,t.data(r,k)},destroy:function(){k.debug("Destroying previous accordion for",t),t.removeData(r),u.off(q)},event:{click:function(){k.verbose("Title clicked",this);var b=a(this),c=u.index(b);k.toggle(c)},resetStyle:function(){k.verbose("Resetting styles on element",this),a(this).attr("style","").removeAttr("style").children().attr("style","").removeAttr("style")}},toggle:function(a){k.debug("Toggling content content at index",a);var b=u.eq(a),c=b.next(v),d=c.is(":visible");d?l.collapsible?k.close(a):k.debug("Cannot close accordion content collapsing is disabled"):k.open(a)},open:function(b){var c=u.eq(b),d=c.next(v),e=u.filter("."+m.active),f=e.next(u),g=e.size()>0;d.is(":animated")||(k.debug("Opening accordion content",c),l.exclusive&&g&&(e.removeClass(m.active),f.stop().children().animate({opacity:0},l.duration,k.event.resetStyle).end().slideUp(l.duration,l.easing,function(){f.removeClass(m.active).attr("style","").removeAttr("style").children().attr("style","").removeAttr("style")})),c.addClass(m.active),d.stop().children().attr("style","").removeAttr("style").end().slideDown(l.duration,l.easing,function(){d.addClass(m.active).attr("style","").removeAttr("style"),a.proxy(l.onOpen,d)(),a.proxy(l.onChange,d)()}))},close:function(b){var c=u.eq(b),d=c.next(v);k.debug("Closing accordion content",c),c.removeClass(m.active),d.removeClass(m.active).show().stop().children().animate({opacity:0},l.duration,k.event.resetStyle).end().slideUp(l.duration,l.easing,function(){d.attr("style","").removeAttr("style"),a.proxy(l.onClose,d)(),a.proxy(l.onChange,d)()})},setting:function(b,c){return k.debug("Changing setting",b,c),c===d?l[b]:(a.isPlainObject(b)?a.extend(!0,l,b):l[b]=c,void 0)},internal:function(b,c){return k.debug("Changing internal",b,c),c===d?k[b]:(a.isPlainObject(b)?a.extend(!0,k,b):k[b]=c,void 0)},debug:function(){l.debug&&(l.performance?k.performance.log(arguments):(k.debug=Function.prototype.bind.call(console.info,console,l.name+":"),k.debug.apply(console,arguments)))},verbose:function(){l.verbose&&l.debug&&(l.performance?k.performance.log(arguments):(k.verbose=Function.prototype.bind.call(console.info,console,l.name+":"),k.verbose.apply(console,arguments)))},error:function(){k.error=Function.prototype.bind.call(console.error,console,l.name+":"),k.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;l.performance&&(b=(new Date).getTime(),d=f||b,c=b-d,f=b,g.push({Element:w,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(k.performance.timer),k.performance.timer=setTimeout(k.performance.display,100)},display:function(){var b=l.name+":",c=0;f=!1,clearTimeout(k.performance.timer),a.each(g,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",s&&(b+=" '"+s+"'"),(console.group!==d||console.table!==d)&&g.length>0&&(console.groupCollapsed(b),console.table?console.table(g):a.each(g,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),g=[]}},invoke:function(b,e,f){var g,h,i;return e=e||j,f=w||f,"string"==typeof b&&x!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(x[e])&&c!=g)x=x[e];else{if(!a.isPlainObject(x[f])||c==g)return x[e]!==d?(h=x[e],!1):x[f]!==d?(h=x[f],!1):(k.error(p.method),!1);x=x[f]}})),a.isFunction(h)?i=h.apply(f,e):h!==d&&(i=h),a.isArray(c)?c.push(i):"string"==typeof c?c=[c,i]:i!==d&&(c=i),h}},i?(x===d&&k.initialize(),k.invoke(h)):(x!==d&&k.destroy(),k.initialize())}),c!==d?c:this},a.fn.accordion.settings={name:"Accordion",namespace:"accordion",debug:!0,verbose:!0,performance:!0,exclusive:!0,collapsible:!0,duration:500,easing:"easeInOutQuint",onOpen:function(){},onClose:function(){},onChange:function(){},error:{method:"The method you called is not defined"},className:{active:"active"},selector:{title:".title",content:".content"}},a.extend(a.easing,{easeInOutQuint:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b*b+c:d/2*((b-=2)*b*b*b*b+2)+c}})}(jQuery,window,document),function(a,b,c,d){a.api=a.fn.api=function(c){var e,f,g=a.extend(!0,{},a.api.settings,c),h="function"!=typeof this?this:a("
"),i=g.stateContext?a(g.stateContext):a(h),j="object"==typeof this?a(h):i,k=this,l=(new Date).getTime(),m=[],n=j.selector||"",o=g.namespace+"-module",p=g.className,q=g.metadata,r=g.error,s=j.data(o),t=arguments[0],u=s!==d&&"string"==typeof t,v=[].slice.call(arguments,1);return e={initialize:function(){var c,f,h,k,l,m,n=(new Date).getTime(),o={},s={};return g.serializeForm&&a(this).toJSON()!==d&&(o=e.get.formData(),e.debug("Adding form data to API Request",o),a.extend(!0,g.data,o)),c=a.proxy(g.beforeSend,j)(g),c===d||c?(k=e.get.url(e.get.templateURL()))?(h=a.Deferred().always(function(){g.stateContext&&i.removeClass(p.loading),a.proxy(g.complete,j)()}).done(function(b){e.debug("API request successful"),"json"==g.dataType?b.error!==d?a.proxy(g.failure,i)(b.error,g,j):a.isArray(b.errors)?a.proxy(g.failure,i)(b.errors[0],g,j):a.proxy(g.success,i)(b,g,j):a.proxy(g.success,i)(b,g,j)}).fail(function(b,c,f){var h,j=g.error[c]!==d?g.error[c]:f;if(b!==d)if(b.readyState!==d&&4==b.readyState){if(200!=b.status&&f!==d&&""!==f)e.error(k.statusMessage+f);else if("error"==c&&"json"==g.dataType)try{h=a.parseJSON(b.responseText),h&&h.error!==d&&(j=h.error)}catch(k){e.error(k.JSONParse)}i.removeClass(p.loading).addClass(p.error),g.errorLength>0&&setTimeout(function(){i.removeClass(p.error)},g.errorLength),e.debug("API Request error:",j),a.proxy(g.failure,i)(j,g,this)}else e.debug("Request Aborted (Most likely caused by page change)")}),a.extend(!0,s,g,{success:function(){},failure:function(){},complete:function(){},type:g.method||g.type,data:l,url:k,beforeSend:g.beforeXHR}),g.stateContext&&i.addClass(p.loading),g.progress&&(e.verbose("Adding progress events"),a.extend(!0,s,{xhr:function(){var c=new b.XMLHttpRequest;return c.upload.addEventListener("progress",function(b){var c;b.lengthComputable&&(c=Math.round(1e4*(b.loaded/b.total))/100+"%",a.proxy(g.progress,i)(c,b))},!1),c.addEventListener("progress",function(b){var c;b.lengthComputable&&(c=Math.round(1e4*(b.loaded/b.total))/100+"%",a.proxy(g.progress,i)(c,b))},!1),c}})),e.verbose("Creating AJAX request with settings: ",s),m=a.ajax(s).always(function(){f=g.loadingLength-((new Date).getTime()-n),g.loadingDelay=0>f?0:f}).done(function(a){var b=this;setTimeout(function(){h.resolveWith(b,[a])},g.loadingDelay)}).fail(function(a,b,c){var d=this;"abort"!=b?setTimeout(function(){h.rejectWith(d,[a,b,c])},g.loadingDelay):i.removeClass(p.error).removeClass(p.loading)}),g.stateContext&&j.data(q.promise,h).data(q.xhr,m),void 0):(e.error(r.missingURL),e.reset(),void 0):(e.error(r.beforeSend),e.reset(),void 0)},get:{formData:function(){return j.closest("form").toJSON()},templateURL:function(){var a,b=j.data(g.metadata.action)||g.action||!1;return b&&(e.debug("Creating url for: ",b),g.api[b]!==d?a=g.api[b]:e.error(r.missingAction)),g.url&&(a=g.url,e.debug("Getting url",a)),a},url:function(b,c){var f;return b&&(f=b.match(g.regExpTemplate),c=c||g.urlData,f&&(e.debug("Looking for URL variables",f),a.each(f,function(g,h){var i=h.substr(2,h.length-3),k=a.isPlainObject(c)&&c[i]!==d?c[i]:j.data(i)!==d?j.data(i):c[i];if(e.verbose("Looking for variable",i,j,j.data(i),c[i]),k===!1)e.debug("Removing variable from URL",f),b=b.replace("/"+h,"");else{if(k===d||!k)return e.error(r.missingParameter+i),b=!1,!1;b=b.replace(h,k)}}))),b}},reset:function(){j.data(q.promise,!1).data(q.xhr,!1),i.removeClass(p.error).removeClass(p.loading)},setting:function(b,c){return c===d?g[b]:(a.isPlainObject(b)?a.extend(!0,g,b):g[b]=c,void 0)},internal:function(b,c){return c===d?e[b]:(a.isPlainObject(b)?a.extend(!0,e,b):e[b]=c,void 0)},debug:function(){g.debug&&(g.performance?e.performance.log(arguments):(e.debug=Function.prototype.bind.call(console.info,console,g.name+":"),e.debug.apply(console,arguments)))},verbose:function(){g.verbose&&g.debug&&(g.performance?e.performance.log(arguments):(e.verbose=Function.prototype.bind.call(console.info,console,g.name+":"),e.verbose.apply(console,arguments)))},error:function(){e.error=Function.prototype.bind.call(console.error,console,g.name+":"),e.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;g.performance&&(b=(new Date).getTime(),d=l||b,c=b-d,l=b,m.push({Element:k,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(e.performance.timer),e.performance.timer=setTimeout(e.performance.display,100)},display:function(){var b=g.name+":",c=0;l=!1,clearTimeout(e.performance.timer),a.each(m,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",n&&(b+=" '"+n+"'"),(console.group!==d||console.table!==d)&&m.length>0&&(console.groupCollapsed(b),console.table?console.table(m):a.each(m,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),m=[]}},invoke:function(b,c,g){var h,i,j;return c=c||v,g=k||g,"string"==typeof b&&s!==d&&(b=b.split(/[\. ]/),h=b.length-1,a.each(b,function(c,f){var g=c!=h?f+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(s[f])&&c!=h)s=s[f];else{if(!a.isPlainObject(s[g])||c==h)return s[f]!==d?(i=s[f],!1):s[g]!==d?(i=s[g],!1):(e.error(r.method),!1);s=s[g]}})),a.isFunction(i)?j=i.apply(g,c):i!==d&&(j=i),a.isArray(f)?f.push(j):"string"==typeof f?f=[f,j]:j!==d&&(f=j),i}},u?(s===d&&e.initialize(),e.invoke(t)):(s!==d&&e.destroy(),e.initialize()),f!==d?f:this},a.fn.apiButton=function(b){return a(this).each(function(){var c,d=a(this),e=a(this).selector||"",f=a.isFunction(b)?a.extend(!0,{},a.api.settings,a.fn.apiButton.settings,{stateContext:this,success:b}):a.extend(!0,{},a.api.settings,a.fn.apiButton.settings,{stateContext:this},b);c={initialize:function(){f.context&&""!==e?a(f.context).on(e,"click."+f.namespace,c.click):d.on("click."+f.namespace,c.click)},click:function(){f.filter&&0!==a(this).filter(f.filter).size()||a.proxy(a.api,this)(f)}},c.initialize()}),this},a.api.settings={name:"API",namespace:"api",debug:!0,verbose:!0,performance:!0,api:{},beforeSend:function(a){return a},beforeXHR:function(){},success:function(){},complete:function(){},failure:function(){},progress:!1,error:{missingAction:"API action used but no url was defined",missingURL:"URL not specified for the API action",missingParameter:"Missing an essential URL parameter: ",timeout:"Your request timed out",error:"There was an error with your request",parseError:"There was an error parsing your request",JSONParse:"JSON could not be parsed during error handling",statusMessage:"Server gave an error: ",beforeSend:"The before send function has aborted the request",exitConditions:"API Request Aborted. Exit conditions met"},className:{loading:"loading",error:"error"},metadata:{action:"action",promise:"promise",xhr:"xhr"},regExpTemplate:/\{\$([A-z]+)\}/g,action:!1,url:!1,urlData:!1,serializeForm:!1,stateContext:!1,method:"get",data:{},dataType:"json",cache:!0,loadingLength:200,errorLength:2e3},a.fn.apiButton.settings={filter:".disabled, .loading",context:!1,stateContext:!1}}(jQuery,window,document),function(a,b,c,d){a.fn.colorize=function(b){var c=a.extend(!0,{},a.fn.colorize.settings,b),e=arguments||!1;return a(this).each(function(b){var f,g,h,i,j,k,l,m,n=a(this),o=a("")[0],p=a("")[0],q=a("")[0],r=new Image,s=c.colors,t=(c.paths,c.namespace),u=c.error,v=n.data("module-"+t);return m={checkPreconditions:function(){return m.debug("Checking pre-conditions"),!a.isPlainObject(s)||a.isEmptyObject(s)?(m.error(u.undefinedColors),!1):!0},async:function(a){c.async?setTimeout(a,0):a()},getMetadata:function(){m.debug("Grabbing metadata"),i=n.data("image")||c.image||d,j=n.data("name")||c.name||b,k=c.width||n.width(),l=c.height||n.height(),(0===k||0===l)&&m.error(u.undefinedSize)},initialize:function(){m.debug("Initializing with colors",s),m.checkPreconditions()&&m.async(function(){m.getMetadata(),m.canvas.create(),m.draw.image(function(){m.draw.colors(),m.canvas.merge()}),n.data("module-"+t,m)})},redraw:function(){m.debug("Redrawing image"),m.async(function(){m.canvas.clear(),m.draw.colors(),m.canvas.merge()})},change:{color:function(a,b){return m.debug("Changing color",a),s[a]===d?(m.error(u.missingColor),!1):(s[a]=b,m.redraw(),void 0)}},canvas:{create:function(){m.debug("Creating canvases"),o.width=k,o.height=l,p.width=k,p.height=l,q.width=k,q.height=l,f=o.getContext("2d"),g=p.getContext("2d"),h=q.getContext("2d"),n.append(o),f=n.children("canvas")[0].getContext("2d")},clear:function(){m.debug("Clearing canvas"),h.fillStyle="#FFFFFF",h.fillRect(0,0,k,l)},merge:function(){return a.isFunction(f.blendOnto)?(f.putImageData(g.getImageData(0,0,k,l),0,0),h.blendOnto(f,"multiply"),void 0):(m.error(u.missingPlugin),void 0)}},draw:{image:function(a){m.debug("Drawing image"),a=a||function(){},i?(r.src=i,r.onload=function(){g.drawImage(r,0,0),a()}):(m.error(u.noImage),a())},colors:function(){m.debug("Drawing color overlays",s),a.each(s,function(a,b){c.onDraw(h,j,a,b)})}},debug:function(a,b){c.debug&&(b!==d?console.info(c.name+": "+a,b):console.info(c.name+": "+a))},error:function(a){console.warn(c.name+": "+a)},invoke:function(b,e,f){var g;return f=f||Array.prototype.slice.call(arguments,2),"string"==typeof b&&v!==d&&(b=b.split("."),a.each(b,function(b,d){return a.isPlainObject(v[d])?(v=v[d],!0):a.isFunction(v[d])?(g=v[d],!0):(m.error(c.error.method),!1)})),a.isFunction(g)?g.apply(e,f):!1}},v!==d&&e?("invoke"==e[0]&&(e=Array.prototype.slice.call(e,1)),m.invoke(e[0],this,Array.prototype.slice.call(e,1))):(m.initialize(),void 0)}),this},a.fn.colorize.settings={name:"Image Colorizer",debug:!0,namespace:"colorize",onDraw:function(){},async:!0,colors:{},metadata:{image:"image",name:"name"},error:{noImage:"No tracing image specified",undefinedColors:"No default colors specified.",missingColor:"Attempted to change color that does not exist",missingPlugin:"Blend onto plug-in must be included",undefinedHeight:"The width or height of image canvas could not be automatically determined. Please specify a height."}}}(jQuery,window,document),function(a,b,c,d){a.fn.form=function(b,e){var f,g=a(this),h=a.extend(!0,{},a.fn.form.settings,e),i=a.extend({},a.fn.form.settings.defaults,b),j=h.namespace,k=h.metadata,l=h.selector,m=h.className,n=h.error,o="."+j,p="module-"+j,q=g.selector||"",r=(new Date).getTime(),s=[],t=arguments[0],u="string"==typeof t,v=[].slice.call(arguments,1);return g.each(function(){var b,e=a(this),j=a(this).find(l.field),w=a(this).find(l.group),x=a(this).find(l.message),y=(a(this).find(l.prompt),a(this).find(l.submit)),z=[],A=this,B=e.data(p);b={initialize:function(){b.verbose("Initializing form validation",e,i,h),h.keyboardShortcuts&&j.on("keydown"+o,b.event.field.keydown),e.on("submit"+o,b.validate.form),j.on("blur"+o,b.event.field.blur),y.on("click"+o,b.submit),j.on(b.get.changeEvent()+o,b.event.field.change),b.instantiate()},instantiate:function(){b.verbose("Storing instance of module",b),B=b,e.data(p,b)},destroy:function(){b.verbose("Destroying previous module",B),e.off(o).removeData(p)},refresh:function(){b.verbose("Refreshing selector cache"),j=e.find(l.field)},submit:function(){b.verbose("Submitting form",e),e.submit()},event:{field:{keydown:function(c){var d=a(this),e=c.which,f={enter:13,escape:27};return e==f.escape&&(b.verbose("Escape key pressed blurring field"),d.blur()),!c.ctrlKey&&e==f.enter&&d.is(l.input)?(b.debug("Enter key pressed, submitting form"),y.addClass(m.down),d.one("keyup"+o,b.event.field.keyup),c.preventDefault(),!1):void 0},keyup:function(){b.verbose("Doing keyboard shortcut form submit"),y.removeClass(m.down),b.submit()},blur:function(){var c=a(this),d=c.closest(w);d.hasClass(m.error)?(b.debug("Revalidating field",c,b.get.validation(c)),b.validate.field(b.get.validation(c))):("blur"==h.on||"change"==h.on)&&b.validate.field(b.get.validation(c))},change:function(){var c=a(this),d=c.closest(w);d.hasClass(m.error)?(b.debug("Revalidating field",c,b.get.validation(c)),b.validate.field(b.get.validation(c))):"change"==h.on&&b.validate.field(b.get.validation(c))}}},get:{changeEvent:function(){return c.createElement("input").oninput!==d?"input":c.createElement("input").onpropertychange!==d?"propertychange":"keyup"},field:function(c){return b.verbose("Finding field with identifier",c),j.filter("#"+c).size()>0?j.filter("#"+c):j.filter('[name="'+c+'"]').size()>0?j.filter('[name="'+c+'"]'):j.filter("[data-"+k.validate+'="'+c+'"]').size()>0?j.filter("[data-"+k.validate+'="'+c+'"]'):a("")},validation:function(c){var d;return a.each(i,function(a,e){b.get.field(e.identifier).get(0)==c.get(0)&&(d=e)}),d||!1}},has:{field:function(a){return b.verbose("Checking for existence of a field with identifier",a),j.filter("#"+a).size()>0?!0:j.filter('[name="'+a+'"]').size()>0?!0:j.filter("[data-"+k.validate+'="'+a+'"]').size()>0?!0:!1}},add:{prompt:function(c,e){var f=b.get.field(c.identifier),g=f.closest(w),i=g.find(l.prompt),j=0!==i.size();b.verbose("Adding inline error",c),g.addClass(m.error),h.inline&&(j||(i=h.templates.prompt(e),i.appendTo(g)),i.html(e[0]),j||(h.transition&&a.fn.transition!==d?(b.verbose("Displaying error with css transition",h.transition),i.transition(h.transition+" in",h.duration)):(b.verbose("Displaying error with fallback javascript animation"),i.fadeIn(h.duration))))},errors:function(a){b.debug("Adding form error messages",a),x.html(h.templates.error(a))}},remove:{prompt:function(c){var e=b.get.field(c.identifier),f=e.closest(w),g=f.find(l.prompt);f.removeClass(m.error),h.inline&&g.is(":visible")&&(b.verbose("Removing prompt for field",c),h.transition&&a.fn.transition!==d?g.transition(h.transition+" out",h.duration,function(){g.remove()}):g.fadeOut(h.duration,function(){g.remove()}))}},validate:{form:function(c){var d=!0;return z=[],a.each(i,function(a,c){b.validate.field(c)||(d=!1)}),d?(b.debug("Form has no validation errors, submitting"),e.removeClass(m.error).addClass(m.success),a.proxy(h.onSuccess,this)(c),void 0):(b.debug("Form has errors"),e.addClass(m.error),h.inline||b.add.errors(z),a.proxy(h.onFailure,this)(z))},field:function(c){var e=b.get.field(c.identifier),f=!0,g=[];return c.rules!==d&&a.each(c.rules,function(a,d){b.has.field(c.identifier)&&!b.validate.rule(c,d)&&(b.debug("Field is invalid",c.identifier,d.type),g.push(d.prompt),f=!1)}),f?(b.remove.prompt(c,g),a.proxy(h.onValid,e)(),!0):(z=z.concat(g),b.add.prompt(c,g),a.proxy(h.onInvalid,e)(g),!1)},rule:function(c,f){var g,i,j=b.get.field(c.identifier),k=f.type,l=j.val(),m=/\[(.*?)\]/i,n=m.exec(k),o=!0;return n!==d&&null!==n?(g=n[1],i=k.replace(n[0],""),o=a.proxy(h.rules[i],e)(l,g)):o=a.proxy(h.rules[k],j)(l),o}},setting:function(c,e){return b.debug("Changing setting",c,e),e===d?h[c]:(a.isPlainObject(c)?a.extend(!0,h,c):h[c]=e,void 0)},internal:function(c,e){return b.debug("Changing internal",c,e),e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){h.debug&&(h.performance?b.performance.log(arguments):(b.debug=Function.prototype.bind.call(console.info,console,h.name+":"),b.debug.apply(console,arguments)))},verbose:function(){h.verbose&&h.debug&&(h.performance?b.performance.log(arguments):(b.verbose=Function.prototype.bind.call(console.info,console,h.name+":"),b.verbose.apply(console,arguments)))},error:function(){b.error=Function.prototype.bind.call(console.error,console,h.name+":"),b.error.apply(console,arguments)},performance:{log:function(a){var c,d,e;h.performance&&(c=(new Date).getTime(),e=r||c,d=c-e,r=c,s.push({Element:A,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=h.name+":",e=0;r=!1,clearTimeout(b.performance.timer),a.each(s,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",q&&(c+=" '"+q+"'"),g.size()>1&&(c+=" ("+g.size()+")"),(console.group!==d||console.table!==d)&&s.length>0&&(console.groupCollapsed(c),console.table?console.table(s):a.each(s,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),s=[]}},invoke:function(c,e,g){var h,i,j;return e=e||v,g=A||g,"string"==typeof c&&B!==d&&(c=c.split(/[\. ]/),h=c.length-1,a.each(c,function(e,f){var g=e!=h?f+c[e+1].charAt(0).toUpperCase()+c[e+1].slice(1):c;if(a.isPlainObject(B[f])&&e!=h)B=B[f];else{if(!a.isPlainObject(B[g])||e==h)return B[f]!==d?(i=B[f],!1):B[g]!==d?(i=B[g],!1):(b.error(n.method),!1);B=B[g]}})),a.isFunction(i)?j=i.apply(g,e):i!==d&&(j=i),a.isArray(f)?f.push(j):"string"==typeof f?f=[f,j]:j!==d&&(f=j),i}},u?(B===d&&b.initialize(),b.invoke(t)):(B!==d&&b.destroy(),b.initialize())}),f!==d?f:this},a.fn.form.settings={name:"Form",namespace:"form",debug:!0,verbose:!0,performance:!0,keyboardShortcuts:!0,on:"submit",inline:!1,transition:"scale",duration:150,onValid:function(){},onInvalid:function(){},onSuccess:function(){return!0},onFailure:function(){return!1},metadata:{validate:"validate"},selector:{message:".error.message",field:"input, textarea, select",group:".field",input:"input",prompt:".prompt",submit:".submit"},className:{error:"error",success:"success",down:"down",label:"ui label prompt"},error:{method:"The method you called is not defined."},templates:{error:function(b){var c='
    ';return a.each(b,function(a,b){c+="
  • "+b+"
  • "}),c+="
",a(c)},prompt:function(b){return a("
").addClass("ui red pointing prompt label").html(b[0])}},rules:{checked:function(){return a(this).filter(":checked").size()>0},empty:function(a){return!(a===d||""===a)},email:function(a){var b=new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");return b.test(a)},length:function(a,b){return a!==d?a.length>=b:!1},not:function(a,b){return a!=b},contains:function(a,b){return-1!==a.search(b)},is:function(a,b){return a==b},maxLength:function(a,b){return a!==d?a.length<=b:!1},match:function(b,c){var e,f=a(this);return f.find("#"+c).size()>0?e=f.find("#"+c).val():f.find("[name="+c+"]").size()>0?e=f.find("[name="+c+"]").val():f.find('[data-validate="'+c+'"]').size()>0&&(e=f.find('[data-validate="'+c+'"]').val()),e!==d?b.toString()==e.toString():!1},url:function(a){var b=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;return b.test(a)}}}}(jQuery,window,document),function(a,b,c,d){a.fn.state=function(b){var c,e=a(this),f=a.extend(!0,{},a.fn.state.settings,b),g=e.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1),m=f.error,n=f.metadata,o=f.className,p=f.namespace,q=f.states,r=f.text,s="."+p,t=p+"-module";return e.each(function(){var p,u=a(this),v=this,w=u.data(t);p={initialize:function(){p.verbose("Initializing module"),f.automatic&&p.add.defaults(),f.context&&""!==g?(p.allows("hover")&&a(v,f.context).on(g,"mouseenter"+s,p.enable.hover).on(g,"mouseleave"+s,p.disable.hover),p.allows("down")&&a(v,f.context).on(g,"mousedown"+s,p.enable.down).on(g,"mouseup"+s,p.disable.down),p.allows("focus")&&a(v,f.context).on(g,"focus"+s,p.enable.focus).on(g,"blur"+s,p.disable.focus),a(f.context).on(g,"mouseenter"+s,p.change.text).on(g,"mouseleave"+s,p.reset.text).on(g,"click"+s,p.toggle.state)):(p.allows("hover")&&u.on("mouseenter"+s,p.enable.hover).on("mouseleave"+s,p.disable.hover),p.allows("down")&&u.on("mousedown"+s,p.enable.down).on("mouseup"+s,p.disable.down),p.allows("focus")&&u.on("focus"+s,p.enable.focus).on("blur"+s,p.disable.focus),u.on("mouseenter"+s,p.change.text).on("mouseleave"+s,p.reset.text).on("click"+s,p.toggle.state)),p.instantiate()},instantiate:function(){p.verbose("Storing instance of module",p),w=p,u.data(t,p)},destroy:function(){p.verbose("Destroying previous module",w),u.off(s).removeData(t)},refresh:function(){p.verbose("Refreshing selector cache"),u=a(v)},add:{defaults:function(){var c=b&&a.isPlainObject(b.states)?b.states:{};a.each(f.defaults,function(b,e){p.is[b]!==d&&p.is[b]()&&(p.verbose("Adding default states",b,v),a.extend(f.states,e,c))})}},is:{active:function(){return u.hasClass(o.active)},loading:function(){return u.hasClass(o.loading)},inactive:function(){return!u.hasClass(o.active)},enabled:function(){return!u.is(f.filter.active)},disabled:function(){return u.is(f.filter.active)},textEnabled:function(){return!u.is(f.filter.text)},button:function(){return u.is(".button:not(a, .submit)")},input:function(){return u.is("input")}},allow:function(a){p.debug("Now allowing state",a),q[a]=!0},disallow:function(a){p.debug("No longer allowing",a),q[a]=!1},allows:function(a){return q[a]||!1},enable:{state:function(a){p.allows(a)&&u.addClass(o[a])},focus:function(){u.addClass(o.focus)},hover:function(){u.addClass(o.hover)},down:function(){u.addClass(o.down)}},disable:{state:function(a){p.allows(a)&&u.removeClass(o[a])},focus:function(){u.removeClass(o.focus)},hover:function(){u.removeClass(o.hover)},down:function(){u.removeClass(o.down)}},toggle:{state:function(){var a=u.data(n.promise);p.allows("active")&&p.is.enabled()&&(p.refresh(),a!==d?p.listenTo(a):p.change.state())}},listenTo:function(b){p.debug("API request detected, waiting for state signal",b),b?(r.loading&&p.update.text(r.loading),a.when(b).then(function(){"resolved"==b.state()?(p.debug("API request succeeded"),f.activateTest=function(){return!0},f.deactivateTest=function(){return!0}):(p.debug("API request failed"),f.activateTest=function(){return!1},f.deactivateTest=function(){return!1}),p.change.state()})):(f.activateTest=function(){return!1},f.deactivateTest=function(){return!1})},change:{state:function(){p.debug("Determining state change direction"),p.is.inactive()?p.activate():p.deactivate(),f.sync&&p.sync(),a.proxy(f.onChange,v)()},text:function(){p.is.textEnabled()&&(p.is.active()?r.hover?(p.verbose("Changing text to hover text",r.hover),p.update.text(r.hover)):r.disable&&(p.verbose("Changing text to disable text",r.disable),p.update.text(r.disable)):r.hover?(p.verbose("Changing text to hover text",r.disable),p.update.text(r.hover)):r.enable&&(p.verbose("Changing text to enable text",r.enable),p.update.text(r.enable)))}},activate:function(){a.proxy(f.activateTest,v)()&&(p.debug("Setting state to active"),u.addClass(o.active),p.update.text(r.active)),a.proxy(f.onActivate,v)()},deactivate:function(){a.proxy(f.deactivateTest,v)()&&(p.debug("Setting state to inactive"),u.removeClass(o.active),p.update.text(r.inactive)),a.proxy(f.onDeactivate,v)()},sync:function(){p.verbose("Syncing other buttons to current state"),p.is.active()?e.not(u).state("activate"):e.not(u).state("deactivate")},get:{text:function(){return f.selector.text?u.find(f.selector.text).text():u.html()},textFor:function(a){return r[a]||!1}},flash:{text:function(a,b){var c=p.get.text();p.debug("Flashing text message",a,b),a=a||f.text.flash,b=b||f.flashDuration,p.update.text(a),setTimeout(function(){p.update.text(c)},b)}},reset:{text:function(){var a=r.active||u.data(n.storedText),b=r.inactive||u.data(n.storedText);p.is.textEnabled()&&(p.is.active()&&a?(p.verbose("Resetting active text",a),p.update.text(a)):b&&(p.verbose("Resetting inactive text",a),p.update.text(b)))}},update:{text:function(a){var b=p.get.text();a&&a!==b?(p.debug("Updating text",a),f.selector.text?u.data(n.storedText,a).find(f.selector.text).text(a):u.data(n.storedText,a).html(a)):p.debug("Text is already sane, ignoring update",a)}},setting:function(b,c){return p.debug("Changing setting",b,c),c===d?f[b]:(a.isPlainObject(b)?a.extend(!0,f,b):f[b]=c,void 0)},internal:function(b,c){return p.debug("Changing internal",b,c),c===d?p[b]:(a.isPlainObject(b)?a.extend(!0,p,b):p[b]=c,void 0)},debug:function(){f.debug&&(f.performance?p.performance.log(arguments):(p.debug=Function.prototype.bind.call(console.info,console,f.name+":"),p.debug.apply(console,arguments)))},verbose:function(){f.verbose&&f.debug&&(f.performance?p.performance.log(arguments):(p.verbose=Function.prototype.bind.call(console.info,console,f.name+":"),p.verbose.apply(console,arguments)))},error:function(){p.error=Function.prototype.bind.call(console.error,console,f.name+":"),p.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;f.performance&&(b=(new Date).getTime(),d=h||b,c=b-d,h=b,i.push({Element:v,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(p.performance.timer),p.performance.timer=setTimeout(p.performance.display,100)},display:function(){var b=f.name+":",c=0;h=!1,clearTimeout(p.performance.timer),a.each(i,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",g&&(b+=" '"+g+"'"),e.size()>1&&(b+=" ("+e.size()+")"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(b),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(b,e,f){var g,h,i;return e=e||l,f=v||f,"string"==typeof b&&w!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(w[e])&&c!=g)w=w[e];else{if(!a.isPlainObject(w[f])||c==g)return w[e]!==d?(h=w[e],!1):w[f]!==d?(h=w[f],!1):(p.error(m.method),!1);w=w[f]}})),a.isFunction(h)?i=h.apply(f,e):h!==d&&(i=h),a.isArray(c)?c.push(i):"string"==typeof c?c=[c,i]:i!==d&&(c=i),h}},k?(w===d&&p.initialize(),p.invoke(j)):(w!==d&&p.destroy(),p.initialize())}),c!==d?c:this},a.fn.state.settings={name:"State",debug:!0,verbose:!0,namespace:"state",performance:!0,onActivate:function(){},onDeactivate:function(){},onChange:function(){},activateTest:function(){return!0},deactivateTest:function(){return!0},automatic:!0,sync:!1,flashDuration:3e3,filter:{text:".loading, .disabled",active:".disabled"},context:!1,error:{method:"The method you called is not defined."},metadata:{promise:"promise",storedText:"stored-text"},className:{focus:"focus",hover:"hover",down:"down",active:"active",loading:"loading"},selector:{text:!1},defaults:{input:{hover:!0,focus:!0,down:!0,loading:!1,active:!1},button:{hover:!0,focus:!1,down:!0,active:!0,loading:!0}},states:{hover:!0,focus:!0,down:!0,loading:!1,active:!1},text:{flash:!1,hover:!1,active:!1,inactive:!1,enable:!1,disable:!1}}}(jQuery,window,document),function(a,b,c,d){a.fn.chatroom=function(b){return a(this).each(function(){var c,e,f,g,h,i,j,k=a.extend(!0,{},a.fn.chatroom.settings,b),l=k.className,m=k.namespace,n=k.selector,o=k.error,p=a(this),q=p.find(n.expandButton),r=p.find(n.userListButton),s=p.find(n.userList),t=(p.find(n.room),p.find(n.userCount)),u=p.find(n.log),v=(p.find(n.message),p.find(n.messageInput)),w=p.find(n.messageButton),x=p.data("module"),y="",z={};j={width:{log:u.width(),userList:s.outerWidth()},initialize:function(){return Pusher===d&&j.error(o.pusher),k.key===d||k.channelName===d?(j.error(o.key),!1):k.endpoint.message||k.endpoint.authentication?(i=new Pusher(k.key),Pusher.channel_auth_endpoint=k.endpoint.authentication,c=i.subscribe(k.channelName),c.bind("pusher:subscription_succeeded",j.user.list.create),c.bind("pusher:subscription_error",j.error),c.bind("pusher:member_added",j.user.joined),c.bind("pusher:member_removed",j.user.left),c.bind("update_messages",j.message.receive),a.each(k.customEvents,function(a,b){c.bind(a,b)}),r.on("click."+m,j.event.toggleUserList),q.on("click."+m,j.event.toggleExpand),v.on("keydown."+m,j.event.input.keydown).on("keyup."+m,j.event.input.keyup),w.on("mouseenter."+m,j.event.hover).on("mouseleave."+m,j.event.hover).on("click."+m,j.event.submit),u.animate({scrollTop:u.prop("scrollHeight")},400),p.data("module",j).addClass(l.loading),void 0):(j.error(o.endpoint),!1) -},refresh:function(){r.removeClass(l.active),j.width={log:u.width(),userList:s.outerWidth()},r.hasClass(l.active)&&j.user.list.hide(),p.data("module",j)},user:{updateCount:function(){k.userCount&&(z=p.data("users"),g=0,a.each(z,function(){g++}),t.html(k.templates.userCount(g)))},joined:function(b){z=p.data("users"),"anonymous"!=b.id&&z[b.id]===d&&(z[b.id]=b.info,k.randomColor&&b.info.color===d&&(b.info.color=k.templates.color(b.id)),y=k.templates.userList(b.info),b.info.isAdmin?a(y).prependTo(s):a(y).appendTo(s),k.partingMessages&&(u.append(k.templates.joined(b.info)),j.message.scroll.test()),j.user.updateCount())},left:function(a){z=p.data("users"),a!==d&&"anonymous"!==a.id&&(delete z[a.id],p.data("users",z),s.find("[data-id="+a.id+"]").remove(),k.partingMessages&&(u.append(k.templates.left(a.info)),j.message.scroll.test()),j.user.updateCount())},list:{create:function(b){z={},b.each(function(a){"anonymous"!==a.id&&"undefined"!==a.id&&(k.randomColor&&a.info.color===d&&(a.info.color=k.templates.color(a.id)),y=a.info.isAdmin?k.templates.userList(a.info)+y:y+k.templates.userList(a.info),z[a.id]=a.info)}),p.data("users",z).data("user",z[b.me.id]).removeClass(l.loading),s.html(y),j.user.updateCount(),a.proxy(k.onJoin,s.children())()},show:function(){u.animate({width:j.width.log-j.width.userList},{duration:k.speed,easing:k.easing,complete:j.message.scroll.move})},hide:function(){u.stop().animate({width:j.width.log},{duration:k.speed,easing:k.easing,complete:j.message.scroll.move})}}},message:{scroll:{test:function(){h=u.prop("scrollHeight")-u.height(),Math.abs(u.scrollTop()-h)0&&(console.groupCollapsed(b),console.table?console.table(performance):a.each(performance,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),performance=[]}},invoke:function(b,c,e){var f,g;return c=c||queryArguments,e=element||e,"string"==typeof b&&x!==d&&(b=b.split(/[\. ]/),f=b.length-1,a.each(b,function(b,c){a.isPlainObject(x[c])&&b!=f?x=x[c]:x[c]!==d?g=x[c]:j.error(o.method)})),a.isFunction(g)?g.apply(e,c):g||!1}},methodInvoked?(x===d&&j.initialize(),j.invoke(query)):(x!==d&&j.destroy(),j.initialize())}),invokedResponse?invokedResponse:this},a.fn.chatroom.settings={name:"Chat",debug:!1,namespace:"chat",channel:"present-chat",onJoin:function(){},onMessage:function(){},onExpand:function(){},onContract:function(){},customEvents:{},partingMessages:!1,userCount:!0,randomColor:!0,speed:300,easing:"easeOutQuint",scrollArea:9999,endpoint:{message:!1,authentication:!1},error:{method:"The method you called is not defined",endpoint:"Please define a message and authentication endpoint.",key:"You must specify a pusher key and channel.",pusher:"You must include the Pusher library."},className:{expand:"expand",active:"active",hover:"hover",down:"down",loading:"loading"},selector:{userCount:".actions .message",userListButton:".actions .list.button",expandButton:".actions .expand.button",room:".room",userList:".room .list",log:".room .log",message:".room .log .message",author:".room log .message .author",messageInput:".talk input",messageButton:".talk .send.button"},templates:{userCount:function(a){return a+" users in chat"},color:function(){var a=["#000000","#333333","#666666","#999999","#CC9999","#CC6666","#CC3333","#993333","#663333","#CC6633","#CC9966","#CC9933","#999966","#CCCC66","#99CC66","#669933","#669966","#33A3CC","#336633","#33CCCC","#339999","#336666","#336699","#6666CC","#9966CC","#333399","#663366","#996699","#993366","#CC6699"];return a[Math.floor(Math.random()*a.length)]},message:function(a){var b="";return a.user.isAdmin?(a.user.color="#55356A",b+='
',b+=''):b+='
',b+="

",b+=a.user.color!==d?''+a.user.name+": ":''+a.user.name+": ",b+=""+a.text+"

"+"
"},joined:function(a){return typeof a.name!==d?'
'+a.name+" has joined the chat.
":!1},left:function(a){return typeof a.name!==d?'
'+a.name+" has left the chat.
":!1},userList:function(a){var b="";return a.isAdmin&&(a.color="#55356A"),b+='
'+'
'+' '+"
",b+=a.color!==d?'

'+a.name+"

":'

'+a.name+"

",b+="
"}}}}(jQuery,window,document),function(a,b,c,d){a.fn.checkbox=function(b){var c,e=a(this),f=e.selector||"",g=(new Date).getTime(),h=[],i=arguments[0],j="string"==typeof i,k=[].slice.call(arguments,1);return e.each(function(){var e,l=a.extend(!0,{},a.fn.checkbox.settings,b),m=l.className,n=l.namespace,o=l.error,p="."+n,q="module-"+n,r=a(this),s=a(this).next(l.selector.label).first(),t=a(this).find(l.selector.input),u=r.selector||"",v=r.data(q),w=this;e={initialize:function(){e.verbose("Initializing checkbox",l),l.context&&""!==u?(e.verbose("Adding delegated events"),a(w,l.context).on(u,"click"+p,e.toggle).on(u+" + "+l.selector.label,"click"+p,e.toggle)):(r.on("click"+p,e.toggle).data(q,e),s.on("click"+p,e.toggle)),e.instantiate()},instantiate:function(){e.verbose("Storing instance of module",e),v=e,r.data(q,e)},destroy:function(){e.verbose("Destroying previous module"),r.off(p).removeData(q)},is:{radio:function(){return r.hasClass(m.radio)}},can:{disable:function(){return"boolean"==typeof l.required?l.required:!e.is.radio()}},enable:function(){e.debug("Enabling checkbox",t),t.prop("checked",!0),a.proxy(l.onChange,t.get())(),a.proxy(l.onEnable,t.get())()},disable:function(){e.debug("Disabling checkbox"),t.prop("checked",!1),a.proxy(l.onChange,t.get())(),a.proxy(l.onDisable,t.get())()},toggle:function(){e.verbose("Determining new checkbox state"),t.prop("checked")!==d&&t.prop("checked")?e.can.disable()&&e.disable():e.enable()},setting:function(b,c){return c===d?l[b]:(a.isPlainObject(b)?a.extend(!0,l,b):l[b]=c,void 0)},internal:function(b,c){return c===d?e[b]:(a.isPlainObject(b)?a.extend(!0,e,b):e[b]=c,void 0)},debug:function(){l.debug&&(l.performance?e.performance.log(arguments):(e.debug=Function.prototype.bind.call(console.info,console,l.name+":"),e.debug.apply(console,arguments)))},verbose:function(){l.verbose&&l.debug&&(l.performance?e.performance.log(arguments):(e.verbose=Function.prototype.bind.call(console.info,console,l.name+":"),e.verbose.apply(console,arguments)))},error:function(){e.error=Function.prototype.bind.call(console.error,console,l.name+":"),e.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;l.performance&&(b=(new Date).getTime(),d=g||b,c=b-d,g=b,h.push({Element:w,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(e.performance.timer),e.performance.timer=setTimeout(e.performance.display,100)},display:function(){var b=l.name+":",c=0;g=!1,clearTimeout(e.performance.timer),a.each(h,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",f&&(b+=" '"+f+"'"),(console.group!==d||console.table!==d)&&h.length>0&&(console.groupCollapsed(b),console.table?console.table(h):a.each(h,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),h=[]}},invoke:function(b,f,g){var h,i,j;return f=f||k,g=w||g,"string"==typeof b&&v!==d&&(b=b.split(/[\. ]/),h=b.length-1,a.each(b,function(c,f){var g=c!=h?f+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(v[f])&&c!=h)v=v[f];else{if(!a.isPlainObject(v[g])||c==h)return v[f]!==d?(i=v[f],!1):v[g]!==d?(i=v[g],!1):(e.error(o.method),!1);v=v[g]}})),a.isFunction(i)?j=i.apply(g,f):i!==d&&(j=i),a.isArray(c)?c.push(j):"string"==typeof c?c=[c,j]:j!==d&&(c=j),i}},j?(v===d&&e.initialize(),e.invoke(i)):(v!==d&&e.destroy(),e.initialize())}),c!==d?c:this},a.fn.checkbox.settings={name:"Checkbox",namespace:"checkbox",verbose:!0,debug:!0,performance:!0,context:!1,required:"auto",onChange:function(){},onEnable:function(){},onDisable:function(){},error:{method:"The method you called is not defined."},selector:{input:"input[type=checkbox], input[type=radio]",label:"label"},className:{radio:"radio"}}}(jQuery,window,document),function(a,b,c,d){a.fn.dimmer=function(b){var e,f=a(this),g=(new Date).getTime(),h=[],i=arguments[0],j="string"==typeof i,k=[].slice.call(arguments,1);return f.each(function(){var l,m,n,o=a.isPlainObject(b)?a.extend(!0,{},a.fn.dimmer.settings,b):a.extend({},a.fn.dimmer.settings),p=o.selector,q=o.namespace,r=o.className,s=o.error,t="."+q,u="module-"+q,v=f.selector||"",w="ontouchstart"in c.documentElement?"touchstart":"click",x=a(this),y=this,z=x.data(u);n={preinitialize:function(){n.is.dimmer()?(m=x.parent(),l=x):(m=x,l=n.has.dimmer()?m.children(p.dimmer).first():n.create())},initialize:function(){n.debug("Initializing dimmer",o),"hover"==o.on?m.on("mouseenter"+t,n.show).on("mouseleave"+t,n.hide):"click"==o.on&&m.on(w+t,n.toggle),n.is.page()&&(n.debug("Setting as a page dimmer",m),n.set.pageDimmer()),o.closable&&(n.verbose("Adding dimmer close event",l),l.on(w+t,n.event.click)),n.set.dimmable(),n.instantiate()},instantiate:function(){n.verbose("Storing instance of module",n),z=n,x.data(u,z)},destroy:function(){n.verbose("Destroying previous module",l),x.removeData(u),m.off(t),l.off(t)},event:{click:function(b){n.verbose("Determining if event occured on dimmer",b),(0===l.find(b.target).size()||a(b.target).is(p.content))&&(n.hide(),b.stopImmediatePropagation())}},addContent:function(b){var c=a(b).detach();n.debug("Add content to dimmer",c),c.parent()[0]!==l[0]&&l.append(c)},create:function(){return a(o.template.dimmer()).appendTo(m)},animate:{show:function(b){b=b||function(){},n.set.dimmed(),a.fn.transition!==d?l.transition(o.transition+" in",n.get.duration(),function(){n.set.active(),b()}):(n.verbose("Showing dimmer animation with javascript"),l.stop().css({opacity:0,width:"100%",height:"100%"}).fadeTo(n.get.duration(),1,function(){l.removeAttr("style"),n.set.active(),b()}))},hide:function(b){b=b||function(){},n.remove.dimmed(),a.fn.transition!==d?(n.verbose("Hiding dimmer with css"),l.transition(o.transition+" out",n.get.duration(),function(){n.remove.active(),b()})):(n.verbose("Hiding dimmer with javascript"),l.stop().fadeOut(n.get.duration(),function(){l.removeAttr("style"),n.remove.active(),b()}))}},get:{dimmer:function(){return l},duration:function(){return"object"==typeof o.duration?n.is.active()?o.duration.hide:o.duration.show:o.duration}},has:{dimmer:function(){return x.children(p.dimmer).size()>0}},is:{dimmer:function(){return x.is(p.dimmer)},dimmable:function(){return x.is(p.dimmable)},active:function(){return l.hasClass(r.active)},animating:function(){return l.is(":animated")||l.hasClass(r.transition)},page:function(){return m.is("body")},enabled:function(){return!m.hasClass(r.disabled)},disabled:function(){return m.hasClass(r.disabled)},pageDimmer:function(){return l.hasClass(r.pageDimmer)}},can:{show:function(){return!l.hasClass(r.disabled)}},set:{active:function(){l.removeClass(r.transition).addClass(r.active)},dimmable:function(){m.addClass(r.dimmable)},dimmed:function(){m.addClass(r.dimmed)},pageDimmer:function(){l.addClass(r.pageDimmer)},disabled:function(){l.addClass(r.disabled)}},remove:{active:function(){l.removeClass(r.transition).removeClass(r.active)},dimmed:function(){m.removeClass(r.dimmed)},disabled:function(){l.removeClass(r.disabled)}},show:function(b){n.debug("Showing dimmer",l,o),n.is.active()||n.is.animating()||!n.is.enabled()?n.debug("Dimmer is already shown or disabled"):(n.animate.show(b),a.proxy(o.onShow,y)(),a.proxy(o.onChange,y)())},hide:function(b){n.is.active()&&!n.is.animating()?(n.debug("Hiding dimmer",l),n.animate.hide(b),a.proxy(o.onHide,y)(),a.proxy(o.onChange,y)()):n.debug("Dimmer is not visible")},toggle:function(){n.verbose("Toggling dimmer visibility",l),n.is.active()?n.hide():n.show()},setting:function(b,c){return c===d?o[b]:(a.isPlainObject(b)?a.extend(!0,o,b):o[b]=c,void 0)},internal:function(b,c){return c===d?n[b]:(a.isPlainObject(b)?a.extend(!0,n,b):n[b]=c,void 0)},debug:function(){o.debug&&(o.performance?n.performance.log(arguments):(n.debug=Function.prototype.bind.call(console.info,console,o.name+":"),n.debug.apply(console,arguments)))},verbose:function(){o.verbose&&o.debug&&(o.performance?n.performance.log(arguments):(n.verbose=Function.prototype.bind.call(console.info,console,o.name+":"),n.verbose.apply(console,arguments)))},error:function(){n.error=Function.prototype.bind.call(console.error,console,o.name+":"),n.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;o.performance&&(b=(new Date).getTime(),d=g||b,c=b-d,g=b,h.push({Element:y,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(n.performance.timer),n.performance.timer=setTimeout(n.performance.display,100)},display:function(){var b=o.name+":",c=0;g=!1,clearTimeout(n.performance.timer),a.each(h,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",v&&(b+=" '"+v+"'"),f.size()>1&&(b+=" ("+f.size()+")"),(console.group!==d||console.table!==d)&&h.length>0&&(console.groupCollapsed(b),console.table?console.table(h):a.each(h,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),h=[]}},invoke:function(b,c,f){var g,h,i;return c=c||k,f=y||f,"string"==typeof b&&z!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(z[e])&&c!=g)z=z[e];else{if(!a.isPlainObject(z[f])||c==g)return z[e]!==d?(h=z[e],!1):z[f]!==d?(h=z[f],!1):(n.error(s.method),!1);z=z[f]}})),a.isFunction(h)?i=h.apply(f,c):h!==d&&(i=h),a.isArray(e)?e.push(i):"string"==typeof e?e=[e,i]:i!==d&&(e=i),h}},n.preinitialize(),j?(z===d&&n.initialize(),n.invoke(i)):(z!==d&&n.destroy(),n.initialize())}),e!==d?e:this},a.fn.dimmer.settings={name:"Dimmer",namespace:"dimmer",verbose:!0,debug:!0,performance:!0,transition:"fade",on:!1,closable:!0,duration:{show:500,hide:500},onChange:function(){},onShow:function(){},onHide:function(){},error:{method:"The method you called is not defined."},selector:{dimmable:".ui.dimmable",dimmer:".ui.dimmer",content:".ui.dimmer > .content, .ui.dimmer > .content > .center"},template:{dimmer:function(){return a("
").attr("class","ui dimmer")}},className:{active:"active",dimmable:"ui dimmable",dimmed:"dimmed",disabled:"disabled",pageDimmer:"page",hide:"hide",show:"show",transition:"transition"}}}(jQuery,window,document),function(a,b,c,d){a.fn.dropdown=function(b){var e,f=a(this),g=a(c),h=f.selector||"",i=(new Date).getTime(),j=[],k=arguments[0],l="string"==typeof k,m=[].slice.call(arguments,1);return f.each(function(){var n,o=a.isPlainObject(b)?a.extend(!0,{},a.fn.dropdown.settings,b):a.extend({},a.fn.dropdown.settings),p=o.className,q=o.metadata,r=o.namespace,s=o.selector,t=o.error,u="."+r,v="module-"+r,w="ontouchstart"in c.documentElement,x=a(this),y=x.find(s.item),z=x.find(s.text),A=x.find(s.input),B=x.children(s.menu),C=this,D=x.data(v);n={initialize:function(){n.debug("Initializing dropdown",o),w?x.on("touchstart"+u,n.event.test.toggle):"click"==o.on?x.on("click"+u,n.event.test.toggle):"hover"==o.on?x.on("mouseenter"+u,n.delay.show).on("mouseleave"+u,n.delay.hide):x.on(o.on+u,n.toggle),"updateForm"==o.action&&n.set.selected(),y.on("mouseenter"+u,n.event.item.mouseenter).on("mouseleave"+u,n.event.item.mouseleave).on(n.get.selectEvent()+u,n.event.item.click),n.instantiate()},instantiate:function(){n.verbose("Storing instance of dropdown",n),D=n,x.data(v,n)},destroy:function(){n.verbose("Destroying previous dropdown for",x),y.off(u),x.off(u).removeData(v)},event:{test:{toggle:function(a){n.determine.intent(a,n.toggle),a.stopImmediatePropagation()},hide:function(a){n.determine.intent(a,n.hide),a.stopPropagation()}},item:{mouseenter:function(){var b=a(this).find(s.menu),c=a(this).siblings(s.item).children(s.menu);b.size()>0&&(clearTimeout(n.itemTimer),n.itemTimer=setTimeout(function(){n.animate.hide(!1,c),n.verbose("Showing sub-menu",b),n.animate.show(!1,b)},2*o.delay.show))},mouseleave:function(){var b=a(this).find(s.menu);b.size()>0&&(clearTimeout(n.itemTimer),n.itemTimer=setTimeout(function(){n.verbose("Hiding sub-menu",b),n.animate.hide(!1,b)},o.delay.hide))},click:function(){var b=a(this),c=b.data(q.text)||b.text(),d=b.data(q.value)||c.toLowerCase();0===b.find(s.menu).size()&&(n.verbose("Adding active state to selected item"),y.removeClass(p.active),b.addClass(p.active),n.determine.selectAction(c,d),a.proxy(o.onChange,C)(d,c))}},resetStyle:function(){a(this).removeAttr("style")}},determine:{selectAction:function(b,c){n.verbose("Determining action",o.action),"auto"==o.action?n.is.selection()?(n.debug("Selection dropdown used updating form",b,c),n.updateForm(b,c)):(n.debug("No action specified hiding dropdown",b,c),n.hide()):a.isFunction(n[o.action])?(n.verbose("Triggering preset action",o.action,b,c),n[o.action](b,c)):a.isFunction(o.action)?(n.verbose("Triggering user action",o.action,b,c),o.action(b,c)):n.error(t.action)},intent:function(b,c){n.debug("Determining whether event occurred in dropdown",b.target),c=c||function(){},0===a(b.target).closest(B).size()?(n.verbose("Triggering event",c),c()):n.verbose("Event occurred in dropdown, canceling callback")}},bind:{intent:function(){n.verbose("Binding hide intent event to document"),g.on(n.get.selectEvent(),n.event.test.hide)}},unbind:{intent:function(){n.verbose("Removing hide intent event from document"),g.off(n.get.selectEvent())}},nothing:function(){},changeText:function(a){n.set.text(a),n.hide()},updateForm:function(a,b){n.set.text(a),n.set.value(b),n.hide()},get:{selectEvent:function(){return w?"touchstart":"click"},text:function(){return z.text()},value:function(){return A.val()},item:function(b){var c;return b=b||A.val(),y.each(function(){a(this).data(q.value)==b&&(c=a(this))}),c||!1}},set:{text:function(a){n.debug("Changing text",a,z),z.removeClass(p.placeholder),z.text(a)},value:function(a){n.debug("Adding selected value to hidden input",a,A),A.val(a)},active:function(){x.addClass(p.active)},visible:function(){x.addClass(p.visible)},selected:function(a){var b,c=n.get.item(a);c&&(n.debug("Setting selected menu item to",c),b=c.data(q.text)||c.text(),y.removeClass(p.active),c.addClass(p.active),n.set.text(b))}},remove:{active:function(){x.removeClass(p.active)},visible:function(){x.removeClass(p.visible)}},is:{selection:function(){return x.hasClass(p.selection)},visible:function(a){return a?a.is(":animated, :visible"):B.is(":animated, :visible")},hidden:function(a){return a?a.is(":not(:animated, :visible)"):B.is(":not(:animated, :visible)")}},can:{click:function(){return w||"click"==o.on},show:function(){return!x.hasClass(p.disabled)}},animate:{show:function(b,c){var e=c||B;b=b||function(){},n.is.hidden(e)&&(n.verbose("Doing menu show animation",e),"none"==o.transition?b():a.fn.transition!==d?e.transition({animation:o.transition+" in",duration:o.duration,complete:b,queue:!1}):"slide down"==o.transition?e.hide().clearQueue().children().clearQueue().css("opacity",0).delay(50).animate({opacity:1},o.duration,"easeOutQuad",n.event.resetStyle).end().slideDown(100,"easeOutQuad",function(){a.proxy(n.event.resetStyle,this)(),b()}):"fade"==o.transition?e.hide().clearQueue().fadeIn(o.duration,function(){a.proxy(n.event.resetStyle,this)(),b()}):n.error(t.transition))},hide:function(b,c){var e=c||B;b=b||function(){},n.is.visible(e)&&(n.verbose("Doing menu hide animation",e),a.fn.transition!==d?e.transition({animation:o.transition+" out",duration:o.duration,complete:b,queue:!1}):"none"==o.transition?b():"slide down"==o.transition?e.show().clearQueue().children().clearQueue().css("opacity",1).animate({opacity:0},100,"easeOutQuad",n.event.resetStyle).end().delay(50).slideUp(100,"easeOutQuad",function(){a.proxy(n.event.resetStyle,this)(),b()}):"fade"==o.transition?e.show().clearQueue().fadeOut(150,function(){a.proxy(n.event.resetStyle,this)(),b()}):n.error(t.transition))}},show:function(){n.debug("Checking if dropdown can show"),n.is.hidden()&&(n.hideOthers(),n.set.active(),n.animate.show(n.set.visible),n.can.click()&&n.bind.intent(),a.proxy(o.onShow,C)())},hide:function(){n.is.visible()&&(n.debug("Hiding dropdown"),n.can.click()&&n.unbind.intent(),n.remove.active(),n.animate.hide(n.remove.visible),a.proxy(o.onHide,C)())},delay:{show:function(){n.verbose("Delaying show event to ensure user intent"),clearTimeout(n.timer),n.timer=setTimeout(n.show,o.delay.show)},hide:function(){n.verbose("Delaying hide event to ensure user intent"),clearTimeout(n.timer),n.timer=setTimeout(n.hide,o.delay.hide)}},hideOthers:function(){n.verbose("Finding other dropdowns to hide"),f.not(x).has(s.menu+":visible").dropdown("hide")},toggle:function(){n.verbose("Toggling menu visibility"),n.is.hidden()?n.show():n.hide()},setting:function(b,c){return c===d?o[b]:(a.isPlainObject(b)?a.extend(!0,o,b):o[b]=c,void 0)},internal:function(b,c){return c===d?n[b]:(a.isPlainObject(b)?a.extend(!0,n,b):n[b]=c,void 0)},debug:function(){o.debug&&(o.performance?n.performance.log(arguments):(n.debug=Function.prototype.bind.call(console.info,console,o.name+":"),n.debug.apply(console,arguments)))},verbose:function(){o.verbose&&o.debug&&(o.performance?n.performance.log(arguments):(n.verbose=Function.prototype.bind.call(console.info,console,o.name+":"),n.verbose.apply(console,arguments)))},error:function(){n.error=Function.prototype.bind.call(console.error,console,o.name+":"),n.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;o.performance&&(b=(new Date).getTime(),d=i||b,c=b-d,i=b,j.push({Element:C,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(n.performance.timer),n.performance.timer=setTimeout(n.performance.display,100)},display:function(){var b=o.name+":",c=0;i=!1,clearTimeout(n.performance.timer),a.each(j,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",h&&(b+=" '"+h+"'"),(console.group!==d||console.table!==d)&&j.length>0&&(console.groupCollapsed(b),console.table?console.table(j):a.each(j,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),j=[]}},invoke:function(b,c,f){var g,h,i;return c=c||m,f=C||f,"string"==typeof b&&D!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(D[e])&&c!=g)D=D[e];else{if(!a.isPlainObject(D[f])||c==g)return D[e]!==d?(h=D[e],!1):D[f]!==d?(h=D[f],!1):(n.error(t.method),!1);D=D[f]}})),a.isFunction(h)?i=h.apply(f,c):h!==d&&(i=h),a.isArray(e)?e.push(i):"string"==typeof e?e=[e,i]:i!==d&&(e=i),h}},l?(D===d&&n.initialize(),n.invoke(k)):(D!==d&&n.destroy(),n.initialize())}),e?e:this},a.fn.dropdown.settings={name:"Dropdown",namespace:"dropdown",verbose:!0,debug:!0,performance:!0,on:"click",action:"auto",delay:{show:200,hide:300},transition:"slide down",duration:250,onChange:function(){},onShow:function(){},onHide:function(){},error:{action:"You called a dropdown action that was not defined",method:"The method you called is not defined.",transition:"The requested transition was not found"},metadata:{text:"text",value:"value"},selector:{menu:".menu",item:".menu > .item",text:"> .text",input:'> input[type="hidden"]'},className:{active:"active",placeholder:"default",disabled:"disabled",visible:"visible",selection:"selection"}}}(jQuery,window,document),function(a,b,c,d){a.fn.modal=function(e){var f,g=a(this),h=a(b),i=a(c),j=(new Date).getTime(),k=[],l=arguments[0],m="string"==typeof l,n=[].slice.call(arguments,1);return g.each(function(){var o,p,q,r,s=a.isPlainObject(e)?a.extend(!0,{},a.fn.modal.settings,e):a.extend({},a.fn.modal.settings),t=s.selector,u=s.className,v=s.namespace,w=s.error,x="."+v,y="module-"+v,z=g.selector||"",A=a(this),B=a(s.context),C=g.not(A),D=A.find(t.close),E=this,F=A.data(y);r={initialize:function(){r.verbose("Initializing dimmer",B),p=B.dimmer("add content",A),q=B.dimmer("get dimmer"),r.verbose("Attaching close events",D),D.on("click"+x,r.event.close),h.on("resize",function(){r.event.debounce(r.refresh,50)}),r.instantiate()},instantiate:function(){r.verbose("Storing instance of modal"),F=r,A.data(y,F)},destroy:function(){r.verbose("Destroying previous modal"),A.removeData(y).off(x),D.off(x),B.dimmer("destroy")},refresh:function(){r.remove.scrolling(),r.cacheSizes(),r.set.type(),r.set.position()},attachEvents:function(b,c){var d=a(b);c=a.isFunction(r[c])?r[c]:r.toggle,d.size()>0?(r.debug("Attaching modal events to element",b,c),d.off(x).on("click"+x,c)):r.error(w.notFound)},event:{close:function(){r.verbose("Closing element pressed"),a(this).is(t.approve)&&a.proxy(s.onApprove,E)(),a(this).is(t.deny)&&a.proxy(s.onDeny,E)(),r.hide()},click:function(a){r.verbose("Determining if event occured on dimmer",a),0===q.find(a.target).size()&&(r.hide(),a.stopImmediatePropagation())},debounce:function(a,b){clearTimeout(r.timer),r.timer=setTimeout(a,b)},keyboard:function(a){var b=a.which,c=27;b==c&&(r.debug("Escape key pressed hiding modal"),r.hide(),a.preventDefault())},resize:function(){p.dimmer("is active")&&r.refresh()}},toggle:function(){r.is.active()?r.hide():r.show()},show:function(){r.showDimmer(),r.cacheSizes(),r.set.position(),r.hideAll(),s.transition&&a.fn.transition!==d?A.transition(s.transition+" in",s.duration,r.set.active):A.fadeIn(s.duration,s.easing,r.set.active),r.debug("Triggering dimmer"),a.proxy(s.onShow,E)()},showDimmer:function(){r.debug("Showing modal"),r.set.dimmerSettings(),p.dimmer("show")},hide:function(){s.closable&&q.off("click"+x),p.dimmer("is active")&&p.dimmer("hide"),r.is.active()?(r.hideModal(),a.proxy(s.onHide,E)()):r.debug("Cannot hide modal, modal is not visible")},hideDimmer:function(){r.debug("Hiding dimmer"),p.dimmer("hide")},hideModal:function(){r.debug("Hiding modal"),r.remove.keyboardShortcuts(),s.transition&&a.fn.transition!==d?A.transition(s.transition+" out",s.duration,function(){r.remove.active(),r.restore.focus()}):A.fadeOut(s.duration,s.easing,function(){r.remove.active(),r.restore.focus()})},hideAll:function(){C.filter(":visible").modal("hide")},add:{keyboardShortcuts:function(){r.verbose("Adding keyboard shortcuts"),i.on("keyup"+x,r.event.keyboard)}},save:{focus:function(){o=a(c.activeElement).blur()}},restore:{focus:function(){o.size()>0&&o.focus()}},remove:{active:function(){A.removeClass(u.active)},keyboardShortcuts:function(){r.verbose("Removing keyboard shortcuts"),i.off("keyup"+x)},scrolling:function(){p.removeClass(u.scrolling),A.removeClass(u.scrolling)}},cacheSizes:function(){r.cache={height:A.outerHeight()+s.offset,contextHeight:"body"==s.context?a(b).height():p.height()},r.debug("Caching modal and container sizes",r.cache)},can:{fit:function(){return r.cache.height0&&(console.groupCollapsed(b),console.table?console.table(k):a.each(k,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),k=[]}},invoke:function(b,c,e){var g,h,i;return c=c||n,e=E||e,"string"==typeof b&&F!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(F[e])&&c!=g)F=F[e];else{if(!a.isPlainObject(F[f])||c==g)return F[e]!==d?(h=F[e],!1):F[f]!==d?(h=F[f],!1):(r.error(w.method),!1);F=F[f]}})),a.isFunction(h)?i=h.apply(e,c):h!==d&&(i=h),a.isArray(f)?f.push(i):"string"==typeof f?f=[f,i]:i!==d&&(f=i),h}},m?(F===d&&r.initialize(),r.invoke(l)):(F!==d&&r.destroy(),r.initialize())}),f!==d?f:this},a.fn.modal.settings={name:"Modal",namespace:"modal",verbose:!0,debug:!0,performance:!0,closable:!0,context:"body",duration:500,easing:"easeOutExpo",offset:0,transition:"scale",onShow:function(){},onHide:function(){},onApprove:function(){console.log("approved") -},onDeny:function(){console.log("denied")},selector:{close:".close, .actions .button",approve:".actions .positive, .actions .approve",deny:".actions .negative, .actions .cancel"},error:{method:"The method you called is not defined."},className:{active:"active",scrolling:"scrolling"}}}(jQuery,window,document),function(a,b,c,d){a.fn.nag=function(c){var e,f=a(this),g=f.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1);return a(this).each(function(){var m,n,o,p,q,r,s,t,u,v=a.extend(!0,{},a.fn.nag.settings,c),w=v.className,x=v.selector,y=v.error,z=v.namespace,A="."+z,B=z+"-module",C=a(this),D=C.find(x.close),E=a(v.context),F=this,G=C.data(B),H=b.requestAnimationFrame||b.mozRequestAnimationFrame||b.webkitRequestAnimationFrame||b.msRequestAnimationFrame||function(a){setTimeout(a,0)};u={initialize:function(){u.verbose("Initializing element"),m=C.offset(),n=C.outerHeight(),o=E.outerWidth(),p=E.outerHeight(),q=E.offset(),C.data(B,u),D.on("click"+A,u.dismiss),v.context==b&&"fixed"==v.position&&C.addClass(w.fixed),v.sticky&&(u.verbose("Adding scroll events"),"absolute"==v.position?E.on("scroll"+A,u.event.scroll).on("resize"+A,u.event.scroll):a(b).on("scroll"+A,u.event.scroll).on("resize"+A,u.event.scroll),a.proxy(u.event.scroll,this)()),v.displayTime>0&&setTimeout(u.hide,v.displayTime),u.should.show()?C.is(":visible")||u.show():u.hide()},destroy:function(){u.verbose("Destroying instance"),C.removeData(B).off(A),v.sticky&&E.off(A)},refresh:function(){u.debug("Refreshing cached calculations"),m=C.offset(),n=C.outerHeight(),o=E.outerWidth(),p=E.outerHeight(),q=E.offset()},show:function(){u.debug("Showing nag",v.animation.show),"fade"==v.animation.show?C.fadeIn(v.duration,v.easing):C.slideDown(v.duration,v.easing)},hide:function(){u.debug("Showing nag",v.animation.hide),"fade"==v.animation.show?C.fadeIn(v.duration,v.easing):C.slideUp(v.duration,v.easing)},onHide:function(){u.debug("Removing nag",v.animation.hide),C.remove(),v.onHide&&v.onHide()},stick:function(){if(u.refresh(),"fixed"==v.position){var c=a(b).prop("pageYOffset")||a(b).scrollTop(),d=C.hasClass(w.bottom)?q.top+(p-n)-c:q.top-c;C.css({position:"fixed",top:d,left:q.left,width:o-v.scrollBarWidth})}else C.css({top:s})},unStick:function(){C.css({top:""})},dismiss:function(a){v.storageMethod&&u.storage.set(v.storedKey,v.storedValue),u.hide(),a.stopImmediatePropagation(),a.preventDefault()},should:{show:function(){return v.persist?(u.debug("Persistent nag is set, can show nag"),!0):u.storage.get(v.storedKey)!=v.storedValue?(u.debug("Stored value is not set, can show nag",u.storage.get(v.storedKey)),!0):(u.debug("Stored value is set, cannot show nag",u.storage.get(v.storedKey)),!1)},stick:function(){return r=E.prop("pageYOffset")||E.scrollTop(),s=C.hasClass(w.bottom)?p-C.outerHeight()+r:r,s>m.top?!0:"fixed"==v.position?!0:!1}},storage:{set:function(c,e){u.debug("Setting stored value",c,e,v.storageMethod),"local"==v.storageMethod&&b.store!==d?b.store.set(c,e):a.cookie!==d?a.cookie(c,e):u.error(y.noStorage)},get:function(c){return u.debug("Getting stored value",c,v.storageMethod),"local"==v.storageMethod&&b.store!==d?b.store.get(c):a.cookie!==d?a.cookie(c):(u.error(y.noStorage),void 0)}},event:{scroll:function(){t!==d&&clearTimeout(t),t=setTimeout(function(){u.should.stick()?H(u.stick):u.unStick()},v.lag)}},setting:function(b,c){return u.debug("Changing setting",b,c),c===d?v[b]:(a.isPlainObject(b)?a.extend(!0,v,b):v[b]=c,void 0)},internal:function(b,c){return u.debug("Changing internal",b,c),c===d?u[b]:(a.isPlainObject(b)?a.extend(!0,u,b):u[b]=c,void 0)},debug:function(){v.debug&&(v.performance?u.performance.log(arguments):(u.debug=Function.prototype.bind.call(console.info,console,v.name+":"),u.debug.apply(console,arguments)))},verbose:function(){v.verbose&&v.debug&&(v.performance?u.performance.log(arguments):(u.verbose=Function.prototype.bind.call(console.info,console,v.name+":"),u.verbose.apply(console,arguments)))},error:function(){u.error=Function.prototype.bind.call(console.error,console,v.name+":"),u.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;v.performance&&(b=(new Date).getTime(),d=h||b,c=b-d,h=b,i.push({Element:F,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(u.performance.timer),u.performance.timer=setTimeout(u.performance.display,100)},display:function(){var b=v.name+":",c=0;h=!1,clearTimeout(u.performance.timer),a.each(i,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",g&&(b+=" '"+g+"'"),f.size()>1&&(b+=" ("+f.size()+")"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(b),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(b,c,f){var g,h,i;return c=c||l,f=F||f,"string"==typeof b&&G!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(G[e])&&c!=g)G=G[e];else{if(!a.isPlainObject(G[f])||c==g)return G[e]!==d?(h=G[e],!1):G[f]!==d?(h=G[f],!1):(u.error(y.method),!1);G=G[f]}})),a.isFunction(h)?i=h.apply(f,c):h!==d&&(i=h),a.isArray(e)?e.push(i):"string"==typeof e?e=[e,i]:i!==d&&(e=i),h}},k?(G===d&&u.initialize(),u.invoke(j)):(G!==d&&u.destroy(),u.initialize())}),e!==d?e:this},a.fn.nag.settings={name:"Nag",verbose:!0,debug:!0,performance:!0,namespace:"Nag",persist:!1,displayTime:0,animation:{show:"slide",hide:"slide"},position:"fixed",scrollBarWidth:18,storageMethod:"cookie",storedKey:"nag",storedValue:"dismiss",sticky:!1,lag:0,context:b,error:{noStorage:"Neither $.cookie or store is defined. A storage solution is required for storing state",method:"The method you called is not defined."},className:{bottom:"bottom",fixed:"fixed"},selector:{close:".icon.close"},speed:500,easing:"easeOutQuad",onHide:function(){}}}(jQuery,window,document),function(a,b,c,d){a.fn.popup=function(e){var f,g=a(this),h=a(c),i=g.selector||"",j=(new Date).getTime(),k=[],l=arguments[0],m="string"==typeof l,n=[].slice.call(arguments,1);return g.each(function(){var c,g=a.isPlainObject(e)?a.extend(!0,{},a.fn.popup.settings,e):a.extend({},a.fn.popup.settings),o=g.selector,p=g.className,q=g.error,r=g.metadata,s=g.namespace,t="."+g.namespace,u="module-"+s,v=a(this),w=a(b),x=v.offsetParent(),y=g.inline?v.next(g.selector.popup):w.children(g.selector.popup).last(),z=0,A=this,B=v.data(u);c={initialize:function(){c.debug("Initializing module",v),"hover"==g.on?v.on("mouseenter"+t,c.event.mouseenter).on("mouseleave"+t,c.event.mouseleave):v.on(g.on+""+t,c.event[g.on]),w.on("resize"+t,c.event.resize),c.instantiate()},instantiate:function(){c.verbose("Storing instance of module",c),B=c,v.data(u,B)},refresh:function(){y=g.inline?v.next(o.popup):w.children(o.popup).last(),x=v.offsetParent()},destroy:function(){c.debug("Destroying previous module"),w.off(t),v.off(t).removeData(u)},event:{mouseenter:function(b){var d=this;c.timer=setTimeout(function(){a.proxy(c.toggle,d)(),a(d).hasClass(p.visible)&&b.stopPropagation()},g.delay)},mouseleave:function(){clearTimeout(c.timer),v.is(":visible")&&c.hide()},click:function(b){a.proxy(c.toggle,this)(),a(this).hasClass(p.visible)&&b.stopPropagation()},resize:function(){y.is(":visible")&&c.position()}},create:function(){c.debug("Creating pop-up html");var b=v.data(r.html)||g.html,d=v.data(r.variation)||g.variation,e=v.data(r.title)||g.title,f=v.data(r.content)||v.attr("title")||g.content;b||f||e?(b||(b=g.template({title:e,content:f})),y=a("
").addClass(p.popup).addClass(d).html(b),g.inline?(c.verbose("Inserting popup element inline",y),y.insertAfter(v)):(c.verbose("Appending popup element to body",y),y.appendTo(a("body"))),a.proxy(g.onCreate,y)()):c.error(q.content)},remove:function(){c.debug("Removing popup"),y.remove()},get:{offstagePosition:function(){var d={top:a(b).scrollTop(),bottom:a(b).scrollTop()+a(b).height(),left:0,right:a(b).width()},e={width:y.width(),height:y.outerHeight(),position:y.offset()},f={},g=[];return e.position&&(f={top:e.position.topd.bottom,right:e.position.left+e.width>d.right,left:e.position.left0?g.join(" "):!1},nextPosition:function(a){switch(a){case"top left":a="bottom left";break;case"bottom left":a="top right";break;case"top right":a="bottom right";break;case"bottom right":a="top center";break;case"top center":a="bottom center";break;case"bottom center":a="right center";break;case"right center":a="left center";break;case"left center":a="top center"}return a}},toggle:function(){v=a(this),c.debug("Toggling pop-up"),c.refresh(),v.hasClass(p.visible)||("click"==g.on&&c.hideAll(),c.show())},position:function(d,e){var f,h,i=(a(b).width(),a(b).height(),v.outerWidth()),j=v.outerHeight(),k=y.width(),l=y.outerHeight(),m=g.inline?v.position():v.offset(),n=g.inline?x.outerWidth():w.outerWidth(),o=g.inline?x.outerHeight():w.outerHeight();switch(d=d||v.data(r.position)||g.position,e=e||v.data(r.arrowOffset)||g.arrowOffset,c.debug("Calculating offset for position",d),d){case"top left":f={bottom:o-m.top+g.distanceAway,right:n-m.left-i-e,top:"auto",left:"auto"};break;case"top center":f={bottom:o-m.top+g.distanceAway,left:m.left+i/2-k/2+e,top:"auto",right:"auto"};break;case"top right":f={top:"auto",bottom:o-m.top+g.distanceAway,left:m.left+e};break;case"left center":f={top:m.top+j/2-l/2,right:n-m.left+g.distanceAway-e,left:"auto",bottom:"auto"};break;case"right center":f={top:m.top+j/2-l/2,left:m.left+i+g.distanceAway+e,bottom:"auto",right:"auto"};break;case"bottom left":f={top:m.top+j+g.distanceAway,right:n-m.left-i-e,left:"auto",bottom:"auto"};break;case"bottom center":f={top:m.top+j+g.distanceAway,left:m.left+i/2-k/2+e,bottom:"auto",right:"auto"};break;case"bottom right":f={top:m.top+j+g.distanceAway,left:m.left+e,bottom:"auto",right:"auto"}}return a.extend(f,{width:y.width()+1}),y.css(f).removeClass(p.position).addClass(d),h=c.get.offstagePosition(),h?(c.debug("Element is outside boundaries ",h),z0&&(console.groupCollapsed(b),console.table?console.table(k):a.each(k,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),k=[]}},invoke:function(b,e,g){var h,i,j;return e=e||n,g=A||g,"string"==typeof b&&B!==d&&(b=b.split(/[\. ]/),h=b.length-1,a.each(b,function(e,f){var g=e!=h?f+b[e+1].charAt(0).toUpperCase()+b[e+1].slice(1):b;if(a.isPlainObject(B[f])&&e!=h)B=B[f];else{if(!a.isPlainObject(B[g])||e==h)return B[f]!==d?(i=B[f],!1):B[g]!==d?(i=B[g],!1):(c.error(q.method),!1);B=B[g]}})),a.isFunction(i)?j=i.apply(g,e):i!==d&&(j=i),a.isArray(f)?f.push(j):"string"==typeof f?f=[f,j]:j!==d&&(f=j),i}},m?(B===d&&c.initialize(),c.invoke(l)):(B!==d&&c.destroy(),c.initialize())}),f!==d?f:this},a.fn.popup.settings={name:"Popup",debug:!0,verbose:!0,performance:!0,namespace:"popup",onCreate:function(){},onShow:function(){},onHide:function(){},variation:"",content:!1,html:!1,title:!1,on:"hover",clicktoClose:!0,position:"top center",delay:150,inline:!0,duration:150,easing:"easeOutQuint",transition:"scale",distanceAway:0,arrowOffset:0,maxSearchDepth:10,error:{content:"Your popup has no content specified",method:"The method you called is not defined.",recursion:"Popup attempted to reposition element to fit, but could not find an adequate position."},metadata:{arrowOffset:"arrowOffset",content:"content",html:"html",position:"position",title:"title",variation:"variation"},className:{popup:"ui popup",visible:"visible",loading:"loading",position:"top left center bottom right"},selector:{popup:".ui.popup"},template:function(a){var b="";return typeof a!==d&&(typeof a.title!==d&&a.title&&(b+='
'+a.title+'
'),typeof a.content!==d&&a.content&&(b+='
'+a.content+"
")),b}}}(jQuery,window,document),function(a,b,c,d){a.fn.rating=function(b){var c,e=a(this),f=e.selector||"",g=(new Date).getTime(),h=[],i=arguments[0],j="string"==typeof i,k=[].slice.call(arguments,1);return e.each(function(){var l,m=a.isPlainObject(b)?a.extend(!0,{},a.fn.rating.settings,b):a.extend({},a.fn.rating.settings),n=m.namespace,o=m.className,p=m.metadata,q=m.selector,r=m.error,s="."+n,t="module-"+n,u=this,v=a(this).data(t),w=a(this),x=w.find(q.icon);l={initialize:function(){l.verbose("Initializing rating module",m),m.interactive?l.enable():l.disable(),m.initialRating&&(l.debug("Setting initial rating"),l.setRating(m.initialRating)),w.data(p.rating)&&(l.debug("Rating found in metadata"),l.setRating(w.data(p.rating))),l.instantiate()},instantiate:function(){l.verbose("Instantiating module",m),v=l,w.data(t,l)},destroy:function(){l.verbose("Destroying previous instance",v),w.removeData(t),x.off(s)},event:{mouseenter:function(){var b=a(this);b.nextAll().removeClass(o.hover),w.addClass(o.hover),b.addClass(o.hover).prevAll().addClass(o.hover)},mouseleave:function(){w.removeClass(o.hover),x.removeClass(o.hover)},click:function(){var b=a(this),c=l.getRating(),d=x.index(b)+1;m.clearable&&c==d?l.clearRating():l.setRating(d)}},clearRating:function(){l.debug("Clearing current rating"),l.setRating(0)},getRating:function(){var a=x.filter("."+o.active).size();return l.verbose("Current rating retrieved",a),a},enable:function(){l.debug("Setting rating to interactive mode"),x.on("mouseenter"+s,l.event.mouseenter).on("mouseleave"+s,l.event.mouseleave).on("click"+s,l.event.click),w.addClass(o.active)},disable:function(){l.debug("Setting rating to read-only mode"),x.off(s),w.removeClass(o.active)},setRating:function(b){var c=b-1>=0?b-1:0,d=x.eq(c);w.removeClass(o.hover),x.removeClass(o.hover).removeClass(o.active),b>0&&(l.verbose("Setting current rating to",b),d.addClass(o.active).prevAll().addClass(o.active)),a.proxy(m.onRate,u)(b)},setting:function(b,c){return c===d?m[b]:(a.isPlainObject(b)?a.extend(!0,m,b):m[b]=c,void 0)},internal:function(b,c){return c===d?l[b]:(a.isPlainObject(b)?a.extend(!0,l,b):l[b]=c,void 0)},debug:function(){m.debug&&(m.performance?l.performance.log(arguments):(l.debug=Function.prototype.bind.call(console.info,console,m.name+":"),l.debug.apply(console,arguments)))},verbose:function(){m.verbose&&m.debug&&(m.performance?l.performance.log(arguments):(l.verbose=Function.prototype.bind.call(console.info,console,m.name+":"),l.verbose.apply(console,arguments)))},error:function(){l.error=Function.prototype.bind.call(console.error,console,m.name+":"),l.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;m.performance&&(b=(new Date).getTime(),d=g||b,c=b-d,g=b,h.push({Element:u,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(l.performance.timer),l.performance.timer=setTimeout(l.performance.display,100)},display:function(){var b=m.name+":",c=0;g=!1,clearTimeout(l.performance.timer),a.each(h,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",f&&(b+=" '"+f+"'"),e.size()>1&&(b+=" ("+e.size()+")"),(console.group!==d||console.table!==d)&&h.length>0&&(console.groupCollapsed(b),console.table?console.table(h):a.each(h,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),h=[]}},invoke:function(b,e,f){var g,h,i;return e=e||k,f=u||f,"string"==typeof b&&v!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(v[e])&&c!=g)v=v[e];else{if(!a.isPlainObject(v[f])||c==g)return v[e]!==d?(h=v[e],!1):v[f]!==d?(h=v[f],!1):(l.error(r.method),!1);v=v[f]}})),a.isFunction(h)?i=h.apply(f,e):h!==d&&(i=h),a.isArray(c)?c.push(i):"string"==typeof c?c=[c,i]:i!==d&&(c=i),h}},j?(v===d&&l.initialize(),l.invoke(i)):(v!==d&&l.destroy(),l.initialize())}),c!==d?c:this},a.fn.rating.settings={name:"Rating",namespace:"rating",verbose:!0,debug:!0,performance:!0,initialRating:0,interactive:!0,clearable:!1,onRate:function(){},error:{method:"The method you called is not defined"},metadata:{rating:"rating"},className:{active:"active",hover:"hover",loading:"loading"},selector:{icon:".icon"}}}(jQuery,window,document),function(a,b,c,d){a.fn.search=function(c,e){var f,g=a(this),h=g.selector||"",i=(new Date).getTime(),j=[],k=arguments[0],l="string"==typeof k,m=[].slice.call(arguments,1);return a(this).each(function(){var n,o=a.extend(!0,{},a.fn.search.settings,e),p=o.className,q=o.selector,r=o.error,s=o.namespace,t="."+s,u=s+"-module",v=a(this),w=v.find(q.prompt),x=v.find(q.searchButton),y=v.find(q.results),z=(v.find(q.result),v.find(q.category),this),A=v.data(u);n={initialize:function(){n.verbose("Initializing module");var a=w[0],b=a.oninput!==d?"input":a.onpropertychange!==d?"propertychange":"keyup";w.on("focus"+t,n.event.focus).on("blur"+t,n.event.blur).on("keydown"+t,n.handleKeyboard),o.automatic&&w.on(b+t,n.search.throttle),x.on("click"+t,n.search.query),y.on("click"+t,q.result,n.results.select),n.instantiate()},instantiate:function(){n.verbose("Storing instance of module",n),A=n,v.data(u,n)},destroy:function(){n.verbose("Destroying instance"),v.removeData(u)},event:{focus:function(){v.addClass(p.focus),n.results.show()},blur:function(){n.search.cancel(),v.removeClass(p.focus),n.results.hide()}},handleKeyboard:function(b){var c,d=v.find(q.result),e=v.find(q.category),f=b.which,g={backspace:8,enter:13,escape:27,upArrow:38,downArrow:40},h=p.active,i=d.index(d.filter("."+h)),j=d.size();if(f==g.escape&&(n.verbose("Escape key pressed, blurring search field"),w.trigger("blur")),y.filter(":visible").size()>0)if(f==g.enter){if(n.verbose("Enter key pressed, selecting active result"),d.filter("."+h).exists())return a.proxy(n.results.select,d.filter("."+h))(),b.preventDefault(),!1}else f==g.upArrow?(n.verbose("Up key pressed, changing active result"),c=0>i-1?i:i-1,e.removeClass(h),d.removeClass(h).eq(c).addClass(h).closest(e).addClass(h),b.preventDefault()):f==g.downArrow&&(n.verbose("Down key pressed, changing active result"),c=i+1>=j?i:i+1,e.removeClass(h),d.removeClass(h).eq(c).addClass(h).closest(e).addClass(h),b.preventDefault());else f==g.enter&&(n.verbose("Enter key pressed, executing query"),n.search.query(),x.addClass(p.down),w.one("keyup",function(){x.removeClass(p.down)}))},search:{cancel:function(){var a=v.data("xhr")||!1;a&&"resolved"!=a.state()&&(n.debug("Cancelling last search"),a.abort())},throttle:function(){var a=w.val(),b=a.length;clearTimeout(n.timer),b>=o.minCharacters?n.timer=setTimeout(n.search.query,o.searchThrottle):n.results.hide()},query:function(){var b=w.val(),d=n.search.cache.read(b);d?(n.debug("Reading result for '"+b+"' from cache"),n.results.add(d)):(n.debug("Querying for '"+b+"'"),"object"==typeof c?n.search.local(b):n.search.remote(b),a.proxy(o.onSearchQuery,v)(b))},local:function(b){var d,e=[],f=[],g=a.isArray(o.searchFields)?o.searchFields:[o.searchFields],h=new RegExp("(?:s|^)"+b,"i"),i=new RegExp(b,"i");v.addClass(p.loading),a.each(g,function(b,d){a.each(c,function(b,c){"string"==typeof c[d]&&-1==a.inArray(c,e)&&-1==a.inArray(c,f)&&(h.test(c[d])?e.push(c):i.test(c[d])&&f.push(c))})}),d=n.results.generate({results:a.merge(e,f)}),v.removeClass(p.loading),n.search.cache.write(b,d),n.results.add(d)},remote:function(b){var d,e={stateContext:v,url:c,urlData:{query:b},success:function(a){d=n.results.generate(a),n.search.cache.write(b,d),n.results.add(d)},failure:n.error};n.search.cancel(),n.debug("Executing search"),a.extend(!0,e,o.apiSettings),a.api(e)},cache:{read:function(a){var b=v.data("cache");return o.cache&&"object"==typeof b&&b[a]!==d?b[a]:!1},write:function(a,b){var c=v.data("cache")!==d?v.data("cache"):{};c[a]=b,v.data("cache",c)}}},results:{generate:function(b){n.debug("Generating html from response",b);var c=o.templates[o.type],d="";return a.isPlainObject(b.results)&&!a.isEmptyObject(b.results)||a.isArray(b.results)&&b.results.length>0?(o.maxResults>0&&(b.results=a.makeArray(b.results).slice(0,o.maxResults)),b.results.length>0&&(a.isFunction(c)?d=c(b):n.error(r.noTemplate,!1))):d=n.message(r.noResults,"empty"),a.proxy(o.onResults,v)(b),d},add:function(b){("default"==o.onResultsAdd||"default"==a.proxy(o.onResultsAdd,y)(b))&&y.html(b),n.results.show()},show:function(){0===y.filter(":visible").size()&&w.filter(":focus").size()>0&&""!==y.html()&&(y.stop().fadeIn(200),a.proxy(o.onResultsOpen,y)())},hide:function(){y.filter(":visible").size()>0&&(y.stop().fadeOut(200),a.proxy(o.onResultsClose,y)())},select:function(c){n.debug("Search result selected");var d=a(this),e=d.find(".title"),f=e.html();if("default"==o.onSelect||"default"==a.proxy(o.onSelect,this)(c)){var g=d.find("a[href]").eq(0),h=g.attr("href")||!1,i=g.attr("target")||!1;n.results.hide(),w.val(f),h&&("_blank"==i||c.ctrlKey?b.open(h):b.location.href=h)}}},setting:function(b,c){return n.debug("Changing setting",b,c),c===d?o[b]:(a.isPlainObject(b)?a.extend(!0,o,b):o[b]=c,void 0)},internal:function(b,c){return n.debug("Changing internal",b,c),c===d?n[b]:(a.isPlainObject(b)?a.extend(!0,n,b):n[b]=c,void 0)},debug:function(){o.debug&&(o.performance?n.performance.log(arguments):(n.debug=Function.prototype.bind.call(console.info,console,o.name+":"),n.debug.apply(console,arguments)))},verbose:function(){o.verbose&&o.debug&&(o.performance?n.performance.log(arguments):(n.verbose=Function.prototype.bind.call(console.info,console,o.name+":"),n.verbose.apply(console,arguments)))},error:function(){n.error=Function.prototype.bind.call(console.error,console,o.name+":"),n.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;o.performance&&(b=(new Date).getTime(),d=i||b,c=b-d,i=b,j.push({Element:z,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(n.performance.timer),n.performance.timer=setTimeout(n.performance.display,100)},display:function(){var b=o.name+":",c=0;i=!1,clearTimeout(n.performance.timer),a.each(j,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",h&&(b+=" '"+h+"'"),g.size()>1&&(b+=" ("+g.size()+")"),(console.group!==d||console.table!==d)&&j.length>0&&(console.groupCollapsed(b),console.table?console.table(j):a.each(j,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),j=[]}},invoke:function(b,c,e){var g,h,i;return c=c||m,e=z||e,"string"==typeof b&&A!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(A[e])&&c!=g)A=A[e];else{if(!a.isPlainObject(A[f])||c==g)return A[e]!==d?(h=A[e],!1):A[f]!==d?(h=A[f],!1):(n.error(r.method),!1);A=A[f]}})),a.isFunction(h)?i=h.apply(e,c):h!==d&&(i=h),a.isArray(f)?f.push(i):"string"==typeof f?f=[f,i]:i!==d&&(f=i),h}},l?(A===d&&n.initialize(),n.invoke(k)):(A!==d&&n.destroy(),n.initialize())}),f!==d?f:this},a.fn.search.settings={name:"Search Module",namespace:"search",debug:!0,verbose:!0,performance:!0,onSelect:"default",onResultsAdd:"default",onSearchQuery:function(){},onResults:function(){},onResultsOpen:function(){},onResultsClose:function(){},automatic:"true",type:"simple",minCharacters:3,searchThrottle:300,maxResults:7,cache:!0,searchFields:["title","description"],apiSettings:{},className:{active:"active",down:"down",focus:"focus",empty:"empty",loading:"loading"},error:{noResults:"Your search returned no results",logging:"Error in debug logging, exiting.",noTemplate:"A valid template name was not specified.",serverError:"There was an issue with querying the server.",method:"The method you called is not defined."},selector:{prompt:".prompt",searchButton:".search.button",results:".results",category:".category",result:".result"},templates:{message:function(a,b){var c="";return a!==d&&b!==d&&(c+='
',c+="empty"==b?'
No Results
'+a+'
':'
'+a+"
",c+="
"),c},categories:function(b){var c="";return b.results!==d?(a.each(b.results,function(b,e){e.results!==d&&e.results.length>0&&(c+='
'+e.name+"
",a.each(e.results,function(a,b){c+='
',c+='',b.image!==d&&(c+='
'+"
"),c+='
',b.price!==d&&(c+='
'+b.price+"
"),b.title!==d&&(c+='
'+b.title+"
"),b.description!==d&&(c+='
'+b.description+"
"),c+="
"}),c+="
")}),b.resultPage&&(c+=''+b.resultPage.text+""),c):!1},simple:function(b){var c="";return b.results!==d?(a.each(b.results,function(a,b){c+='',b.image!==d&&(c+='
'+"
"),c+='
',b.price!==d&&(c+='
'+b.price+"
"),b.title!==d&&(c+='
'+b.title+"
"),b.description!==d&&(c+='
'+b.description+"
"),c+="
"}),b.resultPage&&(c+=''+b.resultPage.text+""),c):!1}}}}(jQuery,window,document),function(a,b,c,d){a.fn.shape=function(b){var e,f=a(this),g=(new Date).getTime(),h=[],i=arguments[0],j="string"==typeof i,k=[].slice.call(arguments,1);return f.each(function(){var l,m,n,o=f.selector||"",p=a.extend(!0,{},a.fn.shape.settings,b),q=p.namespace,r=p.selector,s=p.error,t=p.className,u="."+q,v="module-"+q,w=a(this),x=w.find(r.sides),y=w.find(r.side),z=this,A=w.data(v);n={initialize:function(){n.verbose("Initializing module for",z),n.set.defaultSide(),n.instantiate()},instantiate:function(){n.verbose("Storing instance of module",n),A=n,w.data(v,A)},destroy:function(){n.verbose("Destroying previous module for",z),w.removeData(v).off(u)},refresh:function(){n.verbose("Refreshing selector cache for",z),w=a(z),x=a(this).find(r.shape),y=a(this).find(r.side)},repaint:function(){n.verbose("Forcing repaint event");var a=x.get(0)||c.createElement("div");a.offsetWidth},animate:function(a,b){n.verbose("Animating box with properties",a),b=b||function(a){n.verbose("Executing animation callback"),a!==d&&a.stopPropagation(),n.reset(),n.set.active()},p.useCSS?n.get.transitionEvent()?(n.verbose("Starting CSS animation"),w.addClass(t.animating),n.set.stageSize(),n.repaint(),w.addClass(t.css),l.addClass(t.hidden),x.css(a).one(n.get.transitionEvent(),b)):b():(n.verbose("Starting javascript animation"),w.addClass(t.animating).removeClass(t.css),n.set.stageSize(),n.repaint(),l.animate({opacity:0},p.duration,p.easing),x.animate(a,p.duration,p.easing,b))},queue:function(a){n.debug("Queueing animation of",a),x.one(n.get.transitionEvent(),function(){n.debug("Executing queued animation"),setTimeout(function(){w.shape(a)},0)})},reset:function(){n.verbose("Animating states reset"),w.removeClass(t.css).removeClass(t.animating).attr("style","").removeAttr("style"),x.attr("style","").removeAttr("style"),y.attr("style","").removeAttr("style").removeClass(t.hidden),m.removeClass(t.animating).attr("style","").removeAttr("style")},is:{animating:function(){return w.hasClass(t.animating)}},get:{transform:{up:function(){var a={y:-((l.outerHeight()-m.outerHeight())/2),z:-(l.outerHeight()/2)};return{transform:"translateY("+a.y+"px) translateZ("+a.z+"px) rotateX(-90deg)"}},down:function(){var a={y:-((l.outerHeight()-m.outerHeight())/2),z:-(l.outerHeight()/2)};return{transform:"translateY("+a.y+"px) translateZ("+a.z+"px) rotateX(90deg)"}},left:function(){var a={x:-((l.outerWidth()-m.outerWidth())/2),z:-(l.outerWidth()/2)};return{transform:"translateX("+a.x+"px) translateZ("+a.z+"px) rotateY(90deg)"}},right:function(){var a={x:-((l.outerWidth()-m.outerWidth())/2),z:-(l.outerWidth()/2)};return{transform:"translateX("+a.x+"px) translateZ("+a.z+"px) rotateY(-90deg)"}},over:function(){var a={x:-((l.outerWidth()-m.outerWidth())/2)};return{transform:"translateX("+a.x+"px) rotateY(180deg)"}},back:function(){var a={x:-((l.outerWidth()-m.outerWidth())/2)};return{transform:"translateX("+a.x+"px) rotateY(-180deg)"}}},transitionEvent:function(){var a,b=c.createElement("element"),e={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(a in e)if(b.style[a]!==d)return e[a]},nextSide:function(){return l.next(r.side).size()>0?l.next(r.side):w.find(r.side).first()}},set:{defaultSide:function(){l=w.find("."+p.className.active),m=l.next(r.side).size()>0?l.next(r.side):w.find(r.side).first(),n.verbose("Active side set to",l),n.verbose("Next side set to",m)},stageSize:function(){var a={width:m.outerWidth(),height:m.outerHeight()};n.verbose("Resizing stage to fit new content",a),w.css({width:a.width,height:a.height})},nextSide:function(a){m=w.find(a),0===m.size()&&n.error(s.side),n.verbose("Next side manually set to",m)},active:function(){n.verbose("Setting new side to active",m),y.removeClass(t.active),m.addClass(t.active),a.proxy(p.onChange,m)(),n.set.defaultSide()}},flip:{up:function(){n.debug("Flipping up",m),n.is.animating()?n.queue("flip up"):(n.stage.above(),n.animate(n.get.transform.up()))},down:function(){n.debug("Flipping down",m),n.is.animating()?n.queue("flip down"):(n.stage.below(),n.animate(n.get.transform.down()))},left:function(){n.debug("Flipping left",m),n.is.animating()?n.queue("flip left"):(n.stage.left(),n.animate(n.get.transform.left()))},right:function(){n.debug("Flipping right",m),n.is.animating()?n.queue("flip right"):(n.stage.right(),n.animate(n.get.transform.right()))},over:function(){n.debug("Flipping over",m),n.is.animating()?n.queue("flip over"):(n.stage.behind(),n.animate(n.get.transform.over()))},back:function(){n.debug("Flipping back",m),n.is.animating()?n.queue("flip back"):(n.stage.behind(),n.animate(n.get.transform.back()))}},stage:{above:function(){var a={origin:(l.outerHeight()-m.outerHeight())/2,depth:{active:m.outerHeight()/2,next:l.outerHeight()/2}}; -n.verbose("Setting the initial animation position as above",m,a),l.css({transform:"rotateY(0deg) translateZ("+a.depth.active+"px)"}),m.addClass(t.animating).css({display:"block",top:a.origin+"px",transform:"rotateX(90deg) translateZ("+a.depth.next+"px)"})},below:function(){var a={origin:(l.outerHeight()-m.outerHeight())/2,depth:{active:m.outerHeight()/2,next:l.outerHeight()/2}};n.verbose("Setting the initial animation position as below",m,a),l.css({transform:"rotateY(0deg) translateZ("+a.depth.active+"px)"}),m.addClass(t.animating).css({display:"block",top:a.origin+"px",transform:"rotateX(-90deg) translateZ("+a.depth.next+"px)"})},left:function(){var a={origin:(l.outerWidth()-m.outerWidth())/2,depth:{active:m.outerWidth()/2,next:l.outerWidth()/2}};n.verbose("Setting the initial animation position as left",m,a),l.css({transform:"rotateY(0deg) translateZ("+a.depth.active+"px)"}),m.addClass(t.animating).css({display:"block",left:a.origin+"px",transform:"rotateY(-90deg) translateZ("+a.depth.next+"px)"})},right:function(){var a={origin:(l.outerWidth()-m.outerWidth())/2,depth:{active:m.outerWidth()/2,next:l.outerWidth()/2}};n.verbose("Setting the initial animation position as left",m,a),l.css({transform:"rotateY(0deg) translateZ("+a.depth.active+"px)"}),m.addClass(t.animating).css({display:"block",left:a.origin+"px",transform:"rotateY(90deg) translateZ("+a.depth.next+"px)"})},behind:function(){var a={origin:(l.outerWidth()-m.outerWidth())/2,depth:{active:m.outerWidth()/2,next:l.outerWidth()/2}};n.verbose("Setting the initial animation position as behind",m,a),l.css({transform:"rotateY(0deg)"}),m.addClass(t.animating).css({display:"block",left:a.origin+"px",transform:"rotateY(-180deg)"})}},setting:function(b,c){return c===d?p[b]:(a.isPlainObject(b)?a.extend(!0,p,b):p[b]=c,void 0)},internal:function(b,c){return c===d?n[b]:(a.isPlainObject(b)?a.extend(!0,n,b):n[b]=c,void 0)},debug:function(){p.debug&&(p.performance?n.performance.log(arguments):(n.debug=Function.prototype.bind.call(console.info,console,p.name+":"),n.debug.apply(console,arguments)))},verbose:function(){p.verbose&&p.debug&&(p.performance?n.performance.log(arguments):(n.verbose=Function.prototype.bind.call(console.info,console,p.name+":"),n.verbose.apply(console,arguments)))},error:function(){n.error=Function.prototype.bind.call(console.error,console,p.name+":"),n.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;p.performance&&(b=(new Date).getTime(),d=g||b,c=b-d,g=b,h.push({Element:z,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(n.performance.timer),n.performance.timer=setTimeout(n.performance.display,100)},display:function(){var b=p.name+":",c=0;g=!1,clearTimeout(n.performance.timer),a.each(h,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",o&&(b+=" '"+o+"'"),f.size()>1&&(b+=" ("+f.size()+")"),(console.group!==d||console.table!==d)&&h.length>0&&(console.groupCollapsed(b),console.table?console.table(h):a.each(h,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),h=[]}},invoke:function(b,c,f){var g,h,i;return c=c||k,f=z||f,"string"==typeof b&&A!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(A[e])&&c!=g)A=A[e];else{if(!a.isPlainObject(A[f])||c==g)return A[e]!==d?(h=A[e],!1):A[f]!==d?(h=A[f],!1):(n.error(s.method),!1);A=A[f]}})),a.isFunction(h)?i=h.apply(f,c):h!==d&&(i=h),a.isArray(e)?e.push(i):"string"==typeof e?e=[e,i]:i!==d&&(e=i),h}},j?(A===d&&n.initialize(),n.invoke(i)):(A!==d&&n.destroy(),n.initialize())}),e!==d?e:this},a.fn.shape.settings={name:"Shape",debug:!0,verbose:!0,performance:!0,namespace:"shape",beforeChange:function(){},onChange:function(){},useCSS:!0,duration:1e3,easing:"easeInOutQuad",error:{side:"You tried to switch to a side that does not exist.",method:"The method you called is not defined"},className:{css:"css",animating:"animating",hidden:"hidden",active:"active"},selector:{sides:".sides",side:".side"}}}(jQuery,window,document),function(a,b,c,d){a.fn.sidebar=function(b){var e,f=a(this),g=f.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1);return f.each(function(){var m,n=a.isPlainObject(b)?a.extend(!0,{},a.fn.sidebar.settings,b):a.extend({},a.fn.sidebar.settings),o=(n.selector,n.className),p=n.namespace,q=n.error,r="."+p,s="module-"+p,t=a(this),u=a("body"),v=a("head"),w=a("style[title="+p+"]"),x=this,y=t.data(s);m={initialize:function(){m.debug("Initializing sidebar",t),m.instantiate()},instantiate:function(){m.verbose("Storing instance of module",m),y=m,t.data(s,m)},destroy:function(){m.verbose("Destroying previous module for",t),t.off(r).removeData(s)},refresh:function(){m.verbose("Refreshing selector cache"),w=a("style[title="+p+"]")},attachEvents:function(b,c){var d=a(b);c=a.isFunction(m[c])?m[c]:m.toggle,d.size()>0?(m.debug("Attaching sidebar events to element",b,c),d.off(r).on("click"+r,c)):m.error(q.notFound)},show:function(){m.debug("Showing sidebar"),m.is.closed()?(n.overlay||m.pushPage(),m.set.active()):m.debug("Sidebar is already visible")},hide:function(){m.is.open()&&(n.overlay||(m.pullPage(),m.remove.pushed()),m.remove.active())},toggle:function(){m.is.closed()?m.show():m.hide()},pushPage:function(){var a=m.get.direction(),b=m.is.vertical()?t.outerHeight():t.outerWidth();n.useCSS?(m.debug("Using CSS to animate body"),m.add.bodyCSS(a,b),m.set.pushed()):m.animatePage(a,b,m.set.pushed)},pullPage:function(){var a=m.get.direction();n.useCSS?(m.debug("Resetting body position css"),m.remove.bodyCSS()):(m.debug("Resetting body position using javascript"),m.animatePage(a,0)),m.remove.pushed()},animatePage:function(a,b){var c={};c["padding-"+a]=b,m.debug("Using javascript to animate body",c),u.animate(c,n.duration,m.set.pushed)},add:{bodyCSS:function(a,b){var c;a!==o.bottom&&(c='"),v.append(c),m.debug("Adding body css to head",w)}},remove:{bodyCSS:function(){m.debug("Removing body css styles",w),m.refresh(),w.remove()},active:function(){t.removeClass(o.active)},pushed:function(){m.verbose("Removing body push state",m.get.direction()),u.removeClass(o[m.get.direction()]).removeClass(o.pushed)}},set:{active:function(){t.addClass(o.active)},pushed:function(){m.verbose("Adding body push state",m.get.direction()),u.addClass(o[m.get.direction()]).addClass(o.pushed)}},get:{direction:function(){return t.hasClass(o.top)?o.top:t.hasClass(o.right)?o.right:t.hasClass(o.bottom)?o.bottom:o.left},transitionEvent:function(){var a,b=c.createElement("element"),e={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(a in e)if(b.style[a]!==d)return e[a]}},is:{open:function(){return t.is(":animated")||t.hasClass(o.active)},closed:function(){return!m.is.open()},vertical:function(){return t.hasClass(o.top)}},setting:function(b,c){return c===d?n[b]:(a.isPlainObject(b)?a.extend(!0,n,b):n[b]=c,void 0)},internal:function(b,c){return c===d?m[b]:(a.isPlainObject(b)?a.extend(!0,m,b):m[b]=c,void 0)},debug:function(){n.debug&&(n.performance?m.performance.log(arguments):(m.debug=Function.prototype.bind.call(console.info,console,n.name+":"),m.debug.apply(console,arguments)))},verbose:function(){n.verbose&&n.debug&&(n.performance?m.performance.log(arguments):(m.verbose=Function.prototype.bind.call(console.info,console,n.name+":"),m.verbose.apply(console,arguments)))},error:function(){m.error=Function.prototype.bind.call(console.error,console,n.name+":"),m.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;n.performance&&(b=(new Date).getTime(),d=h||b,c=b-d,h=b,i.push({Element:x,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(m.performance.timer),m.performance.timer=setTimeout(m.performance.display,100)},display:function(){var b=n.name+":",c=0;h=!1,clearTimeout(m.performance.timer),a.each(i,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",g&&(b+=" '"+g+"'"),f.size()>1&&(b+=" ("+f.size()+")"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(b),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(b,c,f){var g,h,i;return c=c||l,f=x||f,"string"==typeof b&&y!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(y[e])&&c!=g)y=y[e];else{if(!a.isPlainObject(y[f])||c==g)return y[e]!==d?(h=y[e],!1):y[f]!==d?(h=y[f],!1):(m.error(q.method),!1);y=y[f]}})),a.isFunction(h)?i=h.apply(f,c):h!==d&&(i=h),a.isArray(e)?e.push(i):"string"==typeof e?e=[e,i]:i!==d&&(e=i),h}},k?(y===d&&m.initialize(),m.invoke(j)):(y!==d&&m.destroy(),m.initialize())}),e!==d?e:this},a.fn.sidebar.settings={name:"Sidebar",namespace:"sidebar",verbose:!0,debug:!0,performance:!0,useCSS:!0,overlay:!1,duration:300,side:"left",onChange:function(){},onShow:function(){},onHide:function(){},className:{active:"active",pushed:"pushed",top:"top",left:"left",right:"right",bottom:"bottom"},error:{method:"The method you called is not defined.",notFound:"There were no elements that matched the specified selector"}}}(jQuery,window,document),function(a,b,c,d){a.fn.tab=function(c){var e,f,g,h,i,j=a.extend(!0,{},a.fn.tab.settings,c),k=a(this),l=a(j.context).find(j.selector.tabs),m=k.selector||"",n={},o=!0,p=0,q=this,r=(new Date).getTime(),s=[],t=j.className,u=j.metadata,v=j.error,w="."+j.namespace,x="module-"+j.namespace,y=k.data(x),z=arguments[0],A=y!==d&&"string"==typeof z,B=[].slice.call(arguments,1);return h={initialize:function(){if(h.debug("Initializing Tabs",k),j.auto&&(h.verbose("Setting up automatic tab retrieval from server"),j.apiSettings={url:j.path+"/{$tab}"}),j.history){if(a.address===d)return h.error(v.state),!1;if(j.path===!1)return h.error(v.path),!1;h.verbose("Address library found adding state change event"),a.address.state(j.path).unbind("change").bind("change",h.event.history.change)}a.isWindow(q)||(h.debug("Attaching tab activation events to element",k),k.on("click"+w,h.event.click)),h.instantiate()},instantiate:function(){h.verbose("Storing instance of module",h),k.data(x,h)},destroy:function(){h.debug("Destroying tabs",k),k.removeData(x).off(w)},event:{click:function(b){h.debug("Navigation clicked");var c=a(this).data(u.tab);c!==d?(j.history?a.address.value(c):h.changeTab(c),b.preventDefault()):h.debug("No tab specified")},history:{change:function(b){var c=b.pathNames.join("/")||h.get.initialPath(),e=j.templates.determineTitle(c)||!1;h.debug("History change event",c,b),g=b,c!==d&&h.changeTab(c),e&&a.address.title(e)}}},refresh:function(){e&&(h.debug("Refreshing tab",e),h.changeTab(e))},cache:{read:function(a){return a!==d?n[a]:!1},add:function(a,b){a=a||e,h.debug("Adding cached content for",a),n[a]=b},remove:function(a){a=a||e,h.debug("Removing cached content for",a),delete n[a]}},changeTab:function(c){var d=b.history&&b.history.pushState,i=d&&j.ignoreFirstLoad&&o,k=j.auto||a.isPlainObject(j.apiSettings),l=k&&!i?h.utilities.pathToArray(c):h.get.defaultPathArray(c);c=h.utilities.arrayToPath(l),h.deactivate.all(),a.each(l,function(b,d){var m,n,p,q=l.slice(0,b+1),r=h.utilities.arrayToPath(q),s=h.is.tab(r),t=b+1==l.length,u=h.get.tabElement(r);return h.verbose("Looking for tab",d),s?(h.verbose("Tab was found",d),e=r,f=h.utilities.filterArray(l,q),t?p=!0:(m=l.slice(0,b+2),n=h.utilities.arrayToPath(m),p=!h.is.tab(n),p&&h.verbose("Tab parameters found",m)),p&&k?(i?(h.debug("Ignoring remote content on first tab load",r),o=!1,h.cache.add(c,u.html()),h.activate.all(r),a.proxy(j.onTabInit,u)(r,f,g),a.proxy(j.onTabLoad,u)(r,f,g)):(h.activate.navigation(r),h.content.fetch(r,c)),!1):(h.debug("Opened local tab",r),h.activate.all(r),a.proxy(j.onTabLoad,u)(r,f,g),void 0)):(h.error(v.missingTab,d),!1)})},content:{fetch:function(b,c){var i,k,l=h.get.tabElement(b),m={dataType:"html",stateContext:l,success:function(d){h.cache.add(c,d),h.content.update(b,d),b==e?(h.debug("Content loaded",b),h.activate.tab(b)):h.debug("Content loaded in background",b),a.proxy(j.onTabInit,l)(b,f,g),a.proxy(j.onTabLoad,l)(b,f,g)},urlData:{tab:c}},n=l.data(u.promise)||!1,o=n&&"pending"===n.state();c=c||b,k=h.cache.read(c),j.cache&&k?(h.debug("Showing existing content",c),h.content.update(b,k),h.activate.tab(b),a.proxy(j.onTabLoad,l)(b,f,g)):o?(h.debug("Content is already loading",c),l.addClass(t.loading)):a.api!==d?(console.log(j.apiSettings),i=a.extend(!0,{headers:{"X-Remote":!0}},j.apiSettings,m),h.debug("Retrieving remote content",c,i),a.api(i)):h.error(v.api)},update:function(a,b){h.debug("Updating html for",a);var c=h.get.tabElement(a);c.html(b)}},activate:{all:function(a){h.activate.tab(a),h.activate.navigation(a)},tab:function(a){var b=h.get.tabElement(a);h.verbose("Showing tab content for",b),b.addClass(t.active)},navigation:function(a){var b=h.get.navElement(a);h.verbose("Activating tab navigation for",b,a),b.addClass(t.active)}},deactivate:{all:function(){h.deactivate.navigation(),h.deactivate.tabs()},navigation:function(){k.removeClass(t.active)},tabs:function(){l.removeClass(t.active+" "+t.loading)}},is:{tab:function(a){return a!==d?h.get.tabElement(a).size()>0:!1}},get:{initialPath:function(){return k.eq(0).data(u.tab)||l.eq(0).data(u.tab)},path:function(){return a.address.value()},defaultPathArray:function(a){return h.utilities.pathToArray(h.get.defaultPath(a))},defaultPath:function(a){var b=k.filter("[data-"+u.tab+'^="'+a+'/"]').eq(0),c=b.data(u.tab)||!1;if(c){if(h.debug("Found default tab",c),p0?b:c},tab:function(){return e}},utilities:{filterArray:function(b,c){return a.grep(b,function(b){return-1==a.inArray(b,c)})},last:function(b){return a.isArray(b)?b[b.length-1]:!1},pathToArray:function(a){return a===d&&(a=e),"string"==typeof a?a.split("/"):[a]},arrayToPath:function(b){return a.isArray(b)?b.join("/"):!1}},setting:function(b,c){return c===d?j[b]:(a.isPlainObject(b)?a.extend(!0,j,b):j[b]=c,void 0)},internal:function(b,c){return c===d?h[b]:(a.isPlainObject(b)?a.extend(!0,h,b):h[b]=c,void 0)},debug:function(){j.debug&&(j.performance?h.performance.log(arguments):(h.debug=Function.prototype.bind.call(console.info,console,j.name+":"),h.debug.apply(console,arguments)))},verbose:function(){j.verbose&&j.debug&&(j.performance?h.performance.log(arguments):(h.verbose=Function.prototype.bind.call(console.info,console,j.name+":"),h.verbose.apply(console,arguments)))},error:function(){h.error=Function.prototype.bind.call(console.error,console,j.name+":"),h.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;j.performance&&(b=(new Date).getTime(),d=r||b,c=b-d,r=b,s.push({Element:q,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(h.performance.timer),h.performance.timer=setTimeout(h.performance.display,100)},display:function(){var b=j.name+":",c=0;r=!1,clearTimeout(h.performance.timer),a.each(s,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",m&&(b+=" '"+m+"'"),(console.group!==d||console.table!==d)&&s.length>0&&(console.groupCollapsed(b),console.table?console.table(s):a.each(s,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),s=[]}},invoke:function(b,c,e){var f,g,j;return c=c||B,e=q||e,"string"==typeof b&&y!==d&&(b=b.split(/[\. ]/),f=b.length-1,a.each(b,function(c,e){var i=c!=f?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(y[e])&&c!=f)y=y[e];else{if(!a.isPlainObject(y[i])||c==f)return y[e]!==d?(g=y[e],!1):y[i]!==d?(g=y[i],!1):(h.error(v.method),!1);y=y[i]}})),a.isFunction(g)?j=g.apply(e,c):g!==d&&(j=g),a.isArray(i)?i.push(j):"string"==typeof i?i=[i,j]:j!==d&&(i=j),g}},A?(y===d&&h.initialize(),h.invoke(z)):(y!==d&&h.destroy(),h.initialize()),i!==d?i:this},a.tab=function(c){a(b).tab(c)},a.fn.tab.settings={name:"Tab",verbose:!0,debug:!0,performance:!0,namespace:"tab",onTabInit:function(){},onTabLoad:function(){},templates:{determineTitle:function(){}},auto:!1,history:!1,path:!1,context:"body",maxDepth:25,ignoreFirstLoad:!1,alwaysRefresh:!1,cache:!0,apiSettings:!1,error:{api:"You attempted to load content without API module",method:"The method you called is not defined",missingTab:"Tab cannot be found",noContent:"The tab you specified is missing a content url.",path:"History enabled, but no path was specified",recursion:"Max recursive depth reached",state:"The state library has not been initialized"},metadata:{tab:"tab",loaded:"loaded",promise:"promise"},className:{loading:"loading",active:"active"},selector:{tabs:".ui.tab"}}}(jQuery,window,document),function(a,b,c,d){a.fn.transition=function(){var e,f=a(this),g=f.selector||"",h=(new Date).getTime(),i=[],j=arguments,k=j[0],l=[].slice.call(arguments,1),m="string"==typeof k;return b.requestAnimationFrame||b.mozRequestAnimationFrame||b.webkitRequestAnimationFrame||b.msRequestAnimationFrame||function(a){setTimeout(a,0)},f.each(function(){var b,n,o,p,q,r,s,t,u,v,w=a(this),x=this;v={initialize:function(){b=v.get.settings.apply(x,j),v.verbose("Converted arguments into settings object",b),o=b.error,p=b.className,t=b.namespace,q=b.metadata,u="module-"+t,r=v.get.animationEvent(),s=v.get.animationName(),n=w.data(u),n===d&&v.instantiate(),m&&(m=v.invoke(k)),m===!1&&v.animate()},instantiate:function(){v.verbose("Storing instance of module",v),n=v,w.data(u,n)},destroy:function(){v.verbose("Destroying previous module for",x),w.removeData(u)},animate:function(a){return b=a||b,v.debug("Preparing animation",b.animation),v.is.animating()?(b.queue&&v.queue(b.animation),!1):(v.save.conditions(),v.set.duration(b.duration),v.set.animating(),v.repaint(),w.addClass(p.transition).addClass(b.animation).one(r,v.complete),!v.has.direction()&&v.can.transition()&&v.set.direction(),v.can.animate()?(v.show(),v.debug("Starting tween",b.animation,w.attr("class")),void 0):(v.restore.conditions(),v.error(o.noAnimation),!1))},queue:function(a){v.debug("Queueing animation of",a),n.queuing=!0,w.one(r,function(){n.queuing=!1,v.animate.apply(this,b)})},complete:function(){v.verbose("CSS animation complete",b.animation),v.is.looping()||(w.hasClass(p.outward)?(v.restore.conditions(),v.hide()):w.hasClass(p.inward)?(v.restore.conditions(),v.show()):v.restore.conditions(),v.remove.animating()),a.proxy(b.complete,this)()},repaint:function(a){v.verbose("Forcing repaint event"),a=x.offsetWidth},has:{direction:function(a){return a=a||b.animation,w.hasClass(p.inward)||w.hasClass(p.outward)?!0:void 0}},set:{animating:function(){w.addClass(p.animating)},direction:function(){w.is(":visible")?(v.debug("Automatically determining the direction of animation","Outward"),w.addClass(p.outward).removeClass(p.inward)):(v.debug("Automatically determining the direction of animation","Inward"),w.addClass(p.inward).removeClass(p.outward))},looping:function(){v.debug("Transition set to loop"),w.addClass(p.looping)},duration:function(a){a=a||b.duration,a="number"==typeof a?a+"ms":a,v.verbose("Setting animation duration",a),w.css({"-webkit-animation-duration":a,"-moz-animation-duration":a,"-ms-animation-duration":a,"-o-animation-duration":a,"animation-duration":a})}},save:{conditions:function(){v.cache={className:w.attr("class"),style:w.attr("style")},v.verbose("Saving original attributes",v.cache)}},restore:{conditions:function(){return typeof v.cache===d?(v.error(o.cache),!1):(v.cache.className?w.attr("class",v.cache.className):w.removeAttr("class"),v.cache.style?w.attr("style",v.cache.style):w.removeAttr("style"),v.is.looping()&&v.remove.looping(),v.verbose("Restoring original attributes",v.cache),void 0)}},remove:{animating:function(){w.removeClass(p.animating)},looping:function(){v.debug("Transitions are no longer looping"),w.removeClass(p.looping),v.repaint()}},get:{settings:function(b,c,d){return a.isPlainObject(b)?a.extend(!0,{},a.fn.transition.settings,b):"function"==typeof d?a.extend(!0,{},a.fn.transition.settings,{animation:b,complete:d,duration:c}):"string"==typeof c||"number"==typeof c?a.extend(!0,{},a.fn.transition.settings,{animation:b,duration:c}):"object"==typeof c?a.extend(!0,{},a.fn.transition.settings,c,{animation:b}):"function"==typeof c?a.extend(!0,{},a.fn.transition.settings,{animation:b,complete:c}):a.extend(!0,{},a.fn.transition.settings,{animation:b})},animationName:function(){var a,b=c.createElement("div"),e={animation:"animationName",OAnimation:"oAnimationName",MozAnimation:"mozAnimationName",WebkitAnimation:"webkitAnimationName"};for(a in e)if(b.style[a]!==d)return v.verbose("Determining animation vendor name property",e[a]),e[a];return!1},animationEvent:function(){var a,b=c.createElement("div"),e={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"mozAnimationEnd",WebkitAnimation:"webkitAnimationEnd"};for(a in e)if(b.style[a]!==d)return v.verbose("Determining animation vendor end event",e[a]),e[a];return!1}},can:{animate:function(){return"none"!==w.css(s)?(v.debug("CSS definition found"),!0):(v.debug("Unable to find css definition"),!1)},transition:function(){var b=a("
").addClass(w.attr("class")).appendTo(a("body")),c=b.css(s),d=b.addClass(p.inward).css(s);return c!=d?(v.debug("In/out transitions exist"),b.remove(),!0):(v.debug("Static animation found"),b.remove(),!1)}},is:{animating:function(){return w.hasClass(p.animating)},looping:function(){return w.hasClass(p.looping)},visible:function(){return w.is(":visible")}},hide:function(){v.verbose("Hiding element"),w.removeClass(p.visible).addClass(p.transition).addClass(p.hidden),v.repaint()},show:function(){v.verbose("Showing element"),w.removeClass(p.hidden).addClass(p.transition).addClass(p.visible),v.repaint()},start:function(){v.verbose("Starting animation"),w.removeClass(p.disabled)},stop:function(){v.debug("Stopping animation"),w.addClass(p.disabled)},toggle:function(){v.debug("Toggling play status"),w.toggleClass(p.disabled)},setting:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},internal:function(b,c){return c===d?v[b]:(a.isPlainObject(b)?a.extend(!0,v,b):v[b]=c,void 0)},debug:function(){b.debug&&(b.performance?v.performance.log(arguments):(v.debug=Function.prototype.bind.call(console.info,console,b.name+":"),v.debug.apply(console,arguments)))},verbose:function(){b.verbose&&b.debug&&(b.performance?v.performance.log(arguments):(v.verbose=Function.prototype.bind.call(console.info,console,b.name+":"),v.verbose.apply(console,arguments)))},error:function(){v.error=Function.prototype.bind.call(console.error,console,b.name+":"),v.error.apply(console,arguments)},performance:{log:function(a){var c,d,e;b.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:x,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(v.performance.timer),v.performance.timer=setTimeout(v.performance.display,100)},display:function(){var c=b.name+":",e=0;h=!1,clearTimeout(v.performance.timer),a.each(i,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",g&&(c+=" '"+g+"'"),f.size()>1&&(c+=" ("+f.size()+")"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(c),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(b,c,f){var g,h,i;return c=c||l,f=x||f,"string"==typeof b&&n!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(n[e])&&c!=g)n=n[e];else{if(!a.isPlainObject(n[f])||c==g)return n[e]!==d?(h=n[e],!1):n[f]!==d?(h=n[f],!1):!1;n=n[f]}})),a.isFunction(h)?i=h.apply(f,c):h!==d&&(i=h),a.isArray(e)?e.push(i):"string"==typeof e?e=[e,i]:i!==d&&(e=i),h||!1}},v.initialize()}),e!==d?e:this},a.fn.transition.settings={name:"Transition",debug:!1,verbose:!0,performance:!0,namespace:"transition",complete:function(){},animation:"fade",duration:"700ms",queue:!0,className:{animating:"animating",disabled:"disabled",hidden:"hidden",inward:"in",loading:"loading",looping:"looping",outward:"out",transition:"ui transition",visible:"visible"},error:{noAnimation:"There is no css animation matching the one you specified.",method:"The method you called is not defined"}}}(jQuery,window,document),function(a,b,c,d){a.fn.video=function(b){var c,e=a(this),f=e.selector||"",g=(new Date).getTime(),h=[],i=arguments[0],j="string"==typeof i,k=[].slice.call(arguments,1);return e.each(function(){var l,m=a.isPlainObject(b)?a.extend(!0,{},a.fn.video.settings,b):a.extend({},a.fn.video.settings),n=m.selector,o=m.className,p=m.error,q=m.metadata,r=m.namespace,s="."+r,t="module-"+r,u=a(this),v=u.find(n.placeholder),w=u.find(n.playButton),x=u.find(n.embed),y=this,z=u.data(t);l={initialize:function(){l.debug("Initializing video"),v.on("click"+s,l.play),w.on("click"+s,l.play),l.instantiate()},instantiate:function(){l.verbose("Storing instance of module",l),z=l,u.data(t,l)},destroy:function(){l.verbose("Destroying previous instance of video"),u.removeData(t).off(s),v.off(s),w.off(s)},change:function(a,b,c){l.debug("Changing video to ",a,b,c),u.data(q.source,a).data(q.id,b).data(q.url,c),m.onChange()},reset:function(){l.debug("Clearing video embed and showing placeholder"),u.removeClass(o.active),x.html(" "),v.show(),m.onReset()},play:function(){l.debug("Playing video");var a=u.data(q.source)||!1,b=u.data(q.url)||!1,c=u.data(q.id)||!1;x.html(l.generate.html(a,c,b)),u.addClass(o.active),m.onPlay()},generate:{html:function(a,b,c){l.debug("Generating embed html");var d,e="auto"==m.width?u.width():m.width,f="auto"==m.height?u.height():m.height;return a&&b?"vimeo"==a?d='':"youtube"==a&&(d=''):c?d='':l.error(p.noVideo),d},url:function(a){var b=m.api?1:0,c=m.autoplay?1:0,d=m.hd?1:0,e=m.showUI?1:0,f=m.showUI?0:1,g="";return"vimeo"==a&&(g="api="+b+"&title="+e+"&byline="+e+"&portrait="+e+"&autoplay="+c,m.color&&(g+="&color="+m.color)),"ustream"==a?(g="autoplay="+c,m.color&&(g+="&color="+m.color)):"youtube"==a&&(g="enablejsapi="+b+"&autoplay="+c+"&autohide="+f+"&hq="+d+"&modestbranding=1",m.color&&(g+="&color="+m.color)),g}},setting:function(b,c){return c===d?m[b]:(a.isPlainObject(b)?a.extend(!0,m,b):m[b]=c,void 0)},internal:function(b,c){return c===d?l[b]:(a.isPlainObject(b)?a.extend(!0,l,b):l[b]=c,void 0)},debug:function(){m.debug&&(m.performance?l.performance.log(arguments):(l.debug=Function.prototype.bind.call(console.info,console,m.name+":"),l.debug.apply(console,arguments)))},verbose:function(){m.verbose&&m.debug&&(m.performance?l.performance.log(arguments):(l.verbose=Function.prototype.bind.call(console.info,console,m.name+":"),l.verbose.apply(console,arguments)))},error:function(){l.error=Function.prototype.bind.call(console.error,console,m.name+":"),l.error.apply(console,arguments)},performance:{log:function(a){var b,c,d;m.performance&&(b=(new Date).getTime(),d=g||b,c=b-d,g=b,h.push({Element:y,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(l.performance.timer),l.performance.timer=setTimeout(l.performance.display,100)},display:function(){var b=m.name+":",c=0;g=!1,clearTimeout(l.performance.timer),a.each(h,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",f&&(b+=" '"+f+"'"),e.size()>1&&(b+=" ("+e.size()+")"),(console.group!==d||console.table!==d)&&h.length>0&&(console.groupCollapsed(b),console.table?console.table(h):a.each(h,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),h=[]}},invoke:function(b,e,f){var g,h,i;return e=e||k,f=y||f,"string"==typeof b&&z!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(c,e){var f=c!=g?e+b[c+1].charAt(0).toUpperCase()+b[c+1].slice(1):b;if(a.isPlainObject(z[e])&&c!=g)z=z[e];else{if(!a.isPlainObject(z[f])||c==g)return z[e]!==d?(h=z[e],!1):z[f]!==d?(h=z[f],!1):(l.error(p.method),!1);z=z[f]}})),a.isFunction(h)?i=h.apply(f,e):h!==d&&(i=h),a.isArray(c)?c.push(i):"string"==typeof c?c=[c,i]:i!==d&&(c=i),h}},j?(z===d&&l.initialize(),l.invoke(i)):(z!==d&&l.destroy(),l.initialize())}),c!==d?c:this},a.fn.video.settings={name:"Video",namespace:"video",debug:!0,verbose:!0,performance:!0,metadata:{source:"source",id:"id",url:"url"},onPlay:function(){},onReset:function(){},onChange:function(){},onPause:function(){},onStop:function(){},width:"auto",height:"auto",autoplay:!1,color:"#442359",hd:!0,showUI:!1,api:!0,error:{noVideo:"No video specified",method:"The method you called is not defined"},className:{active:"active"},selector:{embed:".embed",placeholder:".placeholder",playButton:".play"}}}(jQuery,window,document); \ No newline at end of file diff --git a/webui.py b/webui.py deleted file mode 100644 index f8afa9b..0000000 --- a/webui.py +++ /dev/null @@ -1,207 +0,0 @@ -from bson.objectid import ObjectId -import os.path -from flask import Flask, request, json, send_file -from flask_wtf import Form -from paramiko.dsskey import DSSKey -from paramiko.rsakey import RSAKey -from paramiko.ssh_exception import SSHException -from six import StringIO -from wtforms import StringField, SelectMultipleField -from wtforms.validators import DataRequired -import wtforms_json - - -from rubick.celery import app as celery, \ - ostack_discover_task, ostack_inspect_task, InspectionRequest -from rubick.common import Inspection, Issue -from rubick.database import get_db, Cluster, RuleGroup -from rubick.discovery import OpenstackDiscovery -from rubick.json import openstack_for_json -from rubick.model import Openstack - - -app = Flask(__name__) -app.secret_key = 'A0Zr98j/3fooN]LWX/,?RT' - -wtforms_json.init() - - -def is_key_valid(private_key): - for key_klass in [RSAKey, DSSKey]: - try: - key_klass.from_private_key(StringIO(private_key)) - return True - except SSHException: - pass - - return False - - -class ValidateClusterForm(Form): - cluster_id = StringField('Cluster', validators=[DataRequired()]) - rules = SelectMultipleField('Rules') - - def __init__(self): - super(ValidateClusterForm, self).__init__(csrf_enabled=False) - - -@app.template_filter() -def to_label(s): - if s in [Issue.FATAL, Issue.ERROR]: - return 'label-danger' - elif s == Issue.WARNING: - return 'label-warning' - else: - return 'label-info' - - -@app.route('/') -def index(): - return send_file(os.path.join(app.static_folder, 'index.html')) - - -@app.route('/clusters') -def get_clusters(): - db = get_db() - return json.dumps([Cluster.from_doc(doc) for doc in db['clusters'].find()]) - - -@app.route('/clusters', methods=['POST']) -def add_cluster(): - data = json.loads(request.data) - errors = {} - if 'nodes' in data and (isinstance(data['nodes'], str) or - isinstance(data['nodes'], unicode)): - data['nodes'] = data['nodes'].split() - - if not 'name' in data or data['name'] == '': - errors['name'] = ['Cluster name is required'] - if not 'nodes' in data or data['nodes'] == []: - errors['nodes'] = ['At least one cluster node is required'] - if 'private_key' not in data: - errors['private_key'] = ['Private key for accessing nodes is required'] - elif not is_key_valid(data['private_key']): - errors['private_key'] = ['Private key format is unknown'] - - if len(errors) > 0: - return json.dumps(dict(errors=errors)), 422 - - cluster = Cluster(**data) - - cluster_id = get_db()['clusters'].save(cluster.as_doc()) - - ostack_discover_task.delay(str(cluster_id)) - - return json.dumps(dict(id=str(cluster_id))), 201 - - -@app.route('/clusters/', methods=['GET']) -def get_cluster(cluster_id): - cluster_doc = get_db()['clusters'].find_one({'_id': ObjectId(cluster_id)}) - if not cluster_doc: - return json.dumps({'errors': {'cluster_id': 'Cluster not found'}}), 404 - - cluster = Cluster.from_doc(cluster_doc) - - return json.dumps(cluster.for_json()), 200 - - -@app.route('/clusters/', methods=['DELETE']) -def del_cluster(cluster_id): - get_db()['clusters'].remove({'_id': ObjectId(cluster_id)}) - return '', 200 - - -@app.route('/clusters//rediscover', methods=['GET']) -def discover_cluster(cluster_id): - cluster_doc = get_db()['clusters'].find_one({'_id': ObjectId(cluster_id)}) - if not cluster_doc: - return json.dumps({'errors': {'cluster_id': 'Cluster not found'}}), 404 - - ostack_discover_task.delay(cluster_id) - - return '', 200 - - -@app.route('/clusters/test', methods=['POST']) -def test_cluster(): - data = json.loads(request.data) - errors = {} - if not 'nodes' in data or data['nodes'] == []: - errors['nodes'] = ['At least one cluster node is required'] - if 'private_key' not in data: - errors['private_key'] = ['Private key for accessing nodes is required'] - elif not is_key_valid(data['private_key']): - errors['private_key'] = ['Private key format is unknown'] - - if len(errors) == 0: - d = OpenstackDiscovery() - if d.test_connection(data['nodes'], private_key=data['private_key']): - return '', 200 - else: - return '', 409 - else: - return json.dumps(dict(errors=errors)), 422 - - -@app.route('/rules') -def get_rules(): - rules = [] - for inspection in Inspection.all_inspections(): - rules.extend(inspection.rules()) - - return json.dumps(rules) - - -@app.route('/rules/') -def get_rules_group(group): - if group not in RuleGroup.all: - return 'Unknown rule group "%s"' % group, 404 - - #db = get_db() - #rules = [Rule.from_doc(doc) for doc in db['rules'].find({'group': group})] - #return json.dumps(rules) - return get_rules() - - -@app.route('/validation', methods=['POST']) -def launch_validation(): - form = ValidateClusterForm() - if form.validate_on_submit(): - db = get_db() - cluster_doc = db['clusters'].find_one({ - '_id': ObjectId(form.cluster_id.data)}) - if not cluster_doc: - return json.dumps({'errors': { - 'cluster_id': 'Cluster not found'}}), 404 - - cluster = Cluster.from_doc(cluster_doc) - request = InspectionRequest( - cluster.nodes, - username='root', - private_key=cluster.private_key) - - job = ostack_inspect_task.delay(request) - - return json.dumps({'id': job.id}), 202 - else: - return json.dumps(dict(errors=form.errors)), 422 - - -@app.route('/validation/') -def job(id): - job = celery.AsyncResult(id) - if job.ready(): - result = job.result.value - - if isinstance(result, Openstack): - return json.dumps({ - 'state': 'success', - 'result': openstack_for_json(result)}) - else: - return json.dumps({'state': 'failure', 'message': result}) - else: - return json.dumps({'state': str(job.state).lower()}) - -if __name__ == '__main__': - app.run(host='0.0.0.0', port=8008, debug=True)