瀏覽代碼

bare base for commands

root 1 年之前
父節點
當前提交
f42cf086df
共有 100 個文件被更改,包括 0 次插入50428 次删除
  1. 0 0
      webgui/config/__init__.py
  2. 0 3
      webgui/config/admin.py
  3. 0 6
      webgui/config/apps.py
  4. 0 116
      webgui/config/forms.py
  5. 0 53
      webgui/config/models.py
  6. 0 55
      webgui/config/templates/config/channel_settings.html
  7. 0 3
      webgui/config/tests.py
  8. 0 9
      webgui/config/urls.py
  9. 0 46
      webgui/config/views.py
  10. 0 22
      webgui/manage.py
  11. 0 6
      webgui/static/Chart.min.js
  12. 0 221
      webgui/static/components/accordion.css
  13. 0 618
      webgui/static/components/accordion.js
  14. 0 8
      webgui/static/components/accordion.min.css
  15. 0 10
      webgui/static/components/accordion.min.js
  16. 0 275
      webgui/static/components/ad.css
  17. 0 10
      webgui/static/components/ad.min.css
  18. 0 1177
      webgui/static/components/api.js
  19. 0 10
      webgui/static/components/api.min.js
  20. 0 135
      webgui/static/components/breadcrumb.css
  21. 0 9
      webgui/static/components/breadcrumb.min.css
  22. 0 4402
      webgui/static/components/button.css
  23. 0 8
      webgui/static/components/button.min.css
  24. 0 169
      webgui/static/components/calendar.css
  25. 0 1562
      webgui/static/components/calendar.js
  26. 0 8
      webgui/static/components/calendar.min.css
  27. 0 10
      webgui/static/components/calendar.min.js
  28. 0 1293
      webgui/static/components/card.css
  29. 0 8
      webgui/static/components/card.min.css
  30. 0 878
      webgui/static/components/checkbox.css
  31. 0 876
      webgui/static/components/checkbox.js
  32. 0 8
      webgui/static/components/checkbox.min.css
  33. 0 10
      webgui/static/components/checkbox.min.js
  34. 0 296
      webgui/static/components/comment.css
  35. 0 8
      webgui/static/components/comment.min.css
  36. 0 145
      webgui/static/components/container.css
  37. 0 9
      webgui/static/components/container.min.css
  38. 0 464
      webgui/static/components/dimmer.css
  39. 0 753
      webgui/static/components/dimmer.js
  40. 0 8
      webgui/static/components/dimmer.min.css
  41. 0 10
      webgui/static/components/dimmer.min.js
  42. 0 276
      webgui/static/components/divider.css
  43. 0 8
      webgui/static/components/divider.min.css
  44. 0 1776
      webgui/static/components/dropdown.css
  45. 0 4177
      webgui/static/components/dropdown.js
  46. 0 8
      webgui/static/components/dropdown.min.css
  47. 0 10
      webgui/static/components/dropdown.min.js
  48. 0 166
      webgui/static/components/embed.css
  49. 0 709
      webgui/static/components/embed.js
  50. 0 9
      webgui/static/components/embed.min.css
  51. 0 10
      webgui/static/components/embed.min.js
  52. 0 314
      webgui/static/components/feed.css
  53. 0 8
      webgui/static/components/feed.min.css
  54. 0 1038
      webgui/static/components/flag.css
  55. 0 8
      webgui/static/components/flag.min.css
  56. 0 1172
      webgui/static/components/form.css
  57. 0 1966
      webgui/static/components/form.js
  58. 0 8
      webgui/static/components/form.min.css
  59. 0 10
      webgui/static/components/form.min.js
  60. 0 2079
      webgui/static/components/grid.css
  61. 0 8
      webgui/static/components/grid.min.css
  62. 0 747
      webgui/static/components/header.css
  63. 0 8
      webgui/static/components/header.min.css
  64. 0 6745
      webgui/static/components/icon.css
  65. 0 8
      webgui/static/components/icon.min.css
  66. 0 310
      webgui/static/components/image.css
  67. 0 8
      webgui/static/components/image.min.css
  68. 0 561
      webgui/static/components/input.css
  69. 0 8
      webgui/static/components/input.min.css
  70. 0 555
      webgui/static/components/item.css
  71. 0 8
      webgui/static/components/item.min.css
  72. 0 2101
      webgui/static/components/label.css
  73. 0 8
      webgui/static/components/label.min.css
  74. 0 975
      webgui/static/components/list.css
  75. 0 8
      webgui/static/components/list.min.css
  76. 0 877
      webgui/static/components/loader.css
  77. 0 8
      webgui/static/components/loader.min.css
  78. 0 2272
      webgui/static/components/menu.css
  79. 0 0
      webgui/static/components/menu.min.css
  80. 0 643
      webgui/static/components/message.css
  81. 0 8
      webgui/static/components/message.min.css
  82. 0 666
      webgui/static/components/modal.css
  83. 0 1138
      webgui/static/components/modal.js
  84. 0 8
      webgui/static/components/modal.min.css
  85. 0 10
      webgui/static/components/modal.min.js
  86. 0 148
      webgui/static/components/nag.css
  87. 0 492
      webgui/static/components/nag.js
  88. 0 9
      webgui/static/components/nag.min.css
  89. 0 10
      webgui/static/components/nag.min.js
  90. 0 248
      webgui/static/components/placeholder.css
  91. 0 8
      webgui/static/components/placeholder.min.css
  92. 0 789
      webgui/static/components/popup.css
  93. 0 1540
      webgui/static/components/popup.js
  94. 0 8
      webgui/static/components/popup.min.css
  95. 0 10
      webgui/static/components/popup.min.js
  96. 0 802
      webgui/static/components/progress.css
  97. 0 1037
      webgui/static/components/progress.js
  98. 0 8
      webgui/static/components/progress.min.css
  99. 0 10
      webgui/static/components/progress.min.js
  100. 0 152
      webgui/static/components/rail.css

+ 0 - 0
webgui/config/__init__.py


+ 0 - 3
webgui/config/admin.py

@@ -1,3 +0,0 @@
-from django.contrib import admin
-
-# Register your models here.

+ 0 - 6
webgui/config/apps.py

@@ -1,6 +0,0 @@
-from django.apps import AppConfig
-
-
-class ConfigConfig(AppConfig):
-    default_auto_field = 'django.db.models.BigAutoField'
-    name = 'config'

+ 0 - 116
webgui/config/forms.py

@@ -1,116 +0,0 @@
-from django import forms
-from stats.models import Channel
-
-class ChannelSettingsForm(forms.ModelForm):
-    class Meta:
-        model = Channel
-        fields = ['interact', 'games']
-        #fields = '__all__'
-        #exclude = ['id'] #Does not need "fields = '__all__'".
-        labels = {
-            'interact': 'Interact',
-        #     'slug': '<i class="linkify icon"></i>Slug',
-        #     'nickname': '<i class="id badge icon"></i>Nickname',
-        #     'username': '<i class="id card icon"></i>Username',
-        #     'password': '<i class="privacy icon"></i>Password',
-        #     'mail': '<i class="envelope icon"></i>NickServ registration E-mail',
-        #     'home_channel': '<i class="hashtag icon"></i>Home channel',
-        #     'command_character': '<i class="terminal icon"></i>Command character',
-        #     'help_character': '<i class="help icon"></i>Help character',
-        #     'services': '<i class="lightbulb outline icon"></i>Network services',
-        #     'enabled': '<i class="power off icon"></i>Enabled',
-        #     # 'mute': '<i class="comment slash icon"></i>Mute',
-        }
-        
-        widgets={
-            'interact': forms.CheckboxInput(attrs={
-                '_style': 'inverted toggle',
-                '_icon': 'comment dots',
-                '_align': 'left',
-                #'_no_label': True,
-                '_help': True,
-                #'_inline': False,
-            }),
-            'games': forms.CheckboxInput(attrs={
-                '_style': 'inverted toggle',
-                '_icon': 'gamepad icon',
-                '_align': 'left',
-                # '_no_label': True,
-                '_help': True,
-                # '_inline': False,
-            }),
-        }
-
-# class HostForm(ModelForm):
-#     class Meta:
-#         model=Host
-#         exclude=['network', 'connection_attempts', 'connection_succeeds']
-#         labels={
-#             'address': '<i class="server icon"></i>Address',
-#             'port': '<i class="dungeon icon"></i>Port',
-#             'ssl': '<i class="lock icon"></i>Use SSL',
-#         }
-#         widgets={
-#             'ssl': forms.CheckboxInput(attrs={'_style': 'inverted toggle',}),
-#         }
-#         layout = [
-#             ('Four Fields',
-#                 ('Field', 'address'),
-#                 ('Field', 'port'),
-#                 ('Field', 'ssl'),
-#                 ('Field', 'DELETE'),
-#             )
-#         ]
-
-# class OwnerForm(ModelForm):
-#     class Meta:
-#         model=Owner
-#         exclude=['network',]
-#         labels={
-#             'hostmask': '<i class="fingerprint icon"></i>Owner hostmask',
-#         }
-#         layout = [
-#             ('Two Fields',
-#                 ('Field', 'hostmask'),
-#                 ('Field', 'DELETE'),
-#             )
-#         ]
-
-# class ChannelForm(ModelForm):
-#     class Meta:
-#         model=Channel
-#         fields=['autojoin', 'statistic_commands', 'games', 'chat']
-#         labels={
-#             'autojoin': '<i class="power icon"></i>Auto join',
-#             'statistic_commands': '<i class="chart pie icon"></i>Statistic commands',
-#             'chat': '<i class="comment dots icon"></i>Chat',
-#             'games': '<i class="gamepad icon"></i>Games',
-#         }
-#         widgets={
-#             'autojoin': forms.CheckboxInput(attrs={'_style': 'inverted toggle'}),
-#             'statistic_commands': forms.CheckboxInput(attrs={'_style': 'inverted toggle'}),
-#             'chat': forms.CheckboxInput(attrs={'_style': 'inverted toggle'}),
-#             'games': forms.CheckboxInput(attrs={'_style': 'inverted toggle'}),
-#         }
-
-# class CurseWordForm(ModelForm):
-#     class Meta:
-#         model=CurseWord
-#         fields={'content'}
-#         labels={
-#             'content': '<i class="book dead icon"></i>Curse word'
-#         }
-#         widgets={
-#             'content': forms.TextInput(attrs={'_no_required': 'True'}),
-#         }
-
-# class AdjectiveForm(ModelForm):
-#     class Meta:
-#         model=Adjective
-#         fields={'content'}
-#         labels={
-#             'content': '<i class="book dead icon"></i>Adjective'
-#         }
-#         widgets={
-#             'content': forms.TextInput(attrs={'_no_required': 'True'}),
-#         }

+ 0 - 53
webgui/config/models.py

@@ -1,53 +0,0 @@
-from django.db import models
-
-# Create your models here.
-
-#class ChannelSettings(models.Model):
-#	id = models.AutoField(
-#		primary_key = True,
-#	)
-#	channel = models.ForeignKey(
-#		"stats.Channel",
-#		on_delete = models.CASCADE,
-#		to_field = "channel_id",
-#		db_column = "channel",
-#	)
-#	interact = models.BooleanField(
-#		default = False,
-#		help_text = "Allow the robot to speak and interact with users."
-#	)
-
-#	class Meta:
-#		managed = False
-#		db_table = "channel_settings"
-#		#verbose_name_plural = "accounts"
-
-#from stats import models as stats_models
-class GuildAccessToken(models.Model):
-	id = models.AutoField(
-		primary_key = True,
-	)
-	guild = models.ForeignKey(
-		#stats_models.Guild,
-		"stats.Guild",
-		on_delete = models.CASCADE,
-		to_field = "guild_id",
-		db_column = "guild",
-	)
-	user = models.ForeignKey(
-		"stats.User",
-		on_delete = models.CASCADE,
-		to_field = "user_id",
-		db_column = "user",
-	)
-	token = models.CharField(
-		max_length = 40,
-		unique = True,
-	)
-	created = models.DateTimeField(
-        auto_now_add = True,
-    )
-
-	class Meta:
-		managed = False
-		db_table = "guild_access_token"

+ 0 - 55
webgui/config/templates/config/channel_settings.html

@@ -1,55 +0,0 @@
-{% extends "base.html" %}
-{% load static %}
-{% load semanticui %}
-{% block content %}
-    {% if token_invalid %}
-        <div class="ui negative message">
-            <div class="header">
-                Invalid token
-            </div>
-            <p>
-                You are on Santa's naughty list now!
-            </p>
-        </div>
-    {% else %}
-        {% if updated %}
-            <div class="ui icon success message">
-                <i class="save icon"></i>
-                <div class="content">
-                    <div class="header">
-                        Changes saved
-                    </div>
-                    <p>You may close the page or continue making changes.</p>
-                </div>
-            </div>
-        {% endif %}
-        <form class= "ui form" method="post">
-            {% csrf_token %}
-            {% render_form form %}
-
-            {{ channel_settings.interact }}
-            {% if token_expired %}
-                <div class="ui negative message">
-                    <div class="header">
-                        Can not save change
-                    </div>
-                    <p>
-                      The token has expired. Ask {{ settings.APPLICATION_NAME }} for a new token on Discord.
-                    </p>
-                </div>
-            {% else %}
-                <button class="ui right floated inverted positive button" type="submit" value="Submit"><i class="save icon"></i>Save</button>
-            {% endif %}
-        </form>
-    {% endif %}
-    
-{% endblock %}
-{% block breadcrumbs %}
-    <i class="sitemap icon"></i>
-    Foo
-    <div class="divider"> / </div>
-    Bar
-    <div class="divider"> / </div>
-    <i class="hashtag icon"></i>
-    <div class="active section">Channel settings</div>
-{% endblock %}

+ 0 - 3
webgui/config/tests.py

@@ -1,3 +0,0 @@
-from django.test import TestCase
-
-# Create your tests here.

+ 0 - 9
webgui/config/urls.py

@@ -1,9 +0,0 @@
-from django.urls import path
-
-
-from . import views
-
-app_name = 'config'
-urlpatterns = [
-    path('channel-settings/<int:channel_id>/<slug:token>', views.channel_settings, name='channel-settings'),
-]

+ 0 - 46
webgui/config/views.py

@@ -1,46 +0,0 @@
-from django.shortcuts import render, get_object_or_404
-from webgui.settings import APPLICATION_NAME
-from stats.models import Channel
-from .models import GuildAccessToken
-from .forms import ChannelSettingsForm
-import datetime
-
-def channel_settings(request, channel_id, token):
-	# Check if channel and token exists.
-	channel = get_object_or_404(Channel, channel_id=channel_id)
-	#settings = get_object(ChannelSettings, channel=channel_id)
-	token = get_object_or_404(GuildAccessToken, token="{"+token+"}")
-
-	# Check if token is valid.
-	#print(token.created.replace(tzinfo=None))
-	#print(token.created.replace(tzinfo=None) + datetime.timedelta(hours=-1))
-	#print(datetime.datetime.now() - datetime.timedelta(minutes=10))
-	token_expired = True
-	if token.created.replace(tzinfo=None) + datetime.timedelta(hours=-1) > datetime.datetime.now() - datetime.timedelta(minutes=10):
-		token_expired = False
-
-	token_invalid = True
-	if token.guild == channel.guild:
-		token_invalid = False
-
-
-	updated = False
-	if request.method == 'POST' and not token_expired and not token_invalid:
-		form = ChannelSettingsForm(request.POST, instance=channel)
-		if form.is_valid():
-			form.save()
-			updated = True
-	else:
-		form = ChannelSettingsForm(instance=channel)
-
-	context = {
-		'title': 'Channel settings',
-		'icon': 'screwdriver',
-		'description': 'Modify channel settings for ' + APPLICATION_NAME,
-		'keywords': 'settings, channel',
-		'form': form,
-		'updated': updated,
-		'token_expired': token_expired,
-		'token_invalid': token_invalid,
-	}
-	return render(request, 'config/channel_settings.html', context)

+ 0 - 22
webgui/manage.py

@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-"""Django's command-line utility for administrative tasks."""
-import os
-import sys
-
-
-def main():
-    """Run administrative tasks."""
-    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'webgui.settings')
-    try:
-        from django.core.management import execute_from_command_line
-    except ImportError as exc:
-        raise ImportError(
-            "Couldn't import Django. Are you sure it's installed and "
-            "available on your PYTHONPATH environment variable? Did you "
-            "forget to activate a virtual environment?"
-        ) from exc
-    execute_from_command_line(sys.argv)
-
-
-if __name__ == '__main__':
-    main()

File diff suppressed because it is too large
+ 0 - 6
webgui/static/Chart.min.js


File diff suppressed because it is too large
+ 0 - 221
webgui/static/components/accordion.css


+ 0 - 618
webgui/static/components/accordion.js

@@ -1,618 +0,0 @@
-/*!
- * # Fomantic-UI - Accordion
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-'use strict';
-
-$.isFunction = $.isFunction || function(obj) {
-  return typeof obj === "function" && typeof obj.nodeType !== "number";
-};
-
-window = (typeof window != 'undefined' && window.Math == Math)
-  ? window
-  : (typeof self != 'undefined' && self.Math == Math)
-    ? self
-    : Function('return this')()
-;
-
-$.fn.accordion = function(parameters) {
-  var
-    $allModules     = $(this),
-
-    time            = new Date().getTime(),
-    performance     = [],
-
-    query           = arguments[0],
-    methodInvoked   = (typeof query == 'string'),
-    queryArguments  = [].slice.call(arguments, 1),
-
-    returnedValue
-  ;
-  $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),
-        observer,
-        module
-      ;
-
-      module = {
-
-        initialize: function() {
-          module.debug('Initializing', $module);
-          module.bind.events();
-          if(settings.observeChanges) {
-            module.observeChanges();
-          }
-          module.instantiate();
-        },
-
-        instantiate: function() {
-          instance = module;
-          $module
-            .data(moduleNamespace, module)
-          ;
-        },
-
-        destroy: function() {
-          module.debug('Destroying previous instance', $module);
-          $module
-            .off(eventNamespace)
-            .removeData(moduleNamespace)
-          ;
-        },
-
-        refresh: function() {
-          $title   = $module.find(selector.title);
-          $content = $module.find(selector.content);
-        },
-
-        observeChanges: function() {
-          if('MutationObserver' in window) {
-            observer = new MutationObserver(function(mutations) {
-              module.debug('DOM tree modified, updating selector cache');
-              module.refresh();
-            });
-            observer.observe(element, {
-              childList : true,
-              subtree   : true
-            });
-            module.debug('Setting up mutation observer', observer);
-          }
-        },
-
-        bind: {
-          events: function() {
-            module.debug('Binding delegated events');
-            $module
-              .on(settings.on + eventNamespace, selector.trigger, module.event.click)
-            ;
-          }
-        },
-
-        event: {
-          click: function() {
-            module.toggle.call(this);
-          }
-        },
-
-        toggle: function(query) {
-          var
-            $activeTitle = (query !== undefined)
-              ? (typeof query === 'number')
-                ? $title.eq(query)
-                : $(query).closest(selector.title)
-              : $(this).closest(selector.title),
-            $activeContent = $activeTitle.next($content),
-            isAnimating = $activeContent.hasClass(className.animating),
-            isActive    = $activeContent.hasClass(className.active),
-            isOpen      = (isActive && !isAnimating),
-            isOpening   = (!isActive && isAnimating)
-          ;
-          module.debug('Toggling visibility of content', $activeTitle);
-          if(isOpen || isOpening) {
-            if(settings.collapsible) {
-              module.close.call($activeTitle);
-            }
-            else {
-              module.debug('Cannot close accordion content collapsing is disabled');
-            }
-          }
-          else {
-            module.open.call($activeTitle);
-          }
-        },
-
-        open: function(query) {
-          var
-            $activeTitle = (query !== undefined)
-              ? (typeof query === 'number')
-                ? $title.eq(query)
-                : $(query).closest(selector.title)
-              : $(this).closest(selector.title),
-            $activeContent = $activeTitle.next($content),
-            isAnimating = $activeContent.hasClass(className.animating),
-            isActive    = $activeContent.hasClass(className.active),
-            isOpen      = (isActive || isAnimating)
-          ;
-          if(isOpen) {
-            module.debug('Accordion already open, skipping', $activeContent);
-            return;
-          }
-          module.debug('Opening accordion content', $activeTitle);
-          settings.onOpening.call($activeContent);
-          settings.onChanging.call($activeContent);
-          if(settings.exclusive) {
-            module.closeOthers.call($activeTitle);
-          }
-          $activeTitle
-            .addClass(className.active)
-          ;
-          $activeContent
-            .stop(true, true)
-            .addClass(className.animating)
-          ;
-          if(settings.animateChildren) {
-            if($.fn.transition !== undefined && $module.transition('is supported')) {
-              $activeContent
-                .children()
-                  .transition({
-                    animation        : 'fade in',
-                    queue            : false,
-                    useFailSafe      : true,
-                    debug            : settings.debug,
-                    verbose          : settings.verbose,
-                    duration         : settings.duration,
-                    skipInlineHidden : true,
-                    onComplete: function() {
-                      $activeContent.children().removeClass(className.transition);
-                    }
-                  })
-              ;
-            }
-            else {
-              $activeContent
-                .children()
-                  .stop(true, true)
-                  .animate({
-                    opacity: 1
-                  }, settings.duration, module.resetOpacity)
-              ;
-            }
-          }
-          $activeContent
-            .slideDown(settings.duration, settings.easing, function() {
-              $activeContent
-                .removeClass(className.animating)
-                .addClass(className.active)
-              ;
-              module.reset.display.call(this);
-              settings.onOpen.call(this);
-              settings.onChange.call(this);
-            })
-          ;
-        },
-
-        close: function(query) {
-          var
-            $activeTitle = (query !== undefined)
-              ? (typeof query === 'number')
-                ? $title.eq(query)
-                : $(query).closest(selector.title)
-              : $(this).closest(selector.title),
-            $activeContent = $activeTitle.next($content),
-            isAnimating    = $activeContent.hasClass(className.animating),
-            isActive       = $activeContent.hasClass(className.active),
-            isOpening      = (!isActive && isAnimating),
-            isClosing      = (isActive && isAnimating)
-          ;
-          if((isActive || isOpening) && !isClosing) {
-            module.debug('Closing accordion content', $activeContent);
-            settings.onClosing.call($activeContent);
-            settings.onChanging.call($activeContent);
-            $activeTitle
-              .removeClass(className.active)
-            ;
-            $activeContent
-              .stop(true, true)
-              .addClass(className.animating)
-            ;
-            if(settings.animateChildren) {
-              if($.fn.transition !== undefined && $module.transition('is supported')) {
-                $activeContent
-                  .children()
-                    .transition({
-                      animation        : 'fade out',
-                      queue            : false,
-                      useFailSafe      : true,
-                      debug            : settings.debug,
-                      verbose          : settings.verbose,
-                      duration         : settings.duration,
-                      skipInlineHidden : true
-                    })
-                ;
-              }
-              else {
-                $activeContent
-                  .children()
-                    .stop(true, true)
-                    .animate({
-                      opacity: 0
-                    }, settings.duration, module.resetOpacity)
-                ;
-              }
-            }
-            $activeContent
-              .slideUp(settings.duration, settings.easing, function() {
-                $activeContent
-                  .removeClass(className.animating)
-                  .removeClass(className.active)
-                ;
-                module.reset.display.call(this);
-                settings.onClose.call(this);
-                settings.onChange.call(this);
-              })
-            ;
-          }
-        },
-
-        closeOthers: function(index) {
-          var
-            $activeTitle = (index !== undefined)
-              ? $title.eq(index)
-              : $(this).closest(selector.title),
-            $parentTitles    = $activeTitle.parents(selector.content).prev(selector.title),
-            $activeAccordion = $activeTitle.closest(selector.accordion),
-            activeSelector   = selector.title + '.' + className.active + ':visible',
-            activeContent    = selector.content + '.' + className.active + ':visible',
-            $openTitles,
-            $nestedTitles,
-            $openContents
-          ;
-          if(settings.closeNested) {
-            $openTitles   = $activeAccordion.find(activeSelector).not($parentTitles);
-            $openContents = $openTitles.next($content);
-          }
-          else {
-            $openTitles   = $activeAccordion.find(activeSelector).not($parentTitles);
-            $nestedTitles = $activeAccordion.find(activeContent).find(activeSelector).not($parentTitles);
-            $openTitles   = $openTitles.not($nestedTitles);
-            $openContents = $openTitles.next($content);
-          }
-          if( ($openTitles.length > 0) ) {
-            module.debug('Exclusive enabled, closing other content', $openTitles);
-            $openTitles
-              .removeClass(className.active)
-            ;
-            $openContents
-              .removeClass(className.animating)
-              .stop(true, true)
-            ;
-            if(settings.animateChildren) {
-              if($.fn.transition !== undefined && $module.transition('is supported')) {
-                $openContents
-                  .children()
-                    .transition({
-                      animation        : 'fade out',
-                      useFailSafe      : true,
-                      debug            : settings.debug,
-                      verbose          : settings.verbose,
-                      duration         : settings.duration,
-                      skipInlineHidden : true
-                    })
-                ;
-              }
-              else {
-                $openContents
-                  .children()
-                    .stop(true, true)
-                    .animate({
-                      opacity: 0
-                    }, settings.duration, module.resetOpacity)
-                ;
-              }
-            }
-            $openContents
-              .slideUp(settings.duration , settings.easing, function() {
-                $(this).removeClass(className.active);
-                module.reset.display.call(this);
-              })
-            ;
-          }
-        },
-
-        reset: {
-
-          display: function() {
-            module.verbose('Removing inline display from element', this);
-            $(this).css('display', '');
-            if( $(this).attr('style') === '') {
-              $(this)
-                .attr('style', '')
-                .removeAttr('style')
-              ;
-            }
-          },
-
-          opacity: function() {
-            module.verbose('Removing inline opacity from element', this);
-            $(this).css('opacity', '');
-            if( $(this).attr('style') === '') {
-              $(this)
-                .attr('style', '')
-                .removeAttr('style')
-              ;
-            }
-          },
-
-        },
-
-        setting: function(name, value) {
-          module.debug('Changing setting', name, value);
-          if( $.isPlainObject(name) ) {
-            $.extend(true, settings, name);
-          }
-          else if(value !== undefined) {
-            if($.isPlainObject(settings[name])) {
-              $.extend(true, settings[name], value);
-            }
-            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.silent && 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.silent && 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() {
-          if(!settings.silent) {
-            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({
-                'Name'           : message[0],
-                'Arguments'      : [].slice.call(message, 1) || '',
-                'Element'        : element,
-                'Execution Time' : executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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
-            object = instance,
-            maxDepth,
-            found,
-            response
-          ;
-          passedArguments = passedArguments || queryArguments;
-          context         = element         || context;
-          if(typeof query == 'string' && object !== 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( object[camelCaseValue] ) && (depth != maxDepth) ) {
-                object = object[camelCaseValue];
-              }
-              else if( object[camelCaseValue] !== undefined ) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
-                object = object[value];
-              }
-              else if( object[value] !== undefined ) {
-                found = object[value];
-                return false;
-              }
-              else {
-                module.error(error.method, query);
-                return false;
-              }
-            });
-          }
-          if ( $.isFunction( found ) ) {
-            response = found.apply(context, passedArguments);
-          }
-          else if(found !== undefined) {
-            response = found;
-          }
-          if(Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if(returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if(response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-      if(methodInvoked) {
-        if(instance === undefined) {
-          module.initialize();
-        }
-        module.invoke(query);
-      }
-      else {
-        if(instance !== undefined) {
-          instance.invoke('destroy');
-        }
-        module.initialize();
-      }
-    })
-  ;
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : this
-  ;
-};
-
-$.fn.accordion.settings = {
-
-  name            : 'Accordion',
-  namespace       : 'accordion',
-
-  silent          : false,
-  debug           : false,
-  verbose         : false,
-  performance     : true,
-
-  on              : 'click', // event on title that opens accordion
-
-  observeChanges  : true,  // whether accordion should automatically refresh on DOM insertion
-
-  exclusive       : true,  // whether a single accordion content panel should be open at once
-  collapsible     : true,  // whether accordion content can be closed
-  closeNested     : false, // whether nested content should be closed when a panel is closed
-  animateChildren : true,  // whether children opacity should be animated
-
-  duration        : 350, // duration of animation
-  easing          : 'easeOutQuad', // easing equation for animation
-
-  onOpening       : function(){}, // callback before open animation
-  onClosing       : function(){}, // callback before closing animation
-  onChanging      : function(){}, // callback before closing or opening animation
-
-  onOpen          : function(){}, // callback after open animation
-  onClose         : function(){}, // callback after closing animation
-  onChange        : function(){}, // callback after closing or opening animation
-
-  error: {
-    method : 'The method you called is not defined'
-  },
-
-  className   : {
-    active    : 'active',
-    animating : 'animating',
-    transition: 'transition'
-  },
-
-  selector    : {
-    accordion : '.accordion',
-    title     : '.title',
-    trigger   : '.title',
-    content   : '.content'
-  }
-
-};
-
-// Adds easing
-$.extend( $.easing, {
-  easeOutQuad: function (x, t, b, c, d) {
-    return -c *(t/=d)*(t-2) + b;
-  }
-});
-
-})( jQuery, window, document );
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/accordion.min.css


File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/accordion.min.js


+ 0 - 275
webgui/static/components/ad.css

@@ -1,275 +0,0 @@
-/*!
- * # Fomantic-UI - Ad
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Copyright 2013 Contributors
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-         Advertisement
-*******************************/
-
-.ui.ad {
-  display: block;
-  overflow: hidden;
-  margin: 1em 0;
-}
-.ui.ad:first-child {
-  margin: 0;
-}
-.ui.ad:last-child {
-  margin: 0;
-}
-.ui.ad iframe {
-  margin: 0;
-  padding: 0;
-  border: none;
-  overflow: hidden;
-}
-
-/*--------------
-     Common
----------------*/
-
-
-/* Leaderboard */
-.ui.leaderboard.ad {
-  width: 728px;
-  height: 90px;
-}
-
-/* Medium Rectangle */
-.ui[class*="medium rectangle"].ad {
-  width: 300px;
-  height: 250px;
-}
-
-/* Large Rectangle */
-.ui[class*="large rectangle"].ad {
-  width: 336px;
-  height: 280px;
-}
-
-/* Half Page */
-.ui[class*="half page"].ad {
-  width: 300px;
-  height: 600px;
-}
-
-/*--------------
-     Square
----------------*/
-
-
-/* Square */
-.ui.square.ad {
-  width: 250px;
-  height: 250px;
-}
-
-/* Small Square */
-.ui[class*="small square"].ad {
-  width: 200px;
-  height: 200px;
-}
-
-/*--------------
-    Rectangle
----------------*/
-
-
-/* Small Rectangle */
-.ui[class*="small rectangle"].ad {
-  width: 180px;
-  height: 150px;
-}
-
-/* Vertical Rectangle */
-.ui[class*="vertical rectangle"].ad {
-  width: 240px;
-  height: 400px;
-}
-
-/*--------------
-     Button
----------------*/
-
-.ui.button.ad {
-  width: 120px;
-  height: 90px;
-}
-.ui[class*="square button"].ad {
-  width: 125px;
-  height: 125px;
-}
-.ui[class*="small button"].ad {
-  width: 120px;
-  height: 60px;
-}
-
-/*--------------
-   Skyscrapers
----------------*/
-
-
-/* Skyscraper */
-.ui.skyscraper.ad {
-  width: 120px;
-  height: 600px;
-}
-
-/* Wide Skyscraper */
-.ui[class*="wide skyscraper"].ad {
-  width: 160px;
-}
-
-/*--------------
-     Banners
----------------*/
-
-
-/* Banner */
-.ui.banner.ad {
-  width: 468px;
-  height: 60px;
-}
-
-/* Vertical Banner */
-.ui[class*="vertical banner"].ad {
-  width: 120px;
-  height: 240px;
-}
-
-/* Top Banner */
-.ui[class*="top banner"].ad {
-  width: 930px;
-  height: 180px;
-}
-
-/* Half Banner */
-.ui[class*="half banner"].ad {
-  width: 234px;
-  height: 60px;
-}
-
-/*--------------
-    Boards
----------------*/
-
-
-/* Leaderboard */
-.ui[class*="large leaderboard"].ad {
-  width: 970px;
-  height: 90px;
-}
-
-/* Billboard */
-.ui.billboard.ad {
-  width: 970px;
-  height: 250px;
-}
-
-/*--------------
-    Panorama
----------------*/
-
-
-/* Panorama */
-.ui.panorama.ad {
-  width: 980px;
-  height: 120px;
-}
-
-/*--------------
-     Netboard
----------------*/
-
-
-/* Netboard */
-.ui.netboard.ad {
-  width: 580px;
-  height: 400px;
-}
-
-/*--------------
-     Mobile
----------------*/
-
-
-/* Large Mobile Banner */
-.ui[class*="large mobile banner"].ad {
-  width: 320px;
-  height: 100px;
-}
-
-/* Mobile Leaderboard */
-.ui[class*="mobile leaderboard"].ad {
-  width: 320px;
-  height: 50px;
-}
-
-
-/*******************************
-             Types
-*******************************/
-
-
-/* Mobile Sizes */
-.ui.mobile.ad {
-  display: none;
-}
-@media only screen and (max-width: 767.98px) {
-  .ui.mobile.ad {
-    display: block;
-  }
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-.ui.centered.ad {
-  margin-left: auto;
-  margin-right: auto;
-}
-.ui.test.ad {
-  position: relative;
-  background: #545454;
-}
-.ui.test.ad:after {
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  width: 100%;
-  text-align: center;
-  -webkit-transform: translateX(-50%) translateY(-50%);
-          transform: translateX(-50%) translateY(-50%);
-  content: 'Ad';
-  color: #FFFFFF;
-  font-size: 1em;
-  font-weight: bold;
-}
-.ui.mobile.test.ad:after {
-  font-size: 0.85714286em;
-}
-.ui.test.ad[data-text]:after {
-  content: attr(data-text);
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-    User Variable Overrides
-*******************************/
-

+ 0 - 10
webgui/static/components/ad.min.css

@@ -1,10 +0,0 @@
-/*!
- * # Fomantic-UI - Ad
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Copyright 2013 Contributors
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */.ui.ad{display:block;overflow:hidden;margin:1em 0}.ui.ad:first-child{margin:0}.ui.ad:last-child{margin:0}.ui.ad iframe{margin:0;padding:0;border:none;overflow:hidden}.ui.leaderboard.ad{width:728px;height:90px}.ui[class*="medium rectangle"].ad{width:300px;height:250px}.ui[class*="large rectangle"].ad{width:336px;height:280px}.ui[class*="half page"].ad{width:300px;height:600px}.ui.square.ad{width:250px;height:250px}.ui[class*="small square"].ad{width:200px;height:200px}.ui[class*="small rectangle"].ad{width:180px;height:150px}.ui[class*="vertical rectangle"].ad{width:240px;height:400px}.ui.button.ad{width:120px;height:90px}.ui[class*="square button"].ad{width:125px;height:125px}.ui[class*="small button"].ad{width:120px;height:60px}.ui.skyscraper.ad{width:120px;height:600px}.ui[class*="wide skyscraper"].ad{width:160px}.ui.banner.ad{width:468px;height:60px}.ui[class*="vertical banner"].ad{width:120px;height:240px}.ui[class*="top banner"].ad{width:930px;height:180px}.ui[class*="half banner"].ad{width:234px;height:60px}.ui[class*="large leaderboard"].ad{width:970px;height:90px}.ui.billboard.ad{width:970px;height:250px}.ui.panorama.ad{width:980px;height:120px}.ui.netboard.ad{width:580px;height:400px}.ui[class*="large mobile banner"].ad{width:320px;height:100px}.ui[class*="mobile leaderboard"].ad{width:320px;height:50px}.ui.mobile.ad{display:none}@media only screen and (max-width:767.98px){.ui.mobile.ad{display:block}}.ui.centered.ad{margin-left:auto;margin-right:auto}.ui.test.ad{position:relative;background:#545454}.ui.test.ad:after{position:absolute;top:50%;left:50%;width:100%;text-align:center;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);content:'Ad';color:#fff;font-size:1em;font-weight:700}.ui.mobile.test.ad:after{font-size:.85714286em}.ui.test.ad[data-text]:after{content:attr(data-text)}

+ 0 - 1177
webgui/static/components/api.js

@@ -1,1177 +0,0 @@
-/*!
- * # Fomantic-UI - API
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-'use strict';
-
-$.isWindow = $.isWindow || function(obj) {
-  return obj != null && obj === obj.window;
-};
-
-  window = (typeof window != 'undefined' && window.Math == Math)
-    ? window
-    : (typeof self != 'undefined' && self.Math == Math)
-      ? self
-      : Function('return this')()
-;
-
-$.api = $.fn.api = function(parameters) {
-
-  var
-    // use window context if none specified
-    $allModules     = $.isFunction(this)
-        ? $(window)
-        : $(this),
-    moduleSelector = $allModules.selector || '',
-    time           = new Date().getTime(),
-    performance    = [],
-
-    query          = arguments[0],
-    methodInvoked  = (typeof query == 'string'),
-    queryArguments = [].slice.call(arguments, 1),
-
-    returnedValue
-  ;
-
-  $allModules
-    .each(function() {
-      var
-        settings          = ( $.isPlainObject(parameters) )
-          ? $.extend(true, {}, $.fn.api.settings, parameters)
-          : $.extend({}, $.fn.api.settings),
-
-        // internal aliases
-        namespace       = settings.namespace,
-        metadata        = settings.metadata,
-        selector        = settings.selector,
-        error           = settings.error,
-        className       = settings.className,
-
-        // define namespaces for modules
-        eventNamespace  = '.' + namespace,
-        moduleNamespace = 'module-' + namespace,
-
-        // element that creates request
-        $module         = $(this),
-        $form           = $module.closest(selector.form),
-
-        // context used for state
-        $context        = (settings.stateContext)
-          ? $(settings.stateContext)
-          : $module,
-
-        // request details
-        ajaxSettings,
-        requestSettings,
-        url,
-        data,
-        requestStartTime,
-
-        // standard module
-        element         = this,
-        context         = $context[0],
-        instance        = $module.data(moduleNamespace),
-        module
-      ;
-
-      module = {
-
-        initialize: function() {
-          if(!methodInvoked) {
-            module.bind.events();
-          }
-          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)
-          ;
-        },
-
-        bind: {
-          events: function() {
-            var
-              triggerEvent = module.get.event()
-            ;
-            if( triggerEvent ) {
-              module.verbose('Attaching API events to element', triggerEvent);
-              $module
-                .on(triggerEvent + eventNamespace, module.event.trigger)
-              ;
-            }
-            else if(settings.on == 'now') {
-              module.debug('Querying API endpoint immediately');
-              module.query();
-            }
-          }
-        },
-
-        decode: {
-          json: function(response) {
-            if(response !== undefined && typeof response == 'string') {
-              try {
-               response = JSON.parse(response);
-              }
-              catch(e) {
-                // isnt json string
-              }
-            }
-            return response;
-          }
-        },
-
-        read: {
-          cachedResponse: function(url) {
-            var
-              response
-            ;
-            if(window.Storage === undefined) {
-              module.error(error.noStorage);
-              return;
-            }
-            response = sessionStorage.getItem(url);
-            module.debug('Using cached response', url, response);
-            response = module.decode.json(response);
-            return response;
-          }
-        },
-        write: {
-          cachedResponse: function(url, response) {
-            if(response && response === '') {
-              module.debug('Response empty, not caching', response);
-              return;
-            }
-            if(window.Storage === undefined) {
-              module.error(error.noStorage);
-              return;
-            }
-            if( $.isPlainObject(response) ) {
-              response = JSON.stringify(response);
-            }
-            sessionStorage.setItem(url, response);
-            module.verbose('Storing cached response for url', url, response);
-          }
-        },
-
-        query: function() {
-
-          if(module.is.disabled()) {
-            module.debug('Element is disabled API request aborted');
-            return;
-          }
-
-          if(module.is.loading()) {
-            if(settings.interruptRequests) {
-              module.debug('Interrupting previous request');
-              module.abort();
-            }
-            else {
-              module.debug('Cancelling request, previous request is still pending');
-              return;
-            }
-          }
-
-          // pass element metadata to url (value, text)
-          if(settings.defaultData) {
-            $.extend(true, settings.urlData, module.get.defaultData());
-          }
-
-          // Add form content
-          if(settings.serializeForm) {
-            settings.data = module.add.formData(settings.data);
-          }
-
-          // call beforesend and get any settings changes
-          requestSettings = module.get.settings();
-
-          // check if before send cancelled request
-          if(requestSettings === false) {
-            module.cancelled = true;
-            module.error(error.beforeSend);
-            return;
-          }
-          else {
-            module.cancelled = false;
-          }
-
-          // get url
-          url = module.get.templatedURL();
-
-          if(!url && !module.is.mocked()) {
-            module.error(error.missingURL);
-            return;
-          }
-
-          // replace variables
-          url = module.add.urlData( url );
-          // missing url parameters
-          if( !url && !module.is.mocked()) {
-            return;
-          }
-
-          requestSettings.url = settings.base + url;
-
-          // look for jQuery ajax parameters in settings
-          ajaxSettings = $.extend(true, {}, settings, {
-            type       : settings.method || settings.type,
-            data       : data,
-            url        : settings.base + url,
-            beforeSend : settings.beforeXHR,
-            success    : function() {},
-            failure    : function() {},
-            complete   : function() {}
-          });
-
-          module.debug('Querying URL', ajaxSettings.url);
-          module.verbose('Using AJAX settings', ajaxSettings);
-          if(settings.cache === 'local' && module.read.cachedResponse(url)) {
-            module.debug('Response returned from local cache');
-            module.request = module.create.request();
-            module.request.resolveWith(context, [ module.read.cachedResponse(url) ]);
-            return;
-          }
-
-          if( !settings.throttle ) {
-            module.debug('Sending request', data, ajaxSettings.method);
-            module.send.request();
-          }
-          else {
-            if(!settings.throttleFirstRequest && !module.timer) {
-              module.debug('Sending request', data, ajaxSettings.method);
-              module.send.request();
-              module.timer = setTimeout(function(){}, settings.throttle);
-            }
-            else {
-              module.debug('Throttling request', settings.throttle);
-              clearTimeout(module.timer);
-              module.timer = setTimeout(function() {
-                if(module.timer) {
-                  delete module.timer;
-                }
-                module.debug('Sending throttled request', data, ajaxSettings.method);
-                module.send.request();
-              }, settings.throttle);
-            }
-          }
-
-        },
-
-        should: {
-          removeError: function() {
-            return ( settings.hideError === true || (settings.hideError === 'auto' && !module.is.form()) );
-          }
-        },
-
-        is: {
-          disabled: function() {
-            return ($module.filter(selector.disabled).length > 0);
-          },
-          expectingJSON: function() {
-            return settings.dataType === 'json' || settings.dataType === 'jsonp';
-          },
-          form: function() {
-            return $module.is('form') || $context.is('form');
-          },
-          mocked: function() {
-            return (settings.mockResponse || settings.mockResponseAsync || settings.response || settings.responseAsync);
-          },
-          input: function() {
-            return $module.is('input');
-          },
-          loading: function() {
-            return (module.request)
-              ? (module.request.state() == 'pending')
-              : false
-            ;
-          },
-          abortedRequest: function(xhr) {
-            if(xhr && xhr.readyState !== undefined && xhr.readyState === 0) {
-              module.verbose('XHR request determined to be aborted');
-              return true;
-            }
-            else {
-              module.verbose('XHR request was not aborted');
-              return false;
-            }
-          },
-          validResponse: function(response) {
-            if( (!module.is.expectingJSON()) || !$.isFunction(settings.successTest) ) {
-              module.verbose('Response is not JSON, skipping validation', settings.successTest, response);
-              return true;
-            }
-            module.debug('Checking JSON returned success', settings.successTest, response);
-            if( settings.successTest(response) ) {
-              module.debug('Response passed success test', response);
-              return true;
-            }
-            else {
-              module.debug('Response failed success test', response);
-              return false;
-            }
-          }
-        },
-
-        was: {
-          cancelled: function() {
-            return (module.cancelled || false);
-          },
-          succesful: function() {
-            module.verbose('This behavior will be deleted due to typo. Use "was successful" instead.');
-            return module.was.successful();
-          },
-          successful: function() {
-            return (module.request && module.request.state() == 'resolved');
-          },
-          failure: function() {
-            return (module.request && module.request.state() == 'rejected');
-          },
-          complete: function() {
-            return (module.request && (module.request.state() == 'resolved' || module.request.state() == 'rejected') );
-          }
-        },
-
-        add: {
-          urlData: function(url, urlData) {
-            var
-              requiredVariables,
-              optionalVariables
-            ;
-            if(url) {
-              requiredVariables = url.match(settings.regExp.required);
-              optionalVariables = url.match(settings.regExp.optional);
-              urlData           = urlData || settings.urlData;
-              if(requiredVariables) {
-                module.debug('Looking for required URL variables', requiredVariables);
-                $.each(requiredVariables, function(index, templatedString) {
-                  var
-                    // allow legacy {$var} style
-                    variable = (templatedString.indexOf('$') !== -1)
-                      ? templatedString.substr(2, templatedString.length - 3)
-                      : templatedString.substr(1, templatedString.length - 2),
-                    value   = ($.isPlainObject(urlData) && urlData[variable] !== undefined)
-                      ? urlData[variable]
-                      : ($module.data(variable) !== undefined)
-                        ? $module.data(variable)
-                        : ($context.data(variable) !== undefined)
-                          ? $context.data(variable)
-                          : urlData[variable]
-                  ;
-                  // remove value
-                  if(value === undefined) {
-                    module.error(error.requiredParameter, variable, url);
-                    url = false;
-                    return false;
-                  }
-                  else {
-                    module.verbose('Found required variable', variable, value);
-                    value = (settings.encodeParameters)
-                      ? module.get.urlEncodedValue(value)
-                      : value
-                    ;
-                    url = url.replace(templatedString, value);
-                  }
-                });
-              }
-              if(optionalVariables) {
-                module.debug('Looking for optional URL variables', requiredVariables);
-                $.each(optionalVariables, function(index, templatedString) {
-                  var
-                    // allow legacy {/$var} style
-                    variable = (templatedString.indexOf('$') !== -1)
-                      ? templatedString.substr(3, templatedString.length - 4)
-                      : templatedString.substr(2, templatedString.length - 3),
-                    value   = ($.isPlainObject(urlData) && urlData[variable] !== undefined)
-                      ? urlData[variable]
-                      : ($module.data(variable) !== undefined)
-                        ? $module.data(variable)
-                        : ($context.data(variable) !== undefined)
-                          ? $context.data(variable)
-                          : urlData[variable]
-                  ;
-                  // optional replacement
-                  if(value !== undefined) {
-                    module.verbose('Optional variable Found', variable, value);
-                    url = url.replace(templatedString, value);
-                  }
-                  else {
-                    module.verbose('Optional variable not found', variable);
-                    // remove preceding slash if set
-                    if(url.indexOf('/' + templatedString) !== -1) {
-                      url = url.replace('/' + templatedString, '');
-                    }
-                    else {
-                      url = url.replace(templatedString, '');
-                    }
-                  }
-                });
-              }
-            }
-            return url;
-          },
-          formData: function(data) {
-            var
-              canSerialize = ($.fn.serializeObject !== undefined),
-              formData     = (canSerialize)
-                ? $form.serializeObject()
-                : $form.serialize(),
-              hasOtherData
-            ;
-            data         = data || settings.data;
-            hasOtherData = $.isPlainObject(data);
-
-            if(hasOtherData) {
-              if(canSerialize) {
-                module.debug('Extending existing data with form data', data, formData);
-                data = $.extend(true, {}, data, formData);
-              }
-              else {
-                module.error(error.missingSerialize);
-                module.debug('Cant extend data. Replacing data with form data', data, formData);
-                data = formData;
-              }
-            }
-            else {
-              module.debug('Adding form data', formData);
-              data = formData;
-            }
-            return data;
-          }
-        },
-
-        send: {
-          request: function() {
-            module.set.loading();
-            module.request = module.create.request();
-            if( module.is.mocked() ) {
-              module.mockedXHR = module.create.mockedXHR();
-            }
-            else {
-              module.xhr = module.create.xhr();
-            }
-            settings.onRequest.call(context, module.request, module.xhr);
-          }
-        },
-
-        event: {
-          trigger: function(event) {
-            module.query();
-            if(event.type == 'submit' || event.type == 'click') {
-              event.preventDefault();
-            }
-          },
-          xhr: {
-            always: function() {
-              // nothing special
-            },
-            done: function(response, textStatus, xhr) {
-              var
-                context            = this,
-                elapsedTime        = (new Date().getTime() - requestStartTime),
-                timeLeft           = (settings.loadingDuration - elapsedTime),
-                translatedResponse = ( $.isFunction(settings.onResponse) )
-                  ? module.is.expectingJSON() && !settings.rawResponse
-                    ? settings.onResponse.call(context, $.extend(true, {}, response))
-                    : settings.onResponse.call(context, response)
-                  : false
-              ;
-              timeLeft = (timeLeft > 0)
-                ? timeLeft
-                : 0
-              ;
-              if(translatedResponse) {
-                module.debug('Modified API response in onResponse callback', settings.onResponse, translatedResponse, response);
-                response = translatedResponse;
-              }
-              if(timeLeft > 0) {
-                module.debug('Response completed early delaying state change by', timeLeft);
-              }
-              setTimeout(function() {
-                if( module.is.validResponse(response) ) {
-                  module.request.resolveWith(context, [response, xhr]);
-                }
-                else {
-                  module.request.rejectWith(context, [xhr, 'invalid']);
-                }
-              }, timeLeft);
-            },
-            fail: function(xhr, status, httpMessage) {
-              var
-                context     = this,
-                elapsedTime = (new Date().getTime() - requestStartTime),
-                timeLeft    = (settings.loadingDuration - elapsedTime)
-              ;
-              timeLeft = (timeLeft > 0)
-                ? timeLeft
-                : 0
-              ;
-              if(timeLeft > 0) {
-                module.debug('Response completed early delaying state change by', timeLeft);
-              }
-              setTimeout(function() {
-                if( module.is.abortedRequest(xhr) ) {
-                  module.request.rejectWith(context, [xhr, 'aborted', httpMessage]);
-                }
-                else {
-                  module.request.rejectWith(context, [xhr, 'error', status, httpMessage]);
-                }
-              }, timeLeft);
-            }
-          },
-          request: {
-            done: function(response, xhr) {
-              module.debug('Successful API Response', response);
-              if(settings.cache === 'local' && url) {
-                module.write.cachedResponse(url, response);
-                module.debug('Saving server response locally', module.cache);
-              }
-              settings.onSuccess.call(context, response, $module, xhr);
-            },
-            complete: function(firstParameter, secondParameter) {
-              var
-                xhr,
-                response
-              ;
-              // have to guess callback parameters based on request success
-              if( module.was.successful() ) {
-                response = firstParameter;
-                xhr      = secondParameter;
-              }
-              else {
-                xhr      = firstParameter;
-                response = module.get.responseFromXHR(xhr);
-              }
-              module.remove.loading();
-              settings.onComplete.call(context, response, $module, xhr);
-            },
-            fail: function(xhr, status, httpMessage) {
-              var
-                // pull response from xhr if available
-                response     = module.get.responseFromXHR(xhr),
-                errorMessage = module.get.errorFromRequest(response, status, httpMessage)
-              ;
-              if(status == 'aborted') {
-                module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage);
-                settings.onAbort.call(context, status, $module, xhr);
-                return true;
-              }
-              else if(status == 'invalid') {
-                module.debug('JSON did not pass success test. A server-side error has most likely occurred', response);
-              }
-              else if(status == 'error') {
-                if(xhr !== undefined) {
-                  module.debug('XHR produced a server error', status, httpMessage);
-                  // make sure we have an error to display to console
-                  if( (xhr.status < 200 || xhr.status >= 300) && httpMessage !== undefined && httpMessage !== '') {
-                    module.error(error.statusMessage + httpMessage, ajaxSettings.url);
-                  }
-                  settings.onError.call(context, errorMessage, $module, xhr);
-                }
-              }
-
-              if(settings.errorDuration && status !== 'aborted') {
-                module.debug('Adding error state');
-                module.set.error();
-                if( module.should.removeError() ) {
-                  setTimeout(module.remove.error, settings.errorDuration);
-                }
-              }
-              module.debug('API Request failed', errorMessage, xhr);
-              settings.onFailure.call(context, response, $module, xhr);
-            }
-          }
-        },
-
-        create: {
-
-          request: function() {
-            // api request promise
-            return $.Deferred()
-              .always(module.event.request.complete)
-              .done(module.event.request.done)
-              .fail(module.event.request.fail)
-            ;
-          },
-
-          mockedXHR: function () {
-            var
-              // xhr does not simulate these properties of xhr but must return them
-              textStatus     = false,
-              status         = false,
-              httpMessage    = false,
-              responder      = settings.mockResponse      || settings.response,
-              asyncResponder = settings.mockResponseAsync || settings.responseAsync,
-              asyncCallback,
-              response,
-              mockedXHR
-            ;
-
-            mockedXHR = $.Deferred()
-              .always(module.event.xhr.complete)
-              .done(module.event.xhr.done)
-              .fail(module.event.xhr.fail)
-            ;
-
-            if(responder) {
-              if( $.isFunction(responder) ) {
-                module.debug('Using specified synchronous callback', responder);
-                response = responder.call(context, requestSettings);
-              }
-              else {
-                module.debug('Using settings specified response', responder);
-                response = responder;
-              }
-              // simulating response
-              mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]);
-            }
-            else if( $.isFunction(asyncResponder) ) {
-              asyncCallback = function(response) {
-                module.debug('Async callback returned response', response);
-
-                if(response) {
-                  mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]);
-                }
-                else {
-                  mockedXHR.rejectWith(context, [{ responseText: response }, status, httpMessage]);
-                }
-              };
-              module.debug('Using specified async response callback', asyncResponder);
-              asyncResponder.call(context, requestSettings, asyncCallback);
-            }
-            return mockedXHR;
-          },
-
-          xhr: function() {
-            var
-              xhr
-            ;
-            // ajax request promise
-            xhr = $.ajax(ajaxSettings)
-              .always(module.event.xhr.always)
-              .done(module.event.xhr.done)
-              .fail(module.event.xhr.fail)
-            ;
-            module.verbose('Created server request', xhr, ajaxSettings);
-            return xhr;
-          }
-        },
-
-        set: {
-          error: function() {
-            module.verbose('Adding error state to element', $context);
-            $context.addClass(className.error);
-          },
-          loading: function() {
-            module.verbose('Adding loading state to element', $context);
-            $context.addClass(className.loading);
-            requestStartTime = new Date().getTime();
-          }
-        },
-
-        remove: {
-          error: function() {
-            module.verbose('Removing error state from element', $context);
-            $context.removeClass(className.error);
-          },
-          loading: function() {
-            module.verbose('Removing loading state from element', $context);
-            $context.removeClass(className.loading);
-          }
-        },
-
-        get: {
-          responseFromXHR: function(xhr) {
-            return $.isPlainObject(xhr)
-              ? (module.is.expectingJSON())
-                ? module.decode.json(xhr.responseText)
-                : xhr.responseText
-              : false
-            ;
-          },
-          errorFromRequest: function(response, status, httpMessage) {
-            return ($.isPlainObject(response) && response.error !== undefined)
-              ? response.error // use json error message
-              : (settings.error[status] !== undefined) // use server error message
-                ? settings.error[status]
-                : httpMessage
-            ;
-          },
-          request: function() {
-            return module.request || false;
-          },
-          xhr: function() {
-            return module.xhr || false;
-          },
-          settings: function() {
-            var
-              runSettings
-            ;
-            runSettings = settings.beforeSend.call(context, settings);
-            if(runSettings) {
-              if(runSettings.success !== undefined) {
-                module.debug('Legacy success callback detected', runSettings);
-                module.error(error.legacyParameters, runSettings.success);
-                runSettings.onSuccess = runSettings.success;
-              }
-              if(runSettings.failure !== undefined) {
-                module.debug('Legacy failure callback detected', runSettings);
-                module.error(error.legacyParameters, runSettings.failure);
-                runSettings.onFailure = runSettings.failure;
-              }
-              if(runSettings.complete !== undefined) {
-                module.debug('Legacy complete callback detected', runSettings);
-                module.error(error.legacyParameters, runSettings.complete);
-                runSettings.onComplete = runSettings.complete;
-              }
-            }
-            if(runSettings === undefined) {
-              module.error(error.noReturnedValue);
-            }
-            if(runSettings === false) {
-              return runSettings;
-            }
-            return (runSettings !== undefined)
-              ? $.extend(true, {}, runSettings)
-              : $.extend(true, {}, settings)
-            ;
-          },
-          urlEncodedValue: function(value) {
-            var
-              decodedValue   = window.decodeURIComponent(value),
-              encodedValue   = window.encodeURIComponent(value),
-              alreadyEncoded = (decodedValue !== value)
-            ;
-            if(alreadyEncoded) {
-              module.debug('URL value is already encoded, avoiding double encoding', value);
-              return value;
-            }
-            module.verbose('Encoding value using encodeURIComponent', value, encodedValue);
-            return encodedValue;
-          },
-          defaultData: function() {
-            var
-              data = {}
-            ;
-            if( !$.isWindow(element) ) {
-              if( module.is.input() ) {
-                data.value = $module.val();
-              }
-              else if( module.is.form() ) {
-
-              }
-              else {
-                data.text = $module.text();
-              }
-            }
-            return data;
-          },
-          event: function() {
-            if( $.isWindow(element) || settings.on == 'now' ) {
-              module.debug('API called without element, no events attached');
-              return false;
-            }
-            else if(settings.on == 'auto') {
-              if( $module.is('input') ) {
-                return (element.oninput !== undefined)
-                  ? 'input'
-                  : (element.onpropertychange !== undefined)
-                    ? 'propertychange'
-                    : 'keyup'
-                ;
-              }
-              else if( $module.is('form') ) {
-                return 'submit';
-              }
-              else {
-                return 'click';
-              }
-            }
-            else {
-              return settings.on;
-            }
-          },
-          templatedURL: function(action) {
-            action = action || $module.data(metadata.action) || settings.action || false;
-            url    = $module.data(metadata.url) || settings.url || false;
-            if(url) {
-              module.debug('Using specified url', url);
-              return url;
-            }
-            if(action) {
-              module.debug('Looking up url for action', action, settings.api);
-              if(settings.api[action] === undefined && !module.is.mocked()) {
-                module.error(error.missingAction, settings.action, settings.api);
-                return;
-              }
-              url = settings.api[action];
-            }
-            else if( module.is.form() ) {
-              url = $module.attr('action') || $context.attr('action') || false;
-              module.debug('No url or action specified, defaulting to form action', url);
-            }
-            return url;
-          }
-        },
-
-        abort: function() {
-          var
-            xhr = module.get.xhr()
-          ;
-          if( xhr && xhr.state() !== 'resolved') {
-            module.debug('Cancelling API request');
-            xhr.abort();
-          }
-        },
-
-        // reset state
-        reset: function() {
-          module.remove.error();
-          module.remove.loading();
-        },
-
-        setting: function(name, value) {
-          module.debug('Changing setting', name, value);
-          if( $.isPlainObject(name) ) {
-            $.extend(true, settings, name);
-          }
-          else if(value !== undefined) {
-            if($.isPlainObject(settings[name])) {
-              $.extend(true, settings[name], value);
-            }
-            else {
-              settings[name] = value;
-            }
-          }
-          else {
-            return settings[name];
-          }
-        },
-        internal: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, module, name);
-          }
-          else if(value !== undefined) {
-            module[name] = value;
-          }
-          else {
-            return module[name];
-          }
-        },
-        debug: function() {
-          if(!settings.silent && 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.silent && 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() {
-          if(!settings.silent) {
-            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({
-                'Name'           : message[0],
-                'Arguments'      : [].slice.call(message, 1) || '',
-                //'Element'        : element,
-                'Execution Time' : executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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
-            object = instance,
-            maxDepth,
-            found,
-            response
-          ;
-          passedArguments = passedArguments || queryArguments;
-          context         = element         || context;
-          if(typeof query == 'string' && object !== 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( object[camelCaseValue] ) && (depth != maxDepth) ) {
-                object = object[camelCaseValue];
-              }
-              else if( object[camelCaseValue] !== undefined ) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
-                object = object[value];
-              }
-              else if( object[value] !== undefined ) {
-                found = object[value];
-                return false;
-              }
-              else {
-                module.error(error.method, query);
-                return false;
-              }
-            });
-          }
-          if ( $.isFunction( found ) ) {
-            response = found.apply(context, passedArguments);
-          }
-          else if(found !== undefined) {
-            response = found;
-          }
-          if(Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if(returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if(response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-
-      if(methodInvoked) {
-        if(instance === undefined) {
-          module.initialize();
-        }
-        module.invoke(query);
-      }
-      else {
-        if(instance !== undefined) {
-          instance.invoke('destroy');
-        }
-        module.initialize();
-      }
-    })
-  ;
-
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : this
-  ;
-};
-
-$.api.settings = {
-
-  name              : 'API',
-  namespace         : 'api',
-
-  debug             : false,
-  verbose           : false,
-  performance       : true,
-
-  // object containing all templates endpoints
-  api               : {},
-
-  // whether to cache responses
-  cache             : true,
-
-  // whether new requests should abort previous requests
-  interruptRequests : true,
-
-  // event binding
-  on                : 'auto',
-
-  // context for applying state classes
-  stateContext      : false,
-
-  // duration for loading state
-  loadingDuration   : 0,
-
-  // whether to hide errors after a period of time
-  hideError         : 'auto',
-
-  // duration for error state
-  errorDuration     : 2000,
-
-  // whether parameters should be encoded with encodeURIComponent
-  encodeParameters  : true,
-
-  // API action to use
-  action            : false,
-
-  // templated URL to use
-  url               : false,
-
-  // base URL to apply to all endpoints
-  base              : '',
-
-  // data that will
-  urlData           : {},
-
-  // whether to add default data to url data
-  defaultData          : true,
-
-  // whether to serialize closest form
-  serializeForm        : false,
-
-  // how long to wait before request should occur
-  throttle             : 0,
-
-  // whether to throttle first request or only repeated
-  throttleFirstRequest : true,
-
-  // standard ajax settings
-  method            : 'get',
-  data              : {},
-  dataType          : 'json',
-
-  // mock response
-  mockResponse      : false,
-  mockResponseAsync : false,
-
-  // aliases for mock
-  response          : false,
-  responseAsync     : false,
-
-// whether onResponse should work with response value without force converting into an object
-  rawResponse       : false,
-
-  // callbacks before request
-  beforeSend  : function(settings) { return settings; },
-  beforeXHR   : function(xhr) {},
-  onRequest   : function(promise, xhr) {},
-
-  // after request
-  onResponse  : false, // function(response) { },
-
-  // response was successful, if JSON passed validation
-  onSuccess   : function(response, $module) {},
-
-  // request finished without aborting
-  onComplete  : function(response, $module) {},
-
-  // failed JSON success test
-  onFailure   : function(response, $module) {},
-
-  // server error
-  onError     : function(errorMessage, $module) {},
-
-  // request aborted
-  onAbort     : function(errorMessage, $module) {},
-
-  successTest : false,
-
-  // errors
-  error : {
-    beforeSend        : 'The before send function has aborted the request',
-    error             : 'There was an error with your request',
-    exitConditions    : 'API Request Aborted. Exit conditions met',
-    JSONParse         : 'JSON could not be parsed during error handling',
-    legacyParameters  : 'You are using legacy API success callback names',
-    method            : 'The method you called is not defined',
-    missingAction     : 'API action used but no url was defined',
-    missingSerialize  : 'jquery-serialize-object is required to add form data to an existing data object',
-    missingURL        : 'No URL specified for api event',
-    noReturnedValue   : 'The beforeSend callback must return a settings object, beforeSend ignored.',
-    noStorage         : 'Caching responses locally requires session storage',
-    parseError        : 'There was an error parsing your request',
-    requiredParameter : 'Missing a required URL parameter: ',
-    statusMessage     : 'Server gave an error: ',
-    timeout           : 'Your request timed out'
-  },
-
-  regExp  : {
-    required : /\{\$*[A-z0-9]+\}/g,
-    optional : /\{\/\$*[A-z0-9]+\}/g,
-  },
-
-  className: {
-    loading : 'loading',
-    error   : 'error'
-  },
-
-  selector: {
-    disabled : '.disabled',
-    form      : 'form'
-  },
-
-  metadata: {
-    action  : 'action',
-    url     : 'url'
-  }
-};
-
-
-
-})( jQuery, window, document );

File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/api.min.js


+ 0 - 135
webgui/static/components/breadcrumb.css

@@ -1,135 +0,0 @@
-/*!
- * # Fomantic-UI - Breadcrumb
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-           Breadcrumb
-*******************************/
-
-.ui.breadcrumb {
-  line-height: 1.4285em;
-  display: inline-block;
-  margin: 0 0;
-  vertical-align: middle;
-}
-.ui.breadcrumb:first-child {
-  margin-top: 0;
-}
-.ui.breadcrumb:last-child {
-  margin-bottom: 0;
-}
-
-
-/*******************************
-          Content
-*******************************/
-
-
-/* Divider */
-.ui.breadcrumb .divider {
-  display: inline-block;
-  opacity: 0.7;
-  margin: 0 0.21428571rem 0;
-  font-size: 0.92857143em;
-  color: rgba(0, 0, 0, 0.4);
-  vertical-align: baseline;
-}
-
-/* Link */
-.ui.breadcrumb a {
-  color: #4183C4;
-}
-.ui.breadcrumb a:hover {
-  color: #1e70bf;
-}
-
-/* Icon Divider */
-.ui.breadcrumb .icon.divider {
-  font-size: 0.85714286em;
-  vertical-align: baseline;
-}
-
-/* Section */
-.ui.breadcrumb a.section {
-  cursor: pointer;
-}
-.ui.breadcrumb .section {
-  display: inline-block;
-  margin: 0;
-  padding: 0;
-}
-
-/* Loose Coupling */
-.ui.breadcrumb.segment {
-  display: inline-block;
-  padding: 0.78571429em 1em;
-}
-
-/* Inverted */
-.ui.inverted.breadcrumb {
-  color: #DCDDDE;
-}
-.ui.inverted.breadcrumb > .active.section {
-  color: #FFFFFF;
-}
-.ui.inverted.breadcrumb > .divider {
-  color: rgba(255, 255, 255, 0.7);
-}
-
-
-/*******************************
-            States
-*******************************/
-
-.ui.breadcrumb .active.section {
-  font-weight: bold;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-.ui.mini.breadcrumb {
-  font-size: 0.78571429rem;
-}
-.ui.tiny.breadcrumb {
-  font-size: 0.85714286rem;
-}
-.ui.small.breadcrumb {
-  font-size: 0.92857143rem;
-}
-.ui.breadcrumb {
-  font-size: 1rem;
-}
-.ui.large.breadcrumb {
-  font-size: 1.14285714rem;
-}
-.ui.big.breadcrumb {
-  font-size: 1.28571429rem;
-}
-.ui.huge.breadcrumb {
-  font-size: 1.42857143rem;
-}
-.ui.massive.breadcrumb {
-  font-size: 1.71428571rem;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

+ 0 - 9
webgui/static/components/breadcrumb.min.css

@@ -1,9 +0,0 @@
-/*!
- * # Fomantic-UI - Breadcrumb
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */.ui.breadcrumb{line-height:1.4285em;display:inline-block;margin:0 0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem 0;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.78571429em 1em}.ui.inverted.breadcrumb{color:#dcddde}.ui.inverted.breadcrumb>.active.section{color:#fff}.ui.inverted.breadcrumb>.divider{color:rgba(255,255,255,.7)}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.breadcrumb{font-size:1rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem}

+ 0 - 4402
webgui/static/components/button.css

@@ -1,4402 +0,0 @@
-/*!
- * # Fomantic-UI - Button
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Button
-*******************************/
-
-.ui.button {
-  cursor: pointer;
-  display: inline-block;
-  min-height: 1em;
-  outline: none;
-  border: none;
-  vertical-align: baseline;
-  background: #E0E1E2 none;
-  color: rgba(0, 0, 0, 0.6);
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  margin: 0 0.25em 0 0;
-  padding: 0.78571429em 1.5em 0.78571429em;
-  text-transform: none;
-  text-shadow: none;
-  font-weight: bold;
-  line-height: 1em;
-  font-style: normal;
-  text-align: center;
-  text-decoration: none;
-  border-radius: 0.28571429rem;
-  -webkit-box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  -webkit-transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, background 0.1s ease, -webkit-box-shadow 0.1s ease;
-  transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, background 0.1s ease, -webkit-box-shadow 0.1s ease;
-  transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;
-  transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease, -webkit-box-shadow 0.1s ease;
-  will-change: auto;
-  -webkit-tap-highlight-color: transparent;
-}
-
-
-/*******************************
-            States
-*******************************/
-
-
-/*--------------
-      Hover
----------------*/
-
-.ui.button:hover {
-  background-color: #CACBCD;
-  background-image: none;
-  -webkit-box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-  color: rgba(0, 0, 0, 0.8);
-}
-.ui.button:hover .icon {
-  opacity: 0.85;
-}
-
-/*--------------
-      Focus
----------------*/
-
-.ui.button:focus {
-  background-color: #CACBCD;
-  color: rgba(0, 0, 0, 0.8);
-  background-image: none;
-  -webkit-box-shadow: '';
-          box-shadow: '';
-}
-.ui.button:focus .icon {
-  opacity: 0.85;
-}
-
-/*--------------
-      Down
----------------*/
-
-.ui.button:active,
-.ui.active.button:active {
-  background-color: #BABBBC;
-  background-image: '';
-  color: rgba(0, 0, 0, 0.9);
-  -webkit-box-shadow: 0 0 0 1px transparent inset, none;
-          box-shadow: 0 0 0 1px transparent inset, none;
-}
-
-/*--------------
-     Active
----------------*/
-
-.ui.active.button {
-  background-color: #C0C1C2;
-  background-image: none;
-  -webkit-box-shadow: 0 0 0 1px transparent inset;
-          box-shadow: 0 0 0 1px transparent inset;
-  color: rgba(0, 0, 0, 0.95);
-}
-.ui.active.button:hover {
-  background-color: #C0C1C2;
-  background-image: none;
-  color: rgba(0, 0, 0, 0.95);
-}
-.ui.active.button:active {
-  background-color: #C0C1C2;
-  background-image: none;
-}
-
-/*--------------
-    Loading
----------------*/
-
-
-/* Specificity hack */
-.ui.loading.loading.loading.loading.loading.loading.button {
-  position: relative;
-  cursor: default;
-  text-shadow: none !important;
-  color: transparent;
-  opacity: 1;
-  pointer-events: auto;
-  -webkit-transition: all 0s linear, opacity 0.1s ease;
-  transition: all 0s linear, opacity 0.1s ease;
-}
-.ui.loading.button:before {
-  position: absolute;
-  content: '';
-  top: 50%;
-  left: 50%;
-  margin: -0.64285714em 0 0 -0.64285714em;
-  width: 1.28571429em;
-  height: 1.28571429em;
-  border-radius: 500rem;
-  border: 0.2em solid rgba(0, 0, 0, 0.15);
-}
-.ui.loading.button:after {
-  position: absolute;
-  content: '';
-  top: 50%;
-  left: 50%;
-  margin: -0.64285714em 0 0 -0.64285714em;
-  width: 1.28571429em;
-  height: 1.28571429em;
-  border-radius: 500rem;
-  -webkit-animation: loader 0.6s infinite linear;
-          animation: loader 0.6s infinite linear;
-  border: 0.2em solid currentColor;
-  color: #FFFFFF;
-  -webkit-box-shadow: 0 0 0 1px transparent;
-          box-shadow: 0 0 0 1px transparent;
-}
-.ui.labeled.icon.loading.button .icon {
-  background-color: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.basic.loading.button:not(.inverted):before {
-  border-color: rgba(0, 0, 0, 0.1);
-}
-.ui.basic.loading.button:not(.inverted):after {
-  border-color: #767676;
-}
-
-/*-------------------
-      Disabled
---------------------*/
-
-.ui.buttons .disabled.button:not(.basic),
-.ui.disabled.button,
-.ui.button:disabled,
-.ui.disabled.button:hover,
-.ui.disabled.active.button {
-  cursor: default;
-  opacity: 0.45 !important;
-  background-image: none;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  pointer-events: none !important;
-}
-
-/* Basic Group With Disabled */
-.ui.basic.buttons .ui.disabled.button {
-  border-color: rgba(34, 36, 38, 0.5);
-}
-
-
-/*******************************
-             Types
-*******************************/
-
-
-/*-------------------
-       Animated
---------------------*/
-
-.ui.animated.button {
-  position: relative;
-  overflow: hidden;
-  padding-right: 0 !important;
-  vertical-align: middle;
-  z-index: 1;
-}
-.ui.animated.button .content {
-  will-change: transform, opacity;
-}
-.ui.animated.button .visible.content {
-  position: relative;
-  margin-right: 1.5em;
-}
-.ui.animated.button .hidden.content {
-  position: absolute;
-  width: 100%;
-}
-
-/* Horizontal */
-.ui.animated.button .visible.content,
-.ui.animated.button .hidden.content {
-  -webkit-transition: right 0.3s ease 0s;
-  transition: right 0.3s ease 0s;
-}
-.ui.animated.button .visible.content {
-  left: auto;
-  right: 0;
-}
-.ui.animated.button .hidden.content {
-  top: 50%;
-  left: auto;
-  right: -100%;
-  margin-top: -0.5em;
-}
-.ui.animated.button:focus .visible.content,
-.ui.animated.button:hover .visible.content {
-  left: auto;
-  right: 200%;
-}
-.ui.animated.button:focus .hidden.content,
-.ui.animated.button:hover .hidden.content {
-  left: auto;
-  right: 0;
-}
-
-/* Vertical */
-.ui.vertical.animated.button .visible.content,
-.ui.vertical.animated.button .hidden.content {
-  -webkit-transition: top 0.3s ease, -webkit-transform 0.3s ease;
-  transition: top 0.3s ease, -webkit-transform 0.3s ease;
-  transition: top 0.3s ease, transform 0.3s ease;
-  transition: top 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
-}
-.ui.vertical.animated.button .visible.content {
-  -webkit-transform: translateY(0%);
-          transform: translateY(0%);
-  right: auto;
-}
-.ui.vertical.animated.button .hidden.content {
-  top: -50%;
-  left: 0;
-  right: auto;
-}
-.ui.vertical.animated.button:focus .visible.content,
-.ui.vertical.animated.button:hover .visible.content {
-  -webkit-transform: translateY(200%);
-          transform: translateY(200%);
-  right: auto;
-}
-.ui.vertical.animated.button:focus .hidden.content,
-.ui.vertical.animated.button:hover .hidden.content {
-  top: 50%;
-  right: auto;
-}
-
-/* Fade */
-.ui.fade.animated.button .visible.content,
-.ui.fade.animated.button .hidden.content {
-  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
-  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
-  transition: opacity 0.3s ease, transform 0.3s ease;
-  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
-}
-.ui.fade.animated.button .visible.content {
-  left: auto;
-  right: auto;
-  opacity: 1;
-  -webkit-transform: scale(1);
-          transform: scale(1);
-}
-.ui.fade.animated.button .hidden.content {
-  opacity: 0;
-  left: 0;
-  right: auto;
-  -webkit-transform: scale(1.5);
-          transform: scale(1.5);
-}
-.ui.fade.animated.button:focus .visible.content,
-.ui.fade.animated.button:hover .visible.content {
-  left: auto;
-  right: auto;
-  opacity: 0;
-  -webkit-transform: scale(0.75);
-          transform: scale(0.75);
-}
-.ui.fade.animated.button:focus .hidden.content,
-.ui.fade.animated.button:hover .hidden.content {
-  left: 0;
-  right: auto;
-  opacity: 1;
-  -webkit-transform: scale(1);
-          transform: scale(1);
-}
-
-/*-------------------
-       Inverted
---------------------*/
-
-.ui.inverted.button {
-  -webkit-box-shadow: 0 0 0 2px #FFFFFF inset;
-          box-shadow: 0 0 0 2px #FFFFFF inset;
-  background: transparent none;
-  color: #FFFFFF;
-  text-shadow: none !important;
-}
-
-/* Group */
-.ui.inverted.buttons .button {
-  margin: 0 0 0 -2px;
-}
-.ui.inverted.buttons .button:first-child {
-  margin-left: 0;
-}
-.ui.inverted.vertical.buttons .button {
-  margin: 0 0 -2px 0;
-}
-.ui.inverted.vertical.buttons .button:first-child {
-  margin-top: 0;
-}
-
-/* States */
-
-/* Hover */
-.ui.inverted.button:hover {
-  background: #FFFFFF;
-  -webkit-box-shadow: 0 0 0 2px #FFFFFF inset;
-          box-shadow: 0 0 0 2px #FFFFFF inset;
-  color: rgba(0, 0, 0, 0.8);
-}
-
-/* Active / Focus */
-.ui.inverted.button:focus,
-.ui.inverted.button.active {
-  background: #FFFFFF;
-  -webkit-box-shadow: 0 0 0 2px #FFFFFF inset;
-          box-shadow: 0 0 0 2px #FFFFFF inset;
-  color: rgba(0, 0, 0, 0.8);
-}
-
-/* Active Focus */
-.ui.inverted.button.active:focus {
-  background: #DCDDDE;
-  -webkit-box-shadow: 0 0 0 2px #DCDDDE inset;
-          box-shadow: 0 0 0 2px #DCDDDE inset;
-  color: rgba(0, 0, 0, 0.8);
-}
-
-/*-------------------
-    Labeled Button
---------------------*/
-
-.ui.labeled.button:not(.icon) {
-  display: -webkit-inline-box;
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  -webkit-box-orient: horizontal;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: row;
-          flex-direction: row;
-  background: none;
-  padding: 0 !important;
-  border: none;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.labeled.button > .button {
-  margin: 0;
-}
-.ui.labeled.button > .label {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-align: center;
-      -ms-flex-align: center;
-          align-items: center;
-  margin: 0 0 0 -1px !important;
-  font-size: 1em;
-  padding: '';
-  border-color: rgba(34, 36, 38, 0.15);
-}
-
-/* Tag */
-.ui.labeled.button > .tag.label:before {
-  width: 1.85em;
-  height: 1.85em;
-}
-
-/* Right */
-.ui.labeled.button:not([class*="left labeled"]) > .button {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.ui.labeled.button:not([class*="left labeled"]) > .label {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-
-/* Left Side */
-.ui[class*="left labeled"].button > .button {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.ui[class*="left labeled"].button > .label {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-
-/*-------------------
-       Social
---------------------*/
-
-
-/* Facebook */
-.ui.facebook.button {
-  background-color: #3B5998;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.facebook.button:hover {
-  background-color: #304d8a;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.facebook.button:active {
-  background-color: #2d4373;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Twitter */
-.ui.twitter.button {
-  background-color: #1DA1F2;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.twitter.button:hover {
-  background-color: #0298f3;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.twitter.button:active {
-  background-color: #0c85d0;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Google Plus */
-.ui.google.plus.button {
-  background-color: #DD4B39;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.google.plus.button:hover {
-  background-color: #e0321c;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.google.plus.button:active {
-  background-color: #c23321;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Linked In */
-.ui.linkedin.button {
-  background-color: #0077B5;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.linkedin.button:hover {
-  background-color: #00669c;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.linkedin.button:active {
-  background-color: #005582;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* YouTube */
-.ui.youtube.button {
-  background-color: #FF0000;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.youtube.button:hover {
-  background-color: #e60000;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.youtube.button:active {
-  background-color: #cc0000;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Instagram */
-.ui.instagram.button {
-  background-color: #49769C;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.instagram.button:hover {
-  background-color: #3d698e;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.instagram.button:active {
-  background-color: #395c79;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Pinterest */
-.ui.pinterest.button {
-  background-color: #BD081C;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.pinterest.button:hover {
-  background-color: #ac0013;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.pinterest.button:active {
-  background-color: #8c0615;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* VK */
-.ui.vk.button {
-  background-color: #45668E;
-  color: #FFFFFF;
-  background-image: none;
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.vk.button:hover {
-  background-color: #395980;
-  color: #FFFFFF;
-}
-.ui.vk.button:active {
-  background-color: #344d6c;
-  color: #FFFFFF;
-}
-
-/* WhatsApp */
-.ui.whatsapp.button {
-  background-color: #25D366;
-  color: #FFFFFF;
-  background-image: none;
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.whatsapp.button:hover {
-  background-color: #19c55a;
-  color: #FFFFFF;
-}
-.ui.whatsapp.button:active {
-  background-color: #1da851;
-  color: #FFFFFF;
-}
-
-/* Telegram */
-.ui.telegram.button {
-  background-color: #0088CC;
-  color: #FFFFFF;
-  background-image: none;
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.telegram.button:hover {
-  background-color: #0077b3;
-  color: #FFFFFF;
-}
-.ui.telegram.button:active {
-  background-color: #006699;
-  color: #FFFFFF;
-}
-
-/*--------------
-     Icon
----------------*/
-
-.ui.button > .icon:not(.button) {
-  height: auto;
-  opacity: 0.8;
-  margin: 0 0.42857143em 0 -0.21428571em;
-  -webkit-transition: opacity 0.1s ease;
-  transition: opacity 0.1s ease;
-  vertical-align: '';
-  color: '';
-}
-.ui.button:not(.icon) > .icon:not(.button):not(.dropdown),
-.ui.button:not(.icon) > .icons:not(.button):not(.dropdown) {
-  margin: 0 0.42857143em 0 -0.21428571em;
-}
-.ui.button:not(.icon) > .right.icon:not(.button):not(.dropdown) {
-  margin: 0 -0.21428571em 0 0.42857143em;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*-------------------
-       Floated
---------------------*/
-
-.ui[class*="left floated"].buttons,
-.ui[class*="left floated"].button {
-  float: left;
-  margin-left: 0;
-  margin-right: 0.25em;
-}
-.ui[class*="right floated"].buttons,
-.ui[class*="right floated"].button {
-  float: right;
-  margin-right: 0;
-  margin-left: 0.25em;
-}
-
-/*-------------------
-       Compact
---------------------*/
-
-.ui.compact.buttons .button,
-.ui.compact.button {
-  padding: 0.58928571em 1.125em 0.58928571em;
-}
-.ui.compact.icon.buttons .button,
-.ui.compact.icon.button {
-  padding: 0.58928571em 0.58928571em 0.58928571em;
-}
-.ui.compact.labeled.icon.buttons .button,
-.ui.compact.labeled.icon.button {
-  padding: 0.58928571em 3.69642857em 0.58928571em;
-}
-.ui.compact.labeled.icon.buttons .button > .icon,
-.ui.compact.labeled.icon.button > .icon {
-  padding: 0.58928571em 0 0.58928571em 0;
-}
-
-/*-------------------
-        Sizes
---------------------*/
-
-.ui.mini.buttons .button,
-.ui.mini.buttons .or,
-.ui.ui.ui.ui.mini.button {
-  font-size: 0.78571429rem;
-}
-.ui.tiny.buttons .button,
-.ui.tiny.buttons .or,
-.ui.ui.ui.ui.tiny.button {
-  font-size: 0.85714286rem;
-}
-.ui.small.buttons .button,
-.ui.small.buttons .or,
-.ui.ui.ui.ui.small.button {
-  font-size: 0.92857143rem;
-}
-.ui.buttons .button,
-.ui.buttons .or,
-.ui.button {
-  font-size: 1rem;
-}
-.ui.large.buttons .button,
-.ui.large.buttons .or,
-.ui.ui.ui.ui.large.button {
-  font-size: 1.14285714rem;
-}
-.ui.big.buttons .button,
-.ui.big.buttons .or,
-.ui.ui.ui.ui.big.button {
-  font-size: 1.28571429rem;
-}
-.ui.huge.buttons .button,
-.ui.huge.buttons .or,
-.ui.ui.ui.ui.huge.button {
-  font-size: 1.42857143rem;
-}
-.ui.massive.buttons .button,
-.ui.massive.buttons .or,
-.ui.ui.ui.ui.massive.button {
-  font-size: 1.71428571rem;
-}
-
-/* Dropdown coupled buttons sizes */
-.ui.mini.buttons .dropdown {
-  font-size: 0.78571429rem;
-}
-.ui.mini.buttons .dropdown .menu > .item {
-  font-size: 0.78571429rem;
-}
-.ui.tiny.buttons .dropdown {
-  font-size: 0.85714286rem;
-}
-.ui.tiny.buttons .dropdown .menu > .item {
-  font-size: 0.85714286rem;
-}
-.ui.small.buttons .dropdown {
-  font-size: 0.92857143rem;
-}
-.ui.small.buttons .dropdown .menu > .item {
-  font-size: 0.92857143rem;
-}
-.ui.large.buttons .dropdown {
-  font-size: 1.14285714rem;
-}
-.ui.large.buttons .dropdown .menu > .item {
-  font-size: 1.14285714rem;
-}
-.ui.big.buttons .dropdown {
-  font-size: 1.28571429rem;
-}
-.ui.big.buttons .dropdown .menu > .item {
-  font-size: 1.28571429rem;
-}
-.ui.huge.buttons .dropdown {
-  font-size: 1.42857143rem;
-}
-.ui.huge.buttons .dropdown .menu > .item {
-  font-size: 1.42857143rem;
-}
-.ui.massive.buttons .dropdown {
-  font-size: 1.71428571rem;
-}
-.ui.massive.buttons .dropdown .menu > .item {
-  font-size: 1.71428571rem;
-}
-
-/*--------------
-    Icon Only
----------------*/
-
-.ui.icon.buttons .button,
-.ui.icon.button {
-  padding: 0.78571429em 0.78571429em 0.78571429em;
-}
-.ui.icon.buttons .button > .icon,
-.ui.icon.button > .icon {
-  opacity: 0.9;
-  margin: 0 !important;
-  vertical-align: top;
-}
-
-/*-------------------
-        Basic
---------------------*/
-
-.ui.basic.buttons .button,
-.ui.basic.button {
-  background: transparent none;
-  color: rgba(0, 0, 0, 0.6);
-  font-weight: normal;
-  border-radius: 0.28571429rem;
-  text-transform: none;
-  text-shadow: none !important;
-  -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-}
-.ui.basic.buttons {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  border: 1px solid rgba(34, 36, 38, 0.15);
-  border-radius: 0.28571429rem;
-}
-.ui.basic.buttons .button {
-  border-radius: 0;
-}
-.ui.basic.buttons .button:hover,
-.ui.basic.button:hover {
-  background: #FFFFFF;
-  color: rgba(0, 0, 0, 0.8);
-  -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.basic.buttons .button:focus,
-.ui.basic.button:focus {
-  background: #FFFFFF;
-  color: rgba(0, 0, 0, 0.8);
-  -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.basic.buttons .button:active,
-.ui.basic.button:active {
-  background: #F8F8F8;
-  color: rgba(0, 0, 0, 0.9);
-  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.basic.buttons .active.button,
-.ui.basic.active.button {
-  background: rgba(0, 0, 0, 0.05);
-  -webkit-box-shadow: '';
-          box-shadow: '';
-  color: rgba(0, 0, 0, 0.95);
-}
-.ui.basic.buttons .active.button:hover,
-.ui.basic.active.button:hover {
-  background-color: rgba(0, 0, 0, 0.05);
-}
-
-/* Vertical */
-.ui.basic.buttons .button:hover {
-  -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset inset;
-          box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset inset;
-}
-.ui.basic.buttons .button:active {
-  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset inset;
-          box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset inset;
-}
-.ui.basic.buttons .active.button {
-  -webkit-box-shadow: '';
-          box-shadow: '';
-}
-
-/* Standard Basic Inverted */
-.ui.basic.inverted.buttons .button,
-.ui.basic.inverted.button {
-  background-color: transparent;
-  color: #F9FAFB;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-}
-.ui.basic.inverted.buttons .button:hover,
-.ui.basic.inverted.button:hover {
-  color: #FFFFFF;
-  -webkit-box-shadow: 0 0 0 2px #ffffff inset;
-          box-shadow: 0 0 0 2px #ffffff inset;
-}
-.ui.basic.inverted.buttons .button:focus,
-.ui.basic.inverted.button:focus {
-  color: #FFFFFF;
-  -webkit-box-shadow: 0 0 0 2px #ffffff inset;
-          box-shadow: 0 0 0 2px #ffffff inset;
-}
-.ui.basic.inverted.buttons .button:active,
-.ui.basic.inverted.button:active {
-  background-color: rgba(255, 255, 255, 0.08);
-  color: #FFFFFF;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9) inset;
-}
-.ui.basic.inverted.buttons .active.button,
-.ui.basic.inverted.active.button {
-  background-color: rgba(255, 255, 255, 0.08);
-  color: #FFFFFF;
-  text-shadow: none;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.7) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.7) inset;
-}
-.ui.basic.inverted.buttons .active.button:hover,
-.ui.basic.inverted.active.button:hover {
-  background-color: rgba(255, 255, 255, 0.15);
-  -webkit-box-shadow: 0 0 0 2px #ffffff inset;
-          box-shadow: 0 0 0 2px #ffffff inset;
-}
-
-/* Basic Group */
-.ui.basic.buttons .button {
-  border-left: 1px solid rgba(34, 36, 38, 0.15);
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.basic.vertical.buttons .button {
-  border-left: none;
-  border-left-width: 0;
-  border-top: 1px solid rgba(34, 36, 38, 0.15);
-}
-.ui.basic.vertical.buttons .button:first-child {
-  border-top-width: 0;
-}
-
-/*-------------------
-       Tertiary
---------------------*/
-
-
-/* Overline Mixin */
-.ui.tertiary.button {
-  -webkit-transition: color 0.1s ease !important;
-  transition: color 0.1s ease !important;
-  border-radius: 0;
-  margin: 0.28571429em 0.25em 0.28571429em 0 !important;
-  padding: 0.5em !important;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: rgba(0, 0, 0, 0.6);
-  background: none;
-}
-.ui.tertiary.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #666666;
-          box-shadow: inset 0 -0.2em 0 #666666;
-  color: #333333;
-  background: none;
-}
-.ui.tertiary.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #666666;
-          box-shadow: inset 0 -0.2em 0 #666666;
-  color: #333333;
-  background: none;
-}
-.ui.tertiary.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #999999;
-          box-shadow: inset 0 -0.2em 0 #999999;
-  border-radius: 0.28571429rem 0.28571429rem 0 0;
-  color: #666666;
-  background: none;
-}
-
-/*--------------
-  Labeled Icon
----------------*/
-
-.ui.labeled.icon.buttons .button,
-.ui.labeled.icon.button {
-  position: relative;
-  padding-left: 4.07142857em !important;
-  padding-right: 1.5em !important;
-}
-
-/* Left Labeled */
-.ui.labeled.icon.buttons > .button > .icon,
-.ui.labeled.icon.button > .icon {
-  position: absolute;
-  top: 0;
-  left: 0;
-  height: 100%;
-  line-height: 1;
-  border-radius: 0;
-  border-top-left-radius: inherit;
-  border-bottom-left-radius: inherit;
-  text-align: center;
-  -webkit-animation: none;
-          animation: none;
-  padding: 0.78571429em 0 0.78571429em 0;
-  margin: 0;
-  width: 2.57142857em;
-  background-color: rgba(0, 0, 0, 0.05);
-  color: '';
-  -webkit-box-shadow: -1px 0 0 0 transparent inset;
-          box-shadow: -1px 0 0 0 transparent inset;
-}
-
-/* Right Labeled */
-.ui[class*="right labeled"].icon.button {
-  padding-right: 4.07142857em !important;
-  padding-left: 1.5em !important;
-}
-.ui[class*="right labeled"].icon.button > .icon {
-  left: auto;
-  right: 0;
-  border-radius: 0;
-  border-top-right-radius: inherit;
-  border-bottom-right-radius: inherit;
-  -webkit-box-shadow: 1px 0 0 0 transparent inset;
-          box-shadow: 1px 0 0 0 transparent inset;
-}
-.ui.labeled.icon.buttons > .button > .icon:before,
-.ui.labeled.icon.button > .icon:before,
-.ui.labeled.icon.buttons > .button > .icon:after,
-.ui.labeled.icon.button > .icon:after {
-  display: block;
-  position: relative;
-  width: 100%;
-  top: 0;
-  text-align: center;
-}
-.ui.labeled.icon.buttons .button > .icon {
-  border-radius: 0;
-}
-.ui.labeled.icon.buttons .button:first-child > .icon {
-  border-top-left-radius: 0.28571429rem;
-  border-bottom-left-radius: 0.28571429rem;
-}
-.ui.labeled.icon.buttons .button:last-child > .icon {
-  border-top-right-radius: 0.28571429rem;
-  border-bottom-right-radius: 0.28571429rem;
-}
-.ui.vertical.labeled.icon.buttons .button:first-child > .icon {
-  border-radius: 0;
-  border-top-left-radius: 0.28571429rem;
-}
-.ui.vertical.labeled.icon.buttons .button:last-child > .icon {
-  border-radius: 0;
-  border-bottom-left-radius: 0.28571429rem;
-}
-
-/* Loading Icon in Labeled Button */
-.ui.labeled.icon.button > .loading.icon:before {
-  -webkit-animation: loader 2s linear infinite;
-          animation: loader 2s linear infinite;
-}
-
-/*--------------
-     Toggle
----------------*/
-
-
-/* Toggle (Modifies active state to give affordances) */
-.ui.toggle.buttons .active.button,
-.ui.buttons .button.toggle.active,
-.ui.button.toggle.active {
-  background-color: #21BA45;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  text-shadow: none;
-  color: #FFFFFF;
-}
-.ui.button.toggle.active:hover {
-  background-color: #16ab39;
-  text-shadow: none;
-  color: #FFFFFF;
-}
-
-/*--------------
-    Circular
----------------*/
-
-.ui.circular.button {
-  border-radius: 10em;
-}
-.ui.circular.button > .icon {
-  width: 1em;
-  vertical-align: baseline;
-}
-
-/*-------------------
-      Or Buttons
---------------------*/
-
-.ui.buttons .or {
-  position: relative;
-  width: 0.3em;
-  height: 2.57142857em;
-  z-index: 3;
-}
-.ui.buttons .or:before {
-  position: absolute;
-  text-align: center;
-  border-radius: 500rem;
-  content: 'or';
-  top: 50%;
-  left: 50%;
-  background-color: #FFFFFF;
-  text-shadow: none;
-  margin-top: -0.89285714em;
-  margin-left: -0.89285714em;
-  width: 1.78571429em;
-  height: 1.78571429em;
-  line-height: 1.78571429em;
-  color: rgba(0, 0, 0, 0.4);
-  font-style: normal;
-  font-weight: bold;
-  -webkit-box-shadow: 0 0 0 1px transparent inset;
-          box-shadow: 0 0 0 1px transparent inset;
-}
-.ui.buttons .or[data-text]:before {
-  content: attr(data-text);
-}
-
-/* Fluid Or */
-.ui.fluid.buttons .or {
-  width: 0 !important;
-}
-.ui.fluid.buttons .or:after {
-  display: none;
-}
-
-/*-------------------
-       Attached
---------------------*/
-
-
-/* Singular */
-.ui.attached.button {
-  position: relative;
-  display: block;
-  margin: 0;
-  border-radius: 0;
-  -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15);
-}
-
-/* Top / Bottom */
-.ui.attached.top.button {
-  border-radius: 0.28571429rem 0.28571429rem 0 0;
-}
-.ui.attached.bottom.button {
-  border-radius: 0 0 0.28571429rem 0.28571429rem;
-}
-
-/* Left / Right */
-.ui.left.attached.button {
-  display: inline-block;
-  border-left: none;
-  text-align: right;
-  padding-right: 0.75em;
-  border-radius: 0.28571429rem 0 0 0.28571429rem;
-}
-.ui.right.attached.button {
-  display: inline-block;
-  text-align: left;
-  padding-left: 0.75em;
-  border-radius: 0 0.28571429rem 0.28571429rem 0;
-}
-
-/* Plural */
-.ui.attached.buttons {
-  position: relative;
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  border-radius: 0;
-  width: auto !important;
-  z-index: auto;
-  margin-left: -1px;
-  margin-right: -1px;
-}
-.ui.attached.buttons .button {
-  margin: 0;
-}
-.ui.attached.buttons .button:first-child {
-  border-radius: 0;
-}
-.ui.attached.buttons .button:last-child {
-  border-radius: 0;
-}
-
-/* Top / Bottom */
-.ui[class*="top attached"].buttons {
-  margin-bottom: -1px;
-  border-radius: 0.28571429rem 0.28571429rem 0 0;
-}
-.ui[class*="top attached"].buttons .button:first-child {
-  border-radius: 0.28571429rem 0 0 0;
-}
-.ui[class*="top attached"].buttons .button:last-child {
-  border-radius: 0 0.28571429rem 0 0;
-}
-.ui[class*="bottom attached"].buttons {
-  margin-top: -1px;
-  border-radius: 0 0 0.28571429rem 0.28571429rem;
-}
-.ui[class*="bottom attached"].buttons .button:first-child {
-  border-radius: 0 0 0 0.28571429rem;
-}
-.ui[class*="bottom attached"].buttons .button:last-child {
-  border-radius: 0 0 0.28571429rem 0;
-}
-
-/* Left / Right */
-.ui[class*="left attached"].buttons {
-  display: -webkit-inline-box;
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  margin-right: 0;
-  margin-left: -1px;
-  border-radius: 0 0.28571429rem 0.28571429rem 0;
-}
-.ui[class*="left attached"].buttons .button:first-child {
-  margin-left: -1px;
-  border-radius: 0 0.28571429rem 0 0;
-}
-.ui[class*="left attached"].buttons .button:last-child {
-  margin-left: -1px;
-  border-radius: 0 0 0.28571429rem 0;
-}
-.ui[class*="right attached"].buttons {
-  display: -webkit-inline-box;
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  margin-left: 0;
-  margin-right: -1px;
-  border-radius: 0.28571429rem 0 0 0.28571429rem;
-}
-.ui[class*="right attached"].buttons .button:first-child {
-  margin-left: -1px;
-  border-radius: 0.28571429rem 0 0 0;
-}
-.ui[class*="right attached"].buttons .button:last-child {
-  margin-left: -1px;
-  border-radius: 0 0 0 0.28571429rem;
-}
-
-/*-------------------
-        Fluid
---------------------*/
-
-.ui.fluid.buttons,
-.ui.fluid.button {
-  width: 100%;
-}
-.ui.fluid.button {
-  display: block;
-}
-.ui.two.buttons {
-  width: 100%;
-}
-.ui.two.buttons > .button {
-  width: 50%;
-}
-.ui.three.buttons {
-  width: 100%;
-}
-.ui.three.buttons > .button {
-  width: 33.333%;
-}
-.ui.four.buttons {
-  width: 100%;
-}
-.ui.four.buttons > .button {
-  width: 25%;
-}
-.ui.five.buttons {
-  width: 100%;
-}
-.ui.five.buttons > .button {
-  width: 20%;
-}
-.ui.six.buttons {
-  width: 100%;
-}
-.ui.six.buttons > .button {
-  width: 16.666%;
-}
-.ui.seven.buttons {
-  width: 100%;
-}
-.ui.seven.buttons > .button {
-  width: 14.285%;
-}
-.ui.eight.buttons {
-  width: 100%;
-}
-.ui.eight.buttons > .button {
-  width: 12.5%;
-}
-.ui.nine.buttons {
-  width: 100%;
-}
-.ui.nine.buttons > .button {
-  width: 11.11%;
-}
-.ui.ten.buttons {
-  width: 100%;
-}
-.ui.ten.buttons > .button {
-  width: 10%;
-}
-.ui.eleven.buttons {
-  width: 100%;
-}
-.ui.eleven.buttons > .button {
-  width: 9.09%;
-}
-.ui.twelve.buttons {
-  width: 100%;
-}
-.ui.twelve.buttons > .button {
-  width: 8.3333%;
-}
-
-/* Fluid Vertical Buttons */
-.ui.fluid.vertical.buttons,
-.ui.fluid.vertical.buttons > .button {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  width: auto;
-  -webkit-box-pack: center;
-      -ms-flex-pack: center;
-          justify-content: center;
-}
-.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%;
-}
-
-/*-------------------
-       Colors
---------------------*/
-
-.ui.primary.buttons .button,
-.ui.primary.button {
-  background-color: #2185D0;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.primary.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.primary.buttons .button:hover,
-.ui.primary.button:hover {
-  background-color: #1678c2;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.primary.buttons .button:focus,
-.ui.primary.button:focus {
-  background-color: #0d71bb;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.primary.buttons .button:active,
-.ui.primary.button:active {
-  background-color: #1a69a4;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.primary.buttons .active.button,
-.ui.primary.buttons .active.button:active,
-.ui.primary.active.button,
-.ui.primary.button .active.button:active {
-  background-color: #1279c6;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.primary.buttons .button,
-.ui.basic.primary.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #2185D0 inset;
-          box-shadow: 0 0 0 1px #2185D0 inset;
-  color: #2185D0;
-}
-.ui.basic.primary.buttons .button:hover,
-.ui.basic.primary.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #1678c2 inset;
-          box-shadow: 0 0 0 1px #1678c2 inset;
-  color: #1678c2;
-}
-.ui.basic.primary.buttons .button:focus,
-.ui.basic.primary.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #0d71bb inset;
-          box-shadow: 0 0 0 1px #0d71bb inset;
-  color: #1678c2;
-}
-.ui.basic.primary.buttons .active.button,
-.ui.basic.primary.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #1279c6 inset;
-          box-shadow: 0 0 0 1px #1279c6 inset;
-  color: #1a69a4;
-}
-.ui.basic.primary.buttons .button:active,
-.ui.basic.primary.button:active {
-  -webkit-box-shadow: 0 0 0 1px #1a69a4 inset;
-          box-shadow: 0 0 0 1px #1a69a4 inset;
-  color: #1a69a4;
-}
-.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.primary.buttons .button,
-.ui.inverted.primary.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #54C8FF inset;
-          box-shadow: 0 0 0 2px #54C8FF inset;
-  color: #54C8FF;
-}
-.ui.inverted.primary.buttons .button:hover,
-.ui.inverted.primary.button:hover,
-.ui.inverted.primary.buttons .button:focus,
-.ui.inverted.primary.button:focus,
-.ui.inverted.primary.buttons .button.active,
-.ui.inverted.primary.button.active,
-.ui.inverted.primary.buttons .button:active,
-.ui.inverted.primary.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: #FFFFFF;
-}
-.ui.inverted.primary.buttons .button:hover,
-.ui.inverted.primary.button:hover {
-  background-color: #21b8ff;
-}
-.ui.inverted.primary.buttons .button:focus,
-.ui.inverted.primary.button:focus {
-  background-color: #2bbbff;
-}
-.ui.inverted.primary.buttons .active.button,
-.ui.inverted.primary.active.button {
-  background-color: #3ac0ff;
-}
-.ui.inverted.primary.buttons .button:active,
-.ui.inverted.primary.button:active {
-  background-color: #21b8ff;
-}
-
-/* Inverted Basic */
-.ui.inverted.primary.basic.buttons .button,
-.ui.inverted.primary.buttons .basic.button,
-.ui.inverted.primary.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.primary.basic.buttons .button:hover,
-.ui.inverted.primary.buttons .basic.button:hover,
-.ui.inverted.primary.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #21b8ff inset;
-          box-shadow: 0 0 0 2px #21b8ff inset;
-  color: #54C8FF;
-}
-.ui.inverted.primary.basic.buttons .button:focus,
-.ui.inverted.primary.basic.buttons .button:focus,
-.ui.inverted.primary.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #2bbbff inset;
-          box-shadow: 0 0 0 2px #2bbbff inset;
-  color: #54C8FF;
-}
-.ui.inverted.primary.basic.buttons .active.button,
-.ui.inverted.primary.buttons .basic.active.button,
-.ui.inverted.primary.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #3ac0ff inset;
-          box-shadow: 0 0 0 2px #3ac0ff inset;
-  color: #54C8FF;
-}
-.ui.inverted.primary.basic.buttons .button:active,
-.ui.inverted.primary.buttons .basic.button:active,
-.ui.inverted.primary.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #21b8ff inset;
-          box-shadow: 0 0 0 2px #21b8ff inset;
-  color: #54C8FF;
-}
-
-/* Tertiary */
-.ui.tertiary.primary.buttons .button,
-.ui.tertiary.primary.buttons .tertiary.button,
-.ui.tertiary.primary.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #2185D0;
-}
-.ui.tertiary.primary.buttons .button:hover,
-.ui.tertiary.primary.buttons button:hover,
-.ui.tertiary.primary.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #2b75ac;
-          box-shadow: inset 0 -0.2em 0 #2b75ac;
-  color: #2b75ac;
-}
-.ui.tertiary.primary.buttons .button:focus,
-.ui.tertiary.primary.buttons .tertiary.button:focus,
-.ui.tertiary.primary.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #216ea7;
-          box-shadow: inset 0 -0.2em 0 #216ea7;
-  color: #216ea7;
-}
-.ui.tertiary.primary.buttons .active.button,
-.ui.tertiary.primary.buttons .tertiary.active.button,
-.ui.tertiary.primary.active.button,
-.ui.tertiary.primary.buttons .button:active,
-.ui.tertiary.primary.buttons .tertiary.button:active,
-.ui.tertiary.primary.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #007bd8;
-          box-shadow: inset 0 -0.2em 0 #007bd8;
-  color: #1279c6;
-}
-.ui.secondary.buttons .button,
-.ui.secondary.button {
-  background-color: #1B1C1D;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.secondary.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.secondary.buttons .button:hover,
-.ui.secondary.button:hover {
-  background-color: #27292a;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.secondary.buttons .button:focus,
-.ui.secondary.button:focus {
-  background-color: #2e3032;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.secondary.buttons .button:active,
-.ui.secondary.button:active {
-  background-color: #343637;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.secondary.buttons .active.button,
-.ui.secondary.buttons .active.button:active,
-.ui.secondary.active.button,
-.ui.secondary.button .active.button:active {
-  background-color: #27292a;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.secondary.buttons .button,
-.ui.basic.secondary.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #1B1C1D inset;
-          box-shadow: 0 0 0 1px #1B1C1D inset;
-  color: #1B1C1D;
-}
-.ui.basic.secondary.buttons .button:hover,
-.ui.basic.secondary.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #27292a inset;
-          box-shadow: 0 0 0 1px #27292a inset;
-  color: #27292a;
-}
-.ui.basic.secondary.buttons .button:focus,
-.ui.basic.secondary.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #2e3032 inset;
-          box-shadow: 0 0 0 1px #2e3032 inset;
-  color: #27292a;
-}
-.ui.basic.secondary.buttons .active.button,
-.ui.basic.secondary.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #27292a inset;
-          box-shadow: 0 0 0 1px #27292a inset;
-  color: #343637;
-}
-.ui.basic.secondary.buttons .button:active,
-.ui.basic.secondary.button:active {
-  -webkit-box-shadow: 0 0 0 1px #343637 inset;
-          box-shadow: 0 0 0 1px #343637 inset;
-  color: #343637;
-}
-.ui.buttons:not(.vertical) > .basic.secondary.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.secondary.buttons .button,
-.ui.inverted.secondary.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #545454 inset;
-          box-shadow: 0 0 0 2px #545454 inset;
-  color: #545454;
-}
-.ui.inverted.secondary.buttons .button:hover,
-.ui.inverted.secondary.button:hover,
-.ui.inverted.secondary.buttons .button:focus,
-.ui.inverted.secondary.button:focus,
-.ui.inverted.secondary.buttons .button.active,
-.ui.inverted.secondary.button.active,
-.ui.inverted.secondary.buttons .button:active,
-.ui.inverted.secondary.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: #FFFFFF;
-}
-.ui.inverted.secondary.buttons .button:hover,
-.ui.inverted.secondary.button:hover {
-  background-color: #6e6e6e;
-}
-.ui.inverted.secondary.buttons .button:focus,
-.ui.inverted.secondary.button:focus {
-  background-color: #686868;
-}
-.ui.inverted.secondary.buttons .active.button,
-.ui.inverted.secondary.active.button {
-  background-color: #616161;
-}
-.ui.inverted.secondary.buttons .button:active,
-.ui.inverted.secondary.button:active {
-  background-color: #6e6e6e;
-}
-
-/* Inverted Basic */
-.ui.inverted.secondary.basic.buttons .button,
-.ui.inverted.secondary.buttons .basic.button,
-.ui.inverted.secondary.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.secondary.basic.buttons .button:hover,
-.ui.inverted.secondary.buttons .basic.button:hover,
-.ui.inverted.secondary.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #6e6e6e inset;
-          box-shadow: 0 0 0 2px #6e6e6e inset;
-  color: #545454;
-}
-.ui.inverted.secondary.basic.buttons .button:focus,
-.ui.inverted.secondary.basic.buttons .button:focus,
-.ui.inverted.secondary.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #686868 inset;
-          box-shadow: 0 0 0 2px #686868 inset;
-  color: #545454;
-}
-.ui.inverted.secondary.basic.buttons .active.button,
-.ui.inverted.secondary.buttons .basic.active.button,
-.ui.inverted.secondary.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #616161 inset;
-          box-shadow: 0 0 0 2px #616161 inset;
-  color: #545454;
-}
-.ui.inverted.secondary.basic.buttons .button:active,
-.ui.inverted.secondary.buttons .basic.button:active,
-.ui.inverted.secondary.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #6e6e6e inset;
-          box-shadow: 0 0 0 2px #6e6e6e inset;
-  color: #545454;
-}
-
-/* Tertiary */
-.ui.tertiary.secondary.buttons .button,
-.ui.tertiary.secondary.buttons .tertiary.button,
-.ui.tertiary.secondary.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #1B1C1D;
-}
-.ui.tertiary.secondary.buttons .button:hover,
-.ui.tertiary.secondary.buttons button:hover,
-.ui.tertiary.secondary.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #292929;
-          box-shadow: inset 0 -0.2em 0 #292929;
-  color: #292929;
-}
-.ui.tertiary.secondary.buttons .button:focus,
-.ui.tertiary.secondary.buttons .tertiary.button:focus,
-.ui.tertiary.secondary.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #303030;
-          box-shadow: inset 0 -0.2em 0 #303030;
-  color: #303030;
-}
-.ui.tertiary.secondary.buttons .active.button,
-.ui.tertiary.secondary.buttons .tertiary.active.button,
-.ui.tertiary.secondary.active.button,
-.ui.tertiary.secondary.buttons .button:active,
-.ui.tertiary.secondary.buttons .tertiary.button:active,
-.ui.tertiary.secondary.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #1f2933;
-          box-shadow: inset 0 -0.2em 0 #1f2933;
-  color: #27292a;
-}
-.ui.red.buttons .button,
-.ui.red.button {
-  background-color: #DB2828;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.red.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.red.buttons .button:hover,
-.ui.red.button:hover {
-  background-color: #d01919;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.red.buttons .button:focus,
-.ui.red.button:focus {
-  background-color: #ca1010;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.red.buttons .button:active,
-.ui.red.button:active {
-  background-color: #b21e1e;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.red.buttons .active.button,
-.ui.red.buttons .active.button:active,
-.ui.red.active.button,
-.ui.red.button .active.button:active {
-  background-color: #d41515;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.red.buttons .button,
-.ui.basic.red.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #DB2828 inset;
-          box-shadow: 0 0 0 1px #DB2828 inset;
-  color: #DB2828;
-}
-.ui.basic.red.buttons .button:hover,
-.ui.basic.red.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #d01919 inset;
-          box-shadow: 0 0 0 1px #d01919 inset;
-  color: #d01919;
-}
-.ui.basic.red.buttons .button:focus,
-.ui.basic.red.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #ca1010 inset;
-          box-shadow: 0 0 0 1px #ca1010 inset;
-  color: #d01919;
-}
-.ui.basic.red.buttons .active.button,
-.ui.basic.red.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #d41515 inset;
-          box-shadow: 0 0 0 1px #d41515 inset;
-  color: #b21e1e;
-}
-.ui.basic.red.buttons .button:active,
-.ui.basic.red.button:active {
-  -webkit-box-shadow: 0 0 0 1px #b21e1e inset;
-          box-shadow: 0 0 0 1px #b21e1e inset;
-  color: #b21e1e;
-}
-.ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.red.buttons .button,
-.ui.inverted.red.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #FF695E inset;
-          box-shadow: 0 0 0 2px #FF695E inset;
-  color: #FF695E;
-}
-.ui.inverted.red.buttons .button:hover,
-.ui.inverted.red.button:hover,
-.ui.inverted.red.buttons .button:focus,
-.ui.inverted.red.button:focus,
-.ui.inverted.red.buttons .button.active,
-.ui.inverted.red.button.active,
-.ui.inverted.red.buttons .button:active,
-.ui.inverted.red.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: #FFFFFF;
-}
-.ui.inverted.red.buttons .button:hover,
-.ui.inverted.red.button:hover {
-  background-color: #ff392b;
-}
-.ui.inverted.red.buttons .button:focus,
-.ui.inverted.red.button:focus {
-  background-color: #ff4335;
-}
-.ui.inverted.red.buttons .active.button,
-.ui.inverted.red.active.button {
-  background-color: #ff5144;
-}
-.ui.inverted.red.buttons .button:active,
-.ui.inverted.red.button:active {
-  background-color: #ff392b;
-}
-
-/* Inverted Basic */
-.ui.inverted.red.basic.buttons .button,
-.ui.inverted.red.buttons .basic.button,
-.ui.inverted.red.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.red.basic.buttons .button:hover,
-.ui.inverted.red.buttons .basic.button:hover,
-.ui.inverted.red.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #ff392b inset;
-          box-shadow: 0 0 0 2px #ff392b inset;
-  color: #FF695E;
-}
-.ui.inverted.red.basic.buttons .button:focus,
-.ui.inverted.red.basic.buttons .button:focus,
-.ui.inverted.red.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #ff4335 inset;
-          box-shadow: 0 0 0 2px #ff4335 inset;
-  color: #FF695E;
-}
-.ui.inverted.red.basic.buttons .active.button,
-.ui.inverted.red.buttons .basic.active.button,
-.ui.inverted.red.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #ff5144 inset;
-          box-shadow: 0 0 0 2px #ff5144 inset;
-  color: #FF695E;
-}
-.ui.inverted.red.basic.buttons .button:active,
-.ui.inverted.red.buttons .basic.button:active,
-.ui.inverted.red.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #ff392b inset;
-          box-shadow: 0 0 0 2px #ff392b inset;
-  color: #FF695E;
-}
-
-/* Tertiary */
-.ui.tertiary.red.buttons .button,
-.ui.tertiary.red.buttons .tertiary.button,
-.ui.tertiary.red.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #DB2828;
-}
-.ui.tertiary.red.buttons .button:hover,
-.ui.tertiary.red.buttons button:hover,
-.ui.tertiary.red.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #b93131;
-          box-shadow: inset 0 -0.2em 0 #b93131;
-  color: #b93131;
-}
-.ui.tertiary.red.buttons .button:focus,
-.ui.tertiary.red.buttons .tertiary.button:focus,
-.ui.tertiary.red.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #b52626;
-          box-shadow: inset 0 -0.2em 0 #b52626;
-  color: #b52626;
-}
-.ui.tertiary.red.buttons .active.button,
-.ui.tertiary.red.buttons .tertiary.active.button,
-.ui.tertiary.red.active.button,
-.ui.tertiary.red.buttons .button:active,
-.ui.tertiary.red.buttons .tertiary.button:active,
-.ui.tertiary.red.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #ea0000;
-          box-shadow: inset 0 -0.2em 0 #ea0000;
-  color: #d41515;
-}
-.ui.orange.buttons .button,
-.ui.orange.button {
-  background-color: #F2711C;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.orange.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.orange.buttons .button:hover,
-.ui.orange.button:hover {
-  background-color: #f26202;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.orange.buttons .button:focus,
-.ui.orange.button:focus {
-  background-color: #e55b00;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.orange.buttons .button:active,
-.ui.orange.button:active {
-  background-color: #cf590c;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.orange.buttons .active.button,
-.ui.orange.buttons .active.button:active,
-.ui.orange.active.button,
-.ui.orange.button .active.button:active {
-  background-color: #f56100;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.orange.buttons .button,
-.ui.basic.orange.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #F2711C inset;
-          box-shadow: 0 0 0 1px #F2711C inset;
-  color: #F2711C;
-}
-.ui.basic.orange.buttons .button:hover,
-.ui.basic.orange.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #f26202 inset;
-          box-shadow: 0 0 0 1px #f26202 inset;
-  color: #f26202;
-}
-.ui.basic.orange.buttons .button:focus,
-.ui.basic.orange.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #e55b00 inset;
-          box-shadow: 0 0 0 1px #e55b00 inset;
-  color: #f26202;
-}
-.ui.basic.orange.buttons .active.button,
-.ui.basic.orange.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #f56100 inset;
-          box-shadow: 0 0 0 1px #f56100 inset;
-  color: #cf590c;
-}
-.ui.basic.orange.buttons .button:active,
-.ui.basic.orange.button:active {
-  -webkit-box-shadow: 0 0 0 1px #cf590c inset;
-          box-shadow: 0 0 0 1px #cf590c inset;
-  color: #cf590c;
-}
-.ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.orange.buttons .button,
-.ui.inverted.orange.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #FF851B inset;
-          box-shadow: 0 0 0 2px #FF851B inset;
-  color: #FF851B;
-}
-.ui.inverted.orange.buttons .button:hover,
-.ui.inverted.orange.button:hover,
-.ui.inverted.orange.buttons .button:focus,
-.ui.inverted.orange.button:focus,
-.ui.inverted.orange.buttons .button.active,
-.ui.inverted.orange.button.active,
-.ui.inverted.orange.buttons .button:active,
-.ui.inverted.orange.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: #FFFFFF;
-}
-.ui.inverted.orange.buttons .button:hover,
-.ui.inverted.orange.button:hover {
-  background-color: #e76b00;
-}
-.ui.inverted.orange.buttons .button:focus,
-.ui.inverted.orange.button:focus {
-  background-color: #f17000;
-}
-.ui.inverted.orange.buttons .active.button,
-.ui.inverted.orange.active.button {
-  background-color: #ff7701;
-}
-.ui.inverted.orange.buttons .button:active,
-.ui.inverted.orange.button:active {
-  background-color: #e76b00;
-}
-
-/* Inverted Basic */
-.ui.inverted.orange.basic.buttons .button,
-.ui.inverted.orange.buttons .basic.button,
-.ui.inverted.orange.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.orange.basic.buttons .button:hover,
-.ui.inverted.orange.buttons .basic.button:hover,
-.ui.inverted.orange.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #e76b00 inset;
-          box-shadow: 0 0 0 2px #e76b00 inset;
-  color: #FF851B;
-}
-.ui.inverted.orange.basic.buttons .button:focus,
-.ui.inverted.orange.basic.buttons .button:focus,
-.ui.inverted.orange.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #f17000 inset;
-          box-shadow: 0 0 0 2px #f17000 inset;
-  color: #FF851B;
-}
-.ui.inverted.orange.basic.buttons .active.button,
-.ui.inverted.orange.buttons .basic.active.button,
-.ui.inverted.orange.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #ff7701 inset;
-          box-shadow: 0 0 0 2px #ff7701 inset;
-  color: #FF851B;
-}
-.ui.inverted.orange.basic.buttons .button:active,
-.ui.inverted.orange.buttons .basic.button:active,
-.ui.inverted.orange.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #e76b00 inset;
-          box-shadow: 0 0 0 2px #e76b00 inset;
-  color: #FF851B;
-}
-
-/* Tertiary */
-.ui.tertiary.orange.buttons .button,
-.ui.tertiary.orange.buttons .tertiary.button,
-.ui.tertiary.orange.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #F2711C;
-}
-.ui.tertiary.orange.buttons .button:hover,
-.ui.tertiary.orange.buttons button:hover,
-.ui.tertiary.orange.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #da671b;
-          box-shadow: inset 0 -0.2em 0 #da671b;
-  color: #da671b;
-}
-.ui.tertiary.orange.buttons .button:focus,
-.ui.tertiary.orange.buttons .tertiary.button:focus,
-.ui.tertiary.orange.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #ce6017;
-          box-shadow: inset 0 -0.2em 0 #ce6017;
-  color: #ce6017;
-}
-.ui.tertiary.orange.buttons .active.button,
-.ui.tertiary.orange.buttons .tertiary.active.button,
-.ui.tertiary.orange.active.button,
-.ui.tertiary.orange.buttons .button:active,
-.ui.tertiary.orange.buttons .tertiary.button:active,
-.ui.tertiary.orange.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #f56100;
-          box-shadow: inset 0 -0.2em 0 #f56100;
-  color: #f56100;
-}
-.ui.yellow.buttons .button,
-.ui.yellow.button {
-  background-color: #FBBD08;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.yellow.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.yellow.buttons .button:hover,
-.ui.yellow.button:hover {
-  background-color: #eaae00;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.yellow.buttons .button:focus,
-.ui.yellow.button:focus {
-  background-color: #daa300;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.yellow.buttons .button:active,
-.ui.yellow.button:active {
-  background-color: #cd9903;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.yellow.buttons .active.button,
-.ui.yellow.buttons .active.button:active,
-.ui.yellow.active.button,
-.ui.yellow.button .active.button:active {
-  background-color: #eaae00;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.yellow.buttons .button,
-.ui.basic.yellow.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #FBBD08 inset;
-          box-shadow: 0 0 0 1px #FBBD08 inset;
-  color: #FBBD08;
-}
-.ui.basic.yellow.buttons .button:hover,
-.ui.basic.yellow.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #eaae00 inset;
-          box-shadow: 0 0 0 1px #eaae00 inset;
-  color: #eaae00;
-}
-.ui.basic.yellow.buttons .button:focus,
-.ui.basic.yellow.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #daa300 inset;
-          box-shadow: 0 0 0 1px #daa300 inset;
-  color: #eaae00;
-}
-.ui.basic.yellow.buttons .active.button,
-.ui.basic.yellow.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #eaae00 inset;
-          box-shadow: 0 0 0 1px #eaae00 inset;
-  color: #cd9903;
-}
-.ui.basic.yellow.buttons .button:active,
-.ui.basic.yellow.button:active {
-  -webkit-box-shadow: 0 0 0 1px #cd9903 inset;
-          box-shadow: 0 0 0 1px #cd9903 inset;
-  color: #cd9903;
-}
-.ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.yellow.buttons .button,
-.ui.inverted.yellow.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #FFE21F inset;
-          box-shadow: 0 0 0 2px #FFE21F inset;
-  color: #FFE21F;
-}
-.ui.inverted.yellow.buttons .button:hover,
-.ui.inverted.yellow.button:hover,
-.ui.inverted.yellow.buttons .button:focus,
-.ui.inverted.yellow.button:focus,
-.ui.inverted.yellow.buttons .button.active,
-.ui.inverted.yellow.button.active,
-.ui.inverted.yellow.buttons .button:active,
-.ui.inverted.yellow.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: rgba(0, 0, 0, 0.6);
-}
-.ui.inverted.yellow.buttons .button:hover,
-.ui.inverted.yellow.button:hover {
-  background-color: #ebcd00;
-}
-.ui.inverted.yellow.buttons .button:focus,
-.ui.inverted.yellow.button:focus {
-  background-color: #f5d500;
-}
-.ui.inverted.yellow.buttons .active.button,
-.ui.inverted.yellow.active.button {
-  background-color: #ffdf05;
-}
-.ui.inverted.yellow.buttons .button:active,
-.ui.inverted.yellow.button:active {
-  background-color: #ebcd00;
-}
-
-/* Inverted Basic */
-.ui.inverted.yellow.basic.buttons .button,
-.ui.inverted.yellow.buttons .basic.button,
-.ui.inverted.yellow.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.yellow.basic.buttons .button:hover,
-.ui.inverted.yellow.buttons .basic.button:hover,
-.ui.inverted.yellow.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #ebcd00 inset;
-          box-shadow: 0 0 0 2px #ebcd00 inset;
-  color: #FFE21F;
-}
-.ui.inverted.yellow.basic.buttons .button:focus,
-.ui.inverted.yellow.basic.buttons .button:focus,
-.ui.inverted.yellow.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #f5d500 inset;
-          box-shadow: 0 0 0 2px #f5d500 inset;
-  color: #FFE21F;
-}
-.ui.inverted.yellow.basic.buttons .active.button,
-.ui.inverted.yellow.buttons .basic.active.button,
-.ui.inverted.yellow.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #ffdf05 inset;
-          box-shadow: 0 0 0 2px #ffdf05 inset;
-  color: #FFE21F;
-}
-.ui.inverted.yellow.basic.buttons .button:active,
-.ui.inverted.yellow.buttons .basic.button:active,
-.ui.inverted.yellow.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #ebcd00 inset;
-          box-shadow: 0 0 0 2px #ebcd00 inset;
-  color: #FFE21F;
-}
-
-/* Tertiary */
-.ui.tertiary.yellow.buttons .button,
-.ui.tertiary.yellow.buttons .tertiary.button,
-.ui.tertiary.yellow.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #FBBD08;
-}
-.ui.tertiary.yellow.buttons .button:hover,
-.ui.tertiary.yellow.buttons button:hover,
-.ui.tertiary.yellow.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #d2a217;
-          box-shadow: inset 0 -0.2em 0 #d2a217;
-  color: #d2a217;
-}
-.ui.tertiary.yellow.buttons .button:focus,
-.ui.tertiary.yellow.buttons .tertiary.button:focus,
-.ui.tertiary.yellow.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #c49816;
-          box-shadow: inset 0 -0.2em 0 #c49816;
-  color: #c49816;
-}
-.ui.tertiary.yellow.buttons .active.button,
-.ui.tertiary.yellow.buttons .tertiary.active.button,
-.ui.tertiary.yellow.active.button,
-.ui.tertiary.yellow.buttons .button:active,
-.ui.tertiary.yellow.buttons .tertiary.button:active,
-.ui.tertiary.yellow.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #eaae00;
-          box-shadow: inset 0 -0.2em 0 #eaae00;
-  color: #eaae00;
-}
-.ui.olive.buttons .button,
-.ui.olive.button {
-  background-color: #B5CC18;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.olive.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.olive.buttons .button:hover,
-.ui.olive.button:hover {
-  background-color: #a7bd0d;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.olive.buttons .button:focus,
-.ui.olive.button:focus {
-  background-color: #a0b605;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.olive.buttons .button:active,
-.ui.olive.button:active {
-  background-color: #8d9e13;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.olive.buttons .active.button,
-.ui.olive.buttons .active.button:active,
-.ui.olive.active.button,
-.ui.olive.button .active.button:active {
-  background-color: #aac109;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.olive.buttons .button,
-.ui.basic.olive.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #B5CC18 inset;
-          box-shadow: 0 0 0 1px #B5CC18 inset;
-  color: #B5CC18;
-}
-.ui.basic.olive.buttons .button:hover,
-.ui.basic.olive.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #a7bd0d inset;
-          box-shadow: 0 0 0 1px #a7bd0d inset;
-  color: #a7bd0d;
-}
-.ui.basic.olive.buttons .button:focus,
-.ui.basic.olive.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #a0b605 inset;
-          box-shadow: 0 0 0 1px #a0b605 inset;
-  color: #a7bd0d;
-}
-.ui.basic.olive.buttons .active.button,
-.ui.basic.olive.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #aac109 inset;
-          box-shadow: 0 0 0 1px #aac109 inset;
-  color: #8d9e13;
-}
-.ui.basic.olive.buttons .button:active,
-.ui.basic.olive.button:active {
-  -webkit-box-shadow: 0 0 0 1px #8d9e13 inset;
-          box-shadow: 0 0 0 1px #8d9e13 inset;
-  color: #8d9e13;
-}
-.ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.olive.buttons .button,
-.ui.inverted.olive.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #D9E778 inset;
-          box-shadow: 0 0 0 2px #D9E778 inset;
-  color: #D9E778;
-}
-.ui.inverted.olive.buttons .button:hover,
-.ui.inverted.olive.button:hover,
-.ui.inverted.olive.buttons .button:focus,
-.ui.inverted.olive.button:focus,
-.ui.inverted.olive.buttons .button.active,
-.ui.inverted.olive.button.active,
-.ui.inverted.olive.buttons .button:active,
-.ui.inverted.olive.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: rgba(0, 0, 0, 0.6);
-}
-.ui.inverted.olive.buttons .button:hover,
-.ui.inverted.olive.button:hover {
-  background-color: #d2e745;
-}
-.ui.inverted.olive.buttons .button:focus,
-.ui.inverted.olive.button:focus {
-  background-color: #daef47;
-}
-.ui.inverted.olive.buttons .active.button,
-.ui.inverted.olive.active.button {
-  background-color: #daed59;
-}
-.ui.inverted.olive.buttons .button:active,
-.ui.inverted.olive.button:active {
-  background-color: #cddf4d;
-}
-
-/* Inverted Basic */
-.ui.inverted.olive.basic.buttons .button,
-.ui.inverted.olive.buttons .basic.button,
-.ui.inverted.olive.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.olive.basic.buttons .button:hover,
-.ui.inverted.olive.buttons .basic.button:hover,
-.ui.inverted.olive.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #d2e745 inset;
-          box-shadow: 0 0 0 2px #d2e745 inset;
-  color: #D9E778;
-}
-.ui.inverted.olive.basic.buttons .button:focus,
-.ui.inverted.olive.basic.buttons .button:focus,
-.ui.inverted.olive.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #daef47 inset;
-          box-shadow: 0 0 0 2px #daef47 inset;
-  color: #D9E778;
-}
-.ui.inverted.olive.basic.buttons .active.button,
-.ui.inverted.olive.buttons .basic.active.button,
-.ui.inverted.olive.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #daed59 inset;
-          box-shadow: 0 0 0 2px #daed59 inset;
-  color: #D9E778;
-}
-.ui.inverted.olive.basic.buttons .button:active,
-.ui.inverted.olive.buttons .basic.button:active,
-.ui.inverted.olive.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #cddf4d inset;
-          box-shadow: 0 0 0 2px #cddf4d inset;
-  color: #D9E778;
-}
-
-/* Tertiary */
-.ui.tertiary.olive.buttons .button,
-.ui.tertiary.olive.buttons .tertiary.button,
-.ui.tertiary.olive.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #B5CC18;
-}
-.ui.tertiary.olive.buttons .button:hover,
-.ui.tertiary.olive.buttons button:hover,
-.ui.tertiary.olive.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #98a922;
-          box-shadow: inset 0 -0.2em 0 #98a922;
-  color: #98a922;
-}
-.ui.tertiary.olive.buttons .button:focus,
-.ui.tertiary.olive.buttons .tertiary.button:focus,
-.ui.tertiary.olive.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #92a418;
-          box-shadow: inset 0 -0.2em 0 #92a418;
-  color: #92a418;
-}
-.ui.tertiary.olive.buttons .active.button,
-.ui.tertiary.olive.buttons .tertiary.active.button,
-.ui.tertiary.olive.active.button,
-.ui.tertiary.olive.buttons .button:active,
-.ui.tertiary.olive.buttons .tertiary.button:active,
-.ui.tertiary.olive.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #b1cb00;
-          box-shadow: inset 0 -0.2em 0 #b1cb00;
-  color: #aac109;
-}
-.ui.green.buttons .button,
-.ui.green.button {
-  background-color: #21BA45;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.green.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.green.buttons .button:hover,
-.ui.green.button:hover {
-  background-color: #16ab39;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.green.buttons .button:focus,
-.ui.green.button:focus {
-  background-color: #0ea432;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.green.buttons .button:active,
-.ui.green.button:active {
-  background-color: #198f35;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.green.buttons .active.button,
-.ui.green.buttons .active.button:active,
-.ui.green.active.button,
-.ui.green.button .active.button:active {
-  background-color: #13ae38;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.green.buttons .button,
-.ui.basic.green.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #21BA45 inset;
-          box-shadow: 0 0 0 1px #21BA45 inset;
-  color: #21BA45;
-}
-.ui.basic.green.buttons .button:hover,
-.ui.basic.green.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #16ab39 inset;
-          box-shadow: 0 0 0 1px #16ab39 inset;
-  color: #16ab39;
-}
-.ui.basic.green.buttons .button:focus,
-.ui.basic.green.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #0ea432 inset;
-          box-shadow: 0 0 0 1px #0ea432 inset;
-  color: #16ab39;
-}
-.ui.basic.green.buttons .active.button,
-.ui.basic.green.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #13ae38 inset;
-          box-shadow: 0 0 0 1px #13ae38 inset;
-  color: #198f35;
-}
-.ui.basic.green.buttons .button:active,
-.ui.basic.green.button:active {
-  -webkit-box-shadow: 0 0 0 1px #198f35 inset;
-          box-shadow: 0 0 0 1px #198f35 inset;
-  color: #198f35;
-}
-.ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.green.buttons .button,
-.ui.inverted.green.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #2ECC40 inset;
-          box-shadow: 0 0 0 2px #2ECC40 inset;
-  color: #2ECC40;
-}
-.ui.inverted.green.buttons .button:hover,
-.ui.inverted.green.button:hover,
-.ui.inverted.green.buttons .button:focus,
-.ui.inverted.green.button:focus,
-.ui.inverted.green.buttons .button.active,
-.ui.inverted.green.button.active,
-.ui.inverted.green.buttons .button:active,
-.ui.inverted.green.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: #FFFFFF;
-}
-.ui.inverted.green.buttons .button:hover,
-.ui.inverted.green.button:hover {
-  background-color: #1ea92e;
-}
-.ui.inverted.green.buttons .button:focus,
-.ui.inverted.green.button:focus {
-  background-color: #19b82b;
-}
-.ui.inverted.green.buttons .active.button,
-.ui.inverted.green.active.button {
-  background-color: #1fc231;
-}
-.ui.inverted.green.buttons .button:active,
-.ui.inverted.green.button:active {
-  background-color: #25a233;
-}
-
-/* Inverted Basic */
-.ui.inverted.green.basic.buttons .button,
-.ui.inverted.green.buttons .basic.button,
-.ui.inverted.green.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.green.basic.buttons .button:hover,
-.ui.inverted.green.buttons .basic.button:hover,
-.ui.inverted.green.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #1ea92e inset;
-          box-shadow: 0 0 0 2px #1ea92e inset;
-  color: #2ECC40;
-}
-.ui.inverted.green.basic.buttons .button:focus,
-.ui.inverted.green.basic.buttons .button:focus,
-.ui.inverted.green.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #19b82b inset;
-          box-shadow: 0 0 0 2px #19b82b inset;
-  color: #2ECC40;
-}
-.ui.inverted.green.basic.buttons .active.button,
-.ui.inverted.green.buttons .basic.active.button,
-.ui.inverted.green.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #1fc231 inset;
-          box-shadow: 0 0 0 2px #1fc231 inset;
-  color: #2ECC40;
-}
-.ui.inverted.green.basic.buttons .button:active,
-.ui.inverted.green.buttons .basic.button:active,
-.ui.inverted.green.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #25a233 inset;
-          box-shadow: 0 0 0 2px #25a233 inset;
-  color: #2ECC40;
-}
-
-/* Tertiary */
-.ui.tertiary.green.buttons .button,
-.ui.tertiary.green.buttons .tertiary.button,
-.ui.tertiary.green.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #21BA45;
-}
-.ui.tertiary.green.buttons .button:hover,
-.ui.tertiary.green.buttons button:hover,
-.ui.tertiary.green.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #2a9844;
-          box-shadow: inset 0 -0.2em 0 #2a9844;
-  color: #2a9844;
-}
-.ui.tertiary.green.buttons .button:focus,
-.ui.tertiary.green.buttons .tertiary.button:focus,
-.ui.tertiary.green.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #20923b;
-          box-shadow: inset 0 -0.2em 0 #20923b;
-  color: #20923b;
-}
-.ui.tertiary.green.buttons .active.button,
-.ui.tertiary.green.buttons .tertiary.active.button,
-.ui.tertiary.green.active.button,
-.ui.tertiary.green.buttons .button:active,
-.ui.tertiary.green.buttons .tertiary.button:active,
-.ui.tertiary.green.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #00c22e;
-          box-shadow: inset 0 -0.2em 0 #00c22e;
-  color: #13ae38;
-}
-.ui.teal.buttons .button,
-.ui.teal.button {
-  background-color: #00B5AD;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.teal.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.teal.buttons .button:hover,
-.ui.teal.button:hover {
-  background-color: #009c95;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.teal.buttons .button:focus,
-.ui.teal.button:focus {
-  background-color: #008c86;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.teal.buttons .button:active,
-.ui.teal.button:active {
-  background-color: #00827c;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.teal.buttons .active.button,
-.ui.teal.buttons .active.button:active,
-.ui.teal.active.button,
-.ui.teal.button .active.button:active {
-  background-color: #009c95;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.teal.buttons .button,
-.ui.basic.teal.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #00B5AD inset;
-          box-shadow: 0 0 0 1px #00B5AD inset;
-  color: #00B5AD;
-}
-.ui.basic.teal.buttons .button:hover,
-.ui.basic.teal.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #009c95 inset;
-          box-shadow: 0 0 0 1px #009c95 inset;
-  color: #009c95;
-}
-.ui.basic.teal.buttons .button:focus,
-.ui.basic.teal.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #008c86 inset;
-          box-shadow: 0 0 0 1px #008c86 inset;
-  color: #009c95;
-}
-.ui.basic.teal.buttons .active.button,
-.ui.basic.teal.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #009c95 inset;
-          box-shadow: 0 0 0 1px #009c95 inset;
-  color: #00827c;
-}
-.ui.basic.teal.buttons .button:active,
-.ui.basic.teal.button:active {
-  -webkit-box-shadow: 0 0 0 1px #00827c inset;
-          box-shadow: 0 0 0 1px #00827c inset;
-  color: #00827c;
-}
-.ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.teal.buttons .button,
-.ui.inverted.teal.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #6DFFFF inset;
-          box-shadow: 0 0 0 2px #6DFFFF inset;
-  color: #6DFFFF;
-}
-.ui.inverted.teal.buttons .button:hover,
-.ui.inverted.teal.button:hover,
-.ui.inverted.teal.buttons .button:focus,
-.ui.inverted.teal.button:focus,
-.ui.inverted.teal.buttons .button.active,
-.ui.inverted.teal.button.active,
-.ui.inverted.teal.buttons .button:active,
-.ui.inverted.teal.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: rgba(0, 0, 0, 0.6);
-}
-.ui.inverted.teal.buttons .button:hover,
-.ui.inverted.teal.button:hover {
-  background-color: #3affff;
-}
-.ui.inverted.teal.buttons .button:focus,
-.ui.inverted.teal.button:focus {
-  background-color: #44ffff;
-}
-.ui.inverted.teal.buttons .active.button,
-.ui.inverted.teal.active.button {
-  background-color: #54ffff;
-}
-.ui.inverted.teal.buttons .button:active,
-.ui.inverted.teal.button:active {
-  background-color: #3affff;
-}
-
-/* Inverted Basic */
-.ui.inverted.teal.basic.buttons .button,
-.ui.inverted.teal.buttons .basic.button,
-.ui.inverted.teal.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.teal.basic.buttons .button:hover,
-.ui.inverted.teal.buttons .basic.button:hover,
-.ui.inverted.teal.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #3affff inset;
-          box-shadow: 0 0 0 2px #3affff inset;
-  color: #6DFFFF;
-}
-.ui.inverted.teal.basic.buttons .button:focus,
-.ui.inverted.teal.basic.buttons .button:focus,
-.ui.inverted.teal.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #44ffff inset;
-          box-shadow: 0 0 0 2px #44ffff inset;
-  color: #6DFFFF;
-}
-.ui.inverted.teal.basic.buttons .active.button,
-.ui.inverted.teal.buttons .basic.active.button,
-.ui.inverted.teal.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #54ffff inset;
-          box-shadow: 0 0 0 2px #54ffff inset;
-  color: #6DFFFF;
-}
-.ui.inverted.teal.basic.buttons .button:active,
-.ui.inverted.teal.buttons .basic.button:active,
-.ui.inverted.teal.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #3affff inset;
-          box-shadow: 0 0 0 2px #3affff inset;
-  color: #6DFFFF;
-}
-
-/* Tertiary */
-.ui.tertiary.teal.buttons .button,
-.ui.tertiary.teal.buttons .tertiary.button,
-.ui.tertiary.teal.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #00B5AD;
-}
-.ui.tertiary.teal.buttons .button:hover,
-.ui.tertiary.teal.buttons button:hover,
-.ui.tertiary.teal.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #108c86;
-          box-shadow: inset 0 -0.2em 0 #108c86;
-  color: #108c86;
-}
-.ui.tertiary.teal.buttons .button:focus,
-.ui.tertiary.teal.buttons .tertiary.button:focus,
-.ui.tertiary.teal.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #0e7e79;
-          box-shadow: inset 0 -0.2em 0 #0e7e79;
-  color: #0e7e79;
-}
-.ui.tertiary.teal.buttons .active.button,
-.ui.tertiary.teal.buttons .tertiary.active.button,
-.ui.tertiary.teal.active.button,
-.ui.tertiary.teal.buttons .button:active,
-.ui.tertiary.teal.buttons .tertiary.button:active,
-.ui.tertiary.teal.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #009c95;
-          box-shadow: inset 0 -0.2em 0 #009c95;
-  color: #009c95;
-}
-.ui.blue.buttons .button,
-.ui.blue.button {
-  background-color: #2185D0;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.blue.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.blue.buttons .button:hover,
-.ui.blue.button:hover {
-  background-color: #1678c2;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.blue.buttons .button:focus,
-.ui.blue.button:focus {
-  background-color: #0d71bb;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.blue.buttons .button:active,
-.ui.blue.button:active {
-  background-color: #1a69a4;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.blue.buttons .active.button,
-.ui.blue.buttons .active.button:active,
-.ui.blue.active.button,
-.ui.blue.button .active.button:active {
-  background-color: #1279c6;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.blue.buttons .button,
-.ui.basic.blue.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #2185D0 inset;
-          box-shadow: 0 0 0 1px #2185D0 inset;
-  color: #2185D0;
-}
-.ui.basic.blue.buttons .button:hover,
-.ui.basic.blue.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #1678c2 inset;
-          box-shadow: 0 0 0 1px #1678c2 inset;
-  color: #1678c2;
-}
-.ui.basic.blue.buttons .button:focus,
-.ui.basic.blue.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #0d71bb inset;
-          box-shadow: 0 0 0 1px #0d71bb inset;
-  color: #1678c2;
-}
-.ui.basic.blue.buttons .active.button,
-.ui.basic.blue.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #1279c6 inset;
-          box-shadow: 0 0 0 1px #1279c6 inset;
-  color: #1a69a4;
-}
-.ui.basic.blue.buttons .button:active,
-.ui.basic.blue.button:active {
-  -webkit-box-shadow: 0 0 0 1px #1a69a4 inset;
-          box-shadow: 0 0 0 1px #1a69a4 inset;
-  color: #1a69a4;
-}
-.ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.blue.buttons .button,
-.ui.inverted.blue.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #54C8FF inset;
-          box-shadow: 0 0 0 2px #54C8FF inset;
-  color: #54C8FF;
-}
-.ui.inverted.blue.buttons .button:hover,
-.ui.inverted.blue.button:hover,
-.ui.inverted.blue.buttons .button:focus,
-.ui.inverted.blue.button:focus,
-.ui.inverted.blue.buttons .button.active,
-.ui.inverted.blue.button.active,
-.ui.inverted.blue.buttons .button:active,
-.ui.inverted.blue.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: #FFFFFF;
-}
-.ui.inverted.blue.buttons .button:hover,
-.ui.inverted.blue.button:hover {
-  background-color: #21b8ff;
-}
-.ui.inverted.blue.buttons .button:focus,
-.ui.inverted.blue.button:focus {
-  background-color: #2bbbff;
-}
-.ui.inverted.blue.buttons .active.button,
-.ui.inverted.blue.active.button {
-  background-color: #3ac0ff;
-}
-.ui.inverted.blue.buttons .button:active,
-.ui.inverted.blue.button:active {
-  background-color: #21b8ff;
-}
-
-/* Inverted Basic */
-.ui.inverted.blue.basic.buttons .button,
-.ui.inverted.blue.buttons .basic.button,
-.ui.inverted.blue.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.blue.basic.buttons .button:hover,
-.ui.inverted.blue.buttons .basic.button:hover,
-.ui.inverted.blue.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #21b8ff inset;
-          box-shadow: 0 0 0 2px #21b8ff inset;
-  color: #54C8FF;
-}
-.ui.inverted.blue.basic.buttons .button:focus,
-.ui.inverted.blue.basic.buttons .button:focus,
-.ui.inverted.blue.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #2bbbff inset;
-          box-shadow: 0 0 0 2px #2bbbff inset;
-  color: #54C8FF;
-}
-.ui.inverted.blue.basic.buttons .active.button,
-.ui.inverted.blue.buttons .basic.active.button,
-.ui.inverted.blue.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #3ac0ff inset;
-          box-shadow: 0 0 0 2px #3ac0ff inset;
-  color: #54C8FF;
-}
-.ui.inverted.blue.basic.buttons .button:active,
-.ui.inverted.blue.buttons .basic.button:active,
-.ui.inverted.blue.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #21b8ff inset;
-          box-shadow: 0 0 0 2px #21b8ff inset;
-  color: #54C8FF;
-}
-
-/* Tertiary */
-.ui.tertiary.blue.buttons .button,
-.ui.tertiary.blue.buttons .tertiary.button,
-.ui.tertiary.blue.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #2185D0;
-}
-.ui.tertiary.blue.buttons .button:hover,
-.ui.tertiary.blue.buttons button:hover,
-.ui.tertiary.blue.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #2b75ac;
-          box-shadow: inset 0 -0.2em 0 #2b75ac;
-  color: #2b75ac;
-}
-.ui.tertiary.blue.buttons .button:focus,
-.ui.tertiary.blue.buttons .tertiary.button:focus,
-.ui.tertiary.blue.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #216ea7;
-          box-shadow: inset 0 -0.2em 0 #216ea7;
-  color: #216ea7;
-}
-.ui.tertiary.blue.buttons .active.button,
-.ui.tertiary.blue.buttons .tertiary.active.button,
-.ui.tertiary.blue.active.button,
-.ui.tertiary.blue.buttons .button:active,
-.ui.tertiary.blue.buttons .tertiary.button:active,
-.ui.tertiary.blue.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #007bd8;
-          box-shadow: inset 0 -0.2em 0 #007bd8;
-  color: #1279c6;
-}
-.ui.violet.buttons .button,
-.ui.violet.button {
-  background-color: #6435C9;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.violet.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.violet.buttons .button:hover,
-.ui.violet.button:hover {
-  background-color: #5829bb;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.violet.buttons .button:focus,
-.ui.violet.button:focus {
-  background-color: #4f20b5;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.violet.buttons .button:active,
-.ui.violet.button:active {
-  background-color: #502aa1;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.violet.buttons .active.button,
-.ui.violet.buttons .active.button:active,
-.ui.violet.active.button,
-.ui.violet.button .active.button:active {
-  background-color: #5626bf;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.violet.buttons .button,
-.ui.basic.violet.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #6435C9 inset;
-          box-shadow: 0 0 0 1px #6435C9 inset;
-  color: #6435C9;
-}
-.ui.basic.violet.buttons .button:hover,
-.ui.basic.violet.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #5829bb inset;
-          box-shadow: 0 0 0 1px #5829bb inset;
-  color: #5829bb;
-}
-.ui.basic.violet.buttons .button:focus,
-.ui.basic.violet.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #4f20b5 inset;
-          box-shadow: 0 0 0 1px #4f20b5 inset;
-  color: #5829bb;
-}
-.ui.basic.violet.buttons .active.button,
-.ui.basic.violet.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #5626bf inset;
-          box-shadow: 0 0 0 1px #5626bf inset;
-  color: #502aa1;
-}
-.ui.basic.violet.buttons .button:active,
-.ui.basic.violet.button:active {
-  -webkit-box-shadow: 0 0 0 1px #502aa1 inset;
-          box-shadow: 0 0 0 1px #502aa1 inset;
-  color: #502aa1;
-}
-.ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.violet.buttons .button,
-.ui.inverted.violet.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #A291FB inset;
-          box-shadow: 0 0 0 2px #A291FB inset;
-  color: #A291FB;
-}
-.ui.inverted.violet.buttons .button:hover,
-.ui.inverted.violet.button:hover,
-.ui.inverted.violet.buttons .button:focus,
-.ui.inverted.violet.button:focus,
-.ui.inverted.violet.buttons .button.active,
-.ui.inverted.violet.button.active,
-.ui.inverted.violet.buttons .button:active,
-.ui.inverted.violet.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: #FFFFFF;
-}
-.ui.inverted.violet.buttons .button:hover,
-.ui.inverted.violet.button:hover {
-  background-color: #745aff;
-}
-.ui.inverted.violet.buttons .button:focus,
-.ui.inverted.violet.button:focus {
-  background-color: #7d64ff;
-}
-.ui.inverted.violet.buttons .active.button,
-.ui.inverted.violet.active.button {
-  background-color: #8a73ff;
-}
-.ui.inverted.violet.buttons .button:active,
-.ui.inverted.violet.button:active {
-  background-color: #7860f9;
-}
-
-/* Inverted Basic */
-.ui.inverted.violet.basic.buttons .button,
-.ui.inverted.violet.buttons .basic.button,
-.ui.inverted.violet.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.violet.basic.buttons .button:hover,
-.ui.inverted.violet.buttons .basic.button:hover,
-.ui.inverted.violet.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #745aff inset;
-          box-shadow: 0 0 0 2px #745aff inset;
-  color: #A291FB;
-}
-.ui.inverted.violet.basic.buttons .button:focus,
-.ui.inverted.violet.basic.buttons .button:focus,
-.ui.inverted.violet.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #7d64ff inset;
-          box-shadow: 0 0 0 2px #7d64ff inset;
-  color: #A291FB;
-}
-.ui.inverted.violet.basic.buttons .active.button,
-.ui.inverted.violet.buttons .basic.active.button,
-.ui.inverted.violet.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #8a73ff inset;
-          box-shadow: 0 0 0 2px #8a73ff inset;
-  color: #A291FB;
-}
-.ui.inverted.violet.basic.buttons .button:active,
-.ui.inverted.violet.buttons .basic.button:active,
-.ui.inverted.violet.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #7860f9 inset;
-          box-shadow: 0 0 0 2px #7860f9 inset;
-  color: #A291FB;
-}
-
-/* Tertiary */
-.ui.tertiary.violet.buttons .button,
-.ui.tertiary.violet.buttons .tertiary.button,
-.ui.tertiary.violet.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #6435C9;
-}
-.ui.tertiary.violet.buttons .button:hover,
-.ui.tertiary.violet.buttons button:hover,
-.ui.tertiary.violet.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #6040a5;
-          box-shadow: inset 0 -0.2em 0 #6040a5;
-  color: #6040a5;
-}
-.ui.tertiary.violet.buttons .button:focus,
-.ui.tertiary.violet.buttons .tertiary.button:focus,
-.ui.tertiary.violet.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #5735a0;
-          box-shadow: inset 0 -0.2em 0 #5735a0;
-  color: #5735a0;
-}
-.ui.tertiary.violet.buttons .active.button,
-.ui.tertiary.violet.buttons .tertiary.active.button,
-.ui.tertiary.violet.active.button,
-.ui.tertiary.violet.buttons .button:active,
-.ui.tertiary.violet.buttons .tertiary.button:active,
-.ui.tertiary.violet.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #4e0fd6;
-          box-shadow: inset 0 -0.2em 0 #4e0fd6;
-  color: #5626bf;
-}
-.ui.purple.buttons .button,
-.ui.purple.button {
-  background-color: #A333C8;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.purple.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.purple.buttons .button:hover,
-.ui.purple.button:hover {
-  background-color: #9627ba;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.purple.buttons .button:focus,
-.ui.purple.button:focus {
-  background-color: #8f1eb4;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.purple.buttons .button:active,
-.ui.purple.button:active {
-  background-color: #82299f;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.purple.buttons .active.button,
-.ui.purple.buttons .active.button:active,
-.ui.purple.active.button,
-.ui.purple.button .active.button:active {
-  background-color: #9724be;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.purple.buttons .button,
-.ui.basic.purple.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #A333C8 inset;
-          box-shadow: 0 0 0 1px #A333C8 inset;
-  color: #A333C8;
-}
-.ui.basic.purple.buttons .button:hover,
-.ui.basic.purple.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #9627ba inset;
-          box-shadow: 0 0 0 1px #9627ba inset;
-  color: #9627ba;
-}
-.ui.basic.purple.buttons .button:focus,
-.ui.basic.purple.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #8f1eb4 inset;
-          box-shadow: 0 0 0 1px #8f1eb4 inset;
-  color: #9627ba;
-}
-.ui.basic.purple.buttons .active.button,
-.ui.basic.purple.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #9724be inset;
-          box-shadow: 0 0 0 1px #9724be inset;
-  color: #82299f;
-}
-.ui.basic.purple.buttons .button:active,
-.ui.basic.purple.button:active {
-  -webkit-box-shadow: 0 0 0 1px #82299f inset;
-          box-shadow: 0 0 0 1px #82299f inset;
-  color: #82299f;
-}
-.ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.purple.buttons .button,
-.ui.inverted.purple.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #DC73FF inset;
-          box-shadow: 0 0 0 2px #DC73FF inset;
-  color: #DC73FF;
-}
-.ui.inverted.purple.buttons .button:hover,
-.ui.inverted.purple.button:hover,
-.ui.inverted.purple.buttons .button:focus,
-.ui.inverted.purple.button:focus,
-.ui.inverted.purple.buttons .button.active,
-.ui.inverted.purple.button.active,
-.ui.inverted.purple.buttons .button:active,
-.ui.inverted.purple.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: #FFFFFF;
-}
-.ui.inverted.purple.buttons .button:hover,
-.ui.inverted.purple.button:hover {
-  background-color: #cf40ff;
-}
-.ui.inverted.purple.buttons .button:focus,
-.ui.inverted.purple.button:focus {
-  background-color: #d24aff;
-}
-.ui.inverted.purple.buttons .active.button,
-.ui.inverted.purple.active.button {
-  background-color: #d65aff;
-}
-.ui.inverted.purple.buttons .button:active,
-.ui.inverted.purple.button:active {
-  background-color: #cf40ff;
-}
-
-/* Inverted Basic */
-.ui.inverted.purple.basic.buttons .button,
-.ui.inverted.purple.buttons .basic.button,
-.ui.inverted.purple.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.purple.basic.buttons .button:hover,
-.ui.inverted.purple.buttons .basic.button:hover,
-.ui.inverted.purple.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #cf40ff inset;
-          box-shadow: 0 0 0 2px #cf40ff inset;
-  color: #DC73FF;
-}
-.ui.inverted.purple.basic.buttons .button:focus,
-.ui.inverted.purple.basic.buttons .button:focus,
-.ui.inverted.purple.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #d24aff inset;
-          box-shadow: 0 0 0 2px #d24aff inset;
-  color: #DC73FF;
-}
-.ui.inverted.purple.basic.buttons .active.button,
-.ui.inverted.purple.buttons .basic.active.button,
-.ui.inverted.purple.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #d65aff inset;
-          box-shadow: 0 0 0 2px #d65aff inset;
-  color: #DC73FF;
-}
-.ui.inverted.purple.basic.buttons .button:active,
-.ui.inverted.purple.buttons .basic.button:active,
-.ui.inverted.purple.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #cf40ff inset;
-          box-shadow: 0 0 0 2px #cf40ff inset;
-  color: #DC73FF;
-}
-
-/* Tertiary */
-.ui.tertiary.purple.buttons .button,
-.ui.tertiary.purple.buttons .tertiary.button,
-.ui.tertiary.purple.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #A333C8;
-}
-.ui.tertiary.purple.buttons .button:hover,
-.ui.tertiary.purple.buttons button:hover,
-.ui.tertiary.purple.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #8a3ea4;
-          box-shadow: inset 0 -0.2em 0 #8a3ea4;
-  color: #8a3ea4;
-}
-.ui.tertiary.purple.buttons .button:focus,
-.ui.tertiary.purple.buttons .tertiary.button:focus,
-.ui.tertiary.purple.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #84339f;
-          box-shadow: inset 0 -0.2em 0 #84339f;
-  color: #84339f;
-}
-.ui.tertiary.purple.buttons .active.button,
-.ui.tertiary.purple.buttons .tertiary.active.button,
-.ui.tertiary.purple.active.button,
-.ui.tertiary.purple.buttons .button:active,
-.ui.tertiary.purple.buttons .tertiary.button:active,
-.ui.tertiary.purple.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #a30dd4;
-          box-shadow: inset 0 -0.2em 0 #a30dd4;
-  color: #9724be;
-}
-.ui.pink.buttons .button,
-.ui.pink.button {
-  background-color: #E03997;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.pink.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.pink.buttons .button:hover,
-.ui.pink.button:hover {
-  background-color: #e61a8d;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.pink.buttons .button:focus,
-.ui.pink.button:focus {
-  background-color: #e10f85;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.pink.buttons .button:active,
-.ui.pink.button:active {
-  background-color: #c71f7e;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.pink.buttons .active.button,
-.ui.pink.buttons .active.button:active,
-.ui.pink.active.button,
-.ui.pink.button .active.button:active {
-  background-color: #ea158d;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.pink.buttons .button,
-.ui.basic.pink.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #E03997 inset;
-          box-shadow: 0 0 0 1px #E03997 inset;
-  color: #E03997;
-}
-.ui.basic.pink.buttons .button:hover,
-.ui.basic.pink.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #e61a8d inset;
-          box-shadow: 0 0 0 1px #e61a8d inset;
-  color: #e61a8d;
-}
-.ui.basic.pink.buttons .button:focus,
-.ui.basic.pink.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #e10f85 inset;
-          box-shadow: 0 0 0 1px #e10f85 inset;
-  color: #e61a8d;
-}
-.ui.basic.pink.buttons .active.button,
-.ui.basic.pink.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #ea158d inset;
-          box-shadow: 0 0 0 1px #ea158d inset;
-  color: #c71f7e;
-}
-.ui.basic.pink.buttons .button:active,
-.ui.basic.pink.button:active {
-  -webkit-box-shadow: 0 0 0 1px #c71f7e inset;
-          box-shadow: 0 0 0 1px #c71f7e inset;
-  color: #c71f7e;
-}
-.ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.pink.buttons .button,
-.ui.inverted.pink.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #FF8EDF inset;
-          box-shadow: 0 0 0 2px #FF8EDF inset;
-  color: #FF8EDF;
-}
-.ui.inverted.pink.buttons .button:hover,
-.ui.inverted.pink.button:hover,
-.ui.inverted.pink.buttons .button:focus,
-.ui.inverted.pink.button:focus,
-.ui.inverted.pink.buttons .button.active,
-.ui.inverted.pink.button.active,
-.ui.inverted.pink.buttons .button:active,
-.ui.inverted.pink.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: #FFFFFF;
-}
-.ui.inverted.pink.buttons .button:hover,
-.ui.inverted.pink.button:hover {
-  background-color: #ff5bd1;
-}
-.ui.inverted.pink.buttons .button:focus,
-.ui.inverted.pink.button:focus {
-  background-color: #ff65d3;
-}
-.ui.inverted.pink.buttons .active.button,
-.ui.inverted.pink.active.button {
-  background-color: #ff74d8;
-}
-.ui.inverted.pink.buttons .button:active,
-.ui.inverted.pink.button:active {
-  background-color: #ff5bd1;
-}
-
-/* Inverted Basic */
-.ui.inverted.pink.basic.buttons .button,
-.ui.inverted.pink.buttons .basic.button,
-.ui.inverted.pink.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.pink.basic.buttons .button:hover,
-.ui.inverted.pink.buttons .basic.button:hover,
-.ui.inverted.pink.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #ff5bd1 inset;
-          box-shadow: 0 0 0 2px #ff5bd1 inset;
-  color: #FF8EDF;
-}
-.ui.inverted.pink.basic.buttons .button:focus,
-.ui.inverted.pink.basic.buttons .button:focus,
-.ui.inverted.pink.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #ff65d3 inset;
-          box-shadow: 0 0 0 2px #ff65d3 inset;
-  color: #FF8EDF;
-}
-.ui.inverted.pink.basic.buttons .active.button,
-.ui.inverted.pink.buttons .basic.active.button,
-.ui.inverted.pink.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #ff74d8 inset;
-          box-shadow: 0 0 0 2px #ff74d8 inset;
-  color: #FF8EDF;
-}
-.ui.inverted.pink.basic.buttons .button:active,
-.ui.inverted.pink.buttons .basic.button:active,
-.ui.inverted.pink.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #ff5bd1 inset;
-          box-shadow: 0 0 0 2px #ff5bd1 inset;
-  color: #FF8EDF;
-}
-
-/* Tertiary */
-.ui.tertiary.pink.buttons .button,
-.ui.tertiary.pink.buttons .tertiary.button,
-.ui.tertiary.pink.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #E03997;
-}
-.ui.tertiary.pink.buttons .button:hover,
-.ui.tertiary.pink.buttons button:hover,
-.ui.tertiary.pink.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #cc3389;
-          box-shadow: inset 0 -0.2em 0 #cc3389;
-  color: #cc3389;
-}
-.ui.tertiary.pink.buttons .button:focus,
-.ui.tertiary.pink.buttons .tertiary.button:focus,
-.ui.tertiary.pink.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #c92782;
-          box-shadow: inset 0 -0.2em 0 #c92782;
-  color: #c92782;
-}
-.ui.tertiary.pink.buttons .active.button,
-.ui.tertiary.pink.buttons .tertiary.active.button,
-.ui.tertiary.pink.active.button,
-.ui.tertiary.pink.buttons .button:active,
-.ui.tertiary.pink.buttons .tertiary.button:active,
-.ui.tertiary.pink.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #ff0090;
-          box-shadow: inset 0 -0.2em 0 #ff0090;
-  color: #ea158d;
-}
-.ui.brown.buttons .button,
-.ui.brown.button {
-  background-color: #A5673F;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.brown.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.brown.buttons .button:hover,
-.ui.brown.button:hover {
-  background-color: #975b33;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.brown.buttons .button:focus,
-.ui.brown.button:focus {
-  background-color: #90532b;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.brown.buttons .button:active,
-.ui.brown.button:active {
-  background-color: #805031;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.brown.buttons .active.button,
-.ui.brown.buttons .active.button:active,
-.ui.brown.active.button,
-.ui.brown.button .active.button:active {
-  background-color: #995a31;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.brown.buttons .button,
-.ui.basic.brown.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #A5673F inset;
-          box-shadow: 0 0 0 1px #A5673F inset;
-  color: #A5673F;
-}
-.ui.basic.brown.buttons .button:hover,
-.ui.basic.brown.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #975b33 inset;
-          box-shadow: 0 0 0 1px #975b33 inset;
-  color: #975b33;
-}
-.ui.basic.brown.buttons .button:focus,
-.ui.basic.brown.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #90532b inset;
-          box-shadow: 0 0 0 1px #90532b inset;
-  color: #975b33;
-}
-.ui.basic.brown.buttons .active.button,
-.ui.basic.brown.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #995a31 inset;
-          box-shadow: 0 0 0 1px #995a31 inset;
-  color: #805031;
-}
-.ui.basic.brown.buttons .button:active,
-.ui.basic.brown.button:active {
-  -webkit-box-shadow: 0 0 0 1px #805031 inset;
-          box-shadow: 0 0 0 1px #805031 inset;
-  color: #805031;
-}
-.ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.brown.buttons .button,
-.ui.inverted.brown.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #D67C1C inset;
-          box-shadow: 0 0 0 2px #D67C1C inset;
-  color: #D67C1C;
-}
-.ui.inverted.brown.buttons .button:hover,
-.ui.inverted.brown.button:hover,
-.ui.inverted.brown.buttons .button:focus,
-.ui.inverted.brown.button:focus,
-.ui.inverted.brown.buttons .button.active,
-.ui.inverted.brown.button.active,
-.ui.inverted.brown.buttons .button:active,
-.ui.inverted.brown.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: #FFFFFF;
-}
-.ui.inverted.brown.buttons .button:hover,
-.ui.inverted.brown.button:hover {
-  background-color: #b0620f;
-}
-.ui.inverted.brown.buttons .button:focus,
-.ui.inverted.brown.button:focus {
-  background-color: #c16808;
-}
-.ui.inverted.brown.buttons .active.button,
-.ui.inverted.brown.active.button {
-  background-color: #cc6f0d;
-}
-.ui.inverted.brown.buttons .button:active,
-.ui.inverted.brown.button:active {
-  background-color: #a96216;
-}
-
-/* Inverted Basic */
-.ui.inverted.brown.basic.buttons .button,
-.ui.inverted.brown.buttons .basic.button,
-.ui.inverted.brown.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.brown.basic.buttons .button:hover,
-.ui.inverted.brown.buttons .basic.button:hover,
-.ui.inverted.brown.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #b0620f inset;
-          box-shadow: 0 0 0 2px #b0620f inset;
-  color: #D67C1C;
-}
-.ui.inverted.brown.basic.buttons .button:focus,
-.ui.inverted.brown.basic.buttons .button:focus,
-.ui.inverted.brown.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #c16808 inset;
-          box-shadow: 0 0 0 2px #c16808 inset;
-  color: #D67C1C;
-}
-.ui.inverted.brown.basic.buttons .active.button,
-.ui.inverted.brown.buttons .basic.active.button,
-.ui.inverted.brown.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #cc6f0d inset;
-          box-shadow: 0 0 0 2px #cc6f0d inset;
-  color: #D67C1C;
-}
-.ui.inverted.brown.basic.buttons .button:active,
-.ui.inverted.brown.buttons .basic.button:active,
-.ui.inverted.brown.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #a96216 inset;
-          box-shadow: 0 0 0 2px #a96216 inset;
-  color: #D67C1C;
-}
-
-/* Tertiary */
-.ui.tertiary.brown.buttons .button,
-.ui.tertiary.brown.buttons .tertiary.button,
-.ui.tertiary.brown.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #A5673F;
-}
-.ui.tertiary.brown.buttons .button:hover,
-.ui.tertiary.brown.buttons button:hover,
-.ui.tertiary.brown.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #835f48;
-          box-shadow: inset 0 -0.2em 0 #835f48;
-  color: #835f48;
-}
-.ui.tertiary.brown.buttons .button:focus,
-.ui.tertiary.brown.buttons .tertiary.button:focus,
-.ui.tertiary.brown.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #7d573e;
-          box-shadow: inset 0 -0.2em 0 #7d573e;
-  color: #7d573e;
-}
-.ui.tertiary.brown.buttons .active.button,
-.ui.tertiary.brown.buttons .tertiary.active.button,
-.ui.tertiary.brown.active.button,
-.ui.tertiary.brown.buttons .button:active,
-.ui.tertiary.brown.buttons .tertiary.button:active,
-.ui.tertiary.brown.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #ae561d;
-          box-shadow: inset 0 -0.2em 0 #ae561d;
-  color: #995a31;
-}
-.ui.grey.buttons .button,
-.ui.grey.button {
-  background-color: #767676;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.grey.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.grey.buttons .button:hover,
-.ui.grey.button:hover {
-  background-color: #838383;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.grey.buttons .button:focus,
-.ui.grey.button:focus {
-  background-color: #8a8a8a;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.grey.buttons .button:active,
-.ui.grey.button:active {
-  background-color: #909090;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.grey.buttons .active.button,
-.ui.grey.buttons .active.button:active,
-.ui.grey.active.button,
-.ui.grey.button .active.button:active {
-  background-color: #696969;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.grey.buttons .button,
-.ui.basic.grey.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #767676 inset;
-          box-shadow: 0 0 0 1px #767676 inset;
-  color: #767676;
-}
-.ui.basic.grey.buttons .button:hover,
-.ui.basic.grey.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #838383 inset;
-          box-shadow: 0 0 0 1px #838383 inset;
-  color: #838383;
-}
-.ui.basic.grey.buttons .button:focus,
-.ui.basic.grey.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #8a8a8a inset;
-          box-shadow: 0 0 0 1px #8a8a8a inset;
-  color: #838383;
-}
-.ui.basic.grey.buttons .active.button,
-.ui.basic.grey.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #696969 inset;
-          box-shadow: 0 0 0 1px #696969 inset;
-  color: #909090;
-}
-.ui.basic.grey.buttons .button:active,
-.ui.basic.grey.button:active {
-  -webkit-box-shadow: 0 0 0 1px #909090 inset;
-          box-shadow: 0 0 0 1px #909090 inset;
-  color: #909090;
-}
-.ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.grey.buttons .button,
-.ui.inverted.grey.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #D4D4D5 inset;
-          box-shadow: 0 0 0 2px #D4D4D5 inset;
-  color: #FFFFFF;
-}
-.ui.inverted.grey.buttons .button:hover,
-.ui.inverted.grey.button:hover,
-.ui.inverted.grey.buttons .button:focus,
-.ui.inverted.grey.button:focus,
-.ui.inverted.grey.buttons .button.active,
-.ui.inverted.grey.button.active,
-.ui.inverted.grey.buttons .button:active,
-.ui.inverted.grey.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: rgba(0, 0, 0, 0.6);
-}
-.ui.inverted.grey.buttons .button:hover,
-.ui.inverted.grey.button:hover {
-  background-color: #c2c4c5;
-}
-.ui.inverted.grey.buttons .button:focus,
-.ui.inverted.grey.button:focus {
-  background-color: #c7c9cb;
-}
-.ui.inverted.grey.buttons .active.button,
-.ui.inverted.grey.active.button {
-  background-color: #cfd0d2;
-}
-.ui.inverted.grey.buttons .button:active,
-.ui.inverted.grey.button:active {
-  background-color: #c2c4c5;
-}
-
-/* Inverted Basic */
-.ui.inverted.grey.basic.buttons .button,
-.ui.inverted.grey.buttons .basic.button,
-.ui.inverted.grey.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.grey.basic.buttons .button:hover,
-.ui.inverted.grey.buttons .basic.button:hover,
-.ui.inverted.grey.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #c2c4c5 inset;
-          box-shadow: 0 0 0 2px #c2c4c5 inset;
-  color: #FFFFFF;
-}
-.ui.inverted.grey.basic.buttons .button:focus,
-.ui.inverted.grey.basic.buttons .button:focus,
-.ui.inverted.grey.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #c7c9cb inset;
-          box-shadow: 0 0 0 2px #c7c9cb inset;
-  color: #DCDDDE;
-}
-.ui.inverted.grey.basic.buttons .active.button,
-.ui.inverted.grey.buttons .basic.active.button,
-.ui.inverted.grey.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #cfd0d2 inset;
-          box-shadow: 0 0 0 2px #cfd0d2 inset;
-  color: #FFFFFF;
-}
-.ui.inverted.grey.basic.buttons .button:active,
-.ui.inverted.grey.buttons .basic.button:active,
-.ui.inverted.grey.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #c2c4c5 inset;
-          box-shadow: 0 0 0 2px #c2c4c5 inset;
-  color: #FFFFFF;
-}
-
-/* Tertiary */
-.ui.tertiary.grey.buttons .button,
-.ui.tertiary.grey.buttons .tertiary.button,
-.ui.tertiary.grey.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #767676;
-}
-.ui.tertiary.grey.buttons .button:hover,
-.ui.tertiary.grey.buttons button:hover,
-.ui.tertiary.grey.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #838383;
-          box-shadow: inset 0 -0.2em 0 #838383;
-  color: #838383;
-}
-.ui.tertiary.grey.buttons .button:focus,
-.ui.tertiary.grey.buttons .tertiary.button:focus,
-.ui.tertiary.grey.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #8a8a8a;
-          box-shadow: inset 0 -0.2em 0 #8a8a8a;
-  color: #8a8a8a;
-}
-.ui.tertiary.grey.buttons .active.button,
-.ui.tertiary.grey.buttons .tertiary.active.button,
-.ui.tertiary.grey.active.button,
-.ui.tertiary.grey.buttons .button:active,
-.ui.tertiary.grey.buttons .tertiary.button:active,
-.ui.tertiary.grey.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #7e5454;
-          box-shadow: inset 0 -0.2em 0 #7e5454;
-  color: #696969;
-}
-.ui.black.buttons .button,
-.ui.black.button {
-  background-color: #1B1C1D;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.black.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.black.buttons .button:hover,
-.ui.black.button:hover {
-  background-color: #27292a;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.black.buttons .button:focus,
-.ui.black.button:focus {
-  background-color: #2f3032;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.black.buttons .button:active,
-.ui.black.button:active {
-  background-color: #343637;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.black.buttons .active.button,
-.ui.black.buttons .active.button:active,
-.ui.black.active.button,
-.ui.black.button .active.button:active {
-  background-color: #0f0f10;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.black.buttons .button,
-.ui.basic.black.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #1B1C1D inset;
-          box-shadow: 0 0 0 1px #1B1C1D inset;
-  color: #1B1C1D;
-}
-.ui.basic.black.buttons .button:hover,
-.ui.basic.black.button:hover {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #27292a inset;
-          box-shadow: 0 0 0 1px #27292a inset;
-  color: #27292a;
-}
-.ui.basic.black.buttons .button:focus,
-.ui.basic.black.button:focus {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #2f3032 inset;
-          box-shadow: 0 0 0 1px #2f3032 inset;
-  color: #27292a;
-}
-.ui.basic.black.buttons .active.button,
-.ui.basic.black.active.button {
-  background: transparent ;
-  -webkit-box-shadow: 0 0 0 1px #0f0f10 inset;
-          box-shadow: 0 0 0 1px #0f0f10 inset;
-  color: #343637;
-}
-.ui.basic.black.buttons .button:active,
-.ui.basic.black.button:active {
-  -webkit-box-shadow: 0 0 0 1px #343637 inset;
-          box-shadow: 0 0 0 1px #343637 inset;
-  color: #343637;
-}
-.ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/* Inverted */
-.ui.inverted.black.buttons .button,
-.ui.inverted.black.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px #D4D4D5 inset;
-          box-shadow: 0 0 0 2px #D4D4D5 inset;
-  color: #FFFFFF;
-}
-.ui.inverted.black.buttons .button:hover,
-.ui.inverted.black.button:hover,
-.ui.inverted.black.buttons .button:focus,
-.ui.inverted.black.button:focus,
-.ui.inverted.black.buttons .button.active,
-.ui.inverted.black.button.active,
-.ui.inverted.black.buttons .button:active,
-.ui.inverted.black.button:active {
-  -webkit-box-shadow: none ;
-          box-shadow: none ;
-  color: #FFFFFF;
-}
-.ui.inverted.black.buttons .button:hover,
-.ui.inverted.black.button:hover {
-  background-color: #000000;
-}
-.ui.inverted.black.buttons .button:focus,
-.ui.inverted.black.button:focus {
-  background-color: #000000;
-}
-.ui.inverted.black.buttons .active.button,
-.ui.inverted.black.active.button {
-  background-color: #000000;
-}
-.ui.inverted.black.buttons .button:active,
-.ui.inverted.black.button:active {
-  background-color: #000000;
-}
-
-/* Inverted Basic */
-.ui.inverted.black.basic.buttons .button,
-.ui.inverted.black.buttons .basic.button,
-.ui.inverted.black.basic.button {
-  background-color: transparent;
-  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
-  color: #FFFFFF;
-}
-.ui.inverted.black.basic.buttons .button:hover,
-.ui.inverted.black.buttons .basic.button:hover,
-.ui.inverted.black.basic.button:hover {
-  -webkit-box-shadow: 0 0 0 2px #000000 inset;
-          box-shadow: 0 0 0 2px #000000 inset;
-  color: #FFFFFF;
-}
-.ui.inverted.black.basic.buttons .button:focus,
-.ui.inverted.black.basic.buttons .button:focus,
-.ui.inverted.black.basic.button:focus {
-  -webkit-box-shadow: 0 0 0 2px #000000 inset;
-          box-shadow: 0 0 0 2px #000000 inset;
-  color: #545454;
-}
-.ui.inverted.black.basic.buttons .active.button,
-.ui.inverted.black.buttons .basic.active.button,
-.ui.inverted.black.basic.active.button {
-  -webkit-box-shadow: 0 0 0 2px #000000 inset;
-          box-shadow: 0 0 0 2px #000000 inset;
-  color: #FFFFFF;
-}
-.ui.inverted.black.basic.buttons .button:active,
-.ui.inverted.black.buttons .basic.button:active,
-.ui.inverted.black.basic.button:active {
-  -webkit-box-shadow: 0 0 0 2px #000000 inset;
-          box-shadow: 0 0 0 2px #000000 inset;
-  color: #FFFFFF;
-}
-
-/* Tertiary */
-.ui.tertiary.black.buttons .button,
-.ui.tertiary.black.buttons .tertiary.button,
-.ui.tertiary.black.button {
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: #1B1C1D;
-}
-.ui.tertiary.black.buttons .button:hover,
-.ui.tertiary.black.buttons button:hover,
-.ui.tertiary.black.button:hover {
-  -webkit-box-shadow: inset 0 -0.2em 0 #8b8f93;
-          box-shadow: inset 0 -0.2em 0 #8b8f93;
-  color: #8b8f93;
-}
-.ui.tertiary.black.buttons .button:focus,
-.ui.tertiary.black.buttons .tertiary.button:focus,
-.ui.tertiary.black.button:focus {
-  -webkit-box-shadow: inset 0 -0.2em 0 #93969a;
-          box-shadow: inset 0 -0.2em 0 #93969a;
-  color: #93969a;
-}
-.ui.tertiary.black.buttons .active.button,
-.ui.tertiary.black.buttons .tertiary.active.button,
-.ui.tertiary.black.active.button,
-.ui.tertiary.black.buttons .button:active,
-.ui.tertiary.black.buttons .tertiary.button:active,
-.ui.tertiary.black.button:active {
-  -webkit-box-shadow: inset 0 -0.2em 0 #404245;
-          box-shadow: inset 0 -0.2em 0 #404245;
-  color: #0f0f10;
-}
-
-/*---------------
-    Positive
-----------------*/
-
-
-/* Standard */
-.ui.positive.buttons .button,
-.ui.positive.button {
-  background-color: #21BA45;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.positive.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.positive.buttons .button:hover,
-.ui.positive.button:hover {
-  background-color: #16ab39;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.positive.buttons .button:focus,
-.ui.positive.button:focus {
-  background-color: #0ea432;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.positive.buttons .button:active,
-.ui.positive.button:active {
-  background-color: #198f35;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.positive.buttons .active.button,
-.ui.positive.buttons .active.button:active,
-.ui.positive.active.button,
-.ui.positive.button .active.button:active {
-  background-color: #13ae38;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.positive.buttons .button,
-.ui.basic.positive.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #21BA45 inset;
-          box-shadow: 0 0 0 1px #21BA45 inset;
-  color: #21BA45;
-}
-.ui.basic.positive.buttons .button:hover,
-.ui.basic.positive.button:hover {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #16ab39 inset;
-          box-shadow: 0 0 0 1px #16ab39 inset;
-  color: #16ab39;
-}
-.ui.basic.positive.buttons .button:focus,
-.ui.basic.positive.button:focus {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #0ea432 inset;
-          box-shadow: 0 0 0 1px #0ea432 inset;
-  color: #16ab39;
-}
-.ui.basic.positive.buttons .active.button,
-.ui.basic.positive.active.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #13ae38 inset;
-          box-shadow: 0 0 0 1px #13ae38 inset;
-  color: #198f35;
-}
-.ui.basic.positive.buttons .button:active,
-.ui.basic.positive.button:active {
-  -webkit-box-shadow: 0 0 0 1px #198f35 inset;
-          box-shadow: 0 0 0 1px #198f35 inset;
-  color: #198f35;
-}
-.ui.buttons:not(.vertical) > .basic.positive.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-/*---------------
-     Negative
-----------------*/
-
-
-/* Standard */
-.ui.negative.buttons .button,
-.ui.negative.button {
-  background-color: #DB2828;
-  color: #FFFFFF;
-  text-shadow: none;
-  background-image: none;
-}
-.ui.negative.button {
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.negative.buttons .button:hover,
-.ui.negative.button:hover {
-  background-color: #d01919;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.negative.buttons .button:focus,
-.ui.negative.button:focus {
-  background-color: #ca1010;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.negative.buttons .button:active,
-.ui.negative.button:active {
-  background-color: #b21e1e;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-.ui.negative.buttons .active.button,
-.ui.negative.buttons .active.button:active,
-.ui.negative.active.button,
-.ui.negative.button .active.button:active {
-  background-color: #d41515;
-  color: #FFFFFF;
-  text-shadow: none;
-}
-
-/* Basic */
-.ui.basic.negative.buttons .button,
-.ui.basic.negative.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #DB2828 inset;
-          box-shadow: 0 0 0 1px #DB2828 inset;
-  color: #DB2828;
-}
-.ui.basic.negative.buttons .button:hover,
-.ui.basic.negative.button:hover {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #d01919 inset;
-          box-shadow: 0 0 0 1px #d01919 inset;
-  color: #d01919;
-}
-.ui.basic.negative.buttons .button:focus,
-.ui.basic.negative.button:focus {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #ca1010 inset;
-          box-shadow: 0 0 0 1px #ca1010 inset;
-  color: #d01919;
-}
-.ui.basic.negative.buttons .active.button,
-.ui.basic.negative.active.button {
-  background: transparent;
-  -webkit-box-shadow: 0 0 0 1px #d41515 inset;
-          box-shadow: 0 0 0 1px #d41515 inset;
-  color: #b21e1e;
-}
-.ui.basic.negative.buttons .button:active,
-.ui.basic.negative.button:active {
-  -webkit-box-shadow: 0 0 0 1px #b21e1e inset;
-          box-shadow: 0 0 0 1px #b21e1e inset;
-  color: #b21e1e;
-}
-.ui.buttons:not(.vertical) > .basic.negative.button:not(:first-child) {
-  margin-left: -1px;
-}
-
-
-/*******************************
-            Groups
-*******************************/
-
-.ui.buttons {
-  display: -webkit-inline-box;
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  -webkit-box-orient: horizontal;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: row;
-          flex-direction: row;
-  font-size: 0;
-  vertical-align: baseline;
-  margin: 0 0.25em 0 0;
-}
-.ui.buttons:not(.basic):not(.inverted) {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Clearfix */
-.ui.buttons:after {
-  content: ".";
-  display: block;
-  height: 0;
-  clear: both;
-  visibility: hidden;
-}
-
-/* Standard Group */
-.ui.buttons .button {
-  -webkit-box-flex: 1;
-      -ms-flex: 1 0 auto;
-          flex: 1 0 auto;
-  border-radius: 0;
-  margin: 0 0 0 0;
-}
-.ui.buttons:not(.basic):not(.inverted) > .button:not(.basic):not(.inverted) {
-  -webkit-box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
-}
-.ui.buttons .button:first-child {
-  border-left: none;
-  margin-left: 0;
-  border-top-left-radius: 0.28571429rem;
-  border-bottom-left-radius: 0.28571429rem;
-}
-.ui.buttons .button:last-child {
-  border-top-right-radius: 0.28571429rem;
-  border-bottom-right-radius: 0.28571429rem;
-}
-
-/* Vertical  Style */
-.ui.vertical.buttons {
-  display: -webkit-inline-box;
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  -webkit-box-orient: vertical;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: column;
-          flex-direction: column;
-}
-.ui.vertical.buttons .button {
-  display: block;
-  float: none;
-  width: 100%;
-  margin: 0 0 0 0;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  border-radius: 0;
-}
-.ui.vertical.buttons .button:first-child {
-  border-top-left-radius: 0.28571429rem;
-  border-top-right-radius: 0.28571429rem;
-}
-.ui.vertical.buttons .button:last-child {
-  margin-bottom: 0;
-  border-bottom-left-radius: 0.28571429rem;
-  border-bottom-right-radius: 0.28571429rem;
-}
-.ui.vertical.buttons .button:only-child {
-  border-radius: 0.28571429rem;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/button.min.css


+ 0 - 169
webgui/static/components/calendar.css

@@ -1,169 +0,0 @@
-/*!
- * # Fomantic-UI - Calendar
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Popup
-*******************************/
-
-.ui.calendar .ui.popup {
-  max-width: none;
-  padding: 0;
-  border: none;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-}
-
-
-/*******************************
-            Calendar
-*******************************/
-
-.ui.calendar .calendar:focus {
-  outline: 0;
-}
-
-
-/*******************************
-            Grid
-*******************************/
-
-.ui.calendar .ui.popup .ui.grid {
-  display: block;
-  white-space: nowrap;
-}
-.ui.calendar .ui.popup .ui.grid > .column {
-  width: auto;
-}
-
-
-/*******************************
-            Table
-*******************************/
-
-.ui.calendar .ui.table.year,
-.ui.calendar .ui.table.month,
-.ui.calendar .ui.table.minute {
-  min-width: 15em;
-}
-.ui.calendar .ui.table.day {
-  min-width: 18em;
-}
-.ui.calendar .ui.table.day.andweek {
-  min-width: 22em;
-}
-.ui.calendar .ui.table.hour {
-  min-width: 20em;
-}
-.ui.calendar .ui.table tr th,
-.ui.calendar .ui.table tr td {
-  padding: 0.5em;
-  white-space: nowrap;
-}
-.ui.calendar .ui.table tr th {
-  border-left: none;
-}
-.ui.calendar .ui.table tr th .icon {
-  margin: 0;
-}
-.ui.calendar .ui.table tr:first-child th {
-  position: relative;
-  padding-left: 0;
-  padding-right: 0;
-}
-.ui.calendar .ui.table.day tr:first-child th {
-  border: none;
-}
-.ui.calendar .ui.table.day tr:nth-child(2) th {
-  padding-top: 0.2em;
-  padding-bottom: 0.3em;
-}
-.ui.calendar .ui.table tr td {
-  padding-left: 0.1em;
-  padding-right: 0.1em;
-}
-.ui.calendar .ui.table tr .link {
-  cursor: pointer;
-}
-.ui.calendar .ui.table tr .prev.link {
-  width: 14.28571429%;
-  position: absolute;
-  left: 0;
-}
-.ui.calendar .ui.table tr .next.link {
-  width: 14.28571429%;
-  position: absolute;
-  right: 0;
-}
-.ui.calendar .ui.table tr .disabled {
-  pointer-events: auto;
-  cursor: default;
-  color: rgba(40, 40, 40, 0.3);
-}
-.ui.calendar .ui.table tr .adjacent:not(.disabled) {
-  color: rgba(0, 0, 0, 0.6);
-  background: rgba(0, 0, 0, 0.03);
-}
-
-/*--------------
-     States
----------------*/
-
-.ui.calendar .ui.table tr td.today {
-  font-weight: bold;
-}
-.ui.calendar .ui.table tr td.range {
-  background: rgba(0, 0, 0, 0.05);
-  color: rgba(0, 0, 0, 0.95);
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.calendar .ui.table.inverted tr td.range {
-  background: rgba(255, 255, 255, 0.08);
-  color: #ffffff;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.calendar:not(.disabled) .calendar:focus .ui.table tbody tr td.focus,
-.ui.calendar:not(.disabled) .calendar.active .ui.table tbody tr td.focus {
-  -webkit-box-shadow: inset 0 0 0 1px #85B7D9;
-          box-shadow: inset 0 0 0 1px #85B7D9;
-}
-.ui.calendar:not(.disabled) .calendar:focus .ui.table.inverted tbody tr td.focus,
-.ui.calendar:not(.disabled) .calendar.active .ui.table.inverted tbody tr td.focus {
-  -webkit-box-shadow: inset 0 0 0 1px #85B7D9;
-          box-shadow: inset 0 0 0 1px #85B7D9;
-}
-
-
-/*******************************
-            States
-*******************************/
-
-
-/*--------------------
-        Disabled
----------------------*/
-
-.ui.disabled.calendar {
-  opacity: 0.45;
-}
-.ui.disabled.calendar > .input,
-.ui.disabled.calendar .ui.table tr .link {
-  pointer-events: none;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-

+ 0 - 1562
webgui/static/components/calendar.js

@@ -1,1562 +0,0 @@
-/*!
- * # Fomantic-UI - Calendar
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-'use strict';
-
-$.isFunction = $.isFunction || function(obj) {
-  return typeof obj === "function" && typeof obj.nodeType !== "number";
-};
-
-window = (typeof window != 'undefined' && window.Math == Math)
-  ? window
-  : (typeof self != 'undefined' && self.Math == Math)
-    ? self
-    : Function('return this')()
-;
-
-$.fn.calendar = 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),
-    returnedValue,
-    timeGapTable = {
-      '5': {'row': 4, 'column': 3 },
-      '10': {'row': 3, 'column': 2 },
-      '15': {'row': 2, 'column': 2 },
-      '20': {'row': 3, 'column': 1 },
-      '30': {'row': 2, 'column': 1 }
-    }
-  ;
-
-  $allModules
-    .each(function () {
-      var
-        settings = ( $.isPlainObject(parameters) )
-          ? $.extend(true, {}, $.fn.calendar.settings, parameters)
-          : $.extend({}, $.fn.calendar.settings),
-
-        className = settings.className,
-        namespace = settings.namespace,
-        selector = settings.selector,
-        formatter = settings.formatter,
-        parser = settings.parser,
-        metadata = settings.metadata,
-        timeGap = timeGapTable[settings.minTimeGap],
-        error = settings.error,
-
-        eventNamespace = '.' + namespace,
-        moduleNamespace = 'module-' + namespace,
-
-        $module = $(this),
-        $input = $module.find(selector.input),
-        $container = $module.find(selector.popup),
-        $activator = $module.find(selector.activator),
-
-        element = this,
-        instance = $module.data(moduleNamespace),
-
-        isTouch,
-        isTouchDown = false,
-        focusDateUsedForRange = false,
-        module
-      ;
-
-      module = {
-
-        initialize: function () {
-          module.debug('Initializing calendar for', element, $module);
-
-          isTouch = module.get.isTouch();
-          module.setup.config();
-          module.setup.popup();
-          module.setup.inline();
-          module.setup.input();
-          module.setup.date();
-          module.create.calendar();
-
-          module.bind.events();
-          module.instantiate();
-        },
-
-        instantiate: function () {
-          module.verbose('Storing instance of calendar');
-          instance = module;
-          $module.data(moduleNamespace, instance);
-        },
-
-        destroy: function () {
-          module.verbose('Destroying previous calendar for', element);
-          $module.removeData(moduleNamespace);
-          module.unbind.events();
-        },
-
-        setup: {
-          config: function () {
-            if (module.get.minDate() !== null) {
-              module.set.minDate($module.data(metadata.minDate));
-            }
-            if (module.get.maxDate() !== null) {
-              module.set.maxDate($module.data(metadata.maxDate));
-            }
-          },
-          popup: function () {
-            if (settings.inline) {
-              return;
-            }
-            if (!$activator.length) {
-              $activator = $module.children().first();
-              if (!$activator.length) {
-                return;
-              }
-            }
-            if ($.fn.popup === undefined) {
-              module.error(error.popup);
-              return;
-            }
-            if (!$container.length) {
-              //prepend the popup element to the activator's parent so that it has less chance of messing with
-              //the styling (eg input action button needs to be the last child to have correct border radius)
-              var $activatorParent = $activator.parent(),
-                  domPositionFunction = $activatorParent.closest(selector.append).length !== 0 ? 'appendTo' : 'prependTo';
-              $container = $('<div/>').addClass(className.popup)[domPositionFunction]($activatorParent);
-            }
-            $container.addClass(className.calendar);
-            var onVisible = settings.onVisible;
-            var onHidden = settings.onHidden;
-            if (!$input.length) {
-              //no input, $container has to handle focus/blur
-              $container.attr('tabindex', '0');
-              onVisible = function () {
-                module.focus();
-                return settings.onVisible.apply($container, arguments);
-              };
-              onHidden = function () {
-                module.blur();
-                return settings.onHidden.apply($container, arguments);
-              };
-            }
-            var onShow = function () {
-              //reset the focus date onShow
-              module.set.focusDate(module.get.date());
-              module.set.mode(settings.startMode);
-              return settings.onShow.apply($container, arguments);
-            };
-            var on = settings.on || ($input.length ? 'focus' : 'click');
-            var options = $.extend({}, settings.popupOptions, {
-              popup: $container,
-              on: on,
-              hoverable: on === 'hover',
-              onShow: onShow,
-              onVisible: onVisible,
-              onHide: settings.onHide,
-              onHidden: onHidden
-            });
-            module.popup(options);
-          },
-          inline: function () {
-            if ($activator.length && !settings.inline) {
-              return;
-            }
-            $container = $('<div/>').addClass(className.calendar).appendTo($module);
-            if (!$input.length) {
-              $container.attr('tabindex', '0');
-            }
-          },
-          input: function () {
-            if (settings.touchReadonly && $input.length && isTouch) {
-              $input.prop('readonly', true);
-            }
-          },
-          date: function () {
-            if (settings.initialDate) {
-              var date = parser.date(settings.initialDate, settings);
-              module.set.date(date, settings.formatInput, false);
-            } else if ($module.data(metadata.date) !== undefined) {
-              var date = parser.date($module.data(metadata.date), settings);
-              module.set.date(date, settings.formatInput, false);
-            } else if ($input.length) {
-              var val = $input.val();
-              var date = parser.date(val, settings);
-              module.set.date(date, settings.formatInput, false);
-            }
-          }
-        },
-
-        create: {
-          calendar: function () {
-            var i, r, c, p, row, cell, pageGrid;
-
-            var mode = module.get.mode();
-            var today = new Date();
-            var date = module.get.date();
-            var focusDate = module.get.focusDate();
-            var display = focusDate || date || settings.initialDate || today;
-            display = module.helper.dateInRange(display);
-
-            if (!focusDate) {
-              focusDate = display;
-              module.set.focusDate(focusDate, false, false);
-            }
-
-            var isYear = mode === 'year';
-            var isMonth = mode === 'month';
-            var isDay = mode === 'day';
-            var isHour = mode === 'hour';
-            var isMinute = mode === 'minute';
-            var isTimeOnly = settings.type === 'time';
-
-            var multiMonth = Math.max(settings.multiMonth, 1);
-            var monthOffset = !isDay ? 0 : module.get.monthOffset();
-
-            var minute = display.getMinutes();
-            var hour = display.getHours();
-            var day = display.getDate();
-            var startMonth = display.getMonth() + monthOffset;
-            var year = display.getFullYear();
-
-            var columns = isDay ? settings.showWeekNumbers ? 8 : 7 : isHour ? 4 : timeGap['column'];
-            var rows = isDay || isHour ? 6 : timeGap['row'];
-            var pages = isDay ? multiMonth : 1;
-
-            var container = $container;
-            var tooltipPosition = container.hasClass("left") ? "right center" : "left center";
-            container.empty();
-            if (pages > 1) {
-              pageGrid = $('<div/>').addClass(className.grid).appendTo(container);
-            }
-
-            for (p = 0; p < pages; p++) {
-              if (pages > 1) {
-                var pageColumn = $('<div/>').addClass(className.column).appendTo(pageGrid);
-                container = pageColumn;
-              }
-
-              var month = startMonth + p;
-              var firstMonthDayColumn = (new Date(year, month, 1).getDay() - settings.firstDayOfWeek % 7 + 7) % 7;
-              if (!settings.constantHeight && isDay) {
-                var requiredCells = new Date(year, month + 1, 0).getDate() + firstMonthDayColumn;
-                rows = Math.ceil(requiredCells / 7);
-              }
-
-              var yearChange = isYear ? 10 : isMonth ? 1 : 0;
-              var monthChange = isDay ? 1 : 0;
-              var dayChange = isHour || isMinute ? 1 : 0;
-              var prevNextDay = isHour || isMinute ? day : 1;
-              var prevDate = new Date(year - yearChange, month - monthChange, prevNextDay - dayChange, hour);
-              var nextDate = new Date(year + yearChange, month + monthChange, prevNextDay + dayChange, hour);
-
-              var prevLast = isYear ? new Date(Math.ceil(year / 10) * 10 - 9, 0, 0) :
-                isMonth ? new Date(year, 0, 0) : isDay ? new Date(year, month, 0) : new Date(year, month, day, -1);
-              var nextFirst = isYear ? new Date(Math.ceil(year / 10) * 10 + 1, 0, 1) :
-                isMonth ? new Date(year + 1, 0, 1) : isDay ? new Date(year, month + 1, 1) : new Date(year, month, day + 1);
-
-              var tempMode = mode;
-              if (isDay && settings.showWeekNumbers){
-                tempMode += ' andweek';
-              }
-              var table = $('<table/>').addClass(className.table).addClass(tempMode).appendTo(container);
-              var textColumns = columns;
-              //no header for time-only mode
-              if (!isTimeOnly) {
-                var thead = $('<thead/>').appendTo(table);
-
-                row = $('<tr/>').appendTo(thead);
-                cell = $('<th/>').attr('colspan', '' + columns).appendTo(row);
-
-                var headerDate = isYear || isMonth ? new Date(year, 0, 1) :
-                  isDay ? new Date(year, month, 1) : new Date(year, month, day, hour, minute);
-                var headerText = $('<span/>').addClass(className.link).appendTo(cell);
-                headerText.text(formatter.header(headerDate, mode, settings));
-                var newMode = isMonth ? (settings.disableYear ? 'day' : 'year') :
-                  isDay ? (settings.disableMonth ? 'year' : 'month') : 'day';
-                headerText.data(metadata.mode, newMode);
-
-                if (p === 0) {
-                  var prev = $('<span/>').addClass(className.prev).appendTo(cell);
-                  prev.data(metadata.focusDate, prevDate);
-                  prev.toggleClass(className.disabledCell, !module.helper.isDateInRange(prevLast, mode));
-                  $('<i/>').addClass(className.prevIcon).appendTo(prev);
-                }
-
-                if (p === pages - 1) {
-                  var next = $('<span/>').addClass(className.next).appendTo(cell);
-                  next.data(metadata.focusDate, nextDate);
-                  next.toggleClass(className.disabledCell, !module.helper.isDateInRange(nextFirst, mode));
-                  $('<i/>').addClass(className.nextIcon).appendTo(next);
-                }
-                if (isDay) {
-                  row = $('<tr/>').appendTo(thead);
-                  if(settings.showWeekNumbers) {
-                      cell = $('<th/>').appendTo(row);
-                      cell.text(settings.text.weekNo);
-                      cell.addClass(className.weekCell);
-                      textColumns--;
-                  }
-                  for (i = 0; i < textColumns; i++) {
-                    cell = $('<th/>').appendTo(row);
-                    cell.text(formatter.dayColumnHeader((i + settings.firstDayOfWeek) % 7, settings));
-                  }
-                }
-              }
-
-              var tbody = $('<tbody/>').appendTo(table);
-              i = isYear ? Math.ceil(year / 10) * 10 - 9 : isDay ? 1 - firstMonthDayColumn : 0;
-              for (r = 0; r < rows; r++) {
-                row = $('<tr/>').appendTo(tbody);
-                if(isDay && settings.showWeekNumbers){
-                    cell = $('<th/>').appendTo(row);
-                    cell.text(module.get.weekOfYear(year,month,i+1-settings.firstDayOfWeek));
-                    cell.addClass(className.weekCell);
-                }
-                for (c = 0; c < textColumns; c++, i++) {
-                  var cellDate = isYear ? new Date(i, month, 1, hour, minute) :
-                    isMonth ? new Date(year, i, 1, hour, minute) : isDay ? new Date(year, month, i, hour, minute) :
-                      isHour ? new Date(year, month, day, i) : new Date(year, month, day, hour, i * settings.minTimeGap);
-                  var cellText = isYear ? i :
-                    isMonth ? settings.text.monthsShort[i] : isDay ? cellDate.getDate() :
-                      formatter.time(cellDate, settings, true);
-                  cell = $('<td/>').addClass(className.cell).appendTo(row);
-                  cell.text(cellText);
-                  cell.data(metadata.date, cellDate);
-                  var adjacent = isDay && cellDate.getMonth() !== ((month + 12) % 12);
-                  var disabled = (!settings.selectAdjacentDays && adjacent) || !module.helper.isDateInRange(cellDate, mode) || settings.isDisabled(cellDate, mode) || module.helper.isDisabled(cellDate, mode) || !module.helper.isEnabled(cellDate, mode);
-                  if (disabled) {
-                    var disabledDate = module.helper.findDayAsObject(cellDate, mode, settings.disabledDates);
-                    if (disabledDate !== null && disabledDate[metadata.message]) {
-                      cell.attr("data-tooltip", disabledDate[metadata.message]);
-                      cell.attr("data-position", tooltipPosition);
-                    }
-                  } else {
-                    var eventDate = module.helper.findDayAsObject(cellDate, mode, settings.eventDates);
-                    if (eventDate !== null) {
-                      cell.addClass(eventDate[metadata.class] || settings.eventClass);
-                      if (eventDate[metadata.message]) {
-                        cell.attr("data-tooltip", eventDate[metadata.message]);
-                        cell.attr("data-position", tooltipPosition);
-                      }
-                    }
-                  }
-                  var active = module.helper.dateEqual(cellDate, date, mode);
-                  var isToday = module.helper.dateEqual(cellDate, today, mode);
-                  cell.toggleClass(className.adjacentCell, adjacent);
-                  cell.toggleClass(className.disabledCell, disabled);
-                  cell.toggleClass(className.activeCell, active && !adjacent);
-                  if (!isHour && !isMinute) {
-                    cell.toggleClass(className.todayCell, !adjacent && isToday);
-                  }
-
-                  // Allow for external modifications of each cell
-                  var cellOptions = {
-                    mode: mode,
-                    adjacent: adjacent,
-                    disabled: disabled,
-                    active: active,
-                    today: isToday
-                  };
-                  formatter.cell(cell, cellDate, cellOptions);
-
-                  if (module.helper.dateEqual(cellDate, focusDate, mode)) {
-                    //ensure that the focus date is exactly equal to the cell date
-                    //so that, if selected, the correct value is set
-                    module.set.focusDate(cellDate, false, false);
-                  }
-                }
-              }
-
-              if (settings.today) {
-                var todayRow = $('<tr/>').appendTo(tbody);
-                var todayButton = $('<td/>').attr('colspan', '' + columns).addClass(className.today).appendTo(todayRow);
-                todayButton.text(formatter.today(settings));
-                todayButton.data(metadata.date, today);
-              }
-
-              module.update.focus(false, table);
-            }
-          }
-        },
-
-        update: {
-          focus: function (updateRange, container) {
-            container = container || $container;
-            var mode = module.get.mode();
-            var date = module.get.date();
-            var focusDate = module.get.focusDate();
-            var startDate = module.get.startDate();
-            var endDate = module.get.endDate();
-            var rangeDate = (updateRange ? focusDate : null) || date || (!isTouch ? focusDate : null);
-
-            container.find('td').each(function () {
-              var cell = $(this);
-              var cellDate = cell.data(metadata.date);
-              if (!cellDate) {
-                return;
-              }
-              var disabled = cell.hasClass(className.disabledCell);
-              var active = cell.hasClass(className.activeCell);
-              var adjacent = cell.hasClass(className.adjacentCell);
-              var focused = module.helper.dateEqual(cellDate, focusDate, mode);
-              var inRange = !rangeDate ? false :
-                ((!!startDate && module.helper.isDateInRange(cellDate, mode, startDate, rangeDate)) ||
-                (!!endDate && module.helper.isDateInRange(cellDate, mode, rangeDate, endDate)));
-              cell.toggleClass(className.focusCell, focused && (!isTouch || isTouchDown) && (!adjacent || (settings.selectAdjacentDays && adjacent)) && !disabled);
-              cell.toggleClass(className.rangeCell, inRange && !active && !disabled);
-            });
-          }
-        },
-
-        refresh: function () {
-          module.create.calendar();
-        },
-
-        bind: {
-          events: function () {
-            module.debug('Binding events');
-            $container.on('mousedown' + eventNamespace, module.event.mousedown);
-            $container.on('touchstart' + eventNamespace, module.event.mousedown);
-            $container.on('mouseup' + eventNamespace, module.event.mouseup);
-            $container.on('touchend' + eventNamespace, module.event.mouseup);
-            $container.on('mouseover' + eventNamespace, module.event.mouseover);
-            if ($input.length) {
-              $input.on('input' + eventNamespace, module.event.inputChange);
-              $input.on('focus' + eventNamespace, module.event.inputFocus);
-              $input.on('blur' + eventNamespace, module.event.inputBlur);
-              $input.on('click' + eventNamespace, module.event.inputClick);
-              $input.on('keydown' + eventNamespace, module.event.keydown);
-            } else {
-              $container.on('keydown' + eventNamespace, module.event.keydown);
-            }
-          }
-        },
-
-        unbind: {
-          events: function () {
-            module.debug('Unbinding events');
-            $container.off(eventNamespace);
-            if ($input.length) {
-              $input.off(eventNamespace);
-            }
-          }
-        },
-
-        event: {
-          mouseover: function (event) {
-            var target = $(event.target);
-            var date = target.data(metadata.date);
-            var mousedown = event.buttons === 1;
-            if (date) {
-              module.set.focusDate(date, false, true, mousedown);
-            }
-          },
-          mousedown: function (event) {
-            if ($input.length) {
-              //prevent the mousedown on the calendar causing the input to lose focus
-              event.preventDefault();
-            }
-            isTouchDown = event.type.indexOf('touch') >= 0;
-            var target = $(event.target);
-            var date = target.data(metadata.date);
-            if (date) {
-              module.set.focusDate(date, false, true, true);
-            }
-          },
-          mouseup: function (event) {
-            //ensure input has focus so that it receives keydown events for calendar navigation
-            module.focus();
-            event.preventDefault();
-            event.stopPropagation();
-            isTouchDown = false;
-            var target = $(event.target);
-            if (target.hasClass("disabled")) {
-              return;
-            }
-            var parent = target.parent();
-            if (parent.data(metadata.date) || parent.data(metadata.focusDate) || parent.data(metadata.mode)) {
-              //clicked on a child element, switch to parent (used when clicking directly on prev/next <i> icon element)
-              target = parent;
-            }
-            var date = target.data(metadata.date);
-            var focusDate = target.data(metadata.focusDate);
-            var mode = target.data(metadata.mode);
-            if (date && settings.onSelect.call(element, date, module.get.mode()) !== false) {
-              var forceSet = target.hasClass(className.today);
-              module.selectDate(date, forceSet);
-            }
-            else if (focusDate) {
-              module.set.focusDate(focusDate);
-            }
-            else if (mode) {
-              module.set.mode(mode);
-            }
-          },
-          keydown: function (event) {
-            var keyCode = event.which;
-            if (keyCode === 27 || keyCode === 9) {
-              //esc || tab
-              module.popup('hide');
-            }
-
-            if (module.popup('is visible')) {
-              if (keyCode === 37 || keyCode === 38 || keyCode === 39 || keyCode === 40) {
-                //arrow keys
-                var mode = module.get.mode();
-                var bigIncrement = mode === 'day' ? 7 : mode === 'hour' ? 4 : mode === 'minute' ? timeGap['column'] : 3;
-                var increment = keyCode === 37 ? -1 : keyCode === 38 ? -bigIncrement : keyCode == 39 ? 1 : bigIncrement;
-                increment *= mode === 'minute' ? settings.minTimeGap : 1;
-                var focusDate = module.get.focusDate() || module.get.date() || new Date();
-                var year = focusDate.getFullYear() + (mode === 'year' ? increment : 0);
-                var month = focusDate.getMonth() + (mode === 'month' ? increment : 0);
-                var day = focusDate.getDate() + (mode === 'day' ? increment : 0);
-                var hour = focusDate.getHours() + (mode === 'hour' ? increment : 0);
-                var minute = focusDate.getMinutes() + (mode === 'minute' ? increment : 0);
-                var newFocusDate = new Date(year, month, day, hour, minute);
-                if (settings.type === 'time') {
-                  newFocusDate = module.helper.mergeDateTime(focusDate, newFocusDate);
-                }
-                if (module.helper.isDateInRange(newFocusDate, mode)) {
-                  module.set.focusDate(newFocusDate);
-                }
-              } else if (keyCode === 13) {
-                //enter
-                var mode = module.get.mode();
-                var date = module.get.focusDate();
-                if (date && !settings.isDisabled(date, mode) && !module.helper.isDisabled(date, mode) && module.helper.isEnabled(date, mode)) {
-                  module.selectDate(date);
-                }
-                //disable form submission:
-                event.preventDefault();
-                event.stopPropagation();
-              }
-            }
-
-            if (keyCode === 38 || keyCode === 40) {
-              //arrow-up || arrow-down
-              event.preventDefault(); //don't scroll
-              module.popup('show');
-            }
-          },
-          inputChange: function () {
-            var val = $input.val();
-            var date = parser.date(val, settings);
-            module.set.date(date, false);
-          },
-          inputFocus: function () {
-            $container.addClass(className.active);
-          },
-          inputBlur: function () {
-            $container.removeClass(className.active);
-            if (settings.formatInput) {
-              var date = module.get.date();
-              var text = formatter.datetime(date, settings);
-              $input.val(text);
-            }
-          },
-          inputClick: function () {
-            module.popup('show');
-          }
-        },
-
-        get: {
-          weekOfYear: function(weekYear,weekMonth,weekDay) {
-              // adapted from http://www.merlyn.demon.co.uk/weekcalc.htm
-              var ms1d = 864e5, // milliseconds in a day
-                  ms7d = 7 * ms1d; // milliseconds in a week
-
-              return function() { // return a closure so constants get calculated only once
-                  var DC3 = Date.UTC(weekYear, weekMonth, weekDay + 3) / ms1d, // an Absolute Day Number
-                      AWN = Math.floor(DC3 / 7), // an Absolute Week Number
-                      Wyr = new Date(AWN * ms7d).getUTCFullYear();
-
-                  return AWN - Math.floor(Date.UTC(Wyr, 0, 7) / ms7d) + 1;
-              }();
-          },
-          date: function () {
-            return module.helper.sanitiseDate($module.data(metadata.date)) || null;
-          },
-          inputDate: function() {
-            return $input.val();
-          },
-          focusDate: function () {
-            return $module.data(metadata.focusDate) || null;
-          },
-          startDate: function () {
-            var startModule = module.get.calendarModule(settings.startCalendar);
-            return (startModule ? startModule.get.date() : $module.data(metadata.startDate)) || null;
-          },
-          endDate: function () {
-            var endModule = module.get.calendarModule(settings.endCalendar);
-            return (endModule ? endModule.get.date() : $module.data(metadata.endDate)) || null;
-          },
-          minDate: function() {
-            return $module.data(metadata.minDate) || null;
-          },
-          maxDate: function() {
-            return $module.data(metadata.maxDate) || null;
-          },
-          monthOffset: function () {
-            return $module.data(metadata.monthOffset) || 0;
-          },
-          mode: function () {
-            //only returns valid modes for the current settings
-            var mode = $module.data(metadata.mode) || settings.startMode;
-            var validModes = module.get.validModes();
-            if ($.inArray(mode, validModes) >= 0) {
-              return mode;
-            }
-            return settings.type === 'time' ? 'hour' :
-              settings.type === 'month' ? 'month' :
-                settings.type === 'year' ? 'year' : 'day';
-          },
-          validModes: function () {
-            var validModes = [];
-            if (settings.type !== 'time') {
-              if (!settings.disableYear || settings.type === 'year') {
-                validModes.push('year');
-              }
-              if (!(settings.disableMonth || settings.type === 'year') || settings.type === 'month') {
-                validModes.push('month');
-              }
-              if (settings.type.indexOf('date') >= 0) {
-                validModes.push('day');
-              }
-            }
-            if (settings.type.indexOf('time') >= 0) {
-              validModes.push('hour');
-              if (!settings.disableMinute) {
-                validModes.push('minute');
-              }
-            }
-            return validModes;
-          },
-          isTouch: function () {
-            try {
-              document.createEvent('TouchEvent');
-              return true;
-            }
-            catch (e) {
-              return false;
-            }
-          },
-          calendarModule: function (selector) {
-            if (!selector) {
-              return null;
-            }
-            if (!(selector instanceof $)) {
-              selector = $(selector).first();
-            }
-            //assume range related calendars are using the same namespace
-            return selector.data(moduleNamespace);
-          }
-        },
-
-        set: {
-          date: function (date, updateInput, fireChange) {
-            updateInput = updateInput !== false;
-            fireChange = fireChange !== false;
-            date = module.helper.sanitiseDate(date);
-            date = module.helper.dateInRange(date);
-
-            var mode = module.get.mode();
-            var text = formatter.datetime(date, settings);
-            if (fireChange && settings.onChange.call(element, date, text, mode) === false) {
-              return false;
-            }
-
-            module.set.focusDate(date);
-
-            if (settings.isDisabled(date, mode)) {
-              return false;
-            }
-
-            var endDate = module.get.endDate();
-            if (!!endDate && !!date && date > endDate) {
-              //selected date is greater than end date in range, so clear end date
-              module.set.endDate(undefined);
-            }
-            module.set.dataKeyValue(metadata.date, date);
-
-            if (updateInput && $input.length) {
-              $input.val(text);
-            }
-          },
-          startDate: function (date, refreshCalendar) {
-            date = module.helper.sanitiseDate(date);
-            var startModule = module.get.calendarModule(settings.startCalendar);
-            if (startModule) {
-              startModule.set.date(date);
-            }
-            module.set.dataKeyValue(metadata.startDate, date, refreshCalendar);
-          },
-          endDate: function (date, refreshCalendar) {
-            date = module.helper.sanitiseDate(date);
-            var endModule = module.get.calendarModule(settings.endCalendar);
-            if (endModule) {
-              endModule.set.date(date);
-            }
-            module.set.dataKeyValue(metadata.endDate, date, refreshCalendar);
-          },
-          focusDate: function (date, refreshCalendar, updateFocus, updateRange) {
-            date = module.helper.sanitiseDate(date);
-            date = module.helper.dateInRange(date);
-            var isDay = module.get.mode() === 'day';
-            var oldFocusDate = module.get.focusDate();
-            if (isDay && date && oldFocusDate) {
-              var yearDelta = date.getFullYear() - oldFocusDate.getFullYear();
-              var monthDelta = yearDelta * 12 + date.getMonth() - oldFocusDate.getMonth();
-              if (monthDelta) {
-                var monthOffset = module.get.monthOffset() - monthDelta;
-                module.set.monthOffset(monthOffset, false);
-              }
-            }
-            var changed = module.set.dataKeyValue(metadata.focusDate, date, refreshCalendar);
-            updateFocus = (updateFocus !== false && changed && refreshCalendar === false) || focusDateUsedForRange != updateRange;
-            focusDateUsedForRange = updateRange;
-            if (updateFocus) {
-              module.update.focus(updateRange);
-            }
-          },
-          minDate: function (date) {
-            date = module.helper.sanitiseDate(date);
-            if (settings.maxDate !== null && settings.maxDate <= date) {
-              module.verbose('Unable to set minDate variable bigger that maxDate variable', date, settings.maxDate);
-            } else {
-              module.setting('minDate', date);
-              module.set.dataKeyValue(metadata.minDate, date);
-            }
-          },
-          maxDate: function (date) {
-            date = module.helper.sanitiseDate(date);
-            if (settings.minDate !== null && settings.minDate >= date) {
-              module.verbose('Unable to set maxDate variable lower that minDate variable', date, settings.minDate);
-            } else {
-              module.setting('maxDate', date);
-              module.set.dataKeyValue(metadata.maxDate, date);
-            }
-          },
-          monthOffset: function (monthOffset, refreshCalendar) {
-            var multiMonth = Math.max(settings.multiMonth, 1);
-            monthOffset = Math.max(1 - multiMonth, Math.min(0, monthOffset));
-            module.set.dataKeyValue(metadata.monthOffset, monthOffset, refreshCalendar);
-          },
-          mode: function (mode, refreshCalendar) {
-            module.set.dataKeyValue(metadata.mode, mode, refreshCalendar);
-          },
-          dataKeyValue: function (key, value, refreshCalendar) {
-            var oldValue = $module.data(key);
-            var equal = oldValue === value || (oldValue <= value && oldValue >= value); //equality test for dates and string objects
-            if (value) {
-              $module.data(key, value);
-            } else {
-              $module.removeData(key);
-            }
-            refreshCalendar = refreshCalendar !== false && !equal;
-            if (refreshCalendar) {
-              module.refresh();
-            }
-            return !equal;
-          }
-        },
-
-        selectDate: function (date, forceSet) {
-          module.verbose('New date selection', date);
-          var mode = module.get.mode();
-          var complete = forceSet || mode === 'minute' ||
-            (settings.disableMinute && mode === 'hour') ||
-            (settings.type === 'date' && mode === 'day') ||
-            (settings.type === 'month' && mode === 'month') ||
-            (settings.type === 'year' && mode === 'year');
-          if (complete) {
-            var canceled = module.set.date(date) === false;
-            if (!canceled && settings.closable) {
-              module.popup('hide');
-              //if this is a range calendar, show the end date calendar popup and focus the input
-              var endModule = module.get.calendarModule(settings.endCalendar);
-              if (endModule) {
-                endModule.popup('show');
-                endModule.focus();
-              }
-            }
-          } else {
-            var newMode = mode === 'year' ? (!settings.disableMonth ? 'month' : 'day') :
-              mode === 'month' ? 'day' : mode === 'day' ? 'hour' : 'minute';
-            module.set.mode(newMode);
-            if (mode === 'hour' || (mode === 'day' && module.get.date())) {
-              //the user has chosen enough to consider a valid date/time has been chosen
-              module.set.date(date);
-            } else {
-              module.set.focusDate(date);
-            }
-          }
-        },
-
-        changeDate: function (date) {
-          module.set.date(date);
-        },
-
-        clear: function () {
-          module.set.date(undefined);
-        },
-
-        popup: function () {
-          return $activator.popup.apply($activator, arguments);
-        },
-
-        focus: function () {
-          if ($input.length) {
-            $input.focus();
-          } else {
-            $container.focus();
-          }
-        },
-        blur: function () {
-          if ($input.length) {
-            $input.blur();
-          } else {
-            $container.blur();
-          }
-        },
-
-        helper: {
-          isDisabled: function(date, mode) {
-            return mode === 'day' && ((settings.disabledDaysOfWeek.indexOf(date.getDay()) !== -1) || settings.disabledDates.some(function(d){
-              if(typeof d === 'string') {
-                d = module.helper.sanitiseDate(d);
-              }
-              if (d instanceof Date) {
-                return module.helper.dateEqual(date, d, mode);
-              }
-              if (d !== null && typeof d === 'object' && d[metadata.date]) {
-                return module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode);
-              }
-            }));
-          },
-          isEnabled: function(date, mode) {
-            if (mode === 'day') {
-              return settings.enabledDates.length === 0 || settings.enabledDates.some(function(d){
-                if(typeof d === 'string') {
-                  d = module.helper.sanitiseDate(d);
-                }
-                if (d instanceof Date) {
-                  return module.helper.dateEqual(date, d, mode);
-                }
-                if (d !== null && typeof d === 'object' && d[metadata.date]) {
-                  return module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode);
-                }
-              });
-            } else {
-              return true;
-            }
-          },
-          findDayAsObject: function(date, mode, dates) {
-            if (mode === 'day') {
-              var i = 0, il = dates.length;
-              var d;
-              for (; i < il; i++) {
-                d = dates[i];
-                if(typeof d === 'string') {
-                  d = module.helper.sanitiseDate(d);
-                }
-                if (d instanceof Date && module.helper.dateEqual(date, d, mode)) {
-                  var dateObject = {};
-                  dateObject[metadata.date] = d;
-                  return dateObject;
-                }
-                else if (d !== null && typeof d === 'object' && d[metadata.date] && module.helper.dateEqual(date,module.helper.sanitiseDate(d[metadata.date]), mode)  ) {
-                  return d;
-                }
-              }
-            }
-            return null;
-          },
-          sanitiseDate: function (date) {
-            if (!date) {
-              return undefined;
-            }
-            if (!(date instanceof Date)) {
-              date = parser.date('' + date, settings);
-            }
-            if (!date || date === null || isNaN(date.getTime())) {
-              return undefined;
-            }
-            return date;
-          },
-          dateDiff: function (date1, date2, mode) {
-            mode = mode || 'day';
-            var isTimeOnly = settings.type === 'time';
-            var isYear = mode === 'year';
-            var isYearOrMonth = isYear || mode === 'month';
-            var isMinute = mode === 'minute';
-            var isHourOrMinute = isMinute || mode === 'hour';
-            //only care about a minute accuracy of settings.minTimeGap
-            date1 = new Date(
-              isTimeOnly ? 2000 : date1.getFullYear(),
-              isTimeOnly ? 0 : isYear ? 0 : date1.getMonth(),
-              isTimeOnly ? 1 : isYearOrMonth ? 1 : date1.getDate(),
-              !isHourOrMinute ? 0 : date1.getHours(),
-              !isMinute ? 0 : settings.minTimeGap * Math.floor(date1.getMinutes() / settings.minTimeGap));
-            date2 = new Date(
-              isTimeOnly ? 2000 : date2.getFullYear(),
-              isTimeOnly ? 0 : isYear ? 0 : date2.getMonth(),
-              isTimeOnly ? 1 : isYearOrMonth ? 1 : date2.getDate(),
-              !isHourOrMinute ? 0 : date2.getHours(),
-              !isMinute ? 0 : settings.minTimeGap * Math.floor(date2.getMinutes() / settings.minTimeGap));
-            return date2.getTime() - date1.getTime();
-          },
-          dateEqual: function (date1, date2, mode) {
-            return !!date1 && !!date2 && module.helper.dateDiff(date1, date2, mode) === 0;
-          },
-          isDateInRange: function (date, mode, minDate, maxDate) {
-            if (!minDate && !maxDate) {
-              var startDate = module.get.startDate();
-              minDate = startDate && settings.minDate ? new Date(Math.max(startDate, settings.minDate)) : startDate || settings.minDate;
-              maxDate = settings.maxDate;
-            }
-            minDate = minDate && new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate(), minDate.getHours(), settings.minTimeGap * Math.ceil(minDate.getMinutes() / settings.minTimeGap));
-            return !(!date ||
-            (minDate && module.helper.dateDiff(date, minDate, mode) > 0) ||
-            (maxDate && module.helper.dateDiff(maxDate, date, mode) > 0));
-          },
-          dateInRange: function (date, minDate, maxDate) {
-            if (!minDate && !maxDate) {
-              var startDate = module.get.startDate();
-              minDate = startDate && settings.minDate ? new Date(Math.max(startDate, settings.minDate)) : startDate || settings.minDate;
-              maxDate = settings.maxDate;
-            }
-            minDate = minDate && new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate(), minDate.getHours(), settings.minTimeGap * Math.ceil(minDate.getMinutes() / settings.minTimeGap));
-            var isTimeOnly = settings.type === 'time';
-            return !date ? date :
-              (minDate && module.helper.dateDiff(date, minDate, 'minute') > 0) ?
-                (isTimeOnly ? module.helper.mergeDateTime(date, minDate) : minDate) :
-                (maxDate && module.helper.dateDiff(maxDate, date, 'minute') > 0) ?
-                  (isTimeOnly ? module.helper.mergeDateTime(date, maxDate) : maxDate) :
-                  date;
-          },
-          mergeDateTime: function (date, time) {
-            return (!date || !time) ? time :
-              new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes());
-          }
-        },
-
-        setting: function (name, value) {
-          module.debug('Changing setting', name, value);
-          if ($.isPlainObject(name)) {
-            $.extend(true, settings, name);
-          }
-          else if (value !== undefined) {
-            if ($.isPlainObject(settings[name])) {
-              $.extend(true, settings[name], value);
-            }
-            else {
-              settings[name] = value;
-            }
-          }
-          else {
-            return settings[name];
-          }
-        },
-        internal: function (name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, module, name);
-          }
-          else if(value !== undefined) {
-            module[name] = value;
-          }
-          else {
-            return module[name];
-          }
-        },
-        debug: function () {
-          if (!settings.silent && 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.silent && 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 () {
-          if (!settings.silent) {
-            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({
-                'Name': message[0],
-                'Arguments': [].slice.call(message, 1) || '',
-                'Element': element,
-                'Execution Time': executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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
-            object = instance,
-            maxDepth,
-            found,
-            response
-            ;
-          passedArguments = passedArguments || queryArguments;
-          context = element || context;
-          if (typeof query == 'string' && object !== 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(object[camelCaseValue]) && (depth != maxDepth)) {
-                object = object[camelCaseValue];
-              }
-              else if (object[camelCaseValue] !== undefined) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if ($.isPlainObject(object[value]) && (depth != maxDepth)) {
-                object = object[value];
-              }
-              else if (object[value] !== undefined) {
-                found = object[value];
-                return false;
-              }
-              else {
-                module.error(error.method, query);
-                return false;
-              }
-            });
-          }
-          if ($.isFunction(found)) {
-            response = found.apply(context, passedArguments);
-          }
-          else if (found !== undefined) {
-            response = found;
-          }
-          if (Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if (returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if (response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-
-      if (methodInvoked) {
-        if (instance === undefined) {
-          module.initialize();
-        }
-        module.invoke(query);
-      }
-      else {
-        if (instance !== undefined) {
-          instance.invoke('destroy');
-        }
-        module.initialize();
-      }
-    })
-  ;
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : this
-    ;
-};
-
-$.fn.calendar.settings = {
-
-  name            : 'Calendar',
-  namespace       : 'calendar',
-
-  silent: false,
-  debug: false,
-  verbose: false,
-  performance: false,
-
-  type               : 'datetime', // picker type, can be 'datetime', 'date', 'time', 'month', or 'year'
-  firstDayOfWeek     : 0,          // day for first day column (0 = Sunday)
-  constantHeight     : true,       // add rows to shorter months to keep day calendar height consistent (6 rows)
-  today              : false,      // show a 'today/now' button at the bottom of the calendar
-  closable           : true,       // close the popup after selecting a date/time
-  monthFirst         : true,       // month before day when parsing/converting date from/to text
-  touchReadonly      : true,       // set input to readonly on touch devices
-  inline             : false,      // create the calendar inline instead of inside a popup
-  on                 : null,       // when to show the popup (defaults to 'focus' for input, 'click' for others)
-  initialDate        : null,       // date to display initially when no date is selected (null = now)
-  startMode          : false,      // display mode to start in, can be 'year', 'month', 'day', 'hour', 'minute' (false = 'day')
-  minDate            : null,       // minimum date/time that can be selected, dates/times before are disabled
-  maxDate            : null,       // maximum date/time that can be selected, dates/times after are disabled
-  ampm               : true,       // show am/pm in time mode
-  disableYear        : false,      // disable year selection mode
-  disableMonth       : false,      // disable month selection mode
-  disableMinute      : false,      // disable minute selection mode
-  formatInput        : true,       // format the input text upon input blur and module creation
-  startCalendar      : null,       // jquery object or selector for another calendar that represents the start date of a date range
-  endCalendar        : null,       // jquery object or selector for another calendar that represents the end date of a date range
-  multiMonth         : 1,          // show multiple months when in 'day' mode
-  minTimeGap         : 5,
-  showWeekNumbers    : null,       // show Number of Week at the very first column of a dayView
-  disabledDates      : [],         // specific day(s) which won't be selectable and contain additional information.
-  disabledDaysOfWeek : [],         // day(s) which won't be selectable(s) (0 = Sunday)
-  enabledDates       : [],         // specific day(s) which will be selectable, all other days will be disabled
-  eventDates         : [],         // specific day(s) which will be shown in a different color and using tooltips
-  centuryBreak       : 60,         // starting short year until 99 where it will be assumed to belong to the last century
-  currentCentury     : 2000,       // century to be added to 2-digit years (00 to {centuryBreak}-1)
-  selectAdjacentDays : false,     // The calendar can show dates from adjacent month. These adjacent month dates can also be made selectable.
-  // popup options ('popup', 'on', 'hoverable', and show/hide callbacks are overridden)
-  popupOptions: {
-    position: 'bottom left',
-    lastResort: 'bottom left',
-    prefer: 'opposite',
-    hideOnScroll: false
-  },
-
-  text: {
-    days: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
-    months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
-    monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-    today: 'Today',
-    now: 'Now',
-    am: 'AM',
-    pm: 'PM',
-    weekNo: 'Week'
-  },
-
-  formatter: {
-    header: function (date, mode, settings) {
-      return mode === 'year' ? settings.formatter.yearHeader(date, settings) :
-        mode === 'month' ? settings.formatter.monthHeader(date, settings) :
-          mode === 'day' ? settings.formatter.dayHeader(date, settings) :
-            mode === 'hour' ? settings.formatter.hourHeader(date, settings) :
-              settings.formatter.minuteHeader(date, settings);
-    },
-    yearHeader: function (date, settings) {
-      var decadeYear = Math.ceil(date.getFullYear() / 10) * 10;
-      return (decadeYear - 9) + ' - ' + (decadeYear + 2);
-    },
-    monthHeader: function (date, settings) {
-      return date.getFullYear();
-    },
-    dayHeader: function (date, settings) {
-      var month = settings.text.months[date.getMonth()];
-      var year = date.getFullYear();
-      return month + ' ' + year;
-    },
-    hourHeader: function (date, settings) {
-      return settings.formatter.date(date, settings);
-    },
-    minuteHeader: function (date, settings) {
-      return settings.formatter.date(date, settings);
-    },
-    dayColumnHeader: function (day, settings) {
-      return settings.text.days[day];
-    },
-    datetime: function (date, settings) {
-      if (!date) {
-        return '';
-      }
-      var day = settings.type === 'time' ? '' : settings.formatter.date(date, settings);
-      var time = settings.type.indexOf('time') < 0 ? '' : settings.formatter.time(date, settings, false);
-      var separator = settings.type === 'datetime' ? ' ' : '';
-      return day + separator + time;
-    },
-    date: function (date, settings) {
-      if (!date) {
-        return '';
-      }
-      var day = date.getDate();
-      var month = settings.text.months[date.getMonth()];
-      var year = date.getFullYear();
-      return settings.type === 'year' ? year :
-        settings.type === 'month' ? month + ' ' + year :
-        (settings.monthFirst ? month + ' ' + day : day + ' ' + month) + ', ' + year;
-    },
-    time: function (date, settings, forCalendar) {
-      if (!date) {
-        return '';
-      }
-      var hour = date.getHours();
-      var minute = date.getMinutes();
-      var ampm = '';
-      if (settings.ampm) {
-        ampm = ' ' + (hour < 12 ? settings.text.am : settings.text.pm);
-        hour = hour === 0 ? 12 : hour > 12 ? hour - 12 : hour;
-      }
-      return hour + ':' + (minute < 10 ? '0' : '') + minute + ampm;
-    },
-    today: function (settings) {
-      return settings.type === 'date' ? settings.text.today : settings.text.now;
-    },
-    cell: function (cell, date, cellOptions) {
-    }
-  },
-
-  parser: {
-    date: function (text, settings) {
-      if (text instanceof Date) {
-        return text;
-      }
-      if (!text) {
-        return null;
-      }
-      text = ('' + text).trim().toLowerCase();
-      if (text.length === 0) {
-        return null;
-      }
-      var textDate = new Date(text);
-      if(!isNaN(textDate.getDate())) {
-        return textDate;
-      }
-
-      var i, j, k;
-      var minute = -1, hour = -1, day = -1, month = -1, year = -1;
-      var isAm = undefined;
-
-      var isTimeOnly = settings.type === 'time';
-      var isDateOnly = settings.type.indexOf('time') < 0;
-
-      var words = text.split(settings.regExp.dateWords);
-      var numbers = text.split(settings.regExp.dateNumbers);
-
-      if (!isDateOnly) {
-        //am/pm
-        isAm = $.inArray(settings.text.am.toLowerCase(), words) >= 0 ? true :
-          $.inArray(settings.text.pm.toLowerCase(), words) >= 0 ? false : undefined;
-
-        //time with ':'
-        for (i = 0; i < numbers.length; i++) {
-          var number = numbers[i];
-          if (number.indexOf(':') >= 0) {
-            if (hour < 0 || minute < 0) {
-              var parts = number.split(':');
-              for (k = 0; k < Math.min(2, parts.length); k++) {
-                j = parseInt(parts[k]);
-                if (isNaN(j)) {
-                  j = 0;
-                }
-                if (k === 0) {
-                  hour = j % 24;
-                } else {
-                  minute = j % 60;
-                }
-              }
-            }
-            numbers.splice(i, 1);
-          }
-        }
-      }
-
-      if (!isTimeOnly) {
-        //textual month
-        for (i = 0; i < words.length; i++) {
-          var word = words[i];
-          if (word.length <= 0) {
-            continue;
-          }
-          word = word.substring(0, Math.min(word.length, 3));
-          for (j = 0; j < settings.text.months.length; j++) {
-            var monthString = settings.text.months[j];
-            monthString = monthString.substring(0, Math.min(word.length, Math.min(monthString.length, 3))).toLowerCase();
-            if (monthString === word) {
-              month = j + 1;
-              break;
-            }
-          }
-          if (month >= 0) {
-            break;
-          }
-        }
-
-        //year > settings.centuryBreak
-        for (i = 0; i < numbers.length; i++) {
-          j = parseInt(numbers[i]);
-          if (isNaN(j)) {
-            continue;
-          }
-          if (j >= settings.centuryBreak && i === numbers.length-1) {
-            if (j <= 99) {
-              j += settings.currentCentury - 100;
-            }
-            year = j;
-            numbers.splice(i, 1);
-            break;
-          }
-        }
-
-        //numeric month
-        if (month < 0) {
-          for (i = 0; i < numbers.length; i++) {
-            k = i > 1 || settings.monthFirst ? i : i === 1 ? 0 : 1;
-            j = parseInt(numbers[k]);
-            if (isNaN(j)) {
-              continue;
-            }
-            if (1 <= j && j <= 12) {
-              month = j;
-              numbers.splice(k, 1);
-              break;
-            }
-          }
-        }
-
-        //day
-        for (i = 0; i < numbers.length; i++) {
-          j = parseInt(numbers[i]);
-          if (isNaN(j)) {
-            continue;
-          }
-          if (1 <= j && j <= 31) {
-            day = j;
-            numbers.splice(i, 1);
-            break;
-          }
-        }
-
-        //year <= settings.centuryBreak
-        if (year < 0) {
-          for (i = numbers.length - 1; i >= 0; i--) {
-            j = parseInt(numbers[i]);
-            if (isNaN(j)) {
-              continue;
-            }
-            if (j <= 99) {
-              j += settings.currentCentury;
-            }
-            year = j;
-            numbers.splice(i, 1);
-            break;
-          }
-        }
-      }
-
-      if (!isDateOnly) {
-        //hour
-        if (hour < 0) {
-          for (i = 0; i < numbers.length; i++) {
-            j = parseInt(numbers[i]);
-            if (isNaN(j)) {
-              continue;
-            }
-            if (0 <= j && j <= 23) {
-              hour = j;
-              numbers.splice(i, 1);
-              break;
-            }
-          }
-        }
-
-        //minute
-        if (minute < 0) {
-          for (i = 0; i < numbers.length; i++) {
-            j = parseInt(numbers[i]);
-            if (isNaN(j)) {
-              continue;
-            }
-            if (0 <= j && j <= 59) {
-              minute = j;
-              numbers.splice(i, 1);
-              break;
-            }
-          }
-        }
-      }
-
-      if (minute < 0 && hour < 0 && day < 0 && month < 0 && year < 0) {
-        return null;
-      }
-
-      if (minute < 0) {
-        minute = 0;
-      }
-      if (hour < 0) {
-        hour = 0;
-      }
-      if (day < 0) {
-        day = 1;
-      }
-      if (month < 0) {
-        month = 1;
-      }
-      if (year < 0) {
-        year = new Date().getFullYear();
-      }
-
-      if (isAm !== undefined) {
-        if (isAm) {
-          if (hour === 12) {
-            hour = 0;
-          }
-        } else if (hour < 12) {
-          hour += 12;
-        }
-      }
-
-      var date = new Date(year, month - 1, day, hour, minute);
-      if (date.getMonth() !== month - 1 || date.getFullYear() !== year) {
-        //month or year don't match up, switch to last day of the month
-        date = new Date(year, month, 0, hour, minute);
-      }
-      return isNaN(date.getTime()) ? null : date;
-    }
-  },
-
-  // callback when date changes, return false to cancel the change
-  onChange: function (date, text, mode) {
-    return true;
-  },
-
-  // callback before show animation, return false to prevent show
-  onShow: function () {
-  },
-
-  // callback after show animation
-  onVisible: function () {
-  },
-
-  // callback before hide animation, return false to prevent hide
-  onHide: function () {
-  },
-
-  // callback after hide animation
-  onHidden: function () {
-  },
-
-  // callback before item is selected, return false to prevent selection
-  onSelect: function (date, mode) {
-  },
-
-  // is the given date disabled?
-  isDisabled: function (date, mode) {
-    return false;
-  },
-
-  selector: {
-    popup: '.ui.popup',
-    input: 'input',
-    activator: 'input',
-    append: '.inline.field,.inline.fields'
-  },
-
-  regExp: {
-    dateWords: /[^A-Za-z\u00C0-\u024F]+/g,
-    dateNumbers: /[^\d:]+/g
-  },
-
-  error: {
-    popup: 'UI Popup, a required component is not included in this page',
-    method: 'The method you called is not defined.'
-  },
-
-  className: {
-    calendar: 'calendar',
-    active: 'active',
-    popup: 'ui popup',
-    grid: 'ui equal width grid',
-    column: 'column',
-    table: 'ui celled center aligned unstackable table',
-    prev: 'prev link',
-    next: 'next link',
-    prevIcon: 'chevron left icon',
-    nextIcon: 'chevron right icon',
-    link: 'link',
-    cell: 'link',
-    disabledCell: 'disabled',
-    weekCell: 'disabled',
-    adjacentCell: 'adjacent',
-    activeCell: 'active',
-    rangeCell: 'range',
-    focusCell: 'focus',
-    todayCell: 'today',
-    today: 'today link'
-  },
-
-  metadata: {
-    date: 'date',
-    focusDate: 'focusDate',
-    startDate: 'startDate',
-    endDate: 'endDate',
-    minDate: 'minDate',
-    maxDate: 'maxDate',
-    mode: 'mode',
-    monthOffset: 'monthOffset',
-    message: 'message',
-    class: 'class'
-  },
-
-  eventClass: 'blue'
-};
-
-})(jQuery, window, document);

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/calendar.min.css


File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/calendar.min.js


+ 0 - 1293
webgui/static/components/card.css

@@ -1,1293 +0,0 @@
-/*!
- * # Fomantic-UI - Card
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Standard
-*******************************/
-
-
-/*--------------
-      Card
----------------*/
-
-.ui.cards > .card,
-.ui.card {
-  max-width: 100%;
-  position: relative;
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-orient: vertical;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: column;
-          flex-direction: column;
-  width: 290px;
-  min-height: 0;
-  background: #FFFFFF;
-  padding: 0;
-  border: none;
-  border-radius: 0.28571429rem;
-  -webkit-box-shadow: 0 1px 3px 0 #D4D4D5, 0 0 0 1px #D4D4D5;
-          box-shadow: 0 1px 3px 0 #D4D4D5, 0 0 0 1px #D4D4D5;
-  -webkit-transition: -webkit-box-shadow 0.1s ease, -webkit-transform 0.1s ease;
-  transition: -webkit-box-shadow 0.1s ease, -webkit-transform 0.1s ease;
-  transition: box-shadow 0.1s ease, transform 0.1s ease;
-  transition: box-shadow 0.1s ease, transform 0.1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform 0.1s ease;
-  z-index: '';
-  word-wrap: break-word;
-}
-.ui.card {
-  margin: 1em 0;
-}
-.ui.cards > .card a,
-.ui.card a {
-  cursor: pointer;
-}
-.ui.card:first-child {
-  margin-top: 0;
-}
-.ui.card:last-child {
-  margin-bottom: 0;
-}
-
-/*--------------
-      Cards
----------------*/
-
-.ui.cards {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  margin: -0.875em -0.5em;
-  -ms-flex-wrap: wrap;
-      flex-wrap: wrap;
-}
-.ui.cards > .card {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  margin: 0.875em 0.5em;
-  float: none;
-}
-
-/* Clearing */
-.ui.cards:after,
-.ui.card:after {
-  display: block;
-  content: ' ';
-  height: 0;
-  clear: both;
-  overflow: hidden;
-  visibility: hidden;
-}
-
-/* Consecutive Card Groups Preserve Row Spacing */
-.ui.cards ~ .ui.cards {
-  margin-top: 0.875em;
-}
-
-/*--------------
-  Rounded Edges
----------------*/
-
-.ui.cards > .card > :first-child,
-.ui.card > :first-child {
-  border-radius: 0.28571429rem 0.28571429rem 0 0 !important;
-  border-top: none !important;
-}
-.ui.cards > .card > :last-child,
-.ui.card > :last-child {
-  border-radius: 0 0 0.28571429rem 0.28571429rem !important;
-}
-.ui.cards > .card > :only-child,
-.ui.card > :only-child {
-  border-radius: 0.28571429rem !important;
-}
-
-/*--------------
-     Images
----------------*/
-
-.ui.cards > .card > .image,
-.ui.card > .image {
-  position: relative;
-  display: block;
-  -webkit-box-flex: 0;
-      -ms-flex: 0 0 auto;
-          flex: 0 0 auto;
-  padding: 0;
-  background: rgba(0, 0, 0, 0.05);
-}
-.ui.cards > .card > .image > img,
-.ui.card > .image > img {
-  display: block;
-  width: 100%;
-  height: auto;
-  border-radius: inherit;
-}
-.ui.cards > .card > .image:not(.ui) > img,
-.ui.card > .image:not(.ui) > img {
-  border: none;
-}
-
-/*--------------
-     Content
----------------*/
-
-.ui.cards > .card > .content,
-.ui.card > .content {
-  -webkit-box-flex: 1;
-      -ms-flex-positive: 1;
-          flex-grow: 1;
-  border: none;
-  border-top: 1px solid rgba(34, 36, 38, 0.1);
-  background: none;
-  margin: 0;
-  padding: 1em 1em;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  font-size: 1em;
-  border-radius: 0;
-}
-.ui.cards > .card > .content:after,
-.ui.card > .content:after {
-  display: block;
-  content: ' ';
-  height: 0;
-  clear: both;
-  overflow: hidden;
-  visibility: hidden;
-}
-.ui.cards > .card > .content > .header,
-.ui.card > .content > .header {
-  display: block;
-  margin: '';
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  color: rgba(0, 0, 0, 0.85);
-}
-
-/* Default Header Size */
-.ui.cards > .card > .content > .header:not(.ui),
-.ui.card > .content > .header:not(.ui) {
-  font-weight: bold;
-  font-size: 1.28571429em;
-  margin-top: -0.21425em;
-  line-height: 1.28571429em;
-}
-.ui.cards > .card > .content > .meta + .description,
-.ui.cards > .card > .content > .header + .description,
-.ui.card > .content > .meta + .description,
-.ui.card > .content > .header + .description {
-  margin-top: 0.5em;
-}
-
-/*----------------
- Floated Content
------------------*/
-
-.ui.cards > .card [class*="left floated"],
-.ui.card [class*="left floated"] {
-  float: left;
-}
-.ui.cards > .card [class*="right floated"],
-.ui.card [class*="right floated"] {
-  float: right;
-}
-
-/*--------------
-     Aligned
----------------*/
-
-.ui.cards > .card [class*="left aligned"],
-.ui.card [class*="left aligned"] {
-  text-align: left;
-}
-.ui.cards > .card [class*="center aligned"],
-.ui.card [class*="center aligned"] {
-  text-align: center;
-}
-.ui.cards > .card [class*="right aligned"],
-.ui.card [class*="right aligned"] {
-  text-align: right;
-}
-
-/*--------------
-  Content Image
----------------*/
-
-.ui.cards > .card .content img,
-.ui.card .content img {
-  display: inline-block;
-  vertical-align: middle;
-  width: '';
-}
-.ui.cards > .card img.avatar,
-.ui.cards > .card .avatar img,
-.ui.card img.avatar,
-.ui.card .avatar img {
-  width: 2em;
-  height: 2em;
-  border-radius: 500rem;
-}
-
-/*--------------
-   Description
----------------*/
-
-.ui.cards > .card > .content > .description,
-.ui.card > .content > .description {
-  clear: both;
-  color: rgba(0, 0, 0, 0.68);
-}
-
-/*--------------
-    Paragraph
----------------*/
-
-.ui.cards > .card > .content p,
-.ui.card > .content p {
-  margin: 0 0 0.5em;
-}
-.ui.cards > .card > .content p:last-child,
-.ui.card > .content p:last-child {
-  margin-bottom: 0;
-}
-
-/*--------------
-      Meta
----------------*/
-
-.ui.cards > .card .meta,
-.ui.card .meta {
-  font-size: 1em;
-  color: rgba(0, 0, 0, 0.4);
-}
-.ui.cards > .card .meta *,
-.ui.card .meta * {
-  margin-right: 0.3em;
-}
-.ui.cards > .card .meta :last-child,
-.ui.card .meta :last-child {
-  margin-right: 0;
-}
-.ui.cards > .card .meta [class*="right floated"],
-.ui.card .meta [class*="right floated"] {
-  margin-right: 0;
-  margin-left: 0.3em;
-}
-
-/*--------------
-      Links
----------------*/
-
-
-/* Generic */
-.ui.cards > .card > .content a:not(.ui),
-.ui.card > .content a:not(.ui) {
-  color: '';
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-}
-.ui.cards > .card > .content a:not(.ui):hover,
-.ui.card > .content a:not(.ui):hover {
-  color: '';
-}
-
-/* Header */
-.ui.cards > .card > .content > a.header,
-.ui.card > .content > a.header {
-  color: rgba(0, 0, 0, 0.85);
-}
-.ui.cards > .card > .content > a.header:hover,
-.ui.card > .content > a.header:hover {
-  color: #1e70bf;
-}
-
-/* Meta */
-.ui.cards > .card .meta > a:not(.ui),
-.ui.card .meta > a:not(.ui) {
-  color: rgba(0, 0, 0, 0.4);
-}
-.ui.cards > .card .meta > a:not(.ui):hover,
-.ui.card .meta > a:not(.ui):hover {
-  color: #AAAAAA;
-}
-
-/*--------------
-     Buttons
----------------*/
-
-.ui.cards > .card > .buttons,
-.ui.card > .buttons,
-.ui.cards > .card > .button,
-.ui.card > .button {
-  margin: 0 -1px;
-  width: calc(100% + 2px);
-}
-.ui.cards > .card > .buttons:last-child,
-.ui.card > .buttons:last-child,
-.ui.cards > .card > .button:last-child,
-.ui.card > .button:last-child {
-  margin-bottom: -1px;
-}
-
-/*--------------
-      Dimmer
----------------*/
-
-.ui.cards > .card .dimmer,
-.ui.card .dimmer {
-  background-color: '';
-  z-index: 10;
-}
-
-/*--------------
-     Labels
----------------*/
-
-
-/*-----Star----- */
-
-
-/* Icon */
-.ui.cards > .card > .content .star.icon,
-.ui.card > .content .star.icon {
-  cursor: pointer;
-  opacity: 0.75;
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-}
-.ui.cards > .card > .content .star.icon:hover,
-.ui.card > .content .star.icon:hover {
-  opacity: 1;
-  color: #FFB70A;
-}
-.ui.cards > .card > .content .active.star.icon,
-.ui.card > .content .active.star.icon {
-  color: #FFE623;
-}
-
-/*-----Like----- */
-
-
-/* Icon */
-.ui.cards > .card > .content .like.icon,
-.ui.card > .content .like.icon {
-  cursor: pointer;
-  opacity: 0.75;
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-}
-.ui.cards > .card > .content .like.icon:hover,
-.ui.card > .content .like.icon:hover {
-  opacity: 1;
-  color: #FF2733;
-}
-.ui.cards > .card > .content .active.like.icon,
-.ui.card > .content .active.like.icon {
-  color: #FF2733;
-}
-
-/*----------------
-  Extra Content
------------------*/
-
-.ui.cards > .card > .extra,
-.ui.card > .extra {
-  max-width: 100%;
-  min-height: 0 !important;
-  -webkit-box-flex: 0;
-      -ms-flex-positive: 0;
-          flex-grow: 0;
-  border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
-  position: static;
-  background: none;
-  width: auto;
-  margin: 0 0;
-  padding: 0.75em 1em;
-  top: 0;
-  left: 0;
-  color: rgba(0, 0, 0, 0.4);
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-}
-.ui.cards > .card > .extra a:not(.ui),
-.ui.card > .extra a:not(.ui) {
-  color: rgba(0, 0, 0, 0.4);
-}
-.ui.cards > .card > .extra a:not(.ui):hover,
-.ui.card > .extra a:not(.ui):hover {
-  color: #1e70bf;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*-------------------
-      Horizontal
---------------------*/
-
-.ui.horizontal.cards > .card,
-.ui.card.horizontal {
-  -webkit-box-orient: horizontal;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: row;
-          flex-direction: row;
-  -ms-flex-wrap: wrap;
-      flex-wrap: wrap;
-  min-width: 400px;
-  width: 400px;
-  max-width: 100%;
-}
-.ui.horizontal.cards > .card > .image,
-.ui.card.horizontal > .image {
-  border-radius: 0.28571429rem 0 0 0.28571429rem;
-  width: 150px;
-}
-.ui.horizontal.cards > .card > .image > img,
-.ui.card.horizontal > .image > img {
-  background-size: cover;
-  background-repeat: no-repeat;
-  background-position: center;
-  -webkit-box-pack: center;
-      -ms-flex-pack: center;
-          justify-content: center;
-  -webkit-box-align: center;
-      -ms-flex-align: center;
-          align-items: center;
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  width: 100%;
-  height: 100%;
-  border-radius: 0.28571429rem 0 0 0.28571429rem;
-}
-.ui.horizontal.cards > .card > .content,
-.ui.horizontal.card > .content {
-  -ms-flex-preferred-size: 1px;
-      flex-basis: 1px;
-}
-.ui.horizontal.cards > .card > .extra,
-.ui.horizontal.card > .extra {
-  -ms-flex-preferred-size: 100%;
-      flex-basis: 100%;
-}
-
-/*-------------------
-       Raised
---------------------*/
-
-.ui.raised.cards > .card,
-.ui.raised.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.raised.cards a.card:hover,
-.ui.link.cards .raised.card:hover,
-a.ui.raised.card:hover,
-.ui.link.raised.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 4px 0 rgba(34, 36, 38, 0.15), 0 2px 10px 0 rgba(34, 36, 38, 0.25);
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 4px 0 rgba(34, 36, 38, 0.15), 0 2px 10px 0 rgba(34, 36, 38, 0.25);
-}
-
-/*-------------------
-       Centered
---------------------*/
-
-.ui.centered.cards {
-  -webkit-box-pack: center;
-      -ms-flex-pack: center;
-          justify-content: center;
-}
-.ui.centered.card {
-  margin-left: auto;
-  margin-right: auto;
-}
-
-/*-------------------
-        Fluid
---------------------*/
-
-.ui.fluid.card {
-  width: 100%;
-  max-width: 9999px;
-}
-
-/*-------------------
-        Link
---------------------*/
-
-.ui.cards a.card,
-.ui.link.cards .card,
-a.ui.card,
-.ui.link.card {
-  -webkit-transform: none;
-          transform: none;
-}
-.ui.cards a.card:hover,
-.ui.link.cards .card:not(.icon):hover,
-a.ui.card:hover,
-.ui.link.card:hover {
-  cursor: pointer;
-  z-index: 5;
-  background: #FFFFFF;
-  border: none;
-  -webkit-box-shadow: 0 1px 3px 0 #BCBDBD, 0 0 0 1px #D4D4D5;
-          box-shadow: 0 1px 3px 0 #BCBDBD, 0 0 0 1px #D4D4D5;
-  -webkit-transform: translateY(-3px);
-          transform: translateY(-3px);
-}
-
-/*-------------------
-       Colors
---------------------*/
-
-.ui.primary.cards > .card,
-.ui.cards > .primary.card,
-.ui.primary.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #2185D0, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #2185D0, 0 1px 3px 0 #D4D4D5;
-}
-.ui.primary.cards > .card:hover,
-.ui.cards > .primary.card:hover,
-.ui.primary.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #1678c2, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #1678c2, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.primary.cards > .card,
-.ui.inverted.cards > .primary.card,
-.ui.inverted.primary.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #54C8FF, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #54C8FF, 0 0 0 1px #555555;
-}
-.ui.inverted.primary.cards > .card:hover,
-.ui.inverted.cards > .primary.card:hover,
-.ui.inverted.primary.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555555;
-}
-.ui.secondary.cards > .card,
-.ui.cards > .secondary.card,
-.ui.secondary.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #1B1C1D, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #1B1C1D, 0 1px 3px 0 #D4D4D5;
-}
-.ui.secondary.cards > .card:hover,
-.ui.cards > .secondary.card:hover,
-.ui.secondary.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #27292a, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #27292a, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.secondary.cards > .card,
-.ui.inverted.cards > .secondary.card,
-.ui.inverted.secondary.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #545454, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #545454, 0 0 0 1px #555555;
-}
-.ui.inverted.secondary.cards > .card:hover,
-.ui.inverted.cards > .secondary.card:hover,
-.ui.inverted.secondary.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #6e6e6e, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #6e6e6e, 0 0 0 1px #555555;
-}
-.ui.red.cards > .card,
-.ui.cards > .red.card,
-.ui.red.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #DB2828, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #DB2828, 0 1px 3px 0 #D4D4D5;
-}
-.ui.red.cards > .card:hover,
-.ui.cards > .red.card:hover,
-.ui.red.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #d01919, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #d01919, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.red.cards > .card,
-.ui.inverted.cards > .red.card,
-.ui.inverted.red.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF695E, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF695E, 0 0 0 1px #555555;
-}
-.ui.inverted.red.cards > .card:hover,
-.ui.inverted.cards > .red.card:hover,
-.ui.inverted.red.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ff392b, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ff392b, 0 0 0 1px #555555;
-}
-.ui.orange.cards > .card,
-.ui.cards > .orange.card,
-.ui.orange.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #F2711C, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #F2711C, 0 1px 3px 0 #D4D4D5;
-}
-.ui.orange.cards > .card:hover,
-.ui.cards > .orange.card:hover,
-.ui.orange.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #f26202, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #f26202, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.orange.cards > .card,
-.ui.inverted.cards > .orange.card,
-.ui.inverted.orange.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF851B, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF851B, 0 0 0 1px #555555;
-}
-.ui.inverted.orange.cards > .card:hover,
-.ui.inverted.cards > .orange.card:hover,
-.ui.inverted.orange.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #e76b00, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #e76b00, 0 0 0 1px #555555;
-}
-.ui.yellow.cards > .card,
-.ui.cards > .yellow.card,
-.ui.yellow.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #FBBD08, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #FBBD08, 0 1px 3px 0 #D4D4D5;
-}
-.ui.yellow.cards > .card:hover,
-.ui.cards > .yellow.card:hover,
-.ui.yellow.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #eaae00, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #eaae00, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.yellow.cards > .card,
-.ui.inverted.cards > .yellow.card,
-.ui.inverted.yellow.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FFE21F, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FFE21F, 0 0 0 1px #555555;
-}
-.ui.inverted.yellow.cards > .card:hover,
-.ui.inverted.cards > .yellow.card:hover,
-.ui.inverted.yellow.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ebcd00, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ebcd00, 0 0 0 1px #555555;
-}
-.ui.olive.cards > .card,
-.ui.cards > .olive.card,
-.ui.olive.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #B5CC18, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #B5CC18, 0 1px 3px 0 #D4D4D5;
-}
-.ui.olive.cards > .card:hover,
-.ui.cards > .olive.card:hover,
-.ui.olive.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #a7bd0d, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #a7bd0d, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.olive.cards > .card,
-.ui.inverted.cards > .olive.card,
-.ui.inverted.olive.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #D9E778, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #D9E778, 0 0 0 1px #555555;
-}
-.ui.inverted.olive.cards > .card:hover,
-.ui.inverted.cards > .olive.card:hover,
-.ui.inverted.olive.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #d2e745, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #d2e745, 0 0 0 1px #555555;
-}
-.ui.green.cards > .card,
-.ui.cards > .green.card,
-.ui.green.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #21BA45, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #21BA45, 0 1px 3px 0 #D4D4D5;
-}
-.ui.green.cards > .card:hover,
-.ui.cards > .green.card:hover,
-.ui.green.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #16ab39, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #16ab39, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.green.cards > .card,
-.ui.inverted.cards > .green.card,
-.ui.inverted.green.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #2ECC40, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #2ECC40, 0 0 0 1px #555555;
-}
-.ui.inverted.green.cards > .card:hover,
-.ui.inverted.cards > .green.card:hover,
-.ui.inverted.green.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #1ea92e, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #1ea92e, 0 0 0 1px #555555;
-}
-.ui.teal.cards > .card,
-.ui.cards > .teal.card,
-.ui.teal.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #00B5AD, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #00B5AD, 0 1px 3px 0 #D4D4D5;
-}
-.ui.teal.cards > .card:hover,
-.ui.cards > .teal.card:hover,
-.ui.teal.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #009c95, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #009c95, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.teal.cards > .card,
-.ui.inverted.cards > .teal.card,
-.ui.inverted.teal.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #6DFFFF, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #6DFFFF, 0 0 0 1px #555555;
-}
-.ui.inverted.teal.cards > .card:hover,
-.ui.inverted.cards > .teal.card:hover,
-.ui.inverted.teal.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #3affff, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #3affff, 0 0 0 1px #555555;
-}
-.ui.blue.cards > .card,
-.ui.cards > .blue.card,
-.ui.blue.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #2185D0, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #2185D0, 0 1px 3px 0 #D4D4D5;
-}
-.ui.blue.cards > .card:hover,
-.ui.cards > .blue.card:hover,
-.ui.blue.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #1678c2, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #1678c2, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.blue.cards > .card,
-.ui.inverted.cards > .blue.card,
-.ui.inverted.blue.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #54C8FF, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #54C8FF, 0 0 0 1px #555555;
-}
-.ui.inverted.blue.cards > .card:hover,
-.ui.inverted.cards > .blue.card:hover,
-.ui.inverted.blue.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555555;
-}
-.ui.violet.cards > .card,
-.ui.cards > .violet.card,
-.ui.violet.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #6435C9, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #6435C9, 0 1px 3px 0 #D4D4D5;
-}
-.ui.violet.cards > .card:hover,
-.ui.cards > .violet.card:hover,
-.ui.violet.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #5829bb, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #5829bb, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.violet.cards > .card,
-.ui.inverted.cards > .violet.card,
-.ui.inverted.violet.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #A291FB, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #A291FB, 0 0 0 1px #555555;
-}
-.ui.inverted.violet.cards > .card:hover,
-.ui.inverted.cards > .violet.card:hover,
-.ui.inverted.violet.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #745aff, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #745aff, 0 0 0 1px #555555;
-}
-.ui.purple.cards > .card,
-.ui.cards > .purple.card,
-.ui.purple.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #A333C8, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #A333C8, 0 1px 3px 0 #D4D4D5;
-}
-.ui.purple.cards > .card:hover,
-.ui.cards > .purple.card:hover,
-.ui.purple.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #9627ba, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #9627ba, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.purple.cards > .card,
-.ui.inverted.cards > .purple.card,
-.ui.inverted.purple.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #DC73FF, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #DC73FF, 0 0 0 1px #555555;
-}
-.ui.inverted.purple.cards > .card:hover,
-.ui.inverted.cards > .purple.card:hover,
-.ui.inverted.purple.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #cf40ff, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #cf40ff, 0 0 0 1px #555555;
-}
-.ui.pink.cards > .card,
-.ui.cards > .pink.card,
-.ui.pink.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #E03997, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #E03997, 0 1px 3px 0 #D4D4D5;
-}
-.ui.pink.cards > .card:hover,
-.ui.cards > .pink.card:hover,
-.ui.pink.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #e61a8d, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #e61a8d, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.pink.cards > .card,
-.ui.inverted.cards > .pink.card,
-.ui.inverted.pink.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF8EDF, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF8EDF, 0 0 0 1px #555555;
-}
-.ui.inverted.pink.cards > .card:hover,
-.ui.inverted.cards > .pink.card:hover,
-.ui.inverted.pink.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ff5bd1, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ff5bd1, 0 0 0 1px #555555;
-}
-.ui.brown.cards > .card,
-.ui.cards > .brown.card,
-.ui.brown.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #A5673F, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #A5673F, 0 1px 3px 0 #D4D4D5;
-}
-.ui.brown.cards > .card:hover,
-.ui.cards > .brown.card:hover,
-.ui.brown.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #975b33, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #975b33, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.brown.cards > .card,
-.ui.inverted.cards > .brown.card,
-.ui.inverted.brown.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #D67C1C, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #D67C1C, 0 0 0 1px #555555;
-}
-.ui.inverted.brown.cards > .card:hover,
-.ui.inverted.cards > .brown.card:hover,
-.ui.inverted.brown.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #b0620f, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #b0620f, 0 0 0 1px #555555;
-}
-.ui.grey.cards > .card,
-.ui.cards > .grey.card,
-.ui.grey.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #767676, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #767676, 0 1px 3px 0 #D4D4D5;
-}
-.ui.grey.cards > .card:hover,
-.ui.cards > .grey.card:hover,
-.ui.grey.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #838383, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #838383, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.grey.cards > .card,
-.ui.inverted.cards > .grey.card,
-.ui.inverted.grey.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #DCDDDE, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #DCDDDE, 0 0 0 1px #555555;
-}
-.ui.inverted.grey.cards > .card:hover,
-.ui.inverted.cards > .grey.card:hover,
-.ui.inverted.grey.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #c2c4c5, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #c2c4c5, 0 0 0 1px #555555;
-}
-.ui.black.cards > .card,
-.ui.cards > .black.card,
-.ui.black.card {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #1B1C1D, 0 1px 3px 0 #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #1B1C1D, 0 1px 3px 0 #D4D4D5;
-}
-.ui.black.cards > .card:hover,
-.ui.cards > .black.card:hover,
-.ui.black.card:hover {
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #27292a, 0 1px 3px 0 #BCBDBD;
-          box-shadow: 0 0 0 1px #D4D4D5, 0 2px 0 0 #27292a, 0 1px 3px 0 #BCBDBD;
-}
-.ui.inverted.black.cards > .card,
-.ui.inverted.cards > .black.card,
-.ui.inverted.black.card {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #545454, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #545454, 0 0 0 1px #555555;
-}
-.ui.inverted.black.cards > .card:hover,
-.ui.inverted.cards > .black.card:hover,
-.ui.inverted.black.card:hover {
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #000000, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #000000, 0 0 0 1px #555555;
-}
-
-/*--------------
-   Card Count
----------------*/
-
-.ui.one.cards {
-  margin-left: 0;
-  margin-right: 0;
-}
-.ui.one.cards > .card {
-  width: 100%;
-}
-.ui.two.cards {
-  margin-left: -1em;
-  margin-right: -1em;
-}
-.ui.two.cards > .card {
-  width: calc(50% - 2em);
-  margin-left: 1em;
-  margin-right: 1em;
-}
-.ui.three.cards {
-  margin-left: -1em;
-  margin-right: -1em;
-}
-.ui.three.cards > .card {
-  width: calc(33.33333333333333% - 2em);
-  margin-left: 1em;
-  margin-right: 1em;
-}
-.ui.four.cards {
-  margin-left: -0.75em;
-  margin-right: -0.75em;
-}
-.ui.four.cards > .card {
-  width: calc(25% - 1.5em);
-  margin-left: 0.75em;
-  margin-right: 0.75em;
-}
-.ui.five.cards {
-  margin-left: -0.75em;
-  margin-right: -0.75em;
-}
-.ui.five.cards > .card {
-  width: calc(20% - 1.5em);
-  margin-left: 0.75em;
-  margin-right: 0.75em;
-}
-.ui.six.cards {
-  margin-left: -0.75em;
-  margin-right: -0.75em;
-}
-.ui.six.cards > .card {
-  width: calc(16.666666666666664% - 1.5em);
-  margin-left: 0.75em;
-  margin-right: 0.75em;
-}
-.ui.seven.cards {
-  margin-left: -0.5em;
-  margin-right: -0.5em;
-}
-.ui.seven.cards > .card {
-  width: calc(14.285714285714285% - 1em);
-  margin-left: 0.5em;
-  margin-right: 0.5em;
-}
-.ui.eight.cards {
-  margin-left: -0.5em;
-  margin-right: -0.5em;
-}
-.ui.eight.cards > .card {
-  width: calc(12.5% - 1em);
-  margin-left: 0.5em;
-  margin-right: 0.5em;
-  font-size: 11px;
-}
-.ui.nine.cards {
-  margin-left: -0.5em;
-  margin-right: -0.5em;
-}
-.ui.nine.cards > .card {
-  width: calc(11.11111111111111% - 1em);
-  margin-left: 0.5em;
-  margin-right: 0.5em;
-  font-size: 10px;
-}
-.ui.ten.cards {
-  margin-left: -0.5em;
-  margin-right: -0.5em;
-}
-.ui.ten.cards > .card {
-  width: calc(10% - 1em);
-  margin-left: 0.5em;
-  margin-right: 0.5em;
-}
-
-/*-------------------
-      Doubling
---------------------*/
-
-
-/* Mobile Only */
-@media only screen and (max-width: 767.98px) {
-  .ui.two.doubling.cards {
-    margin-left: 0;
-    margin-right: 0;
-  }
-  .ui.two.doubling.cards > .card {
-    width: 100%;
-    margin-left: 0;
-    margin-right: 0;
-  }
-  .ui.three.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.three.doubling.cards > .card {
-    width: calc(50% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.four.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.four.doubling.cards > .card {
-    width: calc(50% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.five.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.five.doubling.cards > .card {
-    width: calc(50% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.six.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.six.doubling.cards > .card {
-    width: calc(50% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.seven.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.seven.doubling.cards > .card {
-    width: calc(33.33333333333333% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.eight.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.eight.doubling.cards > .card {
-    width: calc(33.33333333333333% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.nine.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.nine.doubling.cards > .card {
-    width: calc(33.33333333333333% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.ten.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.ten.doubling.cards > .card {
-    width: calc(33.33333333333333% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-}
-
-/* Tablet Only */
-@media only screen and (min-width: 768px) and (max-width: 991.98px) {
-  .ui.two.doubling.cards {
-    margin-left: 0;
-    margin-right: 0;
-  }
-  .ui.two.doubling.cards > .card {
-    width: 100%;
-    margin-left: 0;
-    margin-right: 0;
-  }
-  .ui.three.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.three.doubling.cards > .card {
-    width: calc(50% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.four.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.four.doubling.cards > .card {
-    width: calc(50% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.five.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.five.doubling.cards > .card {
-    width: calc(33.33333333333333% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.six.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.six.doubling.cards > .card {
-    width: calc(33.33333333333333% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.eight.doubling.cards {
-    margin-left: -1em;
-    margin-right: -1em;
-  }
-  .ui.eight.doubling.cards > .card {
-    width: calc(33.33333333333333% - 2em);
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.eight.doubling.cards {
-    margin-left: -0.75em;
-    margin-right: -0.75em;
-  }
-  .ui.eight.doubling.cards > .card {
-    width: calc(25% - 1.5em);
-    margin-left: 0.75em;
-    margin-right: 0.75em;
-  }
-  .ui.nine.doubling.cards {
-    margin-left: -0.75em;
-    margin-right: -0.75em;
-  }
-  .ui.nine.doubling.cards > .card {
-    width: calc(25% - 1.5em);
-    margin-left: 0.75em;
-    margin-right: 0.75em;
-  }
-  .ui.ten.doubling.cards {
-    margin-left: -0.75em;
-    margin-right: -0.75em;
-  }
-  .ui.ten.doubling.cards > .card {
-    width: calc(20% - 1.5em);
-    margin-left: 0.75em;
-    margin-right: 0.75em;
-  }
-}
-
-/*-------------------
-      Stackable
---------------------*/
-
-@media only screen and (max-width: 767.98px) {
-  .ui.stackable.cards {
-    display: block !important;
-  }
-  .ui.stackable.cards .card:first-child {
-    margin-top: 0 !important;
-  }
-  .ui.stackable.cards > .card {
-    display: block !important;
-    height: auto !important;
-    margin: 1em 1em;
-    padding: 0 !important;
-    width: calc(100% - 2em) !important;
-  }
-}
-
-/*--------------
-      Size
----------------*/
-
-.ui.cards > .card {
-  font-size: 1em;
-}
-
-/*-----------------
-      Inverted
-------------------*/
-
-.ui.inverted.cards > .card,
-.ui.inverted.card {
-  background: #1B1C1D;
-  -webkit-box-shadow: 0 1px 3px 0 #555555, 0 0 0 1px #555555;
-          box-shadow: 0 1px 3px 0 #555555, 0 0 0 1px #555555;
-}
-
-/* Content */
-.ui.inverted.cards > .card > .content,
-.ui.inverted.card > .content {
-  border-top: 1px solid rgba(255, 255, 255, 0.15);
-}
-
-/* Header */
-.ui.inverted.cards > .card > .content > .header,
-.ui.inverted.card > .content > .header {
-  color: rgba(255, 255, 255, 0.9);
-}
-
-/* Description */
-.ui.inverted.cards > .card > .content > .description,
-.ui.inverted.card > .content > .description {
-  color: rgba(255, 255, 255, 0.8);
-}
-
-/* Meta */
-.ui.inverted.cards > .card .meta,
-.ui.inverted.card .meta {
-  color: rgba(255, 255, 255, 0.7);
-}
-.ui.inverted.cards > .card .meta > a:not(.ui),
-.ui.inverted.card .meta > a:not(.ui) {
-  color: rgba(255, 255, 255, 0.7);
-}
-.ui.inverted.cards > .card .meta > a:not(.ui):hover,
-.ui.inverted.card .meta > a:not(.ui):hover {
-  color: #ffffff;
-}
-
-/* Extra */
-.ui.inverted.cards > .card > .extra,
-.ui.inverted.card > .extra {
-  border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
-  color: rgba(255, 255, 255, 0.7);
-}
-.ui.inverted.cards > .card > .extra a:not(.ui),
-.ui.inverted.card > .extra a:not(.ui) {
-  color: rgba(255, 255, 255, 0.5);
-}
-.ui.inverted.cards > .card > .extra a:not(.ui):hover,
-.ui.inverted.card > .extra a:not(.ui):hover {
-  color: #1e70bf;
-}
-
-/* Link card(s) */
-.ui.inverted.cards a.card:hover,
-.ui.inverted.link.cards .card:not(.icon):hover,
-a.inverted.ui.card:hover,
-.ui.inverted.link.card:hover {
-  background: #1B1C1D;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-    User Variable Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/card.min.css


+ 0 - 878
webgui/static/components/checkbox.css

@@ -1,878 +0,0 @@
-/*!
- * # Fomantic-UI - Checkbox
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-           Checkbox
-*******************************/
-
-
-/*--------------
-    Content
----------------*/
-
-.ui.checkbox {
-  position: relative;
-  display: inline-block;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden;
-  outline: none;
-  vertical-align: baseline;
-  font-style: normal;
-  min-height: 17px;
-  font-size: 1em;
-  line-height: 17px;
-  min-width: 17px;
-}
-
-/* HTML Checkbox */
-.ui.checkbox input[type="checkbox"],
-.ui.checkbox input[type="radio"] {
-  cursor: pointer;
-  position: absolute;
-  top: 0;
-  left: 0;
-  opacity: 0 !important;
-  outline: none;
-  z-index: 3;
-  width: 17px;
-  height: 17px;
-}
-
-/*--------------
-      Box
----------------*/
-
-.ui.checkbox .box,
-.ui.checkbox label {
-  cursor: auto;
-  position: relative;
-  display: block;
-  padding-left: 1.85714em;
-  outline: none;
-  font-size: 1em;
-}
-.ui.checkbox .box:before,
-.ui.checkbox label:before {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 17px;
-  height: 17px;
-  content: '';
-  background: #FFFFFF;
-  border-radius: 0.21428571rem;
-  -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
-  transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
-  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;
-  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
-  border: 1px solid #D4D4D5;
-}
-
-/*--------------
-    Checkmark
----------------*/
-
-.ui.checkbox .box:after,
-.ui.checkbox label:after {
-  position: absolute;
-  font-size: 14px;
-  top: 0;
-  left: 0;
-  width: 17px;
-  height: 17px;
-  text-align: center;
-  opacity: 0;
-  color: #AAAAAA;
-  -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
-  transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
-  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;
-  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
-}
-
-/*--------------
-      Label
----------------*/
-
-
-/* Inside */
-.ui.checkbox label,
-.ui.checkbox + label {
-  color: #AAAAAA;
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-}
-
-/* Outside */
-.ui.checkbox + label {
-  vertical-align: middle;
-}
-
-
-/*******************************
-           States
-*******************************/
-
-
-/*--------------
-      Hover
----------------*/
-
-.ui.checkbox .box:hover::before,
-.ui.checkbox label:hover::before {
-  background: #FFFFFF;
-  border-color: rgba(34, 36, 38, 0.35);
-}
-.ui.checkbox label:hover,
-.ui.checkbox + label:hover {
-  color: rgba(0, 0, 0, 0.8);
-}
-
-/*--------------
-      Down
----------------*/
-
-.ui.checkbox .box:active::before,
-.ui.checkbox label:active::before {
-  background: #F9FAFB;
-  border-color: rgba(34, 36, 38, 0.35);
-}
-.ui.checkbox .box:active::after,
-.ui.checkbox label:active::after {
-  color: rgba(0, 0, 0, 0.95);
-}
-.ui.checkbox input:active ~ label {
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/*--------------
-     Focus
----------------*/
-
-.ui.checkbox input:focus ~ .box:before,
-.ui.checkbox input:focus ~ label:before {
-  background: #FFFFFF;
-  border-color: #96C8DA;
-}
-.ui.checkbox input:focus ~ .box:after,
-.ui.checkbox input:focus ~ label:after {
-  color: rgba(0, 0, 0, 0.95);
-}
-.ui.checkbox input:focus ~ label {
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/*--------------
-     Active
----------------*/
-
-.ui.checkbox input:checked ~ .box:before,
-.ui.checkbox input:checked ~ label:before {
-  background: #FFFFFF;
-  border-color: rgba(34, 36, 38, 0.35);
-}
-.ui.checkbox input:checked ~ .box:after,
-.ui.checkbox input:checked ~ label:after {
-  opacity: 1;
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/*--------------
-  Indeterminate
----------------*/
-
-.ui.checkbox input:not([type=radio]):indeterminate ~ .box:before,
-.ui.checkbox input:not([type=radio]):indeterminate ~ label:before {
-  background: #FFFFFF;
-  border-color: rgba(34, 36, 38, 0.35);
-}
-.ui.checkbox input:not([type=radio]):indeterminate ~ .box:after,
-.ui.checkbox input:not([type=radio]):indeterminate ~ label:after {
-  opacity: 1;
-  color: rgba(0, 0, 0, 0.95);
-}
-.ui.indeterminate.toggle.checkbox input:not([type=radio]):indeterminate ~ label:before {
-  background: rgba(0, 0, 0, 0.15);
-}
-.ui.indeterminate.toggle.checkbox input:not([type=radio]) ~ label:after {
-  left: 1.075rem;
-}
-
-/*--------------
-  Active Focus
----------------*/
-
-.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:before,
-.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:before,
-.ui.checkbox input:checked:focus ~ .box:before,
-.ui.checkbox input:checked:focus ~ label:before {
-  background: #FFFFFF;
-  border-color: #96C8DA;
-}
-.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:after,
-.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:after,
-.ui.checkbox input:checked:focus ~ .box:after,
-.ui.checkbox input:checked:focus ~ label:after {
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/*--------------
-    Read-Only
----------------*/
-
-.ui.read-only.checkbox,
-.ui.read-only.checkbox label {
-  cursor: default;
-}
-
-/*--------------
-     Disabled
----------------*/
-
-.ui.disabled.checkbox .box:after,
-.ui.disabled.checkbox label,
-.ui.checkbox input[disabled] ~ .box:after,
-.ui.checkbox input[disabled] ~ label {
-  cursor: default !important;
-  opacity: 0.5;
-  color: #000000;
-}
-
-/*--------------
-     Hidden
----------------*/
-
-
-/* Initialized checkbox moves input below element
- to prevent manually triggering */
-.ui.checkbox input.hidden {
-  z-index: -1;
-}
-
-/* Selectable Label */
-.ui.checkbox input.hidden + label {
-  cursor: pointer;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-}
-
-
-/*******************************
-             Types
-*******************************/
-
-
-/*--------------
-     Radio
----------------*/
-
-.ui.radio.checkbox {
-  min-height: 15px;
-}
-.ui.radio.checkbox .box,
-.ui.radio.checkbox label {
-  padding-left: 1.85714em;
-}
-
-/* Box */
-.ui.radio.checkbox .box:before,
-.ui.radio.checkbox label:before {
-  content: '';
-  -webkit-transform: none;
-          transform: none;
-  width: 15px;
-  height: 15px;
-  border-radius: 500rem;
-  top: 1px;
-  left: 0;
-}
-
-/* Bullet */
-.ui.radio.checkbox .box:after,
-.ui.radio.checkbox label:after {
-  border: none;
-  content: '' !important;
-  width: 15px;
-  height: 15px;
-  line-height: 15px;
-}
-
-/* Radio Checkbox */
-.ui.radio.checkbox .box:after,
-.ui.radio.checkbox label:after {
-  top: 1px;
-  left: 0;
-  width: 15px;
-  height: 15px;
-  border-radius: 500rem;
-  -webkit-transform: scale(0.46666667);
-          transform: scale(0.46666667);
-  background-color: #AAAAAA;
-}
-
-/* Focus */
-.ui.radio.checkbox input:focus ~ .box:before,
-.ui.radio.checkbox input:focus ~ label:before {
-  background-color: #FFFFFF;
-}
-.ui.radio.checkbox input:focus ~ .box:after,
-.ui.radio.checkbox input:focus ~ label:after {
-  background-color: rgba(0, 0, 0, 0.95);
-}
-
-/* Indeterminate */
-.ui.radio.checkbox input:indeterminate ~ .box:after,
-.ui.radio.checkbox input:indeterminate ~ label:after {
-  opacity: 0;
-}
-
-/* Active */
-.ui.radio.checkbox input:checked ~ .box:before,
-.ui.radio.checkbox input:checked ~ label:before {
-  background-color: #FFFFFF;
-}
-.ui.radio.checkbox input:checked ~ .box:after,
-.ui.radio.checkbox input:checked ~ label:after {
-  background-color: rgba(0, 0, 0, 0.95);
-}
-
-/* Active Focus */
-.ui.radio.checkbox input:focus:checked ~ .box:before,
-.ui.radio.checkbox input:focus:checked ~ label:before {
-  background-color: #FFFFFF;
-}
-.ui.radio.checkbox input:focus:checked ~ .box:after,
-.ui.radio.checkbox input:focus:checked ~ label:after {
-  background-color: rgba(0, 0, 0, 0.95);
-}
-
-/*--------------
-     Slider
----------------*/
-
-.ui.slider.checkbox {
-  min-height: 1.25rem;
-}
-
-/* Input */
-.ui.slider.checkbox input {
-  width: 3.5rem;
-  height: 1.25rem;
-}
-
-/* Label */
-.ui.slider.checkbox .box,
-.ui.slider.checkbox label {
-  padding-left: 4.5rem;
-  line-height: 1rem;
-  color: rgba(0, 0, 0, 0.4);
-}
-
-/* Line */
-.ui.slider.checkbox .box:before,
-.ui.slider.checkbox label:before {
-  display: block;
-  position: absolute;
-  content: '';
-  -webkit-transform: none;
-          transform: none;
-  border: none !important;
-  left: 0;
-  z-index: 1;
-  top: 0.4rem;
-  background-color: rgba(0, 0, 0, 0.05);
-  width: 3.5rem;
-  height: 0.21428571rem;
-  border-radius: 500rem;
-  -webkit-transition: background 0.3s ease;
-  transition: background 0.3s ease;
-}
-
-/* Handle */
-.ui.slider.checkbox .box:after,
-.ui.slider.checkbox label:after {
-  background: #FFFFFF -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.05)));
-  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));
-  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));
-  position: absolute;
-  content: '' !important;
-  opacity: 1;
-  z-index: 2;
-  border: none;
-  -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-  width: 1.5rem;
-  height: 1.5rem;
-  top: -0.25rem;
-  left: 0;
-  -webkit-transform: none;
-          transform: none;
-  border-radius: 500rem;
-  -webkit-transition: left 0.3s ease;
-  transition: left 0.3s ease;
-}
-
-/* Focus */
-.ui.slider.checkbox input:focus ~ .box:before,
-.ui.slider.checkbox input:focus ~ label:before {
-  background-color: rgba(0, 0, 0, 0.15);
-  border: none;
-}
-
-/* Hover */
-.ui.slider.checkbox .box:hover,
-.ui.slider.checkbox label:hover {
-  color: rgba(0, 0, 0, 0.8);
-}
-.ui.slider.checkbox .box:hover::before,
-.ui.slider.checkbox label:hover::before {
-  background: rgba(0, 0, 0, 0.15);
-}
-
-/* Active */
-.ui.slider.checkbox input:checked ~ .box,
-.ui.slider.checkbox input:checked ~ label {
-  color: rgba(0, 0, 0, 0.95) !important;
-}
-.ui.slider.checkbox input:checked ~ .box:before,
-.ui.slider.checkbox input:checked ~ label:before {
-  background-color: #545454 !important;
-}
-.ui.slider.checkbox input:checked ~ .box:after,
-.ui.slider.checkbox input:checked ~ label:after {
-  left: 2rem;
-}
-
-/* Active Focus */
-.ui.slider.checkbox input:focus:checked ~ .box,
-.ui.slider.checkbox input:focus:checked ~ label {
-  color: rgba(0, 0, 0, 0.95) !important;
-}
-.ui.slider.checkbox input:focus:checked ~ .box:before,
-.ui.slider.checkbox input:focus:checked ~ label:before {
-  background-color: #000000 !important;
-}
-
-/*--------------
-     Toggle
----------------*/
-
-.ui.toggle.checkbox {
-  min-height: 1.5rem;
-}
-
-/* Input */
-.ui.toggle.checkbox input {
-  width: 3.5rem;
-  height: 1.5rem;
-}
-
-/* Label */
-.ui.toggle.checkbox .box,
-.ui.toggle.checkbox label {
-  min-height: 1.5rem;
-  padding-left: 4.5rem;
-  color: #AAAAAA;
-}
-.ui.toggle.checkbox label {
-  padding-top: 0.15em;
-}
-
-/* Switch */
-.ui.toggle.checkbox .box:before,
-.ui.toggle.checkbox label:before {
-  display: block;
-  position: absolute;
-  content: '';
-  z-index: 1;
-  -webkit-transform: none;
-          transform: none;
-  border: none;
-  top: 0;
-  background: rgba(0, 0, 0, 0.05);
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  width: 3.5rem;
-  height: 1.5rem;
-  border-radius: 500rem;
-}
-
-/* Handle */
-.ui.toggle.checkbox .box:after,
-.ui.toggle.checkbox label:after {
-  background: #FFFFFF -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.05)));
-  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));
-  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));
-  position: absolute;
-  content: '' !important;
-  opacity: 1;
-  z-index: 2;
-  border: none;
-  -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-  width: 1.5rem;
-  height: 1.5rem;
-  top: 0;
-  left: 0;
-  border-radius: 500rem;
-  -webkit-transition: background 0.3s ease, left 0.3s ease;
-  transition: background 0.3s ease, left 0.3s ease;
-}
-.ui.toggle.checkbox input ~ .box:after,
-.ui.toggle.checkbox input ~ label:after {
-  left: -0.05rem;
-  -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-}
-
-/* Focus */
-.ui.toggle.checkbox input:focus ~ .box:before,
-.ui.toggle.checkbox input:focus ~ label:before {
-  background-color: rgba(0, 0, 0, 0.15);
-  border: none;
-}
-
-/* Hover */
-.ui.toggle.checkbox .box:hover::before,
-.ui.toggle.checkbox label:hover::before {
-  background-color: rgba(0, 0, 0, 0.15);
-  border: none;
-}
-
-/* Active */
-.ui.toggle.checkbox input:checked ~ .box,
-.ui.toggle.checkbox input:checked ~ label {
-  color: rgba(0, 0, 0, 0.95) !important;
-}
-.ui.toggle.checkbox input:checked ~ .box:before,
-.ui.toggle.checkbox input:checked ~ label:before {
-  background-color: #2185D0 !important;
-}
-.ui.toggle.checkbox input:checked ~ .box:after,
-.ui.toggle.checkbox input:checked ~ label:after {
-  left: 2.15rem;
-  -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-}
-
-/* Active Focus */
-.ui.toggle.checkbox input:focus:checked ~ .box,
-.ui.toggle.checkbox input:focus:checked ~ label {
-  color: rgba(0, 0, 0, 0.95) !important;
-}
-.ui.toggle.checkbox input:focus:checked ~ .box:before,
-.ui.toggle.checkbox input:focus:checked ~ label:before {
-  background-color: #0d71bb !important;
-}
-
-
-/*******************************
-            Variations
-*******************************/
-
-
-/*--------------
-     Fitted
----------------*/
-
-.ui.fitted.checkbox .box,
-.ui.fitted.checkbox label {
-  padding-left: 0 !important;
-}
-.ui.fitted.toggle.checkbox {
-  width: 3.5rem;
-}
-.ui.fitted.slider.checkbox {
-  width: 3.5rem;
-}
-
-/*--------------
-     Inverted
----------------*/
-
-.ui.inverted.checkbox label,
-.ui.inverted.checkbox + label {
-  color: rgba(255, 255, 255, 0.9) !important;
-}
-
-/* Hover */
-.ui.inverted.checkbox .box:hover,
-.ui.inverted.checkbox label:hover {
-  color: #ffffff !important;
-}
-.ui.inverted.checkbox .box:hover::before,
-.ui.inverted.checkbox label:hover::before {
-  border-color: rgba(34, 36, 38, 0.5);
-}
-/*Slider Label */
-.ui.inverted.slider.checkbox .box,
-.ui.inverted.slider.checkbox label {
-  color: rgba(255, 255, 255, 0.5);
-}
-
-/* Slider Line */
-.ui.inverted.slider.checkbox .box:before,
-.ui.inverted.slider.checkbox label:before {
-  background-color: rgba(255, 255, 255, 0.5) !important;
-}
-
-/* Slider Hover */
-.ui.inverted.slider.checkbox .box:hover::before,
-.ui.inverted.slider.checkbox label:hover::before {
-  background: rgba(255, 255, 255, 0.7) !important;
-}
-
-/* Slider Active */
-.ui.inverted.slider.checkbox input:checked ~ .box,
-.ui.inverted.slider.checkbox input:checked ~ label {
-  color: #ffffff !important;
-}
-.ui.inverted.slider.checkbox input:checked ~ .box:before,
-.ui.inverted.slider.checkbox input:checked ~ label:before {
-  background-color: rgba(255, 255, 255, 0.8) !important;
-}
-
-/* Slider Active Focus */
-.ui.inverted.slider.checkbox input:focus:checked ~ .box,
-.ui.inverted.slider.checkbox input:focus:checked ~ label {
-  color: #ffffff !important;
-}
-.ui.inverted.slider.checkbox input:focus:checked ~ .box:before,
-.ui.inverted.slider.checkbox input:focus:checked ~ label:before {
-  background-color: rgba(255, 255, 255, 0.8) !important;
-}
-
-/* Toggle Switch */
-.ui.inverted.toggle.checkbox .box:before,
-.ui.inverted.toggle.checkbox label:before {
-  background-color: rgba(255, 255, 255, 0.9) !important;
-}
-
-/* Toggle Hover */
-.ui.inverted.toggle.checkbox .box:hover::before,
-.ui.inverted.toggle.checkbox label:hover::before {
-  background: #ffffff !important;
-}
-
-/* Toggle Active */
-.ui.inverted.toggle.checkbox input:checked ~ .box,
-.ui.inverted.toggle.checkbox input:checked ~ label {
-  color: #ffffff !important;
-}
-.ui.inverted.toggle.checkbox input:checked ~ .box:before,
-.ui.inverted.toggle.checkbox input:checked ~ label:before {
-  background-color: #2185D0 !important;
-}
-
-/* Toggle Active Focus */
-.ui.inverted.toggle.checkbox input:focus:checked ~ .box,
-.ui.inverted.toggle.checkbox input:focus:checked ~ label {
-  color: #ffffff !important;
-}
-.ui.inverted.toggle.checkbox input:focus:checked ~ .box:before,
-.ui.inverted.toggle.checkbox input:focus:checked ~ label:before {
-  background-color: #0d71bb !important;
-}
-
-/*--------------------
-        Size
----------------------*/
-
-.ui.mini.checkbox {
-  font-size: 0.78571429em;
-}
-.ui.tiny.checkbox {
-  font-size: 0.85714286em;
-}
-.ui.small.checkbox {
-  font-size: 0.92857143em;
-}
-.ui.large.checkbox {
-  font-size: 1.14285714em;
-}
-.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) .box:after,
-.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) .box:after,
-.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) .box:before,
-.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) .box:before,
-.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after,
-.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) label:after,
-.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before,
-.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) label:before {
-  -webkit-transform: scale(1.14285714);
-          transform: scale(1.14285714);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-}
-.ui.large.form .checkbox.radio .box:before,
-.ui.large.checkbox.radio .box:before,
-.ui.large.form .checkbox.radio label:before,
-.ui.large.checkbox.radio label:before {
-  -webkit-transform: scale(1.14285714);
-          transform: scale(1.14285714);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-}
-.ui.large.form .checkbox.radio .box:after,
-.ui.large.checkbox.radio .box:after,
-.ui.large.form .checkbox.radio label:after,
-.ui.large.checkbox.radio label:after {
-  -webkit-transform: scale(0.57142857);
-          transform: scale(0.57142857);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-  left: 0.33571429em;
-}
-.ui.big.checkbox {
-  font-size: 1.28571429em;
-}
-.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) .box:after,
-.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) .box:after,
-.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) .box:before,
-.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) .box:before,
-.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after,
-.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) label:after,
-.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before,
-.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) label:before {
-  -webkit-transform: scale(1.28571429);
-          transform: scale(1.28571429);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-}
-.ui.big.form .checkbox.radio .box:before,
-.ui.big.checkbox.radio .box:before,
-.ui.big.form .checkbox.radio label:before,
-.ui.big.checkbox.radio label:before {
-  -webkit-transform: scale(1.28571429);
-          transform: scale(1.28571429);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-}
-.ui.big.form .checkbox.radio .box:after,
-.ui.big.checkbox.radio .box:after,
-.ui.big.form .checkbox.radio label:after,
-.ui.big.checkbox.radio label:after {
-  -webkit-transform: scale(0.64285714);
-          transform: scale(0.64285714);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-  left: 0.37142857em;
-}
-.ui.huge.checkbox {
-  font-size: 1.42857143em;
-}
-.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) .box:after,
-.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) .box:after,
-.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) .box:before,
-.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) .box:before,
-.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after,
-.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) label:after,
-.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before,
-.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) label:before {
-  -webkit-transform: scale(1.42857143);
-          transform: scale(1.42857143);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-}
-.ui.huge.form .checkbox.radio .box:before,
-.ui.huge.checkbox.radio .box:before,
-.ui.huge.form .checkbox.radio label:before,
-.ui.huge.checkbox.radio label:before {
-  -webkit-transform: scale(1.42857143);
-          transform: scale(1.42857143);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-}
-.ui.huge.form .checkbox.radio .box:after,
-.ui.huge.checkbox.radio .box:after,
-.ui.huge.form .checkbox.radio label:after,
-.ui.huge.checkbox.radio label:after {
-  -webkit-transform: scale(0.71428571);
-          transform: scale(0.71428571);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-  left: 0.40714286em;
-}
-.ui.massive.checkbox {
-  font-size: 1.71428571em;
-}
-.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) .box:after,
-.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) .box:after,
-.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) .box:before,
-.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) .box:before,
-.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after,
-.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) label:after,
-.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before,
-.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) label:before {
-  -webkit-transform: scale(1.71428571);
-          transform: scale(1.71428571);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-}
-.ui.massive.form .checkbox.radio .box:before,
-.ui.massive.checkbox.radio .box:before,
-.ui.massive.form .checkbox.radio label:before,
-.ui.massive.checkbox.radio label:before {
-  -webkit-transform: scale(1.71428571);
-          transform: scale(1.71428571);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-}
-.ui.massive.form .checkbox.radio .box:after,
-.ui.massive.checkbox.radio .box:after,
-.ui.massive.form .checkbox.radio label:after,
-.ui.massive.checkbox.radio label:after {
-  -webkit-transform: scale(0.85714286);
-          transform: scale(0.85714286);
-  -webkit-transform-origin: left;
-          transform-origin: left;
-  left: 0.47857143em;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-@font-face {
-  font-family: 'Checkbox';
-  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype');
-}
-
-/* Checkmark */
-.ui.checkbox label:after,
-.ui.checkbox .box:after {
-  font-family: 'Checkbox';
-}
-
-/* Checked */
-.ui.checkbox input:checked ~ .box:after,
-.ui.checkbox input:checked ~ label:after {
-  content: '\e800';
-}
-
-/* Indeterminate */
-.ui.checkbox input:indeterminate ~ .box:after,
-.ui.checkbox input:indeterminate ~ label:after {
-  font-size: 12px;
-  content: '\e801';
-}
-/*  UTF Reference
-.check:before { content: '\e800'; }
-.dash:before  { content: '\e801'; }
-.plus:before { content: '\e802'; }
-*/
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

+ 0 - 876
webgui/static/components/checkbox.js

@@ -1,876 +0,0 @@
-/*!
- * # Fomantic-UI - Checkbox
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-'use strict';
-
-$.isFunction = $.isFunction || function(obj) {
-  return typeof obj === "function" && typeof obj.nodeType !== "number";
-};
-
-window = (typeof window != 'undefined' && window.Math == Math)
-  ? window
-  : (typeof self != 'undefined' && self.Math == Math)
-    ? self
-    : Function('return this')()
-;
-
-$.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),
-    returnedValue
-  ;
-
-  $allModules
-    .each(function() {
-      var
-        settings        = $.extend(true, {}, $.fn.checkbox.settings, parameters),
-
-        className       = settings.className,
-        namespace       = settings.namespace,
-        selector        = settings.selector,
-        error           = settings.error,
-
-        eventNamespace  = '.' + namespace,
-        moduleNamespace = 'module-' + namespace,
-
-        $module         = $(this),
-        $label          = $(this).children(selector.label),
-        $input          = $(this).children(selector.input),
-        input           = $input[0],
-
-        initialLoad     = false,
-        shortcutPressed = false,
-        instance        = $module.data(moduleNamespace),
-
-        observer,
-        element         = this,
-        module
-      ;
-
-      module      = {
-
-        initialize: function() {
-          module.verbose('Initializing checkbox', settings);
-
-          module.create.label();
-          module.bind.events();
-
-          module.set.tabbable();
-          module.hide.input();
-
-          module.observeChanges();
-          module.instantiate();
-          module.setup();
-        },
-
-        instantiate: function() {
-          module.verbose('Storing instance of module', module);
-          instance = module;
-          $module
-            .data(moduleNamespace, module)
-          ;
-        },
-
-        destroy: function() {
-          module.verbose('Destroying module');
-          module.unbind.events();
-          module.show.input();
-          $module.removeData(moduleNamespace);
-        },
-
-        fix: {
-          reference: function() {
-            if( $module.is(selector.input) ) {
-              module.debug('Behavior called on <input> adjusting invoked element');
-              $module = $module.closest(selector.checkbox);
-              module.refresh();
-            }
-          }
-        },
-
-        setup: function() {
-          module.set.initialLoad();
-          if( module.is.indeterminate() ) {
-            module.debug('Initial value is indeterminate');
-            module.indeterminate();
-          }
-          else if( module.is.checked() ) {
-            module.debug('Initial value is checked');
-            module.check();
-          }
-          else {
-            module.debug('Initial value is unchecked');
-            module.uncheck();
-          }
-          module.remove.initialLoad();
-        },
-
-        refresh: function() {
-          $label = $module.children(selector.label);
-          $input = $module.children(selector.input);
-          input  = $input[0];
-        },
-
-        hide: {
-          input: function() {
-            module.verbose('Modifying <input> z-index to be unselectable');
-            $input.addClass(className.hidden);
-          }
-        },
-        show: {
-          input: function() {
-            module.verbose('Modifying <input> z-index to be selectable');
-            $input.removeClass(className.hidden);
-          }
-        },
-
-        observeChanges: function() {
-          if('MutationObserver' in window) {
-            observer = new MutationObserver(function(mutations) {
-              module.debug('DOM tree modified, updating selector cache');
-              module.refresh();
-            });
-            observer.observe(element, {
-              childList : true,
-              subtree   : true
-            });
-            module.debug('Setting up mutation observer', observer);
-          }
-        },
-
-        attachEvents: function(selector, event) {
-          var
-            $element = $(selector)
-          ;
-          event = $.isFunction(module[event])
-            ? module[event]
-            : module.toggle
-          ;
-          if($element.length > 0) {
-            module.debug('Attaching checkbox events to element', selector, event);
-            $element
-              .on('click' + eventNamespace, event)
-            ;
-          }
-          else {
-            module.error(error.notFound);
-          }
-        },
-
-        preventDefaultOnInputTarget: function() {
-          if(typeof event !== 'undefined' && $(event.target).is(selector.input)) {
-            module.verbose('Preventing default check action after manual check action');
-            event.preventDefault();
-          }
-        },
-
-        event: {
-          change: function(event) {
-            if( !module.should.ignoreCallbacks() ) {
-              settings.onChange.call(input);
-            }
-          },
-          click: function(event) {
-            var
-              $target = $(event.target)
-            ;
-            if( $target.is(selector.input) ) {
-              module.verbose('Using default check action on initialized checkbox');
-              return;
-            }
-            if( $target.is(selector.link) ) {
-              module.debug('Clicking link inside checkbox, skipping toggle');
-              return;
-            }
-            module.toggle();
-            $input.focus();
-            event.preventDefault();
-          },
-          keydown: function(event) {
-            var
-              key     = event.which,
-              keyCode = {
-                enter  : 13,
-                space  : 32,
-                escape : 27,
-                left   : 37,
-                up     : 38,
-                right  : 39,
-                down   : 40
-              }
-            ;
-
-            var r = module.get.radios(),
-                rIndex = r.index($module),
-                rLen = r.length,
-                checkIndex = false;
-
-            if(key == keyCode.left || key == keyCode.up) {
-              checkIndex = (rIndex === 0 ? rLen : rIndex) - 1;
-            } else if(key == keyCode.right || key == keyCode.down) {
-              checkIndex = rIndex === rLen-1 ? 0 : rIndex+1;
-            }
-
-            if (!module.should.ignoreCallbacks() && checkIndex !== false) {
-              if(settings.beforeUnchecked.apply(input)===false) {
-                module.verbose('Option not allowed to be unchecked, cancelling key navigation');
-                return false;
-              }
-              if (settings.beforeChecked.apply($(r[checkIndex]).children(selector.input)[0])===false) {
-                module.verbose('Next option should not allow check, cancelling key navigation');
-                return false;
-              }
-            }
-
-            if(key == keyCode.escape) {
-              module.verbose('Escape key pressed blurring field');
-              $input.blur();
-              shortcutPressed = true;
-            }
-            else if(!event.ctrlKey && ( key == keyCode.space || (key == keyCode.enter && settings.enableEnterKey)) ) {
-              module.verbose('Enter/space key pressed, toggling checkbox');
-              module.toggle();
-              shortcutPressed = true;
-            }
-            else {
-              shortcutPressed = false;
-            }
-          },
-          keyup: function(event) {
-            if(shortcutPressed) {
-              event.preventDefault();
-            }
-          }
-        },
-
-        check: function() {
-          if( !module.should.allowCheck() ) {
-            return;
-          }
-          module.debug('Checking checkbox', $input);
-          module.set.checked();
-          if( !module.should.ignoreCallbacks() ) {
-            settings.onChecked.call(input);
-            module.trigger.change();
-          }
-          module.preventDefaultOnInputTarget();
-        },
-
-        uncheck: function() {
-          if( !module.should.allowUncheck() ) {
-            return;
-          }
-          module.debug('Unchecking checkbox');
-          module.set.unchecked();
-          if( !module.should.ignoreCallbacks() ) {
-            settings.onUnchecked.call(input);
-            module.trigger.change();
-          }
-          module.preventDefaultOnInputTarget();
-        },
-
-        indeterminate: function() {
-          if( module.should.allowIndeterminate() ) {
-            module.debug('Checkbox is already indeterminate');
-            return;
-          }
-          module.debug('Making checkbox indeterminate');
-          module.set.indeterminate();
-          if( !module.should.ignoreCallbacks() ) {
-            settings.onIndeterminate.call(input);
-            module.trigger.change();
-          }
-        },
-
-        determinate: function() {
-          if( module.should.allowDeterminate() ) {
-            module.debug('Checkbox is already determinate');
-            return;
-          }
-          module.debug('Making checkbox determinate');
-          module.set.determinate();
-          if( !module.should.ignoreCallbacks() ) {
-            settings.onDeterminate.call(input);
-            module.trigger.change();
-          }
-        },
-
-        enable: function() {
-          if( module.is.enabled() ) {
-            module.debug('Checkbox is already enabled');
-            return;
-          }
-          module.debug('Enabling checkbox');
-          module.set.enabled();
-          if( !module.should.ignoreCallbacks() ) {
-            settings.onEnable.call(input);
-            // preserve legacy callbacks
-            settings.onEnabled.call(input);
-            module.trigger.change();
-          }
-        },
-
-        disable: function() {
-          if( module.is.disabled() ) {
-            module.debug('Checkbox is already disabled');
-            return;
-          }
-          module.debug('Disabling checkbox');
-          module.set.disabled();
-          if( !module.should.ignoreCallbacks() ) {
-            settings.onDisable.call(input);
-            // preserve legacy callbacks
-            settings.onDisabled.call(input);
-            module.trigger.change();
-          }
-        },
-
-        get: {
-          radios: function() {
-            var
-              name = module.get.name()
-            ;
-            return $('input[name="' + name + '"]').closest(selector.checkbox);
-          },
-          otherRadios: function() {
-            return module.get.radios().not($module);
-          },
-          name: function() {
-            return $input.attr('name');
-          }
-        },
-
-        is: {
-          initialLoad: function() {
-            return initialLoad;
-          },
-          radio: function() {
-            return ($input.hasClass(className.radio) || $input.attr('type') == 'radio');
-          },
-          indeterminate: function() {
-            return $input.prop('indeterminate') !== undefined && $input.prop('indeterminate');
-          },
-          checked: function() {
-            return $input.prop('checked') !== undefined && $input.prop('checked');
-          },
-          disabled: function() {
-            return $input.prop('disabled') !== undefined && $input.prop('disabled');
-          },
-          enabled: function() {
-            return !module.is.disabled();
-          },
-          determinate: function() {
-            return !module.is.indeterminate();
-          },
-          unchecked: function() {
-            return !module.is.checked();
-          }
-        },
-
-        should: {
-          allowCheck: function() {
-            if(module.is.determinate() && module.is.checked() && !module.is.initialLoad() ) {
-              module.debug('Should not allow check, checkbox is already checked');
-              return false;
-            }
-            if(!module.should.ignoreCallbacks() && settings.beforeChecked.apply(input) === false) {
-              module.debug('Should not allow check, beforeChecked cancelled');
-              return false;
-            }
-            return true;
-          },
-          allowUncheck: function() {
-            if(module.is.determinate() && module.is.unchecked() && !module.is.initialLoad() ) {
-              module.debug('Should not allow uncheck, checkbox is already unchecked');
-              return false;
-            }
-            if(!module.should.ignoreCallbacks() && settings.beforeUnchecked.apply(input) === false) {
-              module.debug('Should not allow uncheck, beforeUnchecked cancelled');
-              return false;
-            }
-            return true;
-          },
-          allowIndeterminate: function() {
-            if(module.is.indeterminate() && !module.is.initialLoad() ) {
-              module.debug('Should not allow indeterminate, checkbox is already indeterminate');
-              return false;
-            }
-            if(!module.should.ignoreCallbacks() && settings.beforeIndeterminate.apply(input) === false) {
-              module.debug('Should not allow indeterminate, beforeIndeterminate cancelled');
-              return false;
-            }
-            return true;
-          },
-          allowDeterminate: function() {
-            if(module.is.determinate() && !module.is.initialLoad() ) {
-              module.debug('Should not allow determinate, checkbox is already determinate');
-              return false;
-            }
-            if(!module.should.ignoreCallbacks() && settings.beforeDeterminate.apply(input) === false) {
-              module.debug('Should not allow determinate, beforeDeterminate cancelled');
-              return false;
-            }
-            return true;
-          },
-          ignoreCallbacks: function() {
-            return (initialLoad && !settings.fireOnInit);
-          }
-        },
-
-        can: {
-          change: function() {
-            return !( $module.hasClass(className.disabled) || $module.hasClass(className.readOnly) || $input.prop('disabled') || $input.prop('readonly') );
-          },
-          uncheck: function() {
-            return (typeof settings.uncheckable === 'boolean')
-              ? settings.uncheckable
-              : !module.is.radio()
-            ;
-          }
-        },
-
-        set: {
-          initialLoad: function() {
-            initialLoad = true;
-          },
-          checked: function() {
-            module.verbose('Setting class to checked');
-            $module
-              .removeClass(className.indeterminate)
-              .addClass(className.checked)
-            ;
-            if( module.is.radio() ) {
-              module.uncheckOthers();
-            }
-            if(!module.is.indeterminate() && module.is.checked()) {
-              module.debug('Input is already checked, skipping input property change');
-              return;
-            }
-            module.verbose('Setting state to checked', input);
-            $input
-              .prop('indeterminate', false)
-              .prop('checked', true)
-            ;
-          },
-          unchecked: function() {
-            module.verbose('Removing checked class');
-            $module
-              .removeClass(className.indeterminate)
-              .removeClass(className.checked)
-            ;
-            if(!module.is.indeterminate() &&  module.is.unchecked() ) {
-              module.debug('Input is already unchecked');
-              return;
-            }
-            module.debug('Setting state to unchecked');
-            $input
-              .prop('indeterminate', false)
-              .prop('checked', false)
-            ;
-          },
-          indeterminate: function() {
-            module.verbose('Setting class to indeterminate');
-            $module
-              .addClass(className.indeterminate)
-            ;
-            if( module.is.indeterminate() ) {
-              module.debug('Input is already indeterminate, skipping input property change');
-              return;
-            }
-            module.debug('Setting state to indeterminate');
-            $input
-              .prop('indeterminate', true)
-            ;
-          },
-          determinate: function() {
-            module.verbose('Removing indeterminate class');
-            $module
-              .removeClass(className.indeterminate)
-            ;
-            if( module.is.determinate() ) {
-              module.debug('Input is already determinate, skipping input property change');
-              return;
-            }
-            module.debug('Setting state to determinate');
-            $input
-              .prop('indeterminate', false)
-            ;
-          },
-          disabled: function() {
-            module.verbose('Setting class to disabled');
-            $module
-              .addClass(className.disabled)
-            ;
-            if( module.is.disabled() ) {
-              module.debug('Input is already disabled, skipping input property change');
-              return;
-            }
-            module.debug('Setting state to disabled');
-            $input
-              .prop('disabled', 'disabled')
-            ;
-          },
-          enabled: function() {
-            module.verbose('Removing disabled class');
-            $module.removeClass(className.disabled);
-            if( module.is.enabled() ) {
-              module.debug('Input is already enabled, skipping input property change');
-              return;
-            }
-            module.debug('Setting state to enabled');
-            $input
-              .prop('disabled', false)
-            ;
-          },
-          tabbable: function() {
-            module.verbose('Adding tabindex to checkbox');
-            if( $input.attr('tabindex') === undefined) {
-              $input.attr('tabindex', 0);
-            }
-          }
-        },
-
-        remove: {
-          initialLoad: function() {
-            initialLoad = false;
-          }
-        },
-
-        trigger: {
-          change: function() {
-            var
-              events       = document.createEvent('HTMLEvents'),
-              inputElement = $input[0]
-            ;
-            if(inputElement) {
-              module.verbose('Triggering native change event');
-              events.initEvent('change', true, false);
-              inputElement.dispatchEvent(events);
-            }
-          }
-        },
-
-
-        create: {
-          label: function() {
-            if($input.prevAll(selector.label).length > 0) {
-              $input.prev(selector.label).detach().insertAfter($input);
-              module.debug('Moving existing label', $label);
-            }
-            else if( !module.has.label() ) {
-              $label = $('<label>').insertAfter($input);
-              module.debug('Creating label', $label);
-            }
-          }
-        },
-
-        has: {
-          label: function() {
-            return ($label.length > 0);
-          }
-        },
-
-        bind: {
-          events: function() {
-            module.verbose('Attaching checkbox events');
-            $module
-              .on('click'   + eventNamespace, module.event.click)
-              .on('change'  + eventNamespace, module.event.change)
-              .on('keydown' + eventNamespace, selector.input, module.event.keydown)
-              .on('keyup'   + eventNamespace, selector.input, module.event.keyup)
-            ;
-          }
-        },
-
-        unbind: {
-          events: function() {
-            module.debug('Removing events');
-            $module
-              .off(eventNamespace)
-            ;
-          }
-        },
-
-        uncheckOthers: function() {
-          var
-            $radios = module.get.otherRadios()
-          ;
-          module.debug('Unchecking other radios', $radios);
-          $radios.removeClass(className.checked);
-        },
-
-        toggle: function() {
-          if( !module.can.change() ) {
-            if(!module.is.radio()) {
-              module.debug('Checkbox is read-only or disabled, ignoring toggle');
-            }
-            return;
-          }
-          if( module.is.indeterminate() || module.is.unchecked() ) {
-            module.debug('Currently unchecked');
-            module.check();
-          }
-          else if( module.is.checked() && module.can.uncheck() ) {
-            module.debug('Currently checked');
-            module.uncheck();
-          }
-        },
-        setting: function(name, value) {
-          module.debug('Changing setting', name, value);
-          if( $.isPlainObject(name) ) {
-            $.extend(true, settings, name);
-          }
-          else if(value !== undefined) {
-            if($.isPlainObject(settings[name])) {
-              $.extend(true, settings[name], value);
-            }
-            else {
-              settings[name] = value;
-            }
-          }
-          else {
-            return settings[name];
-          }
-        },
-        internal: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, module, name);
-          }
-          else if(value !== undefined) {
-            module[name] = value;
-          }
-          else {
-            return module[name];
-          }
-        },
-        debug: function() {
-          if(!settings.silent && 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.silent && 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() {
-          if(!settings.silent) {
-            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({
-                'Name'           : message[0],
-                'Arguments'      : [].slice.call(message, 1) || '',
-                'Element'        : element,
-                'Execution Time' : executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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
-            object = instance,
-            maxDepth,
-            found,
-            response
-          ;
-          passedArguments = passedArguments || queryArguments;
-          context         = element         || context;
-          if(typeof query == 'string' && object !== 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( object[camelCaseValue] ) && (depth != maxDepth) ) {
-                object = object[camelCaseValue];
-              }
-              else if( object[camelCaseValue] !== undefined ) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
-                object = object[value];
-              }
-              else if( object[value] !== undefined ) {
-                found = object[value];
-                return false;
-              }
-              else {
-                module.error(error.method, query);
-                return false;
-              }
-            });
-          }
-          if ( $.isFunction( found ) ) {
-            response = found.apply(context, passedArguments);
-          }
-          else if(found !== undefined) {
-            response = found;
-          }
-          if(Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if(returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if(response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-
-      if(methodInvoked) {
-        if(instance === undefined) {
-          module.initialize();
-        }
-        module.invoke(query);
-      }
-      else {
-        if(instance !== undefined) {
-          instance.invoke('destroy');
-        }
-        module.initialize();
-      }
-    })
-  ;
-
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : this
-  ;
-};
-
-$.fn.checkbox.settings = {
-
-  name                : 'Checkbox',
-  namespace           : 'checkbox',
-
-  silent              : false,
-  debug               : false,
-  verbose             : true,
-  performance         : true,
-
-  // delegated event context
-  uncheckable         : 'auto',
-  fireOnInit          : false,
-  enableEnterKey      : true,
-
-  onChange            : function(){},
-
-  beforeChecked       : function(){},
-  beforeUnchecked     : function(){},
-  beforeDeterminate   : function(){},
-  beforeIndeterminate : function(){},
-
-  onChecked           : function(){},
-  onUnchecked         : function(){},
-
-  onDeterminate       : function() {},
-  onIndeterminate     : function() {},
-
-  onEnable            : function(){},
-  onDisable           : function(){},
-
-  // preserve misspelled callbacks (will be removed in 3.0)
-  onEnabled           : function(){},
-  onDisabled          : function(){},
-
-  className       : {
-    checked       : 'checked',
-    indeterminate : 'indeterminate',
-    disabled      : 'disabled',
-    hidden        : 'hidden',
-    radio         : 'radio',
-    readOnly      : 'read-only'
-  },
-
-  error     : {
-    method       : 'The method you called is not defined'
-  },
-
-  selector : {
-    checkbox : '.ui.checkbox',
-    label    : 'label, .box',
-    input    : 'input[type="checkbox"], input[type="radio"]',
-    link     : 'a[href]'
-  }
-
-};
-
-})( jQuery, window, document );

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/checkbox.min.css


File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/checkbox.min.js


+ 0 - 296
webgui/static/components/comment.css

@@ -1,296 +0,0 @@
-/*!
- * # Fomantic-UI - Comment
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Standard
-*******************************/
-
-
-/*--------------
-    Comments
----------------*/
-
-.ui.comments {
-  margin: 1.5em 0;
-  max-width: 650px;
-}
-.ui.comments:first-child {
-  margin-top: 0;
-}
-.ui.comments:last-child {
-  margin-bottom: 0;
-}
-
-/*--------------
-     Comment
----------------*/
-
-.ui.comments .comment {
-  position: relative;
-  background: none;
-  margin: 0.5em 0 0;
-  padding: 0.5em 0 0;
-  border: none;
-  border-top: none;
-  line-height: 1.2;
-}
-.ui.comments .comment:first-child {
-  margin-top: 0;
-  padding-top: 0;
-}
-
-/*--------------------
-    Nested Comments
----------------------*/
-
-.ui.comments .comment > .comments {
-  margin: 0 0 0.5em 0.5em;
-  padding: 1em 0 1em 1em;
-}
-.ui.comments .comment > .comments:before {
-  position: absolute;
-  top: 0;
-  left: 0;
-}
-.ui.comments .comment > .comments .comment {
-  border: none;
-  border-top: none;
-  background: none;
-}
-
-/*--------------
-     Avatar
----------------*/
-
-.ui.comments .comment .avatar {
-  display: block;
-  width: 2.5em;
-  height: auto;
-  float: left;
-  margin: 0.2em 0 0;
-}
-.ui.comments .comment img.avatar,
-.ui.comments .comment .avatar img {
-  display: block;
-  margin: 0 auto;
-  width: 100%;
-  height: 100%;
-  border-radius: 0.25rem;
-}
-
-/*--------------
-     Content
----------------*/
-
-.ui.comments .comment > .content {
-  display: block;
-}
-
-/* If there is an avatar move content over */
-.ui.comments .comment > .avatar ~ .content {
-  margin-left: 3.5em;
-}
-
-/*--------------
-     Author
----------------*/
-
-.ui.comments .comment .author {
-  font-size: 1em;
-  color: #AAAAAA;
-  font-weight: bold;
-}
-.ui.comments .comment a.author {
-  cursor: pointer;
-}
-.ui.comments .comment a.author:hover {
-  color: #1e70bf;
-}
-
-/*--------------
-     Metadata
----------------*/
-
-.ui.comments .comment .metadata {
-  display: inline-block;
-  margin-left: 0.5em;
-  color: rgba(0, 0, 0, 0.4);
-  font-size: 0.875em;
-}
-.ui.comments .comment .metadata > * {
-  display: inline-block;
-  margin: 0 0.5em 0 0;
-}
-.ui.comments .comment .metadata > :last-child {
-  margin-right: 0;
-}
-
-/*--------------------
-     Comment Text
----------------------*/
-
-.ui.comments .comment .text {
-  margin: 0.25em 0 0.5em;
-  font-size: 1em;
-  word-wrap: break-word;
-  color: #AAAAAA;
-  line-height: 1.3;
-}
-
-/*--------------------
-     User Actions
----------------------*/
-
-.ui.comments .comment .actions {
-  font-size: 0.875em;
-}
-.ui.comments .comment .actions a {
-  cursor: pointer;
-  display: inline-block;
-  margin: 0 0.75em 0 0;
-  color: rgba(0, 0, 0, 0.4);
-}
-.ui.comments .comment .actions a:last-child {
-  margin-right: 0;
-}
-.ui.comments .comment .actions a.active,
-.ui.comments .comment .actions a:hover {
-  color: rgba(0, 0, 0, 0.8);
-}
-
-/*--------------------
-      Reply Form
----------------------*/
-
-.ui.comments > .reply.form {
-  margin-top: 1em;
-}
-.ui.comments .comment .reply.form {
-  width: 100%;
-  margin-top: 1em;
-}
-.ui.comments .reply.form textarea {
-  font-size: 1em;
-  height: 12em;
-}
-
-
-/*******************************
-            State
-*******************************/
-
-.ui.collapsed.comments,
-.ui.comments .collapsed.comments,
-.ui.comments .collapsed.comment {
-  display: none;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*--------------------
-        Threaded
----------------------*/
-
-.ui.threaded.comments .comment > .comments {
-  margin: -1.5em 0 -1em 1.25em;
-  padding: 3em 0 2em 2.25em;
-  -webkit-box-shadow: -1px 0 0 rgba(34, 36, 38, 0.15);
-          box-shadow: -1px 0 0 rgba(34, 36, 38, 0.15);
-}
-
-/*--------------------
-        Minimal
----------------------*/
-
-.ui.minimal.comments .comment .actions {
-  opacity: 0;
-  position: absolute;
-  top: 0;
-  right: 0;
-  left: auto;
-  -webkit-transition: opacity 0.2s ease;
-  transition: opacity 0.2s ease;
-  -webkit-transition-delay: 0.1s;
-          transition-delay: 0.1s;
-}
-.ui.minimal.comments .comment > .content:hover > .actions {
-  opacity: 1;
-}
-
-/*-------------------
-        Sizes
---------------------*/
-
-.ui.mini.comments {
-  font-size: 0.78571429rem;
-}
-.ui.tiny.comments {
-  font-size: 0.85714286rem;
-}
-.ui.small.comments {
-  font-size: 0.92857143rem;
-}
-.ui.comments {
-  font-size: 1rem;
-}
-.ui.large.comments {
-  font-size: 1.14285714rem;
-}
-.ui.big.comments {
-  font-size: 1.28571429rem;
-}
-.ui.huge.comments {
-  font-size: 1.42857143rem;
-}
-.ui.massive.comments {
-  font-size: 1.71428571rem;
-}
-
-/*-------------------
-        Inverted
---------------------*/
-
-.ui.inverted.comments .comment {
-  background-color: #1B1C1D;
-}
-.ui.inverted.comments .comment .author,
-.ui.inverted.comments .comment .text {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.comments .comment .metadata,
-.ui.inverted.comments .comment .actions a {
-  color: rgba(255, 255, 255, 0.7);
-}
-.ui.inverted.comments .comment a.author:hover,
-.ui.inverted.comments .comment .actions a.active,
-.ui.inverted.comments .comment .actions a:hover {
-  color: #ffffff;
-}
-.ui.inverted.threaded.comments .comment > .comments {
-  -webkit-box-shadow: -1px 0 0 #555555;
-          box-shadow: -1px 0 0 #555555;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-    User Variable Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/comment.min.css


+ 0 - 145
webgui/static/components/container.css

@@ -1,145 +0,0 @@
-/*!
- * # Fomantic-UI - Container
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Container
-*******************************/
-
-
-/* All Sizes */
-.ui.container {
-  display: block;
-  max-width: 100%;
-}
-
-/* Mobile */
-@media only screen and (max-width: 767.98px) {
-  .ui.ui.ui.container:not(.fluid) {
-    width: auto;
-    margin-left: 1em;
-    margin-right: 1em;
-  }
-  .ui.ui.grid.container {
-    width: auto;
-  }
-  .ui.ui.relaxed.grid.container {
-    width: auto;
-  }
-  .ui.ui.very.relaxed.grid.container {
-    width: auto;
-  }
-}
-
-/* Tablet */
-@media only screen and (min-width: 768px) and (max-width: 991.98px) {
-  .ui.ui.ui.container:not(.fluid) {
-    width: 723px;
-    margin-left: auto;
-    margin-right: auto;
-  }
-  .ui.ui.grid.container {
-    width: calc(723px + 2rem);
-  }
-  .ui.ui.relaxed.grid.container {
-    width: calc(723px + 3rem);
-  }
-  .ui.ui.very.relaxed.grid.container {
-    width: calc(723px + 5rem);
-  }
-}
-
-/* Small Monitor */
-@media only screen and (min-width: 992px) and (max-width: 1199.98px) {
-  .ui.ui.ui.container:not(.fluid) {
-    width: 933px;
-    margin-left: auto;
-    margin-right: auto;
-  }
-  .ui.ui.grid.container {
-    width: calc(933px + 2rem);
-  }
-  .ui.ui.relaxed.grid.container {
-    width: calc(933px + 3rem);
-  }
-  .ui.ui.very.relaxed.grid.container {
-    width: calc(933px + 5rem);
-  }
-}
-
-/* Large Monitor */
-@media only screen and (min-width: 1200px) {
-  .ui.ui.ui.container:not(.fluid) {
-    width: 1127px;
-    margin-left: auto;
-    margin-right: auto;
-  }
-  .ui.ui.grid.container {
-    width: calc(1127px + 2rem);
-  }
-  .ui.ui.relaxed.grid.container {
-    width: calc(1127px + 3rem);
-  }
-  .ui.ui.very.relaxed.grid.container {
-    width: calc(1127px + 5rem);
-  }
-}
-
-
-/*******************************
-             Types
-*******************************/
-
-
-/* Text Container */
-.ui.text.container {
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  max-width: 700px;
-  line-height: 1.5;
-  font-size: 1.14285714rem;
-}
-
-/* Fluid */
-.ui.fluid.container {
-  width: 100%;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-.ui[class*="left aligned"].container {
-  text-align: left;
-}
-.ui[class*="center aligned"].container {
-  text-align: center;
-}
-.ui[class*="right aligned"].container {
-  text-align: right;
-}
-.ui.justified.container {
-  text-align: justify;
-  -webkit-hyphens: auto;
-      -ms-hyphens: auto;
-          hyphens: auto;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

+ 0 - 9
webgui/static/components/container.min.css

@@ -1,9 +0,0 @@
-/*!
- * # Fomantic-UI - Container
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */.ui.container{display:block;max-width:100%}@media only screen and (max-width:767.98px){.ui.ui.ui.container:not(.fluid){width:auto;margin-left:1em;margin-right:1em}.ui.ui.grid.container{width:auto}.ui.ui.relaxed.grid.container{width:auto}.ui.ui.very.relaxed.grid.container{width:auto}}@media only screen and (min-width:768px) and (max-width:991.98px){.ui.ui.ui.container:not(.fluid){width:723px;margin-left:auto;margin-right:auto}.ui.ui.grid.container{width:calc(723px + 2rem)}.ui.ui.relaxed.grid.container{width:calc(723px + 3rem)}.ui.ui.very.relaxed.grid.container{width:calc(723px + 5rem)}}@media only screen and (min-width:992px) and (max-width:1199.98px){.ui.ui.ui.container:not(.fluid){width:933px;margin-left:auto;margin-right:auto}.ui.ui.grid.container{width:calc(933px + 2rem)}.ui.ui.relaxed.grid.container{width:calc(933px + 3rem)}.ui.ui.very.relaxed.grid.container{width:calc(933px + 5rem)}}@media only screen and (min-width:1200px){.ui.ui.ui.container:not(.fluid){width:1127px;margin-left:auto;margin-right:auto}.ui.ui.grid.container{width:calc(1127px + 2rem)}.ui.ui.relaxed.grid.container{width:calc(1127px + 3rem)}.ui.ui.very.relaxed.grid.container{width:calc(1127px + 5rem)}}.ui.text.container{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;max-width:700px;line-height:1.5;font-size:1.14285714rem}.ui.fluid.container{width:100%}.ui[class*="left aligned"].container{text-align:left}.ui[class*="center aligned"].container{text-align:center}.ui[class*="right aligned"].container{text-align:right}.ui.justified.container{text-align:justify;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}

+ 0 - 464
webgui/static/components/dimmer.css

@@ -1,464 +0,0 @@
-/*!
- * # Fomantic-UI - Dimmer
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Dimmer
-*******************************/
-
-.dimmable:not(body) {
-  position: relative;
-}
-.ui.dimmer {
-  display: none;
-  position: absolute;
-  top: 0 !important;
-  left: 0 !important;
-  width: 100%;
-  height: 100%;
-  text-align: center;
-  vertical-align: middle;
-  padding: 1em;
-  background-color: rgba(0, 0, 0, 0.85);
-  opacity: 0;
-  line-height: 1;
-  -webkit-animation-fill-mode: both;
-          animation-fill-mode: both;
-  -webkit-animation-duration: 0.5s;
-          animation-duration: 0.5s;
-  -webkit-transition: background-color 0.5s linear;
-  transition: background-color 0.5s linear;
-  -webkit-box-orient: vertical;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: column;
-          flex-direction: column;
-  -webkit-box-align: center;
-      -ms-flex-align: center;
-          align-items: center;
-  -webkit-box-pack: center;
-      -ms-flex-pack: center;
-          justify-content: center;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  will-change: opacity;
-  z-index: 1000;
-}
-
-/* Dimmer Content */
-.ui.dimmer > .content {
-  -webkit-user-select: text;
-     -moz-user-select: text;
-      -ms-user-select: text;
-          user-select: text;
-  color: #FFFFFF;
-}
-
-/* Loose Coupling */
-.ui.segment > .ui.dimmer {
-  border-radius: inherit !important;
-}
-
-/* Scrollbars */
-.ui.dimmer:not(.inverted)::-webkit-scrollbar-track {
-  background: rgba(255, 255, 255, 0.1);
-}
-.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb {
-  background: rgba(255, 255, 255, 0.25);
-}
-.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:window-inactive {
-  background: rgba(255, 255, 255, 0.15);
-}
-.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover {
-  background: rgba(255, 255, 255, 0.35);
-}
-
-
-/*******************************
-            States
-*******************************/
-
-
-/* Animating */
-.animating.dimmable:not(body),
-.dimmed.dimmable:not(body) {
-  overflow: hidden;
-}
-
-/* Animating / Active / Visible */
-.dimmed.dimmable > .ui.animating.dimmer,
-.dimmed.dimmable > .ui.visible.dimmer,
-.ui.active.dimmer {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  opacity: 1;
-}
-
-/* Disabled */
-.ui.disabled.dimmer {
-  width: 0 !important;
-  height: 0 !important;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*--------------
-    Legacy
----------------*/
-
-
-/* Animating / Active / Visible */
-.dimmed.dimmable > .ui.animating.legacy.dimmer,
-.dimmed.dimmable > .ui.visible.legacy.dimmer,
-.ui.active.legacy.dimmer {
-  display: block;
-}
-
-/*--------------
-    Alignment
----------------*/
-
-.ui[class*="top aligned"].dimmer {
-  -webkit-box-pack: start;
-      -ms-flex-pack: start;
-          justify-content: flex-start;
-}
-.ui[class*="bottom aligned"].dimmer {
-  -webkit-box-pack: end;
-      -ms-flex-pack: end;
-          justify-content: flex-end;
-}
-
-/*--------------
-      Page
----------------*/
-
-.ui.page.dimmer {
-  position: fixed;
-  -webkit-transform-style: '';
-          transform-style: '';
-  -webkit-perspective: 2000px;
-          perspective: 2000px;
-  -webkit-transform-origin: center center;
-          transform-origin: center center;
-}
-body.animating.in.dimmable,
-body.dimmed.dimmable {
-  overflow: hidden;
-}
-body.dimmable > .dimmer {
-  position: fixed;
-}
-
-/*--------------
-    Blurring
----------------*/
-
-.blurring.dimmable > :not(.dimmer) {
-  -webkit-filter: initial;
-          filter: initial;
-  -webkit-transition: 800ms -webkit-filter ease;
-  transition: 800ms -webkit-filter ease;
-  transition: 800ms filter ease;
-  transition: 800ms filter ease, 800ms -webkit-filter ease;
-}
-.blurring.dimmed.dimmable > :not(.dimmer):not(.popup) {
-  -webkit-filter: blur(5px) grayscale(0.7);
-          filter: blur(5px) grayscale(0.7);
-}
-
-/* Dimmer Color */
-.blurring.dimmable > .dimmer {
-  background-color: rgba(0, 0, 0, 0.6);
-}
-.blurring.dimmable > .inverted.dimmer {
-  background-color: rgba(255, 255, 255, 0.6);
-}
-
-/*--------------
-    Aligned
----------------*/
-
-.ui.dimmer > .top.aligned.content > * {
-  vertical-align: top;
-}
-.ui.dimmer > .bottom.aligned.content > * {
-  vertical-align: bottom;
-}
-
-/*--------------
-    Shades
----------------*/
-
-.medium.medium.medium.medium.medium.dimmer {
-  background-color: rgba(0, 0, 0, 0.65);
-}
-.light.light.light.light.light.dimmer {
-  background-color: rgba(0, 0, 0, 0.45);
-}
-.very.light.light.light.light.dimmer {
-  background-color: rgba(0, 0, 0, 0.25);
-}
-
-/*--------------
-    Inverted
----------------*/
-
-.ui.inverted.dimmer {
-  background-color: rgba(255, 255, 255, 0.85);
-}
-.ui.inverted.dimmer > .content,
-.ui.inverted.dimmer > .content > * {
-  color: #000000;
-}
-
-/*--------------
- Inverted Shades
----------------*/
-
-.medium.medium.medium.medium.medium.inverted.dimmer {
-  background-color: rgba(255, 255, 255, 0.65);
-}
-.light.light.light.light.light.inverted.dimmer {
-  background-color: rgba(255, 255, 255, 0.45);
-}
-.very.light.light.light.light.inverted.dimmer {
-  background-color: rgba(255, 255, 255, 0.25);
-}
-
-/*--------------
-     Simple
----------------*/
-
-
-/* Displays without javascript */
-.ui.simple.dimmer {
-  display: block;
-  overflow: hidden;
-  opacity: 0;
-  width: 0;
-  height: 0;
-  z-index: -100;
-  background-color: rgba(0, 0, 0, 0);
-}
-.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);
-}
-.dimmed.dimmable > .ui.simple.inverted.dimmer {
-  background-color: rgba(255, 255, 255, 0.85);
-}
-
-/*--------------
-     Partially
-----------------*/
-
-.ui[class*="top dimmer"],
-.ui[class*="center dimmer"],
-.ui[class*="bottom dimmer"] {
-  height: auto;
-}
-.ui[class*="bottom dimmer"] {
-  top: auto !important;
-  bottom: 0;
-}
-.ui[class*="center dimmer"] {
-  top: 50% !important;
-  transform: translateY(-50%);
-  -webkit-transform: translateY(calc(-50% - 0.5px));
-}
-.ui.segment > .ui[class*="top dimmer"] {
-  border-bottom-left-radius: 0 !important;
-  border-bottom-right-radius: 0 !important;
-}
-.ui.segment > .ui[class*="center dimmer"] {
-  border-radius: 0 !important;
-}
-.ui.segment > .ui[class*="bottom dimmer"] {
-  border-top-left-radius: 0 !important;
-  border-top-right-radius: 0 !important;
-}
-.ui[class*="center dimmer"].transition[class*="fade up"].in {
-  -webkit-animation-name: fadeInUpCenter;
-          animation-name: fadeInUpCenter;
-}
-.ui[class*="center dimmer"].transition[class*="fade down"].in {
-  -webkit-animation-name: fadeInDownCenter;
-          animation-name: fadeInDownCenter;
-}
-.ui[class*="center dimmer"].transition[class*="fade up"].out {
-  -webkit-animation-name: fadeOutUpCenter;
-          animation-name: fadeOutUpCenter;
-}
-.ui[class*="center dimmer"].transition[class*="fade down"].out {
-  -webkit-animation-name: fadeOutDownCenter;
-          animation-name: fadeOutDownCenter;
-}
-.ui[class*="center dimmer"].bounce.transition {
-  -webkit-animation-name: bounceCenter;
-          animation-name: bounceCenter;
-}
-@-webkit-keyframes fadeInUpCenter {
-  0% {
-    opacity: 0;
-    transform: translateY(-40%);
-    -webkit-transform: translateY(calc(-40% - 0.5px));
-  }
-  100% {
-    opacity: 1;
-    transform: translateY(-50%);
-    -webkit-transform: translateY(calc(-50% - 0.5px));
-  }
-}
-@keyframes fadeInUpCenter {
-  0% {
-    opacity: 0;
-    transform: translateY(-40%);
-    -webkit-transform: translateY(calc(-40% - 0.5px));
-  }
-  100% {
-    opacity: 1;
-    transform: translateY(-50%);
-    -webkit-transform: translateY(calc(-50% - 0.5px));
-  }
-}
-@-webkit-keyframes fadeInDownCenter {
-  0% {
-    opacity: 0;
-    transform: translateY(-60%);
-    -webkit-transform: translateY(calc(-60% - 0.5px));
-  }
-  100% {
-    opacity: 1;
-    transform: translateY(-50%);
-    -webkit-transform: translateY(calc(-50% - 0.5px));
-  }
-}
-@keyframes fadeInDownCenter {
-  0% {
-    opacity: 0;
-    transform: translateY(-60%);
-    -webkit-transform: translateY(calc(-60% - 0.5px));
-  }
-  100% {
-    opacity: 1;
-    transform: translateY(-50%);
-    -webkit-transform: translateY(calc(-50% - 0.5px));
-  }
-}
-@-webkit-keyframes fadeOutUpCenter {
-  0% {
-    opacity: 1;
-    transform: translateY(-50%);
-    -webkit-transform: translateY(calc(-50% - 0.5px));
-  }
-  100% {
-    opacity: 0;
-    transform: translateY(-45%);
-    -webkit-transform: translateY(calc(-45% - 0.5px));
-  }
-}
-@keyframes fadeOutUpCenter {
-  0% {
-    opacity: 1;
-    transform: translateY(-50%);
-    -webkit-transform: translateY(calc(-50% - 0.5px));
-  }
-  100% {
-    opacity: 0;
-    transform: translateY(-45%);
-    -webkit-transform: translateY(calc(-45% - 0.5px));
-  }
-}
-@-webkit-keyframes fadeOutDownCenter {
-  0% {
-    opacity: 1;
-    transform: translateY(-50%);
-    -webkit-transform: translateY(calc(-50% - 0.5px));
-  }
-  100% {
-    opacity: 0;
-    transform: translateY(-55%);
-    -webkit-transform: translateY(calc(-55% - 0.5px));
-  }
-}
-@keyframes fadeOutDownCenter {
-  0% {
-    opacity: 1;
-    transform: translateY(-50%);
-    -webkit-transform: translateY(calc(-50% - 0.5px));
-  }
-  100% {
-    opacity: 0;
-    transform: translateY(-55%);
-    -webkit-transform: translateY(calc(-55% - 0.5px));
-  }
-}
-@-webkit-keyframes bounceCenter {
-  0%,
-  20%,
-  50%,
-  80%,
-  100% {
-    transform: translateY(-50%);
-    -webkit-transform: translateY(calc(-50% - 0.5px));
-  }
-  40% {
-    -webkit-transform: translateY(calc(-50% - 30px));
-            transform: translateY(calc(-50% - 30px));
-  }
-  60% {
-    -webkit-transform: translateY(calc(-50% - 15px));
-            transform: translateY(calc(-50% - 15px));
-  }
-}
-@keyframes bounceCenter {
-  0%,
-  20%,
-  50%,
-  80%,
-  100% {
-    transform: translateY(-50%);
-    -webkit-transform: translateY(calc(-50% - 0.5px));
-  }
-  40% {
-    -webkit-transform: translateY(calc(-50% - 30px));
-            transform: translateY(calc(-50% - 30px));
-  }
-  60% {
-    -webkit-transform: translateY(calc(-50% - 15px));
-            transform: translateY(calc(-50% - 15px));
-  }
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-        User Overrides
-*******************************/
-

+ 0 - 753
webgui/static/components/dimmer.js

@@ -1,753 +0,0 @@
-/*!
- * # Fomantic-UI - Dimmer
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-'use strict';
-
-$.isFunction = $.isFunction || function(obj) {
-  return typeof obj === "function" && typeof obj.nodeType !== "number";
-};
-
-window = (typeof window != 'undefined' && window.Math == Math)
-  ? window
-  : (typeof self != 'undefined' && self.Math == Math)
-    ? self
-    : Function('return this')()
-;
-
-$.fn.dimmer = function(parameters) {
-  var
-    $allModules     = $(this),
-
-    time            = new Date().getTime(),
-    performance     = [],
-
-    query           = arguments[0],
-    methodInvoked   = (typeof query == 'string'),
-    queryArguments  = [].slice.call(arguments, 1),
-
-    returnedValue
-  ;
-
-  $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() ) {
-              if(settings.dimmerName) {
-                $dimmer = $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName);
-              }
-              else {
-                $dimmer = $dimmable.find(selector.dimmer);
-              }
-            }
-            else {
-              $dimmer = module.create();
-            }
-          }
-        },
-
-        initialize: function() {
-          module.debug('Initializing dimmer', settings);
-
-          module.bind.events();
-          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.unbind.events();
-          module.remove.variation();
-          $dimmable
-            .off(eventNamespace)
-          ;
-        },
-
-        bind: {
-          events: function() {
-            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( module.is.closable() ) {
-              module.verbose('Adding dimmer close event', $dimmer);
-              $dimmable
-                .on(clickEvent + eventNamespace, selector.dimmer, module.event.click)
-              ;
-            }
-          }
-        },
-
-        unbind: {
-          events: function() {
-            $module
-              .removeData(moduleNamespace)
-            ;
-            $dimmable
-              .off(eventNamespace)
-            ;
-          }
-        },
-
-        event: {
-          click: function(event) {
-            module.verbose('Determining if event occured on dimmer', event);
-            if( $dimmer.find(event.target).length === 0 || $(event.target).is(selector.content) ) {
-              module.hide();
-              event.stopImmediatePropagation();
-            }
-          }
-        },
-
-        addContent: function(element) {
-          var
-            $content = $(element)
-          ;
-          module.debug('Add content to dimmer', $content);
-          if($content.parent()[0] !== $dimmer[0]) {
-            $content.detach().appendTo($dimmer);
-          }
-        },
-
-        create: function() {
-          var
-            $element = $( settings.template.dimmer(settings) )
-          ;
-          if(settings.dimmerName) {
-            module.debug('Creating named dimmer', settings.dimmerName);
-            $element.addClass(settings.dimmerName);
-          }
-          $element
-            .appendTo($dimmable)
-          ;
-          return $element;
-        },
-
-        show: function(callback) {
-          callback = $.isFunction(callback)
-            ? callback
-            : function(){}
-          ;
-          module.debug('Showing dimmer', $dimmer, settings);
-          module.set.variation();
-          if( (!module.is.dimmed() || module.is.animating()) && module.is.enabled() ) {
-            module.animate.show(callback);
-            settings.onShow.call(element);
-            settings.onChange.call(element);
-          }
-          else {
-            module.debug('Dimmer is already shown or disabled');
-          }
-        },
-
-        hide: function(callback) {
-          callback = $.isFunction(callback)
-            ? callback
-            : function(){}
-          ;
-          if( module.is.dimmed() || module.is.animating() ) {
-            module.debug('Hiding dimmer', $dimmer);
-            module.animate.hide(callback);
-            settings.onHide.call(element);
-            settings.onChange.call(element);
-          }
-          else {
-            module.debug('Dimmer is not visible');
-          }
-        },
-
-        toggle: function() {
-          module.verbose('Toggling dimmer visibility', $dimmer);
-          if( !module.is.dimmed() ) {
-            module.show();
-          }
-          else {
-            if ( module.is.closable() ) {
-              module.hide();
-            }
-          }
-        },
-
-        animate: {
-          show: function(callback) {
-            callback = $.isFunction(callback)
-              ? callback
-              : function(){}
-            ;
-            if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {
-              if(settings.useFlex) {
-                module.debug('Using flex dimmer');
-                module.remove.legacy();
-              }
-              else {
-                module.debug('Using legacy non-flex dimmer');
-                module.set.legacy();
-              }
-              if(settings.opacity !== 'auto') {
-                module.set.opacity();
-              }
-              $dimmer
-                .transition({
-                  displayType : settings.useFlex
-                    ? 'flex'
-                    : 'block',
-                  animation   : settings.transition + ' in',
-                  queue       : false,
-                  duration    : module.get.duration(),
-                  useFailSafe : true,
-                  onStart     : function() {
-                    module.set.dimmed();
-                  },
-                  onComplete  : function() {
-                    module.set.active();
-                    callback();
-                  }
-                })
-              ;
-            }
-            else {
-              module.verbose('Showing dimmer animation with javascript');
-              module.set.dimmed();
-              if(settings.opacity == 'auto') {
-                settings.opacity = 0.8;
-              }
-              $dimmer
-                .stop()
-                .css({
-                  opacity : 0,
-                  width   : '100%',
-                  height  : '100%'
-                })
-                .fadeTo(module.get.duration(), settings.opacity, function() {
-                  $dimmer.removeAttr('style');
-                  module.set.active();
-                  callback();
-                })
-              ;
-            }
-          },
-          hide: function(callback) {
-            callback = $.isFunction(callback)
-              ? callback
-              : function(){}
-            ;
-            if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {
-              module.verbose('Hiding dimmer with css');
-              $dimmer
-                .transition({
-                  displayType : settings.useFlex
-                    ? 'flex'
-                    : 'block',
-                  animation   : settings.transition + ' out',
-                  queue       : false,
-                  duration    : module.get.duration(),
-                  useFailSafe : true,
-                  onComplete  : function() {
-                    module.remove.dimmed();
-                    module.remove.variation();
-                    module.remove.active();
-                    callback();
-                  }
-                })
-              ;
-            }
-            else {
-              module.verbose('Hiding dimmer with javascript');
-              $dimmer
-                .stop()
-                .fadeOut(module.get.duration(), function() {
-                  module.remove.dimmed();
-                  module.remove.active();
-                  $dimmer.removeAttr('style');
-                  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() {
-            if(settings.dimmerName) {
-              return ($module.find(selector.dimmer).filter('.' + settings.dimmerName).length > 0);
-            }
-            else {
-              return ( $module.find(selector.dimmer).length > 0 );
-            }
-          }
-        },
-
-        is: {
-          active: function() {
-            return $dimmer.hasClass(className.active);
-          },
-          animating: function() {
-            return ( $dimmer.is(':animated') || $dimmer.hasClass(className.animating) );
-          },
-          closable: function() {
-            if(settings.closable == 'auto') {
-              if(settings.on == 'hover') {
-                return false;
-              }
-              return true;
-            }
-            return settings.closable;
-          },
-          dimmer: function() {
-            return $module.hasClass(className.dimmer);
-          },
-          dimmable: function() {
-            return $module.hasClass(className.dimmable);
-          },
-          dimmed: function() {
-            return $dimmable.hasClass(className.dimmed);
-          },
-          disabled: function() {
-            return $dimmable.hasClass(className.disabled);
-          },
-          enabled: function() {
-            return !module.is.disabled();
-          },
-          page: function () {
-            return $dimmable.is('body');
-          },
-          pageDimmer: function() {
-            return $dimmer.hasClass(className.pageDimmer);
-          }
-        },
-
-        can: {
-          show: function() {
-            return !$dimmer.hasClass(className.disabled);
-          }
-        },
-
-        set: {
-          opacity: function(opacity) {
-            var
-              color      = $dimmer.css('background-color'),
-              colorArray = color.split(','),
-              isRGB      = (colorArray && colorArray.length == 3),
-              isRGBA     = (colorArray && colorArray.length == 4)
-            ;
-            opacity    = settings.opacity === 0 ? 0 : settings.opacity || opacity;
-            if(isRGB || isRGBA) {
-              colorArray[3] = opacity + ')';
-              color         = colorArray.join(',');
-            }
-            else {
-              color = 'rgba(0, 0, 0, ' + opacity + ')';
-            }
-            module.debug('Setting opacity to', opacity);
-            $dimmer.css('background-color', color);
-          },
-          legacy: function() {
-            $dimmer.addClass(className.legacy);
-          },
-          active: function() {
-            $dimmer.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);
-          },
-          variation: function(variation) {
-            variation = variation || settings.variation;
-            if(variation) {
-              $dimmer.addClass(variation);
-            }
-          }
-        },
-
-        remove: {
-          active: function() {
-            $dimmer
-              .removeClass(className.active)
-            ;
-          },
-          legacy: function() {
-            $dimmer.removeClass(className.legacy);
-          },
-          dimmed: function() {
-            $dimmable.removeClass(className.dimmed);
-          },
-          disabled: function() {
-            $dimmer.removeClass(className.disabled);
-          },
-          variation: function(variation) {
-            variation = variation || settings.variation;
-            if(variation) {
-              $dimmer.removeClass(variation);
-            }
-          }
-        },
-
-        setting: function(name, value) {
-          module.debug('Changing setting', name, value);
-          if( $.isPlainObject(name) ) {
-            $.extend(true, settings, name);
-          }
-          else if(value !== undefined) {
-            if($.isPlainObject(settings[name])) {
-              $.extend(true, settings[name], value);
-            }
-            else {
-              settings[name] = value;
-            }
-          }
-          else {
-            return settings[name];
-          }
-        },
-        internal: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, module, name);
-          }
-          else if(value !== undefined) {
-            module[name] = value;
-          }
-          else {
-            return module[name];
-          }
-        },
-        debug: function() {
-          if(!settings.silent && 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.silent && 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() {
-          if(!settings.silent) {
-            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({
-                'Name'           : message[0],
-                'Arguments'      : [].slice.call(message, 1) || '',
-                'Element'        : element,
-                'Execution Time' : executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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.length > 1) {
-              title += ' ' + '(' + $allModules.length + ')';
-            }
-            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
-            object = instance,
-            maxDepth,
-            found,
-            response
-          ;
-          passedArguments = passedArguments || queryArguments;
-          context         = element         || context;
-          if(typeof query == 'string' && object !== 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( object[camelCaseValue] ) && (depth != maxDepth) ) {
-                object = object[camelCaseValue];
-              }
-              else if( object[camelCaseValue] !== undefined ) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
-                object = object[value];
-              }
-              else if( object[value] !== undefined ) {
-                found = object[value];
-                return false;
-              }
-              else {
-                module.error(error.method, query);
-                return false;
-              }
-            });
-          }
-          if ( $.isFunction( found ) ) {
-            response = found.apply(context, passedArguments);
-          }
-          else if(found !== undefined) {
-            response = found;
-          }
-          if(Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if(returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if(response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-
-      module.preinitialize();
-
-      if(methodInvoked) {
-        if(instance === undefined) {
-          module.initialize();
-        }
-        module.invoke(query);
-      }
-      else {
-        if(instance !== undefined) {
-          instance.invoke('destroy');
-        }
-        module.initialize();
-      }
-    })
-  ;
-
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : this
-  ;
-};
-
-$.fn.dimmer.settings = {
-
-  name        : 'Dimmer',
-  namespace   : 'dimmer',
-
-  silent      : false,
-  debug       : false,
-  verbose     : false,
-  performance : true,
-
-  // whether should use flex layout
-  useFlex     : true,
-
-  // name to distinguish between multiple dimmers in context
-  dimmerName  : false,
-
-  // whether to add a variation type
-  variation   : false,
-
-  // whether to bind close events
-  closable    : 'auto',
-
-  // whether to use css animations
-  useCSS      : true,
-
-  // css animation to use
-  transition  : 'fade',
-
-  // event to bind to
-  on          : false,
-
-  // overriding opacity value
-  opacity     : 'auto',
-
-  // transition durations
-  duration    : {
-    show : 500,
-    hide : 500
-  },
-// whether the dynamically created dimmer should have a loader
-  displayLoader: false,
-  loaderText  : false,
-  loaderVariation : '',
-
-  onChange    : function(){},
-  onShow      : function(){},
-  onHide      : function(){},
-
-  error   : {
-    method   : 'The method you called is not defined.'
-  },
-
-  className : {
-    active     : 'active',
-    animating  : 'animating',
-    dimmable   : 'dimmable',
-    dimmed     : 'dimmed',
-    dimmer     : 'dimmer',
-    disabled   : 'disabled',
-    hide       : 'hide',
-    legacy     : 'legacy',
-    pageDimmer : 'page',
-    show       : 'show',
-    loader     : 'ui loader'
-  },
-
-  selector: {
-    dimmer   : '> .ui.dimmer',
-    content  : '.ui.dimmer > .content, .ui.dimmer > .content > .center'
-  },
-
-  template: {
-    dimmer: function(settings) {
-        var d = $('<div/>').addClass('ui dimmer'),l;
-        if(settings.displayLoader) {
-          l = $('<div/>')
-              .addClass(settings.className.loader)
-              .addClass(settings.loaderVariation);
-          if(!!settings.loaderText){
-            l.text(settings.loaderText);
-            l.addClass('text');
-          }
-          d.append(l);
-        }
-        return d;
-    }
-  }
-
-};
-
-})( jQuery, window, document );

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/dimmer.min.css


File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/dimmer.min.js


+ 0 - 276
webgui/static/components/divider.css

@@ -1,276 +0,0 @@
-/*!
- * # Fomantic-UI - Divider
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Divider
-*******************************/
-
-.ui.divider {
-  margin: 1rem 0;
-  line-height: 1;
-  height: 0;
-  font-weight: bold;
-  text-transform: uppercase;
-  letter-spacing: 0.05em;
-  color: rgba(0, 0, 0, 0.85);
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-
-/*--------------
-      Basic
----------------*/
-
-.ui.divider:not(.vertical):not(.horizontal) {
-  border-top: 1px solid rgba(34, 36, 38, 0.15);
-  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
-}
-
-/*--------------
-    Coupling
----------------*/
-
-
-/* Allow divider between each column row */
-.ui.grid > .column + .divider,
-.ui.grid > .row > .column + .divider {
-  left: auto;
-}
-
-/*--------------
-   Horizontal
----------------*/
-
-.ui.horizontal.divider {
-  display: table;
-  white-space: nowrap;
-  height: auto;
-  margin: '';
-  line-height: 1;
-  text-align: center;
-}
-.ui.horizontal.divider:before,
-.ui.horizontal.divider:after {
-  content: '';
-  display: table-cell;
-  position: relative;
-  top: 50%;
-  width: 50%;
-  background-repeat: no-repeat;
-}
-.ui.horizontal.divider:before {
-  background-position: right 1em top 50%;
-}
-.ui.horizontal.divider:after {
-  background-position: left 1em top 50%;
-}
-
-/*--------------
-    Vertical
----------------*/
-
-.ui.vertical.divider {
-  position: absolute;
-  z-index: 2;
-  top: 50%;
-  left: 50%;
-  margin: 0;
-  padding: 0;
-  width: auto;
-  height: 50%;
-  line-height: 0;
-  text-align: center;
-  -webkit-transform: translateX(-50%);
-          transform: translateX(-50%);
-}
-.ui.vertical.divider:before,
-.ui.vertical.divider:after {
-  position: absolute;
-  left: 50%;
-  content: '';
-  z-index: 3;
-  border-left: 1px solid rgba(34, 36, 38, 0.15);
-  border-right: 1px solid rgba(255, 255, 255, 0.1);
-  width: 0;
-  height: calc(100% - 1rem);
-}
-.ui.vertical.divider:before {
-  top: -100%;
-}
-.ui.vertical.divider:after {
-  top: auto;
-  bottom: 0;
-}
-
-/* Inside grid */
-@media only screen and (max-width: 767.98px) {
-  .ui.stackable.grid .ui.vertical.divider,
-  .ui.grid .stackable.row .ui.vertical.divider {
-    display: table;
-    white-space: nowrap;
-    height: auto;
-    margin: '';
-    overflow: hidden;
-    line-height: 1;
-    text-align: center;
-    position: static;
-    top: 0;
-    left: 0;
-    -webkit-transform: none;
-            transform: none;
-  }
-  .ui.stackable.grid .ui.vertical.divider:before,
-  .ui.grid .stackable.row .ui.vertical.divider:before,
-  .ui.stackable.grid .ui.vertical.divider:after,
-  .ui.grid .stackable.row .ui.vertical.divider:after {
-    left: 0;
-    border-left: none;
-    border-right: none;
-    content: '';
-    display: table-cell;
-    position: relative;
-    top: 50%;
-    width: 50%;
-    background-repeat: no-repeat;
-  }
-  .ui.stackable.grid .ui.vertical.divider:before,
-  .ui.grid .stackable.row .ui.vertical.divider:before {
-    background-position: right 1em top 50%;
-  }
-  .ui.stackable.grid .ui.vertical.divider:after,
-  .ui.grid .stackable.row .ui.vertical.divider:after {
-    background-position: left 1em top 50%;
-  }
-}
-
-/*--------------
-      Icon
----------------*/
-
-.ui.divider > .icon {
-  margin: 0;
-  font-size: 1rem;
-  height: 1em;
-  vertical-align: middle;
-}
-
-/*--------------
-     Header
----------------*/
-
-.ui.horizontal.divider[class*="left aligned"]:before {
-  display: none;
-}
-.ui.horizontal.divider[class*="left aligned"]:after {
-  width: 100%;
-}
-.ui.horizontal.divider[class*="right aligned"]:before {
-  width: 100%;
-}
-.ui.horizontal.divider[class*="right aligned"]:after {
-  display: none;
-}
-
-
-/*******************************
-          Variations
-*******************************/
-
-
-/*--------------
-    Hidden
----------------*/
-
-.ui.hidden.divider {
-  border-color: transparent !important;
-}
-.ui.hidden.divider:before,
-.ui.hidden.divider:after {
-  display: none;
-}
-
-/*--------------
-    Inverted
----------------*/
-
-.ui.divider.inverted,
-.ui.vertical.inverted.divider,
-.ui.horizontal.inverted.divider {
-  color: #FFFFFF;
-}
-.ui.divider.inverted,
-.ui.divider.inverted:after,
-.ui.divider.inverted:before {
-  border-top-color: rgba(34, 36, 38, 0.15) !important;
-  border-left-color: rgba(34, 36, 38, 0.15) !important;
-  border-bottom-color: rgba(255, 255, 255, 0.15) !important;
-  border-right-color: rgba(255, 255, 255, 0.15) !important;
-}
-
-/*--------------
-    Fitted
----------------*/
-
-.ui.fitted.divider {
-  margin: 0;
-}
-
-/*--------------
-    Clearing
----------------*/
-
-.ui.clearing.divider {
-  clear: both;
-}
-
-/*--------------
-    Section
----------------*/
-
-.ui.section.divider {
-  margin-top: 2rem;
-  margin-bottom: 2rem;
-}
-
-/*--------------
-     Sizes
----------------*/
-
-.ui.divider {
-  font-size: 1rem;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-.ui.horizontal.divider:before,
-.ui.horizontal.divider:after {
-  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC');
-}
-@media only screen and (max-width: 767px) {
-  .ui.stackable.grid .ui.vertical.divider:before,
-  .ui.grid .stackable.row .ui.vertical.divider:before,
-  .ui.stackable.grid .ui.vertical.divider:after,
-  .ui.grid .stackable.row .ui.vertical.divider:after {
-    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC');
-  }
-}
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/divider.min.css


File diff suppressed because it is too large
+ 0 - 1776
webgui/static/components/dropdown.css


+ 0 - 4177
webgui/static/components/dropdown.js

@@ -1,4177 +0,0 @@
-/*!
- * # Fomantic-UI - Dropdown
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-'use strict';
-
-$.isFunction = $.isFunction || function(obj) {
-  return typeof obj === "function" && typeof obj.nodeType !== "number";
-};
-
-window = (typeof window != 'undefined' && window.Math == Math)
-  ? window
-  : (typeof self != 'undefined' && self.Math == Math)
-    ? self
-    : Function('return this')()
-;
-
-$.fn.dropdown = function(parameters) {
-  var
-    $allModules    = $(this),
-    $document      = $(document),
-
-    moduleSelector = $allModules.selector || '',
-
-    hasTouch       = ('ontouchstart' in document.documentElement),
-    time           = new Date().getTime(),
-    performance    = [],
-
-    query          = arguments[0],
-    methodInvoked  = (typeof query == 'string'),
-    queryArguments = [].slice.call(arguments, 1),
-    returnedValue
-  ;
-
-  $allModules
-    .each(function(elementIndex) {
-      var
-        settings          = ( $.isPlainObject(parameters) )
-          ? $.extend(true, {}, $.fn.dropdown.settings, parameters)
-          : $.extend({}, $.fn.dropdown.settings),
-
-        className       = settings.className,
-        message         = settings.message,
-        fields          = settings.fields,
-        keys            = settings.keys,
-        metadata        = settings.metadata,
-        namespace       = settings.namespace,
-        regExp          = settings.regExp,
-        selector        = settings.selector,
-        error           = settings.error,
-        templates       = settings.templates,
-
-        eventNamespace  = '.' + namespace,
-        moduleNamespace = 'module-' + namespace,
-
-        $module         = $(this),
-        $context        = $(settings.context),
-        $text           = $module.find(selector.text),
-        $search         = $module.find(selector.search),
-        $sizer          = $module.find(selector.sizer),
-        $input          = $module.find(selector.input),
-        $icon           = $module.find(selector.icon),
-        $clear          = $module.find(selector.clearIcon),
-
-        $combo = ($module.prev().find(selector.text).length > 0)
-          ? $module.prev().find(selector.text)
-          : $module.prev(),
-
-        $menu           = $module.children(selector.menu),
-        $item           = $menu.find(selector.item),
-        $divider        = settings.hideDividers ? $item.parent().children(selector.divider) : $(),
-
-        activated       = false,
-        itemActivated   = false,
-        internalChange  = false,
-        iconClicked     = false,
-        element         = this,
-        instance        = $module.data(moduleNamespace),
-
-        selectActionActive,
-        initialLoad,
-        pageLostFocus,
-        willRefocus,
-        elementNamespace,
-        id,
-        selectObserver,
-        menuObserver,
-        module
-      ;
-
-      module = {
-
-        initialize: function() {
-          module.debug('Initializing dropdown', settings);
-
-          if( module.is.alreadySetup() ) {
-            module.setup.reference();
-          }
-          else {
-            if (settings.ignoreDiacritics && !String.prototype.normalize) {
-              settings.ignoreDiacritics = false;
-              module.error(error.noNormalize, element);
-            }
-
-            module.setup.layout();
-
-            if(settings.values) {
-              module.change.values(settings.values);
-            }
-
-            module.refreshData();
-
-            module.save.defaults();
-            module.restore.selected();
-
-            module.create.id();
-            module.bind.events();
-
-            module.observeChanges();
-            module.instantiate();
-          }
-
-        },
-
-        instantiate: function() {
-          module.verbose('Storing instance of dropdown', module);
-          instance = module;
-          $module
-            .data(moduleNamespace, module)
-          ;
-        },
-
-        destroy: function() {
-          module.verbose('Destroying previous dropdown', $module);
-          module.remove.tabbable();
-          module.remove.active();
-          $menu.transition('stop all');
-          $menu.removeClass(className.visible).addClass(className.hidden);
-          $module
-            .off(eventNamespace)
-            .removeData(moduleNamespace)
-          ;
-          $menu
-            .off(eventNamespace)
-          ;
-          $document
-            .off(elementNamespace)
-          ;
-          module.disconnect.menuObserver();
-          module.disconnect.selectObserver();
-        },
-
-        observeChanges: function() {
-          if('MutationObserver' in window) {
-            selectObserver = new MutationObserver(module.event.select.mutation);
-            menuObserver   = new MutationObserver(module.event.menu.mutation);
-            module.debug('Setting up mutation observer', selectObserver, menuObserver);
-            module.observe.select();
-            module.observe.menu();
-          }
-        },
-
-        disconnect: {
-          menuObserver: function() {
-            if(menuObserver) {
-              menuObserver.disconnect();
-            }
-          },
-          selectObserver: function() {
-            if(selectObserver) {
-              selectObserver.disconnect();
-            }
-          }
-        },
-        observe: {
-          select: function() {
-            if(module.has.input() && selectObserver) {
-              selectObserver.observe($module[0], {
-                childList : true,
-                subtree   : true
-              });
-            }
-          },
-          menu: function() {
-            if(module.has.menu() && menuObserver) {
-              menuObserver.observe($menu[0], {
-                childList : true,
-                subtree   : true
-              });
-            }
-          }
-        },
-
-        create: {
-          id: function() {
-            id = (Math.random().toString(16) + '000000000').substr(2, 8);
-            elementNamespace = '.' + id;
-            module.verbose('Creating unique id for element', id);
-          },
-          userChoice: function(values) {
-            var
-              $userChoices,
-              $userChoice,
-              isUserValue,
-              html
-            ;
-            values = values || module.get.userValues();
-            if(!values) {
-              return false;
-            }
-            values = Array.isArray(values)
-              ? values
-              : [values]
-            ;
-            $.each(values, function(index, value) {
-              if(module.get.item(value) === false) {
-                html         = settings.templates.addition( module.add.variables(message.addResult, value) );
-                $userChoice  = $('<div />')
-                  .html(html)
-                  .attr('data-' + metadata.value, value)
-                  .attr('data-' + metadata.text, value)
-                  .addClass(className.addition)
-                  .addClass(className.item)
-                ;
-                if(settings.hideAdditions) {
-                  $userChoice.addClass(className.hidden);
-                }
-                $userChoices = ($userChoices === undefined)
-                  ? $userChoice
-                  : $userChoices.add($userChoice)
-                ;
-                module.verbose('Creating user choices for value', value, $userChoice);
-              }
-            });
-            return $userChoices;
-          },
-          userLabels: function(value) {
-            var
-              userValues = module.get.userValues()
-            ;
-            if(userValues) {
-              module.debug('Adding user labels', userValues);
-              $.each(userValues, function(index, value) {
-                module.verbose('Adding custom user value');
-                module.add.label(value, value);
-              });
-            }
-          },
-          menu: function() {
-            $menu = $('<div />')
-              .addClass(className.menu)
-              .appendTo($module)
-            ;
-          },
-          sizer: function() {
-            $sizer = $('<span />')
-              .addClass(className.sizer)
-              .insertAfter($search)
-            ;
-          }
-        },
-
-        search: function(query) {
-          query = (query !== undefined)
-            ? query
-            : module.get.query()
-          ;
-          module.verbose('Searching for query', query);
-          if(module.has.minCharacters(query)) {
-            module.filter(query);
-          }
-          else {
-            module.hide();
-          }
-        },
-
-        select: {
-          firstUnfiltered: function() {
-            module.verbose('Selecting first non-filtered element');
-            module.remove.selectedItem();
-            $item
-              .not(selector.unselectable)
-              .not(selector.addition + selector.hidden)
-                .eq(0)
-                .addClass(className.selected)
-            ;
-          },
-          nextAvailable: function($selected) {
-            $selected = $selected.eq(0);
-            var
-              $nextAvailable = $selected.nextAll(selector.item).not(selector.unselectable).eq(0),
-              $prevAvailable = $selected.prevAll(selector.item).not(selector.unselectable).eq(0),
-              hasNext        = ($nextAvailable.length > 0)
-            ;
-            if(hasNext) {
-              module.verbose('Moving selection to', $nextAvailable);
-              $nextAvailable.addClass(className.selected);
-            }
-            else {
-              module.verbose('Moving selection to', $prevAvailable);
-              $prevAvailable.addClass(className.selected);
-            }
-          }
-        },
-
-        setup: {
-          api: function() {
-            var
-              apiSettings = {
-                debug   : settings.debug,
-                urlData : {
-                  value : module.get.value(),
-                  query : module.get.query()
-                },
-                on    : false
-              }
-            ;
-            module.verbose('First request, initializing API');
-            $module
-              .api(apiSettings)
-            ;
-          },
-          layout: function() {
-            if( $module.is('select') ) {
-              module.setup.select();
-              module.setup.returnedObject();
-            }
-            if( !module.has.menu() ) {
-              module.create.menu();
-            }
-            if ( module.is.selection() && module.is.clearable() && !module.has.clearItem() ) {
-              module.verbose('Adding clear icon');
-              $clear = $('<i />')
-                .addClass('remove icon')
-                .insertBefore($text)
-              ;
-            }
-            if( module.is.search() && !module.has.search() ) {
-              module.verbose('Adding search input');
-              $search = $('<input />')
-                .addClass(className.search)
-                .prop('autocomplete', 'off')
-                .insertBefore($text)
-              ;
-            }
-            if( module.is.multiple() && module.is.searchSelection() && !module.has.sizer()) {
-              module.create.sizer();
-            }
-            if(settings.allowTab) {
-              module.set.tabbable();
-            }
-          },
-          select: function() {
-            var
-              selectValues  = module.get.selectValues()
-            ;
-            module.debug('Dropdown initialized on a select', selectValues);
-            if( $module.is('select') ) {
-              $input = $module;
-            }
-            // see if select is placed correctly already
-            if($input.parent(selector.dropdown).length > 0) {
-              module.debug('UI dropdown already exists. Creating dropdown menu only');
-              $module = $input.closest(selector.dropdown);
-              if( !module.has.menu() ) {
-                module.create.menu();
-              }
-              $menu = $module.children(selector.menu);
-              module.setup.menu(selectValues);
-            }
-            else {
-              module.debug('Creating entire dropdown from select');
-              $module = $('<div />')
-                .attr('class', $input.attr('class') )
-                .addClass(className.selection)
-                .addClass(className.dropdown)
-                .html( templates.dropdown(selectValues, fields, settings.preserveHTML, settings.className) )
-                .insertBefore($input)
-              ;
-              if($input.hasClass(className.multiple) && $input.prop('multiple') === false) {
-                module.error(error.missingMultiple);
-                $input.prop('multiple', true);
-              }
-              if($input.is('[multiple]')) {
-                module.set.multiple();
-              }
-              if ($input.prop('disabled')) {
-                module.debug('Disabling dropdown');
-                $module.addClass(className.disabled);
-              }
-              $input
-                .removeAttr('class')
-                .detach()
-                .prependTo($module)
-              ;
-            }
-            module.refresh();
-          },
-          menu: function(values) {
-            $menu.html( templates.menu(values, fields,settings.preserveHTML,settings.className));
-            $item    = $menu.find(selector.item);
-            $divider = settings.hideDividers ? $item.parent().children(selector.divider) : $();
-          },
-          reference: function() {
-            module.debug('Dropdown behavior was called on select, replacing with closest dropdown');
-            // replace module reference
-            $module  = $module.parent(selector.dropdown);
-            instance = $module.data(moduleNamespace);
-            element  = $module.get(0);
-            module.refresh();
-            module.setup.returnedObject();
-          },
-          returnedObject: function() {
-            var
-              $firstModules = $allModules.slice(0, elementIndex),
-              $lastModules  = $allModules.slice(elementIndex + 1)
-            ;
-            // adjust all modules to use correct reference
-            $allModules = $firstModules.add($module).add($lastModules);
-          }
-        },
-
-        refresh: function() {
-          module.refreshSelectors();
-          module.refreshData();
-        },
-
-        refreshItems: function() {
-          $item    = $menu.find(selector.item);
-          $divider = settings.hideDividers ? $item.parent().children(selector.divider) : $();
-        },
-
-        refreshSelectors: function() {
-          module.verbose('Refreshing selector cache');
-          $text   = $module.find(selector.text);
-          $search = $module.find(selector.search);
-          $input  = $module.find(selector.input);
-          $icon   = $module.find(selector.icon);
-          $combo  = ($module.prev().find(selector.text).length > 0)
-            ? $module.prev().find(selector.text)
-            : $module.prev()
-          ;
-          $menu    = $module.children(selector.menu);
-          $item    = $menu.find(selector.item);
-          $divider = settings.hideDividers ? $item.parent().children(selector.divider) : $();
-        },
-
-        refreshData: function() {
-          module.verbose('Refreshing cached metadata');
-          $item
-            .removeData(metadata.text)
-            .removeData(metadata.value)
-          ;
-        },
-
-        clearData: function() {
-          module.verbose('Clearing metadata');
-          $item
-            .removeData(metadata.text)
-            .removeData(metadata.value)
-          ;
-          $module
-            .removeData(metadata.defaultText)
-            .removeData(metadata.defaultValue)
-            .removeData(metadata.placeholderText)
-          ;
-        },
-
-        toggle: function() {
-          module.verbose('Toggling menu visibility');
-          if( !module.is.active() ) {
-            module.show();
-          }
-          else {
-            module.hide();
-          }
-        },
-
-        show: function(callback) {
-          callback = $.isFunction(callback)
-            ? callback
-            : function(){}
-          ;
-          if(!module.can.show() && module.is.remote()) {
-            module.debug('No API results retrieved, searching before show');
-            module.queryRemote(module.get.query(), module.show);
-          }
-          if( module.can.show() && !module.is.active() ) {
-            module.debug('Showing dropdown');
-            if(module.has.message() && !(module.has.maxSelections() || module.has.allResultsFiltered()) ) {
-              module.remove.message();
-            }
-            if(module.is.allFiltered()) {
-              return true;
-            }
-            if(settings.onShow.call(element) !== false) {
-              module.animate.show(function() {
-                if( module.can.click() ) {
-                  module.bind.intent();
-                }
-                if(module.has.search()) {
-                  module.focusSearch();
-                }
-                module.set.visible();
-                callback.call(element);
-              });
-            }
-          }
-        },
-
-        hide: function(callback) {
-          callback = $.isFunction(callback)
-            ? callback
-            : function(){}
-          ;
-          if( module.is.active() && !module.is.animatingOutward() ) {
-            module.debug('Hiding dropdown');
-            if(settings.onHide.call(element) !== false) {
-              module.animate.hide(function() {
-                module.remove.visible();
-                // hidding search focus
-                if ( module.is.focusedOnSearch() ) {
-                  $search.blur();
-                }
-                callback.call(element);
-              });
-            }
-          } else if( module.can.click() ) {
-              module.unbind.intent();
-          }
-        },
-
-        hideOthers: function() {
-          module.verbose('Finding other dropdowns to hide');
-          $allModules
-            .not($module)
-              .has(selector.menu + '.' + className.visible)
-                .dropdown('hide')
-          ;
-        },
-
-        hideMenu: function() {
-          module.verbose('Hiding menu  instantaneously');
-          module.remove.active();
-          module.remove.visible();
-          $menu.transition('hide');
-        },
-
-        hideSubMenus: function() {
-          var
-            $subMenus = $menu.children(selector.item).find(selector.menu)
-          ;
-          module.verbose('Hiding sub menus', $subMenus);
-          $subMenus.transition('hide');
-        },
-
-        bind: {
-          events: function() {
-            if(hasTouch) {
-              module.bind.touchEvents();
-            }
-            module.bind.keyboardEvents();
-            module.bind.inputEvents();
-            module.bind.mouseEvents();
-          },
-          touchEvents: function() {
-            module.debug('Touch device detected binding additional touch events');
-            if( module.is.searchSelection() ) {
-              // do nothing special yet
-            }
-            else if( module.is.single() ) {
-              $module
-                .on('touchstart' + eventNamespace, module.event.test.toggle)
-              ;
-            }
-            $menu
-              .on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter)
-            ;
-          },
-          keyboardEvents: function() {
-            module.verbose('Binding keyboard events');
-            $module
-              .on('keydown' + eventNamespace, module.event.keydown)
-            ;
-            if( module.has.search() ) {
-              $module
-                .on(module.get.inputEvent() + eventNamespace, selector.search, module.event.input)
-              ;
-            }
-            if( module.is.multiple() ) {
-              $document
-                .on('keydown' + elementNamespace, module.event.document.keydown)
-              ;
-            }
-          },
-          inputEvents: function() {
-            module.verbose('Binding input change events');
-            $module
-              .on('change' + eventNamespace, selector.input, module.event.change)
-            ;
-          },
-          mouseEvents: function() {
-            module.verbose('Binding mouse events');
-            if(module.is.multiple()) {
-              $module
-                .on('click'   + eventNamespace, selector.label,  module.event.label.click)
-                .on('click'   + eventNamespace, selector.remove, module.event.remove.click)
-              ;
-            }
-            if( module.is.searchSelection() ) {
-              $module
-                .on('mousedown' + eventNamespace, module.event.mousedown)
-                .on('mouseup'   + eventNamespace, module.event.mouseup)
-                .on('mousedown' + eventNamespace, selector.menu,   module.event.menu.mousedown)
-                .on('mouseup'   + eventNamespace, selector.menu,   module.event.menu.mouseup)
-                .on('click'     + eventNamespace, selector.icon,   module.event.icon.click)
-                .on('click'     + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
-                .on('focus'     + eventNamespace, selector.search, module.event.search.focus)
-                .on('click'     + eventNamespace, selector.search, module.event.search.focus)
-                .on('blur'      + eventNamespace, selector.search, module.event.search.blur)
-                .on('click'     + eventNamespace, selector.text,   module.event.text.focus)
-              ;
-              if(module.is.multiple()) {
-                $module
-                  .on('click' + eventNamespace, module.event.click)
-                ;
-              }
-            }
-            else {
-              if(settings.on == 'click') {
-                $module
-                  .on('click' + eventNamespace, selector.icon, module.event.icon.click)
-                  .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)
-                ;
-              }
-              $module
-                .on('mousedown' + eventNamespace, module.event.mousedown)
-                .on('mouseup'   + eventNamespace, module.event.mouseup)
-                .on('focus'     + eventNamespace, module.event.focus)
-                .on('click'     + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
-              ;
-              if(module.has.menuSearch() ) {
-                $module
-                  .on('blur' + eventNamespace, selector.search, module.event.search.blur)
-                ;
-              }
-              else {
-                $module
-                  .on('blur' + eventNamespace, module.event.blur)
-                ;
-              }
-            }
-            $menu
-              .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter)
-              .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave)
-              .on('click'      + eventNamespace, selector.item, module.event.item.click)
-            ;
-          },
-          intent: function() {
-            module.verbose('Binding hide intent event to document');
-            if(hasTouch) {
-              $document
-                .on('touchstart' + elementNamespace, module.event.test.touch)
-                .on('touchmove'  + elementNamespace, module.event.test.touch)
-              ;
-            }
-            $document
-              .on('click' + elementNamespace, module.event.test.hide)
-            ;
-          }
-        },
-
-        unbind: {
-          intent: function() {
-            module.verbose('Removing hide intent event from document');
-            if(hasTouch) {
-              $document
-                .off('touchstart' + elementNamespace)
-                .off('touchmove' + elementNamespace)
-              ;
-            }
-            $document
-              .off('click' + elementNamespace)
-            ;
-          }
-        },
-
-        filter: function(query) {
-          var
-            searchTerm = (query !== undefined)
-              ? query
-              : module.get.query(),
-            afterFiltered = function() {
-              if(module.is.multiple()) {
-                module.filterActive();
-              }
-              if(query || (!query && module.get.activeItem().length == 0)) {
-                module.select.firstUnfiltered();
-              }
-              if( module.has.allResultsFiltered() ) {
-                if( settings.onNoResults.call(element, searchTerm) ) {
-                  if(settings.allowAdditions) {
-                    if(settings.hideAdditions) {
-                      module.verbose('User addition with no menu, setting empty style');
-                      module.set.empty();
-                      module.hideMenu();
-                    }
-                  }
-                  else {
-                    module.verbose('All items filtered, showing message', searchTerm);
-                    module.add.message(message.noResults);
-                  }
-                }
-                else {
-                  module.verbose('All items filtered, hiding dropdown', searchTerm);
-                  module.hideMenu();
-                }
-              }
-              else {
-                module.remove.empty();
-                module.remove.message();
-              }
-              if(settings.allowAdditions) {
-                module.add.userSuggestion(module.escape.htmlEntities(query));
-              }
-              if(module.is.searchSelection() && module.can.show() && module.is.focusedOnSearch() ) {
-                module.show();
-              }
-            }
-          ;
-          if(settings.useLabels && module.has.maxSelections()) {
-            return;
-          }
-          if(settings.apiSettings) {
-            if( module.can.useAPI() ) {
-              module.queryRemote(searchTerm, function() {
-                if(settings.filterRemoteData) {
-                  module.filterItems(searchTerm);
-                }
-                var preSelected = $input.val();
-                if(!Array.isArray(preSelected)) {
-                    preSelected = preSelected && preSelected!=="" ? preSelected.split(settings.delimiter) : [];
-                }
-                $.each(preSelected,function(index,value){
-                  $item.filter('[data-value="'+value+'"]')
-                      .addClass(className.filtered)
-                  ;
-                });
-                afterFiltered();
-              });
-            }
-            else {
-              module.error(error.noAPI);
-            }
-          }
-          else {
-            module.filterItems(searchTerm);
-            afterFiltered();
-          }
-        },
-
-        queryRemote: function(query, callback) {
-          var
-            apiSettings = {
-              errorDuration : false,
-              cache         : 'local',
-              throttle      : settings.throttle,
-              urlData       : {
-                query: query
-              },
-              onError: function() {
-                module.add.message(message.serverError);
-                callback();
-              },
-              onFailure: function() {
-                module.add.message(message.serverError);
-                callback();
-              },
-              onSuccess : function(response) {
-                var
-                  values          = response[fields.remoteValues]
-                ;
-                if (!Array.isArray(values)){
-                    values = [];
-                }
-                module.remove.message();
-                module.setup.menu({
-                  values: values
-                });
-
-                if(values.length===0 && !settings.allowAdditions) {
-                  module.add.message(message.noResults);
-                }
-                callback();
-              }
-            }
-          ;
-          if( !$module.api('get request') ) {
-            module.setup.api();
-          }
-          apiSettings = $.extend(true, {}, apiSettings, settings.apiSettings);
-          $module
-            .api('setting', apiSettings)
-            .api('query')
-          ;
-        },
-
-        filterItems: function(query) {
-          var
-            searchTerm = module.remove.diacritics(query !== undefined
-              ? query
-              : module.get.query()
-            ),
-            results          =  null,
-            escapedTerm      = module.escape.string(searchTerm),
-            beginsWithRegExp = new RegExp('^' + escapedTerm, 'igm')
-          ;
-          // avoid loop if we're matching nothing
-          if( module.has.query() ) {
-            results = [];
-
-            module.verbose('Searching for matching values', searchTerm);
-            $item
-              .each(function(){
-                var
-                  $choice = $(this),
-                  text,
-                  value
-                ;
-                if(settings.match === 'both' || settings.match === 'text') {
-                  text = module.remove.diacritics(String(module.get.choiceText($choice, false)));
-                  if(text.search(beginsWithRegExp) !== -1) {
-                    results.push(this);
-                    return true;
-                  }
-                  else if (settings.fullTextSearch === 'exact' && module.exactSearch(searchTerm, text)) {
-                    results.push(this);
-                    return true;
-                  }
-                  else if (settings.fullTextSearch === true && module.fuzzySearch(searchTerm, text)) {
-                    results.push(this);
-                    return true;
-                  }
-                }
-                if(settings.match === 'both' || settings.match === 'value') {
-                  value = module.remove.diacritics(String(module.get.choiceValue($choice, text)));
-                  if(value.search(beginsWithRegExp) !== -1) {
-                    results.push(this);
-                    return true;
-                  }
-                  else if (settings.fullTextSearch === 'exact' && module.exactSearch(searchTerm, value)) {
-                    results.push(this);
-                    return true;
-                  }
-                  else if (settings.fullTextSearch === true && module.fuzzySearch(searchTerm, value)) {
-                    results.push(this);
-                    return true;
-                  }
-                }
-              })
-            ;
-          }
-          module.debug('Showing only matched items', searchTerm);
-          module.remove.filteredItem();
-          if(results) {
-            $item
-              .not(results)
-              .addClass(className.filtered)
-            ;
-          }
-
-          if(!module.has.query()) {
-            $divider
-              .removeClass(className.hidden);
-          } else if(settings.hideDividers === true) {
-            $divider
-              .addClass(className.hidden);
-          } else if(settings.hideDividers === 'empty') {
-            $divider
-              .removeClass(className.hidden)
-              .filter(function() {
-                // First find the last divider in this divider group
-                // Dividers which are direct siblings are considered a group
-                var lastDivider = $(this).nextUntil(selector.item);
-
-                return (lastDivider.length ? lastDivider : $(this))
-                // Count all non-filtered items until the next divider (or end of the dropdown)
-                  .nextUntil(selector.divider)
-                  .filter(selector.item + ":not(." + className.filtered + ")")
-                  // Hide divider if no items are found
-                  .length === 0;
-              })
-              .addClass(className.hidden);
-          }
-        },
-
-        fuzzySearch: function(query, term) {
-          var
-            termLength  = term.length,
-            queryLength = query.length
-          ;
-          query = query.toLowerCase();
-          term  = term.toLowerCase();
-          if(queryLength > termLength) {
-            return false;
-          }
-          if(queryLength === termLength) {
-            return (query === term);
-          }
-          search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {
-            var
-              queryCharacter = query.charCodeAt(characterIndex)
-            ;
-            while(nextCharacterIndex < termLength) {
-              if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) {
-                continue search;
-              }
-            }
-            return false;
-          }
-          return true;
-        },
-        exactSearch: function (query, term) {
-          query = query.toLowerCase();
-          term  = term.toLowerCase();
-          return term.indexOf(query) > -1;
-
-        },
-        filterActive: function() {
-          if(settings.useLabels) {
-            $item.filter('.' + className.active)
-              .addClass(className.filtered)
-            ;
-          }
-        },
-
-        focusSearch: function(skipHandler) {
-          if( module.has.search() && !module.is.focusedOnSearch() ) {
-            if(skipHandler) {
-              $module.off('focus' + eventNamespace, selector.search);
-              $search.focus();
-              $module.on('focus'  + eventNamespace, selector.search, module.event.search.focus);
-            }
-            else {
-              $search.focus();
-            }
-          }
-        },
-
-        blurSearch: function() {
-          if( module.has.search() ) {
-            $search.blur();
-          }
-        },
-
-        forceSelection: function() {
-          var
-            $currentlySelected = $item.not(className.filtered).filter('.' + className.selected).eq(0),
-            $activeItem        = $item.not(className.filtered).filter('.' + className.active).eq(0),
-            $selectedItem      = ($currentlySelected.length > 0)
-              ? $currentlySelected
-              : $activeItem,
-            hasSelected = ($selectedItem.length > 0)
-          ;
-          if(hasSelected && !module.is.multiple()) {
-            module.debug('Forcing partial selection to selected item', $selectedItem);
-            module.event.item.click.call($selectedItem, {}, true);
-          }
-          else {
-            if(settings.allowAdditions) {
-              module.set.selected(module.get.query());
-              module.remove.searchTerm();
-            }
-            else {
-              module.remove.searchTerm();
-            }
-          }
-        },
-
-        change: {
-          values: function(values) {
-            if(!settings.allowAdditions) {
-              module.clear();
-            }
-            module.debug('Creating dropdown with specified values', values);
-            module.setup.menu({values: values});
-            $.each(values, function(index, item) {
-              if(item.selected == true) {
-                module.debug('Setting initial selection to', item[fields.value]);
-                module.set.selected(item[fields.value]);
-                if(!module.is.multiple()) {
-                  return false;
-                }
-              }
-            });
-          }
-        },
-
-        event: {
-          change: function() {
-            if(!internalChange) {
-              module.debug('Input changed, updating selection');
-              module.set.selected();
-            }
-          },
-          focus: function() {
-            if(settings.showOnFocus && !activated && module.is.hidden() && !pageLostFocus) {
-              module.show();
-            }
-          },
-          blur: function(event) {
-            pageLostFocus = (document.activeElement === this);
-            if(!activated && !pageLostFocus) {
-              module.remove.activeLabel();
-              module.hide();
-            }
-          },
-          mousedown: function() {
-            if(module.is.searchSelection()) {
-              // prevent menu hiding on immediate re-focus
-              willRefocus = true;
-            }
-            else {
-              // prevents focus callback from occurring on mousedown
-              activated = true;
-            }
-          },
-          mouseup: function() {
-            if(module.is.searchSelection()) {
-              // prevent menu hiding on immediate re-focus
-              willRefocus = false;
-            }
-            else {
-              activated = false;
-            }
-          },
-          click: function(event) {
-            var
-              $target = $(event.target)
-            ;
-            // focus search
-            if($target.is($module)) {
-              if(!module.is.focusedOnSearch()) {
-                module.focusSearch();
-              }
-              else {
-                module.show();
-              }
-            }
-          },
-          search: {
-            focus: function(event) {
-              activated = true;
-              if(module.is.multiple()) {
-                module.remove.activeLabel();
-              }
-              if(settings.showOnFocus || (event.type !== 'focus' && event.type !== 'focusin')) {
-                module.search();
-              }
-            },
-            blur: function(event) {
-              pageLostFocus = (document.activeElement === this);
-              if(module.is.searchSelection() && !willRefocus) {
-                if(!itemActivated && !pageLostFocus) {
-                  if(settings.forceSelection) {
-                    module.forceSelection();
-                  }
-                  module.hide();
-                }
-              }
-              willRefocus = false;
-            }
-          },
-          clearIcon: {
-            click: function(event) {
-              module.clear();
-              if(module.is.searchSelection()) {
-                module.remove.searchTerm();
-              }
-              module.hide();
-              event.stopPropagation();
-            }
-          },
-          icon: {
-            click: function(event) {
-              iconClicked=true;
-              if(module.has.search()) {
-                if(!module.is.active()) {
-                    if(settings.showOnFocus){
-                      module.focusSearch();
-                    } else {
-                      module.toggle();
-                    }
-                } else {
-                  module.blurSearch();
-                }
-              } else {
-                module.toggle();
-              }
-            }
-          },
-          text: {
-            focus: function(event) {
-              activated = true;
-              module.focusSearch();
-            }
-          },
-          input: function(event) {
-            if(module.is.multiple() || module.is.searchSelection()) {
-              module.set.filtered();
-            }
-            clearTimeout(module.timer);
-            module.timer = setTimeout(module.search, settings.delay.search);
-          },
-          label: {
-            click: function(event) {
-              var
-                $label        = $(this),
-                $labels       = $module.find(selector.label),
-                $activeLabels = $labels.filter('.' + className.active),
-                $nextActive   = $label.nextAll('.' + className.active),
-                $prevActive   = $label.prevAll('.' + className.active),
-                $range = ($nextActive.length > 0)
-                  ? $label.nextUntil($nextActive).add($activeLabels).add($label)
-                  : $label.prevUntil($prevActive).add($activeLabels).add($label)
-              ;
-              if(event.shiftKey) {
-                $activeLabels.removeClass(className.active);
-                $range.addClass(className.active);
-              }
-              else if(event.ctrlKey) {
-                $label.toggleClass(className.active);
-              }
-              else {
-                $activeLabels.removeClass(className.active);
-                $label.addClass(className.active);
-              }
-              settings.onLabelSelect.apply(this, $labels.filter('.' + className.active));
-            }
-          },
-          remove: {
-            click: function() {
-              var
-                $label = $(this).parent()
-              ;
-              if( $label.hasClass(className.active) ) {
-                // remove all selected labels
-                module.remove.activeLabels();
-              }
-              else {
-                // remove this label only
-                module.remove.activeLabels( $label );
-              }
-            }
-          },
-          test: {
-            toggle: function(event) {
-              var
-                toggleBehavior = (module.is.multiple())
-                  ? module.show
-                  : module.toggle
-              ;
-              if(module.is.bubbledLabelClick(event) || module.is.bubbledIconClick(event)) {
-                return;
-              }
-              if( module.determine.eventOnElement(event, toggleBehavior) ) {
-                event.preventDefault();
-              }
-            },
-            touch: function(event) {
-              module.determine.eventOnElement(event, function() {
-                if(event.type == 'touchstart') {
-                  module.timer = setTimeout(function() {
-                    module.hide();
-                  }, settings.delay.touch);
-                }
-                else if(event.type == 'touchmove') {
-                  clearTimeout(module.timer);
-                }
-              });
-              event.stopPropagation();
-            },
-            hide: function(event) {
-              if(module.determine.eventInModule(event, module.hide)){
-                if(element.id && $(event.target).attr('for') === element.id){
-                  event.preventDefault();
-                }
-              }
-            }
-          },
-          select: {
-            mutation: function(mutations) {
-              module.debug('<select> modified, recreating menu');
-              if(module.is.selectMutation(mutations)) {
-                module.disconnect.selectObserver();
-                module.refresh();
-                module.setup.select();
-                module.set.selected();
-                module.observe.select();
-              }
-            }
-          },
-          menu: {
-            mutation: function(mutations) {
-              var
-                mutation   = mutations[0],
-                $addedNode = mutation.addedNodes
-                  ? $(mutation.addedNodes[0])
-                  : $(false),
-                $removedNode = mutation.removedNodes
-                  ? $(mutation.removedNodes[0])
-                  : $(false),
-                $changedNodes  = $addedNode.add($removedNode),
-                isUserAddition = $changedNodes.is(selector.addition) || $changedNodes.closest(selector.addition).length > 0,
-                isMessage      = $changedNodes.is(selector.message)  || $changedNodes.closest(selector.message).length > 0
-              ;
-              if(isUserAddition || isMessage) {
-                module.debug('Updating item selector cache');
-                module.refreshItems();
-              }
-              else {
-                module.debug('Menu modified, updating selector cache');
-                module.refresh();
-              }
-            },
-            mousedown: function() {
-              itemActivated = true;
-            },
-            mouseup: function() {
-              itemActivated = false;
-            }
-          },
-          item: {
-            mouseenter: function(event) {
-              var
-                $target        = $(event.target),
-                $item          = $(this),
-                $subMenu       = $item.children(selector.menu),
-                $otherMenus    = $item.siblings(selector.item).children(selector.menu),
-                hasSubMenu     = ($subMenu.length > 0),
-                isBubbledEvent = ($subMenu.find($target).length > 0)
-              ;
-              if( !isBubbledEvent && hasSubMenu ) {
-                clearTimeout(module.itemTimer);
-                module.itemTimer = setTimeout(function() {
-                  module.verbose('Showing sub-menu', $subMenu);
-                  $.each($otherMenus, function() {
-                    module.animate.hide(false, $(this));
-                  });
-                  module.animate.show(false, $subMenu);
-                }, settings.delay.show);
-                event.preventDefault();
-              }
-            },
-            mouseleave: function(event) {
-              var
-                $subMenu = $(this).children(selector.menu)
-              ;
-              if($subMenu.length > 0) {
-                clearTimeout(module.itemTimer);
-                module.itemTimer = setTimeout(function() {
-                  module.verbose('Hiding sub-menu', $subMenu);
-                  module.animate.hide(false, $subMenu);
-                }, settings.delay.hide);
-              }
-            },
-            click: function (event, skipRefocus) {
-              var
-                $choice        = $(this),
-                $target        = (event)
-                  ? $(event.target)
-                  : $(''),
-                $subMenu       = $choice.find(selector.menu),
-                text           = module.get.choiceText($choice),
-                value          = module.get.choiceValue($choice, text),
-                hasSubMenu     = ($subMenu.length > 0),
-                isBubbledEvent = ($subMenu.find($target).length > 0)
-              ;
-              // prevents IE11 bug where menu receives focus even though `tabindex=-1`
-              if (document.activeElement.tagName.toLowerCase() !== 'input') {
-                $(document.activeElement).blur();
-              }
-              if(!isBubbledEvent && (!hasSubMenu || settings.allowCategorySelection)) {
-                if(module.is.searchSelection()) {
-                  if(settings.allowAdditions) {
-                    module.remove.userAddition();
-                  }
-                  module.remove.searchTerm();
-                  if(!module.is.focusedOnSearch() && !(skipRefocus == true)) {
-                    module.focusSearch(true);
-                  }
-                }
-                if(!settings.useLabels) {
-                  module.remove.filteredItem();
-                  module.set.scrollPosition($choice);
-                }
-                module.determine.selectAction.call(this, text, value);
-              }
-            }
-          },
-
-          document: {
-            // label selection should occur even when element has no focus
-            keydown: function(event) {
-              var
-                pressedKey    = event.which,
-                isShortcutKey = module.is.inObject(pressedKey, keys)
-              ;
-              if(isShortcutKey) {
-                var
-                  $label            = $module.find(selector.label),
-                  $activeLabel      = $label.filter('.' + className.active),
-                  activeValue       = $activeLabel.data(metadata.value),
-                  labelIndex        = $label.index($activeLabel),
-                  labelCount        = $label.length,
-                  hasActiveLabel    = ($activeLabel.length > 0),
-                  hasMultipleActive = ($activeLabel.length > 1),
-                  isFirstLabel      = (labelIndex === 0),
-                  isLastLabel       = (labelIndex + 1 == labelCount),
-                  isSearch          = module.is.searchSelection(),
-                  isFocusedOnSearch = module.is.focusedOnSearch(),
-                  isFocused         = module.is.focused(),
-                  caretAtStart      = (isFocusedOnSearch && module.get.caretPosition(false) === 0),
-                  isSelectedSearch  = (caretAtStart && module.get.caretPosition(true) !== 0),
-                  $nextLabel
-                ;
-                if(isSearch && !hasActiveLabel && !isFocusedOnSearch) {
-                  return;
-                }
-
-                if(pressedKey == keys.leftArrow) {
-                  // activate previous label
-                  if((isFocused || caretAtStart) && !hasActiveLabel) {
-                    module.verbose('Selecting previous label');
-                    $label.last().addClass(className.active);
-                  }
-                  else if(hasActiveLabel) {
-                    if(!event.shiftKey) {
-                      module.verbose('Selecting previous label');
-                      $label.removeClass(className.active);
-                    }
-                    else {
-                      module.verbose('Adding previous label to selection');
-                    }
-                    if(isFirstLabel && !hasMultipleActive) {
-                      $activeLabel.addClass(className.active);
-                    }
-                    else {
-                      $activeLabel.prev(selector.siblingLabel)
-                        .addClass(className.active)
-                        .end()
-                      ;
-                    }
-                    event.preventDefault();
-                  }
-                }
-                else if(pressedKey == keys.rightArrow) {
-                  // activate first label
-                  if(isFocused && !hasActiveLabel) {
-                    $label.first().addClass(className.active);
-                  }
-                  // activate next label
-                  if(hasActiveLabel) {
-                    if(!event.shiftKey) {
-                      module.verbose('Selecting next label');
-                      $label.removeClass(className.active);
-                    }
-                    else {
-                      module.verbose('Adding next label to selection');
-                    }
-                    if(isLastLabel) {
-                      if(isSearch) {
-                        if(!isFocusedOnSearch) {
-                          module.focusSearch();
-                        }
-                        else {
-                          $label.removeClass(className.active);
-                        }
-                      }
-                      else if(hasMultipleActive) {
-                        $activeLabel.next(selector.siblingLabel).addClass(className.active);
-                      }
-                      else {
-                        $activeLabel.addClass(className.active);
-                      }
-                    }
-                    else {
-                      $activeLabel.next(selector.siblingLabel).addClass(className.active);
-                    }
-                    event.preventDefault();
-                  }
-                }
-                else if(pressedKey == keys.deleteKey || pressedKey == keys.backspace) {
-                  if(hasActiveLabel) {
-                    module.verbose('Removing active labels');
-                    if(isLastLabel) {
-                      if(isSearch && !isFocusedOnSearch) {
-                        module.focusSearch();
-                      }
-                    }
-                    $activeLabel.last().next(selector.siblingLabel).addClass(className.active);
-                    module.remove.activeLabels($activeLabel);
-                    event.preventDefault();
-                  }
-                  else if(caretAtStart && !isSelectedSearch && !hasActiveLabel && pressedKey == keys.backspace) {
-                    module.verbose('Removing last label on input backspace');
-                    $activeLabel = $label.last().addClass(className.active);
-                    module.remove.activeLabels($activeLabel);
-                  }
-                }
-                else {
-                  $activeLabel.removeClass(className.active);
-                }
-              }
-            }
-          },
-
-          keydown: function(event) {
-            var
-              pressedKey    = event.which,
-              isShortcutKey = module.is.inObject(pressedKey, keys)
-            ;
-            if(isShortcutKey) {
-              var
-                $currentlySelected = $item.not(selector.unselectable).filter('.' + className.selected).eq(0),
-                $activeItem        = $menu.children('.' + className.active).eq(0),
-                $selectedItem      = ($currentlySelected.length > 0)
-                  ? $currentlySelected
-                  : $activeItem,
-                $visibleItems = ($selectedItem.length > 0)
-                  ? $selectedItem.siblings(':not(.' + className.filtered +')').addBack()
-                  : $menu.children(':not(.' + className.filtered +')'),
-                $subMenu              = $selectedItem.children(selector.menu),
-                $parentMenu           = $selectedItem.closest(selector.menu),
-                inVisibleMenu         = ($parentMenu.hasClass(className.visible) || $parentMenu.hasClass(className.animating) || $parentMenu.parent(selector.menu).length > 0),
-                hasSubMenu            = ($subMenu.length> 0),
-                hasSelectedItem       = ($selectedItem.length > 0),
-                selectedIsSelectable  = ($selectedItem.not(selector.unselectable).length > 0),
-                delimiterPressed      = (pressedKey == keys.delimiter && settings.allowAdditions && module.is.multiple()),
-                isAdditionWithoutMenu = (settings.allowAdditions && settings.hideAdditions && (pressedKey == keys.enter || delimiterPressed) && selectedIsSelectable),
-                $nextItem,
-                isSubMenuItem,
-                newIndex
-              ;
-              // allow selection with menu closed
-              if(isAdditionWithoutMenu) {
-                module.verbose('Selecting item from keyboard shortcut', $selectedItem);
-                module.event.item.click.call($selectedItem, event);
-                if(module.is.searchSelection()) {
-                  module.remove.searchTerm();
-                }
-                if(module.is.multiple()){
-                    event.preventDefault();
-                }
-              }
-
-              // visible menu keyboard shortcuts
-              if( module.is.visible() ) {
-
-                // enter (select or open sub-menu)
-                if(pressedKey == keys.enter || delimiterPressed) {
-                  if(pressedKey == keys.enter && hasSelectedItem && hasSubMenu && !settings.allowCategorySelection) {
-                    module.verbose('Pressed enter on unselectable category, opening sub menu');
-                    pressedKey = keys.rightArrow;
-                  }
-                  else if(selectedIsSelectable) {
-                    module.verbose('Selecting item from keyboard shortcut', $selectedItem);
-                    module.event.item.click.call($selectedItem, event);
-                    if(module.is.searchSelection()) {
-                      module.remove.searchTerm();
-                      if(module.is.multiple()) {
-                          $search.focus();
-                      }
-                    }
-                  }
-                  event.preventDefault();
-                }
-
-                // sub-menu actions
-                if(hasSelectedItem) {
-
-                  if(pressedKey == keys.leftArrow) {
-
-                    isSubMenuItem = ($parentMenu[0] !== $menu[0]);
-
-                    if(isSubMenuItem) {
-                      module.verbose('Left key pressed, closing sub-menu');
-                      module.animate.hide(false, $parentMenu);
-                      $selectedItem
-                        .removeClass(className.selected)
-                      ;
-                      $parentMenu
-                        .closest(selector.item)
-                          .addClass(className.selected)
-                      ;
-                      event.preventDefault();
-                    }
-                  }
-
-                  // right arrow (show sub-menu)
-                  if(pressedKey == keys.rightArrow) {
-                    if(hasSubMenu) {
-                      module.verbose('Right key pressed, opening sub-menu');
-                      module.animate.show(false, $subMenu);
-                      $selectedItem
-                        .removeClass(className.selected)
-                      ;
-                      $subMenu
-                        .find(selector.item).eq(0)
-                          .addClass(className.selected)
-                      ;
-                      event.preventDefault();
-                    }
-                  }
-                }
-
-                // up arrow (traverse menu up)
-                if(pressedKey == keys.upArrow) {
-                  $nextItem = (hasSelectedItem && inVisibleMenu)
-                    ? $selectedItem.prevAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)
-                    : $item.eq(0)
-                  ;
-                  if($visibleItems.index( $nextItem ) < 0) {
-                    module.verbose('Up key pressed but reached top of current menu');
-                    event.preventDefault();
-                    return;
-                  }
-                  else {
-                    module.verbose('Up key pressed, changing active item');
-                    $selectedItem
-                      .removeClass(className.selected)
-                    ;
-                    $nextItem
-                      .addClass(className.selected)
-                    ;
-                    module.set.scrollPosition($nextItem);
-                    if(settings.selectOnKeydown && module.is.single()) {
-                      module.set.selectedItem($nextItem);
-                    }
-                  }
-                  event.preventDefault();
-                }
-
-                // down arrow (traverse menu down)
-                if(pressedKey == keys.downArrow) {
-                  $nextItem = (hasSelectedItem && inVisibleMenu)
-                    ? $nextItem = $selectedItem.nextAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)
-                    : $item.eq(0)
-                  ;
-                  if($nextItem.length === 0) {
-                    module.verbose('Down key pressed but reached bottom of current menu');
-                    event.preventDefault();
-                    return;
-                  }
-                  else {
-                    module.verbose('Down key pressed, changing active item');
-                    $item
-                      .removeClass(className.selected)
-                    ;
-                    $nextItem
-                      .addClass(className.selected)
-                    ;
-                    module.set.scrollPosition($nextItem);
-                    if(settings.selectOnKeydown && module.is.single()) {
-                      module.set.selectedItem($nextItem);
-                    }
-                  }
-                  event.preventDefault();
-                }
-
-                // page down (show next page)
-                if(pressedKey == keys.pageUp) {
-                  module.scrollPage('up');
-                  event.preventDefault();
-                }
-                if(pressedKey == keys.pageDown) {
-                  module.scrollPage('down');
-                  event.preventDefault();
-                }
-
-                // escape (close menu)
-                if(pressedKey == keys.escape) {
-                  module.verbose('Escape key pressed, closing dropdown');
-                  module.hide();
-                }
-
-              }
-              else {
-                // delimiter key
-                if(delimiterPressed) {
-                  event.preventDefault();
-                }
-                // down arrow (open menu)
-                if(pressedKey == keys.downArrow && !module.is.visible()) {
-                  module.verbose('Down key pressed, showing dropdown');
-                  module.show();
-                  event.preventDefault();
-                }
-              }
-            }
-            else {
-              if( !module.has.search() ) {
-                module.set.selectedLetter( String.fromCharCode(pressedKey) );
-              }
-            }
-          }
-        },
-
-        trigger: {
-          change: function() {
-            var
-              events       = document.createEvent('HTMLEvents'),
-              inputElement = $input[0]
-            ;
-            if(inputElement) {
-              module.verbose('Triggering native change event');
-              events.initEvent('change', true, false);
-              inputElement.dispatchEvent(events);
-            }
-          }
-        },
-
-        determine: {
-          selectAction: function(text, value) {
-            selectActionActive = true;
-            module.verbose('Determining action', settings.action);
-            if( $.isFunction( module.action[settings.action] ) ) {
-              module.verbose('Triggering preset action', settings.action, text, value);
-              module.action[ settings.action ].call(element, text, value, this);
-            }
-            else if( $.isFunction(settings.action) ) {
-              module.verbose('Triggering user action', settings.action, text, value);
-              settings.action.call(element, text, value, this);
-            }
-            else {
-              module.error(error.action, settings.action);
-            }
-            selectActionActive = false;
-          },
-          eventInModule: function(event, callback) {
-            var
-              $target    = $(event.target),
-              inDocument = ($target.closest(document.documentElement).length > 0),
-              inModule   = ($target.closest($module).length > 0)
-            ;
-            callback = $.isFunction(callback)
-              ? callback
-              : function(){}
-            ;
-            if(inDocument && !inModule) {
-              module.verbose('Triggering event', callback);
-              callback();
-              return true;
-            }
-            else {
-              module.verbose('Event occurred in dropdown, canceling callback');
-              return false;
-            }
-          },
-          eventOnElement: function(event, callback) {
-            var
-              $target      = $(event.target),
-              $label       = $target.closest(selector.siblingLabel),
-              inVisibleDOM = document.body.contains(event.target),
-              notOnLabel   = ($module.find($label).length === 0 || !(module.is.multiple() && settings.useLabels)),
-              notInMenu    = ($target.closest($menu).length === 0)
-            ;
-            callback = $.isFunction(callback)
-              ? callback
-              : function(){}
-            ;
-            if(inVisibleDOM && notOnLabel && notInMenu) {
-              module.verbose('Triggering event', callback);
-              callback();
-              return true;
-            }
-            else {
-              module.verbose('Event occurred in dropdown menu, canceling callback');
-              return false;
-            }
-          }
-        },
-
-        action: {
-
-          nothing: function() {},
-
-          activate: function(text, value, element) {
-            value = (value !== undefined)
-              ? value
-              : text
-            ;
-            if( module.can.activate( $(element) ) ) {
-              module.set.selected(value, $(element));
-              if(!module.is.multiple()) {
-                module.hideAndClear();
-              }
-            }
-          },
-
-          select: function(text, value, element) {
-            value = (value !== undefined)
-              ? value
-              : text
-            ;
-            if( module.can.activate( $(element) ) ) {
-              module.set.value(value, text, $(element));
-              if(!module.is.multiple()) {
-                module.hideAndClear();
-              }
-            }
-          },
-
-          combo: function(text, value, element) {
-            value = (value !== undefined)
-              ? value
-              : text
-            ;
-            module.set.selected(value, $(element));
-            module.hideAndClear();
-          },
-
-          hide: function(text, value, element) {
-            module.set.value(value, text, $(element));
-            module.hideAndClear();
-          }
-
-        },
-
-        get: {
-          id: function() {
-            return id;
-          },
-          defaultText: function() {
-            return $module.data(metadata.defaultText);
-          },
-          defaultValue: function() {
-            return $module.data(metadata.defaultValue);
-          },
-          placeholderText: function() {
-            if(settings.placeholder != 'auto' && typeof settings.placeholder == 'string') {
-              return settings.placeholder;
-            }
-            return $module.data(metadata.placeholderText) || '';
-          },
-          text: function() {
-            return $text.text();
-          },
-          query: function() {
-            return $.trim($search.val());
-          },
-          searchWidth: function(value) {
-            value = (value !== undefined)
-              ? value
-              : $search.val()
-            ;
-            $sizer.text(value);
-            // prevent rounding issues
-            return Math.ceil( $sizer.width() + 1);
-          },
-          selectionCount: function() {
-            var
-              values = module.get.values(),
-              count
-            ;
-            count = ( module.is.multiple() )
-              ? Array.isArray(values)
-                ? values.length
-                : 0
-              : (module.get.value() !== '')
-                ? 1
-                : 0
-            ;
-            return count;
-          },
-          transition: function($subMenu) {
-            return (settings.transition == 'auto')
-              ? module.is.upward($subMenu)
-                ? 'slide up'
-                : 'slide down'
-              : settings.transition
-            ;
-          },
-          userValues: function() {
-            var
-              values = module.get.values()
-            ;
-            if(!values) {
-              return false;
-            }
-            values = Array.isArray(values)
-              ? values
-              : [values]
-            ;
-            return $.grep(values, function(value) {
-              return (module.get.item(value) === false);
-            });
-          },
-          uniqueArray: function(array) {
-            return $.grep(array, function (value, index) {
-                return $.inArray(value, array) === index;
-            });
-          },
-          caretPosition: function(returnEndPos) {
-            var
-              input = $search.get(0),
-              range,
-              rangeLength
-            ;
-            if(returnEndPos && 'selectionEnd' in input){
-              return input.selectionEnd;
-            }
-            else if(!returnEndPos && 'selectionStart' in input) {
-              return input.selectionStart;
-            }
-            if (document.selection) {
-              input.focus();
-              range       = document.selection.createRange();
-              rangeLength = range.text.length;
-              if(returnEndPos) {
-                return rangeLength;
-              }
-              range.moveStart('character', -input.value.length);
-              return range.text.length - rangeLength;
-            }
-          },
-          value: function() {
-            var
-              value = ($input.length > 0)
-                ? $input.val()
-                : $module.data(metadata.value),
-              isEmptyMultiselect = (Array.isArray(value) && value.length === 1 && value[0] === '')
-            ;
-            // prevents placeholder element from being selected when multiple
-            return (value === undefined || isEmptyMultiselect)
-              ? ''
-              : value
-            ;
-          },
-          values: function() {
-            var
-              value = module.get.value()
-            ;
-            if(value === '') {
-              return '';
-            }
-            return ( !module.has.selectInput() && module.is.multiple() )
-              ? (typeof value == 'string') // delimited string
-                ? module.escape.htmlEntities(value).split(settings.delimiter)
-                : ''
-              : value
-            ;
-          },
-          remoteValues: function() {
-            var
-              values = module.get.values(),
-              remoteValues = false
-            ;
-            if(values) {
-              if(typeof values == 'string') {
-                values = [values];
-              }
-              $.each(values, function(index, value) {
-                var
-                  name = module.read.remoteData(value)
-                ;
-                module.verbose('Restoring value from session data', name, value);
-                if(name) {
-                  if(!remoteValues) {
-                    remoteValues = {};
-                  }
-                  remoteValues[value] = name;
-                }
-              });
-            }
-            return remoteValues;
-          },
-          choiceText: function($choice, preserveHTML) {
-            preserveHTML = (preserveHTML !== undefined)
-              ? preserveHTML
-              : settings.preserveHTML
-            ;
-            if($choice) {
-              if($choice.find(selector.menu).length > 0) {
-                module.verbose('Retrieving text of element with sub-menu');
-                $choice = $choice.clone();
-                $choice.find(selector.menu).remove();
-                $choice.find(selector.menuIcon).remove();
-              }
-              return ($choice.data(metadata.text) !== undefined)
-                ? $choice.data(metadata.text)
-                : (preserveHTML)
-                  ? $.trim($choice.html())
-                  : $.trim($choice.text())
-              ;
-            }
-          },
-          choiceValue: function($choice, choiceText) {
-            choiceText = choiceText || module.get.choiceText($choice);
-            if(!$choice) {
-              return false;
-            }
-            return ($choice.data(metadata.value) !== undefined)
-              ? String( $choice.data(metadata.value) )
-              : (typeof choiceText === 'string')
-                ? $.trim(choiceText.toLowerCase())
-                : String(choiceText)
-            ;
-          },
-          inputEvent: function() {
-            var
-              input = $search[0]
-            ;
-            if(input) {
-              return (input.oninput !== undefined)
-                ? 'input'
-                : (input.onpropertychange !== undefined)
-                  ? 'propertychange'
-                  : 'keyup'
-              ;
-            }
-            return false;
-          },
-          selectValues: function() {
-            var
-              select = {},
-              oldGroup = []
-            ;
-            select.values = [];
-            $module
-              .find('option')
-                .each(function() {
-                  var
-                    $option  = $(this),
-                    name     = $option.html(),
-                    disabled = $option.attr('disabled'),
-                    value    = ( $option.attr('value') !== undefined )
-                      ? $option.attr('value')
-                      : name,
-                    group = $option.parent('optgroup')
-                  ;
-                  if(settings.placeholder === 'auto' && value === '') {
-                    select.placeholder = name;
-                  }
-                  else {
-                    if(group.length !== oldGroup.length || group[0] !== oldGroup[0]) {
-                      select.values.push({
-                        type: 'header',
-                        divider: settings.headerDivider,
-                        name: group.attr('label') || ''
-                      });
-                      oldGroup = group;
-                    }
-                    select.values.push({
-                      name     : name,
-                      value    : value,
-                      disabled : disabled
-                    });
-                  }
-                })
-            ;
-            if(settings.placeholder && settings.placeholder !== 'auto') {
-              module.debug('Setting placeholder value to', settings.placeholder);
-              select.placeholder = settings.placeholder;
-            }
-            if(settings.sortSelect) {
-              if(settings.sortSelect === true) {
-                select.values.sort(function(a, b) {
-                  return a.name.localeCompare(b.name);
-                });
-              } else if(settings.sortSelect === 'natural') {
-                select.values.sort(function(a, b) {
-                  return (a.name.toLowerCase().localeCompare(b.name.toLowerCase()));
-                });
-              } else if($.isFunction(settings.sortSelect)) {
-                select.values.sort(settings.sortSelect);
-              }
-              module.debug('Retrieved and sorted values from select', select);
-            }
-            else {
-              module.debug('Retrieved values from select', select);
-            }
-            return select;
-          },
-          activeItem: function() {
-            return $item.filter('.'  + className.active);
-          },
-          selectedItem: function() {
-            var
-              $selectedItem = $item.not(selector.unselectable).filter('.'  + className.selected)
-            ;
-            return ($selectedItem.length > 0)
-              ? $selectedItem
-              : $item.eq(0)
-            ;
-          },
-          itemWithAdditions: function(value) {
-            var
-              $items       = module.get.item(value),
-              $userItems   = module.create.userChoice(value),
-              hasUserItems = ($userItems && $userItems.length > 0)
-            ;
-            if(hasUserItems) {
-              $items = ($items.length > 0)
-                ? $items.add($userItems)
-                : $userItems
-              ;
-            }
-            return $items;
-          },
-          item: function(value, strict) {
-            var
-              $selectedItem = false,
-              shouldSearch,
-              isMultiple
-            ;
-            value = (value !== undefined)
-              ? value
-              : ( module.get.values() !== undefined)
-                ? module.get.values()
-                : module.get.text()
-            ;
-            isMultiple = (module.is.multiple() && Array.isArray(value));
-            shouldSearch = (isMultiple)
-              ? (value.length > 0)
-              : (value !== undefined && value !== null)
-            ;
-            strict     = (value === '' || value === false  || value === true)
-              ? true
-              : strict || false
-            ;
-            if(shouldSearch) {
-              $item
-                .each(function() {
-                  var
-                    $choice       = $(this),
-                    optionText    = module.get.choiceText($choice),
-                    optionValue   = module.get.choiceValue($choice, optionText)
-                  ;
-                  // safe early exit
-                  if(optionValue === null || optionValue === undefined) {
-                    return;
-                  }
-                  if(isMultiple) {
-                    if($.inArray( String(optionValue), value) !== -1) {
-                      $selectedItem = ($selectedItem)
-                        ? $selectedItem.add($choice)
-                        : $choice
-                      ;
-                    }
-                  }
-                  else if(strict) {
-                    module.verbose('Ambiguous dropdown value using strict type check', $choice, value);
-                    if( optionValue === value) {
-                      $selectedItem = $choice;
-                      return true;
-                    }
-                  }
-                  else {
-                    if( String(optionValue) == String(value)) {
-                      module.verbose('Found select item by value', optionValue, value);
-                      $selectedItem = $choice;
-                      return true;
-                    }
-                  }
-                })
-              ;
-            }
-            return $selectedItem;
-          }
-        },
-
-        check: {
-          maxSelections: function(selectionCount) {
-            if(settings.maxSelections) {
-              selectionCount = (selectionCount !== undefined)
-                ? selectionCount
-                : module.get.selectionCount()
-              ;
-              if(selectionCount >= settings.maxSelections) {
-                module.debug('Maximum selection count reached');
-                if(settings.useLabels) {
-                  $item.addClass(className.filtered);
-                  module.add.message(message.maxSelections);
-                }
-                return true;
-              }
-              else {
-                module.verbose('No longer at maximum selection count');
-                module.remove.message();
-                module.remove.filteredItem();
-                if(module.is.searchSelection()) {
-                  module.filterItems();
-                }
-                return false;
-              }
-            }
-            return true;
-          }
-        },
-
-        restore: {
-          defaults: function() {
-            module.clear();
-            module.restore.defaultText();
-            module.restore.defaultValue();
-          },
-          defaultText: function() {
-            var
-              defaultText     = module.get.defaultText(),
-              placeholderText = module.get.placeholderText
-            ;
-            if(defaultText === placeholderText) {
-              module.debug('Restoring default placeholder text', defaultText);
-              module.set.placeholderText(defaultText);
-            }
-            else {
-              module.debug('Restoring default text', defaultText);
-              module.set.text(defaultText);
-            }
-          },
-          placeholderText: function() {
-            module.set.placeholderText();
-          },
-          defaultValue: function() {
-            var
-              defaultValue = module.get.defaultValue()
-            ;
-            if(defaultValue !== undefined) {
-              module.debug('Restoring default value', defaultValue);
-              if(defaultValue !== '') {
-                module.set.value(defaultValue);
-                module.set.selected();
-              }
-              else {
-                module.remove.activeItem();
-                module.remove.selectedItem();
-              }
-            }
-          },
-          labels: function() {
-            if(settings.allowAdditions) {
-              if(!settings.useLabels) {
-                module.error(error.labels);
-                settings.useLabels = true;
-              }
-              module.debug('Restoring selected values');
-              module.create.userLabels();
-            }
-            module.check.maxSelections();
-          },
-          selected: function() {
-            module.restore.values();
-            if(module.is.multiple()) {
-              module.debug('Restoring previously selected values and labels');
-              module.restore.labels();
-            }
-            else {
-              module.debug('Restoring previously selected values');
-            }
-          },
-          values: function() {
-            // prevents callbacks from occurring on initial load
-            module.set.initialLoad();
-            if(settings.apiSettings && settings.saveRemoteData && module.get.remoteValues()) {
-              module.restore.remoteValues();
-            }
-            else {
-              module.set.selected();
-            }
-            var value = module.get.value();
-            if(value && value !== '' && !(Array.isArray(value) && value.length === 0)) {
-              $input.removeClass(className.noselection);
-            } else {
-              $input.addClass(className.noselection);
-            }
-            module.remove.initialLoad();
-          },
-          remoteValues: function() {
-            var
-              values = module.get.remoteValues()
-            ;
-            module.debug('Recreating selected from session data', values);
-            if(values) {
-              if( module.is.single() ) {
-                $.each(values, function(value, name) {
-                  module.set.text(name);
-                });
-              }
-              else {
-                $.each(values, function(value, name) {
-                  module.add.label(value, name);
-                });
-              }
-            }
-          }
-        },
-
-        read: {
-          remoteData: function(value) {
-            var
-              name
-            ;
-            if(window.Storage === undefined) {
-              module.error(error.noStorage);
-              return;
-            }
-            name = sessionStorage.getItem(value);
-            return (name !== undefined)
-              ? name
-              : false
-            ;
-          }
-        },
-
-        save: {
-          defaults: function() {
-            module.save.defaultText();
-            module.save.placeholderText();
-            module.save.defaultValue();
-          },
-          defaultValue: function() {
-            var
-              value = module.get.value()
-            ;
-            module.verbose('Saving default value as', value);
-            $module.data(metadata.defaultValue, value);
-          },
-          defaultText: function() {
-            var
-              text = module.get.text()
-            ;
-            module.verbose('Saving default text as', text);
-            $module.data(metadata.defaultText, text);
-          },
-          placeholderText: function() {
-            var
-              text
-            ;
-            if(settings.placeholder !== false && $text.hasClass(className.placeholder)) {
-              text = module.get.text();
-              module.verbose('Saving placeholder text as', text);
-              $module.data(metadata.placeholderText, text);
-            }
-          },
-          remoteData: function(name, value) {
-            if(window.Storage === undefined) {
-              module.error(error.noStorage);
-              return;
-            }
-            module.verbose('Saving remote data to session storage', value, name);
-            sessionStorage.setItem(value, name);
-          }
-        },
-
-        clear: function() {
-          if(module.is.multiple() && settings.useLabels) {
-            module.remove.labels();
-          }
-          else {
-            module.remove.activeItem();
-            module.remove.selectedItem();
-            module.remove.filteredItem();
-          }
-          module.set.placeholderText();
-          module.clearValue();
-        },
-
-        clearValue: function() {
-          module.set.value('');
-        },
-
-        scrollPage: function(direction, $selectedItem) {
-          var
-            $currentItem  = $selectedItem || module.get.selectedItem(),
-            $menu         = $currentItem.closest(selector.menu),
-            menuHeight    = $menu.outerHeight(),
-            currentScroll = $menu.scrollTop(),
-            itemHeight    = $item.eq(0).outerHeight(),
-            itemsPerPage  = Math.floor(menuHeight / itemHeight),
-            maxScroll     = $menu.prop('scrollHeight'),
-            newScroll     = (direction == 'up')
-              ? currentScroll - (itemHeight * itemsPerPage)
-              : currentScroll + (itemHeight * itemsPerPage),
-            $selectableItem = $item.not(selector.unselectable),
-            isWithinRange,
-            $nextSelectedItem,
-            elementIndex
-          ;
-          elementIndex      = (direction == 'up')
-            ? $selectableItem.index($currentItem) - itemsPerPage
-            : $selectableItem.index($currentItem) + itemsPerPage
-          ;
-          isWithinRange = (direction == 'up')
-            ? (elementIndex >= 0)
-            : (elementIndex < $selectableItem.length)
-          ;
-          $nextSelectedItem = (isWithinRange)
-            ? $selectableItem.eq(elementIndex)
-            : (direction == 'up')
-              ? $selectableItem.first()
-              : $selectableItem.last()
-          ;
-          if($nextSelectedItem.length > 0) {
-            module.debug('Scrolling page', direction, $nextSelectedItem);
-            $currentItem
-              .removeClass(className.selected)
-            ;
-            $nextSelectedItem
-              .addClass(className.selected)
-            ;
-            if(settings.selectOnKeydown && module.is.single()) {
-              module.set.selectedItem($nextSelectedItem);
-            }
-            $menu
-              .scrollTop(newScroll)
-            ;
-          }
-        },
-
-        set: {
-          filtered: function() {
-            var
-              isMultiple       = module.is.multiple(),
-              isSearch         = module.is.searchSelection(),
-              isSearchMultiple = (isMultiple && isSearch),
-              searchValue      = (isSearch)
-                ? module.get.query()
-                : '',
-              hasSearchValue   = (typeof searchValue === 'string' && searchValue.length > 0),
-              searchWidth      = module.get.searchWidth(),
-              valueIsSet       = searchValue !== ''
-            ;
-            if(isMultiple && hasSearchValue) {
-              module.verbose('Adjusting input width', searchWidth, settings.glyphWidth);
-              $search.css('width', searchWidth);
-            }
-            if(hasSearchValue || (isSearchMultiple && valueIsSet)) {
-              module.verbose('Hiding placeholder text');
-              $text.addClass(className.filtered);
-            }
-            else if(!isMultiple || (isSearchMultiple && !valueIsSet)) {
-              module.verbose('Showing placeholder text');
-              $text.removeClass(className.filtered);
-            }
-          },
-          empty: function() {
-            $module.addClass(className.empty);
-          },
-          loading: function() {
-            $module.addClass(className.loading);
-          },
-          placeholderText: function(text) {
-            text = text || module.get.placeholderText();
-            module.debug('Setting placeholder text', text);
-            module.set.text(text);
-            $text.addClass(className.placeholder);
-          },
-          tabbable: function() {
-            if( module.is.searchSelection() ) {
-              module.debug('Added tabindex to searchable dropdown');
-              $search
-                .val('')
-                .attr('tabindex', 0)
-              ;
-              $menu
-                .attr('tabindex', -1)
-              ;
-            }
-            else {
-              module.debug('Added tabindex to dropdown');
-              if( $module.attr('tabindex') === undefined) {
-                $module
-                  .attr('tabindex', 0)
-                ;
-                $menu
-                  .attr('tabindex', -1)
-                ;
-              }
-            }
-          },
-          initialLoad: function() {
-            module.verbose('Setting initial load');
-            initialLoad = true;
-          },
-          activeItem: function($item) {
-            if( settings.allowAdditions && $item.filter(selector.addition).length > 0 ) {
-              $item.addClass(className.filtered);
-            }
-            else {
-              $item.addClass(className.active);
-            }
-          },
-          partialSearch: function(text) {
-            var
-              length = module.get.query().length
-            ;
-            $search.val( text.substr(0, length));
-          },
-          scrollPosition: function($item, forceScroll) {
-            var
-              edgeTolerance = 5,
-              $menu,
-              hasActive,
-              offset,
-              itemHeight,
-              itemOffset,
-              menuOffset,
-              menuScroll,
-              menuHeight,
-              abovePage,
-              belowPage
-            ;
-
-            $item       = $item || module.get.selectedItem();
-            $menu       = $item.closest(selector.menu);
-            hasActive   = ($item && $item.length > 0);
-            forceScroll = (forceScroll !== undefined)
-              ? forceScroll
-              : false
-            ;
-            if(module.get.activeItem().length === 0){
-              forceScroll = false;
-            }
-            if($item && $menu.length > 0 && hasActive) {
-              itemOffset = $item.position().top;
-
-              $menu.addClass(className.loading);
-              menuScroll = $menu.scrollTop();
-              menuOffset = $menu.offset().top;
-              itemOffset = $item.offset().top;
-              offset     = menuScroll - menuOffset + itemOffset;
-              if(!forceScroll) {
-                menuHeight = $menu.height();
-                belowPage  = menuScroll + menuHeight < (offset + edgeTolerance);
-                abovePage  = ((offset - edgeTolerance) < menuScroll);
-              }
-              module.debug('Scrolling to active item', offset);
-              if(forceScroll || abovePage || belowPage) {
-                $menu.scrollTop(offset);
-              }
-              $menu.removeClass(className.loading);
-            }
-          },
-          text: function(text) {
-            if(settings.action === 'combo') {
-              module.debug('Changing combo button text', text, $combo);
-              if(settings.preserveHTML) {
-                $combo.html(text);
-              }
-              else {
-                $combo.text(text);
-              }
-            }
-            else if(settings.action === 'activate') {
-              if(text !== module.get.placeholderText()) {
-                $text.removeClass(className.placeholder);
-              }
-              module.debug('Changing text', text, $text);
-              $text
-                .removeClass(className.filtered)
-              ;
-              if(settings.preserveHTML) {
-                $text.html(text);
-              }
-              else {
-                $text.text(text);
-              }
-            }
-          },
-          selectedItem: function($item) {
-            var
-              value      = module.get.choiceValue($item),
-              searchText = module.get.choiceText($item, false),
-              text       = module.get.choiceText($item, true)
-            ;
-            module.debug('Setting user selection to item', $item);
-            module.remove.activeItem();
-            module.set.partialSearch(searchText);
-            module.set.activeItem($item);
-            module.set.selected(value, $item);
-            module.set.text(text);
-          },
-          selectedLetter: function(letter) {
-            var
-              $selectedItem         = $item.filter('.' + className.selected),
-              alreadySelectedLetter = $selectedItem.length > 0 && module.has.firstLetter($selectedItem, letter),
-              $nextValue            = false,
-              $nextItem
-            ;
-            // check next of same letter
-            if(alreadySelectedLetter) {
-              $nextItem = $selectedItem.nextAll($item).eq(0);
-              if( module.has.firstLetter($nextItem, letter) ) {
-                $nextValue  = $nextItem;
-              }
-            }
-            // check all values
-            if(!$nextValue) {
-              $item
-                .each(function(){
-                  if(module.has.firstLetter($(this), letter)) {
-                    $nextValue = $(this);
-                    return false;
-                  }
-                })
-              ;
-            }
-            // set next value
-            if($nextValue) {
-              module.verbose('Scrolling to next value with letter', letter);
-              module.set.scrollPosition($nextValue);
-              $selectedItem.removeClass(className.selected);
-              $nextValue.addClass(className.selected);
-              if(settings.selectOnKeydown && module.is.single()) {
-                module.set.selectedItem($nextValue);
-              }
-            }
-          },
-          direction: function($menu) {
-            if(settings.direction == 'auto') {
-              // reset position, remove upward if it's base menu
-              if (!$menu) {
-                module.remove.upward();
-              } else if (module.is.upward($menu)) {
-                //we need make sure when make assertion openDownward for $menu, $menu does not have upward class
-                module.remove.upward($menu);
-              }
-
-              if(module.can.openDownward($menu)) {
-                module.remove.upward($menu);
-              }
-              else {
-                module.set.upward($menu);
-              }
-              if(!module.is.leftward($menu) && !module.can.openRightward($menu)) {
-                module.set.leftward($menu);
-              }
-            }
-            else if(settings.direction == 'upward') {
-              module.set.upward($menu);
-            }
-          },
-          upward: function($currentMenu) {
-            var $element = $currentMenu || $module;
-            $element.addClass(className.upward);
-          },
-          leftward: function($currentMenu) {
-            var $element = $currentMenu || $menu;
-            $element.addClass(className.leftward);
-          },
-          value: function(value, text, $selected) {
-            if(value !== undefined && value !== '' && !(Array.isArray(value) && value.length === 0)) {
-              $input.removeClass(className.noselection);
-            } else {
-              $input.addClass(className.noselection);
-            }
-            var
-              escapedValue = module.escape.value(value),
-              hasInput     = ($input.length > 0),
-              currentValue = module.get.values(),
-              stringValue  = (value !== undefined)
-                ? String(value)
-                : value,
-              newValue
-            ;
-            if(hasInput) {
-              if(!settings.allowReselection && stringValue == currentValue) {
-                module.verbose('Skipping value update already same value', value, currentValue);
-                if(!module.is.initialLoad()) {
-                  return;
-                }
-              }
-
-              if( module.is.single() && module.has.selectInput() && module.can.extendSelect() ) {
-                module.debug('Adding user option', value);
-                module.add.optionValue(value);
-              }
-              module.debug('Updating input value', escapedValue, currentValue);
-              internalChange = true;
-              $input
-                .val(escapedValue)
-              ;
-              if(settings.fireOnInit === false && module.is.initialLoad()) {
-                module.debug('Input native change event ignored on initial load');
-              }
-              else {
-                module.trigger.change();
-              }
-              internalChange = false;
-            }
-            else {
-              module.verbose('Storing value in metadata', escapedValue, $input);
-              if(escapedValue !== currentValue) {
-                $module.data(metadata.value, stringValue);
-              }
-            }
-            if(settings.fireOnInit === false && module.is.initialLoad()) {
-              module.verbose('No callback on initial load', settings.onChange);
-            }
-            else {
-              settings.onChange.call(element, value, text, $selected);
-            }
-          },
-          active: function() {
-            $module
-              .addClass(className.active)
-            ;
-          },
-          multiple: function() {
-            $module.addClass(className.multiple);
-          },
-          visible: function() {
-            $module.addClass(className.visible);
-          },
-          exactly: function(value, $selectedItem) {
-            module.debug('Setting selected to exact values');
-            module.clear();
-            module.set.selected(value, $selectedItem);
-          },
-          selected: function(value, $selectedItem) {
-            var
-              isMultiple = module.is.multiple()
-            ;
-            $selectedItem = (settings.allowAdditions)
-              ? $selectedItem || module.get.itemWithAdditions(value)
-              : $selectedItem || module.get.item(value)
-            ;
-            if(!$selectedItem) {
-              return;
-            }
-            module.debug('Setting selected menu item to', $selectedItem);
-            if(module.is.multiple()) {
-              module.remove.searchWidth();
-            }
-            if(module.is.single()) {
-              module.remove.activeItem();
-              module.remove.selectedItem();
-            }
-            else if(settings.useLabels) {
-              module.remove.selectedItem();
-            }
-            // select each item
-            $selectedItem
-              .each(function() {
-                var
-                  $selected      = $(this),
-                  selectedText   = module.get.choiceText($selected),
-                  selectedValue  = module.get.choiceValue($selected, selectedText),
-
-                  isFiltered     = $selected.hasClass(className.filtered),
-                  isActive       = $selected.hasClass(className.active),
-                  isUserValue    = $selected.hasClass(className.addition),
-                  shouldAnimate  = (isMultiple && $selectedItem.length == 1)
-                ;
-                if(isMultiple) {
-                  if(!isActive || isUserValue) {
-                    if(settings.apiSettings && settings.saveRemoteData) {
-                      module.save.remoteData(selectedText, selectedValue);
-                    }
-                    if(settings.useLabels) {
-                      module.add.label(selectedValue, selectedText, shouldAnimate);
-                      module.add.value(selectedValue, selectedText, $selected);
-                      module.set.activeItem($selected);
-                      module.filterActive();
-                      module.select.nextAvailable($selectedItem);
-                    }
-                    else {
-                      module.add.value(selectedValue, selectedText, $selected);
-                      module.set.text(module.add.variables(message.count));
-                      module.set.activeItem($selected);
-                    }
-                  }
-                  else if(!isFiltered && (settings.useLabels || selectActionActive)) {
-                    module.debug('Selected active value, removing label');
-                    module.remove.selected(selectedValue);
-                  }
-                }
-                else {
-                  if(settings.apiSettings && settings.saveRemoteData) {
-                    module.save.remoteData(selectedText, selectedValue);
-                  }
-                  module.set.text(selectedText);
-                  module.set.value(selectedValue, selectedText, $selected);
-                  $selected
-                    .addClass(className.active)
-                    .addClass(className.selected)
-                  ;
-                }
-              })
-            ;
-          },
-        },
-
-        add: {
-          label: function(value, text, shouldAnimate) {
-            var
-              $next  = module.is.searchSelection()
-                ? $search
-                : $text,
-              escapedValue = module.escape.value(value),
-              $label
-            ;
-            if(settings.ignoreCase) {
-              escapedValue = escapedValue.toLowerCase();
-            }
-            $label =  $('<a />')
-              .addClass(className.label)
-              .attr('data-' + metadata.value, escapedValue)
-              .html(templates.label(escapedValue, text, settings.preserveHTML, settings.className))
-            ;
-            $label = settings.onLabelCreate.call($label, escapedValue, text);
-
-            if(module.has.label(value)) {
-              module.debug('User selection already exists, skipping', escapedValue);
-              return;
-            }
-            if(settings.label.variation) {
-              $label.addClass(settings.label.variation);
-            }
-            if(shouldAnimate === true) {
-              module.debug('Animating in label', $label);
-              $label
-                .addClass(className.hidden)
-                .insertBefore($next)
-                .transition({
-                    animation  : settings.label.transition,
-                    debug      : settings.debug,
-                    verbose    : settings.verbose,
-                    duration   : settings.label.duration
-                })
-              ;
-            }
-            else {
-              module.debug('Adding selection label', $label);
-              $label
-                .insertBefore($next)
-              ;
-            }
-          },
-          message: function(message) {
-            var
-              $message = $menu.children(selector.message),
-              html     = settings.templates.message(module.add.variables(message))
-            ;
-            if($message.length > 0) {
-              $message
-                .html(html)
-              ;
-            }
-            else {
-              $message = $('<div/>')
-                .html(html)
-                .addClass(className.message)
-                .appendTo($menu)
-              ;
-            }
-          },
-          optionValue: function(value) {
-            var
-              escapedValue = module.escape.value(value),
-              $option      = $input.find('option[value="' + module.escape.string(escapedValue) + '"]'),
-              hasOption    = ($option.length > 0)
-            ;
-            if(hasOption) {
-              return;
-            }
-            // temporarily disconnect observer
-            module.disconnect.selectObserver();
-            if( module.is.single() ) {
-              module.verbose('Removing previous user addition');
-              $input.find('option.' + className.addition).remove();
-            }
-            $('<option/>')
-              .prop('value', escapedValue)
-              .addClass(className.addition)
-              .html(value)
-              .appendTo($input)
-            ;
-            module.verbose('Adding user addition as an <option>', value);
-            module.observe.select();
-          },
-          userSuggestion: function(value) {
-            var
-              $addition         = $menu.children(selector.addition),
-              $existingItem     = module.get.item(value),
-              alreadyHasValue   = $existingItem && $existingItem.not(selector.addition).length,
-              hasUserSuggestion = $addition.length > 0,
-              html
-            ;
-            if(settings.useLabels && module.has.maxSelections()) {
-              return;
-            }
-            if(value === '' || alreadyHasValue) {
-              $addition.remove();
-              return;
-            }
-            if(hasUserSuggestion) {
-              $addition
-                .data(metadata.value, value)
-                .data(metadata.text, value)
-                .attr('data-' + metadata.value, value)
-                .attr('data-' + metadata.text, value)
-                .removeClass(className.filtered)
-              ;
-              if(!settings.hideAdditions) {
-                html = settings.templates.addition( module.add.variables(message.addResult, value) );
-                $addition
-                  .html(html)
-                ;
-              }
-              module.verbose('Replacing user suggestion with new value', $addition);
-            }
-            else {
-              $addition = module.create.userChoice(value);
-              $addition
-                .prependTo($menu)
-              ;
-              module.verbose('Adding item choice to menu corresponding with user choice addition', $addition);
-            }
-            if(!settings.hideAdditions || module.is.allFiltered()) {
-              $addition
-                .addClass(className.selected)
-                .siblings()
-                .removeClass(className.selected)
-              ;
-            }
-            module.refreshItems();
-          },
-          variables: function(message, term) {
-            var
-              hasCount    = (message.search('{count}') !== -1),
-              hasMaxCount = (message.search('{maxCount}') !== -1),
-              hasTerm     = (message.search('{term}') !== -1),
-              count,
-              query
-            ;
-            module.verbose('Adding templated variables to message', message);
-            if(hasCount) {
-              count  = module.get.selectionCount();
-              message = message.replace('{count}', count);
-            }
-            if(hasMaxCount) {
-              count  = module.get.selectionCount();
-              message = message.replace('{maxCount}', settings.maxSelections);
-            }
-            if(hasTerm) {
-              query   = term || module.get.query();
-              message = message.replace('{term}', query);
-            }
-            return message;
-          },
-          value: function(addedValue, addedText, $selectedItem) {
-            var
-              currentValue = module.get.values(),
-              newValue
-            ;
-            if(module.has.value(addedValue)) {
-              module.debug('Value already selected');
-              return;
-            }
-            if(addedValue === '') {
-              module.debug('Cannot select blank values from multiselect');
-              return;
-            }
-            // extend current array
-            if(Array.isArray(currentValue)) {
-              newValue = currentValue.concat([addedValue]);
-              newValue = module.get.uniqueArray(newValue);
-            }
-            else {
-              newValue = [addedValue];
-            }
-            // add values
-            if( module.has.selectInput() ) {
-              if(module.can.extendSelect()) {
-                module.debug('Adding value to select', addedValue, newValue, $input);
-                module.add.optionValue(addedValue);
-              }
-            }
-            else {
-              newValue = newValue.join(settings.delimiter);
-              module.debug('Setting hidden input to delimited value', newValue, $input);
-            }
-
-            if(settings.fireOnInit === false && module.is.initialLoad()) {
-              module.verbose('Skipping onadd callback on initial load', settings.onAdd);
-            }
-            else {
-              settings.onAdd.call(element, addedValue, addedText, $selectedItem);
-            }
-            module.set.value(newValue, addedValue, addedText, $selectedItem);
-            module.check.maxSelections();
-          },
-        },
-
-        remove: {
-          active: function() {
-            $module.removeClass(className.active);
-          },
-          activeLabel: function() {
-            $module.find(selector.label).removeClass(className.active);
-          },
-          empty: function() {
-            $module.removeClass(className.empty);
-          },
-          loading: function() {
-            $module.removeClass(className.loading);
-          },
-          initialLoad: function() {
-            initialLoad = false;
-          },
-          upward: function($currentMenu) {
-            var $element = $currentMenu || $module;
-            $element.removeClass(className.upward);
-          },
-          leftward: function($currentMenu) {
-            var $element = $currentMenu || $menu;
-            $element.removeClass(className.leftward);
-          },
-          visible: function() {
-            $module.removeClass(className.visible);
-          },
-          activeItem: function() {
-            $item.removeClass(className.active);
-          },
-          filteredItem: function() {
-            if(settings.useLabels && module.has.maxSelections() ) {
-              return;
-            }
-            if(settings.useLabels && module.is.multiple()) {
-              $item.not('.' + className.active).removeClass(className.filtered);
-            }
-            else {
-              $item.removeClass(className.filtered);
-            }
-            if(settings.hideDividers) {
-              $divider.removeClass(className.hidden);
-            }
-            module.remove.empty();
-          },
-          optionValue: function(value) {
-            var
-              escapedValue = module.escape.value(value),
-              $option      = $input.find('option[value="' + module.escape.string(escapedValue) + '"]'),
-              hasOption    = ($option.length > 0)
-            ;
-            if(!hasOption || !$option.hasClass(className.addition)) {
-              return;
-            }
-            // temporarily disconnect observer
-            if(selectObserver) {
-              selectObserver.disconnect();
-              module.verbose('Temporarily disconnecting mutation observer');
-            }
-            $option.remove();
-            module.verbose('Removing user addition as an <option>', escapedValue);
-            if(selectObserver) {
-              selectObserver.observe($input[0], {
-                childList : true,
-                subtree   : true
-              });
-            }
-          },
-          message: function() {
-            $menu.children(selector.message).remove();
-          },
-          searchWidth: function() {
-            $search.css('width', '');
-          },
-          searchTerm: function() {
-            module.verbose('Cleared search term');
-            $search.val('');
-            module.set.filtered();
-          },
-          userAddition: function() {
-            $item.filter(selector.addition).remove();
-          },
-          selected: function(value, $selectedItem) {
-            $selectedItem = (settings.allowAdditions)
-              ? $selectedItem || module.get.itemWithAdditions(value)
-              : $selectedItem || module.get.item(value)
-            ;
-
-            if(!$selectedItem) {
-              return false;
-            }
-
-            $selectedItem
-              .each(function() {
-                var
-                  $selected     = $(this),
-                  selectedText  = module.get.choiceText($selected),
-                  selectedValue = module.get.choiceValue($selected, selectedText)
-                ;
-                if(module.is.multiple()) {
-                  if(settings.useLabels) {
-                    module.remove.value(selectedValue, selectedText, $selected);
-                    module.remove.label(selectedValue);
-                  }
-                  else {
-                    module.remove.value(selectedValue, selectedText, $selected);
-                    if(module.get.selectionCount() === 0) {
-                      module.set.placeholderText();
-                    }
-                    else {
-                      module.set.text(module.add.variables(message.count));
-                    }
-                  }
-                }
-                else {
-                  module.remove.value(selectedValue, selectedText, $selected);
-                }
-                $selected
-                  .removeClass(className.filtered)
-                  .removeClass(className.active)
-                ;
-                if(settings.useLabels) {
-                  $selected.removeClass(className.selected);
-                }
-              })
-            ;
-          },
-          selectedItem: function() {
-            $item.removeClass(className.selected);
-          },
-          value: function(removedValue, removedText, $removedItem) {
-            var
-              values = module.get.values(),
-              newValue
-            ;
-            if( module.has.selectInput() ) {
-              module.verbose('Input is <select> removing selected option', removedValue);
-              newValue = module.remove.arrayValue(removedValue, values);
-              module.remove.optionValue(removedValue);
-            }
-            else {
-              module.verbose('Removing from delimited values', removedValue);
-              newValue = module.remove.arrayValue(removedValue, values);
-              newValue = newValue.join(settings.delimiter);
-            }
-            if(settings.fireOnInit === false && module.is.initialLoad()) {
-              module.verbose('No callback on initial load', settings.onRemove);
-            }
-            else {
-              settings.onRemove.call(element, removedValue, removedText, $removedItem);
-            }
-            module.set.value(newValue, removedText, $removedItem);
-            module.check.maxSelections();
-          },
-          arrayValue: function(removedValue, values) {
-            if( !Array.isArray(values) ) {
-              values = [values];
-            }
-            values = $.grep(values, function(value){
-              return (removedValue != value);
-            });
-            module.verbose('Removed value from delimited string', removedValue, values);
-            return values;
-          },
-          label: function(value, shouldAnimate) {
-            var
-              $labels       = $module.find(selector.label),
-              $removedLabel = $labels.filter('[data-' + metadata.value + '="' + module.escape.string(value) +'"]')
-            ;
-            module.verbose('Removing label', $removedLabel);
-            $removedLabel.remove();
-          },
-          activeLabels: function($activeLabels) {
-            $activeLabels = $activeLabels || $module.find(selector.label).filter('.' + className.active);
-            module.verbose('Removing active label selections', $activeLabels);
-            module.remove.labels($activeLabels);
-          },
-          labels: function($labels) {
-            $labels = $labels || $module.find(selector.label);
-            module.verbose('Removing labels', $labels);
-            $labels
-              .each(function(){
-                var
-                  $label      = $(this),
-                  value       = $label.data(metadata.value),
-                  stringValue = (value !== undefined)
-                    ? String(value)
-                    : value,
-                  isUserValue = module.is.userValue(stringValue)
-                ;
-                if(settings.onLabelRemove.call($label, value) === false) {
-                  module.debug('Label remove callback cancelled removal');
-                  return;
-                }
-                module.remove.message();
-                if(isUserValue) {
-                  module.remove.value(stringValue);
-                  module.remove.label(stringValue);
-                }
-                else {
-                  // selected will also remove label
-                  module.remove.selected(stringValue);
-                }
-              })
-            ;
-          },
-          tabbable: function() {
-            if( module.is.searchSelection() ) {
-              module.debug('Searchable dropdown initialized');
-              $search
-                .removeAttr('tabindex')
-              ;
-              $menu
-                .removeAttr('tabindex')
-              ;
-            }
-            else {
-              module.debug('Simple selection dropdown initialized');
-              $module
-                .removeAttr('tabindex')
-              ;
-              $menu
-                .removeAttr('tabindex')
-              ;
-            }
-          },
-          diacritics: function(text) {
-            return settings.ignoreDiacritics ?  text.normalize('NFD').replace(/[\u0300-\u036f]/g, '') : text;
-          }
-        },
-
-        has: {
-          menuSearch: function() {
-            return (module.has.search() && $search.closest($menu).length > 0);
-          },
-          clearItem: function() {
-            return ($clear.length > 0);
-          },
-          search: function() {
-            return ($search.length > 0);
-          },
-          sizer: function() {
-            return ($sizer.length > 0);
-          },
-          selectInput: function() {
-            return ( $input.is('select') );
-          },
-          minCharacters: function(searchTerm) {
-            if(settings.minCharacters && !iconClicked) {
-              searchTerm = (searchTerm !== undefined)
-                ? String(searchTerm)
-                : String(module.get.query())
-              ;
-              return (searchTerm.length >= settings.minCharacters);
-            }
-            iconClicked=false;
-            return true;
-          },
-          firstLetter: function($item, letter) {
-            var
-              text,
-              firstLetter
-            ;
-            if(!$item || $item.length === 0 || typeof letter !== 'string') {
-              return false;
-            }
-            text        = module.get.choiceText($item, false);
-            letter      = letter.toLowerCase();
-            firstLetter = String(text).charAt(0).toLowerCase();
-            return (letter == firstLetter);
-          },
-          input: function() {
-            return ($input.length > 0);
-          },
-          items: function() {
-            return ($item.length > 0);
-          },
-          menu: function() {
-            return ($menu.length > 0);
-          },
-          message: function() {
-            return ($menu.children(selector.message).length !== 0);
-          },
-          label: function(value) {
-            var
-              escapedValue = module.escape.value(value),
-              $labels      = $module.find(selector.label)
-            ;
-            if(settings.ignoreCase) {
-              escapedValue = escapedValue.toLowerCase();
-            }
-            return ($labels.filter('[data-' + metadata.value + '="' + module.escape.string(escapedValue) +'"]').length > 0);
-          },
-          maxSelections: function() {
-            return (settings.maxSelections && module.get.selectionCount() >= settings.maxSelections);
-          },
-          allResultsFiltered: function() {
-            var
-              $normalResults = $item.not(selector.addition)
-            ;
-            return ($normalResults.filter(selector.unselectable).length === $normalResults.length);
-          },
-          userSuggestion: function() {
-            return ($menu.children(selector.addition).length > 0);
-          },
-          query: function() {
-            return (module.get.query() !== '');
-          },
-          value: function(value) {
-            return (settings.ignoreCase)
-              ? module.has.valueIgnoringCase(value)
-              : module.has.valueMatchingCase(value)
-            ;
-          },
-          valueMatchingCase: function(value) {
-            var
-              values   = module.get.values(),
-              hasValue = Array.isArray(values)
-               ? values && ($.inArray(value, values) !== -1)
-               : (values == value)
-            ;
-            return (hasValue)
-              ? true
-              : false
-            ;
-          },
-          valueIgnoringCase: function(value) {
-            var
-              values   = module.get.values(),
-              hasValue = false
-            ;
-            if(!Array.isArray(values)) {
-              values = [values];
-            }
-            $.each(values, function(index, existingValue) {
-              if(String(value).toLowerCase() == String(existingValue).toLowerCase()) {
-                hasValue = true;
-                return false;
-              }
-            });
-            return hasValue;
-          }
-        },
-
-        is: {
-          active: function() {
-            return $module.hasClass(className.active);
-          },
-          animatingInward: function() {
-            return $menu.transition('is inward');
-          },
-          animatingOutward: function() {
-            return $menu.transition('is outward');
-          },
-          bubbledLabelClick: function(event) {
-            return $(event.target).is('select, input') && $module.closest('label').length > 0;
-          },
-          bubbledIconClick: function(event) {
-            return $(event.target).closest($icon).length > 0;
-          },
-          alreadySetup: function() {
-            return ($module.is('select') && $module.parent(selector.dropdown).data(moduleNamespace) !== undefined && $module.prev().length === 0);
-          },
-          animating: function($subMenu) {
-            return ($subMenu)
-              ? $subMenu.transition && $subMenu.transition('is animating')
-              : $menu.transition    && $menu.transition('is animating')
-            ;
-          },
-          leftward: function($subMenu) {
-            var $selectedMenu = $subMenu || $menu;
-            return $selectedMenu.hasClass(className.leftward);
-          },
-          clearable: function() {
-            return ($module.hasClass(className.clearable) || settings.clearable);
-          },
-          disabled: function() {
-            return $module.hasClass(className.disabled);
-          },
-          focused: function() {
-            return (document.activeElement === $module[0]);
-          },
-          focusedOnSearch: function() {
-            return (document.activeElement === $search[0]);
-          },
-          allFiltered: function() {
-            return( (module.is.multiple() || module.has.search()) && !(settings.hideAdditions == false && module.has.userSuggestion()) && !module.has.message() && module.has.allResultsFiltered() );
-          },
-          hidden: function($subMenu) {
-            return !module.is.visible($subMenu);
-          },
-          initialLoad: function() {
-            return initialLoad;
-          },
-          inObject: function(needle, object) {
-            var
-              found = false
-            ;
-            $.each(object, function(index, property) {
-              if(property == needle) {
-                found = true;
-                return true;
-              }
-            });
-            return found;
-          },
-          multiple: function() {
-            return $module.hasClass(className.multiple);
-          },
-          remote: function() {
-            return settings.apiSettings && module.can.useAPI();
-          },
-          single: function() {
-            return !module.is.multiple();
-          },
-          selectMutation: function(mutations) {
-            var
-              selectChanged = false
-            ;
-            $.each(mutations, function(index, mutation) {
-              if($(mutation.target).is('select') || $(mutation.addedNodes).is('select')) {
-                selectChanged = true;
-                return false;
-              }
-            });
-            return selectChanged;
-          },
-          search: function() {
-            return $module.hasClass(className.search);
-          },
-          searchSelection: function() {
-            return ( module.has.search() && $search.parent(selector.dropdown).length === 1 );
-          },
-          selection: function() {
-            return $module.hasClass(className.selection);
-          },
-          userValue: function(value) {
-            return ($.inArray(value, module.get.userValues()) !== -1);
-          },
-          upward: function($menu) {
-            var $element = $menu || $module;
-            return $element.hasClass(className.upward);
-          },
-          visible: function($subMenu) {
-            return ($subMenu)
-              ? $subMenu.hasClass(className.visible)
-              : $menu.hasClass(className.visible)
-            ;
-          },
-          verticallyScrollableContext: function() {
-            var
-              overflowY = ($context.get(0) !== window)
-                ? $context.css('overflow-y')
-                : false
-            ;
-            return (overflowY == 'auto' || overflowY == 'scroll');
-          },
-          horizontallyScrollableContext: function() {
-            var
-              overflowX = ($context.get(0) !== window)
-                ? $context.css('overflow-X')
-                : false
-            ;
-            return (overflowX == 'auto' || overflowX == 'scroll');
-          }
-        },
-
-        can: {
-          activate: function($item) {
-            if(settings.useLabels) {
-              return true;
-            }
-            if(!module.has.maxSelections()) {
-              return true;
-            }
-            if(module.has.maxSelections() && $item.hasClass(className.active)) {
-              return true;
-            }
-            return false;
-          },
-          openDownward: function($subMenu) {
-            var
-              $currentMenu    = $subMenu || $menu,
-              canOpenDownward = true,
-              onScreen        = {},
-              calculations
-            ;
-            $currentMenu
-              .addClass(className.loading)
-            ;
-            calculations = {
-              context: {
-                offset    : ($context.get(0) === window)
-                  ? { top: 0, left: 0}
-                  : $context.offset(),
-                scrollTop : $context.scrollTop(),
-                height    : $context.outerHeight()
-              },
-              menu : {
-                offset: $currentMenu.offset(),
-                height: $currentMenu.outerHeight()
-              }
-            };
-            if(module.is.verticallyScrollableContext()) {
-              calculations.menu.offset.top += calculations.context.scrollTop;
-            }
-            onScreen = {
-              above : (calculations.context.scrollTop) <= calculations.menu.offset.top - calculations.context.offset.top - calculations.menu.height,
-              below : (calculations.context.scrollTop + calculations.context.height) >= calculations.menu.offset.top - calculations.context.offset.top + calculations.menu.height
-            };
-            if(onScreen.below) {
-              module.verbose('Dropdown can fit in context downward', onScreen);
-              canOpenDownward = true;
-            }
-            else if(!onScreen.below && !onScreen.above) {
-              module.verbose('Dropdown cannot fit in either direction, favoring downward', onScreen);
-              canOpenDownward = true;
-            }
-            else {
-              module.verbose('Dropdown cannot fit below, opening upward', onScreen);
-              canOpenDownward = false;
-            }
-            $currentMenu.removeClass(className.loading);
-            return canOpenDownward;
-          },
-          openRightward: function($subMenu) {
-            var
-              $currentMenu     = $subMenu || $menu,
-              canOpenRightward = true,
-              isOffscreenRight = false,
-              calculations
-            ;
-            $currentMenu
-              .addClass(className.loading)
-            ;
-            calculations = {
-              context: {
-                offset     : ($context.get(0) === window)
-                  ? { top: 0, left: 0}
-                  : $context.offset(),
-                scrollLeft : $context.scrollLeft(),
-                width      : $context.outerWidth()
-              },
-              menu: {
-                offset : $currentMenu.offset(),
-                width  : $currentMenu.outerWidth()
-              }
-            };
-            if(module.is.horizontallyScrollableContext()) {
-              calculations.menu.offset.left += calculations.context.scrollLeft;
-            }
-            isOffscreenRight = (calculations.menu.offset.left - calculations.context.offset.left + calculations.menu.width >= calculations.context.scrollLeft + calculations.context.width);
-            if(isOffscreenRight) {
-              module.verbose('Dropdown cannot fit in context rightward', isOffscreenRight);
-              canOpenRightward = false;
-            }
-            $currentMenu.removeClass(className.loading);
-            return canOpenRightward;
-          },
-          click: function() {
-            return (hasTouch || settings.on == 'click');
-          },
-          extendSelect: function() {
-            return settings.allowAdditions || settings.apiSettings;
-          },
-          show: function() {
-            return !module.is.disabled() && (module.has.items() || module.has.message());
-          },
-          useAPI: function() {
-            return $.fn.api !== undefined;
-          }
-        },
-
-        animate: {
-          show: function(callback, $subMenu) {
-            var
-              $currentMenu = $subMenu || $menu,
-              start = ($subMenu)
-                ? function() {}
-                : function() {
-                  module.hideSubMenus();
-                  module.hideOthers();
-                  module.set.active();
-                },
-              transition
-            ;
-            callback = $.isFunction(callback)
-              ? callback
-              : function(){}
-            ;
-            module.verbose('Doing menu show animation', $currentMenu);
-            module.set.direction($subMenu);
-            transition = module.get.transition($subMenu);
-            if( module.is.selection() ) {
-              module.set.scrollPosition(module.get.selectedItem(), true);
-            }
-            if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) {
-              if(transition == 'none') {
-                start();
-                $currentMenu.transition('show');
-                callback.call(element);
-              }
-              else if($.fn.transition !== undefined && $module.transition('is supported')) {
-                $currentMenu
-                  .transition({
-                    animation  : transition + ' in',
-                    debug      : settings.debug,
-                    verbose    : settings.verbose,
-                    duration   : settings.duration,
-                    queue      : true,
-                    onStart    : start,
-                    onComplete : function() {
-                      callback.call(element);
-                    }
-                  })
-                ;
-              }
-              else {
-                module.error(error.noTransition, transition);
-              }
-            }
-          },
-          hide: function(callback, $subMenu) {
-            var
-              $currentMenu = $subMenu || $menu,
-              start = ($subMenu)
-                ? function() {}
-                : function() {
-                  if( module.can.click() ) {
-                    module.unbind.intent();
-                  }
-                  module.remove.active();
-                },
-              transition = module.get.transition($subMenu)
-            ;
-            callback = $.isFunction(callback)
-              ? callback
-              : function(){}
-            ;
-            if( module.is.visible($currentMenu) || module.is.animating($currentMenu) ) {
-              module.verbose('Doing menu hide animation', $currentMenu);
-
-              if(transition == 'none') {
-                start();
-                $currentMenu.transition('hide');
-                callback.call(element);
-              }
-              else if($.fn.transition !== undefined && $module.transition('is supported')) {
-                $currentMenu
-                  .transition({
-                    animation  : transition + ' out',
-                    duration   : settings.duration,
-                    debug      : settings.debug,
-                    verbose    : settings.verbose,
-                    queue      : false,
-                    onStart    : start,
-                    onComplete : function() {
-                      callback.call(element);
-                    }
-                  })
-                ;
-              }
-              else {
-                module.error(error.transition);
-              }
-            }
-          }
-        },
-
-        hideAndClear: function() {
-          module.remove.searchTerm();
-          if( module.has.maxSelections() ) {
-            return;
-          }
-          if(module.has.search()) {
-            module.hide(function() {
-              module.remove.filteredItem();
-            });
-          }
-          else {
-            module.hide();
-          }
-        },
-
-        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);
-          }
-        },
-
-        escape: {
-          value: function(value) {
-            var
-              multipleValues = Array.isArray(value),
-              stringValue    = (typeof value === 'string'),
-              isUnparsable   = (!stringValue && !multipleValues),
-              hasQuotes      = (stringValue && value.search(regExp.quote) !== -1),
-              values         = []
-            ;
-            if(isUnparsable || !hasQuotes) {
-              return value;
-            }
-            module.debug('Encoding quote values for use in select', value);
-            if(multipleValues) {
-              $.each(value, function(index, value){
-                values.push(value.replace(regExp.quote, '&quot;'));
-              });
-              return values;
-            }
-            return value.replace(regExp.quote, '&quot;');
-          },
-          string: function(text) {
-            text =  String(text);
-            return text.replace(regExp.escape, '\\$&');
-          },
-          htmlEntities: function(string) {
-              var
-                  badChars     = /[&<>"'`]/g,
-                  shouldEscape = /[&<>"'`]/,
-                  escape       = {
-                      "&": "&amp;",
-                      "<": "&lt;",
-                      ">": "&gt;",
-                      '"': "&quot;",
-                      "'": "&#x27;",
-                      "`": "&#x60;"
-                  },
-                  escapedChar  = function(chr) {
-                      return escape[chr];
-                  }
-              ;
-              if(shouldEscape.test(string)) {
-                  return string.replace(badChars, escapedChar);
-              }
-              return string;
-          }
-        },
-
-        setting: function(name, value) {
-          module.debug('Changing setting', name, value);
-          if( $.isPlainObject(name) ) {
-            $.extend(true, settings, name);
-          }
-          else if(value !== undefined) {
-            if($.isPlainObject(settings[name])) {
-              $.extend(true, settings[name], value);
-            }
-            else {
-              settings[name] = value;
-            }
-          }
-          else {
-            return settings[name];
-          }
-        },
-        internal: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, module, name);
-          }
-          else if(value !== undefined) {
-            module[name] = value;
-          }
-          else {
-            return module[name];
-          }
-        },
-        debug: function() {
-          if(!settings.silent && 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.silent && 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() {
-          if(!settings.silent) {
-            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({
-                'Name'           : message[0],
-                'Arguments'      : [].slice.call(message, 1) || '',
-                'Element'        : element,
-                'Execution Time' : executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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
-            object = instance,
-            maxDepth,
-            found,
-            response
-          ;
-          passedArguments = passedArguments || queryArguments;
-          context         = element         || context;
-          if(typeof query == 'string' && object !== 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( object[camelCaseValue] ) && (depth != maxDepth) ) {
-                object = object[camelCaseValue];
-              }
-              else if( object[camelCaseValue] !== undefined ) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
-                object = object[value];
-              }
-              else if( object[value] !== undefined ) {
-                found = object[value];
-                return false;
-              }
-              else {
-                module.error(error.method, query);
-                return false;
-              }
-            });
-          }
-          if ( $.isFunction( found ) ) {
-            response = found.apply(context, passedArguments);
-          }
-          else if(found !== undefined) {
-            response = found;
-          }
-          if(Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if(returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if(response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-
-      if(methodInvoked) {
-        if(instance === undefined) {
-          module.initialize();
-        }
-        module.invoke(query);
-      }
-      else {
-        if(instance !== undefined) {
-          instance.invoke('destroy');
-        }
-        module.initialize();
-      }
-    })
-  ;
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : $allModules
-  ;
-};
-
-$.fn.dropdown.settings = {
-
-  silent                 : false,
-  debug                  : false,
-  verbose                : false,
-  performance            : true,
-
-  on                     : 'click',    // what event should show menu action on item selection
-  action                 : 'activate', // action on item selection (nothing, activate, select, combo, hide, function(){})
-
-  values                 : false,      // specify values to use for dropdown
-
-  clearable              : false,      // whether the value of the dropdown can be cleared
-
-  apiSettings            : false,
-  selectOnKeydown        : true,       // Whether selection should occur automatically when keyboard shortcuts used
-  minCharacters          : 0,          // Minimum characters required to trigger API call
-
-  filterRemoteData       : false,      // Whether API results should be filtered after being returned for query term
-  saveRemoteData         : true,       // Whether remote name/value pairs should be stored in sessionStorage to allow remote data to be restored on page refresh
-
-  throttle               : 200,        // How long to wait after last user input to search remotely
-
-  context                : window,     // Context to use when determining if on screen
-  direction              : 'auto',     // Whether dropdown should always open in one direction
-  keepOnScreen           : true,       // Whether dropdown should check whether it is on screen before showing
-
-  match                  : 'both',     // what to match against with search selection (both, text, or label)
-  fullTextSearch         : false,      // search anywhere in value (set to 'exact' to require exact matches)
-  ignoreDiacritics       : false,      // match results also if they contain diacritics of the same base character (for example searching for "a" will also match "á" or "â" or "à", etc...)
-  hideDividers           : false,      // Whether to hide any divider elements (specified in selector.divider) that are sibling to any items when searched (set to true will hide all dividers, set to 'empty' will hide them when they are not followed by a visible item)
-
-  placeholder            : 'auto',     // whether to convert blank <select> values to placeholder text
-  preserveHTML           : true,       // preserve html when selecting value
-  sortSelect             : false,      // sort selection on init
-
-  forceSelection         : true,       // force a choice on blur with search selection
-
-  allowAdditions         : false,      // whether multiple select should allow user added values
-  ignoreCase             : false,       // whether to consider values not matching in case to be the same
-  hideAdditions          : true,       // whether or not to hide special message prompting a user they can enter a value
-
-  maxSelections          : false,      // When set to a number limits the number of selections to this count
-  useLabels              : true,       // whether multiple select should filter currently active selections from choices
-  delimiter              : ',',        // when multiselect uses normal <input> the values will be delimited with this character
-
-  showOnFocus            : true,       // show menu on focus
-  allowReselection       : false,      // whether current value should trigger callbacks when reselected
-  allowTab               : true,       // add tabindex to element
-  allowCategorySelection : false,      // allow elements with sub-menus to be selected
-
-  fireOnInit             : false,      // Whether callbacks should fire when initializing dropdown values
-
-  transition             : 'auto',     // auto transition will slide down or up based on direction
-  duration               : 200,        // duration of transition
-
-  glyphWidth             : 1.037,      // widest glyph width in em (W is 1.037 em) used to calculate multiselect input width
-
-  headerDivider          : true,       // whether option headers should have an additional divider line underneath when converted from <select> <optgroup>
-
-  // label settings on multi-select
-  label: {
-    transition : 'scale',
-    duration   : 200,
-    variation  : false
-  },
-
-  // delay before event
-  delay : {
-    hide   : 300,
-    show   : 200,
-    search : 20,
-    touch  : 50
-  },
-
-  /* Callbacks */
-  onChange      : function(value, text, $selected){},
-  onAdd         : function(value, text, $selected){},
-  onRemove      : function(value, text, $selected){},
-
-  onLabelSelect : function($selectedLabels){},
-  onLabelCreate : function(value, text) { return $(this); },
-  onLabelRemove : function(value) { return true; },
-  onNoResults   : function(searchTerm) { return true; },
-  onShow        : function(){},
-  onHide        : function(){},
-
-  /* Component */
-  name           : 'Dropdown',
-  namespace      : 'dropdown',
-
-  message: {
-    addResult     : 'Add <b>{term}</b>',
-    count         : '{count} selected',
-    maxSelections : 'Max {maxCount} selections',
-    noResults     : 'No results found.',
-    serverError   : 'There was an error contacting the server'
-  },
-
-  error : {
-    action          : 'You called a dropdown action that was not defined',
-    alreadySetup    : 'Once a select has been initialized behaviors must be called on the created ui dropdown',
-    labels          : 'Allowing user additions currently requires the use of labels.',
-    missingMultiple : '<select> requires multiple property to be set to correctly preserve multiple values',
-    method          : 'The method you called is not defined.',
-    noAPI           : 'The API module is required to load resources remotely',
-    noStorage       : 'Saving remote data requires session storage',
-    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>',
-    noNormalize     : '"ignoreDiacritics" setting will be ignored. Browser does not support String().normalize(). You may consider including <https://cdn.jsdelivr.net/npm/unorm@1.4.1/lib/unorm.min.js> as a polyfill.'
-  },
-
-  regExp : {
-    escape   : /[-[\]{}()*+?.,\\^$|#\s:=@]/g,
-    quote    : /"/g
-  },
-
-  metadata : {
-    defaultText     : 'defaultText',
-    defaultValue    : 'defaultValue',
-    placeholderText : 'placeholder',
-    text            : 'text',
-    value           : 'value'
-  },
-
-  // property names for remote query
-  fields: {
-    remoteValues : 'results',  // grouping for api results
-    values       : 'values',   // grouping for all dropdown values
-    disabled     : 'disabled', // whether value should be disabled
-    name         : 'name',     // displayed dropdown text
-    value        : 'value',    // actual dropdown value
-    text         : 'text',     // displayed text when selected
-    type         : 'type',     // type of dropdown element
-    image        : 'image',    // optional image path
-    imageClass   : 'imageClass', // optional individual class for image
-    icon         : 'icon',     // optional icon name
-    iconClass    : 'iconClass', // optional individual class for icon (for example to use flag instead)
-    class        : 'class',    // optional individual class for item/header
-    divider      : 'divider'   // optional divider append for group headers
-  },
-
-  keys : {
-    backspace  : 8,
-    delimiter  : 188, // comma
-    deleteKey  : 46,
-    enter      : 13,
-    escape     : 27,
-    pageUp     : 33,
-    pageDown   : 34,
-    leftArrow  : 37,
-    upArrow    : 38,
-    rightArrow : 39,
-    downArrow  : 40
-  },
-
-  selector : {
-    addition     : '.addition',
-    divider      : '.divider, .header',
-    dropdown     : '.ui.dropdown',
-    hidden       : '.hidden',
-    icon         : '> .dropdown.icon',
-    input        : '> input[type="hidden"], > select',
-    item         : '.item',
-    label        : '> .label',
-    remove       : '> .label > .delete.icon',
-    siblingLabel : '.label',
-    menu         : '.menu',
-    message      : '.message',
-    menuIcon     : '.dropdown.icon',
-    search       : 'input.search, .menu > .search > input, .menu input.search',
-    sizer        : '> input.sizer',
-    text         : '> .text:not(.icon)',
-    unselectable : '.disabled, .filtered',
-    clearIcon    : '> .remove.icon'
-  },
-
-  className : {
-    active      : 'active',
-    addition    : 'addition',
-    animating   : 'animating',
-    disabled    : 'disabled',
-    empty       : 'empty',
-    dropdown    : 'ui dropdown',
-    filtered    : 'filtered',
-    hidden      : 'hidden transition',
-    icon        : 'icon',
-    image       : 'image',
-    item        : 'item',
-    label       : 'ui label',
-    loading     : 'loading',
-    menu        : 'menu',
-    message     : 'message',
-    multiple    : 'multiple',
-    placeholder : 'default',
-    sizer       : 'sizer',
-    search      : 'search',
-    selected    : 'selected',
-    selection   : 'selection',
-    upward      : 'upward',
-    leftward    : 'left',
-    visible     : 'visible',
-    clearable   : 'clearable',
-    noselection : 'noselection',
-    delete      : 'delete',
-    header      : 'header',
-    divider     : 'divider',
-    groupIcon   : ''
-  }
-
-};
-
-/* Templates */
-$.fn.dropdown.settings.templates = {
-  deQuote: function(string) {
-      return String(string).replace(/"/g,"");
-  },
-  escape: function(string, preserveHTML) {
-    if (preserveHTML){
-      return string;
-    }
-    var
-        badChars     = /[&<>"'`]/g,
-        shouldEscape = /[&<>"'`]/,
-        escape       = {
-          "&": "&amp;",
-          "<": "&lt;",
-          ">": "&gt;",
-          '"': "&quot;",
-          "'": "&#x27;",
-          "`": "&#x60;"
-        },
-        escapedChar  = function(chr) {
-          return escape[chr];
-        }
-    ;
-    if(shouldEscape.test(string)) {
-      return string.replace(badChars, escapedChar);
-    }
-    return string;
-  },
-  // generates dropdown from select values
-  dropdown: function(select, fields, preserveHTML, className) {
-    var
-      placeholder = select.placeholder || false,
-      html        = '',
-      escape = $.fn.dropdown.settings.templates.escape
-    ;
-    html +=  '<i class="dropdown icon"></i>';
-    if(placeholder) {
-      html += '<div class="default text">' + escape(placeholder,preserveHTML) + '</div>';
-    }
-    else {
-      html += '<div class="text"></div>';
-    }
-    html += '<div class="'+className.menu+'">';
-    html += $.fn.dropdown.settings.templates.menu(select, fields, preserveHTML,className);
-    html += '</div>';
-    return html;
-  },
-
-  // generates just menu from select
-  menu: function(response, fields, preserveHTML, className) {
-    var
-      values = response[fields.values] || [],
-      html   = '',
-      escape = $.fn.dropdown.settings.templates.escape,
-      deQuote = $.fn.dropdown.settings.templates.deQuote
-    ;
-    $.each(values, function(index, option) {
-      var
-        itemType = (option[fields.type])
-          ? option[fields.type]
-          : 'item'
-      ;
-
-      if( itemType === 'item' ) {
-        var
-          maybeText = (option[fields.text])
-            ? ' data-text="' + deQuote(option[fields.text]) + '"'
-            : '',
-          maybeDisabled = (option[fields.disabled])
-            ? className.disabled+' '
-            : ''
-        ;
-        html += '<div class="'+ maybeDisabled + (option[fields.class] ? deQuote(option[fields.class]) : className.item)+'" data-value="' + deQuote(option[fields.value]) + '"' + maybeText + '>';
-        if(option[fields.image]) {
-          html += '<img class="'+(option[fields.imageClass] ? deQuote(option[fields.imageClass]) : className.image)+'" src="' + deQuote(option[fields.image]) + '">';
-        }
-        if(option[fields.icon]) {
-          html += '<i class="'+deQuote(option[fields.icon])+' '+(option[fields.iconClass] ? deQuote(option[fields.iconClass]) : className.icon)+'"></i>';
-        }
-        html +=   escape(option[fields.name],preserveHTML);
-        html += '</div>';
-      } else if (itemType === 'header') {
-        var groupName = escape(option[fields.name],preserveHTML),
-            groupIcon = option[fields.icon] ? deQuote(option[fields.icon]) : className.groupIcon
-        ;
-        if(groupName !== '' || groupIcon !== '') {
-          html += '<div class="' + (option[fields.class] ? deQuote(option[fields.class]) : className.header) + '">';
-          if (groupIcon !== '') {
-            html += '<i class="' + groupIcon + ' ' + (option[fields.iconClass] ? deQuote(option[fields.iconClass]) : className.icon) + '"></i>';
-          }
-          html += groupName;
-          html += '</div>';
-        }
-        if(option[fields.divider]){
-          html += '<div class="'+className.divider+'"></div>';
-        }
-      }
-    });
-    return html;
-  },
-
-  // generates label for multiselect
-  label: function(value, text, preserveHTML, className) {
-    var
-        escape = $.fn.dropdown.settings.templates.escape;
-    return escape(text,preserveHTML) + '<i class="'+className.delete+' icon"></i>';
-  },
-
-
-  // generates messages like "No results"
-  message: function(message) {
-    return message;
-  },
-
-  // generates user addition to selection menu
-  addition: function(choice) {
-    return choice;
-  }
-
-};
-
-})( jQuery, window, document );

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/dropdown.min.css


File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/dropdown.min.js


+ 0 - 166
webgui/static/components/embed.css

@@ -1,166 +0,0 @@
-/*!
- * # Fomantic-UI - Video
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Types
-*******************************/
-
-.ui.embed {
-  position: relative;
-  max-width: 100%;
-  height: 0;
-  overflow: hidden;
-  background: #DCDDDE;
-  padding-bottom: 56.25%;
-}
-
-/*-----------------
-  Embedded Content
-------------------*/
-
-.ui.embed iframe,
-.ui.embed embed,
-.ui.embed object {
-  position: absolute;
-  border: none;
-  width: 100%;
-  height: 100%;
-  top: 0;
-  left: 0;
-  margin: 0;
-  padding: 0;
-  overflow: hidden;
-}
-
-/*-----------------
-      Embed
-------------------*/
-
-.ui.embed > .embed {
-  display: none;
-}
-
-/*--------------
-   Placeholder
----------------*/
-
-.ui.embed > .placeholder {
-  position: absolute;
-  cursor: pointer;
-  top: 0;
-  left: 0;
-  display: block;
-  width: 100%;
-  height: 100%;
-  background-color: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
-}
-
-/*--------------
-      Icon
----------------*/
-
-.ui.embed > .icon {
-  cursor: pointer;
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 2;
-}
-.ui.embed > .icon:after {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 3;
-  content: '';
-  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
-  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
-  opacity: 0.5;
-  -webkit-transition: opacity 0.5s ease;
-  transition: opacity 0.5s ease;
-}
-.ui.embed > .icon:before {
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  -webkit-transform: translateX(-50%) translateY(-50%);
-          transform: translateX(-50%) translateY(-50%);
-  color: #FFFFFF;
-  font-size: 6rem;
-  text-shadow: 0 2px 10px rgba(34, 36, 38, 0.2);
-  -webkit-transition: opacity 0.5s ease, color 0.5s ease;
-  transition: opacity 0.5s ease, color 0.5s ease;
-  z-index: 10;
-}
-
-
-/*******************************
-            States
-*******************************/
-
-
-/*--------------
-     Hover
----------------*/
-
-.ui.embed .icon:hover:after {
-  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
-  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
-  opacity: 1;
-}
-.ui.embed .icon:hover:before {
-  color: #FFFFFF;
-}
-
-/*--------------
-     Active
----------------*/
-
-.ui.active.embed > .icon,
-.ui.active.embed > .placeholder {
-  display: none;
-}
-.ui.active.embed > .embed {
-  display: block;
-}
-
-
-/*******************************
-        Video Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-
-
-
-/*******************************
-          Variations
-*******************************/
-
-.ui.square.embed {
-  padding-bottom: 100%;
-}
-.ui[class*="4:3"].embed {
-  padding-bottom: 75%;
-}
-.ui[class*="16:9"].embed {
-  padding-bottom: 56.25%;
-}
-.ui[class*="21:9"].embed {
-  padding-bottom: 42.85714286%;
-}

+ 0 - 709
webgui/static/components/embed.js

@@ -1,709 +0,0 @@
-/*!
- * # Fomantic-UI - Embed
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-"use strict";
-
-$.isFunction = $.isFunction || function(obj) {
-  return typeof obj === "function" && typeof obj.nodeType !== "number";
-};
-
-window = (typeof window != 'undefined' && window.Math == Math)
-  ? window
-  : (typeof self != 'undefined' && self.Math == Math)
-    ? self
-    : Function('return this')()
-;
-
-$.fn.embed = 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),
-
-    returnedValue
-  ;
-
-  $allModules
-    .each(function() {
-      var
-        settings        = ( $.isPlainObject(parameters) )
-          ? $.extend(true, {}, $.fn.embed.settings, parameters)
-          : $.extend({}, $.fn.embed.settings),
-
-        selector        = settings.selector,
-        className       = settings.className,
-        sources         = settings.sources,
-        error           = settings.error,
-        metadata        = settings.metadata,
-        namespace       = settings.namespace,
-        templates       = settings.templates,
-
-        eventNamespace  = '.' + namespace,
-        moduleNamespace = 'module-' + namespace,
-
-        $module         = $(this),
-        $placeholder    = $module.find(selector.placeholder),
-        $icon           = $module.find(selector.icon),
-        $embed          = $module.find(selector.embed),
-
-        element         = this,
-        instance        = $module.data(moduleNamespace),
-        module
-      ;
-
-      module = {
-
-        initialize: function() {
-          module.debug('Initializing embed');
-          module.determine.autoplay();
-          module.create();
-          module.bind.events();
-          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 embed');
-          module.reset();
-          $module
-            .removeData(moduleNamespace)
-            .off(eventNamespace)
-          ;
-        },
-
-        refresh: function() {
-          module.verbose('Refreshing selector cache');
-          $placeholder = $module.find(selector.placeholder);
-          $icon        = $module.find(selector.icon);
-          $embed       = $module.find(selector.embed);
-        },
-
-        bind: {
-          events: function() {
-            if( module.has.placeholder() ) {
-              module.debug('Adding placeholder events');
-              $module
-                .on('click' + eventNamespace, selector.placeholder, module.createAndShow)
-                .on('click' + eventNamespace, selector.icon, module.createAndShow)
-              ;
-            }
-          }
-        },
-
-        create: function() {
-          var
-            placeholder = module.get.placeholder()
-          ;
-          if(placeholder) {
-            module.createPlaceholder();
-          }
-          else {
-            module.createAndShow();
-          }
-        },
-
-        createPlaceholder: function(placeholder) {
-          var
-            icon  = module.get.icon(),
-            url   = module.get.url(),
-            embed = module.generate.embed(url)
-          ;
-          placeholder = placeholder || module.get.placeholder();
-          $module.html( templates.placeholder(placeholder, icon) );
-          module.debug('Creating placeholder for embed', placeholder, icon);
-        },
-
-        createEmbed: function(url) {
-          module.refresh();
-          url = url || module.get.url();
-          $embed = $('<div/>')
-            .addClass(className.embed)
-            .html( module.generate.embed(url) )
-            .appendTo($module)
-          ;
-          settings.onCreate.call(element, url);
-          module.debug('Creating embed object', $embed);
-        },
-
-        changeEmbed: function(url) {
-          $embed
-            .html( module.generate.embed(url) )
-          ;
-        },
-
-        createAndShow: function() {
-          module.createEmbed();
-          module.show();
-        },
-
-        // sets new embed
-        change: function(source, id, url) {
-          module.debug('Changing video to ', source, id, url);
-          $module
-            .data(metadata.source, source)
-            .data(metadata.id, id)
-          ;
-          if(url) {
-            $module.data(metadata.url, url);
-          }
-          else {
-            $module.removeData(metadata.url);
-          }
-          if(module.has.embed()) {
-            module.changeEmbed();
-          }
-          else {
-            module.create();
-          }
-        },
-
-        // clears embed
-        reset: function() {
-          module.debug('Clearing embed and showing placeholder');
-          module.remove.data();
-          module.remove.active();
-          module.remove.embed();
-          module.showPlaceholder();
-          settings.onReset.call(element);
-        },
-
-        // shows current embed
-        show: function() {
-          module.debug('Showing embed');
-          module.set.active();
-          settings.onDisplay.call(element);
-        },
-
-        hide: function() {
-          module.debug('Hiding embed');
-          module.showPlaceholder();
-        },
-
-        showPlaceholder: function() {
-          module.debug('Showing placeholder image');
-          module.remove.active();
-          settings.onPlaceholderDisplay.call(element);
-        },
-
-        get: {
-          id: function() {
-            return settings.id || $module.data(metadata.id);
-          },
-          placeholder: function() {
-            return settings.placeholder || $module.data(metadata.placeholder);
-          },
-          icon: function() {
-            return (settings.icon)
-              ? settings.icon
-              : ($module.data(metadata.icon) !== undefined)
-                ? $module.data(metadata.icon)
-                : module.determine.icon()
-            ;
-          },
-          source: function(url) {
-            return (settings.source)
-              ? settings.source
-              : ($module.data(metadata.source) !== undefined)
-                ? $module.data(metadata.source)
-                : module.determine.source()
-            ;
-          },
-          type: function() {
-            var source = module.get.source();
-            return (sources[source] !== undefined)
-              ? sources[source].type
-              : false
-            ;
-          },
-          url: function() {
-            return (settings.url)
-              ? settings.url
-              : ($module.data(metadata.url) !== undefined)
-                ? $module.data(metadata.url)
-                : module.determine.url()
-            ;
-          }
-        },
-
-        determine: {
-          autoplay: function() {
-            if(module.should.autoplay()) {
-              settings.autoplay = true;
-            }
-          },
-          source: function(url) {
-            var
-              matchedSource = false
-            ;
-            url = url || module.get.url();
-            if(url) {
-              $.each(sources, function(name, source) {
-                if(url.search(source.domain) !== -1) {
-                  matchedSource = name;
-                  return false;
-                }
-              });
-            }
-            return matchedSource;
-          },
-          icon: function() {
-            var
-              source = module.get.source()
-            ;
-            return (sources[source] !== undefined)
-              ? sources[source].icon
-              : false
-            ;
-          },
-          url: function() {
-            var
-              id     = settings.id     || $module.data(metadata.id),
-              source = settings.source || $module.data(metadata.source),
-              url
-            ;
-            url = (sources[source] !== undefined)
-              ? sources[source].url.replace('{id}', id)
-              : false
-            ;
-            if(url) {
-              $module.data(metadata.url, url);
-            }
-            return url;
-          }
-        },
-
-
-        set: {
-          active: function() {
-            $module.addClass(className.active);
-          }
-        },
-
-        remove: {
-          data: function() {
-            $module
-              .removeData(metadata.id)
-              .removeData(metadata.icon)
-              .removeData(metadata.placeholder)
-              .removeData(metadata.source)
-              .removeData(metadata.url)
-            ;
-          },
-          active: function() {
-            $module.removeClass(className.active);
-          },
-          embed: function() {
-            $embed.empty();
-          }
-        },
-
-        encode: {
-          parameters: function(parameters) {
-            var
-              urlString = [],
-              index
-            ;
-            for (index in parameters) {
-              urlString.push( encodeURIComponent(index) + '=' + encodeURIComponent( parameters[index] ) );
-            }
-            return urlString.join('&amp;');
-          }
-        },
-
-        generate: {
-          embed: function(url) {
-            module.debug('Generating embed html');
-            var
-              source = module.get.source(),
-              html,
-              parameters
-            ;
-            url = module.get.url(url);
-            if(url) {
-              parameters = module.generate.parameters(source);
-              html       = templates.iframe(url, parameters);
-            }
-            else {
-              module.error(error.noURL, $module);
-            }
-            return html;
-          },
-          parameters: function(source, extraParameters) {
-            var
-              parameters = (sources[source] && sources[source].parameters !== undefined)
-                ? sources[source].parameters(settings)
-                : {}
-            ;
-            extraParameters = extraParameters || settings.parameters;
-            if(extraParameters) {
-              parameters = $.extend({}, parameters, extraParameters);
-            }
-            parameters = settings.onEmbed(parameters);
-            return module.encode.parameters(parameters);
-          }
-        },
-
-        has: {
-          embed: function() {
-            return ($embed.length > 0);
-          },
-          placeholder: function() {
-            return settings.placeholder || $module.data(metadata.placeholder);
-          }
-        },
-
-        should: {
-          autoplay: function() {
-            return (settings.autoplay === 'auto')
-              ? (settings.placeholder || $module.data(metadata.placeholder) !== undefined)
-              : settings.autoplay
-            ;
-          }
-        },
-
-        is: {
-          video: function() {
-            return module.get.type() == 'video';
-          }
-        },
-
-        setting: function(name, value) {
-          module.debug('Changing setting', name, value);
-          if( $.isPlainObject(name) ) {
-            $.extend(true, settings, name);
-          }
-          else if(value !== undefined) {
-            if($.isPlainObject(settings[name])) {
-              $.extend(true, settings[name], value);
-            }
-            else {
-              settings[name] = value;
-            }
-          }
-          else {
-            return settings[name];
-          }
-        },
-        internal: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, module, name);
-          }
-          else if(value !== undefined) {
-            module[name] = value;
-          }
-          else {
-            return module[name];
-          }
-        },
-        debug: function() {
-          if(!settings.silent && 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.silent && 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() {
-          if(!settings.silent) {
-            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({
-                'Name'           : message[0],
-                'Arguments'      : [].slice.call(message, 1) || '',
-                'Element'        : element,
-                'Execution Time' : executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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.length > 1) {
-              title += ' ' + '(' + $allModules.length + ')';
-            }
-            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
-            object = instance,
-            maxDepth,
-            found,
-            response
-          ;
-          passedArguments = passedArguments || queryArguments;
-          context         = element         || context;
-          if(typeof query == 'string' && object !== 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( object[camelCaseValue] ) && (depth != maxDepth) ) {
-                object = object[camelCaseValue];
-              }
-              else if( object[camelCaseValue] !== undefined ) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
-                object = object[value];
-              }
-              else if( object[value] !== undefined ) {
-                found = object[value];
-                return false;
-              }
-              else {
-                module.error(error.method, query);
-                return false;
-              }
-            });
-          }
-          if ( $.isFunction( found ) ) {
-            response = found.apply(context, passedArguments);
-          }
-          else if(found !== undefined) {
-            response = found;
-          }
-          if(Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if(returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if(response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-
-      if(methodInvoked) {
-        if(instance === undefined) {
-          module.initialize();
-        }
-        module.invoke(query);
-      }
-      else {
-        if(instance !== undefined) {
-          instance.invoke('destroy');
-        }
-        module.initialize();
-      }
-    })
-  ;
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : this
-  ;
-};
-
-$.fn.embed.settings = {
-
-  name        : 'Embed',
-  namespace   : 'embed',
-
-  silent      : false,
-  debug       : false,
-  verbose     : false,
-  performance : true,
-
-  icon     : false,
-  source   : false,
-  url      : false,
-  id       : false,
-
-  // standard video settings
-  autoplay  : 'auto',
-  color     : '#444444',
-  hd        : true,
-  brandedUI : false,
-
-  // additional parameters to include with the embed
-  parameters: false,
-
-  onDisplay            : function() {},
-  onPlaceholderDisplay : function() {},
-  onReset              : function() {},
-  onCreate             : function(url) {},
-  onEmbed              : function(parameters) {
-    return parameters;
-  },
-
-  metadata    : {
-    id          : 'id',
-    icon        : 'icon',
-    placeholder : 'placeholder',
-    source      : 'source',
-    url         : 'url'
-  },
-
-  error : {
-    noURL  : 'No URL specified',
-    method : 'The method you called is not defined'
-  },
-
-  className : {
-    active : 'active',
-    embed  : 'embed'
-  },
-
-  selector : {
-    embed       : '.embed',
-    placeholder : '.placeholder',
-    icon        : '.icon'
-  },
-
-  sources: {
-    youtube: {
-      name   : 'youtube',
-      type   : 'video',
-      icon   : 'video play',
-      domain : 'youtube.com',
-      url    : '//www.youtube.com/embed/{id}',
-      parameters: function(settings) {
-        return {
-          autohide       : !settings.brandedUI,
-          autoplay       : settings.autoplay,
-          color          : settings.color || undefined,
-          hq             : settings.hd,
-          jsapi          : settings.api,
-          modestbranding : !settings.brandedUI
-        };
-      }
-    },
-    vimeo: {
-      name   : 'vimeo',
-      type   : 'video',
-      icon   : 'video play',
-      domain : 'vimeo.com',
-      url    : '//player.vimeo.com/video/{id}',
-      parameters: function(settings) {
-        return {
-          api      : settings.api,
-          autoplay : settings.autoplay,
-          byline   : settings.brandedUI,
-          color    : settings.color || undefined,
-          portrait : settings.brandedUI,
-          title    : settings.brandedUI
-        };
-      }
-    }
-  },
-
-  templates: {
-    iframe : function(url, parameters) {
-      var src = url;
-      if (parameters) {
-          src += '?' + parameters;
-      }
-      return ''
-        + '<iframe src="' + src + '"'
-        + ' width="100%" height="100%"'
-        + ' webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'
-      ;
-    },
-    placeholder : function(image, icon) {
-      var
-        html = ''
-      ;
-      if(icon) {
-        html += '<i class="' + icon + ' icon"></i>';
-      }
-      if(image) {
-        html += '<img class="placeholder" src="' + image + '">';
-      }
-      return html;
-    }
-  },
-
-  // NOT YET IMPLEMENTED
-  api     : false,
-  onPause : function() {},
-  onPlay  : function() {},
-  onStop  : function() {}
-
-};
-
-
-
-})( jQuery, window, document );

+ 0 - 9
webgui/static/components/embed.min.css

@@ -1,9 +0,0 @@
-/*!
- * # Fomantic-UI - Video
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */.ui.embed{position:relative;max-width:100%;height:0;overflow:hidden;background:#dcddde;padding-bottom:56.25%}.ui.embed embed,.ui.embed iframe,.ui.embed object{position:absolute;border:none;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:hidden}.ui.embed>.embed{display:none}.ui.embed>.placeholder{position:absolute;cursor:pointer;top:0;left:0;display:block;width:100%;height:100%;background-color:radial-gradient(transparent 45%,rgba(0,0,0,.3))}.ui.embed>.icon{cursor:pointer;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.ui.embed>.icon:after{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;content:'';background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:.5;-webkit-transition:opacity .5s ease;transition:opacity .5s ease}.ui.embed>.icon:before{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);color:#fff;font-size:6rem;text-shadow:0 2px 10px rgba(34,36,38,.2);-webkit-transition:opacity .5s ease,color .5s ease;transition:opacity .5s ease,color .5s ease;z-index:10}.ui.embed .icon:hover:after{background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:1}.ui.embed .icon:hover:before{color:#fff}.ui.active.embed>.icon,.ui.active.embed>.placeholder{display:none}.ui.active.embed>.embed{display:block}.ui.square.embed{padding-bottom:100%}.ui[class*="4:3"].embed{padding-bottom:75%}.ui[class*="16:9"].embed{padding-bottom:56.25%}.ui[class*="21:9"].embed{padding-bottom:42.85714286%}

File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/embed.min.js


+ 0 - 314
webgui/static/components/feed.css

@@ -1,314 +0,0 @@
-/*!
- * # Fomantic-UI - Feed
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-         Activity Feed
-*******************************/
-
-.ui.feed {
-  margin: 1em 0;
-}
-.ui.feed:first-child {
-  margin-top: 0;
-}
-.ui.feed:last-child {
-  margin-bottom: 0;
-}
-
-
-/*******************************
-            Content
-*******************************/
-
-
-/* Event */
-.ui.feed > .event {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-orient: horizontal;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: row;
-          flex-direction: row;
-  width: 100%;
-  padding: 0.21428571rem 0;
-  margin: 0;
-  background: none;
-  border-top: none;
-}
-.ui.feed > .event:first-child {
-  border-top: 0;
-  padding-top: 0;
-}
-.ui.feed > .event:last-child {
-  padding-bottom: 0;
-}
-
-/* Event Label */
-.ui.feed > .event > .label {
-  display: block;
-  -webkit-box-flex: 0;
-      -ms-flex: 0 0 auto;
-          flex: 0 0 auto;
-  width: 2.5em;
-  height: auto;
-  -ms-flex-item-align: stretch;
-      align-self: stretch;
-  text-align: left;
-}
-.ui.feed > .event > .label .icon {
-  opacity: 1;
-  font-size: 1.5em;
-  width: 100%;
-  padding: 0.25em;
-  background: none;
-  border: none;
-  border-radius: none;
-  color: rgba(0, 0, 0, 0.6);
-}
-.ui.feed > .event > .label img {
-  width: 100%;
-  height: auto;
-  border-radius: 500rem;
-}
-.ui.feed > .event > .label + .content {
-  margin: 0.5em 0 0.35714286em 1.14285714em;
-}
-
-/*--------------
-     Content
----------------*/
-
-
-/* Content */
-.ui.feed > .event > .content {
-  display: block;
-  -webkit-box-flex: 1;
-      -ms-flex: 1 1 auto;
-          flex: 1 1 auto;
-  -ms-flex-item-align: stretch;
-      align-self: stretch;
-  text-align: left;
-  word-wrap: break-word;
-}
-.ui.feed > .event:last-child > .content {
-  padding-bottom: 0;
-}
-
-/* Link */
-.ui.feed > .event > .content a {
-  cursor: pointer;
-}
-
-/*--------------
-      Date
----------------*/
-
-.ui.feed > .event > .content .date {
-  margin: -0.5rem 0 0;
-  padding: 0;
-  color: rgba(0, 0, 0, 0.4);
-  font-weight: normal;
-  font-size: 1em;
-  font-style: normal;
-}
-
-/*--------------
-     Summary
----------------*/
-
-.ui.feed > .event > .content .summary {
-  margin: 0;
-  font-size: 1em;
-  font-weight: bold;
-  color: #AAAAAA;
-}
-
-/* Summary Image */
-.ui.feed > .event > .content .summary img {
-  display: inline-block;
-  width: auto;
-  height: 10em;
-  margin: -0.25em 0.25em 0 0;
-  border-radius: 0.25em;
-  vertical-align: middle;
-}
-
-/*--------------
-      User
----------------*/
-
-.ui.feed > .event > .content .user {
-  display: inline-block;
-  font-weight: bold;
-  margin-right: 0;
-  vertical-align: baseline;
-}
-.ui.feed > .event > .content .user img {
-  margin: -0.25em 0.25em 0 0;
-  width: auto;
-  height: 10em;
-  vertical-align: middle;
-}
-
-/*--------------
-   Inline Date
----------------*/
-
-
-/* Date inside Summary */
-.ui.feed > .event > .content .summary > .date {
-  display: inline-block;
-  float: none;
-  font-weight: normal;
-  font-size: 0.85714286em;
-  font-style: normal;
-  margin: 0 0 0 0.5em;
-  padding: 0;
-  color: rgba(0, 0, 0, 0.4);
-}
-
-/*--------------
-  Extra Summary
----------------*/
-
-.ui.feed > .event > .content .extra {
-  margin: 0.5em 0 0;
-  background: none;
-  padding: 0;
-  color: #AAAAAA;
-}
-
-/* Images */
-.ui.feed > .event > .content .extra.images img {
-  display: inline-block;
-  margin: 0 0.25em 0 0;
-  width: 6em;
-}
-
-/* Text */
-.ui.feed > .event > .content .extra.text {
-  padding: 0;
-  border-left: none;
-  font-size: 1em;
-  max-width: 500px;
-  line-height: 1.4285em;
-}
-
-/*--------------
-      Meta
----------------*/
-
-.ui.feed > .event > .content .meta {
-  display: inline-block;
-  font-size: 0.85714286em;
-  margin: 0.5em 0 0;
-  background: none;
-  border: none;
-  border-radius: 0;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  padding: 0;
-  color: rgba(0, 0, 0, 0.6);
-}
-.ui.feed > .event > .content .meta > * {
-  position: relative;
-  margin-left: 0.75em;
-}
-.ui.feed > .event > .content .meta > *:after {
-  content: '';
-  color: rgba(0, 0, 0, 0.2);
-  top: 0;
-  left: -1em;
-  opacity: 1;
-  position: absolute;
-  vertical-align: top;
-}
-.ui.feed > .event > .content .meta .like {
-  color: '';
-  -webkit-transition: 0.2s color ease;
-  transition: 0.2s color ease;
-}
-.ui.feed > .event > .content .meta .like:hover .icon {
-  color: #FF2733;
-}
-.ui.feed > .event > .content .meta .active.like .icon {
-  color: #EF404A;
-}
-
-/* First element */
-.ui.feed > .event > .content .meta > :first-child {
-  margin-left: 0;
-}
-.ui.feed > .event > .content .meta > :first-child::after {
-  display: none;
-}
-
-/* Action */
-.ui.feed > .event > .content .meta a,
-.ui.feed > .event > .content .meta > .icon {
-  cursor: pointer;
-  opacity: 1;
-  color: rgba(0, 0, 0, 0.5);
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-}
-.ui.feed > .event > .content .meta a:hover,
-.ui.feed > .event > .content .meta a:hover .icon,
-.ui.feed > .event > .content .meta > .icon:hover {
-  color: rgba(0, 0, 0, 0.95);
-}
-
-
-/*******************************
-            Variations
-*******************************/
-
-.ui.small.feed {
-  font-size: 0.92857143rem;
-}
-.ui.feed {
-  font-size: 1rem;
-}
-.ui.large.feed {
-  font-size: 1.14285714rem;
-}
-
-/*------------------
-      Inverted
--------------------*/
-
-.ui.inverted.feed > .event {
-  background: #1B1C1D;
-}
-.ui.inverted.feed > .event > .content .date,
-.ui.inverted.feed > .event > .content .meta .like {
-  color: rgba(255, 255, 255, 0.7);
-}
-.ui.inverted.feed > .event > .content .summary,
-.ui.inverted.feed > .event > .content .extra.text {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.feed > .event > .content .meta .like:hover {
-  color: #ffffff;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-    User Variable Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/feed.min.css


+ 0 - 1038
webgui/static/components/flag.css

@@ -1,1038 +0,0 @@
-/*!
- * # Fomantic-UI - Flag
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-             Flag
-*******************************/
-
-i.flag:not(.icon) {
-  display: inline-block;
-  width: 16px;
-  height: 11px;
-  line-height: 11px;
-  vertical-align: baseline;
-  margin: 0 0.5em 0 0;
-  text-decoration: inherit;
-  speak: none;
-  -webkit-font-smoothing: antialiased;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden;
-}
-
-/* Sprite */
-i.flag:not(.icon):before {
-  display: inline-block;
-  content: '';
-  background: url("./../themes/default/assets/images/flags.png") no-repeat -108px -1976px;
-  width: 16px;
-  height: 11px;
-}
-
-/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-/*rtl:begin:ignore*/
-i.flag.ad:before,
-i.flag.andorra:before {
-  background-position: 0 0;
-}
-i.flag.ae:before,
-i.flag.united.arab.emirates:before,
-i.flag.uae:before {
-  background-position: 0 -26px;
-}
-i.flag.af:before,
-i.flag.afghanistan:before {
-  background-position: 0 -52px;
-}
-i.flag.ag:before,
-i.flag.antigua:before {
-  background-position: 0 -78px;
-}
-i.flag.ai:before,
-i.flag.anguilla:before {
-  background-position: 0 -104px;
-}
-i.flag.al:before,
-i.flag.albania:before {
-  background-position: 0 -130px;
-}
-i.flag.am:before,
-i.flag.armenia:before {
-  background-position: 0 -156px;
-}
-i.flag.an:before,
-i.flag.netherlands.antilles:before {
-  background-position: 0 -182px;
-}
-i.flag.ao:before,
-i.flag.angola:before {
-  background-position: 0 -208px;
-}
-i.flag.ar:before,
-i.flag.argentina:before {
-  background-position: 0 -234px;
-}
-i.flag.as:before,
-i.flag.american.samoa:before {
-  background-position: 0 -260px;
-}
-i.flag.at:before,
-i.flag.austria:before {
-  background-position: 0 -286px;
-}
-i.flag.au:before,
-i.flag.australia:before {
-  background-position: 0 -312px;
-}
-i.flag.aw:before,
-i.flag.aruba:before {
-  background-position: 0 -338px;
-}
-i.flag.ax:before,
-i.flag.aland.islands:before {
-  background-position: 0 -364px;
-}
-i.flag.az:before,
-i.flag.azerbaijan:before {
-  background-position: 0 -390px;
-}
-i.flag.ba:before,
-i.flag.bosnia:before {
-  background-position: 0 -416px;
-}
-i.flag.bb:before,
-i.flag.barbados:before {
-  background-position: 0 -442px;
-}
-i.flag.bd:before,
-i.flag.bangladesh:before {
-  background-position: 0 -468px;
-}
-i.flag.be:before,
-i.flag.belgium:before {
-  background-position: 0 -494px;
-}
-i.flag.bf:before,
-i.flag.burkina.faso:before {
-  background-position: 0 -520px;
-}
-i.flag.bg:before,
-i.flag.bulgaria:before {
-  background-position: 0 -546px;
-}
-i.flag.bh:before,
-i.flag.bahrain:before {
-  background-position: 0 -572px;
-}
-i.flag.bi:before,
-i.flag.burundi:before {
-  background-position: 0 -598px;
-}
-i.flag.bj:before,
-i.flag.benin:before {
-  background-position: 0 -624px;
-}
-i.flag.bm:before,
-i.flag.bermuda:before {
-  background-position: 0 -650px;
-}
-i.flag.bn:before,
-i.flag.brunei:before {
-  background-position: 0 -676px;
-}
-i.flag.bo:before,
-i.flag.bolivia:before {
-  background-position: 0 -702px;
-}
-i.flag.br:before,
-i.flag.brazil:before {
-  background-position: 0 -728px;
-}
-i.flag.bs:before,
-i.flag.bahamas:before {
-  background-position: 0 -754px;
-}
-i.flag.bt:before,
-i.flag.bhutan:before {
-  background-position: 0 -780px;
-}
-i.flag.bv:before,
-i.flag.bouvet.island:before {
-  background-position: 0 -806px;
-}
-i.flag.bw:before,
-i.flag.botswana:before {
-  background-position: 0 -832px;
-}
-i.flag.by:before,
-i.flag.belarus:before {
-  background-position: 0 -858px;
-}
-i.flag.bz:before,
-i.flag.belize:before {
-  background-position: 0 -884px;
-}
-i.flag.ca:before,
-i.flag.canada:before {
-  background-position: 0 -910px;
-}
-i.flag.cc:before,
-i.flag.cocos.islands:before {
-  background-position: 0 -962px;
-}
-i.flag.cd:before,
-i.flag.congo:before {
-  background-position: 0 -988px;
-}
-i.flag.cf:before,
-i.flag.central.african.republic:before {
-  background-position: 0 -1014px;
-}
-i.flag.cg:before,
-i.flag.congo.brazzaville:before {
-  background-position: 0 -1040px;
-}
-i.flag.ch:before,
-i.flag.switzerland:before {
-  background-position: 0 -1066px;
-}
-i.flag.ci:before,
-i.flag.cote.divoire:before {
-  background-position: 0 -1092px;
-}
-i.flag.ck:before,
-i.flag.cook.islands:before {
-  background-position: 0 -1118px;
-}
-i.flag.cl:before,
-i.flag.chile:before {
-  background-position: 0 -1144px;
-}
-i.flag.cm:before,
-i.flag.cameroon:before {
-  background-position: 0 -1170px;
-}
-i.flag.cn:before,
-i.flag.china:before {
-  background-position: 0 -1196px;
-}
-i.flag.co:before,
-i.flag.colombia:before {
-  background-position: 0 -1222px;
-}
-i.flag.cr:before,
-i.flag.costa.rica:before {
-  background-position: 0 -1248px;
-}
-i.flag.cs:before,
-i.flag.serbia:before {
-  background-position: 0 -1274px;
-}
-i.flag.cu:before,
-i.flag.cuba:before {
-  background-position: 0 -1300px;
-}
-i.flag.cv:before,
-i.flag.cape.verde:before {
-  background-position: 0 -1326px;
-}
-i.flag.cx:before,
-i.flag.christmas.island:before {
-  background-position: 0 -1352px;
-}
-i.flag.cy:before,
-i.flag.cyprus:before {
-  background-position: 0 -1378px;
-}
-i.flag.cz:before,
-i.flag.czech.republic:before {
-  background-position: 0 -1404px;
-}
-i.flag.de:before,
-i.flag.germany:before {
-  background-position: 0 -1430px;
-}
-i.flag.dj:before,
-i.flag.djibouti:before {
-  background-position: 0 -1456px;
-}
-i.flag.dk:before,
-i.flag.denmark:before {
-  background-position: 0 -1482px;
-}
-i.flag.dm:before,
-i.flag.dominica:before {
-  background-position: 0 -1508px;
-}
-i.flag.do:before,
-i.flag.dominican.republic:before {
-  background-position: 0 -1534px;
-}
-i.flag.dz:before,
-i.flag.algeria:before {
-  background-position: 0 -1560px;
-}
-i.flag.ec:before,
-i.flag.ecuador:before {
-  background-position: 0 -1586px;
-}
-i.flag.ee:before,
-i.flag.estonia:before {
-  background-position: 0 -1612px;
-}
-i.flag.eg:before,
-i.flag.egypt:before {
-  background-position: 0 -1638px;
-}
-i.flag.eh:before,
-i.flag.western.sahara:before {
-  background-position: 0 -1664px;
-}
-i.flag.gb.eng:before,
-i.flag.england:before {
-  background-position: 0 -1690px;
-}
-i.flag.er:before,
-i.flag.eritrea:before {
-  background-position: 0 -1716px;
-}
-i.flag.es:before,
-i.flag.spain:before {
-  background-position: 0 -1742px;
-}
-i.flag.et:before,
-i.flag.ethiopia:before {
-  background-position: 0 -1768px;
-}
-i.flag.eu:before,
-i.flag.european.union:before {
-  background-position: 0 -1794px;
-}
-i.flag.fi:before,
-i.flag.finland:before {
-  background-position: 0 -1846px;
-}
-i.flag.fj:before,
-i.flag.fiji:before {
-  background-position: 0 -1872px;
-}
-i.flag.fk:before,
-i.flag.falkland.islands:before {
-  background-position: 0 -1898px;
-}
-i.flag.fm:before,
-i.flag.micronesia:before {
-  background-position: 0 -1924px;
-}
-i.flag.fo:before,
-i.flag.faroe.islands:before {
-  background-position: 0 -1950px;
-}
-i.flag.fr:before,
-i.flag.france:before {
-  background-position: 0 -1976px;
-}
-i.flag.ga:before,
-i.flag.gabon:before {
-  background-position: -36px 0;
-}
-i.flag.gb:before,
-i.flag.uk:before,
-i.flag.united.kingdom:before {
-  background-position: -36px -26px;
-}
-i.flag.gd:before,
-i.flag.grenada:before {
-  background-position: -36px -52px;
-}
-i.flag.ge:before,
-i.flag.georgia:before {
-  background-position: -36px -78px;
-}
-i.flag.gf:before,
-i.flag.french.guiana:before {
-  background-position: -36px -104px;
-}
-i.flag.gh:before,
-i.flag.ghana:before {
-  background-position: -36px -130px;
-}
-i.flag.gi:before,
-i.flag.gibraltar:before {
-  background-position: -36px -156px;
-}
-i.flag.gl:before,
-i.flag.greenland:before {
-  background-position: -36px -182px;
-}
-i.flag.gm:before,
-i.flag.gambia:before {
-  background-position: -36px -208px;
-}
-i.flag.gn:before,
-i.flag.guinea:before {
-  background-position: -36px -234px;
-}
-i.flag.gp:before,
-i.flag.guadeloupe:before {
-  background-position: -36px -260px;
-}
-i.flag.gq:before,
-i.flag.equatorial.guinea:before {
-  background-position: -36px -286px;
-}
-i.flag.gr:before,
-i.flag.greece:before {
-  background-position: -36px -312px;
-}
-i.flag.gs:before,
-i.flag.sandwich.islands:before {
-  background-position: -36px -338px;
-}
-i.flag.gt:before,
-i.flag.guatemala:before {
-  background-position: -36px -364px;
-}
-i.flag.gu:before,
-i.flag.guam:before {
-  background-position: -36px -390px;
-}
-i.flag.gw:before,
-i.flag.guinea-bissau:before {
-  background-position: -36px -416px;
-}
-i.flag.gy:before,
-i.flag.guyana:before {
-  background-position: -36px -442px;
-}
-i.flag.hk:before,
-i.flag.hong.kong:before {
-  background-position: -36px -468px;
-}
-i.flag.hm:before,
-i.flag.heard.island:before {
-  background-position: -36px -494px;
-}
-i.flag.hn:before,
-i.flag.honduras:before {
-  background-position: -36px -520px;
-}
-i.flag.hr:before,
-i.flag.croatia:before {
-  background-position: -36px -546px;
-}
-i.flag.ht:before,
-i.flag.haiti:before {
-  background-position: -36px -572px;
-}
-i.flag.hu:before,
-i.flag.hungary:before {
-  background-position: -36px -598px;
-}
-i.flag.id:before,
-i.flag.indonesia:before {
-  background-position: -36px -624px;
-}
-i.flag.ie:before,
-i.flag.ireland:before {
-  background-position: -36px -650px;
-}
-i.flag.il:before,
-i.flag.israel:before {
-  background-position: -36px -676px;
-}
-i.flag.in:before,
-i.flag.india:before {
-  background-position: -36px -702px;
-}
-i.flag.io:before,
-i.flag.indian.ocean.territory:before {
-  background-position: -36px -728px;
-}
-i.flag.iq:before,
-i.flag.iraq:before {
-  background-position: -36px -754px;
-}
-i.flag.ir:before,
-i.flag.iran:before {
-  background-position: -36px -780px;
-}
-i.flag.is:before,
-i.flag.iceland:before {
-  background-position: -36px -806px;
-}
-i.flag.it:before,
-i.flag.italy:before {
-  background-position: -36px -832px;
-}
-i.flag.jm:before,
-i.flag.jamaica:before {
-  background-position: -36px -858px;
-}
-i.flag.jo:before,
-i.flag.jordan:before {
-  background-position: -36px -884px;
-}
-i.flag.jp:before,
-i.flag.japan:before {
-  background-position: -36px -910px;
-}
-i.flag.ke:before,
-i.flag.kenya:before {
-  background-position: -36px -936px;
-}
-i.flag.kg:before,
-i.flag.kyrgyzstan:before {
-  background-position: -36px -962px;
-}
-i.flag.kh:before,
-i.flag.cambodia:before {
-  background-position: -36px -988px;
-}
-i.flag.ki:before,
-i.flag.kiribati:before {
-  background-position: -36px -1014px;
-}
-i.flag.km:before,
-i.flag.comoros:before {
-  background-position: -36px -1040px;
-}
-i.flag.kn:before,
-i.flag.saint.kitts.and.nevis:before {
-  background-position: -36px -1066px;
-}
-i.flag.kp:before,
-i.flag.north.korea:before {
-  background-position: -36px -1092px;
-}
-i.flag.kr:before,
-i.flag.south.korea:before {
-  background-position: -36px -1118px;
-}
-i.flag.kw:before,
-i.flag.kuwait:before {
-  background-position: -36px -1144px;
-}
-i.flag.ky:before,
-i.flag.cayman.islands:before {
-  background-position: -36px -1170px;
-}
-i.flag.kz:before,
-i.flag.kazakhstan:before {
-  background-position: -36px -1196px;
-}
-i.flag.la:before,
-i.flag.laos:before {
-  background-position: -36px -1222px;
-}
-i.flag.lb:before,
-i.flag.lebanon:before {
-  background-position: -36px -1248px;
-}
-i.flag.lc:before,
-i.flag.saint.lucia:before {
-  background-position: -36px -1274px;
-}
-i.flag.li:before,
-i.flag.liechtenstein:before {
-  background-position: -36px -1300px;
-}
-i.flag.lk:before,
-i.flag.sri.lanka:before {
-  background-position: -36px -1326px;
-}
-i.flag.lr:before,
-i.flag.liberia:before {
-  background-position: -36px -1352px;
-}
-i.flag.ls:before,
-i.flag.lesotho:before {
-  background-position: -36px -1378px;
-}
-i.flag.lt:before,
-i.flag.lithuania:before {
-  background-position: -36px -1404px;
-}
-i.flag.lu:before,
-i.flag.luxembourg:before {
-  background-position: -36px -1430px;
-}
-i.flag.lv:before,
-i.flag.latvia:before {
-  background-position: -36px -1456px;
-}
-i.flag.ly:before,
-i.flag.libya:before {
-  background-position: -36px -1482px;
-}
-i.flag.ma:before,
-i.flag.morocco:before {
-  background-position: -36px -1508px;
-}
-i.flag.mc:before,
-i.flag.monaco:before {
-  background-position: -36px -1534px;
-}
-i.flag.md:before,
-i.flag.moldova:before {
-  background-position: -36px -1560px;
-}
-i.flag.me:before,
-i.flag.montenegro:before {
-  background-position: -36px -1586px;
-}
-i.flag.mg:before,
-i.flag.madagascar:before {
-  background-position: -36px -1613px;
-}
-i.flag.mh:before,
-i.flag.marshall.islands:before {
-  background-position: -36px -1639px;
-}
-i.flag.mk:before,
-i.flag.macedonia:before {
-  background-position: -36px -1665px;
-}
-i.flag.ml:before,
-i.flag.mali:before {
-  background-position: -36px -1691px;
-}
-i.flag.mm:before,
-i.flag.myanmar:before,
-i.flag.burma:before {
-  background-position: -36px -1717px;
-}
-i.flag.mn:before,
-i.flag.mongolia:before {
-  background-position: -36px -1743px;
-}
-i.flag.mo:before,
-i.flag.macau:before {
-  background-position: -36px -1769px;
-}
-i.flag.mp:before,
-i.flag.northern.mariana.islands:before {
-  background-position: -36px -1795px;
-}
-i.flag.mq:before,
-i.flag.martinique:before {
-  background-position: -36px -1821px;
-}
-i.flag.mr:before,
-i.flag.mauritania:before {
-  background-position: -36px -1847px;
-}
-i.flag.ms:before,
-i.flag.montserrat:before {
-  background-position: -36px -1873px;
-}
-i.flag.mt:before,
-i.flag.malta:before {
-  background-position: -36px -1899px;
-}
-i.flag.mu:before,
-i.flag.mauritius:before {
-  background-position: -36px -1925px;
-}
-i.flag.mv:before,
-i.flag.maldives:before {
-  background-position: -36px -1951px;
-}
-i.flag.mw:before,
-i.flag.malawi:before {
-  background-position: -36px -1977px;
-}
-i.flag.mx:before,
-i.flag.mexico:before {
-  background-position: -72px 0;
-}
-i.flag.my:before,
-i.flag.malaysia:before {
-  background-position: -72px -26px;
-}
-i.flag.mz:before,
-i.flag.mozambique:before {
-  background-position: -72px -52px;
-}
-i.flag.na:before,
-i.flag.namibia:before {
-  background-position: -72px -78px;
-}
-i.flag.nc:before,
-i.flag.new.caledonia:before {
-  background-position: -72px -104px;
-}
-i.flag.ne:before,
-i.flag.niger:before {
-  background-position: -72px -130px;
-}
-i.flag.nf:before,
-i.flag.norfolk.island:before {
-  background-position: -72px -156px;
-}
-i.flag.ng:before,
-i.flag.nigeria:before {
-  background-position: -72px -182px;
-}
-i.flag.ni:before,
-i.flag.nicaragua:before {
-  background-position: -72px -208px;
-}
-i.flag.nl:before,
-i.flag.netherlands:before {
-  background-position: -72px -234px;
-}
-i.flag.no:before,
-i.flag.norway:before {
-  background-position: -72px -260px;
-}
-i.flag.np:before,
-i.flag.nepal:before {
-  background-position: -72px -286px;
-}
-i.flag.nr:before,
-i.flag.nauru:before {
-  background-position: -72px -312px;
-}
-i.flag.nu:before,
-i.flag.niue:before {
-  background-position: -72px -338px;
-}
-i.flag.nz:before,
-i.flag.new.zealand:before {
-  background-position: -72px -364px;
-}
-i.flag.om:before,
-i.flag.oman:before {
-  background-position: -72px -390px;
-}
-i.flag.pa:before,
-i.flag.panama:before {
-  background-position: -72px -416px;
-}
-i.flag.pe:before,
-i.flag.peru:before {
-  background-position: -72px -442px;
-}
-i.flag.pf:before,
-i.flag.french.polynesia:before {
-  background-position: -72px -468px;
-}
-i.flag.pg:before,
-i.flag.new.guinea:before {
-  background-position: -72px -494px;
-}
-i.flag.ph:before,
-i.flag.philippines:before {
-  background-position: -72px -520px;
-}
-i.flag.pk:before,
-i.flag.pakistan:before {
-  background-position: -72px -546px;
-}
-i.flag.pl:before,
-i.flag.poland:before {
-  background-position: -72px -572px;
-}
-i.flag.pm:before,
-i.flag.saint.pierre:before {
-  background-position: -72px -598px;
-}
-i.flag.pn:before,
-i.flag.pitcairn.islands:before {
-  background-position: -72px -624px;
-}
-i.flag.pr:before,
-i.flag.puerto.rico:before {
-  background-position: -72px -650px;
-}
-i.flag.ps:before,
-i.flag.palestine:before {
-  background-position: -72px -676px;
-}
-i.flag.pt:before,
-i.flag.portugal:before {
-  background-position: -72px -702px;
-}
-i.flag.pw:before,
-i.flag.palau:before {
-  background-position: -72px -728px;
-}
-i.flag.py:before,
-i.flag.paraguay:before {
-  background-position: -72px -754px;
-}
-i.flag.qa:before,
-i.flag.qatar:before {
-  background-position: -72px -780px;
-}
-i.flag.re:before,
-i.flag.reunion:before {
-  background-position: -72px -806px;
-}
-i.flag.ro:before,
-i.flag.romania:before {
-  background-position: -72px -832px;
-}
-i.flag.rs:before,
-i.flag.serbia:before {
-  background-position: -72px -858px;
-}
-i.flag.ru:before,
-i.flag.russia:before {
-  background-position: -72px -884px;
-}
-i.flag.rw:before,
-i.flag.rwanda:before {
-  background-position: -72px -910px;
-}
-i.flag.sa:before,
-i.flag.saudi.arabia:before {
-  background-position: -72px -936px;
-}
-i.flag.sb:before,
-i.flag.solomon.islands:before {
-  background-position: -72px -962px;
-}
-i.flag.sc:before,
-i.flag.seychelles:before {
-  background-position: -72px -988px;
-}
-i.flag.gb.sct:before,
-i.flag.scotland:before {
-  background-position: -72px -1014px;
-}
-i.flag.sd:before,
-i.flag.sudan:before {
-  background-position: -72px -1040px;
-}
-i.flag.se:before,
-i.flag.sweden:before {
-  background-position: -72px -1066px;
-}
-i.flag.sg:before,
-i.flag.singapore:before {
-  background-position: -72px -1092px;
-}
-i.flag.sh:before,
-i.flag.saint.helena:before {
-  background-position: -72px -1118px;
-}
-i.flag.si:before,
-i.flag.slovenia:before {
-  background-position: -72px -1144px;
-}
-i.flag.sj:before,
-i.flag.svalbard:before,
-i.flag.jan.mayen:before {
-  background-position: -72px -1170px;
-}
-i.flag.sk:before,
-i.flag.slovakia:before {
-  background-position: -72px -1196px;
-}
-i.flag.sl:before,
-i.flag.sierra.leone:before {
-  background-position: -72px -1222px;
-}
-i.flag.sm:before,
-i.flag.san.marino:before {
-  background-position: -72px -1248px;
-}
-i.flag.sn:before,
-i.flag.senegal:before {
-  background-position: -72px -1274px;
-}
-i.flag.so:before,
-i.flag.somalia:before {
-  background-position: -72px -1300px;
-}
-i.flag.sr:before,
-i.flag.suriname:before {
-  background-position: -72px -1326px;
-}
-i.flag.st:before,
-i.flag.sao.tome:before {
-  background-position: -72px -1352px;
-}
-i.flag.sv:before,
-i.flag.el.salvador:before {
-  background-position: -72px -1378px;
-}
-i.flag.sy:before,
-i.flag.syria:before {
-  background-position: -72px -1404px;
-}
-i.flag.sz:before,
-i.flag.swaziland:before {
-  background-position: -72px -1430px;
-}
-i.flag.tc:before,
-i.flag.caicos.islands:before {
-  background-position: -72px -1456px;
-}
-i.flag.td:before,
-i.flag.chad:before {
-  background-position: -72px -1482px;
-}
-i.flag.tf:before,
-i.flag.french.territories:before {
-  background-position: -72px -1508px;
-}
-i.flag.tg:before,
-i.flag.togo:before {
-  background-position: -72px -1534px;
-}
-i.flag.th:before,
-i.flag.thailand:before {
-  background-position: -72px -1560px;
-}
-i.flag.tj:before,
-i.flag.tajikistan:before {
-  background-position: -72px -1586px;
-}
-i.flag.tk:before,
-i.flag.tokelau:before {
-  background-position: -72px -1612px;
-}
-i.flag.tl:before,
-i.flag.timorleste:before {
-  background-position: -72px -1638px;
-}
-i.flag.tm:before,
-i.flag.turkmenistan:before {
-  background-position: -72px -1664px;
-}
-i.flag.tn:before,
-i.flag.tunisia:before {
-  background-position: -72px -1690px;
-}
-i.flag.to:before,
-i.flag.tonga:before {
-  background-position: -72px -1716px;
-}
-i.flag.tr:before,
-i.flag.turkey:before {
-  background-position: -72px -1742px;
-}
-i.flag.tt:before,
-i.flag.trinidad:before {
-  background-position: -72px -1768px;
-}
-i.flag.tv:before,
-i.flag.tuvalu:before {
-  background-position: -72px -1794px;
-}
-i.flag.tw:before,
-i.flag.taiwan:before {
-  background-position: -72px -1820px;
-}
-i.flag.tz:before,
-i.flag.tanzania:before {
-  background-position: -72px -1846px;
-}
-i.flag.ua:before,
-i.flag.ukraine:before {
-  background-position: -72px -1872px;
-}
-i.flag.ug:before,
-i.flag.uganda:before {
-  background-position: -72px -1898px;
-}
-i.flag.um:before,
-i.flag.us.minor.islands:before {
-  background-position: -72px -1924px;
-}
-i.flag.us:before,
-i.flag.america:before,
-i.flag.united.states:before {
-  background-position: -72px -1950px;
-}
-i.flag.uy:before,
-i.flag.uruguay:before {
-  background-position: -72px -1976px;
-}
-i.flag.uz:before,
-i.flag.uzbekistan:before {
-  background-position: -108px 0;
-}
-i.flag.va:before,
-i.flag.vatican.city:before {
-  background-position: -108px -26px;
-}
-i.flag.vc:before,
-i.flag.saint.vincent:before {
-  background-position: -108px -52px;
-}
-i.flag.ve:before,
-i.flag.venezuela:before {
-  background-position: -108px -78px;
-}
-i.flag.vg:before,
-i.flag.british.virgin.islands:before {
-  background-position: -108px -104px;
-}
-i.flag.vi:before,
-i.flag.us.virgin.islands:before {
-  background-position: -108px -130px;
-}
-i.flag.vn:before,
-i.flag.vietnam:before {
-  background-position: -108px -156px;
-}
-i.flag.vu:before,
-i.flag.vanuatu:before {
-  background-position: -108px -182px;
-}
-i.flag.gb.wls:before,
-i.flag.wales:before {
-  background-position: -108px -208px;
-}
-i.flag.wf:before,
-i.flag.wallis.and.futuna:before {
-  background-position: -108px -234px;
-}
-i.flag.ws:before,
-i.flag.samoa:before {
-  background-position: -108px -260px;
-}
-i.flag.ye:before,
-i.flag.yemen:before {
-  background-position: -108px -286px;
-}
-i.flag.yt:before,
-i.flag.mayotte:before {
-  background-position: -108px -312px;
-}
-i.flag.za:before,
-i.flag.south.africa:before {
-  background-position: -108px -338px;
-}
-i.flag.zm:before,
-i.flag.zambia:before {
-  background-position: -108px -364px;
-}
-i.flag.zw:before,
-i.flag.zimbabwe:before {
-  background-position: -108px -390px;
-}
-/*rtl:end:ignore*/
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/flag.min.css


+ 0 - 1172
webgui/static/components/form.css

@@ -1,1172 +0,0 @@
-/*!
- * # Fomantic-UI - Form
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Elements
-*******************************/
-
-
-/*--------------------
-        Form
----------------------*/
-
-.ui.form {
-  position: relative;
-  max-width: 100%;
-}
-
-/*--------------------
-        Content
----------------------*/
-
-.ui.form > p {
-  margin: 1em 0;
-}
-
-/*--------------------
-        Field
----------------------*/
-
-.ui.form .field {
-  clear: both;
-  margin: 0 0 1em;
-}
-.ui.form .field:last-child,
-.ui.form .fields:last-child .field {
-  margin-bottom: 0;
-}
-.ui.form .fields .field {
-  clear: both;
-  margin: 0;
-}
-
-/*--------------------
-        Labels
----------------------*/
-
-.ui.form .field > label {
-  display: block;
-  margin: 0 0 0.28571429rem 0;
-  color: #AAAAAA;
-  font-size: 0.92857143em;
-  font-weight: bold;
-  text-transform: none;
-}
-
-/*--------------------
-    Standard Inputs
----------------------*/
-
-.ui.form textarea,
-.ui.form input:not([type]),
-.ui.form input[type="date"],
-.ui.form input[type="datetime-local"],
-.ui.form input[type="email"],
-.ui.form input[type="number"],
-.ui.form input[type="password"],
-.ui.form input[type="search"],
-.ui.form input[type="tel"],
-.ui.form input[type="time"],
-.ui.form input[type="text"],
-.ui.form input[type="file"],
-.ui.form input[type="url"] {
-  width: 100%;
-  vertical-align: top;
-}
-
-/* Set max height on unusual input */
-.ui.form ::-webkit-datetime-edit,
-.ui.form ::-webkit-inner-spin-button {
-  height: 1.21428571em;
-}
-.ui.form input:not([type]),
-.ui.form input[type="date"],
-.ui.form input[type="datetime-local"],
-.ui.form input[type="email"],
-.ui.form input[type="number"],
-.ui.form input[type="password"],
-.ui.form input[type="search"],
-.ui.form input[type="tel"],
-.ui.form input[type="time"],
-.ui.form input[type="text"],
-.ui.form input[type="file"],
-.ui.form input[type="url"] {
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  margin: 0;
-  outline: none;
-  -webkit-appearance: none;
-  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
-  line-height: 1.21428571em;
-  padding: 0.67857143em 1em;
-  font-size: 1em;
-  background: #FFFFFF;
-  border: 1px solid rgba(34, 36, 38, 0.15);
-  color: #AAAAAA;
-  border-radius: 0.28571429rem;
-  -webkit-box-shadow: 0 0 0 0 transparent inset;
-          box-shadow: 0 0 0 0 transparent inset;
-  -webkit-transition: color 0.1s ease, border-color 0.1s ease;
-  transition: color 0.1s ease, border-color 0.1s ease;
-}
-
-/* Text Area */
-.ui.input textarea,
-.ui.form textarea {
-  margin: 0;
-  -webkit-appearance: none;
-  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
-  padding: 0.78571429em 1em;
-  background: #FFFFFF;
-  border: 1px solid rgba(34, 36, 38, 0.15);
-  outline: none;
-  color: #AAAAAA;
-  border-radius: 0.28571429rem;
-  -webkit-box-shadow: 0 0 0 0 transparent inset;
-          box-shadow: 0 0 0 0 transparent inset;
-  -webkit-transition: color 0.1s ease, border-color 0.1s ease;
-  transition: color 0.1s ease, border-color 0.1s ease;
-  font-size: 1em;
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  line-height: 1.2857;
-  resize: vertical;
-}
-.ui.form textarea:not([rows]) {
-  height: 12em;
-  min-height: 8em;
-  max-height: 24em;
-}
-.ui.form textarea,
-.ui.form input[type="checkbox"] {
-  vertical-align: top;
-}
-
-/*--------------------
-    Checkbox margin
----------------------*/
-
-.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) label + .ui.ui.checkbox {
-  margin-top: 0.7em;
-}
-.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) .ui.checkbox {
-  margin-top: 2.41428571em;
-}
-.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) .ui.toggle.checkbox {
-  margin-top: 2.21428571em;
-}
-.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) .ui.slider.checkbox {
-  margin-top: 2.61428571em;
-}
-.ui.ui.form .field .fields .field:not(:only-child) .ui.checkbox {
-  margin-top: 0.6em;
-}
-.ui.ui.form .field .fields .field:not(:only-child) .ui.toggle.checkbox {
-  margin-top: 0.5em;
-}
-.ui.ui.form .field .fields .field:not(:only-child) .ui.slider.checkbox {
-  margin-top: 0.7em;
-}
-
-/*--------------------
-      Transparent
----------------------*/
-
-.ui.form .field .transparent.input:not(.icon) input,
-.ui.form .field input.transparent,
-.ui.form .field textarea.transparent {
-  padding: 0.67857143em 1em;
-}
-.ui.form .field input.transparent,
-.ui.form .field textarea.transparent {
-  border-color: transparent !important;
-  background-color: transparent !important;
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-}
-.ui.form .field.error .transparent.input input,
-.ui.form .field.error .transparent.input textarea,
-.ui.form .field.error input.transparent,
-.ui.form .field.error textarea.transparent {
-  background-color: #FFF6F6 !important;
-  color: #9F3A38 !important;
-}
-
-/*--------------------------
-  Input w/ attached Button
----------------------------*/
-
-.ui.form input.attached {
-  width: auto;
-}
-
-/*--------------------
-     Basic Select
----------------------*/
-
-.ui.form select {
-  display: block;
-  height: auto;
-  width: 100%;
-  background: #FFFFFF;
-  border: 1px solid rgba(34, 36, 38, 0.15);
-  border-radius: 0.28571429rem;
-  -webkit-box-shadow: 0 0 0 0 transparent inset;
-          box-shadow: 0 0 0 0 transparent inset;
-  padding: 0.62em 1em;
-  color: #AAAAAA;
-  -webkit-transition: color 0.1s ease, border-color 0.1s ease;
-  transition: color 0.1s ease, border-color 0.1s ease;
-}
-
-/*--------------------
-       Dropdown
----------------------*/
-
-
-/* Block */
-.ui.form .field > .selection.dropdown {
-  min-width: auto;
-  width: 100%;
-}
-.ui.form .field > .selection.dropdown > .dropdown.icon {
-  float: right;
-}
-
-/* Inline */
-.ui.form .inline.fields .field > .selection.dropdown,
-.ui.form .inline.field > .selection.dropdown {
-  width: auto;
-}
-.ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon,
-.ui.form .inline.field > .selection.dropdown > .dropdown.icon {
-  float: none;
-}
-
-/*--------------------
-       UI Input
----------------------*/
-
-
-/* Block */
-.ui.form .field .ui.input,
-.ui.form .fields .field .ui.input,
-.ui.form .wide.field .ui.input {
-  width: 100%;
-}
-
-/* Inline  */
-.ui.form .inline.fields .field:not(.wide) .ui.input,
-.ui.form .inline.field:not(.wide) .ui.input {
-  width: auto;
-  vertical-align: middle;
-}
-
-/* Auto Input */
-.ui.form .fields .field .ui.input input,
-.ui.form .field .ui.input input {
-  width: auto;
-}
-
-/* Full Width Input */
-.ui.form .ten.fields .ui.input input,
-.ui.form .nine.fields .ui.input input,
-.ui.form .eight.fields .ui.input input,
-.ui.form .seven.fields .ui.input input,
-.ui.form .six.fields .ui.input input,
-.ui.form .five.fields .ui.input input,
-.ui.form .four.fields .ui.input input,
-.ui.form .three.fields .ui.input input,
-.ui.form .two.fields .ui.input input,
-.ui.form .wide.field .ui.input input {
-  -webkit-box-flex: 1;
-      -ms-flex: 1 0 auto;
-          flex: 1 0 auto;
-  width: 0;
-}
-
-/*--------------------
-   Types of Messages
----------------------*/
-
-.ui.form .success.message,
-.ui.form .warning.message,
-.ui.form .error.message,
-.ui.form .error.message:empty {
-  display: none;
-}
-
-/* Assumptions */
-.ui.form .message:first-child {
-  margin-top: 0;
-}
-
-/*--------------------
-   Validation Prompt
----------------------*/
-
-.ui.form .field .prompt.label {
-  white-space: normal;
-  background: #FFFFFF !important;
-  border: 1px solid #E0B4B4 !important;
-  color: #9F3A38 !important;
-}
-.ui.form .inline.fields .field .prompt,
-.ui.form .inline.field .prompt {
-  vertical-align: top;
-  margin: -0.25em 0 -0.5em 0.5em;
-}
-.ui.form .inline.fields .field .prompt:before,
-.ui.form .inline.field .prompt:before {
-  border-width: 0 0 1px 1px;
-  bottom: auto;
-  right: auto;
-  top: 50%;
-  left: 0;
-}
-
-
-/*******************************
-            States
-*******************************/
-
-
-/*--------------------
-      Autofilled
----------------------*/
-
-.ui.form .field.field input:-webkit-autofill {
-  -webkit-box-shadow: 0 0 0 100px #FFFFF0 inset !important;
-          box-shadow: 0 0 0 100px #FFFFF0 inset !important;
-  border-color: #E5DFA1 !important;
-}
-
-/* Focus */
-.ui.form .field.field input:-webkit-autofill:focus {
-  -webkit-box-shadow: 0 0 0 100px #FFFFF0 inset !important;
-          box-shadow: 0 0 0 100px #FFFFF0 inset !important;
-  border-color: #D5C315 !important;
-}
-
-/* Error */
-.ui.form .error.error input:-webkit-autofill {
-  -webkit-box-shadow: 0 0 0 100px #FFFAF0 inset !important;
-          box-shadow: 0 0 0 100px #FFFAF0 inset !important;
-  border-color: #E0B4B4 !important;
-}
-
-/*--------------------
-      Placeholder
----------------------*/
-
-
-/* browsers require these rules separate */
-.ui.form ::-webkit-input-placeholder {
-  color: #ffffff;
-}
-.ui.form :-ms-input-placeholder {
-  color: #ffffff !important;
-}
-.ui.form ::-moz-placeholder {
-  color: #ffffff;
-}
-.ui.form :focus::-webkit-input-placeholder {
-  color: #ffffff;
-}
-.ui.form :focus:-ms-input-placeholder {
-  color: #ffffff !important;
-}
-.ui.form :focus::-moz-placeholder {
-  color: #ffffff;
-}
-
-/* Error Placeholder */
-.ui.form .error ::-webkit-input-placeholder {
-  color: #e7bdbc;
-}
-.ui.form .error :-ms-input-placeholder {
-  color: #e7bdbc !important;
-}
-.ui.form .error ::-moz-placeholder {
-  color: #e7bdbc;
-}
-.ui.form .error :focus::-webkit-input-placeholder {
-  color: #da9796;
-}
-.ui.form .error :focus:-ms-input-placeholder {
-  color: #da9796 !important;
-}
-.ui.form .error :focus::-moz-placeholder {
-  color: #da9796;
-}
-
-/*--------------------
-        Focus
----------------------*/
-
-.ui.form input:not([type]):focus,
-.ui.form input[type="date"]:focus,
-.ui.form input[type="datetime-local"]:focus,
-.ui.form input[type="email"]:focus,
-.ui.form input[type="number"]:focus,
-.ui.form input[type="password"]:focus,
-.ui.form input[type="search"]:focus,
-.ui.form input[type="tel"]:focus,
-.ui.form input[type="time"]:focus,
-.ui.form input[type="text"]:focus,
-.ui.form input[type="file"]:focus,
-.ui.form input[type="url"]:focus {
-  color: rgba(0, 0, 0, 0.95);
-  border-color: #85B7D9;
-  border-radius: 0.28571429rem;
-  background: #FFFFFF;
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.35) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.35) inset;
-}
-.ui.form textarea:focus {
-  color: rgba(0, 0, 0, 0.95);
-  border-color: #85B7D9;
-  border-radius: 0.28571429rem;
-  background: #FFFFFF;
-  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.35) inset;
-          box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.35) inset;
-  -webkit-appearance: none;
-}
-
-/*--------------------
-        Success
----------------------*/
-
-
-/* On Form */
-.ui.form.success .success.message:not(:empty) {
-  display: block;
-}
-.ui.form.success .compact.success.message:not(:empty) {
-  display: inline-block;
-}
-.ui.form.success .icon.success.message:not(:empty) {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-}
-
-/*--------------------
-        Warning
----------------------*/
-
-
-/* On Form */
-.ui.form.warning .warning.message:not(:empty) {
-  display: block;
-}
-.ui.form.warning .compact.warning.message:not(:empty) {
-  display: inline-block;
-}
-.ui.form.warning .icon.warning.message:not(:empty) {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-}
-
-/*--------------------
-        Error
----------------------*/
-
-
-/* On Form */
-.ui.form.error .error.message:not(:empty) {
-  display: block;
-}
-.ui.form.error .compact.error.message:not(:empty) {
-  display: inline-block;
-}
-.ui.form.error .icon.error.message:not(:empty) {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-}
-
-/* On Field(s) */
-.ui.ui.form .fields.error .field label,
-.ui.ui.form .field.error label,
-.ui.ui.form .fields.error .field .input,
-.ui.ui.form .field.error .input {
-  color: #9F3A38;
-}
-.ui.form .fields.error .field .corner.label,
-.ui.form .field.error .corner.label {
-  border-color: #9F3A38;
-  color: #FFFFFF;
-}
-.ui.form .fields.error .field textarea,
-.ui.form .fields.error .field select,
-.ui.form .fields.error .field input:not([type]),
-.ui.form .fields.error .field input[type="date"],
-.ui.form .fields.error .field input[type="datetime-local"],
-.ui.form .fields.error .field input[type="email"],
-.ui.form .fields.error .field input[type="number"],
-.ui.form .fields.error .field input[type="password"],
-.ui.form .fields.error .field input[type="search"],
-.ui.form .fields.error .field input[type="tel"],
-.ui.form .fields.error .field input[type="time"],
-.ui.form .fields.error .field input[type="text"],
-.ui.form .fields.error .field input[type="file"],
-.ui.form .fields.error .field input[type="url"],
-.ui.form .field.error textarea,
-.ui.form .field.error select,
-.ui.form .field.error input:not([type]),
-.ui.form .field.error input[type="date"],
-.ui.form .field.error input[type="datetime-local"],
-.ui.form .field.error input[type="email"],
-.ui.form .field.error input[type="number"],
-.ui.form .field.error input[type="password"],
-.ui.form .field.error input[type="search"],
-.ui.form .field.error input[type="tel"],
-.ui.form .field.error input[type="time"],
-.ui.form .field.error input[type="text"],
-.ui.form .field.error input[type="file"],
-.ui.form .field.error input[type="url"] {
-  background: #FFF6F6;
-  border-color: #E0B4B4;
-  color: #9F3A38;
-  border-radius: '';
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.form .field.error textarea:focus,
-.ui.form .field.error select:focus,
-.ui.form .field.error input:not([type]):focus,
-.ui.form .field.error input[type="date"]:focus,
-.ui.form .field.error input[type="datetime-local"]:focus,
-.ui.form .field.error input[type="email"]:focus,
-.ui.form .field.error input[type="number"]:focus,
-.ui.form .field.error input[type="password"]:focus,
-.ui.form .field.error input[type="search"]:focus,
-.ui.form .field.error input[type="tel"]:focus,
-.ui.form .field.error input[type="time"]:focus,
-.ui.form .field.error input[type="text"]:focus,
-.ui.form .field.error input[type="file"]:focus,
-.ui.form .field.error input[type="url"]:focus {
-  background: #FFF6F6;
-  border-color: #E0B4B4;
-  color: #9F3A38;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Preserve Native Select Stylings */
-.ui.form .field.error select {
-  -webkit-appearance: menulist-button;
-}
-
-/*------------------
-    Dropdown Error
---------------------*/
-
-.ui.form .fields.error .field .ui.dropdown,
-.ui.form .fields.error .field .ui.dropdown .item,
-.ui.form .field.error .ui.dropdown,
-.ui.form .field.error .ui.dropdown .text,
-.ui.form .field.error .ui.dropdown .item {
-  background: #FFF6F6;
-  color: #9F3A38;
-}
-.ui.form .fields.error .field .ui.dropdown,
-.ui.form .field.error .ui.dropdown {
-  border-color: #E0B4B4 !important;
-}
-.ui.form .fields.error .field .ui.dropdown:hover,
-.ui.form .field.error .ui.dropdown:hover {
-  border-color: #E0B4B4 !important;
-}
-.ui.form .fields.error .field .ui.dropdown:hover .menu,
-.ui.form .field.error .ui.dropdown:hover .menu {
-  border-color: #E0B4B4;
-}
-.ui.form .fields.error .field .ui.multiple.selection.dropdown > .label,
-.ui.form .field.error .ui.multiple.selection.dropdown > .label {
-  background-color: #EACBCB;
-  color: #9F3A38;
-}
-
-/* Hover */
-.ui.form .fields.error .field .ui.dropdown .menu .item:hover,
-.ui.form .field.error .ui.dropdown .menu .item:hover {
-  background-color: #FBE7E7;
-}
-
-/* Selected */
-.ui.form .fields.error .field .ui.dropdown .menu .selected.item,
-.ui.form .field.error .ui.dropdown .menu .selected.item {
-  background-color: #FBE7E7;
-}
-
-/* Active */
-.ui.form .fields.error .field .ui.dropdown .menu .active.item,
-.ui.form .field.error .ui.dropdown .menu .active.item {
-  background-color: #FDCFCF !important;
-}
-
-/*--------------------
-    Checkbox Error
----------------------*/
-
-.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label,
-.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,
-.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,
-.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box {
-  color: #9F3A38;
-}
-.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before,
-.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,
-.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,
-.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before {
-  background: #FFF6F6;
-  border-color: #E0B4B4;
-}
-.ui.form .fields.error .field .checkbox label:after,
-.ui.form .field.error .checkbox label:after,
-.ui.form .fields.error .field .checkbox .box:after,
-.ui.form .field.error .checkbox .box:after {
-  color: #9F3A38;
-}
-
-/*--------------------
-       Disabled
----------------------*/
-
-.ui.form .disabled.fields .field,
-.ui.form .disabled.field,
-.ui.form .field :disabled {
-  pointer-events: none;
-  opacity: 0.45;
-}
-.ui.form .field.disabled > label,
-.ui.form .fields.disabled > label {
-  opacity: 0.45;
-}
-.ui.form .field.disabled :disabled {
-  opacity: 1;
-}
-
-/*--------------
-    Loading
----------------*/
-
-.ui.loading.form {
-  position: relative;
-  cursor: default;
-  pointer-events: none;
-}
-.ui.loading.form:before {
-  position: absolute;
-  content: '';
-  top: 0;
-  left: 0;
-  background: rgba(255, 255, 255, 0.8);
-  width: 100%;
-  height: 100%;
-  z-index: 100;
-}
-.ui.loading.form.segments:before {
-  border-radius: 0.28571429rem;
-}
-.ui.loading.form:after {
-  position: absolute;
-  content: '';
-  top: 50%;
-  left: 50%;
-  margin: -1.5em 0 0 -1.5em;
-  width: 3em;
-  height: 3em;
-  -webkit-animation: loader 0.6s infinite linear;
-          animation: loader 0.6s infinite linear;
-  border: 0.2em solid #767676;
-  border-radius: 500rem;
-  -webkit-box-shadow: 0 0 0 1px transparent;
-          box-shadow: 0 0 0 1px transparent;
-  visibility: visible;
-  z-index: 101;
-}
-
-
-/*******************************
-         Element Types
-*******************************/
-
-
-/*--------------------
-     Required Field
----------------------*/
-
-.ui.form .required.fields:not(.grouped) > .field > label:after,
-.ui.form .required.fields.grouped > label:after,
-.ui.form .required.field > label:after,
-.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,
-.ui.form .required.field > .checkbox:after,
-.ui.form label.required:after {
-  margin: -0.2em 0 0 0.2em;
-  content: '*';
-  color: #DB2828;
-}
-.ui.form .required.fields:not(.grouped) > .field > label:after,
-.ui.form .required.fields.grouped > label:after,
-.ui.form .required.field > label:after,
-.ui.form label.required:after {
-  display: inline-block;
-  vertical-align: top;
-}
-.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,
-.ui.form .required.field > .checkbox:after {
-  position: absolute;
-  top: 0;
-  left: 100%;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*--------------------
-    Inverted Colors
----------------------*/
-
-.ui.inverted.form label,
-.ui.form .inverted.segment label,
-.ui.form .inverted.segment .ui.checkbox label,
-.ui.form .inverted.segment .ui.checkbox .box,
-.ui.inverted.form .ui.checkbox label,
-.ui.inverted.form .ui.checkbox .box,
-.ui.inverted.form .inline.fields > label,
-.ui.inverted.form .inline.fields .field > label,
-.ui.inverted.form .inline.fields .field > p,
-.ui.inverted.form .inline.field > label,
-.ui.inverted.form .inline.field > p {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.loading.form {
-  color: #FFFFFF;
-}
-.ui.inverted.loading.form:before {
-  background: rgba(0, 0, 0, 0.85);
-}
-
-/* Inverted Field */
-.ui.inverted.form input:not([type]),
-.ui.inverted.form input[type="date"],
-.ui.inverted.form input[type="datetime-local"],
-.ui.inverted.form input[type="email"],
-.ui.inverted.form input[type="number"],
-.ui.inverted.form input[type="password"],
-.ui.inverted.form input[type="search"],
-.ui.inverted.form input[type="tel"],
-.ui.inverted.form input[type="time"],
-.ui.inverted.form input[type="text"],
-.ui.inverted.form input[type="file"],
-.ui.inverted.form input[type="url"] {
-  background: #FFFFFF;
-  border-color: rgba(255, 255, 255, 0.1);
-  color: #AAAAAA;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/*--------------------
-     Field Groups
----------------------*/
-
-
-/* Grouped Vertically */
-.ui.form .grouped.fields {
-  display: block;
-  margin: 0 0 1em;
-}
-.ui.form .grouped.fields:last-child {
-  margin-bottom: 0;
-}
-.ui.form .grouped.fields > label {
-  margin: 0 0 0.28571429rem 0;
-  color: #AAAAAA;
-  font-size: 0.92857143em;
-  font-weight: bold;
-  text-transform: none;
-}
-.ui.form .grouped.fields .field,
-.ui.form .grouped.inline.fields .field {
-  display: block;
-  margin: 0.5em 0;
-  padding: 0;
-}
-
-/*--------------------
-        Fields
----------------------*/
-
-
-/* Split fields */
-.ui.form .fields {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-orient: horizontal;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: row;
-          flex-direction: row;
-  margin: 0 -0.5em 1em;
-}
-.ui.form .fields > .field {
-  -webkit-box-flex: 0;
-      -ms-flex: 0 1 auto;
-          flex: 0 1 auto;
-  padding-left: 0.5em;
-  padding-right: 0.5em;
-}
-.ui.form .fields > .field:first-child {
-  border-left: none;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Other Combinations */
-.ui.form .two.fields > .fields,
-.ui.form .two.fields > .field {
-  width: 50%;
-}
-.ui.form .three.fields > .fields,
-.ui.form .three.fields > .field {
-  width: 33.33333333%;
-}
-.ui.form .four.fields > .fields,
-.ui.form .four.fields > .field {
-  width: 25%;
-}
-.ui.form .five.fields > .fields,
-.ui.form .five.fields > .field {
-  width: 20%;
-}
-.ui.form .six.fields > .fields,
-.ui.form .six.fields > .field {
-  width: 16.66666667%;
-}
-.ui.form .seven.fields > .fields,
-.ui.form .seven.fields > .field {
-  width: 14.28571429%;
-}
-.ui.form .eight.fields > .fields,
-.ui.form .eight.fields > .field {
-  width: 12.5%;
-}
-.ui.form .nine.fields > .fields,
-.ui.form .nine.fields > .field {
-  width: 11.11111111%;
-}
-.ui.form .ten.fields > .fields,
-.ui.form .ten.fields > .field {
-  width: 10%;
-}
-
-/* Swap to full width on mobile */
-@media only screen and (max-width: 767.98px) {
-  .ui.form .fields {
-    -ms-flex-wrap: wrap;
-        flex-wrap: wrap;
-  }
-  .ui[class*="equal width"].form:not(.unstackable) .fields > .field,
-  .ui.form:not(.unstackable) [class*="equal width"].fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .six.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .six.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .seven.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .seven.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .eight.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .eight.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .nine.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .nine.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .ten.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .ten.fields:not(.unstackable) > .field {
-    width: 100% !important;
-    margin: 0 0 1em;
-  }
-}
-
-/* Sizing Combinations */
-.ui.form .fields .wide.field {
-  width: 6.25%;
-  padding-left: 0.5em;
-  padding-right: 0.5em;
-}
-.ui.form .one.wide.field {
-  width: 6.25% !important;
-}
-.ui.form .two.wide.field {
-  width: 12.5% !important;
-}
-.ui.form .three.wide.field {
-  width: 18.75% !important;
-}
-.ui.form .four.wide.field {
-  width: 25% !important;
-}
-.ui.form .five.wide.field {
-  width: 31.25% !important;
-}
-.ui.form .six.wide.field {
-  width: 37.5% !important;
-}
-.ui.form .seven.wide.field {
-  width: 43.75% !important;
-}
-.ui.form .eight.wide.field {
-  width: 50% !important;
-}
-.ui.form .nine.wide.field {
-  width: 56.25% !important;
-}
-.ui.form .ten.wide.field {
-  width: 62.5% !important;
-}
-.ui.form .eleven.wide.field {
-  width: 68.75% !important;
-}
-.ui.form .twelve.wide.field {
-  width: 75% !important;
-}
-.ui.form .thirteen.wide.field {
-  width: 81.25% !important;
-}
-.ui.form .fourteen.wide.field {
-  width: 87.5% !important;
-}
-.ui.form .fifteen.wide.field {
-  width: 93.75% !important;
-}
-.ui.form .sixteen.wide.field {
-  width: 100% !important;
-}
-
-/* Swap to full width on mobile */
-@media only screen and (max-width: 767.98px) {
-  .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .fields,
-  .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .two.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .three.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .four.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .five.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .six.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .seven.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .eight.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .nine.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .ten.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .eleven.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .twelve.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .thirteen.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .fourteen.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .fifteen.wide.field,
-  .ui.form:not(.unstackable) .fields:not(.unstackable) > .sixteen.wide.field {
-    width: 100% !important;
-  }
-  .ui.form .fields {
-    margin-bottom: 0;
-  }
-}
-
-/*--------------------
-     Equal Width
----------------------*/
-
-.ui[class*="equal width"].form .fields > .field,
-.ui.form [class*="equal width"].fields > .field {
-  width: 100%;
-  -webkit-box-flex: 1;
-      -ms-flex: 1 1 auto;
-          flex: 1 1 auto;
-}
-
-/*--------------------
-    Inline Fields
----------------------*/
-
-.ui.form .inline.fields {
-  margin: 0 0 1em;
-  -webkit-box-align: center;
-      -ms-flex-align: center;
-          align-items: center;
-}
-.ui.form .inline.fields .field {
-  margin: 0;
-  padding: 0 1em 0 0;
-}
-
-/* Inline Label */
-.ui.form .inline.fields > label,
-.ui.form .inline.fields .field > label,
-.ui.form .inline.fields .field > p,
-.ui.form .inline.field > label,
-.ui.form .inline.field > p {
-  display: inline-block;
-  width: auto;
-  margin-top: 0;
-  margin-bottom: 0;
-  vertical-align: baseline;
-  font-size: 0.92857143em;
-  font-weight: bold;
-  color: #AAAAAA;
-  text-transform: none;
-}
-
-/* Grouped Inline Label */
-.ui.form .inline.fields > label {
-  margin: 0.035714em 1em 0 0;
-}
-
-/* Inline Input */
-.ui.form .inline.fields .field > input,
-.ui.form .inline.fields .field > select,
-.ui.form .inline.field > input,
-.ui.form .inline.field > select {
-  display: inline-block;
-  width: auto;
-  margin-top: 0;
-  margin-bottom: 0;
-  vertical-align: middle;
-  font-size: 1em;
-}
-
-/* Label */
-.ui.form .inline.fields .field > :first-child,
-.ui.form .inline.field > :first-child {
-  margin: 0 0.85714286em 0 0;
-}
-.ui.form .inline.fields .field > :only-child,
-.ui.form .inline.field > :only-child {
-  margin: 0;
-}
-
-/* Wide */
-.ui.form .inline.fields .wide.field {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-align: center;
-      -ms-flex-align: center;
-          align-items: center;
-}
-.ui.form .inline.fields .wide.field > input,
-.ui.form .inline.fields .wide.field > select {
-  width: 100%;
-}
-
-/*--------------------
-        Sizes
----------------------*/
-
-.ui.mini.form {
-  font-size: 0.78571429rem;
-}
-.ui.tiny.form {
-  font-size: 0.85714286rem;
-}
-.ui.small.form {
-  font-size: 0.92857143rem;
-}
-.ui.form {
-  font-size: 1rem;
-}
-.ui.large.form {
-  font-size: 1.14285714rem;
-}
-.ui.big.form {
-  font-size: 1.28571429rem;
-}
-.ui.huge.form {
-  font-size: 1.42857143rem;
-}
-.ui.massive.form {
-  font-size: 1.71428571rem;
-}
-
-/* Dropdown */
-.ui.mini.form .field .dropdown {
-  font-size: 0.78571429rem;
-}
-.ui.tiny.form .field .dropdown {
-  font-size: 0.85714286rem;
-}
-.ui.small.form .field .dropdown {
-  font-size: 0.92857143rem;
-}
-.ui.form .field .dropdown {
-  font-size: 1rem;
-}
-.ui.large.form .field .dropdown {
-  font-size: 1.14285714rem;
-}
-.ui.big.form .field .dropdown {
-  font-size: 1.28571429rem;
-}
-.ui.huge.form .field .dropdown {
-  font-size: 1.42857143rem;
-}
-.ui.massive.form .field .dropdown {
-  font-size: 1.71428571rem;
-}
-
-/* Dropdown Items */
-.ui.mini.form .field .dropdown .menu > .item {
-  font-size: 0.78571429rem;
-}
-.ui.tiny.form .field .dropdown .menu > .item {
-  font-size: 0.85714286rem;
-}
-.ui.small.form .field .dropdown .menu > .item {
-  font-size: 0.92857143rem;
-}
-.ui.form .field .dropdown .menu > .item {
-  font-size: 1rem;
-}
-.ui.large.form .field .dropdown .menu > .item {
-  font-size: 1.14285714rem;
-}
-.ui.big.form .field .dropdown .menu > .item {
-  font-size: 1.28571429rem;
-}
-.ui.huge.form .field .dropdown .menu > .item {
-  font-size: 1.42857143rem;
-}
-.ui.massive.form .field .dropdown .menu > .item {
-  font-size: 1.71428571rem;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

+ 0 - 1966
webgui/static/components/form.js

@@ -1,1966 +0,0 @@
-/*!
- * # Fomantic-UI - Form Validation
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-'use strict';
-
-$.isFunction = $.isFunction || function(obj) {
-  return typeof obj === "function" && typeof obj.nodeType !== "number";
-};
-
-window = (typeof window != 'undefined' && window.Math == Math)
-  ? window
-  : (typeof self != 'undefined' && self.Math == Math)
-    ? self
-    : Function('return this')()
-;
-
-$.fn.form = function(parameters) {
-  var
-    $allModules      = $(this),
-    moduleSelector   = $allModules.selector || '',
-
-    time             = new Date().getTime(),
-    performance      = [],
-
-    query            = arguments[0],
-    legacyParameters = arguments[1],
-    methodInvoked    = (typeof query == 'string'),
-    queryArguments   = [].slice.call(arguments, 1),
-    returnedValue
-  ;
-  $allModules
-    .each(function() {
-      var
-        $module     = $(this),
-        element     = this,
-
-        formErrors  = [],
-        keyHeldDown = false,
-
-        // set at run-time
-        $field,
-        $group,
-        $message,
-        $prompt,
-        $submit,
-        $clear,
-        $reset,
-
-        settings,
-        validation,
-
-        metadata,
-        selector,
-        className,
-        regExp,
-        error,
-
-        namespace,
-        moduleNamespace,
-        eventNamespace,
-
-        submitting = false,
-        dirty = false,
-        history = ['clean', 'clean'],
-
-        instance,
-        module
-      ;
-
-      module      = {
-
-        initialize: function() {
-
-          // settings grabbed at run time
-          module.get.settings();
-          if(methodInvoked) {
-            if(instance === undefined) {
-              module.instantiate();
-            }
-            module.invoke(query);
-          }
-          else {
-            if(instance !== undefined) {
-              instance.invoke('destroy');
-            }
-            module.verbose('Initializing form validation', $module, settings);
-            module.bindEvents();
-            module.set.defaults();
-            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.removeEvents();
-          $module
-            .removeData(moduleNamespace)
-          ;
-        },
-
-        refresh: function() {
-          module.verbose('Refreshing selector cache');
-          $field      = $module.find(selector.field);
-          $group      = $module.find(selector.group);
-          $message    = $module.find(selector.message);
-          $prompt     = $module.find(selector.prompt);
-
-          $submit     = $module.find(selector.submit);
-          $clear      = $module.find(selector.clear);
-          $reset      = $module.find(selector.reset);
-        },
-
-        submit: function() {
-          module.verbose('Submitting form', $module);
-          submitting = true;
-          $module.submit();
-        },
-
-        attachEvents: function(selector, action) {
-          action = action || 'submit';
-          $(selector).on('click' + eventNamespace, function(event) {
-            module[action]();
-            event.preventDefault();
-          });
-        },
-
-        bindEvents: function() {
-          module.verbose('Attaching form events');
-          $module
-            .on('submit' + eventNamespace, module.validate.form)
-            .on('blur'   + eventNamespace, selector.field, module.event.field.blur)
-            .on('click'  + eventNamespace, selector.submit, module.submit)
-            .on('click'  + eventNamespace, selector.reset, module.reset)
-            .on('click'  + eventNamespace, selector.clear, module.clear)
-          ;
-          if(settings.keyboardShortcuts) {
-            $module.on('keydown' + eventNamespace, selector.field, module.event.field.keydown);
-          }
-          $field.each(function(index, el) {
-            var
-              $input     = $(el),
-              type       = $input.prop('type'),
-              inputEvent = module.get.changeEvent(type, $input)
-            ;
-            $input.on(inputEvent + eventNamespace, module.event.field.change);
-          });
-
-          // Dirty events
-          if (settings.preventLeaving) {
-            $(window).on('beforeunload' + eventNamespace, module.event.beforeUnload);
-          }
-
-          $field.on('change click keyup keydown blur', function(e) {
-            $(this).trigger(e.type + ".dirty");
-          });
-
-          $field.on('change.dirty click.dirty keyup.dirty keydown.dirty blur.dirty', module.determine.isDirty);
-
-          $module.on('dirty' + eventNamespace, function(e) {
-            settings.onDirty.call();
-          });
-
-          $module.on('clean' + eventNamespace, function(e) {
-            settings.onClean.call();
-          })
-        },
-
-        clear: function() {
-          $field.each(function (index, el) {
-            var
-              $field       = $(el),
-              $element     = $field.parent(),
-              $fieldGroup  = $field.closest($group),
-              $prompt      = $fieldGroup.find(selector.prompt),
-              $calendar    = $field.closest(selector.uiCalendar),
-              defaultValue = $field.data(metadata.defaultValue) || '',
-              isCheckbox   = $element.is(selector.uiCheckbox),
-              isDropdown   = $element.is(selector.uiDropdown)  && module.can.useElement('dropdown'),
-              isCalendar   = ($calendar.length > 0  && module.can.useElement('calendar')),
-              isErrored    = $fieldGroup.hasClass(className.error)
-            ;
-            if(isErrored) {
-              module.verbose('Resetting error on field', $fieldGroup);
-              $fieldGroup.removeClass(className.error);
-              $prompt.remove();
-            }
-            if(isDropdown) {
-              module.verbose('Resetting dropdown value', $element, defaultValue);
-              $element.dropdown('clear');
-            }
-            else if(isCheckbox) {
-              $field.prop('checked', false);
-            }
-            else if (isCalendar) {
-              $calendar.calendar('clear');
-            }
-            else {
-              module.verbose('Resetting field value', $field, defaultValue);
-              $field.val('');
-            }
-          });
-        },
-
-        reset: function() {
-          $field.each(function (index, el) {
-            var
-              $field       = $(el),
-              $element     = $field.parent(),
-              $fieldGroup  = $field.closest($group),
-              $calendar    = $field.closest(selector.uiCalendar),
-              $prompt      = $fieldGroup.find(selector.prompt),
-              defaultValue = $field.data(metadata.defaultValue),
-              isCheckbox   = $element.is(selector.uiCheckbox),
-              isDropdown   = $element.is(selector.uiDropdown)  && module.can.useElement('dropdown'),
-              isCalendar   = ($calendar.length > 0  && module.can.useElement('calendar')),
-              isErrored    = $fieldGroup.hasClass(className.error)
-            ;
-            if(defaultValue === undefined) {
-              return;
-            }
-            if(isErrored) {
-              module.verbose('Resetting error on field', $fieldGroup);
-              $fieldGroup.removeClass(className.error);
-              $prompt.remove();
-            }
-            if(isDropdown) {
-              module.verbose('Resetting dropdown value', $element, defaultValue);
-              $element.dropdown('restore defaults');
-            }
-            else if(isCheckbox) {
-              module.verbose('Resetting checkbox value', $element, defaultValue);
-              $field.prop('checked', defaultValue);
-            }
-            else if (isCalendar) {
-              $calendar.calendar('set date', defaultValue);
-            }
-            else {
-              module.verbose('Resetting field value', $field, defaultValue);
-              $field.val(defaultValue);
-            }
-          });
-
-          module.determine.isDirty();
-        },
-
-        determine: {
-          isValid: function() {
-            var
-              allValid = true
-            ;
-            $.each(validation, function(fieldName, field) {
-              if( !( module.validate.field(field, fieldName, true) ) ) {
-                allValid = false;
-              }
-            });
-            return allValid;
-          },
-          isDirty: function(e) {
-            var formIsDirty = false;
-
-            $field.each(function(index, el) {
-              var
-                $el = $(el),
-                isCheckbox = ($el.filter(selector.checkbox).length > 0),
-                isDirty
-              ;
-
-              if (isCheckbox) {
-                isDirty = module.is.checkboxDirty($el);
-              } else {
-                isDirty = module.is.fieldDirty($el);
-              }
-
-              $el.data(settings.metadata.isDirty, isDirty);
-
-              formIsDirty |= isDirty;
-            });
-
-            if (formIsDirty) {
-              module.set.dirty();
-            } else {
-              module.set.clean();
-            }
-
-            if (e && e.namespace === 'dirty') {
-              e.stopImmediatePropagation();
-              e.preventDefault();
-            }
-          }
-        },
-
-        is: {
-          bracketedRule: function(rule) {
-            return (rule.type && rule.type.match(settings.regExp.bracket));
-          },
-          shorthandFields: function(fields) {
-            var
-              fieldKeys = Object.keys(fields),
-              firstRule = fields[fieldKeys[0]]
-            ;
-            return module.is.shorthandRules(firstRule);
-          },
-          // duck type rule test
-          shorthandRules: function(rules) {
-            return (typeof rules == 'string' || Array.isArray(rules));
-          },
-          empty: function($field) {
-            if(!$field || $field.length === 0) {
-              return true;
-            }
-            else if($field.is(selector.checkbox)) {
-              return !$field.is(':checked');
-            }
-            else {
-              return module.is.blank($field);
-            }
-          },
-          blank: function($field) {
-            return $.trim($field.val()) === '';
-          },
-          valid: function(field) {
-            var
-              allValid = true
-            ;
-            if(field) {
-              module.verbose('Checking if field is valid', field);
-              return module.validate.field(validation[field], field, false);
-            }
-            else {
-              module.verbose('Checking if form is valid');
-              $.each(validation, function(fieldName, field) {
-                if( !module.is.valid(fieldName) ) {
-                  allValid = false;
-                }
-              });
-              return allValid;
-            }
-          },
-          dirty: function() {
-            return dirty;
-          },
-          clean: function() {
-            return !dirty;
-          },
-          fieldDirty: function($el) {
-            var initialValue = $el.data(metadata.defaultValue);
-            // Explicitly check for null/undefined here as value may be `false`, so ($el.data(dataInitialValue) || '') would not work
-            if (initialValue == null) { initialValue = ''; }
-            var currentValue = $el.val();
-            if (currentValue == null) { currentValue = ''; }
-
-            // Boolean values can be encoded as "true/false" or "True/False" depending on underlying frameworks so we need a case insensitive comparison
-            var boolRegex = /^(true|false)$/i;
-            var isBoolValue = boolRegex.test(initialValue) && boolRegex.test(currentValue);
-            if (isBoolValue) {
-              var regex = new RegExp("^" + initialValue + "$", "i");
-              return !regex.test(currentValue);
-            }
-
-            return currentValue !== initialValue;
-          },
-          checkboxDirty: function($el) {
-            var initialValue = $el.data(metadata.defaultValue);
-            var currentValue = $el.is(":checked");
-
-            return initialValue !== currentValue;
-          },
-          justDirty: function() {
-            return (history[0] === 'dirty');
-          },
-          justClean: function() {
-            return (history[0] === 'clean');
-          }
-        },
-
-        removeEvents: function() {
-          $module.off(eventNamespace);
-          $field.off(eventNamespace);
-          $submit.off(eventNamespace);
-          $field.off(eventNamespace);
-        },
-
-        event: {
-          field: {
-            keydown: function(event) {
-              var
-                $field       = $(this),
-                key          = event.which,
-                isInput      = $field.is(selector.input),
-                isCheckbox   = $field.is(selector.checkbox),
-                isInDropdown = ($field.closest(selector.uiDropdown).length > 0),
-                keyCode      = {
-                  enter  : 13,
-                  escape : 27
-                }
-              ;
-              if( key == keyCode.escape) {
-                module.verbose('Escape key pressed blurring field');
-                $field
-                  .blur()
-                ;
-              }
-              if(!event.ctrlKey && key == keyCode.enter && isInput && !isInDropdown && !isCheckbox) {
-                if(!keyHeldDown) {
-                  $field.one('keyup' + eventNamespace, module.event.field.keyup);
-                  module.submit();
-                  module.debug('Enter pressed on input submitting form');
-                }
-                keyHeldDown = true;
-              }
-            },
-            keyup: function() {
-              keyHeldDown = false;
-            },
-            blur: function(event) {
-              var
-                $field          = $(this),
-                $fieldGroup     = $field.closest($group),
-                validationRules = module.get.validation($field)
-              ;
-              if( $fieldGroup.hasClass(className.error) ) {
-                module.debug('Revalidating field', $field, validationRules);
-                if(validationRules) {
-                  module.validate.field( validationRules );
-                }
-              }
-              else if(settings.on == 'blur') {
-                if(validationRules) {
-                  module.validate.field( validationRules );
-                }
-              }
-            },
-            change: function(event) {
-              var
-                $field      = $(this),
-                $fieldGroup = $field.closest($group),
-                validationRules = module.get.validation($field)
-              ;
-              if(validationRules && (settings.on == 'change' || ( $fieldGroup.hasClass(className.error) && settings.revalidate) )) {
-                clearTimeout(module.timer);
-                module.timer = setTimeout(function() {
-                  module.debug('Revalidating field', $field,  module.get.validation($field));
-                  module.validate.field( validationRules );
-                }, settings.delay);
-              }
-            }
-          },
-          beforeUnload: function(event) {
-            if (module.is.dirty() && !submitting) {
-              var event = event || window.event;
-
-              // For modern browsers
-              if (event) {
-                event.returnValue = settings.text.leavingMessage;
-              }
-
-              // For olders...
-              return settings.text.leavingMessage;
-            }
-          }
-
-        },
-
-        get: {
-          ancillaryValue: function(rule) {
-            if(!rule.type || (!rule.value && !module.is.bracketedRule(rule))) {
-              return false;
-            }
-            return (rule.value !== undefined)
-              ? rule.value
-              : rule.type.match(settings.regExp.bracket)[1] + ''
-            ;
-          },
-          ruleName: function(rule) {
-            if( module.is.bracketedRule(rule) ) {
-              return rule.type.replace(rule.type.match(settings.regExp.bracket)[0], '');
-            }
-            return rule.type;
-          },
-          changeEvent: function(type, $input) {
-            if(type == 'checkbox' || type == 'radio' || type == 'hidden' || $input.is('select')) {
-              return 'change';
-            }
-            else {
-              return module.get.inputEvent();
-            }
-          },
-          inputEvent: function() {
-            return (document.createElement('input').oninput !== undefined)
-              ? 'input'
-              : (document.createElement('input').onpropertychange !== undefined)
-                ? 'propertychange'
-                : 'keyup'
-            ;
-          },
-          fieldsFromShorthand: function(fields) {
-            var
-              fullFields = {}
-            ;
-            $.each(fields, function(name, rules) {
-              if(typeof rules == 'string') {
-                rules = [rules];
-              }
-              fullFields[name] = {
-                rules: []
-              };
-              $.each(rules, function(index, rule) {
-                fullFields[name].rules.push({ type: rule });
-              });
-            });
-            return fullFields;
-          },
-          prompt: function(rule, field) {
-            var
-              ruleName      = module.get.ruleName(rule),
-              ancillary     = module.get.ancillaryValue(rule),
-              $field        = module.get.field(field.identifier),
-              value         = $field.val(),
-              prompt        = $.isFunction(rule.prompt)
-                ? rule.prompt(value)
-                : rule.prompt || settings.prompt[ruleName] || settings.text.unspecifiedRule,
-              requiresValue = (prompt.search('{value}') !== -1),
-              requiresName  = (prompt.search('{name}') !== -1),
-              $label,
-              name
-            ;
-            if(requiresValue) {
-              prompt = prompt.replace('{value}', $field.val());
-            }
-            if(requiresName) {
-              $label = $field.closest(selector.group).find('label').eq(0);
-              name = ($label.length == 1)
-                ? $label.text()
-                : $field.prop('placeholder') || settings.text.unspecifiedField
-              ;
-              prompt = prompt.replace('{name}', name);
-            }
-            prompt = prompt.replace('{identifier}', field.identifier);
-            prompt = prompt.replace('{ruleValue}', ancillary);
-            if(!rule.prompt) {
-              module.verbose('Using default validation prompt for type', prompt, ruleName);
-            }
-            return prompt;
-          },
-          settings: function() {
-            if($.isPlainObject(parameters)) {
-              var
-                keys     = Object.keys(parameters),
-                isLegacySettings = (keys.length > 0)
-                  ? (parameters[keys[0]].identifier !== undefined && parameters[keys[0]].rules !== undefined)
-                  : false
-              ;
-              if(isLegacySettings) {
-                // 1.x (ducktyped)
-                settings   = $.extend(true, {}, $.fn.form.settings, legacyParameters);
-                validation = $.extend({}, $.fn.form.settings.defaults, parameters);
-                module.error(settings.error.oldSyntax, element);
-                module.verbose('Extending settings from legacy parameters', validation, settings);
-              }
-              else {
-                // 2.x
-                if(parameters.fields && module.is.shorthandFields(parameters.fields)) {
-                  parameters.fields = module.get.fieldsFromShorthand(parameters.fields);
-                }
-                settings   = $.extend(true, {}, $.fn.form.settings, parameters);
-                validation = $.extend({}, $.fn.form.settings.defaults, settings.fields);
-                module.verbose('Extending settings', validation, settings);
-              }
-            }
-            else {
-              settings   = $.fn.form.settings;
-              validation = $.fn.form.settings.defaults;
-              module.verbose('Using default form validation', validation, settings);
-            }
-
-            // shorthand
-            namespace       = settings.namespace;
-            metadata        = settings.metadata;
-            selector        = settings.selector;
-            className       = settings.className;
-            regExp          = settings.regExp;
-            error           = settings.error;
-            moduleNamespace = 'module-' + namespace;
-            eventNamespace  = '.' + namespace;
-
-            // grab instance
-            instance = $module.data(moduleNamespace);
-
-            // refresh selector cache
-            module.refresh();
-          },
-          field: function(identifier) {
-            module.verbose('Finding field with identifier', identifier);
-            identifier = module.escape.string(identifier);
-            var t;
-            if((t=$field.filter('#' + identifier)).length > 0 ) {
-              return t;
-            }
-            if((t=$field.filter('[name="' + identifier +'"]')).length > 0 ) {
-              return t;
-            }
-            if((t=$field.filter('[name="' + identifier +'[]"]')).length > 0 ) {
-              return t;
-            }
-            if((t=$field.filter('[data-' + metadata.validate + '="'+ identifier +'"]')).length > 0 ) {
-              return t;
-            }
-            return $('<input/>');
-          },
-          fields: function(fields) {
-            var
-              $fields = $()
-            ;
-            $.each(fields, function(index, name) {
-              $fields = $fields.add( module.get.field(name) );
-            });
-            return $fields;
-          },
-          validation: function($field) {
-            var
-              fieldValidation,
-              identifier
-            ;
-            if(!validation) {
-              return false;
-            }
-            $.each(validation, function(fieldName, field) {
-              identifier = field.identifier || fieldName;
-              $.each(module.get.field(identifier), function(index, groupField) {
-                if(groupField == $field[0]) {
-                  field.identifier = identifier;
-                  fieldValidation = field;
-                  return false;
-                }
-              });
-            });
-            return fieldValidation || false;
-          },
-          value: function (field) {
-            var
-              fields = [],
-              results
-            ;
-            fields.push(field);
-            results = module.get.values.call(element, fields);
-            return results[field];
-          },
-          values: function (fields) {
-            var
-              $fields = Array.isArray(fields)
-                ? module.get.fields(fields)
-                : $field,
-              values = {}
-            ;
-            $fields.each(function(index, field) {
-              var
-                $field       = $(field),
-                $calendar    = $field.closest(selector.uiCalendar),
-                name         = $field.prop('name'),
-                value        = $field.val(),
-                isCheckbox   = $field.is(selector.checkbox),
-                isRadio      = $field.is(selector.radio),
-                isMultiple   = (name.indexOf('[]') !== -1),
-                isCalendar   = ($calendar.length > 0  && module.can.useElement('calendar')),
-                isChecked    = (isCheckbox)
-                  ? $field.is(':checked')
-                  : false
-              ;
-              if(name) {
-                if(isMultiple) {
-                  name = name.replace('[]', '');
-                  if(!values[name]) {
-                    values[name] = [];
-                  }
-                  if(isCheckbox) {
-                    if(isChecked) {
-                      values[name].push(value || true);
-                    }
-                    else {
-                      values[name].push(false);
-                    }
-                  }
-                  else {
-                    values[name].push(value);
-                  }
-                }
-                else {
-                  if(isRadio) {
-                    if(values[name] === undefined || values[name] == false) {
-                      values[name] = (isChecked)
-                        ? value || true
-                        : false
-                      ;
-                    }
-                  }
-                  else if(isCheckbox) {
-                    if(isChecked) {
-                      values[name] = value || true;
-                    }
-                    else {
-                      values[name] = false;
-                    }
-                  }
-                  else if(isCalendar) {
-                    var date = $calendar.calendar('get date');
-
-                    if (date !== null) {
-                      if (settings.dateHandling == 'date') {
-                        values[name] = date;
-                      } else if(settings.dateHandling == 'input') {
-                        values[name] = $calendar.calendar('get input date')
-                      } else if (settings.dateHandling == 'formatter') {
-                        var type = $calendar.calendar('setting', 'type');
-
-                        switch(type) {
-                          case 'date':
-                          values[name] = settings.formatter.date(date);
-                          break;
-
-                          case 'datetime':
-                          values[name] = settings.formatter.datetime(date);
-                          break;
-
-                          case 'time':
-                          values[name] = settings.formatter.time(date);
-                          break;
-
-                          case 'month':
-                          values[name] = settings.formatter.month(date);
-                          break;
-
-                          case 'year':
-                          values[name] = settings.formatter.year(date);
-                          break;
-
-                          default:
-                          module.debug('Wrong calendar mode', $calendar, type);
-                          values[name] = '';
-                        }
-                      }
-                    } else {
-                      values[name] = '';
-                    }
-                  } else {
-                    values[name] = value;
-                  }
-                }
-              }
-            });
-            return values;
-          },
-          dirtyFields: function() {
-            return $field.filter(function(index, e) {
-              return $(e).data(metadata.isDirty);
-            });
-          }
-        },
-
-        has: {
-
-          field: function(identifier) {
-            module.verbose('Checking for existence of a field with identifier', identifier);
-            identifier = module.escape.string(identifier);
-            if(typeof identifier !== 'string') {
-              module.error(error.identifier, identifier);
-            }
-            if($field.filter('#' + identifier).length > 0 ) {
-              return true;
-            }
-            else if( $field.filter('[name="' + identifier +'"]').length > 0 ) {
-              return true;
-            }
-            else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').length > 0 ) {
-              return true;
-            }
-            return false;
-          }
-
-        },
-
-        can: {
-            useElement: function(element){
-               if ($.fn[element] !== undefined) {
-                   return true;
-               }
-               module.error(error.noElement.replace('{element}',element));
-               return false;
-            }
-        },
-
-        escape: {
-          string: function(text) {
-            text =  String(text);
-            return text.replace(regExp.escape, '\\$&');
-          }
-        },
-
-        add: {
-          // alias
-          rule: function(name, rules) {
-            module.add.field(name, rules);
-          },
-          field: function(name, rules) {
-            var
-              newValidation = {}
-            ;
-            if(module.is.shorthandRules(rules)) {
-              rules = Array.isArray(rules)
-                ? rules
-                : [rules]
-              ;
-              newValidation[name] = {
-                rules: []
-              };
-              $.each(rules, function(index, rule) {
-                newValidation[name].rules.push({ type: rule });
-              });
-            }
-            else {
-              newValidation[name] = rules;
-            }
-            validation = $.extend({}, validation, newValidation);
-            module.debug('Adding rules', newValidation, validation);
-          },
-          fields: function(fields) {
-            var
-              newValidation
-            ;
-            if(fields && module.is.shorthandFields(fields)) {
-              newValidation = module.get.fieldsFromShorthand(fields);
-            }
-            else {
-              newValidation = fields;
-            }
-            validation = $.extend({}, validation, newValidation);
-          },
-          prompt: function(identifier, errors, internal) {
-            var
-              $field       = module.get.field(identifier),
-              $fieldGroup  = $field.closest($group),
-              $prompt      = $fieldGroup.children(selector.prompt),
-              promptExists = ($prompt.length !== 0)
-            ;
-            errors = (typeof errors == 'string')
-              ? [errors]
-              : errors
-            ;
-            module.verbose('Adding field error state', identifier);
-            if(!internal) {
-              $fieldGroup
-                  .addClass(className.error)
-              ;
-            }
-            if(settings.inline) {
-              if(!promptExists) {
-                $prompt = settings.templates.prompt(errors, className.label);
-                $prompt
-                  .appendTo($fieldGroup)
-                ;
-              }
-              $prompt
-                .html(errors[0])
-              ;
-              if(!promptExists) {
-                if(settings.transition && module.can.useElement('transition') && $module.transition('is supported')) {
-                  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)
-                  ;
-                }
-              }
-              else {
-                module.verbose('Inline errors are disabled, no inline error added', identifier);
-              }
-            }
-          },
-          errors: function(errors) {
-            module.debug('Adding form error messages', errors);
-            module.set.error();
-            $message
-              .html( settings.templates.error(errors) )
-            ;
-          }
-        },
-
-        remove: {
-          rule: function(field, rule) {
-            var
-              rules = Array.isArray(rule)
-                ? rule
-                : [rule]
-            ;
-            if(validation[field] === undefined || !Array.isArray(validation[field].rules)) {
-              return;
-            }
-            if(rule === undefined) {
-              module.debug('Removed all rules');
-              validation[field].rules = [];
-              return;
-            }
-            $.each(validation[field].rules, function(index, rule) {
-              if(rule && rules.indexOf(rule.type) !== -1) {
-                module.debug('Removed rule', rule.type);
-                validation[field].rules.splice(index, 1);
-              }
-            });
-          },
-          field: function(field) {
-            var
-              fields = Array.isArray(field)
-                ? field
-                : [field]
-            ;
-            $.each(fields, function(index, field) {
-              module.remove.rule(field);
-            });
-          },
-          // alias
-          rules: function(field, rules) {
-            if(Array.isArray(field)) {
-              $.each(field, function(index, field) {
-                module.remove.rule(field, rules);
-              });
-            }
-            else {
-              module.remove.rule(field, rules);
-            }
-          },
-          fields: function(fields) {
-            module.remove.field(fields);
-          },
-          prompt: function(identifier) {
-            var
-              $field      = module.get.field(identifier),
-              $fieldGroup = $field.closest($group),
-              $prompt     = $fieldGroup.children(selector.prompt)
-            ;
-            $fieldGroup
-              .removeClass(className.error)
-            ;
-            if(settings.inline && $prompt.is(':visible')) {
-              module.verbose('Removing prompt for field', identifier);
-              if(settings.transition  && module.can.useElement('transition') && $module.transition('is supported')) {
-                $prompt.transition(settings.transition + ' out', settings.duration, function() {
-                  $prompt.remove();
-                });
-              }
-              else {
-                $prompt
-                  .fadeOut(settings.duration, function(){
-                    $prompt.remove();
-                  })
-                ;
-              }
-            }
-          }
-        },
-
-        set: {
-          success: function() {
-            $module
-              .removeClass(className.error)
-              .addClass(className.success)
-            ;
-          },
-          defaults: function () {
-            $field.each(function (index, el) {
-              var
-                $el        = $(el),
-                $parent    = $el.parent(),
-                isCheckbox = ($el.filter(selector.checkbox).length > 0),
-                isDropdown = $parent.is(selector.uiDropdown) && module.can.useElement('dropdown'),
-                value      = (isCheckbox)
-                  ? $el.is(':checked')
-                  : $el.val()
-              ;
-              if (isDropdown) {
-                $parent.dropdown('save defaults');
-              }
-              $el.data(metadata.defaultValue, value);
-              $el.data(metadata.isDirty, false);
-            });
-          },
-          error: function() {
-            $module
-              .removeClass(className.success)
-              .addClass(className.error)
-            ;
-          },
-          value: function (field, value) {
-            var
-              fields = {}
-            ;
-            fields[field] = value;
-            return module.set.values.call(element, fields);
-          },
-          values: function (fields) {
-            if($.isEmptyObject(fields)) {
-              return;
-            }
-            $.each(fields, function(key, value) {
-              var
-                $field      = module.get.field(key),
-                $element    = $field.parent(),
-                $calendar   = $field.closest(selector.uiCalendar),
-                isMultiple  = Array.isArray(value),
-                isCheckbox  = $element.is(selector.uiCheckbox)  && module.can.useElement('checkbox'),
-                isDropdown  = $element.is(selector.uiDropdown) && module.can.useElement('dropdown'),
-                isRadio     = ($field.is(selector.radio) && isCheckbox),
-                isCalendar  = ($calendar.length > 0  && module.can.useElement('calendar')),
-                fieldExists = ($field.length > 0),
-                $multipleField
-              ;
-              if(fieldExists) {
-                if(isMultiple && isCheckbox) {
-                  module.verbose('Selecting multiple', value, $field);
-                  $element.checkbox('uncheck');
-                  $.each(value, function(index, value) {
-                    $multipleField = $field.filter('[value="' + value + '"]');
-                    $element       = $multipleField.parent();
-                    if($multipleField.length > 0) {
-                      $element.checkbox('check');
-                    }
-                  });
-                }
-                else if(isRadio) {
-                  module.verbose('Selecting radio value', value, $field);
-                  $field.filter('[value="' + value + '"]')
-                    .parent(selector.uiCheckbox)
-                      .checkbox('check')
-                  ;
-                }
-                else if(isCheckbox) {
-                  module.verbose('Setting checkbox value', value, $element);
-                  if(value === true) {
-                    $element.checkbox('check');
-                  }
-                  else {
-                    $element.checkbox('uncheck');
-                  }
-                }
-                else if(isDropdown) {
-                  module.verbose('Setting dropdown value', value, $element);
-                  $element.dropdown('set selected', value);
-                }
-                else if (isCalendar) {
-                  $calendar.calendar('set date',value);
-                }
-                else {
-                  module.verbose('Setting field value', value, $field);
-                  $field.val(value);
-                }
-              }
-            });
-          },
-          dirty: function() {
-            module.verbose('Setting state dirty');
-            dirty = true;
-            history[0] = history[1];
-            history[1] = 'dirty';
-
-            if (module.is.justClean()) {
-              $module.trigger('dirty');
-            }
-          },
-          clean: function() {
-            module.verbose('Setting state clean');
-            dirty = false;
-            history[0] = history[1];
-            history[1] = 'clean';
-
-            if (module.is.justDirty()) {
-              $module.trigger('clean');
-            }
-          },
-          asClean: function() {
-            module.set.defaults();
-            module.set.clean();
-          },
-          asDirty: function() {
-            module.set.defaults();
-            module.set.dirty();
-          }
-        },
-
-        validate: {
-
-          form: function(event, ignoreCallbacks) {
-            var values = module.get.values();
-
-            // input keydown event will fire submit repeatedly by browser default
-            if(keyHeldDown) {
-              return false;
-            }
-
-            // reset errors
-            formErrors = [];
-            if( module.determine.isValid() ) {
-              module.debug('Form has no validation errors, submitting');
-              module.set.success();
-              if(ignoreCallbacks !== true) {
-                return settings.onSuccess.call(element, event, values);
-              }
-            }
-            else {
-              module.debug('Form has errors');
-              module.set.error();
-              if(!settings.inline) {
-                module.add.errors(formErrors);
-              }
-              // prevent ajax submit
-              if(event && $module.data('moduleApi') !== undefined) {
-                event.stopImmediatePropagation();
-              }
-              if(ignoreCallbacks !== true) {
-                return settings.onFailure.call(element, formErrors, values);
-              }
-            }
-          },
-
-          // takes a validation object and returns whether field passes validation
-          field: function(field, fieldName, showErrors) {
-            showErrors = (showErrors !== undefined)
-              ? showErrors
-              : true
-            ;
-            if(typeof field == 'string') {
-              module.verbose('Validating field', field);
-              fieldName = field;
-              field     = validation[field];
-            }
-            var
-              identifier    = field.identifier || fieldName,
-              $field        = module.get.field(identifier),
-              $dependsField = (field.depends)
-                ? module.get.field(field.depends)
-                : false,
-              fieldValid  = true,
-              fieldErrors = []
-            ;
-            if(!field.identifier) {
-              module.debug('Using field name as identifier', identifier);
-              field.identifier = identifier;
-            }
-            var isDisabled = true;
-            $.each($field, function(){
-                if(!$(this).prop('disabled')) {
-                  isDisabled = false;
-                  return false;
-                }
-            });
-            if(isDisabled) {
-              module.debug('Field is disabled. Skipping', identifier);
-            }
-            else if(field.optional && module.is.blank($field)){
-              module.debug('Field is optional and blank. Skipping', identifier);
-            }
-            else if(field.depends && module.is.empty($dependsField)) {
-              module.debug('Field depends on another value that is not present or empty. Skipping', $dependsField);
-            }
-            else if(field.rules !== undefined) {
-              $field.closest($group).removeClass(className.error);
-              $.each(field.rules, function(index, rule) {
-                if( module.has.field(identifier)) {
-                  var invalidFields = module.validate.rule(field, rule,true) || [];
-                  if (invalidFields.length>0){
-                    module.debug('Field is invalid', identifier, rule.type);
-                    fieldErrors.push(module.get.prompt(rule, field));
-                    fieldValid = false;
-                    if(showErrors){
-                      $(invalidFields).closest($group).addClass(className.error);
-                    }
-                  }
-                }
-              });
-            }
-            if(fieldValid) {
-              if(showErrors) {
-                module.remove.prompt(identifier, fieldErrors);
-                settings.onValid.call($field);
-              }
-            }
-            else {
-              if(showErrors) {
-                formErrors = formErrors.concat(fieldErrors);
-                module.add.prompt(identifier, fieldErrors, true);
-                settings.onInvalid.call($field, fieldErrors);
-              }
-              return false;
-            }
-            return true;
-          },
-
-          // takes validation rule and returns whether field passes rule
-          rule: function(field, rule, internal) {
-            var
-              $field       = module.get.field(field.identifier),
-              ancillary    = module.get.ancillaryValue(rule),
-              ruleName     = module.get.ruleName(rule),
-              ruleFunction = settings.rules[ruleName],
-              invalidFields = [],
-              isCheckbox = $field.is(selector.checkbox),
-              isValid = function(field){
-                var value = (isCheckbox ? $(field).filter(':checked').val() : $(field).val());
-                // cast to string avoiding encoding special values
-                value = (value === undefined || value === '' || value === null)
-                    ? ''
-                    : (settings.shouldTrim) ? $.trim(value + '') : String(value + '')
-                ;
-                return ruleFunction.call(field, value, ancillary, $module);
-              }
-            ;
-            if( !$.isFunction(ruleFunction) ) {
-              module.error(error.noRule, ruleName);
-              return;
-            }
-            if(isCheckbox) {
-              if (!isValid($field)) {
-                invalidFields = $field;
-              }
-            } else {
-              $.each($field, function (index, field) {
-                if (!isValid(field)) {
-                  invalidFields.push(field);
-                }
-              });
-            }
-            return internal ? invalidFields : !(invalidFields.length>0);
-          }
-        },
-
-        setting: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, settings, name);
-          }
-          else if(value !== undefined) {
-            settings[name] = value;
-          }
-          else {
-            return settings[name];
-          }
-        },
-        internal: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, module, name);
-          }
-          else if(value !== undefined) {
-            module[name] = value;
-          }
-          else {
-            return module[name];
-          }
-        },
-        debug: function() {
-          if(!settings.silent && 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.silent && 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() {
-          if(!settings.silent) {
-            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({
-                'Name'           : message[0],
-                'Arguments'      : [].slice.call(message, 1) || '',
-                'Element'        : element,
-                'Execution Time' : executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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.length > 1) {
-              title += ' ' + '(' + $allModules.length + ')';
-            }
-            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
-            object = instance,
-            maxDepth,
-            found,
-            response
-          ;
-          passedArguments = passedArguments || queryArguments;
-          context         = element         || context;
-          if(typeof query == 'string' && object !== 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( object[camelCaseValue] ) && (depth != maxDepth) ) {
-                object = object[camelCaseValue];
-              }
-              else if( object[camelCaseValue] !== undefined ) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
-                object = object[value];
-              }
-              else if( object[value] !== undefined ) {
-                found = object[value];
-                return false;
-              }
-              else {
-                return false;
-              }
-            });
-          }
-          if( $.isFunction( found ) ) {
-            response = found.apply(context, passedArguments);
-          }
-          else if(found !== undefined) {
-            response = found;
-          }
-          if(Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if(returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if(response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-      module.initialize();
-    })
-  ;
-
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : this
-  ;
-};
-
-$.fn.form.settings = {
-
-  name              : 'Form',
-  namespace         : 'form',
-
-  debug             : false,
-  verbose           : false,
-  performance       : true,
-
-  fields            : false,
-
-  keyboardShortcuts : true,
-  on                : 'submit',
-  inline            : false,
-
-  delay             : 200,
-  revalidate        : true,
-  shouldTrim        : true,
-
-  transition        : 'scale',
-  duration          : 200,
-
-  preventLeaving    : false,
-  dateHandling      : 'date', // 'date', 'input', 'formatter'
-
-  onValid           : function() {},
-  onInvalid         : function() {},
-  onSuccess         : function() { return true; },
-  onFailure         : function() { return false; },
-  onDirty           : function() {},
-  onClean           : function() {},
-
-  metadata : {
-    defaultValue : 'default',
-    validate     : 'validate',
-    isDirty      : 'isDirty'
-  },
-
-  regExp: {
-    htmlID  : /^[a-zA-Z][\w:.-]*$/g,
-    bracket : /\[(.*)\]/i,
-    decimal : /^\d+\.?\d*$/,
-    email   : /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,
-    escape  : /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|:,=@]/g,
-    flags   : /^\/(.*)\/(.*)?/,
-    integer : /^\-?\d+$/,
-    number  : /^\-?\d*(\.\d+)?$/,
-    url     : /(https?:\/\/(?:www\.|(?!www))[^\s\.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/i
-  },
-
-  text: {
-    unspecifiedRule  : 'Please enter a valid value',
-    unspecifiedField : 'This field',
-    leavingMessage   : 'There are unsaved changes on this page which will be discarded if you continue.'
-  },
-
-  prompt: {
-    empty                : '{name} must have a value',
-    checked              : '{name} must be checked',
-    email                : '{name} must be a valid e-mail',
-    url                  : '{name} must be a valid url',
-    regExp               : '{name} is not formatted correctly',
-    integer              : '{name} must be an integer',
-    decimal              : '{name} must be a decimal number',
-    number               : '{name} must be set to a number',
-    is                   : '{name} must be "{ruleValue}"',
-    isExactly            : '{name} must be exactly "{ruleValue}"',
-    not                  : '{name} cannot be set to "{ruleValue}"',
-    notExactly           : '{name} cannot be set to exactly "{ruleValue}"',
-    contain              : '{name} must contain "{ruleValue}"',
-    containExactly       : '{name} must contain exactly "{ruleValue}"',
-    doesntContain        : '{name} cannot contain  "{ruleValue}"',
-    doesntContainExactly : '{name} cannot contain exactly "{ruleValue}"',
-    minLength            : '{name} must be at least {ruleValue} characters',
-    length               : '{name} must be at least {ruleValue} characters',
-    exactLength          : '{name} must be exactly {ruleValue} characters',
-    maxLength            : '{name} cannot be longer than {ruleValue} characters',
-    match                : '{name} must match {ruleValue} field',
-    different            : '{name} must have a different value than {ruleValue} field',
-    creditCard           : '{name} must be a valid credit card number',
-    minCount             : '{name} must have at least {ruleValue} choices',
-    exactCount           : '{name} must have exactly {ruleValue} choices',
-    maxCount             : '{name} must have {ruleValue} or less choices'
-  },
-
-  selector : {
-    checkbox   : 'input[type="checkbox"], input[type="radio"]',
-    clear      : '.clear',
-    field      : 'input, textarea, select',
-    group      : '.field',
-    input      : 'input',
-    message    : '.error.message',
-    prompt     : '.prompt.label',
-    radio      : 'input[type="radio"]',
-    reset      : '.reset:not([type="reset"])',
-    submit     : '.submit:not([type="submit"])',
-    uiCheckbox : '.ui.checkbox',
-    uiDropdown : '.ui.dropdown',
-    uiCalendar : '.ui.calendar'
-  },
-
-  className : {
-    error   : 'error',
-    label   : 'ui basic red pointing prompt label',
-    pressed : 'down',
-    success : 'success'
-  },
-
-  error: {
-    identifier : 'You must specify a string identifier for each field',
-    method     : 'The method you called is not defined.',
-    noRule     : 'There is no rule matching the one you specified',
-    oldSyntax  : 'Starting in 2.0 forms now only take a single settings object. Validation settings converted to new syntax automatically.',
-    noElement  : 'This module requires ui {element}'
-  },
-
-  templates: {
-
-    // template that produces error message
-    error: function(errors) {
-      var
-        html = '<ul class="list">'
-      ;
-      $.each(errors, function(index, value) {
-        html += '<li>' + value + '</li>';
-      });
-      html += '</ul>';
-      return $(html);
-    },
-
-    // template that produces label
-    prompt: function(errors, labelClasses) {
-      return $('<div/>')
-        .addClass(labelClasses)
-        .html(errors[0])
-      ;
-    }
-  },
-
-  formatter: {
-    date: function(date) {
-      return Intl.DateTimeFormat('en-GB').format(date);
-    },
-    datetime: function(date) {
-      return Intl.DateTimeFormat('en-GB', {
-        year: "numeric",
-        month: "2-digit",
-        day: "2-digit",
-        hour: '2-digit',
-        minute: '2-digit',
-        second: '2-digit'
-      }).format(date);
-    },
-    time: function(date) {
-      return Intl.DateTimeFormat('en-GB', {
-        hour: '2-digit',
-        minute: '2-digit',
-        second: '2-digit'
-      }).format(date);
-    },
-    month: function(date) {
-      return Intl.DateTimeFormat('en-GB', {
-        month: '2-digit',
-        year: 'numeric'
-      }).format(date);
-    },
-    year: function(date) {
-      return Intl.DateTimeFormat('en-GB', {
-        year: 'numeric'
-      }).format(date);
-    }
-  },
-
-  rules: {
-
-    // is not empty or blank string
-    empty: function(value) {
-      return !(value === undefined || '' === value || Array.isArray(value) && value.length === 0);
-    },
-
-    // checkbox checked
-    checked: function() {
-      return ($(this).filter(':checked').length > 0);
-    },
-
-    // is most likely an email
-    email: function(value){
-      return $.fn.form.settings.regExp.email.test(value);
-    },
-
-    // value is most likely url
-    url: function(value) {
-      return $.fn.form.settings.regExp.url.test(value);
-    },
-
-    // matches specified regExp
-    regExp: function(value, regExp) {
-      if(regExp instanceof RegExp) {
-        return value.match(regExp);
-      }
-      var
-        regExpParts = regExp.match($.fn.form.settings.regExp.flags),
-        flags
-      ;
-      // regular expression specified as /baz/gi (flags)
-      if(regExpParts) {
-        regExp = (regExpParts.length >= 2)
-          ? regExpParts[1]
-          : regExp
-        ;
-        flags = (regExpParts.length >= 3)
-          ? regExpParts[2]
-          : ''
-        ;
-      }
-      return value.match( new RegExp(regExp, flags) );
-    },
-
-    // is valid integer or matches range
-    integer: function(value, range) {
-      var
-        intRegExp = $.fn.form.settings.regExp.integer,
-        min,
-        max,
-        parts
-      ;
-      if( !range || ['', '..'].indexOf(range) !== -1) {
-        // do nothing
-      }
-      else if(range.indexOf('..') == -1) {
-        if(intRegExp.test(range)) {
-          min = max = range - 0;
-        }
-      }
-      else {
-        parts = range.split('..', 2);
-        if(intRegExp.test(parts[0])) {
-          min = parts[0] - 0;
-        }
-        if(intRegExp.test(parts[1])) {
-          max = parts[1] - 0;
-        }
-      }
-      return (
-        intRegExp.test(value) &&
-        (min === undefined || value >= min) &&
-        (max === undefined || value <= max)
-      );
-    },
-
-    // is valid number (with decimal)
-    decimal: function(value) {
-      return $.fn.form.settings.regExp.decimal.test(value);
-    },
-
-    // is valid number
-    number: function(value) {
-      return $.fn.form.settings.regExp.number.test(value);
-    },
-
-    // is value (case insensitive)
-    is: function(value, text) {
-      text = (typeof text == 'string')
-        ? text.toLowerCase()
-        : text
-      ;
-      value = (typeof value == 'string')
-        ? value.toLowerCase()
-        : value
-      ;
-      return (value == text);
-    },
-
-    // is value
-    isExactly: function(value, text) {
-      return (value == text);
-    },
-
-    // value is not another value (case insensitive)
-    not: function(value, notValue) {
-      value = (typeof value == 'string')
-        ? value.toLowerCase()
-        : value
-      ;
-      notValue = (typeof notValue == 'string')
-        ? notValue.toLowerCase()
-        : notValue
-      ;
-      return (value != notValue);
-    },
-
-    // value is not another value (case sensitive)
-    notExactly: function(value, notValue) {
-      return (value != notValue);
-    },
-
-    // value contains text (insensitive)
-    contains: function(value, text) {
-      // escape regex characters
-      text = text.replace($.fn.form.settings.regExp.escape, "\\$&");
-      return (value.search( new RegExp(text, 'i') ) !== -1);
-    },
-
-    // value contains text (case sensitive)
-    containsExactly: function(value, text) {
-      // escape regex characters
-      text = text.replace($.fn.form.settings.regExp.escape, "\\$&");
-      return (value.search( new RegExp(text) ) !== -1);
-    },
-
-    // value contains text (insensitive)
-    doesntContain: function(value, text) {
-      // escape regex characters
-      text = text.replace($.fn.form.settings.regExp.escape, "\\$&");
-      return (value.search( new RegExp(text, 'i') ) === -1);
-    },
-
-    // value contains text (case sensitive)
-    doesntContainExactly: function(value, text) {
-      // escape regex characters
-      text = text.replace($.fn.form.settings.regExp.escape, "\\$&");
-      return (value.search( new RegExp(text) ) === -1);
-    },
-
-    // is at least string length
-    minLength: function(value, requiredLength) {
-      return (value !== undefined)
-        ? (value.length >= requiredLength)
-        : false
-      ;
-    },
-
-    // see rls notes for 2.0.6 (this is a duplicate of minLength)
-    length: function(value, requiredLength) {
-      return (value !== undefined)
-        ? (value.length >= requiredLength)
-        : false
-      ;
-    },
-
-    // is exactly length
-    exactLength: function(value, requiredLength) {
-      return (value !== undefined)
-        ? (value.length == requiredLength)
-        : false
-      ;
-    },
-
-    // is less than length
-    maxLength: function(value, maxLength) {
-      return (value !== undefined)
-        ? (value.length <= maxLength)
-        : false
-      ;
-    },
-
-    // matches another field
-    match: function(value, identifier, $module) {
-      var
-        matchingValue,
-        matchingElement
-      ;
-      if((matchingElement = $module.find('[data-validate="'+ identifier +'"]')).length > 0 ) {
-        matchingValue = matchingElement.val();
-      }
-      else if((matchingElement = $module.find('#' + identifier)).length > 0) {
-        matchingValue = matchingElement.val();
-      }
-      else if((matchingElement = $module.find('[name="' + identifier +'"]')).length > 0) {
-        matchingValue = matchingElement.val();
-      }
-      else if((matchingElement = $module.find('[name="' + identifier +'[]"]')).length > 0 ) {
-        matchingValue = matchingElement;
-      }
-      return (matchingValue !== undefined)
-        ? ( value.toString() == matchingValue.toString() )
-        : false
-      ;
-    },
-
-    // different than another field
-    different: function(value, identifier, $module) {
-      // use either id or name of field
-      var
-        matchingValue,
-        matchingElement
-      ;
-      if((matchingElement = $module.find('[data-validate="'+ identifier +'"]')).length > 0 ) {
-        matchingValue = matchingElement.val();
-      }
-      else if((matchingElement = $module.find('#' + identifier)).length > 0) {
-        matchingValue = matchingElement.val();
-      }
-      else if((matchingElement = $module.find('[name="' + identifier +'"]')).length > 0) {
-        matchingValue = matchingElement.val();
-      }
-      else if((matchingElement = $module.find('[name="' + identifier +'[]"]')).length > 0 ) {
-        matchingValue = matchingElement;
-      }
-      return (matchingValue !== undefined)
-        ? ( value.toString() !== matchingValue.toString() )
-        : false
-      ;
-    },
-
-    creditCard: function(cardNumber, cardTypes) {
-      var
-        cards = {
-          visa: {
-            pattern : /^4/,
-            length  : [16]
-          },
-          amex: {
-            pattern : /^3[47]/,
-            length  : [15]
-          },
-          mastercard: {
-            pattern : /^5[1-5]/,
-            length  : [16]
-          },
-          discover: {
-            pattern : /^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)/,
-            length  : [16]
-          },
-          unionPay: {
-            pattern : /^(62|88)/,
-            length  : [16, 17, 18, 19]
-          },
-          jcb: {
-            pattern : /^35(2[89]|[3-8][0-9])/,
-            length  : [16]
-          },
-          maestro: {
-            pattern : /^(5018|5020|5038|6304|6759|676[1-3])/,
-            length  : [12, 13, 14, 15, 16, 17, 18, 19]
-          },
-          dinersClub: {
-            pattern : /^(30[0-5]|^36)/,
-            length  : [14]
-          },
-          laser: {
-            pattern : /^(6304|670[69]|6771)/,
-            length  : [16, 17, 18, 19]
-          },
-          visaElectron: {
-            pattern : /^(4026|417500|4508|4844|491(3|7))/,
-            length  : [16]
-          }
-        },
-        valid         = {},
-        validCard     = false,
-        requiredTypes = (typeof cardTypes == 'string')
-          ? cardTypes.split(',')
-          : false,
-        unionPay,
-        validation
-      ;
-
-      if(typeof cardNumber !== 'string' || cardNumber.length === 0) {
-        return;
-      }
-
-      // allow dashes in card
-      cardNumber = cardNumber.replace(/[\-]/g, '');
-
-      // verify card types
-      if(requiredTypes) {
-        $.each(requiredTypes, function(index, type){
-          // verify each card type
-          validation = cards[type];
-          if(validation) {
-            valid = {
-              length  : ($.inArray(cardNumber.length, validation.length) !== -1),
-              pattern : (cardNumber.search(validation.pattern) !== -1)
-            };
-            if(valid.length && valid.pattern) {
-              validCard = true;
-            }
-          }
-        });
-
-        if(!validCard) {
-          return false;
-        }
-      }
-
-      // skip luhn for UnionPay
-      unionPay = {
-        number  : ($.inArray(cardNumber.length, cards.unionPay.length) !== -1),
-        pattern : (cardNumber.search(cards.unionPay.pattern) !== -1)
-      };
-      if(unionPay.number && unionPay.pattern) {
-        return true;
-      }
-
-      // verify luhn, adapted from  <https://gist.github.com/2134376>
-      var
-        length        = cardNumber.length,
-        multiple      = 0,
-        producedValue = [
-          [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
-          [0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
-        ],
-        sum           = 0
-      ;
-      while (length--) {
-        sum += producedValue[multiple][parseInt(cardNumber.charAt(length), 10)];
-        multiple ^= 1;
-      }
-      return (sum % 10 === 0 && sum > 0);
-    },
-
-    minCount: function(value, minCount) {
-      if(minCount == 0) {
-        return true;
-      }
-      if(minCount == 1) {
-        return (value !== '');
-      }
-      return (value.split(',').length >= minCount);
-    },
-
-    exactCount: function(value, exactCount) {
-      if(exactCount == 0) {
-        return (value === '');
-      }
-      if(exactCount == 1) {
-        return (value !== '' && value.search(',') === -1);
-      }
-      return (value.split(',').length == exactCount);
-    },
-
-    maxCount: function(value, maxCount) {
-      if(maxCount == 0) {
-        return false;
-      }
-      if(maxCount == 1) {
-        return (value.search(',') === -1);
-      }
-      return (value.split(',').length <= maxCount);
-    }
-  }
-
-};
-
-})( jQuery, window, document );

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/form.min.css


File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/form.min.js


+ 0 - 2079
webgui/static/components/grid.css

@@ -1,2079 +0,0 @@
-/*!
- * # Fomantic-UI - Grid
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Standard
-*******************************/
-
-.ui.grid {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-orient: horizontal;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: row;
-          flex-direction: row;
-  -ms-flex-wrap: wrap;
-      flex-wrap: wrap;
-  -webkit-box-align: stretch;
-      -ms-flex-align: stretch;
-          align-items: stretch;
-  padding: 0;
-}
-
-/*----------------------
-      Remove Gutters
------------------------*/
-
-.ui.grid {
-  margin-top: -1rem;
-  margin-bottom: -1rem;
-  margin-left: -1rem;
-  margin-right: -1rem;
-}
-.ui.relaxed.grid {
-  margin-left: -1.5rem;
-  margin-right: -1.5rem;
-}
-.ui[class*="very relaxed"].grid {
-  margin-left: -2.5rem;
-  margin-right: -2.5rem;
-}
-
-/* Preserve Rows Spacing on Consecutive Grids */
-.ui.grid + .grid {
-  margin-top: 1rem;
-}
-
-/*-------------------
-       Columns
---------------------*/
-
-
-/* Standard 16 column */
-.ui.grid > .column:not(.row),
-.ui.grid > .row > .column {
-  position: relative;
-  display: inline-block;
-  width: 6.25%;
-  padding-left: 1rem;
-  padding-right: 1rem;
-  vertical-align: top;
-}
-.ui.grid > * {
-  padding-left: 1rem;
-  padding-right: 1rem;
-}
-
-/*-------------------
-        Rows
---------------------*/
-
-.ui.grid > .row {
-  position: relative;
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-orient: horizontal;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: row;
-          flex-direction: row;
-  -ms-flex-wrap: wrap;
-      flex-wrap: wrap;
-  -webkit-box-pack: inherit;
-      -ms-flex-pack: inherit;
-          justify-content: inherit;
-  -webkit-box-align: stretch;
-      -ms-flex-align: stretch;
-          align-items: stretch;
-  width: 100% !important;
-  padding: 0;
-  padding-top: 1rem;
-  padding-bottom: 1rem;
-}
-
-/*-------------------
-       Columns
---------------------*/
-
-
-/* Vertical padding when no rows */
-.ui.grid > .column:not(.row) {
-  padding-top: 1rem;
-  padding-bottom: 1rem;
-}
-.ui.grid > .row > .column {
-  margin-top: 0;
-  margin-bottom: 0;
-}
-
-/*-------------------
-      Content
---------------------*/
-
-.ui.grid > .row > img,
-.ui.grid > .row > .column > img {
-  max-width: 100%;
-}
-
-/*-------------------
-    Loose Coupling
---------------------*/
-
-
-/* Collapse Margin on Consecutive Grid */
-.ui.grid > .ui.grid:first-child {
-  margin-top: 0;
-}
-.ui.grid > .ui.grid:last-child {
-  margin-bottom: 0;
-}
-
-/* Segment inside Aligned Grid */
-.ui.grid .aligned.row > .column > .segment:not(.compact):not(.attached),
-.ui.aligned.grid .column > .segment:not(.compact):not(.attached) {
-  width: 100%;
-}
-
-/* Align Dividers with Gutter */
-.ui.grid .row + .ui.divider {
-  -webkit-box-flex: 1;
-      -ms-flex-positive: 1;
-          flex-grow: 1;
-  margin: 1rem 1rem;
-}
-.ui.grid .column + .ui.vertical.divider {
-  height: calc(50% - 1rem);
-}
-
-/* Remove Border on Last Horizontal Segment */
-.ui.grid > .row > .column:last-child > .horizontal.segment,
-.ui.grid > .column:last-child > .horizontal.segment {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*-----------------------
-       Page Grid
--------------------------*/
-
-@media only screen and (max-width: 767.98px) {
-  .ui.page.grid {
-    width: auto;
-    padding-left: 0;
-    padding-right: 0;
-    margin-left: 0;
-    margin-right: 0;
-  }
-}
-@media only screen and (min-width: 768px) and (max-width: 991.98px) {
-  .ui.page.grid {
-    width: auto;
-    margin-left: 0;
-    margin-right: 0;
-    padding-left: 2em;
-    padding-right: 2em;
-  }
-}
-@media only screen and (min-width: 992px) and (max-width: 1199.98px) {
-  .ui.page.grid {
-    width: auto;
-    margin-left: 0;
-    margin-right: 0;
-    padding-left: 3%;
-    padding-right: 3%;
-  }
-}
-@media only screen and (min-width: 1200px) and (max-width: 1919.98px) {
-  .ui.page.grid {
-    width: auto;
-    margin-left: 0;
-    margin-right: 0;
-    padding-left: 15%;
-    padding-right: 15%;
-  }
-}
-@media only screen and (min-width: 1920px) {
-  .ui.page.grid {
-    width: auto;
-    margin-left: 0;
-    margin-right: 0;
-    padding-left: 23%;
-    padding-right: 23%;
-  }
-}
-
-/*-------------------
-     Column Count
---------------------*/
-
-
-/* Assume full width with one column */
-.ui.grid > .column:only-child,
-.ui.grid > .row > .column:only-child {
-  width: 100%;
-}
-
-/* Grid Based */
-.ui[class*="one column"].grid > .row > .column,
-.ui[class*="one column"].grid > .column:not(.row) {
-  width: 100%;
-}
-.ui[class*="two column"].grid > .row > .column,
-.ui[class*="two column"].grid > .column:not(.row) {
-  width: 50%;
-}
-.ui[class*="three column"].grid > .row > .column,
-.ui[class*="three column"].grid > .column:not(.row) {
-  width: 33.33333333%;
-}
-.ui[class*="four column"].grid > .row > .column,
-.ui[class*="four column"].grid > .column:not(.row) {
-  width: 25%;
-}
-.ui[class*="five column"].grid > .row > .column,
-.ui[class*="five column"].grid > .column:not(.row) {
-  width: 20%;
-}
-.ui[class*="six column"].grid > .row > .column,
-.ui[class*="six column"].grid > .column:not(.row) {
-  width: 16.66666667%;
-}
-.ui[class*="seven column"].grid > .row > .column,
-.ui[class*="seven column"].grid > .column:not(.row) {
-  width: 14.28571429%;
-}
-.ui[class*="eight column"].grid > .row > .column,
-.ui[class*="eight column"].grid > .column:not(.row) {
-  width: 12.5%;
-}
-.ui[class*="nine column"].grid > .row > .column,
-.ui[class*="nine column"].grid > .column:not(.row) {
-  width: 11.11111111%;
-}
-.ui[class*="ten column"].grid > .row > .column,
-.ui[class*="ten column"].grid > .column:not(.row) {
-  width: 10%;
-}
-.ui[class*="eleven column"].grid > .row > .column,
-.ui[class*="eleven column"].grid > .column:not(.row) {
-  width: 9.09090909%;
-}
-.ui[class*="twelve column"].grid > .row > .column,
-.ui[class*="twelve column"].grid > .column:not(.row) {
-  width: 8.33333333%;
-}
-.ui[class*="thirteen column"].grid > .row > .column,
-.ui[class*="thirteen column"].grid > .column:not(.row) {
-  width: 7.69230769%;
-}
-.ui[class*="fourteen column"].grid > .row > .column,
-.ui[class*="fourteen column"].grid > .column:not(.row) {
-  width: 7.14285714%;
-}
-.ui[class*="fifteen column"].grid > .row > .column,
-.ui[class*="fifteen column"].grid > .column:not(.row) {
-  width: 6.66666667%;
-}
-.ui[class*="sixteen column"].grid > .row > .column,
-.ui[class*="sixteen column"].grid > .column:not(.row) {
-  width: 6.25%;
-}
-
-/* Row Based Overrides */
-.ui.grid > [class*="one column"].row > .column {
-  width: 100% !important;
-}
-.ui.grid > [class*="two column"].row > .column {
-  width: 50% !important;
-}
-.ui.grid > [class*="three column"].row > .column {
-  width: 33.33333333% !important;
-}
-.ui.grid > [class*="four column"].row > .column {
-  width: 25% !important;
-}
-.ui.grid > [class*="five column"].row > .column {
-  width: 20% !important;
-}
-.ui.grid > [class*="six column"].row > .column {
-  width: 16.66666667% !important;
-}
-.ui.grid > [class*="seven column"].row > .column {
-  width: 14.28571429% !important;
-}
-.ui.grid > [class*="eight column"].row > .column {
-  width: 12.5% !important;
-}
-.ui.grid > [class*="nine column"].row > .column {
-  width: 11.11111111% !important;
-}
-.ui.grid > [class*="ten column"].row > .column {
-  width: 10% !important;
-}
-.ui.grid > [class*="eleven column"].row > .column {
-  width: 9.09090909% !important;
-}
-.ui.grid > [class*="twelve column"].row > .column {
-  width: 8.33333333% !important;
-}
-.ui.grid > [class*="thirteen column"].row > .column {
-  width: 7.69230769% !important;
-}
-.ui.grid > [class*="fourteen column"].row > .column {
-  width: 7.14285714% !important;
-}
-.ui.grid > [class*="fifteen column"].row > .column {
-  width: 6.66666667% !important;
-}
-.ui.grid > [class*="sixteen column"].row > .column {
-  width: 6.25% !important;
-}
-
-/* Celled Page */
-.ui.celled.page.grid {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/*-------------------
-    Column Width
---------------------*/
-
-
-/* Sizing Combinations */
-.ui.grid > .row > [class*="one wide"].column,
-.ui.grid > .column.row > [class*="one wide"].column,
-.ui.grid > [class*="one wide"].column,
-.ui.column.grid > [class*="one wide"].column {
-  width: 6.25% !important;
-}
-.ui.grid > .row > [class*="two wide"].column,
-.ui.grid > .column.row > [class*="two wide"].column,
-.ui.grid > [class*="two wide"].column,
-.ui.column.grid > [class*="two wide"].column {
-  width: 12.5% !important;
-}
-.ui.grid > .row > [class*="three wide"].column,
-.ui.grid > .column.row > [class*="three wide"].column,
-.ui.grid > [class*="three wide"].column,
-.ui.column.grid > [class*="three wide"].column {
-  width: 18.75% !important;
-}
-.ui.grid > .row > [class*="four wide"].column,
-.ui.grid > .column.row > [class*="four wide"].column,
-.ui.grid > [class*="four wide"].column,
-.ui.column.grid > [class*="four wide"].column {
-  width: 25% !important;
-}
-.ui.grid > .row > [class*="five wide"].column,
-.ui.grid > .column.row > [class*="five wide"].column,
-.ui.grid > [class*="five wide"].column,
-.ui.column.grid > [class*="five wide"].column {
-  width: 31.25% !important;
-}
-.ui.grid > .row > [class*="six wide"].column,
-.ui.grid > .column.row > [class*="six wide"].column,
-.ui.grid > [class*="six wide"].column,
-.ui.column.grid > [class*="six wide"].column {
-  width: 37.5% !important;
-}
-.ui.grid > .row > [class*="seven wide"].column,
-.ui.grid > .column.row > [class*="seven wide"].column,
-.ui.grid > [class*="seven wide"].column,
-.ui.column.grid > [class*="seven wide"].column {
-  width: 43.75% !important;
-}
-.ui.grid > .row > [class*="eight wide"].column,
-.ui.grid > .column.row > [class*="eight wide"].column,
-.ui.grid > [class*="eight wide"].column,
-.ui.column.grid > [class*="eight wide"].column {
-  width: 50% !important;
-}
-.ui.grid > .row > [class*="nine wide"].column,
-.ui.grid > .column.row > [class*="nine wide"].column,
-.ui.grid > [class*="nine wide"].column,
-.ui.column.grid > [class*="nine wide"].column {
-  width: 56.25% !important;
-}
-.ui.grid > .row > [class*="ten wide"].column,
-.ui.grid > .column.row > [class*="ten wide"].column,
-.ui.grid > [class*="ten wide"].column,
-.ui.column.grid > [class*="ten wide"].column {
-  width: 62.5% !important;
-}
-.ui.grid > .row > [class*="eleven wide"].column,
-.ui.grid > .column.row > [class*="eleven wide"].column,
-.ui.grid > [class*="eleven wide"].column,
-.ui.column.grid > [class*="eleven wide"].column {
-  width: 68.75% !important;
-}
-.ui.grid > .row > [class*="twelve wide"].column,
-.ui.grid > .column.row > [class*="twelve wide"].column,
-.ui.grid > [class*="twelve wide"].column,
-.ui.column.grid > [class*="twelve wide"].column {
-  width: 75% !important;
-}
-.ui.grid > .row > [class*="thirteen wide"].column,
-.ui.grid > .column.row > [class*="thirteen wide"].column,
-.ui.grid > [class*="thirteen wide"].column,
-.ui.column.grid > [class*="thirteen wide"].column {
-  width: 81.25% !important;
-}
-.ui.grid > .row > [class*="fourteen wide"].column,
-.ui.grid > .column.row > [class*="fourteen wide"].column,
-.ui.grid > [class*="fourteen wide"].column,
-.ui.column.grid > [class*="fourteen wide"].column {
-  width: 87.5% !important;
-}
-.ui.grid > .row > [class*="fifteen wide"].column,
-.ui.grid > .column.row > [class*="fifteen wide"].column,
-.ui.grid > [class*="fifteen wide"].column,
-.ui.column.grid > [class*="fifteen wide"].column {
-  width: 93.75% !important;
-}
-.ui.grid > .row > [class*="sixteen wide"].column,
-.ui.grid > .column.row > [class*="sixteen wide"].column,
-.ui.grid > [class*="sixteen wide"].column,
-.ui.column.grid > [class*="sixteen wide"].column {
-  width: 100% !important;
-}
-
-/*----------------------
-    Width per Device
------------------------*/
-
-
-/* Mobile Sizing Combinations */
-@media only screen and (min-width: 320px) and (max-width: 767.98px) {
-  .ui.grid > .row > [class*="one wide mobile"].column,
-  .ui.grid > .column.row > [class*="one wide mobile"].column,
-  .ui.grid > [class*="one wide mobile"].column,
-  .ui.column.grid > [class*="one wide mobile"].column {
-    width: 6.25% !important;
-  }
-  .ui.grid > .row > [class*="two wide mobile"].column,
-  .ui.grid > .column.row > [class*="two wide mobile"].column,
-  .ui.grid > [class*="two wide mobile"].column,
-  .ui.column.grid > [class*="two wide mobile"].column {
-    width: 12.5% !important;
-  }
-  .ui.grid > .row > [class*="three wide mobile"].column,
-  .ui.grid > .column.row > [class*="three wide mobile"].column,
-  .ui.grid > [class*="three wide mobile"].column,
-  .ui.column.grid > [class*="three wide mobile"].column {
-    width: 18.75% !important;
-  }
-  .ui.grid > .row > [class*="four wide mobile"].column,
-  .ui.grid > .column.row > [class*="four wide mobile"].column,
-  .ui.grid > [class*="four wide mobile"].column,
-  .ui.column.grid > [class*="four wide mobile"].column {
-    width: 25% !important;
-  }
-  .ui.grid > .row > [class*="five wide mobile"].column,
-  .ui.grid > .column.row > [class*="five wide mobile"].column,
-  .ui.grid > [class*="five wide mobile"].column,
-  .ui.column.grid > [class*="five wide mobile"].column {
-    width: 31.25% !important;
-  }
-  .ui.grid > .row > [class*="six wide mobile"].column,
-  .ui.grid > .column.row > [class*="six wide mobile"].column,
-  .ui.grid > [class*="six wide mobile"].column,
-  .ui.column.grid > [class*="six wide mobile"].column {
-    width: 37.5% !important;
-  }
-  .ui.grid > .row > [class*="seven wide mobile"].column,
-  .ui.grid > .column.row > [class*="seven wide mobile"].column,
-  .ui.grid > [class*="seven wide mobile"].column,
-  .ui.column.grid > [class*="seven wide mobile"].column {
-    width: 43.75% !important;
-  }
-  .ui.grid > .row > [class*="eight wide mobile"].column,
-  .ui.grid > .column.row > [class*="eight wide mobile"].column,
-  .ui.grid > [class*="eight wide mobile"].column,
-  .ui.column.grid > [class*="eight wide mobile"].column {
-    width: 50% !important;
-  }
-  .ui.grid > .row > [class*="nine wide mobile"].column,
-  .ui.grid > .column.row > [class*="nine wide mobile"].column,
-  .ui.grid > [class*="nine wide mobile"].column,
-  .ui.column.grid > [class*="nine wide mobile"].column {
-    width: 56.25% !important;
-  }
-  .ui.grid > .row > [class*="ten wide mobile"].column,
-  .ui.grid > .column.row > [class*="ten wide mobile"].column,
-  .ui.grid > [class*="ten wide mobile"].column,
-  .ui.column.grid > [class*="ten wide mobile"].column {
-    width: 62.5% !important;
-  }
-  .ui.grid > .row > [class*="eleven wide mobile"].column,
-  .ui.grid > .column.row > [class*="eleven wide mobile"].column,
-  .ui.grid > [class*="eleven wide mobile"].column,
-  .ui.column.grid > [class*="eleven wide mobile"].column {
-    width: 68.75% !important;
-  }
-  .ui.grid > .row > [class*="twelve wide mobile"].column,
-  .ui.grid > .column.row > [class*="twelve wide mobile"].column,
-  .ui.grid > [class*="twelve wide mobile"].column,
-  .ui.column.grid > [class*="twelve wide mobile"].column {
-    width: 75% !important;
-  }
-  .ui.grid > .row > [class*="thirteen wide mobile"].column,
-  .ui.grid > .column.row > [class*="thirteen wide mobile"].column,
-  .ui.grid > [class*="thirteen wide mobile"].column,
-  .ui.column.grid > [class*="thirteen wide mobile"].column {
-    width: 81.25% !important;
-  }
-  .ui.grid > .row > [class*="fourteen wide mobile"].column,
-  .ui.grid > .column.row > [class*="fourteen wide mobile"].column,
-  .ui.grid > [class*="fourteen wide mobile"].column,
-  .ui.column.grid > [class*="fourteen wide mobile"].column {
-    width: 87.5% !important;
-  }
-  .ui.grid > .row > [class*="fifteen wide mobile"].column,
-  .ui.grid > .column.row > [class*="fifteen wide mobile"].column,
-  .ui.grid > [class*="fifteen wide mobile"].column,
-  .ui.column.grid > [class*="fifteen wide mobile"].column {
-    width: 93.75% !important;
-  }
-  .ui.grid > .row > [class*="sixteen wide mobile"].column,
-  .ui.grid > .column.row > [class*="sixteen wide mobile"].column,
-  .ui.grid > [class*="sixteen wide mobile"].column,
-  .ui.column.grid > [class*="sixteen wide mobile"].column {
-    width: 100% !important;
-  }
-}
-
-/* Tablet Sizing Combinations */
-@media only screen and (min-width: 768px) and (max-width: 991.98px) {
-  .ui.grid > .row > [class*="one wide tablet"].column,
-  .ui.grid > .column.row > [class*="one wide tablet"].column,
-  .ui.grid > [class*="one wide tablet"].column,
-  .ui.column.grid > [class*="one wide tablet"].column {
-    width: 6.25% !important;
-  }
-  .ui.grid > .row > [class*="two wide tablet"].column,
-  .ui.grid > .column.row > [class*="two wide tablet"].column,
-  .ui.grid > [class*="two wide tablet"].column,
-  .ui.column.grid > [class*="two wide tablet"].column {
-    width: 12.5% !important;
-  }
-  .ui.grid > .row > [class*="three wide tablet"].column,
-  .ui.grid > .column.row > [class*="three wide tablet"].column,
-  .ui.grid > [class*="three wide tablet"].column,
-  .ui.column.grid > [class*="three wide tablet"].column {
-    width: 18.75% !important;
-  }
-  .ui.grid > .row > [class*="four wide tablet"].column,
-  .ui.grid > .column.row > [class*="four wide tablet"].column,
-  .ui.grid > [class*="four wide tablet"].column,
-  .ui.column.grid > [class*="four wide tablet"].column {
-    width: 25% !important;
-  }
-  .ui.grid > .row > [class*="five wide tablet"].column,
-  .ui.grid > .column.row > [class*="five wide tablet"].column,
-  .ui.grid > [class*="five wide tablet"].column,
-  .ui.column.grid > [class*="five wide tablet"].column {
-    width: 31.25% !important;
-  }
-  .ui.grid > .row > [class*="six wide tablet"].column,
-  .ui.grid > .column.row > [class*="six wide tablet"].column,
-  .ui.grid > [class*="six wide tablet"].column,
-  .ui.column.grid > [class*="six wide tablet"].column {
-    width: 37.5% !important;
-  }
-  .ui.grid > .row > [class*="seven wide tablet"].column,
-  .ui.grid > .column.row > [class*="seven wide tablet"].column,
-  .ui.grid > [class*="seven wide tablet"].column,
-  .ui.column.grid > [class*="seven wide tablet"].column {
-    width: 43.75% !important;
-  }
-  .ui.grid > .row > [class*="eight wide tablet"].column,
-  .ui.grid > .column.row > [class*="eight wide tablet"].column,
-  .ui.grid > [class*="eight wide tablet"].column,
-  .ui.column.grid > [class*="eight wide tablet"].column {
-    width: 50% !important;
-  }
-  .ui.grid > .row > [class*="nine wide tablet"].column,
-  .ui.grid > .column.row > [class*="nine wide tablet"].column,
-  .ui.grid > [class*="nine wide tablet"].column,
-  .ui.column.grid > [class*="nine wide tablet"].column {
-    width: 56.25% !important;
-  }
-  .ui.grid > .row > [class*="ten wide tablet"].column,
-  .ui.grid > .column.row > [class*="ten wide tablet"].column,
-  .ui.grid > [class*="ten wide tablet"].column,
-  .ui.column.grid > [class*="ten wide tablet"].column {
-    width: 62.5% !important;
-  }
-  .ui.grid > .row > [class*="eleven wide tablet"].column,
-  .ui.grid > .column.row > [class*="eleven wide tablet"].column,
-  .ui.grid > [class*="eleven wide tablet"].column,
-  .ui.column.grid > [class*="eleven wide tablet"].column {
-    width: 68.75% !important;
-  }
-  .ui.grid > .row > [class*="twelve wide tablet"].column,
-  .ui.grid > .column.row > [class*="twelve wide tablet"].column,
-  .ui.grid > [class*="twelve wide tablet"].column,
-  .ui.column.grid > [class*="twelve wide tablet"].column {
-    width: 75% !important;
-  }
-  .ui.grid > .row > [class*="thirteen wide tablet"].column,
-  .ui.grid > .column.row > [class*="thirteen wide tablet"].column,
-  .ui.grid > [class*="thirteen wide tablet"].column,
-  .ui.column.grid > [class*="thirteen wide tablet"].column {
-    width: 81.25% !important;
-  }
-  .ui.grid > .row > [class*="fourteen wide tablet"].column,
-  .ui.grid > .column.row > [class*="fourteen wide tablet"].column,
-  .ui.grid > [class*="fourteen wide tablet"].column,
-  .ui.column.grid > [class*="fourteen wide tablet"].column {
-    width: 87.5% !important;
-  }
-  .ui.grid > .row > [class*="fifteen wide tablet"].column,
-  .ui.grid > .column.row > [class*="fifteen wide tablet"].column,
-  .ui.grid > [class*="fifteen wide tablet"].column,
-  .ui.column.grid > [class*="fifteen wide tablet"].column {
-    width: 93.75% !important;
-  }
-  .ui.grid > .row > [class*="sixteen wide tablet"].column,
-  .ui.grid > .column.row > [class*="sixteen wide tablet"].column,
-  .ui.grid > [class*="sixteen wide tablet"].column,
-  .ui.column.grid > [class*="sixteen wide tablet"].column {
-    width: 100% !important;
-  }
-}
-
-/* Computer/Desktop Sizing Combinations */
-@media only screen and (min-width: 992px) {
-  .ui.grid > .row > [class*="one wide computer"].column,
-  .ui.grid > .column.row > [class*="one wide computer"].column,
-  .ui.grid > [class*="one wide computer"].column,
-  .ui.column.grid > [class*="one wide computer"].column {
-    width: 6.25% !important;
-  }
-  .ui.grid > .row > [class*="two wide computer"].column,
-  .ui.grid > .column.row > [class*="two wide computer"].column,
-  .ui.grid > [class*="two wide computer"].column,
-  .ui.column.grid > [class*="two wide computer"].column {
-    width: 12.5% !important;
-  }
-  .ui.grid > .row > [class*="three wide computer"].column,
-  .ui.grid > .column.row > [class*="three wide computer"].column,
-  .ui.grid > [class*="three wide computer"].column,
-  .ui.column.grid > [class*="three wide computer"].column {
-    width: 18.75% !important;
-  }
-  .ui.grid > .row > [class*="four wide computer"].column,
-  .ui.grid > .column.row > [class*="four wide computer"].column,
-  .ui.grid > [class*="four wide computer"].column,
-  .ui.column.grid > [class*="four wide computer"].column {
-    width: 25% !important;
-  }
-  .ui.grid > .row > [class*="five wide computer"].column,
-  .ui.grid > .column.row > [class*="five wide computer"].column,
-  .ui.grid > [class*="five wide computer"].column,
-  .ui.column.grid > [class*="five wide computer"].column {
-    width: 31.25% !important;
-  }
-  .ui.grid > .row > [class*="six wide computer"].column,
-  .ui.grid > .column.row > [class*="six wide computer"].column,
-  .ui.grid > [class*="six wide computer"].column,
-  .ui.column.grid > [class*="six wide computer"].column {
-    width: 37.5% !important;
-  }
-  .ui.grid > .row > [class*="seven wide computer"].column,
-  .ui.grid > .column.row > [class*="seven wide computer"].column,
-  .ui.grid > [class*="seven wide computer"].column,
-  .ui.column.grid > [class*="seven wide computer"].column {
-    width: 43.75% !important;
-  }
-  .ui.grid > .row > [class*="eight wide computer"].column,
-  .ui.grid > .column.row > [class*="eight wide computer"].column,
-  .ui.grid > [class*="eight wide computer"].column,
-  .ui.column.grid > [class*="eight wide computer"].column {
-    width: 50% !important;
-  }
-  .ui.grid > .row > [class*="nine wide computer"].column,
-  .ui.grid > .column.row > [class*="nine wide computer"].column,
-  .ui.grid > [class*="nine wide computer"].column,
-  .ui.column.grid > [class*="nine wide computer"].column {
-    width: 56.25% !important;
-  }
-  .ui.grid > .row > [class*="ten wide computer"].column,
-  .ui.grid > .column.row > [class*="ten wide computer"].column,
-  .ui.grid > [class*="ten wide computer"].column,
-  .ui.column.grid > [class*="ten wide computer"].column {
-    width: 62.5% !important;
-  }
-  .ui.grid > .row > [class*="eleven wide computer"].column,
-  .ui.grid > .column.row > [class*="eleven wide computer"].column,
-  .ui.grid > [class*="eleven wide computer"].column,
-  .ui.column.grid > [class*="eleven wide computer"].column {
-    width: 68.75% !important;
-  }
-  .ui.grid > .row > [class*="twelve wide computer"].column,
-  .ui.grid > .column.row > [class*="twelve wide computer"].column,
-  .ui.grid > [class*="twelve wide computer"].column,
-  .ui.column.grid > [class*="twelve wide computer"].column {
-    width: 75% !important;
-  }
-  .ui.grid > .row > [class*="thirteen wide computer"].column,
-  .ui.grid > .column.row > [class*="thirteen wide computer"].column,
-  .ui.grid > [class*="thirteen wide computer"].column,
-  .ui.column.grid > [class*="thirteen wide computer"].column {
-    width: 81.25% !important;
-  }
-  .ui.grid > .row > [class*="fourteen wide computer"].column,
-  .ui.grid > .column.row > [class*="fourteen wide computer"].column,
-  .ui.grid > [class*="fourteen wide computer"].column,
-  .ui.column.grid > [class*="fourteen wide computer"].column {
-    width: 87.5% !important;
-  }
-  .ui.grid > .row > [class*="fifteen wide computer"].column,
-  .ui.grid > .column.row > [class*="fifteen wide computer"].column,
-  .ui.grid > [class*="fifteen wide computer"].column,
-  .ui.column.grid > [class*="fifteen wide computer"].column {
-    width: 93.75% !important;
-  }
-  .ui.grid > .row > [class*="sixteen wide computer"].column,
-  .ui.grid > .column.row > [class*="sixteen wide computer"].column,
-  .ui.grid > [class*="sixteen wide computer"].column,
-  .ui.column.grid > [class*="sixteen wide computer"].column {
-    width: 100% !important;
-  }
-}
-
-/* Large Monitor Sizing Combinations */
-@media only screen and (min-width: 1200px) and (max-width: 1919.98px) {
-  .ui.grid > .row > [class*="one wide large screen"].column,
-  .ui.grid > .column.row > [class*="one wide large screen"].column,
-  .ui.grid > [class*="one wide large screen"].column,
-  .ui.column.grid > [class*="one wide large screen"].column {
-    width: 6.25% !important;
-  }
-  .ui.grid > .row > [class*="two wide large screen"].column,
-  .ui.grid > .column.row > [class*="two wide large screen"].column,
-  .ui.grid > [class*="two wide large screen"].column,
-  .ui.column.grid > [class*="two wide large screen"].column {
-    width: 12.5% !important;
-  }
-  .ui.grid > .row > [class*="three wide large screen"].column,
-  .ui.grid > .column.row > [class*="three wide large screen"].column,
-  .ui.grid > [class*="three wide large screen"].column,
-  .ui.column.grid > [class*="three wide large screen"].column {
-    width: 18.75% !important;
-  }
-  .ui.grid > .row > [class*="four wide large screen"].column,
-  .ui.grid > .column.row > [class*="four wide large screen"].column,
-  .ui.grid > [class*="four wide large screen"].column,
-  .ui.column.grid > [class*="four wide large screen"].column {
-    width: 25% !important;
-  }
-  .ui.grid > .row > [class*="five wide large screen"].column,
-  .ui.grid > .column.row > [class*="five wide large screen"].column,
-  .ui.grid > [class*="five wide large screen"].column,
-  .ui.column.grid > [class*="five wide large screen"].column {
-    width: 31.25% !important;
-  }
-  .ui.grid > .row > [class*="six wide large screen"].column,
-  .ui.grid > .column.row > [class*="six wide large screen"].column,
-  .ui.grid > [class*="six wide large screen"].column,
-  .ui.column.grid > [class*="six wide large screen"].column {
-    width: 37.5% !important;
-  }
-  .ui.grid > .row > [class*="seven wide large screen"].column,
-  .ui.grid > .column.row > [class*="seven wide large screen"].column,
-  .ui.grid > [class*="seven wide large screen"].column,
-  .ui.column.grid > [class*="seven wide large screen"].column {
-    width: 43.75% !important;
-  }
-  .ui.grid > .row > [class*="eight wide large screen"].column,
-  .ui.grid > .column.row > [class*="eight wide large screen"].column,
-  .ui.grid > [class*="eight wide large screen"].column,
-  .ui.column.grid > [class*="eight wide large screen"].column {
-    width: 50% !important;
-  }
-  .ui.grid > .row > [class*="nine wide large screen"].column,
-  .ui.grid > .column.row > [class*="nine wide large screen"].column,
-  .ui.grid > [class*="nine wide large screen"].column,
-  .ui.column.grid > [class*="nine wide large screen"].column {
-    width: 56.25% !important;
-  }
-  .ui.grid > .row > [class*="ten wide large screen"].column,
-  .ui.grid > .column.row > [class*="ten wide large screen"].column,
-  .ui.grid > [class*="ten wide large screen"].column,
-  .ui.column.grid > [class*="ten wide large screen"].column {
-    width: 62.5% !important;
-  }
-  .ui.grid > .row > [class*="eleven wide large screen"].column,
-  .ui.grid > .column.row > [class*="eleven wide large screen"].column,
-  .ui.grid > [class*="eleven wide large screen"].column,
-  .ui.column.grid > [class*="eleven wide large screen"].column {
-    width: 68.75% !important;
-  }
-  .ui.grid > .row > [class*="twelve wide large screen"].column,
-  .ui.grid > .column.row > [class*="twelve wide large screen"].column,
-  .ui.grid > [class*="twelve wide large screen"].column,
-  .ui.column.grid > [class*="twelve wide large screen"].column {
-    width: 75% !important;
-  }
-  .ui.grid > .row > [class*="thirteen wide large screen"].column,
-  .ui.grid > .column.row > [class*="thirteen wide large screen"].column,
-  .ui.grid > [class*="thirteen wide large screen"].column,
-  .ui.column.grid > [class*="thirteen wide large screen"].column {
-    width: 81.25% !important;
-  }
-  .ui.grid > .row > [class*="fourteen wide large screen"].column,
-  .ui.grid > .column.row > [class*="fourteen wide large screen"].column,
-  .ui.grid > [class*="fourteen wide large screen"].column,
-  .ui.column.grid > [class*="fourteen wide large screen"].column {
-    width: 87.5% !important;
-  }
-  .ui.grid > .row > [class*="fifteen wide large screen"].column,
-  .ui.grid > .column.row > [class*="fifteen wide large screen"].column,
-  .ui.grid > [class*="fifteen wide large screen"].column,
-  .ui.column.grid > [class*="fifteen wide large screen"].column {
-    width: 93.75% !important;
-  }
-  .ui.grid > .row > [class*="sixteen wide large screen"].column,
-  .ui.grid > .column.row > [class*="sixteen wide large screen"].column,
-  .ui.grid > [class*="sixteen wide large screen"].column,
-  .ui.column.grid > [class*="sixteen wide large screen"].column {
-    width: 100% !important;
-  }
-}
-
-/* Widescreen Sizing Combinations */
-@media only screen and (min-width: 1920px) {
-  .ui.grid > .row > [class*="one wide widescreen"].column,
-  .ui.grid > .column.row > [class*="one wide widescreen"].column,
-  .ui.grid > [class*="one wide widescreen"].column,
-  .ui.column.grid > [class*="one wide widescreen"].column {
-    width: 6.25% !important;
-  }
-  .ui.grid > .row > [class*="two wide widescreen"].column,
-  .ui.grid > .column.row > [class*="two wide widescreen"].column,
-  .ui.grid > [class*="two wide widescreen"].column,
-  .ui.column.grid > [class*="two wide widescreen"].column {
-    width: 12.5% !important;
-  }
-  .ui.grid > .row > [class*="three wide widescreen"].column,
-  .ui.grid > .column.row > [class*="three wide widescreen"].column,
-  .ui.grid > [class*="three wide widescreen"].column,
-  .ui.column.grid > [class*="three wide widescreen"].column {
-    width: 18.75% !important;
-  }
-  .ui.grid > .row > [class*="four wide widescreen"].column,
-  .ui.grid > .column.row > [class*="four wide widescreen"].column,
-  .ui.grid > [class*="four wide widescreen"].column,
-  .ui.column.grid > [class*="four wide widescreen"].column {
-    width: 25% !important;
-  }
-  .ui.grid > .row > [class*="five wide widescreen"].column,
-  .ui.grid > .column.row > [class*="five wide widescreen"].column,
-  .ui.grid > [class*="five wide widescreen"].column,
-  .ui.column.grid > [class*="five wide widescreen"].column {
-    width: 31.25% !important;
-  }
-  .ui.grid > .row > [class*="six wide widescreen"].column,
-  .ui.grid > .column.row > [class*="six wide widescreen"].column,
-  .ui.grid > [class*="six wide widescreen"].column,
-  .ui.column.grid > [class*="six wide widescreen"].column {
-    width: 37.5% !important;
-  }
-  .ui.grid > .row > [class*="seven wide widescreen"].column,
-  .ui.grid > .column.row > [class*="seven wide widescreen"].column,
-  .ui.grid > [class*="seven wide widescreen"].column,
-  .ui.column.grid > [class*="seven wide widescreen"].column {
-    width: 43.75% !important;
-  }
-  .ui.grid > .row > [class*="eight wide widescreen"].column,
-  .ui.grid > .column.row > [class*="eight wide widescreen"].column,
-  .ui.grid > [class*="eight wide widescreen"].column,
-  .ui.column.grid > [class*="eight wide widescreen"].column {
-    width: 50% !important;
-  }
-  .ui.grid > .row > [class*="nine wide widescreen"].column,
-  .ui.grid > .column.row > [class*="nine wide widescreen"].column,
-  .ui.grid > [class*="nine wide widescreen"].column,
-  .ui.column.grid > [class*="nine wide widescreen"].column {
-    width: 56.25% !important;
-  }
-  .ui.grid > .row > [class*="ten wide widescreen"].column,
-  .ui.grid > .column.row > [class*="ten wide widescreen"].column,
-  .ui.grid > [class*="ten wide widescreen"].column,
-  .ui.column.grid > [class*="ten wide widescreen"].column {
-    width: 62.5% !important;
-  }
-  .ui.grid > .row > [class*="eleven wide widescreen"].column,
-  .ui.grid > .column.row > [class*="eleven wide widescreen"].column,
-  .ui.grid > [class*="eleven wide widescreen"].column,
-  .ui.column.grid > [class*="eleven wide widescreen"].column {
-    width: 68.75% !important;
-  }
-  .ui.grid > .row > [class*="twelve wide widescreen"].column,
-  .ui.grid > .column.row > [class*="twelve wide widescreen"].column,
-  .ui.grid > [class*="twelve wide widescreen"].column,
-  .ui.column.grid > [class*="twelve wide widescreen"].column {
-    width: 75% !important;
-  }
-  .ui.grid > .row > [class*="thirteen wide widescreen"].column,
-  .ui.grid > .column.row > [class*="thirteen wide widescreen"].column,
-  .ui.grid > [class*="thirteen wide widescreen"].column,
-  .ui.column.grid > [class*="thirteen wide widescreen"].column {
-    width: 81.25% !important;
-  }
-  .ui.grid > .row > [class*="fourteen wide widescreen"].column,
-  .ui.grid > .column.row > [class*="fourteen wide widescreen"].column,
-  .ui.grid > [class*="fourteen wide widescreen"].column,
-  .ui.column.grid > [class*="fourteen wide widescreen"].column {
-    width: 87.5% !important;
-  }
-  .ui.grid > .row > [class*="fifteen wide widescreen"].column,
-  .ui.grid > .column.row > [class*="fifteen wide widescreen"].column,
-  .ui.grid > [class*="fifteen wide widescreen"].column,
-  .ui.column.grid > [class*="fifteen wide widescreen"].column {
-    width: 93.75% !important;
-  }
-  .ui.grid > .row > [class*="sixteen wide widescreen"].column,
-  .ui.grid > .column.row > [class*="sixteen wide widescreen"].column,
-  .ui.grid > [class*="sixteen wide widescreen"].column,
-  .ui.column.grid > [class*="sixteen wide widescreen"].column {
-    width: 100% !important;
-  }
-}
-
-/*----------------------
-        Centered
------------------------*/
-
-.ui.centered.grid,
-.ui.centered.grid > .row,
-.ui.grid > .centered.row {
-  text-align: center;
-  -webkit-box-pack: center;
-      -ms-flex-pack: center;
-          justify-content: center;
-}
-.ui.centered.grid > .column:not(.aligned):not(.justified):not(.row),
-.ui.centered.grid > .row > .column:not(.aligned):not(.justified),
-.ui.grid .centered.row > .column:not(.aligned):not(.justified) {
-  text-align: left;
-}
-.ui.grid > .centered.column,
-.ui.grid > .row > .centered.column {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-/*----------------------
-        Relaxed
------------------------*/
-
-.ui.relaxed.grid > .column:not(.row),
-.ui.relaxed.grid > .row > .column,
-.ui.grid > .relaxed.row > .column {
-  padding-left: 1.5rem;
-  padding-right: 1.5rem;
-}
-.ui[class*="very relaxed"].grid > .column:not(.row),
-.ui[class*="very relaxed"].grid > .row > .column,
-.ui.grid > [class*="very relaxed"].row > .column {
-  padding-left: 2.5rem;
-  padding-right: 2.5rem;
-}
-
-/* Coupling with UI Divider */
-.ui.relaxed.grid .row + .ui.divider,
-.ui.grid .relaxed.row + .ui.divider {
-  margin-left: 1.5rem;
-  margin-right: 1.5rem;
-}
-.ui[class*="very relaxed"].grid .row + .ui.divider,
-.ui.grid [class*="very relaxed"].row + .ui.divider {
-  margin-left: 2.5rem;
-  margin-right: 2.5rem;
-}
-
-/*----------------------
-        Padded
------------------------*/
-
-.ui.padded.grid:not(.vertically):not(.horizontally) {
-  margin: 0 !important;
-}
-[class*="horizontally padded"].ui.grid {
-  margin-left: 0 !important;
-  margin-right: 0 !important;
-}
-[class*="vertically padded"].ui.grid {
-  margin-top: 0 !important;
-  margin-bottom: 0 !important;
-}
-
-/*----------------------
-       "Floated"
------------------------*/
-
-.ui.grid [class*="left floated"].column {
-  margin-right: auto;
-}
-.ui.grid [class*="right floated"].column {
-  margin-left: auto;
-}
-
-/*----------------------
-        Divided
------------------------*/
-
-.ui.divided.grid:not([class*="vertically divided"]) > .column:not(.row),
-.ui.divided.grid:not([class*="vertically divided"]) > .row > .column {
-  -webkit-box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
-          box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
-}
-
-/* Swap from padding to margin on columns to have dividers align */
-.ui[class*="vertically divided"].grid > .column:not(.row),
-.ui[class*="vertically divided"].grid > .row > .column {
-  margin-top: 1rem;
-  margin-bottom: 1rem;
-  padding-top: 0;
-  padding-bottom: 0;
-}
-.ui[class*="vertically divided"].grid > .row {
-  margin-top: 0;
-  margin-bottom: 0;
-}
-
-/* No divider on first column on row */
-.ui.divided.grid:not([class*="vertically divided"]) > .column:first-child,
-.ui.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* No space on top of first row */
-.ui[class*="vertically divided"].grid > .row:first-child > .column {
-  margin-top: 0;
-}
-
-/* Divided Row */
-.ui.grid > .divided.row > .column {
-  -webkit-box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
-          box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
-}
-.ui.grid > .divided.row > .column:first-child {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Vertically Divided */
-.ui[class*="vertically divided"].grid > .row {
-  position: relative;
-}
-.ui[class*="vertically divided"].grid > .row:before {
-  position: absolute;
-  content: "";
-  top: 0;
-  left: 0;
-  width: calc(100% - 2rem);
-  height: 1px;
-  margin: 0 1rem;
-  -webkit-box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
-}
-
-/* Padded Horizontally Divided */
-[class*="horizontally padded"].ui.divided.grid,
-.ui.padded.divided.grid:not(.vertically):not(.horizontally) {
-  width: 100%;
-}
-
-/* First Row Vertically Divided */
-.ui[class*="vertically divided"].grid > .row:first-child:before {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Inverted Divided */
-.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row),
-.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column {
-  -webkit-box-shadow: -1px 0 0 0 rgba(255, 255, 255, 0.1);
-          box-shadow: -1px 0 0 0 rgba(255, 255, 255, 0.1);
-}
-.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row):first-child,
-.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.inverted[class*="vertically divided"].grid > .row:before {
-  -webkit-box-shadow: 0 -1px 0 0 rgba(255, 255, 255, 0.1);
-          box-shadow: 0 -1px 0 0 rgba(255, 255, 255, 0.1);
-}
-
-/* Relaxed */
-.ui.relaxed[class*="vertically divided"].grid > .row:before {
-  margin-left: 1.5rem;
-  margin-right: 1.5rem;
-  width: calc(100% - 3rem);
-}
-.ui[class*="very relaxed"][class*="vertically divided"].grid > .row:before {
-  margin-left: 2.5rem;
-  margin-right: 2.5rem;
-  width: calc(100% - 5rem);
-}
-
-/*----------------------
-         Celled
------------------------*/
-
-.ui.celled.grid {
-  width: 100%;
-  margin: 1em 0;
-  -webkit-box-shadow: 0 0 0 1px #D4D4D5;
-          box-shadow: 0 0 0 1px #D4D4D5;
-}
-.ui.celled.grid > .row {
-  width: 100% !important;
-  margin: 0;
-  padding: 0;
-  -webkit-box-shadow: 0 -1px 0 0 #D4D4D5;
-          box-shadow: 0 -1px 0 0 #D4D4D5;
-}
-.ui.celled.grid > .column:not(.row),
-.ui.celled.grid > .row > .column {
-  -webkit-box-shadow: -1px 0 0 0 #D4D4D5;
-          box-shadow: -1px 0 0 0 #D4D4D5;
-}
-.ui.celled.grid > .column:first-child,
-.ui.celled.grid > .row > .column:first-child {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.celled.grid > .column:not(.row),
-.ui.celled.grid > .row > .column {
-  padding: 1em;
-}
-.ui.relaxed.celled.grid > .column:not(.row),
-.ui.relaxed.celled.grid > .row > .column {
-  padding: 1.5em;
-}
-.ui[class*="very relaxed"].celled.grid > .column:not(.row),
-.ui[class*="very relaxed"].celled.grid > .row > .column {
-  padding: 2em;
-}
-
-/* Internally Celled */
-.ui[class*="internally celled"].grid {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  margin: 0;
-}
-.ui[class*="internally celled"].grid > .row:first-child {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui[class*="internally celled"].grid > .row > .column:first-child {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/*----------------------
-   Vertically Aligned
------------------------*/
-
-
-/* Top Aligned */
-.ui[class*="top aligned"].grid > .column:not(.row),
-.ui[class*="top aligned"].grid > .row > .column,
-.ui.grid > [class*="top aligned"].row > .column,
-.ui.grid > [class*="top aligned"].column:not(.row),
-.ui.grid > .row > [class*="top aligned"].column {
-  -webkit-box-orient: vertical;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: column;
-          flex-direction: column;
-  vertical-align: top;
-  -ms-flex-item-align: start !important;
-      align-self: flex-start !important;
-}
-
-/* Middle Aligned */
-.ui[class*="middle aligned"].grid > .column:not(.row),
-.ui[class*="middle aligned"].grid > .row > .column,
-.ui.grid > [class*="middle aligned"].row > .column,
-.ui.grid > [class*="middle aligned"].column:not(.row),
-.ui.grid > .row > [class*="middle aligned"].column {
-  -webkit-box-orient: vertical;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: column;
-          flex-direction: column;
-  vertical-align: middle;
-  -ms-flex-item-align: center !important;
-      align-self: center !important;
-}
-
-/* Bottom Aligned */
-.ui[class*="bottom aligned"].grid > .column:not(.row),
-.ui[class*="bottom aligned"].grid > .row > .column,
-.ui.grid > [class*="bottom aligned"].row > .column,
-.ui.grid > [class*="bottom aligned"].column:not(.row),
-.ui.grid > .row > [class*="bottom aligned"].column {
-  -webkit-box-orient: vertical;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: column;
-          flex-direction: column;
-  vertical-align: bottom;
-  -ms-flex-item-align: end !important;
-      align-self: flex-end !important;
-}
-
-/* Stretched */
-.ui.stretched.grid > .row > .column,
-.ui.stretched.grid > .column,
-.ui.grid > .stretched.row > .column,
-.ui.grid > .stretched.column:not(.row),
-.ui.grid > .row > .stretched.column {
-  display: -webkit-inline-box !important;
-  display: -ms-inline-flexbox !important;
-  display: inline-flex !important;
-  -ms-flex-item-align: stretch;
-      align-self: stretch;
-  -webkit-box-orient: vertical;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: column;
-          flex-direction: column;
-}
-.ui.stretched.grid > .row > .column > *,
-.ui.stretched.grid > .column > *,
-.ui.grid > .stretched.row > .column > *,
-.ui.grid > .stretched.column:not(.row) > *,
-.ui.grid > .row > .stretched.column > * {
-  -webkit-box-flex: 1;
-      -ms-flex-positive: 1;
-          flex-grow: 1;
-}
-
-/*----------------------
-  Horizontally Centered
------------------------*/
-
-
-/* Left Aligned */
-.ui[class*="left aligned"].grid > .column,
-.ui[class*="left aligned"].grid > .row > .column,
-.ui.grid > [class*="left aligned"].row > .column,
-.ui.grid > [class*="left aligned"].column.column,
-.ui.grid > .row > [class*="left aligned"].column.column {
-  text-align: left;
-  -ms-flex-item-align: inherit;
-      align-self: inherit;
-}
-
-/* Center Aligned */
-.ui[class*="center aligned"].grid > .column,
-.ui[class*="center aligned"].grid > .row > .column,
-.ui.grid > [class*="center aligned"].row > .column,
-.ui.grid > [class*="center aligned"].column.column,
-.ui.grid > .row > [class*="center aligned"].column.column {
-  text-align: center;
-  -ms-flex-item-align: inherit;
-      align-self: inherit;
-}
-.ui[class*="center aligned"].grid {
-  -webkit-box-pack: center;
-      -ms-flex-pack: center;
-          justify-content: center;
-}
-
-/* Right Aligned */
-.ui[class*="right aligned"].grid > .column,
-.ui[class*="right aligned"].grid > .row > .column,
-.ui.grid > [class*="right aligned"].row > .column,
-.ui.grid > [class*="right aligned"].column.column,
-.ui.grid > .row > [class*="right aligned"].column.column {
-  text-align: right;
-  -ms-flex-item-align: inherit;
-      align-self: inherit;
-}
-
-/* Justified */
-.ui.justified.grid > .column,
-.ui.justified.grid > .row > .column,
-.ui.grid > .justified.row > .column,
-.ui.grid > .justified.column.column,
-.ui.grid > .row > .justified.column.column {
-  text-align: justify;
-  -webkit-hyphens: auto;
-      -ms-hyphens: auto;
-          hyphens: auto;
-}
-
-/*----------------------
-         Colored
------------------------*/
-
-.ui.grid > .primary.row,
-.ui.grid > .primary.column,
-.ui.grid > .row > .primary.column {
-  background-color: #2185D0;
-  color: #FFFFFF;
-}
-.ui.grid > .secondary.row,
-.ui.grid > .secondary.column,
-.ui.grid > .row > .secondary.column {
-  background-color: #1B1C1D;
-  color: #FFFFFF;
-}
-.ui.grid > .red.row,
-.ui.grid > .red.column,
-.ui.grid > .row > .red.column {
-  background-color: #DB2828;
-  color: #FFFFFF;
-}
-.ui.grid > .orange.row,
-.ui.grid > .orange.column,
-.ui.grid > .row > .orange.column {
-  background-color: #F2711C;
-  color: #FFFFFF;
-}
-.ui.grid > .yellow.row,
-.ui.grid > .yellow.column,
-.ui.grid > .row > .yellow.column {
-  background-color: #FBBD08;
-  color: #FFFFFF;
-}
-.ui.grid > .olive.row,
-.ui.grid > .olive.column,
-.ui.grid > .row > .olive.column {
-  background-color: #B5CC18;
-  color: #FFFFFF;
-}
-.ui.grid > .green.row,
-.ui.grid > .green.column,
-.ui.grid > .row > .green.column {
-  background-color: #21BA45;
-  color: #FFFFFF;
-}
-.ui.grid > .teal.row,
-.ui.grid > .teal.column,
-.ui.grid > .row > .teal.column {
-  background-color: #00B5AD;
-  color: #FFFFFF;
-}
-.ui.grid > .blue.row,
-.ui.grid > .blue.column,
-.ui.grid > .row > .blue.column {
-  background-color: #2185D0;
-  color: #FFFFFF;
-}
-.ui.grid > .violet.row,
-.ui.grid > .violet.column,
-.ui.grid > .row > .violet.column {
-  background-color: #6435C9;
-  color: #FFFFFF;
-}
-.ui.grid > .purple.row,
-.ui.grid > .purple.column,
-.ui.grid > .row > .purple.column {
-  background-color: #A333C8;
-  color: #FFFFFF;
-}
-.ui.grid > .pink.row,
-.ui.grid > .pink.column,
-.ui.grid > .row > .pink.column {
-  background-color: #E03997;
-  color: #FFFFFF;
-}
-.ui.grid > .brown.row,
-.ui.grid > .brown.column,
-.ui.grid > .row > .brown.column {
-  background-color: #A5673F;
-  color: #FFFFFF;
-}
-.ui.grid > .grey.row,
-.ui.grid > .grey.column,
-.ui.grid > .row > .grey.column {
-  background-color: #767676;
-  color: #FFFFFF;
-}
-.ui.grid > .black.row,
-.ui.grid > .black.column,
-.ui.grid > .row > .black.column {
-  background-color: #1B1C1D;
-  color: #FFFFFF;
-}
-
-/*----------------------
-      Equal Width
------------------------*/
-
-.ui[class*="equal width"].grid > .column:not(.row),
-.ui[class*="equal width"].grid > .row > .column,
-.ui.grid > [class*="equal width"].row > .column {
-  display: inline-block;
-  -webkit-box-flex: 1;
-      -ms-flex-positive: 1;
-          flex-grow: 1;
-}
-.ui[class*="equal width"].grid > .wide.column,
-.ui[class*="equal width"].grid > .row > .wide.column,
-.ui.grid > [class*="equal width"].row > .wide.column {
-  -webkit-box-flex: 0;
-      -ms-flex-positive: 0;
-          flex-grow: 0;
-}
-
-/*----------------------
-        Reverse
------------------------*/
-
-
-/* Mobile */
-@media only screen and (max-width: 767.98px) {
-  .ui[class*="mobile reversed"].grid,
-  .ui[class*="mobile reversed"].grid > .row,
-  .ui.grid > [class*="mobile reversed"].row {
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: reverse;
-        -ms-flex-direction: row-reverse;
-            flex-direction: row-reverse;
-  }
-  .ui[class*="mobile vertically reversed"].grid,
-  .ui.stackable[class*="mobile reversed"] {
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: reverse;
-        -ms-flex-direction: column-reverse;
-            flex-direction: column-reverse;
-  }
-  
-/* Divided Reversed */
-  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
-  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
-    -webkit-box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
-            box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
-  }
-  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
-  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-  
-/* Vertically Divided Reversed */
-  .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:first-child:before {
-    -webkit-box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
-            box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
-  }
-  .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:last-child:before {
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-  
-/* Celled Reversed */
-  .ui[class*="mobile reversed"].celled.grid > .row > .column:first-child {
-    -webkit-box-shadow: -1px 0 0 0 #D4D4D5;
-            box-shadow: -1px 0 0 0 #D4D4D5;
-  }
-  .ui[class*="mobile reversed"].celled.grid > .row > .column:last-child {
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-}
-
-/* Tablet */
-@media only screen and (min-width: 768px) and (max-width: 991.98px) {
-  .ui[class*="tablet reversed"].grid,
-  .ui[class*="tablet reversed"].grid > .row,
-  .ui.grid > [class*="tablet reversed"].row {
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: reverse;
-        -ms-flex-direction: row-reverse;
-            flex-direction: row-reverse;
-  }
-  .ui[class*="tablet vertically reversed"].grid {
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: reverse;
-        -ms-flex-direction: column-reverse;
-            flex-direction: column-reverse;
-  }
-  
-/* Divided Reversed */
-  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
-  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
-    -webkit-box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
-            box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
-  }
-  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
-  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-  
-/* Vertically Divided Reversed */
-  .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:first-child:before {
-    -webkit-box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
-            box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
-  }
-  .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:last-child:before {
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-  
-/* Celled Reversed */
-  .ui[class*="tablet reversed"].celled.grid > .row > .column:first-child {
-    -webkit-box-shadow: -1px 0 0 0 #D4D4D5;
-            box-shadow: -1px 0 0 0 #D4D4D5;
-  }
-  .ui[class*="tablet reversed"].celled.grid > .row > .column:last-child {
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-}
-
-/* Computer */
-@media only screen and (min-width: 992px) {
-  .ui[class*="computer reversed"].grid,
-  .ui[class*="computer reversed"].grid > .row,
-  .ui.grid > [class*="computer reversed"].row {
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: reverse;
-        -ms-flex-direction: row-reverse;
-            flex-direction: row-reverse;
-  }
-  .ui[class*="computer vertically reversed"].grid {
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: reverse;
-        -ms-flex-direction: column-reverse;
-            flex-direction: column-reverse;
-  }
-  
-/* Divided Reversed */
-  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
-  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
-    -webkit-box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
-            box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
-  }
-  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
-  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-  
-/* Vertically Divided Reversed */
-  .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:first-child:before {
-    -webkit-box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
-            box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
-  }
-  .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:last-child:before {
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-  
-/* Celled Reversed */
-  .ui[class*="computer reversed"].celled.grid > .row > .column:first-child {
-    -webkit-box-shadow: -1px 0 0 0 #D4D4D5;
-            box-shadow: -1px 0 0 0 #D4D4D5;
-  }
-  .ui[class*="computer reversed"].celled.grid > .row > .column:last-child {
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-}
-
-/*-------------------
-      Doubling
---------------------*/
-
-
-/* Tablet Only */
-@media only screen and (min-width: 768px) and (max-width: 991.98px) {
-  .ui.doubling.grid {
-    width: auto;
-  }
-  .ui.grid > .doubling.row,
-  .ui.doubling.grid > .row {
-    margin: 0 !important;
-    padding: 0 !important;
-  }
-  .ui.grid > .doubling.row > .column,
-  .ui.doubling.grid > .row > .column {
-    display: inline-block !important;
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-    -webkit-box-shadow: none !important;
-            box-shadow: none !important;
-    margin: 0;
-  }
-  .ui[class*="two column"].doubling.grid > .row > .column,
-  .ui[class*="two column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="two column"].doubling.row.row > .column {
-    width: 100% !important;
-  }
-  .ui[class*="three column"].doubling.grid > .row > .column,
-  .ui[class*="three column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="three column"].doubling.row.row > .column {
-    width: 50% !important;
-  }
-  .ui[class*="four column"].doubling.grid > .row > .column,
-  .ui[class*="four column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="four column"].doubling.row.row > .column {
-    width: 50% !important;
-  }
-  .ui[class*="five column"].doubling.grid > .row > .column,
-  .ui[class*="five column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="five column"].doubling.row.row > .column {
-    width: 33.33333333% !important;
-  }
-  .ui[class*="six column"].doubling.grid > .row > .column,
-  .ui[class*="six column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="six column"].doubling.row.row > .column {
-    width: 33.33333333% !important;
-  }
-  .ui[class*="seven column"].doubling.grid > .row > .column,
-  .ui[class*="seven column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="seven column"].doubling.row.row > .column {
-    width: 33.33333333% !important;
-  }
-  .ui[class*="eight column"].doubling.grid > .row > .column,
-  .ui[class*="eight column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="eight column"].doubling.row.row > .column {
-    width: 25% !important;
-  }
-  .ui[class*="nine column"].doubling.grid > .row > .column,
-  .ui[class*="nine column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="nine column"].doubling.row.row > .column {
-    width: 25% !important;
-  }
-  .ui[class*="ten column"].doubling.grid > .row > .column,
-  .ui[class*="ten column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="ten column"].doubling.row.row > .column {
-    width: 20% !important;
-  }
-  .ui[class*="eleven column"].doubling.grid > .row > .column,
-  .ui[class*="eleven column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="eleven column"].doubling.row.row > .column {
-    width: 20% !important;
-  }
-  .ui[class*="twelve column"].doubling.grid > .row > .column,
-  .ui[class*="twelve column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="twelve column"].doubling.row.row > .column {
-    width: 16.66666667% !important;
-  }
-  .ui[class*="thirteen column"].doubling.grid > .row > .column,
-  .ui[class*="thirteen column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="thirteen column"].doubling.row.row > .column {
-    width: 16.66666667% !important;
-  }
-  .ui[class*="fourteen column"].doubling.grid > .row > .column,
-  .ui[class*="fourteen column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="fourteen column"].doubling.row.row > .column {
-    width: 14.28571429% !important;
-  }
-  .ui[class*="fifteen column"].doubling.grid > .row > .column,
-  .ui[class*="fifteen column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="fifteen column"].doubling.row.row > .column {
-    width: 14.28571429% !important;
-  }
-  .ui[class*="sixteen column"].doubling.grid > .row > .column,
-  .ui[class*="sixteen column"].doubling.grid > .column:not(.row),
-  .ui.grid > [class*="sixteen column"].doubling.row.row > .column {
-    width: 12.5% !important;
-  }
-}
-
-/* Mobile Only */
-@media only screen and (max-width: 767.98px) {
-  .ui.grid > .doubling.row,
-  .ui.doubling.grid > .row {
-    margin: 0 !important;
-    padding: 0 !important;
-  }
-  .ui.grid > .doubling.row > .column,
-  .ui.doubling.grid > .row > .column {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-    margin: 0 !important;
-    -webkit-box-shadow: none !important;
-            box-shadow: none !important;
-  }
-  .ui[class*="two column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="two column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="two column"].doubling:not(.stackable).row.row > .column {
-    width: 100% !important;
-  }
-  .ui[class*="three column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="three column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="three column"].doubling:not(.stackable).row.row > .column {
-    width: 50% !important;
-  }
-  .ui[class*="four column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="four column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="four column"].doubling:not(.stackable).row.row > .column {
-    width: 50% !important;
-  }
-  .ui[class*="five column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="five column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="five column"].doubling:not(.stackable).row.row > .column {
-    width: 50% !important;
-  }
-  .ui[class*="six column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="six column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="six column"].doubling:not(.stackable).row.row > .column {
-    width: 50% !important;
-  }
-  .ui[class*="seven column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="seven column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="seven column"].doubling:not(.stackable).row.row > .column {
-    width: 50% !important;
-  }
-  .ui[class*="eight column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="eight column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="eight column"].doubling:not(.stackable).row.row > .column {
-    width: 50% !important;
-  }
-  .ui[class*="nine column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="nine column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="nine column"].doubling:not(.stackable).row.row > .column {
-    width: 33.33333333% !important;
-  }
-  .ui[class*="ten column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="ten column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="ten column"].doubling:not(.stackable).row.row > .column {
-    width: 33.33333333% !important;
-  }
-  .ui[class*="eleven column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="eleven column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="eleven column"].doubling:not(.stackable).row.row > .column {
-    width: 33.33333333% !important;
-  }
-  .ui[class*="twelve column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="twelve column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="twelve column"].doubling:not(.stackable).row.row > .column {
-    width: 33.33333333% !important;
-  }
-  .ui[class*="thirteen column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="thirteen column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="thirteen column"].doubling:not(.stackable).row.row > .column {
-    width: 33.33333333% !important;
-  }
-  .ui[class*="fourteen column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="fourteen column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="fourteen column"].doubling:not(.stackable).row.row > .column {
-    width: 25% !important;
-  }
-  .ui[class*="fifteen column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="fifteen column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="fifteen column"].doubling:not(.stackable).row.row > .column {
-    width: 25% !important;
-  }
-  .ui[class*="sixteen column"].doubling:not(.stackable).grid > .row > .column,
-  .ui[class*="sixteen column"].doubling:not(.stackable).grid > .column:not(.row),
-  .ui.grid > [class*="sixteen column"].doubling:not(.stackable).row.row > .column {
-    width: 25% !important;
-  }
-}
-
-/*-------------------
-      Stackable
---------------------*/
-
-@media only screen and (max-width: 767.98px) {
-  .ui.stackable.grid {
-    width: auto;
-    margin-left: 0 !important;
-    margin-right: 0 !important;
-  }
-  .ui.stackable.grid > .row > .wide.column,
-  .ui.stackable.grid > .wide.column,
-  .ui.stackable.grid > .column.grid > .column,
-  .ui.stackable.grid > .column.row > .column,
-  .ui.stackable.grid > .row > .column,
-  .ui.stackable.grid > .column:not(.row),
-  .ui.grid > .stackable.stackable.row > .column {
-    width: 100% !important;
-    margin: 0 0 !important;
-    -webkit-box-shadow: none !important;
-            box-shadow: none !important;
-    padding: 1rem 1rem !important;
-  }
-  .ui.stackable.grid:not(.vertically) > .row {
-    margin: 0;
-    padding: 0;
-  }
-  
-/* Coupling */
-  .ui.container > .ui.stackable.grid > .column,
-  .ui.container > .ui.stackable.grid > .row > .column {
-    padding-left: 0 !important;
-    padding-right: 0 !important;
-  }
-  
-/* Don't pad inside segment or nested grid */
-  .ui.grid .ui.stackable.grid,
-  .ui.segment:not(.vertical) .ui.stackable.page.grid {
-    margin-left: -1rem !important;
-    margin-right: -1rem !important;
-  }
-  
-/* Divided Stackable */
-  .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:not(.row):first-child,
-  .ui.stackable.celled.grid > .column:not(.row):first-child {
-    border-top: none !important;
-  }
-  .ui.inverted.stackable.celled.grid > .column:not(.row),
-  .ui.inverted.stackable.divided.grid > .column:not(.row),
-  .ui.inverted.stackable.celled.grid > .row > .column,
-  .ui.inverted.stackable.divided.grid > .row > .column {
-    border-top: 1px solid rgba(255, 255, 255, 0.1);
-  }
-  .ui.stackable.celled.grid > .column:not(.row),
-  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),
-  .ui.stackable.celled.grid > .row > .column,
-  .ui.stackable.divided:not(.vertically).grid > .row > .column {
-    border-top: 1px solid rgba(34, 36, 38, 0.15);
-    -webkit-box-shadow: none !important;
-            box-shadow: none !important;
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .ui.stackable.celled.grid > .row {
-    -webkit-box-shadow: none !important;
-            box-shadow: none !important;
-  }
-  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),
-  .ui.stackable.divided:not(.vertically).grid > .row > .column {
-    padding-left: 0 !important;
-    padding-right: 0 !important;
-  }
-}
-
-/*----------------------
-     Only (Device)
------------------------*/
-
-
-/* These include arbitrary class repetitions for forced specificity */
-
-/* Mobile Only Hide */
-@media only screen and (max-width: 767.98px) {
-  .ui[class*="tablet only"].grid.grid.grid:not(.mobile),
-  .ui.grid.grid.grid > [class*="tablet only"].row:not(.mobile),
-  .ui.grid.grid.grid > [class*="tablet only"].column:not(.mobile),
-  .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.mobile) {
-    display: none !important;
-  }
-  .ui[class*="computer only"].grid.grid.grid:not(.mobile),
-  .ui.grid.grid.grid > [class*="computer only"].row:not(.mobile),
-  .ui.grid.grid.grid > [class*="computer only"].column:not(.mobile),
-  .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.mobile) {
-    display: none !important;
-  }
-  .ui[class*="large screen only"].grid.grid.grid:not(.mobile),
-  .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile),
-  .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile),
-  .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) {
-    display: none !important;
-  }
-  .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
-  .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
-  .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
-  .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
-    display: none !important;
-  }
-}
-
-/* Tablet Only Hide */
-@media only screen and (min-width: 768px) and (max-width: 991.98px) {
-  .ui[class*="mobile only"].grid.grid.grid:not(.tablet),
-  .ui.grid.grid.grid > [class*="mobile only"].row:not(.tablet),
-  .ui.grid.grid.grid > [class*="mobile only"].column:not(.tablet),
-  .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.tablet) {
-    display: none !important;
-  }
-  .ui[class*="computer only"].grid.grid.grid:not(.tablet),
-  .ui.grid.grid.grid > [class*="computer only"].row:not(.tablet),
-  .ui.grid.grid.grid > [class*="computer only"].column:not(.tablet),
-  .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.tablet) {
-    display: none !important;
-  }
-  .ui[class*="large screen only"].grid.grid.grid:not(.mobile),
-  .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile),
-  .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile),
-  .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) {
-    display: none !important;
-  }
-  .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
-  .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
-  .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
-  .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
-    display: none !important;
-  }
-}
-
-/* Computer Only Hide */
-@media only screen and (min-width: 992px) and (max-width: 1199.98px) {
-  .ui[class*="mobile only"].grid.grid.grid:not(.computer),
-  .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer),
-  .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer),
-  .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) {
-    display: none !important;
-  }
-  .ui[class*="tablet only"].grid.grid.grid:not(.computer),
-  .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer),
-  .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer),
-  .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) {
-    display: none !important;
-  }
-  .ui[class*="large screen only"].grid.grid.grid:not(.mobile),
-  .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile),
-  .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile),
-  .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) {
-    display: none !important;
-  }
-  .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
-  .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
-  .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
-  .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
-    display: none !important;
-  }
-}
-
-/* Large Screen Only Hide */
-@media only screen and (min-width: 1200px) and (max-width: 1919.98px) {
-  .ui[class*="mobile only"].grid.grid.grid:not(.computer),
-  .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer),
-  .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer),
-  .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) {
-    display: none !important;
-  }
-  .ui[class*="tablet only"].grid.grid.grid:not(.computer),
-  .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer),
-  .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer),
-  .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) {
-    display: none !important;
-  }
-  .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
-  .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
-  .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
-  .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
-    display: none !important;
-  }
-}
-
-/* Widescreen Only Hide */
-@media only screen and (min-width: 1920px) {
-  .ui[class*="mobile only"].grid.grid.grid:not(.computer),
-  .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer),
-  .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer),
-  .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) {
-    display: none !important;
-  }
-  .ui[class*="tablet only"].grid.grid.grid:not(.computer),
-  .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer),
-  .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer),
-  .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) {
-    display: none !important;
-  }
-}
-
-/*-----------------
-      Compact
------------------*/
-
-.ui.compact.grid > .column:not(.row),
-.ui.compact.grid > .row > .column {
-  padding-left: 0.5rem;
-  padding-right: 0.5rem;
-}
-.ui.compact.grid > * {
-  padding-left: 0.5rem;
-  padding-right: 0.5rem;
-}
-
-/* Row */
-.ui.compact.grid > .row {
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-}
-
-/* Columns */
-.ui.compact.grid > .column:not(.row) {
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-}
-
-/* Relaxed + Celled */
-.ui.compact.relaxed.celled.grid > .column:not(.row),
-.ui.compact.relaxed.celled.grid > .row > .column {
-  padding: 0.75em;
-}
-.ui.compact[class*="very relaxed"].celled.grid > .column:not(.row),
-.ui.compact[class*="very relaxed"].celled.grid > .row > .column {
-  padding: 1em;
-}
-
-/*-----------------
-    Very compact
------------------*/
-
-.ui[class*="very compact"].grid > .column:not(.row),
-.ui[class*="very compact"].grid > .row > .column {
-  padding-left: 0.25rem;
-  padding-right: 0.5rem;
-}
-.ui[class*="very compact"].grid > * {
-  padding-left: 0.25rem;
-  padding-right: 0.25rem;
-}
-
-/* Row */
-.ui[class*="very compact"].grid > .row {
-  padding-top: 0.25rem;
-  padding-bottom: 0.25rem;
-}
-
-/* Columns */
-.ui[class*="very compact"].grid > .column:not(.row) {
-  padding-top: 0.25rem;
-  padding-bottom: 0.25rem;
-}
-
-/* Relaxed + Celled */
-.ui[class*="very compact"].relaxed.celled.grid > .column:not(.row),
-.ui[class*="very compact"].relaxed.celled.grid > .row > .column {
-  padding: 0.375em;
-}
-.ui[class*="very compact"][class*="very relaxed"].celled.grid > .column:not(.row),
-.ui[class*="very compact"][class*="very relaxed"].celled.grid > .row > .column {
-  padding: 0.5em;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/grid.min.css


+ 0 - 747
webgui/static/components/header.css

@@ -1,747 +0,0 @@
-/*!
- * # Fomantic-UI - Header
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Header
-*******************************/
-
-
-/* Standard */
-.ui.header {
-  border: none;
-  margin: calc(2rem - 0.1428571428571429em) 0 1rem;
-  padding: 0 0;
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  font-weight: bold;
-  line-height: 1.28571429em;
-  text-transform: none;
-  color: #AAAAAA;
-}
-.ui.header:first-child {
-  margin-top: -0.14285714em;
-}
-.ui.header:last-child {
-  margin-bottom: 0;
-}
-
-/*--------------
-   Sub Header
----------------*/
-
-.ui.header .sub.header {
-  display: block;
-  font-weight: normal;
-  padding: 0;
-  margin: 0;
-  font-size: 1rem;
-  line-height: 1.2em;
-  color: rgba(0, 0, 0, 0.6);
-}
-
-/*--------------
-      Icon
----------------*/
-
-.ui.header > .icon {
-  display: table-cell;
-  opacity: 1;
-  font-size: 1.5em;
-  padding-top: 0;
-  vertical-align: middle;
-}
-
-/* With Text Node */
-.ui.header .icon:only-child {
-  display: inline-block;
-  padding: 0;
-  margin-right: 0.75rem;
-}
-
-/*-------------------
-        Image
---------------------*/
-
-.ui.header > .image:not(.icon),
-.ui.header > img {
-  display: inline-block;
-  margin-top: 0.14285714em;
-  width: 2.5em;
-  height: auto;
-  vertical-align: middle;
-}
-.ui.header > .image:not(.icon):only-child,
-.ui.header > img:only-child {
-  margin-right: 0.75rem;
-}
-
-/*--------------
-     Content
----------------*/
-
-.ui.header .content {
-  display: inline-block;
-  vertical-align: top;
-}
-
-/* After Image */
-.ui.header > img + .content,
-.ui.header > .image + .content {
-  padding-left: 0.75rem;
-  vertical-align: middle;
-}
-
-/* After Icon */
-.ui.header > .icon + .content {
-  padding-left: 0.75rem;
-  display: table-cell;
-  vertical-align: middle;
-}
-
-/*--------------
- Loose Coupling
----------------*/
-
-.ui.header .ui.label {
-  font-size: '';
-  margin-left: 0.5rem;
-  vertical-align: middle;
-}
-
-/* Positioning */
-.ui.header + p {
-  margin-top: 0;
-}
-
-
-/*******************************
-            Types
-*******************************/
-
-
-/*--------------
-     Page
----------------*/
-
-h1.ui.header {
-  font-size: 2rem;
-}
-h2.ui.header {
-  font-size: 1.71428571rem;
-}
-h3.ui.header {
-  font-size: 1.28571429rem;
-}
-h4.ui.header {
-  font-size: 1.07142857rem;
-}
-h5.ui.header {
-  font-size: 1rem;
-}
-
-/* Sub Header */
-h1.ui.header .sub.header {
-  font-size: 1.14285714rem;
-}
-h2.ui.header .sub.header {
-  font-size: 1.14285714rem;
-}
-h3.ui.header .sub.header {
-  font-size: 1rem;
-}
-h4.ui.header .sub.header {
-  font-size: 1rem;
-}
-h5.ui.header .sub.header {
-  font-size: 0.92857143rem;
-}
-
-/*--------------
- Content Heading
----------------*/
-
-.ui.huge.header {
-  min-height: 1em;
-  font-size: 2em;
-}
-.ui.large.header {
-  font-size: 1.71428571em;
-}
-.ui.medium.header {
-  font-size: 1.28571429em;
-}
-.ui.small.header {
-  font-size: 1.07142857em;
-}
-.ui.tiny.header {
-  font-size: 1em;
-}
-
-/* Sub Header */
-.ui.huge.header .sub.header {
-  font-size: 1.14285714rem;
-}
-.ui.large.header .sub.header {
-  font-size: 1.14285714rem;
-}
-.ui.header .sub.header {
-  font-size: 1rem;
-}
-.ui.small.header .sub.header {
-  font-size: 1rem;
-}
-.ui.tiny.header .sub.header {
-  font-size: 0.92857143rem;
-}
-
-/*--------------
-   Sub Heading
----------------*/
-
-.ui.sub.header {
-  padding: 0;
-  margin-bottom: 0.14285714rem;
-  font-weight: bold;
-  font-size: 0.85714286em;
-  text-transform: uppercase;
-  color: '';
-}
-.ui.small.sub.header {
-  font-size: 0.78571429em;
-}
-.ui.large.sub.header {
-  font-size: 0.92857143em;
-}
-.ui.huge.sub.header {
-  font-size: 1em;
-}
-
-/*-------------------
-        Icon
---------------------*/
-
-.ui.icon.header {
-  display: inline-block;
-  text-align: center;
-  margin: 2rem 0 1rem;
-}
-.ui.icon.header:after {
-  content: '';
-  display: block;
-  height: 0;
-  clear: both;
-  visibility: hidden;
-}
-.ui.icon.header:first-child {
-  margin-top: 0;
-}
-.ui.icon.header .icon {
-  float: none;
-  display: block;
-  width: auto;
-  height: auto;
-  line-height: 1;
-  padding: 0;
-  font-size: 3em;
-  margin: 0 auto 0.5rem;
-  opacity: 1;
-}
-.ui.icon.header .corner.icon {
-  font-size: calc(3em * 0.45);
-}
-.ui.icon.header .content {
-  display: block;
-  padding: 0;
-}
-.ui.icon.header .circular.icon {
-  font-size: 2em;
-}
-.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;
-}
-
-
-/*******************************
-            States
-*******************************/
-
-.ui.disabled.header {
-  opacity: 0.45;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*-------------------
-      Inverted
---------------------*/
-
-.ui.inverted.header {
-  color: #FFFFFF;
-}
-.ui.inverted.header .sub.header {
-  color: rgba(255, 255, 255, 0.8);
-}
-.ui.inverted.attached.header {
-  background: #1B1C1D;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  border-color: transparent;
-}
-.ui.inverted.block.header {
-  background: #545454 -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.05)));
-  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));
-  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  border-bottom: none;
-}
-
-/*-------------------
-       Colors
---------------------*/
-
-.ui.primary.header {
-  color: #2185D0;
-}
-a.ui.primary.header:hover {
-  color: #1678c2;
-}
-.ui.primary.dividing.header {
-  border-bottom: 2px solid #2185D0;
-}
-.ui.inverted.primary.header.header.header {
-  color: #54C8FF;
-}
-a.ui.inverted.primary.header.header.header:hover {
-  color: #21b8ff;
-}
-.ui.inverted.primary.dividing.header {
-  border-bottom: 2px solid #54C8FF;
-}
-.ui.secondary.header {
-  color: #1B1C1D;
-}
-a.ui.secondary.header:hover {
-  color: #27292a;
-}
-.ui.secondary.dividing.header {
-  border-bottom: 2px solid #1B1C1D;
-}
-.ui.inverted.secondary.header.header.header {
-  color: #545454;
-}
-a.ui.inverted.secondary.header.header.header:hover {
-  color: #6e6e6e;
-}
-.ui.inverted.secondary.dividing.header {
-  border-bottom: 2px solid #545454;
-}
-.ui.red.header {
-  color: #DB2828;
-}
-a.ui.red.header:hover {
-  color: #d01919;
-}
-.ui.red.dividing.header {
-  border-bottom: 2px solid #DB2828;
-}
-.ui.inverted.red.header.header.header {
-  color: #FF695E;
-}
-a.ui.inverted.red.header.header.header:hover {
-  color: #ff392b;
-}
-.ui.inverted.red.dividing.header {
-  border-bottom: 2px solid #FF695E;
-}
-.ui.orange.header {
-  color: #F2711C;
-}
-a.ui.orange.header:hover {
-  color: #f26202;
-}
-.ui.orange.dividing.header {
-  border-bottom: 2px solid #F2711C;
-}
-.ui.inverted.orange.header.header.header {
-  color: #FF851B;
-}
-a.ui.inverted.orange.header.header.header:hover {
-  color: #e76b00;
-}
-.ui.inverted.orange.dividing.header {
-  border-bottom: 2px solid #FF851B;
-}
-.ui.yellow.header {
-  color: #FBBD08;
-}
-a.ui.yellow.header:hover {
-  color: #eaae00;
-}
-.ui.yellow.dividing.header {
-  border-bottom: 2px solid #FBBD08;
-}
-.ui.inverted.yellow.header.header.header {
-  color: #FFE21F;
-}
-a.ui.inverted.yellow.header.header.header:hover {
-  color: #ebcd00;
-}
-.ui.inverted.yellow.dividing.header {
-  border-bottom: 2px solid #FFE21F;
-}
-.ui.olive.header {
-  color: #B5CC18;
-}
-a.ui.olive.header:hover {
-  color: #a7bd0d;
-}
-.ui.olive.dividing.header {
-  border-bottom: 2px solid #B5CC18;
-}
-.ui.inverted.olive.header.header.header {
-  color: #D9E778;
-}
-a.ui.inverted.olive.header.header.header:hover {
-  color: #d2e745;
-}
-.ui.inverted.olive.dividing.header {
-  border-bottom: 2px solid #D9E778;
-}
-.ui.green.header {
-  color: #21BA45;
-}
-a.ui.green.header:hover {
-  color: #16ab39;
-}
-.ui.green.dividing.header {
-  border-bottom: 2px solid #21BA45;
-}
-.ui.inverted.green.header.header.header {
-  color: #2ECC40;
-}
-a.ui.inverted.green.header.header.header:hover {
-  color: #1ea92e;
-}
-.ui.inverted.green.dividing.header {
-  border-bottom: 2px solid #2ECC40;
-}
-.ui.teal.header {
-  color: #00B5AD;
-}
-a.ui.teal.header:hover {
-  color: #009c95;
-}
-.ui.teal.dividing.header {
-  border-bottom: 2px solid #00B5AD;
-}
-.ui.inverted.teal.header.header.header {
-  color: #6DFFFF;
-}
-a.ui.inverted.teal.header.header.header:hover {
-  color: #3affff;
-}
-.ui.inverted.teal.dividing.header {
-  border-bottom: 2px solid #6DFFFF;
-}
-.ui.blue.header {
-  color: #2185D0;
-}
-a.ui.blue.header:hover {
-  color: #1678c2;
-}
-.ui.blue.dividing.header {
-  border-bottom: 2px solid #2185D0;
-}
-.ui.inverted.blue.header.header.header {
-  color: #54C8FF;
-}
-a.ui.inverted.blue.header.header.header:hover {
-  color: #21b8ff;
-}
-.ui.inverted.blue.dividing.header {
-  border-bottom: 2px solid #54C8FF;
-}
-.ui.violet.header {
-  color: #6435C9;
-}
-a.ui.violet.header:hover {
-  color: #5829bb;
-}
-.ui.violet.dividing.header {
-  border-bottom: 2px solid #6435C9;
-}
-.ui.inverted.violet.header.header.header {
-  color: #A291FB;
-}
-a.ui.inverted.violet.header.header.header:hover {
-  color: #745aff;
-}
-.ui.inverted.violet.dividing.header {
-  border-bottom: 2px solid #A291FB;
-}
-.ui.purple.header {
-  color: #A333C8;
-}
-a.ui.purple.header:hover {
-  color: #9627ba;
-}
-.ui.purple.dividing.header {
-  border-bottom: 2px solid #A333C8;
-}
-.ui.inverted.purple.header.header.header {
-  color: #DC73FF;
-}
-a.ui.inverted.purple.header.header.header:hover {
-  color: #cf40ff;
-}
-.ui.inverted.purple.dividing.header {
-  border-bottom: 2px solid #DC73FF;
-}
-.ui.pink.header {
-  color: #E03997;
-}
-a.ui.pink.header:hover {
-  color: #e61a8d;
-}
-.ui.pink.dividing.header {
-  border-bottom: 2px solid #E03997;
-}
-.ui.inverted.pink.header.header.header {
-  color: #FF8EDF;
-}
-a.ui.inverted.pink.header.header.header:hover {
-  color: #ff5bd1;
-}
-.ui.inverted.pink.dividing.header {
-  border-bottom: 2px solid #FF8EDF;
-}
-.ui.brown.header {
-  color: #A5673F;
-}
-a.ui.brown.header:hover {
-  color: #975b33;
-}
-.ui.brown.dividing.header {
-  border-bottom: 2px solid #A5673F;
-}
-.ui.inverted.brown.header.header.header {
-  color: #D67C1C;
-}
-a.ui.inverted.brown.header.header.header:hover {
-  color: #b0620f;
-}
-.ui.inverted.brown.dividing.header {
-  border-bottom: 2px solid #D67C1C;
-}
-.ui.grey.header {
-  color: #767676;
-}
-a.ui.grey.header:hover {
-  color: #838383;
-}
-.ui.grey.dividing.header {
-  border-bottom: 2px solid #767676;
-}
-.ui.inverted.grey.header.header.header {
-  color: #DCDDDE;
-}
-a.ui.inverted.grey.header.header.header:hover {
-  color: #c2c4c5;
-}
-.ui.inverted.grey.dividing.header {
-  border-bottom: 2px solid #DCDDDE;
-}
-.ui.black.header {
-  color: #1B1C1D;
-}
-a.ui.black.header:hover {
-  color: #27292a;
-}
-.ui.black.dividing.header {
-  border-bottom: 2px solid #1B1C1D;
-}
-.ui.inverted.black.header.header.header {
-  color: #545454;
-}
-a.ui.inverted.black.header.header.header:hover {
-  color: #000000;
-}
-.ui.inverted.black.dividing.header {
-  border-bottom: 2px solid #545454;
-}
-
-/*-------------------
-       Aligned
---------------------*/
-
-.ui.left.aligned.header {
-  text-align: left;
-}
-.ui.right.aligned.header {
-  text-align: right;
-}
-.ui.centered.header,
-.ui.center.aligned.header {
-  text-align: center;
-}
-.ui.justified.header {
-  text-align: justify;
-}
-.ui.justified.header:after {
-  display: inline-block;
-  content: '';
-  width: 100%;
-}
-
-/*-------------------
-       Floated
---------------------*/
-
-.ui.floated.header,
-.ui[class*="left floated"].header {
-  float: left;
-  margin-top: 0;
-  margin-right: 0.5em;
-}
-.ui[class*="right floated"].header {
-  float: right;
-  margin-top: 0;
-  margin-left: 0.5em;
-}
-
-/*-------------------
-       Fitted
---------------------*/
-
-.ui.fitted.header {
-  padding: 0;
-}
-
-/*-------------------
-      Dividing
---------------------*/
-
-.ui.dividing.header {
-  padding-bottom: 0.21428571rem;
-  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
-}
-.ui.dividing.header .sub.header {
-  padding-bottom: 0.21428571rem;
-}
-.ui.dividing.header .icon {
-  margin-bottom: 0;
-}
-.ui.inverted.dividing.header {
-  border-bottom-color: rgba(255, 255, 255, 0.1);
-}
-
-/*-------------------
-        Block
---------------------*/
-
-.ui.block.header {
-  background: #F3F4F5;
-  padding: 0.78571429rem 1rem;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  border: 1px solid #D4D4D5;
-  border-radius: 0.28571429rem;
-}
-.ui.tiny.block.header {
-  font-size: 0.85714286rem;
-}
-.ui.small.block.header {
-  font-size: 0.92857143rem;
-}
-.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
-  font-size: 1rem;
-}
-.ui.large.block.header {
-  font-size: 1.14285714rem;
-}
-.ui.huge.block.header {
-  font-size: 1.42857143rem;
-}
-
-/*-------------------
-       Attached
---------------------*/
-
-.ui.attached.header {
-  background: #FFFFFF;
-  padding: 0.78571429rem 1rem;
-  margin: 0 -1px 0 -1px;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  border: 1px solid #D4D4D5;
-  border-radius: 0;
-}
-.ui.attached.block.header {
-  background: #F3F4F5;
-}
-.ui.attached:not(.top).header {
-  border-top: none;
-}
-.ui.top.attached.header {
-  border-radius: 0.28571429rem 0.28571429rem 0 0;
-}
-.ui.bottom.attached.header {
-  border-radius: 0 0 0.28571429rem 0.28571429rem;
-}
-
-/* Attached Sizes */
-.ui.tiny.attached.header {
-  font-size: 0.85714286em;
-}
-.ui.small.attached.header {
-  font-size: 0.92857143em;
-}
-.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
-  font-size: 1em;
-}
-.ui.large.attached.header {
-  font-size: 1.14285714em;
-}
-.ui.huge.attached.header {
-  font-size: 1.42857143em;
-}
-
-/*-------------------
-        Sizing
---------------------*/
-
-.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
-  font-size: 1.28571429em;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/header.min.css


+ 0 - 6745
webgui/static/components/icon.css

@@ -1,6745 +0,0 @@
-/*!
- * # Fomantic-UI - Icon
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-             Icon
-*******************************/
-
-@font-face {
-  font-family: 'Icons';
-  src: url("./../themes/default/assets/fonts/icons.eot");
-  src: url("./../themes/default/assets/fonts/icons.eot?#iefix") format('embedded-opentype'), url("./../themes/default/assets/fonts/icons.woff2") format('woff2'), url("./../themes/default/assets/fonts/icons.woff") format('woff'), url("./../themes/default/assets/fonts/icons.ttf") format('truetype'), url("./../themes/default/assets/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: 1;
-  margin: 0 0.25rem 0 0;
-  width: 1.18em;
-  height: 1em;
-  font-family: 'Icons';
-  font-style: normal;
-  font-weight: normal;
-  text-decoration: inherit;
-  text-align: center;
-  speak: none;
-  -moz-osx-font-smoothing: grayscale;
-  -webkit-font-smoothing: antialiased;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden;
-}
-i.icon:before {
-  background: none !important;
-}
-
-
-/*******************************
-             Types
-*******************************/
-
-
-/*--------------
-    Loading
----------------*/
-
-i.icon.loading {
-  height: 1em;
-  line-height: 1;
-  -webkit-animation: loader 2s linear infinite;
-          animation: loader 2s linear infinite;
-}
-
-
-/*******************************
-             States
-*******************************/
-
-i.icon:hover,
-i.icons:hover,
-i.icon:active,
-i.icons:active,
-i.emphasized.icon:not(.disabled),
-i.emphasized.icons:not(.disabled) {
-  opacity: 1;
-}
-i.disabled.icon,
-i.disabled.icons {
-  opacity: 0.45;
-  cursor: default;
-  pointer-events: none;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*-------------------
-        Fitted
---------------------*/
-
-i.fitted.icon {
-  width: auto;
-  margin: 0 !important;
-}
-
-/*-------------------
-         Link
---------------------*/
-
-i.link.icon:not(.disabled),
-i.link.icons:not(.disabled) {
-  cursor: pointer;
-  opacity: 0.8;
-  -webkit-transition: opacity 0.1s ease;
-  transition: opacity 0.1s ease;
-}
-i.link.icon:hover,
-i.link.icons:hover {
-  opacity: 1;
-}
-
-/*-------------------
-      Circular
---------------------*/
-
-i.circular.icon {
-  border-radius: 500em !important;
-  line-height: 1 !important;
-  padding: 0.5em 0 !important;
-  -webkit-box-shadow: 0 0 0 0.1em rgba(0, 0, 0, 0.1) inset;
-          box-shadow: 0 0 0 0.1em rgba(0, 0, 0, 0.1) inset;
-  width: 2em !important;
-  height: 2em !important;
-}
-i.circular.inverted.icon {
-  border: none;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/*-------------------
-      Flipped
---------------------*/
-
-i.flipped.icon,
-i.horizontally.flipped.icon {
-  -webkit-transform: scale(-1, 1);
-          transform: scale(-1, 1);
-}
-i.vertically.flipped.icon {
-  -webkit-transform: scale(1, -1);
-          transform: scale(1, -1);
-}
-
-/*-------------------
-      Rotated
---------------------*/
-
-i.rotated.icon,
-i.right.rotated.icon,
-i.clockwise.rotated.icon {
-  -webkit-transform: rotate(90deg);
-          transform: rotate(90deg);
-}
-i.left.rotated.icon,
-i.counterclockwise.rotated.icon {
-  -webkit-transform: rotate(-90deg);
-          transform: rotate(-90deg);
-}
-i.halfway.rotated.icon {
-  -webkit-transform: rotate(180deg);
-          transform: rotate(180deg);
-}
-
-/*--------------------------
-      Flipped & Rotated
----------------------------*/
-
-i.rotated.flipped.icon,
-i.right.rotated.flipped.icon,
-i.clockwise.rotated.flipped.icon {
-  -webkit-transform: scale(-1, 1) rotate(90deg);
-          transform: scale(-1, 1) rotate(90deg);
-}
-i.left.rotated.flipped.icon,
-i.counterclockwise.rotated.flipped.icon {
-  -webkit-transform: scale(-1, 1) rotate(-90deg);
-          transform: scale(-1, 1) rotate(-90deg);
-}
-i.halfway.rotated.flipped.icon {
-  -webkit-transform: scale(-1, 1) rotate(180deg);
-          transform: scale(-1, 1) rotate(180deg);
-}
-i.rotated.vertically.flipped.icon,
-i.right.rotated.vertically.flipped.icon,
-i.clockwise.rotated.vertically.flipped.icon {
-  -webkit-transform: scale(1, -1) rotate(90deg);
-          transform: scale(1, -1) rotate(90deg);
-}
-i.left.rotated.vertically.flipped.icon,
-i.counterclockwise.rotated.vertically.flipped.icon {
-  -webkit-transform: scale(1, -1) rotate(-90deg);
-          transform: scale(1, -1) rotate(-90deg);
-}
-i.halfway.rotated.vertically.flipped.icon {
-  -webkit-transform: scale(1, -1) rotate(180deg);
-          transform: scale(1, -1) rotate(180deg);
-}
-
-/*-------------------
-      Bordered
---------------------*/
-
-i.bordered.icon {
-  line-height: 1;
-  vertical-align: baseline;
-  width: 2em;
-  height: 2em;
-  padding: 0.5em 0 !important;
-  -webkit-box-shadow: 0 0 0 0.1em rgba(0, 0, 0, 0.1) inset;
-          box-shadow: 0 0 0 0.1em rgba(0, 0, 0, 0.1) inset;
-}
-i.bordered.inverted.icon {
-  border: none;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/*-------------------
-      Inverted
---------------------*/
-
-
-/* Inverted Shapes */
-i.inverted.bordered.icon,
-i.inverted.circular.icon {
-  background-color: #1B1C1D;
-  color: #FFFFFF;
-}
-i.inverted.icon {
-  color: #FFFFFF;
-}
-
-/*-------------------
-       Colors
---------------------*/
-
-i.primary.icon.icon.icon.icon {
-  color: #2185D0;
-}
-i.inverted.primary.icon.icon.icon.icon {
-  color: #54C8FF;
-}
-i.inverted.bordered.primary.icon.icon.icon.icon,
-i.inverted.circular.primary.icon.icon.icon.icon {
-  background-color: #2185D0;
-  color: #FFFFFF;
-}
-i.secondary.icon.icon.icon.icon {
-  color: #1B1C1D;
-}
-i.inverted.secondary.icon.icon.icon.icon {
-  color: #545454;
-}
-i.inverted.bordered.secondary.icon.icon.icon.icon,
-i.inverted.circular.secondary.icon.icon.icon.icon {
-  background-color: #1B1C1D;
-  color: #FFFFFF;
-}
-i.red.icon.icon.icon.icon {
-  color: #DB2828;
-}
-i.inverted.red.icon.icon.icon.icon {
-  color: #FF695E;
-}
-i.inverted.bordered.red.icon.icon.icon.icon,
-i.inverted.circular.red.icon.icon.icon.icon {
-  background-color: #DB2828;
-  color: #FFFFFF;
-}
-i.orange.icon.icon.icon.icon {
-  color: #F2711C;
-}
-i.inverted.orange.icon.icon.icon.icon {
-  color: #FF851B;
-}
-i.inverted.bordered.orange.icon.icon.icon.icon,
-i.inverted.circular.orange.icon.icon.icon.icon {
-  background-color: #F2711C;
-  color: #FFFFFF;
-}
-i.yellow.icon.icon.icon.icon {
-  color: #FBBD08;
-}
-i.inverted.yellow.icon.icon.icon.icon {
-  color: #FFE21F;
-}
-i.inverted.bordered.yellow.icon.icon.icon.icon,
-i.inverted.circular.yellow.icon.icon.icon.icon {
-  background-color: #FBBD08;
-  color: #FFFFFF;
-}
-i.olive.icon.icon.icon.icon {
-  color: #B5CC18;
-}
-i.inverted.olive.icon.icon.icon.icon {
-  color: #D9E778;
-}
-i.inverted.bordered.olive.icon.icon.icon.icon,
-i.inverted.circular.olive.icon.icon.icon.icon {
-  background-color: #B5CC18;
-  color: #FFFFFF;
-}
-i.green.icon.icon.icon.icon {
-  color: #21BA45;
-}
-i.inverted.green.icon.icon.icon.icon {
-  color: #2ECC40;
-}
-i.inverted.bordered.green.icon.icon.icon.icon,
-i.inverted.circular.green.icon.icon.icon.icon {
-  background-color: #21BA45;
-  color: #FFFFFF;
-}
-i.teal.icon.icon.icon.icon {
-  color: #00B5AD;
-}
-i.inverted.teal.icon.icon.icon.icon {
-  color: #6DFFFF;
-}
-i.inverted.bordered.teal.icon.icon.icon.icon,
-i.inverted.circular.teal.icon.icon.icon.icon {
-  background-color: #00B5AD;
-  color: #FFFFFF;
-}
-i.blue.icon.icon.icon.icon {
-  color: #2185D0;
-}
-i.inverted.blue.icon.icon.icon.icon {
-  color: #54C8FF;
-}
-i.inverted.bordered.blue.icon.icon.icon.icon,
-i.inverted.circular.blue.icon.icon.icon.icon {
-  background-color: #2185D0;
-  color: #FFFFFF;
-}
-i.violet.icon.icon.icon.icon {
-  color: #6435C9;
-}
-i.inverted.violet.icon.icon.icon.icon {
-  color: #A291FB;
-}
-i.inverted.bordered.violet.icon.icon.icon.icon,
-i.inverted.circular.violet.icon.icon.icon.icon {
-  background-color: #6435C9;
-  color: #FFFFFF;
-}
-i.purple.icon.icon.icon.icon {
-  color: #A333C8;
-}
-i.inverted.purple.icon.icon.icon.icon {
-  color: #DC73FF;
-}
-i.inverted.bordered.purple.icon.icon.icon.icon,
-i.inverted.circular.purple.icon.icon.icon.icon {
-  background-color: #A333C8;
-  color: #FFFFFF;
-}
-i.pink.icon.icon.icon.icon {
-  color: #E03997;
-}
-i.inverted.pink.icon.icon.icon.icon {
-  color: #FF8EDF;
-}
-i.inverted.bordered.pink.icon.icon.icon.icon,
-i.inverted.circular.pink.icon.icon.icon.icon {
-  background-color: #E03997;
-  color: #FFFFFF;
-}
-i.brown.icon.icon.icon.icon {
-  color: #A5673F;
-}
-i.inverted.brown.icon.icon.icon.icon {
-  color: #D67C1C;
-}
-i.inverted.bordered.brown.icon.icon.icon.icon,
-i.inverted.circular.brown.icon.icon.icon.icon {
-  background-color: #A5673F;
-  color: #FFFFFF;
-}
-i.grey.icon.icon.icon.icon {
-  color: #767676;
-}
-i.inverted.grey.icon.icon.icon.icon {
-  color: #DCDDDE;
-}
-i.inverted.bordered.grey.icon.icon.icon.icon,
-i.inverted.circular.grey.icon.icon.icon.icon {
-  background-color: #767676;
-  color: #FFFFFF;
-}
-i.black.icon.icon.icon.icon {
-  color: #1B1C1D;
-}
-i.inverted.black.icon.icon.icon.icon {
-  color: #545454;
-}
-i.inverted.bordered.black.icon.icon.icon.icon,
-i.inverted.circular.black.icon.icon.icon.icon {
-  background-color: #1B1C1D;
-  color: #FFFFFF;
-}
-
-/*-------------------
-        Sizes
---------------------*/
-
-i.mini.mini.mini.icon,
-i.mini.mini.mini.icons {
-  line-height: 1;
-  font-size: 0.4em;
-}
-i.tiny.tiny.tiny.icon,
-i.tiny.tiny.tiny.icons {
-  line-height: 1;
-  font-size: 0.5em;
-}
-i.small.small.small.icon,
-i.small.small.small.icons {
-  line-height: 1;
-  font-size: 0.75em;
-}
-i.icon,
-i.icons {
-  font-size: 1em;
-}
-i.large.large.large.icon,
-i.large.large.large.icons {
-  line-height: 1;
-  vertical-align: middle;
-  font-size: 1.5em;
-}
-i.big.big.big.icon,
-i.big.big.big.icons {
-  line-height: 1;
-  vertical-align: middle;
-  font-size: 2em;
-}
-i.huge.huge.huge.icon,
-i.huge.huge.huge.icons {
-  line-height: 1;
-  vertical-align: middle;
-  font-size: 4em;
-}
-i.massive.massive.massive.icon,
-i.massive.massive.massive.icons {
-  line-height: 1;
-  vertical-align: middle;
-  font-size: 8em;
-}
-
-
-/*******************************
-            Groups
-*******************************/
-
-i.icons {
-  display: inline-block;
-  position: relative;
-  line-height: 1;
-}
-i.icons .icon {
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  -webkit-transform: translateX(-50%) translateY(-50%);
-          transform: translateX(-50%) translateY(-50%);
-  margin: 0;
-}
-i.icons .icon:first-child {
-  position: static;
-  width: auto;
-  height: auto;
-  vertical-align: top;
-  -webkit-transform: none;
-          transform: none;
-}
-
-/* Corner Icon */
-i.icons .corner.icon {
-  top: auto;
-  left: auto;
-  right: 0;
-  bottom: 0;
-  -webkit-transform: none;
-          transform: none;
-  font-size: 0.45em;
-  text-shadow: -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF, 1px 1px 0 #FFFFFF;
-}
-i.icons .icon.corner[class*="top right"] {
-  top: 0;
-  left: auto;
-  right: 0;
-  bottom: auto;
-}
-i.icons .icon.corner[class*="top left"] {
-  top: 0;
-  left: 0;
-  right: auto;
-  bottom: auto;
-}
-i.icons .icon.corner[class*="bottom left"] {
-  top: auto;
-  left: 0;
-  right: auto;
-  bottom: 0;
-}
-i.icons .icon.corner[class*="bottom right"] {
-  top: auto;
-  left: auto;
-  right: 0;
-  bottom: 0;
-}
-i.icons .inverted.corner.icon {
-  text-shadow: -1px -1px 0 #1B1C1D, 1px -1px 0 #1B1C1D, -1px 1px 0 #1B1C1D, 1px 1px 0 #1B1C1D;
-}
-/*
-* Font Awesome 5.9.0 by @fontawesome [https://fontawesome.com]
-* License - https://fontawesome.com/license (Icons: CC BY 4.0 License, Fonts: SIL OFL 1.1 License, CSS: MIT License)
-*/
-
-
-/*******************************
-
-Fomantic-UI integration of FontAwesome :
-
-// class names are separated
-i.icon.angle-left  =>  i.icon.angle.left
-
-// variations are extracted
-i.icon.circle      =>  i.icon.circle
-i.icon.circle-o    =>  i.icon.circle.outline
-
-// abbreviation are replaced by full words
-i.icon.*-h         =>  i.icon.*.horizontal
-i.icon.*-v         =>  i.icon.*.vertical
-i.icon.alpha       =>  i.icon.alphabet
-i.icon.asc         =>  i.icon.ascending
-i.icon.desc        =>  i.icon.descending
-i.icon.alt         =>  i.icon.alternate
-
-
-Icons are order A-Z in their group, Solid, Outline, Thin (Pro only) and Brand
-
-*******************************/
-
-
-
-/*******************************
-             Icons
-*******************************/
-
-
-/* Deprecated *In/Out Naming Conflict) */
-i.icon.linkedin.in:before {
-  content: "\f0e1";
-}
-i.icon.zoom.in:before {
-  content: "\f00e";
-}
-i.icon.zoom.out:before {
-  content: "\f010";
-}
-i.icon.sign.in:before {
-  content: "\f2f6";
-}
-i.icon.in.cart:before {
-  content: "\f218";
-}
-i.icon.log.out:before {
-  content: "\f2f5";
-}
-i.icon.sign.out:before {
-  content: "\f2f5";
-}
-
-
-/*******************************
-          Solid Icons
-*******************************/
-
-
-/* Icons */
-i.icon.ad:before {
-  content: "\f641";
-}
-i.icon.address.book:before {
-  content: "\f2b9";
-}
-i.icon.address.card:before {
-  content: "\f2bb";
-}
-i.icon.adjust:before {
-  content: "\f042";
-}
-i.icon.air.freshener:before {
-  content: "\f5d0";
-}
-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.allergies:before {
-  content: "\f461";
-}
-i.icon.ambulance:before {
-  content: "\f0f9";
-}
-i.icon.american.sign.language.interpreting:before {
-  content: "\f2a3";
-}
-i.icon.anchor:before {
-  content: "\f13d";
-}
-i.icon.angle.double.down:before {
-  content: "\f103";
-}
-i.icon.angle.double.left:before {
-  content: "\f100";
-}
-i.icon.angle.double.right:before {
-  content: "\f101";
-}
-i.icon.angle.double.up:before {
-  content: "\f102";
-}
-i.icon.angle.left:before {
-  content: "\f104";
-}
-i.icon.angle.right:before {
-  content: "\f105";
-}
-i.icon.angle.up:before {
-  content: "\f106";
-}
-i.icon.angle.down:before {
-  content: "\f107";
-}
-i.icon.angry:before {
-  content: "\f556";
-}
-i.icon.ankh:before {
-  content: "\f644";
-}
-i.icon.archive:before {
-  content: "\f187";
-}
-i.icon.archway:before {
-  content: "\f557";
-}
-i.icon.arrow.alternate.circle.down:before {
-  content: "\f358";
-}
-i.icon.arrow.alternate.circle.left:before {
-  content: "\f359";
-}
-i.icon.arrow.alternate.circle.right:before {
-  content: "\f35a";
-}
-i.icon.arrow.alternate.circle.up:before {
-  content: "\f35b";
-}
-i.icon.arrow.circle.down:before {
-  content: "\f0ab";
-}
-i.icon.arrow.circle.left:before {
-  content: "\f0a8";
-}
-i.icon.arrow.circle.right:before {
-  content: "\f0a9";
-}
-i.icon.arrow.circle.up:before {
-  content: "\f0aa";
-}
-i.icon.arrow.down:before {
-  content: "\f063";
-}
-i.icon.arrow.left:before {
-  content: "\f060";
-}
-i.icon.arrow.right:before {
-  content: "\f061";
-}
-i.icon.arrow.up:before {
-  content: "\f062";
-}
-i.icon.arrows.alternate:before {
-  content: "\f0b2";
-}
-i.icon.arrows.alternate.horizontal:before {
-  content: "\f337";
-}
-i.icon.arrows.alternate.vertical:before {
-  content: "\f338";
-}
-i.icon.assistive.listening.systems:before {
-  content: "\f2a2";
-}
-i.icon.asterisk:before {
-  content: "\f069";
-}
-i.icon.at:before {
-  content: "\f1fa";
-}
-i.icon.atlas:before {
-  content: "\f558";
-}
-i.icon.atom:before {
-  content: "\f5d2";
-}
-i.icon.audio.description:before {
-  content: "\f29e";
-}
-i.icon.award:before {
-  content: "\f559";
-}
-i.icon.baby:before {
-  content: "\f77c";
-}
-i.icon.baby.carriage:before {
-  content: "\f77d";
-}
-i.icon.backspace:before {
-  content: "\f55a";
-}
-i.icon.backward:before {
-  content: "\f04a";
-}
-i.icon.bacon:before {
-  content: "\f7e5";
-}
-i.icon.balance.scale:before {
-  content: "\f24e";
-}
-i.icon.balance.scale.left:before {
-  content: "\f515";
-}
-i.icon.balance.scale.right:before {
-  content: "\f516";
-}
-i.icon.ban:before {
-  content: "\f05e";
-}
-i.icon.band.aid:before {
-  content: "\f462";
-}
-i.icon.barcode:before {
-  content: "\f02a";
-}
-i.icon.bars:before {
-  content: "\f0c9";
-}
-i.icon.baseball.ball:before {
-  content: "\f433";
-}
-i.icon.basketball.ball:before {
-  content: "\f434";
-}
-i.icon.bath:before {
-  content: "\f2cd";
-}
-i.icon.battery.empty:before {
-  content: "\f244";
-}
-i.icon.battery.full:before {
-  content: "\f240";
-}
-i.icon.battery.half:before {
-  content: "\f242";
-}
-i.icon.battery.quarter:before {
-  content: "\f243";
-}
-i.icon.battery.three.quarters:before {
-  content: "\f241";
-}
-i.icon.bed:before {
-  content: "\f236";
-}
-i.icon.beer:before {
-  content: "\f0fc";
-}
-i.icon.bell:before {
-  content: "\f0f3";
-}
-i.icon.bell.slash:before {
-  content: "\f1f6";
-}
-i.icon.bezier.curve:before {
-  content: "\f55b";
-}
-i.icon.bible:before {
-  content: "\f647";
-}
-i.icon.bicycle:before {
-  content: "\f206";
-}
-i.icon.biking:before {
-  content: "\f84a";
-}
-i.icon.binoculars:before {
-  content: "\f1e5";
-}
-i.icon.biohazard:before {
-  content: "\f780";
-}
-i.icon.birthday.cake:before {
-  content: "\f1fd";
-}
-i.icon.blender:before {
-  content: "\f517";
-}
-i.icon.blender.phone:before {
-  content: "\f6b6";
-}
-i.icon.blind:before {
-  content: "\f29d";
-}
-i.icon.blog:before {
-  content: "\f781";
-}
-i.icon.bold:before {
-  content: "\f032";
-}
-i.icon.bolt:before {
-  content: "\f0e7";
-}
-i.icon.bomb:before {
-  content: "\f1e2";
-}
-i.icon.bone:before {
-  content: "\f5d7";
-}
-i.icon.bong:before {
-  content: "\f55c";
-}
-i.icon.book:before {
-  content: "\f02d";
-}
-i.icon.book.dead:before {
-  content: "\f6b7";
-}
-i.icon.book.medical:before {
-  content: "\f7e6";
-}
-i.icon.book.open:before {
-  content: "\f518";
-}
-i.icon.book.reader:before {
-  content: "\f5da";
-}
-i.icon.bookmark:before {
-  content: "\f02e";
-}
-i.icon.border.all:before {
-  content: "\f84c";
-}
-i.icon.border.none:before {
-  content: "\f850";
-}
-i.icon.border.style:before {
-  content: "\f853";
-}
-i.icon.bowling.ball:before {
-  content: "\f436";
-}
-i.icon.box:before {
-  content: "\f466";
-}
-i.icon.box.open:before {
-  content: "\f49e";
-}
-i.icon.boxes:before {
-  content: "\f468";
-}
-i.icon.braille:before {
-  content: "\f2a1";
-}
-i.icon.brain:before {
-  content: "\f5dc";
-}
-i.icon.bread.slice:before {
-  content: "\f7ec";
-}
-i.icon.briefcase:before {
-  content: "\f0b1";
-}
-i.icon.briefcase.medical:before {
-  content: "\f469";
-}
-i.icon.broadcast.tower:before {
-  content: "\f519";
-}
-i.icon.broom:before {
-  content: "\f51a";
-}
-i.icon.brush:before {
-  content: "\f55d";
-}
-i.icon.bug:before {
-  content: "\f188";
-}
-i.icon.building:before {
-  content: "\f1ad";
-}
-i.icon.bullhorn:before {
-  content: "\f0a1";
-}
-i.icon.bullseye:before {
-  content: "\f140";
-}
-i.icon.burn:before {
-  content: "\f46a";
-}
-i.icon.bus:before {
-  content: "\f207";
-}
-i.icon.bus.alternate:before {
-  content: "\f55e";
-}
-i.icon.business.time:before {
-  content: "\f64a";
-}
-i.icon.calculator:before {
-  content: "\f1ec";
-}
-i.icon.calendar:before {
-  content: "\f133";
-}
-i.icon.calendar.alternate:before {
-  content: "\f073";
-}
-i.icon.calendar.check:before {
-  content: "\f274";
-}
-i.icon.calendar.day:before {
-  content: "\f783";
-}
-i.icon.calendar.minus:before {
-  content: "\f272";
-}
-i.icon.calendar.plus:before {
-  content: "\f271";
-}
-i.icon.calendar.times:before {
-  content: "\f273";
-}
-i.icon.calendar.week:before {
-  content: "\f784";
-}
-i.icon.camera:before {
-  content: "\f030";
-}
-i.icon.camera.retro:before {
-  content: "\f083";
-}
-i.icon.campground:before {
-  content: "\f6bb";
-}
-i.icon.candy.cane:before {
-  content: "\f786";
-}
-i.icon.cannabis:before {
-  content: "\f55f";
-}
-i.icon.capsules:before {
-  content: "\f46b";
-}
-i.icon.car:before {
-  content: "\f1b9";
-}
-i.icon.car.alternate:before {
-  content: "\f5de";
-}
-i.icon.car.battery:before {
-  content: "\f5df";
-}
-i.icon.car.crash:before {
-  content: "\f5e1";
-}
-i.icon.car.side:before {
-  content: "\f5e4";
-}
-i.icon.caret.down:before {
-  content: "\f0d7";
-}
-i.icon.caret.left:before {
-  content: "\f0d9";
-}
-i.icon.caret.right:before {
-  content: "\f0da";
-}
-i.icon.caret.square.down:before {
-  content: "\f150";
-}
-i.icon.caret.square.left:before {
-  content: "\f191";
-}
-i.icon.caret.square.right:before {
-  content: "\f152";
-}
-i.icon.caret.square.up:before {
-  content: "\f151";
-}
-i.icon.caret.up:before {
-  content: "\f0d8";
-}
-i.icon.carrot:before {
-  content: "\f787";
-}
-i.icon.cart.arrow.down:before {
-  content: "\f218";
-}
-i.icon.cart.plus:before {
-  content: "\f217";
-}
-i.icon.cash.register:before {
-  content: "\f788";
-}
-i.icon.cat:before {
-  content: "\f6be";
-}
-i.icon.certificate:before {
-  content: "\f0a3";
-}
-i.icon.chair:before {
-  content: "\f6c0";
-}
-i.icon.chalkboard:before {
-  content: "\f51b";
-}
-i.icon.chalkboard.teacher:before {
-  content: "\f51c";
-}
-i.icon.charging.station:before {
-  content: "\f5e7";
-}
-i.icon.chart.area:before {
-  content: "\f1fe";
-}
-i.icon.chart.bar:before {
-  content: "\f080";
-}
-i.icon.chart.line:before {
-  content: "\f201";
-}
-i.icon.chart.pie:before {
-  content: "\f200";
-}
-i.icon.check:before {
-  content: "\f00c";
-}
-i.icon.check.circle:before {
-  content: "\f058";
-}
-i.icon.check.double:before {
-  content: "\f560";
-}
-i.icon.check.square:before {
-  content: "\f14a";
-}
-i.icon.cheese:before {
-  content: "\f7ef";
-}
-i.icon.chess:before {
-  content: "\f439";
-}
-i.icon.chess.bishop:before {
-  content: "\f43a";
-}
-i.icon.chess.board:before {
-  content: "\f43c";
-}
-i.icon.chess.king:before {
-  content: "\f43f";
-}
-i.icon.chess.knight:before {
-  content: "\f441";
-}
-i.icon.chess.pawn:before {
-  content: "\f443";
-}
-i.icon.chess.queen:before {
-  content: "\f445";
-}
-i.icon.chess.rook:before {
-  content: "\f447";
-}
-i.icon.chevron.circle.down:before {
-  content: "\f13a";
-}
-i.icon.chevron.circle.left:before {
-  content: "\f137";
-}
-i.icon.chevron.circle.right:before {
-  content: "\f138";
-}
-i.icon.chevron.circle.up:before {
-  content: "\f139";
-}
-i.icon.chevron.down:before {
-  content: "\f078";
-}
-i.icon.chevron.left:before {
-  content: "\f053";
-}
-i.icon.chevron.right:before {
-  content: "\f054";
-}
-i.icon.chevron.up:before {
-  content: "\f077";
-}
-i.icon.child:before {
-  content: "\f1ae";
-}
-i.icon.church:before {
-  content: "\f51d";
-}
-i.icon.circle:before {
-  content: "\f111";
-}
-i.icon.circle.notch:before {
-  content: "\f1ce";
-}
-i.icon.city:before {
-  content: "\f64f";
-}
-i.icon.clinic.medical:before {
-  content: "\f7f2";
-}
-i.icon.clipboard:before {
-  content: "\f328";
-}
-i.icon.clipboard.check:before {
-  content: "\f46c";
-}
-i.icon.clipboard.list:before {
-  content: "\f46d";
-}
-i.icon.clock:before {
-  content: "\f017";
-}
-i.icon.clone:before {
-  content: "\f24d";
-}
-i.icon.closed.captioning:before {
-  content: "\f20a";
-}
-i.icon.cloud:before {
-  content: "\f0c2";
-}
-i.icon.cloud.download.alternate:before {
-  content: "\f381";
-}
-i.icon.cloud.meatball:before {
-  content: "\f73b";
-}
-i.icon.cloud.moon:before {
-  content: "\f6c3";
-}
-i.icon.cloud.moon.rain:before {
-  content: "\f73c";
-}
-i.icon.cloud.rain:before {
-  content: "\f73d";
-}
-i.icon.cloud.showers.heavy:before {
-  content: "\f740";
-}
-i.icon.cloud.sun:before {
-  content: "\f6c4";
-}
-i.icon.cloud.sun.rain:before {
-  content: "\f743";
-}
-i.icon.cloud.upload.alternate:before {
-  content: "\f382";
-}
-i.icon.cocktail:before {
-  content: "\f561";
-}
-i.icon.code:before {
-  content: "\f121";
-}
-i.icon.code.branch:before {
-  content: "\f126";
-}
-i.icon.coffee:before {
-  content: "\f0f4";
-}
-i.icon.cog:before {
-  content: "\f013";
-}
-i.icon.cogs:before {
-  content: "\f085";
-}
-i.icon.coins:before {
-  content: "\f51e";
-}
-i.icon.columns:before {
-  content: "\f0db";
-}
-i.icon.comment:before {
-  content: "\f075";
-}
-i.icon.comment.alternate:before {
-  content: "\f27a";
-}
-i.icon.comment.dollar:before {
-  content: "\f651";
-}
-i.icon.comment.dots:before {
-  content: "\f4ad";
-}
-i.icon.comment.medical:before {
-  content: "\f7f5";
-}
-i.icon.comment.slash:before {
-  content: "\f4b3";
-}
-i.icon.comments:before {
-  content: "\f086";
-}
-i.icon.comments.dollar:before {
-  content: "\f653";
-}
-i.icon.compact.disc:before {
-  content: "\f51f";
-}
-i.icon.compass:before {
-  content: "\f14e";
-}
-i.icon.compress:before {
-  content: "\f066";
-}
-i.icon.compress.arrows.alternate:before {
-  content: "\f78c";
-}
-i.icon.concierge.bell:before {
-  content: "\f562";
-}
-i.icon.cookie:before {
-  content: "\f563";
-}
-i.icon.cookie.bite:before {
-  content: "\f564";
-}
-i.icon.copy:before {
-  content: "\f0c5";
-}
-i.icon.copyright:before {
-  content: "\f1f9";
-}
-i.icon.couch:before {
-  content: "\f4b8";
-}
-i.icon.credit.card:before {
-  content: "\f09d";
-}
-i.icon.crop:before {
-  content: "\f125";
-}
-i.icon.crop.alternate:before {
-  content: "\f565";
-}
-i.icon.cross:before {
-  content: "\f654";
-}
-i.icon.crosshairs:before {
-  content: "\f05b";
-}
-i.icon.crow:before {
-  content: "\f520";
-}
-i.icon.crown:before {
-  content: "\f521";
-}
-i.icon.crutch:before {
-  content: "\f7f7";
-}
-i.icon.cube:before {
-  content: "\f1b2";
-}
-i.icon.cubes:before {
-  content: "\f1b3";
-}
-i.icon.cut:before {
-  content: "\f0c4";
-}
-i.icon.database:before {
-  content: "\f1c0";
-}
-i.icon.deaf:before {
-  content: "\f2a4";
-}
-i.icon.democrat:before {
-  content: "\f747";
-}
-i.icon.desktop:before {
-  content: "\f108";
-}
-i.icon.dharmachakra:before {
-  content: "\f655";
-}
-i.icon.diagnoses:before {
-  content: "\f470";
-}
-i.icon.dice:before {
-  content: "\f522";
-}
-i.icon.dice.d20:before {
-  content: "\f6cf";
-}
-i.icon.dice.d6:before {
-  content: "\f6d1";
-}
-i.icon.dice.five:before {
-  content: "\f523";
-}
-i.icon.dice.four:before {
-  content: "\f524";
-}
-i.icon.dice.one:before {
-  content: "\f525";
-}
-i.icon.dice.six:before {
-  content: "\f526";
-}
-i.icon.dice.three:before {
-  content: "\f527";
-}
-i.icon.dice.two:before {
-  content: "\f528";
-}
-i.icon.digital.tachograph:before {
-  content: "\f566";
-}
-i.icon.directions:before {
-  content: "\f5eb";
-}
-i.icon.divide:before {
-  content: "\f529";
-}
-i.icon.dizzy:before {
-  content: "\f567";
-}
-i.icon.dna:before {
-  content: "\f471";
-}
-i.icon.dog:before {
-  content: "\f6d3";
-}
-i.icon.dollar.sign:before {
-  content: "\f155";
-}
-i.icon.dolly:before {
-  content: "\f472";
-}
-i.icon.dolly.flatbed:before {
-  content: "\f474";
-}
-i.icon.donate:before {
-  content: "\f4b9";
-}
-i.icon.door.closed:before {
-  content: "\f52a";
-}
-i.icon.door.open:before {
-  content: "\f52b";
-}
-i.icon.dot.circle:before {
-  content: "\f192";
-}
-i.icon.dove:before {
-  content: "\f4ba";
-}
-i.icon.download:before {
-  content: "\f019";
-}
-i.icon.drafting.compass:before {
-  content: "\f568";
-}
-i.icon.dragon:before {
-  content: "\f6d5";
-}
-i.icon.draw.polygon:before {
-  content: "\f5ee";
-}
-i.icon.drum:before {
-  content: "\f569";
-}
-i.icon.drum.steelpan:before {
-  content: "\f56a";
-}
-i.icon.drumstick.bite:before {
-  content: "\f6d7";
-}
-i.icon.dumbbell:before {
-  content: "\f44b";
-}
-i.icon.dumpster:before {
-  content: "\f793";
-}
-i.icon.dumpster.fire:before {
-  content: "\f794";
-}
-i.icon.dungeon:before {
-  content: "\f6d9";
-}
-i.icon.edit:before {
-  content: "\f044";
-}
-i.icon.egg:before {
-  content: "\f7fb";
-}
-i.icon.eject:before {
-  content: "\f052";
-}
-i.icon.ellipsis.horizontal:before {
-  content: "\f141";
-}
-i.icon.ellipsis.vertical:before {
-  content: "\f142";
-}
-i.icon.envelope:before {
-  content: "\f0e0";
-}
-i.icon.envelope.open:before {
-  content: "\f2b6";
-}
-i.icon.envelope.open.text:before {
-  content: "\f658";
-}
-i.icon.envelope.square:before {
-  content: "\f199";
-}
-i.icon.equals:before {
-  content: "\f52c";
-}
-i.icon.eraser:before {
-  content: "\f12d";
-}
-i.icon.ethernet:before {
-  content: "\f796";
-}
-i.icon.euro.sign:before {
-  content: "\f153";
-}
-i.icon.exchange.alternate:before {
-  content: "\f362";
-}
-i.icon.exclamation:before {
-  content: "\f12a";
-}
-i.icon.exclamation.circle:before {
-  content: "\f06a";
-}
-i.icon.exclamation.triangle:before {
-  content: "\f071";
-}
-i.icon.expand:before {
-  content: "\f065";
-}
-i.icon.expand.arrows.alternate:before {
-  content: "\f31e";
-}
-i.icon.external.alternate:before {
-  content: "\f35d";
-}
-i.icon.external.link.square.alternate:before {
-  content: "\f360";
-}
-i.icon.eye:before {
-  content: "\f06e";
-}
-i.icon.eye.dropper:before {
-  content: "\f1fb";
-}
-i.icon.eye.slash:before {
-  content: "\f070";
-}
-i.icon.fan:before {
-  content: "\f863";
-}
-i.icon.fast.backward:before {
-  content: "\f049";
-}
-i.icon.fast.forward:before {
-  content: "\f050";
-}
-i.icon.fax:before {
-  content: "\f1ac";
-}
-i.icon.feather:before {
-  content: "\f52d";
-}
-i.icon.feather.alternate:before {
-  content: "\f56b";
-}
-i.icon.female:before {
-  content: "\f182";
-}
-i.icon.fighter.jet:before {
-  content: "\f0fb";
-}
-i.icon.file:before {
-  content: "\f15b";
-}
-i.icon.file.alternate:before {
-  content: "\f15c";
-}
-i.icon.file.archive:before {
-  content: "\f1c6";
-}
-i.icon.file.audio:before {
-  content: "\f1c7";
-}
-i.icon.file.code:before {
-  content: "\f1c9";
-}
-i.icon.file.contract:before {
-  content: "\f56c";
-}
-i.icon.file.csv:before {
-  content: "\f6dd";
-}
-i.icon.file.download:before {
-  content: "\f56d";
-}
-i.icon.file.excel:before {
-  content: "\f1c3";
-}
-i.icon.file.export:before {
-  content: "\f56e";
-}
-i.icon.file.image:before {
-  content: "\f1c5";
-}
-i.icon.file.import:before {
-  content: "\f56f";
-}
-i.icon.file.invoice:before {
-  content: "\f570";
-}
-i.icon.file.invoice.dollar:before {
-  content: "\f571";
-}
-i.icon.file.medical:before {
-  content: "\f477";
-}
-i.icon.file.medical.alternate:before {
-  content: "\f478";
-}
-i.icon.file.pdf:before {
-  content: "\f1c1";
-}
-i.icon.file.powerpoint:before {
-  content: "\f1c4";
-}
-i.icon.file.prescription:before {
-  content: "\f572";
-}
-i.icon.file.signature:before {
-  content: "\f573";
-}
-i.icon.file.upload:before {
-  content: "\f574";
-}
-i.icon.file.video:before {
-  content: "\f1c8";
-}
-i.icon.file.word:before {
-  content: "\f1c2";
-}
-i.icon.fill:before {
-  content: "\f575";
-}
-i.icon.fill.drip:before {
-  content: "\f576";
-}
-i.icon.film:before {
-  content: "\f008";
-}
-i.icon.filter:before {
-  content: "\f0b0";
-}
-i.icon.fingerprint:before {
-  content: "\f577";
-}
-i.icon.fire:before {
-  content: "\f06d";
-}
-i.icon.fire.alternate:before {
-  content: "\f7e4";
-}
-i.icon.fire.extinguisher:before {
-  content: "\f134";
-}
-i.icon.first.aid:before {
-  content: "\f479";
-}
-i.icon.fish:before {
-  content: "\f578";
-}
-i.icon.fist.raised:before {
-  content: "\f6de";
-}
-i.icon.flag:before {
-  content: "\f024";
-}
-i.icon.flag.checkered:before {
-  content: "\f11e";
-}
-i.icon.flag.usa:before {
-  content: "\f74d";
-}
-i.icon.flask:before {
-  content: "\f0c3";
-}
-i.icon.flushed:before {
-  content: "\f579";
-}
-i.icon.folder:before {
-  content: "\f07b";
-}
-i.icon.folder.minus:before {
-  content: "\f65d";
-}
-i.icon.folder.open:before {
-  content: "\f07c";
-}
-i.icon.folder.plus:before {
-  content: "\f65e";
-}
-i.icon.font:before {
-  content: "\f031";
-}
-i.icon.football.ball:before {
-  content: "\f44e";
-}
-i.icon.forward:before {
-  content: "\f04e";
-}
-i.icon.frog:before {
-  content: "\f52e";
-}
-i.icon.frown:before {
-  content: "\f119";
-}
-i.icon.frown.open:before {
-  content: "\f57a";
-}
-i.icon.fruit-apple:before {
-  content: "\f5d1";
-}
-i.icon.funnel.dollar:before {
-  content: "\f662";
-}
-i.icon.futbol:before {
-  content: "\f1e3";
-}
-i.icon.gamepad:before {
-  content: "\f11b";
-}
-i.icon.gas.pump:before {
-  content: "\f52f";
-}
-i.icon.gavel:before {
-  content: "\f0e3";
-}
-i.icon.gem:before {
-  content: "\f3a5";
-}
-i.icon.genderless:before {
-  content: "\f22d";
-}
-i.icon.ghost:before {
-  content: "\f6e2";
-}
-i.icon.gift:before {
-  content: "\f06b";
-}
-i.icon.gifts:before {
-  content: "\f79c";
-}
-i.icon.glass.cheers:before {
-  content: "\f79f";
-}
-i.icon.glass.martini:before {
-  content: "\f000";
-}
-i.icon.glass.martini.alternate:before {
-  content: "\f57b";
-}
-i.icon.glass.whiskey:before {
-  content: "\f7a0";
-}
-i.icon.glasses:before {
-  content: "\f530";
-}
-i.icon.globe:before {
-  content: "\f0ac";
-}
-i.icon.globe.africa:before {
-  content: "\f57c";
-}
-i.icon.globe.americas:before {
-  content: "\f57d";
-}
-i.icon.globe.asia:before {
-  content: "\f57e";
-}
-i.icon.globe.europe:before {
-  content: "\f7a2";
-}
-i.icon.golf.ball:before {
-  content: "\f450";
-}
-i.icon.gopuram:before {
-  content: "\f664";
-}
-i.icon.graduation.cap:before {
-  content: "\f19d";
-}
-i.icon.greater.than:before {
-  content: "\f531";
-}
-i.icon.greater.than.equal:before {
-  content: "\f532";
-}
-i.icon.grimace:before {
-  content: "\f57f";
-}
-i.icon.grin:before {
-  content: "\f580";
-}
-i.icon.grin.alternate:before {
-  content: "\f581";
-}
-i.icon.grin.beam:before {
-  content: "\f582";
-}
-i.icon.grin.beam.sweat:before {
-  content: "\f583";
-}
-i.icon.grin.hearts:before {
-  content: "\f584";
-}
-i.icon.grin.squint:before {
-  content: "\f585";
-}
-i.icon.grin.squint.tears:before {
-  content: "\f586";
-}
-i.icon.grin.stars:before {
-  content: "\f587";
-}
-i.icon.grin.tears:before {
-  content: "\f588";
-}
-i.icon.grin.tongue:before {
-  content: "\f589";
-}
-i.icon.grin.tongue.squint:before {
-  content: "\f58a";
-}
-i.icon.grin.tongue.wink:before {
-  content: "\f58b";
-}
-i.icon.grin.wink:before {
-  content: "\f58c";
-}
-i.icon.grip.horizontal:before {
-  content: "\f58d";
-}
-i.icon.grip.lines:before {
-  content: "\f7a4";
-}
-i.icon.grip.lines.vertical:before {
-  content: "\f7a5";
-}
-i.icon.grip.vertical:before {
-  content: "\f58e";
-}
-i.icon.guitar:before {
-  content: "\f7a6";
-}
-i.icon.h.square:before {
-  content: "\f0fd";
-}
-i.icon.hamburger:before {
-  content: "\f805";
-}
-i.icon.hammer:before {
-  content: "\f6e3";
-}
-i.icon.hamsa:before {
-  content: "\f665";
-}
-i.icon.hand.holding:before {
-  content: "\f4bd";
-}
-i.icon.hand.holding.heart:before {
-  content: "\f4be";
-}
-i.icon.hand.holding.usd:before {
-  content: "\f4c0";
-}
-i.icon.hand.lizard:before {
-  content: "\f258";
-}
-i.icon.hand.middle.finger:before {
-  content: "\f806";
-}
-i.icon.hand.paper:before {
-  content: "\f256";
-}
-i.icon.hand.peace:before {
-  content: "\f25b";
-}
-i.icon.hand.point.down:before {
-  content: "\f0a7";
-}
-i.icon.hand.point.left:before {
-  content: "\f0a5";
-}
-i.icon.hand.point.right:before {
-  content: "\f0a4";
-}
-i.icon.hand.point.up:before {
-  content: "\f0a6";
-}
-i.icon.hand.pointer:before {
-  content: "\f25a";
-}
-i.icon.hand.rock:before {
-  content: "\f255";
-}
-i.icon.hand.scissors:before {
-  content: "\f257";
-}
-i.icon.hand.spock:before {
-  content: "\f259";
-}
-i.icon.hands:before {
-  content: "\f4c2";
-}
-i.icon.hands.helping:before {
-  content: "\f4c4";
-}
-i.icon.handshake:before {
-  content: "\f2b5";
-}
-i.icon.hanukiah:before {
-  content: "\f6e6";
-}
-i.icon.hard.hat:before {
-  content: "\f807";
-}
-i.icon.hashtag:before {
-  content: "\f292";
-}
-i.icon.hat.wizard:before {
-  content: "\f6e8";
-}
-i.icon.haykal:before {
-  content: "\f666";
-}
-i.icon.hdd:before {
-  content: "\f0a0";
-}
-i.icon.heading:before {
-  content: "\f1dc";
-}
-i.icon.headphones:before {
-  content: "\f025";
-}
-i.icon.headphones.alternate:before {
-  content: "\f58f";
-}
-i.icon.headset:before {
-  content: "\f590";
-}
-i.icon.heart:before {
-  content: "\f004";
-}
-i.icon.heart.broken:before {
-  content: "\f7a9";
-}
-i.icon.heartbeat:before {
-  content: "\f21e";
-}
-i.icon.helicopter:before {
-  content: "\f533";
-}
-i.icon.highlighter:before {
-  content: "\f591";
-}
-i.icon.hiking:before {
-  content: "\f6ec";
-}
-i.icon.hippo:before {
-  content: "\f6ed";
-}
-i.icon.history:before {
-  content: "\f1da";
-}
-i.icon.hockey.puck:before {
-  content: "\f453";
-}
-i.icon.holly.berry:before {
-  content: "\f7aa";
-}
-i.icon.home:before {
-  content: "\f015";
-}
-i.icon.horse:before {
-  content: "\f6f0";
-}
-i.icon.horse.head:before {
-  content: "\f7ab";
-}
-i.icon.hospital:before {
-  content: "\f0f8";
-}
-i.icon.hospital.alternate:before {
-  content: "\f47d";
-}
-i.icon.hospital.symbol:before {
-  content: "\f47e";
-}
-i.icon.hot.tub:before {
-  content: "\f593";
-}
-i.icon.hotdog:before {
-  content: "\f80f";
-}
-i.icon.hotel:before {
-  content: "\f594";
-}
-i.icon.hourglass:before {
-  content: "\f254";
-}
-i.icon.hourglass.end:before {
-  content: "\f253";
-}
-i.icon.hourglass.half:before {
-  content: "\f252";
-}
-i.icon.hourglass.start:before {
-  content: "\f251";
-}
-i.icon.house.damage:before {
-  content: "\f6f1";
-}
-i.icon.hryvnia:before {
-  content: "\f6f2";
-}
-i.icon.i.cursor:before {
-  content: "\f246";
-}
-i.icon.ice.cream:before {
-  content: "\f810";
-}
-i.icon.icicles:before {
-  content: "\f7ad";
-}
-i.icon.icons:before {
-  content: "\f86d";
-}
-i.icon.id.badge:before {
-  content: "\f2c1";
-}
-i.icon.id.card:before {
-  content: "\f2c2";
-}
-i.icon.id.card.alternate:before {
-  content: "\f47f";
-}
-i.icon.igloo:before {
-  content: "\f7ae";
-}
-i.icon.image:before {
-  content: "\f03e";
-}
-i.icon.images:before {
-  content: "\f302";
-}
-i.icon.inbox:before {
-  content: "\f01c";
-}
-i.icon.indent:before {
-  content: "\f03c";
-}
-i.icon.industry:before {
-  content: "\f275";
-}
-i.icon.infinity:before {
-  content: "\f534";
-}
-i.icon.info:before {
-  content: "\f129";
-}
-i.icon.info.circle:before {
-  content: "\f05a";
-}
-i.icon.italic:before {
-  content: "\f033";
-}
-i.icon.jedi:before {
-  content: "\f669";
-}
-i.icon.joint:before {
-  content: "\f595";
-}
-i.icon.journal.whills:before {
-  content: "\f66a";
-}
-i.icon.kaaba:before {
-  content: "\f66b";
-}
-i.icon.key:before {
-  content: "\f084";
-}
-i.icon.keyboard:before {
-  content: "\f11c";
-}
-i.icon.khanda:before {
-  content: "\f66d";
-}
-i.icon.kiss:before {
-  content: "\f596";
-}
-i.icon.kiss.beam:before {
-  content: "\f597";
-}
-i.icon.kiss.wink.heart:before {
-  content: "\f598";
-}
-i.icon.kiwi.bird:before {
-  content: "\f535";
-}
-i.icon.landmark:before {
-  content: "\f66f";
-}
-i.icon.language:before {
-  content: "\f1ab";
-}
-i.icon.laptop:before {
-  content: "\f109";
-}
-i.icon.laptop.code:before {
-  content: "\f5fc";
-}
-i.icon.laptop.medical:before {
-  content: "\f812";
-}
-i.icon.laugh:before {
-  content: "\f599";
-}
-i.icon.laugh.beam:before {
-  content: "\f59a";
-}
-i.icon.laugh.squint:before {
-  content: "\f59b";
-}
-i.icon.laugh.wink:before {
-  content: "\f59c";
-}
-i.icon.layer.group:before {
-  content: "\f5fd";
-}
-i.icon.leaf:before {
-  content: "\f06c";
-}
-i.icon.lemon:before {
-  content: "\f094";
-}
-i.icon.less.than:before {
-  content: "\f536";
-}
-i.icon.less.than.equal:before {
-  content: "\f537";
-}
-i.icon.level.down.alternate:before {
-  content: "\f3be";
-}
-i.icon.level.up.alternate:before {
-  content: "\f3bf";
-}
-i.icon.life.ring:before {
-  content: "\f1cd";
-}
-i.icon.lightbulb:before {
-  content: "\f0eb";
-}
-i.icon.linkify:before {
-  content: "\f0c1";
-}
-i.icon.lira.sign:before {
-  content: "\f195";
-}
-i.icon.list:before {
-  content: "\f03a";
-}
-i.icon.list.alternate:before {
-  content: "\f022";
-}
-i.icon.list.ol:before {
-  content: "\f0cb";
-}
-i.icon.list.ul:before {
-  content: "\f0ca";
-}
-i.icon.location.arrow:before {
-  content: "\f124";
-}
-i.icon.lock:before {
-  content: "\f023";
-}
-i.icon.lock.open:before {
-  content: "\f3c1";
-}
-i.icon.long.arrow.alternate.down:before {
-  content: "\f309";
-}
-i.icon.long.arrow.alternate.left:before {
-  content: "\f30a";
-}
-i.icon.long.arrow.alternate.right:before {
-  content: "\f30b";
-}
-i.icon.long.arrow.alternate.up:before {
-  content: "\f30c";
-}
-i.icon.low.vision:before {
-  content: "\f2a8";
-}
-i.icon.luggage.cart:before {
-  content: "\f59d";
-}
-i.icon.magic:before {
-  content: "\f0d0";
-}
-i.icon.magnet:before {
-  content: "\f076";
-}
-i.icon.mail.bulk:before {
-  content: "\f674";
-}
-i.icon.male:before {
-  content: "\f183";
-}
-i.icon.map:before {
-  content: "\f279";
-}
-i.icon.map.marked:before {
-  content: "\f59f";
-}
-i.icon.map.marked.alternate:before {
-  content: "\f5a0";
-}
-i.icon.map.marker:before {
-  content: "\f041";
-}
-i.icon.map.marker.alternate:before {
-  content: "\f3c5";
-}
-i.icon.map.pin:before {
-  content: "\f276";
-}
-i.icon.map.signs:before {
-  content: "\f277";
-}
-i.icon.marker:before {
-  content: "\f5a1";
-}
-i.icon.mars:before {
-  content: "\f222";
-}
-i.icon.mars.double:before {
-  content: "\f227";
-}
-i.icon.mars.stroke:before {
-  content: "\f229";
-}
-i.icon.mars.stroke.horizontal:before {
-  content: "\f22b";
-}
-i.icon.mars.stroke.vertical:before {
-  content: "\f22a";
-}
-i.icon.mask:before {
-  content: "\f6fa";
-}
-i.icon.medal:before {
-  content: "\f5a2";
-}
-i.icon.medkit:before {
-  content: "\f0fa";
-}
-i.icon.meh:before {
-  content: "\f11a";
-}
-i.icon.meh.blank:before {
-  content: "\f5a4";
-}
-i.icon.meh.rolling.eyes:before {
-  content: "\f5a5";
-}
-i.icon.memory:before {
-  content: "\f538";
-}
-i.icon.menorah:before {
-  content: "\f676";
-}
-i.icon.mercury:before {
-  content: "\f223";
-}
-i.icon.meteor:before {
-  content: "\f753";
-}
-i.icon.microchip:before {
-  content: "\f2db";
-}
-i.icon.microphone:before {
-  content: "\f130";
-}
-i.icon.microphone.alternate:before {
-  content: "\f3c9";
-}
-i.icon.microphone.alternate.slash:before {
-  content: "\f539";
-}
-i.icon.microphone.slash:before {
-  content: "\f131";
-}
-i.icon.microscope:before {
-  content: "\f610";
-}
-i.icon.minus:before {
-  content: "\f068";
-}
-i.icon.minus.circle:before {
-  content: "\f056";
-}
-i.icon.minus.square:before {
-  content: "\f146";
-}
-i.icon.mitten:before {
-  content: "\f7b5";
-}
-i.icon.mobile:before {
-  content: "\f10b";
-}
-i.icon.mobile.alternate:before {
-  content: "\f3cd";
-}
-i.icon.money.bill:before {
-  content: "\f0d6";
-}
-i.icon.money.bill.alternate:before {
-  content: "\f3d1";
-}
-i.icon.money.bill.wave:before {
-  content: "\f53a";
-}
-i.icon.money.bill.wave.alternate:before {
-  content: "\f53b";
-}
-i.icon.money.check:before {
-  content: "\f53c";
-}
-i.icon.money.check.alternate:before {
-  content: "\f53d";
-}
-i.icon.monument:before {
-  content: "\f5a6";
-}
-i.icon.moon:before {
-  content: "\f186";
-}
-i.icon.mortar.pestle:before {
-  content: "\f5a7";
-}
-i.icon.mosque:before {
-  content: "\f678";
-}
-i.icon.motorcycle:before {
-  content: "\f21c";
-}
-i.icon.mountain:before {
-  content: "\f6fc";
-}
-i.icon.mouse.pointer:before {
-  content: "\f245";
-}
-i.icon.mug.hot:before {
-  content: "\f7b6";
-}
-i.icon.music:before {
-  content: "\f001";
-}
-i.icon.network.wired:before {
-  content: "\f6ff";
-}
-i.icon.neuter:before {
-  content: "\f22c";
-}
-i.icon.newspaper:before {
-  content: "\f1ea";
-}
-i.icon.not.equal:before {
-  content: "\f53e";
-}
-i.icon.notes.medical:before {
-  content: "\f481";
-}
-i.icon.object.group:before {
-  content: "\f247";
-}
-i.icon.object.ungroup:before {
-  content: "\f248";
-}
-i.icon.oil.can:before {
-  content: "\f613";
-}
-i.icon.om:before {
-  content: "\f679";
-}
-i.icon.otter:before {
-  content: "\f700";
-}
-i.icon.outdent:before {
-  content: "\f03b";
-}
-i.icon.pager:before {
-  content: "\f815";
-}
-i.icon.paint.brush:before {
-  content: "\f1fc";
-}
-i.icon.paint.roller:before {
-  content: "\f5aa";
-}
-i.icon.palette:before {
-  content: "\f53f";
-}
-i.icon.pallet:before {
-  content: "\f482";
-}
-i.icon.paper.plane:before {
-  content: "\f1d8";
-}
-i.icon.paperclip:before {
-  content: "\f0c6";
-}
-i.icon.parachute.box:before {
-  content: "\f4cd";
-}
-i.icon.paragraph:before {
-  content: "\f1dd";
-}
-i.icon.parking:before {
-  content: "\f540";
-}
-i.icon.passport:before {
-  content: "\f5ab";
-}
-i.icon.pastafarianism:before {
-  content: "\f67b";
-}
-i.icon.paste:before {
-  content: "\f0ea";
-}
-i.icon.pause:before {
-  content: "\f04c";
-}
-i.icon.pause.circle:before {
-  content: "\f28b";
-}
-i.icon.paw:before {
-  content: "\f1b0";
-}
-i.icon.peace:before {
-  content: "\f67c";
-}
-i.icon.pen:before {
-  content: "\f304";
-}
-i.icon.pen.alternate:before {
-  content: "\f305";
-}
-i.icon.pen.fancy:before {
-  content: "\f5ac";
-}
-i.icon.pen.nib:before {
-  content: "\f5ad";
-}
-i.icon.pen.square:before {
-  content: "\f14b";
-}
-i.icon.pencil.alternate:before {
-  content: "\f303";
-}
-i.icon.pencil.ruler:before {
-  content: "\f5ae";
-}
-i.icon.people.carry:before {
-  content: "\f4ce";
-}
-i.icon.pepper.hot:before {
-  content: "\f816";
-}
-i.icon.percent:before {
-  content: "\f295";
-}
-i.icon.percentage:before {
-  content: "\f541";
-}
-i.icon.person.booth:before {
-  content: "\f756";
-}
-i.icon.phone:before {
-  content: "\f095";
-}
-i.icon.phone.alternate:before {
-  content: "\f879";
-}
-i.icon.phone.slash:before {
-  content: "\f3dd";
-}
-i.icon.phone.square:before {
-  content: "\f098";
-}
-i.icon.phone.square.alternate:before {
-  content: "\f87b";
-}
-i.icon.phone.volume:before {
-  content: "\f2a0";
-}
-i.icon.photo.video:before {
-  content: "\f87c";
-}
-i.icon.piggy.bank:before {
-  content: "\f4d3";
-}
-i.icon.pills:before {
-  content: "\f484";
-}
-i.icon.pizza.slice:before {
-  content: "\f818";
-}
-i.icon.place.of.worship:before {
-  content: "\f67f";
-}
-i.icon.plane:before {
-  content: "\f072";
-}
-i.icon.plane.arrival:before {
-  content: "\f5af";
-}
-i.icon.plane.departure:before {
-  content: "\f5b0";
-}
-i.icon.play:before {
-  content: "\f04b";
-}
-i.icon.play.circle:before {
-  content: "\f144";
-}
-i.icon.plug:before {
-  content: "\f1e6";
-}
-i.icon.plus:before {
-  content: "\f067";
-}
-i.icon.plus.circle:before {
-  content: "\f055";
-}
-i.icon.plus.square:before {
-  content: "\f0fe";
-}
-i.icon.podcast:before {
-  content: "\f2ce";
-}
-i.icon.poll:before {
-  content: "\f681";
-}
-i.icon.poll.horizontal:before {
-  content: "\f682";
-}
-i.icon.poo:before {
-  content: "\f2fe";
-}
-i.icon.poo.storm:before {
-  content: "\f75a";
-}
-i.icon.poop:before {
-  content: "\f619";
-}
-i.icon.portrait:before {
-  content: "\f3e0";
-}
-i.icon.pound.sign:before {
-  content: "\f154";
-}
-i.icon.power.off:before {
-  content: "\f011";
-}
-i.icon.pray:before {
-  content: "\f683";
-}
-i.icon.praying.hands:before {
-  content: "\f684";
-}
-i.icon.prescription:before {
-  content: "\f5b1";
-}
-i.icon.prescription.bottle:before {
-  content: "\f485";
-}
-i.icon.prescription.bottle.alternate:before {
-  content: "\f486";
-}
-i.icon.print:before {
-  content: "\f02f";
-}
-i.icon.procedures:before {
-  content: "\f487";
-}
-i.icon.project.diagram:before {
-  content: "\f542";
-}
-i.icon.puzzle.piece:before {
-  content: "\f12e";
-}
-i.icon.qrcode:before {
-  content: "\f029";
-}
-i.icon.question:before {
-  content: "\f128";
-}
-i.icon.question.circle:before {
-  content: "\f059";
-}
-i.icon.quidditch:before {
-  content: "\f458";
-}
-i.icon.quote.left:before {
-  content: "\f10d";
-}
-i.icon.quote.right:before {
-  content: "\f10e";
-}
-i.icon.quran:before {
-  content: "\f687";
-}
-i.icon.radiation:before {
-  content: "\f7b9";
-}
-i.icon.radiation.alternate:before {
-  content: "\f7ba";
-}
-i.icon.rainbow:before {
-  content: "\f75b";
-}
-i.icon.random:before {
-  content: "\f074";
-}
-i.icon.receipt:before {
-  content: "\f543";
-}
-i.icon.recycle:before {
-  content: "\f1b8";
-}
-i.icon.redo:before {
-  content: "\f01e";
-}
-i.icon.redo.alternate:before {
-  content: "\f2f9";
-}
-i.icon.registered:before {
-  content: "\f25d";
-}
-i.icon.remove.format:before {
-  content: "\f87d";
-}
-i.icon.reply:before {
-  content: "\f3e5";
-}
-i.icon.reply.all:before {
-  content: "\f122";
-}
-i.icon.republican:before {
-  content: "\f75e";
-}
-i.icon.restroom:before {
-  content: "\f7bd";
-}
-i.icon.retweet:before {
-  content: "\f079";
-}
-i.icon.ribbon:before {
-  content: "\f4d6";
-}
-i.icon.ring:before {
-  content: "\f70b";
-}
-i.icon.road:before {
-  content: "\f018";
-}
-i.icon.robot:before {
-  content: "\f544";
-}
-i.icon.rocket:before {
-  content: "\f135";
-}
-i.icon.route:before {
-  content: "\f4d7";
-}
-i.icon.rss:before {
-  content: "\f09e";
-}
-i.icon.rss.square:before {
-  content: "\f143";
-}
-i.icon.ruble.sign:before {
-  content: "\f158";
-}
-i.icon.ruler:before {
-  content: "\f545";
-}
-i.icon.ruler.combined:before {
-  content: "\f546";
-}
-i.icon.ruler.horizontal:before {
-  content: "\f547";
-}
-i.icon.ruler.vertical:before {
-  content: "\f548";
-}
-i.icon.running:before {
-  content: "\f70c";
-}
-i.icon.rupee.sign:before {
-  content: "\f156";
-}
-i.icon.sad.cry:before {
-  content: "\f5b3";
-}
-i.icon.sad.tear:before {
-  content: "\f5b4";
-}
-i.icon.satellite:before {
-  content: "\f7bf";
-}
-i.icon.satellite.dish:before {
-  content: "\f7c0";
-}
-i.icon.save:before {
-  content: "\f0c7";
-}
-i.icon.school:before {
-  content: "\f549";
-}
-i.icon.screwdriver:before {
-  content: "\f54a";
-}
-i.icon.scroll:before {
-  content: "\f70e";
-}
-i.icon.sd.card:before {
-  content: "\f7c2";
-}
-i.icon.search:before {
-  content: "\f002";
-}
-i.icon.search.dollar:before {
-  content: "\f688";
-}
-i.icon.search.location:before {
-  content: "\f689";
-}
-i.icon.search.minus:before {
-  content: "\f010";
-}
-i.icon.search.plus:before {
-  content: "\f00e";
-}
-i.icon.seedling:before {
-  content: "\f4d8";
-}
-i.icon.server:before {
-  content: "\f233";
-}
-i.icon.shapes:before {
-  content: "\f61f";
-}
-i.icon.share:before {
-  content: "\f064";
-}
-i.icon.share.alternate:before {
-  content: "\f1e0";
-}
-i.icon.share.alternate.square:before {
-  content: "\f1e1";
-}
-i.icon.share.square:before {
-  content: "\f14d";
-}
-i.icon.shekel.sign:before {
-  content: "\f20b";
-}
-i.icon.shield.alternate:before {
-  content: "\f3ed";
-}
-i.icon.ship:before {
-  content: "\f21a";
-}
-i.icon.shipping.fast:before {
-  content: "\f48b";
-}
-i.icon.shoe.prints:before {
-  content: "\f54b";
-}
-i.icon.shopping.bag:before {
-  content: "\f290";
-}
-i.icon.shopping.basket:before {
-  content: "\f291";
-}
-i.icon.shopping.cart:before {
-  content: "\f07a";
-}
-i.icon.shower:before {
-  content: "\f2cc";
-}
-i.icon.shuttle.van:before {
-  content: "\f5b6";
-}
-i.icon.sign:before {
-  content: "\f4d9";
-}
-i.icon.sign.in.alternate:before {
-  content: "\f2f6";
-}
-i.icon.sign.language:before {
-  content: "\f2a7";
-}
-i.icon.sign.out.alternate:before {
-  content: "\f2f5";
-}
-i.icon.signal:before {
-  content: "\f012";
-}
-i.icon.signature:before {
-  content: "\f5b7";
-}
-i.icon.sim.card:before {
-  content: "\f7c4";
-}
-i.icon.sitemap:before {
-  content: "\f0e8";
-}
-i.icon.skating:before {
-  content: "\f7c5";
-}
-i.icon.skiing:before {
-  content: "\f7c9";
-}
-i.icon.skiing.nordic:before {
-  content: "\f7ca";
-}
-i.icon.skull:before {
-  content: "\f54c";
-}
-i.icon.skull.crossbones:before {
-  content: "\f714";
-}
-i.icon.slash:before {
-  content: "\f715";
-}
-i.icon.sleigh:before {
-  content: "\f7cc";
-}
-i.icon.sliders.horizontal:before {
-  content: "\f1de";
-}
-i.icon.smile:before {
-  content: "\f118";
-}
-i.icon.smile.beam:before {
-  content: "\f5b8";
-}
-i.icon.smile.wink:before {
-  content: "\f4da";
-}
-i.icon.smog:before {
-  content: "\f75f";
-}
-i.icon.smoking:before {
-  content: "\f48d";
-}
-i.icon.smoking.ban:before {
-  content: "\f54d";
-}
-i.icon.sms:before {
-  content: "\f7cd";
-}
-i.icon.snowboarding:before {
-  content: "\f7ce";
-}
-i.icon.snowflake:before {
-  content: "\f2dc";
-}
-i.icon.snowman:before {
-  content: "\f7d0";
-}
-i.icon.snowplow:before {
-  content: "\f7d2";
-}
-i.icon.socks:before {
-  content: "\f696";
-}
-i.icon.solar.panel:before {
-  content: "\f5ba";
-}
-i.icon.sort:before {
-  content: "\f0dc";
-}
-i.icon.sort.alphabet.down:before {
-  content: "\f15d";
-}
-i.icon.sort.alphabet.down.alternate:before {
-  content: "\f881";
-}
-i.icon.sort.alphabet.up:before {
-  content: "\f15e";
-}
-i.icon.sort.alphabet.up.alternate:before {
-  content: "\f882";
-}
-i.icon.sort.amount.down:before {
-  content: "\f160";
-}
-i.icon.sort.amount.down.alternate:before {
-  content: "\f884";
-}
-i.icon.sort.amount.up:before {
-  content: "\f161";
-}
-i.icon.sort.amount.up.alternate:before {
-  content: "\f885";
-}
-i.icon.sort.down:before {
-  content: "\f0dd";
-}
-i.icon.sort.numeric.down:before {
-  content: "\f162";
-}
-i.icon.sort.numeric.down.alternate:before {
-  content: "\f886";
-}
-i.icon.sort.numeric.up:before {
-  content: "\f163";
-}
-i.icon.sort.numeric.up.alternate:before {
-  content: "\f887";
-}
-i.icon.sort.up:before {
-  content: "\f0de";
-}
-i.icon.spa:before {
-  content: "\f5bb";
-}
-i.icon.space.shuttle:before {
-  content: "\f197";
-}
-i.icon.spell.check:before {
-  content: "\f891";
-}
-i.icon.spider:before {
-  content: "\f717";
-}
-i.icon.spinner:before {
-  content: "\f110";
-}
-i.icon.splotch:before {
-  content: "\f5bc";
-}
-i.icon.spray.can:before {
-  content: "\f5bd";
-}
-i.icon.square:before {
-  content: "\f0c8";
-}
-i.icon.square.full:before {
-  content: "\f45c";
-}
-i.icon.square.root.alternate:before {
-  content: "\f698";
-}
-i.icon.stamp:before {
-  content: "\f5bf";
-}
-i.icon.star:before {
-  content: "\f005";
-}
-i.icon.star.and.crescent:before {
-  content: "\f699";
-}
-i.icon.star.half:before {
-  content: "\f089";
-}
-i.icon.star.half.alternate:before {
-  content: "\f5c0";
-}
-i.icon.star.of.david:before {
-  content: "\f69a";
-}
-i.icon.star.of.life:before {
-  content: "\f621";
-}
-i.icon.step.backward:before {
-  content: "\f048";
-}
-i.icon.step.forward:before {
-  content: "\f051";
-}
-i.icon.stethoscope:before {
-  content: "\f0f1";
-}
-i.icon.sticky.note:before {
-  content: "\f249";
-}
-i.icon.stop:before {
-  content: "\f04d";
-}
-i.icon.stop.circle:before {
-  content: "\f28d";
-}
-i.icon.stopwatch:before {
-  content: "\f2f2";
-}
-i.icon.store:before {
-  content: "\f54e";
-}
-i.icon.store.alternate:before {
-  content: "\f54f";
-}
-i.icon.stream:before {
-  content: "\f550";
-}
-i.icon.street.view:before {
-  content: "\f21d";
-}
-i.icon.strikethrough:before {
-  content: "\f0cc";
-}
-i.icon.stroopwafel:before {
-  content: "\f551";
-}
-i.icon.subscript:before {
-  content: "\f12c";
-}
-i.icon.subway:before {
-  content: "\f239";
-}
-i.icon.suitcase:before {
-  content: "\f0f2";
-}
-i.icon.suitcase.rolling:before {
-  content: "\f5c1";
-}
-i.icon.sun:before {
-  content: "\f185";
-}
-i.icon.superscript:before {
-  content: "\f12b";
-}
-i.icon.surprise:before {
-  content: "\f5c2";
-}
-i.icon.swatchbook:before {
-  content: "\f5c3";
-}
-i.icon.swimmer:before {
-  content: "\f5c4";
-}
-i.icon.swimming.pool:before {
-  content: "\f5c5";
-}
-i.icon.synagogue:before {
-  content: "\f69b";
-}
-i.icon.sync:before {
-  content: "\f021";
-}
-i.icon.sync.alternate:before {
-  content: "\f2f1";
-}
-i.icon.syringe:before {
-  content: "\f48e";
-}
-i.icon.table:before {
-  content: "\f0ce";
-}
-i.icon.table.tennis:before {
-  content: "\f45d";
-}
-i.icon.tablet:before {
-  content: "\f10a";
-}
-i.icon.tablet.alternate:before {
-  content: "\f3fa";
-}
-i.icon.tablets:before {
-  content: "\f490";
-}
-i.icon.tachometer.alternate:before {
-  content: "\f3fd";
-}
-i.icon.tag:before {
-  content: "\f02b";
-}
-i.icon.tags:before {
-  content: "\f02c";
-}
-i.icon.tape:before {
-  content: "\f4db";
-}
-i.icon.tasks:before {
-  content: "\f0ae";
-}
-i.icon.taxi:before {
-  content: "\f1ba";
-}
-i.icon.teeth:before {
-  content: "\f62e";
-}
-i.icon.teeth.open:before {
-  content: "\f62f";
-}
-i.icon.temperature.high:before {
-  content: "\f769";
-}
-i.icon.temperature.low:before {
-  content: "\f76b";
-}
-i.icon.tenge:before {
-  content: "\f7d7";
-}
-i.icon.terminal:before {
-  content: "\f120";
-}
-i.icon.text.height:before {
-  content: "\f034";
-}
-i.icon.text.width:before {
-  content: "\f035";
-}
-i.icon.th:before {
-  content: "\f00a";
-}
-i.icon.th.large:before {
-  content: "\f009";
-}
-i.icon.th.list:before {
-  content: "\f00b";
-}
-i.icon.theater.masks:before {
-  content: "\f630";
-}
-i.icon.thermometer:before {
-  content: "\f491";
-}
-i.icon.thermometer.empty:before {
-  content: "\f2cb";
-}
-i.icon.thermometer.full:before {
-  content: "\f2c7";
-}
-i.icon.thermometer.half:before {
-  content: "\f2c9";
-}
-i.icon.thermometer.quarter:before {
-  content: "\f2ca";
-}
-i.icon.thermometer.three.quarters:before {
-  content: "\f2c8";
-}
-i.icon.thumbs.down:before {
-  content: "\f165";
-}
-i.icon.thumbs.up:before {
-  content: "\f164";
-}
-i.icon.thumbtack:before {
-  content: "\f08d";
-}
-i.icon.ticket.alternate:before {
-  content: "\f3ff";
-}
-i.icon.times:before {
-  content: "\f00d";
-}
-i.icon.times.circle:before {
-  content: "\f057";
-}
-i.icon.tint:before {
-  content: "\f043";
-}
-i.icon.tint.slash:before {
-  content: "\f5c7";
-}
-i.icon.tired:before {
-  content: "\f5c8";
-}
-i.icon.toggle.off:before {
-  content: "\f204";
-}
-i.icon.toggle.on:before {
-  content: "\f205";
-}
-i.icon.toilet:before {
-  content: "\f7d8";
-}
-i.icon.toilet.paper:before {
-  content: "\f71e";
-}
-i.icon.toolbox:before {
-  content: "\f552";
-}
-i.icon.tools:before {
-  content: "\f7d9";
-}
-i.icon.tooth:before {
-  content: "\f5c9";
-}
-i.icon.torah:before {
-  content: "\f6a0";
-}
-i.icon.torii.gate:before {
-  content: "\f6a1";
-}
-i.icon.tractor:before {
-  content: "\f722";
-}
-i.icon.trademark:before {
-  content: "\f25c";
-}
-i.icon.traffic.light:before {
-  content: "\f637";
-}
-i.icon.train:before {
-  content: "\f238";
-}
-i.icon.tram:before {
-  content: "\f7da";
-}
-i.icon.transgender:before {
-  content: "\f224";
-}
-i.icon.transgender.alternate:before {
-  content: "\f225";
-}
-i.icon.trash:before {
-  content: "\f1f8";
-}
-i.icon.trash.alternate:before {
-  content: "\f2ed";
-}
-i.icon.trash.restore:before {
-  content: "\f829";
-}
-i.icon.trash.restore.alternate:before {
-  content: "\f82a";
-}
-i.icon.tree:before {
-  content: "\f1bb";
-}
-i.icon.trophy:before {
-  content: "\f091";
-}
-i.icon.truck:before {
-  content: "\f0d1";
-}
-i.icon.truck.monster:before {
-  content: "\f63b";
-}
-i.icon.truck.moving:before {
-  content: "\f4df";
-}
-i.icon.truck.packing:before {
-  content: "\f4de";
-}
-i.icon.truck.pickup:before {
-  content: "\f63c";
-}
-i.icon.tshirt:before {
-  content: "\f553";
-}
-i.icon.tty:before {
-  content: "\f1e4";
-}
-i.icon.tv:before {
-  content: "\f26c";
-}
-i.icon.umbrella:before {
-  content: "\f0e9";
-}
-i.icon.umbrella.beach:before {
-  content: "\f5ca";
-}
-i.icon.underline:before {
-  content: "\f0cd";
-}
-i.icon.undo:before {
-  content: "\f0e2";
-}
-i.icon.undo.alternate:before {
-  content: "\f2ea";
-}
-i.icon.universal.access:before {
-  content: "\f29a";
-}
-i.icon.university:before {
-  content: "\f19c";
-}
-i.icon.unlink:before {
-  content: "\f127";
-}
-i.icon.unlock:before {
-  content: "\f09c";
-}
-i.icon.unlock.alternate:before {
-  content: "\f13e";
-}
-i.icon.upload:before {
-  content: "\f093";
-}
-i.icon.user:before {
-  content: "\f007";
-}
-i.icon.user.alternate:before {
-  content: "\f406";
-}
-i.icon.user.alternate.slash:before {
-  content: "\f4fa";
-}
-i.icon.user.astronaut:before {
-  content: "\f4fb";
-}
-i.icon.user.check:before {
-  content: "\f4fc";
-}
-i.icon.user.circle:before {
-  content: "\f2bd";
-}
-i.icon.user.clock:before {
-  content: "\f4fd";
-}
-i.icon.user.cog:before {
-  content: "\f4fe";
-}
-i.icon.user.edit:before {
-  content: "\f4ff";
-}
-i.icon.user.friends:before {
-  content: "\f500";
-}
-i.icon.user.graduate:before {
-  content: "\f501";
-}
-i.icon.user.injured:before {
-  content: "\f728";
-}
-i.icon.user.lock:before {
-  content: "\f502";
-}
-i.icon.user.md:before {
-  content: "\f0f0";
-}
-i.icon.user.minus:before {
-  content: "\f503";
-}
-i.icon.user.ninja:before {
-  content: "\f504";
-}
-i.icon.user.nurse:before {
-  content: "\f82f";
-}
-i.icon.user.plus:before {
-  content: "\f234";
-}
-i.icon.user.secret:before {
-  content: "\f21b";
-}
-i.icon.user.shield:before {
-  content: "\f505";
-}
-i.icon.user.slash:before {
-  content: "\f506";
-}
-i.icon.user.tag:before {
-  content: "\f507";
-}
-i.icon.user.tie:before {
-  content: "\f508";
-}
-i.icon.user.times:before {
-  content: "\f235";
-}
-i.icon.users:before {
-  content: "\f0c0";
-}
-i.icon.users.cog:before {
-  content: "\f509";
-}
-i.icon.utensil.spoon:before {
-  content: "\f2e5";
-}
-i.icon.utensils:before {
-  content: "\f2e7";
-}
-i.icon.vector.square:before {
-  content: "\f5cb";
-}
-i.icon.venus:before {
-  content: "\f221";
-}
-i.icon.venus.double:before {
-  content: "\f226";
-}
-i.icon.venus.mars:before {
-  content: "\f228";
-}
-i.icon.vial:before {
-  content: "\f492";
-}
-i.icon.vials:before {
-  content: "\f493";
-}
-i.icon.video:before {
-  content: "\f03d";
-}
-i.icon.video.slash:before {
-  content: "\f4e2";
-}
-i.icon.vihara:before {
-  content: "\f6a7";
-}
-i.icon.voicemail:before {
-  content: "\f897";
-}
-i.icon.volleyball.ball:before {
-  content: "\f45f";
-}
-i.icon.volume.down:before {
-  content: "\f027";
-}
-i.icon.volume.mute:before {
-  content: "\f6a9";
-}
-i.icon.volume.off:before {
-  content: "\f026";
-}
-i.icon.volume.up:before {
-  content: "\f028";
-}
-i.icon.vote.yea:before {
-  content: "\f772";
-}
-i.icon.vr.cardboard:before {
-  content: "\f729";
-}
-i.icon.walking:before {
-  content: "\f554";
-}
-i.icon.wallet:before {
-  content: "\f555";
-}
-i.icon.warehouse:before {
-  content: "\f494";
-}
-i.icon.water:before {
-  content: "\f773";
-}
-i.icon.wave.square:before {
-  content: "\f83e";
-}
-i.icon.weight:before {
-  content: "\f496";
-}
-i.icon.weight.hanging:before {
-  content: "\f5cd";
-}
-i.icon.wheelchair:before {
-  content: "\f193";
-}
-i.icon.wifi:before {
-  content: "\f1eb";
-}
-i.icon.wind:before {
-  content: "\f72e";
-}
-i.icon.window.close:before {
-  content: "\f410";
-}
-i.icon.window.maximize:before {
-  content: "\f2d0";
-}
-i.icon.window.minimize:before {
-  content: "\f2d1";
-}
-i.icon.window.restore:before {
-  content: "\f2d2";
-}
-i.icon.wine.bottle:before {
-  content: "\f72f";
-}
-i.icon.wine.glass:before {
-  content: "\f4e3";
-}
-i.icon.wine.glass.alternate:before {
-  content: "\f5ce";
-}
-i.icon.won.sign:before {
-  content: "\f159";
-}
-i.icon.wrench:before {
-  content: "\f0ad";
-}
-i.icon.x.ray:before {
-  content: "\f497";
-}
-i.icon.yen.sign:before {
-  content: "\f157";
-}
-i.icon.yin.yang:before {
-  content: "\f6ad";
-}
-
-/* Aliases */
-i.icon.add:before {
-  content: "\f067";
-}
-i.icon.add.circle:before {
-  content: "\f055";
-}
-i.icon.add.square:before {
-  content: "\f0fe";
-}
-i.icon.add.to.calendar:before {
-  content: "\f271";
-}
-i.icon.add.to.cart:before {
-  content: "\f217";
-}
-i.icon.add.user:before {
-  content: "\f234";
-}
-i.icon.alarm:before {
-  content: "\f0f3";
-}
-i.icon.alarm.mute:before {
-  content: "\f1f6";
-}
-i.icon.ald:before {
-  content: "\f2a2";
-}
-i.icon.als:before {
-  content: "\f2a2";
-}
-i.icon.announcement:before {
-  content: "\f0a1";
-}
-i.icon.area.chart:before {
-  content: "\f1fe";
-}
-i.icon.area.graph:before {
-  content: "\f1fe";
-}
-i.icon.arrow.down.cart:before {
-  content: "\f218";
-}
-i.icon.asexual:before {
-  content: "\f22d";
-}
-i.icon.asl:before {
-  content: "\f2a3";
-}
-i.icon.asl.interpreting:before {
-  content: "\f2a3";
-}
-i.icon.assistive.listening.devices:before {
-  content: "\f2a2";
-}
-i.icon.attach:before {
-  content: "\f0c6";
-}
-i.icon.attention:before {
-  content: "\f06a";
-}
-i.icon.balance:before {
-  content: "\f24e";
-}
-i.icon.bar:before {
-  content: "\f0fc";
-}
-i.icon.bathtub:before {
-  content: "\f2cd";
-}
-i.icon.battery.four:before {
-  content: "\f240";
-}
-i.icon.battery.high:before {
-  content: "\f241";
-}
-i.icon.battery.low:before {
-  content: "\f243";
-}
-i.icon.battery.medium:before {
-  content: "\f242";
-}
-i.icon.battery.one:before {
-  content: "\f243";
-}
-i.icon.battery.three:before {
-  content: "\f241";
-}
-i.icon.battery.two:before {
-  content: "\f242";
-}
-i.icon.battery.zero:before {
-  content: "\f244";
-}
-i.icon.birthday:before {
-  content: "\f1fd";
-}
-i.icon.block.layout:before {
-  content: "\f009";
-}
-i.icon.broken.chain:before {
-  content: "\f127";
-}
-i.icon.browser:before {
-  content: "\f022";
-}
-i.icon.call:before {
-  content: "\f095";
-}
-i.icon.call.square:before {
-  content: "\f098";
-}
-i.icon.cancel:before {
-  content: "\f00d";
-}
-i.icon.cart:before {
-  content: "\f07a";
-}
-i.icon.cc:before {
-  content: "\f20a";
-}
-i.icon.chain:before {
-  content: "\f0c1";
-}
-i.icon.chat:before {
-  content: "\f075";
-}
-i.icon.checked.calendar:before {
-  content: "\f274";
-}
-i.icon.checkmark:before {
-  content: "\f00c";
-}
-i.icon.checkmark.box:before {
-  content: "\f14a";
-}
-i.icon.chess.rock:before {
-  content: "\f447";
-}
-i.icon.circle.notched:before {
-  content: "\f1ce";
-}
-i.icon.circle.thin:before {
-  content: "\f111";
-}
-i.icon.close:before {
-  content: "\f00d";
-}
-i.icon.cloud.download:before {
-  content: "\f381";
-}
-i.icon.cloud.upload:before {
-  content: "\f382";
-}
-i.icon.cny:before {
-  content: "\f157";
-}
-i.icon.cocktail:before {
-  content: "\f000";
-}
-i.icon.commenting:before {
-  content: "\f27a";
-}
-i.icon.compose:before {
-  content: "\f303";
-}
-i.icon.computer:before {
-  content: "\f108";
-}
-i.icon.configure:before {
-  content: "\f0ad";
-}
-i.icon.content:before {
-  content: "\f0c9";
-}
-i.icon.conversation:before {
-  content: "\f086";
-}
-i.icon.credit.card.alternative:before {
-  content: "\f09d";
-}
-i.icon.currency:before {
-  content: "\f3d1";
-}
-i.icon.dashboard:before {
-  content: "\f3fd";
-}
-i.icon.deafness:before {
-  content: "\f2a4";
-}
-i.icon.delete:before {
-  content: "\f00d";
-}
-i.icon.delete.calendar:before {
-  content: "\f273";
-}
-i.icon.detective:before {
-  content: "\f21b";
-}
-i.icon.diamond:before {
-  content: "\f3a5";
-}
-i.icon.discussions:before {
-  content: "\f086";
-}
-i.icon.disk:before {
-  content: "\f0a0";
-}
-i.icon.doctor:before {
-  content: "\f0f0";
-}
-i.icon.dollar:before {
-  content: "\f155";
-}
-i.icon.dont:before {
-  content: "\f05e";
-}
-i.icon.drivers.license:before {
-  content: "\f2c2";
-}
-i.icon.dropdown:before {
-  content: "\f0d7";
-}
-i.icon.emergency:before {
-  content: "\f0f9";
-}
-i.icon.erase:before {
-  content: "\f12d";
-}
-i.icon.eur:before {
-  content: "\f153";
-}
-i.icon.euro:before {
-  content: "\f153";
-}
-i.icon.exchange:before {
-  content: "\f362";
-}
-i.icon.external:before {
-  content: "\f35d";
-}
-i.icon.external.share:before {
-  content: "\f14d";
-}
-i.icon.external.square:before {
-  content: "\f360";
-}
-i.icon.eyedropper:before {
-  content: "\f1fb";
-}
-i.icon.factory:before {
-  content: "\f275";
-}
-i.icon.favorite:before {
-  content: "\f005";
-}
-i.icon.feed:before {
-  content: "\f09e";
-}
-i.icon.female.homosexual:before {
-  content: "\f226";
-}
-i.icon.file.text:before {
-  content: "\f15c";
-}
-i.icon.find:before {
-  content: "\f1e5";
-}
-i.icon.first.aid:before {
-  content: "\f0fa";
-}
-i.icon.food:before {
-  content: "\f2e7";
-}
-i.icon.fork:before {
-  content: "\f126";
-}
-i.icon.game:before {
-  content: "\f11b";
-}
-i.icon.gay:before {
-  content: "\f227";
-}
-i.icon.gbp:before {
-  content: "\f154";
-}
-i.icon.grab:before {
-  content: "\f255";
-}
-i.icon.graduation:before {
-  content: "\f19d";
-}
-i.icon.grid.layout:before {
-  content: "\f00a";
-}
-i.icon.group:before {
-  content: "\f0c0";
-}
-i.icon.h:before {
-  content: "\f0fd";
-}
-i.icon.hamburger:before {
-  content: "\f0c9";
-}
-i.icon.hand.victory:before {
-  content: "\f25b";
-}
-i.icon.handicap:before {
-  content: "\f193";
-}
-i.icon.hard.of.hearing:before {
-  content: "\f2a4";
-}
-i.icon.header:before {
-  content: "\f1dc";
-}
-i.icon.heart.empty:before {
-  content: "\f004";
-}
-i.icon.help:before {
-  content: "\f128";
-}
-i.icon.help.circle:before {
-  content: "\f059";
-}
-i.icon.heterosexual:before {
-  content: "\f228";
-}
-i.icon.hide:before {
-  content: "\f070";
-}
-i.icon.hotel:before {
-  content: "\f236";
-}
-i.icon.hourglass.four:before {
-  content: "\f254";
-}
-i.icon.hourglass.full:before {
-  content: "\f254";
-}
-i.icon.hourglass.one:before {
-  content: "\f251";
-}
-i.icon.hourglass.three:before {
-  content: "\f253";
-}
-i.icon.hourglass.two:before {
-  content: "\f252";
-}
-i.icon.hourglass.zero:before {
-  content: "\f253";
-}
-i.icon.idea:before {
-  content: "\f0eb";
-}
-i.icon.ils:before {
-  content: "\f20b";
-}
-i.icon.in.cart:before {
-  content: "\f218";
-}
-i.icon.inr:before {
-  content: "\f156";
-}
-i.icon.intergender:before {
-  content: "\f224";
-}
-i.icon.intersex:before {
-  content: "\f224";
-}
-i.icon.jpy:before {
-  content: "\f157";
-}
-i.icon.krw:before {
-  content: "\f159";
-}
-i.icon.lab:before {
-  content: "\f0c3";
-}
-i.icon.law:before {
-  content: "\f24e";
-}
-i.icon.legal:before {
-  content: "\f0e3";
-}
-i.icon.lesbian:before {
-  content: "\f226";
-}
-i.icon.level.down:before {
-  content: "\f3be";
-}
-i.icon.level.up:before {
-  content: "\f3bf";
-}
-i.icon.lightning:before {
-  content: "\f0e7";
-}
-i.icon.like:before {
-  content: "\f004";
-}
-i.icon.line.graph:before {
-  content: "\f201";
-}
-i.icon.linkify:before {
-  content: "\f0c1";
-}
-i.icon.lira:before {
-  content: "\f195";
-}
-i.icon.list.layout:before {
-  content: "\f00b";
-}
-i.icon.log.out:before {
-  content: "\f2f5";
-}
-i.icon.magnify:before {
-  content: "\f00e";
-}
-i.icon.mail:before {
-  content: "\f0e0";
-}
-i.icon.mail.forward:before {
-  content: "\f064";
-}
-i.icon.mail.square:before {
-  content: "\f199";
-}
-i.icon.male.homosexual:before {
-  content: "\f227";
-}
-i.icon.man:before {
-  content: "\f222";
-}
-i.icon.marker:before {
-  content: "\f041";
-}
-i.icon.mars.alternate:before {
-  content: "\f229";
-}
-i.icon.mars.horizontal:before {
-  content: "\f22b";
-}
-i.icon.mars.vertical:before {
-  content: "\f22a";
-}
-i.icon.meanpath:before {
-  content: "\f0c8";
-}
-i.icon.military:before {
-  content: "\f0fb";
-}
-i.icon.money:before {
-  content: "\f3d1";
-}
-i.icon.move:before {
-  content: "\f0b2";
-}
-i.icon.mute:before {
-  content: "\f131";
-}
-i.icon.non.binary.transgender:before {
-  content: "\f223";
-}
-i.icon.numbered.list:before {
-  content: "\f0cb";
-}
-i.icon.options:before {
-  content: "\f1de";
-}
-i.icon.ordered.list:before {
-  content: "\f0cb";
-}
-i.icon.other.gender:before {
-  content: "\f229";
-}
-i.icon.other.gender.horizontal:before {
-  content: "\f22b";
-}
-i.icon.other.gender.vertical:before {
-  content: "\f22a";
-}
-i.icon.payment:before {
-  content: "\f09d";
-}
-i.icon.pencil:before {
-  content: "\f303";
-}
-i.icon.pencil.square:before {
-  content: "\f14b";
-}
-i.icon.photo:before {
-  content: "\f030";
-}
-i.icon.picture:before {
-  content: "\f03e";
-}
-i.icon.pie.chart:before {
-  content: "\f200";
-}
-i.icon.pie.graph:before {
-  content: "\f200";
-}
-i.icon.pin:before {
-  content: "\f08d";
-}
-i.icon.plus.cart:before {
-  content: "\f217";
-}
-i.icon.point:before {
-  content: "\f041";
-}
-i.icon.pointing.down:before {
-  content: "\f0a7";
-}
-i.icon.pointing.left:before {
-  content: "\f0a5";
-}
-i.icon.pointing.right:before {
-  content: "\f0a4";
-}
-i.icon.pointing.up:before {
-  content: "\f0a6";
-}
-i.icon.pound:before {
-  content: "\f154";
-}
-i.icon.power:before {
-  content: "\f011";
-}
-i.icon.power.cord:before {
-  content: "\f1e6";
-}
-i.icon.privacy:before {
-  content: "\f084";
-}
-i.icon.protect:before {
-  content: "\f023";
-}
-i.icon.puzzle:before {
-  content: "\f12e";
-}
-i.icon.r.circle:before {
-  content: "\f25d";
-}
-i.icon.radio:before {
-  content: "\f192";
-}
-i.icon.rain:before {
-  content: "\f0e9";
-}
-i.icon.record:before {
-  content: "\f03d";
-}
-i.icon.refresh:before {
-  content: "\f021";
-}
-i.icon.remove:before {
-  content: "\f00d";
-}
-i.icon.remove.bookmark:before {
-  content: "\f02e";
-}
-i.icon.remove.circle:before {
-  content: "\f057";
-}
-i.icon.remove.from.calendar:before {
-  content: "\f272";
-}
-i.icon.remove.user:before {
-  content: "\f235";
-}
-i.icon.repeat:before {
-  content: "\f01e";
-}
-i.icon.resize.horizontal:before {
-  content: "\f337";
-}
-i.icon.resize.vertical:before {
-  content: "\f338";
-}
-i.icon.rmb:before {
-  content: "\f157";
-}
-i.icon.rouble:before {
-  content: "\f158";
-}
-i.icon.rub:before {
-  content: "\f158";
-}
-i.icon.ruble:before {
-  content: "\f158";
-}
-i.icon.rupee:before {
-  content: "\f156";
-}
-i.icon.s15:before {
-  content: "\f2cd";
-}
-i.icon.selected.radio:before {
-  content: "\f192";
-}
-i.icon.send:before {
-  content: "\f1d8";
-}
-i.icon.setting:before {
-  content: "\f013";
-}
-i.icon.settings:before {
-  content: "\f085";
-}
-i.icon.shekel:before {
-  content: "\f20b";
-}
-i.icon.sheqel:before {
-  content: "\f20b";
-}
-i.icon.shield:before {
-  content: "\f3ed";
-}
-i.icon.shipping:before {
-  content: "\f0d1";
-}
-i.icon.shop:before {
-  content: "\f07a";
-}
-i.icon.shuffle:before {
-  content: "\f074";
-}
-i.icon.shutdown:before {
-  content: "\f011";
-}
-i.icon.sidebar:before {
-  content: "\f0c9";
-}
-i.icon.sign.in:before {
-  content: "\f2f6";
-}
-i.icon.sign.out:before {
-  content: "\f2f5";
-}
-i.icon.signing:before {
-  content: "\f2a7";
-}
-i.icon.signup:before {
-  content: "\f044";
-}
-i.icon.sliders:before {
-  content: "\f1de";
-}
-i.icon.soccer:before {
-  content: "\f1e3";
-}
-i.icon.sort.alphabet.ascending:before {
-  content: "\f15d";
-}
-i.icon.sort.alphabet.descending:before {
-  content: "\f15e";
-}
-i.icon.sort.ascending:before {
-  content: "\f0de";
-}
-i.icon.sort.content.ascending:before {
-  content: "\f160";
-}
-i.icon.sort.content.descending:before {
-  content: "\f161";
-}
-i.icon.sort.descending:before {
-  content: "\f0dd";
-}
-i.icon.sort.numeric.ascending:before {
-  content: "\f162";
-}
-i.icon.sort.numeric.descending:before {
-  content: "\f163";
-}
-i.icon.sound:before {
-  content: "\f025";
-}
-i.icon.spoon:before {
-  content: "\f2e5";
-}
-i.icon.spy:before {
-  content: "\f21b";
-}
-i.icon.star.empty:before {
-  content: "\f005";
-}
-i.icon.star.half.empty:before {
-  content: "\f089";
-}
-i.icon.star.half.full:before {
-  content: "\f089";
-}
-i.icon.student:before {
-  content: "\f19d";
-}
-i.icon.talk:before {
-  content: "\f27a";
-}
-i.icon.target:before {
-  content: "\f140";
-}
-i.icon.teletype:before {
-  content: "\f1e4";
-}
-i.icon.television:before {
-  content: "\f26c";
-}
-i.icon.text.cursor:before {
-  content: "\f246";
-}
-i.icon.text.telephone:before {
-  content: "\f1e4";
-}
-i.icon.theme:before {
-  content: "\f043";
-}
-i.icon.thermometer:before {
-  content: "\f2c7";
-}
-i.icon.thumb.tack:before {
-  content: "\f08d";
-}
-i.icon.ticket:before {
-  content: "\f3ff";
-}
-i.icon.time:before {
-  content: "\f017";
-}
-i.icon.times.rectangle:before {
-  content: "\f410";
-}
-i.icon.tm:before {
-  content: "\f25c";
-}
-i.icon.toggle.down:before {
-  content: "\f150";
-}
-i.icon.toggle.left:before {
-  content: "\f191";
-}
-i.icon.toggle.right:before {
-  content: "\f152";
-}
-i.icon.toggle.up:before {
-  content: "\f151";
-}
-i.icon.translate:before {
-  content: "\f1ab";
-}
-i.icon.travel:before {
-  content: "\f0b1";
-}
-i.icon.treatment:before {
-  content: "\f0f1";
-}
-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.try:before {
-  content: "\f195";
-}
-i.icon.unhide:before {
-  content: "\f06e";
-}
-i.icon.unlinkify:before {
-  content: "\f127";
-}
-i.icon.unmute:before {
-  content: "\f130";
-}
-i.icon.unordered.list:before {
-  content: "\f0ca";
-}
-i.icon.usd:before {
-  content: "\f155";
-}
-i.icon.user.cancel:before {
-  content: "\f235";
-}
-i.icon.user.close:before {
-  content: "\f235";
-}
-i.icon.user.delete:before {
-  content: "\f235";
-}
-i.icon.user.doctor:before {
-  content: "\f0f0";
-}
-i.icon.user.x:before {
-  content: "\f235";
-}
-i.icon.vcard:before {
-  content: "\f2bb";
-}
-i.icon.video.camera:before {
-  content: "\f03d";
-}
-i.icon.video.play:before {
-  content: "\f144";
-}
-i.icon.volume.control.phone:before {
-  content: "\f2a0";
-}
-i.icon.wait:before {
-  content: "\f017";
-}
-i.icon.warning:before {
-  content: "\f12a";
-}
-i.icon.warning.circle:before {
-  content: "\f06a";
-}
-i.icon.warning.sign:before {
-  content: "\f071";
-}
-i.icon.wi.fi:before {
-  content: "\f1eb";
-}
-i.icon.winner:before {
-  content: "\f091";
-}
-i.icon.wizard:before {
-  content: "\f0d0";
-}
-i.icon.woman:before {
-  content: "\f221";
-}
-i.icon.won:before {
-  content: "\f159";
-}
-i.icon.world:before {
-  content: "\f0ac";
-}
-i.icon.write:before {
-  content: "\f303";
-}
-i.icon.write.square:before {
-  content: "\f14b";
-}
-i.icon.x:before {
-  content: "\f00d";
-}
-i.icon.yen:before {
-  content: "\f157";
-}
-i.icon.zip:before {
-  content: "\f187";
-}
-i.icon.zoom:before {
-  content: "\f00e";
-}
-i.icon.zoom.in:before {
-  content: "\f00e";
-}
-i.icon.zoom.out:before {
-  content: "\f010";
-}
-
-
-/*******************************
-         Outline Icons
-*******************************/
-
-
-/* Outline Icon */
-
-/* Load & Define Icon Font */
-@font-face {
-  font-family: 'outline-icons';
-  src: url("./../themes/default/assets/fonts/outline-icons.eot");
-  src: url("./../themes/default/assets/fonts/outline-icons.eot?#iefix") format('embedded-opentype'), url("./../themes/default/assets/fonts/outline-icons.woff2") format('woff2'), url("./../themes/default/assets/fonts/outline-icons.woff") format('woff'), url("./../themes/default/assets/fonts/outline-icons.ttf") format('truetype'), url("./../themes/default/assets/fonts/outline-icons.svg#icons") format('svg');
-  font-style: normal;
-  font-weight: normal;
-  font-variant: normal;
-  text-decoration: inherit;
-  text-transform: none;
-}
-i.icon.outline {
-  font-family: 'outline-icons';
-}
-
-/* Icons */
-i.icon.address.book.outline:before {
-  content: "\f2b9";
-}
-i.icon.address.card.outline:before {
-  content: "\f2bb";
-}
-i.icon.angry.outline:before {
-  content: "\f556";
-}
-i.icon.arrow.alternate.circle.down.outline:before {
-  content: "\f358";
-}
-i.icon.arrow.alternate.circle.left.outline:before {
-  content: "\f359";
-}
-i.icon.arrow.alternate.circle.right.outline:before {
-  content: "\f35a";
-}
-i.icon.arrow.alternate.circle.up.outline:before {
-  content: "\f35b";
-}
-i.icon.bell.outline:before {
-  content: "\f0f3";
-}
-i.icon.bell.slash.outline:before {
-  content: "\f1f6";
-}
-i.icon.bookmark.outline:before {
-  content: "\f02e";
-}
-i.icon.building.outline:before {
-  content: "\f1ad";
-}
-i.icon.calendar.alternate.outline:before {
-  content: "\f073";
-}
-i.icon.calendar.check.outline:before {
-  content: "\f274";
-}
-i.icon.calendar.minus.outline:before {
-  content: "\f272";
-}
-i.icon.calendar.outline:before {
-  content: "\f133";
-}
-i.icon.calendar.plus.outline:before {
-  content: "\f271";
-}
-i.icon.calendar.times.outline:before {
-  content: "\f273";
-}
-i.icon.caret.square.down.outline:before {
-  content: "\f150";
-}
-i.icon.caret.square.left.outline:before {
-  content: "\f191";
-}
-i.icon.caret.square.right.outline:before {
-  content: "\f152";
-}
-i.icon.caret.square.up.outline:before {
-  content: "\f151";
-}
-i.icon.chart.bar.outline:before {
-  content: "\f080";
-}
-i.icon.check.circle.outline:before {
-  content: "\f058";
-}
-i.icon.check.square.outline:before {
-  content: "\f14a";
-}
-i.icon.circle.outline:before {
-  content: "\f111";
-}
-i.icon.clipboard.outline:before {
-  content: "\f328";
-}
-i.icon.clock.outline:before {
-  content: "\f017";
-}
-i.icon.clone.outline:before {
-  content: "\f24d";
-}
-i.icon.closed.captioning.outline:before {
-  content: "\f20a";
-}
-i.icon.comment.alternate.outline:before {
-  content: "\f27a";
-}
-i.icon.comment.dots.outline:before {
-  content: "\f4ad";
-}
-i.icon.comment.outline:before {
-  content: "\f075";
-}
-i.icon.comments.outline:before {
-  content: "\f086";
-}
-i.icon.compass.outline:before {
-  content: "\f14e";
-}
-i.icon.copy.outline:before {
-  content: "\f0c5";
-}
-i.icon.copyright.outline:before {
-  content: "\f1f9";
-}
-i.icon.credit.card.outline:before {
-  content: "\f09d";
-}
-i.icon.dizzy.outline:before {
-  content: "\f567";
-}
-i.icon.dot.circle.outline:before {
-  content: "\f192";
-}
-i.icon.edit.outline:before {
-  content: "\f044";
-}
-i.icon.envelope.open.outline:before {
-  content: "\f2b6";
-}
-i.icon.envelope.outline:before {
-  content: "\f0e0";
-}
-i.icon.eye.outline:before {
-  content: "\f06e";
-}
-i.icon.eye.slash.outline:before {
-  content: "\f070";
-}
-i.icon.file.alternate.outline:before {
-  content: "\f15c";
-}
-i.icon.file.archive.outline:before {
-  content: "\f1c6";
-}
-i.icon.file.audio.outline:before {
-  content: "\f1c7";
-}
-i.icon.file.code.outline:before {
-  content: "\f1c9";
-}
-i.icon.file.excel.outline:before {
-  content: "\f1c3";
-}
-i.icon.file.image.outline:before {
-  content: "\f1c5";
-}
-i.icon.file.outline:before {
-  content: "\f15b";
-}
-i.icon.file.pdf.outline:before {
-  content: "\f1c1";
-}
-i.icon.file.powerpoint.outline:before {
-  content: "\f1c4";
-}
-i.icon.file.video.outline:before {
-  content: "\f1c8";
-}
-i.icon.file.word.outline:before {
-  content: "\f1c2";
-}
-i.icon.flag.outline:before {
-  content: "\f024";
-}
-i.icon.flushed.outline:before {
-  content: "\f579";
-}
-i.icon.folder.open.outline:before {
-  content: "\f07c";
-}
-i.icon.folder.outline:before {
-  content: "\f07b";
-}
-i.icon.frown.open.outline:before {
-  content: "\f57a";
-}
-i.icon.frown.outline:before {
-  content: "\f119";
-}
-i.icon.futbol.outline:before {
-  content: "\f1e3";
-}
-i.icon.gem.outline:before {
-  content: "\f3a5";
-}
-i.icon.grimace.outline:before {
-  content: "\f57f";
-}
-i.icon.grin.alternate.outline:before {
-  content: "\f581";
-}
-i.icon.grin.beam.outline:before {
-  content: "\f582";
-}
-i.icon.grin.beam.sweat.outline:before {
-  content: "\f583";
-}
-i.icon.grin.hearts.outline:before {
-  content: "\f584";
-}
-i.icon.grin.outline:before {
-  content: "\f580";
-}
-i.icon.grin.squint.outline:before {
-  content: "\f585";
-}
-i.icon.grin.squint.tears.outline:before {
-  content: "\f586";
-}
-i.icon.grin.stars.outline:before {
-  content: "\f587";
-}
-i.icon.grin.tears.outline:before {
-  content: "\f588";
-}
-i.icon.grin.tongue.outline:before {
-  content: "\f589";
-}
-i.icon.grin.tongue.squint.outline:before {
-  content: "\f58a";
-}
-i.icon.grin.tongue.wink.outline:before {
-  content: "\f58b";
-}
-i.icon.grin.wink.outline:before {
-  content: "\f58c";
-}
-i.icon.hand.lizard.outline:before {
-  content: "\f258";
-}
-i.icon.hand.paper.outline:before {
-  content: "\f256";
-}
-i.icon.hand.peace.outline:before {
-  content: "\f25b";
-}
-i.icon.hand.point.down.outline:before {
-  content: "\f0a7";
-}
-i.icon.hand.point.left.outline:before {
-  content: "\f0a5";
-}
-i.icon.hand.point.right.outline:before {
-  content: "\f0a4";
-}
-i.icon.hand.point.up.outline:before {
-  content: "\f0a6";
-}
-i.icon.hand.pointer.outline:before {
-  content: "\f25a";
-}
-i.icon.hand.rock.outline:before {
-  content: "\f255";
-}
-i.icon.hand.scissors.outline:before {
-  content: "\f257";
-}
-i.icon.hand.spock.outline:before {
-  content: "\f259";
-}
-i.icon.handshake.outline:before {
-  content: "\f2b5";
-}
-i.icon.hdd.outline:before {
-  content: "\f0a0";
-}
-i.icon.heart.outline:before {
-  content: "\f004";
-}
-i.icon.hospital.outline:before {
-  content: "\f0f8";
-}
-i.icon.hourglass.outline:before {
-  content: "\f254";
-}
-i.icon.id.badge.outline:before {
-  content: "\f2c1";
-}
-i.icon.id.card.outline:before {
-  content: "\f2c2";
-}
-i.icon.image.outline:before {
-  content: "\f03e";
-}
-i.icon.images.outline:before {
-  content: "\f302";
-}
-i.icon.keyboard.outline:before {
-  content: "\f11c";
-}
-i.icon.kiss.beam.outline:before {
-  content: "\f597";
-}
-i.icon.kiss.outline:before {
-  content: "\f596";
-}
-i.icon.kiss.wink.heart.outline:before {
-  content: "\f598";
-}
-i.icon.laugh.beam.outline:before {
-  content: "\f59a";
-}
-i.icon.laugh.outline:before {
-  content: "\f599";
-}
-i.icon.laugh.squint.outline:before {
-  content: "\f59b";
-}
-i.icon.laugh.wink.outline:before {
-  content: "\f59c";
-}
-i.icon.lemon.outline:before {
-  content: "\f094";
-}
-i.icon.life.ring.outline:before {
-  content: "\f1cd";
-}
-i.icon.lightbulb.outline:before {
-  content: "\f0eb";
-}
-i.icon.list.alternate.outline:before {
-  content: "\f022";
-}
-i.icon.map.outline:before {
-  content: "\f279";
-}
-i.icon.meh.blank.outline:before {
-  content: "\f5a4";
-}
-i.icon.meh.outline:before {
-  content: "\f11a";
-}
-i.icon.meh.rolling.eyes.outline:before {
-  content: "\f5a5";
-}
-i.icon.minus.square.outline:before {
-  content: "\f146";
-}
-i.icon.money.bill.alternate.outline:before {
-  content: "\f3d1";
-}
-i.icon.moon.outline:before {
-  content: "\f186";
-}
-i.icon.newspaper.outline:before {
-  content: "\f1ea";
-}
-i.icon.object.group.outline:before {
-  content: "\f247";
-}
-i.icon.object.ungroup.outline:before {
-  content: "\f248";
-}
-i.icon.paper.plane.outline:before {
-  content: "\f1d8";
-}
-i.icon.pause.circle.outline:before {
-  content: "\f28b";
-}
-i.icon.play.circle.outline:before {
-  content: "\f144";
-}
-i.icon.plus.square.outline:before {
-  content: "\f0fe";
-}
-i.icon.question.circle.outline:before {
-  content: "\f059";
-}
-i.icon.registered.outline:before {
-  content: "\f25d";
-}
-i.icon.sad.cry.outline:before {
-  content: "\f5b3";
-}
-i.icon.sad.tear.outline:before {
-  content: "\f5b4";
-}
-i.icon.save.outline:before {
-  content: "\f0c7";
-}
-i.icon.share.square.outline:before {
-  content: "\f14d";
-}
-i.icon.smile.beam.outline:before {
-  content: "\f5b8";
-}
-i.icon.smile.outline:before {
-  content: "\f118";
-}
-i.icon.smile.wink.outline:before {
-  content: "\f4da";
-}
-i.icon.snowflake.outline:before {
-  content: "\f2dc";
-}
-i.icon.square.outline:before {
-  content: "\f0c8";
-}
-i.icon.star.half.outline:before {
-  content: "\f089";
-}
-i.icon.star.outline:before {
-  content: "\f005";
-}
-i.icon.sticky.note.outline:before {
-  content: "\f249";
-}
-i.icon.stop.circle.outline:before {
-  content: "\f28d";
-}
-i.icon.sun.outline:before {
-  content: "\f185";
-}
-i.icon.surprise.outline:before {
-  content: "\f5c2";
-}
-i.icon.thumbs.down.outline:before {
-  content: "\f165";
-}
-i.icon.thumbs.up.outline:before {
-  content: "\f164";
-}
-i.icon.times.circle.outline:before {
-  content: "\f057";
-}
-i.icon.tired.outline:before {
-  content: "\f5c8";
-}
-i.icon.trash.alternate.outline:before {
-  content: "\f2ed";
-}
-i.icon.user.circle.outline:before {
-  content: "\f2bd";
-}
-i.icon.user.outline:before {
-  content: "\f007";
-}
-i.icon.window.close.outline:before {
-  content: "\f410";
-}
-i.icon.window.maximize.outline:before {
-  content: "\f2d0";
-}
-i.icon.window.minimize.outline:before {
-  content: "\f2d1";
-}
-i.icon.window.restore.outline:before {
-  content: "\f2d2";
-}
-
-
-/*******************************
-          Brand Icons
-*******************************/
-
-
-/* Load & Define Brand Font */
-@font-face {
-  font-family: 'brand-icons';
-  src: url("./../themes/default/assets/fonts/brand-icons.eot");
-  src: url("./../themes/default/assets/fonts/brand-icons.eot?#iefix") format('embedded-opentype'), url("./../themes/default/assets/fonts/brand-icons.woff2") format('woff2'), url("./../themes/default/assets/fonts/brand-icons.woff") format('woff'), url("./../themes/default/assets/fonts/brand-icons.ttf") format('truetype'), url("./../themes/default/assets/fonts/brand-icons.svg#icons") format('svg');
-  font-style: normal;
-  font-weight: normal;
-  font-variant: normal;
-  text-decoration: inherit;
-  text-transform: none;
-}
-
-/* Icons */
-i.icon.\35 00px:before {
-  content: "\f26e";
-  font-family: 'brand-icons';
-}
-i.icon.accessible:before {
-  content: "\f368";
-  font-family: 'brand-icons';
-}
-i.icon.accusoft:before {
-  content: "\f369";
-  font-family: 'brand-icons';
-}
-i.icon.acquisitions.incorporated:before {
-  content: "\f6af";
-  font-family: 'brand-icons';
-}
-i.icon.adn:before {
-  content: "\f170";
-  font-family: 'brand-icons';
-}
-i.icon.adobe:before {
-  content: "\f778";
-  font-family: 'brand-icons';
-}
-i.icon.adversal:before {
-  content: "\f36a";
-  font-family: 'brand-icons';
-}
-i.icon.affiliatetheme:before {
-  content: "\f36b";
-  font-family: 'brand-icons';
-}
-i.icon.airbnb:before {
-  content: "\f834";
-  font-family: 'brand-icons';
-}
-i.icon.algolia:before {
-  content: "\f36c";
-  font-family: 'brand-icons';
-}
-i.icon.alipay:before {
-  content: "\f642";
-  font-family: 'brand-icons';
-}
-i.icon.amazon:before {
-  content: "\f270";
-  font-family: 'brand-icons';
-}
-i.icon.amazon.pay:before {
-  content: "\f42c";
-  font-family: 'brand-icons';
-}
-i.icon.amilia:before {
-  content: "\f36d";
-  font-family: 'brand-icons';
-}
-i.icon.android:before {
-  content: "\f17b";
-  font-family: 'brand-icons';
-}
-i.icon.angellist:before {
-  content: "\f209";
-  font-family: 'brand-icons';
-}
-i.icon.angrycreative:before {
-  content: "\f36e";
-  font-family: 'brand-icons';
-}
-i.icon.angular:before {
-  content: "\f420";
-  font-family: 'brand-icons';
-}
-i.icon.app.store:before {
-  content: "\f36f";
-  font-family: 'brand-icons';
-}
-i.icon.app.store.ios:before {
-  content: "\f370";
-  font-family: 'brand-icons';
-}
-i.icon.apper:before {
-  content: "\f371";
-  font-family: 'brand-icons';
-}
-i.icon.apple:before {
-  content: "\f179";
-  font-family: 'brand-icons';
-}
-i.icon.apple.pay:before {
-  content: "\f415";
-  font-family: 'brand-icons';
-}
-i.icon.artstation:before {
-  content: "\f77a";
-  font-family: 'brand-icons';
-}
-i.icon.asymmetrik:before {
-  content: "\f372";
-  font-family: 'brand-icons';
-}
-i.icon.atlassian:before {
-  content: "\f77b";
-  font-family: 'brand-icons';
-}
-i.icon.audible:before {
-  content: "\f373";
-  font-family: 'brand-icons';
-}
-i.icon.autoprefixer:before {
-  content: "\f41c";
-  font-family: 'brand-icons';
-}
-i.icon.avianex:before {
-  content: "\f374";
-  font-family: 'brand-icons';
-}
-i.icon.aviato:before {
-  content: "\f421";
-  font-family: 'brand-icons';
-}
-i.icon.aws:before {
-  content: "\f375";
-  font-family: 'brand-icons';
-}
-i.icon.bandcamp:before {
-  content: "\f2d5";
-  font-family: 'brand-icons';
-}
-i.icon.battle.net:before {
-  content: "\f835";
-  font-family: 'brand-icons';
-}
-i.icon.behance:before {
-  content: "\f1b4";
-  font-family: 'brand-icons';
-}
-i.icon.behance.square:before {
-  content: "\f1b5";
-  font-family: 'brand-icons';
-}
-i.icon.bimobject:before {
-  content: "\f378";
-  font-family: 'brand-icons';
-}
-i.icon.bitbucket:before {
-  content: "\f171";
-  font-family: 'brand-icons';
-}
-i.icon.bitcoin:before {
-  content: "\f379";
-  font-family: 'brand-icons';
-}
-i.icon.bity:before {
-  content: "\f37a";
-  font-family: 'brand-icons';
-}
-i.icon.black.tie:before {
-  content: "\f27e";
-  font-family: 'brand-icons';
-}
-i.icon.blackberry:before {
-  content: "\f37b";
-  font-family: 'brand-icons';
-}
-i.icon.blogger:before {
-  content: "\f37c";
-  font-family: 'brand-icons';
-}
-i.icon.blogger.b:before {
-  content: "\f37d";
-  font-family: 'brand-icons';
-}
-i.icon.bluetooth:before {
-  content: "\f293";
-  font-family: 'brand-icons';
-}
-i.icon.bluetooth.b:before {
-  content: "\f294";
-  font-family: 'brand-icons';
-}
-i.icon.bootstrap:before {
-  content: "\f836";
-  font-family: 'brand-icons';
-}
-i.icon.btc:before {
-  content: "\f15a";
-  font-family: 'brand-icons';
-}
-i.icon.buffer:before {
-  content: "\f837";
-  font-family: 'brand-icons';
-}
-i.icon.buromobelexperte:before {
-  content: "\f37f";
-  font-family: 'brand-icons';
-}
-i.icon.buysellads:before {
-  content: "\f20d";
-  font-family: 'brand-icons';
-}
-i.icon.canadian.maple.leaf:before {
-  content: "\f785";
-  font-family: 'brand-icons';
-}
-i.icon.cc.amazon.pay:before {
-  content: "\f42d";
-  font-family: 'brand-icons';
-}
-i.icon.cc.amex:before {
-  content: "\f1f3";
-  font-family: 'brand-icons';
-}
-i.icon.cc.apple.pay:before {
-  content: "\f416";
-  font-family: 'brand-icons';
-}
-i.icon.cc.diners.club:before {
-  content: "\f24c";
-  font-family: 'brand-icons';
-}
-i.icon.cc.discover:before {
-  content: "\f1f2";
-  font-family: 'brand-icons';
-}
-i.icon.cc.jcb:before {
-  content: "\f24b";
-  font-family: 'brand-icons';
-}
-i.icon.cc.mastercard:before {
-  content: "\f1f1";
-  font-family: 'brand-icons';
-}
-i.icon.cc.paypal:before {
-  content: "\f1f4";
-  font-family: 'brand-icons';
-}
-i.icon.cc.stripe:before {
-  content: "\f1f5";
-  font-family: 'brand-icons';
-}
-i.icon.cc.visa:before {
-  content: "\f1f0";
-  font-family: 'brand-icons';
-}
-i.icon.centercode:before {
-  content: "\f380";
-  font-family: 'brand-icons';
-}
-i.icon.centos:before {
-  content: "\f789";
-  font-family: 'brand-icons';
-}
-i.icon.chrome:before {
-  content: "\f268";
-  font-family: 'brand-icons';
-}
-i.icon.chromecast:before {
-  content: "\f838";
-  font-family: 'brand-icons';
-}
-i.icon.cloudscale:before {
-  content: "\f383";
-  font-family: 'brand-icons';
-}
-i.icon.cloudsmith:before {
-  content: "\f384";
-  font-family: 'brand-icons';
-}
-i.icon.cloudversify:before {
-  content: "\f385";
-  font-family: 'brand-icons';
-}
-i.icon.codepen:before {
-  content: "\f1cb";
-  font-family: 'brand-icons';
-}
-i.icon.codiepie:before {
-  content: "\f284";
-  font-family: 'brand-icons';
-}
-i.icon.confluence:before {
-  content: "\f78d";
-  font-family: 'brand-icons';
-}
-i.icon.connectdevelop:before {
-  content: "\f20e";
-  font-family: 'brand-icons';
-}
-i.icon.contao:before {
-  content: "\f26d";
-  font-family: 'brand-icons';
-}
-i.icon.cpanel:before {
-  content: "\f388";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons:before {
-  content: "\f25e";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.by:before {
-  content: "\f4e7";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.nc:before {
-  content: "\f4e8";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.nc.eu:before {
-  content: "\f4e9";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.nc.jp:before {
-  content: "\f4ea";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.nd:before {
-  content: "\f4eb";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.pd:before {
-  content: "\f4ec";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.pd.alternate:before {
-  content: "\f4ed";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.remix:before {
-  content: "\f4ee";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.sa:before {
-  content: "\f4ef";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.sampling:before {
-  content: "\f4f0";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.sampling.plus:before {
-  content: "\f4f1";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.share:before {
-  content: "\f4f2";
-  font-family: 'brand-icons';
-}
-i.icon.creative.commons.zero:before {
-  content: "\f4f3";
-  font-family: 'brand-icons';
-}
-i.icon.critical.role:before {
-  content: "\f6c9";
-  font-family: 'brand-icons';
-}
-i.icon.css3:before {
-  content: "\f13c";
-  font-family: 'brand-icons';
-}
-i.icon.css3.alternate:before {
-  content: "\f38b";
-  font-family: 'brand-icons';
-}
-i.icon.cuttlefish:before {
-  content: "\f38c";
-  font-family: 'brand-icons';
-}
-i.icon.d.and.d:before {
-  content: "\f38d";
-  font-family: 'brand-icons';
-}
-i.icon.d.and.d.beyond:before {
-  content: "\f6ca";
-  font-family: 'brand-icons';
-}
-i.icon.dashcube:before {
-  content: "\f210";
-  font-family: 'brand-icons';
-}
-i.icon.delicious:before {
-  content: "\f1a5";
-  font-family: 'brand-icons';
-}
-i.icon.deploydog:before {
-  content: "\f38e";
-  font-family: 'brand-icons';
-}
-i.icon.deskpro:before {
-  content: "\f38f";
-  font-family: 'brand-icons';
-}
-i.icon.dev:before {
-  content: "\f6cc";
-  font-family: 'brand-icons';
-}
-i.icon.deviantart:before {
-  content: "\f1bd";
-  font-family: 'brand-icons';
-}
-i.icon.dhl:before {
-  content: "\f790";
-  font-family: 'brand-icons';
-}
-i.icon.diaspora:before {
-  content: "\f791";
-  font-family: 'brand-icons';
-}
-i.icon.digg:before {
-  content: "\f1a6";
-  font-family: 'brand-icons';
-}
-i.icon.digital.ocean:before {
-  content: "\f391";
-  font-family: 'brand-icons';
-}
-i.icon.discord:before {
-  content: "\f392";
-  font-family: 'brand-icons';
-}
-i.icon.discourse:before {
-  content: "\f393";
-  font-family: 'brand-icons';
-}
-i.icon.dochub:before {
-  content: "\f394";
-  font-family: 'brand-icons';
-}
-i.icon.docker:before {
-  content: "\f395";
-  font-family: 'brand-icons';
-}
-i.icon.draft2digital:before {
-  content: "\f396";
-  font-family: 'brand-icons';
-}
-i.icon.dribbble:before {
-  content: "\f17d";
-  font-family: 'brand-icons';
-}
-i.icon.dribbble.square:before {
-  content: "\f397";
-  font-family: 'brand-icons';
-}
-i.icon.dropbox:before {
-  content: "\f16b";
-  font-family: 'brand-icons';
-}
-i.icon.drupal:before {
-  content: "\f1a9";
-  font-family: 'brand-icons';
-}
-i.icon.dyalog:before {
-  content: "\f399";
-  font-family: 'brand-icons';
-}
-i.icon.earlybirds:before {
-  content: "\f39a";
-  font-family: 'brand-icons';
-}
-i.icon.ebay:before {
-  content: "\f4f4";
-  font-family: 'brand-icons';
-}
-i.icon.edge:before {
-  content: "\f282";
-  font-family: 'brand-icons';
-}
-i.icon.elementor:before {
-  content: "\f430";
-  font-family: 'brand-icons';
-}
-i.icon.ello:before {
-  content: "\f5f1";
-  font-family: 'brand-icons';
-}
-i.icon.ember:before {
-  content: "\f423";
-  font-family: 'brand-icons';
-}
-i.icon.empire:before {
-  content: "\f1d1";
-  font-family: 'brand-icons';
-}
-i.icon.envira:before {
-  content: "\f299";
-  font-family: 'brand-icons';
-}
-i.icon.erlang:before {
-  content: "\f39d";
-  font-family: 'brand-icons';
-}
-i.icon.ethereum:before {
-  content: "\f42e";
-  font-family: 'brand-icons';
-}
-i.icon.etsy:before {
-  content: "\f2d7";
-  font-family: 'brand-icons';
-}
-i.icon.evernote:before {
-  content: "\f839";
-  font-family: 'brand-icons';
-}
-i.icon.expeditedssl:before {
-  content: "\f23e";
-  font-family: 'brand-icons';
-}
-i.icon.facebook:before {
-  content: "\f09a";
-  font-family: 'brand-icons';
-}
-i.icon.facebook.f:before {
-  content: "\f39e";
-  font-family: 'brand-icons';
-}
-i.icon.facebook.messenger:before {
-  content: "\f39f";
-  font-family: 'brand-icons';
-}
-i.icon.facebook.square:before {
-  content: "\f082";
-  font-family: 'brand-icons';
-}
-i.icon.fantasy.flight.games:before {
-  content: "\f6dc";
-  font-family: 'brand-icons';
-}
-i.icon.fedex:before {
-  content: "\f797";
-  font-family: 'brand-icons';
-}
-i.icon.fedora:before {
-  content: "\f798";
-  font-family: 'brand-icons';
-}
-i.icon.figma:before {
-  content: "\f799";
-  font-family: 'brand-icons';
-}
-i.icon.firefox:before {
-  content: "\f269";
-  font-family: 'brand-icons';
-}
-i.icon.first.order:before {
-  content: "\f2b0";
-  font-family: 'brand-icons';
-}
-i.icon.first.order.alternate:before {
-  content: "\f50a";
-  font-family: 'brand-icons';
-}
-i.icon.firstdraft:before {
-  content: "\f3a1";
-  font-family: 'brand-icons';
-}
-i.icon.flickr:before {
-  content: "\f16e";
-  font-family: 'brand-icons';
-}
-i.icon.flipboard:before {
-  content: "\f44d";
-  font-family: 'brand-icons';
-}
-i.icon.fly:before {
-  content: "\f417";
-  font-family: 'brand-icons';
-}
-i.icon.font.awesome:before {
-  content: "\f2b4";
-  font-family: 'brand-icons';
-}
-i.icon.font.awesome.alternate:before {
-  content: "\f35c";
-  font-family: 'brand-icons';
-}
-i.icon.font.awesome.flag:before {
-  content: "\f425";
-  font-family: 'brand-icons';
-}
-i.icon.fonticons:before {
-  content: "\f280";
-  font-family: 'brand-icons';
-}
-i.icon.fonticons.fi:before {
-  content: "\f3a2";
-  font-family: 'brand-icons';
-}
-i.icon.fort.awesome:before {
-  content: "\f286";
-  font-family: 'brand-icons';
-}
-i.icon.fort.awesome.alternate:before {
-  content: "\f3a3";
-  font-family: 'brand-icons';
-}
-i.icon.forumbee:before {
-  content: "\f211";
-  font-family: 'brand-icons';
-}
-i.icon.foursquare:before {
-  content: "\f180";
-  font-family: 'brand-icons';
-}
-i.icon.free.code.camp:before {
-  content: "\f2c5";
-  font-family: 'brand-icons';
-}
-i.icon.freebsd:before {
-  content: "\f3a4";
-  font-family: 'brand-icons';
-}
-i.icon.fulcrum:before {
-  content: "\f50b";
-  font-family: 'brand-icons';
-}
-i.icon.galactic.republic:before {
-  content: "\f50c";
-  font-family: 'brand-icons';
-}
-i.icon.galactic.senate:before {
-  content: "\f50d";
-  font-family: 'brand-icons';
-}
-i.icon.get.pocket:before {
-  content: "\f265";
-  font-family: 'brand-icons';
-}
-i.icon.gg:before {
-  content: "\f260";
-  font-family: 'brand-icons';
-}
-i.icon.gg.circle:before {
-  content: "\f261";
-  font-family: 'brand-icons';
-}
-i.icon.git:before {
-  content: "\f1d3";
-  font-family: 'brand-icons';
-}
-i.icon.git.alternate:before {
-  content: "\f841";
-  font-family: 'brand-icons';
-}
-i.icon.git.square:before {
-  content: "\f1d2";
-  font-family: 'brand-icons';
-}
-i.icon.github:before {
-  content: "\f09b";
-  font-family: 'brand-icons';
-}
-i.icon.github.alternate:before {
-  content: "\f113";
-  font-family: 'brand-icons';
-}
-i.icon.github.square:before {
-  content: "\f092";
-  font-family: 'brand-icons';
-}
-i.icon.gitkraken:before {
-  content: "\f3a6";
-  font-family: 'brand-icons';
-}
-i.icon.gitlab:before {
-  content: "\f296";
-  font-family: 'brand-icons';
-}
-i.icon.gitter:before {
-  content: "\f426";
-  font-family: 'brand-icons';
-}
-i.icon.glide:before {
-  content: "\f2a5";
-  font-family: 'brand-icons';
-}
-i.icon.glide.g:before {
-  content: "\f2a6";
-  font-family: 'brand-icons';
-}
-i.icon.gofore:before {
-  content: "\f3a7";
-  font-family: 'brand-icons';
-}
-i.icon.goodreads:before {
-  content: "\f3a8";
-  font-family: 'brand-icons';
-}
-i.icon.goodreads.g:before {
-  content: "\f3a9";
-  font-family: 'brand-icons';
-}
-i.icon.google:before {
-  content: "\f1a0";
-  font-family: 'brand-icons';
-}
-i.icon.google.drive:before {
-  content: "\f3aa";
-  font-family: 'brand-icons';
-}
-i.icon.google.play:before {
-  content: "\f3ab";
-  font-family: 'brand-icons';
-}
-i.icon.google.plus:before {
-  content: "\f2b3";
-  font-family: 'brand-icons';
-}
-i.icon.google.plus.g:before {
-  content: "\f0d5";
-  font-family: 'brand-icons';
-}
-i.icon.google.plus.square:before {
-  content: "\f0d4";
-  font-family: 'brand-icons';
-}
-i.icon.google.wallet:before {
-  content: "\f1ee";
-  font-family: 'brand-icons';
-}
-i.icon.gratipay:before {
-  content: "\f184";
-  font-family: 'brand-icons';
-}
-i.icon.grav:before {
-  content: "\f2d6";
-  font-family: 'brand-icons';
-}
-i.icon.gripfire:before {
-  content: "\f3ac";
-  font-family: 'brand-icons';
-}
-i.icon.grunt:before {
-  content: "\f3ad";
-  font-family: 'brand-icons';
-}
-i.icon.gulp:before {
-  content: "\f3ae";
-  font-family: 'brand-icons';
-}
-i.icon.hacker.news:before {
-  content: "\f1d4";
-  font-family: 'brand-icons';
-}
-i.icon.hacker.news.square:before {
-  content: "\f3af";
-  font-family: 'brand-icons';
-}
-i.icon.hackerrank:before {
-  content: "\f5f7";
-  font-family: 'brand-icons';
-}
-i.icon.hips:before {
-  content: "\f452";
-  font-family: 'brand-icons';
-}
-i.icon.hire.a.helper:before {
-  content: "\f3b0";
-  font-family: 'brand-icons';
-}
-i.icon.hooli:before {
-  content: "\f427";
-  font-family: 'brand-icons';
-}
-i.icon.hornbill:before {
-  content: "\f592";
-  font-family: 'brand-icons';
-}
-i.icon.hotjar:before {
-  content: "\f3b1";
-  font-family: 'brand-icons';
-}
-i.icon.houzz:before {
-  content: "\f27c";
-  font-family: 'brand-icons';
-}
-i.icon.html5:before {
-  content: "\f13b";
-  font-family: 'brand-icons';
-}
-i.icon.hubspot:before {
-  content: "\f3b2";
-  font-family: 'brand-icons';
-}
-i.icon.imdb:before {
-  content: "\f2d8";
-  font-family: 'brand-icons';
-}
-i.icon.instagram:before {
-  content: "\f16d";
-  font-family: 'brand-icons';
-}
-i.icon.intercom:before {
-  content: "\f7af";
-  font-family: 'brand-icons';
-}
-i.icon.internet.explorer:before {
-  content: "\f26b";
-  font-family: 'brand-icons';
-}
-i.icon.invision:before {
-  content: "\f7b0";
-  font-family: 'brand-icons';
-}
-i.icon.ioxhost:before {
-  content: "\f208";
-  font-family: 'brand-icons';
-}
-i.icon.itch.io:before {
-  content: "\f83a";
-  font-family: 'brand-icons';
-}
-i.icon.itunes:before {
-  content: "\f3b4";
-  font-family: 'brand-icons';
-}
-i.icon.itunes.note:before {
-  content: "\f3b5";
-  font-family: 'brand-icons';
-}
-i.icon.java:before {
-  content: "\f4e4";
-  font-family: 'brand-icons';
-}
-i.icon.jedi.order:before {
-  content: "\f50e";
-  font-family: 'brand-icons';
-}
-i.icon.jenkins:before {
-  content: "\f3b6";
-  font-family: 'brand-icons';
-}
-i.icon.jira:before {
-  content: "\f7b1";
-  font-family: 'brand-icons';
-}
-i.icon.joget:before {
-  content: "\f3b7";
-  font-family: 'brand-icons';
-}
-i.icon.joomla:before {
-  content: "\f1aa";
-  font-family: 'brand-icons';
-}
-i.icon.js:before {
-  content: "\f3b8";
-  font-family: 'brand-icons';
-}
-i.icon.js.square:before {
-  content: "\f3b9";
-  font-family: 'brand-icons';
-}
-i.icon.jsfiddle:before {
-  content: "\f1cc";
-  font-family: 'brand-icons';
-}
-i.icon.kaggle:before {
-  content: "\f5fa";
-  font-family: 'brand-icons';
-}
-i.icon.keybase:before {
-  content: "\f4f5";
-  font-family: 'brand-icons';
-}
-i.icon.keycdn:before {
-  content: "\f3ba";
-  font-family: 'brand-icons';
-}
-i.icon.kickstarter:before {
-  content: "\f3bb";
-  font-family: 'brand-icons';
-}
-i.icon.kickstarter.k:before {
-  content: "\f3bc";
-  font-family: 'brand-icons';
-}
-i.icon.korvue:before {
-  content: "\f42f";
-  font-family: 'brand-icons';
-}
-i.icon.laravel:before {
-  content: "\f3bd";
-  font-family: 'brand-icons';
-}
-i.icon.lastfm:before {
-  content: "\f202";
-  font-family: 'brand-icons';
-}
-i.icon.lastfm.square:before {
-  content: "\f203";
-  font-family: 'brand-icons';
-}
-i.icon.leanpub:before {
-  content: "\f212";
-  font-family: 'brand-icons';
-}
-i.icon.lesscss:before {
-  content: "\f41d";
-  font-family: 'brand-icons';
-}
-i.icon.linechat:before {
-  content: "\f3c0";
-  font-family: 'brand-icons';
-}
-i.icon.linkedin:before {
-  content: "\f08c";
-  font-family: 'brand-icons';
-}
-i.icon.linkedin.in:before {
-  content: "\f0e1";
-  font-family: 'brand-icons';
-}
-i.icon.linode:before {
-  content: "\f2b8";
-  font-family: 'brand-icons';
-}
-i.icon.linux:before {
-  content: "\f17c";
-  font-family: 'brand-icons';
-}
-i.icon.lyft:before {
-  content: "\f3c3";
-  font-family: 'brand-icons';
-}
-i.icon.magento:before {
-  content: "\f3c4";
-  font-family: 'brand-icons';
-}
-i.icon.mailchimp:before {
-  content: "\f59e";
-  font-family: 'brand-icons';
-}
-i.icon.mandalorian:before {
-  content: "\f50f";
-  font-family: 'brand-icons';
-}
-i.icon.markdown:before {
-  content: "\f60f";
-  font-family: 'brand-icons';
-}
-i.icon.mastodon:before {
-  content: "\f4f6";
-  font-family: 'brand-icons';
-}
-i.icon.maxcdn:before {
-  content: "\f136";
-  font-family: 'brand-icons';
-}
-i.icon.medapps:before {
-  content: "\f3c6";
-  font-family: 'brand-icons';
-}
-i.icon.medium:before {
-  content: "\f23a";
-  font-family: 'brand-icons';
-}
-i.icon.medium.m:before {
-  content: "\f3c7";
-  font-family: 'brand-icons';
-}
-i.icon.medrt:before {
-  content: "\f3c8";
-  font-family: 'brand-icons';
-}
-i.icon.meetup:before {
-  content: "\f2e0";
-  font-family: 'brand-icons';
-}
-i.icon.megaport:before {
-  content: "\f5a3";
-  font-family: 'brand-icons';
-}
-i.icon.mendeley:before {
-  content: "\f7b3";
-  font-family: 'brand-icons';
-}
-i.icon.microsoft:before {
-  content: "\f3ca";
-  font-family: 'brand-icons';
-}
-i.icon.mix:before {
-  content: "\f3cb";
-  font-family: 'brand-icons';
-}
-i.icon.mixcloud:before {
-  content: "\f289";
-  font-family: 'brand-icons';
-}
-i.icon.mizuni:before {
-  content: "\f3cc";
-  font-family: 'brand-icons';
-}
-i.icon.modx:before {
-  content: "\f285";
-  font-family: 'brand-icons';
-}
-i.icon.monero:before {
-  content: "\f3d0";
-  font-family: 'brand-icons';
-}
-i.icon.napster:before {
-  content: "\f3d2";
-  font-family: 'brand-icons';
-}
-i.icon.neos:before {
-  content: "\f612";
-  font-family: 'brand-icons';
-}
-i.icon.nimblr:before {
-  content: "\f5a8";
-  font-family: 'brand-icons';
-}
-i.icon.node:before {
-  content: "\f419";
-  font-family: 'brand-icons';
-}
-i.icon.node.js:before {
-  content: "\f3d3";
-  font-family: 'brand-icons';
-}
-i.icon.npm:before {
-  content: "\f3d4";
-  font-family: 'brand-icons';
-}
-i.icon.ns8:before {
-  content: "\f3d5";
-  font-family: 'brand-icons';
-}
-i.icon.nutritionix:before {
-  content: "\f3d6";
-  font-family: 'brand-icons';
-}
-i.icon.odnoklassniki:before {
-  content: "\f263";
-  font-family: 'brand-icons';
-}
-i.icon.odnoklassniki.square:before {
-  content: "\f264";
-  font-family: 'brand-icons';
-}
-i.icon.old.republic:before {
-  content: "\f510";
-  font-family: 'brand-icons';
-}
-i.icon.opencart:before {
-  content: "\f23d";
-  font-family: 'brand-icons';
-}
-i.icon.openid:before {
-  content: "\f19b";
-  font-family: 'brand-icons';
-}
-i.icon.opera:before {
-  content: "\f26a";
-  font-family: 'brand-icons';
-}
-i.icon.optin.monster:before {
-  content: "\f23c";
-  font-family: 'brand-icons';
-}
-i.icon.osi:before {
-  content: "\f41a";
-  font-family: 'brand-icons';
-}
-i.icon.page4:before {
-  content: "\f3d7";
-  font-family: 'brand-icons';
-}
-i.icon.pagelines:before {
-  content: "\f18c";
-  font-family: 'brand-icons';
-}
-i.icon.palfed:before {
-  content: "\f3d8";
-  font-family: 'brand-icons';
-}
-i.icon.patreon:before {
-  content: "\f3d9";
-  font-family: 'brand-icons';
-}
-i.icon.paypal:before {
-  content: "\f1ed";
-  font-family: 'brand-icons';
-}
-i.icon.penny.arcade:before {
-  content: "\f704";
-  font-family: 'brand-icons';
-}
-i.icon.periscope:before {
-  content: "\f3da";
-  font-family: 'brand-icons';
-}
-i.icon.phabricator:before {
-  content: "\f3db";
-  font-family: 'brand-icons';
-}
-i.icon.phoenix.framework:before {
-  content: "\f3dc";
-  font-family: 'brand-icons';
-}
-i.icon.phoenix.squadron:before {
-  content: "\f511";
-  font-family: 'brand-icons';
-}
-i.icon.php:before {
-  content: "\f457";
-  font-family: 'brand-icons';
-}
-i.icon.pied.piper:before {
-  content: "\f2ae";
-  font-family: 'brand-icons';
-}
-i.icon.pied.piper.alternate:before {
-  content: "\f1a8";
-  font-family: 'brand-icons';
-}
-i.icon.pied.piper.hat:before {
-  content: "\f4e5";
-  font-family: 'brand-icons';
-}
-i.icon.pied.piper.pp:before {
-  content: "\f1a7";
-  font-family: 'brand-icons';
-}
-i.icon.pinterest:before {
-  content: "\f0d2";
-  font-family: 'brand-icons';
-}
-i.icon.pinterest.p:before {
-  content: "\f231";
-  font-family: 'brand-icons';
-}
-i.icon.pinterest.square:before {
-  content: "\f0d3";
-  font-family: 'brand-icons';
-}
-i.icon.playstation:before {
-  content: "\f3df";
-  font-family: 'brand-icons';
-}
-i.icon.product.hunt:before {
-  content: "\f288";
-  font-family: 'brand-icons';
-}
-i.icon.pushed:before {
-  content: "\f3e1";
-  font-family: 'brand-icons';
-}
-i.icon.python:before {
-  content: "\f3e2";
-  font-family: 'brand-icons';
-}
-i.icon.qq:before {
-  content: "\f1d6";
-  font-family: 'brand-icons';
-}
-i.icon.quinscape:before {
-  content: "\f459";
-  font-family: 'brand-icons';
-}
-i.icon.quora:before {
-  content: "\f2c4";
-  font-family: 'brand-icons';
-}
-i.icon.r.project:before {
-  content: "\f4f7";
-  font-family: 'brand-icons';
-}
-i.icon.raspberry.pi:before {
-  content: "\f7bb";
-  font-family: 'brand-icons';
-}
-i.icon.ravelry:before {
-  content: "\f2d9";
-  font-family: 'brand-icons';
-}
-i.icon.react:before {
-  content: "\f41b";
-  font-family: 'brand-icons';
-}
-i.icon.reacteurope:before {
-  content: "\f75d";
-  font-family: 'brand-icons';
-}
-i.icon.readme:before {
-  content: "\f4d5";
-  font-family: 'brand-icons';
-}
-i.icon.rebel:before {
-  content: "\f1d0";
-  font-family: 'brand-icons';
-}
-i.icon.reddit:before {
-  content: "\f1a1";
-  font-family: 'brand-icons';
-}
-i.icon.reddit.alien:before {
-  content: "\f281";
-  font-family: 'brand-icons';
-}
-i.icon.reddit.square:before {
-  content: "\f1a2";
-  font-family: 'brand-icons';
-}
-i.icon.redhat:before {
-  content: "\f7bc";
-  font-family: 'brand-icons';
-}
-i.icon.redriver:before {
-  content: "\f3e3";
-  font-family: 'brand-icons';
-}
-i.icon.redyeti:before {
-  content: "\f69d";
-  font-family: 'brand-icons';
-}
-i.icon.renren:before {
-  content: "\f18b";
-  font-family: 'brand-icons';
-}
-i.icon.replyd:before {
-  content: "\f3e6";
-  font-family: 'brand-icons';
-}
-i.icon.researchgate:before {
-  content: "\f4f8";
-  font-family: 'brand-icons';
-}
-i.icon.resolving:before {
-  content: "\f3e7";
-  font-family: 'brand-icons';
-}
-i.icon.rev:before {
-  content: "\f5b2";
-  font-family: 'brand-icons';
-}
-i.icon.rocketchat:before {
-  content: "\f3e8";
-  font-family: 'brand-icons';
-}
-i.icon.rockrms:before {
-  content: "\f3e9";
-  font-family: 'brand-icons';
-}
-i.icon.safari:before {
-  content: "\f267";
-  font-family: 'brand-icons';
-}
-i.icon.salesforce:before {
-  content: "\f83b";
-  font-family: 'brand-icons';
-}
-i.icon.sass:before {
-  content: "\f41e";
-  font-family: 'brand-icons';
-}
-i.icon.schlix:before {
-  content: "\f3ea";
-  font-family: 'brand-icons';
-}
-i.icon.scribd:before {
-  content: "\f28a";
-  font-family: 'brand-icons';
-}
-i.icon.searchengin:before {
-  content: "\f3eb";
-  font-family: 'brand-icons';
-}
-i.icon.sellcast:before {
-  content: "\f2da";
-  font-family: 'brand-icons';
-}
-i.icon.sellsy:before {
-  content: "\f213";
-  font-family: 'brand-icons';
-}
-i.icon.servicestack:before {
-  content: "\f3ec";
-  font-family: 'brand-icons';
-}
-i.icon.shirtsinbulk:before {
-  content: "\f214";
-  font-family: 'brand-icons';
-}
-i.icon.shopware:before {
-  content: "\f5b5";
-  font-family: 'brand-icons';
-}
-i.icon.simplybuilt:before {
-  content: "\f215";
-  font-family: 'brand-icons';
-}
-i.icon.sistrix:before {
-  content: "\f3ee";
-  font-family: 'brand-icons';
-}
-i.icon.sith:before {
-  content: "\f512";
-  font-family: 'brand-icons';
-}
-i.icon.sketch:before {
-  content: "\f7c6";
-  font-family: 'brand-icons';
-}
-i.icon.skyatlas:before {
-  content: "\f216";
-  font-family: 'brand-icons';
-}
-i.icon.skype:before {
-  content: "\f17e";
-  font-family: 'brand-icons';
-}
-i.icon.slack:before {
-  content: "\f198";
-  font-family: 'brand-icons';
-}
-i.icon.slack.hash:before {
-  content: "\f3ef";
-  font-family: 'brand-icons';
-}
-i.icon.slideshare:before {
-  content: "\f1e7";
-  font-family: 'brand-icons';
-}
-i.icon.snapchat:before {
-  content: "\f2ab";
-  font-family: 'brand-icons';
-}
-i.icon.snapchat.ghost:before {
-  content: "\f2ac";
-  font-family: 'brand-icons';
-}
-i.icon.snapchat.square:before {
-  content: "\f2ad";
-  font-family: 'brand-icons';
-}
-i.icon.soundcloud:before {
-  content: "\f1be";
-  font-family: 'brand-icons';
-}
-i.icon.sourcetree:before {
-  content: "\f7d3";
-  font-family: 'brand-icons';
-}
-i.icon.speakap:before {
-  content: "\f3f3";
-  font-family: 'brand-icons';
-}
-i.icon.speaker.deck:before {
-  content: "\f83c";
-  font-family: 'brand-icons';
-}
-i.icon.spotify:before {
-  content: "\f1bc";
-  font-family: 'brand-icons';
-}
-i.icon.squarespace:before {
-  content: "\f5be";
-  font-family: 'brand-icons';
-}
-i.icon.stack.exchange:before {
-  content: "\f18d";
-  font-family: 'brand-icons';
-}
-i.icon.stack.overflow:before {
-  content: "\f16c";
-  font-family: 'brand-icons';
-}
-i.icon.stackpath:before {
-  content: "\f842";
-  font-family: 'brand-icons';
-}
-i.icon.staylinked:before {
-  content: "\f3f5";
-  font-family: 'brand-icons';
-}
-i.icon.steam:before {
-  content: "\f1b6";
-  font-family: 'brand-icons';
-}
-i.icon.steam.square:before {
-  content: "\f1b7";
-  font-family: 'brand-icons';
-}
-i.icon.steam.symbol:before {
-  content: "\f3f6";
-  font-family: 'brand-icons';
-}
-i.icon.sticker.mule:before {
-  content: "\f3f7";
-  font-family: 'brand-icons';
-}
-i.icon.strava:before {
-  content: "\f428";
-  font-family: 'brand-icons';
-}
-i.icon.stripe:before {
-  content: "\f429";
-  font-family: 'brand-icons';
-}
-i.icon.stripe.s:before {
-  content: "\f42a";
-  font-family: 'brand-icons';
-}
-i.icon.studiovinari:before {
-  content: "\f3f8";
-  font-family: 'brand-icons';
-}
-i.icon.stumbleupon:before {
-  content: "\f1a4";
-  font-family: 'brand-icons';
-}
-i.icon.stumbleupon.circle:before {
-  content: "\f1a3";
-  font-family: 'brand-icons';
-}
-i.icon.superpowers:before {
-  content: "\f2dd";
-  font-family: 'brand-icons';
-}
-i.icon.supple:before {
-  content: "\f3f9";
-  font-family: 'brand-icons';
-}
-i.icon.suse:before {
-  content: "\f7d6";
-  font-family: 'brand-icons';
-}
-i.icon.symfony:before {
-  content: "\f83d";
-  font-family: 'brand-icons';
-}
-i.icon.teamspeak:before {
-  content: "\f4f9";
-  font-family: 'brand-icons';
-}
-i.icon.telegram:before {
-  content: "\f2c6";
-  font-family: 'brand-icons';
-}
-i.icon.telegram.plane:before {
-  content: "\f3fe";
-  font-family: 'brand-icons';
-}
-i.icon.tencent.weibo:before {
-  content: "\f1d5";
-  font-family: 'brand-icons';
-}
-i.icon.themeco:before {
-  content: "\f5c6";
-  font-family: 'brand-icons';
-}
-i.icon.themeisle:before {
-  content: "\f2b2";
-  font-family: 'brand-icons';
-}
-i.icon.think.peaks:before {
-  content: "\f731";
-  font-family: 'brand-icons';
-}
-i.icon.trade.federation:before {
-  content: "\f513";
-  font-family: 'brand-icons';
-}
-i.icon.trello:before {
-  content: "\f181";
-  font-family: 'brand-icons';
-}
-i.icon.tripadvisor:before {
-  content: "\f262";
-  font-family: 'brand-icons';
-}
-i.icon.tumblr:before {
-  content: "\f173";
-  font-family: 'brand-icons';
-}
-i.icon.tumblr.square:before {
-  content: "\f174";
-  font-family: 'brand-icons';
-}
-i.icon.twitch:before {
-  content: "\f1e8";
-  font-family: 'brand-icons';
-}
-i.icon.twitter:before {
-  content: "\f099";
-  font-family: 'brand-icons';
-}
-i.icon.twitter.square:before {
-  content: "\f081";
-  font-family: 'brand-icons';
-}
-i.icon.typo3:before {
-  content: "\f42b";
-  font-family: 'brand-icons';
-}
-i.icon.uber:before {
-  content: "\f402";
-  font-family: 'brand-icons';
-}
-i.icon.ubuntu:before {
-  content: "\f7df";
-  font-family: 'brand-icons';
-}
-i.icon.uikit:before {
-  content: "\f403";
-  font-family: 'brand-icons';
-}
-i.icon.uniregistry:before {
-  content: "\f404";
-  font-family: 'brand-icons';
-}
-i.icon.untappd:before {
-  content: "\f405";
-  font-family: 'brand-icons';
-}
-i.icon.ups:before {
-  content: "\f7e0";
-  font-family: 'brand-icons';
-}
-i.icon.usb:before {
-  content: "\f287";
-  font-family: 'brand-icons';
-}
-i.icon.usps:before {
-  content: "\f7e1";
-  font-family: 'brand-icons';
-}
-i.icon.ussunnah:before {
-  content: "\f407";
-  font-family: 'brand-icons';
-}
-i.icon.vaadin:before {
-  content: "\f408";
-  font-family: 'brand-icons';
-}
-i.icon.viacoin:before {
-  content: "\f237";
-  font-family: 'brand-icons';
-}
-i.icon.viadeo:before {
-  content: "\f2a9";
-  font-family: 'brand-icons';
-}
-i.icon.viadeo.square:before {
-  content: "\f2aa";
-  font-family: 'brand-icons';
-}
-i.icon.viber:before {
-  content: "\f409";
-  font-family: 'brand-icons';
-}
-i.icon.vimeo:before {
-  content: "\f40a";
-  font-family: 'brand-icons';
-}
-i.icon.vimeo.square:before {
-  content: "\f194";
-  font-family: 'brand-icons';
-}
-i.icon.vimeo.v:before {
-  content: "\f27d";
-  font-family: 'brand-icons';
-}
-i.icon.vine:before {
-  content: "\f1ca";
-  font-family: 'brand-icons';
-}
-i.icon.vk:before {
-  content: "\f189";
-  font-family: 'brand-icons';
-}
-i.icon.vnv:before {
-  content: "\f40b";
-  font-family: 'brand-icons';
-}
-i.icon.vuejs:before {
-  content: "\f41f";
-  font-family: 'brand-icons';
-}
-i.icon.waze:before {
-  content: "\f83f";
-  font-family: 'brand-icons';
-}
-i.icon.weebly:before {
-  content: "\f5cc";
-  font-family: 'brand-icons';
-}
-i.icon.weibo:before {
-  content: "\f18a";
-  font-family: 'brand-icons';
-}
-i.icon.weixin:before {
-  content: "\f1d7";
-  font-family: 'brand-icons';
-}
-i.icon.whatsapp:before {
-  content: "\f232";
-  font-family: 'brand-icons';
-}
-i.icon.whatsapp.square:before {
-  content: "\f40c";
-  font-family: 'brand-icons';
-}
-i.icon.whmcs:before {
-  content: "\f40d";
-  font-family: 'brand-icons';
-}
-i.icon.wikipedia.w:before {
-  content: "\f266";
-  font-family: 'brand-icons';
-}
-i.icon.windows:before {
-  content: "\f17a";
-  font-family: 'brand-icons';
-}
-i.icon.wix:before {
-  content: "\f5cf";
-  font-family: 'brand-icons';
-}
-i.icon.wizards.of.the.coast:before {
-  content: "\f730";
-  font-family: 'brand-icons';
-}
-i.icon.wolf.pack.battalion:before {
-  content: "\f514";
-  font-family: 'brand-icons';
-}
-i.icon.wordpress:before {
-  content: "\f19a";
-  font-family: 'brand-icons';
-}
-i.icon.wordpress.simple:before {
-  content: "\f411";
-  font-family: 'brand-icons';
-}
-i.icon.wpbeginner:before {
-  content: "\f297";
-  font-family: 'brand-icons';
-}
-i.icon.wpexplorer:before {
-  content: "\f2de";
-  font-family: 'brand-icons';
-}
-i.icon.wpforms:before {
-  content: "\f298";
-  font-family: 'brand-icons';
-}
-i.icon.wpressr:before {
-  content: "\f3e4";
-  font-family: 'brand-icons';
-}
-i.icon.xbox:before {
-  content: "\f412";
-  font-family: 'brand-icons';
-}
-i.icon.xing:before {
-  content: "\f168";
-  font-family: 'brand-icons';
-}
-i.icon.xing.square:before {
-  content: "\f169";
-  font-family: 'brand-icons';
-}
-i.icon.y.combinator:before {
-  content: "\f23b";
-  font-family: 'brand-icons';
-}
-i.icon.yahoo:before {
-  content: "\f19e";
-  font-family: 'brand-icons';
-}
-i.icon.yammer:before {
-  content: "\f840";
-  font-family: 'brand-icons';
-}
-i.icon.yandex:before {
-  content: "\f413";
-  font-family: 'brand-icons';
-}
-i.icon.yandex.international:before {
-  content: "\f414";
-  font-family: 'brand-icons';
-}
-i.icon.yarn:before {
-  content: "\f7e3";
-  font-family: 'brand-icons';
-}
-i.icon.yelp:before {
-  content: "\f1e9";
-  font-family: 'brand-icons';
-}
-i.icon.yoast:before {
-  content: "\f2b1";
-  font-family: 'brand-icons';
-}
-i.icon.youtube:before {
-  content: "\f167";
-  font-family: 'brand-icons';
-}
-i.icon.youtube.square:before {
-  content: "\f431";
-  font-family: 'brand-icons';
-}
-i.icon.zhihu:before {
-  content: "\f63f";
-  font-family: 'brand-icons';
-}
-
-/* Aliases */
-i.icon.american.express:before {
-  content: "\f1f3";
-  font-family: 'brand-icons';
-}
-i.icon.american.express.card:before {
-  content: "\f1f3";
-  font-family: 'brand-icons';
-}
-i.icon.amex:before {
-  content: "\f1f3";
-  font-family: 'brand-icons';
-}
-i.icon.bitbucket.square:before {
-  content: "\f171";
-  font-family: 'brand-icons';
-}
-i.icon.bluetooth.alternative:before {
-  content: "\f294";
-  font-family: 'brand-icons';
-}
-i.icon.credit.card.amazon.pay:before {
-  content: "\f42d";
-  font-family: 'brand-icons';
-}
-i.icon.credit.card.american.express:before {
-  content: "\f1f3";
-  font-family: 'brand-icons';
-}
-i.icon.credit.card.diners.club:before {
-  content: "\f24c";
-  font-family: 'brand-icons';
-}
-i.icon.credit.card.discover:before {
-  content: "\f1f2";
-  font-family: 'brand-icons';
-}
-i.icon.credit.card.jcb:before {
-  content: "\f24b";
-  font-family: 'brand-icons';
-}
-i.icon.credit.card.mastercard:before {
-  content: "\f1f1";
-  font-family: 'brand-icons';
-}
-i.icon.credit.card.paypal:before {
-  content: "\f1f4";
-  font-family: 'brand-icons';
-}
-i.icon.credit.card.stripe:before {
-  content: "\f1f5";
-  font-family: 'brand-icons';
-}
-i.icon.credit.card.visa:before {
-  content: "\f1f0";
-  font-family: 'brand-icons';
-}
-i.icon.diners.club:before {
-  content: "\f24c";
-  font-family: 'brand-icons';
-}
-i.icon.diners.club.card:before {
-  content: "\f24c";
-  font-family: 'brand-icons';
-}
-i.icon.discover:before {
-  content: "\f1f2";
-  font-family: 'brand-icons';
-}
-i.icon.discover.card:before {
-  content: "\f1f2";
-  font-family: 'brand-icons';
-}
-i.icon.disk.outline:before {
-  content: "\f369";
-  font-family: 'brand-icons';
-}
-i.icon.dribble:before {
-  content: "\f17d";
-  font-family: 'brand-icons';
-}
-i.icon.eercast:before {
-  content: "\f2da";
-  font-family: 'brand-icons';
-}
-i.icon.envira.gallery:before {
-  content: "\f299";
-  font-family: 'brand-icons';
-}
-i.icon.fa:before {
-  content: "\f2b4";
-  font-family: 'brand-icons';
-}
-i.icon.facebook.official:before {
-  content: "\f082";
-  font-family: 'brand-icons';
-}
-i.icon.five.hundred.pixels:before {
-  content: "\f26e";
-  font-family: 'brand-icons';
-}
-i.icon.gittip:before {
-  content: "\f184";
-  font-family: 'brand-icons';
-}
-i.icon.google.plus.circle:before {
-  content: "\f2b3";
-  font-family: 'brand-icons';
-}
-i.icon.google.plus.official:before {
-  content: "\f2b3";
-  font-family: 'brand-icons';
-}
-i.icon.japan.credit.bureau:before {
-  content: "\f24b";
-  font-family: 'brand-icons';
-}
-i.icon.japan.credit.bureau.card:before {
-  content: "\f24b";
-  font-family: 'brand-icons';
-}
-i.icon.jcb:before {
-  content: "\f24b";
-  font-family: 'brand-icons';
-}
-i.icon.linkedin.square:before {
-  content: "\f08c";
-  font-family: 'brand-icons';
-}
-i.icon.mastercard:before {
-  content: "\f1f1";
-  font-family: 'brand-icons';
-}
-i.icon.mastercard.card:before {
-  content: "\f1f1";
-  font-family: 'brand-icons';
-}
-i.icon.microsoft.edge:before {
-  content: "\f282";
-  font-family: 'brand-icons';
-}
-i.icon.ms.edge:before {
-  content: "\f282";
-  font-family: 'brand-icons';
-}
-i.icon.new.pied.piper:before {
-  content: "\f2ae";
-  font-family: 'brand-icons';
-}
-i.icon.optinmonster:before {
-  content: "\f23c";
-  font-family: 'brand-icons';
-}
-i.icon.paypal.card:before {
-  content: "\f1f4";
-  font-family: 'brand-icons';
-}
-i.icon.pied.piper.hat:before {
-  content: "\f2ae";
-  font-family: 'brand-icons';
-}
-i.icon.pocket:before {
-  content: "\f265";
-  font-family: 'brand-icons';
-}
-i.icon.stripe.card:before {
-  content: "\f1f5";
-  font-family: 'brand-icons';
-}
-i.icon.theme.isle:before {
-  content: "\f2b2";
-  font-family: 'brand-icons';
-}
-i.icon.visa:before {
-  content: "\f1f0";
-  font-family: 'brand-icons';
-}
-i.icon.visa.card:before {
-  content: "\f1f0";
-  font-family: 'brand-icons';
-}
-i.icon.wechat:before {
-  content: "\f1d7";
-  font-family: 'brand-icons';
-}
-i.icon.wikipedia:before {
-  content: "\f266";
-  font-family: 'brand-icons';
-}
-i.icon.wordpress.beginner:before {
-  content: "\f297";
-  font-family: 'brand-icons';
-}
-i.icon.wordpress.forms:before {
-  content: "\f298";
-  font-family: 'brand-icons';
-}
-i.icon.yc:before {
-  content: "\f23b";
-  font-family: 'brand-icons';
-}
-i.icon.ycombinator:before {
-  content: "\f23b";
-  font-family: 'brand-icons';
-}
-i.icon.youtube.play:before {
-  content: "\f167";
-  font-family: 'brand-icons';
-}
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/icon.min.css


+ 0 - 310
webgui/static/components/image.css

@@ -1,310 +0,0 @@
-/*!
- * # Fomantic-UI - Image
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * 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: transparent;
-}
-img.ui.image {
-  display: block;
-}
-.ui.image svg,
-.ui.image img {
-  display: block;
-  max-width: 100%;
-  height: auto;
-}
-
-
-/*******************************
-            States
-*******************************/
-
-.ui.hidden.images,
-.ui.ui.hidden.image {
-  display: none;
-}
-.ui.hidden.transition.images,
-.ui.hidden.transition.image {
-  display: block;
-  visibility: hidden;
-}
-.ui.images > .hidden.transition {
-  display: inline-block;
-  visibility: hidden;
-}
-.ui.disabled.images,
-.ui.disabled.image {
-  cursor: default;
-  opacity: 0.45;
-}
-
-
-/*******************************
-          Variations
-*******************************/
-
-
-/*--------------
-     Inline
----------------*/
-
-.ui.inline.image,
-.ui.inline.image svg,
-.ui.inline.image img {
-  display: inline-block;
-}
-
-/*------------------
-  Vertical Aligned
--------------------*/
-
-.ui.top.aligned.images .image,
-.ui.top.aligned.image,
-.ui.top.aligned.image svg,
-.ui.top.aligned.image img {
-  display: inline-block;
-  vertical-align: top;
-}
-.ui.middle.aligned.images .image,
-.ui.middle.aligned.image,
-.ui.middle.aligned.image svg,
-.ui.middle.aligned.image img {
-  display: inline-block;
-  vertical-align: middle;
-}
-.ui.bottom.aligned.images .image,
-.ui.bottom.aligned.image,
-.ui.bottom.aligned.image svg,
-.ui.bottom.aligned.image img {
-  display: inline-block;
-  vertical-align: bottom;
-}
-
-/*--------------
-     Rounded
----------------*/
-
-.ui.rounded.images .image,
-.ui.rounded.image,
-.ui.rounded.images .image > *,
-.ui.rounded.image > * {
-  border-radius: 0.3125em;
-}
-
-/*--------------
-    Bordered
----------------*/
-
-.ui.bordered.images .image,
-.ui.bordered.images img,
-.ui.bordered.images svg,
-.ui.bordered.image img,
-.ui.bordered.image svg,
-img.ui.bordered.image {
-  border: 1px solid rgba(0, 0, 0, 0.1);
-}
-
-/*--------------
-    Circular
----------------*/
-
-.ui.circular.images,
-.ui.circular.image {
-  overflow: hidden;
-}
-.ui.circular.images .image,
-.ui.circular.image,
-.ui.circular.images .image > *,
-.ui.circular.image > * {
-  border-radius: 500rem;
-}
-
-/*--------------
-     Fluid
----------------*/
-
-.ui.fluid.images,
-.ui.fluid.image,
-.ui.fluid.images img,
-.ui.fluid.images svg,
-.ui.fluid.image svg,
-.ui.fluid.image img {
-  display: block;
-  width: 100%;
-  height: auto;
-}
-
-/*--------------
-     Avatar
----------------*/
-
-.ui.avatar.images .image,
-.ui.avatar.images img,
-.ui.avatar.images svg,
-.ui.avatar.image img,
-.ui.avatar.image svg,
-.ui.avatar.image {
-  margin-right: 0.25em;
-  display: inline-block;
-  width: 2em;
-  height: 2em;
-  border-radius: 500rem;
-}
-
-/*-------------------
-       Spaced
---------------------*/
-
-.ui.spaced.image {
-  display: inline-block !important;
-  margin-left: 0.5em;
-  margin-right: 0.5em;
-}
-.ui[class*="left spaced"].image {
-  margin-left: 0.5em;
-  margin-right: 0;
-}
-.ui[class*="right spaced"].image {
-  margin-left: 0;
-  margin-right: 0.5em;
-}
-
-/*-------------------
-       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-right: 0;
-  margin-bottom: 1em;
-  margin-left: 1em;
-}
-.ui.floated.images:last-child,
-.ui.floated.image:last-child {
-  margin-bottom: 0;
-}
-.ui.centered.images,
-.ui.centered.image {
-  margin-left: auto;
-  margin-right: auto;
-}
-
-/*--------------
-     Sizes
----------------*/
-
-.ui.mini.images .image,
-.ui.mini.images img,
-.ui.mini.images svg,
-.ui.mini.image {
-  width: 35px;
-  height: auto;
-  font-size: 0.78571429rem;
-}
-.ui.tiny.images .image,
-.ui.tiny.images img,
-.ui.tiny.images svg,
-.ui.tiny.image {
-  width: 80px;
-  height: auto;
-  font-size: 0.85714286rem;
-}
-.ui.small.images .image,
-.ui.small.images img,
-.ui.small.images svg,
-.ui.small.image {
-  width: 150px;
-  height: auto;
-  font-size: 0.92857143rem;
-}
-.ui.medium.images .image,
-.ui.medium.images img,
-.ui.medium.images svg,
-.ui.medium.image {
-  width: 300px;
-  height: auto;
-  font-size: 1rem;
-}
-.ui.large.images .image,
-.ui.large.images img,
-.ui.large.images svg,
-.ui.large.image {
-  width: 450px;
-  height: auto;
-  font-size: 1.14285714rem;
-}
-.ui.big.images .image,
-.ui.big.images img,
-.ui.big.images svg,
-.ui.big.image {
-  width: 600px;
-  height: auto;
-  font-size: 1.28571429rem;
-}
-.ui.huge.images .image,
-.ui.huge.images img,
-.ui.huge.images svg,
-.ui.huge.image {
-  width: 800px;
-  height: auto;
-  font-size: 1.42857143rem;
-}
-.ui.massive.images .image,
-.ui.massive.images img,
-.ui.massive.images svg,
-.ui.massive.image {
-  width: 960px;
-  height: auto;
-  font-size: 1.71428571rem;
-}
-
-
-/*******************************
-              Groups
-*******************************/
-
-.ui.images {
-  font-size: 0;
-  margin: 0 -0.25rem 0;
-}
-.ui.images .image,
-.ui.images > img,
-.ui.images > svg {
-  display: inline-block;
-  margin: 0 0.25rem 0.5rem;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/image.min.css


+ 0 - 561
webgui/static/components/input.css

@@ -1,561 +0,0 @@
-/*!
- * # Fomantic-UI - Input
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-           Standard
-*******************************/
-
-
-/*--------------------
-        Inputs
----------------------*/
-
-.ui.input {
-  position: relative;
-  font-weight: normal;
-  font-style: normal;
-  display: -webkit-inline-box;
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  color: #AAAAAA;
-}
-.ui.input > input {
-  margin: 0;
-  max-width: 100%;
-  -webkit-box-flex: 1;
-      -ms-flex: 1 0 auto;
-          flex: 1 0 auto;
-  outline: none;
-  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
-  text-align: left;
-  line-height: 1.21428571em;
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  padding: 0.67857143em 1em;
-  background: #FFFFFF;
-  border: 1px solid rgba(34, 36, 38, 0.15);
-  color: #AAAAAA;
-  border-radius: 0.28571429rem;
-  -webkit-transition: border-color 0.1s ease, -webkit-box-shadow 0.1s ease;
-  transition: border-color 0.1s ease, -webkit-box-shadow 0.1s ease;
-  transition: box-shadow 0.1s ease, border-color 0.1s ease;
-  transition: box-shadow 0.1s ease, border-color 0.1s ease, -webkit-box-shadow 0.1s ease;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/*--------------------
-      Placeholder
----------------------*/
-
-
-/* browsers require these rules separate */
-.ui.input > input::-webkit-input-placeholder {
-  color: #ffffff;
-}
-.ui.input > input::-moz-placeholder {
-  color: #ffffff;
-}
-.ui.input > input:-ms-input-placeholder {
-  color: #ffffff;
-}
-
-
-/*******************************
-            States
-*******************************/
-
-
-/*--------------------
-        Disabled
----------------------*/
-
-.ui.disabled.input,
-.ui.input:not(.disabled) input[disabled] {
-  opacity: 0.45;
-}
-.ui.disabled.input > input,
-.ui.input:not(.disabled) input[disabled] {
-  pointer-events: none;
-}
-
-/*--------------------
-        Active
----------------------*/
-
-.ui.input > input:active,
-.ui.input.down input {
-  border-color: rgba(0, 0, 0, 0.3);
-  background: #FAFAFA;
-  color: #AAAAAA;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/*--------------------
-       Loading
----------------------*/
-
-.ui.loading.loading.input > i.icon:before {
-  position: absolute;
-  content: '';
-  top: 50%;
-  left: 50%;
-  margin: -0.64285714em 0 0 -0.64285714em;
-  width: 1.28571429em;
-  height: 1.28571429em;
-  border-radius: 500rem;
-  border: 0.2em solid rgba(0, 0, 0, 0.1);
-}
-.ui.loading.loading.input > i.icon:after {
-  position: absolute;
-  content: '';
-  top: 50%;
-  left: 50%;
-  margin: -0.64285714em 0 0 -0.64285714em;
-  width: 1.28571429em;
-  height: 1.28571429em;
-  -webkit-animation: loader 0.6s infinite linear;
-          animation: loader 0.6s infinite linear;
-  border: 0.2em solid #767676;
-  border-radius: 500rem;
-  -webkit-box-shadow: 0 0 0 1px transparent;
-          box-shadow: 0 0 0 1px transparent;
-}
-
-/*--------------------
-        Focus
----------------------*/
-
-.ui.input.focus > input,
-.ui.input > input:focus {
-  border-color: #85B7D9;
-  background: #FFFFFF;
-  color: rgba(0, 0, 0, 0.8);
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.input.focus > input::-webkit-input-placeholder,
-.ui.input > input:focus::-webkit-input-placeholder {
-  color: #ffffff;
-}
-.ui.input.focus > input::-moz-placeholder,
-.ui.input > input:focus::-moz-placeholder {
-  color: #ffffff;
-}
-.ui.input.focus > input:-ms-input-placeholder,
-.ui.input > input:focus:-ms-input-placeholder {
-  color: #ffffff;
-}
-
-/*--------------------
-        Error
----------------------*/
-
-.ui.input.error > input {
-  background-color: #FFF6F6;
-  border-color: #E0B4B4;
-  color: #9F3A38;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Error Placeholder */
-.ui.input.error > input::-webkit-input-placeholder {
-  color: #e7bdbc;
-}
-.ui.input.error > input::-moz-placeholder {
-  color: #e7bdbc;
-}
-.ui.input.error > input:-ms-input-placeholder {
-  color: #e7bdbc !important;
-}
-
-/* Focused Error Placeholder */
-.ui.input.error > input:focus::-webkit-input-placeholder {
-  color: #da9796;
-}
-.ui.input.error > input:focus::-moz-placeholder {
-  color: #da9796;
-}
-.ui.input.error > input:focus:-ms-input-placeholder {
-  color: #da9796 !important;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*--------------------
-      Transparent
----------------------*/
-
-.ui.transparent.input > textarea,
-.ui.transparent.input > input {
-  border-color: transparent !important;
-  background-color: transparent !important;
-  padding: 0;
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-  border-radius: 0 !important;
-}
-.field .ui.transparent.input > textarea {
-  padding: 0.67857143em 1em;
-}
-
-/* Transparent Icon */
-:not(.field) > .ui.transparent.icon.input > i.icon {
-  width: 1.1em;
-}
-:not(.field) > .ui.transparent.icon.input > input {
-  padding-left: 0;
-  padding-right: 2em;
-}
-:not(.field) > .ui.transparent[class*="left icon"].input > input {
-  padding-left: 2em;
-  padding-right: 0;
-}
-
-/* Transparent Inverted */
-.ui.transparent.inverted.input {
-  color: #FFFFFF;
-}
-.ui.ui.transparent.inverted.input > textarea,
-.ui.ui.transparent.inverted.input > input {
-  color: inherit;
-}
-.ui.transparent.inverted.input > input::-webkit-input-placeholder {
-  color: rgba(255, 255, 255, 0.5);
-}
-.ui.transparent.inverted.input > input::-moz-placeholder {
-  color: rgba(255, 255, 255, 0.5);
-}
-.ui.transparent.inverted.input > input:-ms-input-placeholder {
-  color: rgba(255, 255, 255, 0.5);
-}
-
-/*--------------------
-         Icon
----------------------*/
-
-.ui.icon.input > i.icon {
-  cursor: default;
-  position: absolute;
-  line-height: 1;
-  text-align: center;
-  top: 0;
-  right: 0;
-  margin: 0;
-  height: 100%;
-  width: 2.67142857em;
-  opacity: 0.5;
-  border-radius: 0 0.28571429rem 0.28571429rem 0;
-  -webkit-transition: opacity 0.3s ease;
-  transition: opacity 0.3s ease;
-}
-.ui.icon.input > i.icon:not(.link) {
-  pointer-events: none;
-}
-.ui.ui.icon.input > textarea,
-.ui.ui.icon.input > input {
-  padding-right: 2.67142857em;
-}
-.ui.icon.input > i.icon:before,
-.ui.icon.input > i.icon:after {
-  left: 0;
-  position: absolute;
-  text-align: center;
-  top: 50%;
-  width: 100%;
-  margin-top: -0.5em;
-}
-.ui.icon.input > i.link.icon {
-  cursor: pointer;
-}
-.ui.icon.input > i.circular.icon {
-  top: 0.35em;
-  right: 0.5em;
-}
-
-/* Left Icon Input */
-.ui[class*="left icon"].input > i.icon {
-  right: auto;
-  left: 1px;
-  border-radius: 0.28571429rem 0 0 0.28571429rem;
-}
-.ui[class*="left icon"].input > i.circular.icon {
-  right: auto;
-  left: 0.5em;
-}
-.ui.ui[class*="left icon"].input > textarea,
-.ui.ui[class*="left icon"].input > input {
-  padding-left: 2.67142857em;
-  padding-right: 1em;
-}
-
-/* Focus */
-.ui.icon.input > textarea:focus ~ i.icon,
-.ui.icon.input > input:focus ~ i.icon {
-  opacity: 1;
-}
-
-/*--------------------
-        Labeled
----------------------*/
-
-
-/* Adjacent Label */
-.ui.labeled.input > .label {
-  -webkit-box-flex: 0;
-      -ms-flex: 0 0 auto;
-          flex: 0 0 auto;
-  margin: 0;
-  font-size: 1em;
-}
-.ui.labeled.input > .label:not(.corner) {
-  padding-top: 0.78571429em;
-  padding-bottom: 0.78571429em;
-}
-
-/* Regular Label on Left */
-.ui.labeled.input:not([class*="corner labeled"]) .label:first-child {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-  border-left-color: transparent;
-}
-.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input:focus {
-  border-left-color: #85B7D9;
-}
-
-/* Regular Label on Right */
-.ui[class*="right labeled"].input > input {
-  border-top-right-radius: 0 !important;
-  border-bottom-right-radius: 0 !important;
-  border-right-color: transparent !important;
-}
-.ui[class*="right labeled"].input > input + .label {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.ui[class*="right labeled"].input > input:focus {
-  border-right-color: #85B7D9 !important;
-}
-
-/* Corner Label */
-.ui.labeled.input .corner.label {
-  top: 1px;
-  right: 1px;
-  font-size: 0.64285714em;
-  border-radius: 0 0.28571429rem 0 0;
-}
-
-/* Spacing with corner label */
-.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input > textarea,
-.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input > input {
-  padding-right: 2.5em !important;
-}
-.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > textarea,
-.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > input {
-  padding-right: 3.25em !important;
-}
-.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > .icon {
-  margin-right: 1.25em;
-}
-
-/* Left Labeled */
-.ui[class*="left corner labeled"].labeled.input > textarea,
-.ui[class*="left corner labeled"].labeled.input > input {
-  padding-left: 2.5em !important;
-}
-.ui[class*="left corner labeled"].icon.input > textarea,
-.ui[class*="left corner labeled"].icon.input > input {
-  padding-left: 3.25em !important;
-}
-.ui[class*="left corner labeled"].icon.input > .icon {
-  margin-left: 1.25em;
-}
-.ui.icon.input > textarea ~ .icon {
-  height: 3em;
-}
-:not(.field) > .ui.transparent.icon.input > textarea ~ .icon {
-  height: 1.3em;
-}
-
-/* Corner Label Position  */
-.ui.input > .ui.corner.label {
-  top: 1px;
-  right: 1px;
-}
-.ui.input > .ui.left.corner.label {
-  right: auto;
-  left: 1px;
-}
-
-/* Labeled and action input error */
-.ui.form > .field.error > .ui.action.input > .ui.button,
-.ui.form > .field.error > .ui.labeled.input:not([class*="corner labeled"]) > .ui.label,
-.ui.action.input.error > .ui.button,
-.ui.labeled.input.error:not([class*="corner labeled"]) > .ui.label {
-  border-top: 1px solid #E0B4B4;
-  border-bottom: 1px solid #E0B4B4;
-}
-.ui.form > .field.error > .ui.left.action.input > .ui.button,
-.ui.form > .field.error > .ui.labeled.input:not(.right):not([class*="corner labeled"]) > .ui.label,
-.ui.left.action.input.error > .ui.button,
-.ui.labeled.input.error:not(.right):not([class*="corner labeled"]) > .ui.label {
-  border-left: 1px solid #E0B4B4;
-}
-.ui.form > .field.error > .ui.action.input:not(.left) > input + .ui.button,
-.ui.form > .field.error > .ui.right.labeled.input:not([class*="corner labeled"]) > input + .ui.label,
-.ui.action.input.error:not(.left) > input + .ui.button,
-.ui.right.labeled.input.error:not([class*="corner labeled"]) > input + .ui.label {
-  border-right: 1px solid #E0B4B4;
-}
-.ui.form > .field.error > .ui.right.labeled.input:not([class*="corner labeled"]) > .ui.label:first-child,
-.ui.right.labeled.input.error:not([class*="corner labeled"]) > .ui.label:first-child {
-  border-left: 1px solid #E0B4B4;
-}
-
-/*--------------------
-        Action
----------------------*/
-
-.ui.action.input > .button,
-.ui.action.input > .buttons {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-align: center;
-      -ms-flex-align: center;
-          align-items: center;
-  -webkit-box-flex: 0;
-      -ms-flex: 0 0 auto;
-          flex: 0 0 auto;
-}
-.ui.action.input > .button,
-.ui.action.input > .buttons > .button {
-  padding-top: 0.78571429em;
-  padding-bottom: 0.78571429em;
-  margin: 0;
-}
-
-/* Button on Right */
-.ui.action.input:not([class*="left action"]) > input {
-  border-top-right-radius: 0 !important;
-  border-bottom-right-radius: 0 !important;
-  border-right-color: transparent !important;
-}
-.ui.action.input:not([class*="left action"]) > .dropdown:not(:first-child),
-.ui.action.input:not([class*="left action"]) > .button:not(:first-child),
-.ui.action.input:not([class*="left action"]) > .buttons:not(:first-child) > .button {
-  border-radius: 0;
-}
-.ui.action.input:not([class*="left action"]) > .dropdown:last-child,
-.ui.action.input:not([class*="left action"]) > .button:last-child,
-.ui.action.input:not([class*="left action"]) > .buttons:last-child > .button {
-  border-radius: 0 0.28571429rem 0.28571429rem 0;
-}
-
-/* Input Focus */
-.ui.action.input:not([class*="left action"]) > input:focus {
-  border-right-color: #85B7D9 !important;
-}
-
-/* Button on Left */
-.ui[class*="left action"].input > input {
-  border-top-left-radius: 0 !important;
-  border-bottom-left-radius: 0 !important;
-  border-left-color: transparent !important;
-}
-.ui[class*="left action"].input > .dropdown,
-.ui[class*="left action"].input > .button,
-.ui[class*="left action"].input > .buttons > .button {
-  border-radius: 0;
-}
-.ui[class*="left action"].input > .dropdown:first-child,
-.ui[class*="left action"].input > .button:first-child,
-.ui[class*="left action"].input > .buttons:first-child > .button {
-  border-radius: 0.28571429rem 0 0 0.28571429rem;
-}
-
-/* Input Focus */
-.ui[class*="left action"].input > input:focus {
-  border-left-color: #85B7D9 !important;
-}
-
-/*--------------------
-       Inverted
----------------------*/
-
-
-/* Standard */
-.ui.inverted.input > input {
-  border: none;
-}
-
-/*--------------------
-        Fluid
----------------------*/
-
-.ui.fluid.input {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-}
-.ui.fluid.input > input {
-  width: 0 !important;
-}
-
-/*--------------------
-        Size
----------------------*/
-
-.ui.mini.input {
-  font-size: 0.78571429em;
-}
-.ui.tiny.input {
-  font-size: 0.85714286em;
-}
-.ui.small.input {
-  font-size: 0.92857143em;
-}
-.ui.input {
-  font-size: 1em;
-}
-.ui.large.input {
-  font-size: 1.14285714em;
-}
-.ui.big.input {
-  font-size: 1.28571429em;
-}
-.ui.huge.input {
-  font-size: 1.42857143em;
-}
-.ui.massive.input {
-  font-size: 1.71428571em;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/input.min.css


+ 0 - 555
webgui/static/components/item.css

@@ -1,555 +0,0 @@
-/*!
- * # Fomantic-UI - Item
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Standard
-*******************************/
-
-
-/*--------------
-      Item
----------------*/
-
-.ui.items > .item {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  margin: 1em 0;
-  width: 100%;
-  min-height: 0;
-  background: transparent;
-  padding: 0;
-  border: none;
-  border-radius: 0;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  -webkit-transition: -webkit-box-shadow 0.1s ease;
-  transition: -webkit-box-shadow 0.1s ease;
-  transition: box-shadow 0.1s ease;
-  transition: box-shadow 0.1s ease, -webkit-box-shadow 0.1s ease;
-  z-index: '';
-}
-.ui.items > .item a {
-  cursor: pointer;
-}
-
-/*--------------
-      Items
----------------*/
-
-.ui.items {
-  margin: 1.5em 0;
-}
-.ui.items:first-child {
-  margin-top: 0 !important;
-}
-.ui.items:last-child {
-  margin-bottom: 0 !important;
-}
-
-/*--------------
-      Item
----------------*/
-
-.ui.items > .item:after {
-  display: block;
-  content: ' ';
-  height: 0;
-  clear: both;
-  overflow: hidden;
-  visibility: hidden;
-}
-.ui.items > .item:first-child {
-  margin-top: 0;
-}
-.ui.items > .item:last-child {
-  margin-bottom: 0;
-}
-
-/*--------------
-     Images
----------------*/
-
-.ui.items > .item > .image {
-  position: relative;
-  -webkit-box-flex: 0;
-      -ms-flex: 0 0 auto;
-          flex: 0 0 auto;
-  display: block;
-  float: none;
-  margin: 0;
-  padding: 0;
-  max-height: '';
-  -ms-flex-item-align: start;
-      align-self: start;
-}
-.ui.items > .item > .image > img {
-  display: block;
-  width: 100%;
-  height: auto;
-  border-radius: 0.125rem;
-  border: none;
-}
-.ui.items > .item > .image:only-child > img {
-  border-radius: 0;
-}
-
-/*--------------
-     Content
----------------*/
-
-.ui.items > .item > .content {
-  display: block;
-  -webkit-box-flex: 1;
-      -ms-flex: 1 1 auto;
-          flex: 1 1 auto;
-  background: none;
-  color: #AAAAAA;
-  margin: 0;
-  padding: 0;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  font-size: 1em;
-  border: none;
-  border-radius: 0;
-}
-.ui.items > .item > .content:after {
-  display: block;
-  content: ' ';
-  height: 0;
-  clear: both;
-  overflow: hidden;
-  visibility: hidden;
-}
-.ui.items > .item > .image + .content {
-  min-width: 0;
-  width: auto;
-  display: block;
-  margin-left: 0;
-  -ms-flex-item-align: start;
-      align-self: start;
-  padding-left: 1.5em;
-}
-.ui.items > .item > .content > .header {
-  display: inline-block;
-  margin: -0.21425em 0 0;
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  font-weight: bold;
-  color: rgba(0, 0, 0, 0.85);
-}
-
-/* Default Header Size */
-.ui.items > .item > .content > .header:not(.ui) {
-  font-size: 1.28571429em;
-}
-
-/*--------------
-     Floated
----------------*/
-
-.ui.items > .item [class*="left floated"] {
-  float: left;
-}
-.ui.items > .item [class*="right floated"] {
-  float: right;
-}
-
-/*--------------
-  Content Image
----------------*/
-
-.ui.items > .item .content img {
-  -ms-flex-item-align: center;
-      align-self: center;
-  width: '';
-}
-.ui.items > .item img.avatar,
-.ui.items > .item .avatar img {
-  width: '';
-  height: '';
-  border-radius: 500rem;
-}
-
-/*--------------
-   Description
----------------*/
-
-.ui.items > .item > .content > .description {
-  margin-top: 0.6em;
-  max-width: auto;
-  font-size: 1em;
-  line-height: 1.4285em;
-  color: #AAAAAA;
-}
-
-/*--------------
-    Paragraph
----------------*/
-
-.ui.items > .item > .content p {
-  margin: 0 0 0.5em;
-}
-.ui.items > .item > .content p:last-child {
-  margin-bottom: 0;
-}
-
-/*--------------
-      Meta
----------------*/
-
-.ui.items > .item .meta {
-  margin: 0.5em 0 0.5em;
-  font-size: 1em;
-  line-height: 1em;
-  color: rgba(0, 0, 0, 0.6);
-}
-.ui.items > .item .meta * {
-  margin-right: 0.3em;
-}
-.ui.items > .item .meta :last-child {
-  margin-right: 0;
-}
-.ui.items > .item .meta [class*="right floated"] {
-  margin-right: 0;
-  margin-left: 0.3em;
-}
-
-/*--------------
-      Links
----------------*/
-
-
-/* Generic */
-.ui.items > .item > .content a:not(.ui) {
-  color: '';
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-}
-.ui.items > .item > .content a:not(.ui):hover {
-  color: '';
-}
-
-/* Header */
-.ui.items > .item > .content > a.header {
-  color: rgba(0, 0, 0, 0.85);
-}
-.ui.items > .item > .content > a.header:hover {
-  color: #1e70bf;
-}
-
-/* Meta */
-.ui.items > .item .meta > a:not(.ui) {
-  color: rgba(0, 0, 0, 0.4);
-}
-.ui.items > .item .meta > a:not(.ui):hover {
-  color: #AAAAAA;
-}
-
-/*--------------
-     Labels
----------------*/
-
-
-/*-----Star----- */
-
-
-/* Icon */
-.ui.items > .item > .content .favorite.icon {
-  cursor: pointer;
-  opacity: 0.75;
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-}
-.ui.items > .item > .content .favorite.icon:hover {
-  opacity: 1;
-  color: #FFB70A;
-}
-.ui.items > .item > .content .active.favorite.icon {
-  color: #FFE623;
-}
-
-/*-----Like----- */
-
-
-/* Icon */
-.ui.items > .item > .content .like.icon {
-  cursor: pointer;
-  opacity: 0.75;
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-}
-.ui.items > .item > .content .like.icon:hover {
-  opacity: 1;
-  color: #FF2733;
-}
-.ui.items > .item > .content .active.like.icon {
-  color: #FF2733;
-}
-
-/*----------------
-  Extra Content
------------------*/
-
-.ui.items > .item .extra {
-  display: block;
-  position: relative;
-  background: none;
-  margin: 0.5rem 0 0;
-  width: 100%;
-  padding: 0 0 0;
-  top: 0;
-  left: 0;
-  color: rgba(0, 0, 0, 0.4);
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-  border-top: none;
-}
-.ui.items > .item .extra > * {
-  margin: 0.25rem 0.5rem 0.25rem 0;
-}
-.ui.items > .item .extra > [class*="right floated"] {
-  margin: 0.25rem 0 0.25rem 0.5rem;
-}
-.ui.items > .item .extra:after {
-  display: block;
-  content: ' ';
-  height: 0;
-  clear: both;
-  overflow: hidden;
-  visibility: hidden;
-}
-
-
-/*******************************
-          Responsive
-*******************************/
-
-
-/* Default Image Width */
-.ui.items > .item > .image:not(.ui) {
-  width: 175px;
-}
-
-/* Tablet Only */
-@media only screen and (min-width: 768px) and (max-width: 991.98px) {
-  .ui.items > .item {
-    margin: 1em 0;
-  }
-  .ui.items > .item > .image:not(.ui) {
-    width: 150px;
-  }
-  .ui.items > .item > .image + .content {
-    display: block;
-    padding: 0 0 0 1em;
-  }
-}
-
-/* Mobile Only */
-@media only screen and (max-width: 767.98px) {
-  .ui.items:not(.unstackable) > .item {
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
-    margin: 2em 0;
-  }
-  .ui.items:not(.unstackable) > .item > .image {
-    display: block;
-    margin-left: auto;
-    margin-right: auto;
-  }
-  .ui.items:not(.unstackable) > .item > .image,
-  .ui.items:not(.unstackable) > .item > .image > img {
-    max-width: 100% !important;
-    width: auto !important;
-    max-height: 250px !important;
-  }
-  .ui.items:not(.unstackable) > .item > .image + .content {
-    display: block;
-    padding: 1.5em 0 0;
-  }
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*-------------------
-       Aligned
---------------------*/
-
-.ui.items > .item > .image + [class*="top aligned"].content {
-  -ms-flex-item-align: start;
-      align-self: flex-start;
-}
-.ui.items > .item > .image + [class*="middle aligned"].content {
-  -ms-flex-item-align: center;
-      align-self: center;
-}
-.ui.items > .item > .image + [class*="bottom aligned"].content {
-  -ms-flex-item-align: end;
-      align-self: flex-end;
-}
-
-/*--------------
-     Relaxed
----------------*/
-
-.ui.relaxed.items > .item {
-  margin: 1.5em 0;
-}
-.ui[class*="very relaxed"].items > .item {
-  margin: 2em 0;
-}
-
-/*-------------------
-      Divided
---------------------*/
-
-.ui.divided.items > .item {
-  border-top: 1px solid rgba(34, 36, 38, 0.15);
-  margin: 0;
-  padding: 1em 0;
-}
-.ui.divided.items > .item:first-child {
-  border-top: none;
-  margin-top: 0 !important;
-  padding-top: 0 !important;
-}
-.ui.divided.items > .item:last-child {
-  margin-bottom: 0 !important;
-  padding-bottom: 0 !important;
-}
-
-/* Relaxed Divided */
-.ui.relaxed.divided.items > .item {
-  margin: 0;
-  padding: 1.5em 0;
-}
-.ui[class*="very relaxed"].divided.items > .item {
-  margin: 0;
-  padding: 2em 0;
-}
-
-/*-------------------
-        Link
---------------------*/
-
-.ui.items a.item:hover,
-.ui.link.items > .item:hover {
-  cursor: pointer;
-}
-.ui.items a.item:hover .content .header,
-.ui.link.items > .item:hover .content .header {
-  color: #1e70bf;
-}
-
-/*--------------
-      Size
----------------*/
-
-.ui.items > .item {
-  font-size: 1em;
-}
-
-/*---------------
-   Unstackable
-----------------*/
-
-@media only screen and (max-width: 767.98px) {
-  .ui.unstackable.items > .item > .image,
-  .ui.unstackable.items > .item > .image > img {
-    width: 125px !important;
-  }
-}
-
-/*--------------
-     Inverted
----------------*/
-
-.ui.inverted.items > .item {
-  background: transparent;
-}
-.ui.inverted.items > .item > .content {
-  background: none;
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.items > .item .extra {
-  background: none;
-}
-.ui.inverted.items > .item > .content > .header {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.items > .item > .content > .description {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.items > .item .meta {
-  color: rgba(255, 255, 255, 0.8);
-}
-.ui.inverted.items > .item > .content a:not(.ui) {
-  color: #57a4ef;
-}
-.ui.inverted.items > .item > .content a:not(.ui):hover {
-  color: #4183C4;
-}
-.ui.inverted.items > .item > .content > a.header {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.items > .item > .content > a.header:hover {
-  color: #ffffff;
-}
-.ui.inverted.items > .item .meta > a:not(.ui) {
-  color: rgba(255, 255, 255, 0.7);
-}
-.ui.inverted.items > .item .meta > a:not(.ui):hover {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.items > .item > .content .favorite.icon:hover {
-  color: #ffc63d;
-}
-.ui.inverted.items > .item > .content .active.favorite.icon {
-  color: #ffec56;
-}
-.ui.inverted.items > .item > .content .like.icon:hover {
-  color: #ff5a63;
-}
-.ui.inverted.items > .item > .content .active.like.icon {
-  color: #ff5a63;
-}
-.ui.inverted.items > .item .extra {
-  color: rgba(255, 255, 255, 0.7);
-}
-.ui.inverted.items a.item:hover .content .header,
-.ui.inverted.link.items > .item:hover .content .header {
-  color: #ffffff;
-}
-.ui.inverted.divided.items > .item {
-  border-top: 1px solid rgba(255, 255, 255, 0.1);
-}
-.ui.inverted.divided.items > .item:first-child {
-  border-top: none;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-    User Variable Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/item.min.css


+ 0 - 2101
webgui/static/components/label.css

@@ -1,2101 +0,0 @@
-/*!
- * # Fomantic-UI - Label
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Label
-*******************************/
-
-.ui.label {
-  display: inline-block;
-  line-height: 1;
-  vertical-align: baseline;
-  margin: 0 0.14285714em;
-  background-color: #E8E8E8;
-  background-image: none;
-  padding: 0.5833em 0.833em;
-  color: rgba(0, 0, 0, 0.6);
-  text-transform: none;
-  font-weight: bold;
-  border: 0 solid transparent;
-  border-radius: 0.28571429rem;
-  -webkit-transition: background 0.1s ease;
-  transition: background 0.1s ease;
-}
-.ui.label:first-child {
-  margin-left: 0;
-}
-.ui.label:last-child {
-  margin-right: 0;
-}
-
-/* Link */
-a.ui.label {
-  cursor: pointer;
-}
-
-/* Inside Link */
-.ui.label > a {
-  cursor: pointer;
-  color: inherit;
-  opacity: 0.5;
-  -webkit-transition: 0.1s opacity ease;
-  transition: 0.1s opacity ease;
-}
-.ui.label > a:hover {
-  opacity: 1;
-}
-
-/* Image */
-.ui.label > img {
-  width: auto !important;
-  vertical-align: middle;
-  height: 2.1666em;
-}
-
-/* Icon */
-.ui.left.icon.label > .icon,
-.ui.label > .icon {
-  width: auto;
-  margin: 0 0.75em 0 0;
-}
-
-/* Detail */
-.ui.label > .detail {
-  display: inline-block;
-  vertical-align: top;
-  font-weight: bold;
-  margin-left: 1em;
-  opacity: 0.8;
-}
-.ui.label > .detail .icon {
-  margin: 0 0.25em 0 0;
-}
-
-/* Removable label */
-.ui.label > .close.icon,
-.ui.label > .delete.icon {
-  cursor: pointer;
-  font-size: 0.92857143em;
-  opacity: 0.5;
-  -webkit-transition: background 0.1s ease;
-  transition: background 0.1s ease;
-}
-.ui.label > .close.icon:hover,
-.ui.label > .delete.icon:hover {
-  opacity: 1;
-}
-
-/* Backward compatible positioning */
-.ui.label.left.icon > .close.icon,
-.ui.label.left.icon > .delete.icon {
-  margin: 0 0.5em 0 0;
-}
-.ui.label:not(.icon) > .close.icon,
-.ui.label:not(.icon) > .delete.icon {
-  margin: 0 0 0 0.5em;
-}
-
-/* Label for only an icon */
-.ui.icon.label > .icon {
-  margin: 0 auto;
-}
-
-/* Right Side Icon */
-.ui.right.icon.label > .icon {
-  margin: 0 0 0 0.75em;
-}
-
-/*-------------------
-       Group
---------------------*/
-
-.ui.labels > .label {
-  margin: 0 0.5em 0.5em 0;
-}
-
-/*-------------------
-       Coupling
---------------------*/
-
-.ui.header > .ui.label {
-  margin-top: -0.29165em;
-}
-
-/* Remove border radius on attached segment */
-.ui.attached.segment > .ui.top.left.attached.label,
-.ui.bottom.attached.segment > .ui.top.left.attached.label {
-  border-top-left-radius: 0;
-}
-.ui.attached.segment > .ui.top.right.attached.label,
-.ui.bottom.attached.segment > .ui.top.right.attached.label {
-  border-top-right-radius: 0;
-}
-.ui.top.attached.segment > .ui.bottom.left.attached.label {
-  border-bottom-left-radius: 0;
-}
-.ui.top.attached.segment > .ui.bottom.right.attached.label {
-  border-bottom-right-radius: 0;
-}
-
-/* Padding on next content after a label */
-.ui.top.attached.label ~ .ui.bottom.attached.label + :not(.attached),
-.ui.top.attached.label + :not(.attached) {
-  margin-top: 2rem !important;
-}
-.ui.bottom.attached.label ~ :last-child:not(.attached) {
-  margin-top: 0;
-  margin-bottom: 2rem !important;
-}
-
-
-/*******************************
-             Types
-*******************************/
-
-.ui.image.label {
-  width: auto !important;
-  margin-top: 0;
-  margin-bottom: 0;
-  max-width: 9999px;
-  vertical-align: baseline;
-  text-transform: none;
-  background: #E8E8E8;
-  padding: 0.5833em 0.833em 0.5833em 0.5em;
-  border-radius: 0.28571429rem;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.image.label img {
-  display: inline-block;
-  vertical-align: top;
-  height: 2.1666em;
-  margin: -0.5833em 0.5em -0.5833em -0.5em;
-  border-radius: 0.28571429rem 0 0 0.28571429rem;
-}
-.ui.image.label .detail {
-  background: rgba(0, 0, 0, 0.1);
-  margin: -0.5833em -0.833em -0.5833em 0.5em;
-  padding: 0.5833em 0.833em;
-  border-radius: 0 0.28571429rem 0.28571429rem 0;
-}
-
-/*-------------------
-         Tag
---------------------*/
-
-.ui.tag.labels .label,
-.ui.tag.label {
-  margin-left: 1em;
-  position: relative;
-  padding-left: 1.5em;
-  padding-right: 1.5em;
-  border-radius: 0 0.28571429rem 0.28571429rem 0;
-  -webkit-transition: none;
-  transition: none;
-}
-.ui.tag.labels .label:before,
-.ui.tag.label:before {
-  position: absolute;
-  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);
-          transform: translateY(-50%) translateX(50%) rotate(-45deg);
-  top: 50%;
-  right: 100%;
-  content: '';
-  background-color: inherit;
-  background-image: none;
-  width: 1.56em;
-  height: 1.56em;
-  -webkit-transition: none;
-  transition: none;
-}
-.ui.tag.labels .label:after,
-.ui.tag.label:after {
-  position: absolute;
-  content: '';
-  top: 50%;
-  left: -0.25em;
-  margin-top: -0.25em;
-  background-color: #FFFFFF;
-  width: 0.5em;
-  height: 0.5em;
-  -webkit-box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);
-          box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);
-  border-radius: 500rem;
-}
-.ui.basic.tag.labels .label:before,
-.ui.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  right: calc(100% + 1px);
-}
-.ui.basic.tag.labels .label:after,
-.ui.basic.tag.label:after {
-  -webkit-box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.8);
-          box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.8);
-}
-
-/*-------------------
-    Corner Label
---------------------*/
-
-.ui.corner.label {
-  position: absolute;
-  top: 0;
-  right: 0;
-  margin: 0;
-  padding: 0;
-  text-align: center;
-  border-color: #E8E8E8;
-  width: 4em;
-  height: 4em;
-  z-index: 1;
-  -webkit-transition: border-color 0.1s ease;
-  transition: border-color 0.1s ease;
-}
-
-/* Icon Label */
-.ui.corner.label {
-  background-color: transparent !important;
-}
-.ui.corner.label:after {
-  position: absolute;
-  content: "";
-  right: 0;
-  top: 0;
-  z-index: -1;
-  width: 0;
-  height: 0;
-  background-color: transparent;
-  border-top: 0 solid transparent;
-  border-right: 4em solid transparent;
-  border-bottom: 4em solid transparent;
-  border-left: 0 solid transparent;
-  border-right-color: inherit;
-  -webkit-transition: border-color 0.1s ease;
-  transition: border-color 0.1s ease;
-}
-.ui.corner.label .icon {
-  cursor: inherit;
-  position: absolute;
-  top: 0.64285714em;
-  left: auto;
-  right: 0.57142857em;
-  font-size: 1.14285714em;
-  margin: 0;
-}
-
-/* Left Corner */
-.ui.left.corner.label,
-.ui.left.corner.label:after {
-  right: auto;
-  left: 0;
-}
-.ui.left.corner.label:after {
-  border-top: 4em solid transparent;
-  border-right: 4em solid transparent;
-  border-bottom: 0 solid transparent;
-  border-left: 0 solid transparent;
-  border-top-color: inherit;
-}
-.ui.left.corner.label .icon {
-  left: 0.57142857em;
-  right: auto;
-}
-
-/* Segment */
-.ui.segment > .ui.corner.label {
-  top: -1px;
-  right: -1px;
-}
-.ui.segment > .ui.left.corner.label {
-  right: auto;
-  left: -1px;
-}
-
-/*-------------------
-       Ribbon
---------------------*/
-
-.ui.ribbon.label {
-  position: relative;
-  margin: 0;
-  min-width: -webkit-max-content;
-  min-width: -moz-max-content;
-  min-width: max-content;
-  border-radius: 0 0.28571429rem 0.28571429rem 0;
-  border-color: rgba(0, 0, 0, 0.15);
-}
-.ui.ribbon.label:after {
-  position: absolute;
-  content: '';
-  top: 100%;
-  left: 0;
-  background-color: transparent;
-  border-style: solid;
-  border-width: 0 1.2em 1.2em 0;
-  border-color: transparent;
-  border-right-color: inherit;
-  width: 0;
-  height: 0;
-}
-
-/* Positioning */
-.ui.ribbon.label {
-  left: calc(-1rem - 1.2em);
-  margin-right: -1.2em;
-  padding-left: calc(1rem + 1.2em);
-  padding-right: 1.2em;
-}
-.ui[class*="right ribbon"].label {
-  left: calc(100% + 1rem + 1.2em);
-  padding-left: 1.2em;
-  padding-right: calc(1rem + 1.2em);
-}
-.ui.basic.ribbon.label {
-  padding-top: calc(0.5833em - 1px);
-  padding-bottom: calc(0.5833em - 1px);
-}
-.ui.basic.ribbon.label:not([class*="right ribbon"]) {
-  padding-left: calc(1rem + 1.2em - 1px);
-  padding-right: calc(1.2em - 1px);
-}
-.ui.basic[class*="right ribbon"].label {
-  padding-left: calc(1.2em - 1px);
-  padding-right: calc(1rem + 1.2em - 1px);
-}
-.ui.basic.ribbon.label::after {
-  top: calc(100% + 1px);
-}
-.ui.basic.ribbon.label:not([class*="right ribbon"])::after {
-  left: -1px;
-}
-.ui.basic[class*="right ribbon"].label::after {
-  right: -1px;
-}
-
-/* Right Ribbon */
-.ui[class*="right ribbon"].label {
-  text-align: left;
-  -webkit-transform: translateX(-100%);
-          transform: translateX(-100%);
-  border-radius: 0.28571429rem 0 0 0.28571429rem;
-}
-.ui[class*="right ribbon"].label:after {
-  left: auto;
-  right: 0;
-  border-style: solid;
-  border-width: 1.2em 1.2em 0 0;
-  border-color: transparent;
-  border-top-color: inherit;
-}
-
-/* Inside Table */
-.ui.image > .ribbon.label,
-.ui.card .image > .ribbon.label {
-  position: absolute;
-  top: 1rem;
-}
-.ui.card .image > .ui.ribbon.label,
-.ui.image > .ui.ribbon.label {
-  left: calc(0.05rem - 1.2em);
-}
-.ui.card .image > .ui[class*="right ribbon"].label,
-.ui.image > .ui[class*="right ribbon"].label {
-  left: calc(100% + -0.05rem + 1.2em);
-  padding-left: 0.833em;
-}
-
-/* Inside Table */
-.ui.table td > .ui.ribbon.label {
-  left: calc(-1em - 1.2em);
-}
-.ui.table td > .ui[class*="right ribbon"].label {
-  left: calc(100% + 1em + 1.2em);
-  padding-left: 0.833em;
-}
-
-/*-------------------
-      Attached
---------------------*/
-
-.ui[class*="top attached"].label,
-.ui.attached.label {
-  width: 100%;
-  position: absolute;
-  margin: 0;
-  top: 0;
-  left: 0;
-  padding: 0.75em 1em;
-  border-radius: 0.21428571rem 0.21428571rem 0 0;
-}
-.ui[class*="bottom attached"].label {
-  top: auto;
-  bottom: 0;
-  border-radius: 0 0 0.21428571rem 0.21428571rem;
-}
-.ui[class*="top left attached"].label {
-  width: auto;
-  margin-top: 0 !important;
-  border-radius: 0.21428571rem 0 0.28571429rem 0;
-}
-.ui[class*="top right attached"].label {
-  width: auto;
-  left: auto;
-  right: 0;
-  border-radius: 0 0.21428571rem 0 0.28571429rem;
-}
-.ui[class*="bottom left attached"].label {
-  width: auto;
-  top: auto;
-  bottom: 0;
-  border-radius: 0 0.28571429rem 0 0.21428571rem;
-}
-.ui[class*="bottom right attached"].label {
-  top: auto;
-  bottom: 0;
-  left: auto;
-  right: 0;
-  width: auto;
-  border-radius: 0.28571429rem 0 0.21428571rem 0;
-}
-
-
-/*******************************
-             States
-*******************************/
-
-
-/*-------------------
-      Disabled
---------------------*/
-
-.ui.label.disabled {
-  opacity: 0.5;
-}
-
-/*-------------------
-        Hover
---------------------*/
-
-.ui.labels a.label:hover,
-a.ui.label:hover {
-  background-color: #E0E0E0;
-  border-color: #E0E0E0;
-  background-image: none;
-  color: rgba(0, 0, 0, 0.8);
-}
-.ui.labels a.label:hover:before,
-a.ui.label:hover:before {
-  color: rgba(0, 0, 0, 0.8);
-}
-
-/*-------------------
-        Active
---------------------*/
-
-.ui.active.label {
-  background-color: #D0D0D0;
-  border-color: #D0D0D0;
-  background-image: none;
-  color: rgba(0, 0, 0, 0.95);
-}
-.ui.active.label:before {
-  background-color: #D0D0D0;
-  background-image: none;
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/*-------------------
-     Active Hover
---------------------*/
-
-.ui.labels a.active.label:hover,
-a.ui.active.label:hover {
-  background-color: #C8C8C8;
-  border-color: #C8C8C8;
-  background-image: none;
-  color: rgba(0, 0, 0, 0.95);
-}
-.ui.labels a.active.label:hover:before,
-a.ui.active.label:hover:before {
-  background-color: #C8C8C8;
-  background-image: none;
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/*-------------------
-      Visible
---------------------*/
-
-.ui.labels.visible .label,
-.ui.label.visible:not(.dropdown) {
-  display: inline-block !important;
-}
-
-/*-------------------
-      Hidden
---------------------*/
-
-.ui.labels.hidden .label,
-.ui.label.hidden {
-  display: none !important;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*-------------------
-        Basic
---------------------*/
-
-.ui.basic.labels .label,
-.ui.basic.label {
-  background: none #FFFFFF;
-  border: 1px solid rgba(34, 36, 38, 0.15);
-  color: #AAAAAA;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Link */
-.ui.basic.labels a.label:hover,
-a.ui.basic.label:hover {
-  text-decoration: none;
-  background: none #FFFFFF;
-  color: #1e70bf;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Pointing */
-.ui.basic.pointing.label:before {
-  border-color: inherit;
-}
-
-/*-------------------
-       Fluid
---------------------*/
-
-.ui.label.fluid,
-.ui.fluid.labels > .label {
-  width: 100%;
-  -webkit-box-sizing: border-box;
-          box-sizing: border-box;
-}
-
-/*-------------------
-       Inverted
---------------------*/
-
-.ui.inverted.labels .label,
-.ui.inverted.label {
-  color: rgba(255, 255, 255, 0.9);
-  background-color: #b5b5b5;
-}
-.ui.inverted.corner.label {
-  border-color: #b5b5b5;
-}
-.ui.inverted.corner.label:hover {
-  border-color: #E8E8E8;
-  -webkit-transition: none;
-  transition: none;
-}
-.ui.inverted.basic.labels .label,
-.ui.inverted.basic.label,
-.ui.inverted.basic.label:hover {
-  border-color: rgba(255, 255, 255, 0.5);
-  background: #1B1C1D;
-}
-.ui.inverted.basic.label:hover {
-  color: #4183C4;
-}
-
-/*-------------------
-       Colors
---------------------*/
-
-.ui.primary.labels .label,
-.ui.ui.ui.primary.label {
-  background-color: #2185D0;
-  border-color: #2185D0;
-  color: rgba(255, 255, 255, 0.9);
-}
-
-/* Link */
-.ui.primary.labels a.label:hover,
-a.ui.ui.ui.primary.label:hover {
-  background-color: #1678c2;
-  border-color: #1678c2;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.primary.ribbon.label {
-  border-color: #1a69a4;
-}
-
-/* Basic */
-.ui.basic.labels .primary.label,
-.ui.ui.ui.basic.primary.label {
-  background: none #FFFFFF;
-  border-color: #2185D0;
-  color: #2185D0;
-}
-.ui.basic.labels a.primary.label:hover,
-a.ui.ui.ui.basic.primary.label:hover {
-  background: none #FFFFFF;
-  border-color: #1678c2;
-  color: #1678c2;
-}
-
-/* Inverted */
-.ui.inverted.labels .primary.label,
-.ui.ui.ui.inverted.primary.label {
-  background-color: #54C8FF;
-  border-color: #54C8FF;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.primary.label:hover,
-a.ui.ui.ui.inverted.primary.label:hover {
-  background-color: #21b8ff;
-  border-color: #21b8ff;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.primary.ribbon.label {
-  border-color: #21b8ff;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .primary.label,
-.ui.ui.ui.inverted.basic.primary.label {
-  background-color: #1B1C1D;
-  border-color: #54C8FF;
-  color: #54C8FF;
-}
-.ui.inverted.basic.labels a.primary.label:hover,
-a.ui.ui.ui.inverted.basic.primary.label:hover {
-  border-color: #21b8ff;
-  background-color: #1B1C1D;
-  color: #21b8ff;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .primary.label,
-.ui.ui.ui.inverted.primary.basic.tag.label {
-  border: 1px solid #54C8FF;
-}
-.ui.inverted.basic.tag.labels .primary.label:before,
-.ui.ui.ui.inverted.primary.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.secondary.labels .label,
-.ui.ui.ui.secondary.label {
-  background-color: #1B1C1D;
-  border-color: #1B1C1D;
-  color: rgba(255, 255, 255, 0.9);
-}
-
-/* Link */
-.ui.secondary.labels a.label:hover,
-a.ui.ui.ui.secondary.label:hover {
-  background-color: #27292a;
-  border-color: #27292a;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.secondary.ribbon.label {
-  border-color: #020203;
-}
-
-/* Basic */
-.ui.basic.labels .secondary.label,
-.ui.ui.ui.basic.secondary.label {
-  background: none #FFFFFF;
-  border-color: #1B1C1D;
-  color: #1B1C1D;
-}
-.ui.basic.labels a.secondary.label:hover,
-a.ui.ui.ui.basic.secondary.label:hover {
-  background: none #FFFFFF;
-  border-color: #27292a;
-  color: #27292a;
-}
-
-/* Inverted */
-.ui.inverted.labels .secondary.label,
-.ui.ui.ui.inverted.secondary.label {
-  background-color: #545454;
-  border-color: #545454;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.secondary.label:hover,
-a.ui.ui.ui.inverted.secondary.label:hover {
-  background-color: #6e6e6e;
-  border-color: #6e6e6e;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.secondary.ribbon.label {
-  border-color: #3b3b3b;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .secondary.label,
-.ui.ui.ui.inverted.basic.secondary.label {
-  background-color: #1B1C1D;
-  border-color: #545454;
-  color: #545454;
-}
-.ui.inverted.basic.labels a.secondary.label:hover,
-a.ui.ui.ui.inverted.basic.secondary.label:hover {
-  border-color: #6e6e6e;
-  background-color: #1B1C1D;
-  color: #6e6e6e;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .secondary.label,
-.ui.ui.ui.inverted.secondary.basic.tag.label {
-  border: 1px solid #545454;
-}
-.ui.inverted.basic.tag.labels .secondary.label:before,
-.ui.ui.ui.inverted.secondary.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.red.labels .label,
-.ui.ui.ui.red.label {
-  background-color: #DB2828;
-  border-color: #DB2828;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.red.labels a.label:hover,
-a.ui.ui.ui.red.label:hover {
-  background-color: #d01919;
-  border-color: #d01919;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.red.ribbon.label {
-  border-color: #b21e1e;
-}
-
-/* Basic */
-.ui.basic.labels .red.label,
-.ui.ui.ui.basic.red.label {
-  background: none #FFFFFF;
-  border-color: #DB2828;
-  color: #DB2828;
-}
-.ui.basic.labels a.red.label:hover,
-a.ui.ui.ui.basic.red.label:hover {
-  background: none #FFFFFF;
-  border-color: #d01919;
-  color: #d01919;
-}
-
-/* Inverted */
-.ui.inverted.labels .red.label,
-.ui.ui.ui.inverted.red.label {
-  background-color: #FF695E;
-  border-color: #FF695E;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.red.label:hover,
-a.ui.ui.ui.inverted.red.label:hover {
-  background-color: #ff392b;
-  border-color: #ff392b;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.red.ribbon.label {
-  border-color: #ff392b;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .red.label,
-.ui.ui.ui.inverted.basic.red.label {
-  background-color: #1B1C1D;
-  border-color: #FF695E;
-  color: #FF695E;
-}
-.ui.inverted.basic.labels a.red.label:hover,
-a.ui.ui.ui.inverted.basic.red.label:hover {
-  border-color: #ff392b;
-  background-color: #1B1C1D;
-  color: #ff392b;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .red.label,
-.ui.ui.ui.inverted.red.basic.tag.label {
-  border: 1px solid #FF695E;
-}
-.ui.inverted.basic.tag.labels .red.label:before,
-.ui.ui.ui.inverted.red.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.orange.labels .label,
-.ui.ui.ui.orange.label {
-  background-color: #F2711C;
-  border-color: #F2711C;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.orange.labels a.label:hover,
-a.ui.ui.ui.orange.label:hover {
-  background-color: #f26202;
-  border-color: #f26202;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.orange.ribbon.label {
-  border-color: #cf590c;
-}
-
-/* Basic */
-.ui.basic.labels .orange.label,
-.ui.ui.ui.basic.orange.label {
-  background: none #FFFFFF;
-  border-color: #F2711C;
-  color: #F2711C;
-}
-.ui.basic.labels a.orange.label:hover,
-a.ui.ui.ui.basic.orange.label:hover {
-  background: none #FFFFFF;
-  border-color: #f26202;
-  color: #f26202;
-}
-
-/* Inverted */
-.ui.inverted.labels .orange.label,
-.ui.ui.ui.inverted.orange.label {
-  background-color: #FF851B;
-  border-color: #FF851B;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.orange.label:hover,
-a.ui.ui.ui.inverted.orange.label:hover {
-  background-color: #e76b00;
-  border-color: #e76b00;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.orange.ribbon.label {
-  border-color: #e76b00;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .orange.label,
-.ui.ui.ui.inverted.basic.orange.label {
-  background-color: #1B1C1D;
-  border-color: #FF851B;
-  color: #FF851B;
-}
-.ui.inverted.basic.labels a.orange.label:hover,
-a.ui.ui.ui.inverted.basic.orange.label:hover {
-  border-color: #e76b00;
-  background-color: #1B1C1D;
-  color: #e76b00;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .orange.label,
-.ui.ui.ui.inverted.orange.basic.tag.label {
-  border: 1px solid #FF851B;
-}
-.ui.inverted.basic.tag.labels .orange.label:before,
-.ui.ui.ui.inverted.orange.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.yellow.labels .label,
-.ui.ui.ui.yellow.label {
-  background-color: #FBBD08;
-  border-color: #FBBD08;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.yellow.labels a.label:hover,
-a.ui.ui.ui.yellow.label:hover {
-  background-color: #eaae00;
-  border-color: #eaae00;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.yellow.ribbon.label {
-  border-color: #cd9903;
-}
-
-/* Basic */
-.ui.basic.labels .yellow.label,
-.ui.ui.ui.basic.yellow.label {
-  background: none #FFFFFF;
-  border-color: #FBBD08;
-  color: #FBBD08;
-}
-.ui.basic.labels a.yellow.label:hover,
-a.ui.ui.ui.basic.yellow.label:hover {
-  background: none #FFFFFF;
-  border-color: #eaae00;
-  color: #eaae00;
-}
-
-/* Inverted */
-.ui.inverted.labels .yellow.label,
-.ui.ui.ui.inverted.yellow.label {
-  background-color: #FFE21F;
-  border-color: #FFE21F;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.yellow.label:hover,
-a.ui.ui.ui.inverted.yellow.label:hover {
-  background-color: #ebcd00;
-  border-color: #ebcd00;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.yellow.ribbon.label {
-  border-color: #ebcd00;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .yellow.label,
-.ui.ui.ui.inverted.basic.yellow.label {
-  background-color: #1B1C1D;
-  border-color: #FFE21F;
-  color: #FFE21F;
-}
-.ui.inverted.basic.labels a.yellow.label:hover,
-a.ui.ui.ui.inverted.basic.yellow.label:hover {
-  border-color: #ebcd00;
-  background-color: #1B1C1D;
-  color: #ebcd00;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .yellow.label,
-.ui.ui.ui.inverted.yellow.basic.tag.label {
-  border: 1px solid #FFE21F;
-}
-.ui.inverted.basic.tag.labels .yellow.label:before,
-.ui.ui.ui.inverted.yellow.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.olive.labels .label,
-.ui.ui.ui.olive.label {
-  background-color: #B5CC18;
-  border-color: #B5CC18;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.olive.labels a.label:hover,
-a.ui.ui.ui.olive.label:hover {
-  background-color: #a7bd0d;
-  border-color: #a7bd0d;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.olive.ribbon.label {
-  border-color: #8d9e13;
-}
-
-/* Basic */
-.ui.basic.labels .olive.label,
-.ui.ui.ui.basic.olive.label {
-  background: none #FFFFFF;
-  border-color: #B5CC18;
-  color: #B5CC18;
-}
-.ui.basic.labels a.olive.label:hover,
-a.ui.ui.ui.basic.olive.label:hover {
-  background: none #FFFFFF;
-  border-color: #a7bd0d;
-  color: #a7bd0d;
-}
-
-/* Inverted */
-.ui.inverted.labels .olive.label,
-.ui.ui.ui.inverted.olive.label {
-  background-color: #D9E778;
-  border-color: #D9E778;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.olive.label:hover,
-a.ui.ui.ui.inverted.olive.label:hover {
-  background-color: #d2e745;
-  border-color: #d2e745;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.olive.ribbon.label {
-  border-color: #cddf4d;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .olive.label,
-.ui.ui.ui.inverted.basic.olive.label {
-  background-color: #1B1C1D;
-  border-color: #D9E778;
-  color: #D9E778;
-}
-.ui.inverted.basic.labels a.olive.label:hover,
-a.ui.ui.ui.inverted.basic.olive.label:hover {
-  border-color: #d2e745;
-  background-color: #1B1C1D;
-  color: #d2e745;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .olive.label,
-.ui.ui.ui.inverted.olive.basic.tag.label {
-  border: 1px solid #D9E778;
-}
-.ui.inverted.basic.tag.labels .olive.label:before,
-.ui.ui.ui.inverted.olive.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.green.labels .label,
-.ui.ui.ui.green.label {
-  background-color: #21BA45;
-  border-color: #21BA45;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.green.labels a.label:hover,
-a.ui.ui.ui.green.label:hover {
-  background-color: #16ab39;
-  border-color: #16ab39;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.green.ribbon.label {
-  border-color: #198f35;
-}
-
-/* Basic */
-.ui.basic.labels .green.label,
-.ui.ui.ui.basic.green.label {
-  background: none #FFFFFF;
-  border-color: #21BA45;
-  color: #21BA45;
-}
-.ui.basic.labels a.green.label:hover,
-a.ui.ui.ui.basic.green.label:hover {
-  background: none #FFFFFF;
-  border-color: #16ab39;
-  color: #16ab39;
-}
-
-/* Inverted */
-.ui.inverted.labels .green.label,
-.ui.ui.ui.inverted.green.label {
-  background-color: #2ECC40;
-  border-color: #2ECC40;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.green.label:hover,
-a.ui.ui.ui.inverted.green.label:hover {
-  background-color: #1ea92e;
-  border-color: #1ea92e;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.green.ribbon.label {
-  border-color: #25a233;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .green.label,
-.ui.ui.ui.inverted.basic.green.label {
-  background-color: #1B1C1D;
-  border-color: #2ECC40;
-  color: #2ECC40;
-}
-.ui.inverted.basic.labels a.green.label:hover,
-a.ui.ui.ui.inverted.basic.green.label:hover {
-  border-color: #1ea92e;
-  background-color: #1B1C1D;
-  color: #1ea92e;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .green.label,
-.ui.ui.ui.inverted.green.basic.tag.label {
-  border: 1px solid #2ECC40;
-}
-.ui.inverted.basic.tag.labels .green.label:before,
-.ui.ui.ui.inverted.green.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.teal.labels .label,
-.ui.ui.ui.teal.label {
-  background-color: #00B5AD;
-  border-color: #00B5AD;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.teal.labels a.label:hover,
-a.ui.ui.ui.teal.label:hover {
-  background-color: #009c95;
-  border-color: #009c95;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.teal.ribbon.label {
-  border-color: #00827c;
-}
-
-/* Basic */
-.ui.basic.labels .teal.label,
-.ui.ui.ui.basic.teal.label {
-  background: none #FFFFFF;
-  border-color: #00B5AD;
-  color: #00B5AD;
-}
-.ui.basic.labels a.teal.label:hover,
-a.ui.ui.ui.basic.teal.label:hover {
-  background: none #FFFFFF;
-  border-color: #009c95;
-  color: #009c95;
-}
-
-/* Inverted */
-.ui.inverted.labels .teal.label,
-.ui.ui.ui.inverted.teal.label {
-  background-color: #6DFFFF;
-  border-color: #6DFFFF;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.teal.label:hover,
-a.ui.ui.ui.inverted.teal.label:hover {
-  background-color: #3affff;
-  border-color: #3affff;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.teal.ribbon.label {
-  border-color: #3affff;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .teal.label,
-.ui.ui.ui.inverted.basic.teal.label {
-  background-color: #1B1C1D;
-  border-color: #6DFFFF;
-  color: #6DFFFF;
-}
-.ui.inverted.basic.labels a.teal.label:hover,
-a.ui.ui.ui.inverted.basic.teal.label:hover {
-  border-color: #3affff;
-  background-color: #1B1C1D;
-  color: #3affff;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .teal.label,
-.ui.ui.ui.inverted.teal.basic.tag.label {
-  border: 1px solid #6DFFFF;
-}
-.ui.inverted.basic.tag.labels .teal.label:before,
-.ui.ui.ui.inverted.teal.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.blue.labels .label,
-.ui.ui.ui.blue.label {
-  background-color: #2185D0;
-  border-color: #2185D0;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.blue.labels a.label:hover,
-a.ui.ui.ui.blue.label:hover {
-  background-color: #1678c2;
-  border-color: #1678c2;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.blue.ribbon.label {
-  border-color: #1a69a4;
-}
-
-/* Basic */
-.ui.basic.labels .blue.label,
-.ui.ui.ui.basic.blue.label {
-  background: none #FFFFFF;
-  border-color: #2185D0;
-  color: #2185D0;
-}
-.ui.basic.labels a.blue.label:hover,
-a.ui.ui.ui.basic.blue.label:hover {
-  background: none #FFFFFF;
-  border-color: #1678c2;
-  color: #1678c2;
-}
-
-/* Inverted */
-.ui.inverted.labels .blue.label,
-.ui.ui.ui.inverted.blue.label {
-  background-color: #54C8FF;
-  border-color: #54C8FF;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.blue.label:hover,
-a.ui.ui.ui.inverted.blue.label:hover {
-  background-color: #21b8ff;
-  border-color: #21b8ff;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.blue.ribbon.label {
-  border-color: #21b8ff;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .blue.label,
-.ui.ui.ui.inverted.basic.blue.label {
-  background-color: #1B1C1D;
-  border-color: #54C8FF;
-  color: #54C8FF;
-}
-.ui.inverted.basic.labels a.blue.label:hover,
-a.ui.ui.ui.inverted.basic.blue.label:hover {
-  border-color: #21b8ff;
-  background-color: #1B1C1D;
-  color: #21b8ff;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .blue.label,
-.ui.ui.ui.inverted.blue.basic.tag.label {
-  border: 1px solid #54C8FF;
-}
-.ui.inverted.basic.tag.labels .blue.label:before,
-.ui.ui.ui.inverted.blue.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.violet.labels .label,
-.ui.ui.ui.violet.label {
-  background-color: #6435C9;
-  border-color: #6435C9;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.violet.labels a.label:hover,
-a.ui.ui.ui.violet.label:hover {
-  background-color: #5829bb;
-  border-color: #5829bb;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.violet.ribbon.label {
-  border-color: #502aa1;
-}
-
-/* Basic */
-.ui.basic.labels .violet.label,
-.ui.ui.ui.basic.violet.label {
-  background: none #FFFFFF;
-  border-color: #6435C9;
-  color: #6435C9;
-}
-.ui.basic.labels a.violet.label:hover,
-a.ui.ui.ui.basic.violet.label:hover {
-  background: none #FFFFFF;
-  border-color: #5829bb;
-  color: #5829bb;
-}
-
-/* Inverted */
-.ui.inverted.labels .violet.label,
-.ui.ui.ui.inverted.violet.label {
-  background-color: #A291FB;
-  border-color: #A291FB;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.violet.label:hover,
-a.ui.ui.ui.inverted.violet.label:hover {
-  background-color: #745aff;
-  border-color: #745aff;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.violet.ribbon.label {
-  border-color: #7860f9;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .violet.label,
-.ui.ui.ui.inverted.basic.violet.label {
-  background-color: #1B1C1D;
-  border-color: #A291FB;
-  color: #A291FB;
-}
-.ui.inverted.basic.labels a.violet.label:hover,
-a.ui.ui.ui.inverted.basic.violet.label:hover {
-  border-color: #745aff;
-  background-color: #1B1C1D;
-  color: #745aff;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .violet.label,
-.ui.ui.ui.inverted.violet.basic.tag.label {
-  border: 1px solid #A291FB;
-}
-.ui.inverted.basic.tag.labels .violet.label:before,
-.ui.ui.ui.inverted.violet.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.purple.labels .label,
-.ui.ui.ui.purple.label {
-  background-color: #A333C8;
-  border-color: #A333C8;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.purple.labels a.label:hover,
-a.ui.ui.ui.purple.label:hover {
-  background-color: #9627ba;
-  border-color: #9627ba;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.purple.ribbon.label {
-  border-color: #82299f;
-}
-
-/* Basic */
-.ui.basic.labels .purple.label,
-.ui.ui.ui.basic.purple.label {
-  background: none #FFFFFF;
-  border-color: #A333C8;
-  color: #A333C8;
-}
-.ui.basic.labels a.purple.label:hover,
-a.ui.ui.ui.basic.purple.label:hover {
-  background: none #FFFFFF;
-  border-color: #9627ba;
-  color: #9627ba;
-}
-
-/* Inverted */
-.ui.inverted.labels .purple.label,
-.ui.ui.ui.inverted.purple.label {
-  background-color: #DC73FF;
-  border-color: #DC73FF;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.purple.label:hover,
-a.ui.ui.ui.inverted.purple.label:hover {
-  background-color: #cf40ff;
-  border-color: #cf40ff;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.purple.ribbon.label {
-  border-color: #cf40ff;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .purple.label,
-.ui.ui.ui.inverted.basic.purple.label {
-  background-color: #1B1C1D;
-  border-color: #DC73FF;
-  color: #DC73FF;
-}
-.ui.inverted.basic.labels a.purple.label:hover,
-a.ui.ui.ui.inverted.basic.purple.label:hover {
-  border-color: #cf40ff;
-  background-color: #1B1C1D;
-  color: #cf40ff;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .purple.label,
-.ui.ui.ui.inverted.purple.basic.tag.label {
-  border: 1px solid #DC73FF;
-}
-.ui.inverted.basic.tag.labels .purple.label:before,
-.ui.ui.ui.inverted.purple.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.pink.labels .label,
-.ui.ui.ui.pink.label {
-  background-color: #E03997;
-  border-color: #E03997;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.pink.labels a.label:hover,
-a.ui.ui.ui.pink.label:hover {
-  background-color: #e61a8d;
-  border-color: #e61a8d;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.pink.ribbon.label {
-  border-color: #c71f7e;
-}
-
-/* Basic */
-.ui.basic.labels .pink.label,
-.ui.ui.ui.basic.pink.label {
-  background: none #FFFFFF;
-  border-color: #E03997;
-  color: #E03997;
-}
-.ui.basic.labels a.pink.label:hover,
-a.ui.ui.ui.basic.pink.label:hover {
-  background: none #FFFFFF;
-  border-color: #e61a8d;
-  color: #e61a8d;
-}
-
-/* Inverted */
-.ui.inverted.labels .pink.label,
-.ui.ui.ui.inverted.pink.label {
-  background-color: #FF8EDF;
-  border-color: #FF8EDF;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.pink.label:hover,
-a.ui.ui.ui.inverted.pink.label:hover {
-  background-color: #ff5bd1;
-  border-color: #ff5bd1;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.pink.ribbon.label {
-  border-color: #ff5bd1;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .pink.label,
-.ui.ui.ui.inverted.basic.pink.label {
-  background-color: #1B1C1D;
-  border-color: #FF8EDF;
-  color: #FF8EDF;
-}
-.ui.inverted.basic.labels a.pink.label:hover,
-a.ui.ui.ui.inverted.basic.pink.label:hover {
-  border-color: #ff5bd1;
-  background-color: #1B1C1D;
-  color: #ff5bd1;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .pink.label,
-.ui.ui.ui.inverted.pink.basic.tag.label {
-  border: 1px solid #FF8EDF;
-}
-.ui.inverted.basic.tag.labels .pink.label:before,
-.ui.ui.ui.inverted.pink.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.brown.labels .label,
-.ui.ui.ui.brown.label {
-  background-color: #A5673F;
-  border-color: #A5673F;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.brown.labels a.label:hover,
-a.ui.ui.ui.brown.label:hover {
-  background-color: #975b33;
-  border-color: #975b33;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.brown.ribbon.label {
-  border-color: #805031;
-}
-
-/* Basic */
-.ui.basic.labels .brown.label,
-.ui.ui.ui.basic.brown.label {
-  background: none #FFFFFF;
-  border-color: #A5673F;
-  color: #A5673F;
-}
-.ui.basic.labels a.brown.label:hover,
-a.ui.ui.ui.basic.brown.label:hover {
-  background: none #FFFFFF;
-  border-color: #975b33;
-  color: #975b33;
-}
-
-/* Inverted */
-.ui.inverted.labels .brown.label,
-.ui.ui.ui.inverted.brown.label {
-  background-color: #D67C1C;
-  border-color: #D67C1C;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.brown.label:hover,
-a.ui.ui.ui.inverted.brown.label:hover {
-  background-color: #b0620f;
-  border-color: #b0620f;
-  color: #1B1C1D;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.brown.ribbon.label {
-  border-color: #a96216;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .brown.label,
-.ui.ui.ui.inverted.basic.brown.label {
-  background-color: #1B1C1D;
-  border-color: #D67C1C;
-  color: #D67C1C;
-}
-.ui.inverted.basic.labels a.brown.label:hover,
-a.ui.ui.ui.inverted.basic.brown.label:hover {
-  border-color: #b0620f;
-  background-color: #1B1C1D;
-  color: #b0620f;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .brown.label,
-.ui.ui.ui.inverted.brown.basic.tag.label {
-  border: 1px solid #D67C1C;
-}
-.ui.inverted.basic.tag.labels .brown.label:before,
-.ui.ui.ui.inverted.brown.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.grey.labels .label,
-.ui.ui.ui.grey.label {
-  background-color: #767676;
-  border-color: #767676;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.grey.labels a.label:hover,
-a.ui.ui.ui.grey.label:hover {
-  background-color: #838383;
-  border-color: #838383;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.grey.ribbon.label {
-  border-color: #5d5d5d;
-}
-
-/* Basic */
-.ui.basic.labels .grey.label,
-.ui.ui.ui.basic.grey.label {
-  background: none #FFFFFF;
-  border-color: #767676;
-  color: #767676;
-}
-.ui.basic.labels a.grey.label:hover,
-a.ui.ui.ui.basic.grey.label:hover {
-  background: none #FFFFFF;
-  border-color: #838383;
-  color: #838383;
-}
-
-/* Inverted */
-.ui.inverted.labels .grey.label,
-.ui.ui.ui.inverted.grey.label {
-  background-color: #DCDDDE;
-  border-color: #DCDDDE;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.grey.label:hover,
-a.ui.ui.ui.inverted.grey.label:hover {
-  background-color: #c2c4c5;
-  border-color: #c2c4c5;
-  color: #FFFFFF;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.grey.ribbon.label {
-  border-color: #e9eaea;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .grey.label,
-.ui.ui.ui.inverted.basic.grey.label {
-  background-color: #1B1C1D;
-  border-color: #DCDDDE;
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.basic.labels a.grey.label:hover,
-a.ui.ui.ui.inverted.basic.grey.label:hover {
-  border-color: #c2c4c5;
-  background-color: #1B1C1D;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .grey.label,
-.ui.ui.ui.inverted.grey.basic.tag.label {
-  border: 1px solid #DCDDDE;
-}
-.ui.inverted.basic.tag.labels .grey.label:before,
-.ui.ui.ui.inverted.grey.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-.ui.black.labels .label,
-.ui.ui.ui.black.label {
-  background-color: #1B1C1D;
-  border-color: #1B1C1D;
-  color: #FFFFFF;
-}
-
-/* Link */
-.ui.black.labels a.label:hover,
-a.ui.ui.ui.black.label:hover {
-  background-color: #27292a;
-  border-color: #27292a;
-  color: #FFFFFF;
-}
-
-/* Ribbon */
-.ui.ui.ui.black.ribbon.label {
-  border-color: #020203;
-}
-
-/* Basic */
-.ui.basic.labels .black.label,
-.ui.ui.ui.basic.black.label {
-  background: none #FFFFFF;
-  border-color: #1B1C1D;
-  color: #1B1C1D;
-}
-.ui.basic.labels a.black.label:hover,
-a.ui.ui.ui.basic.black.label:hover {
-  background: none #FFFFFF;
-  border-color: #27292a;
-  color: #27292a;
-}
-
-/* Inverted */
-.ui.inverted.labels .black.label,
-.ui.ui.ui.inverted.black.label {
-  background-color: #545454;
-  border-color: #545454;
-  color: #1B1C1D;
-}
-
-/* Inverted Link */
-.ui.inverted.labels a.black.label:hover,
-a.ui.ui.ui.inverted.black.label:hover {
-  background-color: #000000;
-  border-color: #000000;
-  color: #FFFFFF;
-}
-
-/* Inverted Ribbon */
-.ui.ui.ui.inverted.black.ribbon.label {
-  border-color: #616161;
-}
-
-/* Inverted Basic */
-.ui.inverted.basic.labels .black.label,
-.ui.ui.ui.inverted.basic.black.label {
-  background-color: #1B1C1D;
-  border-color: #545454;
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.basic.labels a.black.label:hover,
-a.ui.ui.ui.inverted.basic.black.label:hover {
-  border-color: #000000;
-  background-color: #1B1C1D;
-}
-
-/* Inverted Basic Tags */
-.ui.inverted.basic.tag.labels .black.label,
-.ui.ui.ui.inverted.black.basic.tag.label {
-  border: 1px solid #545454;
-}
-.ui.inverted.basic.tag.labels .black.label:before,
-.ui.ui.ui.inverted.black.basic.tag.label:before {
-  border-color: inherit;
-  border-width: 1px 0 0 1px;
-  border-style: inherit;
-  background-color: #1B1C1D;
-  right: calc(100% + 1px);
-}
-
-/*-------------------
-     Horizontal
---------------------*/
-
-.ui.horizontal.labels .label,
-.ui.horizontal.label {
-  margin: 0 0.5em 0 0;
-  padding: 0.4em 0.833em;
-  min-width: 3em;
-  text-align: center;
-}
-
-/*-------------------
-       Circular
---------------------*/
-
-.ui.circular.labels .label,
-.ui.circular.label {
-  min-width: 2em;
-  min-height: 2em;
-  padding: 0.5em !important;
-  line-height: 1em;
-  text-align: center;
-  border-radius: 500rem;
-}
-.ui.empty.circular.labels .label,
-.ui.empty.circular.label {
-  min-width: 0;
-  min-height: 0;
-  overflow: hidden;
-  width: 0.5em;
-  height: 0.5em;
-  vertical-align: baseline;
-}
-
-/*-------------------
-       Pointing
---------------------*/
-
-.ui.pointing.label {
-  position: relative;
-}
-.ui.attached.pointing.label {
-  position: absolute;
-}
-.ui.pointing.label:before {
-  background-color: inherit;
-  background-image: inherit;
-  border-width: 0;
-  border-style: solid;
-  border-color: inherit;
-}
-
-/* Arrow */
-.ui.pointing.label:before {
-  position: absolute;
-  content: '';
-  -webkit-transform: rotate(45deg);
-          transform: rotate(45deg);
-  background-image: none;
-  z-index: 2;
-  width: 0.6666em;
-  height: 0.6666em;
-  -webkit-transition: none;
-  transition: none;
-}
-
-/*--- Above ---*/
-
-.ui.pointing.label,
-.ui[class*="pointing above"].label {
-  margin-top: 1em;
-}
-.ui.pointing.label:before,
-.ui[class*="pointing above"].label:before {
-  border-width: 1px 0 0 1px;
-  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
-          transform: translateX(-50%) translateY(-50%) rotate(45deg);
-  top: 0;
-  left: 50%;
-}
-
-/*--- Below ---*/
-
-.ui[class*="bottom pointing"].label,
-.ui[class*="pointing below"].label {
-  margin-top: 0;
-  margin-bottom: 1em;
-}
-.ui[class*="bottom pointing"].label:before,
-.ui[class*="pointing below"].label:before {
-  border-width: 0 1px 1px 0;
-  top: auto;
-  right: auto;
-  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
-          transform: translateX(-50%) translateY(-50%) rotate(45deg);
-  top: 100%;
-  left: 50%;
-}
-
-/*--- Left ---*/
-
-.ui[class*="left pointing"].label {
-  margin-top: 0;
-  margin-left: 0.6666em;
-}
-.ui[class*="left pointing"].label:before {
-  border-width: 0 0 1px 1px;
-  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
-          transform: translateX(-50%) translateY(-50%) rotate(45deg);
-  bottom: auto;
-  right: auto;
-  top: 50%;
-  left: 0;
-}
-
-/*--- Right ---*/
-
-.ui[class*="right pointing"].label {
-  margin-top: 0;
-  margin-right: 0.6666em;
-}
-.ui[class*="right pointing"].label:before {
-  border-width: 1px 1px 0 0;
-  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
-          transform: translateX(50%) translateY(-50%) rotate(45deg);
-  top: 50%;
-  right: 0;
-  bottom: auto;
-  left: auto;
-}
-
-/* Basic Pointing */
-
-/*--- Above ---*/
-
-.ui.basic.pointing.label:before,
-.ui.basic[class*="pointing above"].label:before {
-  margin-top: -1px;
-}
-
-/*--- Below ---*/
-
-.ui.basic[class*="bottom pointing"].label:before,
-.ui.basic[class*="pointing below"].label:before {
-  bottom: auto;
-  top: 100%;
-  margin-top: 1px;
-}
-
-/*--- Left ---*/
-
-.ui.basic[class*="left pointing"].label:before {
-  top: 50%;
-  left: -1px;
-}
-
-/*--- Right ---*/
-
-.ui.basic[class*="right pointing"].label:before {
-  top: 50%;
-  right: -1px;
-}
-
-/*------------------
-   Floating Label
--------------------*/
-
-.ui.floating.label {
-  position: absolute;
-  z-index: 100;
-  top: -1em;
-  right: 0;
-  white-space: nowrap;
-  -webkit-transform: translateX(50%);
-          transform: translateX(50%);
-}
-.ui.right.aligned.floating.label {
-  -webkit-transform: translateX(1.2em);
-          transform: translateX(1.2em);
-}
-.ui.left.floating.label {
-  left: 0;
-  right: auto;
-  -webkit-transform: translateX(-50%);
-          transform: translateX(-50%);
-}
-.ui.left.aligned.floating.label {
-  -webkit-transform: translateX(-1.2em);
-          transform: translateX(-1.2em);
-}
-.ui.bottom.floating.label {
-  top: auto;
-  bottom: -1em;
-}
-
-/*-------------------
-        Sizes
---------------------*/
-
-.ui.mini.labels .label,
-.ui.mini.label {
-  font-size: 0.64285714rem;
-}
-.ui.tiny.labels .label,
-.ui.tiny.label {
-  font-size: 0.71428571rem;
-}
-.ui.small.labels .label,
-.ui.small.label {
-  font-size: 0.78571429rem;
-}
-.ui.labels .label,
-.ui.label {
-  font-size: 0.85714286rem;
-}
-.ui.large.labels .label,
-.ui.large.label {
-  font-size: 1rem;
-}
-.ui.big.labels .label,
-.ui.big.label {
-  font-size: 1.28571429rem;
-}
-.ui.huge.labels .label,
-.ui.huge.label {
-  font-size: 1.42857143rem;
-}
-.ui.massive.labels .label,
-.ui.massive.label {
-  font-size: 1.71428571rem;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/label.min.css


+ 0 - 975
webgui/static/components/list.css

@@ -1,975 +0,0 @@
-/*!
- * # Fomantic-UI - List
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            List
-*******************************/
-
-ul.ui.list,
-ol.ui.list,
-.ui.list {
-  list-style-type: none;
-  margin: 1em 0;
-  padding: 0 0;
-}
-ul.ui.list:first-child,
-ol.ui.list:first-child,
-.ui.list:first-child {
-  margin-top: 0;
-  padding-top: 0;
-}
-ul.ui.list:last-child,
-ol.ui.list:last-child,
-.ui.list:last-child {
-  margin-bottom: 0;
-  padding-bottom: 0;
-}
-
-
-/*******************************
-            Content
-*******************************/
-
-
-/* List Item */
-ul.ui.list li,
-ol.ui.list li,
-.ui.list > .item,
-.ui.list .list > .item {
-  display: list-item;
-  table-layout: fixed;
-  list-style-type: none;
-  list-style-position: outside;
-  padding: 0.21428571em 0;
-  line-height: 1.14285714em;
-}
-ul.ui.list > li:first-child:after,
-ol.ui.list > li:first-child:after,
-.ui.list > .list > .item:after,
-.ui.list > .item:after {
-  content: '';
-  display: block;
-  height: 0;
-  clear: both;
-  visibility: hidden;
-}
-ul.ui.list li:first-child,
-ol.ui.list li:first-child,
-.ui.list .list > .item:first-child,
-.ui.list > .item:first-child {
-  padding-top: 0;
-}
-ul.ui.list li:last-child,
-ol.ui.list li:last-child,
-.ui.list .list > .item:last-child,
-.ui.list > .item:last-child {
-  padding-bottom: 0;
-}
-
-/* Child List */
-ul.ui.list ul,
-ol.ui.list ol,
-.ui.list .list:not(.icon) {
-  clear: both;
-  margin: 0;
-  padding: 0.75em 0 0.25em 0.5em;
-}
-
-/* Child Item */
-ul.ui.list ul li,
-ol.ui.list ol li,
-.ui.list .list > .item {
-  padding: 0.14285714em 0;
-  line-height: inherit;
-}
-
-/* Icon */
-.ui.list .list > .item > i.icon,
-.ui.list > .item > i.icon {
-  display: table-cell;
-  min-width: 1.55em;
-  margin: 0;
-  padding-top: 0;
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-}
-.ui.list .list > .item > i.icon:not(.loading),
-.ui.list > .item > i.icon:not(.loading) {
-  padding-right: 0.28571429em;
-  vertical-align: top;
-}
-.ui.list .list > .item > i.icon:only-child,
-.ui.list > .item > i.icon:only-child {
-  display: inline-block;
-  min-width: auto;
-  vertical-align: top;
-}
-
-/* Image */
-.ui.list .list > .item > .image,
-.ui.list > .item > .image {
-  display: table-cell;
-  background-color: transparent;
-  margin: 0;
-  vertical-align: top;
-}
-.ui.list .list > .item > .image:not(:only-child):not(img),
-.ui.list > .item > .image:not(:only-child):not(img) {
-  padding-right: 0.5em;
-}
-.ui.list .list > .item > .image img,
-.ui.list > .item > .image img {
-  vertical-align: top;
-}
-.ui.list .list > .item > img.image,
-.ui.list .list > .item > .image:only-child,
-.ui.list > .item > img.image,
-.ui.list > .item > .image:only-child {
-  display: inline-block;
-}
-
-/* Content */
-.ui.list .list > .item > .content,
-.ui.list > .item > .content {
-  line-height: 1.14285714em;
-  color: #AAAAAA;
-}
-.ui.list .list > .item > .image + .content,
-.ui.list .list > .item > .icon + .content,
-.ui.list > .item > .image + .content,
-.ui.list > .item > .icon + .content {
-  display: table-cell;
-  width: 100%;
-  padding: 0 0 0 0.5em;
-  vertical-align: top;
-}
-.ui.list .list > .item > .loading.icon + .content,
-.ui.list > .item > .loading.icon + .content {
-  padding-left: calc(0.2857142857142857em + 0.5em);
-}
-.ui.list .list > .item > img.image + .content,
-.ui.list > .item > img.image + .content {
-  display: inline-block;
-  width: auto;
-}
-.ui.list .list > .item > .content > .list,
-.ui.list > .item > .content > .list {
-  margin-left: 0;
-  padding-left: 0;
-}
-
-/* Header */
-.ui.list .list > .item .header,
-.ui.list > .item .header {
-  display: block;
-  margin: 0;
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  font-weight: bold;
-  color: #AAAAAA;
-}
-
-/* Description */
-.ui.list .list > .item .description,
-.ui.list > .item .description {
-  display: block;
-  color: rgba(0, 0, 0, 0.7);
-}
-
-/* Child Link */
-.ui.list > .item a,
-.ui.list .list > .item a {
-  cursor: pointer;
-}
-
-/* Linking Item */
-.ui.list .list > a.item,
-.ui.list > a.item {
-  cursor: pointer;
-  color: #4183C4;
-}
-.ui.list .list > a.item:hover,
-.ui.list > a.item:hover {
-  color: #1e70bf;
-}
-
-/* Linked Item Icons */
-.ui.list .list > a.item > i.icon,
-.ui.list > a.item > i.icon {
-  color: rgba(0, 0, 0, 0.4);
-}
-
-/* Header Link */
-.ui.list .list > .item a.header,
-.ui.list > .item a.header {
-  cursor: pointer;
-  color: #4183C4 !important;
-}
-.ui.list .list > .item > a.header:hover,
-.ui.list > .item > a.header:hover {
-  color: #1e70bf !important;
-}
-
-/* Floated Content */
-.ui[class*="left floated"].list {
-  float: left;
-}
-.ui[class*="right floated"].list {
-  float: right;
-}
-.ui.list .list > .item [class*="left floated"],
-.ui.list > .item [class*="left floated"] {
-  float: left;
-  margin: 0 1em 0 0;
-}
-.ui.list .list > .item [class*="right floated"],
-.ui.list > .item [class*="right floated"] {
-  float: right;
-  margin: 0 0 0 1em;
-}
-
-
-/*******************************
-            Coupling
-*******************************/
-
-.ui.menu .ui.list > .item,
-.ui.menu .ui.list .list > .item {
-  display: list-item;
-  table-layout: fixed;
-  background-color: transparent;
-  list-style-type: none;
-  list-style-position: outside;
-  padding: 0.21428571em 0;
-  line-height: 1.14285714em;
-}
-.ui.menu .ui.list .list > .item:before,
-.ui.menu .ui.list > .item:before {
-  border: none;
-  background: none;
-}
-.ui.menu .ui.list .list > .item:first-child,
-.ui.menu .ui.list > .item:first-child {
-  padding-top: 0;
-}
-.ui.menu .ui.list .list > .item:last-child,
-.ui.menu .ui.list > .item:last-child {
-  padding-bottom: 0;
-}
-
-
-/*******************************
-            Types
-*******************************/
-
-
-/*-------------------
-      Horizontal
---------------------*/
-
-.ui.horizontal.list {
-  display: inline-block;
-  font-size: 0;
-}
-.ui.horizontal.list > .item {
-  display: inline-block;
-  margin-right: 1em;
-  font-size: 1rem;
-}
-.ui.horizontal.list:not(.celled) > .item:last-child {
-  margin-right: 0;
-  padding-right: 0;
-}
-.ui.horizontal.list .list:not(.icon) {
-  padding-left: 0;
-  padding-bottom: 0;
-}
-.ui.horizontal.list > .item > .image,
-.ui.horizontal.list .list > .item > .image,
-.ui.horizontal.list > .item > .icon,
-.ui.horizontal.list .list > .item > .icon,
-.ui.horizontal.list > .item > .content,
-.ui.horizontal.list .list > .item > .content {
-  vertical-align: middle;
-}
-
-/* Padding on all elements */
-.ui.horizontal.list > .item:first-child,
-.ui.horizontal.list > .item:last-child {
-  padding-top: 0.21428571em;
-  padding-bottom: 0.21428571em;
-}
-
-/* Horizontal List */
-.ui.horizontal.list > .item > i.icon {
-  margin: 0;
-  padding: 0 0.25em 0 0;
-}
-.ui.horizontal.list > .item > .image + .content,
-.ui.horizontal.list > .item > .icon,
-.ui.horizontal.list > .item > .icon + .content {
-  float: none;
-  display: inline-block;
-  width: auto;
-}
-.ui.horizontal.list > .item > .image {
-  display: inline-block;
-}
-
-
-/*******************************
-             States
-*******************************/
-
-
-/*-------------------
-       Disabled
---------------------*/
-
-.ui.list .list > .disabled.item,
-.ui.list > .disabled.item {
-  pointer-events: none;
-  color: rgba(40, 40, 40, 0.3) !important;
-}
-.ui.inverted.list .list > .disabled.item,
-.ui.inverted.list > .disabled.item {
-  color: rgba(225, 225, 225, 0.3) !important;
-}
-
-/*-------------------
-        Hover
---------------------*/
-
-.ui.list .list > a.item:hover > .icon,
-.ui.list > a.item:hover > .icon {
-  color: #AAAAAA;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*-------------------
-       Inverted
---------------------*/
-
-.ui.inverted.list .list > a.item > .icon,
-.ui.inverted.list > a.item > .icon {
-  color: rgba(255, 255, 255, 0.7);
-}
-.ui.inverted.list .list > .item .header,
-.ui.inverted.list > .item .header {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.list .list > .item .description,
-.ui.inverted.list > .item .description {
-  color: rgba(255, 255, 255, 0.7);
-}
-.ui.inverted.list .list > .item > .content,
-.ui.inverted.list > .item > .content {
-  color: rgba(255, 255, 255, 0.7);
-}
-
-/* Item Link */
-.ui.inverted.list .list > a.item,
-.ui.inverted.list > a.item {
-  cursor: pointer;
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.list .list > a.item:hover,
-.ui.inverted.list > a.item:hover {
-  color: #1e70bf;
-}
-
-/* Linking Content */
-.ui.inverted.list .item a:not(.ui) {
-  color: rgba(255, 255, 255, 0.9) !important;
-}
-.ui.inverted.list .item a:not(.ui):hover {
-  color: #1e70bf !important;
-}
-
-/*-------------------
-       Aligned
---------------------*/
-
-.ui.list[class*="top aligned"] .image,
-.ui.list[class*="top aligned"] .content,
-.ui.list [class*="top aligned"] {
-  vertical-align: top !important;
-}
-.ui.list[class*="middle aligned"] .image,
-.ui.list[class*="middle aligned"] .content,
-.ui.list [class*="middle aligned"] {
-  vertical-align: middle !important;
-}
-.ui.list[class*="bottom aligned"] .image,
-.ui.list[class*="bottom aligned"] .content,
-.ui.list [class*="bottom aligned"] {
-  vertical-align: bottom !important;
-}
-
-/*-------------------
-       Link
---------------------*/
-
-.ui.link.list .item,
-.ui.link.list a.item,
-.ui.link.list .item a:not(.ui) {
-  color: rgba(0, 0, 0, 0.4);
-  -webkit-transition: 0.1s color ease;
-  transition: 0.1s color ease;
-}
-.ui.link.list.list a.item:hover,
-.ui.link.list.list .item a:not(.ui):hover {
-  color: rgba(0, 0, 0, 0.8);
-}
-.ui.link.list.list a.item:active,
-.ui.link.list.list .item a:not(.ui):active {
-  color: rgba(0, 0, 0, 0.9);
-}
-.ui.link.list.list .active.item,
-.ui.link.list.list .active.item a:not(.ui) {
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/* Inverted */
-.ui.inverted.link.list .item,
-.ui.inverted.link.list a.item,
-.ui.inverted.link.list .item a:not(.ui) {
-  color: rgba(255, 255, 255, 0.5);
-}
-.ui.inverted.link.list.list a.item:hover,
-.ui.inverted.link.list.list .item a:not(.ui):hover {
-  color: #ffffff;
-}
-.ui.inverted.link.list.list a.item:active,
-.ui.inverted.link.list.list .item a:not(.ui):active {
-  color: #ffffff;
-}
-.ui.inverted.link.list.list a.active.item,
-.ui.inverted.link.list.list .active.item a:not(.ui) {
-  color: #ffffff;
-}
-
-/*-------------------
-      Selection
---------------------*/
-
-.ui.selection.list .list > .item,
-.ui.selection.list > .item {
-  cursor: pointer;
-  background: transparent;
-  padding: 0.5em 0.5em;
-  margin: 0;
-  color: rgba(0, 0, 0, 0.4);
-  border-radius: 0.5em;
-  -webkit-transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;
-  transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;
-}
-.ui.selection.list .list > .item:last-child,
-.ui.selection.list > .item:last-child {
-  margin-bottom: 0;
-}
-.ui.selection.list .list > .item:hover,
-.ui.selection.list > .item:hover {
-  background: rgba(0, 0, 0, 0.03);
-  color: rgba(0, 0, 0, 0.8);
-}
-.ui.selection.list .list > .item:active,
-.ui.selection.list > .item:active {
-  background: rgba(0, 0, 0, 0.05);
-  color: rgba(0, 0, 0, 0.9);
-}
-.ui.selection.list .list > .item.active,
-.ui.selection.list > .item.active {
-  background: rgba(0, 0, 0, 0.05);
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/* Inverted */
-.ui.inverted.selection.list > .item {
-  background: transparent;
-  color: rgba(255, 255, 255, 0.5);
-}
-.ui.inverted.selection.list > .item:hover {
-  background: rgba(255, 255, 255, 0.02);
-  color: #ffffff;
-}
-.ui.inverted.selection.list > .item:active {
-  background: rgba(255, 255, 255, 0.08);
-  color: #ffffff;
-}
-.ui.inverted.selection.list > .item.active {
-  background: rgba(255, 255, 255, 0.08);
-  color: #ffffff;
-}
-
-/* Celled / Divided Selection List */
-.ui.celled.selection.list .list > .item,
-.ui.divided.selection.list .list > .item,
-.ui.celled.selection.list > .item,
-.ui.divided.selection.list > .item {
-  border-radius: 0;
-}
-
-/*-------------------
-       Animated
---------------------*/
-
-.ui.animated.list > .item {
-  -webkit-transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;
-  transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;
-}
-.ui.animated.list:not(.horizontal) > .item:hover {
-  padding-left: 1em;
-}
-
-/*-------------------
-       Fitted
---------------------*/
-
-.ui.fitted.list:not(.selection) .list > .item,
-.ui.fitted.list:not(.selection) > .item {
-  padding-left: 0;
-  padding-right: 0;
-}
-.ui.fitted.selection.list .list > .item,
-.ui.fitted.selection.list > .item {
-  margin-left: -0.5em;
-  margin-right: -0.5em;
-}
-
-/*-------------------
-      Bulleted
---------------------*/
-
-ul.ui.list,
-.ui.bulleted.list {
-  margin-left: 1.25rem;
-}
-ul.ui.list li,
-.ui.bulleted.list .list > .item,
-.ui.bulleted.list > .item {
-  position: relative;
-}
-ul.ui.list li:before,
-.ui.bulleted.list .list > .item:before,
-.ui.bulleted.list > .item:before {
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  pointer-events: none;
-  position: absolute;
-  top: auto;
-  left: auto;
-  font-weight: normal;
-  margin-left: -1.25rem;
-  content: '•';
-  opacity: 1;
-  color: inherit;
-  vertical-align: top;
-}
-ul.ui.list li:before,
-.ui.bulleted.list .list > a.item:before,
-.ui.bulleted.list > a.item:before {
-  color: #AAAAAA;
-}
-ul.ui.list ul,
-.ui.bulleted.list .list:not(.icon) {
-  padding-left: 1.25rem;
-}
-
-/* Horizontal Bulleted */
-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.75rem;
-}
-ul.ui.horizontal.bulleted.list li:first-child,
-.ui.horizontal.bulleted.list > .item:first-child {
-  margin-left: 0;
-}
-ul.ui.horizontal.bulleted.list li::before,
-.ui.horizontal.bulleted.list > .item::before {
-  color: #AAAAAA;
-}
-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,
-.ui.ordered.list .list:not(.icon),
-ol.ui.list ol {
-  counter-reset: ordered;
-  margin-left: 1.25rem;
-  list-style-type: none;
-}
-ol.ui.list li,
-.ui.ordered.list .list > .item,
-.ui.ordered.list > .item {
-  list-style-type: none;
-  position: relative;
-}
-ol.ui.list li:before,
-.ui.ordered.list .list > .item:before,
-.ui.ordered.list > .item:before {
-  position: absolute;
-  top: auto;
-  left: auto;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  pointer-events: none;
-  margin-left: -1.25rem;
-  counter-increment: ordered;
-  content: counters(ordered, ".") " ";
-  text-align: right;
-  color: #AAAAAA;
-  vertical-align: middle;
-  opacity: 0.8;
-}
-ol.ui.inverted.list li:before,
-.ui.ordered.inverted.list .list > .item:before,
-.ui.ordered.inverted.list > .item:before {
-  color: rgba(255, 255, 255, 0.7);
-}
-
-/* Value */
-.ui.ordered.list .list > .item[data-value]:before,
-.ui.ordered.list > .item[data-value]:before {
-  content: attr(data-value);
-}
-ol.ui.list li[value]:before {
-  content: attr(value);
-}
-
-/* Child Lists */
-ol.ui.list ol,
-.ui.ordered.list .list:not(.icon) {
-  margin-left: 1em;
-}
-ol.ui.list ol li:before,
-.ui.ordered.list .list > .item:before {
-  margin-left: -2em;
-}
-
-/* Horizontal Ordered */
-ol.ui.horizontal.list,
-.ui.ordered.horizontal.list {
-  margin-left: 0;
-}
-ol.ui.horizontal.list li:before,
-.ui.ordered.horizontal.list .list > .item:before,
-.ui.ordered.horizontal.list > .item:before {
-  position: static;
-  margin: 0 0.5em 0 0;
-}
-
-/* Suffixed Ordered */
-ol.ui.suffixed.list li:before,
-.ui.suffixed.ordered.list .list > .item:before,
-.ui.suffixed.ordered.list > .item:before {
-  content: counters(ordered, ".") ".";
-}
-
-/*-------------------
-       Divided
---------------------*/
-
-.ui.divided.list > .item {
-  border-top: 1px solid rgba(34, 36, 38, 0.15);
-}
-.ui.divided.list .list > .item {
-  border-top: none;
-}
-.ui.divided.list .item .list > .item {
-  border-top: none;
-}
-.ui.divided.list .list > .item:first-child,
-.ui.divided.list > .item:first-child {
-  border-top: none;
-}
-
-/* Sub Menu */
-.ui.divided.list:not(.horizontal) .list > .item:first-child {
-  border-top-width: 1px;
-}
-
-/* Divided bulleted */
-.ui.divided.bulleted.list:not(.horizontal),
-.ui.divided.bulleted.list .list:not(.icon) {
-  margin-left: 0;
-  padding-left: 0;
-}
-.ui.divided.bulleted.list > .item:not(.horizontal) {
-  padding-left: 1.25rem;
-}
-
-/* Divided Ordered */
-.ui.divided.ordered.list {
-  margin-left: 0;
-}
-.ui.divided.ordered.list .list > .item,
-.ui.divided.ordered.list > .item {
-  padding-left: 1.25rem;
-}
-.ui.divided.ordered.list .item .list:not(.icon) {
-  margin-left: 0;
-  margin-right: 0;
-  padding-bottom: 0.21428571em;
-}
-.ui.divided.ordered.list .item .list > .item {
-  padding-left: 1em;
-}
-
-/* Divided Selection */
-.ui.divided.selection.list .list > .item,
-.ui.divided.selection.list > .item {
-  margin: 0;
-  border-radius: 0;
-}
-
-/* Divided horizontal */
-.ui.divided.horizontal.list {
-  margin-left: 0;
-}
-.ui.divided.horizontal.list > .item {
-  padding-left: 0.5em;
-}
-.ui.divided.horizontal.list > .item:not(:last-child) {
-  padding-right: 0.5em;
-}
-.ui.divided.horizontal.list > .item {
-  border-top: none;
-  border-right: 1px solid rgba(34, 36, 38, 0.15);
-  margin: 0;
-  line-height: 0.6;
-}
-.ui.horizontal.divided.list > .item:last-child {
-  border-right: none;
-}
-
-/* Inverted */
-.ui.divided.inverted.list > .item,
-.ui.divided.inverted.list > .list,
-.ui.divided.inverted.horizontal.list > .item {
-  border-color: rgba(255, 255, 255, 0.1);
-}
-
-/*-------------------
-        Celled
---------------------*/
-
-.ui.celled.list > .item,
-.ui.celled.list > .list {
-  border-top: 1px solid rgba(34, 36, 38, 0.15);
-  padding-left: 0.5em;
-  padding-right: 0.5em;
-}
-.ui.celled.list > .item:last-child {
-  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
-}
-
-/* Padding on all elements */
-.ui.celled.list > .item:first-child,
-.ui.celled.list > .item:last-child {
-  padding-top: 0.21428571em;
-  padding-bottom: 0.21428571em;
-}
-
-/* Sub Menu */
-.ui.celled.list .item .list > .item {
-  border-width: 0;
-}
-.ui.celled.list .list > .item:first-child {
-  border-top-width: 0;
-}
-
-/* Celled Bulleted */
-.ui.celled.bulleted.list {
-  margin-left: 0;
-}
-.ui.celled.bulleted.list .list > .item,
-.ui.celled.bulleted.list > .item {
-  padding-left: 1.25rem;
-}
-.ui.celled.bulleted.list .item .list:not(.icon) {
-  margin-left: -1.25rem;
-  margin-right: -1.25rem;
-  padding-bottom: 0.21428571em;
-}
-
-/* Celled Ordered */
-.ui.celled.ordered.list {
-  margin-left: 0;
-}
-.ui.celled.ordered.list .list > .item,
-.ui.celled.ordered.list > .item {
-  padding-left: 1.25rem;
-}
-.ui.celled.ordered.list .item .list:not(.icon) {
-  margin-left: 0;
-  margin-right: 0;
-  padding-bottom: 0.21428571em;
-}
-.ui.celled.ordered.list .list > .item {
-  padding-left: 1em;
-}
-
-/* Celled Horizontal */
-.ui.horizontal.celled.list {
-  margin-left: 0;
-}
-.ui.horizontal.celled.list .list > .item,
-.ui.horizontal.celled.list > .item {
-  border-top: none;
-  border-left: 1px solid rgba(34, 36, 38, 0.15);
-  margin: 0;
-  padding-left: 0.5em;
-  padding-right: 0.5em;
-  line-height: 0.6;
-}
-.ui.horizontal.celled.list .list > .item:last-child,
-.ui.horizontal.celled.list > .item:last-child {
-  border-bottom: none;
-  border-right: 1px solid rgba(34, 36, 38, 0.15);
-}
-
-/* Inverted */
-.ui.celled.inverted.list > .item,
-.ui.celled.inverted.list > .list {
-  border-color: rgba(255, 255, 255, 0.1);
-}
-.ui.celled.inverted.horizontal.list .list > .item,
-.ui.celled.inverted.horizontal.list > .item {
-  border-color: rgba(255, 255, 255, 0.1);
-}
-
-/*-------------------
-       Relaxed
---------------------*/
-
-.ui.relaxed.list:not(.horizontal) > .item:not(:first-child) {
-  padding-top: 0.42857143em;
-}
-.ui.relaxed.list:not(.horizontal) > .item:not(:last-child) {
-  padding-bottom: 0.42857143em;
-}
-.ui.horizontal.relaxed.list .list > .item:not(:first-child),
-.ui.horizontal.relaxed.list > .item:not(:first-child) {
-  padding-left: 1rem;
-}
-.ui.horizontal.relaxed.list .list > .item:not(:last-child),
-.ui.horizontal.relaxed.list > .item:not(:last-child) {
-  padding-right: 1rem;
-}
-
-/* Very Relaxed */
-.ui[class*="very relaxed"].list:not(.horizontal) > .item:not(:first-child) {
-  padding-top: 0.85714286em;
-}
-.ui[class*="very relaxed"].list:not(.horizontal) > .item:not(:last-child) {
-  padding-bottom: 0.85714286em;
-}
-.ui.horizontal[class*="very relaxed"].list .list > .item:not(:first-child),
-.ui.horizontal[class*="very relaxed"].list > .item:not(:first-child) {
-  padding-left: 1.5rem;
-}
-.ui.horizontal[class*="very relaxed"].list .list > .item:not(:last-child),
-.ui.horizontal[class*="very relaxed"].list > .item:not(:last-child) {
-  padding-right: 1.5rem;
-}
-
-/*-------------------
-      Sizes
---------------------*/
-
-.ui.mini.list {
-  font-size: 0.78571429em;
-}
-.ui.tiny.list {
-  font-size: 0.85714286em;
-}
-.ui.small.list {
-  font-size: 0.92857143em;
-}
-.ui.list {
-  font-size: 1em;
-}
-.ui.large.list {
-  font-size: 1.14285714em;
-}
-.ui.big.list {
-  font-size: 1.28571429em;
-}
-.ui.huge.list {
-  font-size: 1.42857143em;
-}
-.ui.massive.list {
-  font-size: 1.71428571em;
-}
-.ui.mini.horizontal.list .list > .item,
-.ui.mini.horizontal.list > .item {
-  font-size: 0.78571429rem;
-}
-.ui.tiny.horizontal.list .list > .item,
-.ui.tiny.horizontal.list > .item {
-  font-size: 0.85714286rem;
-}
-.ui.small.horizontal.list .list > .item,
-.ui.small.horizontal.list > .item {
-  font-size: 0.92857143rem;
-}
-.ui.horizontal.list .list > .item,
-.ui.horizontal.list > .item {
-  font-size: 1rem;
-}
-.ui.large.horizontal.list .list > .item,
-.ui.large.horizontal.list > .item {
-  font-size: 1.14285714rem;
-}
-.ui.big.horizontal.list .list > .item,
-.ui.big.horizontal.list > .item {
-  font-size: 1.28571429rem;
-}
-.ui.huge.horizontal.list .list > .item,
-.ui.huge.horizontal.list > .item {
-  font-size: 1.42857143rem;
-}
-.ui.massive.horizontal.list .list > .item,
-.ui.massive.horizontal.list > .item {
-  font-size: 1.71428571rem;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-    User Variable Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/list.min.css


+ 0 - 877
webgui/static/components/loader.css

@@ -1,877 +0,0 @@
-/*!
- * # Fomantic-UI - Loader
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Loader
-*******************************/
-
-
-/* Standard Size */
-.ui.loader {
-  display: none;
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  margin: 0;
-  text-align: center;
-  z-index: 1000;
-  -webkit-transform: translateX(-50%) translateY(-50%);
-          transform: translateX(-50%) translateY(-50%);
-}
-
-/* Static Shape */
-.ui.loader:before {
-  position: absolute;
-  content: '';
-  top: 0;
-  left: 50%;
-  width: 100%;
-  height: 100%;
-  border-radius: 500rem;
-  border: 0.2em solid rgba(0, 0, 0, 0.1);
-}
-
-/* Active Shape */
-.ui.loader:after {
-  position: absolute;
-  content: '';
-  top: 0;
-  left: 50%;
-  width: 100%;
-  height: 100%;
-  -webkit-animation: loader 0.6s infinite linear;
-          animation: loader 0.6s infinite linear;
-  border: 0.2em solid #767676;
-  border-radius: 500rem;
-  -webkit-box-shadow: 0 0 0 1px transparent;
-          box-shadow: 0 0 0 1px transparent;
-}
-
-/* Speeds */
-.ui.fast.loading.loading:after,
-.ui.fast.loading.loading .input > i.icon:after,
-.ui.fast.loading.loading > i.icon:after,
-.ui.fast.loader:after {
-  -webkit-animation-duration: 0.3s;
-          animation-duration: 0.3s;
-}
-.ui.slow.loading.loading:after,
-.ui.slow.loading.loading .input > i.icon:after,
-.ui.slow.loading.loading > i.icon:after,
-.ui.slow.loader:after {
-  -webkit-animation-duration: 0.9s;
-          animation-duration: 0.9s;
-}
-
-/* Active Animation */
-@-webkit-keyframes loader {
-  100% {
-    -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
-  }
-}
-@keyframes loader {
-  100% {
-    -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
-  }
-}
-
-/* Sizes */
-.ui.mini.loader:before,
-.ui.mini.loader:after {
-  width: 1rem;
-  height: 1rem;
-  margin: 0 0 0 -0.5rem;
-}
-.ui.tiny.loader:before,
-.ui.tiny.loader:after {
-  width: 1.14285714rem;
-  height: 1.14285714rem;
-  margin: 0 0 0 -0.57142857rem;
-}
-.ui.small.loader:before,
-.ui.small.loader:after {
-  width: 1.71428571rem;
-  height: 1.71428571rem;
-  margin: 0 0 0 -0.85714286rem;
-}
-.ui.loader:before,
-.ui.loader:after {
-  width: 2.28571429rem;
-  height: 2.28571429rem;
-  margin: 0 0 0 -1.14285714rem;
-}
-.ui.large.loader:before,
-.ui.large.loader:after {
-  width: 3.42857143rem;
-  height: 3.42857143rem;
-  margin: 0 0 0 -1.71428571rem;
-}
-.ui.big.loader:before,
-.ui.big.loader:after {
-  width: 3.71428571rem;
-  height: 3.71428571rem;
-  margin: 0 0 0 -1.85714286rem;
-}
-.ui.huge.loader:before,
-.ui.huge.loader:after {
-  width: 4.14285714rem;
-  height: 4.14285714rem;
-  margin: 0 0 0 -2.07142857rem;
-}
-.ui.massive.loader:before,
-.ui.massive.loader:after {
-  width: 4.57142857rem;
-  height: 4.57142857rem;
-  margin: 0 0 0 -2.28571429rem;
-}
-
-/*-------------------
-      Coupling
---------------------*/
-
-
-/* Show inside active dimmer */
-.ui.dimmer > .loader {
-  display: block;
-}
-
-/* Black Dimmer */
-.ui.dimmer > .ui.loader {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.dimmer > .ui.loader:not(.elastic):before {
-  border-color: rgba(255, 255, 255, 0.15);
-}
-
-/* White Dimmer (Inverted) */
-.ui.inverted.dimmer > .ui.loader {
-  color: #AAAAAA;
-}
-.ui.inverted.dimmer > .ui.loader:not(.elastic):before {
-  border-color: rgba(0, 0, 0, 0.1);
-}
-
-
-/*******************************
-             Types
-*******************************/
-
-
-/*-------------------
-        Text
---------------------*/
-
-.ui.ui.ui.ui.text.loader {
-  width: auto;
-  height: auto;
-  text-align: center;
-  font-style: normal;
-}
-
-
-/*******************************
-            States
-*******************************/
-
-.ui.indeterminate.loader:after {
-  animation-direction: reverse;
-  -webkit-animation-duration: 1.2s;
-          animation-duration: 1.2s;
-}
-.ui.loader.active,
-.ui.loader.visible {
-  display: block;
-}
-.ui.loader.disabled,
-.ui.loader.hidden {
-  display: none;
-}
-
-
-/*******************************
-            Variations
-*******************************/
-
-
-/*-------------------
-        Sizes
---------------------*/
-
-
-/* Loader */
-.ui.mini.loader {
-  width: 1rem;
-  height: 1rem;
-  font-size: 0.78571429em;
-}
-.ui.tiny.loader {
-  width: 1.14285714rem;
-  height: 1.14285714rem;
-  font-size: 0.85714286em;
-}
-.ui.small.loader {
-  width: 1.71428571rem;
-  height: 1.71428571rem;
-  font-size: 0.92857143em;
-}
-.ui.loader {
-  width: 2.28571429rem;
-  height: 2.28571429rem;
-  font-size: 1em;
-}
-.ui.large.loader {
-  width: 3.42857143rem;
-  height: 3.42857143rem;
-  font-size: 1.14285714em;
-}
-.ui.big.loader {
-  width: 3.71428571rem;
-  height: 3.71428571rem;
-  font-size: 1.28571429em;
-}
-.ui.huge.loader {
-  width: 4.14285714rem;
-  height: 4.14285714rem;
-  font-size: 1.42857143em;
-}
-.ui.massive.loader {
-  width: 4.57142857rem;
-  height: 4.57142857rem;
-  font-size: 1.71428571em;
-}
-
-/* Text Loader */
-.ui.mini.text.loader {
-  min-width: 1rem;
-  padding-top: 1.78571429rem;
-}
-.ui.tiny.text.loader {
-  min-width: 1.14285714rem;
-  padding-top: 1.92857143rem;
-}
-.ui.small.text.loader {
-  min-width: 1.71428571rem;
-  padding-top: 2.5rem;
-}
-.ui.text.loader {
-  min-width: 2.28571429rem;
-  padding-top: 3.07142857rem;
-}
-.ui.large.text.loader {
-  min-width: 3.42857143rem;
-  padding-top: 4.21428571rem;
-}
-.ui.big.text.loader {
-  min-width: 3.71428571rem;
-  padding-top: 4.5rem;
-}
-.ui.huge.text.loader {
-  min-width: 4.14285714rem;
-  padding-top: 4.92857143rem;
-}
-.ui.massive.text.loader {
-  min-width: 4.57142857rem;
-  padding-top: 5.35714286rem;
-}
-
-/*-------------------
-       Colors
---------------------*/
-
-.ui.primary.elastic.loader.loader:before,
-.ui.primary.basic.elastic.loading.button:before,
-.ui.primary.basic.elastic.loading.button:after,
-.ui.primary.elastic.loading.loading.loading:not(.segment):before,
-.ui.primary.elastic.loading.loading.loading .input > i.icon:before,
-.ui.primary.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.primary.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.primary.loading.loading.loading.loading .input > i.icon:after,
-.ui.primary.loading.loading.loading.loading > i.icon:after,
-.ui.primary.loader.loader.loader:after {
-  color: #2185D0;
-}
-.ui.inverted.primary.elastic.loader:before,
-.ui.inverted.primary.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.primary.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.primary.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.primary.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.primary.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.primary.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.primary.loader.loader.loader:after {
-  color: #54C8FF;
-}
-.ui.secondary.elastic.loader.loader:before,
-.ui.secondary.basic.elastic.loading.button:before,
-.ui.secondary.basic.elastic.loading.button:after,
-.ui.secondary.elastic.loading.loading.loading:not(.segment):before,
-.ui.secondary.elastic.loading.loading.loading .input > i.icon:before,
-.ui.secondary.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.secondary.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.secondary.loading.loading.loading.loading .input > i.icon:after,
-.ui.secondary.loading.loading.loading.loading > i.icon:after,
-.ui.secondary.loader.loader.loader:after {
-  color: #1B1C1D;
-}
-.ui.inverted.secondary.elastic.loader:before,
-.ui.inverted.secondary.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.secondary.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.secondary.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.secondary.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.secondary.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.secondary.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.secondary.loader.loader.loader:after {
-  color: #545454;
-}
-.ui.red.elastic.loader.loader:before,
-.ui.red.basic.elastic.loading.button:before,
-.ui.red.basic.elastic.loading.button:after,
-.ui.red.elastic.loading.loading.loading:not(.segment):before,
-.ui.red.elastic.loading.loading.loading .input > i.icon:before,
-.ui.red.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.red.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.red.loading.loading.loading.loading .input > i.icon:after,
-.ui.red.loading.loading.loading.loading > i.icon:after,
-.ui.red.loader.loader.loader:after {
-  color: #DB2828;
-}
-.ui.inverted.red.elastic.loader:before,
-.ui.inverted.red.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.red.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.red.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.red.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.red.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.red.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.red.loader.loader.loader:after {
-  color: #FF695E;
-}
-.ui.orange.elastic.loader.loader:before,
-.ui.orange.basic.elastic.loading.button:before,
-.ui.orange.basic.elastic.loading.button:after,
-.ui.orange.elastic.loading.loading.loading:not(.segment):before,
-.ui.orange.elastic.loading.loading.loading .input > i.icon:before,
-.ui.orange.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.orange.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.orange.loading.loading.loading.loading .input > i.icon:after,
-.ui.orange.loading.loading.loading.loading > i.icon:after,
-.ui.orange.loader.loader.loader:after {
-  color: #F2711C;
-}
-.ui.inverted.orange.elastic.loader:before,
-.ui.inverted.orange.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.orange.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.orange.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.orange.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.orange.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.orange.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.orange.loader.loader.loader:after {
-  color: #FF851B;
-}
-.ui.yellow.elastic.loader.loader:before,
-.ui.yellow.basic.elastic.loading.button:before,
-.ui.yellow.basic.elastic.loading.button:after,
-.ui.yellow.elastic.loading.loading.loading:not(.segment):before,
-.ui.yellow.elastic.loading.loading.loading .input > i.icon:before,
-.ui.yellow.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.yellow.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.yellow.loading.loading.loading.loading .input > i.icon:after,
-.ui.yellow.loading.loading.loading.loading > i.icon:after,
-.ui.yellow.loader.loader.loader:after {
-  color: #FBBD08;
-}
-.ui.inverted.yellow.elastic.loader:before,
-.ui.inverted.yellow.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.yellow.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.yellow.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.yellow.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.yellow.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.yellow.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.yellow.loader.loader.loader:after {
-  color: #FFE21F;
-}
-.ui.olive.elastic.loader.loader:before,
-.ui.olive.basic.elastic.loading.button:before,
-.ui.olive.basic.elastic.loading.button:after,
-.ui.olive.elastic.loading.loading.loading:not(.segment):before,
-.ui.olive.elastic.loading.loading.loading .input > i.icon:before,
-.ui.olive.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.olive.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.olive.loading.loading.loading.loading .input > i.icon:after,
-.ui.olive.loading.loading.loading.loading > i.icon:after,
-.ui.olive.loader.loader.loader:after {
-  color: #B5CC18;
-}
-.ui.inverted.olive.elastic.loader:before,
-.ui.inverted.olive.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.olive.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.olive.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.olive.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.olive.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.olive.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.olive.loader.loader.loader:after {
-  color: #D9E778;
-}
-.ui.green.elastic.loader.loader:before,
-.ui.green.basic.elastic.loading.button:before,
-.ui.green.basic.elastic.loading.button:after,
-.ui.green.elastic.loading.loading.loading:not(.segment):before,
-.ui.green.elastic.loading.loading.loading .input > i.icon:before,
-.ui.green.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.green.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.green.loading.loading.loading.loading .input > i.icon:after,
-.ui.green.loading.loading.loading.loading > i.icon:after,
-.ui.green.loader.loader.loader:after {
-  color: #21BA45;
-}
-.ui.inverted.green.elastic.loader:before,
-.ui.inverted.green.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.green.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.green.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.green.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.green.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.green.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.green.loader.loader.loader:after {
-  color: #2ECC40;
-}
-.ui.teal.elastic.loader.loader:before,
-.ui.teal.basic.elastic.loading.button:before,
-.ui.teal.basic.elastic.loading.button:after,
-.ui.teal.elastic.loading.loading.loading:not(.segment):before,
-.ui.teal.elastic.loading.loading.loading .input > i.icon:before,
-.ui.teal.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.teal.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.teal.loading.loading.loading.loading .input > i.icon:after,
-.ui.teal.loading.loading.loading.loading > i.icon:after,
-.ui.teal.loader.loader.loader:after {
-  color: #00B5AD;
-}
-.ui.inverted.teal.elastic.loader:before,
-.ui.inverted.teal.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.teal.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.teal.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.teal.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.teal.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.teal.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.teal.loader.loader.loader:after {
-  color: #6DFFFF;
-}
-.ui.blue.elastic.loader.loader:before,
-.ui.blue.basic.elastic.loading.button:before,
-.ui.blue.basic.elastic.loading.button:after,
-.ui.blue.elastic.loading.loading.loading:not(.segment):before,
-.ui.blue.elastic.loading.loading.loading .input > i.icon:before,
-.ui.blue.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.blue.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.blue.loading.loading.loading.loading .input > i.icon:after,
-.ui.blue.loading.loading.loading.loading > i.icon:after,
-.ui.blue.loader.loader.loader:after {
-  color: #2185D0;
-}
-.ui.inverted.blue.elastic.loader:before,
-.ui.inverted.blue.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.blue.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.blue.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.blue.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.blue.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.blue.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.blue.loader.loader.loader:after {
-  color: #54C8FF;
-}
-.ui.violet.elastic.loader.loader:before,
-.ui.violet.basic.elastic.loading.button:before,
-.ui.violet.basic.elastic.loading.button:after,
-.ui.violet.elastic.loading.loading.loading:not(.segment):before,
-.ui.violet.elastic.loading.loading.loading .input > i.icon:before,
-.ui.violet.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.violet.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.violet.loading.loading.loading.loading .input > i.icon:after,
-.ui.violet.loading.loading.loading.loading > i.icon:after,
-.ui.violet.loader.loader.loader:after {
-  color: #6435C9;
-}
-.ui.inverted.violet.elastic.loader:before,
-.ui.inverted.violet.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.violet.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.violet.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.violet.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.violet.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.violet.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.violet.loader.loader.loader:after {
-  color: #A291FB;
-}
-.ui.purple.elastic.loader.loader:before,
-.ui.purple.basic.elastic.loading.button:before,
-.ui.purple.basic.elastic.loading.button:after,
-.ui.purple.elastic.loading.loading.loading:not(.segment):before,
-.ui.purple.elastic.loading.loading.loading .input > i.icon:before,
-.ui.purple.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.purple.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.purple.loading.loading.loading.loading .input > i.icon:after,
-.ui.purple.loading.loading.loading.loading > i.icon:after,
-.ui.purple.loader.loader.loader:after {
-  color: #A333C8;
-}
-.ui.inverted.purple.elastic.loader:before,
-.ui.inverted.purple.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.purple.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.purple.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.purple.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.purple.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.purple.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.purple.loader.loader.loader:after {
-  color: #DC73FF;
-}
-.ui.pink.elastic.loader.loader:before,
-.ui.pink.basic.elastic.loading.button:before,
-.ui.pink.basic.elastic.loading.button:after,
-.ui.pink.elastic.loading.loading.loading:not(.segment):before,
-.ui.pink.elastic.loading.loading.loading .input > i.icon:before,
-.ui.pink.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.pink.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.pink.loading.loading.loading.loading .input > i.icon:after,
-.ui.pink.loading.loading.loading.loading > i.icon:after,
-.ui.pink.loader.loader.loader:after {
-  color: #E03997;
-}
-.ui.inverted.pink.elastic.loader:before,
-.ui.inverted.pink.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.pink.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.pink.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.pink.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.pink.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.pink.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.pink.loader.loader.loader:after {
-  color: #FF8EDF;
-}
-.ui.brown.elastic.loader.loader:before,
-.ui.brown.basic.elastic.loading.button:before,
-.ui.brown.basic.elastic.loading.button:after,
-.ui.brown.elastic.loading.loading.loading:not(.segment):before,
-.ui.brown.elastic.loading.loading.loading .input > i.icon:before,
-.ui.brown.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.brown.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.brown.loading.loading.loading.loading .input > i.icon:after,
-.ui.brown.loading.loading.loading.loading > i.icon:after,
-.ui.brown.loader.loader.loader:after {
-  color: #A5673F;
-}
-.ui.inverted.brown.elastic.loader:before,
-.ui.inverted.brown.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.brown.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.brown.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.brown.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.brown.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.brown.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.brown.loader.loader.loader:after {
-  color: #D67C1C;
-}
-.ui.grey.elastic.loader.loader:before,
-.ui.grey.basic.elastic.loading.button:before,
-.ui.grey.basic.elastic.loading.button:after,
-.ui.grey.elastic.loading.loading.loading:not(.segment):before,
-.ui.grey.elastic.loading.loading.loading .input > i.icon:before,
-.ui.grey.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.grey.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.grey.loading.loading.loading.loading .input > i.icon:after,
-.ui.grey.loading.loading.loading.loading > i.icon:after,
-.ui.grey.loader.loader.loader:after {
-  color: #767676;
-}
-.ui.inverted.grey.elastic.loader:before,
-.ui.inverted.grey.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.grey.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.grey.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.grey.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.grey.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.grey.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.grey.loader.loader.loader:after {
-  color: #DCDDDE;
-}
-.ui.black.elastic.loader.loader:before,
-.ui.black.basic.elastic.loading.button:before,
-.ui.black.basic.elastic.loading.button:after,
-.ui.black.elastic.loading.loading.loading:not(.segment):before,
-.ui.black.elastic.loading.loading.loading .input > i.icon:before,
-.ui.black.elastic.loading.loading.loading.loading > i.icon:before,
-.ui.black.loading.loading.loading.loading:not(.usual):not(.button):after,
-.ui.black.loading.loading.loading.loading .input > i.icon:after,
-.ui.black.loading.loading.loading.loading > i.icon:after,
-.ui.black.loader.loader.loader:after {
-  color: #1B1C1D;
-}
-.ui.inverted.black.elastic.loader:before,
-.ui.inverted.black.elastic.loading.loading.loading:not(.segment):before,
-.ui.inverted.black.elastic.loading.loading.loading .input > i.icon:before,
-.ui.inverted.black.elastic.loading.loading.loading > i.icon:before,
-.ui.inverted.black.loading.loading.loading.loading:not(.usual):after,
-.ui.inverted.black.loading.loading.loading.loading .input > i.icon:after,
-.ui.inverted.black.loading.loading.loading.loading > i.icon:after,
-.ui.inverted.black.loader.loader.loader:after {
-  color: #545454;
-}
-.ui.elastic.loader.loader:before,
-.ui.elastic.loading.loading.loading:before,
-.ui.elastic.loading.loading.loading .input > i.icon:before,
-.ui.elastic.loading.loading.loading > i.icon:before,
-.ui.loading.loading.loading.loading:not(.usual):after,
-.ui.loading.loading.loading.loading .input > i.icon:after,
-.ui.loading.loading.loading.loading > i.icon:after,
-.ui.loader.loader.loader:after {
-  border-color: currentColor;
-}
-.ui.elastic.loading.loading.loading.loading.button:not(.inverted):not(.basic):before {
-  color: #FFFFFF;
-}
-.ui.elastic.basic.loading.button:before,
-.ui.elastic.basic.loading.button:after {
-  color: #767676;
-}
-.ui.double.loading.loading.loading.loading.button:after {
-  border-bottom-color: currentColor;
-}
-
-/*-------------------
-       Inline
---------------------*/
-
-.ui.inline.loader {
-  position: relative;
-  vertical-align: middle;
-  margin: 0;
-  left: 0;
-  top: 0;
-  -webkit-transform: none;
-          transform: none;
-}
-.ui.inline.loader.active,
-.ui.inline.loader.visible {
-  display: inline-block;
-}
-
-/* Centered Inline */
-.ui.centered.inline.loader.active,
-.ui.centered.inline.loader.visible {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-.ui.loading.loading.loading.loading.loading.loading:after,
-.ui.loading.loading.loading.loading.loading.loading .input > i.icon:after,
-.ui.loading.loading.loading.loading.loading.loading > i.icon:after,
-.ui.loader.loader.loader.loader.loader:after {
-  border-left-color: transparent;
-  border-right-color: transparent;
-}
-.ui.loading.loading.loading.loading.loading.loading.loading:not(.double):after,
-.ui.loading.loading.loading.loading.loading.loading.loading:not(.double) .input > i.icon:after,
-.ui.loading.loading.loading.loading.loading.loading.loading:not(.double) > i.icon:after,
-.ui.loader.loader.loader.loader.loader.loader:not(.double):after {
-  border-bottom-color: transparent;
-}
-.ui.loading.loading.loading.loading.loading.loading.segment:after,
-.ui.loading.loading.loading.loading.loading.loading.form:after {
-  border-left-color: rgba(0, 0, 0, 0.1);
-  border-right-color: rgba(0, 0, 0, 0.1);
-}
-.ui.loading.loading.loading.loading.loading.loading.segment:not(.double):after,
-.ui.loading.loading.loading.loading.loading.loading.form:not(.double):after {
-  border-bottom-color: rgba(0, 0, 0, 0.1);
-}
-
-/*-------------------
-       Elastic
---------------------*/
-
-.ui.dimmer > .ui.elastic.loader {
-  color: #FFFFFF;
-}
-.ui.inverted.dimmer > .ui.elastic.loader {
-  color: #767676;
-}
-.ui.elastic.loading.loading:not(.form):not(.segment):after,
-.ui.elastic.loading.loading .input > i.icon:after,
-.ui.elastic.loading.loading > i.icon:after,
-.ui.elastic.loader.loader:after {
-  -webkit-animation: loader 1s infinite cubic-bezier(0.27, 1.05, 0.92, 0.61);
-          animation: loader 1s infinite cubic-bezier(0.27, 1.05, 0.92, 0.61);
-  -webkit-animation-delay: 0.3s;
-          animation-delay: 0.3s;
-}
-.ui.elastic.loading.loading.loading:not(.form):not(.segment):before,
-.ui.elastic.loading.loading.loading .input > i.icon:before,
-.ui.elastic.loading.loading.loading > i.icon:before,
-.ui.elastic.loader.loader:before {
-  -webkit-animation: elastic-loader 1s infinite cubic-bezier(0.27, 1.05, 0.92, 0.61);
-          animation: elastic-loader 1s infinite cubic-bezier(0.27, 1.05, 0.92, 0.61);
-  -moz-animation: currentcolor-elastic-loader 1s infinite cubic-bezier(0.27, 1.05, 0.92, 0.61);
-  border-right-color: transparent;
-}
-.ui.elastic.inline.loader:empty {
-  -webkit-animation: loader 8s infinite linear;
-          animation: loader 8s infinite linear;
-}
-.ui.slow.elastic.loading.loading:not(.form):not(.segment):after,
-.ui.slow.elastic.loading.loading .input > i.icon:after,
-.ui.slow.elastic.loading.loading > i.icon:after,
-.ui.slow.elastic.loader.loader:after {
-  -webkit-animation-duration: 1.5s;
-          animation-duration: 1.5s;
-  -webkit-animation-delay: 0.45s;
-          animation-delay: 0.45s;
-}
-.ui.slow.elastic.loading.loading.loading:not(.form):not(.segment):before,
-.ui.slow.elastic.loading.loading.loading .input > i.icon:before,
-.ui.slow.elastic.loading.loading.loading > i.icon:before,
-.ui.slow.elastic.loader.loader:before {
-  -webkit-animation-duration: 1.5s;
-          animation-duration: 1.5s;
-}
-.ui.fast.elastic.loading.loading:not(.form):not(.segment):after,
-.ui.fast.elastic.loading.loading .input > i.icon:after,
-.ui.fast.elastic.loading.loading > i.icon:after,
-.ui.fast.elastic.loader.loader:after {
-  -webkit-animation-duration: 0.66s;
-          animation-duration: 0.66s;
-  -webkit-animation-delay: 0.2s;
-          animation-delay: 0.2s;
-}
-.ui.fast.elastic.loading.loading.loading:not(.form):not(.segment):before,
-.ui.fast.elastic.loading.loading.loading .input > i.icon:before,
-.ui.fast.elastic.loading.loading.loading > i.icon:before,
-.ui.fast.elastic.loader.loader:before {
-  -webkit-animation-duration: 0.66s;
-          animation-duration: 0.66s;
-}
-@-webkit-keyframes elastic-loader {
-  0%,
-  1% {
-    border-left-color: transparent;
-    border-bottom-color: transparent;
-  }
-  1.1%,
-  50% {
-    border-left-color: inherit;
-  }
-  10%,
-  35.1% {
-    border-bottom-color: transparent;
-  }
-  10.1%,
-  35% {
-    border-bottom-color: inherit;
-  }
-  50.1% {
-    border-left-color: transparent;
-  }
-  100% {
-    border-left-color: transparent;
-    border-bottom-color: transparent;
-    -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
-  }
-}
-@keyframes elastic-loader {
-  0%,
-  1% {
-    border-left-color: transparent;
-    border-bottom-color: transparent;
-  }
-  1.1%,
-  50% {
-    border-left-color: inherit;
-  }
-  10%,
-  35.1% {
-    border-bottom-color: transparent;
-  }
-  10.1%,
-  35% {
-    border-bottom-color: inherit;
-  }
-  50.1% {
-    border-left-color: transparent;
-  }
-  100% {
-    border-left-color: transparent;
-    border-bottom-color: transparent;
-    -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
-  }
-}
-@-webkit-keyframes currentcolor-elastic-loader {
-  0%,
-  1% {
-    border-left-color: transparent;
-    border-bottom-color: transparent;
-  }
-  1.1%,
-  50% {
-    border-left-color: currentColor;
-  }
-  10%,
-  35.1% {
-    border-bottom-color: transparent;
-  }
-  10.1%,
-  35% {
-    border-bottom-color: currentColor;
-  }
-  50.1% {
-    border-left-color: transparent;
-  }
-  100% {
-    border-left-color: transparent;
-    border-bottom-color: transparent;
-    -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
-  }
-}
-@keyframes currentcolor-elastic-loader {
-  0%,
-  1% {
-    border-left-color: transparent;
-    border-bottom-color: transparent;
-  }
-  1.1%,
-  50% {
-    border-left-color: currentColor;
-  }
-  10%,
-  35.1% {
-    border-bottom-color: transparent;
-  }
-  10.1%,
-  35% {
-    border-bottom-color: currentColor;
-  }
-  50.1% {
-    border-left-color: transparent;
-  }
-  100% {
-    border-left-color: transparent;
-    border-bottom-color: transparent;
-    -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
-  }
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/loader.min.css


+ 0 - 2272
webgui/static/components/menu.css

@@ -1,2272 +0,0 @@
-/*
- * # Fomantic - Menu
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Copyright 2015 Contributor
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Standard
-*******************************/
-
-
-/*--------------
-      Menu
----------------*/
-
-.ui.menu {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  margin: 1rem 0;
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  background: #FFFFFF;
-  font-weight: normal;
-  border: 1px solid rgba(34, 36, 38, 0.15);
-  -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
-  border-radius: 0.28571429rem;
-  min-height: 2.85714286em;
-}
-.ui.menu:after {
-  content: '';
-  display: block;
-  height: 0;
-  clear: both;
-  visibility: hidden;
-}
-.ui.menu:first-child {
-  margin-top: 0;
-}
-.ui.menu:last-child {
-  margin-bottom: 0;
-}
-
-/*--------------
-    Sub-Menu
----------------*/
-
-.ui.menu .menu {
-  margin: 0;
-}
-.ui.menu:not(.vertical) > .menu {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-}
-
-/*--------------
-      Item
----------------*/
-
-.ui.menu:not(.vertical) .item {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-align: center;
-      -ms-flex-align: center;
-          align-items: center;
-}
-.ui.menu .item {
-  position: relative;
-  vertical-align: middle;
-  line-height: 1;
-  text-decoration: none;
-  -webkit-tap-highlight-color: transparent;
-  -webkit-box-flex: 0;
-      -ms-flex: 0 0 auto;
-          flex: 0 0 auto;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  background: none;
-  padding: 0.92857143em 1.14285714em;
-  text-transform: none;
-  color: #AAAAAA;
-  font-weight: normal;
-  -webkit-transition: background 0.1s ease, color 0.1s ease, -webkit-box-shadow 0.1s ease;
-  transition: background 0.1s ease, color 0.1s ease, -webkit-box-shadow 0.1s ease;
-  transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;
-  transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease, -webkit-box-shadow 0.1s ease;
-}
-.ui.menu > .item:first-child {
-  border-radius: 0.28571429rem 0 0 0.28571429rem;
-}
-
-/* Border */
-.ui.menu .item:before {
-  position: absolute;
-  content: '';
-  top: 0;
-  right: 0;
-  height: 100%;
-  width: 1px;
-  background: rgba(34, 36, 38, 0.1);
-}
-
-/*--------------
-  Text Content
----------------*/
-
-.ui.menu .text.item > *,
-.ui.menu .item > a:not(.ui),
-.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;
-}
-.ui.menu .item > p:first-child {
-  margin-top: 0;
-}
-.ui.menu .item > p:last-child {
-  margin-bottom: 0;
-}
-
-/*--------------
-      Icons
----------------*/
-
-.ui.menu .item > i.icon {
-  opacity: 0.9;
-  float: none;
-  margin: 0 0.35714286em 0 0;
-}
-
-/*--------------
-     Button
----------------*/
-
-.ui.menu:not(.vertical) .item > .button {
-  position: relative;
-  top: 0;
-  margin: -0.5em 0;
-  padding-bottom: 0.78571429em;
-  padding-top: 0.78571429em;
-  font-size: 1em;
-}
-
-/*----------------
- Grid / Container
------------------*/
-
-.ui.menu > .grid,
-.ui.menu > .container {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-align: inherit;
-      -ms-flex-align: inherit;
-          align-items: inherit;
-  -webkit-box-orient: inherit;
-  -webkit-box-direction: inherit;
-      -ms-flex-direction: inherit;
-          flex-direction: inherit;
-}
-
-/*--------------
-     Inputs
----------------*/
-
-.ui.menu .item > .input {
-  width: 100%;
-}
-.ui.menu:not(.vertical) .item > .input {
-  position: relative;
-  top: 0;
-  margin: -0.5em 0;
-}
-.ui.menu .item > .input input {
-  font-size: 1em;
-  padding-top: 0.57142857em;
-  padding-bottom: 0.57142857em;
-}
-
-/*--------------
-     Header
----------------*/
-
-.ui.menu .header.item,
-.ui.vertical.menu .header.item {
-  margin: 0;
-  background: '';
-  text-transform: normal;
-  font-weight: bold;
-}
-.ui.vertical.menu .item > .header:not(.ui) {
-  margin: 0 0 0.5em;
-  font-size: 1em;
-  font-weight: bold;
-}
-
-/*--------------
-    Dropdowns
----------------*/
-
-
-/* Dropdown Icon */
-.ui.menu .item > i.dropdown.icon {
-  padding: 0;
-  float: right;
-  margin: 0 0 0 1em;
-}
-
-/* Menu */
-.ui.menu .dropdown.item .menu {
-  min-width: calc(100% - 1px);
-  border-radius: 0 0 0.28571429rem 0.28571429rem;
-  background: #FFFFFF;
-  margin: 0 0 0;
-  -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
-          box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
-  -webkit-box-orient: vertical !important;
-  -webkit-box-direction: normal !important;
-      -ms-flex-direction: column !important;
-          flex-direction: column !important;
-}
-
-/* Menu Items */
-.ui.menu .ui.dropdown .menu > .item {
-  margin: 0;
-  text-align: left;
-  font-size: 1em !important;
-  padding: 0.78571429em 1.14285714em !important;
-  background: transparent !important;
-  color: #AAAAAA !important;
-  text-transform: none !important;
-  font-weight: normal !important;
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-  -webkit-transition: none !important;
-  transition: none !important;
-}
-.ui.menu .ui.dropdown .menu > .item:hover {
-  background: rgba(0, 0, 0, 0.05) !important;
-  color: rgba(0, 0, 0, 0.95) !important;
-}
-.ui.menu .ui.dropdown .menu > .selected.item {
-  background: rgba(0, 0, 0, 0.05) !important;
-  color: rgba(0, 0, 0, 0.95) !important;
-}
-.ui.menu .ui.dropdown .menu > .active.item {
-  background: rgba(0, 0, 0, 0.03) !important;
-  font-weight: bold !important;
-  color: rgba(0, 0, 0, 0.95) !important;
-}
-.ui.menu .ui.dropdown.item .menu .item:not(.filtered) {
-  display: block;
-}
-.ui.menu .ui.dropdown .menu > .item .icon:not(.dropdown) {
-  display: inline-block;
-  font-size: 1em !important;
-  float: none;
-  margin: 0 0.75em 0 0 !important;
-}
-
-/* Secondary */
-.ui.secondary.menu .dropdown.item > .menu,
-.ui.text.menu .dropdown.item > .menu {
-  border-radius: 0.28571429rem;
-  margin-top: 0.35714286em;
-}
-
-/* Pointing */
-.ui.menu .pointing.dropdown.item .menu {
-  margin-top: 0.75em;
-}
-
-/* Inverted */
-.ui.inverted.menu .search.dropdown.item > .search,
-.ui.inverted.menu .search.dropdown.item > .text {
-  color: rgba(255, 255, 255, 0.9);
-}
-
-/* Vertical */
-.ui.vertical.menu .dropdown.item > .icon {
-  float: right;
-  content: "\f0da";
-  margin-left: 1em;
-}
-.ui.vertical.menu .dropdown.item .menu {
-  left: 100%;
-  
-/* IE needs 0, all others support max-content to show dropdown icon inline, so keep both settings! */
-  min-width: 0;
-  min-width: -webkit-max-content;
-  min-width: -moz-max-content;
-  min-width: max-content;
-  margin: 0 0 0 0;
-  -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
-          box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
-  border-radius: 0 0.28571429rem 0.28571429rem 0.28571429rem;
-}
-.ui.vertical.menu .dropdown.item.upward .menu {
-  bottom: 0;
-}
-.ui.vertical.menu .dropdown.item:not(.upward) .menu {
-  top: 0;
-}
-.ui.vertical.menu .active.dropdown.item {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.ui.vertical.menu .dropdown.active.item {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Evenly Divided */
-.ui.item.menu .dropdown .menu .item {
-  width: 100%;
-}
-
-/*--------------
-     Labels
----------------*/
-
-.ui.menu .item > .label:not(.floating) {
-  margin-left: 1em;
-  padding: 0.3em 0.78571429em;
-}
-.ui.vertical.menu .item > .label {
-  margin-top: -0.15em;
-  margin-bottom: -0.15em;
-  padding: 0.3em 0.78571429em;
-}
-.ui.menu .item > .floating.label {
-  padding: 0.3em 0.78571429em;
-}
-.ui.menu .item > .label {
-  background: #999999;
-  color: #FFFFFF;
-}
-.ui.menu .item > .image.label img {
-  margin: -0.2833em 0.8em -0.2833em -0.8em;
-  height: 1.5666em;
-}
-
-/*--------------
-     Images
----------------*/
-
-.ui.menu .item > img:not(.ui) {
-  display: inline-block;
-  vertical-align: middle;
-  margin: -0.3em 0;
-  width: 2.5em;
-}
-.ui.vertical.menu .item > img:not(.ui):only-child {
-  display: block;
-  max-width: 100%;
-  width: auto;
-}
-
-
-/*******************************
-          Coupling
-*******************************/
-
-
-/*--------------
-     List
----------------*/
-
-
-/* Menu divider shouldnt apply */
-.ui.menu .list .item:before {
-  background: none !important;
-}
-
-/*--------------
-     Sidebar
----------------*/
-
-
-/* Show vertical dividers below last */
-.ui.vertical.sidebar.menu > .item:first-child:before {
-  display: block !important;
-}
-.ui.vertical.sidebar.menu > .item::before {
-  top: auto;
-  bottom: 0;
-}
-
-/*--------------
-    Container
----------------*/
-
-@media only screen and (max-width: 767.98px) {
-  .ui.menu > .ui.container {
-    width: 100% !important;
-    margin-left: 0 !important;
-    margin-right: 0 !important;
-  }
-}
-@media only screen and (min-width: 768px) {
-  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .item:not(.right):not(.borderless):first-child {
-    border-left: 1px solid rgba(34, 36, 38, 0.1);
-  }
-  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .right.item:not(.borderless):last-child,
-  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .right.menu > .item:not(.borderless):last-child {
-    border-right: 1px solid rgba(34, 36, 38, 0.1);
-  }
-}
-
-
-/*******************************
-             States
-*******************************/
-
-
-/*--------------
-      Hover
----------------*/
-
-.ui.link.menu .item:hover,
-.ui.menu .dropdown.item:hover,
-.ui.menu .link.item:hover,
-.ui.menu a.item:hover {
-  cursor: pointer;
-  background: rgba(0, 0, 0, 0.03);
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/*--------------
-     Pressed
----------------*/
-
-.ui.link.menu .item:active,
-.ui.menu .link.item:active,
-.ui.menu a.item:active {
-  background: rgba(0, 0, 0, 0.03);
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/*--------------
-     Active
----------------*/
-
-.ui.menu .active.item {
-  background: rgba(0, 0, 0, 0.05);
-  color: rgba(0, 0, 0, 0.95);
-  font-weight: normal;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.menu .active.item > i.icon {
-  opacity: 1;
-}
-
-/*--------------
-  Active Hover
----------------*/
-
-.ui.menu .active.item:hover,
-.ui.vertical.menu .active.item:hover {
-  background-color: rgba(0, 0, 0, 0.05);
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/*--------------
-     Disabled
----------------*/
-
-.ui.ui.menu .item.disabled {
-  cursor: default;
-  background-color: transparent;
-  color: rgba(40, 40, 40, 0.3);
-  pointer-events: none;
-}
-
-
-/*******************************
-             Types
-*******************************/
-
-
-/*------------------
-Floated Menu / Item
--------------------*/
-
-
-/* Left Floated */
-.ui.menu:not(.vertical) .left.item,
-.ui.menu:not(.vertical) .left.menu {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  margin-right: auto !important;
-}
-
-/* Right Floated */
-.ui.menu:not(.vertical) .right.item,
-.ui.menu:not(.vertical) .right.menu {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  margin-left: auto !important;
-}
-.ui.menu:not(.vertical) :not(.dropdown) > .left.menu,
-.ui.menu:not(.vertical) :not(.dropdown) > .right.menu {
-  display: inherit;
-}
-
-/* Center */
-.ui.menu:not(.vertical) .center.item,
-.ui.menu:not(.vertical) .center.menu {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  margin-left: auto !important;
-  margin-right: auto !important;
-}
-
-/* Swapped Borders */
-.ui.menu .right.item::before,
-.ui.menu .right.menu > .item::before {
-  right: auto;
-  left: 0;
-}
-
-/* Remove Outer Borders */
-.ui.menu .center.item:last-child::before,
-.ui.menu .center.menu > .item:last-child::before {
-  display: none;
-}
-
-/*--------------
-    Vertical
----------------*/
-
-.ui.vertical.menu {
-  display: block;
-  -webkit-box-orient: vertical;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: column;
-          flex-direction: column;
-  background: #FFFFFF;
-  -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
-}
-
-/*--- Item ---*/
-
-.ui.vertical.menu .item {
-  display: block;
-  background: none;
-  border-top: none;
-  border-right: none;
-}
-.ui.vertical.menu > .item:first-child {
-  border-radius: 0.28571429rem 0.28571429rem 0 0;
-}
-.ui.vertical.menu > .item:last-child {
-  border-radius: 0 0 0.28571429rem 0.28571429rem;
-}
-
-/*--- Label ---*/
-
-.ui.vertical.menu .item > .label {
-  float: right;
-  text-align: center;
-}
-
-/*--- Icon ---*/
-
-.ui.vertical.menu .item > i.icon,
-.ui.vertical.menu .item > i.icons {
-  width: 1.18em;
-  float: right;
-  margin: 0 0 0 0.5em;
-}
-.ui.vertical.menu .item > .label + i.icon {
-  float: none;
-  margin: 0 0.5em 0 0;
-}
-
-/*--- Border ---*/
-
-.ui.vertical.menu .item:before {
-  position: absolute;
-  content: '';
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 1px;
-  background: rgba(34, 36, 38, 0.1);
-}
-.ui.vertical.menu .item:first-child:before {
-  display: none !important;
-}
-
-/*--- Sub Menu ---*/
-
-.ui.vertical.menu .item > .menu {
-  margin: 0.5em -1.14285714em 0;
-}
-.ui.vertical.menu .menu .item {
-  background: none;
-  padding: 0.5em 1.33333333em;
-  font-size: 0.85714286em;
-  color: rgba(0, 0, 0, 0.5);
-}
-.ui.vertical.menu .item .menu a.item:hover,
-.ui.vertical.menu .item .menu .link.item:hover {
-  color: rgba(0, 0, 0, 0.85);
-}
-.ui.vertical.menu .menu .item:before {
-  display: none;
-}
-
-/* Vertical Active */
-.ui.vertical.menu .active.item {
-  background: rgba(0, 0, 0, 0.05);
-  border-radius: 0;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.vertical.menu > .active.item:first-child {
-  border-radius: 0.28571429rem 0.28571429rem 0 0;
-}
-.ui.vertical.menu > .active.item:last-child {
-  border-radius: 0 0 0.28571429rem 0.28571429rem;
-}
-.ui.vertical.menu > .active.item:only-child {
-  border-radius: 0.28571429rem;
-}
-.ui.vertical.menu .active.item .menu .active.item {
-  border-left: none;
-}
-.ui.vertical.menu .item .menu .active.item {
-  background-color: transparent;
-  font-weight: bold;
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/*--------------
-     Tabular
----------------*/
-
-.ui.tabular.menu {
-  border-radius: 0;
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-  border: none;
-  background: none transparent;
-  border-bottom: 1px solid #D4D4D5;
-}
-.ui.tabular.fluid.menu {
-  width: calc(100% + 2px) !important;
-}
-.ui.tabular.menu .item {
-  background: transparent;
-  border-bottom: none;
-  border-left: 1px solid transparent;
-  border-right: 1px solid transparent;
-  border-top: 2px solid transparent;
-  padding: 0.92857143em 1.42857143em;
-  color: #AAAAAA;
-}
-.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 {
-  background: none #FFFFFF;
-  color: rgba(0, 0, 0, 0.95);
-  border-top-width: 1px;
-  border-color: #D4D4D5;
-  font-weight: bold;
-  margin-bottom: -1px;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  border-radius: 0.28571429rem 0.28571429rem 0 0 !important;
-}
-
-/* Coupling with segment for attachment */
-.ui.tabular.menu + .attached:not(.top).segment,
-.ui.tabular.menu + .attached:not(.top).segment + .attached:not(.top).segment {
-  border-top: none;
-  margin-left: 0;
-  margin-top: 0;
-  margin-right: 0;
-  width: 100%;
-}
-.top.attached.segment + .ui.bottom.tabular.menu {
-  position: relative;
-  width: calc(100% + 2px);
-  left: -1px;
-}
-
-/* Bottom Vertical Tabular */
-.ui.bottom.tabular.menu {
-  background: none transparent;
-  border-radius: 0;
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-  border-bottom: none;
-  border-top: 1px solid #D4D4D5;
-}
-.ui.bottom.tabular.menu .item {
-  background: none;
-  border-left: 1px solid transparent;
-  border-right: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-  border-top: none;
-}
-.ui.bottom.tabular.menu .active.item {
-  background: none #FFFFFF;
-  color: rgba(0, 0, 0, 0.95);
-  border-color: #D4D4D5;
-  margin: -1px 0 0 0;
-  border-radius: 0 0 0.28571429rem 0.28571429rem !important;
-}
-
-/* Vertical Tabular (Left) */
-.ui.vertical.tabular.menu {
-  background: none transparent;
-  border-radius: 0;
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-  border-bottom: none;
-  border-right: 1px solid #D4D4D5;
-}
-.ui.vertical.tabular.menu .item {
-  background: none;
-  border-left: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-  border-top: 1px solid transparent;
-  border-right: none;
-}
-.ui.vertical.tabular.menu .active.item {
-  background: none #FFFFFF;
-  color: rgba(0, 0, 0, 0.95);
-  border-color: #D4D4D5;
-  margin: 0 -1px 0 0;
-  border-radius: 0.28571429rem 0 0 0.28571429rem !important;
-}
-
-/* Vertical Right Tabular */
-.ui.vertical.right.tabular.menu {
-  background: none transparent;
-  border-radius: 0;
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-  border-bottom: none;
-  border-right: none;
-  border-left: 1px solid #D4D4D5;
-}
-.ui.vertical.right.tabular.menu .item {
-  background: none;
-  border-right: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-  border-top: 1px solid transparent;
-  border-left: none;
-}
-.ui.vertical.right.tabular.menu .active.item {
-  background: none #FFFFFF;
-  color: rgba(0, 0, 0, 0.95);
-  border-color: #D4D4D5;
-  margin: 0 0 0 -1px;
-  border-radius: 0 0.28571429rem 0.28571429rem 0 !important;
-}
-
-/* Dropdown */
-.ui.tabular.menu .active.dropdown.item {
-  margin-bottom: 0;
-  border-left: 1px solid transparent;
-  border-right: 1px solid transparent;
-  border-top: 2px solid transparent;
-  border-bottom: none;
-}
-
-/*--------------
-   Pagination
----------------*/
-
-.ui.pagination.menu {
-  margin: 0;
-  display: -webkit-inline-box;
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  vertical-align: middle;
-}
-.ui.pagination.menu .item:last-child {
-  border-radius: 0 0.28571429rem 0.28571429rem 0;
-}
-.ui.compact.menu .item:last-child {
-  border-radius: 0 0.28571429rem 0.28571429rem 0;
-}
-.ui.pagination.menu .item:last-child:before {
-  display: none;
-}
-.ui.pagination.menu .item {
-  min-width: 3em;
-  text-align: center;
-}
-.ui.pagination.menu .icon.item i.icon {
-  vertical-align: top;
-}
-
-/* Active */
-.ui.pagination.menu .active.item {
-  border-top: none;
-  padding-top: 0.92857143em;
-  background-color: rgba(0, 0, 0, 0.05);
-  color: rgba(0, 0, 0, 0.95);
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/*--------------
-   Secondary
----------------*/
-
-.ui.secondary.menu {
-  background: none;
-  margin-left: -0.35714286em;
-  margin-right: -0.35714286em;
-  border-radius: 0;
-  border: none;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Item */
-.ui.secondary.menu .item {
-  -ms-flex-item-align: center;
-      align-self: center;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  border: none;
-  padding: 0.78571429em 0.92857143em;
-  margin: 0 0.35714286em;
-  background: none;
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-  border-radius: 0.28571429rem;
-}
-
-/* No Divider */
-.ui.secondary.menu .item:before {
-  display: none !important;
-}
-
-/* Header */
-.ui.secondary.menu .header.item {
-  border-radius: 0;
-  border-right: none;
-  background: none transparent;
-}
-
-/* Image */
-.ui.secondary.menu .item > img:not(.ui) {
-  margin: 0;
-}
-
-/* Hover */
-.ui.secondary.menu .dropdown.item:hover,
-.ui.secondary.menu .link.item:hover,
-.ui.secondary.menu a.item:hover {
-  background: rgba(0, 0, 0, 0.05);
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/* Active */
-.ui.secondary.menu .active.item {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  background: rgba(0, 0, 0, 0.05);
-  color: rgba(0, 0, 0, 0.95);
-  border-radius: 0.28571429rem;
-}
-
-/* Active Hover */
-.ui.secondary.menu .active.item:hover {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  background: rgba(0, 0, 0, 0.05);
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/* Inverted */
-.ui.secondary.inverted.menu .link.item:not(.disabled),
-.ui.secondary.inverted.menu a.item:not(.disabled) {
-  color: rgba(255, 255, 255, 0.7);
-}
-.ui.secondary.inverted.menu .dropdown.item:hover,
-.ui.secondary.inverted.menu .link.item:hover,
-.ui.secondary.inverted.menu a.item:hover {
-  background: rgba(255, 255, 255, 0.08);
-  color: #ffffff;
-}
-.ui.secondary.inverted.menu .active.item {
-  background: rgba(255, 255, 255, 0.15);
-  color: #ffffff;
-}
-
-/* Fix item margins */
-.ui.secondary.item.menu {
-  margin-left: 0;
-  margin-right: 0;
-}
-.ui.secondary.item.menu .item:last-child {
-  margin-right: 0;
-}
-.ui.secondary.attached.menu {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Sub Menu */
-.ui.vertical.secondary.menu .item:not(.dropdown) > .menu {
-  margin: 0 -0.92857143em;
-}
-.ui.vertical.secondary.menu .item:not(.dropdown) > .menu > .item {
-  margin: 0;
-  padding: 0.5em 1.33333333em;
-}
-
-/*---------------------
-   Secondary Vertical
------------------------*/
-
-.ui.secondary.vertical.menu > .item {
-  border: none;
-  margin: 0 0 0.35714286em;
-  border-radius: 0.28571429rem !important;
-}
-.ui.secondary.vertical.menu > .header.item {
-  border-radius: 0;
-}
-
-/* Sub Menu */
-.ui.vertical.secondary.menu .item > .menu .item {
-  background-color: transparent;
-}
-
-/* Inverted */
-.ui.secondary.inverted.menu {
-  background-color: transparent;
-}
-
-/*---------------------
-   Secondary Pointing
------------------------*/
-
-.ui.secondary.pointing.menu {
-  margin-left: 0;
-  margin-right: 0;
-  border-bottom: 2px solid rgba(34, 36, 38, 0.15);
-}
-.ui.secondary.pointing.menu .item {
-  border-bottom-color: transparent;
-  border-bottom-style: solid;
-  border-radius: 0;
-  -ms-flex-item-align: end;
-      align-self: flex-end;
-  margin: 0 0 -2px;
-  padding: 0.85714286em 1.14285714em;
-  border-bottom-width: 2px;
-  -webkit-transition: color 0.1s ease;
-  transition: color 0.1s ease;
-}
-.ui.secondary.pointing.menu .ui.dropdown .menu .item {
-  border-bottom-width: 0;
-}
-.ui.secondary.pointing.menu .item > .label:not(.floating) {
-  margin-top: -0.3em;
-  margin-bottom: -0.3em;
-}
-.ui.secondary.pointing.menu .item > .circular.label {
-  margin-top: -0.5em;
-  margin-bottom: -0.5em;
-}
-
-/* Item Types */
-.ui.secondary.pointing.menu .header.item {
-  color: rgba(0, 0, 0, 0.85) !important;
-}
-.ui.secondary.pointing.menu .text.item {
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-}
-.ui.secondary.pointing.menu .item:after {
-  display: none;
-}
-
-/* Hover */
-.ui.secondary.pointing.menu .dropdown.item:hover,
-.ui.secondary.pointing.menu .link.item:hover,
-.ui.secondary.pointing.menu a.item:hover {
-  background-color: transparent;
-  color: #AAAAAA;
-}
-
-/* Pressed */
-.ui.secondary.pointing.menu .dropdown.item:active,
-.ui.secondary.pointing.menu .link.item:active,
-.ui.secondary.pointing.menu a.item:active {
-  background-color: transparent;
-  border-color: rgba(34, 36, 38, 0.15);
-}
-
-/* Active */
-.ui.secondary.pointing.menu .active.item {
-  background-color: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  border-color: currentColor;
-  font-weight: bold;
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/* Active Hover */
-.ui.secondary.pointing.menu .active.item:hover {
-  border-color: currentColor;
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/* Active Dropdown */
-.ui.secondary.pointing.menu .active.dropdown.item {
-  border-color: transparent;
-}
-
-/* Vertical Pointing */
-.ui.secondary.vertical.pointing.menu {
-  border-bottom-width: 0;
-  border-right-width: 2px;
-  border-right-style: solid;
-  border-right-color: rgba(34, 36, 38, 0.15);
-}
-.ui.secondary.vertical.pointing.menu .item {
-  border-bottom: none;
-  border-right-style: solid;
-  border-right-color: transparent;
-  border-radius: 0 !important;
-  margin: 0 -2px 0 0;
-  border-right-width: 2px;
-}
-
-/* Vertical Active */
-.ui.secondary.vertical.pointing.menu .active.item {
-  border-color: currentColor;
-}
-
-/* Inverted */
-.ui.secondary.inverted.pointing.menu {
-  border-color: rgba(255, 255, 255, 0.1);
-}
-.ui.secondary.inverted.pointing.menu .item:not(.disabled) {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.secondary.inverted.pointing.menu .header.item {
-  color: #FFFFFF !important;
-}
-
-/* Hover */
-.ui.secondary.inverted.pointing.menu .link.item:hover,
-.ui.secondary.inverted.pointing.menu a.item:hover {
-  color: #ffffff;
-}
-
-/* Active */
-.ui.ui.secondary.inverted.pointing.menu .active.item {
-  border-color: #FFFFFF;
-  color: #ffffff;
-  background-color: transparent;
-}
-
-/*--------------
-    Text Menu
----------------*/
-
-.ui.text.menu {
-  background: none transparent;
-  border-radius: 0;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  border: none;
-  margin: 1em -0.5em;
-}
-.ui.text.menu .item {
-  border-radius: 0;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  -ms-flex-item-align: center;
-      align-self: center;
-  margin: 0 0;
-  padding: 0.35714286em 0.5em;
-  font-weight: normal;
-  color: rgba(0, 0, 0, 0.6);
-  -webkit-transition: opacity 0.1s ease;
-  transition: opacity 0.1s ease;
-}
-
-/* Border */
-.ui.text.menu .item:before,
-.ui.text.menu .menu .item:before {
-  display: none !important;
-}
-
-/* Header */
-.ui.text.menu .header.item {
-  background-color: transparent;
-  opacity: 1;
-  color: rgba(0, 0, 0, 0.85);
-  font-size: 0.92857143em;
-  text-transform: uppercase;
-  font-weight: bold;
-}
-
-/* Image */
-.ui.text.menu .item > img:not(.ui) {
-  margin: 0;
-}
-
-/*--- fluid text ---*/
-
-.ui.text.item.menu .item {
-  margin: 0;
-}
-
-/*--- vertical text ---*/
-
-.ui.vertical.text.menu {
-  margin: 1em 0;
-}
-.ui.vertical.text.menu:first-child {
-  margin-top: 0;
-}
-.ui.vertical.text.menu:last-child {
-  margin-bottom: 0;
-}
-.ui.vertical.text.menu .item {
-  margin: 0.57142857em 0;
-  padding-left: 0;
-  padding-right: 0;
-}
-.ui.vertical.text.menu .item > i.icon {
-  float: none;
-  margin: 0 0.35714286em 0 0;
-}
-.ui.vertical.text.menu .header.item {
-  margin: 0.57142857em 0 0.71428571em;
-}
-
-/* Vertical Sub Menu */
-.ui.vertical.text.menu .item:not(.dropdown) > .menu {
-  margin: 0;
-}
-.ui.vertical.text.menu .item:not(.dropdown) > .menu > .item {
-  margin: 0;
-  padding: 0.5em 0;
-}
-
-/*--- hover ---*/
-
-.ui.text.menu .item:hover {
-  opacity: 1;
-  background-color: transparent;
-}
-
-/*--- active ---*/
-
-.ui.text.menu .active.item {
-  background-color: transparent;
-  border: none;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  font-weight: normal;
-  color: rgba(0, 0, 0, 0.95);
-}
-
-/*--- active hover ---*/
-
-.ui.text.menu .active.item:hover {
-  background-color: transparent;
-}
-
-/* Disable Bariations */
-.ui.text.pointing.menu .active.item:after {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.text.attached.menu {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Inverted */
-.ui.inverted.text.menu,
-.ui.inverted.text.menu .item,
-.ui.inverted.text.menu .item:hover,
-.ui.inverted.text.menu .active.item {
-  background-color: transparent;
-}
-
-/* Fluid */
-.ui.fluid.text.menu {
-  margin-left: 0;
-  margin-right: 0;
-}
-
-/*--------------
-    Icon Only
----------------*/
-
-
-/* Vertical Menu */
-.ui.vertical.icon.menu {
-  display: inline-block;
-  width: auto;
-}
-
-/* Item */
-.ui.icon.menu .item {
-  height: auto;
-  text-align: center;
-  color: #1B1C1D;
-}
-
-/* Icon */
-.ui.icon.menu .item > .icon:not(.dropdown) {
-  margin: 0;
-  opacity: 1;
-}
-
-/* Icon Gylph */
-.ui.icon.menu .icon:before {
-  opacity: 1;
-}
-
-/* (x) Item Icon */
-.ui.menu .icon.item > .icon {
-  width: auto;
-  margin: 0 auto;
-}
-
-/* Vertical Icon */
-.ui.vertical.icon.menu .item > .icon:not(.dropdown) {
-  display: block;
-  opacity: 1;
-  margin: 0 auto;
-  float: none;
-}
-
-/* Inverted */
-.ui.inverted.icon.menu .item {
-  color: #FFFFFF;
-}
-
-/*--------------
-   Labeled Icon
----------------*/
-
-
-/* Menu */
-.ui.labeled.icon.menu {
-  text-align: center;
-}
-
-/* Item */
-.ui.labeled.icon.menu .item {
-  min-width: 6em;
-  -webkit-box-orient: vertical;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: column;
-          flex-direction: column;
-}
-
-/* Icon */
-.ui.labeled.icon.menu > .item > .icon:not(.dropdown) {
-  height: 1em;
-  display: block;
-  font-size: 1.71428571em !important;
-  margin: 0 auto 0.5rem !important;
-}
-
-/* Fluid */
-.ui.fluid.labeled.icon.menu > .item {
-  min-width: 0;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*--------------
-    Stackable
----------------*/
-
-@media only screen and (max-width: 767.98px) {
-  .ui.stackable.menu {
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
-  }
-  .ui.stackable.menu .item {
-    width: 100% !important;
-  }
-  .ui.stackable.menu .item:before {
-    position: absolute;
-    content: '';
-    top: auto;
-    bottom: 0;
-    left: 0;
-    width: 100%;
-    height: 1px;
-    background: rgba(34, 36, 38, 0.1);
-  }
-  .ui.stackable.menu .left.menu,
-  .ui.stackable.menu .left.item {
-    margin-right: 0 !important;
-  }
-  .ui.stackable.menu .right.menu,
-  .ui.stackable.menu .right.item {
-    margin-left: 0 !important;
-  }
-  .ui.stackable.menu .center.menu,
-  .ui.stackable.menu .center.item {
-    margin-left: 0 !important;
-    margin-right: 0 !important;
-  }
-  .ui.stackable.menu .right.menu,
-  .ui.stackable.menu .center.menu,
-  .ui.stackable.menu .left.menu {
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
-  }
-}
-
-/*--------------
-     Colors
----------------*/
-
-.ui.ui.menu .primary.active.item,
-.ui.ui.primary.menu .active.item:hover,
-.ui.ui.primary.menu .active.item {
-  color: #2185D0;
-}
-.ui.ui.menu .red.active.item,
-.ui.ui.red.menu .active.item:hover,
-.ui.ui.red.menu .active.item {
-  color: #DB2828;
-}
-.ui.ui.menu .orange.active.item,
-.ui.ui.orange.menu .active.item:hover,
-.ui.ui.orange.menu .active.item {
-  color: #F2711C;
-}
-.ui.ui.menu .yellow.active.item,
-.ui.ui.yellow.menu .active.item:hover,
-.ui.ui.yellow.menu .active.item {
-  color: #FBBD08;
-}
-.ui.ui.menu .olive.active.item,
-.ui.ui.olive.menu .active.item:hover,
-.ui.ui.olive.menu .active.item {
-  color: #B5CC18;
-}
-.ui.ui.menu .green.active.item,
-.ui.ui.green.menu .active.item:hover,
-.ui.ui.green.menu .active.item {
-  color: #21BA45;
-}
-.ui.ui.menu .teal.active.item,
-.ui.ui.teal.menu .active.item:hover,
-.ui.ui.teal.menu .active.item {
-  color: #00B5AD;
-}
-.ui.ui.menu .blue.active.item,
-.ui.ui.blue.menu .active.item:hover,
-.ui.ui.blue.menu .active.item {
-  color: #2185D0;
-}
-.ui.ui.menu .violet.active.item,
-.ui.ui.violet.menu .active.item:hover,
-.ui.ui.violet.menu .active.item {
-  color: #6435C9;
-}
-.ui.ui.menu .purple.active.item,
-.ui.ui.purple.menu .active.item:hover,
-.ui.ui.purple.menu .active.item {
-  color: #A333C8;
-}
-.ui.ui.menu .pink.active.item,
-.ui.ui.pink.menu .active.item:hover,
-.ui.ui.pink.menu .active.item {
-  color: #E03997;
-}
-.ui.ui.menu .brown.active.item,
-.ui.ui.brown.menu .active.item:hover,
-.ui.ui.brown.menu .active.item {
-  color: #A5673F;
-}
-.ui.ui.menu .grey.active.item,
-.ui.ui.grey.menu .active.item:hover,
-.ui.ui.grey.menu .active.item {
-  color: #767676;
-}
-.ui.ui.menu .black.active.item,
-.ui.ui.black.menu .active.item:hover,
-.ui.ui.black.menu .active.item {
-  color: #1B1C1D;
-}
-
-/*--------------
-    Inverted
----------------*/
-
-.ui.inverted.menu {
-  border: 0 solid transparent;
-  background: #1B1C1D;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Menu Item */
-.ui.inverted.menu .item,
-.ui.inverted.menu .item > a:not(.ui) {
-  background: transparent;
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.menu .item.menu {
-  background: transparent;
-}
-
-/*--- Border ---*/
-
-.ui.inverted.menu .item:before {
-  background: rgba(255, 255, 255, 0.08);
-}
-.ui.vertical.inverted.menu .item:before {
-  background: rgba(255, 255, 255, 0.08);
-}
-
-/* Sub Menu */
-.ui.vertical.inverted.menu .menu .item,
-.ui.vertical.inverted.menu .menu .item a:not(.ui) {
-  color: rgba(255, 255, 255, 0.5);
-}
-
-/* Header */
-.ui.inverted.menu .header.item {
-  margin: 0;
-  background: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-/* Disabled */
-.ui.ui.inverted.menu .item.disabled {
-  color: rgba(225, 225, 225, 0.3);
-}
-
-/*--- Hover ---*/
-
-.ui.link.inverted.menu .item:hover,
-.ui.inverted.menu .dropdown.item:hover,
-.ui.inverted.menu .link.item:hover,
-.ui.inverted.menu a.item:hover {
-  background: rgba(255, 255, 255, 0.08);
-  color: #ffffff;
-}
-.ui.vertical.inverted.menu .item .menu a.item:hover,
-.ui.vertical.inverted.menu .item .menu .link.item:hover {
-  background: transparent;
-  color: #ffffff;
-}
-
-/*--- Pressed ---*/
-
-.ui.inverted.menu a.item:active,
-.ui.inverted.menu .link.item:active {
-  background: rgba(255, 255, 255, 0.08);
-  color: #ffffff;
-}
-
-/*--- Active ---*/
-
-.ui.inverted.menu .active.item {
-  background: #3D3E3F;
-  color: #ffffff !important;
-}
-.ui.inverted.vertical.menu .item .menu .active.item {
-  background: transparent;
-  color: #FFFFFF;
-}
-.ui.inverted.pointing.menu .active.item:after {
-  background: #3D3E3F;
-  margin: 0 !important;
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-  border: none !important;
-}
-
-/*--- Active Hover ---*/
-
-.ui.inverted.menu .active.item:hover {
-  background: #3D3E3F;
-  color: #FFFFFF !important;
-}
-.ui.inverted.pointing.menu .active.item:hover:after {
-  background: #3D3E3F;
-}
-
-/*--------------
-     Floated
----------------*/
-
-.ui.floated.menu {
-  float: left;
-  margin: 0 0.5rem 0 0;
-}
-.ui.floated.menu .item:last-child:before {
-  display: none;
-}
-.ui.right.floated.menu {
-  float: right;
-  margin: 0 0 0 0.5rem;
-}
-
-/*--------------
-    Inverted
----------------*/
-
-.ui.ui.inverted.menu .primary.active.item,
-.ui.ui.inverted.primary.menu {
-  background-color: #2185D0;
-}
-.ui.inverted.primary.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.primary.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.primary.menu .active.item {
-  background-color: #1678c2;
-}
-.ui.ui.inverted.menu .red.active.item,
-.ui.ui.inverted.red.menu {
-  background-color: #DB2828;
-}
-.ui.inverted.red.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.red.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.red.menu .active.item {
-  background-color: #d01919;
-}
-.ui.ui.inverted.menu .orange.active.item,
-.ui.ui.inverted.orange.menu {
-  background-color: #F2711C;
-}
-.ui.inverted.orange.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.orange.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.orange.menu .active.item {
-  background-color: #f26202;
-}
-.ui.ui.inverted.menu .yellow.active.item,
-.ui.ui.inverted.yellow.menu {
-  background-color: #FBBD08;
-}
-.ui.inverted.yellow.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.yellow.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.yellow.menu .active.item {
-  background-color: #eaae00;
-}
-.ui.ui.inverted.menu .olive.active.item,
-.ui.ui.inverted.olive.menu {
-  background-color: #B5CC18;
-}
-.ui.inverted.olive.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.olive.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.olive.menu .active.item {
-  background-color: #a7bd0d;
-}
-.ui.ui.inverted.menu .green.active.item,
-.ui.ui.inverted.green.menu {
-  background-color: #21BA45;
-}
-.ui.inverted.green.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.green.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.green.menu .active.item {
-  background-color: #16ab39;
-}
-.ui.ui.inverted.menu .teal.active.item,
-.ui.ui.inverted.teal.menu {
-  background-color: #00B5AD;
-}
-.ui.inverted.teal.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.teal.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.teal.menu .active.item {
-  background-color: #009c95;
-}
-.ui.ui.inverted.menu .blue.active.item,
-.ui.ui.inverted.blue.menu {
-  background-color: #2185D0;
-}
-.ui.inverted.blue.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.blue.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.blue.menu .active.item {
-  background-color: #1678c2;
-}
-.ui.ui.inverted.menu .violet.active.item,
-.ui.ui.inverted.violet.menu {
-  background-color: #6435C9;
-}
-.ui.inverted.violet.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.violet.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.violet.menu .active.item {
-  background-color: #5829bb;
-}
-.ui.ui.inverted.menu .purple.active.item,
-.ui.ui.inverted.purple.menu {
-  background-color: #A333C8;
-}
-.ui.inverted.purple.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.purple.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.purple.menu .active.item {
-  background-color: #9627ba;
-}
-.ui.ui.inverted.menu .pink.active.item,
-.ui.ui.inverted.pink.menu {
-  background-color: #E03997;
-}
-.ui.inverted.pink.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.pink.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.pink.menu .active.item {
-  background-color: #e61a8d;
-}
-.ui.ui.inverted.menu .brown.active.item,
-.ui.ui.inverted.brown.menu {
-  background-color: #A5673F;
-}
-.ui.inverted.brown.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.brown.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.brown.menu .active.item {
-  background-color: #975b33;
-}
-.ui.ui.inverted.menu .grey.active.item,
-.ui.ui.inverted.grey.menu {
-  background-color: #767676;
-}
-.ui.inverted.grey.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.grey.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.grey.menu .active.item {
-  background-color: #838383;
-}
-.ui.ui.inverted.menu .black.active.item,
-.ui.ui.inverted.black.menu {
-  background-color: #1B1C1D;
-}
-.ui.inverted.black.menu .item:before {
-  background-color: rgba(34, 36, 38, 0.1);
-}
-.ui.ui.inverted.black.menu .active.item {
-  background-color: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.pointing.black.menu .active.item {
-  background-color: #27292a;
-}
-.ui.ui.ui.inverted.pointing.menu .active.item:after {
-  background-color: inherit;
-}
-
-/*--------------
-     Fitted
----------------*/
-
-.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: 0.92857143em;
-  padding-bottom: 0.92857143em;
-}
-.ui.vertically.fitted.menu .item,
-.ui.vertically.fitted.menu .item .menu .item,
-.ui.menu .vertically.fitted.item {
-  padding-left: 1.14285714em;
-  padding-right: 1.14285714em;
-}
-
-/*--------------
-   Borderless
----------------*/
-
-.ui.borderless.menu .item:before,
-.ui.borderless.menu .item .menu .item:before,
-.ui.menu .borderless.item:before {
-  background: none !important;
-}
-
-/*-------------------
-       Compact
---------------------*/
-
-.ui.compact.menu {
-  display: -webkit-inline-box;
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  margin: 0;
-  vertical-align: middle;
-}
-.ui.compact.vertical.menu {
-  
-/* IE hack to make dropdown icons appear inline */
-  display: -ms-inline-flexbox !important;
-  display: inline-block;
-}
-.ui.compact.menu:not(.secondary) .item:last-child {
-  border-radius: 0 0.28571429rem 0.28571429rem 0;
-}
-.ui.compact.menu .item:last-child:before {
-  display: none;
-}
-.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 {
-  width: 100% !important;
-}
-
-/*-------------------
-      Evenly Sized
---------------------*/
-
-.ui.item.menu,
-.ui.item.menu .item {
-  width: 100%;
-  padding-left: 0 !important;
-  padding-right: 0 !important;
-  margin-left: 0 !important;
-  margin-right: 0 !important;
-  text-align: center;
-  -webkit-box-pack: center;
-      -ms-flex-pack: center;
-          justify-content: center;
-}
-.ui.attached.item.menu:not(.tabular) {
-  margin: 0 -1px !important;
-}
-.ui.item.menu .item:last-child:before {
-  display: none;
-}
-.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%;
-}
-
-/*--------------
-     Fixed
----------------*/
-
-.ui.menu.fixed {
-  position: fixed;
-  z-index: 101;
-  margin: 0;
-  width: 100%;
-}
-.ui.menu.fixed,
-.ui.menu.fixed .item:first-child,
-.ui.menu.fixed .item:last-child {
-  border-radius: 0 !important;
-}
-.ui.fixed.menu,
-.ui[class*="top fixed"].menu {
-  top: 0;
-  left: 0;
-  right: auto;
-  bottom: auto;
-}
-.ui[class*="top fixed"].menu {
-  border-top: none;
-  border-left: none;
-  border-right: none;
-}
-.ui[class*="right fixed"].menu {
-  border-top: none;
-  border-bottom: none;
-  border-right: none;
-  top: 0;
-  right: 0;
-  left: auto;
-  bottom: auto;
-  width: auto;
-  height: 100%;
-}
-.ui[class*="bottom fixed"].menu {
-  border-bottom: none;
-  border-left: none;
-  border-right: none;
-  bottom: 0;
-  left: 0;
-  top: auto;
-  right: auto;
-}
-.ui[class*="left fixed"].menu {
-  border-top: none;
-  border-bottom: none;
-  border-left: none;
-  top: 0;
-  left: 0;
-  right: auto;
-  bottom: auto;
-  width: auto;
-  height: 100%;
-}
-
-/* Coupling with Grid */
-.ui.fixed.menu + .ui.grid {
-  padding-top: 2.75rem;
-}
-
-/*-------------------
-       Pointing
---------------------*/
-
-.ui.pointing.menu .item:after {
-  visibility: hidden;
-  position: absolute;
-  content: '';
-  top: 100%;
-  left: 50%;
-  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
-          transform: translateX(-50%) translateY(-50%) rotate(45deg);
-  background: none;
-  margin: 0.5px 0 0;
-  width: 0.57142857em;
-  height: 0.57142857em;
-  border: none;
-  border-bottom: 1px solid #D4D4D5;
-  border-right: 1px solid #D4D4D5;
-  z-index: 2;
-  -webkit-transition: background 0.1s ease;
-  transition: background 0.1s ease;
-}
-.ui.vertical.pointing.menu .item:after {
-  position: absolute;
-  top: 50%;
-  right: 0;
-  bottom: auto;
-  left: auto;
-  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
-          transform: translateX(50%) translateY(-50%) rotate(45deg);
-  margin: 0 -0.5px 0 0;
-  border: none;
-  border-top: 1px solid #D4D4D5;
-  border-right: 1px solid #D4D4D5;
-}
-.ui.pointing.menu .ui.dropdown .menu .item:after,
-.ui.vertical.pointing.menu .ui.dropdown .menu .item:after {
-  display: none;
-}
-
-/* Active */
-.ui.pointing.menu .active.item:after {
-  visibility: visible;
-}
-.ui.pointing.menu .active.dropdown.item:after {
-  visibility: hidden;
-}
-
-/* Don't double up pointers */
-.ui.pointing.menu .dropdown.active.item:after,
-.ui.pointing.menu .active.item .menu .active.item:after {
-  display: none;
-}
-
-/* Colors */
-.ui.pointing.menu .active.item:hover:after {
-  background-color: #F2F2F2;
-}
-.ui.pointing.menu .active.item:after {
-  background-color: #F2F2F2;
-}
-.ui.pointing.menu .active.item:hover:after {
-  background-color: #F2F2F2;
-}
-.ui.vertical.pointing.menu .active.item:hover:after {
-  background-color: #F2F2F2;
-}
-.ui.vertical.pointing.menu .active.item:after {
-  background-color: #F2F2F2;
-}
-.ui.vertical.pointing.menu .menu .active.item:after {
-  background-color: #FFFFFF;
-}
-.ui.inverted.pointing.menu .primary.active.item:after {
-  background-color: #2185D0;
-}
-.ui.inverted.pointing.menu .secondary.active.item:after {
-  background-color: #1B1C1D;
-}
-.ui.inverted.pointing.menu .red.active.item:after {
-  background-color: #DB2828;
-}
-.ui.inverted.pointing.menu .orange.active.item:after {
-  background-color: #F2711C;
-}
-.ui.inverted.pointing.menu .yellow.active.item:after {
-  background-color: #FBBD08;
-}
-.ui.inverted.pointing.menu .olive.active.item:after {
-  background-color: #B5CC18;
-}
-.ui.inverted.pointing.menu .green.active.item:after {
-  background-color: #21BA45;
-}
-.ui.inverted.pointing.menu .teal.active.item:after {
-  background-color: #00B5AD;
-}
-.ui.inverted.pointing.menu .blue.active.item:after {
-  background-color: #2185D0;
-}
-.ui.inverted.pointing.menu .violet.active.item:after {
-  background-color: #6435C9;
-}
-.ui.inverted.pointing.menu .purple.active.item:after {
-  background-color: #A333C8;
-}
-.ui.inverted.pointing.menu .pink.active.item:after {
-  background-color: #E03997;
-}
-.ui.inverted.pointing.menu .brown.active.item:after {
-  background-color: #A5673F;
-}
-.ui.inverted.pointing.menu .grey.active.item:after {
-  background-color: #767676;
-}
-.ui.inverted.pointing.menu .black.active.item:after {
-  background-color: #1B1C1D;
-}
-
-/*--------------
-    Attached
----------------*/
-
-
-/* Middle */
-.ui.attached.menu {
-  top: 0;
-  bottom: 0;
-  border-radius: 0;
-  margin: 0 -1px;
-  width: calc(100% + 2px);
-  max-width: calc(100% + 2px);
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.attached + .ui.attached.menu:not(.top) {
-  border-top: none;
-}
-
-/* Top */
-.ui[class*="top attached"].menu {
-  bottom: 0;
-  margin-bottom: 0;
-  top: 0;
-  margin-top: 1rem;
-  border-radius: 0.28571429rem 0.28571429rem 0 0;
-}
-.ui.menu[class*="top attached"]:first-child {
-  margin-top: 0;
-}
-
-/* Bottom */
-.ui[class*="bottom attached"].menu {
-  bottom: 0;
-  margin-top: 0;
-  top: 0;
-  margin-bottom: 1rem;
-  -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), none;
-          box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), none;
-  border-radius: 0 0 0.28571429rem 0.28571429rem;
-}
-.ui[class*="bottom attached"].menu:last-child {
-  margin-bottom: 0;
-}
-
-/* Attached Menu Item */
-.ui.top.attached.menu > .item:first-child {
-  border-radius: 0.28571429rem 0 0 0;
-}
-.ui.bottom.attached.menu > .item:first-child {
-  border-radius: 0 0 0 0.28571429rem;
-}
-
-/* Tabular Attached */
-.ui.attached.menu:not(.tabular) {
-  border: 1px solid #D4D4D5;
-}
-.ui.attached.inverted.menu {
-  border: none;
-}
-.ui.attached.tabular.menu {
-  margin-left: 0;
-  margin-right: 0;
-  width: 100%;
-}
-
-/*--------------
-     Sizes
----------------*/
-
-
-/* Mini */
-.ui.mini.menu {
-  font-size: 0.78571429rem;
-}
-.ui.mini.vertical.menu:not(.icon) {
-  width: 9rem;
-}
-.ui.mini.menu .dropdown {
-  font-size: 0.78571429rem;
-}
-.ui.mini.menu .dropdown .menu > .item {
-  font-size: 0.78571429rem;
-}
-
-/* Tiny */
-.ui.tiny.menu {
-  font-size: 0.85714286rem;
-}
-.ui.tiny.vertical.menu:not(.icon) {
-  width: 11rem;
-}
-.ui.tiny.menu .dropdown {
-  font-size: 0.85714286rem;
-}
-.ui.tiny.menu .dropdown .menu > .item {
-  font-size: 0.85714286rem;
-}
-
-/* Small */
-.ui.small.menu {
-  font-size: 0.92857143rem;
-}
-.ui.small.vertical.menu:not(.icon) {
-  width: 13rem;
-}
-.ui.small.menu .dropdown {
-  font-size: 0.92857143rem;
-}
-.ui.small.menu .dropdown .menu > .item {
-  font-size: 0.92857143rem;
-}
-
-/* Medium */
-.ui.menu {
-  font-size: 1rem;
-}
-.ui.vertical.menu {
-  width: 15rem;
-}
-
-/* Large */
-.ui.large.menu {
-  font-size: 1.07142857rem;
-}
-.ui.large.vertical.menu:not(.icon) {
-  width: 18rem;
-}
-.ui.large.menu .dropdown {
-  font-size: 1.07142857rem;
-}
-.ui.large.menu .dropdown .menu > .item {
-  font-size: 1.07142857rem;
-}
-
-/* Huge */
-.ui.huge.menu {
-  font-size: 1.21428571rem;
-}
-.ui.huge.vertical.menu:not(.icon) {
-  width: 22rem;
-}
-.ui.huge.menu .dropdown {
-  font-size: 1.21428571rem;
-}
-.ui.huge.menu .dropdown .menu > .item {
-  font-size: 1.21428571rem;
-}
-
-/* Big */
-.ui.big.menu {
-  font-size: 1.14285714rem;
-}
-.ui.big.vertical.menu:not(.icon) {
-  width: 20rem;
-}
-.ui.big.menu .dropdown {
-  font-size: 1.14285714rem;
-}
-.ui.big.menu .dropdown .menu > .item {
-  font-size: 1.14285714rem;
-}
-
-/* Massive */
-.ui.massive.menu {
-  font-size: 1.28571429rem;
-}
-.ui.massive.vertical.menu:not(.icon) {
-  width: 25rem;
-}
-.ui.massive.menu .dropdown {
-  font-size: 1.28571429rem;
-}
-.ui.massive.menu .dropdown .menu > .item {
-  font-size: 1.28571429rem;
-}
-
-/*-------------------
-  Inverted dropdowns
---------------------*/
-
-.ui.menu .ui.inverted.inverted.dropdown.item .menu {
-  background: #1B1C1D;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.menu .ui.inverted.dropdown .menu > .item {
-  color: rgba(255, 255, 255, 0.8) !important;
-}
-.ui.menu .ui.inverted.dropdown .menu > .active.item {
-  background: transparent !important;
-  color: rgba(255, 255, 255, 0.8) !important;
-}
-.ui.menu .ui.inverted.dropdown .menu > .item:hover {
-  background: rgba(255, 255, 255, 0.08) !important;
-  color: rgba(255, 255, 255, 0.8) !important;
-}
-.ui.menu .ui.inverted.dropdown .menu > .selected.item {
-  background: rgba(255, 255, 255, 0.15) !important;
-  color: rgba(255, 255, 255, 0.8) !important;
-}
-
-/* Vertical */
-.ui.vertical.menu .inverted.dropdown.item .menu {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 0
webgui/static/components/menu.min.css


+ 0 - 643
webgui/static/components/message.css

@@ -1,643 +0,0 @@
-/*!
- * # Fomantic-UI - Message
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Message
-*******************************/
-
-.ui.message {
-  position: relative;
-  min-height: 1em;
-  margin: 1em 0;
-  background: #F8F8F9;
-  padding: 1em 1.5em;
-  line-height: 1.4285em;
-  color: #AAAAAA;
-  -webkit-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, -webkit-box-shadow 0.1s ease;
-  transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, -webkit-box-shadow 0.1s ease;
-  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-shadow 0.1s ease;
-  border-radius: 0.28571429rem;
-  -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.22) inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.22) inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.message:first-child {
-  margin-top: 0;
-}
-.ui.message:last-child {
-  margin-bottom: 0;
-}
-
-/*--------------
-     Content
----------------*/
-
-
-/* Header */
-.ui.message .header {
-  display: block;
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  font-weight: bold;
-  margin: -0.14285714em 0 0 0;
-}
-
-/* Default font size */
-.ui.message .header:not(.ui) {
-  font-size: 1.14285714em;
-}
-
-/* Paragraph */
-.ui.message p {
-  opacity: 0.85;
-  margin: 0.75em 0;
-}
-.ui.message p:first-child {
-  margin-top: 0;
-}
-.ui.message p:last-child {
-  margin-bottom: 0;
-}
-.ui.message .header + p {
-  margin-top: 0.25em;
-}
-
-/* List */
-.ui.message .list:not(.ui) {
-  text-align: left;
-  padding: 0;
-  opacity: 0.85;
-  list-style-position: inside;
-  margin: 0.5em 0 0;
-}
-.ui.message .list:not(.ui):first-child {
-  margin-top: 0;
-}
-.ui.message .list:not(.ui):last-child {
-  margin-bottom: 0;
-}
-.ui.message .list:not(.ui) li {
-  position: relative;
-  list-style-type: none;
-  margin: 0 0 0.3em 1em;
-  padding: 0;
-}
-.ui.message .list:not(.ui) li:before {
-  position: absolute;
-  content: '•';
-  left: -1em;
-  height: 100%;
-  vertical-align: baseline;
-}
-.ui.message .list:not(.ui) li:last-child {
-  margin-bottom: 0;
-}
-
-/* Icon */
-.ui.message > .icon {
-  margin-right: 0.6em;
-}
-
-/* Close Icon */
-.ui.message > .close.icon {
-  cursor: pointer;
-  position: absolute;
-  margin: 0;
-  top: 0.78575em;
-  right: 0.5em;
-  opacity: 0.7;
-  -webkit-transition: opacity 0.1s ease;
-  transition: opacity 0.1s ease;
-}
-.ui.message > .close.icon:hover {
-  opacity: 1;
-}
-
-/* First / Last Element */
-.ui.message > :first-child {
-  margin-top: 0;
-}
-.ui.message > :last-child {
-  margin-bottom: 0;
-}
-
-
-/*******************************
-            Coupling
-*******************************/
-
-.ui.dropdown .menu > .message {
-  margin: 0 -1px;
-}
-
-
-/*******************************
-            States
-*******************************/
-
-
-/*--------------
-    Visible
----------------*/
-
-.ui.visible.visible.visible.visible.message {
-  display: block;
-}
-.ui.icon.visible.visible.visible.visible.message {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-}
-
-/*--------------
-     Hidden
----------------*/
-
-.ui.hidden.hidden.hidden.hidden.message {
-  display: none;
-}
-
-
-/*******************************
-            Variations
-*******************************/
-
-
-/*--------------
-    Compact
----------------*/
-
-.ui.compact.message {
-  display: inline-block;
-}
-.ui.compact.icon.message {
-  display: -webkit-inline-box;
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  width: auto;
-}
-
-/*--------------
-    Attached
----------------*/
-
-.ui.attached.message {
-  margin-bottom: -1px;
-  border-radius: 0.28571429rem 0.28571429rem 0 0;
-  -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-          box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
-  margin-left: -1px;
-  margin-right: -1px;
-}
-.ui.attached + .ui.attached.message:not(.top):not(.bottom) {
-  margin-top: -1px;
-  border-radius: 0;
-}
-.ui.bottom.attached.message {
-  margin-top: -1px;
-  border-radius: 0 0 0.28571429rem 0.28571429rem;
-  -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset, 0 1px 2px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset, 0 1px 2px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.bottom.attached.message:not(:last-child) {
-  margin-bottom: 1em;
-}
-.ui.attached.icon.message {
-  width: auto;
-}
-
-/*--------------
-      Icon
----------------*/
-
-.ui.icon.message {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  width: 100%;
-  -webkit-box-align: center;
-      -ms-flex-align: center;
-          align-items: center;
-}
-.ui.icon.message > .icon:not(.close) {
-  display: block;
-  -webkit-box-flex: 0;
-      -ms-flex: 0 0 auto;
-          flex: 0 0 auto;
-  width: auto;
-  line-height: 1;
-  vertical-align: middle;
-  font-size: 3em;
-  opacity: 0.8;
-}
-.ui.icon.message > .content {
-  display: block;
-  -webkit-box-flex: 1;
-      -ms-flex: 1 1 auto;
-          flex: 1 1 auto;
-  vertical-align: middle;
-}
-.ui.icon.message .icon:not(.close) + .content {
-  padding-left: 0;
-}
-.ui.icon.message .circular.icon {
-  width: 1em;
-}
-
-/*--------------
-    Floating
----------------*/
-
-.ui.floating.message {
-  -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.22) inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.22) inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-
-/*--------------
-     Colors
----------------*/
-
-
-/*--------------
-     Types
----------------*/
-
-.ui.positive.message {
-  background-color: #FCFFF5;
-  color: #2C662D;
-}
-.ui.positive.message,
-.ui.attached.positive.message {
-  -webkit-box-shadow: 0 0 0 1px #A3C293 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #A3C293 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.positive.message {
-  -webkit-box-shadow: 0 0 0 1px #A3C293 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #A3C293 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.positive.message .header {
-  color: #1A531B;
-}
-.ui.negative.message {
-  background-color: #FFF6F6;
-  color: #9F3A38;
-}
-.ui.negative.message,
-.ui.attached.negative.message {
-  -webkit-box-shadow: 0 0 0 1px #E0B4B4 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #E0B4B4 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.negative.message {
-  -webkit-box-shadow: 0 0 0 1px #E0B4B4 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #E0B4B4 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.negative.message .header {
-  color: #912D2B;
-}
-.ui.info.message {
-  background-color: #F8FFFF;
-  color: #276F86;
-}
-.ui.info.message,
-.ui.attached.info.message {
-  -webkit-box-shadow: 0 0 0 1px #A9D5DE inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #A9D5DE inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.info.message {
-  -webkit-box-shadow: 0 0 0 1px #A9D5DE inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #A9D5DE inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.info.message .header {
-  color: #0E566C;
-}
-.ui.warning.message {
-  background-color: #FFFAF3;
-  color: #573A08;
-}
-.ui.warning.message,
-.ui.attached.warning.message {
-  -webkit-box-shadow: 0 0 0 1px #C9BA9B inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #C9BA9B inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.warning.message {
-  -webkit-box-shadow: 0 0 0 1px #C9BA9B inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #C9BA9B inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.warning.message .header {
-  color: #794B02;
-}
-.ui.error.message {
-  background-color: #FFF6F6;
-  color: #9F3A38;
-}
-.ui.error.message,
-.ui.attached.error.message {
-  -webkit-box-shadow: 0 0 0 1px #E0B4B4 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #E0B4B4 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.error.message {
-  -webkit-box-shadow: 0 0 0 1px #E0B4B4 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #E0B4B4 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.error.message .header {
-  color: #912D2B;
-}
-.ui.success.message {
-  background-color: #FCFFF5;
-  color: #2C662D;
-}
-.ui.success.message,
-.ui.attached.success.message {
-  -webkit-box-shadow: 0 0 0 1px #A3C293 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #A3C293 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.success.message {
-  -webkit-box-shadow: 0 0 0 1px #A3C293 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #A3C293 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.success.message .header {
-  color: #1A531B;
-}
-.ui.primary.message {
-  background-color: #DFF0FF;
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.primary.message,
-.ui.attached.primary.message {
-  -webkit-box-shadow: 0 0 0 1px #2185D0 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #2185D0 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.primary.message {
-  -webkit-box-shadow: 0 0 0 1px #2185D0 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #2185D0 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.primary.message .header {
-  color: rgba(242, 242, 242, 0.9);
-}
-.ui.secondary.message {
-  background-color: #F4F4F4;
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.secondary.message,
-.ui.attached.secondary.message {
-  -webkit-box-shadow: 0 0 0 1px #1B1C1D inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #1B1C1D inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.secondary.message {
-  -webkit-box-shadow: 0 0 0 1px #1B1C1D inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #1B1C1D inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.secondary.message .header {
-  color: rgba(242, 242, 242, 0.9);
-}
-.ui.red.message {
-  background-color: #FFE8E6;
-  color: #DB2828;
-}
-.ui.red.message,
-.ui.attached.red.message {
-  -webkit-box-shadow: 0 0 0 1px #DB2828 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #DB2828 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.red.message {
-  -webkit-box-shadow: 0 0 0 1px #DB2828 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #DB2828 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.red.message .header {
-  color: #c82121;
-}
-.ui.orange.message {
-  background-color: #FFEDDE;
-  color: #F2711C;
-}
-.ui.orange.message,
-.ui.attached.orange.message {
-  -webkit-box-shadow: 0 0 0 1px #F2711C inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #F2711C inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.orange.message {
-  -webkit-box-shadow: 0 0 0 1px #F2711C inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #F2711C inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.orange.message .header {
-  color: #e7640d;
-}
-.ui.yellow.message {
-  background-color: #FFF8DB;
-  color: #B58105;
-}
-.ui.yellow.message,
-.ui.attached.yellow.message {
-  -webkit-box-shadow: 0 0 0 1px #B58105 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #B58105 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.yellow.message {
-  -webkit-box-shadow: 0 0 0 1px #B58105 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #B58105 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.yellow.message .header {
-  color: #9c6f04;
-}
-.ui.olive.message {
-  background-color: #FBFDEF;
-  color: #8ABC1E;
-}
-.ui.olive.message,
-.ui.attached.olive.message {
-  -webkit-box-shadow: 0 0 0 1px #8ABC1E inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #8ABC1E inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.olive.message {
-  -webkit-box-shadow: 0 0 0 1px #8ABC1E inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #8ABC1E inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.olive.message .header {
-  color: #7aa61a;
-}
-.ui.green.message {
-  background-color: #E5F9E7;
-  color: #1EBC30;
-}
-.ui.green.message,
-.ui.attached.green.message {
-  -webkit-box-shadow: 0 0 0 1px #1EBC30 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #1EBC30 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.green.message {
-  -webkit-box-shadow: 0 0 0 1px #1EBC30 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #1EBC30 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.green.message .header {
-  color: #1aa62a;
-}
-.ui.teal.message {
-  background-color: #E1F7F7;
-  color: #10A3A3;
-}
-.ui.teal.message,
-.ui.attached.teal.message {
-  -webkit-box-shadow: 0 0 0 1px #10A3A3 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #10A3A3 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.teal.message {
-  -webkit-box-shadow: 0 0 0 1px #10A3A3 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #10A3A3 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.teal.message .header {
-  color: #0e8c8c;
-}
-.ui.blue.message {
-  background-color: #DFF0FF;
-  color: #2185D0;
-}
-.ui.blue.message,
-.ui.attached.blue.message {
-  -webkit-box-shadow: 0 0 0 1px #2185D0 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #2185D0 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.blue.message {
-  -webkit-box-shadow: 0 0 0 1px #2185D0 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #2185D0 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.blue.message .header {
-  color: #1e77ba;
-}
-.ui.violet.message {
-  background-color: #EAE7FF;
-  color: #6435C9;
-}
-.ui.violet.message,
-.ui.attached.violet.message {
-  -webkit-box-shadow: 0 0 0 1px #6435C9 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #6435C9 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.violet.message {
-  -webkit-box-shadow: 0 0 0 1px #6435C9 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #6435C9 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.violet.message .header {
-  color: #5a30b5;
-}
-.ui.purple.message {
-  background-color: #F6E7FF;
-  color: #A333C8;
-}
-.ui.purple.message,
-.ui.attached.purple.message {
-  -webkit-box-shadow: 0 0 0 1px #A333C8 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #A333C8 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.purple.message {
-  -webkit-box-shadow: 0 0 0 1px #A333C8 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #A333C8 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.purple.message .header {
-  color: #922eb4;
-}
-.ui.pink.message {
-  background-color: #FFE3FB;
-  color: #E03997;
-}
-.ui.pink.message,
-.ui.attached.pink.message {
-  -webkit-box-shadow: 0 0 0 1px #E03997 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #E03997 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.pink.message {
-  -webkit-box-shadow: 0 0 0 1px #E03997 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #E03997 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.pink.message .header {
-  color: #dd238b;
-}
-.ui.brown.message {
-  background-color: #F1E2D3;
-  color: #A5673F;
-}
-.ui.brown.message,
-.ui.attached.brown.message {
-  -webkit-box-shadow: 0 0 0 1px #A5673F inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #A5673F inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.brown.message {
-  -webkit-box-shadow: 0 0 0 1px #A5673F inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #A5673F inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.brown.message .header {
-  color: #935b38;
-}
-.ui.grey.message {
-  background-color: #F4F4F4;
-  color: #767676;
-}
-.ui.grey.message,
-.ui.attached.grey.message {
-  -webkit-box-shadow: 0 0 0 1px #767676 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-          box-shadow: 0 0 0 1px #767676 inset, 0 0 0 0 rgba(0, 0, 0, 0);
-}
-.ui.floating.grey.message {
-  -webkit-box-shadow: 0 0 0 1px #767676 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 0 0 1px #767676 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.grey.message .header {
-  color: #696969;
-}
-.ui.black.message {
-  background-color: #1B1C1D;
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.black.message .header {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.message {
-  background-color: #1B1C1D;
-  color: rgba(255, 255, 255, 0.9);
-}
-
-/*--------------
-     Sizes
----------------*/
-
-.ui.mini.message {
-  font-size: 0.78571429em;
-}
-.ui.tiny.message {
-  font-size: 0.85714286em;
-}
-.ui.small.message {
-  font-size: 0.92857143em;
-}
-.ui.message {
-  font-size: 1em;
-}
-.ui.large.message {
-  font-size: 1.14285714em;
-}
-.ui.big.message {
-  font-size: 1.28571429em;
-}
-.ui.huge.message {
-  font-size: 1.42857143em;
-}
-.ui.massive.message {
-  font-size: 1.71428571em;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-        Site Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/message.min.css


+ 0 - 666
webgui/static/components/modal.css

@@ -1,666 +0,0 @@
-/*!
- * # Fomantic-UI - Modal
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-             Modal
-*******************************/
-
-.ui.modal {
-  position: absolute;
-  display: none;
-  z-index: 1001;
-  text-align: left;
-  background: #FFFFFF;
-  border: none;
-  -webkit-box-shadow: 1px 3px 3px 0 rgba(0, 0, 0, 0.2), 1px 3px 15px 2px rgba(0, 0, 0, 0.2);
-          box-shadow: 1px 3px 3px 0 rgba(0, 0, 0, 0.2), 1px 3px 15px 2px rgba(0, 0, 0, 0.2);
-  -webkit-transform-origin: 50% 25%;
-          transform-origin: 50% 25%;
-  -webkit-box-flex: 0;
-      -ms-flex: 0 0 auto;
-          flex: 0 0 auto;
-  border-radius: 0.28571429rem;
-  -webkit-user-select: text;
-     -moz-user-select: text;
-      -ms-user-select: text;
-          user-select: text;
-  will-change: top, left, margin, transform, opacity;
-}
-.ui.modal > :first-child:not(.icon):not(.dimmer),
-.ui.modal > .icon:first-child + *,
-.ui.modal > .dimmer:first-child + *:not(.icon),
-.ui.modal > .dimmer:first-child + .icon + * {
-  border-top-left-radius: 0.28571429rem;
-  border-top-right-radius: 0.28571429rem;
-}
-.ui.modal > :last-child {
-  border-bottom-left-radius: 0.28571429rem;
-  border-bottom-right-radius: 0.28571429rem;
-}
-
-
-/*******************************
-            Content
-*******************************/
-
-
-/*--------------
-     Close
----------------*/
-
-.ui.modal > .close {
-  cursor: pointer;
-  position: absolute;
-  top: -2.5rem;
-  right: -2.5rem;
-  z-index: 1;
-  opacity: 0.8;
-  font-size: 1.25em;
-  color: #FFFFFF;
-  width: 2.25rem;
-  height: 2.25rem;
-  padding: 0.625rem 0 0 0;
-}
-.ui.modal > .close:hover {
-  opacity: 1;
-}
-
-/*--------------
-     Header
----------------*/
-
-.ui.modal > .header {
-  display: block;
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  background: #FFFFFF;
-  margin: 0;
-  padding: 1.25rem 1.5rem;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  color: rgba(0, 0, 0, 0.85);
-  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
-}
-.ui.modal > .header:not(.ui) {
-  font-size: 1.42857143rem;
-  line-height: 1.28571429em;
-  font-weight: bold;
-}
-
-/*--------------
-     Content
----------------*/
-
-.ui.modal > .content {
-  display: block;
-  width: 100%;
-  font-size: 1em;
-  line-height: 1.4;
-  padding: 1.5rem;
-  background: #FFFFFF;
-}
-.ui.modal > .image.content {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-orient: horizontal;
-  -webkit-box-direction: normal;
-      -ms-flex-direction: row;
-          flex-direction: row;
-}
-
-/* Image */
-.ui.modal > .content > .image {
-  display: block;
-  -webkit-box-flex: 0;
-      -ms-flex: 0 1 auto;
-          flex: 0 1 auto;
-  width: '';
-  -ms-flex-item-align: start;
-      align-self: start;
-  max-width: 100%;
-}
-.ui.modal > [class*="top aligned"] {
-  -ms-flex-item-align: start;
-      align-self: start;
-}
-.ui.modal > [class*="middle aligned"] {
-  -ms-flex-item-align: center;
-      align-self: center;
-}
-.ui.modal > [class*="stretched"] {
-  -ms-flex-item-align: stretch;
-      align-self: stretch;
-}
-
-/* Description */
-.ui.modal > .content > .description {
-  display: block;
-  -webkit-box-flex: 1;
-      -ms-flex: 1 0 auto;
-          flex: 1 0 auto;
-  min-width: 0;
-  -ms-flex-item-align: start;
-      align-self: start;
-}
-.ui.modal > .content > .icon + .description,
-.ui.modal > .content > .image + .description {
-  -webkit-box-flex: 0;
-      -ms-flex: 0 1 auto;
-          flex: 0 1 auto;
-  min-width: '';
-  width: auto;
-  padding-left: 2em;
-}
-/*rtl:ignore*/
-.ui.modal > .content > .image > i.icon {
-  margin: 0;
-  opacity: 1;
-  width: auto;
-  line-height: 1;
-  font-size: 8rem;
-}
-
-/*--------------
-     Actions
----------------*/
-
-.ui.modal > .actions {
-  background: #F9FAFB;
-  padding: 1rem 1rem;
-  border-top: 1px solid rgba(34, 36, 38, 0.15);
-  text-align: right;
-}
-.ui.modal .actions > .button {
-  margin-left: 0.75em;
-}
-.ui.basic.modal > .actions {
-  border-top: none;
-}
-
-/*-------------------
-       Responsive
---------------------*/
-
-
-/* Modal Width */
-@media only screen and (max-width: 767.98px) {
-  .ui.modal:not(.fullscreen) {
-    width: 95%;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 768px) {
-  .ui.modal:not(.fullscreen) {
-    width: 88%;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 992px) {
-  .ui.modal:not(.fullscreen) {
-    width: 850px;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 1200px) {
-  .ui.modal:not(.fullscreen) {
-    width: 900px;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 1920px) {
-  .ui.modal:not(.fullscreen) {
-    width: 950px;
-    margin: 0 0 0 0;
-  }
-}
-
-/* Tablet and Mobile */
-@media only screen and (max-width: 991.98px) {
-  .ui.modal > .header {
-    padding-right: 2.25rem;
-  }
-  .ui.modal > .close {
-    top: 1.0535rem;
-    right: 1rem;
-    color: #AAAAAA;
-  }
-}
-
-/* Mobile */
-@media only screen and (max-width: 767.98px) {
-  .ui.modal > .header {
-    padding: 0.75rem 1rem !important;
-    padding-right: 2.25rem !important;
-  }
-  .ui.overlay.fullscreen.modal > .content.content.content {
-    min-height: calc(100vh - 8.1rem);
-  }
-  .ui.overlay.fullscreen.modal > .scrolling.content.content.content {
-    max-height: calc(100vh - 8.1rem);
-  }
-  .ui.modal > .content {
-    display: block;
-    padding: 1rem !important;
-  }
-  .ui.modal > .close {
-    top: 0.5rem !important;
-    right: 0.5rem !important;
-  }
-  /*rtl:ignore*/
-  .ui.modal .image.content {
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
-  }
-  .ui.modal .content > .image {
-    display: block;
-    max-width: 100%;
-    margin: 0 auto !important;
-    text-align: center;
-    padding: 0 0 1rem !important;
-  }
-  .ui.modal > .content > .image > i.icon {
-    font-size: 5rem;
-    text-align: center;
-  }
-  /*rtl:ignore*/
-  .ui.modal .content > .description {
-    display: block;
-    width: 100% !important;
-    margin: 0 !important;
-    padding: 1rem 0 !important;
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-  
-/* Let Buttons Stack */
-  .ui.modal > .actions {
-    padding: 1rem 1rem 0rem !important;
-  }
-  .ui.modal .actions > .buttons,
-  .ui.modal .actions > .button {
-    margin-bottom: 1rem;
-  }
-}
-
-/*--------------
-    Coupling
----------------*/
-
-.ui.inverted.dimmer > .ui.modal {
-  -webkit-box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, 0.2);
-          box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, 0.2);
-}
-
-
-/*******************************
-             Types
-*******************************/
-
-.ui.basic.modal {
-  background-color: transparent;
-  border: none;
-  border-radius: 0;
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-  color: #FFFFFF;
-}
-.ui.basic.modal > .header,
-.ui.basic.modal > .content,
-.ui.basic.modal > .actions {
-  background-color: transparent;
-}
-.ui.basic.modal > .header {
-  color: #FFFFFF;
-}
-.ui.basic.modal > .close {
-  top: 1rem;
-  right: 1.5rem;
-  color: #FFFFFF;
-}
-.ui.inverted.dimmer > .basic.modal {
-  color: #AAAAAA;
-}
-.ui.inverted.dimmer > .ui.basic.modal > .header {
-  color: rgba(0, 0, 0, 0.85);
-}
-
-/* Resort to margin positioning if legacy */
-.ui.legacy.legacy.modal,
-.ui.legacy.legacy.page.dimmer > .ui.modal {
-  left: 50% !important;
-}
-.ui.legacy.legacy.modal:not(.aligned),
-.ui.legacy.legacy.page.dimmer > .ui.modal:not(.aligned) {
-  top: 50%;
-}
-.ui.legacy.legacy.page.dimmer > .ui.scrolling.modal:not(.aligned),
-.ui.page.dimmer > .ui.scrolling.legacy.legacy.modal:not(.aligned),
-.ui.top.aligned.legacy.legacy.page.dimmer > .ui.modal:not(.aligned),
-.ui.top.aligned.dimmer > .ui.legacy.legacy.modal:not(.aligned) {
-  top: auto;
-}
-.ui.legacy.overlay.fullscreen.modal {
-  margin-top: -1rem !important;
-}
-
-
-/*******************************
-             States
-*******************************/
-
-.ui.loading.modal {
-  display: block;
-  visibility: hidden;
-  z-index: -1;
-}
-.ui.active.modal {
-  display: block;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*--------------
-   Aligned
----------------*/
-
-.ui.top.aligned.modal {
-  top: 5vh;
-}
-.ui.bottom.aligned.modal {
-  bottom: 5vh;
-}
-@media only screen and (max-width: 767.98px) {
-  .ui.top.aligned.modal {
-    top: 1rem;
-  }
-  .ui.bottom.aligned.modal {
-    bottom: 1rem;
-  }
-}
-
-/*--------------
-    Scrolling
----------------*/
-
-
-/* Scrolling Dimmer */
-.scrolling.dimmable.dimmed {
-  overflow: hidden;
-}
-.scrolling.dimmable > .dimmer {
-  -webkit-box-pack: start;
-      -ms-flex-pack: start;
-          justify-content: flex-start;
-  position: fixed;
-}
-.scrolling.dimmable.dimmed > .dimmer {
-  overflow: auto;
-  -webkit-overflow-scrolling: touch;
-}
-.modals.dimmer .ui.scrolling.modal:not(.fullscreen) {
-  margin: 1rem auto;
-}
-
-/* Undetached Scrolling */
-.scrolling.undetached.dimmable.dimmed {
-  overflow: auto;
-  -webkit-overflow-scrolling: touch;
-}
-.scrolling.undetached.dimmable.dimmed > .dimmer {
-  overflow: hidden;
-}
-.scrolling.undetached.dimmable .ui.scrolling.modal:not(.fullscreen) {
-  position: absolute;
-  left: 50%;
-  margin-top: 1rem !important;
-}
-
-/* Scrolling Content */
-.ui.modal > .scrolling.content {
-  max-height: calc(80vh - 10rem);
-  overflow: auto;
-}
-.ui.overlay.fullscreen.modal > .content {
-  min-height: calc(100vh - 9.1rem);
-}
-.ui.overlay.fullscreen.modal > .scrolling.content {
-  max-height: calc(100vh - 9.1rem);
-}
-
-/*--------------
-   Full Screen
----------------*/
-
-.ui.fullscreen.modal {
-  width: 95%;
-  left: 2.5%;
-  margin: 1em auto;
-}
-.ui.overlay.fullscreen.modal {
-  width: 100%;
-  left: 0;
-  margin: 0 auto;
-  top: 0;
-  border-radius: 0;
-}
-.ui.fullscreen.modal > .header {
-  padding-right: 2.25rem;
-}
-.ui.fullscreen.modal > .close {
-  top: 1.0535rem;
-  right: 1rem;
-  color: #AAAAAA;
-}
-.ui.basic.fullscreen.modal > .close {
-  color: #FFFFFF;
-}
-
-/*--------------
-      Size
----------------*/
-
-.ui.modal {
-  font-size: 1rem;
-}
-
-/* Mini */
-.ui.mini.modal > .header:not(.ui) {
-  font-size: 1.3em;
-}
-
-/* Mini Modal Width */
-@media only screen and (max-width: 767.98px) {
-  .ui.mini.modal {
-    width: 95%;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 768px) {
-  .ui.mini.modal {
-    width: 35.2%;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 992px) {
-  .ui.mini.modal {
-    width: 340px;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 1200px) {
-  .ui.mini.modal {
-    width: 360px;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 1920px) {
-  .ui.mini.modal {
-    width: 380px;
-    margin: 0 0 0 0;
-  }
-}
-
-/* Tiny */
-.ui.tiny.modal > .header:not(.ui) {
-  font-size: 1.3em;
-}
-
-/* Tiny Modal Width */
-@media only screen and (max-width: 767.98px) {
-  .ui.tiny.modal {
-    width: 95%;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 768px) {
-  .ui.tiny.modal {
-    width: 52.8%;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 992px) {
-  .ui.tiny.modal {
-    width: 510px;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 1200px) {
-  .ui.tiny.modal {
-    width: 540px;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 1920px) {
-  .ui.tiny.modal {
-    width: 570px;
-    margin: 0 0 0 0;
-  }
-}
-
-/* Small */
-.ui.small.modal > .header:not(.ui) {
-  font-size: 1.3em;
-}
-
-/* Small Modal Width */
-@media only screen and (max-width: 767.98px) {
-  .ui.small.modal {
-    width: 95%;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 768px) {
-  .ui.small.modal {
-    width: 70.4%;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 992px) {
-  .ui.small.modal {
-    width: 680px;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 1200px) {
-  .ui.small.modal {
-    width: 720px;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 1920px) {
-  .ui.small.modal {
-    width: 760px;
-    margin: 0 0 0 0;
-  }
-}
-
-/* Large Modal Width */
-.ui.large.modal > .header {
-  font-size: 1.6em;
-}
-@media only screen and (max-width: 767.98px) {
-  .ui.large.modal {
-    width: 95%;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 768px) {
-  .ui.large.modal {
-    width: 88%;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 992px) {
-  .ui.large.modal {
-    width: 1020px;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 1200px) {
-  .ui.large.modal {
-    width: 1080px;
-    margin: 0 0 0 0;
-  }
-}
-@media only screen and (min-width: 1920px) {
-  .ui.large.modal {
-    width: 1140px;
-    margin: 0 0 0 0;
-  }
-}
-
-
-/*****************************
-          Inverted
-*******************************/
-
-.ui.inverted.modal {
-  background: rgba(0, 0, 0, 0.9);
-}
-.ui.inverted.modal > .header,
-.ui.inverted.modal > .content {
-  background: rgba(0, 0, 0, 0.9);
-  color: #FFFFFF;
-}
-.ui.inverted.modal > .actions {
-  background: #191A1B;
-  border-top: 1px solid rgba(34, 36, 38, 0.85);
-  color: #FFFFFF;
-}
-.ui.inverted.dimmer > .modal > .close {
-  color: rgba(0, 0, 0, 0.85);
-}
-@media only screen and (max-width: 991.98px) {
-  .ui.dimmer .inverted.modal > .close {
-    color: #FFFFFF;
-  }
-}
-.ui.inverted.fullscreen.modal > .close {
-  color: #FFFFFF;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

+ 0 - 1138
webgui/static/components/modal.js

@@ -1,1138 +0,0 @@
-/*!
- * # Fomantic-UI - Modal
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-'use strict';
-
-$.isFunction = $.isFunction || function(obj) {
-  return typeof obj === "function" && typeof obj.nodeType !== "number";
-};
-
-window = (typeof window != 'undefined' && window.Math == Math)
-  ? window
-  : (typeof self != 'undefined' && self.Math == Math)
-    ? self
-    : Function('return this')()
-;
-
-$.fn.modal = function(parameters) {
-  var
-    $allModules    = $(this),
-    $window        = $(window),
-    $document      = $(document),
-    $body          = $('body'),
-
-    moduleSelector = $allModules.selector || '',
-
-    time           = new Date().getTime(),
-    performance    = [],
-
-    query          = arguments[0],
-    methodInvoked  = (typeof query == 'string'),
-    queryArguments = [].slice.call(arguments, 1),
-
-    requestAnimationFrame = window.requestAnimationFrame
-      || window.mozRequestAnimationFrame
-      || window.webkitRequestAnimationFrame
-      || window.msRequestAnimationFrame
-      || function(callback) { setTimeout(callback, 0); },
-
-    returnedValue
-  ;
-
-  $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,
-
-        $module         = $(this),
-        $context        = $(settings.context),
-        $close          = $module.find(selector.close),
-
-        $allModals,
-        $otherModals,
-        $focusedElement,
-        $dimmable,
-        $dimmer,
-
-        element         = this,
-        instance        = $module.data(moduleNamespace),
-
-        ignoreRepeatedEvents = false,
-
-        initialMouseDownInModal,
-        initialMouseDownInScrollbar,
-        initialBodyMargin = '',
-
-        elementEventNamespace,
-        id,
-        observer,
-        module
-      ;
-      module  = {
-
-        initialize: function() {
-          module.verbose('Initializing dimmer', $context);
-
-          module.create.id();
-          module.create.dimmer();
-
-          if ( settings.allowMultiple ) {
-            module.create.innerDimmer();
-          }
-          if (!settings.centered){
-            $module.addClass('top aligned');
-          }
-          module.refreshModals();
-
-          module.bind.events();
-          if(settings.observeChanges) {
-            module.observeChanges();
-          }
-          module.instantiate();
-        },
-
-        instantiate: function() {
-          module.verbose('Storing instance of modal');
-          instance = module;
-          $module
-            .data(moduleNamespace, instance)
-          ;
-        },
-
-        create: {
-          dimmer: function() {
-            var
-              defaultSettings = {
-                debug      : settings.debug,
-                dimmerName : 'modals'
-              },
-              dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings)
-            ;
-            if($.fn.dimmer === undefined) {
-              module.error(error.dimmer);
-              return;
-            }
-            module.debug('Creating dimmer');
-            $dimmable = $context.dimmer(dimmerSettings);
-            if(settings.detachable) {
-              module.verbose('Modal is detachable, moving content into dimmer');
-              $dimmable.dimmer('add content', $module);
-            }
-            else {
-              module.set.undetached();
-            }
-            $dimmer = $dimmable.dimmer('get dimmer');
-          },
-          id: function() {
-            id = (Math.random().toString(16) + '000000000').substr(2, 8);
-            elementEventNamespace = '.' + id;
-            module.verbose('Creating unique id for element', id);
-          },
-          innerDimmer: function() {
-            if ( $module.find(selector.dimmer).length == 0 ) {
-              $module.prepend('<div class="ui inverted dimmer"></div>');
-            }
-          }
-        },
-
-        destroy: function() {
-          if (observer) {
-            observer.disconnect();
-          }
-          module.verbose('Destroying previous modal');
-          $module
-            .removeData(moduleNamespace)
-            .off(eventNamespace)
-          ;
-          $window.off(elementEventNamespace);
-          $dimmer.off(elementEventNamespace);
-          $close.off(eventNamespace);
-          $context.dimmer('destroy');
-        },
-
-        observeChanges: function() {
-          if('MutationObserver' in window) {
-            observer = new MutationObserver(function(mutations) {
-              module.debug('DOM tree modified, refreshing');
-              module.refresh();
-            });
-            observer.observe(element, {
-              childList : true,
-              subtree   : true
-            });
-            module.debug('Setting up mutation observer', observer);
-          }
-        },
-
-        refresh: function() {
-          module.remove.scrolling();
-          module.cacheSizes();
-          if(!module.can.useFlex()) {
-            module.set.modalOffset();
-          }
-          module.set.screenHeight();
-          module.set.type();
-        },
-
-        refreshModals: function() {
-          $otherModals = $module.siblings(selector.modal);
-          $allModals   = $otherModals.add($module);
-        },
-
-        attachEvents: function(selector, event) {
-          var
-            $toggle = $(selector)
-          ;
-          event = $.isFunction(module[event])
-            ? module[event]
-            : module.toggle
-          ;
-          if($toggle.length > 0) {
-            module.debug('Attaching modal events to element', selector, event);
-            $toggle
-              .off(eventNamespace)
-              .on('click' + eventNamespace, event)
-            ;
-          }
-          else {
-            module.error(error.notFound, selector);
-          }
-        },
-
-        bind: {
-          events: function() {
-            module.verbose('Attaching events');
-            $module
-              .on('click' + eventNamespace, selector.close, module.event.close)
-              .on('click' + eventNamespace, selector.approve, module.event.approve)
-              .on('click' + eventNamespace, selector.deny, module.event.deny)
-            ;
-            $window
-              .on('resize' + elementEventNamespace, module.event.resize)
-            ;
-          },
-          scrollLock: function() {
-            // touch events default to passive, due to changes in chrome to optimize mobile perf
-            $dimmable.get(0).addEventListener('touchmove', module.event.preventScroll, { passive: false });
-          }
-        },
-
-        unbind: {
-          scrollLock: function() {
-            $dimmable.get(0).removeEventListener('touchmove', module.event.preventScroll, { passive: false });
-          }
-        },
-
-        get: {
-          id: function() {
-            return (Math.random().toString(16) + '000000000').substr(2, 8);
-          }
-        },
-
-        event: {
-          approve: function() {
-            if(ignoreRepeatedEvents || settings.onApprove.call(element, $(this)) === false) {
-              module.verbose('Approve callback returned false cancelling hide');
-              return;
-            }
-            ignoreRepeatedEvents = true;
-            module.hide(function() {
-              ignoreRepeatedEvents = false;
-            });
-          },
-          preventScroll: function(event) {
-            if(event.target.className.indexOf('dimmer') !== -1) {
-              event.preventDefault();
-            }
-          },
-          deny: function() {
-            if(ignoreRepeatedEvents || settings.onDeny.call(element, $(this)) === false) {
-              module.verbose('Deny callback returned false cancelling hide');
-              return;
-            }
-            ignoreRepeatedEvents = true;
-            module.hide(function() {
-              ignoreRepeatedEvents = false;
-            });
-          },
-          close: function() {
-            module.hide();
-          },
-          mousedown: function(event) {
-            var
-              $target   = $(event.target)
-            ;
-            initialMouseDownInModal = ($target.closest(selector.modal).length > 0);
-            if(initialMouseDownInModal) {
-              module.verbose('Mouse down event registered inside the modal');
-            }
-            initialMouseDownInScrollbar = module.is.scrolling() && $(window).outerWidth() - settings.scrollbarWidth <= event.clientX;
-            if(initialMouseDownInScrollbar) {
-              module.verbose('Mouse down event registered inside the scrollbar');
-            }
-          },
-          mouseup: function(event) {
-            if(!settings.closable) {
-              module.verbose('Dimmer clicked but closable setting is disabled');
-              return;
-            }
-            if(initialMouseDownInModal) {
-              module.debug('Dimmer clicked but mouse down was initially registered inside the modal');
-              return;
-            }
-            if(initialMouseDownInScrollbar){
-              module.debug('Dimmer clicked but mouse down was initially registered inside the scrollbar');
-              return;
-            }
-            var
-              $target   = $(event.target),
-              isInModal = ($target.closest(selector.modal).length > 0),
-              isInDOM   = $.contains(document.documentElement, event.target)
-            ;
-            if(!isInModal && isInDOM && module.is.active() && $module.hasClass(className.front) ) {
-              module.debug('Dimmer clicked, hiding all modals');
-              if(settings.allowMultiple) {
-                if(!module.hideAll()) {
-                  return;
-                }
-              }
-              else if(!module.hide()){
-                  return;
-              }
-              module.remove.clickaway();
-            }
-          },
-          debounce: function(method, delay) {
-            clearTimeout(module.timer);
-            module.timer = setTimeout(method, delay);
-          },
-          keyboard: function(event) {
-            var
-              keyCode   = event.which,
-              escapeKey = 27
-            ;
-            if(keyCode == escapeKey) {
-              if(settings.closable) {
-                module.debug('Escape key pressed hiding modal');
-                if ( $module.hasClass(className.front) ) {
-                  module.hide();
-                }
-              }
-              else {
-                module.debug('Escape key pressed, but closable is set to false');
-              }
-              event.preventDefault();
-            }
-          },
-          resize: function() {
-            if( $dimmable.dimmer('is active') && ( module.is.animating() || module.is.active() ) ) {
-              requestAnimationFrame(module.refresh);
-            }
-          }
-        },
-
-        toggle: function() {
-          if( module.is.active() || module.is.animating() ) {
-            module.hide();
-          }
-          else {
-            module.show();
-          }
-        },
-
-        show: function(callback) {
-          callback = $.isFunction(callback)
-            ? callback
-            : function(){}
-          ;
-          module.refreshModals();
-          module.set.dimmerSettings();
-          module.set.dimmerStyles();
-
-          module.showModal(callback);
-        },
-
-        hide: function(callback) {
-          callback = $.isFunction(callback)
-            ? callback
-            : function(){}
-          ;
-          module.refreshModals();
-          return module.hideModal(callback);
-        },
-
-        showModal: function(callback) {
-          callback = $.isFunction(callback)
-            ? callback
-            : function(){}
-          ;
-          if( module.is.animating() || !module.is.active() ) {
-            module.showDimmer();
-            module.cacheSizes();
-            if(module.can.useFlex()) {
-              module.remove.legacy();
-            }
-            else {
-              module.set.legacy();
-              module.set.modalOffset();
-              module.debug('Using non-flex legacy modal positioning.');
-            }
-            module.set.screenHeight();
-            module.set.type();
-            module.set.clickaway();
-
-            if( !settings.allowMultiple && module.others.active() ) {
-              module.hideOthers(module.showModal);
-            }
-            else {
-              ignoreRepeatedEvents = false;
-              if( settings.allowMultiple ) {
-                if ( module.others.active() ) {
-                  $otherModals.filter('.' + className.active).find(selector.dimmer).addClass('active');
-                }
-
-                if ( settings.detachable ) {
-                  $module.detach().appendTo($dimmer);
-                }
-              }
-              settings.onShow.call(element);
-              if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
-                module.debug('Showing modal with css animations');
-                $module
-                  .transition({
-                    debug       : settings.debug,
-                    animation   : settings.transition + ' in',
-                    queue       : settings.queue,
-                    duration    : settings.duration,
-                    useFailSafe : true,
-                    onComplete : function() {
-                      settings.onVisible.apply(element);
-                      if(settings.keyboardShortcuts) {
-                        module.add.keyboardShortcuts();
-                      }
-                      module.save.focus();
-                      module.set.active();
-                      if(settings.autofocus) {
-                        module.set.autofocus();
-                      }
-                      callback();
-                    }
-                  })
-                ;
-              }
-              else {
-                module.error(error.noTransition);
-              }
-            }
-          }
-          else {
-            module.debug('Modal is already visible');
-          }
-        },
-
-        hideModal: function(callback, keepDimmed, hideOthersToo) {
-          var
-            $previousModal = $otherModals.filter('.' + className.active).last()
-          ;
-          callback = $.isFunction(callback)
-            ? callback
-            : function(){}
-          ;
-          module.debug('Hiding modal');
-          if(settings.onHide.call(element, $(this)) === false) {
-            module.verbose('Hide callback returned false cancelling hide');
-            ignoreRepeatedEvents = false;
-            return false;
-          }
-
-          if( module.is.animating() || module.is.active() ) {
-            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
-              module.remove.active();
-              $module
-                .transition({
-                  debug       : settings.debug,
-                  animation   : settings.transition + ' out',
-                  queue       : settings.queue,
-                  duration    : settings.duration,
-                  useFailSafe : true,
-                  onStart     : function() {
-                    if(!module.others.active() && !module.others.animating() && !keepDimmed) {
-                      module.hideDimmer();
-                    }
-                    if( settings.keyboardShortcuts && !module.others.active() ) {
-                      module.remove.keyboardShortcuts();
-                    }
-                  },
-                  onComplete : function() {
-                    module.unbind.scrollLock();
-                    if ( settings.allowMultiple ) {
-                      $previousModal.addClass(className.front);
-                      $module.removeClass(className.front);
-
-                      if ( hideOthersToo ) {
-                        $allModals.find(selector.dimmer).removeClass('active');
-                      }
-                      else {
-                        $previousModal.find(selector.dimmer).removeClass('active');
-                      }
-                    }
-                    settings.onHidden.call(element);
-                    module.remove.dimmerStyles();
-                    module.restore.focus();
-                    callback();
-                  }
-                })
-              ;
-            }
-            else {
-              module.error(error.noTransition);
-            }
-          }
-        },
-
-        showDimmer: function() {
-          if($dimmable.dimmer('is animating') || !$dimmable.dimmer('is active') ) {
-            module.save.bodyMargin();
-            module.debug('Showing dimmer');
-            $dimmable.dimmer('show');
-          }
-          else {
-            module.debug('Dimmer already visible');
-          }
-        },
-
-        hideDimmer: function() {
-          if( $dimmable.dimmer('is animating') || ($dimmable.dimmer('is active')) ) {
-            module.unbind.scrollLock();
-            $dimmable.dimmer('hide', function() {
-              module.restore.bodyMargin();
-              module.remove.clickaway();
-              module.remove.screenHeight();
-            });
-          }
-          else {
-            module.debug('Dimmer is not visible cannot hide');
-            return;
-          }
-        },
-
-        hideAll: function(callback) {
-          var
-            $visibleModals = $allModals.filter('.' + className.active + ', .' + className.animating)
-          ;
-          callback = $.isFunction(callback)
-            ? callback
-            : function(){}
-          ;
-          if( $visibleModals.length > 0 ) {
-            module.debug('Hiding all visible modals');
-            var hideOk = true;
-//check in reverse order trying to hide most top displayed modal first
-            $($visibleModals.get().reverse()).each(function(index,element){
-                if(hideOk){
-                    hideOk = $(element).modal('hide modal', callback, false, true);
-                }
-            });
-            if(hideOk) {
-              module.hideDimmer();
-            }
-            return hideOk;
-          }
-        },
-
-        hideOthers: function(callback) {
-          var
-            $visibleModals = $otherModals.filter('.' + className.active + ', .' + className.animating)
-          ;
-          callback = $.isFunction(callback)
-            ? callback
-            : function(){}
-          ;
-          if( $visibleModals.length > 0 ) {
-            module.debug('Hiding other modals', $otherModals);
-            $visibleModals
-              .modal('hide modal', callback, true)
-            ;
-          }
-        },
-
-        others: {
-          active: function() {
-            return ($otherModals.filter('.' + className.active).length > 0);
-          },
-          animating: function() {
-            return ($otherModals.filter('.' + className.animating).length > 0);
-          }
-        },
-
-
-        add: {
-          keyboardShortcuts: function() {
-            module.verbose('Adding keyboard shortcuts');
-            $document
-              .on('keyup' + eventNamespace, module.event.keyboard)
-            ;
-          }
-        },
-
-        save: {
-          focus: function() {
-            var
-              $activeElement = $(document.activeElement),
-              inCurrentModal = $activeElement.closest($module).length > 0
-            ;
-            if(!inCurrentModal) {
-              $focusedElement = $(document.activeElement).blur();
-            }
-          },
-          bodyMargin: function() {
-            initialBodyMargin = $body.css('margin-right');
-            var bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, '')),
-                bodyScrollbarWidth = window.innerWidth - document.documentElement.clientWidth,
-                diffPos = bodyMarginRightPixel + bodyScrollbarWidth;
-            $body.css('margin-right', diffPos + 'px');
-            $body.find(selector.bodyFixed).css('padding-right', diffPos + 'px');
-          }
-        },
-
-        restore: {
-          focus: function() {
-            if($focusedElement && $focusedElement.length > 0 && settings.restoreFocus) {
-              $focusedElement.focus();
-            }
-          },
-          bodyMargin: function() {
-            $body.css('margin-right', initialBodyMargin);
-            $body.find(selector.bodyFixed).css('padding-right', initialBodyMargin);
-          }
-        },
-
-        remove: {
-          active: function() {
-            $module.removeClass(className.active);
-          },
-          legacy: function() {
-            $module.removeClass(className.legacy);
-          },
-          clickaway: function() {
-            $dimmer
-              .off('mousedown' + elementEventNamespace)
-            ;
-            $dimmer
-              .off('mouseup' + elementEventNamespace)
-            ;
-          },
-          dimmerStyles: function() {
-            $dimmer.removeClass(className.inverted);
-            $dimmable.removeClass(className.blurring);
-          },
-          bodyStyle: function() {
-            if($body.attr('style') === '') {
-              module.verbose('Removing style attribute');
-              $body.removeAttr('style');
-            }
-          },
-          screenHeight: function() {
-            module.debug('Removing page height');
-            $body
-              .css('height', '')
-            ;
-          },
-          keyboardShortcuts: function() {
-            module.verbose('Removing keyboard shortcuts');
-            $document
-              .off('keyup' + eventNamespace)
-            ;
-          },
-          scrolling: function() {
-            $dimmable.removeClass(className.scrolling);
-            $module.removeClass(className.scrolling);
-          }
-        },
-
-        cacheSizes: function() {
-          $module.addClass(className.loading);
-          var
-            scrollHeight = $module.prop('scrollHeight'),
-            modalWidth   = $module.outerWidth(),
-            modalHeight  = $module.outerHeight()
-          ;
-          if(module.cache === undefined || modalHeight !== 0) {
-            module.cache = {
-              pageHeight    : $(document).outerHeight(),
-              width         : modalWidth,
-              height        : modalHeight + settings.offset,
-              scrollHeight  : scrollHeight + settings.offset,
-              contextHeight : (settings.context == 'body')
-                ? $(window).height()
-                : $dimmable.height(),
-            };
-            module.cache.topOffset = -(module.cache.height / 2);
-          }
-          $module.removeClass(className.loading);
-          module.debug('Caching modal and container sizes', module.cache);
-        },
-
-        can: {
-          useFlex: function() {
-            return (settings.useFlex == 'auto')
-              ? settings.detachable && !module.is.ie()
-              : settings.useFlex
-            ;
-          },
-          fit: function() {
-            var
-              contextHeight  = module.cache.contextHeight,
-              verticalCenter = module.cache.contextHeight / 2,
-              topOffset      = module.cache.topOffset,
-              scrollHeight   = module.cache.scrollHeight,
-              height         = module.cache.height,
-              paddingHeight  = settings.padding,
-              startPosition  = (verticalCenter + topOffset)
-            ;
-            return (scrollHeight > height)
-              ? (startPosition + scrollHeight + paddingHeight < contextHeight)
-              : (height + (paddingHeight * 2) < contextHeight)
-            ;
-          }
-        },
-
-        is: {
-          active: function() {
-            return $module.hasClass(className.active);
-          },
-          ie: function() {
-            var
-              isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),
-              isIE   = ('ActiveXObject' in window)
-            ;
-            return (isIE11 || isIE);
-          },
-          animating: function() {
-            return $module.transition('is supported')
-              ? $module.transition('is animating')
-              : $module.is(':visible')
-            ;
-          },
-          scrolling: function() {
-            return $dimmable.hasClass(className.scrolling);
-          },
-          modernBrowser: function() {
-            // appName for IE11 reports 'Netscape' can no longer use
-            return !(window.ActiveXObject || 'ActiveXObject' in window);
-          }
-        },
-
-        set: {
-          autofocus: function() {
-            var
-              $inputs    = $module.find('[tabindex], :input').filter(':visible').filter(function() {
-                return $(this).closest('.disabled').length === 0;
-              }),
-              $autofocus = $inputs.filter('[autofocus]'),
-              $input     = ($autofocus.length > 0)
-                ? $autofocus.first()
-                : $inputs.first()
-            ;
-            if($input.length > 0) {
-              $input.focus();
-            }
-          },
-          clickaway: function() {
-            $dimmer
-              .on('mousedown' + elementEventNamespace, module.event.mousedown)
-            ;
-            $dimmer
-              .on('mouseup' + elementEventNamespace, module.event.mouseup)
-            ;
-          },
-          dimmerSettings: function() {
-            if($.fn.dimmer === undefined) {
-              module.error(error.dimmer);
-              return;
-            }
-            var
-              defaultSettings = {
-                debug      : settings.debug,
-                dimmerName : 'modals',
-                closable   : 'auto',
-                useFlex    : module.can.useFlex(),
-                duration   : {
-                  show     : settings.duration,
-                  hide     : settings.duration
-                }
-              },
-              dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings)
-            ;
-            if(settings.inverted) {
-              dimmerSettings.variation = (dimmerSettings.variation !== undefined)
-                ? dimmerSettings.variation + ' inverted'
-                : 'inverted'
-              ;
-            }
-            $context.dimmer('setting', dimmerSettings);
-          },
-          dimmerStyles: function() {
-            if(settings.inverted) {
-              $dimmer.addClass(className.inverted);
-            }
-            else {
-              $dimmer.removeClass(className.inverted);
-            }
-            if(settings.blurring) {
-              $dimmable.addClass(className.blurring);
-            }
-            else {
-              $dimmable.removeClass(className.blurring);
-            }
-          },
-          modalOffset: function() {
-            var
-              width = module.cache.width,
-              height = module.cache.height
-            ;
-            $module
-              .css({
-                marginTop: (!$module.hasClass('aligned') && module.can.fit())
-                  ? -(height / 2)
-                  : 0,
-                marginLeft: -(width / 2)
-              })
-            ;
-            module.verbose('Setting modal offset for legacy mode');
-          },
-          screenHeight: function() {
-            if( module.can.fit() ) {
-              $body.css('height', '');
-            }
-            else if(!$module.hasClass('bottom')) {
-              module.debug('Modal is taller than page content, resizing page height');
-              $body
-                .css('height', module.cache.height + (settings.padding * 2) )
-              ;
-            }
-          },
-          active: function() {
-            $module.addClass(className.active + ' ' + className.front);
-            $otherModals.filter('.' + className.active).removeClass(className.front);
-          },
-          scrolling: function() {
-            $dimmable.addClass(className.scrolling);
-            $module.addClass(className.scrolling);
-            module.unbind.scrollLock();
-          },
-          legacy: function() {
-            $module.addClass(className.legacy);
-          },
-          type: function() {
-            if(module.can.fit()) {
-              module.verbose('Modal fits on screen');
-              if(!module.others.active() && !module.others.animating()) {
-                module.remove.scrolling();
-                module.bind.scrollLock();
-              }
-            }
-            else if (!$module.hasClass('bottom')){
-              module.verbose('Modal cannot fit on screen setting to scrolling');
-              module.set.scrolling();
-            } else {
-                module.verbose('Bottom aligned modal not fitting on screen is unsupported for scrolling');
-            }
-          },
-          undetached: function() {
-            $dimmable.addClass(className.undetached);
-          }
-        },
-
-        setting: function(name, value) {
-          module.debug('Changing setting', name, value);
-          if( $.isPlainObject(name) ) {
-            $.extend(true, settings, name);
-          }
-          else if(value !== undefined) {
-            if($.isPlainObject(settings[name])) {
-              $.extend(true, settings[name], value);
-            }
-            else {
-              settings[name] = value;
-            }
-          }
-          else {
-            return settings[name];
-          }
-        },
-        internal: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, module, name);
-          }
-          else if(value !== undefined) {
-            module[name] = value;
-          }
-          else {
-            return module[name];
-          }
-        },
-        debug: function() {
-          if(!settings.silent && 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.silent && 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() {
-          if(!settings.silent) {
-            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({
-                'Name'           : message[0],
-                'Arguments'      : [].slice.call(message, 1) || '',
-                'Element'        : element,
-                'Execution Time' : executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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
-            object = instance,
-            maxDepth,
-            found,
-            response
-          ;
-          passedArguments = passedArguments || queryArguments;
-          context         = element         || context;
-          if(typeof query == 'string' && object !== 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( object[camelCaseValue] ) && (depth != maxDepth) ) {
-                object = object[camelCaseValue];
-              }
-              else if( object[camelCaseValue] !== undefined ) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
-                object = object[value];
-              }
-              else if( object[value] !== undefined ) {
-                found = object[value];
-                return false;
-              }
-              else {
-                return false;
-              }
-            });
-          }
-          if ( $.isFunction( found ) ) {
-            response = found.apply(context, passedArguments);
-          }
-          else if(found !== undefined) {
-            response = found;
-          }
-          if(Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if(returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if(response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-
-      if(methodInvoked) {
-        if(instance === undefined) {
-          module.initialize();
-        }
-        module.invoke(query);
-      }
-      else {
-        if(instance !== undefined) {
-          instance.invoke('destroy');
-        }
-        module.initialize();
-      }
-    })
-  ;
-
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : this
-  ;
-};
-
-$.fn.modal.settings = {
-
-  name           : 'Modal',
-  namespace      : 'modal',
-
-  useFlex        : 'auto',
-  offset         : 0,
-
-  silent         : false,
-  debug          : false,
-  verbose        : false,
-  performance    : true,
-
-  observeChanges : false,
-
-  allowMultiple  : false,
-  detachable     : true,
-  closable       : true,
-  autofocus      : true,
-  restoreFocus   : true,
-
-  inverted       : false,
-  blurring       : false,
-
-  centered       : true,
-
-  dimmerSettings : {
-    closable : false,
-    useCSS   : true
-  },
-
-  // whether to use keyboard shortcuts
-  keyboardShortcuts: true,
-
-  context    : 'body',
-
-  queue      : false,
-  duration   : 500,
-  transition : 'scale',
-
-  // padding with edge of page
-  padding    : 50,
-  scrollbarWidth: 10,
-
-  // called before show animation
-  onShow     : function(){},
-
-  // called after show animation
-  onVisible  : function(){},
-
-  // called before hide animation
-  onHide     : function(){ return true; },
-
-  // called after hide animation
-  onHidden   : function(){},
-
-  // called after approve selector match
-  onApprove  : function(){ return true; },
-
-  // called after deny selector match
-  onDeny     : function(){ return true; },
-
-  selector    : {
-    close    : '> .close',
-    approve  : '.actions .positive, .actions .approve, .actions .ok',
-    deny     : '.actions .negative, .actions .deny, .actions .cancel',
-    modal    : '.ui.modal',
-    dimmer   : '> .ui.dimmer',
-    bodyFixed: '> .ui.fixed.menu, > .ui.right.toast-container, > .ui.right.sidebar'
-  },
-  error : {
-    dimmer    : 'UI Dimmer, a required component is not included in this page',
-    method    : 'The method you called is not defined.',
-    notFound  : 'The element you specified could not be found'
-  },
-  className : {
-    active     : 'active',
-    animating  : 'animating',
-    blurring   : 'blurring',
-    inverted   : 'inverted',
-    legacy     : 'legacy',
-    loading    : 'loading',
-    scrolling  : 'scrolling',
-    undetached : 'undetached',
-    front      : 'front'
-  }
-};
-
-
-})( jQuery, window, document );

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/modal.min.css


File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/modal.min.js


+ 0 - 148
webgui/static/components/nag.css

@@ -1,148 +0,0 @@
-/*!
- * # Fomantic-UI - Nag
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-             Nag
-*******************************/
-
-.ui.nag {
-  display: none;
-  opacity: 0.95;
-  position: relative;
-  top: 0;
-  left: 0;
-  z-index: 999;
-  min-height: 0;
-  width: 100%;
-  margin: 0;
-  padding: 0.75em 1em;
-  background: #555555;
-  -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
-          box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
-  font-size: 1rem;
-  text-align: center;
-  color: #AAAAAA;
-  border-radius: 0 0 0.28571429rem 0.28571429rem;
-  -webkit-transition: 0.2s background ease;
-  transition: 0.2s background ease;
-}
-a.ui.nag {
-  cursor: pointer;
-}
-.ui.nag > .title {
-  display: inline-block;
-  margin: 0 0.5em;
-  color: #FFFFFF;
-}
-.ui.nag > .close.icon {
-  cursor: pointer;
-  opacity: 0.4;
-  position: absolute;
-  top: 50%;
-  right: 1em;
-  font-size: 1em;
-  margin: -0.5em 0 0;
-  color: #FFFFFF;
-  -webkit-transition: opacity 0.2s ease;
-  transition: opacity 0.2s ease;
-}
-
-
-/*******************************
-             States
-*******************************/
-
-
-/* Hover */
-.ui.nag:hover {
-  background: #555555;
-  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.bottom.nags,
-.ui.bottom.nag {
-  border-radius: 0.28571429rem 0.28571429rem 0 0;
-  top: auto;
-  bottom: 0;
-}
-
-/*--------------
-     White
----------------*/
-
-.ui.inverted.nags .nag,
-.ui.inverted.nag {
-  background-color: #F3F4F5;
-  color: rgba(0, 0, 0, 0.85);
-}
-.ui.inverted.nags .nag .close,
-.ui.inverted.nags .nag .title,
-.ui.inverted.nag .close,
-.ui.inverted.nag .title {
-  color: rgba(0, 0, 0, 0.4);
-}
-
-
-/*******************************
-           Groups
-*******************************/
-
-.ui.nags .nag {
-  border-radius: 0 !important;
-}
-.ui.nags .nag:last-child {
-  border-radius: 0 0 0.28571429rem 0.28571429rem;
-}
-.ui.bottom.nags .nag:last-child {
-  border-radius: 0.28571429rem 0.28571429rem 0 0;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-        User Overrides
-*******************************/
-

+ 0 - 492
webgui/static/components/nag.js

@@ -1,492 +0,0 @@
-/*!
- * # Fomantic-UI - Nag
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-'use strict';
-
-$.isFunction = $.isFunction || function(obj) {
-  return typeof obj === "function" && typeof obj.nodeType !== "number";
-};
-
-window = (typeof window != 'undefined' && window.Math == Math)
-  ? window
-  : (typeof self != 'undefined' && self.Math == Math)
-    ? self
-    : Function('return this')()
-;
-
-$.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),
-    returnedValue
-  ;
-  $allModules
-    .each(function() {
-      var
-        settings          = ( $.isPlainObject(parameters) )
-          ? $.extend(true, {}, $.fn.nag.settings, parameters)
-          : $.extend({}, $.fn.nag.settings),
-
-        selector        = settings.selector,
-        error           = settings.error,
-        namespace       = settings.namespace,
-
-        eventNamespace  = '.' + namespace,
-        moduleNamespace = namespace + '-module',
-
-        $module         = $(this),
-
-        $context        = (settings.context)
-          ? $(settings.context)
-          : $('body'),
-
-        element         = this,
-        instance        = $module.data(moduleNamespace),
-
-        module
-      ;
-      module = {
-
-        initialize: function() {
-          module.verbose('Initializing element');
-
-          $module
-            .on('click' + eventNamespace, selector.close, module.dismiss)
-            .data(moduleNamespace, module)
-          ;
-
-          if(settings.detachable && $module.parent()[0] !== $context[0]) {
-            $module
-              .detach()
-              .prependTo($context)
-            ;
-          }
-
-          if(settings.displayTime > 0) {
-            setTimeout(module.hide, settings.displayTime);
-          }
-          module.show();
-        },
-
-        destroy: function() {
-          module.verbose('Destroying instance');
-          $module
-            .removeData(moduleNamespace)
-            .off(eventNamespace)
-          ;
-        },
-
-        show: function() {
-          if( module.should.show() && !$module.is(':visible') ) {
-            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();
-          }
-        },
-
-        dismiss: function(event) {
-          if(settings.storageMethod) {
-            module.storage.set(settings.key, settings.value);
-          }
-          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.key) != settings.value.toString() ) {
-              module.debug('Stored value is not set, can show nag', module.storage.get(settings.key));
-              return true;
-            }
-            module.debug('Stored value is set, cannot show nag', module.storage.get(settings.key));
-            return false;
-          }
-        },
-
-        get: {
-          storageOptions: function() {
-            var
-              options = {}
-            ;
-            if(settings.expires) {
-              options.expires = settings.expires;
-            }
-            if(settings.domain) {
-              options.domain = settings.domain;
-            }
-            if(settings.path) {
-              options.path = settings.path;
-            }
-            return options;
-          }
-        },
-
-        clear: function() {
-          module.storage.remove(settings.key);
-        },
-
-        storage: {
-          set: function(key, value) {
-            var
-              options = module.get.storageOptions()
-            ;
-            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {
-              window.localStorage.setItem(key, value);
-              module.debug('Value stored using local storage', key, value);
-            }
-            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {
-              window.sessionStorage.setItem(key, value);
-              module.debug('Value stored using session storage', key, value);
-            }
-            else if($.cookie !== undefined) {
-              $.cookie(key, value, options);
-              module.debug('Value stored using cookie', key, value, options);
-            }
-            else {
-              module.error(error.noCookieStorage);
-              return;
-            }
-          },
-          get: function(key, value) {
-            var
-              storedValue
-            ;
-            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {
-              storedValue = window.localStorage.getItem(key);
-            }
-            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {
-              storedValue = window.sessionStorage.getItem(key);
-            }
-            // get by cookie
-            else if($.cookie !== undefined) {
-              storedValue = $.cookie(key);
-            }
-            else {
-              module.error(error.noCookieStorage);
-            }
-            if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) {
-              storedValue = undefined;
-            }
-            return storedValue;
-          },
-          remove: function(key) {
-            var
-              options = module.get.storageOptions()
-            ;
-            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {
-              window.localStorage.removeItem(key);
-            }
-            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {
-              window.sessionStorage.removeItem(key);
-            }
-            // store by cookie
-            else if($.cookie !== undefined) {
-              $.removeCookie(key, options);
-            }
-            else {
-              module.error(error.noStorage);
-            }
-          }
-        },
-
-        setting: function(name, value) {
-          module.debug('Changing setting', name, value);
-          if( $.isPlainObject(name) ) {
-            $.extend(true, settings, name);
-          }
-          else if(value !== undefined) {
-            if($.isPlainObject(settings[name])) {
-              $.extend(true, settings[name], value);
-            }
-            else {
-              settings[name] = value;
-            }
-          }
-          else {
-            return settings[name];
-          }
-        },
-        internal: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, module, name);
-          }
-          else if(value !== undefined) {
-            module[name] = value;
-          }
-          else {
-            return module[name];
-          }
-        },
-        debug: function() {
-          if(!settings.silent && 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.silent && 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() {
-          if(!settings.silent) {
-            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({
-                'Name'           : message[0],
-                'Arguments'      : [].slice.call(message, 1) || '',
-                'Element'        : element,
-                'Execution Time' : executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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
-            object = instance,
-            maxDepth,
-            found,
-            response
-          ;
-          passedArguments = passedArguments || queryArguments;
-          context         = element         || context;
-          if(typeof query == 'string' && object !== 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( object[camelCaseValue] ) && (depth != maxDepth) ) {
-                object = object[camelCaseValue];
-              }
-              else if( object[camelCaseValue] !== undefined ) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
-                object = object[value];
-              }
-              else if( object[value] !== undefined ) {
-                found = object[value];
-                return false;
-              }
-              else {
-                module.error(error.method, query);
-                return false;
-              }
-            });
-          }
-          if ( $.isFunction( found ) ) {
-            response = found.apply(context, passedArguments);
-          }
-          else if(found !== undefined) {
-            response = found;
-          }
-          if(Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if(returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if(response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-
-      if(methodInvoked) {
-        if(instance === undefined) {
-          module.initialize();
-        }
-        module.invoke(query);
-      }
-      else {
-        if(instance !== undefined) {
-          instance.invoke('destroy');
-        }
-        module.initialize();
-      }
-    })
-  ;
-
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : this
-  ;
-};
-
-$.fn.nag.settings = {
-
-  name        : 'Nag',
-
-  silent      : false,
-  debug       : false,
-  verbose     : false,
-  performance : true,
-
-  namespace   : 'Nag',
-
-  // allows cookie to be overridden
-  persist     : false,
-
-  // set to zero to require manually dismissal, otherwise hides on its own
-  displayTime : 0,
-
-  animation   : {
-    show : 'slide',
-    hide : 'slide'
-  },
-
-  context       : false,
-  detachable    : false,
-
-  expires       : 30,
-  domain        : false,
-  path          : '/',
-
-  // type of storage to use
-  storageMethod : 'cookie',
-
-  // value to store in dismissed localstorage/cookie
-  key           : 'nag',
-  value         : 'dismiss',
-
-  error: {
-    noCookieStorage : '$.cookie is not included. A storage solution is required.',
-    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 : '.close.icon'
-  },
-
-  speed         : 500,
-  easing        : 'easeOutQuad',
-
-  onHide: function() {}
-
-};
-
-// Adds easing
-$.extend( $.easing, {
-  easeOutQuad: function (x, t, b, c, d) {
-    return -c *(t/=d)*(t-2) + b;
-  }
-});
-
-})( jQuery, window, document );

+ 0 - 9
webgui/static/components/nag.min.css

@@ -1,9 +0,0 @@
-/*!
- * # Fomantic-UI - Nag
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.2);box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:#aaa;border-radius:0 0 .28571429rem .28571429rem;-webkit-transition:.2s background ease;transition:.2s background ease}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;font-size:1em;margin:-.5em 0 0;color:#fff;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#f3f4f5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:last-child{border-radius:.28571429rem .28571429rem 0 0}

File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/nag.min.js


+ 0 - 248
webgui/static/components/placeholder.css

@@ -1,248 +0,0 @@
-/*!
- * # Fomantic-UI - Loader
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-/*-------------------
-      Content
---------------------*/
-
-.ui.placeholder {
-  position: static;
-  overflow: hidden;
-  -webkit-animation: placeholderShimmer 2s linear;
-          animation: placeholderShimmer 2s linear;
-  -webkit-animation-iteration-count: infinite;
-          animation-iteration-count: infinite;
-  background-color: #FFFFFF;
-  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, rgba(0, 0, 0, 0.08)), color-stop(15%, rgba(0, 0, 0, 0.15)), color-stop(30%, rgba(0, 0, 0, 0.08)));
-  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.08) 0, rgba(0, 0, 0, 0.15) 15%, rgba(0, 0, 0, 0.08) 30%);
-  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.08) 0, rgba(0, 0, 0, 0.15) 15%, rgba(0, 0, 0, 0.08) 30%);
-  background-size: 1200px 100%;
-  max-width: 30rem;
-}
-@-webkit-keyframes placeholderShimmer {
-  0% {
-    background-position: -1200px 0;
-  }
-  100% {
-    background-position: 1200px 0;
-  }
-}
-@keyframes placeholderShimmer {
-  0% {
-    background-position: -1200px 0;
-  }
-  100% {
-    background-position: 1200px 0;
-  }
-}
-.ui.placeholder + .ui.placeholder {
-  margin-top: 2rem;
-}
-.ui.placeholder + .ui.placeholder {
-  -webkit-animation-delay: 0.15s;
-          animation-delay: 0.15s;
-}
-.ui.placeholder + .ui.placeholder + .ui.placeholder {
-  -webkit-animation-delay: 0.3s;
-          animation-delay: 0.3s;
-}
-.ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder {
-  -webkit-animation-delay: 0.45s;
-          animation-delay: 0.45s;
-}
-.ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder {
-  -webkit-animation-delay: 0.6s;
-          animation-delay: 0.6s;
-}
-.ui.placeholder,
-.ui.placeholder > :before,
-.ui.placeholder .image.header:after,
-.ui.placeholder .line,
-.ui.placeholder .line:after {
-  background-color: #FFFFFF;
-}
-.ui.placeholder.hidden {
-  display: none;
-}
-
-/* Image */
-.ui.placeholder .image:not(.header):not(.ui):not(.icon) {
-  height: 100px;
-}
-.ui.placeholder .square.image:not(.header) {
-  height: 0;
-  overflow: hidden;
-  
-/* 1/1 aspect ratio */
-  padding-top: 100%;
-}
-.ui.placeholder .rectangular.image:not(.header) {
-  height: 0;
-  overflow: hidden;
-  
-/* 4/3 aspect ratio */
-  padding-top: 75%;
-}
-
-/* Lines */
-.ui.placeholder .line {
-  position: relative;
-  height: 0.85714286em;
-}
-.ui.placeholder .line:before,
-.ui.placeholder .line:after {
-  top: 100%;
-  position: absolute;
-  content: '';
-  background-color: inherit;
-}
-.ui.placeholder .line:before {
-  left: 0;
-}
-.ui.placeholder .line:after {
-  right: 0;
-}
-
-/* Any Lines */
-.ui.placeholder .line {
-  margin-bottom: 0.5em;
-}
-.ui.placeholder .line:before,
-.ui.placeholder .line:after {
-  height: 0.5em;
-}
-.ui.placeholder .line:not(:first-child) {
-  margin-top: 0.5em;
-}
-
-/* Header Image + 2 Lines */
-.ui.placeholder .header {
-  position: relative;
-  overflow: hidden;
-}
-
-/* Line Outdent */
-.ui.placeholder .line:nth-child(1):after {
-  width: 0;
-}
-.ui.placeholder .line:nth-child(2):after {
-  width: 50%;
-}
-.ui.placeholder .line:nth-child(3):after {
-  width: 10%;
-}
-.ui.placeholder .line:nth-child(4):after {
-  width: 35%;
-}
-.ui.placeholder .line:nth-child(5):after {
-  width: 65%;
-}
-
-/* Header Line 1 & 2*/
-.ui.placeholder .header .line {
-  margin-bottom: 0.64285714em;
-}
-.ui.placeholder .header .line:before,
-.ui.placeholder .header .line:after {
-  height: 0.64285714em;
-}
-.ui.placeholder .header .line:not(:first-child) {
-  margin-top: 0.64285714em;
-}
-.ui.placeholder .header .line:after {
-  width: 20%;
-}
-.ui.placeholder .header .line:nth-child(2):after {
-  width: 60%;
-}
-/* Image Header */
-.ui.placeholder .image.header .line {
-  margin-left: 3em;
-}
-.ui.placeholder .image.header .line:before {
-  width: 0.71428571rem;
-}
-.ui.placeholder .image.header:after {
-  display: block;
-  height: 0.85714286em;
-  content: '';
-  margin-left: 3em;
-}
-
-/* Spacing */
-.ui.placeholder .image .line:first-child,
-.ui.placeholder .paragraph .line:first-child,
-.ui.placeholder .header .line:first-child {
-  height: 0.01px;
-}
-.ui.placeholder .image:not(:first-child):before,
-.ui.placeholder .paragraph:not(:first-child):before,
-.ui.placeholder .header:not(:first-child):before {
-  height: 1.42857143em;
-  content: '';
-  display: block;
-}
-
-/* Inverted Content Loader */
-.ui.inverted.placeholder {
-  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, rgba(255, 255, 255, 0.08)), color-stop(15%, rgba(255, 255, 255, 0.14)), color-stop(30%, rgba(255, 255, 255, 0.08)));
-  background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.08) 0, rgba(255, 255, 255, 0.14) 15%, rgba(255, 255, 255, 0.08) 30%);
-  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.08) 0, rgba(255, 255, 255, 0.14) 15%, rgba(255, 255, 255, 0.08) 30%);
-}
-.ui.inverted.placeholder,
-.ui.inverted.placeholder > :before,
-.ui.inverted.placeholder .image.header:after,
-.ui.inverted.placeholder .line,
-.ui.inverted.placeholder .line:after {
-  background-color: #1B1C1D;
-}
-
-
-/*******************************
-            Variations
-*******************************/
-
-
-/*-------------------
-        Sizes
---------------------*/
-
-.ui.placeholder .full.line.line.line:after {
-  width: 0;
-}
-.ui.placeholder .very.long.line.line.line:after {
-  width: 10%;
-}
-.ui.placeholder .long.line.line.line:after {
-  width: 35%;
-}
-.ui.placeholder .medium.line.line.line:after {
-  width: 50%;
-}
-.ui.placeholder .short.line.line.line:after {
-  width: 65%;
-}
-.ui.placeholder .very.short.line.line.line:after {
-  width: 80%;
-}
-
-/*-------------------
-        Fluid
---------------------*/
-
-.ui.fluid.placeholder {
-  max-width: none;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/placeholder.min.css


+ 0 - 789
webgui/static/components/popup.css

@@ -1,789 +0,0 @@
-/*!
- * # Fomantic-UI - Popup
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Popup
-*******************************/
-
-.ui.popup {
-  display: none;
-  position: absolute;
-  top: 0;
-  right: 0;
-  
-/* Fixes content being squished when inline (moz only) */
-  min-width: -webkit-min-content;
-  min-width: -moz-min-content;
-  min-width: min-content;
-  z-index: 1900;
-  border: 1px solid #D4D4D5;
-  line-height: 1.4285em;
-  max-width: 250px;
-  background: #FFFFFF;
-  padding: 0.833em 1em;
-  font-weight: normal;
-  font-style: normal;
-  color: #AAAAAA;
-  border-radius: 0.28571429rem;
-  -webkit-box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-}
-.ui.popup > .header {
-  padding: 0;
-  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
-  font-size: 1.14285714em;
-  line-height: 1.2;
-  font-weight: bold;
-}
-.ui.popup > .header + .content {
-  padding-top: 0.5em;
-}
-.ui.popup:before {
-  position: absolute;
-  content: '';
-  width: 0.71428571em;
-  height: 0.71428571em;
-  background: #FFFFFF;
-  -webkit-transform: rotate(45deg);
-          transform: rotate(45deg);
-  z-index: 1901;
-  -webkit-box-shadow: 1px 1px 0 0 #bababc;
-          box-shadow: 1px 1px 0 0 #bababc;
-}
-
-
-/*******************************
-            Types
-*******************************/
-
-
-/*--------------
-    Tooltip
----------------*/
-
-
-/* Content */
-[data-tooltip] {
-  position: relative;
-}
-
-/* Arrow */
-[data-tooltip]:before {
-  pointer-events: none;
-  position: absolute;
-  content: '';
-  font-size: 1rem;
-  width: 0.71428571em;
-  height: 0.71428571em;
-  background: #FFFFFF;
-  -webkit-transform: rotate(45deg);
-          transform: rotate(45deg);
-  z-index: 1901;
-  -webkit-box-shadow: 1px 1px 0 0 #bababc;
-          box-shadow: 1px 1px 0 0 #bababc;
-}
-
-/* Popup */
-[data-tooltip]:after {
-  pointer-events: none;
-  content: attr(data-tooltip);
-  position: absolute;
-  text-transform: none;
-  text-align: left;
-  white-space: nowrap;
-  font-size: 1rem;
-  border: 1px solid #D4D4D5;
-  line-height: 1.4285em;
-  max-width: none;
-  background: #FFFFFF;
-  padding: 0.833em 1em;
-  font-weight: normal;
-  font-style: normal;
-  color: #AAAAAA;
-  border-radius: 0.28571429rem;
-  -webkit-box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-          box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
-  z-index: 1900;
-}
-
-/* Default Position (Top Center) */
-[data-tooltip]:not([data-position]):before {
-  top: auto;
-  right: auto;
-  bottom: 100%;
-  left: 50%;
-  background: #FFFFFF;
-  margin-left: -0.07142857rem;
-  margin-bottom: 0.14285714rem;
-}
-[data-tooltip]:not([data-position]):after {
-  left: 50%;
-  -webkit-transform: translateX(-50%);
-          transform: translateX(-50%);
-  bottom: 100%;
-  margin-bottom: 0.5em;
-}
-
-/* Animation */
-[data-tooltip]:before,
-[data-tooltip]:after {
-  pointer-events: none;
-  visibility: hidden;
-}
-[data-tooltip]:before {
-  opacity: 0;
-  -webkit-transform: rotate(45deg) scale(0) !important;
-          transform: rotate(45deg) scale(0) !important;
-  -webkit-transform-origin: center top;
-          transform-origin: center top;
-  -webkit-transition: all 0.1s ease;
-  transition: all 0.1s ease;
-}
-[data-tooltip]:after {
-  opacity: 1;
-  -webkit-transform-origin: center bottom;
-          transform-origin: center bottom;
-  -webkit-transition: all 0.1s ease;
-  transition: all 0.1s ease;
-}
-[data-tooltip]:hover:before,
-[data-tooltip]:hover:after {
-  visibility: visible;
-  pointer-events: auto;
-}
-[data-tooltip]:hover:before {
-  -webkit-transform: rotate(45deg) scale(1) !important;
-          transform: rotate(45deg) scale(1) !important;
-  opacity: 1;
-}
-
-/* Animation Position */
-[data-tooltip]:after,
-[data-tooltip][data-position="top center"]:after,
-[data-tooltip][data-position="bottom center"]:after {
-  -webkit-transform: translateX(-50%) scale(0) !important;
-          transform: translateX(-50%) scale(0) !important;
-}
-[data-tooltip]:hover:after,
-[data-tooltip][data-position="bottom center"]:hover:after {
-  -webkit-transform: translateX(-50%) scale(1) !important;
-          transform: translateX(-50%) scale(1) !important;
-}
-[data-tooltip][data-position="left center"]:after,
-[data-tooltip][data-position="right center"]:after {
-  -webkit-transform: translateY(-50%) scale(0) !important;
-          transform: translateY(-50%) scale(0) !important;
-}
-[data-tooltip][data-position="left center"]:hover:after,
-[data-tooltip][data-position="right center"]:hover:after {
-  -webkit-transform: translateY(-50%) scale(1) !important;
-          transform: translateY(-50%) scale(1) !important;
-}
-[data-tooltip][data-position="top left"]:after,
-[data-tooltip][data-position="top right"]:after,
-[data-tooltip][data-position="bottom left"]:after,
-[data-tooltip][data-position="bottom right"]:after {
-  -webkit-transform: scale(0) !important;
-          transform: scale(0) !important;
-}
-[data-tooltip][data-position="top left"]:hover:after,
-[data-tooltip][data-position="top right"]:hover:after,
-[data-tooltip][data-position="bottom left"]:hover:after,
-[data-tooltip][data-position="bottom right"]:hover:after {
-  -webkit-transform: scale(1) !important;
-          transform: scale(1) !important;
-}
-
-/*--------------
-    Inverted
----------------*/
-
-
-/* Arrow */
-[data-tooltip][data-inverted]:before {
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-}
-
-/* Arrow Position */
-[data-tooltip][data-inverted]:before {
-  background: #1B1C1D;
-}
-
-/* Popup  */
-[data-tooltip][data-inverted]:after {
-  background: #1B1C1D;
-  color: #FFFFFF;
-  border: none;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-[data-tooltip][data-inverted]:after .header {
-  background: none;
-  color: #FFFFFF;
-}
-
-/*--------------
-    Position
----------------*/
-
-
-/* Top Center */
-[data-position="top center"][data-tooltip]:after {
-  top: auto;
-  right: auto;
-  left: 50%;
-  bottom: 100%;
-  -webkit-transform: translateX(-50%);
-          transform: translateX(-50%);
-  margin-bottom: 0.5em;
-}
-[data-position="top center"][data-tooltip]:before {
-  top: auto;
-  right: auto;
-  bottom: 100%;
-  left: 50%;
-  background: #FFFFFF;
-  margin-left: -0.07142857rem;
-  margin-bottom: 0.14285714rem;
-}
-
-/* Top Left */
-[data-position="top left"][data-tooltip]:after {
-  top: auto;
-  right: auto;
-  left: 0;
-  bottom: 100%;
-  margin-bottom: 0.5em;
-}
-[data-position="top left"][data-tooltip]:before {
-  top: auto;
-  right: auto;
-  bottom: 100%;
-  left: 1em;
-  margin-left: -0.07142857rem;
-  margin-bottom: 0.14285714rem;
-}
-
-/* Top Right */
-[data-position="top right"][data-tooltip]:after {
-  top: auto;
-  left: auto;
-  right: 0;
-  bottom: 100%;
-  margin-bottom: 0.5em;
-}
-[data-position="top right"][data-tooltip]:before {
-  top: auto;
-  left: auto;
-  bottom: 100%;
-  right: 1em;
-  margin-left: -0.07142857rem;
-  margin-bottom: 0.14285714rem;
-}
-
-/* Bottom Center */
-[data-position="bottom center"][data-tooltip]:after {
-  bottom: auto;
-  right: auto;
-  left: 50%;
-  top: 100%;
-  -webkit-transform: translateX(-50%);
-          transform: translateX(-50%);
-  margin-top: 0.5em;
-}
-[data-position="bottom center"][data-tooltip]:before {
-  bottom: auto;
-  right: auto;
-  top: 100%;
-  left: 50%;
-  margin-left: -0.07142857rem;
-  margin-top: 0.14285714rem;
-}
-
-/* Bottom Left */
-[data-position="bottom left"][data-tooltip]:after {
-  left: 0;
-  top: 100%;
-  margin-top: 0.5em;
-}
-[data-position="bottom left"][data-tooltip]:before {
-  bottom: auto;
-  right: auto;
-  top: 100%;
-  left: 1em;
-  margin-left: -0.07142857rem;
-  margin-top: 0.14285714rem;
-}
-
-/* Bottom Right */
-[data-position="bottom right"][data-tooltip]:after {
-  right: 0;
-  top: 100%;
-  margin-top: 0.5em;
-}
-[data-position="bottom right"][data-tooltip]:before {
-  bottom: auto;
-  left: auto;
-  top: 100%;
-  right: 1em;
-  margin-left: -0.14285714rem;
-  margin-top: 0.07142857rem;
-}
-
-/* Left Center */
-[data-position="left center"][data-tooltip]:after {
-  right: 100%;
-  top: 50%;
-  margin-right: 0.5em;
-  -webkit-transform: translateY(-50%);
-          transform: translateY(-50%);
-}
-[data-position="left center"][data-tooltip]:before {
-  right: 100%;
-  top: 50%;
-  margin-top: -0.14285714rem;
-  margin-right: -0.07142857rem;
-}
-
-/* Right Center */
-[data-position="right center"][data-tooltip]:after {
-  left: 100%;
-  top: 50%;
-  margin-left: 0.5em;
-  -webkit-transform: translateY(-50%);
-          transform: translateY(-50%);
-}
-[data-position="right center"][data-tooltip]:before {
-  left: 100%;
-  top: 50%;
-  margin-top: -0.07142857rem;
-  margin-left: 0.14285714rem;
-}
-
-/* Arrow */
-[data-position~="bottom"][data-tooltip]:before {
-  background: #FFFFFF;
-  -webkit-box-shadow: -1px -1px 0 0 #bababc;
-          box-shadow: -1px -1px 0 0 #bababc;
-}
-[data-position="left center"][data-tooltip]:before {
-  background: #FFFFFF;
-  -webkit-box-shadow: 1px -1px 0 0 #bababc;
-          box-shadow: 1px -1px 0 0 #bababc;
-}
-[data-position="right center"][data-tooltip]:before {
-  background: #FFFFFF;
-  -webkit-box-shadow: -1px 1px 0 0 #bababc;
-          box-shadow: -1px 1px 0 0 #bababc;
-}
-[data-position~="top"][data-tooltip]:before {
-  background: #FFFFFF;
-}
-
-/* Inverted Arrow Color */
-[data-inverted][data-position~="bottom"][data-tooltip]:before {
-  background: #1B1C1D;
-  -webkit-box-shadow: -1px -1px 0 0 #bababc;
-          box-shadow: -1px -1px 0 0 #bababc;
-}
-[data-inverted][data-position="left center"][data-tooltip]:before {
-  background: #1B1C1D;
-  -webkit-box-shadow: 1px -1px 0 0 #bababc;
-          box-shadow: 1px -1px 0 0 #bababc;
-}
-[data-inverted][data-position="right center"][data-tooltip]:before {
-  background: #1B1C1D;
-  -webkit-box-shadow: -1px 1px 0 0 #bababc;
-          box-shadow: -1px 1px 0 0 #bababc;
-}
-[data-inverted][data-position~="top"][data-tooltip]:before {
-  background: #1B1C1D;
-}
-[data-position~="bottom"][data-tooltip]:before {
-  -webkit-transform-origin: center bottom;
-          transform-origin: center bottom;
-}
-[data-position~="bottom"][data-tooltip]:after {
-  -webkit-transform-origin: center top;
-          transform-origin: center top;
-}
-[data-position="left center"][data-tooltip]:before {
-  -webkit-transform-origin: top center;
-          transform-origin: top center;
-}
-[data-position="left center"][data-tooltip]:after {
-  -webkit-transform-origin: right center;
-          transform-origin: right center;
-}
-[data-position="right center"][data-tooltip]:before {
-  -webkit-transform-origin: right center;
-          transform-origin: right center;
-}
-[data-position="right center"][data-tooltip]:after {
-  -webkit-transform-origin: left center;
-          transform-origin: left center;
-}
-
-/*--------------
-    Size
----------------*/
-
-[data-tooltip][data-variation~="mini"]:before,
-[data-tooltip][data-variation~="mini"]:after {
-  font-size: 0.78571429rem;
-}
-[data-tooltip][data-variation~="tiny"]:before,
-[data-tooltip][data-variation~="tiny"]:after {
-  font-size: 0.85714286rem;
-}
-[data-tooltip][data-variation~="small"]:before,
-[data-tooltip][data-variation~="small"]:after {
-  font-size: 0.92857143rem;
-}
-[data-tooltip][data-variation~="medium"]:before,
-[data-tooltip][data-variation~="medium"]:after {
-  font-size: 1rem;
-}
-[data-tooltip][data-variation~="large"]:before,
-[data-tooltip][data-variation~="large"]:after {
-  font-size: 1.14285714rem;
-}
-[data-tooltip][data-variation~="huge"]:before,
-[data-tooltip][data-variation~="huge"]:after {
-  font-size: 1.42857143rem;
-}
-
-/*--------------
-    Basic
----------------*/
-
-[data-tooltip][data-variation~="basic"]:before {
-  display: none;
-}
-
-/*--------------
-     Spacing
----------------*/
-
-.ui.popup {
-  margin: 0;
-}
-
-/* Extending from Top */
-.ui.top.popup {
-  margin: 0 0 0.71428571em;
-}
-.ui.top.left.popup {
-  -webkit-transform-origin: left bottom;
-          transform-origin: left bottom;
-}
-.ui.top.center.popup {
-  -webkit-transform-origin: center bottom;
-          transform-origin: center bottom;
-}
-.ui.top.right.popup {
-  -webkit-transform-origin: right bottom;
-          transform-origin: right bottom;
-}
-
-/* Extending from Vertical Center */
-.ui.left.center.popup {
-  margin: 0 0.71428571em 0 0;
-  -webkit-transform-origin: right 50%;
-          transform-origin: right 50%;
-}
-.ui.right.center.popup {
-  margin: 0 0 0 0.71428571em;
-  -webkit-transform-origin: left 50%;
-          transform-origin: left 50%;
-}
-
-/* Extending from Bottom */
-.ui.bottom.popup {
-  margin: 0.71428571em 0 0;
-}
-.ui.bottom.left.popup {
-  -webkit-transform-origin: left top;
-          transform-origin: left top;
-}
-.ui.bottom.center.popup {
-  -webkit-transform-origin: center top;
-          transform-origin: center top;
-}
-.ui.bottom.right.popup {
-  -webkit-transform-origin: right top;
-          transform-origin: right top;
-}
-
-/*--------------
-     Pointer
----------------*/
-
-
-/*--- Below ---*/
-
-.ui.bottom.center.popup:before {
-  margin-left: -0.30714286em;
-  top: -0.30714286em;
-  left: 50%;
-  right: auto;
-  bottom: auto;
-  -webkit-box-shadow: -1px -1px 0 0 #bababc;
-          box-shadow: -1px -1px 0 0 #bababc;
-}
-.ui.bottom.left.popup {
-  margin-left: 0;
-}
-/*rtl:rename*/
-.ui.bottom.left.popup:before {
-  top: -0.30714286em;
-  left: 1em;
-  right: auto;
-  bottom: auto;
-  margin-left: 0;
-  -webkit-box-shadow: -1px -1px 0 0 #bababc;
-          box-shadow: -1px -1px 0 0 #bababc;
-}
-.ui.bottom.right.popup {
-  margin-right: 0;
-}
-/*rtl:rename*/
-.ui.bottom.right.popup:before {
-  top: -0.30714286em;
-  right: 1em;
-  bottom: auto;
-  left: auto;
-  margin-left: 0;
-  -webkit-box-shadow: -1px -1px 0 0 #bababc;
-          box-shadow: -1px -1px 0 0 #bababc;
-}
-
-/*--- Above ---*/
-
-.ui.top.center.popup:before {
-  top: auto;
-  right: auto;
-  bottom: -0.30714286em;
-  left: 50%;
-  margin-left: -0.30714286em;
-}
-.ui.top.left.popup {
-  margin-left: 0;
-}
-/*rtl:rename*/
-.ui.top.left.popup:before {
-  bottom: -0.30714286em;
-  left: 1em;
-  top: auto;
-  right: auto;
-  margin-left: 0;
-}
-.ui.top.right.popup {
-  margin-right: 0;
-}
-/*rtl:rename*/
-.ui.top.right.popup:before {
-  bottom: -0.30714286em;
-  right: 1em;
-  top: auto;
-  left: auto;
-  margin-left: 0;
-}
-
-/*--- Left Center ---*/
-
-/*rtl:rename*/
-.ui.left.center.popup:before {
-  top: 50%;
-  right: -0.30714286em;
-  bottom: auto;
-  left: auto;
-  margin-top: -0.30714286em;
-  -webkit-box-shadow: 1px -1px 0 0 #bababc;
-          box-shadow: 1px -1px 0 0 #bababc;
-}
-
-/*--- Right Center  ---*/
-
-/*rtl:rename*/
-.ui.right.center.popup:before {
-  top: 50%;
-  left: -0.30714286em;
-  bottom: auto;
-  right: auto;
-  margin-top: -0.30714286em;
-  -webkit-box-shadow: -1px 1px 0 0 #bababc;
-          box-shadow: -1px 1px 0 0 #bababc;
-}
-
-/* Arrow Color By Location */
-.ui.bottom.popup:before {
-  background: #FFFFFF;
-}
-.ui.right.center.popup:before,
-.ui.left.center.popup:before {
-  background: #FFFFFF;
-}
-.ui.top.popup:before {
-  background: #FFFFFF;
-}
-
-/* Inverted Arrow Color */
-.ui.inverted.bottom.popup:before {
-  background: #1B1C1D;
-}
-.ui.inverted.right.center.popup:before,
-.ui.inverted.left.center.popup:before {
-  background: #1B1C1D;
-}
-.ui.inverted.top.popup:before {
-  background: #1B1C1D;
-}
-
-
-/*******************************
-            Coupling
-*******************************/
-
-
-/* Immediate Nested Grid */
-.ui.popup > .ui.grid:not(.padded) {
-  width: calc(100% + 1.75rem);
-  margin: -0.7rem -0.875rem;
-}
-
-
-/*******************************
-            States
-*******************************/
-
-.ui.loading.popup {
-  display: block;
-  visibility: hidden;
-  z-index: -1;
-}
-.ui.animating.popup,
-.ui.visible.popup {
-  display: block;
-}
-.ui.visible.popup {
-  -webkit-transform: translateZ(0);
-          transform: translateZ(0);
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden;
-}
-
-
-/*******************************
-            Variations
-*******************************/
-
-
-/*--------------
-     Basic
----------------*/
-
-.ui.basic.popup:before {
-  display: none;
-}
-
-/*--------------
-     Wide
----------------*/
-
-.ui.wide.popup {
-  max-width: 350px;
-}
-.ui[class*="very wide"].popup {
-  max-width: 550px;
-}
-@media only screen and (max-width: 767.98px) {
-  .ui.wide.popup,
-  .ui[class*="very wide"].popup {
-    max-width: 250px;
-  }
-}
-
-/*--------------
-     Fluid
----------------*/
-
-.ui.fluid.popup {
-  width: 100%;
-  max-width: none;
-}
-
-/*--------------
-     Colors
----------------*/
-
-
-/* Inverted colors  */
-.ui.inverted.popup {
-  background: #1B1C1D;
-  color: #FFFFFF;
-  border: none;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.ui.inverted.popup .header {
-  background-color: none;
-  color: #FFFFFF;
-}
-.ui.inverted.popup:before {
-  background-color: #1B1C1D;
-  -webkit-box-shadow: none !important;
-          box-shadow: none !important;
-}
-
-/*--------------
-     Flowing
----------------*/
-
-.ui.flowing.popup {
-  max-width: none;
-}
-
-/*--------------
-     Sizes
----------------*/
-
-.ui.mini.popup {
-  font-size: 0.78571429rem;
-}
-.ui.tiny.popup {
-  font-size: 0.85714286rem;
-}
-.ui.small.popup {
-  font-size: 0.92857143rem;
-}
-.ui.popup {
-  font-size: 1rem;
-}
-.ui.large.popup {
-  font-size: 1.14285714rem;
-}
-.ui.huge.popup {
-  font-size: 1.42857143rem;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-        User Overrides
-*******************************/
-

+ 0 - 1540
webgui/static/components/popup.js

@@ -1,1540 +0,0 @@
-/*!
- * # Fomantic-UI - Popup
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-'use strict';
-
-$.isFunction = $.isFunction || function(obj) {
-  return typeof obj === "function" && typeof obj.nodeType !== "number";
-};
-
-window = (typeof window != 'undefined' && window.Math == Math)
-  ? window
-  : (typeof self != 'undefined' && self.Math == Math)
-    ? self
-    : Function('return this')()
-;
-
-$.fn.popup = function(parameters) {
-  var
-    $allModules    = $(this),
-    $document      = $(document),
-    $window        = $(window),
-    $body          = $('body'),
-
-    moduleSelector = $allModules.selector || '',
-
-    clickEvent      = ('ontouchstart' in document.documentElement)
-        ? 'touchstart'
-        : 'click',
-
-    time           = new Date().getTime(),
-    performance    = [],
-
-    query          = arguments[0],
-    methodInvoked  = (typeof query == 'string'),
-    queryArguments = [].slice.call(arguments, 1),
-
-    returnedValue
-  ;
-  $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),
-        $context           = $(settings.context),
-        $scrollContext     = $(settings.scrollContext),
-        $boundary          = $(settings.boundary),
-        $target            = (settings.target)
-          ? $(settings.target)
-          : $module,
-
-        $popup,
-        $offsetParent,
-
-        searchDepth        = 0,
-        triedPositions     = false,
-        openedWithTouch    = false,
-
-        element            = this,
-        instance           = $module.data(moduleNamespace),
-
-        documentObserver,
-        elementNamespace,
-        id,
-        module
-      ;
-
-      module = {
-
-        // binds events
-        initialize: function() {
-          module.debug('Initializing', $module);
-          module.createID();
-          module.bind.events();
-          if(!module.exists() && settings.preserve) {
-            module.create();
-          }
-          if(settings.observeChanges) {
-            module.observeChanges();
-          }
-          module.instantiate();
-        },
-
-        instantiate: function() {
-          module.verbose('Storing instance', module);
-          instance = module;
-          $module
-            .data(moduleNamespace, instance)
-          ;
-        },
-
-        observeChanges: function() {
-          if('MutationObserver' in window) {
-            documentObserver = new MutationObserver(module.event.documentChanged);
-            documentObserver.observe(document, {
-              childList : true,
-              subtree   : true
-            });
-            module.debug('Setting up mutation observer', documentObserver);
-          }
-        },
-
-        refresh: function() {
-          if(settings.popup) {
-            $popup = $(settings.popup).eq(0);
-          }
-          else {
-            if(settings.inline) {
-              $popup = $target.nextAll(selector.popup).eq(0);
-              settings.popup = $popup;
-            }
-          }
-          if(settings.popup) {
-            $popup.addClass(className.loading);
-            $offsetParent = module.get.offsetParent();
-            $popup.removeClass(className.loading);
-            if(settings.movePopup && module.has.popup() && module.get.offsetParent($popup)[0] !== $offsetParent[0]) {
-              module.debug('Moving popup to the same offset parent as target');
-              $popup
-                .detach()
-                .appendTo($offsetParent)
-              ;
-            }
-          }
-          else {
-            $offsetParent = (settings.inline)
-              ? module.get.offsetParent($target)
-              : module.has.popup()
-                ? module.get.offsetParent($popup)
-                : $body
-            ;
-          }
-          if( $offsetParent.is('html') && $offsetParent[0] !== $body[0] ) {
-            module.debug('Setting page as offset parent');
-            $offsetParent = $body;
-          }
-          if( module.get.variation() ) {
-            module.set.variation();
-          }
-        },
-
-        reposition: function() {
-          module.refresh();
-          module.set.position();
-        },
-
-        destroy: function() {
-          module.debug('Destroying previous module');
-          if(documentObserver) {
-            documentObserver.disconnect();
-          }
-          // remove element only if was created dynamically
-          if($popup && !settings.preserve) {
-            module.removePopup();
-          }
-          // clear all timeouts
-          clearTimeout(module.hideTimer);
-          clearTimeout(module.showTimer);
-          // remove events
-          module.unbind.close();
-          module.unbind.events();
-          $module
-            .removeData(moduleNamespace)
-          ;
-        },
-
-        event: {
-          start:  function(event) {
-            var
-              delay = ($.isPlainObject(settings.delay))
-                ? settings.delay.show
-                : settings.delay
-            ;
-            clearTimeout(module.hideTimer);
-            if(!openedWithTouch || (openedWithTouch && settings.addTouchEvents) ) {
-              module.showTimer = setTimeout(module.show, delay);
-            }
-          },
-          end:  function() {
-            var
-              delay = ($.isPlainObject(settings.delay))
-                ? settings.delay.hide
-                : settings.delay
-            ;
-            clearTimeout(module.showTimer);
-            module.hideTimer = setTimeout(module.hide, delay);
-          },
-          touchstart: function(event) {
-            openedWithTouch = true;
-            if(settings.addTouchEvents) {
-              module.show();
-            }
-          },
-          resize: function() {
-            if( module.is.visible() ) {
-              module.set.position();
-            }
-          },
-          documentChanged: function(mutations) {
-            [].forEach.call(mutations, function(mutation) {
-              if(mutation.removedNodes) {
-                [].forEach.call(mutation.removedNodes, function(node) {
-                  if(node == element || $(node).find(element).length > 0) {
-                    module.debug('Element removed from DOM, tearing down events');
-                    module.destroy();
-                  }
-                });
-              }
-            });
-          },
-          hideGracefully: function(event) {
-            var
-              $target = $(event.target),
-              isInDOM = $.contains(document.documentElement, event.target),
-              inPopup = ($target.closest(selector.popup).length > 0)
-            ;
-            // don't close on clicks inside popup
-            if(event && !inPopup && isInDOM) {
-              module.debug('Click occurred outside popup hiding popup');
-              module.hide();
-            }
-            else {
-              module.debug('Click was inside popup, keeping popup open');
-            }
-          }
-        },
-
-        // generates popup html from metadata
-        create: function() {
-          var
-            html      = module.get.html(),
-            title     = module.get.title(),
-            content   = module.get.content()
-          ;
-
-          if(html || content || title) {
-            module.debug('Creating pop-up html');
-            if(!html) {
-              html = settings.templates.popup({
-                title   : title,
-                content : content
-              });
-            }
-            $popup = $('<div/>')
-              .addClass(className.popup)
-              .data(metadata.activator, $module)
-              .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( $context )
-              ;
-            }
-            module.refresh();
-            module.set.variation();
-
-            if(settings.hoverable) {
-              module.bind.popup();
-            }
-            settings.onCreate.call($popup, element);
-          }
-          else if($target.next(selector.popup).length !== 0) {
-            module.verbose('Pre-existing popup found');
-            settings.inline = true;
-            settings.popup  = $target.next(selector.popup).data(metadata.activator, $module);
-            module.refresh();
-            if(settings.hoverable) {
-              module.bind.popup();
-            }
-          }
-          else if(settings.popup) {
-            $(settings.popup).data(metadata.activator, $module);
-            module.verbose('Used popup specified in settings');
-            module.refresh();
-            if(settings.hoverable) {
-              module.bind.popup();
-            }
-          }
-          else {
-            module.debug('No content specified skipping display', element);
-          }
-        },
-
-        createID: function() {
-          id = (Math.random().toString(16) + '000000000').substr(2, 8);
-          elementNamespace = '.' + id;
-          module.verbose('Creating unique id for element', id);
-        },
-
-        // determines popup state
-        toggle: function() {
-          module.debug('Toggling pop-up');
-          if( module.is.hidden() ) {
-            module.debug('Popup is hidden, showing pop-up');
-            module.unbind.close();
-            module.show();
-          }
-          else {
-            module.debug('Popup is visible, hiding pop-up');
-            module.hide();
-          }
-        },
-
-        show: function(callback) {
-          callback = callback || function(){};
-          module.debug('Showing pop-up', settings.transition);
-          if(module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) {
-            if( !module.exists() ) {
-              module.create();
-            }
-            if(settings.onShow.call($popup, element) === false) {
-              module.debug('onShow callback returned false, cancelling popup animation');
-              return;
-            }
-            else if(!settings.preserve && !settings.popup) {
-              module.refresh();
-            }
-            if( $popup && module.set.position() ) {
-              module.save.conditions();
-              if(settings.exclusive) {
-                module.hideAll();
-              }
-              module.animate.show(callback);
-            }
-          }
-        },
-
-
-        hide: function(callback) {
-          callback = callback || function(){};
-          if( module.is.visible() || module.is.animating() ) {
-            if(settings.onHide.call($popup, element) === false) {
-              module.debug('onHide callback returned false, cancelling popup animation');
-              return;
-            }
-            module.remove.visible();
-            module.unbind.close();
-            module.restore.conditions();
-            module.animate.hide(callback);
-          }
-        },
-
-        hideAll: function() {
-          $(selector.popup)
-            .filter('.' + className.popupVisible)
-            .each(function() {
-              $(this)
-                .data(metadata.activator)
-                  .popup('hide')
-              ;
-            })
-          ;
-        },
-        exists: function() {
-          if(!$popup) {
-            return false;
-          }
-          if(settings.inline || settings.popup) {
-            return ( module.has.popup() );
-          }
-          else {
-            return ( $popup.closest($context).length >= 1 )
-              ? true
-              : false
-            ;
-          }
-        },
-
-        removePopup: function() {
-          if( module.has.popup() && !settings.popup) {
-            module.debug('Removing popup', $popup);
-            $popup.remove();
-            $popup = undefined;
-            settings.onRemove.call($popup, element);
-          }
-        },
-
-        save: {
-          conditions: function() {
-            module.cache = {
-              title: $module.attr('title')
-            };
-            if (module.cache.title) {
-              $module.removeAttr('title');
-            }
-            module.verbose('Saving original attributes', module.cache.title);
-          }
-        },
-        restore: {
-          conditions: function() {
-            if(module.cache && module.cache.title) {
-              $module.attr('title', module.cache.title);
-              module.verbose('Restoring original attributes', module.cache.title);
-            }
-            return true;
-          }
-        },
-        supports: {
-          svg: function() {
-            return (typeof SVGGraphicsElement !== 'undefined');
-          }
-        },
-        animate: {
-          show: function(callback) {
-            callback = $.isFunction(callback) ? callback : function(){};
-            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
-              module.set.visible();
-              $popup
-                .transition({
-                  animation  : settings.transition + ' in',
-                  queue      : false,
-                  debug      : settings.debug,
-                  verbose    : settings.verbose,
-                  duration   : settings.duration,
-                  onComplete : function() {
-                    module.bind.close();
-                    callback.call($popup, element);
-                    settings.onVisible.call($popup, element);
-                  }
-                })
-              ;
-            }
-            else {
-              module.error(error.noTransition);
-            }
-          },
-          hide: function(callback) {
-            callback = $.isFunction(callback) ? callback : function(){};
-            module.debug('Hiding pop-up');
-            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
-              $popup
-                .transition({
-                  animation  : settings.transition + ' out',
-                  queue      : false,
-                  duration   : settings.duration,
-                  debug      : settings.debug,
-                  verbose    : settings.verbose,
-                  onComplete : function() {
-                    module.reset();
-                    callback.call($popup, element);
-                    settings.onHidden.call($popup, element);
-                  }
-                })
-              ;
-            }
-            else {
-              module.error(error.noTransition);
-            }
-          }
-        },
-
-        change: {
-          content: function(html) {
-            $popup.html(html);
-          }
-        },
-
-        get: {
-          html: function() {
-            $module.removeData(metadata.html);
-            return $module.data(metadata.html) || settings.html;
-          },
-          title: function() {
-            $module.removeData(metadata.title);
-            return $module.data(metadata.title) || settings.title;
-          },
-          content: function() {
-            $module.removeData(metadata.content);
-            return $module.data(metadata.content) || settings.content || $module.attr('title');
-          },
-          variation: function() {
-            $module.removeData(metadata.variation);
-            return $module.data(metadata.variation) || settings.variation;
-          },
-          popup: function() {
-            return $popup;
-          },
-          popupOffset: function() {
-            return $popup.offset();
-          },
-          calculations: function() {
-            var
-              $popupOffsetParent = module.get.offsetParent($popup),
-              targetElement      = $target[0],
-              isWindow           = ($boundary[0] == window),
-              targetPosition     = (settings.inline || (settings.popup && settings.movePopup))
-                ? $target.position()
-                : $target.offset(),
-              screenPosition = (isWindow)
-                ? { top: 0, left: 0 }
-                : $boundary.offset(),
-              calculations   = {},
-              scroll = (isWindow)
-                ? { top: $window.scrollTop(), left: $window.scrollLeft() }
-                : { top: 0, left: 0},
-              screen
-            ;
-            calculations = {
-              // element which is launching popup
-              target : {
-                element : $target[0],
-                width   : $target.outerWidth(),
-                height  : $target.outerHeight(),
-                top     : targetPosition.top,
-                left    : targetPosition.left,
-                margin  : {}
-              },
-              // popup itself
-              popup : {
-                width  : $popup.outerWidth(),
-                height : $popup.outerHeight()
-              },
-              // offset container (or 3d context)
-              parent : {
-                width  : $offsetParent.outerWidth(),
-                height : $offsetParent.outerHeight()
-              },
-              // screen boundaries
-              screen : {
-                top  : screenPosition.top,
-                left : screenPosition.left,
-                scroll: {
-                  top  : scroll.top,
-                  left : scroll.left
-                },
-                width  : $boundary.width(),
-                height : $boundary.height()
-              }
-            };
-
-            // if popup offset context is not same as target, then adjust calculations
-            if($popupOffsetParent.get(0) !== $offsetParent.get(0)) {
-              var
-                popupOffset        = $popupOffsetParent.offset()
-              ;
-              calculations.target.top -= popupOffset.top;
-              calculations.target.left -= popupOffset.left;
-              calculations.parent.width = $popupOffsetParent.outerWidth();
-              calculations.parent.height = $popupOffsetParent.outerHeight();
-            }
-
-            // add in container calcs if fluid
-            if( settings.setFluidWidth && module.is.fluid() ) {
-              calculations.container = {
-                width: $popup.parent().outerWidth()
-              };
-              calculations.popup.width = calculations.container.width;
-            }
-
-            // add in margins if inline
-            calculations.target.margin.top = (settings.inline)
-              ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10)
-              : 0
-            ;
-            calculations.target.margin.left = (settings.inline)
-              ? module.is.rtl()
-                ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-right'), 10)
-                : parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-left'), 10)
-              : 0
-            ;
-            // calculate screen boundaries
-            screen = calculations.screen;
-            calculations.boundary = {
-              top    : screen.top + screen.scroll.top,
-              bottom : screen.top + screen.scroll.top + screen.height,
-              left   : screen.left + screen.scroll.left,
-              right  : screen.left + screen.scroll.left + screen.width
-            };
-            return calculations;
-          },
-          id: function() {
-            return id;
-          },
-          startEvent: function() {
-            if(settings.on == 'hover') {
-              return 'mouseenter';
-            }
-            else if(settings.on == 'focus') {
-              return 'focus';
-            }
-            return false;
-          },
-          scrollEvent: function() {
-            return 'scroll';
-          },
-          endEvent: function() {
-            if(settings.on == 'hover') {
-              return 'mouseleave';
-            }
-            else if(settings.on == 'focus') {
-              return 'blur';
-            }
-            return false;
-          },
-          distanceFromBoundary: function(offset, calculations) {
-            var
-              distanceFromBoundary = {},
-              popup,
-              boundary
-            ;
-            calculations = calculations || module.get.calculations();
-
-            // shorthand
-            popup        = calculations.popup;
-            boundary     = calculations.boundary;
-
-            if(offset) {
-              distanceFromBoundary = {
-                top    : (offset.top - boundary.top),
-                left   : (offset.left - boundary.left),
-                right  : (boundary.right - (offset.left + popup.width) ),
-                bottom : (boundary.bottom - (offset.top + popup.height) )
-              };
-              module.verbose('Distance from boundaries determined', offset, distanceFromBoundary);
-            }
-            return distanceFromBoundary;
-          },
-          offsetParent: function($element) {
-            var
-              element = ($element !== undefined)
-                ? $element[0]
-                : $target[0],
-              parentNode = element.parentNode,
-              $node    = $(parentNode)
-            ;
-            if(parentNode) {
-              var
-                is2D     = ($node.css('transform') === 'none'),
-                isStatic = ($node.css('position') === 'static'),
-                isBody   = $node.is('body')
-              ;
-              while(parentNode && !isBody && isStatic && is2D) {
-                parentNode = parentNode.parentNode;
-                $node    = $(parentNode);
-                is2D     = ($node.css('transform') === 'none');
-                isStatic = ($node.css('position') === 'static');
-                isBody   = $node.is('body');
-              }
-            }
-            return ($node && $node.length > 0)
-              ? $node
-              : $()
-            ;
-          },
-          positions: function() {
-            return {
-              'top left'      : false,
-              'top center'    : false,
-              'top right'     : false,
-              'bottom left'   : false,
-              'bottom center' : false,
-              'bottom right'  : false,
-              'left center'   : false,
-              'right center'  : false
-            };
-          },
-          nextPosition: function(position) {
-            var
-              positions          = position.split(' '),
-              verticalPosition   = positions[0],
-              horizontalPosition = positions[1],
-              opposite = {
-                top    : 'bottom',
-                bottom : 'top',
-                left   : 'right',
-                right  : 'left'
-              },
-              adjacent = {
-                left   : 'center',
-                center : 'right',
-                right  : 'left'
-              },
-              backup = {
-                'top left'      : 'top center',
-                'top center'    : 'top right',
-                'top right'     : 'right center',
-                'right center'  : 'bottom right',
-                'bottom right'  : 'bottom center',
-                'bottom center' : 'bottom left',
-                'bottom left'   : 'left center',
-                'left center'   : 'top left'
-              },
-              adjacentsAvailable = (verticalPosition == 'top' || verticalPosition == 'bottom'),
-              oppositeTried = false,
-              adjacentTried = false,
-              nextPosition  = false
-            ;
-            if(!triedPositions) {
-              module.verbose('All available positions available');
-              triedPositions = module.get.positions();
-            }
-
-            module.debug('Recording last position tried', position);
-            triedPositions[position] = true;
-
-            if(settings.prefer === 'opposite') {
-              nextPosition  = [opposite[verticalPosition], horizontalPosition];
-              nextPosition  = nextPosition.join(' ');
-              oppositeTried = (triedPositions[nextPosition] === true);
-              module.debug('Trying opposite strategy', nextPosition);
-            }
-            if((settings.prefer === 'adjacent') && adjacentsAvailable ) {
-              nextPosition  = [verticalPosition, adjacent[horizontalPosition]];
-              nextPosition  = nextPosition.join(' ');
-              adjacentTried = (triedPositions[nextPosition] === true);
-              module.debug('Trying adjacent strategy', nextPosition);
-            }
-            if(adjacentTried || oppositeTried) {
-              module.debug('Using backup position', nextPosition);
-              nextPosition = backup[position];
-            }
-            return nextPosition;
-          }
-        },
-
-        set: {
-          position: function(position, calculations) {
-
-            // exit conditions
-            if($target.length === 0 || $popup.length === 0) {
-              module.error(error.notFound);
-              return;
-            }
-            var
-              offset,
-              distanceAway,
-              target,
-              popup,
-              parent,
-              positioning,
-              popupOffset,
-              distanceFromBoundary
-            ;
-
-            calculations = calculations || module.get.calculations();
-            position     = position     || $module.data(metadata.position) || settings.position;
-
-            offset       = $module.data(metadata.offset) || settings.offset;
-            distanceAway = settings.distanceAway;
-
-            // shorthand
-            target = calculations.target;
-            popup  = calculations.popup;
-            parent = calculations.parent;
-
-            if(module.should.centerArrow(calculations)) {
-              module.verbose('Adjusting offset to center arrow on small target element');
-              if(position == 'top left' || position == 'bottom left') {
-                offset += (target.width / 2);
-                offset -= settings.arrowPixelsFromEdge;
-              }
-              if(position == 'top right' || position == 'bottom right') {
-                offset -= (target.width / 2);
-                offset += settings.arrowPixelsFromEdge;
-              }
-            }
-
-            if(target.width === 0 && target.height === 0 && !module.is.svg(target.element)) {
-              module.debug('Popup target is hidden, no action taken');
-              return false;
-            }
-
-            if(settings.inline) {
-              module.debug('Adding margin to calculation', target.margin);
-              if(position == 'left center' || position == 'right center') {
-                offset       +=  target.margin.top;
-                distanceAway += -target.margin.left;
-              }
-              else if (position == 'top left' || position == 'top center' || position == 'top right') {
-                offset       += target.margin.left;
-                distanceAway -= target.margin.top;
-              }
-              else {
-                offset       += target.margin.left;
-                distanceAway += target.margin.top;
-              }
-            }
-
-            module.debug('Determining popup position from calculations', position, calculations);
-
-            if (module.is.rtl()) {
-              position = position.replace(/left|right/g, function (match) {
-                return (match == 'left')
-                  ? 'right'
-                  : 'left'
-                ;
-              });
-              module.debug('RTL: Popup position updated', position);
-            }
-
-            // if last attempt use specified last resort position
-            if(searchDepth == settings.maxSearchDepth && typeof settings.lastResort === 'string') {
-              position = settings.lastResort;
-            }
-
-            switch (position) {
-              case 'top left':
-                positioning = {
-                  top    : 'auto',
-                  bottom : parent.height - target.top + distanceAway,
-                  left   : target.left + offset,
-                  right  : 'auto'
-                };
-              break;
-              case 'top center':
-                positioning = {
-                  bottom : parent.height - target.top + distanceAway,
-                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,
-                  top    : 'auto',
-                  right  : 'auto'
-                };
-              break;
-              case 'top right':
-                positioning = {
-                  bottom :  parent.height - target.top + distanceAway,
-                  right  :  parent.width - target.left - target.width - offset,
-                  top    : 'auto',
-                  left   : 'auto'
-                };
-              break;
-              case 'left center':
-                positioning = {
-                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,
-                  right  : parent.width - target.left + distanceAway,
-                  left   : 'auto',
-                  bottom : 'auto'
-                };
-              break;
-              case 'right center':
-                positioning = {
-                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,
-                  left   : target.left + target.width + distanceAway,
-                  bottom : 'auto',
-                  right  : 'auto'
-                };
-              break;
-              case 'bottom left':
-                positioning = {
-                  top    : target.top + target.height + distanceAway,
-                  left   : target.left + offset,
-                  bottom : 'auto',
-                  right  : 'auto'
-                };
-              break;
-              case 'bottom center':
-                positioning = {
-                  top    : target.top + target.height + distanceAway,
-                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,
-                  bottom : 'auto',
-                  right  : 'auto'
-                };
-              break;
-              case 'bottom right':
-                positioning = {
-                  top    : target.top + target.height + distanceAway,
-                  right  : parent.width - target.left  - target.width - offset,
-                  left   : 'auto',
-                  bottom : 'auto'
-                };
-              break;
-            }
-            if(positioning === undefined) {
-              module.error(error.invalidPosition, position);
-            }
-
-            module.debug('Calculated popup positioning values', positioning);
-
-            // tentatively place on stage
-            $popup
-              .css(positioning)
-              .removeClass(className.position)
-              .addClass(position)
-              .addClass(className.loading)
-            ;
-
-            popupOffset = module.get.popupOffset();
-
-            // see if any boundaries are surpassed with this tentative position
-            distanceFromBoundary = module.get.distanceFromBoundary(popupOffset, calculations);
-
-            if(!settings.forcePosition && module.is.offstage(distanceFromBoundary, position) ) {
-              module.debug('Position is outside viewport', position);
-              if(searchDepth < settings.maxSearchDepth) {
-                searchDepth++;
-                position = module.get.nextPosition(position);
-                module.debug('Trying new position', position);
-                return ($popup)
-                  ? module.set.position(position, calculations)
-                  : false
-                ;
-              }
-              else {
-                if(settings.lastResort) {
-                  module.debug('No position found, showing with last position');
-                }
-                else {
-                  module.debug('Popup could not find a position to display', $popup);
-                  module.error(error.cannotPlace, element);
-                  module.remove.attempts();
-                  module.remove.loading();
-                  module.reset();
-                  settings.onUnplaceable.call($popup, element);
-                  return false;
-                }
-              }
-            }
-            module.debug('Position is on stage', position);
-            module.remove.attempts();
-            module.remove.loading();
-            if( settings.setFluidWidth && module.is.fluid() ) {
-              module.set.fluidWidth(calculations);
-            }
-            return true;
-          },
-
-          fluidWidth: function(calculations) {
-            calculations = calculations || module.get.calculations();
-            module.debug('Automatically setting element width to parent width', calculations.parent.width);
-            $popup.css('width', calculations.container.width);
-          },
-
-          variation: function(variation) {
-            variation = variation || module.get.variation();
-            if(variation && module.has.popup() ) {
-              module.verbose('Adding variation to popup', variation);
-              $popup.addClass(variation);
-            }
-          },
-
-          visible: function() {
-            $module.addClass(className.visible);
-          }
-        },
-
-        remove: {
-          loading: function() {
-            $popup.removeClass(className.loading);
-          },
-          variation: function(variation) {
-            variation = variation || module.get.variation();
-            if(variation) {
-              module.verbose('Removing variation', variation);
-              $popup.removeClass(variation);
-            }
-          },
-          visible: function() {
-            $module.removeClass(className.visible);
-          },
-          attempts: function() {
-            module.verbose('Resetting all searched positions');
-            searchDepth    = 0;
-            triedPositions = false;
-          }
-        },
-
-        bind: {
-          events: function() {
-            module.debug('Binding popup events to module');
-            if(settings.on == 'click') {
-              $module
-                .on(clickEvent + eventNamespace, module.toggle)
-              ;
-            }
-            if(settings.on == 'hover') {
-              $module
-                .on('touchstart' + eventNamespace, module.event.touchstart)
-              ;
-            }
-            if( module.get.startEvent() ) {
-              $module
-                .on(module.get.startEvent() + eventNamespace, module.event.start)
-                .on(module.get.endEvent() + eventNamespace, module.event.end)
-              ;
-            }
-            if(settings.target) {
-              module.debug('Target set to element', $target);
-            }
-            $window.on('resize' + elementNamespace, module.event.resize);
-          },
-          popup: function() {
-            module.verbose('Allowing hover events on popup to prevent closing');
-            if( $popup && module.has.popup() ) {
-              $popup
-                .on('mouseenter' + eventNamespace, module.event.start)
-                .on('mouseleave' + eventNamespace, module.event.end)
-              ;
-            }
-          },
-          close: function() {
-            if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click')) {
-              module.bind.closeOnScroll();
-            }
-            if(module.is.closable()) {
-              module.bind.clickaway();
-            }
-            else if(settings.on == 'hover' && openedWithTouch) {
-              module.bind.touchClose();
-            }
-          },
-          closeOnScroll: function() {
-            module.verbose('Binding scroll close event to document');
-            $scrollContext
-              .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)
-            ;
-          },
-          touchClose: function() {
-            module.verbose('Binding popup touchclose event to document');
-            $document
-              .on('touchstart' + elementNamespace, function(event) {
-                module.verbose('Touched away from popup');
-                module.event.hideGracefully.call(element, event);
-              })
-            ;
-          },
-          clickaway: function() {
-            module.verbose('Binding popup close event to document');
-            $document
-              .on(clickEvent + elementNamespace, function(event) {
-                module.verbose('Clicked away from popup');
-                module.event.hideGracefully.call(element, event);
-              })
-            ;
-          }
-        },
-
-        unbind: {
-          events: function() {
-            $window
-              .off(elementNamespace)
-            ;
-            $module
-              .off(eventNamespace)
-            ;
-          },
-          close: function() {
-            $document
-              .off(elementNamespace)
-            ;
-            $scrollContext
-              .off(elementNamespace)
-            ;
-          },
-        },
-
-        has: {
-          popup: function() {
-            return ($popup && $popup.length > 0);
-          }
-        },
-
-        should: {
-          centerArrow: function(calculations) {
-            return !module.is.basic() && calculations.target.width <= (settings.arrowPixelsFromEdge * 2);
-          },
-        },
-
-        is: {
-          closable: function() {
-            if(settings.closable == 'auto') {
-              if(settings.on == 'hover') {
-                return false;
-              }
-              return true;
-            }
-            return settings.closable;
-          },
-          offstage: function(distanceFromBoundary, position) {
-            var
-              offstage = []
-            ;
-            // return boundaries that have been surpassed
-            $.each(distanceFromBoundary, function(direction, distance) {
-              if(distance < -settings.jitter) {
-                module.debug('Position exceeds allowable distance from edge', direction, distance, position);
-                offstage.push(direction);
-              }
-            });
-            if(offstage.length > 0) {
-              return true;
-            }
-            else {
-              return false;
-            }
-          },
-          svg: function(element) {
-            return module.supports.svg() && (element instanceof SVGGraphicsElement);
-          },
-          basic: function() {
-            return $module.hasClass(className.basic);
-          },
-          active: function() {
-            return $module.hasClass(className.active);
-          },
-          animating: function() {
-            return ($popup !== undefined && $popup.hasClass(className.animating) );
-          },
-          fluid: function() {
-            return ($popup !== undefined && $popup.hasClass(className.fluid));
-          },
-          visible: function() {
-            return ($popup !== undefined && $popup.hasClass(className.popupVisible));
-          },
-          dropdown: function() {
-            return $module.hasClass(className.dropdown);
-          },
-          hidden: function() {
-            return !module.is.visible();
-          },
-          rtl: function () {
-            return $module.css('direction') == 'rtl';
-          }
-        },
-
-        reset: function() {
-          module.remove.visible();
-          if(settings.preserve) {
-            if($.fn.transition !== undefined) {
-              $popup
-                .transition('remove transition')
-              ;
-            }
-          }
-          else {
-            module.removePopup();
-          }
-        },
-
-        setting: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, settings, name);
-          }
-          else if(value !== undefined) {
-            settings[name] = value;
-          }
-          else {
-            return settings[name];
-          }
-        },
-        internal: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, module, name);
-          }
-          else if(value !== undefined) {
-            module[name] = value;
-          }
-          else {
-            return module[name];
-          }
-        },
-        debug: function() {
-          if(!settings.silent && 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.silent && 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() {
-          if(!settings.silent) {
-            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({
-                'Name'           : message[0],
-                'Arguments'      : [].slice.call(message, 1) || '',
-                'Element'        : element,
-                'Execution Time' : executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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
-            object = instance,
-            maxDepth,
-            found,
-            response
-          ;
-          passedArguments = passedArguments || queryArguments;
-          context         = element         || context;
-          if(typeof query == 'string' && object !== 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( object[camelCaseValue] ) && (depth != maxDepth) ) {
-                object = object[camelCaseValue];
-              }
-              else if( object[camelCaseValue] !== undefined ) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
-                object = object[value];
-              }
-              else if( object[value] !== undefined ) {
-                found = object[value];
-                return false;
-              }
-              else {
-                return false;
-              }
-            });
-          }
-          if ( $.isFunction( found ) ) {
-            response = found.apply(context, passedArguments);
-          }
-          else if(found !== undefined) {
-            response = found;
-          }
-          if(Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if(returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if(response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-
-      if(methodInvoked) {
-        if(instance === undefined) {
-          module.initialize();
-        }
-        module.invoke(query);
-      }
-      else {
-        if(instance !== undefined) {
-          instance.invoke('destroy');
-        }
-        module.initialize();
-      }
-    })
-  ;
-
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : this
-  ;
-};
-
-$.fn.popup.settings = {
-
-  name           : 'Popup',
-
-  // module settings
-  silent         : false,
-  debug          : false,
-  verbose        : false,
-  performance    : true,
-  namespace      : 'popup',
-
-  // whether it should use dom mutation observers
-  observeChanges : true,
-
-  // callback only when element added to dom
-  onCreate       : function(){},
-
-  // callback before element removed from dom
-  onRemove       : function(){},
-
-  // callback before show animation
-  onShow         : function(){},
-
-  // callback after show animation
-  onVisible      : function(){},
-
-  // callback before hide animation
-  onHide         : function(){},
-
-  // callback when popup cannot be positioned in visible screen
-  onUnplaceable  : function(){},
-
-  // callback after hide animation
-  onHidden       : function(){},
-
-  // when to show popup
-  on             : 'hover',
-
-  // element to use to determine if popup is out of boundary
-  boundary       : window,
-
-  // whether to add touchstart events when using hover
-  addTouchEvents : true,
-
-  // default position relative to element
-  position       : 'top left',
-
-  // if given position should be used regardless if popup fits
-  forcePosition  : false,
-
-  // name of variation to use
-  variation      : '',
-
-  // whether popup should be moved to context
-  movePopup      : true,
-
-  // element which popup should be relative to
-  target         : false,
-
-  // jq selector or element that should be used as popup
-  popup          : false,
-
-  // popup should remain inline next to activator
-  inline         : false,
-
-  // popup should be removed from page on hide
-  preserve       : false,
-
-  // popup should not close when being hovered on
-  hoverable      : false,
-
-  // explicitly set content
-  content        : false,
-
-  // explicitly set html
-  html           : false,
-
-  // explicitly set title
-  title          : false,
-
-  // whether automatically close on clickaway when on click
-  closable       : true,
-
-  // automatically hide on scroll
-  hideOnScroll   : 'auto',
-
-  // hide other popups on show
-  exclusive      : false,
-
-  // context to attach popups
-  context        : 'body',
-
-  // context for binding scroll events
-  scrollContext  : window,
-
-  // position to prefer when calculating new position
-  prefer         : 'opposite',
-
-  // specify position to appear even if it doesn't fit
-  lastResort     : false,
-
-  // number of pixels from edge of popup to pointing arrow center (used from centering)
-  arrowPixelsFromEdge: 20,
-
-  // delay used to prevent accidental refiring of animations due to user error
-  delay : {
-    show : 50,
-    hide : 70
-  },
-
-  // whether fluid variation should assign width explicitly
-  setFluidWidth  : true,
-
-  // transition settings
-  duration       : 200,
-  transition     : 'scale',
-
-  // distance away from activating element in px
-  distanceAway   : 0,
-
-  // number of pixels an element is allowed to be "offstage" for a position to be chosen (allows for rounding)
-  jitter         : 2,
-
-  // offset on aligning axis from calculated position
-  offset         : 0,
-
-  // maximum times to look for a position before failing (9 positions total)
-  maxSearchDepth : 15,
-
-  error: {
-    invalidPosition : 'The position you specified is not a valid position',
-    cannotPlace     : 'Popup does not fit within the boundaries of the viewport',
-    method          : 'The method you called is not defined.',
-    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>',
-    notFound        : 'The target or popup you specified does not exist on the page'
-  },
-
-  metadata: {
-    activator : 'activator',
-    content   : 'content',
-    html      : 'html',
-    offset    : 'offset',
-    position  : 'position',
-    title     : 'title',
-    variation : 'variation'
-  },
-
-  className   : {
-    active       : 'active',
-    basic        : 'basic',
-    animating    : 'animating',
-    dropdown     : 'dropdown',
-    fluid        : 'fluid',
-    loading      : 'loading',
-    popup        : 'ui popup',
-    position     : 'top left center bottom right',
-    visible      : 'visible',
-    popupVisible : 'visible'
-  },
-
-  selector    : {
-    popup    : '.ui.popup'
-  },
-
-  templates: {
-    escape: function(string) {
-      var
-        badChars     = /[&<>"'`]/g,
-        shouldEscape = /[&<>"'`]/,
-        escape       = {
-          "&": "&amp;",
-          "<": "&lt;",
-          ">": "&gt;",
-          '"': "&quot;",
-          "'": "&#x27;",
-          "`": "&#x60;"
-        },
-        escapedChar  = function(chr) {
-          return escape[chr];
-        }
-      ;
-      if(shouldEscape.test(string)) {
-        return string.replace(badChars, escapedChar);
-      }
-      return string;
-    },
-    popup: function(text) {
-      var
-        html   = '',
-        escape = $.fn.popup.settings.templates.escape
-      ;
-      if(typeof text !== undefined) {
-        if(typeof text.title !== undefined && text.title) {
-          text.title = escape(text.title);
-          html += '<div class="header">' + text.title + '</div>';
-        }
-        if(typeof text.content !== undefined && text.content) {
-          text.content = escape(text.content);
-          html += '<div class="content">' + text.content + '</div>';
-        }
-      }
-      return html;
-    }
-  }
-
-};
-
-
-})( jQuery, window, document );

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/popup.min.css


File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/popup.min.js


+ 0 - 802
webgui/static/components/progress.css

@@ -1,802 +0,0 @@
-/*!
- * # Fomantic-UI - Progress Bar
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-            Progress
-*******************************/
-
-.ui.progress {
-  position: relative;
-  display: block;
-  max-width: 100%;
-  border: none;
-  margin: 1em 0 2.5em;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  background: rgba(0, 0, 0, 0.1);
-  padding: 0;
-  border-radius: 0.28571429rem;
-}
-.ui.progress:first-child {
-  margin: 0 0 2.5em;
-}
-.ui.progress:last-child {
-  margin: 0 0 1.5em;
-}
-
-
-/*******************************
-            Content
-*******************************/
-
-
-/* Activity Bar */
-.ui.progress .bar {
-  display: block;
-  line-height: 1;
-  position: relative;
-  width: 0;
-  min-width: 2em;
-  background: #888888;
-  border-radius: 0.28571429rem;
-  -webkit-transition: width 0.1s ease, background-color 0.1s ease;
-  transition: width 0.1s ease, background-color 0.1s ease;
-  overflow: hidden;
-}
-.ui.ui.ui.progress:not([data-percent]):not(.indeterminate) .bar,
-.ui.ui.ui.progress[data-percent="0"]:not(.indeterminate) .bar {
-  background: transparent;
-}
-.ui.progress[data-percent="0"] .bar .progress {
-  color: #AAAAAA;
-}
-.ui.inverted.progress[data-percent="0"] .bar .progress {
-  color: rgba(255, 255, 255, 0.9);
-}
-
-/* Percent Complete */
-.ui.progress .bar > .progress {
-  white-space: nowrap;
-  position: absolute;
-  width: auto;
-  font-size: 0.92857143em;
-  top: 50%;
-  right: 0.5em;
-  left: auto;
-  bottom: auto;
-  color: rgba(255, 255, 255, 0.7);
-  text-shadow: none;
-  margin-top: -0.5em;
-  font-weight: bold;
-  text-align: left;
-}
-
-/* Label */
-.ui.progress > .label {
-  position: absolute;
-  width: 100%;
-  font-size: 1em;
-  top: 100%;
-  right: auto;
-  left: 0;
-  bottom: auto;
-  color: #AAAAAA;
-  font-weight: bold;
-  text-shadow: none;
-  margin-top: 0.2em;
-  text-align: center;
-  -webkit-transition: color 0.4s ease;
-  transition: color 0.4s ease;
-}
-
-
-/*******************************
-            Types
-*******************************/
-
-
-/* Indicating */
-.ui.indicating.progress[data-percent^="1"] .bar,
-.ui.indicating.progress[data-percent^="2"] .bar {
-  background-color: #D95C5C;
-}
-.ui.indicating.progress[data-percent^="3"] .bar {
-  background-color: #EFBC72;
-}
-.ui.indicating.progress[data-percent^="4"] .bar,
-.ui.indicating.progress[data-percent^="5"] .bar {
-  background-color: #E6BB48;
-}
-.ui.indicating.progress[data-percent^="6"] .bar {
-  background-color: #DDC928;
-}
-.ui.indicating.progress[data-percent^="7"] .bar,
-.ui.indicating.progress[data-percent^="8"] .bar {
-  background-color: #B4D95C;
-}
-.ui.indicating.progress[data-percent^="9"] .bar,
-.ui.indicating.progress[data-percent^="100"] .bar {
-  background-color: #66DA81;
-}
-
-/* Indicating Label */
-.ui.indicating.progress[data-percent^="1"] .label,
-.ui.indicating.progress[data-percent^="2"] .label {
-  color: #AAAAAA;
-}
-.ui.indicating.progress[data-percent^="3"] .label {
-  color: #AAAAAA;
-}
-.ui.indicating.progress[data-percent^="4"] .label,
-.ui.indicating.progress[data-percent^="5"] .label {
-  color: #AAAAAA;
-}
-.ui.indicating.progress[data-percent^="6"] .label {
-  color: #AAAAAA;
-}
-.ui.indicating.progress[data-percent^="7"] .label,
-.ui.indicating.progress[data-percent^="8"] .label {
-  color: #AAAAAA;
-}
-.ui.indicating.progress[data-percent^="9"] .label,
-.ui.indicating.progress[data-percent^="100"] .label {
-  color: #AAAAAA;
-}
-
-/* Inverted Indicating Label */
-.ui.inverted.indicating.progress[data-percent^="1"] .label,
-.ui.inverted.indicating.progress[data-percent^="2"] .label {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.indicating.progress[data-percent^="3"] .label {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.indicating.progress[data-percent^="4"] .label,
-.ui.inverted.indicating.progress[data-percent^="5"] .label {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.indicating.progress[data-percent^="6"] .label {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.indicating.progress[data-percent^="7"] .label,
-.ui.inverted.indicating.progress[data-percent^="8"] .label {
-  color: rgba(255, 255, 255, 0.9);
-}
-.ui.inverted.indicating.progress[data-percent^="9"] .label,
-.ui.inverted.indicating.progress[data-percent^="100"] .label {
-  color: rgba(255, 255, 255, 0.9);
-}
-
-/* Single Digits */
-.ui.indicating.progress[data-percent="1"] .bar,
-.ui.indicating.progress[data-percent="2"] .bar,
-.ui.indicating.progress[data-percent="3"] .bar,
-.ui.indicating.progress[data-percent="4"] .bar,
-.ui.indicating.progress[data-percent="5"] .bar,
-.ui.indicating.progress[data-percent="6"] .bar,
-.ui.indicating.progress[data-percent="7"] .bar,
-.ui.indicating.progress[data-percent="8"] .bar,
-.ui.indicating.progress[data-percent="9"] .bar {
-  background-color: #D95C5C;
-}
-.ui.indicating.progress[data-percent="0"] .label,
-.ui.indicating.progress[data-percent="1"] .label,
-.ui.indicating.progress[data-percent="2"] .label,
-.ui.indicating.progress[data-percent="3"] .label,
-.ui.indicating.progress[data-percent="4"] .label,
-.ui.indicating.progress[data-percent="5"] .label,
-.ui.indicating.progress[data-percent="6"] .label,
-.ui.indicating.progress[data-percent="7"] .label,
-.ui.indicating.progress[data-percent="8"] .label,
-.ui.indicating.progress[data-percent="9"] .label {
-  color: #AAAAAA;
-}
-.ui.inverted.indicating.progress[data-percent="0"] .label,
-.ui.inverted.indicating.progress[data-percent="1"] .label,
-.ui.inverted.indicating.progress[data-percent="2"] .label,
-.ui.inverted.indicating.progress[data-percent="3"] .label,
-.ui.inverted.indicating.progress[data-percent="4"] .label,
-.ui.inverted.indicating.progress[data-percent="5"] .label,
-.ui.inverted.indicating.progress[data-percent="6"] .label,
-.ui.inverted.indicating.progress[data-percent="7"] .label,
-.ui.inverted.indicating.progress[data-percent="8"] .label,
-.ui.inverted.indicating.progress[data-percent="9"] .label {
-  color: rgba(255, 255, 255, 0.9);
-}
-
-/* Indicating Success */
-.ui.ui.indicating.progress.success .label {
-  color: #1A531B;
-}
-
-/* Multiple */
-.ui.multiple.progress {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-}
-
-
-/*******************************
-             States
-*******************************/
-
-
-/*--------------
-     Success
----------------*/
-
-.ui.ui.progress.success .bar {
-  background-color: #21BA45;
-}
-.ui.ui.progress.success .bar,
-.ui.ui.progress.success .bar::after {
-  -webkit-animation: none;
-          animation: none;
-}
-.ui.progress.success > .label {
-  color: #1A531B;
-}
-
-/*--------------
-     Warning
----------------*/
-
-.ui.ui.progress.warning .bar {
-  background-color: #F2C037;
-}
-.ui.ui.progress.warning .bar,
-.ui.ui.progress.warning .bar::after {
-  -webkit-animation: none;
-          animation: none;
-}
-.ui.progress.warning > .label {
-  color: #794B02;
-}
-
-/*--------------
-     Error
----------------*/
-
-.ui.ui.progress.error .bar {
-  background-color: #DB2828;
-}
-.ui.ui.progress.error .bar,
-.ui.ui.progress.error .bar::after {
-  -webkit-animation: none;
-          animation: none;
-}
-.ui.progress.error > .label {
-  color: #912D2B;
-}
-
-/*--------------
-     Active
----------------*/
-
-.ui.active.progress .bar {
-  position: relative;
-  min-width: 2em;
-}
-.ui.active.progress .bar::after {
-  content: '';
-  opacity: 0;
-  position: absolute;
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  background: #FFFFFF;
-  border-radius: 0.28571429rem;
-  -webkit-animation: progress-active 2s ease infinite;
-          animation: progress-active 2s ease infinite;
-  -webkit-transform-origin: left;
-          transform-origin: left;
-}
-@-webkit-keyframes progress-active {
-  0% {
-    opacity: 0.3;
-    -webkit-transform: scale(0, 1);
-            transform: scale(0, 1);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: scale(1);
-            transform: scale(1);
-  }
-}
-@keyframes progress-active {
-  0% {
-    opacity: 0.3;
-    -webkit-transform: scale(0, 1);
-            transform: scale(0, 1);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: scale(1);
-            transform: scale(1);
-  }
-}
-
-/*--------------
-    Disabled
----------------*/
-
-.ui.disabled.progress {
-  opacity: 0.35;
-}
-.ui.ui.disabled.progress .bar,
-.ui.ui.disabled.progress .bar::after {
-  -webkit-animation: none;
-          animation: none;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*--------------
-    Inverted
----------------*/
-
-.ui.inverted.progress {
-  background: rgba(255, 255, 255, 0.08);
-  border: none;
-}
-.ui.inverted.progress .bar {
-  background: #888888;
-}
-.ui.inverted.progress .bar > .progress {
-  color: #1B1C1D;
-}
-.ui.inverted.progress > .label {
-  color: #FFFFFF;
-}
-.ui.inverted.progress.success > .label {
-  color: #21BA45;
-}
-.ui.inverted.progress.warning > .label {
-  color: #F2C037;
-}
-.ui.inverted.progress.error > .label {
-  color: #DB2828;
-}
-
-/*--------------
-    Attached
----------------*/
-
-
-/* bottom attached */
-.ui.progress.attached {
-  background: transparent;
-  position: relative;
-  border: none;
-  margin: 0;
-}
-.ui.progress.attached,
-.ui.progress.attached .bar {
-  display: block;
-  height: 0.2rem;
-  padding: 0;
-  overflow: hidden;
-  border-radius: 0 0 0.28571429rem 0.28571429rem;
-}
-.ui.progress.attached .bar {
-  border-radius: 0;
-}
-
-/* top attached */
-.ui.progress.top.attached,
-.ui.progress.top.attached .bar {
-  top: 0;
-  border-radius: 0.28571429rem 0.28571429rem 0 0;
-}
-.ui.progress.top.attached .bar {
-  border-radius: 0;
-}
-
-/* Coupling */
-.ui.segment > .ui.attached.progress,
-.ui.card > .ui.attached.progress {
-  position: absolute;
-  top: auto;
-  left: 0;
-  bottom: 100%;
-  width: 100%;
-}
-.ui.segment > .ui.bottom.attached.progress,
-.ui.card > .ui.bottom.attached.progress {
-  top: 100%;
-  bottom: auto;
-}
-
-/*--------------
-     Colors
----------------*/
-
-.ui.indeterminate.primary.progress .bar::before,
-.ui.primary.progress .bar,
-.ui.progress .primary.bar {
-  background-color: #2185D0;
-}
-.ui.inverted.indeterminate.primary.progress .bar::before,
-.ui.primary.inverted.progress .bar,
-.ui.inverted.progress .primary.bar {
-  background-color: #54C8FF;
-}
-.ui.indeterminate.secondary.progress .bar::before,
-.ui.secondary.progress .bar,
-.ui.progress .secondary.bar {
-  background-color: #1B1C1D;
-}
-.ui.inverted.indeterminate.secondary.progress .bar::before,
-.ui.secondary.inverted.progress .bar,
-.ui.inverted.progress .secondary.bar {
-  background-color: #545454;
-}
-.ui.indeterminate.red.progress .bar::before,
-.ui.red.progress .bar,
-.ui.progress .red.bar {
-  background-color: #DB2828;
-}
-.ui.inverted.indeterminate.red.progress .bar::before,
-.ui.red.inverted.progress .bar,
-.ui.inverted.progress .red.bar {
-  background-color: #FF695E;
-}
-.ui.indeterminate.orange.progress .bar::before,
-.ui.orange.progress .bar,
-.ui.progress .orange.bar {
-  background-color: #F2711C;
-}
-.ui.inverted.indeterminate.orange.progress .bar::before,
-.ui.orange.inverted.progress .bar,
-.ui.inverted.progress .orange.bar {
-  background-color: #FF851B;
-}
-.ui.indeterminate.yellow.progress .bar::before,
-.ui.yellow.progress .bar,
-.ui.progress .yellow.bar {
-  background-color: #FBBD08;
-}
-.ui.inverted.indeterminate.yellow.progress .bar::before,
-.ui.yellow.inverted.progress .bar,
-.ui.inverted.progress .yellow.bar {
-  background-color: #FFE21F;
-}
-.ui.indeterminate.olive.progress .bar::before,
-.ui.olive.progress .bar,
-.ui.progress .olive.bar {
-  background-color: #B5CC18;
-}
-.ui.inverted.indeterminate.olive.progress .bar::before,
-.ui.olive.inverted.progress .bar,
-.ui.inverted.progress .olive.bar {
-  background-color: #D9E778;
-}
-.ui.indeterminate.green.progress .bar::before,
-.ui.green.progress .bar,
-.ui.progress .green.bar {
-  background-color: #21BA45;
-}
-.ui.inverted.indeterminate.green.progress .bar::before,
-.ui.green.inverted.progress .bar,
-.ui.inverted.progress .green.bar {
-  background-color: #2ECC40;
-}
-.ui.indeterminate.teal.progress .bar::before,
-.ui.teal.progress .bar,
-.ui.progress .teal.bar {
-  background-color: #00B5AD;
-}
-.ui.inverted.indeterminate.teal.progress .bar::before,
-.ui.teal.inverted.progress .bar,
-.ui.inverted.progress .teal.bar {
-  background-color: #6DFFFF;
-}
-.ui.indeterminate.blue.progress .bar::before,
-.ui.blue.progress .bar,
-.ui.progress .blue.bar {
-  background-color: #2185D0;
-}
-.ui.inverted.indeterminate.blue.progress .bar::before,
-.ui.blue.inverted.progress .bar,
-.ui.inverted.progress .blue.bar {
-  background-color: #54C8FF;
-}
-.ui.indeterminate.violet.progress .bar::before,
-.ui.violet.progress .bar,
-.ui.progress .violet.bar {
-  background-color: #6435C9;
-}
-.ui.inverted.indeterminate.violet.progress .bar::before,
-.ui.violet.inverted.progress .bar,
-.ui.inverted.progress .violet.bar {
-  background-color: #A291FB;
-}
-.ui.indeterminate.purple.progress .bar::before,
-.ui.purple.progress .bar,
-.ui.progress .purple.bar {
-  background-color: #A333C8;
-}
-.ui.inverted.indeterminate.purple.progress .bar::before,
-.ui.purple.inverted.progress .bar,
-.ui.inverted.progress .purple.bar {
-  background-color: #DC73FF;
-}
-.ui.indeterminate.pink.progress .bar::before,
-.ui.pink.progress .bar,
-.ui.progress .pink.bar {
-  background-color: #E03997;
-}
-.ui.inverted.indeterminate.pink.progress .bar::before,
-.ui.pink.inverted.progress .bar,
-.ui.inverted.progress .pink.bar {
-  background-color: #FF8EDF;
-}
-.ui.indeterminate.brown.progress .bar::before,
-.ui.brown.progress .bar,
-.ui.progress .brown.bar {
-  background-color: #A5673F;
-}
-.ui.inverted.indeterminate.brown.progress .bar::before,
-.ui.brown.inverted.progress .bar,
-.ui.inverted.progress .brown.bar {
-  background-color: #D67C1C;
-}
-.ui.indeterminate.grey.progress .bar::before,
-.ui.grey.progress .bar,
-.ui.progress .grey.bar {
-  background-color: #767676;
-}
-.ui.inverted.indeterminate.grey.progress .bar::before,
-.ui.grey.inverted.progress .bar,
-.ui.inverted.progress .grey.bar {
-  background-color: #DCDDDE;
-}
-.ui.indeterminate.black.progress .bar::before,
-.ui.black.progress .bar,
-.ui.progress .black.bar {
-  background-color: #1B1C1D;
-}
-.ui.inverted.indeterminate.black.progress .bar::before,
-.ui.black.inverted.progress .bar,
-.ui.inverted.progress .black.bar {
-  background-color: #545454;
-}
-
-/*--------------
-     Sizes
----------------*/
-
-.ui.tiny.progress {
-  font-size: 0.85714286rem;
-}
-.ui.tiny.progress .bar {
-  height: 0.5em;
-}
-.ui.small.progress {
-  font-size: 0.92857143rem;
-}
-.ui.small.progress .bar {
-  height: 1em;
-}
-.ui.progress {
-  font-size: 1rem;
-}
-.ui.progress .bar {
-  height: 1.75em;
-}
-.ui.large.progress {
-  font-size: 1.14285714rem;
-}
-.ui.large.progress .bar {
-  height: 2.5em;
-}
-.ui.big.progress {
-  font-size: 1.28571429rem;
-}
-.ui.big.progress .bar {
-  height: 3.5em;
-}
-
-/*---------------
-  Indeterminate
-----------------*/
-
-.ui.indeterminate.progress .bar {
-  width: 100%;
-}
-.ui.indeterminate.progress .bar .progress,
-.ui.progress .bar .centered.progress {
-  text-align: center;
-  position: relative;
-}
-.ui.indeterminate.progress .bar::before {
-  content: '';
-  position: absolute;
-  top: 0;
-  bottom: 0;
-  border-radius: 0.28571429rem;
-  -webkit-animation: progress-pulsating 2s ease infinite;
-          animation: progress-pulsating 2s ease infinite;
-  -webkit-transform-origin: center;
-          transform-origin: center;
-  width: 100%;
-}
-.ui.slow.indeterminate.progress .bar::before {
-  -webkit-animation-duration: 4s;
-          animation-duration: 4s;
-}
-.ui.fast.indeterminate.progress .bar::before {
-  -webkit-animation-duration: 1s;
-          animation-duration: 1s;
-}
-.ui.swinging.indeterminate.progress .bar::before {
-  -webkit-transform-origin: left;
-          transform-origin: left;
-  -webkit-animation-name: progress-swinging;
-          animation-name: progress-swinging;
-}
-.ui.sliding.indeterminate.progress .bar::before {
-  -webkit-transform-origin: left;
-          transform-origin: left;
-  -webkit-animation-name: progress-sliding;
-          animation-name: progress-sliding;
-}
-.ui.filling.indeterminate.progress .bar::before {
-  -webkit-animation-name: progress-filling;
-          animation-name: progress-filling;
-}
-.ui.indeterminate.progress:not(.sliding):not(.filling):not(.swinging) .bar::before {
-  background: #FFFFFF;
-}
-.ui.sliding.indeterminate.progress .bar,
-.ui.swinging.indeterminate.progress .bar,
-.ui.filling.indeterminate.progress .bar {
-  background: rgba(0, 0, 0, 0.1);
-}
-.ui.inverted.sliding.indeterminate.progress .bar,
-.ui.inverted.swinging.indeterminate.progress .bar,
-.ui.inverted.filling.indeterminate.progress .bar {
-  background: rgba(255, 255, 255, 0.08);
-}
-.ui.sliding.indeterminate.progress .bar .progress,
-.ui.swinging.indeterminate.progress .bar .progress {
-  color: #1B1C1D;
-}
-.ui.inverted.sliding.indeterminate.progress .bar .progress,
-.ui.inverted.swinging.indeterminate.progress .bar .progress {
-  color: rgba(255, 255, 255, 0.7);
-}
-@-webkit-keyframes progress-swinging {
-  0%,
-  100% {
-    width: 10%;
-    left: -25%;
-  }
-  25%,
-  65% {
-    width: 70%;
-  }
-  50% {
-    width: 10%;
-    left: 100%;
-  }
-}
-@keyframes progress-swinging {
-  0%,
-  100% {
-    width: 10%;
-    left: -25%;
-  }
-  25%,
-  65% {
-    width: 70%;
-  }
-  50% {
-    width: 10%;
-    left: 100%;
-  }
-}
-@-webkit-keyframes progress-sliding {
-  0% {
-    width: 10%;
-    left: -25%;
-  }
-  50% {
-    width: 70%;
-  }
-  100% {
-    width: 10%;
-    left: 100%;
-  }
-}
-@keyframes progress-sliding {
-  0% {
-    width: 10%;
-    left: -25%;
-  }
-  50% {
-    width: 70%;
-  }
-  100% {
-    width: 10%;
-    left: 100%;
-  }
-}
-@-webkit-keyframes progress-filling {
-  0% {
-    -webkit-transform: scale(0, 1);
-            transform: scale(0, 1);
-  }
-  80% {
-    -webkit-transform: scale(1);
-            transform: scale(1);
-    opacity: 1;
-  }
-  100% {
-    opacity: 0;
-  }
-}
-@keyframes progress-filling {
-  0% {
-    -webkit-transform: scale(0, 1);
-            transform: scale(0, 1);
-  }
-  80% {
-    -webkit-transform: scale(1);
-            transform: scale(1);
-    opacity: 1;
-  }
-  100% {
-    opacity: 0;
-  }
-}
-@-webkit-keyframes progress-pulsating {
-  0% {
-    -webkit-transform: scale(0, 1);
-            transform: scale(0, 1);
-    opacity: 0.7;
-  }
-  100% {
-    -webkit-transform: scale(1);
-            transform: scale(1);
-    opacity: 0;
-  }
-}
-@keyframes progress-pulsating {
-  0% {
-    -webkit-transform: scale(0, 1);
-            transform: scale(0, 1);
-    opacity: 0.7;
-  }
-  100% {
-    -webkit-transform: scale(1);
-            transform: scale(1);
-    opacity: 0;
-  }
-}
-
-
-/*******************************
-            Progress
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

+ 0 - 1037
webgui/static/components/progress.js

@@ -1,1037 +0,0 @@
-/*!
- * # Fomantic-UI - Progress
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-;(function ($, window, document, undefined) {
-
-'use strict';
-
-$.isFunction = $.isFunction || function(obj) {
-  return typeof obj === "function" && typeof obj.nodeType !== "number";
-};
-
-window = (typeof window != 'undefined' && window.Math == Math)
-  ? window
-  : (typeof self != 'undefined' && self.Math == Math)
-    ? self
-    : Function('return this')()
-;
-
-$.fn.progress = 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),
-
-    returnedValue
-  ;
-
-  $allModules
-    .each(function() {
-      var
-        settings          = ( $.isPlainObject(parameters) )
-          ? $.extend(true, {}, $.fn.progress.settings, parameters)
-          : $.extend({}, $.fn.progress.settings),
-
-        className       = settings.className,
-        metadata        = settings.metadata,
-        namespace       = settings.namespace,
-        selector        = settings.selector,
-        error           = settings.error,
-
-        eventNamespace  = '.' + namespace,
-        moduleNamespace = 'module-' + namespace,
-
-        $module         = $(this),
-        $bars           = $(this).find(selector.bar),
-        $progresses     = $(this).find(selector.progress),
-        $label          = $(this).find(selector.label),
-
-        element         = this,
-        instance        = $module.data(moduleNamespace),
-
-        animating = false,
-        transitionEnd,
-        module
-      ;
-      module = {
-        helper: {
-          sum: function (nums) {
-            return Array.isArray(nums) ? nums.reduce(function (left, right) {
-              return left + Number(right);
-            }, 0) : 0;
-          },
-          /**
-           * Derive precision for multiple progress with total and values.
-           *
-           * This helper dervices a precision that is sufficiently large to show minimum value of multiple progress.
-           *
-           * Example1
-           * - total: 1122
-           * - values: [325, 111, 74, 612]
-           * - min ratio: 74/1122 = 0.0659...
-           * - required precision:  100
-           *
-           * Example2
-           * - total: 10541
-           * - values: [3235, 1111, 74, 6121]
-           * - min ratio: 74/10541 = 0.0070...
-           * - required precision:   1000
-           *
-           * @param min A minimum value within multiple values
-           * @param total A total amount of multiple values
-           * @returns {number} A precison. Could be 1, 10, 100, ... 1e+10.
-           */
-          derivePrecision: function(min, total) {
-            var precisionPower = 0
-            var precision = 1;
-            var ratio = min / total;
-            while (precisionPower < 10) {
-              ratio = ratio * precision;
-              if (ratio > 1) {
-                break;
-              }
-              precision = Math.pow(10, precisionPower++);
-            }
-            return precision;
-          },
-          forceArray: function (element) {
-            return Array.isArray(element)
-              ? element
-              : !isNaN(element)
-                ? [element]
-                : typeof element == 'string'
-                  ? element.split(',')
-                  : []
-              ;
-          }
-        },
-
-        initialize: function() {
-          module.set.duration();
-          module.set.transitionEvent();
-          module.debug(element);
-
-          module.read.metadata();
-          module.read.settings();
-
-          module.instantiate();
-        },
-
-        instantiate: function() {
-          module.verbose('Storing instance of progress', module);
-          instance = module;
-          $module
-            .data(moduleNamespace, module)
-          ;
-        },
-        destroy: function() {
-          module.verbose('Destroying previous progress for', $module);
-          clearInterval(instance.interval);
-          module.remove.state();
-          $module.removeData(moduleNamespace);
-          instance = undefined;
-        },
-
-        reset: function() {
-          module.remove.nextValue();
-          module.update.progress(0);
-        },
-
-        complete: function() {
-          if(module.percent === undefined || module.percent < 100) {
-            module.remove.progressPoll();
-            module.set.percent(100);
-          }
-        },
-
-        read: {
-          metadata: function() {
-            var
-              data = {
-                percent : module.helper.forceArray($module.data(metadata.percent)),
-                total   : $module.data(metadata.total),
-                value   : module.helper.forceArray($module.data(metadata.value))
-              }
-            ;
-            if(data.total) {
-              module.debug('Total value set from metadata', data.total);
-              module.set.total(data.total);
-            }
-            if(data.value.length > 0) {
-              module.debug('Current value set from metadata', data.value);
-              module.set.value(data.value);
-              module.set.progress(data.value);
-            }
-            if(data.percent.length > 0) {
-              module.debug('Current percent value set from metadata', data.percent);
-              module.set.percent(data.percent);
-            }
-          },
-          settings: function() {
-            if(settings.total !== false) {
-              module.debug('Current total set in settings', settings.total);
-              module.set.total(settings.total);
-            }
-            if(settings.value !== false) {
-              module.debug('Current value set in settings', settings.value);
-              module.set.value(settings.value);
-              module.set.progress(module.value);
-            }
-            if(settings.percent !== false) {
-              module.debug('Current percent set in settings', settings.percent);
-              module.set.percent(settings.percent);
-            }
-          }
-        },
-
-        bind: {
-          transitionEnd: function(callback) {
-            var
-              transitionEnd = module.get.transitionEnd()
-            ;
-            $bars
-              .one(transitionEnd + eventNamespace, function(event) {
-                clearTimeout(module.failSafeTimer);
-                callback.call(this, event);
-              })
-            ;
-            module.failSafeTimer = setTimeout(function() {
-              $bars.triggerHandler(transitionEnd);
-            }, settings.duration + settings.failSafeDelay);
-            module.verbose('Adding fail safe timer', module.timer);
-          }
-        },
-
-        increment: function(incrementValue) {
-          var
-            startValue,
-            newValue
-          ;
-          if( module.has.total() ) {
-            startValue     = module.get.value();
-            incrementValue = incrementValue || 1;
-          }
-          else {
-            startValue     = module.get.percent();
-            incrementValue = incrementValue || module.get.randomValue();
-          }
-          newValue = startValue + incrementValue;
-          module.debug('Incrementing percentage by', startValue, newValue, incrementValue);
-          newValue = module.get.normalizedValue(newValue);
-          module.set.progress(newValue);
-        },
-        decrement: function(decrementValue) {
-          var
-            total     = module.get.total(),
-            startValue,
-            newValue
-          ;
-          if(total) {
-            startValue     =  module.get.value();
-            decrementValue =  decrementValue || 1;
-            newValue       =  startValue - decrementValue;
-            module.debug('Decrementing value by', decrementValue, startValue);
-          }
-          else {
-            startValue     =  module.get.percent();
-            decrementValue =  decrementValue || module.get.randomValue();
-            newValue       =  startValue - decrementValue;
-            module.debug('Decrementing percentage by', decrementValue, startValue);
-          }
-          newValue = module.get.normalizedValue(newValue);
-          module.set.progress(newValue);
-        },
-
-        has: {
-          progressPoll: function() {
-            return module.progressPoll;
-          },
-          total: function() {
-            return (module.get.total() !== false);
-          }
-        },
-
-        get: {
-          text: function(templateText, index) {
-            var
-              index_  = index || 0,
-              value   = module.get.value(index_),
-              total   = module.total || 0,
-              percent = (animating)
-                ? module.get.displayPercent(index_)
-                : module.get.percent(index_),
-              left = (module.total > 0)
-                ? (total - value)
-                : (100 - percent)
-            ;
-            templateText = templateText || '';
-            templateText = templateText
-              .replace('{value}', value)
-              .replace('{total}', total)
-              .replace('{left}', left)
-              .replace('{percent}', percent)
-              .replace('{bar}', settings.text.bars[index_] || '')
-            ;
-            module.verbose('Adding variables to progress bar text', templateText);
-            return templateText;
-          },
-
-          normalizedValue: function(value) {
-            if(value < 0) {
-              module.debug('Value cannot decrement below 0');
-              return 0;
-            }
-            if(module.has.total()) {
-              if(value > module.total) {
-                module.debug('Value cannot increment above total', module.total);
-                return module.total;
-              }
-            }
-            else if(value > 100 ) {
-              module.debug('Value cannot increment above 100 percent');
-              return 100;
-            }
-            return value;
-          },
-
-          updateInterval: function() {
-            if(settings.updateInterval == 'auto') {
-              return settings.duration;
-            }
-            return settings.updateInterval;
-          },
-
-          randomValue: function() {
-            module.debug('Generating random increment percentage');
-            return Math.floor((Math.random() * settings.random.max) + settings.random.min);
-          },
-
-          numericValue: function(value) {
-            return (typeof value === 'string')
-              ? (value.replace(/[^\d.]/g, '') !== '')
-                ? +(value.replace(/[^\d.]/g, ''))
-                : false
-              : value
-            ;
-          },
-
-          transitionEnd: 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];
-              }
-            }
-          },
-
-          // gets current displayed percentage (if animating values this is the intermediary value)
-          displayPercent: function(index) {
-            var
-              $bar           = $($bars[index]),
-              barWidth       = $bar.width(),
-              totalWidth     = $module.width(),
-              minDisplay     = parseInt($bar.css('min-width'), 10),
-              displayPercent = (barWidth > minDisplay)
-                ? (barWidth / totalWidth * 100)
-                : module.percent
-            ;
-            return (settings.precision > 0)
-              ? Math.round(displayPercent * (10 * settings.precision)) / (10 * settings.precision)
-              : Math.round(displayPercent)
-              ;
-          },
-
-          percent: function(index) {
-            return module.percent && module.percent[index || 0] || 0;
-          },
-          value: function(index) {
-            return module.nextValue || module.value && module.value[index || 0] || 0;
-          },
-          total: function() {
-            return module.total || false;
-          }
-        },
-
-        create: {
-          progressPoll: function() {
-            module.progressPoll = setTimeout(function() {
-              module.update.toNextValue();
-              module.remove.progressPoll();
-            }, module.get.updateInterval());
-          },
-        },
-
-        is: {
-          complete: function() {
-            return module.is.success() || module.is.warning() || module.is.error();
-          },
-          success: function() {
-            return $module.hasClass(className.success);
-          },
-          warning: function() {
-            return $module.hasClass(className.warning);
-          },
-          error: function() {
-            return $module.hasClass(className.error);
-          },
-          active: function() {
-            return $module.hasClass(className.active);
-          },
-          visible: function() {
-            return $module.is(':visible');
-          }
-        },
-
-        remove: {
-          progressPoll: function() {
-            module.verbose('Removing progress poll timer');
-            if(module.progressPoll) {
-              clearTimeout(module.progressPoll);
-              delete module.progressPoll;
-            }
-          },
-          nextValue: function() {
-            module.verbose('Removing progress value stored for next update');
-            delete module.nextValue;
-          },
-          state: function() {
-            module.verbose('Removing stored state');
-            delete module.total;
-            delete module.percent;
-            delete module.value;
-          },
-          active: function() {
-            module.verbose('Removing active state');
-            $module.removeClass(className.active);
-          },
-          success: function() {
-            module.verbose('Removing success state');
-            $module.removeClass(className.success);
-          },
-          warning: function() {
-            module.verbose('Removing warning state');
-            $module.removeClass(className.warning);
-          },
-          error: function() {
-            module.verbose('Removing error state');
-            $module.removeClass(className.error);
-          }
-        },
-
-        set: {
-          barWidth: function(values) {
-            module.debug("set bar width with ", values);
-            values = module.helper.forceArray(values);
-            var firstNonZeroIndex = -1;
-            var lastNonZeroIndex = -1;
-            var valuesSum = module.helper.sum(values);
-            var barCounts = $bars.length;
-            var isMultiple = barCounts > 1;
-            var percents = values.map(function(value, index) {
-              var allZero = (index === barCounts - 1 && valuesSum === 0);
-              var $bar = $($bars[index]);
-              if (value === 0 && isMultiple && !allZero) {
-                $bar.css('display', 'none');
-              } else {
-                if (isMultiple && allZero) {
-                  $bar.css('background', 'transparent');
-                }
-                if (firstNonZeroIndex == -1) {
-                  firstNonZeroIndex = index;
-                }
-                lastNonZeroIndex = index;
-                $bar.css({
-                  display: 'block',
-                  width: value + '%'
-                });
-              }
-              return parseFloat(value);
-            });
-            values.forEach(function(_, index) {
-              var $bar = $($bars[index]);
-              $bar.css({
-                borderTopLeftRadius: index == firstNonZeroIndex ? '' : 0,
-                borderBottomLeftRadius: index == firstNonZeroIndex ? '' : 0,
-                borderTopRightRadius: index == lastNonZeroIndex ? '' : 0,
-                borderBottomRightRadius: index == lastNonZeroIndex ? '' : 0
-              });
-            });
-            $module
-              .attr('data-percent', percents)
-            ;
-          },
-          duration: function(duration) {
-            duration = duration || settings.duration;
-            duration = (typeof duration == 'number')
-              ? duration + 'ms'
-              : duration
-            ;
-            module.verbose('Setting progress bar transition duration', duration);
-            $bars
-              .css({
-                'transition-duration':  duration
-              })
-            ;
-          },
-          percent: function(percents) {
-            percents = module.helper.forceArray(percents).map(function(percent) {
-              return (typeof percent == 'string')
-                ? +(percent.replace('%', ''))
-                : percent
-                ;
-            });
-            var hasTotal = module.has.total();
-            var totalPecent = module.helper.sum(percents);
-            var isMultpleValues = percents.length > 1 && hasTotal;
-            var sumTotal = module.helper.sum(module.helper.forceArray(module.value));
-            if (isMultpleValues && sumTotal > module.total) {
-              // Sum values instead of pecents to avoid precision issues when summing floats
-              module.error(error.sumExceedsTotal, sumTotal, module.total);
-            } else if (!isMultpleValues && totalPecent > 100) {
-              // Sum before rouding since sum of rounded may have error though sum of actual is fine
-              module.error(error.tooHigh, totalPecent);
-            } else if (totalPecent < 0) {
-              module.error(error.tooLow, totalPecent);
-            } else {
-              var autoPrecision = settings.precision > 0
-                ? settings.precision
-                : isMultpleValues
-                  ? module.helper.derivePrecision(Math.min.apply(null, module.value), module.total)
-                  : undefined;
-
-              // round display percentage
-              var roundedPercents = percents.map(function (percent) {
-                return (autoPrecision > 0)
-                  ? Math.round(percent * (10 * autoPrecision)) / (10 * autoPrecision)
-                  : Math.round(percent)
-                  ;
-              });
-              module.percent = roundedPercents;
-              if (!hasTotal) {
-                module.value = roundedPercents.map(function (percent) {
-                  return (autoPrecision > 0)
-                    ? Math.round((percent / 100) * module.total * (10 * autoPrecision)) / (10 * autoPrecision)
-                    : Math.round((percent / 100) * module.total * 10) / 10
-                    ;
-                });
-                if (settings.limitValues) {
-                  module.value = module.value.map(function (value) {
-                    return (value > 100)
-                      ? 100
-                      : (module.value < 0)
-                        ? 0
-                        : module.value;
-                  });
-                }
-              }
-              module.set.barWidth(percents);
-              module.set.labelInterval();
-              module.set.labels();
-            }
-            settings.onChange.call(element, percents, module.value, module.total);
-          },
-          labelInterval: function() {
-            var
-              animationCallback = function() {
-                module.verbose('Bar finished animating, removing continuous label updates');
-                clearInterval(module.interval);
-                animating = false;
-                module.set.labels();
-              }
-            ;
-            clearInterval(module.interval);
-            module.bind.transitionEnd(animationCallback);
-            animating = true;
-            module.interval = setInterval(function() {
-              var
-                isInDOM = $.contains(document.documentElement, element)
-              ;
-              if(!isInDOM) {
-                clearInterval(module.interval);
-                animating = false;
-              }
-              module.set.labels();
-            }, settings.framerate);
-          },
-          labels: function() {
-            module.verbose('Setting both bar progress and outer label text');
-            module.set.barLabel();
-            module.set.state();
-          },
-          label: function(text) {
-            text = text || '';
-            if(text) {
-              text = module.get.text(text);
-              module.verbose('Setting label to text', text);
-              $label.text(text);
-            }
-          },
-          state: function(percent) {
-            percent = (percent !== undefined)
-              ? percent
-              : module.helper.sum(module.percent)
-            ;
-            if(percent === 100) {
-              if(settings.autoSuccess && $bars.length === 1 && !(module.is.warning() || module.is.error() || module.is.success())) {
-                module.set.success();
-                module.debug('Automatically triggering success at 100%');
-              }
-              else {
-                module.verbose('Reached 100% removing active state');
-                module.remove.active();
-                module.remove.progressPoll();
-              }
-            }
-            else if(percent > 0) {
-              module.verbose('Adjusting active progress bar label', percent);
-              module.set.active();
-            }
-            else {
-              module.remove.active();
-              module.set.label(settings.text.active);
-            }
-          },
-          barLabel: function(text) {
-            $progresses.map(function(index, element){
-              var $progress = $(element);
-              if (text !== undefined) {
-                $progress.text( module.get.text(text, index) );
-              }
-              else if (settings.label == 'ratio' && module.total) {
-                module.verbose('Adding ratio to bar label');
-                $progress.text( module.get.text(settings.text.ratio, index) );
-              }
-              else if (settings.label == 'percent') {
-                module.verbose('Adding percentage to bar label');
-                $progress.text( module.get.text(settings.text.percent, index) );
-              }
-            });
-          },
-          active: function(text) {
-            text = text || settings.text.active;
-            module.debug('Setting active state');
-            if(settings.showActivity && !module.is.active() ) {
-              $module.addClass(className.active);
-            }
-            module.remove.warning();
-            module.remove.error();
-            module.remove.success();
-            text = settings.onLabelUpdate('active', text, module.value, module.total);
-            if(text) {
-              module.set.label(text);
-            }
-            module.bind.transitionEnd(function() {
-              settings.onActive.call(element, module.value, module.total);
-            });
-          },
-          success : function(text) {
-            text = text || settings.text.success || settings.text.active;
-            module.debug('Setting success state');
-            $module.addClass(className.success);
-            module.remove.active();
-            module.remove.warning();
-            module.remove.error();
-            module.complete();
-            if(settings.text.success) {
-              text = settings.onLabelUpdate('success', text, module.value, module.total);
-              module.set.label(text);
-            }
-            else {
-              text = settings.onLabelUpdate('active', text, module.value, module.total);
-              module.set.label(text);
-            }
-            module.bind.transitionEnd(function() {
-              settings.onSuccess.call(element, module.total);
-            });
-          },
-          warning : function(text) {
-            text = text || settings.text.warning;
-            module.debug('Setting warning state');
-            $module.addClass(className.warning);
-            module.remove.active();
-            module.remove.success();
-            module.remove.error();
-            module.complete();
-            text = settings.onLabelUpdate('warning', text, module.value, module.total);
-            if(text) {
-              module.set.label(text);
-            }
-            module.bind.transitionEnd(function() {
-              settings.onWarning.call(element, module.value, module.total);
-            });
-          },
-          error : function(text) {
-            text = text || settings.text.error;
-            module.debug('Setting error state');
-            $module.addClass(className.error);
-            module.remove.active();
-            module.remove.success();
-            module.remove.warning();
-            module.complete();
-            text = settings.onLabelUpdate('error', text, module.value, module.total);
-            if(text) {
-              module.set.label(text);
-            }
-            module.bind.transitionEnd(function() {
-              settings.onError.call(element, module.value, module.total);
-            });
-          },
-          transitionEvent: function() {
-            transitionEnd = module.get.transitionEnd();
-          },
-          total: function(totalValue) {
-            module.total = totalValue;
-          },
-          value: function(value) {
-            module.value = module.helper.forceArray(value);
-          },
-          progress: function(value) {
-            if(!module.has.progressPoll()) {
-              module.debug('First update in progress update interval, immediately updating', value);
-              module.update.progress(value);
-              module.create.progressPoll();
-            }
-            else {
-              module.debug('Updated within interval, setting next update to use new value', value);
-              module.set.nextValue(value);
-            }
-          },
-          nextValue: function(value) {
-            module.nextValue = value;
-          }
-        },
-
-        update: {
-          toNextValue: function() {
-            var
-              nextValue = module.nextValue
-            ;
-            if(nextValue) {
-              module.debug('Update interval complete using last updated value', nextValue);
-              module.update.progress(nextValue);
-              module.remove.nextValue();
-            }
-          },
-          progress: function(values) {
-            var hasTotal = module.has.total();
-            if (hasTotal) {
-              module.set.value(values);
-            }
-            var percentCompletes = module.helper.forceArray(values).map(function(value) {
-              var
-                percentComplete
-              ;
-              value = module.get.numericValue(value);
-              if (value === false) {
-                module.error(error.nonNumeric, value);
-              }
-              value = module.get.normalizedValue(value);
-              if (hasTotal) {
-                percentComplete = (value / module.total) * 100;
-                module.debug('Calculating percent complete from total', percentComplete);
-              }
-              else {
-                percentComplete = value;
-                module.debug('Setting value to exact percentage value', percentComplete);
-              }
-              return percentComplete;
-            });
-            module.set.percent( percentCompletes );
-          }
-        },
-
-        setting: function(name, value) {
-          module.debug('Changing setting', name, value);
-          if( $.isPlainObject(name) ) {
-            $.extend(true, settings, name);
-          }
-          else if(value !== undefined) {
-            if($.isPlainObject(settings[name])) {
-              $.extend(true, settings[name], value);
-            }
-            else {
-              settings[name] = value;
-            }
-          }
-          else {
-            return settings[name];
-          }
-        },
-        internal: function(name, value) {
-          if( $.isPlainObject(name) ) {
-            $.extend(true, module, name);
-          }
-          else if(value !== undefined) {
-            module[name] = value;
-          }
-          else {
-            return module[name];
-          }
-        },
-        debug: function() {
-          if(!settings.silent && 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.silent && 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() {
-          if(!settings.silent) {
-            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({
-                'Name'           : message[0],
-                'Arguments'      : [].slice.call(message, 1) || '',
-                'Element'        : element,
-                'Execution Time' : executionTime
-              });
-            }
-            clearTimeout(module.performance.timer);
-            module.performance.timer = setTimeout(module.performance.display, 500);
-          },
-          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
-            object = instance,
-            maxDepth,
-            found,
-            response
-          ;
-          passedArguments = passedArguments || queryArguments;
-          context         = element         || context;
-          if(typeof query == 'string' && object !== 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( object[camelCaseValue] ) && (depth != maxDepth) ) {
-                object = object[camelCaseValue];
-              }
-              else if( object[camelCaseValue] !== undefined ) {
-                found = object[camelCaseValue];
-                return false;
-              }
-              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
-                object = object[value];
-              }
-              else if( object[value] !== undefined ) {
-                found = object[value];
-                return false;
-              }
-              else {
-                module.error(error.method, query);
-                return false;
-              }
-            });
-          }
-          if ( $.isFunction( found ) ) {
-            response = found.apply(context, passedArguments);
-          }
-          else if(found !== undefined) {
-            response = found;
-          }
-          if(Array.isArray(returnedValue)) {
-            returnedValue.push(response);
-          }
-          else if(returnedValue !== undefined) {
-            returnedValue = [returnedValue, response];
-          }
-          else if(response !== undefined) {
-            returnedValue = response;
-          }
-          return found;
-        }
-      };
-
-      if(methodInvoked) {
-        if(instance === undefined) {
-          module.initialize();
-        }
-        module.invoke(query);
-      }
-      else {
-        if(instance !== undefined) {
-          instance.invoke('destroy');
-        }
-        module.initialize();
-      }
-    })
-  ;
-
-  return (returnedValue !== undefined)
-    ? returnedValue
-    : this
-  ;
-};
-
-$.fn.progress.settings = {
-
-  name         : 'Progress',
-  namespace    : 'progress',
-
-  silent       : false,
-  debug        : false,
-  verbose      : false,
-  performance  : true,
-
-  random       : {
-    min : 2,
-    max : 5
-  },
-
-  duration       : 300,
-
-  updateInterval : 'auto',
-
-  autoSuccess    : true,
-  showActivity   : true,
-  limitValues    : true,
-
-  label          : 'percent',
-  precision      : 0,
-  framerate      : (1000 / 30), /// 30 fps
-
-  percent        : false,
-  total          : false,
-  value          : false,
-
-  // delay in ms for fail safe animation callback
-  failSafeDelay : 100,
-
-  onLabelUpdate : function(state, text, value, total){
-    return text;
-  },
-  onChange      : function(percent, value, total){},
-  onSuccess     : function(total){},
-  onActive      : function(value, total){},
-  onError       : function(value, total){},
-  onWarning     : function(value, total){},
-
-  error    : {
-    method          : 'The method you called is not defined.',
-    nonNumeric      : 'Progress value is non numeric',
-    tooHigh         : 'Value specified is above 100%',
-    tooLow          : 'Value specified is below 0%',
-    sumExceedsTotal : 'Sum of multple values exceed total',
-  },
-
-  regExp: {
-    variable: /\{\$*[A-z0-9]+\}/g
-  },
-
-  metadata: {
-    percent : 'percent',
-    total   : 'total',
-    value   : 'value'
-  },
-
-  selector : {
-    bar      : '> .bar',
-    label    : '> .label',
-    progress : '.bar > .progress'
-  },
-
-  text : {
-    active  : false,
-    error   : false,
-    success : false,
-    warning : false,
-    percent : '{percent}%',
-    ratio   : '{value} of {total}',
-    bars    : ['']
-  },
-
-  className : {
-    active  : 'active',
-    error   : 'error',
-    success : 'success',
-    warning : 'warning'
-  }
-
-};
-
-
-})( jQuery, window, document );

File diff suppressed because it is too large
+ 0 - 8
webgui/static/components/progress.min.css


File diff suppressed because it is too large
+ 0 - 10
webgui/static/components/progress.min.js


+ 0 - 152
webgui/static/components/rail.css

@@ -1,152 +0,0 @@
-/*!
- * # Fomantic-UI - Rail
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-
-/*******************************
-             Rails
-*******************************/
-
-.ui.rail {
-  position: absolute;
-  top: 0;
-  width: 300px;
-  height: 100%;
-}
-.ui.left.rail {
-  left: auto;
-  right: 100%;
-  padding: 0 2rem 0 0;
-  margin: 0 2rem 0 0;
-}
-.ui.right.rail {
-  left: 100%;
-  right: auto;
-  padding: 0 0 0 2rem;
-  margin: 0 0 0 2rem;
-}
-
-
-/*******************************
-           Variations
-*******************************/
-
-
-/*--------------
-     Internal
----------------*/
-
-.ui.left.internal.rail {
-  left: 0;
-  right: auto;
-  padding: 0 0 0 2rem;
-  margin: 0 0 0 2rem;
-}
-.ui.right.internal.rail {
-  left: auto;
-  right: 0;
-  padding: 0 2rem 0 0;
-  margin: 0 2rem 0 0;
-}
-
-/*--------------
-    Dividing
----------------*/
-
-.ui.dividing.rail {
-  width: 302.5px;
-}
-.ui.left.dividing.rail {
-  padding: 0 2.5rem 0 0;
-  margin: 0 2.5rem 0 0;
-  border-right: 1px solid rgba(34, 36, 38, 0.15);
-}
-.ui.right.dividing.rail {
-  border-left: 1px solid rgba(34, 36, 38, 0.15);
-  padding: 0 0 0 2.5rem;
-  margin: 0 0 0 2.5rem;
-}
-
-/*--------------
-    Distance
----------------*/
-
-.ui.close.rail {
-  width: calc(300px + 1em);
-}
-.ui.close.left.rail {
-  padding: 0 1em 0 0;
-  margin: 0 1em 0 0;
-}
-.ui.close.right.rail {
-  padding: 0 0 0 1em;
-  margin: 0 0 0 1em;
-}
-.ui.very.close.rail {
-  width: calc(300px + 0.5em);
-}
-.ui.very.close.left.rail {
-  padding: 0 0.5em 0 0;
-  margin: 0 0.5em 0 0;
-}
-.ui.very.close.right.rail {
-  padding: 0 0 0 0.5em;
-  margin: 0 0 0 0.5em;
-}
-
-/*--------------
-    Attached
----------------*/
-
-.ui.attached.left.rail,
-.ui.attached.right.rail {
-  padding: 0;
-  margin: 0;
-}
-
-/*--------------
-     Sizing
----------------*/
-
-.ui.mini.rail {
-  font-size: 0.78571429rem;
-}
-.ui.tiny.rail {
-  font-size: 0.85714286rem;
-}
-.ui.small.rail {
-  font-size: 0.92857143rem;
-}
-.ui.rail {
-  font-size: 1rem;
-}
-.ui.large.rail {
-  font-size: 1.14285714rem;
-}
-.ui.big.rail {
-  font-size: 1.28571429rem;
-}
-.ui.huge.rail {
-  font-size: 1.42857143rem;
-}
-.ui.massive.rail {
-  font-size: 1.71428571rem;
-}
-
-
-/*******************************
-         Theme Overrides
-*******************************/
-
-
-
-/*******************************
-         Site Overrides
-*******************************/
-

Some files were not shown because too many files changed in this diff