[Pkg-javascript-commits] [node-css] 03/17: Imported Upstream version 2.1.0
Leo Iannacone
l3on-guest at moszumanska.debian.org
Sun Oct 12 12:15:53 UTC 2014
This is an automated email from the git hooks/post-receive script.
l3on-guest pushed a commit to branch master
in repository node-css.
commit cf80c96d62dafc18d8ca5a208e034d532dc0d369
Author: Leo Iannacone <l3on at ubuntu.com>
Date: Sun Oct 12 12:37:46 2014 +0200
Imported Upstream version 2.1.0
---
.npmignore | 4 -
History.md | 29 +
Makefile | 8 -
Readme.md | 322 +-
benchmark.js | 36 -
benchmark/LICENSES | 30 +
benchmark/index.js | 31 +
benchmark/large.css | 15135 ++++++++++++++++++++
benchmark/small.css | 425 +
component.json | 13 -
examples/ui.css | 337 -
examples/ui.js | 10 -
index.js | 5 +-
lib/parse/index.js | 596 +
lib/stringify/compiler.js | 50 +
lib/stringify/compress.js | 199 +
lib/stringify/identity.js | 254 +
lib/stringify/index.js | 47 +
lib/stringify/source-map-support.js | 126 +
package.json | 43 +-
test.js | 6 -
test/cases.js | 44 +
test/cases/at-namespace/ast.json | 22 +
test/cases/at-namespace/compressed.css | 1 +
test/cases/at-namespace/input.css | 1 +
test/cases/at-namespace/output.css | 1 +
test/cases/charset/ast.json | 67 +
test/cases/charset/compressed.css | 1 +
test/cases/charset/input.css | 2 +
test/cases/charset/output.css | 7 +
test/cases/colon-space/ast.json | 58 +
test/cases/colon-space/compressed.css | 1 +
test/cases/colon-space/input.css | 4 +
test/cases/colon-space/output.css | 4 +
test/cases/comma-attribute/ast.json | 202 +
test/cases/comma-attribute/compressed.css | 1 +
test/cases/comma-attribute/input.css | 39 +
test/cases/comma-attribute/output.css | 39 +
test/cases/comma-selector-function/ast.json | 82 +
test/cases/comma-selector-function/compressed.css | 1 +
test/cases/comma-selector-function/input.css | 12 +
test/cases/comma-selector-function/output.css | 12 +
test/cases/comment-in/ast.json | 90 +
test/cases/comment-in/compressed.css | 1 +
test/cases/comment-in/input.css | 5 +
test/cases/comment-in/output.css | 6 +
test/cases/comment-url/ast.json | 117 +
test/cases/comment-url/compressed.css | 1 +
test/cases/comment-url/input.css | 7 +
test/cases/comment-url/output.css | 10 +
test/cases/comment/ast.json | 148 +
test/cases/comment/compressed.css | 1 +
test/cases/comment/input.css | 9 +
test/cases/comment/output.css | 14 +
test/cases/custom-media/ast.json | 39 +
test/cases/custom-media/compressed.css | 1 +
test/cases/custom-media/input.css | 2 +
test/cases/custom-media/output.css | 3 +
test/cases/document/ast.json | 125 +
test/cases/document/compressed.css | 1 +
test/cases/document/input.css | 11 +
test/cases/document/output.css | 12 +
test/cases/empty/ast.json | 6 +
test/cases/empty/compressed.css | 1 +
test/cases/empty/input.css | 1 +
test/cases/empty/output.css | 1 +
test/cases/escapes/ast.json | 1556 ++
test/cases/escapes/compressed.css | 1 +
test/cases/escapes/input.css | 54 +
test/cases/escapes/output.css | 178 +
test/cases/font-face/ast.json | 90 +
test/cases/font-face/compressed.css | 1 +
test/cases/font-face/input.css | 8 +
test/cases/font-face/output.css | 8 +
test/cases/host/ast.json | 58 +
test/cases/host/compressed.css | 1 +
test/cases/host/input.css | 5 +
test/cases/host/output.css | 5 +
test/cases/import-messed/ast.json | 82 +
test/cases/import-messed/compressed.css | 1 +
test/cases/import-messed/input.css | 7 +
test/cases/import-messed/output.css | 9 +
test/cases/import/ast.json | 82 +
test/cases/import/compressed.css | 1 +
test/cases/import/input.css | 5 +
test/cases/import/output.css | 9 +
test/cases/keyframes-advanced/ast.json | 129 +
test/cases/keyframes-advanced/compressed.css | 1 +
test/cases/keyframes-advanced/input.css | 13 +
test/cases/keyframes-advanced/output.css | 13 +
test/cases/keyframes-complex/ast.json | 198 +
test/cases/keyframes-complex/compressed.css | 1 +
test/cases/keyframes-complex/input.css | 8 +
test/cases/keyframes-complex/output.css | 19 +
test/cases/keyframes-messed/ast.json | 94 +
test/cases/keyframes-messed/compressed.css | 1 +
test/cases/keyframes-messed/input.css | 6 +
test/cases/keyframes-messed/output.css | 9 +
test/cases/keyframes-vendor/ast.json | 95 +
test/cases/keyframes-vendor/compressed.css | 1 +
test/cases/keyframes-vendor/input.css | 4 +
test/cases/keyframes-vendor/output.css | 9 +
test/cases/keyframes/ast.json | 154 +
test/cases/keyframes/compressed.css | 1 +
test/cases/keyframes/input.css | 13 +
test/cases/keyframes/output.css | 13 +
test/cases/media-messed/ast.json | 245 +
test/cases/media-messed/compressed.css | 1 +
test/cases/media-messed/input.css | 27 +
test/cases/media-messed/output.css | 23 +
test/cases/media/ast.json | 305 +
test/cases/media/compressed.css | 1 +
test/cases/media/input.css | 26 +
test/cases/media/output.css | 29 +
test/cases/messed-up/ast.json | 144 +
test/cases/messed-up/compressed.css | 1 +
test/cases/messed-up/input.css | 15 +
test/cases/messed-up/output.css | 13 +
test/cases/namespace/ast.json | 37 +
test/cases/namespace/compressed.css | 1 +
test/cases/namespace/input.css | 2 +
test/cases/namespace/output.css | 3 +
test/cases/no-semi/ast.json | 58 +
test/cases/no-semi/compressed.css | 1 +
test/cases/no-semi/input.css | 5 +
test/cases/no-semi/output.css | 4 +
test/cases/paged-media/ast.json | 141 +
test/cases/paged-media/compressed.css | 1 +
test/cases/paged-media/input.css | 13 +
test/cases/paged-media/output.css | 14 +
test/cases/props/ast.json | 74 +
test/cases/props/compressed.css | 1 +
test/cases/props/input.css | 6 +
test/cases/props/output.css | 5 +
test/cases/quoted/ast.json | 42 +
test/cases/quoted/compressed.css | 1 +
test/cases/quoted/input.css | 3 +
test/cases/quoted/output.css | 3 +
test/cases/rule/ast.json | 42 +
test/cases/rule/compressed.css | 1 +
test/cases/rule/input.css | 3 +
test/cases/rule/output.css | 3 +
test/cases/rules/ast.json | 109 +
test/cases/rules/compressed.css | 1 +
test/cases/rules/input.css | 9 +
test/cases/rules/output.css | 9 +
test/cases/selectors/ast.json | 44 +
test/cases/selectors/compressed.css | 1 +
test/cases/selectors/input.css | 5 +
test/cases/selectors/output.css | 5 +
test/cases/supports/ast.json | 140 +
test/cases/supports/compressed.css | 1 +
test/cases/supports/input.css | 12 +
test/cases/supports/output.css | 13 +
test/cases/wtf/ast.json | 74 +
test/cases/wtf/compressed.css | 1 +
test/cases/wtf/input.css | 5 +
test/cases/wtf/output.css | 5 +
test/parse.js | 84 +
test/source-map/apply.css | 4 +
test/source-map/apply.css.map | 7 +
test/source-map/apply.scss | 1 +
test/source-map/test.css | 17 +
test/stringify.js | 112 +
164 files changed, 23334 insertions(+), 481 deletions(-)
diff --git a/.npmignore b/.npmignore
deleted file mode 100644
index f1250e5..0000000
--- a/.npmignore
+++ /dev/null
@@ -1,4 +0,0 @@
-support
-test
-examples
-*.sock
diff --git a/History.md b/History.md
index e79b6cb..5c55d5a 100644
--- a/History.md
+++ b/History.md
@@ -1,3 +1,32 @@
+2.1.0 / 2014-08-05
+==================
+
+ * change error message format and add `.reason` property to errors
+ * add `inputSourcemaps` option to disable input source map processing
+ * use `inherits` for inheritance (fixes some browsers)
+ * add `sourcemap: 'generator'` option to return the `SourceMapGenerator`
+ object
+
+2.0.0 / 2014-06-18
+==================
+
+ * add non-enumerable parent reference to each node
+ * drop Component(1) support
+ * add support for @custom-media, @host, and @font-face
+ * allow commas inside selector functions
+ * allow empty property values
+ * changed default options.position value to true
+ * remove comments from properties and values
+ * asserts when selectors are missing
+ * added node.position.content property
+ * absorb css-parse and css-stringify libraries
+ * apply original source maps from source files
+
+1.6.1 / 2014-01-02
+==================
+
+ * fix component.json
+
1.6.0 / 2013-12-21
==================
diff --git a/Makefile b/Makefile
deleted file mode 100644
index f13b4a7..0000000
--- a/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-
-test:
- @node test
-
-benchmark:
- @node benchmark
-
-.PHONY: test benchmark
\ No newline at end of file
diff --git a/Readme.md b/Readme.md
index c37a34d..b07145f 100644
--- a/Readme.md
+++ b/Readme.md
@@ -1,77 +1,299 @@
+# css [![Build Status](https://travis-ci.org/reworkcss/css.svg?branch=master)](https://travis-ci.org/reworkcss/css)
-# css
-
- CSS parser / stringifier using [css-parse](https://github.com/visionmedia/css-parse) and [css-stringify](https://github.com/visionmedia/css-stringify).
+CSS parser / stringifier.
## Installation
$ npm install css
-## Example
+## Usage
+
+```js
+var css = require('css');
+var obj = css.parse('body { font-size: 12px; }', options);
+css.stringify(obj, options);
+```
+
+## API
+
+### css.parse(code, [options])
+
+Accepts a CSS string and returns an AST `object`.
+
+`options`:
+
+- silent: silently fail on parse errors.
+- source: the path to the file containing `css`. Makes errors and source
+ maps more helpful, by letting them know where code comes from.
+
+### css.stringify(object, [options])
+
+Accepts an AST `object` (as `css.parse` produces) and returns a CSS string.
+
+`options`:
+
+- compress: omit comments and extraneous whitespace.
+- sourcemap: return a sourcemap along with the CSS output. Using the `source`
+ option of `css.parse` is strongly recommended when creating a source map.
+ Specify `sourcemap: 'generator'` to return the SourceMapGenerator object
+ instead of serializing the source map.
+- inputSourcemaps: (enabled by default, specify `false` to disable) reads any
+ source maps referenced by the input files when generating the output source
+ map. When enabled, file system access may be required for reading the
+ referenced source maps.
-js:
+### Example
```js
-var css = require('css')
-var obj = css.parse('tobi { name: "tobi" }')
-css.stringify(obj);
+var ast = css.parse('body { font-size: 12px; }', { source: 'source.css' });
+
+var css = css.stringify(ast);
+
+var result = css.stringify(ast, { sourcemap: true });
+result.code // string with CSS
+result.map // source map object
```
-object returned by `.parse()`:
+### Errors
+
+Errors will have `error.position`, just like [`node.position`](#position). The
+error contains the source position in the message. To get the error message
+without the position use `error.reason`.
+
+If you create any errors in plugins such as in
+[rework](https://github.com/reworkcss/rework), you __must__ set the `position`
+as well for consistency.
+
+## AST
+
+### Common properties
+
+All nodes have the following properties.
+
+#### position
+
+Information about the position in the source string that corresponds to
+the node.
+
+`Object`:
+
+- start: `Object`:
+ - line: `Number`.
+ - column: `Number`.
+- end: `Object`:
+ - line: `Number`.
+ - column: `Number`.
+- source: `String` or `undefined`. The value of `options.source` if passed to
+ `css.parse`. Otherwise `undefined`.
+- content: `String`. The full source string passed to `css.parse`.
+
+The line and column numbers are 1-based: The first line is 1 and the first
+column of a line is 1 (not 0).
+
+The `position` property lets you know from which source file the node comes
+from (if available), what that file contains, and what part of that file was
+parsed into the node.
+
+#### type
+
+`String`. The possible values are the ones listed in the Types section below.
+
+#### parent
+
+A reference to the parent node, or `null` if the node has no parent.
+
+### Types
+
+The available values of `node.type` are listed below, as well as the available
+properties of each node (other than the common properties listed above.)
+
+#### stylesheet
+
+The root node returned by `css.parse`.
+
+- stylesheet: `Object`:
+ - rules: `Array` of nodes with the types `rule`, `comment` and any of the
+ at-rule types.
+
+#### rule
+
+- selectors: `Array` of `String`s. The list of selectors of the rule, split
+ on commas. Each selector is trimmed from whitespace and comments.
+- declarations: `Array` of nodes with the types `declaration` and `comment`.
+
+#### declaration
+
+- property: `String`. The property name, trimmed from whitespace and
+ comments. May not be empty.
+- value: `String`. The value of the property, trimmed from whitespace and
+ comments. Empty values are allowed.
+
+#### comment
+
+A rule-level or declaration-level comment. Comments inside selectors,
+properties and values etc. are lost.
+
+- comment: `String`. The part between the starting `/*` and the ending `*/`
+ of the comment, including whitespace.
+
+#### charset
+
+The `@charset` at-rule.
+
+- charset: `String`. The part following `@charset `.
+
+#### custom-media
+
+The `@custom-media` at-rule.
+
+- name: `String`. The `--`-prefixed name.
+- media: `String`. The part following the name.
+
+#### document
+
+The `@document` at-rule.
+
+- document: `String`. The part following `@document `.
+- vendor: `String` or `undefined`. The vendor prefix in `@document`, or
+ `undefined` if there is none.
+- rules: `Array` of nodes with the types `rule`, `comment` and any of the
+ at-rule types.
+
+#### font-face
+
+The `@font-face` at-rule.
+
+- declarations: `Array` of nodes with the types `declaration` and `comment`.
+
+#### host
+
+The `@host` at-rule.
+
+- rules: `Array` of nodes with the types `rule`, `comment` and any of the
+ at-rule types.
+
+#### import
+
+The `@import` at-rule.
+
+- import: `String`. The part following `@import `.
+
+#### keyframes
+
+The `@keyframes` at-rule.
+
+- name: `String`. The name of the keyframes rule.
+- vendor: `String` or `undefined`. The vendor prefix in `@keyframes`, or
+ `undefined` if there is none.
+- keyframes: `Array` of nodes with the types `keyframe` and `comment`.
+
+#### keyframe
+
+- values: `Array` of `String`s. The list of “selectors” of the keyframe rule,
+ split on commas. Each “selector” is trimmed from whitespace.
+- declarations: `Array` of nodes with the types `declaration` and `comment`.
+
+#### media
+
+The `@media` at-rule.
+
+- media: `String`. The part following `@media `.
+- rules: `Array` of nodes with the types `rule`, `comment` and any of the
+ at-rule types.
+
+#### namespace
+
+The `@namespace` at-rule.
+
+- namespace: `String`. The part following `@namespace `.
+
+#### page
+
+The `@page` at-rule.
+
+- selectors: `Array` of `String`s. The list of selectors of the rule, split
+ on commas. Each selector is trimmed from whitespace and comments.
+- declarations: `Array` of nodes with the types `declaration` and `comment`.
+
+#### supports
+
+The `@supports` at-rule.
+
+- supports: `String`. The part following `@supports `.
+- rules: `Array` of nodes with the types `rule`, `comment` and any of the
+ at-rule types.
+
+### Example
+
+CSS:
+
+```css
+body {
+ background: #eee;
+ color: #888;
+}
+```
+
+Parse tree:
```json
{
+ "type": "stylesheet",
"stylesheet": {
"rules": [
{
- "selector": "tobi",
+ "type": "rule",
+ "selectors": [
+ "body"
+ ],
"declarations": [
{
- "property": "name",
- "value": "tobi"
+ "type": "declaration",
+ "property": "background",
+ "value": "#eee",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 19
+ }
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "color",
+ "value": "#888",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 14
+ }
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 4,
+ "column": 2
}
- ]
+ }
}
]
}
}
```
-string returned by `.stringify(ast)`:
-
-```css
-tobi {
- name: tobi;
-}
-```
-
-string returned by `.stringify(ast, { compress: true })`:
-
-```css
-tobi{name:tobi}
-```
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2012 TJ Holowaychuk <tj at vision-media.ca>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+## License
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+MIT
diff --git a/benchmark.js b/benchmark.js
deleted file mode 100644
index dec711d..0000000
--- a/benchmark.js
+++ /dev/null
@@ -1,36 +0,0 @@
-
-var css = require('./')
- , fs = require('fs')
- , read = fs.readFileSync
- , str = read('examples/ui.css', 'utf8');
-
-var n = 5000;
-var ops = 200;
-var t = process.hrtime(t);
-var results = [];
-
-while (n--) {
- css.stringify(css.parse(str));
- if (n % ops == 0) {
- t = process.hrtime(t);
- var ms = t[1] / 1000 / 1000;
- var persec = (ops * (1000 / ms) | 0);
- results.push(persec);
- process.stdout.write('\r [' + persec + ' ops/s] [' + n + ']');
- t = process.hrtime();
- }
-}
-
-function sum(arr) {
- return arr.reduce(function(sum, n){
- return sum + n;
- });
-}
-
-function mean(arr) {
- return sum(arr) / arr.length | 0;
-}
-
-console.log();
-console.log(' avg: %d ops/s', mean(results));
-console.log(' size: %d kb', (str.length / 1024).toFixed(2));
\ No newline at end of file
diff --git a/benchmark/LICENSES b/benchmark/LICENSES
new file mode 100644
index 0000000..a81e97d
--- /dev/null
+++ b/benchmark/LICENSES
@@ -0,0 +1,30 @@
+File: large.css
+Copyright: 2013 Contributors
+License: MIT
+Origin: https://raw.githubusercontent.com/Semantic-Org/Semantic-UI/0.16.1/build/packaged/css/semantic.css
+
+File: small.css
+Copyright: Nicolas Gallagher and Jonathan Neal
+License: MIT
+Origin: https://raw.githubusercontent.com/necolas/normalize.css/3.0.1/normalize.css
+
+
+License: MIT
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the
+ 'Software'), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/benchmark/index.js b/benchmark/index.js
new file mode 100644
index 0000000..48b58e9
--- /dev/null
+++ b/benchmark/index.js
@@ -0,0 +1,31 @@
+
+var bytes = require('bytes');
+var parse = require('..').parse;
+var fs = require('fs');
+
+var small = fs.readFileSync('benchmark/small.css', 'utf8');
+var large = fs.readFileSync('benchmark/large.css', 'utf8');
+var huge = Array(8).join(large);
+
+function lines(str) {
+ return str.split(/\n/g).length;
+}
+
+console.log();
+console.log(' small : %s : %s lines', bytes(Buffer.byteLength(small)), lines(small));
+console.log(' large : %s : %s lines', bytes(Buffer.byteLength(large)), lines(large));
+console.log(' huge : %s : %s lines', bytes(Buffer.byteLength(huge)), lines(huge));
+
+suite('css parse', function(){
+ bench('small', function(){
+ parse(small);
+ });
+
+ bench('large', function(){
+ parse(large);
+ });
+
+ bench('huge', function(){
+ parse(huge);
+ });
+});
diff --git a/benchmark/large.css b/benchmark/large.css
new file mode 100644
index 0000000..d84725f
--- /dev/null
+++ b/benchmark/large.css
@@ -0,0 +1,15135 @@
+/*
+ * # Semantic - Breadcrumb
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Breadcrumb
+*******************************/
+.ui.breadcrumb {
+ margin: 1em 0em;
+ display: inline-block;
+ vertical-align: middle;
+}
+.ui.breadcrumb:first-child {
+ margin-top: 0em;
+}
+.ui.breadcrumb:last-child {
+ margin-bottom: 0em;
+}
+/*******************************
+ Content
+*******************************/
+.ui.breadcrumb .divider {
+ display: inline-block;
+ opacity: 0.5;
+ margin: 0em 0.15em 0em;
+ font-size: 1em;
+ color: rgba(0, 0, 0, 0.3);
+}
+.ui.breadcrumb a.section {
+ cursor: pointer;
+}
+.ui.breadcrumb .section {
+ display: inline-block;
+ margin: 0em;
+ padding: 0em;
+}
+/* Loose Coupling */
+.ui.breadcrumb.segment {
+ display: inline-block;
+ padding: 0.5em 1em;
+}
+/*******************************
+ States
+*******************************/
+.ui.breadcrumb .active.section {
+ font-weight: bold;
+}
+/*******************************
+ Variations
+*******************************/
+.ui.small.breadcrumb {
+ font-size: 0.75em;
+}
+.ui.large.breadcrumb {
+ font-size: 1.1em;
+}
+.ui.huge.breadcrumb {
+ font-size: 1.3em;
+}
+
+/*
+ * # Semantic - Form
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Standard
+*******************************/
+/*--------------------
+ Form
+---------------------*/
+.ui.form {
+ position: relative;
+ max-width: 100%;
+}
+.ui.form :first-child {
+ margin-top: 0em;
+}
+.ui.form :last-child {
+ margin-bottom: 0em;
+}
+/*--------------------
+ Content
+---------------------*/
+.ui.form > p {
+ margin: 1em 0;
+}
+/*--------------------
+ Field
+---------------------*/
+.ui.form .field {
+ clear: both;
+ margin: 0em 0em 1em;
+}
+/*--------------------
+ Labels
+---------------------*/
+.ui.form .field > label {
+ margin: 0em 0em 0.3em;
+ display: block;
+ color: #555555;
+ font-size: 0.875em;
+}
+/*--------------------
+ Standard Inputs
+---------------------*/
+.ui.form textarea,
+.ui.form input[type="text"],
+.ui.form input[type="email"],
+.ui.form input[type="date"],
+.ui.form input[type="password"],
+.ui.form input[type="number"],
+.ui.form input[type="url"],
+.ui.form input[type="tel"],
+.ui.form .ui.input {
+ width: 100%;
+}
+.ui.form textarea,
+.ui.form input[type="text"],
+.ui.form input[type="email"],
+.ui.form input[type="date"],
+.ui.form input[type="password"],
+.ui.form input[type="number"],
+.ui.form input[type="url"],
+.ui.form input[type="tel"] {
+ margin: 0em;
+ padding: 0.65em 1em;
+ font-size: 1em;
+ background-color: #FFFFFF;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ outline: none;
+ color: rgba(0, 0, 0, 0.7);
+ border-radius: 0.3125em;
+ -webkit-transition: background-color 0.3s ease-out, -webkit-box-shadow 0.2s ease, border-color 0.2s ease;
+ -moz-transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease;
+ transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease;
+ -webkit-box-shadow: 0em 0em 0em 0em rgba(0, 0, 0, 0.3) inset;
+ box-shadow: 0em 0em 0em 0em rgba(0, 0, 0, 0.3) inset;
+ -webkit-appearance: none;
+ -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.ui.textarea,
+.ui.form textarea {
+ line-height: 1.33;
+ min-height: 8em;
+ height: 12em;
+ max-height: 24em;
+ resize: vertical;
+}
+.ui.form textarea,
+.ui.form input[type="checkbox"] {
+ vertical-align: top;
+}
+/*--------------------
+ Dividers
+---------------------*/
+.ui.form .divider {
+ clear: both;
+ margin: 1em 0em;
+}
+/*--------------------
+ Types of Messages
+---------------------*/
+.ui.form .info.message,
+.ui.form .warning.message,
+.ui.form .error.message {
+ display: none;
+}
+/* Assumptions */
+.ui.form .message:first-child {
+ margin-top: 0px;
+}
+/*--------------------
+ Validation Prompt
+---------------------*/
+.ui.form .field .prompt.label {
+ white-space: nowrap;
+}
+.ui.form .inline.field .prompt {
+ margin-top: 0em;
+ margin-left: 1em;
+}
+.ui.form .inline.field .prompt:before {
+ margin-top: -0.3em;
+ bottom: auto;
+ right: auto;
+ top: 50%;
+ left: 0em;
+}
+/*******************************
+ States
+*******************************/
+/*--------------------
+ Focus
+---------------------*/
+.ui.form input[type="text"]:focus,
+.ui.form input[type="email"]:focus,
+.ui.form input[type="date"]:focus,
+.ui.form input[type="password"]:focus,
+.ui.form input[type="number"]:focus,
+.ui.form input[type="url"]:focus,
+.ui.form input[type="tel"]:focus,
+.ui.form textarea:focus {
+ color: rgba(0, 0, 0, 0.85);
+ border-color: rgba(0, 0, 0, 0.2);
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+ -webkit-appearance: none;
+ -webkit-box-shadow: 0.3em 0em 0em 0em rgba(0, 0, 0, 0.2) inset;
+ box-shadow: 0.3em 0em 0em 0em rgba(0, 0, 0, 0.2) inset;
+}
+/*--------------------
+ Error
+---------------------*/
+/* On Form */
+.ui.form.warning .warning.message {
+ display: block;
+}
+/*--------------------
+ Warning
+---------------------*/
+/* On Form */
+.ui.form.error .error.message {
+ display: block;
+}
+/* On Field(s) */
+.ui.form .fields.error .field label,
+.ui.form .field.error label,
+.ui.form .fields.error .field .input,
+.ui.form .field.error .input {
+ color: #D95C5C;
+}
+.ui.form .fields.error .field .corner.label,
+.ui.form .field.error .corner.label {
+ border-color: #D95C5C;
+ color: #FFFFFF;
+}
+.ui.form .fields.error .field textarea,
+.ui.form .fields.error .field input[type="text"],
+.ui.form .fields.error .field input[type="email"],
+.ui.form .fields.error .field input[type="date"],
+.ui.form .fields.error .field input[type="password"],
+.ui.form .fields.error .field input[type="number"],
+.ui.form .fields.error .field input[type="url"],
+.ui.form .fields.error .field input[type="tel"],
+.ui.form .field.error textarea,
+.ui.form .field.error input[type="text"],
+.ui.form .field.error input[type="email"],
+.ui.form .field.error input[type="date"],
+.ui.form .field.error input[type="password"],
+.ui.form .field.error input[type="number"],
+.ui.form .field.error input[type="url"],
+.ui.form .field.error input[type="tel"] {
+ background-color: #FFFAFA;
+ border-color: #E7BEBE;
+ border-left: none;
+ color: #D95C5C;
+ padding-left: 1.2em;
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+ -webkit-box-shadow: 0.3em 0em 0em 0em #D95C5C inset;
+ box-shadow: 0.3em 0em 0em 0em #D95C5C inset;
+}
+.ui.form .field.error textarea:focus,
+.ui.form .field.error input[type="text"]:focus,
+.ui.form .field.error input[type="email"]:focus,
+.ui.form .field.error input[type="date"]:focus,
+.ui.form .field.error input[type="password"]:focus,
+.ui.form .field.error input[type="number"]:focus,
+.ui.form .field.error input[type="url"]:focus,
+.ui.form .field.error input[type="tel"]:focus {
+ border-color: #ff5050;
+ color: #ff5050;
+ -webkit-appearance: none;
+ -webkit-box-shadow: 0.3em 0em 0em 0em #FF5050 inset;
+ box-shadow: 0.3em 0em 0em 0em #FF5050 inset;
+}
+/*----------------------------
+ Dropdown Selection Warning
+-----------------------------*/
+.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 .item {
+ background-color: #FFFAFA;
+ color: #D95C5C;
+}
+.ui.form .fields.error .field .ui.dropdown,
+.ui.form .field.error .ui.dropdown {
+ -webkit-box-shadow: 0px 0px 0px 1px #E7BEBE !important;
+ box-shadow: 0px 0px 0px 1px #E7BEBE !important;
+}
+.ui.form .fields.error .field .ui.dropdown:hover,
+.ui.form .field.error .ui.dropdown:hover {
+ -webkit-box-shadow: 0px 0px 0px 1px #E7BEBE !important;
+ box-shadow: 0px 0px 0px 1px #E7BEBE !important;
+}
+.ui.form .fields.error .field .ui.dropdown:hover .menu,
+.ui.form .field.error .ui.dropdown:hover .menu {
+ -webkit-box-shadow: 0px 1px 0px 1px #E7BEBE;
+ box-shadow: 0px 1px 0px 1px #E7BEBE;
+}
+.ui.form .fields.error .field .ui.dropdown .menu .item:hover,
+.ui.form .field.error .ui.dropdown .menu .item:hover {
+ background-color: #FFF2F2;
+}
+.ui.form .fields.error .field .ui.dropdown .menu .active.item,
+.ui.form .field.error .ui.dropdown .menu .active.item {
+ background-color: #FDCFCF !important;
+}
+/*--------------------
+ Empty (Placeholder)
+---------------------*/
+/* browsers require these rules separate */
+.ui.form ::-webkit-input-placeholder {
+ color: #AAAAAA;
+}
+.ui.form ::-moz-placeholder {
+ color: #AAAAAA;
+}
+.ui.form :focus::-webkit-input-placeholder {
+ color: #999999;
+}
+.ui.form :focus::-moz-placeholder {
+ color: #999999;
+}
+/* Error Placeholder */
+.ui.form .error ::-webkit-input-placeholder {
+ color: rgba(255, 80, 80, 0.4);
+}
+.ui.form .error ::-moz-placeholder {
+ color: rgba(255, 80, 80, 0.4);
+}
+.ui.form .error :focus::-webkit-input-placeholder {
+ color: rgba(255, 80, 80, 0.7);
+}
+.ui.form .error :focus::-moz-placeholder {
+ color: rgba(255, 80, 80, 0.7);
+}
+/*--------------------
+ Disabled
+---------------------*/
+.ui.form .field :disabled,
+.ui.form .field.disabled {
+ opacity: 0.5;
+}
+.ui.form .field.disabled label {
+ opacity: 0.5;
+}
+.ui.form .field.disabled :disabled {
+ opacity: 1;
+}
+/*--------------------
+ Loading State
+---------------------*/
+/* On Form */
+.ui.form.loading {
+ position: relative;
+}
+.ui.form.loading:after {
+ position: absolute;
+ top: 0%;
+ left: 0%;
+ content: '';
+ width: 100%;
+ height: 100%;
+ background: rgba(255, 255, 255, 0.8) url(../images/loader-large.gif) no-repeat 50% 50%;
+ visibility: visible;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------------
+ Fluid Width
+---------------------*/
+.ui.form.fluid {
+ width: 100%;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*--------------------------
+ Input w/ attached Button
+---------------------------*/
+.ui.form input.attached {
+ width: auto;
+}
+/*--------------------
+ Date Input
+---------------------*/
+.ui.form .date.field > label {
+ position: relative;
+}
+.ui.form .date.field > label:after {
+ position: absolute;
+ top: 2em;
+ right: 0.5em;
+ font-family: 'Icons';
+ content: '\f133';
+ font-size: 1.2em;
+ font-weight: normal;
+ color: #CCCCCC;
+}
+/*--------------------
+ Inverted Colors
+---------------------*/
+.ui.inverted.form label {
+ color: #FFFFFF;
+}
+.ui.inverted.form .field.error textarea,
+.ui.inverted.form .field.error input[type="text"],
+.ui.inverted.form .field.error input[type="email"],
+.ui.inverted.form .field.error input[type="date"],
+.ui.inverted.form .field.error input[type="password"],
+.ui.inverted.form .field.error input[type="number"],
+.ui.inverted.form .field.error input[type="url"],
+.ui.inverted.form .field.error input[type="tel"] {
+ background-color: #FFCCCC;
+}
+.ui.inverted.form .ui.checkbox label {
+ color: rgba(255, 255, 255, 0.8);
+}
+.ui.inverted.form .ui.checkbox label:hover,
+.ui.inverted.form .ui.checkbox .box:hover {
+ color: #FFFFFF;
+}
+/*--------------------
+ Field Groups
+---------------------*/
+/* Grouped Vertically */
+.ui.form .grouped.fields {
+ margin: 0em 0em 1em;
+}
+.ui.form .grouped.fields .field {
+ display: block;
+ float: none;
+ margin: 0.5em 0em;
+ padding: 0em;
+}
+/*--------------------
+ Fields
+---------------------*/
+/* Split fields */
+.ui.form .fields {
+ clear: both;
+}
+.ui.form .fields:after {
+ content: ' ';
+ display: block;
+ clear: both;
+ visibility: hidden;
+ line-height: 0;
+ height: 0;
+}
+.ui.form .fields > .field {
+ clear: none;
+ float: left;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.ui.form .fields > .field:first-child {
+ border-left: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/* Other Combinations */
+.ui.form .two.fields > .fields,
+.ui.form .two.fields > .field {
+ width: 50%;
+ padding-left: 1%;
+ padding-right: 1%;
+}
+.ui.form .three.fields > .fields,
+.ui.form .three.fields > .field {
+ width: 33.333%;
+ padding-left: 1%;
+ padding-right: 1%;
+}
+.ui.form .four.fields > .fields,
+.ui.form .four.fields > .field {
+ width: 25%;
+ padding-left: 1%;
+ padding-right: 1%;
+}
+.ui.form .five.fields > .fields,
+.ui.form .five.fields > .field {
+ width: 20%;
+ padding-left: 1%;
+ padding-right: 1%;
+}
+.ui.form .fields .field:first-child {
+ padding-left: 0%;
+}
+.ui.form .fields .field:last-child {
+ padding-right: 0%;
+}
+/* Fields grid support */
+.ui.form .fields .wide.field {
+ width: 6.25%;
+ padding-left: 1%;
+ padding-right: 1%;
+}
+.ui.form .fields .wide.field:first-child {
+ padding-left: 0%;
+}
+.ui.form .fields .wide.field:last-child {
+ padding-right: 0%;
+}
+.ui.form .fields > .one.wide.field {
+ width: 6.25%;
+}
+.ui.form .fields > .two.wide.field {
+ width: 12.5%;
+}
+.ui.form .fields > .three.wide.field {
+ width: 18.75%;
+}
+.ui.form .fields > .four.wide.field {
+ width: 25%;
+}
+.ui.form .fields > .five.wide.field {
+ width: 31.25%;
+}
+.ui.form .fields > .six.wide.field {
+ width: 37.5%;
+}
+.ui.form .fields > .seven.wide.field {
+ width: 43.75%;
+}
+.ui.form .fields > .eight.wide.field {
+ width: 50%;
+}
+.ui.form .fields > .nine.wide.field {
+ width: 56.25%;
+}
+.ui.form .fields > .ten.wide.field {
+ width: 62.5%;
+}
+.ui.form .fields > .eleven.wide.field {
+ width: 68.75%;
+}
+.ui.form .fields > .twelve.wide.field {
+ width: 75%;
+}
+.ui.form .fields > .thirteen.wide.field {
+ width: 81.25%;
+}
+.ui.form .fields > .fourteen.wide.field {
+ width: 87.5%;
+}
+.ui.form .fields > .fifteen.wide.field {
+ width: 93.75%;
+}
+.ui.form .fields > .sixteen.wide.field {
+ width: 100%;
+}
+/* Swap to full width on mobile */
+ at media only screen and (max-width: 767px) {
+ .ui.form .two.fields > .fields,
+ .ui.form .two.fields > .field,
+ .ui.form .three.fields > .fields,
+ .ui.form .three.fields > .field,
+ .ui.form .four.fields > .fields,
+ .ui.form .four.fields > .field,
+ .ui.form .five.fields > .fields,
+ .ui.form .five.fields > .field,
+ .ui.form .fields > .two.wide.field,
+ .ui.form .fields > .three.wide.field,
+ .ui.form .fields > .four.wide.field,
+ .ui.form .fields > .five.wide.field,
+ .ui.form .fields > .six.wide.field,
+ .ui.form .fields > .seven.wide.field,
+ .ui.form .fields > .eight.wide.field,
+ .ui.form .fields > .nine.wide.field,
+ .ui.form .fields > .ten.wide.field,
+ .ui.form .fields > .eleven.wide.field,
+ .ui.form .fields > .twelve.wide.field,
+ .ui.form .fields > .thirteen.wide.field,
+ .ui.form .fields > .fourteen.wide.field,
+ .ui.form .fields > .fifteen.wide.field,
+ .ui.form .fields > .sixteen.wide.field {
+ width: 100%;
+ padding-left: 0%;
+ padding-right: 0%;
+ }
+}
+/*--------------------
+ Inline Fields
+---------------------*/
+.ui.form .inline.fields .field {
+ min-height: 1.3em;
+ margin-right: 0.5em;
+}
+.ui.form .inline.fields .field > label,
+.ui.form .inline.fields .field > p,
+.ui.form .inline.fields .field > input,
+.ui.form .inline.field > label,
+.ui.form .inline.field > p,
+.ui.form .inline.field > input {
+ display: inline-block;
+ width: auto;
+ margin-top: 0em;
+ margin-bottom: 0em;
+ vertical-align: middle;
+ font-size: 1em;
+}
+.ui.form .inline.fields .field > input,
+.ui.form .inline.field > input {
+ font-size: 0.875em;
+}
+.ui.form .inline.fields .field > :first-child,
+.ui.form .inline.field > :first-child {
+ margin: 0em 0.5em 0em 0em;
+}
+.ui.form .inline.fields .field > :only-child,
+.ui.form .inline.field > :only-child {
+ margin: 0em;
+}
+/*--------------------
+ Sizes
+---------------------*/
+/* Standard */
+.ui.small.form {
+ font-size: 0.875em;
+}
+.ui.small.form textarea,
+.ui.small.form input[type="text"],
+.ui.small.form input[type="email"],
+.ui.small.form input[type="date"],
+.ui.small.form input[type="password"],
+.ui.small.form input[type="number"],
+.ui.small.form input[type="url"],
+.ui.small.form input[type="tel"],
+.ui.small.form label {
+ font-size: 1em;
+}
+/* Large */
+.ui.large.form {
+ font-size: 1.125em;
+}
+
+/*
+ * # Semantic - Grid
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Grid
+*******************************/
+.ui.grid {
+ display: block;
+ text-align: left;
+ font-size: 0em;
+ margin: 0% -1.5%;
+ padding: 0%;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+body > .ui.grid {
+ margin-left: 0% !important;
+ margin-right: 0% !important;
+}
+.ui.grid:after,
+.ui.row:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+/*-------------------
+ Columns
+--------------------*/
+/* Standard 16 column */
+.ui.grid > .column,
+.ui.grid > .row > .column {
+ display: inline-block;
+ text-align: left;
+ font-size: 1rem;
+ width: 6.25%;
+ padding-left: 1.5%;
+ padding-right: 1.5%;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ vertical-align: top;
+}
+/* Vertical padding when no rows */
+.ui.grid > .column {
+ margin-top: 1rem;
+ margin-bottom: 1rem;
+}
+/*-------------------
+ Rows
+--------------------*/
+.ui.grid > .row {
+ display: block;
+ width: 100% !important;
+ margin-top: 1.5%;
+ padding: 1rem 0% 0%;
+ font-size: 0rem;
+}
+.ui.grid > .row:first-child {
+ padding-top: 0rem;
+ margin-top: 0rem;
+}
+/*-------------------
+ Content
+--------------------*/
+.ui.grid > .row > img,
+.ui.grid > .row > .column > img {
+ max-width: 100%;
+}
+.ui.grid .column > .ui.segment:only-child {
+ margin: 0em;
+}
+/*******************************
+ Variations
+*******************************/
+/*-----------------------
+ Page Grid (Responsive)
+-------------------------*/
+.ui.page.grid {
+ min-width: 320px;
+ margin-left: 0%;
+ margin-right: 0%;
+}
+ at media only screen and (max-width: 991px) {
+ .ui.page.grid {
+ padding: 0% 4%;
+ }
+}
+ at media only screen and (min-width: 992px) {
+ .ui.page.grid {
+ padding: 0% 8%;
+ }
+}
+ at media only screen and (min-width: 1500px) {
+ .ui.page.grid {
+ padding: 0% 13%;
+ }
+}
+ at media only screen and (min-width: 1750px) {
+ .ui.page.grid {
+ padding: 0% 18%;
+ }
+}
+ at media only screen and (min-width: 2000px) {
+ .ui.page.grid {
+ padding: 0% 23%;
+ }
+}
+/*-------------------
+ Column Width
+--------------------*/
+/* Sizing Combinations */
+.ui.grid > .row > .one.wide.column,
+.ui.grid > .column.row > .one.wide.column,
+.ui.grid > .one.wide.column,
+.ui.column.grid > .one.wide.column {
+ width: 6.25%;
+}
+.ui.grid > .row > .two.wide.column,
+.ui.grid > .column.row > .two.wide.column,
+.ui.grid > .two.wide.column,
+.ui.column.grid > .two.wide.column {
+ width: 12.5%;
+}
+.ui.grid > .row > .three.wide.column,
+.ui.grid > .column.row > .three.wide.column,
+.ui.grid > .three.wide.column,
+.ui.column.grid > .three.wide.column {
+ width: 18.75%;
+}
+.ui.grid > .row > .four.wide.column,
+.ui.grid > .column.row > .four.wide.column,
+.ui.grid > .four.wide.column,
+.ui.column.grid > .four.wide.column {
+ width: 25%;
+}
+.ui.grid > .row > .five.wide.column,
+.ui.grid > .column.row > .five.wide.column,
+.ui.grid > .five.wide.column,
+.ui.column.grid > .five.wide.column {
+ width: 31.25%;
+}
+.ui.grid > .row > .six.wide.column,
+.ui.grid > .column.row > .six.wide.column,
+.ui.grid > .six.wide.column,
+.ui.column.grid > .six.wide.column {
+ width: 37.5%;
+}
+.ui.grid > .row > .seven.wide.column,
+.ui.grid > .column.row > .seven.wide.column,
+.ui.grid > .seven.wide.column,
+.ui.column.grid > .seven.wide.column {
+ width: 43.75%;
+}
+.ui.grid > .row > .eight.wide.column,
+.ui.grid > .column.row > .eight.wide.column,
+.ui.grid > .eight.wide.column,
+.ui.column.grid > .eight.wide.column {
+ width: 50%;
+}
+.ui.grid > .row > .nine.wide.column,
+.ui.grid > .column.row > .nine.wide.column,
+.ui.grid > .nine.wide.column,
+.ui.column.grid > .nine.wide.column {
+ width: 56.25%;
+}
+.ui.grid > .row > .ten.wide.column,
+.ui.grid > .column.row > .ten.wide.column,
+.ui.grid > .ten.wide.column,
+.ui.column.grid > .ten.wide.column {
+ width: 62.5%;
+}
+.ui.grid > .row > .eleven.wide.column,
+.ui.grid > .column.row > .eleven.wide.column,
+.ui.grid > .eleven.wide.column,
+.ui.column.grid > .eleven.wide.column {
+ width: 68.75%;
+}
+.ui.grid > .row > .twelve.wide.column,
+.ui.grid > .column.row > .twelve.wide.column,
+.ui.grid > .twelve.wide.column,
+.ui.column.grid > .twelve.wide.column {
+ width: 75%;
+}
+.ui.grid > .row > .thirteen.wide.column,
+.ui.grid > .column.row > .thirteen.wide.column,
+.ui.grid > .thirteen.wide.column,
+.ui.column.grid > .thirteen.wide.column {
+ width: 81.25%;
+}
+.ui.grid > .row > .fourteen.wide.column,
+.ui.grid > .column.row > .fourteen.wide.column,
+.ui.grid > .fourteen.wide.column,
+.ui.column.grid > .fourteen.wide.column {
+ width: 87.5%;
+}
+.ui.grid > .row > .fifteen.wide.column,
+.ui.grid > .column.row > .fifteen.wide.column,
+.ui.grid > .fifteen.wide.column,
+.ui.column.grid > .fifteen.wide.column {
+ width: 93.75%;
+}
+.ui.grid > .row > .sixteen.wide.column,
+.ui.grid > .column.row > .sixteen.wide.column,
+.ui.grid > .sixteen.wide.column,
+.ui.column.grid > .sixteen.wide.column {
+ width: 100%;
+}
+/*-------------------
+ Column Count
+--------------------*/
+/* Assume full width with one column */
+.ui.one.column.grid > .row > .column,
+.ui.one.column.grid > .column,
+.ui.grid > .one.column.row > .column {
+ width: 100%;
+}
+.ui.two.column.grid > .row > .column,
+.ui.two.column.grid > .column,
+.ui.grid > .two.column.row > .column {
+ width: 50%;
+}
+.ui.three.column.grid > .row > .column,
+.ui.three.column.grid > .column,
+.ui.grid > .three.column.row > .column {
+ width: 33.3333%;
+}
+.ui.four.column.grid > .row > .column,
+.ui.four.column.grid > .column,
+.ui.grid > .four.column.row > .column {
+ width: 25%;
+}
+.ui.five.column.grid > .row > .column,
+.ui.five.column.grid > .column,
+.ui.grid > .five.column.row > .column {
+ width: 20%;
+}
+.ui.six.column.grid > .row > .column,
+.ui.six.column.grid > .column,
+.ui.grid > .six.column.row > .column {
+ width: 16.66667%;
+}
+.ui.seven.column.grid > .row > .column,
+.ui.seven.column.grid > .column,
+.ui.grid > .seven.column.row > .column {
+ width: 14.2857%;
+}
+.ui.eight.column.grid > .row > .column,
+.ui.eight.column.grid > .column,
+.ui.grid > .eight.column.row > .column {
+ width: 12.5%;
+}
+.ui.nine.column.grid > .row > .column,
+.ui.nine.column.grid > .column,
+.ui.grid > .nine.column.row > .column {
+ width: 11.1111%;
+}
+.ui.ten.column.grid > .row > .column,
+.ui.ten.column.grid > .column,
+.ui.grid > .ten.column.row > .column {
+ width: 10%;
+}
+.ui.eleven.column.grid > .row > .column,
+.ui.eleven.column.grid > .column,
+.ui.grid > .eleven.column.row > .column {
+ width: 9.0909%;
+}
+.ui.twelve.column.grid > .row > .column,
+.ui.twelve.column.grid > .column,
+.ui.grid > .twelve.column.row > .column {
+ width: 8.3333%;
+}
+.ui.thirteen.column.grid > .row > .column,
+.ui.thirteen.column.grid > .column,
+.ui.grid > .thirteen.column.row > .column {
+ width: 7.6923%;
+}
+.ui.fourteen.column.grid > .row > .column,
+.ui.fourteen.column.grid > .column,
+.ui.grid > .fourteen.column.row > .column {
+ width: 7.1428%;
+}
+.ui.fifteen.column.grid > .row > .column,
+.ui.fifteen.column.grid > .column,
+.ui.grid > .fifteen.column.row > .column {
+ width: 6.6666%;
+}
+.ui.sixteen.column.grid > .row > .column,
+.ui.sixteen.column.grid > .column,
+.ui.grid > .sixteen.column.row > .column {
+ width: 6.25%;
+}
+/* Assume full width with one column */
+.ui.grid > .column:only-child,
+.ui.grid > .row > .column:only-child {
+ width: 100%;
+}
+/*----------------------
+ Relaxed
+-----------------------*/
+.ui.relaxed.grid {
+ margin: 0% -2.5%;
+}
+.ui.relaxed.grid > .column,
+.ui.relaxed.grid > .row > .column {
+ padding-left: 2.5%;
+ padding-right: 2.5%;
+}
+/*----------------------
+ "Floated"
+-----------------------*/
+.ui.grid .left.floated.column {
+ float: left;
+}
+.ui.grid .right.floated.column {
+ float: right;
+}
+/*----------------------
+ Divided
+-----------------------*/
+.ui.divided.grid,
+.ui.divided.grid > .row {
+ display: table;
+ width: 100%;
+ margin-left: 0% !important;
+ margin-right: 0% !important;
+}
+.ui.divided.grid > .column:not(.row),
+.ui.divided.grid > .row > .column {
+ display: table-cell;
+ -webkit-box-shadow: -1px 0px 0px 0px rgba(0, 0, 0, 0.1), -2px 0px 0px 0px rgba(255, 255, 255, 0.8);
+ box-shadow: -1px 0px 0px 0px rgba(0, 0, 0, 0.1), -2px 0px 0px 0px rgba(255, 255, 255, 0.8);
+}
+.ui.divided.grid > .column.row {
+ display: table;
+}
+.ui.divided.grid > .column:first-child,
+.ui.divided.grid > .row > .column:first-child {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/* Vertically Divided */
+.ui.vertically.divided.grid > .row {
+ -webkit-box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(255, 255, 255, 0.8) !important;
+ box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(255, 255, 255, 0.8) !important;
+}
+.ui.vertically.divided.grid > .row > .column,
+.ui.vertically.divided.grid > .column:not(.row),
+.ui.vertically.divided.grid > .row:first-child {
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+}
+/*----------------------
+ Celled
+-----------------------*/
+.ui.celled.grid {
+ display: table;
+ width: 100%;
+ margin-left: 0% !important;
+ margin-right: 0% !important;
+ -webkit-box-shadow: 0px 0px 0px 1px #DFDFDF;
+ box-shadow: 0px 0px 0px 1px #DFDFDF;
+}
+.ui.celled.grid > .row,
+.ui.celled.grid > .column.row,
+.ui.celled.grid > .column.row:first-child {
+ display: table;
+ width: 100%;
+ margin-top: 0em;
+ padding-top: 0em;
+ -webkit-box-shadow: 0px -1px 0px 0px #dfdfdf;
+ box-shadow: 0px -1px 0px 0px #dfdfdf;
+}
+.ui.celled.grid > .column:not(.row),
+.ui.celled.grid > .row > .column {
+ display: table-cell;
+ padding: 0.75em;
+ -webkit-box-shadow: -1px 0px 0px 0px #dfdfdf;
+ box-shadow: -1px 0px 0px 0px #dfdfdf;
+}
+.ui.celled.grid > .column:first-child,
+.ui.celled.grid > .row > .column:first-child {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.celled.page.grid {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*----------------------
+ Horizontally Centered
+-----------------------*/
+/* Vertical Centered */
+.ui.left.aligned.grid,
+.ui.left.aligned.grid > .row > .column,
+.ui.left.aligned.grid > .column,
+.ui.grid .left.aligned.column,
+.ui.grid > .left.aligned.row > .column {
+ text-align: left;
+}
+.ui.center.aligned.grid,
+.ui.center.aligned.grid > .row > .column,
+.ui.center.aligned.grid > .column,
+.ui.grid .center.aligned.column,
+.ui.grid > .center.aligned.row > .column {
+ text-align: center;
+}
+.ui.right.aligned.grid,
+.ui.right.aligned.grid > .row > .column,
+.ui.right.aligned.grid > .column,
+.ui.grid .right.aligned.column,
+.ui.grid > .right.aligned.row > .column {
+ text-align: right;
+}
+.ui.justified.grid,
+.ui.justified.grid > .row > .column,
+.ui.justified.grid > .column,
+.ui.grid .justified.column,
+.ui.grid > .justified.row > .column {
+ text-align: justify;
+ -webkit-hyphens: auto;
+ -moz-hyphens: auto;
+ -ms-hyphens: auto;
+ hyphens: auto;
+}
+/*----------------------
+ Vertically Centered
+-----------------------*/
+/* Vertical Centered */
+.ui.top.aligned.grid,
+.ui.top.aligned.grid > .row > .column,
+.ui.top.aligned.grid > .column,
+.ui.grid .top.aligned.column,
+.ui.grid > .top.aligned.row > .column {
+ vertical-align: top;
+}
+.ui.middle.aligned.grid,
+.ui.middle.aligned.grid > .row > .column,
+.ui.middle.aligned.grid > .column,
+.ui.grid .middle.aligned.column,
+.ui.grid > .middle.aligned.row > .column {
+ vertical-align: middle;
+}
+.ui.bottom.aligned.grid,
+.ui.bottom.aligned.grid > .row > .column,
+.ui.bottom.aligned.grid > .column,
+.ui.grid .bottom.aligned.column,
+.ui.grid > .bottom.aligned.row > .column {
+ vertical-align: bottom;
+}
+/*----------------------
+ Equal Height Columns
+-----------------------*/
+.ui.grid > .equal.height.row {
+ display: table;
+ width: 100%;
+}
+.ui.grid > .equal.height.row > .column {
+ display: table-cell;
+}
+/*----------------------
+ Only (Device)
+-----------------------*/
+/* Mobile Only */
+ at media only screen and (max-width: 767px) {
+ .ui.mobile.only.grid,
+ .ui.grid > .mobile.only.row {
+ display: block !important;
+ }
+ .ui.grid > .row > .mobile.only.column {
+ display: inline-block !important;
+ }
+ .ui.divided.mobile.only.grid,
+ .ui.celled.mobile.only.grid,
+ .ui.divided.mobile.only.grid .row,
+ .ui.celled.mobile.only.grid .row,
+ .ui.divided.grid .mobile.only.row,
+ .ui.celled.grid .mobile.only.row,
+ .ui.grid .mobile.only.equal.height.row,
+ .ui.mobile.only.grid .equal.height.row {
+ display: table !important;
+ }
+ .ui.divided.grid > .row > .mobile.only.column,
+ .ui.celled.grid > .row > .mobile.only.column,
+ .ui.divided.mobile.only.grid > .row > .column,
+ .ui.celled.mobile.only.grid > .row > .column,
+ .ui.divided.mobile.only.grid > .column,
+ .ui.celled.mobile.only.grid > .column {
+ display: table-cell !important;
+ }
+}
+ at media only screen and (min-width: 768px) {
+ .ui.mobile.only.grid,
+ .ui.grid > .mobile.only.row,
+ .ui.grid > .mobile.only.column,
+ .ui.grid > .row > .mobile.only.column {
+ display: none;
+ }
+}
+/* Tablet Only */
+ at media only screen and (min-width: 768px) and (max-width: 991px) {
+ .ui.tablet.only.grid,
+ .ui.grid > .tablet.only.row {
+ display: block !important;
+ }
+ .ui.grid > .row > .tablet.only.column {
+ display: inline-block !important;
+ }
+ .ui.divided.tablet.only.grid,
+ .ui.celled.tablet.only.grid,
+ .ui.divided.tablet.only.grid .row,
+ .ui.celled.tablet.only.grid .row,
+ .ui.divided.grid .tablet.only.row,
+ .ui.celled.grid .tablet.only.row,
+ .ui.grid .tablet.only.equal.height.row,
+ .ui.tablet.only.grid .equal.height.row {
+ display: table !important;
+ }
+ .ui.divided.grid > .row > .tablet.only.column,
+ .ui.celled.grid > .row > .tablet.only.column,
+ .ui.divided.tablet.only.grid > .row > .column,
+ .ui.celled.tablet.only.grid > .row > .column,
+ .ui.divided.tablet.only.grid > .column,
+ .ui.celled.tablet.only.grid > .column {
+ display: table-cell !important;
+ }
+}
+ at media only screen and (max-width: 767px), (min-width: 992px) {
+ .ui.tablet.only.grid,
+ .ui.grid > .tablet.only.row,
+ .ui.grid > .tablet.only.column,
+ .ui.grid > .row > .tablet.only.column {
+ display: none;
+ }
+}
+/* Computer Only */
+ at media only screen and (min-width: 992px) {
+ .ui.computer.only.grid,
+ .ui.grid > .computer.only.row {
+ display: block !important;
+ }
+ .ui.grid > .row > .computer.only.column {
+ display: inline-block !important;
+ }
+ .ui.divided.computer.only.grid,
+ .ui.celled.computer.only.grid,
+ .ui.divided.computer.only.grid .row,
+ .ui.celled.computer.only.grid .row,
+ .ui.divided.grid .computer.only.row,
+ .ui.celled.grid .computer.only.row,
+ .ui.grid .computer.only.equal.height.row,
+ .ui.computer.only.grid .equal.height.row {
+ display: table !important;
+ }
+ .ui.divided.grid > .row > .computer.only.column,
+ .ui.celled.grid > .row > .computer.only.column,
+ .ui.divided.computer.only.grid > .row > .column,
+ .ui.celled.computer.only.grid > .row > .column,
+ .ui.divided.computer.only.grid > .column,
+ .ui.celled.computer.only.grid > .column {
+ display: table-cell !important;
+ }
+}
+ at media only screen and (max-width: 991px) {
+ .ui.computer.only.grid,
+ .ui.grid > .computer.only.row,
+ .ui.grid > .computer.only.column,
+ .ui.grid > .row > .computer.only.column {
+ display: none;
+ }
+}
+/*-------------------
+ Doubling
+--------------------*/
+/* Mobily Only */
+ at media only screen and (max-width: 767px) {
+ .ui.two.column.doubling.grid > .row > .column,
+ .ui.two.column.doubling.grid > .column,
+ .ui.grid > .two.column.doubling.row > .column {
+ width: 100%;
+ }
+ .ui.three.column.doubling.grid > .row > .column,
+ .ui.three.column.doubling.grid > .column,
+ .ui.grid > .three.column.doubling.row > .column {
+ width: 100%;
+ }
+ .ui.four.column.doubling.grid > .row > .column,
+ .ui.four.column.doubling.grid > .column,
+ .ui.grid > .four.column.doubling.row > .column {
+ width: 100%;
+ }
+ .ui.five.column.doubling.grid > .row > .column,
+ .ui.five.column.doubling.grid > .column,
+ .ui.grid > .five.column.doubling.row > .column {
+ width: 100%;
+ }
+ .ui.six.column.doubling.grid > .row > .column,
+ .ui.six.column.doubling.grid > .column,
+ .ui.grid > .six.column.doubling.row > .column {
+ width: 50%;
+ }
+ .ui.seven.column.doubling.grid > .row > .column,
+ .ui.seven.column.doubling.grid > .column,
+ .ui.grid > .seven.column.doubling.row > .column {
+ width: 50%;
+ }
+ .ui.eight.column.doubling.grid > .row > .column,
+ .ui.eight.column.doubling.grid > .column,
+ .ui.grid > .eight.column.doubling.row > .column {
+ width: 50%;
+ }
+ .ui.nine.column.doubling.grid > .row > .column,
+ .ui.nine.column.doubling.grid > .column,
+ .ui.grid > .nine.column.doubling.row > .column {
+ width: 50%;
+ }
+ .ui.ten.column.doubling.grid > .row > .column,
+ .ui.ten.column.doubling.grid > .column,
+ .ui.grid > .ten.column.doubling.row > .column {
+ width: 50%;
+ }
+ .ui.twelve.column.doubling.grid > .row > .column,
+ .ui.twelve.column.doubling.grid > .column,
+ .ui.grid > .twelve.column.doubling.row > .column {
+ width: 33.3333333333333%;
+ }
+ .ui.fourteen.column.doubling.grid > .row > .column,
+ .ui.fourteen.column.doubling.grid > .column,
+ .ui.grid > .fourteen.column.doubling.row > .column {
+ width: 33.3333333333333%;
+ }
+ .ui.sixteen.column.doubling.grid > .row > .column,
+ .ui.sixteen.column.doubling.grid > .column,
+ .ui.grid > .sixteen.column.doubling.row > .column {
+ width: 25%;
+ }
+}
+/* Tablet Only */
+ at media only screen and (min-width: 768px) and (max-width: 991px) {
+ .ui.two.column.doubling.grid > .row > .column,
+ .ui.two.column.doubling.grid > .column,
+ .ui.grid > .two.column.doubling.row > .column {
+ width: 100%;
+ }
+ .ui.three.column.doubling.grid > .row > .column,
+ .ui.three.column.doubling.grid > .column,
+ .ui.grid > .three.column.doubling.row > .column {
+ width: 50%;
+ }
+ .ui.four.column.doubling.grid > .row > .column,
+ .ui.four.column.doubling.grid > .column,
+ .ui.grid > .four.column.doubling.row > .column {
+ width: 50%;
+ }
+ .ui.five.column.doubling.grid > .row > .column,
+ .ui.five.column.doubling.grid > .column,
+ .ui.grid > .five.column.doubling.row > .column {
+ width: 33.3333333%;
+ }
+ .ui.six.column.doubling.grid > .row > .column,
+ .ui.six.column.doubling.grid > .column,
+ .ui.grid > .six.column.doubling.row > .column {
+ width: 33.3333333%;
+ }
+ .ui.eight.column.doubling.grid > .row > .column,
+ .ui.eight.column.doubling.grid > .column,
+ .ui.grid > .eight.column.doubling.row > .column {
+ width: 33.3333333%;
+ }
+ .ui.eight.column.doubling.grid > .row > .column,
+ .ui.eight.column.doubling.grid > .column,
+ .ui.grid > .eight.column.doubling.row > .column {
+ width: 25%;
+ }
+ .ui.nine.column.doubling.grid > .row > .column,
+ .ui.nine.column.doubling.grid > .column,
+ .ui.grid > .nine.column.doubling.row > .column {
+ width: 25%;
+ }
+ .ui.ten.column.doubling.grid > .row > .column,
+ .ui.ten.column.doubling.grid > .column,
+ .ui.grid > .ten.column.doubling.row > .column {
+ width: 20%;
+ }
+ .ui.twelve.column.doubling.grid > .row > .column,
+ .ui.twelve.column.doubling.grid > .column,
+ .ui.grid > .twelve.column.doubling.row > .column {
+ width: 16.6666666%;
+ }
+ .ui.fourteen.column.doubling.grid > .row > .column,
+ .ui.fourteen.column.doubling.grid > .column,
+ .ui.grid > .fourteen.column.doubling.row > .column {
+ width: 14.28571428571429%;
+ }
+ .ui.sixteen.column.doubling.grid > .row > .column,
+ .ui.sixteen.column.doubling.grid > .column,
+ .ui.grid > .sixteen.column.doubling.row > .column {
+ width: 12.5%;
+ }
+}
+/*-------------------
+ Stackable
+--------------------*/
+ at media only screen and (max-width: 767px) {
+ .ui.stackable.grid {
+ display: block !important;
+ padding: 0em;
+ margin: 0em;
+ }
+ .ui.stackable.grid > .row > .column,
+ .ui.stackable.grid > .column {
+ display: block !important;
+ width: auto !important;
+ margin: 1em 0em 0em !important;
+ padding: 1em 0em 0em !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+ }
+ .ui.stackable.divided.grid .column,
+ .ui.stackable.celled.grid .column {
+ border-top: 1px dotted rgba(0, 0, 0, 0.1);
+ }
+ .ui.stackable.grid > .row:first-child > .column:first-child,
+ .ui.stackable.grid > .column:first-child {
+ margin-top: 0em !important;
+ padding-top: 0em !important;
+ }
+ .ui.stackable.divided.grid > .row:first-child > .column:first-child,
+ .ui.stackable.celled.grid > .row:first-child > .column:first-child,
+ .ui.stackable.divided.grid > .column:first-child,
+ .ui.stackable.celled.grid > .column:first-child {
+ border-top: none !important;
+ }
+ .ui.stackable.page.grid > .row > .column,
+ .ui.stackable.page.grid > .column {
+ padding-left: 1em !important;
+ padding-right: 1em !important;
+ }
+ /* Remove pointers from vertical menus */
+ .ui.stackable.grid .vertical.pointing.menu .item:after {
+ display: none;
+ }
+}
+
+/*
+ * # Semantic - Menu
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Standard
+*******************************/
+/*--------------
+ Menu
+---------------*/
+.ui.menu {
+ margin: 1rem 0rem;
+ background-color: #FFFFFF;
+ font-size: 0px;
+ font-weight: normal;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ border-radius: 0.1875rem;
+}
+.ui.menu:first-child {
+ margin-top: 0rem;
+}
+.ui.menu:last-child {
+ margin-bottom: 0rem;
+}
+.ui.menu:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+.ui.menu > .item:first-child {
+ border-radius: 0.1875em 0px 0px 0.1875em;
+}
+.ui.menu > .item:last-child {
+ border-radius: 0px 0.1875em 0.1875em 0px;
+}
+.ui.menu .item {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ vertical-align: middle;
+ line-height: 1;
+ text-decoration: none;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-transition: opacity 0.2s ease, background 0.2s ease, -webkit-box-shadow 0.2s ease;
+ -moz-transition: opacity 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
+ transition: opacity 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
+}
+/*--------------
+ Colors
+---------------*/
+/* Text Color */
+.ui.menu .item,
+.ui.menu .item > a:not(.button) {
+ color: rgba(0, 0, 0, 0.75);
+}
+.ui.menu .item .item,
+.ui.menu .item .item > a:not(.button) {
+ color: rgba(30, 30, 30, 0.7);
+}
+.ui.menu .item .item .item,
+.ui.menu .item .item .item > a:not(.button) {
+ color: rgba(30, 30, 30, 0.6);
+}
+.ui.menu .dropdown .menu .item,
+.ui.menu .dropdown .menu .item a:not(.button) {
+ color: rgba(0, 0, 0, 0.75);
+}
+/* Hover */
+.ui.menu .item .menu a.item:hover,
+.ui.menu .item .menu .link.item:hover {
+ color: rgba(0, 0, 0, 0.85);
+}
+.ui.menu .dropdown .menu .item a:not(.button):hover {
+ color: rgba(0, 0, 0, 0.85);
+}
+/* Active */
+.ui.menu .active.item,
+.ui.menu .active.item a:not(.button) {
+ color: rgba(0, 0, 0, 0.85);
+ border-radius: 0px;
+}
+/*--------------
+ Items
+---------------*/
+.ui.menu .item {
+ position: relative;
+ display: inline-block;
+ padding: 0.83em 0.95em;
+ border-top: 0em solid rgba(0, 0, 0, 0);
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ -moz-user-select: -moz-none;
+ -khtml-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.ui.menu .menu {
+ margin: 0em;
+}
+.ui.menu .item.left,
+.ui.menu .menu.left {
+ float: left;
+}
+.ui.menu .item.right,
+.ui.menu .menu.right {
+ float: right;
+}
+/*--------------
+ Borders
+---------------*/
+.ui.menu .item:before {
+ position: absolute;
+ content: '';
+ top: 0%;
+ left: 0px;
+ width: 1px;
+ height: 100%;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.05)), color-stop(50%, rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.05)));
+ background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.05) 100%);
+ background-image: -moz-linear-gradient(rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.05) 100%);
+ background-image: linear-gradient(rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.05) 100%);
+}
+.ui.menu > .menu:not(.right):first-child > .item:first-child:before,
+.ui.menu .item:first-child:before {
+ display: none;
+}
+.ui.menu .menu.right .item:before,
+.ui.menu .item.right:before {
+ right: auto;
+ left: 0px;
+}
+/*--------------
+ Text Content
+---------------*/
+.ui.menu .text.item > *,
+.ui.menu .item > p:only-child {
+ -webkit-user-select: text;
+ -moz-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+ line-height: 1.3;
+ color: rgba(0, 0, 0, 0.6);
+}
+.ui.menu .item > p:first-child {
+ margin-top: 0px;
+}
+.ui.menu .item > p:last-child {
+ margin-bottom: 0px;
+}
+/*--------------
+ Button
+---------------*/
+.ui.menu:not(.vertical) .item > .button {
+ position: relative;
+ top: -0.05em;
+ margin: -0.55em 0;
+ padding-bottom: 0.55em;
+ padding-top: 0.55em;
+ font-size: 0.875em;
+}
+/*--------------
+ Inputs
+---------------*/
+.ui.menu:not(.vertical) .item > .input {
+ margin-top: -0.85em;
+ margin-bottom: -0.85em;
+ padding-top: 0.3em;
+ padding-bottom: 0.3em;
+ width: 100%;
+ vertical-align: top;
+}
+.ui.menu .item > .input input {
+ padding-top: 0.35em;
+ padding-bottom: 0.35em;
+}
+.ui.vertical.menu .item > .input input {
+ margin: 0em;
+ padding-top: 0.63em;
+ padding-bottom: 0.63em;
+}
+/* Action Input */
+.ui.menu:not(.vertical) .item > .button.labeled > .icon {
+ padding-top: 0.6em;
+}
+.ui.menu:not(.vertical) .item .action.input > .button {
+ font-size: 0.8em;
+ padding: 0.55em 0.8em;
+}
+/* Resizes */
+.ui.small.menu:not(.vertical) .item > .input input {
+ padding-top: 0.4em;
+ padding-bottom: 0.4em;
+}
+.ui.large.menu:not(.vertical) .item > .input input {
+ top: -0.125em;
+ padding-bottom: 0.6em;
+ padding-top: 0.6em;
+}
+.ui.large.menu:not(.vertical) .item .action.input > .button {
+ font-size: 0.8em;
+ padding: 0.9em;
+}
+.ui.large.menu:not(.vertical) .item .action.input > .button > .icon {
+ padding-top: 0.8em;
+}
+/*--------------
+ Header
+---------------*/
+.ui.menu .header.item {
+ background-color: rgba(0, 0, 0, 0.04);
+ margin: 0em;
+}
+.ui.vertical.menu .header.item {
+ font-weight: bold;
+}
+/*--------------
+ Dropdowns
+---------------*/
+.ui.menu .dropdown .menu .item .icon {
+ float: none;
+ margin: 0em 0.75em 0em 0em;
+}
+.ui.menu .dropdown.item .menu {
+ left: 1px;
+ margin: 0px;
+ min-width: -webkit-calc(99%);
+ min-width: -moz-calc(99%);
+ min-width: calc(99%);
+ -webkit-box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.1);
+}
+.ui.secondary.menu .dropdown.item .menu {
+ left: 0px;
+ min-width: 100%;
+}
+.ui.menu .pointing.dropdown.item .menu {
+ margin-top: 0.75em;
+}
+.ui.menu .simple.dropdown.item .menu {
+ margin: 0px !important;
+}
+.ui.menu .dropdown.item .menu .item {
+ width: 100%;
+ color: rgba(0, 0, 0, 0.75);
+}
+.ui.menu .dropdown.item .menu .active.item {
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+}
+.ui.menu .ui.dropdown .menu .item:before {
+ display: none;
+}
+/*--------------
+ Labels
+---------------*/
+.ui.menu .item > .label {
+ background-color: rgba(0, 0, 0, 0.35);
+ color: #FFFFFF;
+ margin: -0.15em 0em -0.15em 0.5em;
+ padding: 0.3em 0.8em;
+ vertical-align: baseline;
+}
+.ui.menu .item > .floating.label {
+ padding: 0.3em 0.8em;
+}
+/*--------------
+ Images
+---------------*/
+.ui.menu .item > img:only-child {
+ display: block;
+ max-width: 100%;
+ margin: 0em auto;
+}
+/*******************************
+ States
+*******************************/
+/*--------------
+ Hover
+---------------*/
+.ui.link.menu .item:hover,
+.ui.menu .link.item:hover,
+.ui.menu a.item:hover,
+.ui.menu .ui.dropdown .menu .item:hover {
+ cursor: pointer;
+ background-color: rgba(0, 0, 0, 0.02);
+}
+.ui.menu .ui.dropdown.item.active {
+ background-color: rgba(0, 0, 0, 0.02);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ -moz-border-bottom-right-radius: 0em;
+ border-bottom-right-radius: 0em;
+ -moz-border-bottom-left-radius: 0em;
+ border-bottom-left-radius: 0em;
+}
+/*--------------
+ Down
+---------------*/
+.ui.link.menu .item:active,
+.ui.menu .link.item:active,
+.ui.menu a.item:active,
+.ui.menu .ui.dropdown .menu .item:active {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+/*--------------
+ Active
+---------------*/
+.ui.menu .active.item {
+ background-color: rgba(0, 0, 0, 0.01);
+ color: rgba(0, 0, 0, 0.95);
+ -webkit-box-shadow: 0em 0.2em 0em inset;
+ box-shadow: 0em 0.2em 0em inset;
+}
+.ui.vertical.menu .active.item {
+ border-radius: 0em;
+ -webkit-box-shadow: 0.2em 0em 0em inset;
+ box-shadow: 0.2em 0em 0em inset;
+}
+.ui.vertical.menu > .active.item:first-child {
+ border-radius: 0em 0.1875em 0em 0em;
+}
+.ui.vertical.menu > .active.item:last-child {
+ border-radius: 0em 0em 0.1875em 0em;
+}
+.ui.vertical.menu > .active.item:only-child {
+ border-radius: 0em 0.1875em 0.1875em 0em;
+}
+.ui.vertical.menu .active.item .menu .active.item {
+ border-left: none;
+}
+.ui.vertical.menu .active.item .menu .active.item {
+ padding-left: 1.5rem;
+}
+.ui.vertical.menu .item .menu .active.item {
+ background-color: rgba(0, 0, 0, 0.03);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*--------------
+ Disabled
+---------------*/
+.ui.menu .item.disabled,
+.ui.menu .item.disabled:hover {
+ cursor: default;
+ color: rgba(0, 0, 0, 0.2);
+ background-color: transparent !important;
+}
+/*--------------------
+ Loading
+---------------------*/
+/* On Form */
+.ui.menu.loading {
+ position: relative;
+}
+.ui.menu.loading:after {
+ position: absolute;
+ top: 0%;
+ left: 0%;
+ content: '';
+ width: 100%;
+ height: 100%;
+ background: rgba(255, 255, 255, 0.8) url(../images/loader-large.gif) no-repeat 50% 50%;
+ visibility: visible;
+}
+/*******************************
+ Types
+*******************************/
+/*--------------
+ Vertical
+---------------*/
+.ui.vertical.menu .item {
+ display: block;
+ height: auto !important;
+ border-top: none;
+ border-left: 0em solid rgba(0, 0, 0, 0);
+ border-right: none;
+}
+.ui.vertical.menu > .item:first-child {
+ border-radius: 0.1875em 0.1875em 0px 0px;
+}
+.ui.vertical.menu > .item:last-child {
+ border-radius: 0px 0px 0.1875em 0.1875em;
+}
+.ui.vertical.menu .item > .label {
+ float: right;
+ text-align: center;
+}
+.ui.vertical.menu .item > i.icon {
+ float: right;
+ width: 1.22em;
+ margin: 0em 0em 0em 0.5em;
+}
+.ui.vertical.menu .item > .label + i.icon {
+ float: none;
+ margin: 0em 0.25em 0em 0em;
+}
+/*--- Border ---*/
+.ui.vertical.menu .item:before {
+ position: absolute;
+ content: '';
+ top: 0%;
+ left: 0px;
+ width: 100%;
+ height: 1px;
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.1) 1.5em, rgba(0, 0, 0, 0.03) 100%);
+ background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.1) 1.5em, rgba(0, 0, 0, 0.03) 100%);
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.03)), color-stop(1.5em, rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.03)));
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.1) 1.5em, rgba(0, 0, 0, 0.03) 100%);
+}
+.ui.vertical.menu .item:first-child:before {
+ background-image: none !important;
+}
+/*--- Dropdown ---*/
+.ui.vertical.menu .dropdown.item > i {
+ float: right;
+ content: "\f0da";
+}
+.ui.vertical.menu .dropdown.item .menu {
+ top: 0% !important;
+ left: 100%;
+ margin: 0px 0px 0px 1px;
+ -webkit-box-shadow: 0 0px 1px 1px #DDDDDD;
+ box-shadow: 0 0px 1px 1px #DDDDDD;
+}
+.ui.vertical.menu .dropdown.item.active {
+ border-top-right-radius: 0em;
+ border-bottom-right-radius: 0em;
+}
+.ui.vertical.menu .dropdown.item .menu .item {
+ font-size: 1rem;
+}
+.ui.vertical.menu .dropdown.item .menu .item i.icon {
+ margin-right: 0em;
+}
+.ui.vertical.menu .dropdown.item.active {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*--- Sub Menu ---*/
+.ui.vertical.menu .item > .menu {
+ margin: 0.5em -0.95em 0em;
+}
+.ui.vertical.menu .item > .menu > .item {
+ padding: 0.5rem 1.5rem;
+ font-size: 0.875em;
+}
+.ui.vertical.menu .item > .menu > .item:before {
+ display: none;
+}
+/*--------------
+ Tiered
+---------------*/
+.ui.tiered.menu > .sub.menu > .item {
+ color: rgba(0, 0, 0, 0.4);
+}
+.ui.tiered.menu > .menu > .item:hover {
+ color: rgba(0, 0, 0, 0.8);
+}
+.ui.tiered.menu .item.active {
+ color: rgba(0, 0, 0, 0.8);
+}
+.ui.tiered.menu > .menu .item.active:after {
+ position: absolute;
+ content: '';
+ margin-top: -1px;
+ top: 100%;
+ left: 0px;
+ width: 100%;
+ height: 2px;
+ background-color: #FBFBFB;
+}
+.ui.tiered.menu .sub.menu {
+ background-color: rgba(0, 0, 0, 0.01);
+ border-radius: 0em;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ color: #FFFFFF;
+}
+.ui.tiered.menu .sub.menu .item {
+ font-size: 0.875rem;
+}
+.ui.tiered.menu .sub.menu .item:before {
+ background-image: none;
+}
+.ui.tiered.menu .sub.menu .active.item {
+ padding-top: 0.83em;
+ background-color: transparent;
+ border-radius: 0 0 0 0;
+ border-top: medium none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ color: rgba(0, 0, 0, 0.7) !important;
+}
+.ui.tiered.menu .sub.menu .active.item:after {
+ display: none;
+}
+/* Inverted */
+.ui.inverted.tiered.menu > .menu > .item {
+ color: rgba(255, 255, 255, 0.5);
+}
+.ui.inverted.tiered.menu .sub.menu {
+ background-color: rgba(0, 0, 0, 0.2);
+}
+.ui.inverted.tiered.menu .sub.menu .item {
+ color: rgba(255, 255, 255, 0.6);
+}
+.ui.inverted.tiered.menu > .menu > .item:hover {
+ color: rgba(255, 255, 255, 0.9);
+}
+.ui.inverted.tiered.menu .active.item:after {
+ display: none;
+}
+.ui.inverted.tiered.menu > .sub.menu > .active.item,
+.ui.inverted.tiered.menu > .menu > .active.item {
+ color: #ffffff !important;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/* Tiered pointing */
+.ui.pointing.tiered.menu > .menu > .item:after {
+ display: none;
+}
+.ui.pointing.tiered.menu > .sub.menu > .item:after {
+ display: block;
+}
+/*--------------
+ Tabular
+---------------*/
+.ui.tabular.menu {
+ background-color: transparent;
+ border-bottom: 1px solid #DCDDDE;
+ border-radius: 0em;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+}
+.ui.tabular.menu .item {
+ background-color: transparent;
+ border-left: 1px solid transparent;
+ border-right: 1px solid transparent;
+ border-top: 1px solid transparent;
+ padding-left: 1.4em;
+ padding-right: 1.4em;
+ color: rgba(0, 0, 0, 0.6);
+}
+.ui.tabular.menu .item:before {
+ display: none;
+}
+/* Hover */
+.ui.tabular.menu .item:hover {
+ background-color: transparent;
+ color: rgba(0, 0, 0, 0.8);
+}
+/* Active */
+.ui.tabular.menu .active.item {
+ position: relative;
+ background-color: #FFFFFF;
+ color: rgba(0, 0, 0, 0.8);
+ border-color: #DCDDDE;
+ font-weight: bold;
+ margin-bottom: -1px;
+ border-bottom: 1px solid #FFFFFF;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ border-radius: 5px 5px 0 0;
+}
+/* Coupling with segment for attachment */
+.ui.attached.tabular.menu {
+ position: relative;
+ z-index: 2;
+}
+.ui.tabular.menu ~ .bottom.attached.segment {
+ margin: 1px 0px 0px 1px;
+}
+/*--------------
+ Pagination
+---------------*/
+.ui.pagination.menu {
+ margin: 0em;
+ display: inline-block;
+ vertical-align: middle;
+}
+.ui.pagination.menu .item {
+ min-width: 3em;
+ text-align: center;
+}
+.ui.pagination.menu .icon.item i.icon {
+ vertical-align: top;
+}
+.ui.pagination.menu.floated {
+ display: block;
+}
+/* active */
+.ui.pagination.menu .active.item {
+ border-top: none;
+ padding-top: 0.83em;
+ background-color: rgba(0, 0, 0, 0.05);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*--------------
+ Secondary
+---------------*/
+.ui.secondary.menu {
+ background-color: transparent;
+ border-radius: 0px;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.secondary.menu > .menu > .item,
+.ui.secondary.menu > .item {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ border: none;
+ height: auto !important;
+ margin: 0em 0.25em;
+ padding: 0.5em 1em;
+ border-radius: 0.3125em;
+}
+.ui.secondary.menu > .menu > .item:before,
+.ui.secondary.menu > .item:before {
+ display: none !important;
+}
+.ui.secondary.menu .item > .input input {
+ background-color: transparent;
+ border: none;
+}
+.ui.secondary.menu .link.item,
+.ui.secondary.menu a.item {
+ opacity: 0.8;
+ -webkit-transition: none;
+ -moz-transition: none;
+ transition: none;
+}
+.ui.secondary.menu .header.item {
+ border-right: 0.1em solid rgba(0, 0, 0, 0.1);
+ background-color: transparent;
+ border-radius: 0em;
+}
+/* hover */
+.ui.secondary.menu .link.item:hover,
+.ui.secondary.menu a.item:hover {
+ opacity: 1;
+}
+/* active */
+.ui.secondary.menu > .menu > .active.item,
+.ui.secondary.menu > .active.item {
+ background-color: rgba(0, 0, 0, 0.08);
+ opacity: 1;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.secondary.vertical.menu > .active.item {
+ border-radius: 0.3125em;
+}
+/* inverted */
+.ui.secondary.inverted.menu .link.item,
+.ui.secondary.inverted.menu a.item {
+ color: rgba(255, 255, 255, 0.5);
+}
+.ui.secondary.inverted.menu .link.item:hover,
+.ui.secondary.inverted.menu a.item:hover {
+ color: rgba(255, 255, 255, 0.9);
+}
+.ui.secondary.inverted.menu .active.item {
+ background-color: rgba(255, 255, 255, 0.1);
+}
+/* disable variations */
+.ui.secondary.item.menu > .item {
+ margin: 0em;
+}
+.ui.secondary.attached.menu {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*---------------------
+ Secondary Pointing
+-----------------------*/
+.ui.secondary.pointing.menu {
+ border-bottom: 3px solid rgba(0, 0, 0, 0.1);
+}
+.ui.secondary.pointing.menu > .menu > .item,
+.ui.secondary.pointing.menu > .item {
+ margin: 0em 0em -3px;
+ padding: 0.6em 0.95em;
+ border-bottom: 3px solid rgba(0, 0, 0, 0);
+ border-radius: 0em;
+ -webkit-transition: color 0.2s
+ ;
+ -moz-transition: color 0.2s
+ ;
+ transition: color 0.2s
+ ;
+}
+/* Item Types */
+.ui.secondary.pointing.menu .header.item {
+ margin-bottom: -3px;
+ background-color: transparent !important;
+ border-right-width: 0px !important;
+ font-weight: bold !important;
+ color: rgba(0, 0, 0, 0.8) !important;
+}
+.ui.secondary.pointing.menu .text.item {
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+}
+.ui.secondary.pointing.menu > .menu > .item:after,
+.ui.secondary.pointing.menu > .item:after {
+ display: none;
+}
+/* Hover */
+.ui.secondary.pointing.menu > .menu > .link.item:hover,
+.ui.secondary.pointing.menu > .link.item:hover,
+.ui.secondary.pointing.menu > .menu > a.item:hover,
+.ui.secondary.pointing.menu > a.item:hover {
+ background-color: transparent;
+ color: rgba(0, 0, 0, 0.7);
+}
+/* Down */
+.ui.secondary.pointing.menu > .menu > .link.item:active,
+.ui.secondary.pointing.menu > .link.item:active,
+.ui.secondary.pointing.menu > .menu > a.item:active,
+.ui.secondary.pointing.menu > a.item:active {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.2);
+}
+/* Active */
+.ui.secondary.pointing.menu > .menu > .item.active,
+.ui.secondary.pointing.menu > .item.active {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.4);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*---------------------
+ Secondary Vertical
+-----------------------*/
+.ui.secondary.vertical.pointing.menu {
+ border: none;
+ border-right: 3px solid rgba(0, 0, 0, 0.1);
+}
+.ui.secondary.vertical.menu > .item {
+ border: none;
+ margin: 0em 0em 0.3em;
+ padding: 0.6em 0.8em;
+ border-radius: 0.1875em;
+}
+.ui.secondary.vertical.menu > .header.item {
+ border-radius: 0em;
+}
+.ui.secondary.vertical.pointing.menu > .item {
+ margin: 0em -3px 0em 0em;
+ border-bottom: none;
+ border-right: 3px solid transparent;
+ border-radius: 0em;
+}
+/* Hover */
+.ui.secondary.vertical.pointing.menu > .item:hover {
+ background-color: transparent;
+ color: rgba(0, 0, 0, 0.7);
+}
+/* Down */
+.ui.secondary.vertical.pointing.menu > .item:active {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.2);
+}
+/* Active */
+.ui.secondary.vertical.pointing.menu > .item.active {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.4);
+ color: rgba(0, 0, 0, 0.85);
+}
+/*--------------
+ Inverted
+---------------*/
+.ui.secondary.inverted.menu {
+ background-color: transparent;
+}
+.ui.secondary.inverted.pointing.menu {
+ border-bottom: 3px solid rgba(255, 255, 255, 0.1);
+}
+.ui.secondary.inverted.pointing.menu > .item {
+ color: rgba(255, 255, 255, 0.7);
+}
+.ui.secondary.inverted.pointing.menu > .header.item {
+ color: #FFFFFF !important;
+}
+/* Hover */
+.ui.secondary.inverted.pointing.menu > .menu > .item:hover,
+.ui.secondary.inverted.pointing.menu > .item:hover {
+ color: rgba(255, 255, 255, 0.85);
+}
+/* Down */
+.ui.secondary.inverted.pointing.menu > .menu > .item:active,
+.ui.secondary.inverted.pointing.menu > .item:active {
+ border-color: rgba(255, 255, 255, 0.4);
+}
+/* Active */
+.ui.secondary.inverted.pointing.menu > .menu > .item.active,
+.ui.secondary.inverted.pointing.menu > .item.active {
+ border-color: rgba(255, 255, 255, 0.8);
+ color: #ffffff;
+}
+/*---------------------
+ Inverted Vertical
+----------------------*/
+.ui.secondary.inverted.vertical.pointing.menu {
+ border-right: 3px solid rgba(255, 255, 255, 0.1);
+ border-bottom: none;
+}
+/*--------------
+ Text Menu
+---------------*/
+.ui.text.menu {
+ background-color: transparent;
+ margin: 1rem -1rem;
+ border-radius: 0px;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.text.menu > .item {
+ opacity: 0.8;
+ margin: 0em 1em;
+ padding: 0em;
+ height: auto !important;
+ border-radius: 0px;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ -webkit-transition: opacity 0.2s ease
+ ;
+ -moz-transition: opacity 0.2s ease
+ ;
+ transition: opacity 0.2s ease
+ ;
+}
+.ui.text.menu > .item:before {
+ display: none !important;
+}
+.ui.text.menu .header.item {
+ background-color: transparent;
+ opacity: 1;
+ color: rgba(50, 50, 50, 0.8);
+ font-size: 0.875rem;
+ padding: 0em;
+ text-transform: uppercase;
+ font-weight: bold;
+}
+/*--- fluid text ---*/
+.ui.text.item.menu .item {
+ margin: 0em;
+}
+/*--- vertical text ---*/
+.ui.vertical.text.menu {
+ margin: 1rem 0em;
+}
+.ui.vertical.text.menu:first-child {
+ margin-top: 0rem;
+}
+.ui.vertical.text.menu:last-child {
+ margin-bottom: 0rem;
+}
+.ui.vertical.text.menu .item {
+ float: left;
+ clear: left;
+ margin: 0.5em 0em;
+}
+.ui.vertical.text.menu .item > i.icon {
+ float: none;
+ margin: 0em 0.83em 0em 0em;
+}
+.ui.vertical.text.menu .header.item {
+ margin: 0.8em 0em;
+}
+/*--- hover ---*/
+.ui.text.menu .item:hover {
+ opacity: 1;
+ background-color: transparent;
+}
+/*--- active ---*/
+.ui.text.menu .active.item {
+ background-color: transparent;
+ padding: 0em;
+ border: none;
+ opacity: 1;
+ font-weight: bold;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/* disable variations */
+.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;
+}
+.ui.inverted.text.menu,
+.ui.inverted.text.menu .item,
+.ui.inverted.text.menu .item:hover,
+.ui.inverted.text.menu .item.active {
+ background-color: transparent;
+}
+/*--------------
+ Icon Only
+---------------*/
+.ui.icon.menu,
+.ui.vertical.icon.menu {
+ width: auto;
+ display: inline-block;
+ height: auto;
+}
+.ui.icon.menu > .item {
+ height: auto;
+ text-align: center;
+ color: rgba(60, 60, 60, 0.7);
+}
+.ui.icon.menu > .item > .icon {
+ display: block;
+ float: none !important;
+ opacity: 1;
+ margin: 0em auto !important;
+}
+.ui.icon.menu .icon:before {
+ opacity: 1;
+}
+/* Item Icon Only */
+.ui.menu .icon.item .icon {
+ margin: 0em;
+}
+.ui.vertical.icon.menu {
+ float: none;
+}
+/*--- inverted ---*/
+.ui.inverted.icon.menu .item {
+ color: rgba(255, 255, 255, 0.8);
+}
+.ui.inverted.icon.menu .icon {
+ color: #ffffff;
+}
+/*--------------
+ Labeled Icon
+---------------*/
+.ui.labeled.icon.menu {
+ text-align: center;
+}
+.ui.labeled.icon.menu > .item > .icon {
+ display: block;
+ font-size: 1.5em !important;
+ margin: 0em auto 0.3em !important;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Colors
+---------------*/
+/*--- Light Colors ---*/
+.ui.menu .green.active.item,
+.ui.green.menu .active.item {
+ border-color: #A1CF64 !important;
+ color: #A1CF64 !important;
+}
+.ui.menu .red.active.item,
+.ui.red.menu .active.item {
+ border-color: #D95C5C !important;
+ color: #D95C5C !important;
+}
+.ui.menu .blue.active.item,
+.ui.blue.menu .active.item {
+ border-color: #6ECFF5 !important;
+ color: #6ECFF5 !important;
+}
+.ui.menu .purple.active.item,
+.ui.purple.menu .active.item {
+ border-color: #564F8A !important;
+ color: #564F8A !important;
+}
+.ui.menu .orange.active.item,
+.ui.orange.menu .active.item {
+ border-color: #F05940 !important;
+ color: #F05940 !important;
+}
+.ui.menu .teal.active.item,
+.ui.teal.menu .active.item {
+ border-color: #00B5AD !important;
+ color: #00B5AD !important;
+}
+/*--------------
+ Inverted
+---------------*/
+.ui.inverted.menu {
+ background-color: #333333;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.inverted.menu .header.item {
+ margin: 0em;
+ background-color: rgba(0, 0, 0, 0.3);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.inverted.menu .item,
+.ui.inverted.menu .item > a {
+ color: #FFFFFF;
+}
+.ui.inverted.menu .item .item,
+.ui.inverted.menu .item .item > a {
+ color: rgba(255, 255, 255, 0.8);
+}
+.ui.inverted.menu .dropdown .menu .item,
+.ui.inverted.menu .dropdown .menu .item a {
+ color: rgba(0, 0, 0, 0.75) !important;
+}
+.ui.inverted.menu .item.disabled,
+.ui.inverted.menu .item.disabled:hover {
+ color: rgba(255, 255, 255, 0.2);
+}
+/*--- Border ---*/
+.ui.inverted.menu .item:before {
+ background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%);
+ background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.03)), color-stop(50%, rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0.03)));
+ background-image: linear-gradient(rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%);
+}
+.ui.vertical.inverted.menu .item:before {
+ background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%);
+ background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%);
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.03)), color-stop(50%, rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0.03)));
+ background-image: linear-gradient(to right, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.03) 100%);
+}
+/*--- Hover ---*/
+.ui.link.inverted.menu .item:hover,
+.ui.inverted.menu .link.item:hover,
+.ui.inverted.menu a.item:hover,
+.ui.inverted.menu .dropdown.item:hover {
+ background-color: rgba(255, 255, 255, 0.1);
+}
+.ui.inverted.menu a.item:hover,
+.ui.inverted.menu .item > a:hover,
+.ui.inverted.menu .item .menu a.item:hover,
+.ui.inverted.menu .item .menu .link.item:hover {
+ color: #ffffff;
+}
+/*--- Down ---*/
+.ui.inverted.menu a.item:active,
+.ui.inverted.menu .dropdown.item:active,
+.ui.inverted.menu .link.item:active,
+.ui.inverted.menu a.item:active {
+ background-color: rgba(255, 255, 255, 0.15);
+}
+/*--- Active ---*/
+.ui.inverted.menu .active.item {
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+ background-color: rgba(255, 255, 255, 0.2);
+}
+.ui.inverted.menu .active.item,
+.ui.inverted.menu .active.item a {
+ color: #ffffff !important;
+}
+.ui.inverted.vertical.menu .item .menu .active.item {
+ background-color: rgba(255, 255, 255, 0.2);
+ color: #ffffff;
+}
+/*--- Pointers ---*/
+.ui.inverted.pointing.menu .active.item:after {
+ background-color: #5B5B5B;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.inverted.pointing.menu .active.item:hover:after {
+ background-color: #4A4A4A;
+}
+/*--------------
+ Selection
+---------------*/
+.ui.selection.menu > .item {
+ color: rgba(0, 0, 0, 0.4);
+}
+.ui.selection.menu > .item:hover {
+ color: rgba(0, 0, 0, 0.6);
+}
+.ui.selection.menu > .item.active {
+ color: rgba(0, 0, 0, 0.85);
+}
+.ui.inverted.selection.menu > .item {
+ color: rgba(255, 255, 255, 0.4);
+}
+.ui.inverted.selection.menu > .item:hover {
+ color: rgba(255, 255, 255, 0.9);
+}
+.ui.inverted.selection.menu > .item.active {
+ color: #FFFFFF;
+}
+/*--------------
+ Floated
+---------------*/
+.ui.floated.menu {
+ float: left;
+ margin: 0rem 0.5rem 0rem 0rem;
+}
+.ui.right.floated.menu {
+ float: right;
+ margin: 0rem 0rem 0rem 0.5rem;
+}
+/*--------------
+ Inverted Colors
+---------------*/
+/*--- Light Colors ---*/
+.ui.grey.menu {
+ background-color: #F0F0F0;
+}
+/*--- Inverted Colors ---*/
+.ui.inverted.green.menu {
+ background-color: #A1CF64;
+}
+.ui.inverted.green.pointing.menu .active.item:after {
+ background-color: #A1CF64;
+}
+.ui.inverted.red.menu {
+ background-color: #D95C5C;
+}
+.ui.inverted.red.pointing.menu .active.item:after {
+ background-color: #F16883;
+}
+.ui.inverted.blue.menu {
+ background-color: #6ECFF5;
+}
+.ui.inverted.blue.pointing.menu .active.item:after {
+ background-color: #6ECFF5;
+}
+.ui.inverted.purple.menu {
+ background-color: #564F8A;
+}
+.ui.inverted.purple.pointing.menu .active.item:after {
+ background-color: #564F8A;
+}
+.ui.inverted.orange.menu {
+ background-color: #F05940;
+}
+.ui.inverted.orange.pointing.menu .active.item:after {
+ background-color: #F05940;
+}
+.ui.inverted.teal.menu {
+ background-color: #00B5AD;
+}
+.ui.inverted.teal.pointing.menu .active.item:after {
+ background-color: #00B5AD;
+}
+/*--------------
+ Fitted
+---------------*/
+.ui.fitted.menu .item,
+.ui.fitted.menu .item .menu .item,
+.ui.menu .fitted.item {
+ padding: 0em;
+}
+.ui.horizontally.fitted.menu .item,
+.ui.horizontally.fitted.menu .item .menu .item,
+.ui.menu .horizontally.fitted.item {
+ padding-top: 0.83em;
+ padding-bottom: 0.83em;
+}
+.ui.vertically.fitted.menu .item,
+.ui.vertically.fitted.menu .item .menu .item,
+.ui.menu .vertically.fitted.item {
+ padding-left: 0.95em;
+ padding-right: 0.95em;
+}
+/*--------------
+ Borderless
+---------------*/
+.ui.borderless.menu .item:before,
+.ui.borderless.menu .item .menu .item:before,
+.ui.menu .borderless.item:before {
+ background-image: none;
+}
+/*-------------------
+ Compact
+--------------------*/
+.ui.compact.menu {
+ display: inline-block;
+ margin: 0em;
+ vertical-align: middle;
+}
+.ui.compact.vertical.menu {
+ width: auto !important;
+}
+.ui.compact.vertical.menu .item:last-child::before {
+ display: block;
+}
+/*-------------------
+ Fluid
+--------------------*/
+.ui.menu.fluid,
+.ui.vertical.menu.fluid {
+ display: block;
+ width: 100% !important;
+}
+/*-------------------
+ Evenly Sized
+--------------------*/
+.ui.item.menu,
+.ui.item.menu .item {
+ width: 100%;
+ padding-left: 0px !important;
+ padding-right: 0px !important;
+ text-align: center;
+}
+.ui.menu.two.item .item {
+ width: 50%;
+}
+.ui.menu.three.item .item {
+ width: 33.333%;
+}
+.ui.menu.four.item .item {
+ width: 25%;
+}
+.ui.menu.five.item .item {
+ width: 20%;
+}
+.ui.menu.six.item .item {
+ width: 16.666%;
+}
+.ui.menu.seven.item .item {
+ width: 14.285%;
+}
+.ui.menu.eight.item .item {
+ width: 12.500%;
+}
+.ui.menu.nine.item .item {
+ width: 11.11%;
+}
+.ui.menu.ten.item .item {
+ width: 10.0%;
+}
+.ui.menu.eleven.item .item {
+ width: 9.09%;
+}
+.ui.menu.twelve.item .item {
+ width: 8.333%;
+}
+/*--------------
+ Fixed
+---------------*/
+.ui.menu.fixed {
+ position: fixed;
+ z-index: 999;
+ margin: 0em;
+ border: none;
+ width: 100%;
+}
+.ui.menu.fixed,
+.ui.menu.fixed .item:first-child,
+.ui.menu.fixed .item:last-child {
+ border-radius: 0px !important;
+}
+.ui.menu.fixed.top {
+ top: 0px;
+ left: 0px;
+ right: auto;
+ bottom: auto;
+}
+.ui.menu.fixed.right {
+ top: 0px;
+ right: 0px;
+ left: auto;
+ bottom: auto;
+ width: auto;
+ height: 100%;
+}
+.ui.menu.fixed.bottom {
+ bottom: 0px;
+ left: 0px;
+ top: auto;
+ right: auto;
+}
+.ui.menu.fixed.left {
+ top: 0px;
+ left: 0px;
+ right: auto;
+ bottom: auto;
+ width: auto;
+ height: 100%;
+}
+/* Coupling with Grid */
+.ui.fixed.menu + .ui.grid {
+ padding-top: 2.75rem;
+}
+/*-------------------
+ Pointing
+--------------------*/
+.ui.pointing.menu .active.item:after {
+ position: absolute;
+ bottom: -0.3em;
+ left: 50%;
+ content: "";
+ margin-left: -0.3em;
+ width: 0.6em;
+ height: 0.6em;
+ border: none;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ border-right: 1px solid rgba(0, 0, 0, 0.1);
+ background-image: none;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+ z-index: 2;
+ -webkit-transition: background 0.2s ease
+ ;
+ -moz-transition: background 0.2s ease
+ ;
+ transition: background 0.2s ease
+ ;
+}
+/* Don't double up pointers */
+.ui.pointing.menu .active.item .menu .active.item:after {
+ display: none;
+}
+.ui.vertical.pointing.menu .active.item:after {
+ position: absolute;
+ top: 50%;
+ margin-top: -0.3em;
+ right: -0.4em;
+ bottom: auto;
+ left: auto;
+ border: none;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ border-right: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* Colors */
+.ui.pointing.menu .active.item:after {
+ background-color: #FCFCFC;
+}
+.ui.pointing.menu .active.item:hover:after {
+ background-color: #FAFAFA;
+}
+.ui.vertical.pointing.menu .menu .active.item:after {
+ background-color: #F4F4F4;
+}
+.ui.pointing.menu a.active.item:active:after {
+ background-color: #F0F0F0;
+}
+/*--------------
+ Attached
+---------------*/
+.ui.menu.attached {
+ margin: 0rem;
+ border-radius: 0px;
+ /* avoid rgba multiplying */
+ -webkit-box-shadow: 0px 0px 0px 1px #DDDDDD;
+ box-shadow: 0px 0px 0px 1px #DDDDDD;
+}
+.ui.top.attached.menu {
+ border-radius: 0.1875em 0.1875em 0px 0px;
+}
+.ui.menu.bottom.attached {
+ border-radius: 0px 0px 0.1875em 0.1875em;
+}
+/*--------------
+ Sizes
+---------------*/
+.ui.small.menu .item {
+ font-size: 0.875rem;
+}
+.ui.small.vertical.menu {
+ width: 13rem;
+}
+.ui.menu .item {
+ font-size: 1rem;
+}
+.ui.vertical.menu {
+ width: 15rem;
+}
+.ui.large.menu .item {
+ font-size: 1.125rem;
+}
+.ui.large.menu .item .item {
+ font-size: 0.875rem;
+}
+.ui.large.menu .dropdown .item {
+ font-size: 1rem;
+}
+.ui.large.vertical.menu {
+ width: 18rem;
+}
+
+/*
+ * # Semantic - Message
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Message
+*******************************/
+.ui.message {
+ position: relative;
+ min-height: 18px;
+ margin: 1em 0em;
+ height: auto;
+ background-color: #EFEFEF;
+ padding: 1em;
+ line-height: 1.33;
+ color: rgba(0, 0, 0, 0.6);
+ -webkit-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, -webkit-box-shadow 0.1s ease;
+ -moz-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;
+ transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ border-radius: 0.325em 0.325em 0.325em 0.325em;
+}
+.ui.message:first-child {
+ margin-top: 0em;
+}
+.ui.message:last-child {
+ margin-bottom: 0em;
+}
+/*--------------
+ Content
+---------------*/
+/* block with headers */
+.ui.message .header {
+ margin: 0em;
+ font-size: 1.33em;
+ font-weight: bold;
+}
+/* block with paragraphs */
+.ui.message p {
+ opacity: 0.85;
+ margin: 1em 0em;
+}
+.ui.message p:first-child {
+ margin-top: 0em;
+}
+.ui.message p:last-child {
+ margin-bottom: 0em;
+}
+.ui.message .header + p {
+ margin-top: 0.3em;
+}
+.ui.message > :first-child {
+ margin-top: 0em;
+}
+.ui.message > :last-child {
+ margin-bottom: 0em;
+}
+/* block with child list */
+.ui.message ul.list {
+ opacity: 0.85;
+ list-style-position: inside;
+ margin: 0.2em 0em;
+ padding: 0em;
+}
+.ui.message ul.list li {
+ position: relative;
+ list-style-type: none;
+ margin: 0em 0em 0.3em 1em;
+ padding: 0em;
+}
+.ui.message ul.list li:before {
+ position: absolute;
+ content: '\2022';
+ top: -0.05em;
+ left: -0.8em;
+ height: 100%;
+ vertical-align: baseline;
+ opacity: 0.5;
+}
+.ui.message ul.list li:first-child {
+ margin-top: 0em;
+}
+/* dismissable block */
+.ui.message > .close.icon {
+ cursor: pointer;
+ position: absolute;
+ right: 0em;
+ top: 0em;
+ width: 2.5em;
+ height: 2.5em;
+ opacity: 0.7;
+ padding: 0.75em 0em 0em 0.75em;
+ z-index: 2;
+ -webkit-transition: opacity 0.1s linear
+ ;
+ -moz-transition: opacity 0.1s linear
+ ;
+ transition: opacity 0.1s linear
+ ;
+ z-index: 10;
+}
+.ui.message > .close.icon:hover {
+ opacity: 1;
+}
+/*******************************
+ States
+*******************************/
+.ui.message.visible {
+ display: block !important;
+}
+.ui.icon.message.animating,
+.ui.icon.message.visible {
+ display: table !important;
+}
+.ui.message.hidden {
+ display: none !important;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Compact
+---------------*/
+.ui.compact.message {
+ display: inline-block;
+}
+/*--------------
+ Attached
+---------------*/
+.ui.attached.message {
+ margin-left: -1px;
+ margin-right: -1px;
+ margin-bottom: -1px;
+ border-radius: 0.325em 0.325em 0em 0em;
+ -webkit-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.1) inset;
+}
+.ui.attached + .ui.attached.message:not(.top):not(.bottom) {
+ margin-top: -1px;
+ border-radius: 0em;
+}
+.ui.bottom.attached.message {
+ margin-top: -1px;
+ border-radius: 0em 0em 0.325em 0.325em;
+}
+.ui.bottom.attached.message:not(:last-child) {
+ margin-bottom: 1em;
+}
+.ui.attached.icon.message {
+ display: block;
+ width: auto;
+}
+/*--------------
+ Icon
+---------------*/
+.ui.icon.message {
+ display: table;
+ width: 100%;
+}
+.ui.icon.message > .icon:not(.close) {
+ display: table-cell;
+ vertical-align: middle;
+ font-size: 3.8em;
+ opacity: 0.5;
+}
+.ui.icon.message > .icon + .content {
+ padding-left: 1em;
+}
+.ui.icon.message > .content {
+ display: table-cell;
+ vertical-align: middle;
+}
+/*--------------
+ Inverted
+---------------*/
+.ui.inverted.message {
+ background-color: rgba(255, 255, 255, 0.05);
+ color: rgba(255, 255, 255, 0.95);
+}
+/*--------------
+ Floating
+---------------*/
+.ui.floating.message {
+ -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset;
+ box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset;
+}
+/*--------------
+ Colors
+---------------*/
+.ui.black.message {
+ background-color: #333333;
+ color: rgba(255, 255, 255, 0.95);
+}
+/*--------------
+ Types
+---------------*/
+.ui.blue.message,
+.ui.info.message {
+ background-color: #E6F4F9;
+ color: #4D8796;
+}
+/* Green Text Block */
+.ui.green.message {
+ background-color: #DEFCD5;
+ color: #52A954;
+}
+/* Yellow Text Block */
+.ui.yellow.message,
+.ui.warning.message {
+ background-color: #F6F3D5;
+ color: #96904D;
+}
+/* Red Text Block */
+.ui.red.message {
+ background-color: #F1D7D7;
+ color: #A95252;
+}
+/* Success Text Block */
+.ui.success.message,
+.ui.positive.message {
+ background-color: #DEFCD5;
+ color: #52A954;
+}
+/* Error Text Block */
+.ui.error.message,
+.ui.negative.message {
+ background-color: #F1D7D7;
+ color: #A95252;
+}
+/*--------------
+ Sizes
+---------------*/
+.ui.small.message {
+ font-size: 0.875em;
+}
+.ui.message {
+ font-size: 1em;
+}
+.ui.large.message {
+ font-size: 1.125em;
+}
+.ui.huge.message {
+ font-size: 1.5em;
+}
+.ui.massive.message {
+ font-size: 2em;
+}
+
+/*
+ * # Semantic - Table
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Table
+*******************************/
+/* Prototype */
+.ui.table {
+ width: 100%;
+ border-collapse: collapse;
+}
+/* Table Content */
+.ui.table th,
+.ui.table tr,
+.ui.table td {
+ border-collapse: collapse;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-transition: all 0.1s ease-out;
+ -moz-transition: all 0.1s ease-out;
+ transition: all 0.1s ease-out;
+}
+/* Headers */
+.ui.table thead {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.03);
+}
+.ui.table tfoot th {
+ background-color: rgba(0, 0, 0, 0.03);
+}
+.ui.table th {
+ cursor: auto;
+ background-color: rgba(0, 0, 0, 0.05);
+ text-align: left;
+ color: rgba(0, 0, 0, 0.8);
+ padding: 0.5em 0.7em;
+ vertical-align: middle;
+}
+.ui.table thead th:first-child {
+ border-radius: 5px 0px 0px 0px;
+}
+.ui.table thead th:last-child {
+ border-radius: 0px 5px 0px 0px;
+}
+.ui.table tfoot th:first-child {
+ border-radius: 0px 0px 0px 5px;
+}
+.ui.table tfoot th:last-child {
+ border-radius: 0px 0px 5px 0px;
+}
+.ui.table tfoot th:only-child {
+ border-radius: 0px 0px 5px 5px;
+}
+/* Table Cells */
+.ui.table td {
+ padding: 0.40em 0.7em;
+ vertical-align: middle;
+}
+/* Footer */
+.ui.table tfoot {
+ border-top: 1px solid rgba(0, 0, 0, 0.03);
+}
+.ui.table tfoot th {
+ font-weight: normal;
+ font-style: italic;
+}
+/* Table Striping */
+.ui.table tbody tr:nth-child(2n) {
+ background-color: rgba(0, 0, 50, 0.02);
+}
+/* Icons */
+.ui.table > .icon {
+ vertical-align: baseline;
+}
+.ui.table > .icon:only-child {
+ margin: 0em;
+}
+/* Table Segment */
+.ui.table.segment:after {
+ display: none;
+}
+.ui.table.segment.stacked:after {
+ display: block;
+}
+/* Responsive */
+ at media only screen and (max-width: 768px) {
+ .ui.table {
+ display: block;
+ padding: 0em;
+ }
+ .ui.table thead,
+ .ui.table tfoot {
+ display: none;
+ }
+ .ui.table tbody {
+ display: block;
+ }
+ .ui.table tr {
+ display: block;
+ }
+ .ui.table tr > td {
+ width: 100% !important;
+ display: block;
+ border: none !important;
+ padding: 0.25em 0.75em;
+ -webkit-box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.05) !important;
+ box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.05) !important;
+ }
+ .ui.table td:first-child {
+ font-weight: bold;
+ padding-top: 1em;
+ }
+ .ui.table td:last-child {
+ -webkit-box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;
+ box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;
+ padding-bottom: 1em;
+ }
+ /* Clear BG Colors */
+ .ui.table tr > td.warning,
+ .ui.table tr > td.error,
+ .ui.table tr > td.active,
+ .ui.table tr > td.positive,
+ .ui.table tr > td.negative {
+ background-color: transparent !important;
+ }
+}
+/*******************************
+ States
+*******************************/
+/*--------------
+ Hover
+---------------*/
+/* Sortable */
+.ui.sortable.table th.disabled:hover {
+ cursor: auto;
+ text-align: left;
+ font-weight: bold;
+ color: #333333;
+ color: rgba(0, 0, 0, 0.8);
+}
+.ui.sortable.table thead th:hover {
+ background-color: rgba(0, 0, 0, 0.13);
+ color: rgba(0, 0, 0, 0.8);
+}
+/* Inverted Sortable */
+.ui.inverted.sortable.table thead th:hover {
+ background-color: rgba(255, 255, 255, 0.13);
+ color: #ffffff;
+}
+/*--------------
+ Positive
+---------------*/
+.ui.table tr.positive,
+.ui.table td.positive {
+ -webkit-box-shadow: 2px 0px 0px #119000 inset;
+ box-shadow: 2px 0px 0px #119000 inset;
+}
+.ui.table tr.positive td,
+.ui.table td.positive {
+ background-color: #F2F8F0 !important;
+ color: #119000 !important;
+}
+.ui.celled.table tr.positive:hover td,
+.ui.celled.table tr:hover td.positive,
+.ui.table tr.positive:hover td,
+.ui.table td:hover.positive,
+.ui.table th:hover.positive {
+ background-color: #ECF5E9 !important;
+ color: #119000 !important;
+}
+/*--------------
+ Negative
+---------------*/
+.ui.table tr.negative,
+.ui.table td.negative {
+ -webkit-box-shadow: 2px 0px 0px #CD2929 inset;
+ box-shadow: 2px 0px 0px #CD2929 inset;
+}
+.ui.table tr.negative td,
+.ui.table td.negative {
+ background-color: #F9F4F4;
+ color: #CD2929 !important;
+}
+.ui.celled.table tr.negative:hover td,
+.ui.celled.table tr:hover td.negative,
+.ui.table tr.negative:hover td,
+.ui.table td:hover.negative,
+.ui.table th:hover.negative {
+ background-color: #F2E8E8;
+ color: #CD2929;
+}
+/*--------------
+ Error
+---------------*/
+.ui.table tr.error,
+.ui.table td.error {
+ -webkit-box-shadow: 2px 0px 0px #CD2929 inset;
+ box-shadow: 2px 0px 0px #CD2929 inset;
+}
+.ui.table tr.error td,
+.ui.table td.error,
+.ui.table th.error {
+ background-color: #F9F4F4;
+ color: #CD2929;
+}
+.ui.celled.table tr.error:hover td,
+.ui.celled.table tr:hover td.error,
+.ui.table tr.error:hover td,
+.ui.table td:hover.error,
+.ui.table th:hover.error {
+ background-color: #F2E8E8;
+ color: #CD2929;
+}
+/*--------------
+ Warning
+---------------*/
+.ui.table tr.warning,
+.ui.table td.warning {
+ -webkit-box-shadow: 2px 0px 0px #7D6C00 inset;
+ box-shadow: 2px 0px 0px #7D6C00 inset;
+}
+.ui.table tr.warning td,
+.ui.table td.warning,
+.ui.table th.warning {
+ background-color: #FBF6E9;
+ color: #7D6C00;
+}
+.ui.celled.table tr.warning:hover td,
+.ui.celled.table tr:hover td.warning,
+.ui.table tr.warning:hover td,
+.ui.table td:hover.warning,
+.ui.table th:hover.warning {
+ background-color: #F3EDDC;
+ color: #7D6C00;
+}
+/*--------------
+ Active
+---------------*/
+.ui.table tr.active,
+.ui.table td.active {
+ -webkit-box-shadow: 2px 0px 0px rgba(50, 50, 50, 0.9) inset;
+ box-shadow: 2px 0px 0px rgba(50, 50, 50, 0.9) inset;
+}
+.ui.table tr.active td,
+.ui.table tr td.active {
+ background-color: #E0E0E0;
+ color: rgba(50, 50, 50, 0.9);
+ /* border-color: rgba(0, 0, 0, 0.15) !important; */
+}
+/*--------------
+ Disabled
+---------------*/
+.ui.table tr.disabled td,
+.ui.table tr td.disabled,
+.ui.table tr.disabled:hover td,
+.ui.table tr:hover td.disabled {
+ color: rgba(150, 150, 150, 0.3);
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Column Count
+---------------*/
+.ui.two.column.table td {
+ width: 50%;
+}
+.ui.three.column.table td {
+ width: 33.3333%;
+}
+.ui.four.column.table td {
+ width: 25%;
+}
+.ui.five.column.table td {
+ width: 20%;
+}
+.ui.six.column.table td {
+ width: 16.66667%;
+}
+.ui.seven.column.table td {
+ width: 14.2857%;
+}
+.ui.eight.column.table td {
+ width: 12.5%;
+}
+.ui.nine.column.table td {
+ width: 11.1111%;
+}
+.ui.ten.column.table td {
+ width: 10%;
+}
+.ui.eleven.column.table td {
+ width: 9.0909%;
+}
+.ui.twelve.column.table td {
+ width: 8.3333%;
+}
+.ui.thirteen.column.table td {
+ width: 7.6923%;
+}
+.ui.fourteen.column.table td {
+ width: 7.1428%;
+}
+.ui.fifteen.column.table td {
+ width: 6.6666%;
+}
+.ui.sixteen.column.table td {
+ width: 6.25%;
+}
+/* Column Width */
+.ui.table th.one.wide,
+.ui.table td.one.wide {
+ width: 6.25%;
+}
+.ui.table th.two.wide,
+.ui.table td.two.wide {
+ width: 12.5%;
+}
+.ui.table th.three.wide,
+.ui.table td.three.wide {
+ width: 18.75%;
+}
+.ui.table th.four.wide,
+.ui.table td.four.wide {
+ width: 25%;
+}
+.ui.table th.five.wide,
+.ui.table td.five.wide {
+ width: 31.25%;
+}
+.ui.table th.six.wide,
+.ui.table td.six.wide {
+ width: 37.5%;
+}
+.ui.table th.seven.wide,
+.ui.table td.seven.wide {
+ width: 43.75%;
+}
+.ui.table th.eight.wide,
+.ui.table td.eight.wide {
+ width: 50%;
+}
+.ui.table th.nine.wide,
+.ui.table td.nine.wide {
+ width: 56.25%;
+}
+.ui.table th.ten.wide,
+.ui.table td.ten.wide {
+ width: 62.5%;
+}
+.ui.table th.eleven.wide,
+.ui.table td.eleven.wide {
+ width: 68.75%;
+}
+.ui.table th.twelve.wide,
+.ui.table td.twelve.wide {
+ width: 75%;
+}
+.ui.table th.thirteen.wide,
+.ui.table td.thirteen.wide {
+ width: 81.25%;
+}
+.ui.table th.fourteen.wide,
+.ui.table td.fourteen.wide {
+ width: 87.5%;
+}
+.ui.table th.fifteen.wide,
+.ui.table td.fifteen.wide {
+ width: 93.75%;
+}
+.ui.table th.sixteen.wide,
+.ui.table td.sixteen.wide {
+ width: 100%;
+}
+/*--------------
+ Celled
+---------------*/
+.ui.celled.table {
+ color: rgba(0, 0, 0, 0.8);
+}
+.ui.celled.table tbody tr,
+.ui.celled.table tfoot tr {
+ border: none;
+}
+.ui.celled.table th,
+.ui.celled.table td {
+ border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* Coupling with segment */
+.ui.celled.table.segment th:first-child,
+.ui.celled.table.segment td:first-child {
+ border-left: none;
+}
+.ui.celled.table.segment th:last-child,
+.ui.celled.table.segment td:last-child {
+ border-right: none;
+}
+/*--------------
+ Sortable
+---------------*/
+.ui.sortable.table thead th {
+ cursor: pointer;
+ white-space: nowrap;
+}
+.ui.sortable.table thead th.sorted,
+.ui.sortable.table thead th.sorted:hover {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.ui.sortable.table thead th:after {
+ display: inline-block;
+ content: '';
+ width: 1em;
+ opacity: 0.8;
+ margin: 0em 0em 0em 0.5em;
+ font-family: 'Icons';
+ font-style: normal;
+ font-weight: normal;
+ text-decoration: inherit;
+}
+.ui.sortable.table thead th.ascending:after {
+ content: '\25b4';
+}
+.ui.sortable.table thead th.descending:after {
+ content: '\25be';
+}
+/*--------------
+ Inverted
+---------------*/
+/* Text Color */
+.ui.inverted.table td {
+ color: rgba(255, 255, 255, 0.9);
+}
+.ui.inverted.table th {
+ background-color: rgba(0, 0, 0, 0.15);
+ color: rgba(255, 255, 255, 0.9);
+}
+/* Stripes */
+.ui.inverted.table tbody tr:nth-child(2n) {
+ background-color: rgba(255, 255, 255, 0.06);
+}
+/*--------------
+ Definition
+---------------*/
+.ui.definition.table td:first-child {
+ font-weight: bold;
+}
+/*--------------
+ Collapsing
+---------------*/
+.ui.collapsing.table {
+ width: auto;
+}
+/*--------------
+ Basic
+---------------*/
+.ui.basic.table th {
+ background-color: transparent;
+ padding: 0.5em;
+}
+.ui.basic.table tbody tr {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.03);
+}
+.ui.basic.table td {
+ padding: 0.8em 0.5em;
+}
+.ui.basic.table tbody tr:nth-child(2n) {
+ background-color: transparent !important;
+}
+/*--------------
+ Padded
+---------------*/
+.ui.padded.table th,
+.ui.padded.table td {
+ padding: 0.8em 1em;
+}
+.ui.compact.table th {
+ padding: 0.3em 0.5em;
+}
+.ui.compact.table td {
+ padding: 0.2em 0.5em;
+}
+/*--------------
+ Sizes
+---------------*/
+/* Small */
+.ui.small.table {
+ font-size: 0.875em;
+}
+/* Standard */
+.ui.table {
+ font-size: 1em;
+}
+/* Large */
+.ui.large.table {
+ font-size: 1.1em;
+}
+
+/*
+ * # Semantic - basic.Icon (Basic)
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Basic Icon
+*******************************/
+ at font-face {
+ font-family: 'Basic Icons';
+ src: url(../fonts/basic.icons.eot);
+ src: url(../fonts/basic.icons.eot?#iefix) format('embedded-opentype'), url(../fonts/basic.icons.svg#basic.icons) format('svg'), url(../fonts/basic.icons.woff) format('woff'), url(../fonts/basic.icons.ttf) format('truetype');
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-decoration: inherit;
+ text-transform: none;
+}
+i.basic.icon {
+ display: inline-block;
+ opacity: 0.75;
+ margin: 0em 0.25em 0em 0em;
+ width: 1.23em;
+ height: 1em;
+ font-family: 'Basic Icons';
+ font-style: normal;
+ line-height: 1;
+ font-weight: normal;
+ text-decoration: inherit;
+ text-align: center;
+ speak: none;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-font-smoothing: antialiased;
+ -moz-font-smoothing: antialiased;
+ font-smoothing: antialiased;
+}
+/* basic.icons available */
+i.basic.icon.circle.attention:before {
+ content: '\2757';
+}
+/* '❗' */
+i.basic.icon.circle.help:before {
+ content: '\e704';
+}
+/* '' */
+i.basic.icon.circle.info:before {
+ content: '\e705';
+}
+/* '' */
+i.basic.icon.add:before {
+ content: '\2795';
+}
+/* '➕' */
+i.basic.icon.chart:before {
+ content: '📈';
+}
+/* '\1f4c8' */
+i.basic.icon.chart.bar:before {
+ content: '📊';
+}
+/* '\1f4ca' */
+i.basic.icon.chart.pie:before {
+ content: '\e7a2';
+}
+/* '' */
+i.basic.icon.resize.full:before {
+ content: '\e744';
+}
+/* '' */
+i.basic.icon.resize.horizontal:before {
+ content: '\2b0d';
+}
+/* '⬍' */
+i.basic.icon.resize.small:before {
+ content: '\e746';
+}
+/* '' */
+i.basic.icon.resize.vertical:before {
+ content: '\2b0c';
+}
+/* '⬌' */
+i.basic.icon.down:before {
+ content: '\2193';
+}
+/* '↓' */
+i.basic.icon.down.triangle:before {
+ content: '\25be';
+}
+/* '▾' */
+i.basic.icon.down.arrow:before {
+ content: '\e75c';
+}
+/* '' */
+i.basic.icon.left:before {
+ content: '\2190';
+}
+/* '←' */
+i.basic.icon.left.triangle:before {
+ content: '\25c2';
+}
+/* '◂' */
+i.basic.icon.left.arrow:before {
+ content: '\e75d';
+}
+/* '' */
+i.basic.icon.right:before {
+ content: '\2192';
+}
+/* '→' */
+i.basic.icon.right.triangle:before {
+ content: '\25b8';
+}
+/* '▸' */
+i.basic.icon.right.arrow:before {
+ content: '\e75e';
+}
+/* '' */
+i.basic.icon.up:before {
+ content: '\2191';
+}
+/* '↑' */
+i.basic.icon.up.triangle:before {
+ content: '\25b4';
+}
+/* '▴' */
+i.basic.icon.up.arrow:before {
+ content: '\e75f';
+}
+/* '' */
+i.basic.icon.folder:before {
+ content: '\e810';
+}
+/* '' */
+i.basic.icon.open.folder:before {
+ content: '📂';
+}
+/* '\1f4c2' */
+i.basic.icon.globe:before {
+ content: '𝌍';
+}
+/* '\1d30d' */
+i.basic.icon.desk.globe:before {
+ content: '🌐';
+}
+/* '\1f310' */
+i.basic.icon.star:before {
+ content: '\e801';
+}
+/* '' */
+i.basic.icon.star.empty:before {
+ content: '\e800';
+}
+/* '' */
+i.basic.icon.star.half:before {
+ content: '\e701';
+}
+/* '' */
+i.basic.icon.lock:before {
+ content: '🔒';
+}
+/* '\1f512' */
+i.basic.icon.unlock:before {
+ content: '🔓';
+}
+/* '\1f513' */
+i.basic.icon.layout.grid:before {
+ content: '\e80c';
+}
+/* '' */
+i.basic.icon.layout.block:before {
+ content: '\e708';
+}
+/* '' */
+i.basic.icon.layout.list:before {
+ content: '\e80b';
+}
+/* '' */
+i.basic.icon.heart.empty:before {
+ content: '\2661';
+}
+/* '♡' */
+i.basic.icon.heart:before {
+ content: '\2665';
+}
+/* '♥' */
+i.basic.icon.asterisk:before {
+ content: '\2731';
+}
+/* '✱' */
+i.basic.icon.attachment:before {
+ content: '📎';
+}
+/* '\1f4ce' */
+i.basic.icon.attention:before {
+ content: '\26a0';
+}
+/* '⚠' */
+i.basic.icon.trophy:before {
+ content: '🏉';
+}
+/* '\1f3c9' */
+i.basic.icon.barcode:before {
+ content: '\e792';
+}
+/* '' */
+i.basic.icon.cart:before {
+ content: '\e813';
+}
+/* '' */
+i.basic.icon.block:before {
+ content: '🚫';
+}
+/* '\1f6ab' */
+i.basic.icon.book:before {
+ content: '📖';
+}
+i.basic.icon.bookmark:before {
+ content: '🔖';
+}
+/* '\1f516' */
+i.basic.icon.calendar:before {
+ content: '📅';
+}
+/* '\1f4c5' */
+i.basic.icon.cancel:before {
+ content: '\2716';
+}
+/* '✖' */
+i.basic.icon.close:before {
+ content: '\e80d';
+}
+/* '' */
+i.basic.icon.color:before {
+ content: '\e794';
+}
+/* '' */
+i.basic.icon.chat:before {
+ content: '\e720';
+}
+/* '' */
+i.basic.icon.check:before {
+ content: '\2611';
+}
+/* '☑' */
+i.basic.icon.time:before {
+ content: '🕔';
+}
+/* '\1f554' */
+i.basic.icon.cloud:before {
+ content: '\2601';
+}
+/* '☁' */
+i.basic.icon.code:before {
+ content: '\e714';
+}
+/* '' */
+i.basic.icon.email:before {
+ content: '\40';
+}
+/* '@' */
+i.basic.icon.settings:before {
+ content: '\26ef';
+}
+/* '⛯' */
+i.basic.icon.setting:before {
+ content: '\2699';
+}
+/* '⚙' */
+i.basic.icon.comment:before {
+ content: '\e802';
+}
+/* '' */
+i.basic.icon.clockwise.counter:before {
+ content: '\27f2';
+}
+/* '⟲' */
+i.basic.icon.clockwise:before {
+ content: '\27f3';
+}
+/* '⟳' */
+i.basic.icon.cube:before {
+ content: '\e807';
+}
+/* '' */
+i.basic.icon.direction:before {
+ content: '\27a2';
+}
+/* '➢' */
+i.basic.icon.doc:before {
+ content: '📄';
+}
+/* '\1f4c4' */
+i.basic.icon.docs:before {
+ content: '\e736';
+}
+/* '' */
+i.basic.icon.dollar:before {
+ content: '💵';
+}
+/* '\1f4b5' */
+i.basic.icon.paint:before {
+ content: '\e7b5';
+}
+/* '' */
+i.basic.icon.edit:before {
+ content: '\270d';
+}
+/* '✍' */
+i.basic.icon.eject:before {
+ content: '\2ecf';
+}
+/* '⻏' */
+i.basic.icon.export:before {
+ content: '\e715';
+}
+/* '' */
+i.basic.icon.hide:before {
+ content: '\e70b';
+}
+/* '' */
+i.basic.icon.unhide:before {
+ content: '\e80f';
+}
+/* '' */
+i.basic.icon.facebook:before {
+ content: '\f301';
+}
+/* '' */
+i.basic.icon.fast-forward:before {
+ content: '\e804';
+}
+/* '' */
+i.basic.icon.fire:before {
+ content: '🔥';
+}
+/* '\1f525' */
+i.basic.icon.flag:before {
+ content: '\2691';
+}
+/* '⚑' */
+i.basic.icon.lightning:before {
+ content: '\26a1';
+}
+/* '⚡' */
+i.basic.icon.lab:before {
+ content: '\68';
+}
+/* 'h' */
+i.basic.icon.flight:before {
+ content: '\2708';
+}
+/* '✈' */
+i.basic.icon.forward:before {
+ content: '\27a6';
+}
+/* '➦' */
+i.basic.icon.gift:before {
+ content: '🎁';
+}
+/* '\1f381' */
+i.basic.icon.github:before {
+ content: '\f308';
+}
+/* '' */
+i.basic.icon.globe:before {
+ content: '\e817';
+}
+/* '' */
+i.basic.icon.headphones:before {
+ content: '🎧';
+}
+/* '\1f3a7' */
+i.basic.icon.question:before {
+ content: '\2753';
+}
+/* '❓' */
+i.basic.icon.home:before {
+ content: '\2302';
+}
+/* '⌂' */
+i.basic.icon.i:before {
+ content: '\2139';
+}
+/* 'ℹ' */
+i.basic.icon.idea:before {
+ content: '💡';
+}
+/* '\1f4a1' */
+i.basic.icon.open:before {
+ content: '🔗';
+}
+/* '\1f517' */
+i.basic.icon.content:before {
+ content: '\e782';
+}
+/* '' */
+i.basic.icon.location:before {
+ content: '\e724';
+}
+/* '' */
+i.basic.icon.mail:before {
+ content: '\2709';
+}
+/* '✉' */
+i.basic.icon.mic:before {
+ content: '🎤';
+}
+/* '\1f3a4' */
+i.basic.icon.minus:before {
+ content: '\2d';
+}
+/* '-' */
+i.basic.icon.money:before {
+ content: '💰';
+}
+/* '\1f4b0' */
+i.basic.icon.off:before {
+ content: '\e78e';
+}
+/* '' */
+i.basic.icon.pause:before {
+ content: '\e808';
+}
+/* '' */
+i.basic.icon.photos:before {
+ content: '\e812';
+}
+/* '' */
+i.basic.icon.photo:before {
+ content: '🌄';
+}
+/* '\1f304' */
+i.basic.icon.pin:before {
+ content: '📌';
+}
+/* '\1f4cc' */
+i.basic.icon.play:before {
+ content: '\e809';
+}
+/* '' */
+i.basic.icon.plus:before {
+ content: '\2b';
+}
+/* '+' */
+i.basic.icon.print:before {
+ content: '\e716';
+}
+/* '' */
+i.basic.icon.rss:before {
+ content: '\e73a';
+}
+/* '' */
+i.basic.icon.search:before {
+ content: '🔍';
+}
+/* '\1f50d' */
+i.basic.icon.shuffle:before {
+ content: '\e803';
+}
+/* '' */
+i.basic.icon.tag:before {
+ content: '\e80a';
+}
+/* '' */
+i.basic.icon.tags:before {
+ content: '\e70d';
+}
+/* '' */
+i.basic.icon.terminal:before {
+ content: '\e7ac';
+}
+/* '' */
+i.basic.icon.thumbs.down:before {
+ content: '👎';
+}
+/* '\1f44e' */
+i.basic.icon.thumbs.up:before {
+ content: '👍';
+}
+/* '\1f44d' */
+i.basic.icon.to-end:before {
+ content: '\e806';
+}
+/* '' */
+i.basic.icon.to-start:before {
+ content: '\e805';
+}
+/* '' */
+i.basic.icon.top.list:before {
+ content: '🏆';
+}
+/* '\1f3c6' */
+i.basic.icon.trash:before {
+ content: '\e729';
+}
+/* '' */
+i.basic.icon.twitter:before {
+ content: '\f303';
+}
+/* '' */
+i.basic.icon.upload:before {
+ content: '\e711';
+}
+/* '' */
+i.basic.icon.user.add:before {
+ content: '\e700';
+}
+/* '' */
+i.basic.icon.user:before {
+ content: '👤';
+}
+/* '\1f464' */
+i.basic.icon.community:before {
+ content: '\e814';
+}
+/* '' */
+i.basic.icon.users:before {
+ content: '👥';
+}
+/* '\1f465' */
+i.basic.icon.id:before {
+ content: '\e722';
+}
+/* '' */
+i.basic.icon.url:before {
+ content: '🔗';
+}
+/* '\1f517' */
+i.basic.icon.zoom.in:before {
+ content: '\e750';
+}
+/* '' */
+i.basic.icon.zoom.out:before {
+ content: '\e751';
+}
+/* '' */
+/*--------------
+ Spacing Fix
+---------------*/
+/* dropdown arrows are to the right */
+i.dropdown.basic.icon {
+ margin: 0em 0em 0em 0.5em;
+}
+/* stars are usually consecutive */
+i.basic.icon.star {
+ width: auto;
+ margin: 0em;
+}
+/* left side basic.icons */
+i.basic.icon.left,
+i.basic.icon.left,
+i.basic.icon.left {
+ width: auto;
+ margin: 0em 0.5em 0em 0em;
+}
+/* right side basic.icons */
+i.basic.icon.search,
+i.basic.icon.up,
+i.basic.icon.down,
+i.basic.icon.right {
+ width: auto;
+ margin: 0em 0em 0em 0.5em;
+}
+/*--------------
+ Aliases
+---------------*/
+/* aliases for convenience */
+i.basic.icon.delete:before {
+ content: '\e80d';
+}
+/* '' */
+i.basic.icon.dropdown:before {
+ content: '\25be';
+}
+/* '▾' */
+i.basic.icon.help:before {
+ content: '\e704';
+}
+/* '' */
+i.basic.icon.info:before {
+ content: '\e705';
+}
+/* '' */
+i.basic.icon.error:before {
+ content: '\e80d';
+}
+/* '' */
+i.basic.icon.dislike:before {
+ content: '\2661';
+}
+/* '♡' */
+i.basic.icon.like:before {
+ content: '\2665';
+}
+/* '♥' */
+i.basic.icon.eye:before {
+ content: '\e80f';
+}
+/* '' */
+i.basic.icon.eye.hidden:before {
+ content: '\e70b';
+}
+/* '' */
+i.basic.icon.date:before {
+ content: '📅';
+}
+/* '\1f4c5' */
+/*******************************
+ States
+*******************************/
+i.basic.icon.hover {
+ opacity: 1;
+}
+i.basic.icon.active {
+ opacity: 1;
+}
+i.emphasized.basic.icon {
+ opacity: 1;
+}
+i.basic.icon.disabled {
+ opacity: 0.3;
+}
+/*******************************
+ Variations
+*******************************/
+/*-------------------
+ Link
+--------------------*/
+i.link.basic.icon {
+ cursor: pointer;
+ opacity: 0.7;
+ -webkit-transition: opacity 0.3s ease-out;
+ -moz-transition: opacity 0.3s ease-out;
+ transition: opacity 0.3s ease-out;
+}
+.link.basic.icon:hover {
+ opacity: 1 !important;
+}
+/*-------------------
+ Circular
+--------------------*/
+i.circular.basic.icon {
+ border-radius: 500px !important;
+ padding: 0.5em 0em !important;
+ -webkit-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
+ line-height: 1 !important;
+ width: 2em !important;
+ height: 2em !important;
+}
+i.circular.inverted.basic.icon {
+ border: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*-------------------
+ Flipped
+--------------------*/
+i.vertically.flipped.basic.icon {
+ -webkit-transform: scale(1, -1);
+ -moz-transform: scale(1, -1);
+ -ms-transform: scale(1, -1);
+ transform: scale(1, -1);
+}
+i.horizontally.flipped.basic.icon {
+ -webkit-transform: scale(-1, 1);
+ -moz-transform: scale(-1, 1);
+ -ms-transform: scale(-1, 1);
+ transform: scale(-1, 1);
+}
+/*-------------------
+ Rotated
+--------------------*/
+i.left.rotated.basic.icon {
+ -webkit-transform: rotate(-90deg);
+ -moz-transform: rotate(-90deg);
+ -ms-transform: rotate(-90deg);
+ transform: rotate(-90deg);
+}
+i.right.rotated.basic.icon {
+ -webkit-transform: rotate(90deg);
+ -moz-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg);
+}
+/*-------------------
+ Square
+--------------------*/
+i.square.basic.icon {
+ width: 2em;
+ height: 2em;
+ padding: 0.5em 0.35em !important;
+ -webkit-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
+ vertical-align: baseline;
+}
+i.square.basic.icon:before {
+ vertical-align: middle;
+}
+i.square.inverted.basic.icon {
+ border: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*-------------------
+ Inverted
+--------------------*/
+i.inverted.basic.icon {
+ background-color: #222222;
+ color: #FFFFFF;
+}
+/*-------------------
+ Colors
+--------------------*/
+i.blue.basic.icon {
+ color: #6ECFF5 !important;
+}
+i.black.basic.icon {
+ color: #5C6166 !important;
+}
+i.green.basic.icon {
+ color: #A1CF64 !important;
+}
+i.red.basic.icon {
+ color: #D95C5C !important;
+}
+i.purple.basic.icon {
+ color: #564F8A !important;
+}
+i.teal.basic.icon {
+ color: #00B5AD !important;
+}
+/*-------------------
+ Inverted Colors
+--------------------*/
+i.inverted.black.basic.icon {
+ background-color: #5C6166 !important;
+ color: #FFFFFF !important;
+}
+i.inverted.blue.basic.icon {
+ background-color: #6ECFF5 !important;
+ color: #FFFFFF !important;
+}
+i.inverted.green.basic.icon {
+ background-color: #A1CF64 !important;
+ color: #FFFFFF !important;
+}
+i.inverted.red.basic.icon {
+ background-color: #D95C5C !important;
+ color: #FFFFFF !important;
+}
+i.inverted.purple.basic.icon {
+ background-color: #564F8A !important;
+ color: #FFFFFF !important;
+}
+i.inverted.teal.basic.icon {
+ background-color: #00B5AD !important;
+ color: #FFFFFF !important;
+}
+/*-------------------
+ Sizes
+--------------------*/
+i.small.basic.icon {
+ font-size: 0.875em;
+}
+i.basic.icon {
+ font-size: 1em;
+}
+i.large.basic.icon {
+ font-size: 1.5em;
+ margin-right: 0.2em;
+ vertical-align: middle;
+}
+i.big.basic.icon {
+ font-size: 2em;
+ margin-right: 0.5em;
+ vertical-align: middle;
+}
+i.huge.basic.icon {
+ font-size: 4em;
+ margin-right: 0.75em;
+ vertical-align: middle;
+}
+i.massive.basic.icon {
+ font-size: 8em;
+ margin-right: 1em;
+ vertical-align: middle;
+}
+
+/*
+ * # Semantic - Button
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Button
+*******************************/
+/* Prototype */
+.ui.button {
+ cursor: pointer;
+ display: inline-block;
+ vertical-align: middle;
+ min-height: 1em;
+ outline: none;
+ border: none;
+ background-color: #FAFAFA;
+ color: #808080;
+ margin: 0em;
+ padding: 0.8em 1.5em;
+ font-size: 1rem;
+ text-transform: uppercase;
+ line-height: 1;
+ font-weight: bold;
+ font-style: normal;
+ text-align: center;
+ text-decoration: none;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.05)));
+ background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05));
+ background-image: -moz-linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05));
+ background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05));
+ border-radius: 0.25em;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08) inset;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08) inset;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ -webkit-transition: opacity 0.25s ease, background-color 0.25s ease, color 0.25s ease, background 0.25s ease, -webkit-box-shadow 0.25s ease;
+ -moz-transition: opacity 0.25s ease, background-color 0.25s ease, color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
+ transition: opacity 0.25s ease, background-color 0.25s ease, color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
+}
+/*******************************
+ States
+*******************************/
+/*--------------
+ Active
+---------------*/
+.ui.buttons .active.button,
+.ui.active.button {
+ background-color: #EAEAEA;
+ background-image: none;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset !important;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset !important;
+ color: rgba(0, 0, 0, 0.7);
+}
+/*--------------
+ Hover
+---------------*/
+.ui.button:hover {
+ background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.08)));
+ background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.08));
+ background-image: -moz-linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.08));
+ background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.08));
+ color: rgba(0, 0, 0, 0.7);
+}
+.ui.button.active:hover {
+ background-image: none;
+}
+.ui.button:hover .icon,
+.ui.button.hover .icon {
+ opacity: 0.85;
+}
+/*--------------
+ Down
+---------------*/
+.ui.button:active,
+.ui.active.button:active {
+ background-color: #F1F1F1;
+ color: rgba(0, 0, 0, 0.7);
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset !important;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset !important;
+}
+/*--------------
+ Loading
+---------------*/
+.ui.loading.button {
+ position: relative;
+ cursor: default;
+ background-color: #FFFFFF !important;
+ color: transparent !important;
+ -webkit-transition: all 0s linear;
+ -moz-transition: all 0s linear;
+ transition: all 0s linear;
+}
+.ui.loading.button:after {
+ position: absolute;
+ top: 0em;
+ left: 0em;
+ width: 100%;
+ height: 100%;
+ content: '';
+ background: transparent url(../images/loader-mini.gif) no-repeat 50% 50%;
+}
+.ui.labeled.icon.loading.button .icon {
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*-------------------
+ Disabled
+--------------------*/
+.ui.disabled.button,
+.ui.disabled.button:hover,
+.ui.disabled.button.active {
+ background-color: #DDDDDD !important;
+ cursor: default;
+ color: rgba(0, 0, 0, 0.5) !important;
+ opacity: 0.3 !important;
+ background-image: none !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+}
+/*******************************
+ Types
+*******************************/
+/*-------------------
+ Animated
+--------------------*/
+.ui.animated.button {
+ position: relative;
+ overflow: hidden;
+}
+.ui.animated.button .visible.content {
+ position: relative;
+}
+.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;
+ -moz-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.55em;
+}
+.ui.animated.button:hover .visible.content {
+ left: auto;
+ right: 200%;
+}
+.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 0s, -webkit-transform 0.3s ease 0s;
+ -moz-transition: top 0.3s ease 0s, -moz-transform 0.3s ease 0s;
+ transition: top 0.3s ease 0s, transform 0.3s ease 0s;
+}
+.ui.vertical.animated.button .visible.content {
+ -webkit-transform: translateY(0%);
+ -moz-transform: translateY(0%);
+ -ms-transform: translateY(0%);
+ transform: translateY(0%);
+ right: auto;
+}
+.ui.vertical.animated.button .hidden.content {
+ top: -100%;
+ left: 0%;
+ right: auto;
+}
+.ui.vertical.animated.button:hover .visible.content {
+ -webkit-transform: translateY(200%);
+ -moz-transform: translateY(200%);
+ -ms-transform: translateY(200%);
+ transform: translateY(200%);
+ right: auto;
+}
+.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 0s, -webkit-transform 0.3s ease 0s;
+ -moz-transition: opacity 0.3s ease 0s, -moz-transform 0.3s ease 0s;
+ transition: opacity 0.3s ease 0s, transform 0.3s ease 0s;
+}
+.ui.fade.animated.button .visible.content {
+ left: auto;
+ right: auto;
+ opacity: 1;
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
+}
+.ui.fade.animated.button .hidden.content {
+ opacity: 0;
+ left: 0%;
+ right: auto;
+ -webkit-transform: scale(1.2);
+ -moz-transform: scale(1.2);
+ -ms-transform: scale(1.2);
+ transform: scale(1.2);
+}
+.ui.fade.animated.button:hover .visible.content {
+ left: auto;
+ right: auto;
+ opacity: 0;
+ -webkit-transform: scale(0.7);
+ -moz-transform: scale(0.7);
+ -ms-transform: scale(0.7);
+ transform: scale(0.7);
+}
+.ui.fade.animated.button:hover .hidden.content {
+ left: 0%;
+ right: auto;
+ opacity: 1;
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
+}
+/*-------------------
+ Primary
+--------------------*/
+.ui.primary.buttons .button,
+.ui.primary.button {
+ background-color: #D95C5C;
+ color: #FFFFFF;
+}
+.ui.primary.buttons .button:hover,
+.ui.primary.button:hover,
+.ui.primary.buttons .active.button,
+.ui.primary.button.active {
+ background-color: #E75859;
+ color: #FFFFFF;
+}
+.ui.primary.buttons .button:active,
+.ui.primary.button:active {
+ background-color: #D24B4C;
+ color: #FFFFFF;
+}
+/*-------------------
+ Secondary
+--------------------*/
+.ui.secondary.buttons .button,
+.ui.secondary.button {
+ background-color: #00B5AD;
+ color: #FFFFFF;
+}
+.ui.secondary.buttons .button:hover,
+.ui.secondary.button:hover,
+.ui.secondary.buttons .active.button,
+.ui.secondary.button.active {
+ background-color: #009A93;
+ color: #FFFFFF;
+}
+.ui.secondary.buttons .button:active,
+.ui.secondary.button:active {
+ background-color: #00847E;
+ color: #FFFFFF;
+}
+/*-------------------
+ Social
+--------------------*/
+/* Facebook */
+.ui.facebook.button {
+ background-color: #3B579D;
+ color: #FFFFFF;
+}
+.ui.facebook.button:hover {
+ background-color: #3A59A9;
+ color: #FFFFFF;
+}
+.ui.facebook.button:active {
+ background-color: #334F95;
+ color: #FFFFFF;
+}
+/* Twitter */
+.ui.twitter.button {
+ background-color: #4092CC;
+ color: #FFFFFF;
+}
+.ui.twitter.button:hover {
+ background-color: #399ADE;
+ color: #FFFFFF;
+}
+.ui.twitter.button:active {
+ background-color: #3283BC;
+ color: #FFFFFF;
+}
+/* Google Plus */
+.ui.google.plus.button {
+ background-color: #D34836;
+ color: #FFFFFF;
+}
+.ui.google.plus.button:hover {
+ background-color: #E3432E;
+ color: #FFFFFF;
+}
+.ui.google.plus.button:active {
+ background-color: #CA3A27;
+ color: #FFFFFF;
+}
+/* Linked In */
+.ui.linkedin.button {
+ background-color: #1F88BE;
+ color: #FFFFFF;
+}
+.ui.linkedin.button:hover {
+ background-color: #1394D6;
+ color: #FFFFFF;
+}
+.ui.linkedin.button:active {
+ background-color: #1179AE;
+ color: #FFFFFF;
+}
+/* YouTube */
+.ui.youtube.button {
+ background-color: #CC181E;
+ color: #FFFFFF;
+}
+.ui.youtube.button:hover {
+ background-color: #DF0209;
+ color: #FFFFFF;
+}
+.ui.youtube.button:active {
+ background-color: #A50006;
+ color: #FFFFFF;
+}
+/* Instagram */
+.ui.instagram.button {
+ background-color: #49769C;
+ color: #FFFFFF;
+}
+.ui.instagram.button:hover {
+ background-color: #4781B1;
+ color: #FFFFFF;
+}
+.ui.instagram.button:active {
+ background-color: #38658A;
+ color: #FFFFFF;
+}
+/* Pinterest */
+.ui.pinterest.button {
+ background-color: #00ACED;
+ color: #FFFFFF;
+}
+.ui.pinterest.button:hover {
+ background-color: #00B9FF;
+ color: #FFFFFF;
+}
+.ui.pinterest.button:active {
+ background-color: #009EDA;
+ color: #FFFFFF;
+}
+/* vk.com */
+.ui.vk.button {
+ background-color: #4D7198;
+ color: #FFFFFF;
+}
+.ui.vk.button:hover {
+ background-color: #537AA5;
+ color: #FFFFFF;
+}
+.ui.vk.button:active {
+ background-color: #405E7E;
+ color: #FFFFFF;
+}
+/*--------------
+ Icon
+---------------*/
+.ui.button > .icon {
+ margin-right: 0.6em;
+ line-height: 1;
+ -webkit-transition: opacity 0.1s ease
+ ;
+ -moz-transition: opacity 0.1s ease
+ ;
+ transition: opacity 0.1s ease
+ ;
+}
+/*******************************
+ Variations
+*******************************/
+/*-------------------
+ Floated
+--------------------*/
+.ui.left.floated.buttons,
+.ui.left.floated.button {
+ float: left;
+ margin-right: 0.25em;
+}
+.ui.right.floated.buttons,
+.ui.right.floated.button {
+ float: right;
+ margin-left: 0.25em;
+}
+/*-------------------
+ Sizes
+--------------------*/
+.ui.buttons .button,
+.ui.button {
+ font-size: 1rem;
+}
+.ui.mini.buttons .button,
+.ui.mini.buttons .or,
+.ui.mini.button {
+ font-size: 0.8rem;
+}
+.ui.mini.buttons .button,
+.ui.mini.button {
+ padding: 0.6em 0.8em;
+}
+.ui.mini.icon.buttons .button,
+.ui.mini.buttons .icon.button {
+ padding: 0.6em 0.6em;
+}
+.ui.tiny.buttons .button,
+.ui.tiny.buttons .or,
+.ui.tiny.button {
+ font-size: 0.875em;
+}
+.ui.tiny.buttons .button,
+.ui.tiny.buttons .button,
+.ui.tiny.button {
+ padding: 0.6em 0.8em;
+}
+.ui.tiny.icon.buttons .button,
+.ui.tiny.buttons .icon.button {
+ padding: 0.6em 0.6em;
+}
+.ui.small.buttons .button,
+.ui.small.buttons .or,
+.ui.small.button {
+ font-size: 0.875rem;
+}
+.ui.large.buttons .button,
+.ui.large.buttons .or,
+.ui.large.button {
+ font-size: 1.125rem;
+}
+.ui.big.buttons .button,
+.ui.big.buttons .or,
+.ui.big.button {
+ font-size: 1.25rem;
+}
+.ui.huge.buttons .button,
+.ui.huge.buttons .or,
+.ui.huge.button {
+ font-size: 1.375rem;
+}
+.ui.massive.buttons .button,
+.ui.massive.buttons .or,
+.ui.massive.button {
+ font-size: 1.5rem;
+ font-weight: bold;
+}
+/* Or resize */
+.ui.tiny.buttons .or:before,
+.ui.mini.buttons .or:before {
+ width: 1.45em;
+ height: 1.55em;
+ line-height: 1.4;
+ margin-left: -0.725em;
+ margin-top: -0.25em;
+}
+.ui.tiny.buttons .or:after,
+.ui.mini.buttons .or:after {
+ height: 1.45em;
+}
+/* loading */
+.ui.huge.loading.button:after {
+ background-image: url(../images/loader-small.gif);
+}
+.ui.massive.buttons .loading.button:after,
+.ui.gigantic.buttons .loading.button:after,
+.ui.massive.loading.button:after,
+.ui.gigantic.loading.button:after {
+ background-image: url(../images/loader-medium.gif);
+}
+.ui.huge.loading.button:after,
+.ui.huge.loading.button.active:after {
+ background-image: url(../images/loader-small.gif);
+}
+.ui.massive.buttons .loading.button:after,
+.ui.gigantic.buttons .loading.button:after,
+.ui.massive.loading.button:after,
+.ui.gigantic.loading.button:after,
+.ui.massive.buttons .loading.button.active:after,
+.ui.gigantic.buttons .loading.button.active:after,
+.ui.massive.loading.button.active:after,
+.ui.gigantic.loading.button.active:after {
+ background-image: url(../images/loader-medium.gif);
+}
+/*--------------
+ Icon Only
+---------------*/
+.ui.icon.buttons .button,
+.ui.icon.button {
+ padding: 0.8em;
+}
+.ui.icon.buttons .button > .icon,
+.ui.icon.button > .icon {
+ opacity: 0.9;
+ margin: 0em;
+ vertical-align: top;
+}
+/*-------------------
+ Basic
+--------------------*/
+.ui.basic.buttons .button,
+.ui.basic.button {
+ background-color: transparent !important;
+ background-image: none;
+ color: #808080 !important;
+ font-weight: normal;
+ text-transform: none;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+}
+.ui.basic.buttons {
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+ border-radius: 0.25em;
+}
+.ui.basic.buttons .button:hover,
+.ui.basic.button:hover {
+ background-image: none;
+ color: #7F7F7F !important;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.18) inset;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.18) inset;
+}
+.ui.basic.buttons .button:active,
+.ui.basic.button:active {
+ background-color: rgba(0, 0, 0, 0.02) !important;
+ color: #7F7F7F !important;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+}
+.ui.basic.buttons .button.active,
+.ui.basic.button.active {
+ background-color: rgba(0, 0, 0, 0.05);
+ color: #7F7F7F;
+ -webkit-box-shadow: 0px 0px 0px 1px #BDBDBD inset;
+ box-shadow: 0px 0px 0px 1px #BDBDBD inset;
+}
+.ui.basic.buttons .button.active:hover,
+.ui.basic.button.active:hover {
+ background-color: rgba(0, 0, 0, 0.1);
+}
+/* Inverted */
+.ui.basic.inverted.buttons .button,
+.ui.basic.inverted.button {
+ color: #FAFAFA !important;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.3) inset;
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.3) inset;
+}
+.ui.basic.inverted.buttons .button:hover,
+.ui.basic.inverted.button:hover {
+ background-image: none;
+ color: #FFFFFF !important;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.5) inset;
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.5) inset;
+}
+.ui.basic.inverted.buttons .button:active,
+.ui.basic.inverted.button:active {
+ background-color: rgba(255, 255, 255, 0.05) !important;
+ color: #FFFFFF !important;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.8) inset !important;
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.8) inset !important;
+}
+.ui.basic.inverted.buttons .button.active,
+.ui.basic.inverted.button.active {
+ background-color: rgba(255, 255, 255, 0.5);
+ color: #FFFFFF;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.basic.inverted.buttons .button.active:hover,
+.ui.basic.inverted.button.active:hover {
+ background-color: rgba(0, 0, 0, 0.1);
+}
+/* Basic Group */
+.ui.basic.buttons .button {
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.basic.buttons .button:hover,
+.ui.basic.buttons .button:active {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.basic.buttons .button.active,
+.ui.basic.buttons .button.active:hover {
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset;
+}
+/*--------------
+ Labeled Icon
+---------------*/
+.ui.labeled.icon.buttons .button,
+.ui.labeled.icon.button {
+ position: relative;
+ padding-left: 4em !important;
+ padding-right: 1.4em !important;
+}
+.ui.labeled.icon.buttons > .button > .icon,
+.ui.labeled.icon.button > .icon {
+ position: absolute;
+ top: 0em;
+ left: 0em;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 2.75em;
+ height: 100%;
+ padding-top: 0.8em;
+ background-color: rgba(0, 0, 0, 0.05);
+ text-align: center;
+ border-radius: 0.25em 0px 0px 0.25em;
+ line-height: 1;
+ -webkit-box-shadow: -1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset;
+ box-shadow: -1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset;
+}
+.ui.labeled.icon.buttons .button > .icon {
+ border-radius: 0em;
+}
+.ui.labeled.icon.buttons .button:first-child > .icon {
+ border-top-left-radius: 0.25em;
+ border-bottom-left-radius: 0.25em;
+}
+.ui.labeled.icon.buttons .button:last-child > .icon {
+ border-top-right-radius: 0.25em;
+ border-bottom-right-radius: 0.25em;
+}
+.ui.vertical.labeled.icon.buttons .button:first-child > .icon {
+ border-radius: 0em;
+ border-top-left-radius: 0.25em;
+}
+.ui.vertical.labeled.icon.buttons .button:last-child > .icon {
+ border-radius: 0em;
+ border-bottom-left-radius: 0.25em;
+}
+.ui.right.labeled.icon.button {
+ padding-left: 1.4em !important;
+ padding-right: 4em !important;
+}
+.ui.left.fluid.labeled.icon.button,
+.ui.right.fluid.labeled.icon.button {
+ padding-left: 1.4em !important;
+ padding-right: 1.4em !important;
+}
+.ui.right.labeled.icon.button .icon {
+ left: auto;
+ right: 0em;
+ border-radius: 0em 0.25em 0.25em 0em;
+ -webkit-box-shadow: 1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset;
+ box-shadow: 1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset;
+}
+/*--------------
+ Toggle
+---------------*/
+/* Toggle (Modifies active state to give affordances) */
+.ui.toggle.buttons .active.button,
+.ui.buttons .button.toggle.active,
+.ui.button.toggle.active {
+ background-color: #5BBD72 !important;
+ color: #FFFFFF !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+}
+.ui.button.toggle.active:hover {
+ background-color: #58CB73 !important;
+ color: #FFFFFF !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+}
+/*--------------
+ Circular
+---------------*/
+.ui.circular.button {
+ border-radius: 10em;
+}
+/*--------------
+ Attached
+---------------*/
+.ui.attached.button {
+ display: block;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important;
+}
+.ui.attached.top.button {
+ border-radius: 0.25em 0.25em 0em 0em;
+}
+.ui.attached.bottom.button {
+ border-radius: 0em 0em 0.25em 0.25em;
+}
+.ui.attached.left.button {
+ display: inline-block;
+ border-left: none;
+ padding-right: 0.75em;
+ text-align: right;
+ border-radius: 0.25em 0em 0em 0.25em;
+}
+.ui.attached.right.button {
+ display: inline-block;
+ padding-left: 0.75em;
+ text-align: left;
+ border-radius: 0em 0.25em 0.25em 0em;
+}
+/*-------------------
+ Or Buttons
+--------------------*/
+.ui.buttons .or {
+ position: relative;
+ float: left;
+ width: 0.3em;
+ height: 1.1em;
+ z-index: 3;
+}
+.ui.buttons .or:before {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ content: 'or';
+ background-color: #FFFFFF;
+ margin-top: -0.1em;
+ margin-left: -0.9em;
+ width: 1.8em;
+ height: 1.8em;
+ line-height: 1.55;
+ color: #AAAAAA;
+ font-style: normal;
+ font-weight: normal;
+ text-align: center;
+ border-radius: 500px;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.ui.buttons .or[data-text]:before {
+ content: attr(data-text);
+}
+.ui.buttons .or:after {
+ position: absolute;
+ top: 0em;
+ left: 0em;
+ content: ' ';
+ width: 0.3em;
+ height: 1.7em;
+ background-color: transparent;
+ border-top: 0.5em solid #FFFFFF;
+ border-bottom: 0.5em solid #FFFFFF;
+}
+/* Fluid Or */
+.ui.fluid.buttons .or {
+ width: 0em !important;
+}
+.ui.fluid.buttons .or:after {
+ display: none;
+}
+/*-------------------
+ Attached
+--------------------*/
+/* Plural Attached */
+.attached.ui.buttons {
+ margin: 0px;
+ border-radius: 4px 4px 0px 0px;
+}
+.attached.ui.buttons .button:first-child {
+ border-radius: 4px 0px 0px 0px;
+}
+.attached.ui.buttons .button:last-child {
+ border-radius: 0px 4px 0px 0px;
+}
+/* Bottom Side */
+.bottom.attached.ui.buttons {
+ margin-top: -1px;
+ border-radius: 0px 0px 4px 4px;
+}
+.bottom.attached.ui.buttons .button:first-child {
+ border-radius: 0px 0px 0px 4px;
+}
+.bottom.attached.ui.buttons .button:last-child {
+ border-radius: 0px 0px 4px 0px;
+}
+/* Left Side */
+.left.attached.ui.buttons {
+ margin-left: -1px;
+ border-radius: 0px 4px 4px 0px;
+}
+.left.attached.ui.buttons .button:first-child {
+ margin-left: -1px;
+ border-radius: 0px 4px 0px 0px;
+}
+.left.attached.ui.buttons .button:last-child {
+ margin-left: -1px;
+ border-radius: 0px 0px 4px 0px;
+}
+/* Right Side */
+.right.attached.ui.buttons,
+.right.attached.ui.buttons .button {
+ margin-right: -1px;
+ border-radius: 4px 0px 0px 4px;
+}
+.right.attached.ui.buttons .button:first-child {
+ margin-left: -1px;
+ border-radius: 4px 0px 0px 0px;
+}
+.right.attached.ui.buttons .button:last-child {
+ margin-left: -1px;
+ border-radius: 0px 0px 0px 4px;
+}
+/* Fluid */
+.ui.fluid.buttons,
+.ui.button.fluid,
+.ui.fluid.buttons > .button {
+ display: block;
+ width: 100%;
+}
+.ui.\32.buttons > .button,
+.ui.two.buttons > .button {
+ width: 50%;
+}
+.ui.\33.buttons > .button,
+.ui.three.buttons > .button {
+ width: 33.333%;
+}
+.ui.\34.buttons > .button,
+.ui.four.buttons > .button {
+ width: 25%;
+}
+.ui.\35.buttons > .button,
+.ui.five.buttons > .button {
+ width: 20%;
+}
+.ui.\36.buttons > .button,
+.ui.six.buttons > .button {
+ width: 16.666%;
+}
+.ui.\37.buttons > .button,
+.ui.seven.buttons > .button {
+ width: 14.285%;
+}
+.ui.\38.buttons > .button,
+.ui.eight.buttons > .button {
+ width: 12.500%;
+}
+.ui.\39.buttons > .button,
+.ui.nine.buttons > .button {
+ width: 11.11%;
+}
+.ui.\31\30.buttons > .button,
+.ui.ten.buttons > .button {
+ width: 10%;
+}
+.ui.\31\31.buttons > .button,
+.ui.eleven.buttons > .button {
+ width: 9.09%;
+}
+.ui.\31\32.buttons > .button,
+.ui.twelve.buttons > .button {
+ width: 8.3333%;
+}
+/* Fluid Vertical Buttons */
+.ui.fluid.vertical.buttons,
+.ui.fluid.vertical.buttons > .button {
+ display: block;
+ width: auto;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.ui.\32.vertical.buttons > .button,
+.ui.two.vertical.buttons > .button {
+ height: 50%;
+}
+.ui.\33.vertical.buttons > .button,
+.ui.three.vertical.buttons > .button {
+ height: 33.333%;
+}
+.ui.\34.vertical.buttons > .button,
+.ui.four.vertical.buttons > .button {
+ height: 25%;
+}
+.ui.\35.vertical.buttons > .button,
+.ui.five.vertical.buttons > .button {
+ height: 20%;
+}
+.ui.\36.vertical.buttons > .button,
+.ui.six.vertical.buttons > .button {
+ height: 16.666%;
+}
+.ui.\37.vertical.buttons > .button,
+.ui.seven.vertical.buttons > .button {
+ height: 14.285%;
+}
+.ui.\38.vertical.buttons > .button,
+.ui.eight.vertical.buttons > .button {
+ height: 12.500%;
+}
+.ui.\39.vertical.buttons > .button,
+.ui.nine.vertical.buttons > .button {
+ height: 11.11%;
+}
+.ui.\31\30.vertical.buttons > .button,
+.ui.ten.vertical.buttons > .button {
+ height: 10%;
+}
+.ui.\31\31.vertical.buttons > .button,
+.ui.eleven.vertical.buttons > .button {
+ height: 9.09%;
+}
+.ui.\31\32.vertical.buttons > .button,
+.ui.twelve.vertical.buttons > .button {
+ height: 8.3333%;
+}
+/*-------------------
+ Colors
+--------------------*/
+/*--- Black ---*/
+.ui.black.buttons .button,
+.ui.black.button {
+ background-color: #5C6166;
+ color: #FFFFFF;
+}
+.ui.black.buttons .button:hover,
+.ui.black.button:hover {
+ background-color: #4C4C4C;
+ color: #FFFFFF;
+}
+.ui.black.buttons .button:active,
+.ui.black.button:active {
+ background-color: #333333;
+ color: #FFFFFF;
+}
+/*--- Green ---*/
+.ui.green.buttons .button,
+.ui.green.button {
+ background-color: #5BBD72;
+ color: #FFFFFF;
+}
+.ui.green.buttons .button:hover,
+.ui.green.button:hover,
+.ui.green.buttons .active.button,
+.ui.green.button.active {
+ background-color: #58cb73;
+ color: #FFFFFF;
+}
+.ui.green.buttons .button:active,
+.ui.green.button:active {
+ background-color: #4CB164;
+ color: #FFFFFF;
+}
+/*--- Red ---*/
+.ui.red.buttons .button,
+.ui.red.button {
+ background-color: #D95C5C;
+ color: #FFFFFF;
+}
+.ui.red.buttons .button:hover,
+.ui.red.button:hover,
+.ui.red.buttons .active.button,
+.ui.red.button.active {
+ background-color: #E75859;
+ color: #FFFFFF;
+}
+.ui.red.buttons .button:active,
+.ui.red.button:active {
+ background-color: #D24B4C;
+ color: #FFFFFF;
+}
+/*--- Orange ---*/
+.ui.orange.buttons .button,
+.ui.orange.button {
+ background-color: #E96633;
+ color: #FFFFFF;
+}
+.ui.orange.buttons .button:hover,
+.ui.orange.button:hover,
+.ui.orange.buttons .active.button,
+.ui.orange.button.active {
+ background-color: #FF7038;
+ color: #FFFFFF;
+}
+.ui.orange.buttons .button:active,
+.ui.orange.button:active {
+ background-color: #DA683B;
+ color: #FFFFFF;
+}
+/*--- Blue ---*/
+.ui.blue.buttons .button,
+.ui.blue.button {
+ background-color: #6ECFF5;
+ color: #FFFFFF;
+}
+.ui.blue.buttons .button:hover,
+.ui.blue.button:hover,
+.ui.blue.buttons .active.button,
+.ui.blue.button.active {
+ background-color: #1AB8F3;
+ color: #FFFFFF;
+}
+.ui.blue.buttons .button:active,
+.ui.blue.button:active {
+ background-color: #0AA5DF;
+ color: #FFFFFF;
+}
+/*--- Purple ---*/
+.ui.purple.buttons .button,
+.ui.purple.button {
+ background-color: #564F8A;
+ color: #FFFFFF;
+}
+.ui.purple.buttons .button:hover,
+.ui.purple.button:hover,
+.ui.purple.buttons .active.button,
+.ui.purple.button.active {
+ background-color: #3E3773;
+ color: #FFFFFF;
+}
+.ui.purple.buttons .button:active,
+.ui.purple.button:active {
+ background-color: #2E2860;
+ color: #FFFFFF;
+}
+/*--- Teal ---*/
+.ui.teal.buttons .button,
+.ui.teal.button {
+ background-color: #00B5AD;
+ color: #FFFFFF;
+}
+.ui.teal.buttons .button:hover,
+.ui.teal.button:hover,
+.ui.teal.buttons .active.button,
+.ui.teal.button.active {
+ background-color: #009A93;
+ color: #FFFFFF;
+}
+.ui.teal.buttons .button:active,
+.ui.teal.button:active {
+ background-color: #00847E;
+ color: #FFFFFF;
+}
+/*---------------
+ Positive
+----------------*/
+.ui.positive.buttons .button,
+.ui.positive.button {
+ background-color: #5BBD72 !important;
+ color: #FFFFFF;
+}
+.ui.positive.buttons .button:hover,
+.ui.positive.button:hover,
+.ui.positive.buttons .active.button,
+.ui.positive.button.active {
+ background-color: #58CB73 !important;
+ color: #FFFFFF;
+}
+.ui.positive.buttons .button:active,
+.ui.positive.button:active {
+ background-color: #4CB164 !important;
+ color: #FFFFFF;
+}
+/*---------------
+ Negative
+----------------*/
+.ui.negative.buttons .button,
+.ui.negative.button {
+ background-color: #D95C5C !important;
+ color: #FFFFFF;
+}
+.ui.negative.buttons .button:hover,
+.ui.negative.button:hover,
+.ui.negative.buttons .active.button,
+.ui.negative.button.active {
+ background-color: #E75859 !important;
+ color: #FFFFFF;
+}
+.ui.negative.buttons .button:active,
+.ui.negative.button:active {
+ background-color: #D24B4C !important;
+ color: #FFFFFF;
+}
+/*******************************
+ Groups
+*******************************/
+.ui.buttons {
+ display: inline-block;
+ vertical-align: middle;
+}
+.ui.buttons:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+.ui.buttons .button:first-child {
+ border-left: none;
+}
+.ui.buttons .button {
+ float: left;
+ border-radius: 0em;
+}
+.ui.buttons .button:first-child {
+ margin-left: 0em;
+ border-top-left-radius: 0.25em;
+ border-bottom-left-radius: 0.25em;
+}
+.ui.buttons .button:last-child {
+ border-top-right-radius: 0.25em;
+ border-bottom-right-radius: 0.25em;
+}
+/* Vertical Style */
+.ui.vertical.buttons {
+ display: inline-block;
+}
+.ui.vertical.buttons .button {
+ display: block;
+ float: none;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+}
+.ui.vertical.buttons .button:first-child,
+.ui.vertical.buttons .mini.button:first-child,
+.ui.vertical.buttons .tiny.button:first-child,
+.ui.vertical.buttons .small.button:first-child,
+.ui.vertical.buttons .massive.button:first-child,
+.ui.vertical.buttons .huge.button:first-child {
+ margin-top: 0px;
+ border-radius: 0.25em 0.25em 0px 0px;
+}
+.ui.vertical.buttons .button:last-child,
+.ui.vertical.buttons .mini.button:last-child,
+.ui.vertical.buttons .tiny.button:last-child,
+.ui.vertical.buttons .small.button:last-child,
+.ui.vertical.buttons .massive.button:last-child,
+.ui.vertical.buttons .huge.button:last-child,
+.ui.vertical.buttons .gigantic.button:last-child {
+ border-radius: 0px 0px 0.25em 0.25em;
+}
+
+/*
+ * # Semantic - Divider
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Divider
+*******************************/
+.ui.divider {
+ margin: 1rem 0rem;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ border-bottom: 1px solid rgba(255, 255, 255, 0.8);
+ line-height: 1;
+ height: 0em;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+.ui.vertical.divider,
+.ui.horizontal.divider {
+ position: absolute;
+ border: none;
+ height: 0em;
+ margin: 0em;
+ background-color: transparent;
+ font-size: 0.875rem;
+ font-weight: bold;
+ text-align: center;
+ text-transform: uppercase;
+ color: rgba(0, 0, 0, 0.8);
+}
+/*--------------
+ Vertical
+---------------*/
+.ui.vertical.divider {
+ position: absolute;
+ z-index: 2;
+ top: 50%;
+ left: 50%;
+ margin: 0% 0% 0% -3%;
+ width: 6%;
+ height: 50%;
+ line-height: 0;
+ padding: 0em;
+}
+.ui.vertical.divider:before,
+.ui.vertical.divider:after {
+ position: absolute;
+ left: 50%;
+ content: " ";
+ z-index: 3;
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
+ border-right: 1px solid rgba(255, 255, 255, 0.8);
+ width: 0%;
+ height: 80%;
+}
+.ui.vertical.divider:before {
+ top: -100%;
+}
+.ui.vertical.divider:after {
+ top: auto;
+ bottom: 0px;
+}
+/*--------------
+ Horizontal
+---------------*/
+.ui.horizontal.divider {
+ position: relative;
+ top: 0%;
+ left: 0%;
+ margin: 1rem 1.5rem;
+ height: auto;
+ padding: 0em;
+ line-height: 1;
+}
+.ui.horizontal.divider:before,
+.ui.horizontal.divider:after {
+ position: absolute;
+ content: " ";
+ z-index: 3;
+ width: 50%;
+ top: 50%;
+ height: 0%;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ border-bottom: 1px solid rgba(255, 255, 255, 0.8);
+}
+.ui.horizontal.divider:before {
+ left: 0%;
+ margin-left: -1.5rem;
+}
+.ui.horizontal.divider:after {
+ left: auto;
+ right: 0%;
+ margin-right: -1.5rem;
+}
+/*--------------
+ Icon
+---------------*/
+.ui.divider > .icon {
+ margin: 0em;
+ font-size: 1rem;
+ vertical-align: middle;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Inverted
+---------------*/
+.ui.divider.inverted {
+ color: #ffffff;
+}
+.ui.vertical.inverted.divider,
+.ui.horizontal.inverted.divider {
+ color: rgba(255, 255, 255, 0.9);
+}
+.ui.divider.inverted,
+.ui.divider.inverted:after,
+.ui.divider.inverted:before {
+ border-top-color: rgba(0, 0, 0, 0.15);
+ border-bottom-color: rgba(255, 255, 255, 0.15);
+ border-left-color: rgba(0, 0, 0, 0.15);
+ border-right-color: rgba(255, 255, 255, 0.15);
+}
+/*--------------
+ Fitted
+---------------*/
+.ui.fitted.divider {
+ margin: 0em;
+}
+/*--------------
+ Clearing
+---------------*/
+.ui.clearing.divider {
+ clear: both;
+}
+/*--------------
+ Section
+---------------*/
+.ui.section.divider {
+ margin-top: 2rem;
+ margin-bottom: 2rem;
+}
+
+/*
+ * # Semantic - Header
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Header
+*******************************/
+/* Standard */
+.ui.header {
+ border: none;
+ margin: 1em 0em 1rem;
+ padding: 0em;
+ font-size: 1.33em;
+ font-weight: bold;
+ line-height: 1.33;
+}
+.ui.header .sub.header {
+ font-size: 1rem;
+ font-weight: normal;
+ margin: 0em;
+ padding: 0em;
+ line-height: 1.2;
+ color: rgba(0, 0, 0, 0.5);
+}
+.ui.header .icon {
+ display: table-cell;
+ vertical-align: middle;
+ padding-right: 0.5em;
+}
+.ui.header .icon:only-child {
+ display: inline-block;
+ vertical-align: baseline;
+}
+.ui.header .content {
+ display: inline-block;
+ vertical-align: top;
+}
+.ui.header .icon + .content {
+ padding-left: 0.5em;
+ display: table-cell;
+}
+/* Positioning */
+.ui.header:first-child {
+ margin-top: 0em;
+}
+.ui.header:last-child {
+ margin-bottom: 0em;
+}
+.ui.header + p {
+ margin-top: 0em;
+}
+/*--------------
+ Page Heading
+---------------*/
+h1.ui.header {
+ min-height: 1rem;
+ line-height: 1.33;
+ font-size: 2rem;
+}
+h2.ui.header {
+ line-height: 1.33;
+ font-size: 1.75rem;
+}
+h3.ui.header {
+ line-height: 1.33;
+ font-size: 1.33rem;
+}
+h4.ui.header {
+ line-height: 1.33;
+ font-size: 1.1rem;
+}
+h5.ui.header {
+ line-height: 1.2;
+ font-size: 1rem;
+}
+/*--------------
+ Content Heading
+---------------*/
+.ui.huge.header {
+ min-height: 1em;
+ font-size: 2em;
+}
+.ui.large.header {
+ font-size: 1.75em;
+}
+.ui.medium.header {
+ font-size: 1.33em;
+}
+.ui.small.header {
+ font-size: 1.1em;
+}
+.ui.tiny.header {
+ font-size: 1em;
+}
+/*******************************
+ Types
+*******************************/
+/*-------------------
+ Icon
+--------------------*/
+.ui.icon.header {
+ display: inline-block;
+ text-align: center;
+}
+.ui.icon.header .icon {
+ float: none;
+ display: block;
+ font-size: 3em;
+ margin: 0em auto 0.2em;
+ padding: 0em;
+}
+.ui.icon.header .content {
+ display: block;
+}
+.ui.icon.header .circular.icon,
+.ui.icon.header .square.icon {
+ font-size: 2em;
+}
+.ui.block.icon.header .icon {
+ margin-bottom: 0em;
+}
+.ui.icon.header.aligned {
+ margin-left: auto;
+ margin-right: auto;
+ display: block;
+}
+/*******************************
+ States
+*******************************/
+.ui.disabled.header {
+ opacity: 0.5;
+}
+/*******************************
+ Variations
+*******************************/
+/*-------------------
+ Colors
+--------------------*/
+.ui.blue.header {
+ color: #6ECFF5 !important;
+}
+.ui.black.header {
+ color: #5C6166 !important;
+}
+.ui.green.header {
+ color: #A1CF64 !important;
+}
+.ui.red.header {
+ color: #D95C5C !important;
+}
+.ui.purple.header {
+ color: #564F8A !important;
+}
+.ui.teal.header {
+ color: #00B5AD !important;
+}
+.ui.blue.dividing.header {
+ border-bottom: 3px solid #6ECFF5;
+}
+.ui.black.dividing.header {
+ border-bottom: 3px solid #5C6166;
+}
+.ui.green.dividing.header {
+ border-bottom: 3px solid #A1CF64;
+}
+.ui.red.dividing.header {
+ border-bottom: 3px solid #D95C5C;
+}
+.ui.purple.dividing.header {
+ border-bottom: 3px solid #564F8A;
+}
+.ui.teal.dividing.header {
+ border-bottom: 3px solid #00B5AD;
+}
+/*-------------------
+ Inverted
+--------------------*/
+.ui.inverted.header {
+ color: #FFFFFF;
+}
+.ui.inverted.header .sub.header {
+ color: rgba(255, 255, 255, 0.85);
+}
+/*-------------------
+ Inverted Colors
+--------------------*/
+.ui.inverted.black.header {
+ background-color: #5C6166 !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.blue.header {
+ background-color: #6ECFF5 !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.green.header {
+ background-color: #A1CF64 !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.red.header {
+ background-color: #D95C5C !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.purple.header {
+ background-color: #564F8A !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.teal.header {
+ background-color: #00B5AD !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.block.header {
+ border-bottom: none;
+}
+/*-------------------
+ Aligned
+--------------------*/
+.ui.left.aligned.header {
+ text-align: left;
+}
+.ui.right.aligned.header {
+ text-align: right;
+}
+.ui.center.aligned.header {
+ text-align: center;
+}
+.ui.justified.header {
+ text-align: justify;
+}
+.ui.justified.header:after {
+ display: inline-block;
+ content: '';
+ width: 100%;
+}
+/*-------------------
+ Floated
+--------------------*/
+.ui.floated.header,
+.ui.left.floated.header {
+ float: left;
+ margin-top: 0em;
+ margin-right: 0.5em;
+}
+.ui.right.floated.header {
+ float: right;
+ margin-top: 0em;
+ margin-left: 0.5em;
+}
+/*-------------------
+ Fittted
+--------------------*/
+.ui.fitted.header {
+ padding: 0em;
+}
+/*-------------------
+ Dividing
+--------------------*/
+.ui.dividing.header {
+ padding-bottom: 0.2rem;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+}
+.ui.dividing.header .sub.header {
+ padding-bottom: 0.5em;
+}
+.ui.dividing.header .icon {
+ margin-bottom: 0.2em;
+}
+/*-------------------
+ Block
+--------------------*/
+.ui.block.header {
+ background-color: rgba(0, 0, 0, 0.05);
+ padding: 0.5em 1em;
+}
+/*-------------------
+ Attached
+--------------------*/
+.ui.attached.header {
+ background-color: #E0E0E0;
+ padding: 0.5em 1rem;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+}
+.ui.top.attached.header {
+ margin-bottom: 0em;
+ border-radius: 0.3125em 0.3125em 0em 0em;
+}
+.ui.bottom.attached.header {
+ margin-top: 0em;
+ border-radius: 0em 0em 0.3125em 0.3125em;
+}
+
+/*
+ * # Semantic - Icon
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*!
+ * Font Awesome 3.2.1
+ * the iconic font designed for Bootstrap
+ * ------------------------------------------------------------------------------
+ * The full suite of pictographic icons, examples, and documentation can be
+ * found at http://fon.io. Stay up to date on Twitter at
+ * http://twitter.com/fon.
+ *
+ * License
+ * ------------------------------------------------------------------------------
+ * - The Font Awesome font is licensed under SIL OFL 1.1 -
+ * http://scripts.sil.org/OFL
+
+/*******************************
+ Icon
+*******************************/
+ at font-face {
+ font-family: 'Icons';
+ src: url(../fonts/icons.eot);
+ src: url(../fonts/icons.eot?#iefix) format('embedded-opentype'), url(../fonts/icons.svg#icons) format('svg'), url(../fonts/icons.woff) format('woff'), url(../fonts/icons.ttf) format('truetype');
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-decoration: inherit;
+ text-transform: none;
+}
+i.icon {
+ display: inline-block;
+ opacity: 0.75;
+ margin: 0em 0.25em 0em 0em;
+ width: 1.23em;
+ height: 1em;
+ font-family: 'Icons';
+ font-style: normal;
+ line-height: 1;
+ font-weight: normal;
+ text-decoration: inherit;
+ text-align: center;
+ speak: none;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+i.icon.left:before {
+ content: "\f060";
+}
+i.icon.right:before {
+ content: "\f061";
+}
+i.icon.add.sign.box:before {
+ content: "\f0fe";
+}
+i.icon.add.sign:before {
+ content: "\f055";
+}
+i.icon.add:before {
+ content: "\f067";
+}
+i.icon.adjust:before {
+ content: "\f042";
+}
+i.icon.adn:before {
+ content: "\f170";
+}
+i.icon.align.center:before {
+ content: "\f037";
+}
+i.icon.align.justify:before {
+ content: "\f039";
+}
+i.icon.align.left:before {
+ content: "\f036";
+}
+i.icon.align.right:before {
+ content: "\f038";
+}
+i.icon.ambulance:before {
+ content: "\f0f9";
+}
+i.icon.anchor:before {
+ content: "\f13d";
+}
+i.icon.android:before {
+ content: "\f17b";
+}
+i.icon.angle.down:before {
+ content: "\f107";
+}
+i.icon.angle.left:before {
+ content: "\f104";
+}
+i.icon.angle.right:before {
+ content: "\f105";
+}
+i.icon.angle.up:before {
+ content: "\f106";
+}
+i.icon.apple:before {
+ content: "\f179";
+}
+i.icon.archive:before {
+ content: "\f187";
+}
+i.icon.arrow.down:before {
+ content: "\f078";
+}
+i.icon.arrow.left:before {
+ content: "\f053";
+}
+i.icon.arrow.right:before {
+ content: "\f054";
+}
+i.icon.arrow.sign.down:before {
+ content: "\f13a";
+}
+i.icon.arrow.sign.left:before {
+ content: "\f137";
+}
+i.icon.arrow.sign.right:before {
+ content: "\f138";
+}
+i.icon.arrow.sign.up:before {
+ content: "\f139";
+}
+i.icon.arrow.up:before {
+ content: "\f077";
+}
+i.icon.asterisk:before {
+ content: "\f069";
+}
+i.icon.attachment:before {
+ content: "\f0c6";
+}
+i.icon.attention:before {
+ content: "\f06a";
+}
+i.icon.backward:before {
+ content: "\f04a";
+}
+i.icon.ban.circle:before {
+ content: "\f05e";
+}
+i.icon.bar.chart:before {
+ content: "\f080";
+}
+i.icon.barcode:before {
+ content: "\f02a";
+}
+i.icon.beer:before {
+ content: "\f0fc";
+}
+i.icon.bell.outline:before {
+ content: "\f0a2";
+}
+i.icon.bell:before {
+ content: "\f0f3";
+}
+i.icon.bitbucket.sign:before {
+ content: "\f172";
+}
+i.icon.bitbucket:before {
+ content: "\f171";
+}
+i.icon.bitcoin:before {
+ content: "\f15a";
+}
+i.icon.bold:before {
+ content: "\f032";
+}
+i.icon.bolt:before {
+ content: "\f0e7";
+}
+i.icon.book:before {
+ content: "\f02d";
+}
+i.icon.bookmark.empty:before {
+ content: "\f097";
+}
+i.icon.bookmark:before {
+ content: "\f02e";
+}
+i.icon.box.arrow.down:before {
+ content: "\f150";
+}
+/*rtl:ignore*/
+i.icon.box.arrow.right:before {
+ content: "\f152";
+}
+i.icon.box.arrow.up:before {
+ content: "\f151";
+}
+i.icon.briefcase:before {
+ content: "\f0b1";
+}
+i.icon.browser:before {
+ content: "\f022";
+}
+i.icon.bug:before {
+ content: "\f188";
+}
+i.icon.building:before {
+ content: "\f0f7";
+}
+i.icon.bullhorn:before {
+ content: "\f0a1";
+}
+i.icon.bullseye:before {
+ content: "\f140";
+}
+i.icon.calendar.empty:before {
+ content: "\f133";
+}
+i.icon.calendar:before {
+ content: "\f073";
+}
+i.icon.camera.retro:before {
+ content: "\f083";
+}
+i.icon.camera:before {
+ content: "\f030";
+}
+i.icon.triangle.down:before {
+ content: "\f0d7";
+}
+i.icon.triangle.left:before {
+ content: "\f0d9";
+}
+i.icon.triangle.right:before {
+ content: "\f0da";
+}
+i.icon.triangle.up:before {
+ content: "\f0d8";
+}
+i.icon.cart:before {
+ content: "\f07a";
+}
+i.icon.certificate:before {
+ content: "\f0a3";
+}
+i.icon.chat.outline:before {
+ content: "\f0e6";
+}
+i.icon.chat:before {
+ content: "\f086";
+}
+i.icon.checkbox.empty:before {
+ content: "\f096";
+}
+i.icon.checkbox.minus:before {
+ content: "\f147";
+}
+i.icon.checked.checkbox:before {
+ content: "\f046";
+}
+i.icon.checkmark.sign:before {
+ content: "\f14a";
+}
+i.icon.checkmark:before {
+ content: "\f00c";
+}
+i.icon.circle.blank:before {
+ content: "\f10c";
+}
+i.icon.circle.down:before {
+ content: "\f0ab";
+}
+i.icon.circle.left:before {
+ content: "\f0a8";
+}
+i.icon.circle.right:before {
+ content: "\f0a9";
+}
+i.icon.circle.up:before {
+ content: "\f0aa";
+}
+i.icon.circle:before {
+ content: "\f111";
+}
+i.icon.cloud.download:before {
+ content: "\f0ed";
+}
+i.icon.cloud.upload:before {
+ content: "\f0ee";
+}
+i.icon.cloud:before {
+ content: "\f0c2";
+}
+i.icon.code.fork:before {
+ content: "\f126";
+}
+i.icon.code:before {
+ content: "\f121";
+}
+i.icon.coffee:before {
+ content: "\f0f4";
+}
+i.icon.collapse:before {
+ content: "\f117";
+}
+i.icon.comment.outline:before {
+ content: "\f0e5";
+}
+i.icon.comment:before {
+ content: "\f075";
+}
+i.icon.copy:before {
+ content: "\f0c5";
+}
+i.icon.crop:before {
+ content: "\f125";
+}
+i.icon.css3:before {
+ content: "\f13c";
+}
+i.icon.cut:before {
+ content: "\f0c4";
+}
+i.icon.dashboard:before {
+ content: "\f0e4";
+}
+i.icon.desktop:before {
+ content: "\f108";
+}
+i.icon.doctor:before {
+ content: "\f0f0";
+}
+i.icon.dollar:before {
+ content: "\f155";
+}
+i.icon.double.angle.down:before {
+ content: "\f103";
+}
+i.icon.double.angle.left:before {
+ content: "\f100";
+}
+i.icon.double.angle.right:before {
+ content: "\f101";
+}
+i.icon.double.angle.up:before {
+ content: "\f102";
+}
+i.icon.down:before {
+ content: "\f063";
+}
+i.icon.download.disk:before {
+ content: "\f019";
+}
+i.icon.download:before {
+ content: "\f01a";
+}
+i.icon.dribbble:before {
+ content: "\f17d";
+}
+i.icon.dropbox:before {
+ content: "\f16b";
+}
+i.icon.edit.sign:before {
+ content: "\f14b";
+}
+i.icon.edit:before {
+ content: "\f044";
+}
+i.icon.eject:before {
+ content: "\f052";
+}
+i.icon.ellipsis.horizontal:before {
+ content: "\f141";
+}
+i.icon.ellipsis.vertical:before {
+ content: "\f142";
+}
+i.icon.eraser:before {
+ content: "\f12d";
+}
+i.icon.euro:before {
+ content: "\f153";
+}
+i.icon.exchange:before {
+ content: "\f0ec";
+}
+i.icon.exclamation:before {
+ content: "\f12a";
+}
+i.icon.expand:before {
+ content: "\f116";
+}
+i.icon.external.url.sign:before {
+ content: "\f14c";
+}
+i.icon.external.url:before {
+ content: "\f08e";
+}
+i.icon.facebook.sign:before {
+ content: "\f082";
+}
+i.icon.facebook:before {
+ content: "\f09a";
+}
+i.icon.facetime.video:before {
+ content: "\f03d";
+}
+i.icon.fast.backward:before {
+ content: "\f049";
+}
+i.icon.fast.forward:before {
+ content: "\f050";
+}
+i.icon.female:before {
+ content: "\f182";
+}
+i.icon.fighter.jet:before {
+ content: "\f0fb";
+}
+i.icon.file.outline:before {
+ content: "\f016";
+}
+i.icon.file.text.outline:before {
+ content: "\f0f6";
+}
+i.icon.file.text:before {
+ content: "\f15c";
+}
+i.icon.file:before {
+ content: "\f15b";
+}
+i.icon.filter:before {
+ content: "\f0b0";
+}
+i.icon.fire.extinguisher:before {
+ content: "\f134";
+}
+i.icon.fire:before {
+ content: "\f06d";
+}
+i.icon.flag.checkered:before {
+ content: "\f11e";
+}
+i.icon.flag.empty:before {
+ content: "\f11d";
+}
+i.icon.flag:before {
+ content: "\f024";
+}
+i.icon.flickr:before {
+ content: "\f16e";
+}
+i.icon.folder.open.outline:before {
+ content: "\f115";
+}
+i.icon.folder.open:before {
+ content: "\f07c";
+}
+i.icon.folder.outline:before {
+ content: "\f114";
+}
+i.icon.folder:before {
+ content: "\f07b";
+}
+i.icon.font:before {
+ content: "\f031";
+}
+i.icon.food:before {
+ content: "\f0f5";
+}
+i.icon.forward.mail:before {
+ content: "\f064";
+}
+i.icon.forward:before {
+ content: "\f04e";
+}
+i.icon.foursquare:before {
+ content: "\f180";
+}
+i.icon.frown:before {
+ content: "\f119";
+}
+i.icon.fullscreen:before {
+ content: "\f0b2";
+}
+i.icon.gamepad:before {
+ content: "\f11b";
+}
+i.icon.gift:before {
+ content: "\f06b";
+}
+i.icon.github.alternate:before {
+ content: "\f09b";
+}
+i.icon.github.sign:before {
+ content: "\f092";
+}
+i.icon.github:before {
+ content: "\f113";
+}
+i.icon.gittip:before {
+ content: "\f184";
+}
+i.icon.glass:before {
+ content: "\f000";
+}
+i.icon.globe:before {
+ content: "\f0ac";
+}
+i.icon.google.plus.sign:before {
+ content: "\f0d4";
+}
+i.icon.google.plus:before {
+ content: "\f0d5";
+}
+i.icon.h.sign:before {
+ content: "\f0fd";
+}
+i.icon.hand.down:before {
+ content: "\f0a7";
+}
+i.icon.hand.left:before {
+ content: "\f0a5";
+}
+i.icon.hand.right:before {
+ content: "\f0a4";
+}
+i.icon.hand.up:before {
+ content: "\f0a6";
+}
+i.icon.hdd:before {
+ content: "\f0a0";
+}
+i.icon.headphones:before {
+ content: "\f025";
+}
+i.icon.heart.empty:before {
+ content: "\f08a";
+}
+i.icon.heart:before {
+ content: "\f004";
+}
+i.icon.help:before {
+ content: "\f059";
+}
+i.icon.hide:before {
+ content: "\f070";
+}
+i.icon.home:before {
+ content: "\f015";
+}
+i.icon.hospital:before {
+ content: "\f0f8";
+}
+i.icon.html5:before {
+ content: "\f13b";
+}
+i.icon.inbox:before {
+ content: "\f01c";
+}
+i.icon.indent.left:before {
+ content: "\f03b";
+}
+i.icon.indent.right:before {
+ content: "\f03c";
+}
+i.icon.info.letter:before {
+ content: "\f129";
+}
+i.icon.info:before {
+ content: "\f05a";
+}
+i.icon.instagram:before {
+ content: "\f16d";
+}
+i.icon.italic:before {
+ content: "\f033";
+}
+i.icon.key:before {
+ content: "\f084";
+}
+i.icon.keyboard:before {
+ content: "\f11c";
+}
+i.icon.lab:before {
+ content: "\f0c3";
+}
+i.icon.laptop:before {
+ content: "\f109";
+}
+i.icon.layout.block:before {
+ content: "\f009";
+}
+i.icon.layout.column:before {
+ content: "\f0db";
+}
+i.icon.layout.grid:before {
+ content: "\f00a";
+}
+i.icon.layout.list:before {
+ content: "\f00b";
+}
+i.icon.leaf:before {
+ content: "\f06c";
+}
+i.icon.legal:before {
+ content: "\f0e3";
+}
+i.icon.lemon:before {
+ content: "\f094";
+}
+i.icon.level.down:before {
+ content: "\f149";
+}
+i.icon.level.up:before {
+ content: "\f148";
+}
+i.icon.lightbulb:before {
+ content: "\f0eb";
+}
+i.icon.linkedin.sign:before {
+ content: "\f08c";
+}
+i.icon.linkedin:before {
+ content: "\f0e1";
+}
+i.icon.linux:before {
+ content: "\f17c";
+}
+i.icon.list.ordered:before {
+ content: "\f0cb";
+}
+i.icon.list.unordered:before {
+ content: "\f0ca";
+}
+i.icon.list:before {
+ content: "\f03a";
+}
+i.icon.loading:before {
+ content: "\f110";
+}
+i.icon.location:before {
+ content: "\f124";
+}
+i.icon.lock:before {
+ content: "\f023";
+}
+i.icon.long.arrow.down:before {
+ content: "\f175";
+}
+i.icon.long.arrow.left:before {
+ content: "\f177";
+}
+i.icon.long.arrow.right:before {
+ content: "\f178";
+}
+i.icon.long.arrow.up:before {
+ content: "\f176";
+}
+i.icon.magic:before {
+ content: "\f0d0";
+}
+i.icon.magnet:before {
+ content: "\f076";
+}
+i.icon.mail.outline:before {
+ content: "\f003";
+}
+i.icon.mail.reply:before {
+ content: "\f112";
+}
+i.icon.mail:before {
+ content: "\f0e0";
+}
+i.icon.male:before {
+ content: "\f183";
+}
+i.icon.map.marker:before {
+ content: "\f041";
+}
+i.icon.map:before {
+ content: "\f14e";
+}
+i.icon.maxcdn:before {
+ content: "\f136";
+}
+i.icon.medkit:before {
+ content: "\f0fa";
+}
+i.icon.meh:before {
+ content: "\f11a";
+}
+i.icon.minus.sign.alternate:before {
+ content: "\f146";
+}
+i.icon.minus.sign:before {
+ content: "\f056";
+}
+i.icon.minus:before {
+ content: "\f068";
+}
+i.icon.mobile:before {
+ content: "\f10b";
+}
+i.icon.money:before {
+ content: "\f0d6";
+}
+i.icon.moon:before {
+ content: "\f186";
+}
+i.icon.move:before {
+ content: "\f047";
+}
+i.icon.music:before {
+ content: "\f001";
+}
+i.icon.mute:before {
+ content: "\f131";
+}
+i.icon.off:before {
+ content: "\f011";
+}
+i.icon.ok.circle:before {
+ content: "\f05d";
+}
+i.icon.ok.sign:before {
+ content: "\f058";
+}
+i.icon.paste:before {
+ content: "\f0ea";
+}
+i.icon.pause:before {
+ content: "\f04c";
+}
+i.icon.payment:before {
+ content: "\f09d";
+}
+i.icon.pencil:before {
+ content: "\f040";
+}
+i.icon.phone.sign:before {
+ content: "\f098";
+}
+i.icon.phone:before {
+ content: "\f095";
+}
+i.icon.photo:before {
+ content: "\f03e";
+}
+i.icon.pin:before {
+ content: "\f08d";
+}
+i.icon.pinterest.sign:before {
+ content: "\f0d3";
+}
+i.icon.pinterest:before {
+ content: "\f0d2";
+}
+i.icon.plane:before {
+ content: "\f072";
+}
+i.icon.play.circle:before {
+ content: "\f01d";
+}
+i.icon.play.sign:before {
+ content: "\f144";
+}
+i.icon.play:before {
+ content: "\f04b";
+}
+i.icon.pound:before {
+ content: "\f154";
+}
+i.icon.print:before {
+ content: "\f02f";
+}
+i.icon.puzzle.piece:before {
+ content: "\f12e";
+}
+i.icon.qr.code:before {
+ content: "\f029";
+}
+i.icon.question:before {
+ content: "\f128";
+}
+i.icon.quote.left:before {
+ content: "\f10d";
+}
+i.icon.quote.right:before {
+ content: "\f10e";
+}
+i.icon.refresh:before {
+ content: "\f021";
+}
+i.icon.remove.circle:before {
+ content: "\f05c";
+}
+i.icon.remove.sign:before {
+ content: "\f057";
+}
+i.icon.remove:before {
+ content: "\f00d";
+}
+i.icon.renren:before {
+ content: "\f18b";
+}
+i.icon.reorder:before {
+ content: "\f0c9";
+}
+i.icon.repeat:before {
+ content: "\f01e";
+}
+i.icon.reply.all.mail:before {
+ content: "\f122";
+}
+i.icon.resize.full:before {
+ content: "\f065";
+}
+i.icon.resize.horizontal:before {
+ content: "\f07e";
+}
+i.icon.resize.small:before {
+ content: "\f066";
+}
+i.icon.resize.vertical:before {
+ content: "\f07d";
+}
+i.icon.retweet:before {
+ content: "\f079";
+}
+i.icon.road:before {
+ content: "\f018";
+}
+i.icon.rocket:before {
+ content: "\f135";
+}
+i.icon.rss.sign:before {
+ content: "\f143";
+}
+i.icon.rss:before {
+ content: "\f09e";
+}
+i.icon.rupee:before {
+ content: "\f156";
+}
+i.icon.save:before {
+ content: "\f0c7";
+}
+i.icon.screenshot:before {
+ content: "\f05b";
+}
+i.icon.search:before {
+ content: "\f002";
+}
+i.icon.setting:before {
+ content: "\f013";
+}
+i.icon.settings:before {
+ content: "\f085";
+}
+i.icon.share.sign:before {
+ content: "\f14d";
+}
+i.icon.share:before {
+ content: "\f045";
+}
+i.icon.shield:before {
+ content: "\f132";
+}
+i.icon.shuffle:before {
+ content: "\f074";
+}
+i.icon.sign.in:before {
+ content: "\f090";
+}
+i.icon.sign.out:before {
+ content: "\f08b";
+}
+i.icon.sign:before {
+ content: "\f0c8";
+}
+i.icon.signal:before {
+ content: "\f012";
+}
+i.icon.sitemap:before {
+ content: "\f0e8";
+}
+i.icon.skype:before {
+ content: "\f17e";
+}
+i.icon.smile:before {
+ content: "\f118";
+}
+i.icon.sort.ascending:before {
+ content: "\f0de";
+}
+i.icon.sort.descending:before {
+ content: "\f0dd";
+}
+i.icon.sort.alphabet.descending:before {
+ content: "\f15e";
+}
+i.icon.sort.alphabet:before {
+ content: "\f15d";
+}
+i.icon.sort.attributes.descending:before {
+ content: "\f161";
+}
+i.icon.sort.attributes:before {
+ content: "\f160";
+}
+i.icon.sort.order.descending:before {
+ content: "\f163";
+}
+i.icon.sort.order:before {
+ content: "\f162";
+}
+i.icon.sort:before {
+ content: "\f0dc";
+}
+i.icon.stackexchange:before {
+ content: "\f16c";
+}
+i.icon.star.empty:before {
+ content: "\f006";
+}
+i.icon.star.half.empty:before {
+ content: "\f123";
+}
+i.icon.star.half.full:before,
+i.icon.star.half:before {
+ content: "\f089";
+}
+i.icon.star:before {
+ content: "\f005";
+}
+i.icon.step.backward:before {
+ content: "\f048";
+}
+i.icon.step.forward:before {
+ content: "\f051";
+}
+i.icon.stethoscope:before {
+ content: "\f0f1";
+}
+i.icon.stop:before {
+ content: "\f04d";
+}
+i.icon.strikethrough:before {
+ content: "\f0cc";
+}
+i.icon.subscript:before {
+ content: "\f12c";
+}
+i.icon.suitcase:before {
+ content: "\f0f2";
+}
+i.icon.sun:before {
+ content: "\f185";
+}
+i.icon.superscript:before {
+ content: "\f12b";
+}
+i.icon.table:before {
+ content: "\f0ce";
+}
+i.icon.tablet:before {
+ content: "\f10a";
+}
+i.icon.tag:before {
+ content: "\f02b";
+}
+i.icon.tags:before {
+ content: "\f02c";
+}
+i.icon.tasks:before {
+ content: "\f0ae";
+}
+i.icon.terminal:before {
+ content: "\f120";
+}
+i.icon.text.height:before {
+ content: "\f034";
+}
+i.icon.text.width:before {
+ content: "\f035";
+}
+i.icon.thumbs.down.outline:before {
+ content: "\f088";
+}
+i.icon.thumbs.down:before {
+ content: "\f165";
+}
+i.icon.thumbs.up.outline:before {
+ content: "\f087";
+}
+i.icon.thumbs.up:before {
+ content: "\f164";
+}
+i.icon.ticket:before {
+ content: "\f145";
+}
+i.icon.time:before {
+ content: "\f017";
+}
+i.icon.tint:before {
+ content: "\f043";
+}
+i.icon.trash:before {
+ content: "\f014";
+}
+i.icon.trello:before {
+ content: "\f181";
+}
+i.icon.trophy:before {
+ content: "\f091";
+}
+i.icon.truck:before {
+ content: "\f0d1";
+}
+i.icon.tumblr.sign:before {
+ content: "\f174";
+}
+i.icon.tumblr:before {
+ content: "\f173";
+}
+i.icon.twitter.sign:before {
+ content: "\f081";
+}
+i.icon.twitter:before {
+ content: "\f099";
+}
+i.icon.umbrella:before {
+ content: "\f0e9";
+}
+i.icon.underline:before {
+ content: "\f0cd";
+}
+i.icon.undo:before {
+ content: "\f0e2";
+}
+i.icon.unhide:before {
+ content: "\f06e";
+}
+i.icon.unlink:before {
+ content: "\f127";
+}
+i.icon.unlock.alternate:before {
+ content: "\f13e";
+}
+i.icon.unlock:before {
+ content: "\f09c";
+}
+i.icon.unmute:before {
+ content: "\f130";
+}
+i.icon.up:before {
+ content: "\f062";
+}
+i.icon.upload.disk:before {
+ content: "\f093";
+}
+i.icon.upload:before {
+ content: "\f01b";
+}
+i.icon.url:before {
+ content: "\f0c1";
+}
+i.icon.user:before {
+ content: "\f007";
+}
+i.icon.users:before {
+ content: "\f0c0";
+}
+i.icon.video:before {
+ content: "\f008";
+}
+i.icon.vk:before {
+ content: "\f189";
+}
+i.icon.volume.down:before {
+ content: "\f027";
+}
+i.icon.volume.off:before {
+ content: "\f026";
+}
+i.icon.volume.up:before {
+ content: "\f028";
+}
+i.icon.warning:before {
+ content: "\f071";
+}
+i.icon.weibo:before {
+ content: "\f18a";
+}
+i.icon.windows:before {
+ content: "\f17a";
+}
+i.icon.won:before {
+ content: "\f159";
+}
+i.icon.wrench:before {
+ content: "\f0ad";
+}
+i.icon.xing.sign:before {
+ content: "\f169";
+}
+i.icon.xing:before {
+ content: "\f168";
+}
+i.icon.yen:before {
+ content: "\f157";
+}
+i.icon.youtube.play:before {
+ content: "\f16a";
+}
+i.icon.youtube.sign:before {
+ content: "\f166";
+}
+i.icon.youtube:before {
+ content: "\f167";
+}
+i.icon.yuan:before {
+ content: "\f158";
+}
+i.icon.zoom.in:before {
+ content: "\f00e";
+}
+i.icon.zoom.out:before {
+ content: "\f010";
+}
+/*--------------
+ Aliases
+---------------*/
+i.icon.check:before {
+ content: "\f00c";
+}
+i.icon.close:before {
+ content: "\f00d";
+}
+i.icon.delete:before {
+ content: "\f00d";
+}
+i.icon.like:before {
+ content: "\f004";
+}
+i.icon.plus:before {
+ content: "\f067";
+}
+i.icon.signup:before {
+ content: "\f044";
+}
+/*--------------
+ Spacing Fix
+---------------*/
+/* stars are usually consecutive */
+i.icon.star {
+ width: auto;
+ margin: 0em;
+}
+/* left side icons */
+i.icon.left {
+ width: auto;
+ margin: 0em 0.5em 0em 0em;
+}
+/* right side icons */
+i.icon.search,
+i.icon.right {
+ width: auto;
+ margin: 0em 0em 0em 0.5em;
+}
+/*******************************
+ Types
+*******************************/
+/*--------------
+ Loading
+---------------*/
+i.icon.loading {
+ -webkit-animation: icon-loading 2s linear infinite;
+ -moz-animation: icon-loading 2s linear infinite;
+ -ms-animation: icon-loading 2s linear infinite;
+ animation: icon-loading 2s linear infinite;
+}
+ at keyframes icon-loading {
+ from {
+ -webkit-transform: rotate(0deg);
+ -moz-transform: rotate(0deg);
+ -ms-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -webkit-transform: rotate(360deg);
+ -moz-transform: rotate(360deg);
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+ at -moz-keyframes icon-loading {
+ from {
+ -moz-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -moz-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+ at -webkit-keyframes icon-loading {
+ from {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+ at -ms-keyframes icon-loading {
+ from {
+ -ms-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+/*******************************
+ States
+*******************************/
+i.icon.hover {
+ opacity: 1;
+}
+i.icon.active {
+ opacity: 1;
+}
+i.emphasized.icon {
+ opacity: 1;
+}
+i.icon.disabled {
+ opacity: 0.3;
+}
+/*******************************
+ Variations
+*******************************/
+/*-------------------
+ Link
+--------------------*/
+i.link.icon {
+ cursor: pointer;
+ opacity: 0.7;
+ -webkit-transition: opacity 0.3s ease-out;
+ -moz-transition: opacity 0.3s ease-out;
+ transition: opacity 0.3s ease-out;
+}
+i.link.icon:hover {
+ opacity: 1 !important;
+}
+/*-------------------
+ Circular
+--------------------*/
+i.circular.icon {
+ border-radius: 500em !important;
+ padding: 0.5em 0.35em !important;
+ -webkit-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
+ line-height: 1 !important;
+ width: 2em !important;
+ height: 2em !important;
+}
+i.circular.inverted.icon {
+ border: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*-------------------
+ Flipped
+--------------------*/
+i.flipped.icon,
+i.horizontally.flipped.icon {
+ -webkit-transform: scale(-1, 1);
+ -moz-transform: scale(-1, 1);
+ -ms-transform: scale(-1, 1);
+ transform: scale(-1, 1);
+}
+i.vertically.flipped.icon {
+ -webkit-transform: scale(1, -1);
+ -moz-transform: scale(1, -1);
+ -ms-transform: scale(1, -1);
+ transform: scale(1, -1);
+}
+/*-------------------
+ Rotated
+--------------------*/
+i.rotated.icon,
+i.right.rotated.icon,
+i.clockwise.rotated.icon {
+ -webkit-transform: rotate(90deg);
+ -moz-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg);
+}
+i.left.rotated.icon,
+i.counterclockwise.rotated.icon {
+ -webkit-transform: rotate(-90deg);
+ -moz-transform: rotate(-90deg);
+ -ms-transform: rotate(-90deg);
+ transform: rotate(-90deg);
+}
+/*-------------------
+ Square
+--------------------*/
+i.square.icon {
+ width: 2em;
+ height: 2em;
+ padding: 0.5em 0.35em !important;
+ -webkit-box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
+ vertical-align: baseline;
+}
+i.square.inverted.icon {
+ border: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*-------------------
+ Inverted
+--------------------*/
+i.inverted.icon {
+ background-color: #222222;
+ color: #FFFFFF;
+ -moz-osx-font-smoothing: grayscale;
+}
+/*-------------------
+ Colors
+--------------------*/
+i.blue.icon {
+ color: #6ECFF5 !important;
+}
+i.black.icon {
+ color: #5C6166 !important;
+}
+i.green.icon {
+ color: #A1CF64 !important;
+}
+i.red.icon {
+ color: #D95C5C !important;
+}
+i.purple.icon {
+ color: #564F8A !important;
+}
+i.orange.icon {
+ color: #F05940 !important;
+}
+i.teal.icon {
+ color: #00B5AD !important;
+}
+/*-------------------
+ Inverted Colors
+--------------------*/
+i.inverted.black.icon {
+ background-color: #5C6166 !important;
+ color: #FFFFFF !important;
+}
+i.inverted.blue.icon {
+ background-color: #6ECFF5 !important;
+ color: #FFFFFF !important;
+}
+i.inverted.green.icon {
+ background-color: #A1CF64 !important;
+ color: #FFFFFF !important;
+}
+i.inverted.red.icon {
+ background-color: #D95C5C !important;
+ color: #FFFFFF !important;
+}
+i.inverted.purple.icon {
+ background-color: #564F8A !important;
+ color: #FFFFFF !important;
+}
+i.inverted.orange.icon {
+ background-color: #F05940 !important;
+ color: #FFFFFF !important;
+}
+i.inverted.teal.icon {
+ background-color: #00B5AD !important;
+ color: #FFFFFF !important;
+}
+/*-------------------
+ Sizes
+--------------------*/
+i.small.icon {
+ font-size: 0.875em;
+}
+i.icon {
+ font-size: 1em;
+}
+i.large.icon {
+ font-size: 1.5em;
+ vertical-align: middle;
+}
+i.big.icon {
+ font-size: 2em;
+ vertical-align: middle;
+}
+i.huge.icon {
+ font-size: 4em;
+ vertical-align: middle;
+}
+i.massive.icon {
+ font-size: 8em;
+ vertical-align: middle;
+}
+
+/*
+ * # Semantic - Image
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Image
+*******************************/
+.ui.image {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 100%;
+ background-color: rgba(0, 0, 0, 0.05);
+}
+img.ui.image {
+ display: block;
+ background: none;
+}
+.ui.image img {
+ display: block;
+ max-width: 100%;
+ height: auto;
+}
+/*******************************
+ States
+*******************************/
+.ui.disabled.image {
+ cursor: default;
+ opacity: 0.3;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Rounded
+---------------*/
+.ui.rounded.images .image,
+.ui.rounded.images img,
+.ui.rounded.image img,
+.ui.rounded.image {
+ border-radius: 0.3125em;
+}
+/*--------------
+ Circular
+---------------*/
+.ui.circular.images .image,
+.ui.circular.images img,
+.ui.circular.image img,
+.ui.circular.image {
+ border-radius: 500rem;
+}
+/*--------------
+ Fluid
+---------------*/
+.ui.fluid.images,
+.ui.fluid.image,
+.ui.fluid.images img,
+.ui.fluid.image img {
+ display: block;
+ width: 100%;
+}
+/*--------------
+ Avatar
+---------------*/
+.ui.avatar.images .image,
+.ui.avatar.images img,
+.ui.avatar.image img,
+.ui.avatar.image {
+ margin-right: 0.5em;
+ display: inline-block;
+ width: 2em;
+ height: 2em;
+ border-radius: 500rem;
+}
+/*-------------------
+ Floated
+--------------------*/
+.ui.floated.image,
+.ui.floated.images {
+ float: left;
+ margin-right: 1em;
+ margin-bottom: 1em;
+}
+.ui.right.floated.images,
+.ui.right.floated.image {
+ float: right;
+ margin-bottom: 1em;
+ margin-left: 1em;
+}
+/*--------------
+ Sizes
+---------------*/
+.ui.tiny.images .image,
+.ui.tiny.images img,
+.ui.tiny.image {
+ width: 20px;
+ font-size: 0.7rem;
+}
+.ui.mini.images .image,
+.ui.mini.images img,
+.ui.mini.image {
+ width: 35px;
+ font-size: 0.8rem;
+}
+.ui.small.images .image,
+.ui.small.images img,
+.ui.small.image {
+ width: 80px;
+ font-size: 0.9rem;
+}
+.ui.medium.images .image,
+.ui.medium.images img,
+.ui.medium.image {
+ width: 300px;
+ font-size: 1rem;
+}
+.ui.large.images .image,
+.ui.large.images img,
+.ui.large.image {
+ width: 450px;
+ font-size: 1.1rem;
+}
+.ui.huge.images .image,
+.ui.huge.images img,
+.ui.huge.image {
+ width: 600px;
+ font-size: 1.2rem;
+}
+/*******************************
+ Groups
+*******************************/
+.ui.images {
+ font-size: 0em;
+ margin: 0em -0.25rem 0rem;
+}
+.ui.images .image,
+.ui.images img {
+ display: inline-block;
+ margin: 0em 0.25em 0.5em;
+}
+
+/*
+ * # Semantic - Input
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Standard
+*******************************/
+/*--------------------
+ Inputs
+---------------------*/
+.ui.input {
+ display: inline-block;
+ position: relative;
+ color: rgba(0, 0, 0, 0.7);
+}
+.ui.input input {
+ width: 100%;
+ font-family: "Helvetica Neue", "Helvetica", Arial;
+ margin: 0em;
+ padding: 0.65em 1em;
+ font-size: 1em;
+ background-color: #FFFFFF;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ outline: none;
+ color: rgba(0, 0, 0, 0.7);
+ border-radius: 0.3125em;
+ -webkit-transition: background-color 0.3s ease-out, -webkit-box-shadow 0.2s ease, border-color 0.2s ease;
+ -moz-transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease;
+ transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease;
+ -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*--------------------
+ Placeholder
+---------------------*/
+/* browsers require these rules separate */
+.ui.input::-webkit-input-placeholder {
+ color: #BBBBBB;
+}
+.ui.input::-moz-placeholder {
+ color: #BBBBBB;
+}
+/*******************************
+ States
+*******************************/
+/*--------------------
+ Active
+---------------------*/
+.ui.input input:active,
+.ui.input.down input {
+ border-color: rgba(0, 0, 0, 0.3);
+ background-color: #FAFAFA;
+}
+/*--------------------
+ Loading
+---------------------*/
+.ui.loading.input > .icon {
+ background: url(../images/loader-mini.gif) no-repeat 50% 50%;
+}
+.ui.loading.input > .icon:before,
+.ui.loading.input > .icon:after {
+ display: none;
+}
+/*--------------------
+ Focus
+---------------------*/
+.ui.input.focus input,
+.ui.input input:focus {
+ border-color: rgba(0, 0, 0, 0.2);
+ color: rgba(0, 0, 0, 0.85);
+}
+.ui.input.focus input input::-webkit-input-placeholder,
+.ui.input input:focus input::-webkit-input-placeholder {
+ color: #AAAAAA;
+}
+.ui.input.focus input input::-moz-placeholder,
+.ui.input input:focus input::-moz-placeholder {
+ color: #AAAAAA;
+}
+/*--------------------
+ Error
+---------------------*/
+.ui.input.error input {
+ background-color: #FFFAFA;
+ border-color: #E7BEBE;
+ color: #D95C5C;
+}
+/* Error Placeholder */
+.ui.input.error input ::-webkit-input-placeholder {
+ color: rgba(255, 80, 80, 0.4);
+}
+.ui.input.error input ::-moz-placeholder {
+ color: rgba(255, 80, 80, 0.4);
+}
+.ui.input.error input :focus::-webkit-input-placeholder {
+ color: rgba(255, 80, 80, 0.7);
+}
+.ui.input.error input :focus::-moz-placeholder {
+ color: rgba(255, 80, 80, 0.7);
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------------
+ Transparent
+---------------------*/
+.ui.transparent.input input {
+ border: none;
+ background-color: transparent;
+}
+/*--------------------
+ Icon
+---------------------*/
+.ui.icon.input > .icon {
+ cursor: default;
+ position: absolute;
+ opacity: 0.5;
+ top: 0px;
+ right: 0px;
+ margin: 0em;
+ width: 2.6em;
+ height: 100%;
+ padding-top: 0.82em;
+ text-align: center;
+ border-radius: 0em 0.3125em 0.3125em 0em;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-transition: opacity 0.3s ease-out;
+ -moz-transition: opacity 0.3s ease-out;
+ transition: opacity 0.3s ease-out;
+}
+.ui.icon.input > .link.icon {
+ cursor: pointer;
+}
+.ui.icon.input input {
+ padding-right: 3em !important;
+}
+.ui.icon.input > .circular.icon {
+ top: 0.35em;
+ right: 0.5em;
+}
+/* Left Side */
+.ui.left.icon.input > .icon {
+ right: auto;
+ left: 1px;
+ border-radius: 0.3125em 0em 0em 0.3125em;
+}
+.ui.left.icon.input > .circular.icon {
+ right: auto;
+ left: 0.5em;
+}
+.ui.left.icon.input > input {
+ padding-left: 3em !important;
+ padding-right: 1.2em !important;
+}
+/* Focus */
+.ui.icon.input > input:focus ~ .icon {
+ opacity: 1;
+}
+/*--------------------
+ Labeled
+---------------------*/
+.ui.labeled.input .corner.label {
+ font-size: 0.7em;
+ border-radius: 0 0.3125em;
+}
+.ui.labeled.input .left.corner.label {
+ border-radius: 0.3125em 0;
+}
+.ui.labeled.input input {
+ padding-right: 2.5em !important;
+}
+/* Spacing with corner label */
+.ui.labeled.icon.input:not(.left) > input {
+ padding-right: 3.25em !important;
+}
+.ui.labeled.icon.input:not(.left) > .icon {
+ margin-right: 1.25em;
+}
+/*--------------------
+ Action
+---------------------*/
+.ui.action.input {
+ display: table;
+}
+.ui.action.input > input {
+ display: table-cell;
+ border-top-right-radius: 0px !important;
+ border-bottom-right-radius: 0px !important;
+ border-right: none;
+}
+.ui.action.input > .button,
+.ui.action.input > .buttons {
+ display: table-cell;
+ border-top-left-radius: 0px;
+ border-bottom-left-radius: 0px;
+ white-space: nowrap;
+}
+.ui.action.input > .button > .icon,
+.ui.action.input > .buttons > .button > .icon {
+ display: inline;
+ vertical-align: top;
+}
+.ui.fluid.action.input {
+ display: table;
+ width: 100%;
+}
+.ui.fluid.action.input > .button {
+ width: 0.01%;
+}
+/*--------------------
+ Fluid
+---------------------*/
+.ui.fluid.input {
+ display: block;
+}
+/*--------------------
+ Size
+---------------------*/
+.ui.mini.input {
+ font-size: 0.8125em;
+}
+.ui.small.input {
+ font-size: 0.875em;
+}
+.ui.input {
+ font-size: 1em;
+}
+.ui.large.input {
+ font-size: 1.125em;
+}
+.ui.big.input {
+ font-size: 1.25em;
+}
+.ui.huge.input {
+ font-size: 1.375em;
+}
+.ui.massive.input {
+ font-size: 1.5em;
+}
+
+/*
+ * # Semantic - Label
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Label
+*******************************/
+.ui.label {
+ display: inline-block;
+ vertical-align: middle;
+ margin: -0.25em 0.25em 0em;
+ background-color: #E8E8E8;
+ border-color: #E8E8E8;
+ padding: 0.5em 0.8em;
+ color: rgba(0, 0, 0, 0.65);
+ text-transform: uppercase;
+ font-weight: normal;
+ border-radius: 0.325em;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-transition: background 0.1s linear
+ ;
+ -moz-transition: background 0.1s linear
+ ;
+ transition: background 0.1s linear
+ ;
+}
+.ui.label:first-child {
+ margin-left: 0em;
+}
+.ui.label:last-child {
+ margin-right: 0em;
+}
+/* Link */
+a.ui.label {
+ cursor: pointer;
+}
+/* Inside Link */
+.ui.label a {
+ cursor: pointer;
+ color: inherit;
+ opacity: 0.8;
+ -webkit-transition: 0.2s opacity ease;
+ -moz-transition: 0.2s opacity ease;
+ transition: 0.2s opacity ease;
+}
+.ui.label a:hover {
+ opacity: 1;
+}
+/* Detail */
+.ui.label .detail {
+ display: inline-block;
+ margin-left: 0.5em;
+ font-weight: bold;
+ opacity: 0.8;
+}
+/* Icon */
+.ui.label .icon {
+ width: auto;
+}
+/* Removable label */
+.ui.label .delete.icon {
+ cursor: pointer;
+ margin: 0em 0em 0em 0.5em;
+ opacity: 0.7;
+ -webkit-transition: background 0.1s linear
+ ;
+ -moz-transition: background 0.1s linear
+ ;
+ transition: background 0.1s linear
+ ;
+}
+.ui.label .delete.icon:hover {
+ opacity: 0.99;
+}
+/*-------------------
+ Coupling
+--------------------*/
+/* Padding on next content after a label */
+.ui.segment > .attached.label:first-child + * {
+ margin-top: 2.5em;
+}
+.ui.segment > .bottom.attached.label:first-child ~ :last-child {
+ margin-top: 0em;
+ margin-bottom: 2.5em;
+}
+/*******************************
+ Types
+*******************************/
+.ui.image.label {
+ width: auto !important;
+ margin-top: 0em;
+ margin-bottom: 0em;
+ padding-top: 0.4em;
+ padding-bottom: 0.4em;
+ line-height: 1.5em;
+ vertical-align: baseline;
+ text-transform: none;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+}
+.ui.image.label img {
+ display: inline-block;
+ height: 2.25em;
+ margin: -0.4em 0.8em -0.4em -0.8em;
+ vertical-align: top;
+ border-radius: 0.325em 0em 0em 0.325em;
+}
+/*******************************
+ States
+*******************************/
+/*-------------------
+ Disabled
+--------------------*/
+.ui.label.disabled {
+ opacity: 0.5;
+}
+/*-------------------
+ Hover
+--------------------*/
+a.ui.labels .label:hover,
+a.ui.label:hover {
+ background-color: #E0E0E0;
+ border-color: #E0E0E0;
+ color: rgba(0, 0, 0, 0.7);
+}
+.ui.labels a.label:hover:before,
+a.ui.label:hover:before {
+ background-color: #E0E0E0;
+ color: rgba(0, 0, 0, 0.7);
+}
+/*-------------------
+ Visible
+--------------------*/
+.ui.labels.visible .label,
+.ui.label.visible {
+ display: inline-block !important;
+}
+/*-------------------
+ Hidden
+--------------------*/
+.ui.labels.hidden .label,
+.ui.label.hidden {
+ display: none !important;
+}
+/*******************************
+ Variations
+*******************************/
+/*-------------------
+ Tag
+--------------------*/
+.ui.tag.labels .label,
+.ui.tag.label {
+ margin-left: 1em;
+ position: relative;
+ padding: 0.33em 1.3em 0.33em 1.4em;
+ border-radius: 0px 3px 3px 0px;
+}
+.ui.tag.labels .label:before,
+.ui.tag.label:before {
+ position: absolute;
+ top: 0.3em;
+ left: 0.3em;
+ content: '';
+ margin-left: -1em;
+ background-image: none;
+ width: 1.5em;
+ height: 1.5em;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+ -webkit-transition: background 0.1s linear
+ ;
+ -moz-transition: background 0.1s linear
+ ;
+ transition: background 0.1s linear
+ ;
+}
+.ui.tag.labels .label:after,
+.ui.tag.label:after {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: -0.25em;
+ margin-top: -0.3em;
+ background-color: #FFFFFF;
+ width: 0.55em;
+ height: 0.55em;
+ -webkit-box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);
+ box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);
+ border-radius: 100px 100px 100px 100px;
+}
+/*-------------------
+ Ribbon
+--------------------*/
+.ui.ribbon.label {
+ position: relative;
+ margin: 0em 0.2em;
+ left: -2rem;
+ padding-left: 2rem;
+ border-radius: 0px 4px 4px 0px;
+ border-color: rgba(0, 0, 0, 0.15);
+}
+.ui.ribbon.label:after {
+ position: absolute;
+ content: "";
+ top: 100%;
+ left: 0%;
+ border-top: 0em solid transparent;
+ border-right-width: 1em;
+ border-right-color: inherit;
+ border-right-style: solid;
+ border-bottom: 1em solid transparent;
+ border-left: 0em solid transparent;
+ width: 0em;
+ height: 0em;
+}
+/*-------------------
+ Attached
+--------------------*/
+.ui.top.attached.label,
+.ui.attached.label {
+ width: 100%;
+ position: absolute;
+ margin: 0em;
+ top: 0em;
+ left: 0em;
+ padding: 0.75em 1em;
+ border-radius: 4px 4px 0em 0em;
+}
+.ui.bottom.attached.label {
+ top: auto;
+ bottom: 0em;
+ border-radius: 0em 0em 4px 4px;
+}
+.ui.top.left.attached.label {
+ width: auto;
+ margin-top: 0em !important;
+ border-radius: 4px 0em 4px 0em;
+}
+.ui.top.right.attached.label {
+ width: auto;
+ left: auto;
+ right: 0em;
+ border-radius: 0em 4px 0em 4px;
+}
+.ui.bottom.left.attached.label {
+ width: auto;
+ top: auto;
+ bottom: 0em;
+ border-radius: 4px 0em 0em 4px;
+}
+.ui.bottom.right.attached.label {
+ top: auto;
+ bottom: 0em;
+ left: auto;
+ right: 0em;
+ width: auto;
+ border-radius: 4px 0em 4px 0em;
+}
+/*-------------------
+ Corner Label
+--------------------*/
+.ui.corner.label {
+ background-color: transparent;
+ position: absolute;
+ top: 0em;
+ right: 0em;
+ z-index: 10;
+ margin: 0em;
+ width: 3em;
+ height: 3em;
+ padding: 0em;
+ text-align: center;
+ -webkit-transition: color 0.2s ease;
+ -moz-transition: color 0.2s ease;
+ transition: color 0.2s ease;
+}
+.ui.corner.label:after {
+ position: absolute;
+ content: "";
+ right: 0em;
+ top: 0em;
+ z-index: -1;
+ width: 0em;
+ height: 0em;
+ border-top: 0em solid transparent;
+ border-right: 3em solid transparent;
+ border-bottom: 3em solid transparent;
+ border-left: 0em solid transparent;
+ border-right-color: inherit;
+ -webkit-transition: border-color 0.2s ease;
+ -moz-transition: border-color 0.2s ease;
+ transition: border-color 0.2s ease;
+}
+.ui.corner.label .icon {
+ font-size: 0.875em;
+ margin: 0.5em 0em 0em 1.25em;
+}
+.ui.corner.label .text {
+ display: inline-block;
+ font-weight: bold;
+ margin: 0.5em 0em 0em 1em;
+ width: 2.5em;
+ font-size: 0.875em;
+ text-align: center;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+}
+/* Coupling */
+.ui.rounded.image > .ui.corner.label,
+.ui.input > .ui.corner.label,
+.ui.segment > .ui.corner.label {
+ overflow: hidden;
+}
+.ui.segment > .ui.corner.label {
+ top: -1px;
+ right: -1px;
+}
+.ui.segment > .ui.left.corner.label {
+ right: auto;
+ left: -1px;
+}
+.ui.input > .ui.corner.label {
+ top: 1px;
+ right: 1px;
+}
+.ui.input > .ui.right.corner.label {
+ right: auto;
+ left: 1px;
+}
+/* Left Corner */
+.ui.left.corner.label,
+.ui.left.corner.label:after {
+ right: auto;
+ left: 0em;
+}
+.ui.left.corner.label:after {
+ border-top: 3em solid transparent;
+ border-right: 3em solid transparent;
+ border-bottom: 0em solid transparent;
+ border-left: 0em solid transparent;
+ border-top-color: inherit;
+}
+.ui.left.corner.label .icon {
+ margin: 0.5em 0em 0em -1em;
+}
+.ui.left.corner.label .text {
+ margin: 0.5em 0em 0em -1em;
+ -webkit-transform: rotate(-45deg);
+ -moz-transform: rotate(-45deg);
+ -ms-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+}
+/* Hover */
+.ui.corner.label:hover {
+ background-color: transparent;
+}
+/*-------------------
+ Fluid
+--------------------*/
+.ui.label.fluid,
+.ui.fluid.labels > .label {
+ width: 100%;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*-------------------
+ Inverted
+--------------------*/
+.ui.inverted.labels .label,
+.ui.inverted.label {
+ color: #FFFFFF !important;
+}
+/*-------------------
+ Colors
+--------------------*/
+/*--- Black ---*/
+.ui.black.labels .label,
+.ui.black.label {
+ background-color: #5C6166 !important;
+ border-color: #5C6166 !important;
+ color: #FFFFFF !important;
+}
+.ui.labels .black.label:before,
+.ui.black.labels .label:before,
+.ui.black.label:before {
+ background-color: #5C6166 !important;
+}
+/* Hover */
+a.ui.black.labels .label:hover,
+a.ui.black.label:hover {
+ background-color: #333333 !important;
+ border-color: #333333 !important;
+}
+.ui.labels a.black.label:hover:before,
+.ui.black.labels a.label:hover:before,
+a.ui.black.label:hover:before {
+ background-color: #333333 !important;
+}
+/* Corner */
+.ui.black.corner.label,
+.ui.black.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.black.ribbon.label {
+ border-color: #333333 !important;
+}
+/*--- Green ---*/
+.ui.green.labels .label,
+.ui.green.label {
+ background-color: #A1CF64 !important;
+ border-color: #A1CF64 !important;
+ color: #FFFFFF !important;
+}
+.ui.labels .green.label:before,
+.ui.green.labels .label:before,
+.ui.green.label:before {
+ background-color: #A1CF64 !important;
+}
+/* Hover */
+a.ui.green.labels .label:hover,
+a.ui.green.label:hover {
+ background-color: #89B84C !important;
+ border-color: #89B84C !important;
+}
+.ui.labels a.green.label:hover:before,
+.ui.green.labels a.label:hover:before,
+a.ui.green.label:hover:before {
+ background-color: #89B84C !important;
+}
+/* Corner */
+.ui.green.corner.label,
+.ui.green.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.green.ribbon.label {
+ border-color: #89B84C !important;
+}
+/*--- Red ---*/
+.ui.red.labels .label,
+.ui.red.label {
+ background-color: #D95C5C !important;
+ border-color: #D95C5C !important;
+ color: #FFFFFF !important;
+}
+.ui.labels .red.label:before,
+.ui.red.labels .label:before,
+.ui.red.label:before {
+ background-color: #D95C5C !important;
+}
+/* Corner */
+.ui.red.corner.label,
+.ui.red.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Hover */
+a.ui.red.labels .label:hover,
+a.ui.red.label:hover {
+ background-color: #DE3859 !important;
+ border-color: #DE3859 !important;
+ color: #FFFFFF !important;
+}
+.ui.labels a.red.label:hover:before,
+.ui.red.labels a.label:hover:before,
+a.ui.red.label:hover:before {
+ background-color: #DE3859 !important;
+}
+/* Ribbon */
+.ui.red.ribbon.label {
+ border-color: #DE3859 !important;
+}
+/*--- Blue ---*/
+.ui.blue.labels .label,
+.ui.blue.label {
+ background-color: #6ECFF5 !important;
+ border-color: #6ECFF5 !important;
+ color: #FFFFFF !important;
+}
+.ui.labels .blue.label:before,
+.ui.blue.labels .label:before,
+.ui.blue.label:before {
+ background-color: #6ECFF5 !important;
+}
+/* Hover */
+a.ui.blue.labels .label:hover,
+.ui.blue.labels a.label:hover,
+a.ui.blue.label:hover {
+ background-color: #1AB8F3 !important;
+ border-color: #1AB8F3 !important;
+ color: #FFFFFF !important;
+}
+.ui.labels a.blue.label:hover:before,
+.ui.blue.labels a.label:hover:before,
+a.ui.blue.label:hover:before {
+ background-color: #1AB8F3 !important;
+}
+/* Corner */
+.ui.blue.corner.label,
+.ui.blue.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.blue.ribbon.label {
+ border-color: #1AB8F3 !important;
+}
+/*--- Purple ---*/
+.ui.purple.labels .label,
+.ui.purple.label {
+ background-color: #564F8A !important;
+ border-color: #564F8A !important;
+ color: #FFFFFF !important;
+}
+.ui.labels .purple.label:before,
+.ui.purple.labels .label:before,
+.ui.purple.label:before {
+ background-color: #564F8A !important;
+}
+/* Hover */
+a.ui.purple.labels .label:hover,
+.ui.purple.labels a.label:hover,
+a.ui.purple.label:hover {
+ background-color: #3E3773 !important;
+ border-color: #3E3773 !important;
+ color: #FFFFFF !important;
+}
+.ui.labels a.purple.label:hover:before,
+.ui.purple.labels a.label:hover:before,
+a.ui.purple.label:hover:before {
+ background-color: #3E3773 !important;
+}
+/* Corner */
+.ui.purple.corner.label,
+.ui.purple.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.purple.ribbon.label {
+ border-color: #3E3773 !important;
+}
+/*--- Orange ---*/
+.ui.orange.labels .label,
+.ui.orange.label {
+ background-color: #F05940 !important;
+ border-color: #F05940 !important;
+ color: #FFFFFF !important;
+}
+.ui.labels .orange.label:before,
+.ui.orange.labels .label:before,
+.ui.orange.label:before {
+ background-color: #F05940 !important;
+}
+/* Hover */
+a.ui.orange.labels .label:hover,
+.ui.orange.labels a.label:hover,
+a.ui.orange.label:hover {
+ background-color: #FF4121 !important;
+ border-color: #FF4121 !important;
+ color: #FFFFFF !important;
+}
+.ui.labels a.orange.label:hover:before,
+.ui.orange.labels a.label:hover:before,
+a.ui.orange.label:hover:before {
+ background-color: #FF4121 !important;
+}
+/* Corner */
+.ui.orange.corner.label,
+.ui.orange.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.orange.ribbon.label {
+ border-color: #FF4121 !important;
+}
+/*--- Teal ---*/
+.ui.teal.labels .label,
+.ui.teal.label {
+ background-color: #00B5AD !important;
+ border-color: #00B5AD !important;
+ color: #FFFFFF !important;
+}
+.ui.labels .teal.label:before,
+.ui.teal.labels .label:before,
+.ui.teal.label:before {
+ background-color: #00B5AD !important;
+}
+/* Hover */
+a.ui.teal.labels .label:hover,
+.ui.teal.labels a.label:hover,
+a.ui.teal.label:hover {
+ background-color: #009A93 !important;
+ border-color: #009A93 !important;
+ color: #FFFFFF !important;
+}
+.ui.labels a.teal.label:hover:before,
+.ui.teal.labels a.label:hover:before,
+a.ui.teal.label:hover:before {
+ background-color: #009A93 !important;
+}
+/* Corner */
+.ui.teal.corner.label,
+.ui.teal.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.teal.ribbon.label {
+ border-color: #009A93 !important;
+}
+/*-------------------
+ Horizontal
+--------------------*/
+.ui.horizontal.labels .label,
+.ui.horizontal.label {
+ margin: -0.125em 0.5em -0.125em 0em;
+ padding: 0.35em 1em;
+ min-width: 6em;
+ text-align: center;
+}
+/*-------------------
+ Circular
+--------------------*/
+.ui.circular.labels .label,
+.ui.circular.label {
+ min-height: 1em;
+ max-height: 2em;
+ padding: 0.5em !important;
+ line-height: 1em;
+ text-align: center;
+ border-radius: 500rem;
+}
+/*-------------------
+ Pointing
+--------------------*/
+.ui.pointing.label {
+ position: relative;
+}
+.ui.attached.pointing.label {
+ position: absolute;
+}
+.ui.pointing.label:before {
+ position: absolute;
+ content: "";
+ width: 0.6em;
+ height: 0.6em;
+ background-image: none;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+ z-index: 2;
+ -webkit-transition: background 0.1s linear
+ ;
+ -moz-transition: background 0.1s linear
+ ;
+ transition: background 0.1s linear
+ ;
+}
+/*--- Above ---*/
+.ui.pointing.label:before {
+ background-color: #E8E8E8;
+}
+.ui.pointing.label,
+.ui.pointing.above.label {
+ margin-top: 1em;
+}
+.ui.pointing.label:before,
+.ui.pointing.above.label:before {
+ margin-left: -0.3em;
+ top: -0.3em;
+ left: 50%;
+}
+/*--- Below ---*/
+.ui.pointing.below.label {
+ margin-top: 0em;
+ margin-bottom: 1em;
+}
+.ui.pointing.below.label:before {
+ margin-left: -0.3em;
+ top: auto;
+ right: auto;
+ bottom: -0.3em;
+ left: 50%;
+}
+/*--- Left ---*/
+.ui.pointing.left.label {
+ margin-top: 0em;
+ margin-left: 1em;
+}
+.ui.pointing.left.label:before {
+ margin-top: -0.3em;
+ bottom: auto;
+ right: auto;
+ top: 50%;
+ left: 0em;
+}
+/*--- Right ---*/
+.ui.pointing.right.label {
+ margin-top: 0em;
+ margin-right: 1em;
+}
+.ui.pointing.right.label:before {
+ margin-top: -0.3em;
+ right: -0.3em;
+ top: 50%;
+ bottom: auto;
+ left: auto;
+}
+/*------------------
+ Floating Label
+-------------------*/
+.ui.floating.label {
+ position: absolute;
+ z-index: 100;
+ top: -1em;
+ left: 100%;
+ margin: 0em 0em 0em -1.5em !important;
+}
+/*-------------------
+ Sizes
+--------------------*/
+.ui.small.labels .label,
+.ui.small.label {
+ font-size: 0.75rem;
+}
+.ui.label {
+ font-size: 0.8125rem;
+}
+.ui.large.labels .label,
+.ui.large.label {
+ font-size: 0.875rem;
+}
+.ui.huge.labels .label,
+.ui.huge.label {
+ font-size: 1rem;
+}
+
+/*
+ * # Semantic - Loader
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Loader
+*******************************/
+/* Standard Size */
+.ui.loader {
+ display: none;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin: 0px;
+ z-index: 1000;
+ -webkit-transform: translateX(-50%) translateY(-50%);
+ -moz-transform: translateX(-50%) translateY(-50%);
+ -ms-transform: translateX(-50%) translateY(-50%);
+ transform: translateX(-50%) translateY(-50%);
+}
+.ui.dimmer .loader {
+ display: block;
+}
+/*******************************
+ Types
+*******************************/
+/*-------------------
+ Text
+--------------------*/
+.ui.text.loader {
+ width: auto !important;
+ height: auto !important;
+ text-align: center;
+ font-style: normal;
+}
+.ui.mini.text.loader {
+ min-width: 16px;
+ padding-top: 2em;
+ font-size: 0.875em;
+}
+.ui.small.text.loader {
+ min-width: 24px;
+ padding-top: 2.5em;
+ font-size: 0.875em;
+}
+.ui.text.loader {
+ min-width: 32px;
+ font-size: 1em;
+ padding-top: 3em;
+}
+.ui.large.text.loader {
+ min-width: 64px;
+ padding-top: 5em;
+ font-size: 1.2em;
+}
+/*******************************
+ States
+*******************************/
+.ui.loader.active,
+.ui.loader.visible {
+ display: block;
+}
+.ui.loader.disabled,
+.ui.loader.hidden {
+ display: none;
+}
+/*******************************
+ Variations
+*******************************/
+/*-------------------
+ Inverted
+--------------------*/
+.ui.dimmer .ui.text.loader,
+.ui.inverted.text.loader {
+ color: rgba(255, 255, 255, 0.8);
+}
+.ui.inverted.dimmer .ui.text.loader {
+ color: rgba(0, 0, 0, 0.8);
+}
+/* Tiny Size */
+.ui.dimmer .mini.ui.loader,
+.ui.inverted .mini.ui.loader {
+ background-image: url(../images/loader-mini-inverted.gif);
+}
+/* Small Size */
+.ui.dimmer .small.ui.loader,
+.ui.inverted .small.ui.loader {
+ background-image: url(../images/loader-small-inverted.gif);
+}
+/* Standard Size */
+.ui.dimmer .ui.loader,
+.ui.inverted.loader {
+ background-image: url(../images/loader-medium-inverted.gif);
+}
+/* Large Size */
+.ui.dimmer .large.ui.loader,
+.ui.inverted .large.ui.loader {
+ background-image: url(../images/loader-large-inverted.gif);
+}
+/*-------------------
+ Sizes
+--------------------*/
+/* Tiny Size */
+.ui.inverted.dimmer .ui.mini.loader,
+.ui.mini.loader {
+ width: 16px;
+ height: 16px;
+ background-image: url(../images/loader-mini.gif);
+}
+/* Small Size */
+.ui.inverted.dimmer .ui.small.loader,
+.ui.small.loader {
+ width: 24px;
+ height: 24px;
+ background-image: url(../images/loader-small.gif);
+}
+.ui.inverted.dimmer .ui.loader,
+.ui.loader {
+ width: 32px;
+ height: 32px;
+ background: url(../images/loader-medium.gif) no-repeat;
+ background-position: 48% 0px;
+}
+/* Large Size */
+.ui.inverted.dimmer .ui.loader.large,
+.ui.loader.large {
+ width: 64px;
+ height: 64px;
+ background-image: url(../images/loader-large.gif);
+}
+/*-------------------
+ Inline
+--------------------*/
+.ui.inline.loader {
+ position: static;
+ vertical-align: middle;
+ margin: 0em;
+ -webkit-transform: none;
+ -moz-transform: none;
+ -ms-transform: none;
+ transform: none;
+}
+.ui.inline.loader.active,
+.ui.inline.loader.visible {
+ display: inline-block;
+}
+
+/*
+ * # Semantic - Progress Bar
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Progress Bar
+*******************************/
+.ui.progress {
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ width: 100%;
+ height: 35px;
+ background-color: #FAFAFA;
+ padding: 5px;
+ border-radius: 0.3125em;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.ui.progress .bar {
+ display: inline-block;
+ height: 100%;
+ background-color: #CCCCCC;
+ border-radius: 3px;
+ -webkit-transition: width 1s ease-in-out, background-color 1s ease-out;
+ -moz-transition: width 1s ease-in-out, background-color 1s ease-out;
+ transition: width 1s ease-in-out, background-color 1s ease-out;
+}
+/*******************************
+ States
+*******************************/
+/*--------------
+ Successful
+---------------*/
+.ui.successful.progress .bar {
+ background-color: #73E064 !important;
+}
+.ui.successful.progress .bar,
+.ui.successful.progress .bar::after {
+ -webkit-animation: none !important;
+ -moz-animation: none !important;
+ animation: none !important;
+}
+.ui.warning.progress .bar {
+ background-color: #E96633 !important;
+}
+.ui.warning.progress .bar,
+.ui.warning.progress .bar::after {
+ -webkit-animation: none !important;
+ -moz-animation: none !important;
+ animation: none !important;
+}
+/*--------------
+ Failed
+---------------*/
+.ui.failed.progress .bar {
+ background-color: #DF9BA4 !important;
+}
+.ui.failed.progress .bar,
+.ui.failed.progress .bar::after {
+ -webkit-animation: none !important;
+ -moz-animation: none !important;
+ animation: none !important;
+}
+/*--------------
+ Active
+---------------*/
+.ui.active.progress .bar {
+ position: relative;
+}
+.ui.active.progress .bar::after {
+ content: '';
+ opacity: 0;
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ right: 0px;
+ bottom: 0px;
+ background: #FFFFFF;
+ border-radius: 3px;
+ -webkit-animation: progress-active 2s ease-out infinite;
+ -moz-animation: progress-active 2s ease-out infinite;
+ animation: progress-active 2s ease-out infinite;
+}
+ at -webkit-keyframes progress-active {
+ 0% {
+ opacity: 0;
+ width: 0;
+ }
+ 50% {
+ opacity: 0.3;
+ }
+ 100% {
+ opacity: 0;
+ width: 95%;
+ }
+}
+ at -moz-keyframes progress-active {
+ 0% {
+ opacity: 0;
+ width: 0;
+ }
+ 50% {
+ opacity: 0.3;
+ }
+ 100% {
+ opacity: 0;
+ width: 100%;
+ }
+}
+ at keyframes progress-active {
+ 0% {
+ opacity: 0;
+ width: 0;
+ }
+ 50% {
+ opacity: 0.3;
+ }
+ 100% {
+ opacity: 0;
+ width: 100%;
+ }
+}
+/*--------------
+ Disabled
+---------------*/
+.ui.disabled.progress {
+ opacity: 0.35;
+}
+.ui.disabled.progress .bar,
+.ui.disabled.progress .bar::after {
+ -webkit-animation: none !important;
+ -moz-animation: none !important;
+ animation: none !important;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Attached
+---------------*/
+/* bottom attached */
+.ui.progress.attached {
+ position: relative;
+ border: none;
+}
+.ui.progress.attached,
+.ui.progress.attached .bar {
+ display: block;
+ height: 3px;
+ padding: 0px;
+ overflow: hidden;
+ border-radius: 0em 0em 0.3125em 0.3125em;
+}
+.ui.progress.attached .bar {
+ border-radius: 0em;
+}
+/* top attached */
+.ui.progress.top.attached,
+.ui.progress.top.attached .bar {
+ top: -2px;
+ border-radius: 0.3125em 0.3125em 0em 0em;
+}
+.ui.progress.top.attached .bar {
+ border-radius: 0em;
+}
+/*--------------
+ Colors
+---------------*/
+.ui.blue.progress .bar {
+ background-color: #6ECFF5;
+}
+.ui.black.progress .bar {
+ background-color: #5C6166;
+}
+.ui.green.progress .bar {
+ background-color: #A1CF64;
+}
+.ui.red.progress .bar {
+ background-color: #EF4D6D;
+}
+.ui.purple.progress .bar {
+ background-color: #564F8A;
+}
+.ui.teal.progress .bar {
+ background-color: #00B5AD;
+}
+/*--------------
+ Striped
+---------------*/
+.ui.progress.striped .bar {
+ -webkit-background-size: 30px 30px;
+ background-size: 30px 30px;
+ background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(135deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -webkit-linear-gradient(315deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(315deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.ui.progress.active.striped .bar:after {
+ -webkit-animation: none;
+ -moz-animation: none;
+ -ms-animation: none;
+ animation: none;
+}
+.ui.progress.active.striped .bar {
+ -webkit-animation: progress-striped 3s linear infinite;
+ -moz-animation: progress-striped 3s linear infinite;
+ animation: progress-striped 3s linear infinite;
+}
+ at -webkit-keyframes progress-striped {
+ 0% {
+ background-position: 0px 0;
+ }
+ 100% {
+ background-position: 60px 0;
+ }
+}
+ at -moz-keyframes progress-striped {
+ 0% {
+ background-position: 0px 0;
+ }
+ 100% {
+ background-position: 60px 0;
+ }
+}
+ at keyframes progress-striped {
+ 0% {
+ background-position: 0px 0;
+ }
+ 100% {
+ background-position: 60px 0;
+ }
+}
+/*--------------
+ Sizes
+---------------*/
+.ui.small.progress .bar {
+ height: 14px;
+}
+
+/*
+ * # Semantic - Reveal
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Reveal
+*******************************/
+.ui.reveal {
+ display: inline-block;
+ position: relative !important;
+ z-index: 2 !important;
+ font-size: 0em !important;
+}
+.ui.reveal > .content {
+ font-size: 1rem !important;
+}
+.ui.reveal > .visible.content {
+ -webkit-transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+ -moz-transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+ transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+}
+.ui.reveal > .visible.content {
+ position: absolute !important;
+ top: 0em !important;
+ left: 0em !important;
+ z-index: 4 !important;
+ -webkit-transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+ -moz-transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+ transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+}
+.ui.reveal > .hidden.content {
+ position: relative !important;
+ z-index: 3 !important;
+}
+/*------------------
+ Loose Coupling
+-------------------*/
+.ui.reveal.button {
+ overflow: hidden;
+}
+/*******************************
+ Types
+*******************************/
+/*--------------
+ Slide
+---------------*/
+.ui.slide.reveal {
+ position: relative !important;
+ display: block;
+ overflow: hidden !important;
+ white-space: nowrap;
+}
+.ui.slide.reveal > .content {
+ display: block;
+ float: left;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ margin: 0em;
+ -webkit-transition: top 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, left 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, right 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, bottom 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+ -moz-transition: top 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, left 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, right 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, bottom 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+ transition: top 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, left 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, right 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s, bottom 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+}
+.ui.slide.reveal > .visible.content {
+ position: relative !important;
+}
+.ui.slide.reveal > .hidden.content {
+ position: absolute !important;
+ left: 100% !important;
+ width: 100% !important;
+}
+.ui.slide.reveal:hover > .visible.content,
+.ui.slide.reveal:focus > .visible.content {
+ left: -100% !important;
+}
+.ui.slide.reveal:hover > .hidden.content,
+.ui.slide.reveal:focus > .hidden.content {
+ left: 0% !important;
+}
+.ui.right.slide.reveal > .visible.content {
+ left: 0%;
+}
+.ui.right.slide.reveal > .hidden.content {
+ left: auto !important;
+ right: 100% !important;
+}
+.ui.right.slide.reveal:hover > .visible.content,
+.ui.right.slide.reveal:focus > .visible.content {
+ left: 100% !important;
+ right: auto !important;
+}
+.ui.right.slide.reveal:hover > .hidden.content,
+.ui.right.slide.reveal:focus > .hidden.content {
+ left: auto !important;
+ right: 0% !important;
+}
+.ui.up.slide.reveal > .visible.content {
+ top: 0% !important;
+ left: 0% !important;
+ right: auto !important;
+ bottom: auto !important;
+}
+.ui.up.slide.reveal > .hidden.content {
+ top: 100% !important;
+ left: 0% !important;
+ right: auto !important;
+ bottom: auto !important;
+}
+.ui.slide.up.reveal:hover > .visible.content,
+.ui.slide.up.reveal:focus > .visible.content {
+ top: -100% !important;
+ left: 0% !important;
+}
+.ui.slide.up.reveal:hover > .hidden.content,
+.ui.slide.up.reveal:focus > .hidden.content {
+ top: 0% !important;
+ left: 0% !important;
+}
+.ui.down.slide.reveal > .visible.content {
+ top: auto !important;
+ right: auto !important;
+ bottom: auto !important;
+ bottom: 0% !important;
+}
+.ui.down.slide.reveal > .hidden.content {
+ top: auto !important;
+ right: auto !important;
+ bottom: 100% !important;
+ left: 0% !important;
+}
+.ui.slide.down.reveal:hover > .visible.content,
+.ui.slide.down.reveal:focus > .visible.content {
+ left: 0% !important;
+ bottom: -100% !important;
+}
+.ui.slide.down.reveal:hover > .hidden.content,
+.ui.slide.down.reveal:focus > .hidden.content {
+ left: 0% !important;
+ bottom: 0% !important;
+}
+/*--------------
+ Fade
+---------------*/
+.ui.fade.reveal > .hidden.content {
+ -webkit-transition: opacity 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+ -moz-transition: opacity 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+ transition: opacity 0.8s cubic-bezier(0.175, 0.885, 0.32, 1) 0.15s;
+}
+.ui.fade.reveal > .hidden.content {
+ z-index: 5 !important;
+ opacity: 0;
+}
+.ui.fade.reveal:hover > .hidden.content {
+ opacity: 1;
+}
+/*--------------
+ Move
+---------------*/
+.ui.move.reveal > .visible.content,
+.ui.move.left.reveal > .visible.content {
+ left: auto !important;
+ top: auto !important;
+ bottom: auto !important;
+ right: 0% !important;
+}
+.ui.move.reveal:hover > .visible.content,
+.ui.move.left.reveal:hover > .visible.content,
+.ui.move.reveal:focus > .visible.content,
+.ui.move.left.reveal:focus > .visible.content {
+ right: 100% !important;
+}
+.ui.move.right.reveal > .visible.content {
+ right: auto !important;
+ top: auto !important;
+ bottom: auto !important;
+ left: 0% !important;
+}
+.ui.move.right.reveal:hover > .visible.content,
+.ui.move.right.reveal:focus > .visible.content {
+ left: 100% !important;
+}
+.ui.move.up.reveal > .visible.content {
+ right: auto !important;
+ left: auto !important;
+ top: auto !important;
+ bottom: 0% !important;
+}
+.ui.move.up.reveal:hover > .visible.content,
+.ui.move.up.reveal:focus > .visible.content {
+ bottom: 100% !important;
+}
+.ui.move.down.reveal > .visible.content {
+ right: auto !important;
+ left: auto !important;
+ top: 0% !important;
+ bottom: auto !important;
+}
+.ui.move.down.reveal:hover > .visible.content,
+.ui.move.down.reveal:focus > .visible.content {
+ top: 100% !important;
+}
+/*--------------
+ Rotate
+---------------*/
+.ui.rotate.reveal > .visible.content {
+ -webkit-transition-duration: 0.8s;
+ -moz-transition-duration: 0.8s;
+ transition-duration: 0.8s;
+ -webkit-transform: rotate(0deg);
+ -moz-transform: rotate(0deg);
+ -ms-transform: rotate(0deg);
+ transform: rotate(0deg);
+}
+.ui.rotate.reveal > .visible.content,
+.ui.rotate.right.reveal > .visible.content {
+ -webkit-transform-origin: bottom right;
+ -moz-transform-origin: bottom right;
+ -ms-transform-origin: bottom right;
+ transform-origin: bottom right;
+}
+.ui.rotate.reveal:hover > .visible.content,
+.ui.rotate.right.reveal:hover > .visible.content,
+.ui.rotate.reveal:focus > .visible.content,
+.ui.rotate.right.reveal:focus > .visible.content {
+ -webkit-transform: rotate(110deg);
+ -moz-transform: rotate(110deg);
+ -ms-transform: rotate(110deg);
+ transform: rotate(110deg);
+}
+.ui.rotate.left.reveal > .visible.content {
+ -webkit-transform-origin: bottom left;
+ -moz-transform-origin: bottom left;
+ -ms-transform-origin: bottom left;
+ transform-origin: bottom left;
+}
+.ui.rotate.left.reveal:hover > .visible.content,
+.ui.rotate.left.reveal:focus > .visible.content {
+ -webkit-transform: rotate(-110deg);
+ -moz-transform: rotate(-110deg);
+ -ms-transform: rotate(-110deg);
+ transform: rotate(-110deg);
+}
+/*******************************
+ States
+*******************************/
+.ui.disabled.reveal {
+ opacity: 1 !important;
+}
+.ui.disabled.reveal > .content {
+ -webkit-transition: none !important;
+ -moz-transition: none !important;
+ transition: none !important;
+}
+.ui.disabled.reveal:hover > .visible.content,
+.ui.disabled.reveal:focus > .visible.content {
+ position: static !important;
+ display: block !important;
+ opacity: 1 !important;
+ top: 0 !important;
+ left: 0 !important;
+ right: auto !important;
+ bottom: auto !important;
+ -webkit-transform: none !important;
+ -moz-transform: none !important;
+ -ms-transform: none !important;
+ transform: none !important;
+}
+.ui.disabled.reveal:hover > .hidden.content,
+.ui.disabled.reveal:focus > .hidden.content {
+ display: none !important;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Masked
+---------------*/
+.ui.masked.reveal {
+ overflow: hidden;
+}
+/*--------------
+ Instant
+---------------*/
+.ui.instant.reveal > .content {
+ -webkit-transition-delay: 0s !important;
+ -moz-transition-delay: 0s !important;
+ transition-delay: 0s !important;
+}
+
+/*
+ * # Semantic - Segment
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Segment
+*******************************/
+.ui.segment {
+ position: relative;
+ background-color: #FFFFFF;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ margin: 1em 0em;
+ padding: 1em;
+ border-radius: 5px 5px 5px 5px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.ui.segment:first-child {
+ margin-top: 0em;
+}
+.ui.segment:last-child {
+ margin-bottom: 0em;
+}
+.ui.segment:after {
+ content: '';
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+.ui.vertical.segment {
+ margin: 0em;
+ padding-left: 0em;
+ padding-right: 0em;
+ background-color: transparent;
+ border-radius: 0px;
+ -webkit-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.1);
+}
+.ui.vertical.segment:first-child {
+ padding-top: 0em;
+}
+.ui.horizontal.segment {
+ margin: 0em;
+ padding-top: 0em;
+ padding-bottom: 0em;
+ background-color: transparent;
+ border-radius: 0px;
+ -webkit-box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.1);
+ box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.1);
+}
+.ui.horizontal.segment:first-child {
+ padding-left: 0em;
+}
+/*-------------------
+ Loose Coupling
+--------------------*/
+.ui.pointing.menu ~ .ui.attached.segment {
+ top: 1px;
+}
+.ui.page.grid.segment .ui.grid .ui.segment.column {
+ padding-top: 2rem;
+ padding-bottom: 2rem;
+}
+.ui.grid.segment,
+.ui.grid .ui.segment.row,
+.ui.grid .ui.segment.column {
+ border-radius: 0em;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ border: none;
+}
+/* No padding on edge content */
+.ui.segment > :first-child {
+ margin-top: 0em;
+}
+.ui.segment > :last-child {
+ margin-bottom: 0em;
+}
+/*******************************
+ Types
+*******************************/
+/*-------------------
+ Piled
+--------------------*/
+.ui.piled.segment {
+ margin: 2em 0em;
+ -webkit-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.15);
+ -ms-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.15);
+ -o-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.15);
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.15);
+}
+.ui.piled.segment:first-child {
+ margin-top: 0em;
+}
+.ui.piled.segment:last-child {
+ margin-bottom: 0em;
+}
+.ui.piled.segment:after,
+.ui.piled.segment:before {
+ background-color: #FFFFFF;
+ visibility: visible;
+ content: "";
+ display: block;
+ height: 100%;
+ left: -1px;
+ position: absolute;
+ width: 100%;
+ -webkit-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1);
+}
+.ui.piled.segment:after {
+ -webkit-transform: rotate(1.2deg);
+ -moz-transform: rotate(1.2deg);
+ -ms-transform: rotate(1.2deg);
+ transform: rotate(1.2deg);
+ top: 0;
+ z-index: -1;
+}
+.ui.piled.segment:before {
+ -webkit-transform: rotate(-1.2deg);
+ -moz-transform: rotate(-1.2deg);
+ -ms-transform: rotate(-1.2deg);
+ transform: rotate(-1.2deg);
+ top: 0;
+ z-index: -2;
+}
+/*-------------------
+ Stacked
+--------------------*/
+.ui.stacked.segment {
+ padding-bottom: 1.7em;
+}
+.ui.stacked.segment:after,
+.ui.stacked.segment:before {
+ content: '';
+ position: absolute;
+ bottom: -3px;
+ left: 0%;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ background-color: rgba(0, 0, 0, 0.02);
+ width: 100%;
+ height: 5px;
+ visibility: visible;
+}
+.ui.stacked.segment:before {
+ bottom: 0px;
+}
+/* Inverted */
+.ui.stacked.inverted.segment:after,
+.ui.stacked.inverted.segment:before {
+ background-color: rgba(255, 255, 255, 0.1);
+ border-top: 1px solid rgba(255, 255, 255, 0.35);
+}
+/*-------------------
+ Circular
+--------------------*/
+.ui.circular.segment {
+ display: table-cell;
+ padding: 2em;
+ text-align: center;
+ vertical-align: middle;
+ border-radius: 500em;
+}
+/*-------------------
+ Raised
+--------------------*/
+.ui.raised.segment {
+ -webkit-box-shadow: 0px 1px 2px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 1px 2px 1px rgba(0, 0, 0, 0.1);
+}
+/*******************************
+ States
+*******************************/
+.ui.disabled.segment {
+ opacity: 0.8;
+ color: #DDDDDD;
+}
+/*******************************
+ Variations
+*******************************/
+/*-------------------
+ Basic
+--------------------*/
+.ui.basic.segment {
+ position: relative;
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ border-radius: 0px;
+}
+.ui.basic.segment:first-child {
+ padding-top: 0em;
+}
+.ui.basic.segment:last-child {
+ padding-bottom: 0em;
+}
+/*-------------------
+ Fittted
+--------------------*/
+.ui.fitted.segment {
+ padding: 0em;
+}
+/*-------------------
+ Colors
+--------------------*/
+.ui.blue.segment {
+ border-top: 0.2em solid #6ECFF5;
+}
+.ui.green.segment {
+ border-top: 0.2em solid #A1CF64;
+}
+.ui.red.segment {
+ border-top: 0.2em solid #D95C5C;
+}
+.ui.orange.segment {
+ border-top: 0.2em solid #F05940;
+}
+.ui.purple.segment {
+ border-top: 0.2em solid #564F8A;
+}
+.ui.teal.segment {
+ border-top: 0.2em solid #00B5AD;
+}
+/*-------------------
+ Inverted Colors
+--------------------*/
+.ui.inverted.black.segment {
+ background-color: #5C6166 !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.blue.segment {
+ background-color: #6ECFF5 !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.green.segment {
+ background-color: #A1CF64 !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.red.segment {
+ background-color: #D95C5C !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.orange.segment {
+ background-color: #F05940 !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.purple.segment {
+ background-color: #564F8A !important;
+ color: #FFFFFF !important;
+}
+.ui.inverted.teal.segment {
+ background-color: #00B5AD !important;
+ color: #FFFFFF !important;
+}
+/*-------------------
+ Aligned
+--------------------*/
+.ui.left.aligned.segment {
+ text-align: left;
+}
+.ui.right.aligned.segment {
+ text-align: right;
+}
+.ui.center.aligned.segment {
+ text-align: center;
+}
+.ui.justified.segment {
+ text-align: justify;
+ -webkit-hyphens: auto;
+ -moz-hyphens: auto;
+ -ms-hyphens: auto;
+ hyphens: auto;
+}
+/*-------------------
+ Floated
+--------------------*/
+.ui.floated.segment,
+.ui.left.floated.segment {
+ float: left;
+}
+.ui.right.floated.segment {
+ float: right;
+}
+/*-------------------
+ Inverted
+--------------------*/
+.ui.inverted.segment {
+ border: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.inverted.segment .segment {
+ color: rgba(0, 0, 0, 0.7);
+}
+.ui.inverted.segment .inverted.segment {
+ color: #FFFFFF;
+}
+.ui.inverted.segment,
+.ui.primary.inverted.segment {
+ background-color: #222222;
+ color: #FFFFFF;
+}
+/*-------------------
+ Ordinality
+--------------------*/
+.ui.primary.segment {
+ background-color: #FFFFFF;
+ color: #555555;
+}
+.ui.secondary.segment {
+ background-color: #FAF9FA;
+ color: #777777;
+}
+.ui.tertiary.segment {
+ background-color: #EBEBEB;
+ color: #B0B0B0;
+}
+.ui.secondary.inverted.segment {
+ background-color: #555555;
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(255, 255, 255, 0.3)), to(rgba(255, 255, 255, 0.3)));
+ background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%);
+ background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.3)), to(rgba(255, 255, 255, 0.3)));
+ background-image: linear-gradient(rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%);
+ color: #FAFAFA;
+}
+.ui.tertiary.inverted.segment {
+ background-color: #555555;
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(255, 255, 255, 0.6)), to(rgba(255, 255, 255, 0.6)));
+ background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
+ background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.6)), to(rgba(255, 255, 255, 0.6)));
+ background-image: linear-gradient(rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
+ color: #EEEEEE;
+}
+/*-------------------
+ Attached
+--------------------*/
+.ui.segment.attached {
+ top: -1px;
+ bottom: -1px;
+ border-radius: 0px;
+ margin: 0em;
+ -webkit-box-shadow: 0px 0px 0px 1px #DDDDDD;
+ box-shadow: 0px 0px 0px 1px #DDDDDD;
+}
+.ui.top.attached.segment {
+ top: 0px;
+ bottom: -1px;
+ margin-top: 1em;
+ margin-bottom: 0em;
+ border-radius: 5px 5px 0px 0px;
+}
+.ui.segment.top.attached:first-child {
+ margin-top: 0em;
+}
+.ui.segment.bottom.attached {
+ top: -1px;
+ bottom: 0px;
+ margin-top: 0em;
+ margin-bottom: 1em;
+ border-radius: 0px 0px 5px 5px;
+}
+.ui.segment.bottom.attached:last-child {
+ margin-bottom: 0em;
+}
+
+/*
+ * # Semantic - Steps
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Step
+*******************************/
+.ui.step,
+.ui.steps .step {
+ display: inline-block;
+ position: relative;
+ padding: 1em 2em 1em 3em;
+ vertical-align: top;
+ background-color: #FFFFFF;
+ color: #888888;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.ui.step:after,
+.ui.steps .step:after {
+ position: absolute;
+ z-index: 2;
+ content: '';
+ top: 0.42em;
+ right: -1em;
+ border: medium none;
+ background-color: #FFFFFF;
+ width: 2.2em;
+ height: 2.2em;
+ -webkit-transform: rotate(-45deg);
+ -moz-transform: rotate(-45deg);
+ -ms-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ -webkit-box-shadow: -1px -1px 0 0 rgba(0, 0, 0, 0.15) inset;
+ box-shadow: -1px -1px 0 0 rgba(0, 0, 0, 0.15) inset;
+}
+.ui.step,
+.ui.steps .step,
+.ui.steps .step:after {
+ -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, -webkit-box-shadow 0.1s ease;
+ -moz-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;
+ transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;
+}
+/*******************************
+ Types
+*******************************/
+/* Vertical */
+.ui.vertical.steps {
+ overflow: visible;
+}
+.ui.vertical.steps .step {
+ display: block;
+ border-radius: 0em;
+ padding: 1em 2em;
+}
+.ui.vertical.steps .step:first-child {
+ padding: 1em 2em;
+ border-radius: 0em;
+ border-top-left-radius: 0.3125rem;
+ border-top-right-radius: 0.3125rem;
+}
+.ui.vertical.steps .active.step:first-child {
+ border-top-right-radius: 0rem;
+}
+.ui.vertical.steps .step:last-child {
+ border-radius: 0em;
+ border-bottom-left-radius: 0.3125rem;
+ border-bottom-right-radius: 0.3125rem;
+}
+.ui.vertical.steps .active.step:last-child {
+ border-bottom-right-radius: 0rem;
+}
+/* Arrow */
+.ui.vertical.steps .step:after {
+ display: none;
+}
+/* Active Arrow */
+.ui.vertical.steps .active.step:after {
+ display: block;
+}
+/* Two Line */
+.ui.vertical.steps .two.line.step {
+ line-height: 1.3;
+}
+.ui.vertical.steps .two.line.active.step:after {
+ position: absolute;
+ z-index: 2;
+ content: '';
+ top: 0em;
+ right: -1.45em;
+ background-color: transparent;
+ border-bottom: 2.35em solid transparent;
+ border-left: 1.55em solid #555555;
+ border-top: 2.35em solid transparent;
+ width: 0em;
+ height: 0em;
+ -webkit-transform: none;
+ -moz-transform: none;
+ -ms-transform: none;
+ transform: none;
+}
+/*******************************
+ Group
+*******************************/
+.ui.steps {
+ cursor: pointer;
+ display: inline-block;
+ font-size: 0em;
+ overflow: hidden;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ line-height: 1;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ border-radius: 0.3125rem;
+}
+.ui.steps .step:first-child {
+ padding-left: 1.35em;
+ border-radius: 0.3125em 0em 0em 0.3125em;
+}
+.ui.steps .step:last-child {
+ border-radius: 0em 0.3125em 0.3125em 0em;
+}
+.ui.steps .step:only-child {
+ border-radius: 0.3125em;
+}
+.ui.steps .step:last-child {
+ margin-right: 0em;
+}
+.ui.steps .step:last-child:after {
+ display: none;
+}
+/*******************************
+ States
+*******************************/
+/* Hover */
+.ui.step:hover,
+.ui.step.hover {
+ background-color: #F7F7F7;
+ color: rgba(0, 0, 0, 0.8);
+}
+.ui.steps .step.hover:after,
+.ui.steps .step:hover:after,
+.ui.step:hover,
+.ui.step.hover::after {
+ background-color: #F7F7F7;
+}
+/* Hover */
+.ui.steps .step.down,
+.ui.steps .step:active,
+.ui.step.down,
+.ui.step:active {
+ background-color: #F0F0F0;
+}
+.ui.steps .step.down:after,
+.ui.steps .step:active:after,
+.ui.steps.down::after,
+.ui.steps:active::after {
+ background-color: #F0F0F0;
+}
+/* Active */
+.ui.steps .step.active,
+.ui.active.step {
+ cursor: auto;
+ background-color: #555555;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.ui.steps .step.active:after,
+.ui.active.steps:after {
+ background-color: #555555;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/* Disabled */
+.ui.steps .disabled.step,
+.ui.disabled.step {
+ cursor: auto;
+ background-color: #FFFFFF;
+ color: #CBCBCB;
+}
+.ui.steps .disabled.step:after,
+.ui.disabled.step:after {
+ background-color: #FFFFFF;
+}
+/*******************************
+ Variations
+*******************************/
+/* Attached */
+.attached.ui.steps {
+ margin: 0em;
+ border-radius: 0.3125em 0.3125em 0em 0em;
+}
+.attached.ui.steps .step:first-child {
+ border-radius: 0.3125em 0em 0em 0em;
+}
+.attached.ui.steps .step:last-child {
+ border-radius: 0em 0.3125em 0em 0em;
+}
+/* Bottom Side */
+.bottom.attached.ui.steps {
+ margin-top: -1px;
+ border-radius: 0em 0em 0.3125em 0.3125em;
+}
+.bottom.attached.ui.steps .step:first-child {
+ border-radius: 0em 0em 0em 0.3125em;
+}
+.bottom.attached.ui.steps .step:last-child {
+ border-radius: 0em 0em 0.3125em 0em;
+}
+/* Evenly divided */
+.ui.one.steps,
+.ui.two.steps,
+.ui.three.steps,
+.ui.four.steps,
+.ui.five.steps,
+.ui.six.steps,
+.ui.seven.steps,
+.ui.eight.steps {
+ display: block;
+}
+.ui.one.steps > .step {
+ width: 100%;
+}
+.ui.two.steps > .step {
+ width: 50%;
+}
+.ui.three.steps > .step {
+ width: 33.333%;
+}
+.ui.four.steps > .step {
+ width: 25%;
+}
+.ui.five.steps > .step {
+ width: 20%;
+}
+.ui.six.steps > .step {
+ width: 16.666%;
+}
+.ui.seven.steps > .step {
+ width: 14.285%;
+}
+.ui.eight.steps > .step {
+ width: 12.500%;
+}
+/*******************************
+ Sizes
+*******************************/
+.ui.small.step,
+.ui.small.steps .step {
+ font-size: 0.8rem;
+}
+.ui.step,
+.ui.steps .step {
+ font-size: 1rem;
+}
+.ui.large.step,
+.ui.large.steps .step {
+ font-size: 1.25rem;
+}
+
+/*
+ * # Semantic - Accordion
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Accordion
+*******************************/
+.ui.accordion,
+.ui.accordion .accordion {
+ width: 600px;
+ max-width: 100%;
+ font-size: 1rem;
+ border-radius: 0.3125em;
+ background-color: #FFFFFF;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+}
+.ui.accordion .title,
+.ui.accordion .accordion .title {
+ cursor: pointer;
+ margin: 0em;
+ padding: 0.75em 1em;
+ color: rgba(0, 0, 0, 0.6);
+ border-top: 1px solid rgba(0, 0, 0, 0.05);
+ -webkit-transition: background-color 0.2s ease-out;
+ -moz-transition: background-color 0.2s ease-out;
+ transition: background-color 0.2s ease-out;
+}
+.ui.accordion .title:first-child,
+.ui.accordion .accordion .title:first-child {
+ border-top: none;
+}
+/* Content */
+.ui.accordion .content,
+.ui.accordion .accordion .content {
+ display: none;
+ margin: 0em;
+ padding: 1.3em 1em;
+}
+/* Arrow */
+.ui.accordion .title .dropdown.icon,
+.ui.accordion .accordion .title .dropdown.icon {
+ display: inline-block;
+ float: none;
+ margin: 0em 0.5em 0em 0em;
+ -webkit-transition: -webkit-transform 0.2s ease, opacity 0.2s ease;
+ -moz-transition: -moz-transform 0.2s ease, opacity 0.2s ease;
+ transition: transform 0.2s ease,
+ opacity 0.2s ease
+ ;
+ -webkit-transform: rotate(0deg);
+ -moz-transform: rotate(0deg);
+ -ms-transform: rotate(0deg);
+ transform: rotate(0deg);
+}
+.ui.accordion .title .dropdown.icon:before,
+.ui.accordion .accordion .title .dropdown.icon:before {
+ content: '\f0da' /*rtl:'\f0d9'*/;
+}
+/*--------------
+ Loose Coupling
+---------------*/
+.ui.basic.accordion.menu {
+ background-color: #FFFFFF;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+}
+.ui.basic.accordion.menu .title,
+.ui.basic.accordion.menu .content {
+ padding: 0em;
+}
+/*******************************
+ Types
+*******************************/
+/*--------------
+ Basic
+---------------*/
+.ui.basic.accordion {
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.basic.accordion .title,
+.ui.basic.accordion .accordion .title {
+ background-color: transparent;
+ border-top: none;
+ padding-left: 0em;
+ padding-right: 0em;
+}
+.ui.basic.accordion .content,
+.ui.basic.accordion .accordion .content {
+ padding: 0.5em 0em;
+}
+.ui.basic.accordion .active.title,
+.ui.basic.accordion .accordion .active.title {
+ background-color: transparent;
+}
+/*******************************
+ States
+*******************************/
+/*--------------
+ Hover
+---------------*/
+.ui.accordion .title:hover,
+.ui.accordion .active.title,
+.ui.accordion .accordion .title:hover,
+.ui.accordion .accordion .active.title {
+ color: rgba(0, 0, 0, 0.8);
+}
+/*--------------
+ Active
+---------------*/
+.ui.accordion .active.title,
+.ui.accordion .accordion .active.title {
+ background-color: rgba(0, 0, 0, 0.1);
+ color: rgba(0, 0, 0, 0.8);
+}
+.ui.accordion .active.title .dropdown.icon,
+.ui.accordion .accordion .active.title .dropdown.icon {
+ -webkit-transform: rotate(90deg);
+ -moz-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg);
+}
+.ui.accordion .active.content,
+.ui.accordion .accordion .active.content {
+ display: block;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Fluid
+---------------*/
+.ui.fluid.accordion,
+.ui.fluid.accordion .accordion {
+ width: 100%;
+}
+
+/*
+ * # Semantic - Chat Room
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Chat Room
+*******************************/
+.ui.chatroom {
+ background-color: #F8F8F8;
+ width: 330px;
+ height: 370px;
+ padding: 0px;
+}
+.ui.chatroom .room {
+ position: relative;
+ background-color: #FFFFFF;
+ overflow: hidden;
+ height: 286px;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ border-top: none;
+ border-bottom: none;
+}
+.ui.chatroom .room .loader {
+ display: none;
+ margin: -25px 0px 0px -25px;
+}
+/* Chat Room Actions */
+.ui.chatroom .actions {
+ overflow: hidden;
+ background-color: #EEEEEE;
+ padding: 4px;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ border-radius: 5px 5px 0px 0px;
+}
+.ui.chatroom .actions .button {
+ float: right;
+ margin-left: 3px;
+}
+/* Online User Count */
+.ui.chatroom .actions .message {
+ float: left;
+ margin-left: 6px;
+ font-size: 11px;
+ color: #AAAAAA;
+ text-shadow: 0px -1px 0px rgba(255, 255, 255, 0.8);
+ line-height: 28px;
+}
+.ui.chatroom .actions .message .loader {
+ display: inline-block;
+ margin-right: 8px;
+}
+/* Chat Room Text Log */
+.ui.chatroom .log {
+ float: left;
+ overflow: auto;
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+.ui.chatroom .log .message {
+ padding: 3px 0px;
+ border-top: 1px dotted #DADADA;
+}
+.ui.chatroom .log .message:first-child {
+ border-top: none;
+}
+/* status event */
+.ui.chatroom .status {
+ padding: 5px 0px;
+ color: #AAAAAA;
+ font-size: 12px;
+ font-style: italic;
+ line-height: 1.33;
+ border-top: 1px dotted #DADADA;
+}
+.ui.chatroom .log .status:first-child {
+ border-top: none;
+}
+.ui.chatroom .log .flag {
+ float: left;
+}
+.ui.chatroom .log p {
+ margin-left: 0px;
+}
+.ui.chatroom .log .author {
+ font-weight: bold;
+ -webkit-transition: color 0.3s ease-out;
+ -moz-transition: color 0.3s ease-out;
+ transition: color 0.3s ease-out;
+}
+.ui.chatroom .log a.author:hover {
+ opacity: 0.8;
+}
+.ui.chatroom .log .message.admin p {
+ font-weight: bold;
+ margin: 1px 0px 0px 23px;
+}
+.ui.chatroom .log .divider {
+ margin: -1px 0px;
+ font-size: 11px;
+ padding: 10px 0px;
+ border-top: 1px solid #F8F8F8;
+ border-bottom: 1px solid #F8F8F8;
+}
+.ui.chatroom .log .divider .rule {
+ top: 50%;
+ width: 15%;
+}
+.ui.chatroom .log .divider .label {
+ color: #777777;
+ margin: 0px;
+}
+/* Chat Room User List */
+.ui.chatroom .room .list {
+ position: relative;
+ overflow: auto;
+ overflow-x: hidden;
+ overflow-y: auto;
+ float: left;
+ background-color: #EEEEEE;
+ border-left: 1px solid #DDDDDD;
+}
+.ui.chatroom .room .list .user {
+ display: table;
+ padding: 3px 7px;
+ border-bottom: 1px solid #DDDDDD;
+}
+.ui.chatroom .room .list .user:hover {
+ background-color: #F8F8F8;
+}
+.ui.chatroom .room .list .image {
+ display: table-cell;
+ vertical-align: middle;
+ width: 20px;
+}
+.ui.chatroom .room .list .image img {
+ width: 20px;
+ height: 20px;
+ vertical-align: middle;
+}
+.ui.chatroom .room .list p {
+ display: table-cell;
+ vertical-align: middle;
+ padding-left: 7px;
+ padding-right: 14px;
+ font-size: 11px;
+ line-height: 1.2;
+ font-weight: bold;
+}
+.ui.chatroom .room .list a:hover {
+ opacity: 0.8;
+}
+/* User List Loading */
+.ui.chatroom.loading .loader {
+ display: block;
+}
+/* Chat Room Talk Input */
+.ui.chatroom .talk {
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ padding: 5px 0px 0px;
+ background-color: #EEEEEE;
+ border-radius: 0px 0px 5px 5px;
+}
+.ui.chatroom .talk .avatar,
+.ui.chatroom .talk input,
+.ui.chatroom .talk .button {
+ float: left;
+}
+.ui.chatroom .talk .avatar img {
+ display: block;
+ width: 30px;
+ height: 30px;
+ margin-right: 4px;
+ border-radius: 500rem;
+}
+.ui.chatroom .talk input {
+ border: 1px solid #CCCCCC;
+ margin: 0px;
+ width: 196px;
+ height: 14px;
+ padding: 8px 5px;
+ font-size: 12px;
+ color: #555555;
+}
+.ui.chatroom .talk input.focus {
+ border: 1px solid #AAAAAA;
+}
+.ui.chatroom .send {
+ width: 80px;
+ height: 32px;
+ margin-left: -1px;
+ padding: 4px 12px;
+ font-size: 12px;
+ line-height: 23px;
+ -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;
+ border-radius: 0 5px 5px 0;
+}
+.ui.chatroom .talk .log-in.button {
+ display: block;
+ float: none;
+ margin-top: -6px;
+ height: 22px;
+ border-radius: 0px 0px 4px 4px;
+}
+.ui.chatroom .talk .log-in.button i {
+ vertical-align: text-top;
+}
+/* Quirky Flags */
+.ui.chatroom .log .team.flag {
+ width: 18px;
+}
+/* Chat room Loaded */
+.ui.chatroom.loading .loader {
+ display: block;
+}
+/* Standard Size */
+.ui.chatroom {
+ width: 330px;
+ height: 370px;
+}
+.ui.chatroom .room .container {
+ width: 3000px;
+}
+.ui.chatroom .log {
+ width: 314px;
+ height: 278px;
+ padding: 4px 7px;
+}
+.ui.chatroom .room .list {
+ width: 124px;
+ height: 278px;
+ padding: 4px 0px;
+}
+.ui.chatroom .room .list .user {
+ width: 110px;
+}
+.ui.chatroom .talk {
+ height: 40px;
+}
+
+/*
+ * # Semantic - Checkbox
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Checkbox
+*******************************/
+/*--------------
+ Standard
+---------------*/
+/*--- Content ---*/
+.ui.checkbox {
+ position: relative;
+ display: inline-block;
+ min-width: 1em;
+ min-height: 1.25em;
+ line-height: 1em;
+ outline: none;
+ vertical-align: middle;
+}
+.ui.checkbox input {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ opacity: 0;
+ outline: none;
+}
+/*--- Box ---*/
+.ui.checkbox .box,
+.ui.checkbox label {
+ cursor: pointer;
+ padding-left: 2em;
+ outline: none;
+}
+.ui.checkbox .box:before,
+.ui.checkbox label:before {
+ position: absolute;
+ top: 0em;
+ line-height: 1;
+ width: 1em;
+ height: 1em;
+ left: 0em;
+ content: '';
+ border-radius: 4px;
+ background: #FFFFFF;
+ -webkit-transition: background-color 0.3s ease, -webkit-box-shadow 0.3s ease;
+ -moz-transition: background-color 0.3s ease, box-shadow 0.3s ease;
+ transition: background-color 0.3s ease, box-shadow 0.3s ease;
+ -webkit-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.2);
+ box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.2);
+}
+/*--- Checkbox ---*/
+.ui.checkbox .box:after,
+.ui.checkbox label:after {
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ filter: alpha(opacity=0);
+ opacity: 0;
+ content: '';
+ position: absolute;
+ background: transparent;
+ border: 0.2em solid #333333;
+ border-top: none;
+ border-right: none;
+ -webkit-transform: rotate(-45deg);
+ -moz-transform: rotate(-45deg);
+ -ms-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+}
+.ui.checkbox .box:after,
+.ui.checkbox label:after {
+ top: 0.275em;
+ left: 0.2em;
+ width: 0.45em;
+ height: 0.15em;
+}
+/*--- Inside Label ---*/
+.ui.checkbox label {
+ display: block;
+ color: rgba(0, 0, 0, 0.6);
+ -webkit-transition: color 0.2s ease;
+ -moz-transition: color 0.2s ease;
+ transition: color 0.2s ease;
+}
+.ui.checkbox label:hover {
+ color: rgba(0, 0, 0, 0.8);
+}
+.ui.checkbox input:focus ~ label {
+ color: rgba(0, 0, 0, 0.8);
+}
+/*--- Outside Label ---*/
+.ui.checkbox ~ label {
+ cursor: pointer;
+ opacity: 0.85;
+ vertical-align: middle;
+}
+.ui.checkbox ~ label:hover {
+ opacity: 1;
+}
+/*******************************
+ States
+*******************************/
+/*--- Hover ---*/
+.ui.checkbox .box:hover::before,
+.ui.checkbox label:hover::before {
+ -webkit-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.3);
+ box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.3);
+}
+/*--- Down ---*/
+.ui.checkbox .box:active::before,
+.ui.checkbox label:active::before {
+ background-color: #F5F5F5;
+}
+/*--- Focus ---*/
+.ui.checkbox input:focus ~ .box:before,
+.ui.checkbox input:focus ~ label:before {
+ -webkit-box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.3);
+ box-shadow: 0em 0em 0em 1px rgba(0, 0, 0, 0.3);
+}
+/*--- Active ---*/
+.ui.checkbox input:checked ~ .box:after,
+.ui.checkbox input:checked ~ label:after {
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ filter: alpha(opacity=100);
+ opacity: 1;
+}
+/*--- Disabled ---*/
+.ui.disabled.checkbox ~ .box:after,
+.ui.checkbox input[disabled] ~ .box:after,
+.ui.disabled.checkbox label,
+.ui.checkbox input[disabled] ~ label {
+ opacity: 0.4;
+ color: rgba(0, 0, 0, 0.3);
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Radio
+---------------*/
+.ui.radio.checkbox .box:before,
+.ui.radio.checkbox label:before {
+ min-width: 1em;
+ height: 1em;
+ border-radius: 500px;
+ -webkit-transform: none;
+ -moz-transform: none;
+ -ms-transform: none;
+ transform: none;
+}
+.ui.radio.checkbox .box:after,
+.ui.radio.checkbox label:after {
+ border: none;
+ top: 0.2em;
+ left: 0.2em;
+ width: 0.6em;
+ height: 0.6em;
+ background-color: #555555;
+ -webkit-transform: none;
+ -moz-transform: none;
+ -ms-transform: none;
+ transform: none;
+ border-radius: 500px;
+}
+/*--------------
+ Slider
+---------------*/
+.ui.slider.checkbox {
+ cursor: pointer;
+ min-width: 3em;
+}
+/* Line */
+.ui.slider.checkbox:after {
+ position: absolute;
+ top: 0.5em;
+ left: 0em;
+ content: '';
+ width: 3em;
+ height: 2px;
+ background-color: rgba(0, 0, 0, 0.1);
+}
+/* Button */
+.ui.slider.checkbox .box,
+.ui.slider.checkbox label {
+ padding-left: 4em;
+}
+.ui.slider.checkbox .box:before,
+.ui.slider.checkbox label:before {
+ cursor: pointer;
+ display: block;
+ position: absolute;
+ top: -0.25em;
+ left: 0em;
+ z-index: 1;
+ width: 1.5em;
+ height: 1.5em;
+ -webkit-transform: none;
+ -moz-transform: none;
+ -ms-transform: none;
+ transform: none;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+ border-radius: 50rem;
+ -webkit-transition: left 0.3s ease 0s;
+ -moz-transition: left 0.3s ease 0s;
+ transition: left 0.3s ease 0s;
+}
+/* Button Activation Light */
+.ui.slider.checkbox .box:after,
+.ui.slider.checkbox label:after {
+ opacity: 1;
+ position: absolute;
+ content: '';
+ top: 0.15em;
+ left: 0em;
+ z-index: 2;
+ margin-left: 0.375em;
+ border: none;
+ width: 0.75em;
+ height: 0.75em;
+ border-radius: 50rem;
+ -webkit-transform: none;
+ -moz-transform: none;
+ -ms-transform: none;
+ transform: none;
+ -webkit-transition: background 0.3s ease 0s,
+ left 0.3s ease 0s
+ ;
+ -moz-transition: background 0.3s ease 0s,
+ left 0.3s ease 0s
+ ;
+ transition: background 0.3s ease 0s,
+ left 0.3s ease 0s
+ ;
+}
+/* Selected Slider Toggle */
+.ui.slider.checkbox input:checked ~ .box:before,
+.ui.slider.checkbox input:checked ~ label:before,
+.ui.slider.checkbox input:checked ~ .box:after,
+.ui.slider.checkbox input:checked ~ label:after {
+ left: 1.75em;
+}
+/* Off Color */
+.ui.slider.checkbox .box:after,
+.ui.slider.checkbox label:after {
+ background-color: #D95C5C;
+}
+/* On Color */
+.ui.slider.checkbox input:checked ~ .box:after,
+.ui.slider.checkbox input:checked ~ label:after {
+ background-color: #89B84C;
+}
+/*--------------
+ Toggle
+---------------*/
+.ui.toggle.checkbox {
+ cursor: pointer;
+}
+.ui.toggle.checkbox .box,
+.ui.toggle.checkbox label {
+ padding-left: 4em;
+}
+/* Switch */
+.ui.toggle.checkbox .box:before,
+.ui.toggle.checkbox label:before {
+ cursor: pointer;
+ display: block;
+ position: absolute;
+ content: '';
+ top: -0.25em;
+ left: 0em;
+ z-index: 1;
+ background-color: #FFFFFF;
+ width: 3em;
+ height: 1.5em;
+ -webkit-transform: none;
+ -moz-transform: none;
+ -ms-transform: none;
+ transform: none;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
+ border-radius: 50rem;
+}
+/* Activation Light */
+.ui.toggle.checkbox .box:after,
+.ui.toggle.checkbox label:after {
+ opacity: 1;
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ content: '';
+ position: absolute;
+ top: 0.15em;
+ left: 0.5em;
+ z-index: 2;
+ border: none;
+ width: 0.75em;
+ height: 0.75em;
+ background-color: #D95C5C;
+ border-radius: 50rem;
+ -webkit-transition: background 0.3s ease 0s,
+ left 0.3s ease 0s
+ ;
+ -moz-transition: background 0.3s ease 0s,
+ left 0.3s ease 0s
+ ;
+ transition: background 0.3s ease 0s,
+ left 0.3s ease 0s
+ ;
+}
+/* Active */
+.ui.toggle.checkbox:active .box:before,
+.ui.toggle.checkbox:active label:before {
+ background-color: #F5F5F5;
+}
+/* Active */
+.ui.toggle.checkbox input:checked ~ .box:after,
+.ui.toggle.checkbox input:checked ~ label:after {
+ left: 1.75em;
+ background-color: #89B84C;
+}
+/*--------------
+ Sizes
+---------------*/
+.ui.checkbox {
+ font-size: 1em;
+}
+.ui.large.checkbox {
+ font-size: 1.25em;
+}
+.ui.huge.checkbox {
+ font-size: 1.5em;
+}
+
+/*
+ * # Semantic - Dimmer
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Dimmer
+*******************************/
+.ui.dimmable {
+ position: relative;
+}
+.ui.dimmer {
+ display: none;
+ position: absolute;
+ top: 0em !important;
+ left: 0em !important;
+ width: 0%;
+ height: 0%;
+ text-align: center;
+ vertical-align: middle;
+ background-color: rgba(0, 0, 0, 0.85);
+ opacity: 0;
+ line-height: 1;
+ -webkit-animation-fill-mode: both;
+ -moz-animation-fill-mode: both;
+ animation-fill-mode: both;
+ -webkit-animation-duration: 0.5s;
+ -moz-animation-duration: 0.5s;
+ animation-duration: 0.5s;
+ -webkit-transition: background-color 0.5s linear;
+ -moz-transition: background-color 0.5s linear;
+ transition: background-color 0.5s linear;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ z-index: 1000;
+}
+/* Dimmer Content */
+.ui.dimmer > .content {
+ width: 100%;
+ height: 100%;
+ display: table;
+ -webkit-user-select: text;
+ -moz-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+.ui.dimmer > .content > div {
+ display: table-cell;
+ vertical-align: middle;
+ color: #FFFFFF;
+}
+/* Loose Coupling */
+.ui.segment > .ui.dimmer {
+ border-radius: 5px;
+}
+.ui.horizontal.segment > .ui.dimmer,
+.ui.vertical.segment > .ui.dimmer {
+ border-radius: 5px;
+}
+/*******************************
+ States
+*******************************/
+.ui.dimmed.dimmable:not(body) {
+ overflow: hidden;
+}
+.ui.dimmed.dimmable > .ui.animating.dimmer,
+.ui.dimmed.dimmable > .ui.visible.dimmer,
+.ui.active.dimmer {
+ display: block;
+ width: 100%;
+ height: 100%;
+ opacity: 1;
+}
+.ui.disabled.dimmer {
+ width: 0em !important;
+ height: 0em !important;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Page
+---------------*/
+.ui.page.dimmer {
+ position: fixed;
+ -webkit-transform-style: preserve-3d;
+ -moz-transform-style: preserve-3d;
+ -ms-transform-style: preserve-3d;
+ transform-style: preserve-3d;
+ -webkit-perspective: 2000px;
+ -moz-perspective: 2000px;
+ -ms-perspective: 2000px;
+ perspective: 2000px;
+ -webkit-transform-origin: center center;
+ -moz-transform-origin: center center;
+ -ms-transform-origin: center center;
+ transform-origin: center center;
+}
+.ui.scrolling.dimmable > .dimmer,
+.ui.scrolling.page.dimmer {
+ position: absolute;
+}
+/* Blurred Background
+body.ui.dimmed.dimmable > :not(.dimmer){
+ filter: ~"blur(15px) grayscale(0.7)";
+}
+*/
+/*--------------
+ Aligned
+---------------*/
+.ui.dimmer > .top.aligned.content > * {
+ vertical-align: top;
+}
+.ui.dimmer > .bottom.aligned.content > * {
+ vertical-align: bottom;
+}
+/*--------------
+ Inverted
+---------------*/
+.ui.inverted.dimmer {
+ background-color: rgba(255, 255, 255, 0.85);
+}
+.ui.inverted.dimmer > .content > * {
+ color: rgba(0, 0, 0, 0.8);
+}
+/*--------------
+ Simple
+---------------*/
+/* Displays without javascript */
+.ui.simple.dimmer {
+ display: block;
+ overflow: hidden;
+ opacity: 1;
+ z-index: -100;
+ background-color: rgba(0, 0, 0, 0);
+}
+.ui.dimmed.dimmable > .ui.simple.dimmer {
+ overflow: visible;
+ opacity: 1;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0, 0, 0, 0.85);
+ z-index: 1;
+}
+.ui.simple.inverted.dimmer {
+ background-color: rgba(255, 255, 255, 0);
+}
+.ui.dimmed.dimmable > .ui.simple.inverted.dimmer {
+ background-color: rgba(255, 255, 255, 0.85);
+}
+
+/*
+ * # Semantic - Dropdown
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Dropdown
+*******************************/
+.ui.dropdown {
+ cursor: pointer;
+ position: relative;
+ display: inline-block;
+ line-height: 1;
+ -webkit-transition: border-radius 0.1s ease, width 0.2s ease;
+ -moz-transition: border-radius 0.1s ease, width 0.2s ease;
+ transition: border-radius 0.1s ease, width 0.2s ease;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ -moz-tap-highlight-color: rgba(0, 0, 0, 0);
+ tap-highlight-color: rgba(0, 0, 0, 0);
+}
+/*******************************
+ Content
+*******************************/
+/*--------------
+ Menu
+---------------*/
+.ui.dropdown .menu {
+ cursor: auto;
+ position: absolute;
+ display: none;
+ top: 100%;
+ margin: 0em;
+ background-color: #FFFFFF;
+ min-width: 100%;
+ white-space: nowrap;
+ font-size: 0.875em;
+ text-shadow: none;
+ -webkit-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1);
+ border-radius: 0px 0px 0.325em 0.325em;
+ -webkit-transition: opacity 0.2s ease;
+ -moz-transition: opacity 0.2s ease;
+ transition: opacity 0.2s ease;
+ z-index: 11;
+}
+/*--------------
+ Icon
+---------------*/
+.ui.dropdown > .dropdown.icon {
+ width: auto;
+ margin: 0em 0em 0em 1em;
+}
+.ui.dropdown > .dropdown.icon:before {
+ content: "\f0d7";
+}
+.ui.dropdown .menu .item .dropdown.icon {
+ width: auto;
+ float: right;
+ margin: 0em 0em 0em 0.5em;
+}
+.ui.dropdown .menu .item .dropdown.icon:before {
+ content: "\f0da" /*rtl:"\f0d9"*/;
+}
+/*--------------
+ Text
+---------------*/
+.ui.dropdown > .text {
+ display: inline-block;
+ -webkit-transition: color 0.2s ease;
+ -moz-transition: color 0.2s ease;
+ transition: color 0.2s ease;
+}
+/* Flyout Direction */
+.ui.dropdown .menu {
+ left: 0px;
+}
+/*--------------
+ Sub Menu
+---------------*/
+.ui.dropdown .menu .menu {
+ top: 0% !important;
+ left: 100% !important;
+ margin: 0em !important;
+ border-radius: 0 0.325em 0.325em 0em !important;
+}
+.ui.dropdown .menu .menu:after {
+ display: none;
+}
+.ui.dropdown .menu .item {
+ cursor: pointer;
+ border: none;
+ border-top: 1px solid rgba(0, 0, 0, 0.05);
+ height: auto;
+ font-size: 0.875em;
+ display: block;
+ color: rgba(0, 0, 0, 0.75);
+ padding: 0.85em 1em !important;
+ font-size: 0.875rem;
+ text-transform: none;
+ font-weight: normal;
+ text-align: left;
+ -webkit-touch-callout: none;
+}
+.ui.dropdown .menu .item:before {
+ display: none;
+}
+.ui.dropdown .menu .item .icon {
+ margin-right: 0.75em;
+}
+.ui.dropdown .menu .item:first-child {
+ border-top: none;
+}
+/*******************************
+ Coupling
+*******************************/
+/* Opposite on last menu on right */
+.ui.menu .right.menu .dropdown:last-child .menu,
+.ui.buttons > .ui.dropdown:last-child .menu {
+ left: auto;
+ right: 0px;
+}
+.ui.vertical.menu .dropdown.item > .dropdown.icon:before {
+ content: "\f0da" /*rtl:"\f0d9"*/;
+}
+.ui.dropdown.icon.button > .dropdown.icon {
+ margin: 0em;
+}
+/*******************************
+ States
+*******************************/
+/* Dropdown Visible */
+.ui.visible.dropdown > .menu {
+ display: block;
+}
+/*--------------------
+ Hover
+----------------------*/
+/* Menu Item Hover */
+.ui.dropdown .menu .item:hover {
+ background-color: rgba(0, 0, 0, 0.02);
+ z-index: 12;
+}
+/*--------------------
+ Active
+----------------------*/
+/* Menu Item Active */
+.ui.dropdown .menu .active.item {
+ background-color: rgba(0, 0, 0, 0.06) !important;
+ border-left: none;
+ border-color: transparent !important;
+ -webkit-box-shadow: none;
+ -moz-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ z-index: 12;
+}
+/*--------------------
+ Default Text
+----------------------*/
+.ui.dropdown > .default.text,
+.ui.default.dropdown > .text {
+ color: rgba(0, 0, 0, 0.5);
+}
+.ui.dropdown:hover > .default.text,
+.ui.default.dropdown:hover > .text {
+ color: rgba(0, 0, 0, 0.8);
+}
+/*--------------------
+ Error
+----------------------*/
+.ui.dropdown.error,
+.ui.dropdown.error > .text,
+.ui.dropdown.error > .default.text {
+ color: #D95C5C !important;
+}
+.ui.selection.dropdown.error {
+ background-color: #FFFAFA;
+ -webkit-box-shadow: 0px 0px 0px 1px #e7bebe !important;
+ box-shadow: 0px 0px 0px 1px #e7bebe !important;
+}
+.ui.selection.dropdown.error:hover {
+ -webkit-box-shadow: 0px 0px 0px 1px #e7bebe !important;
+ box-shadow: 0px 0px 0px 1px #e7bebe !important;
+}
+.ui.dropdown.error > .menu,
+.ui.dropdown.error > .menu .menu {
+ -webkit-box-shadow: 0px 0px 1px 1px #E7BEBE !important;
+ box-shadow: 0px 0px 1px 1px #E7BEBE !important;
+}
+.ui.dropdown.error > .menu .item {
+ color: #D95C5C !important;
+}
+/* Item Hover */
+.ui.dropdown.error > .menu .item:hover {
+ background-color: #FFF2F2 !important;
+}
+/* Item Active */
+.ui.dropdown.error > .menu .active.item {
+ background-color: #FDCFCF !important;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Simple
+---------------*/
+/* Displays without javascript */
+.ui.simple.dropdown .menu:before,
+.ui.simple.dropdown .menu:after {
+ display: none;
+}
+.ui.simple.dropdown .menu {
+ display: block;
+ overflow: hidden;
+ top: -9999px !important;
+ position: absolute;
+ opacity: 0;
+ width: 0;
+ height: 0;
+ -webkit-transition: opacity 0.2s ease-out;
+ -moz-transition: opacity 0.2s ease-out;
+ transition: opacity 0.2s ease-out;
+}
+.ui.simple.active.dropdown,
+.ui.simple.dropdown:hover {
+ border-bottom-left-radius: 0em !important;
+ border-bottom-right-radius: 0em !important;
+}
+.ui.simple.active.dropdown > .menu,
+.ui.simple.dropdown:hover > .menu {
+ overflow: visible;
+ width: auto;
+ height: auto;
+ top: 100% !important;
+ opacity: 1;
+}
+.ui.simple.dropdown > .menu .item:active > .menu,
+.ui.simple.dropdown:hover > .menu .item:hover > .menu {
+ overflow: visible;
+ width: auto;
+ height: auto;
+ top: 0% !important;
+ left: 100% !important;
+ opacity: 1;
+}
+.ui.simple.disabled.dropdown:hover .menu {
+ display: none;
+ height: 0px;
+ width: 0px;
+ overflow: hidden;
+}
+/*--------------
+ Selection
+---------------*/
+/* Displays like a select box */
+.ui.selection.dropdown {
+ cursor: pointer;
+ display: inline-block;
+ word-wrap: break-word;
+ white-space: normal;
+ background-color: #FFFFFF;
+ padding: 0.65em 1em;
+ line-height: 1.33;
+ color: rgba(0, 0, 0, 0.8);
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important;
+ border-radius: 0.3125em !important;
+}
+.ui.selection.dropdown select {
+ display: none;
+}
+.ui.selection.dropdown > .dropdown.icon {
+ opacity: 0.7;
+ margin: 0.2em 0em 0.2em 1.25em;
+ -webkit-transition: opacity 0.2s ease-out;
+ -moz-transition: opacity 0.2s ease-out;
+ transition: opacity 0.2s ease-out;
+}
+.ui.selection.dropdown,
+.ui.selection.dropdown .menu {
+ -webkit-transition: -webkit-box-shadow 0.2s ease-out;
+ -moz-transition: box-shadow 0.2s ease-out;
+ transition: box-shadow 0.2s ease-out;
+}
+.ui.selection.dropdown .menu {
+ top: 100%;
+ max-height: 312px;
+ overflow-x: hidden;
+ overflow-y: auto;
+ -webkit-box-shadow: 0px 1px 0px 1px #E0E0E0;
+ box-shadow: 0px 1px 0px 1px #E0E0E0;
+ border-radius: 0px 0px 0.325em 0.325em;
+}
+.ui.selection.dropdown .menu:after,
+.ui.selection.dropdown .menu:before {
+ display: none;
+}
+.ui.selection.dropdown .menu img {
+ height: 2.5em;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 0.5em;
+}
+/* Visible */
+.ui.visible.selection.dropdown {
+ border-bottom-left-radius: 0em !important;
+ border-bottom-right-radius: 0em !important;
+}
+/* Active */
+.ui.active.selection.dropdown {
+ border-radius: 0.3125em 0.3125em 0em 0em !important;
+}
+.ui.active.selection.dropdown > .dropdown.icon {
+ opacity: 1;
+}
+/*--------------
+ Fluid
+---------------*/
+.ui.fluid.dropdown {
+ display: block;
+}
+.ui.fluid.dropdown > .dropdown.icon {
+ float: right;
+}
+/*--------------
+ Inline
+---------------*/
+.ui.inline.dropdown {
+ cursor: pointer;
+ display: inline-block;
+ color: inherit;
+}
+.ui.inline.dropdown .dropdown.icon {
+ margin: 0em 0.5em 0em 0.25em;
+}
+.ui.inline.dropdown .text {
+ font-weight: bold;
+}
+.ui.inline.dropdown .menu {
+ cursor: auto;
+ margin-top: 0.25em;
+ border-radius: 0.325em;
+}
+/*--------------
+ Floating
+---------------*/
+.ui.floating.dropdown .menu {
+ left: 0;
+ right: auto;
+ margin-top: 0.5em !important;
+ border-radius: 0.325em;
+}
+/*--------------
+ Pointing
+---------------*/
+.ui.pointing.dropdown .menu {
+ top: 100%;
+ margin-top: 0.75em;
+ border-radius: 0.325em;
+}
+.ui.pointing.dropdown .menu:after {
+ display: block;
+ position: absolute;
+ pointer-events: none;
+ content: " ";
+ visibility: visible;
+ width: 0.5em;
+ height: 0.5em;
+ -webkit-box-shadow: -1px -1px 0px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: -1px -1px 0px 1px rgba(0, 0, 0, 0.05);
+ background-image: none;
+ background-color: #FFFFFF;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+ z-index: 2;
+}
+.ui.pointing.dropdown .menu .active.item:first-child {
+ background: transparent -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.03));
+ background: transparent -moz-linear-gradient(transparent, rgba(0, 0, 0, 0.03));
+ background: transparent linear-gradient(transparent, rgba(0, 0, 0, 0.03));
+}
+/* Directions */
+.ui.pointing.dropdown .menu:after {
+ top: -0.25em;
+ left: 50%;
+ margin: 0em 0em 0em -0.25em;
+}
+.ui.top.left.pointing.dropdown .menu {
+ top: 100%;
+ bottom: auto;
+ left: 0%;
+ right: auto;
+ margin: 0.75em 0em 0em;
+}
+.ui.top.left.pointing.dropdown .menu:after {
+ top: -0.25em;
+ left: 1.25em;
+ right: auto;
+ margin: 0em;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+}
+.ui.top.right.pointing.dropdown .menu {
+ top: 100%;
+ bottom: auto;
+ right: 0%;
+ left: auto;
+ margin: 0.75em 0em 0em;
+}
+.ui.top.right.pointing.dropdown .menu:after {
+ top: -0.25em;
+ left: auto;
+ right: 1.25em;
+ margin: 0em;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+}
+.ui.left.pointing.dropdown .menu {
+ top: 0%;
+ left: 100%;
+ right: auto;
+ margin: 0em 0em 0em 0.75em;
+}
+.ui.left.pointing.dropdown .menu:after {
+ top: 1em;
+ left: -0.25em;
+ margin: 0em 0em 0em 0em;
+ -webkit-transform: rotate(-45deg);
+ -moz-transform: rotate(-45deg);
+ -ms-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+}
+.ui.right.pointing.dropdown .menu {
+ top: 0%;
+ left: auto;
+ right: 100%;
+ margin: 0em 0.75em 0em 0em;
+}
+.ui.right.pointing.dropdown .menu:after {
+ top: 1em;
+ left: auto;
+ right: -0.25em;
+ margin: 0em 0em 0em 0em;
+ -webkit-transform: rotate(135deg);
+ -moz-transform: rotate(135deg);
+ -ms-transform: rotate(135deg);
+ transform: rotate(135deg);
+}
+
+/*
+ * # Semantic - Modal
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Modal
+*******************************/
+.ui.modal {
+ display: none;
+ position: fixed;
+ z-index: 1001;
+ top: 50%;
+ left: 50%;
+ text-align: left;
+ width: 90%;
+ margin-left: -45%;
+ background-color: #FFFFFF;
+ border: 1px solid #DDDDDD;
+ border-radius: 5px;
+ -webkit-user-select: text;
+ -moz-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+/*******************************
+ Content
+*******************************/
+/*--------------
+ Close
+---------------*/
+.ui.modal > .close {
+ cursor: pointer;
+ position: absolute;
+ z-index: 1;
+ opacity: 0.8;
+ font-size: 1.25em;
+ top: -1.75em;
+ right: -1.75em;
+ color: #FFFFFF;
+}
+.ui.modal > .close:hover {
+ opacity: 1;
+}
+/*--------------
+ Header
+---------------*/
+.ui.modal > .header {
+ margin: 0em;
+ padding: 1.5rem 2rem;
+ font-size: 1.6em;
+ font-weight: bold;
+ border-radius: 0.325em 0.325em 0px 0px;
+}
+/*--------------
+ Content
+---------------*/
+.ui.modal > .content {
+ display: table;
+ width: 100%;
+ position: relative;
+ padding: 2em;
+ background-color: #F4F4F4;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.ui.modal > .content > .left:not(.ui) {
+ display: table-cell;
+ padding-right: 1.5%;
+ min-width: 25%;
+}
+.ui.modal > .content > .right:not(.ui) {
+ display: table-cell;
+ padding-left: 1.5%;
+ vertical-align: top;
+}
+/*rtl:ignore*/
+.ui.modal > .content > .left:not(.ui) > i.icon {
+ font-size: 8em;
+ margin: 0em;
+}
+.ui.modal > .content p {
+ line-height: 1.6;
+}
+/*--------------
+ Actions
+---------------*/
+.ui.modal .actions {
+ padding: 1rem 2rem;
+ text-align: right;
+}
+.ui.modal .actions > .button {
+ margin-left: 0.75em;
+}
+/*-------------------
+ Sizing
+--------------------*/
+/* Mobile Only */
+ at media only screen and (max-width: 768px) {
+ /*rtl:ignore*/
+ .ui.modal .content > .left:not(.ui) {
+ display: block;
+ padding: 0em 0em 1em;
+ }
+ /*rtl:ignore*/
+ .ui.modal .content > .right:not(.ui) {
+ display: block;
+ padding: 1em 0em 0em;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ }
+ .ui.modal .content .image {
+ width: auto !important;
+ max-width: 100%;
+ }
+ .ui.modal .actions {
+ padding-bottom: 0em;
+ }
+ .ui.modal .actions > .buttons,
+ .ui.modal .actions > .button {
+ margin-bottom: 1em;
+ }
+}
+/* Tablet and Mobile */
+ at media only screen and (max-width: 998px) {
+ .ui.modal {
+ width: 92%;
+ margin-left: -46%;
+ }
+ .ui.modal > .close {
+ color: rgba(0, 0, 0, 0.8);
+ top: 1.5rem;
+ right: 1rem;
+ }
+}
+/* Computer / Responsive */
+ at media only screen and (min-width: 998px) {
+ .ui.modal {
+ width: 74%;
+ margin-left: -37%;
+ }
+}
+ at media only screen and (min-width: 1500px) {
+ .ui.modal {
+ width: 56%;
+ margin-left: -28%;
+ }
+}
+ at media only screen and (min-width: 1750px) {
+ .ui.modal {
+ width: 42%;
+ margin-left: -21%;
+ }
+}
+ at media only screen and (min-width: 2000px) {
+ .ui.modal {
+ width: 36%;
+ margin-left: -18%;
+ }
+}
+/*******************************
+ Types
+*******************************/
+.ui.basic.modal {
+ background-color: transparent;
+ border: none;
+ color: #FFFFFF;
+}
+.ui.basic.modal > .close {
+ top: 1.5rem;
+ right: 1rem;
+}
+.ui.basic.modal .content {
+ background-color: transparent;
+}
+/*******************************
+ Variations
+*******************************/
+/* A modal that cannot fit on the page */
+.ui.modal.scrolling {
+ position: absolute;
+ margin-top: 10px;
+}
+/*******************************
+ States
+*******************************/
+.ui.active.modal {
+ display: block;
+}
+/*--------------
+ Size
+---------------*/
+/* Small */
+.ui.small.modal > .header {
+ font-size: 1.3em;
+}
+ at media only screen and (min-width: 998px) {
+ .ui.small.modal {
+ width: 58%;
+ margin-left: -29%;
+ }
+}
+ at media only screen and (min-width: 1500px) {
+ .ui.small.modal {
+ width: 40%;
+ margin-left: -20%;
+ }
+}
+ at media only screen and (min-width: 1750px) {
+ .ui.small.modal {
+ width: 26%;
+ margin-left: -13%;
+ }
+}
+ at media only screen and (min-width: 2000px) {
+ .ui.small.modal {
+ width: 20%;
+ margin-left: -10%;
+ }
+}
+/* Large */
+ at media only screen and (min-width: 998px) {
+ .ui.large.modal {
+ width: 74%;
+ margin-left: -37%;
+ }
+}
+ at media only screen and (min-width: 1500px) {
+ .ui.large.modal {
+ width: 64%;
+ margin-left: -32%;
+ }
+}
+ at media only screen and (min-width: 1750px) {
+ .ui.large.modal {
+ width: 54%;
+ margin-left: -27%;
+ }
+}
+ at media only screen and (min-width: 2000px) {
+ .ui.large.modal {
+ width: 44%;
+ margin-left: -22%;
+ }
+}
+
+/*
+ * # Semantic - Nag
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Nag
+*******************************/
+.ui.nag {
+ display: none;
+ opacity: 0.95;
+ position: relative;
+ top: 0px;
+ left: 0%;
+ z-index: 101;
+ min-height: 0;
+ width: 100%;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ margin: 0em;
+ line-height: 3em;
+ padding: 0em 1em;
+ background-color: #555555;
+ -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2);
+ box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2);
+ font-size: 1em;
+ text-align: center;
+ color: rgba(255, 255, 255, 0.8);
+ border-radius: 0px 0px 5px 5px;
+ -webkit-transition: 0.2s background;
+ -moz-transition: 0.2s background;
+ transition: 0.2s background;
+}
+a.ui.nag {
+ cursor: pointer;
+}
+.ui.nag > .title {
+ display: inline-block;
+ margin: 0em 0.5em;
+ color: #FFFFFF;
+}
+.ui.nag > .close.icon {
+ cursor: pointer;
+ opacity: 0.4;
+ position: absolute;
+ top: 50%;
+ right: 1em;
+ margin-top: -0.5em;
+ color: #FFFFFF;
+ -webkit-transition: 0.1s opacity;
+ -moz-transition: 0.1s opacity;
+ transition: 0.1s opacity;
+}
+/*******************************
+ States
+*******************************/
+/* Hover */
+.ui.nag:hover {
+ opacity: 1;
+}
+.ui.nag .close:hover {
+ opacity: 1;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Static
+---------------*/
+.ui.overlay.nag {
+ position: absolute;
+ display: block;
+}
+/*--------------
+ Fixed
+---------------*/
+.ui.fixed.nag {
+ position: fixed;
+}
+/*--------------
+ Bottom
+---------------*/
+.ui.bottom.nag {
+ border-radius: 5px 5px 0px 0px;
+}
+.ui.fixed.bottom.nags,
+.ui.fixed.bottom.nag {
+ top: auto;
+ bottom: 0px;
+}
+/*--------------
+ White
+---------------*/
+.ui.white.nags .nag,
+.ui.white.nag {
+ background-color: #F1F1F1;
+ text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.8);
+ color: #ACACAC;
+}
+.ui.white.nags .nag .close,
+.ui.white.nags .nag .title,
+.ui.white.nag .close,
+.ui.white.nag .title {
+ color: #333333;
+}
+/*******************************
+ Groups
+*******************************/
+.ui.nags .nag {
+ border-radius: 0px;
+}
+
+/*
+ * # Semantic - Popup
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Popup
+*******************************/
+.ui.popup {
+ display: none;
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ z-index: 900;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ max-width: 250px;
+ background-color: #FFFFFF;
+ padding: 0.8em 1.2em;
+ font-size: 0.875rem;
+ font-weight: normal;
+ font-style: normal;
+ color: rgba(0, 0, 0, 0.7);
+ border-radius: 0.2em;
+ -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
+}
+.ui.popup .header {
+ padding: 0em 0em 0.5em;
+ font-size: 1.125em;
+ line-height: 1.2;
+ font-weight: bold;
+}
+.ui.popup:before {
+ position: absolute;
+ content: "";
+ width: 0.75em;
+ height: 0.75rem;
+ background-image: none;
+ background-color: #FFFFFF;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+ z-index: 2;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
+}
+.ui.popup .ui.button {
+ width: 100%;
+}
+/*******************************
+ Types
+*******************************/
+/*--------------
+ Spacing
+---------------*/
+.ui.popup {
+ margin: 0em;
+}
+.ui.popup.bottom {
+ margin: 0.75em 0em 0em;
+}
+.ui.popup.top {
+ margin: 0em 0em 0.75em;
+}
+.ui.popup.left.center {
+ margin: 0em 0.75em 0em 0em;
+}
+.ui.popup.right.center {
+ margin: 0em 0em 0em 0.75em;
+}
+.ui.popup.center {
+ margin-left: -1.25em;
+}
+/*--------------
+ Pointer
+---------------*/
+/*--- Below ---*/
+.ui.bottom.center.popup:before {
+ margin-left: -0.4em;
+ top: -0.4em;
+ left: 50%;
+ right: auto;
+ bottom: auto;
+ -webkit-box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.2);
+ box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.2);
+}
+.ui.bottom.left.popup {
+ margin-right: -2em;
+}
+.ui.bottom.left.popup:before {
+ top: -0.4em;
+ right: 1em;
+ bottom: auto;
+ left: auto;
+ margin-left: 0em;
+ -webkit-box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.2);
+ box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.2);
+}
+.ui.bottom.right.popup {
+ margin-left: -2em;
+}
+.ui.bottom.right.popup:before {
+ top: -0.4em;
+ left: 1em;
+ right: auto;
+ bottom: auto;
+ margin-left: 0em;
+ -webkit-box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.2);
+ box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.2);
+}
+/*--- Above ---*/
+.ui.top.center.popup:before {
+ top: auto;
+ right: auto;
+ bottom: -0.4em;
+ left: 50%;
+ margin-left: -0.4em;
+}
+.ui.top.left.popup {
+ margin-right: -2em;
+}
+.ui.top.left.popup:before {
+ bottom: -0.4em;
+ right: 1em;
+ top: auto;
+ left: auto;
+ margin-left: 0em;
+}
+.ui.top.right.popup {
+ margin-left: -2em;
+}
+.ui.top.right.popup:before {
+ bottom: -0.4em;
+ left: 1em;
+ top: auto;
+ right: auto;
+ margin-left: 0em;
+}
+/*--- Left Center ---*/
+.ui.left.center.popup:before {
+ top: 50%;
+ right: -0.35em;
+ bottom: auto;
+ left: auto;
+ margin-top: -0.4em;
+ -webkit-box-shadow: 1px -1px 1px rgba(0, 0, 0, 0.2);
+ box-shadow: 1px -1px 1px rgba(0, 0, 0, 0.2);
+}
+/*--- Right Center ---*/
+.ui.right.center.popup:before {
+ top: 50%;
+ left: -0.35em;
+ bottom: auto;
+ right: auto;
+ margin-top: -0.4em;
+ -webkit-box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.2);
+ box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.2);
+}
+/*******************************
+ States
+*******************************/
+.ui.loading.popup {
+ display: block;
+ visibility: hidden;
+}
+.ui.animating.popup,
+.ui.visible.popup {
+ display: block;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Size
+---------------*/
+.ui.small.popup {
+ font-size: 0.75rem;
+}
+.ui.large.popup {
+ font-size: 1rem;
+}
+/*--------------
+ Colors
+---------------*/
+/* Inverted colors */
+.ui.inverted.popup {
+ background-color: #333333;
+ border: none;
+ color: #FFFFFF;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.ui.inverted.popup .header {
+ background-color: rgba(0, 0, 0, 0.2);
+ color: #FFFFFF;
+}
+.ui.inverted.popup:before {
+ background-color: #333333;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+/*
+ * # Semantic - Rating
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Rating
+*******************************/
+.ui.rating {
+ display: inline-block;
+ font-size: 0em;
+ vertical-align: middle;
+ margin: 0em 0.5rem 0em 0em;
+}
+.ui.rating:last-child {
+ margin-right: 0em;
+}
+.ui.rating:before {
+ display: block;
+ content: '';
+ visibility: hidden;
+ clear: both;
+ height: 0;
+}
+/* Icon */
+.ui.rating .icon {
+ cursor: pointer;
+ margin: 0em;
+ width: 1em;
+ height: auto;
+ padding: 0em;
+ color: rgba(0, 0, 0, 0.15);
+ font-weight: normal;
+ font-style: normal;
+}
+.ui.rating .icon:before {
+ content: "\2605";
+}
+/*******************************
+ Types
+*******************************/
+/*-------------------
+ Star
+--------------------*/
+.ui.star.rating .icon {
+ width: 1.2em;
+}
+/* Star */
+.ui.star.rating .icon:before {
+ content: '\f006';
+ font-family: 'Icons';
+}
+/* Active Star */
+.ui.star.rating .active.icon:before {
+ content: '\f005';
+ font-family: 'Icons';
+}
+/*-------------------
+ Heart
+--------------------*/
+.ui.heart.rating .icon {
+ width: 1.2em;
+}
+.ui.heart.rating .icon:before {
+ content: '\f08a';
+ font-family: 'Icons';
+}
+/* Active */
+.ui.heart.rating .active.icon:before {
+ content: '\f004';
+ font-family: 'Icons';
+}
+.ui.heart.rating .active.icon {
+ color: #EF404A !important;
+}
+/* Hovered */
+.ui.heart.rating .hover.icon,
+.ui.heart.rating .active.hover.icon {
+ color: #FF2733 !important;
+}
+/*******************************
+ States
+*******************************/
+/*-------------------
+ Active
+--------------------*/
+/* disabled rating */
+.ui.disabled.rating .icon {
+ cursor: default;
+}
+/* active icons */
+.ui.rating .active.icon {
+ color: #FFCB08 !important;
+}
+/*-------------------
+ Hover
+--------------------*/
+/* rating */
+.ui.rating.hover .active.icon {
+ opacity: 0.5;
+}
+/* icon */
+.ui.rating .icon.hover,
+.ui.rating .icon.hover.active {
+ opacity: 1;
+ color: #FFB70A !important;
+}
+/*******************************
+ Variations
+*******************************/
+.ui.small.rating .icon {
+ font-size: 0.75rem;
+}
+.ui.rating .icon {
+ font-size: 1rem;
+}
+.ui.large.rating .icon {
+ font-size: 1.5rem;
+ vertical-align: middle;
+}
+.ui.huge.rating .icon {
+ font-size: 2rem;
+ vertical-align: middle;
+}
+
+/*
+ * # Semantic - Search
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Search
+*******************************/
+.ui.search {
+ position: relative;
+ text-shadow: none;
+ font-style: normal;
+ font-weight: normal;
+}
+.ui.search input {
+ border-radius: 500rem;
+}
+/*--------------
+ Button
+---------------*/
+.ui.search > .button {
+ position: relative;
+ z-index: 2;
+ float: right;
+ margin: 0px 0px 0px -15px;
+ padding: 6px 15px 7px;
+ border-radius: 0px 15px 15px 0px;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+/*--------------
+ Results
+---------------*/
+.ui.search .results {
+ display: none;
+ position: absolute;
+ z-index: 999;
+ top: 100%;
+ left: 0px;
+ overflow: hidden;
+ background-color: #FFFFFF;
+ margin-top: 0.5em;
+ width: 380px;
+ font-size: 0.875em;
+ line-height: 1.2;
+ color: #555555;
+ border-radius: 3px;
+ -webkit-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(0, 0, 0, 0.1) inset;
+}
+.ui.search .result {
+ cursor: pointer;
+ overflow: hidden;
+ padding: 0.5em 1em;
+}
+.ui.search .result:first-child {
+ border-top: none;
+}
+.ui.search .result .image {
+ background: #F0F0F0;
+ margin-right: 10px;
+ float: left;
+ overflow: hidden;
+ border-radius: 3px;
+ width: 38px;
+ height: 38px;
+}
+.ui.search .result .image img {
+ display: block;
+ width: 38px;
+ height: 38px;
+}
+.ui.search .result .image ~ .info {
+ float: none;
+ margin-left: 50px;
+}
+.ui.search .result .info {
+ float: left;
+}
+.ui.search .result .title {
+ font-weight: bold;
+ color: rgba(0, 0, 0, 0.8);
+}
+.ui.search .result .description {
+ color: rgba(0, 0, 0, 0.6);
+}
+.ui.search .result .price {
+ float: right;
+ color: #5BBD72;
+ font-weight: bold;
+}
+/*--------------
+ Message
+---------------*/
+.ui.search .message {
+ padding: 1em;
+}
+.ui.search .message .text .title {
+ margin: 0em 0em 0.5rem;
+ font-size: 1.25rem;
+ font-weight: bold;
+ color: rgba(0, 0, 0, 0.8);
+}
+.ui.search .message .text .description {
+ margin: 0em;
+ font-size: 1rem;
+ color: rgba(0, 0, 0, 0.5);
+}
+/*--------------
+ Categories
+---------------*/
+.ui.search .results .category {
+ background-color: #FAFAFA;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ -webkit-transition: background 0.2s ease-in;
+ -moz-transition: background 0.2s ease-in;
+ transition: background 0.2s ease-in;
+}
+.ui.search .results .category:first-child {
+ border-top: none;
+}
+.ui.search .results .category > .name {
+ float: left;
+ padding: 12px 0px 0px 8px;
+ font-weight: bold;
+ color: #777777;
+ text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.8);
+}
+.ui.search .results .category .result {
+ background-color: #FFFFFF;
+ margin-left: 80px;
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* View All Results */
+.ui.search .all {
+ display: block;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ background-color: #FAFAFA;
+ height: 2em;
+ line-height: 2em;
+ color: rgba(0, 0, 0, 0.6);
+ font-weight: bold;
+ text-align: center;
+}
+/*******************************
+ States
+*******************************/
+/*--------------
+ Hover
+---------------*/
+.ui.search .result:hover,
+.ui.search .category .result:hover {
+ background-color: #F8F8F8;
+}
+.ui.search .all:hover {
+ background-color: #F0F0F0;
+}
+/*--------------
+ Loading
+---------------*/
+.ui.search.loading .input .icon {
+ background: url(../images/loader-mini.gif) no-repeat 50% 50%;
+}
+.ui.search.loading .input .icon:before,
+.ui.search.loading .input .icon:after {
+ display: none;
+}
+/*--------------
+ Active
+---------------*/
+.ui.search .results .category.active {
+ background-color: #F1F1F1;
+}
+.ui.search .results .category.active > .name {
+ color: #333333;
+}
+.ui.search .result.active,
+.ui.search .category .result.active {
+ background-color: #FBFBFB;
+}
+.ui.search .result.active .title {
+ color: #000000;
+}
+.ui.search .result.active .description {
+ color: #555555;
+}
+/*******************************
+ Variations
+*******************************/
+/* Large */
+.ui.search .large.result .image,
+.ui.search .large.result .image img {
+ width: 50px;
+ height: 50px;
+}
+.ui.search .large.results .indented.info {
+ margin-left: 65px;
+}
+.ui.search .large.results .info .title {
+ font-size: 16px;
+}
+.ui.search .large.results .info .description {
+ font-size: 11px;
+}
+
+/*
+ * # Semantic - Shape
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Shape
+*******************************/
+.ui.shape {
+ display: inline-block;
+ position: relative;
+ -webkit-perspective: 2000px;
+ -moz-perspective: 2000px;
+ -ms-perspective: 2000px;
+ perspective: 2000px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.ui.shape .sides {
+ -webkit-transform-style: preserve-3d;
+ -moz-transform-style: preserve-3d;
+ -ms-transform-style: preserve-3d;
+ transform-style: preserve-3d;
+}
+.ui.shape .side {
+ opacity: 1;
+ width: 100%;
+ margin: 0em !important;
+ -webkit-backface-visibility: hidden;
+ -moz-backface-visibility: hidden;
+ -ms-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.ui.shape .side {
+ display: none;
+}
+/*******************************
+ Types
+*******************************/
+.ui.cube.shape .side {
+ min-width: 15em;
+ height: 15em;
+ padding: 2em;
+ background-color: #E6E6E6;
+ color: rgba(0, 0, 0, 0.6);
+ -webkit-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3);
+}
+.ui.cube.shape .side > .content {
+ width: 100%;
+ height: 100%;
+ display: table;
+ text-align: center;
+ -webkit-user-select: text;
+ -moz-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+.ui.cube.shape .side > .content > div {
+ display: table-cell;
+ vertical-align: middle;
+ font-size: 2em;
+}
+/*******************************
+ Variations
+*******************************/
+.ui.text.shape.animating .sides {
+ position: static;
+}
+.ui.text.shape .side {
+ white-space: nowrap;
+}
+.ui.text.shape .side > * {
+ white-space: normal;
+}
+/*******************************
+ States
+*******************************/
+/*--------------
+ Loading
+---------------*/
+.ui.loading.shape {
+ position: absolute;
+ top: -9999px;
+ left: -9999px;
+}
+/*--------------
+ Animating
+---------------*/
+.ui.shape .animating.side {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ z-index: 100;
+}
+.ui.shape .hidden.side {
+ opacity: 0.4;
+}
+/*--------------
+ CSS
+---------------*/
+.ui.shape.animating {
+ -webkit-transition: all 0.6s ease-in-out;
+ -moz-transition: all 0.6s ease-in-out;
+ transition: all 0.6s ease-in-out;
+}
+.ui.shape.animating .sides {
+ position: absolute;
+}
+.ui.shape.animating .sides {
+ -webkit-transition: all 0.6s ease-in-out;
+ -moz-transition: all 0.6s ease-in-out;
+ transition: all 0.6s ease-in-out;
+}
+.ui.shape.animating .side {
+ -webkit-transition: opacity 0.6s ease-in-out;
+ -moz-transition: opacity 0.6s ease-in-out;
+ transition: opacity 0.6s ease-in-out;
+}
+/*--------------
+ Active
+---------------*/
+.ui.shape .active.side {
+ display: block;
+}
+
+/*
+ * # Semantic - Sidebar
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Sidebar
+*******************************/
+body {
+ -webkit-transition: margin 0.3s ease, -webkit-transform 0.3s ease /*rtl:append:,
+ padding 0.3s ease*/;
+ -moz-transition: margin 0.3s ease, -moz-transform 0.3s ease /*rtl:append:,
+ padding 0.3s ease*/;
+ transition: margin 0.3s ease, transform 0.3s ease /*rtl:append:,
+ padding 0.3s ease*/;
+}
+.ui.sidebar {
+ position: fixed;
+ margin: 0 !important;
+ height: 100% !important;
+ border-radius: 0px !important;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ -ms-overflow-y: auto;
+ overflow-y: auto;
+ top: 0px;
+ left: 0px;
+ z-index: 999;
+ -webkit-transition: margin-left 0.3s ease, margin-top 0.3s ease;
+ -moz-transition: margin-left 0.3s ease, margin-top 0.3s ease;
+ transition: margin-left 0.3s ease, margin-top 0.3s ease;
+}
+/*-------------------
+ Coupling
+--------------------*/
+body.pushed.scrolling.ui.dimmable {
+ position: static;
+}
+/*******************************
+ Types
+*******************************/
+/*-------------------
+ Direction
+--------------------*/
+.ui.right.very.thin.sidebar,
+.ui.right.thin.sidebar,
+.ui.right.sidebar,
+.ui.right.wide.sidebar,
+.ui.right.very.wide.sidebar {
+ left: 100%;
+ margin: 0px !important;
+}
+.ui.top.sidebar {
+ width: 100% !important;
+}
+.ui.bottom.sidebar {
+ width: 100% !important;
+ top: 100%;
+ margin: 0px !important;
+}
+/*******************************
+ States
+*******************************/
+.ui.active.sidebar {
+ margin-left: 0px !important;
+}
+.ui.active.top.sidebar,
+.ui.active.bottom.sidebar {
+ margin-top: 0px !important;
+}
+/*******************************
+ Variations
+*******************************/
+/*-------------------
+ Formatted
+--------------------*/
+.ui.styled.sidebar {
+ padding: 1em 1.5em;
+ background-color: #FFFFFF;
+ -webkit-box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.1);
+ box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.1);
+}
+.ui.styled.very.thin.sidebar {
+ padding: 0.5em;
+}
+.ui.styled.thin.sidebar {
+ padding: 1em;
+}
+/*-------------------
+ Floating
+--------------------*/
+.ui.floating.sidebar {
+ -webkit-box-shadow: 2px 0px 2px rgba(0, 0, 0, 0.2);
+ box-shadow: 2px 0px 2px rgba(0, 0, 0, 0.2);
+}
+.ui.right.floating.sidebar {
+ -webkit-box-shadow: -2px 0px 2px rgba(0, 0, 0, 0.2);
+ box-shadow: -2px 0px 2px rgba(0, 0, 0, 0.2);
+}
+.ui.top.floating.sidebar {
+ -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.2);
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.2);
+}
+.ui.bottom.floating.sidebar {
+ -webkit-box-shadow: 0px -4px 4px rgba(0, 0, 0, 0.2);
+ box-shadow: 0px -4px 4px rgba(0, 0, 0, 0.2);
+}
+/*-------------------
+ Width
+--------------------*/
+/* Very Thin */
+.ui.very.thin.sidebar {
+ width: 60px !important;
+ margin-left: -60px !important;
+}
+.ui.active.very.thin.sidebar {
+ margin-left: 0px !important;
+}
+.ui.active.right.very.thin.sidebar {
+ margin-left: -60px !important;
+}
+/* Thin */
+.ui.thin.sidebar {
+ width: 200px !important;
+ margin-left: -200px !important;
+}
+.ui.active.thin.sidebar {
+ margin-left: 0px !important;
+}
+.ui.active.right.thin.sidebar {
+ margin-left: -200px !important;
+}
+/* Standard */
+.ui.sidebar {
+ width: 275px !important;
+ margin-left: -275px !important;
+}
+.ui.active.sidebar {
+ margin-left: 0px !important;
+}
+.ui.active.right.sidebar {
+ margin-left: -275px !important;
+}
+/* Wide */
+.ui.wide.sidebar {
+ width: 350px !important;
+ margin-left: -350px !important;
+}
+.ui.active.wide.sidebar {
+ margin-left: 0px !important;
+}
+.ui.active.right.wide.sidebar {
+ margin-left: -350px !important;
+}
+/* Very Wide */
+.ui.very.wide.sidebar {
+ width: 475px !important;
+ margin-left: -475px !important;
+}
+.ui.active.very.wide.sidebar {
+ margin-left: 0px !important;
+}
+.ui.active.right.very.wide.sidebar {
+ margin-left: -475px !important;
+}
+/*-------------------
+ Height
+--------------------*/
+/* Standard */
+.ui.top.sidebar {
+ margin: -40px 0px 0px 0px !important;
+}
+.ui.top.sidebar,
+.ui.bottom.sidebar {
+ height: 40px !important;
+}
+.ui.active.bottom.sidebar {
+ margin-top: -40px !important;
+}
+
+/*
+ * # Semantic - Tab
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ UI Tabs
+*******************************/
+.ui.tab {
+ display: none;
+}
+/*******************************
+ States
+*******************************/
+/*--------------------
+ Active
+---------------------*/
+.ui.tab.active,
+.ui.tab.open {
+ display: block;
+}
+/*--------------------
+ Loading
+---------------------*/
+.ui.tab.loading {
+ position: relative;
+ overflow: hidden;
+ display: block;
+ min-height: 250px;
+ text-indent: -10000px;
+}
+.ui.tab.loading * {
+ position: relative !important;
+ left: -10000px !important;
+}
+.ui.tab.loading:after {
+ position: absolute;
+ top: 50px;
+ left: 50%;
+ content: 'Loading...';
+ margin-left: -32px;
+ text-indent: 5px;
+ color: rgba(0, 0, 0, 0.4);
+ width: 100%;
+ height: 100%;
+ padding-top: 75px;
+ background: url(../images/loader-large.gif) no-repeat 0px 0px;
+ visibility: visible;
+}
+
+/*******************************
+ Semantic - Transition
+ Author: Jack Lukic
+
+ CSS animation definitions for
+ transition module
+
+*******************************/
+/*
+ Some transitions adapted from Animate CSS
+ https://github.com/daneden/animate.css
+*/
+.ui.transition {
+ -webkit-animation-iteration-count: 1;
+ -moz-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-duration: 1s;
+ -moz-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-timing-function: ease;
+ -moz-animation-timing-function: ease;
+ animation-timing-function: ease;
+ -webkit-animation-fill-mode: both;
+ -moz-animation-fill-mode: both;
+ animation-fill-mode: both;
+}
+/*******************************
+ States
+*******************************/
+.ui.animating.transition {
+ display: block;
+ -webkit-backface-visibility: hidden;
+ -moz-backface-visibility: hidden;
+ -ms-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-transform: translateZ(0);
+ -moz-transform: translateZ(0);
+ -ms-transform: translateZ(0);
+ transform: translateZ(0);
+}
+/* Loading */
+.ui.loading.transition {
+ position: absolute;
+ top: -999999px;
+ left: -99999px;
+}
+/* Hidden */
+.ui.hidden.transition {
+ display: none !important;
+}
+/* Visible */
+.ui.visible.transition {
+ display: block;
+ visibility: visible;
+}
+/* Disabled */
+.ui.disabled.transition {
+ -webkit-animation-play-state: paused;
+ -moz-animation-play-state: paused;
+ animation-play-state: paused;
+}
+/*******************************
+ Variations
+*******************************/
+.ui.looping.transition {
+ -webkit-animation-iteration-count: infinite;
+ -moz-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+}
+/*******************************
+ Types
+*******************************/
+/*--------------
+ Emphasis
+---------------*/
+.ui.flash.transition {
+ -webkit-animation-name: flash;
+ -moz-animation-name: flash;
+ animation-name: flash;
+}
+.ui.shake.transition {
+ -webkit-animation-name: shake;
+ -moz-animation-name: shake;
+ animation-name: shake;
+}
+.ui.bounce.transition {
+ -webkit-animation-name: bounce;
+ -moz-animation-name: bounce;
+ animation-name: bounce;
+}
+.ui.tada.transition {
+ -webkit-animation-name: tada;
+ -moz-animation-name: tada;
+ animation-name: tada;
+}
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+.ui.pulse.transition {
+ -webkit-animation-name: pulse;
+ -moz-animation-name: pulse;
+ animation-name: pulse;
+}
+/*--------------
+ Flips
+---------------*/
+.ui.flip.transition.in,
+.ui.flip.transition.out {
+ -webkit-perspective: 2000px;
+ -moz-perspective: 2000px;
+ -ms-perspective: 2000px;
+ perspective: 2000px;
+}
+.ui.horizontal.flip.transition.in,
+.ui.horizontal.flip.transition.out {
+ -webkit-animation-name: horizontalFlip;
+ -moz-animation-name: horizontalFlip;
+ animation-name: horizontalFlip;
+}
+.ui.horizontal.flip.transition.out {
+ -webkit-animation-name: horizontalFlipOut;
+ -moz-animation-name: horizontalFlipOut;
+ animation-name: horizontalFlipOut;
+}
+.ui.vertical.flip.transition.in,
+.ui.vertical.flip.transition.out {
+ -webkit-animation-name: verticalFlip;
+ -moz-animation-name: verticalFlip;
+ animation-name: verticalFlip;
+}
+.ui.vertical.flip.transition.out {
+ -webkit-animation-name: verticalFlipOut;
+ -moz-animation-name: verticalFlipOut;
+ animation-name: verticalFlipOut;
+}
+/*--------------
+ Fades
+---------------*/
+.ui.fade.transition.in {
+ -webkit-animation-name: fade;
+ -moz-animation-name: fade;
+ animation-name: fade;
+}
+.ui.fade.transition.out {
+ -webkit-animation-name: fadeOut;
+ -moz-animation-name: fadeOut;
+ animation-name: fadeOut;
+}
+.ui.fade.up.transition.in {
+ -webkit-animation-name: fadeUp;
+ -moz-animation-name: fadeUp;
+ animation-name: fadeUp;
+}
+.ui.fade.up.transition.out {
+ -webkit-animation-name: fadeUpOut;
+ -moz-animation-name: fadeUpOut;
+ animation-name: fadeUpOut;
+}
+.ui.fade.down.transition.in {
+ -webkit-animation-name: fadeDown;
+ -moz-animation-name: fadeDown;
+ animation-name: fadeDown;
+}
+.ui.fade.down.transition.out {
+ -webkit-animation-name: fadeDownOut;
+ -moz-animation-name: fadeDownOut;
+ animation-name: fadeDownOut;
+}
+/*--------------
+ Scale
+---------------*/
+.ui.scale.transition.in {
+ -webkit-animation-name: scale;
+ -moz-animation-name: scale;
+ animation-name: scale;
+}
+.ui.scale.transition.out {
+ -webkit-animation-name: scaleOut;
+ -moz-animation-name: scaleOut;
+ animation-name: scaleOut;
+}
+/*--------------
+ Slide
+---------------*/
+.ui.slide.down.transition.in {
+ -webkit-animation-name: slide;
+ -moz-animation-name: slide;
+ animation-name: slide;
+ -moz-transform-origin: 50% 0%;
+ transform-origin: 50% 0%;
+ -ms-transform-origin: 50% 0%;
+ -webkit-transform-origin: 50% 0%;
+}
+.ui.slide.down.transition.out {
+ -webkit-animation-name: slideOut;
+ -moz-animation-name: slideOut;
+ animation-name: slideOut;
+ -webkit-transform-origin: 50% 0%;
+ -moz-transform-origin: 50% 0%;
+ -ms-transform-origin: 50% 0%;
+ transform-origin: 50% 0%;
+}
+.ui.slide.up.transition.in {
+ -webkit-animation-name: slide;
+ -moz-animation-name: slide;
+ animation-name: slide;
+ -webkit-transform-origin: 50% 100%;
+ -moz-transform-origin: 50% 100%;
+ -ms-transform-origin: 50% 100%;
+ transform-origin: 50% 100%;
+}
+.ui.slide.up.transition.out {
+ -webkit-animation-name: slideOut;
+ -moz-animation-name: slideOut;
+ animation-name: slideOut;
+ -webkit-transform-origin: 50% 100%;
+ -moz-transform-origin: 50% 100%;
+ -ms-transform-origin: 50% 100%;
+ transform-origin: 50% 100%;
+}
+ at -webkit-keyframes slide {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scaleY(0);
+ transform: scaleY(0);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scaleY(1);
+ transform: scaleY(1);
+ }
+}
+ at -moz-keyframes slide {
+ 0% {
+ opacity: 0;
+ -moz-transform: scaleY(0);
+ transform: scaleY(0);
+ }
+ 100% {
+ opacity: 1;
+ -moz-transform: scaleY(1);
+ transform: scaleY(1);
+ }
+}
+ at keyframes slide {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scaleY(0);
+ -moz-transform: scaleY(0);
+ transform: scaleY(0);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scaleY(1);
+ -moz-transform: scaleY(1);
+ transform: scaleY(1);
+ }
+}
+ at -webkit-keyframes slideOut {
+ 0% {
+ opacity: 1;
+ -webkit-transform: scaleY(1);
+ transform: scaleY(1);
+ }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scaleY(0);
+ transform: scaleY(0);
+ }
+}
+ at -moz-keyframes slideOut {
+ 0% {
+ opacity: 1;
+ -moz-transform: scaleY(1);
+ transform: scaleY(1);
+ }
+ 100% {
+ opacity: 0;
+ -moz-transform: scaleY(0);
+ transform: scaleY(0);
+ }
+}
+ at keyframes slideOut {
+ 0% {
+ opacity: 1;
+ -webkit-transform: scaleY(1);
+ -moz-transform: scaleY(1);
+ transform: scaleY(1);
+ }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scaleY(0);
+ -moz-transform: scaleY(0);
+ transform: scaleY(0);
+ }
+}
+/*******************************
+ Animations
+*******************************/
+/*--------------
+ Emphasis
+---------------*/
+/* Flash */
+ at -webkit-keyframes flash {
+ 0%,
+ 50%,
+ 100% {
+ opacity: 1;
+ }
+ 25%,
+ 75% {
+ opacity: 0;
+ }
+}
+ at -moz-keyframes flash {
+ 0%,
+ 50%,
+ 100% {
+ opacity: 1;
+ }
+ 25%,
+ 75% {
+ opacity: 0;
+ }
+}
+ at keyframes flash {
+ 0%,
+ 50%,
+ 100% {
+ opacity: 1;
+ }
+ 25%,
+ 75% {
+ opacity: 0;
+ }
+}
+/* Shake */
+ at -webkit-keyframes shake {
+ 0%,
+ 100% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ }
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: translateX(-10px);
+ transform: translateX(-10px);
+ }
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: translateX(10px);
+ transform: translateX(10px);
+ }
+}
+ at -moz-keyframes shake {
+ 0%,
+ 100% {
+ -moz-transform: translateX(0);
+ transform: translateX(0);
+ }
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -moz-transform: translateX(-10px);
+ transform: translateX(-10px);
+ }
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ -moz-transform: translateX(10px);
+ transform: translateX(10px);
+ }
+}
+ at keyframes shake {
+ 0%,
+ 100% {
+ -webkit-transform: translateX(0);
+ -moz-transform: translateX(0);
+ transform: translateX(0);
+ }
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: translateX(-10px);
+ -moz-transform: translateX(-10px);
+ transform: translateX(-10px);
+ }
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: translateX(10px);
+ -moz-transform: translateX(10px);
+ transform: translateX(10px);
+ }
+}
+/* Bounce */
+ at -webkit-keyframes bounce {
+ 0%,
+ 20%,
+ 50%,
+ 80%,
+ 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ }
+ 40% {
+ -webkit-transform: translateY(-30px);
+ transform: translateY(-30px);
+ }
+ 60% {
+ -webkit-transform: translateY(-15px);
+ transform: translateY(-15px);
+ }
+}
+ at -moz-keyframes bounce {
+ 0%,
+ 20%,
+ 50%,
+ 80%,
+ 100% {
+ -moz-transform: translateY(0);
+ transform: translateY(0);
+ }
+ 40% {
+ -moz-transform: translateY(-30px);
+ transform: translateY(-30px);
+ }
+ 60% {
+ -moz-transform: translateY(-15px);
+ transform: translateY(-15px);
+ }
+}
+ at keyframes bounce {
+ 0%,
+ 20%,
+ 50%,
+ 80%,
+ 100% {
+ -webkit-transform: translateY(0);
+ -moz-transform: translateY(0);
+ transform: translateY(0);
+ }
+ 40% {
+ -webkit-transform: translateY(-30px);
+ -moz-transform: translateY(-30px);
+ transform: translateY(-30px);
+ }
+ 60% {
+ -webkit-transform: translateY(-15px);
+ -moz-transform: translateY(-15px);
+ transform: translateY(-15px);
+ }
+}
+/* Tada */
+ at -webkit-keyframes tada {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+ 10%,
+ 20% {
+ -webkit-transform: scale(0.9) rotate(-3deg);
+ transform: scale(0.9) rotate(-3deg);
+ }
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: scale(1.1) rotate(3deg);
+ transform: scale(1.1) rotate(3deg);
+ }
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: scale(1.1) rotate(-3deg);
+ transform: scale(1.1) rotate(-3deg);
+ }
+ 100% {
+ -webkit-transform: scale(1) rotate(0);
+ transform: scale(1) rotate(0);
+ }
+}
+ at -moz-keyframes tada {
+ 0% {
+ -moz-transform: scale(1);
+ transform: scale(1);
+ }
+ 10%,
+ 20% {
+ -moz-transform: scale(0.9) rotate(-3deg);
+ transform: scale(0.9) rotate(-3deg);
+ }
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -moz-transform: scale(1.1) rotate(3deg);
+ transform: scale(1.1) rotate(3deg);
+ }
+ 40%,
+ 60%,
+ 80% {
+ -moz-transform: scale(1.1) rotate(-3deg);
+ transform: scale(1.1) rotate(-3deg);
+ }
+ 100% {
+ -moz-transform: scale(1) rotate(0);
+ transform: scale(1) rotate(0);
+ }
+}
+ at keyframes tada {
+ 0% {
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1);
+ }
+ 10%,
+ 20% {
+ -webkit-transform: scale(0.9) rotate(-3deg);
+ -moz-transform: scale(0.9) rotate(-3deg);
+ transform: scale(0.9) rotate(-3deg);
+ }
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: scale(1.1) rotate(3deg);
+ -moz-transform: scale(1.1) rotate(3deg);
+ transform: scale(1.1) rotate(3deg);
+ }
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: scale(1.1) rotate(-3deg);
+ -moz-transform: scale(1.1) rotate(-3deg);
+ transform: scale(1.1) rotate(-3deg);
+ }
+ 100% {
+ -webkit-transform: scale(1) rotate(0);
+ -moz-transform: scale(1) rotate(0);
+ transform: scale(1) rotate(0);
+ }
+}
+/* Pulse */
+ at -webkit-keyframes pulse {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1;
+ }
+ 50% {
+ -webkit-transform: scale(0.9);
+ transform: scale(0.9);
+ opacity: 0.7;
+ }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1;
+ }
+}
+ at -moz-keyframes pulse {
+ 0% {
+ -moz-transform: scale(1);
+ transform: scale(1);
+ opacity: 1;
+ }
+ 50% {
+ -moz-transform: scale(0.9);
+ transform: scale(0.9);
+ opacity: 0.7;
+ }
+ 100% {
+ -moz-transform: scale(1);
+ transform: scale(1);
+ opacity: 1;
+ }
+}
+ at keyframes pulse {
+ 0% {
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1);
+ opacity: 1;
+ }
+ 50% {
+ -webkit-transform: scale(0.9);
+ -moz-transform: scale(0.9);
+ transform: scale(0.9);
+ opacity: 0.7;
+ }
+ 100% {
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1);
+ opacity: 1;
+ }
+}
+/*--------------
+ Flips
+---------------*/
+/* Horizontal */
+ at -webkit-keyframes horizontalFlip {
+ 0% {
+ -webkit-transform: rotateY(-90deg);
+ transform: rotateY(-90deg);
+ opacity: 0;
+ }
+ 100% {
+ -webkit-transform: rotateY(0deg);
+ transform: rotateY(0deg);
+ opacity: 1;
+ }
+}
+ at -moz-keyframes horizontalFlip {
+ 0% {
+ -moz-transform: rotateY(-90deg);
+ transform: rotateY(-90deg);
+ opacity: 0;
+ }
+ 100% {
+ -moz-transform: rotateY(0deg);
+ transform: rotateY(0deg);
+ opacity: 1;
+ }
+}
+ at keyframes horizontalFlip {
+ 0% {
+ -webkit-transform: rotateY(-90deg);
+ -moz-transform: rotateY(-90deg);
+ transform: rotateY(-90deg);
+ opacity: 0;
+ }
+ 100% {
+ -webkit-transform: rotateY(0deg);
+ -moz-transform: rotateY(0deg);
+ transform: rotateY(0deg);
+ opacity: 1;
+ }
+}
+/* Horizontal */
+ at -webkit-keyframes horizontalFlipOut {
+ 0% {
+ -webkit-transform: rotateY(0deg);
+ transform: rotateY(0deg);
+ opacity: 1;
+ }
+ 100% {
+ -webkit-transform: rotateY(90deg);
+ transform: rotateY(90deg);
+ opacity: 0;
+ }
+}
+ at -moz-keyframes horizontalFlipOut {
+ 0% {
+ -moz-transform: rotateY(0deg);
+ transform: rotateY(0deg);
+ opacity: 1;
+ }
+ 100% {
+ -moz-transform: rotateY(90deg);
+ transform: rotateY(90deg);
+ opacity: 0;
+ }
+}
+ at keyframes horizontalFlipOut {
+ 0% {
+ -webkit-transform: rotateY(0deg);
+ -moz-transform: rotateY(0deg);
+ transform: rotateY(0deg);
+ opacity: 1;
+ }
+ 100% {
+ -webkit-transform: rotateY(90deg);
+ -moz-transform: rotateY(90deg);
+ transform: rotateY(90deg);
+ opacity: 0;
+ }
+}
+/* Vertical */
+ at -webkit-keyframes verticalFlip {
+ 0% {
+ -webkit-transform: rotateX(-90deg);
+ transform: rotateX(-90deg);
+ opacity: 0;
+ }
+ 100% {
+ -webkit-transform: rotateX(0deg);
+ transform: rotateX(0deg);
+ opacity: 1;
+ }
+}
+ at -moz-keyframes verticalFlip {
+ 0% {
+ -moz-transform: rotateX(-90deg);
+ transform: rotateX(-90deg);
+ opacity: 0;
+ }
+ 100% {
+ -moz-transform: rotateX(0deg);
+ transform: rotateX(0deg);
+ opacity: 1;
+ }
+}
+ at keyframes verticalFlip {
+ 0% {
+ -webkit-transform: rotateX(-90deg);
+ -moz-transform: rotateX(-90deg);
+ transform: rotateX(-90deg);
+ opacity: 0;
+ }
+ 100% {
+ -webkit-transform: rotateX(0deg);
+ -moz-transform: rotateX(0deg);
+ transform: rotateX(0deg);
+ opacity: 1;
+ }
+}
+ at -webkit-keyframes verticalFlipOut {
+ 0% {
+ -webkit-transform: rotateX(0deg);
+ transform: rotateX(0deg);
+ opacity: 1;
+ }
+ 100% {
+ -webkit-transform: rotateX(-90deg);
+ transform: rotateX(-90deg);
+ opacity: 0;
+ }
+}
+ at -moz-keyframes verticalFlipOut {
+ 0% {
+ -moz-transform: rotateX(0deg);
+ transform: rotateX(0deg);
+ opacity: 1;
+ }
+ 100% {
+ -moz-transform: rotateX(-90deg);
+ transform: rotateX(-90deg);
+ opacity: 0;
+ }
+}
+ at keyframes verticalFlipOut {
+ 0% {
+ -webkit-transform: rotateX(0deg);
+ -moz-transform: rotateX(0deg);
+ transform: rotateX(0deg);
+ opacity: 1;
+ }
+ 100% {
+ -webkit-transform: rotateX(-90deg);
+ -moz-transform: rotateX(-90deg);
+ transform: rotateX(-90deg);
+ opacity: 0;
+ }
+}
+/*--------------
+ Fades
+---------------*/
+/* Fade */
+ at -webkit-keyframes fade {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+ at -moz-keyframes fade {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+ at keyframes fade {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+ at -webkit-keyframes fadeOut {
+ 0% {
+ opacity: 1;
+ }
+ 100% {
+ opacity: 0;
+ }
+}
+ at -moz-keyframes fadeOut {
+ 0% {
+ opacity: 1;
+ }
+ 100% {
+ opacity: 0;
+ }
+}
+ at keyframes fadeOut {
+ 0% {
+ opacity: 1;
+ }
+ 100% {
+ opacity: 0;
+ }
+}
+/* Fade Up */
+ at -webkit-keyframes fadeUp {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translateY(20px);
+ transform: translateY(20px);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ }
+}
+ at -moz-keyframes fadeUp {
+ 0% {
+ opacity: 0;
+ -moz-transform: translateY(20px);
+ transform: translateY(20px);
+ }
+ 100% {
+ opacity: 1;
+ -moz-transform: translateY(0);
+ transform: translateY(0);
+ }
+}
+ at keyframes fadeUp {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translateY(20px);
+ -moz-transform: translateY(20px);
+ transform: translateY(20px);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: translateY(0);
+ -moz-transform: translateY(0);
+ transform: translateY(0);
+ }
+}
+ at -webkit-keyframes fadeUpOut {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translateY(20px);
+ transform: translateY(20px);
+ }
+}
+ at -moz-keyframes fadeUpOut {
+ 0% {
+ opacity: 1;
+ -moz-transform: translateY(0);
+ transform: translateY(0);
+ }
+ 100% {
+ opacity: 0;
+ -moz-transform: translateY(20px);
+ transform: translateY(20px);
+ }
+}
+ at keyframes fadeUpOut {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateY(0);
+ -moz-transform: translateY(0);
+ transform: translateY(0);
+ }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translateY(20px);
+ -moz-transform: translateY(20px);
+ transform: translateY(20px);
+ }
+}
+/* Fade Down */
+ at -webkit-keyframes fadeDown {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translateY(-20px);
+ transform: translateY(-20px);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ }
+}
+ at -moz-keyframes fadeDown {
+ 0% {
+ opacity: 0;
+ -moz-transform: translateY(-20px);
+ transform: translateY(-20px);
+ }
+ 100% {
+ opacity: 1;
+ -moz-transform: translateY(0);
+ transform: translateY(0);
+ }
+}
+ at keyframes fadeDown {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translateY(-20px);
+ -moz-transform: translateY(-20px);
+ transform: translateY(-20px);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: translateY(0);
+ -moz-transform: translateY(0);
+ transform: translateY(0);
+ }
+}
+ at -webkit-keyframes fadeDownOut {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translateY(-20px);
+ transform: translateY(-20px);
+ }
+}
+ at -moz-keyframes fadeDownOut {
+ 0% {
+ opacity: 1;
+ -moz-transform: translateY(0);
+ transform: translateY(0);
+ }
+ 100% {
+ opacity: 0;
+ -moz-transform: translateY(-20px);
+ transform: translateY(-20px);
+ }
+}
+ at keyframes fadeDownOut {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateY(0);
+ -moz-transform: translateY(0);
+ transform: translateY(0);
+ }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translateY(-20px);
+ -moz-transform: translateY(-20px);
+ transform: translateY(-20px);
+ }
+}
+/*--------------
+ Scale
+---------------*/
+/* Scale */
+ at -webkit-keyframes scale {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+ at -moz-keyframes scale {
+ 0% {
+ opacity: 0;
+ -moz-transform: scale(0.7);
+ transform: scale(0.7);
+ }
+ 100% {
+ opacity: 1;
+ -moz-transform: scale(1);
+ transform: scale(1);
+ }
+}
+ at keyframes scale {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(0.7);
+ -moz-transform: scale(0.7);
+ transform: scale(0.7);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1);
+ }
+}
+ at -webkit-keyframes scaleOut {
+ 0% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7);
+ }
+}
+ at -moz-keyframes scaleOut {
+ 0% {
+ opacity: 1;
+ -moz-transform: scale(1);
+ transform: scale(1);
+ }
+ 100% {
+ opacity: 0;
+ -moz-transform: scale(0.7);
+ transform: scale(0.7);
+ }
+}
+ at keyframes scaleOut {
+ 0% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1);
+ }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale(0.7);
+ -moz-transform: scale(0.7);
+ transform: scale(0.7);
+ }
+}
+
+/*
+ * # Semantic - Video
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Video
+*******************************/
+.ui.video {
+ position: relative;
+ max-width: 100%;
+}
+/*--------------
+ Content
+---------------*/
+/* Placeholder Image */
+.ui.video .placeholder {
+ background-color: #333333;
+}
+/* Play Icon Overlay */
+.ui.video .play {
+ cursor: pointer;
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ z-index: 10;
+ width: 100%;
+ height: 100%;
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
+ filter: alpha(opacity=60);
+ opacity: 0.6;
+ -webkit-transition: opacity 0.3s;
+ -moz-transition: opacity 0.3s;
+ transition: opacity 0.3s;
+}
+.ui.video .play.icon:before {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ z-index: 11;
+ font-size: 6rem;
+ margin: -3rem 0em 0em -3rem;
+ color: #FFFFFF;
+ text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.4);
+}
+.ui.video .placeholder {
+ display: block;
+ width: 100%;
+ height: 100%;
+}
+/* IFrame Embed */
+.ui.video .embed {
+ display: none;
+}
+/*******************************
+ States
+*******************************/
+/*--------------
+ Hover
+---------------*/
+.ui.video .play:hover {
+ opacity: 1;
+}
+/*--------------
+ Active
+---------------*/
+.ui.video.active .play,
+.ui.video.active .placeholder {
+ display: none;
+}
+.ui.video.active .embed {
+ display: block;
+}
+
+/*
+ * # Semantic Comment View
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ * Released: April 17 2013
+ */
+/*******************************
+ Standard
+*******************************/
+/*--------------
+ Comments
+---------------*/
+.ui.comments a {
+ cursor: pointer;
+}
+/*--------------
+ Comment
+---------------*/
+.ui.comments .comment {
+ position: relative;
+ margin-top: 0.5em;
+ padding-top: 0.5em;
+}
+.ui.comments .comment:first-child {
+ margin-top: 0em;
+ padding-top: 0em;
+}
+/*--------------------
+ Avatar (Optional)
+---------------------*/
+.ui.comments .comment .avatar {
+ display: block;
+ float: left;
+ width: 4em;
+}
+.ui.comments .comment .avatar img {
+ display: block;
+ margin: 0em auto;
+ width: 3em;
+ height: 3em;
+ border-radius: 500px;
+}
+/*--------------
+ Content
+---------------*/
+.ui.comments .comment > .content,
+.ui.comments .comment > .avatar {
+ display: block;
+}
+.ui.comments .comment .avatar ~ .content {
+ padding: 0em 1em;
+}
+/* If there is an avatar move content over */
+.ui.comments .comment > .avatar ~ .content {
+ padding-top: 0.25em;
+ margin-left: 3.5em;
+}
+.ui.comments .comment .metadata {
+ display: inline-block;
+ margin-left: 0.3em;
+ color: rgba(0, 0, 0, 0.4);
+}
+.ui.comments .comment .metadata > * {
+ display: inline-block;
+ margin: 0em 0.3em 0em 0em;
+}
+/*--------------------
+ Comment Text
+---------------------*/
+.ui.comments .comment .text {
+ margin: 0.25em 0em 0.5em;
+ word-wrap: break-word;
+}
+/*--------------------
+ User Actions
+---------------------*/
+.ui.comments .comment .actions {
+ font-size: 0.9em;
+}
+.ui.comments .comment .actions a {
+ display: inline-block;
+ margin: 0em 0.3em 0em 0em;
+ color: rgba(0, 0, 0, 0.3);
+}
+.ui.comments .comment .actions a.active,
+.ui.comments .comment .actions a:hover {
+ color: rgba(0, 0, 0, 0.6);
+}
+/*--------------------
+ Reply Form
+---------------------*/
+.ui.comments .reply.form {
+ margin-top: 0.75em;
+ width: 100%;
+ max-width: 30em;
+}
+.ui.comments .comment .reply.form {
+ margin-left: 2em;
+}
+.ui.comments > .reply.form {
+ margin-top: 1.5em;
+ max-width: 40em;
+}
+.ui.comments .reply.form textarea {
+ height: 12em;
+}
+/*--------------------
+ Nested Comments
+---------------------*/
+.ui.comments .comment .comments {
+ margin-top: 0.5em;
+ padding-top: 0.5em;
+ padding-bottom: 1em;
+}
+.ui.comments .comment .comments:before {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+}
+/* One Deep */
+.ui.comments > .comment .comments {
+ margin-left: 2em;
+}
+/* Two Deep */
+.ui.comments > .comment > .comments > .comment > .comments {
+ margin-left: 1.75em;
+}
+/* Three Deep */
+.ui.comments > .comment > .comments > .comment > .comments > .comment > .comments {
+ margin-left: 1.5em;
+}
+/* Four Deep or more */
+.ui.comments > .comment > .comments > .comment > .comments > .comment > .comments > .comment .comments {
+ margin-left: 0.5em;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------------
+ Threaded
+---------------------*/
+.ui.threaded.comments .comment .comments {
+ margin-left: 2em !important;
+ padding-left: 2em !important;
+ -webkit-box-shadow: -1px 0px 0px rgba(0, 0, 0, 0.05);
+ box-shadow: -1px 0px 0px rgba(0, 0, 0, 0.05);
+}
+/*--------------------
+ Minimal
+---------------------*/
+.ui.minimal.comments .comment .actions {
+ opacity: 0;
+ -webkit-transition: opacity 0.1s ease-out;
+ -moz-transition: opacity 0.1s ease-out;
+ transition: opacity 0.1s ease-out;
+ -webkit-transition-delay: 0.1s;
+ -moz-transition-delay: 0.1s;
+ transition-delay: 0.1s;
+}
+.ui.minimal.comments .comment > .content:hover > .actions {
+ opacity: 1;
+}
+/*--------------------
+ Sizes
+---------------------*/
+.ui.small.comments {
+ font-size: 0.875em;
+}
+
+/*
+ * # Activity Feed View
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ * Released: May 22, 2013
+ */
+/*******************************
+ Activity Feed
+*******************************/
+.ui.feed a {
+ cursor: pointer;
+}
+.ui.feed,
+.ui.feed .event,
+.ui.feed .label,
+.ui.feed .content,
+.ui.feed .extra {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*******************************
+ Content
+*******************************/
+/* Event */
+.ui.feed .event {
+ width: 100%;
+ display: table;
+ padding: 1em;
+}
+.ui.feed .event:first-child {
+ border-top: 0px;
+}
+.ui.feed .event:last-child {
+ margin-bottom: 1em;
+}
+/* Event Label */
+.ui.feed .label {
+ width: 3em;
+ display: table-cell;
+ vertical-align: top;
+ text-align: left;
+}
+.ui.feed .label .icon {
+ font-size: 1.5em;
+ padding: 0.5em;
+ margin: 0em;
+}
+.ui.feed .label img {
+ width: 3em;
+ margin: 0em;
+ border-radius: 50em;
+}
+.ui.feed .label + .content {
+ padding: 0.75em 1em 0em;
+}
+/* Content */
+.ui.feed .content {
+ display: table-cell;
+ vertical-align: top;
+ text-align: left;
+ word-wrap: break-word;
+}
+/* Date */
+.ui.feed .content .date {
+ float: right;
+ padding-left: 1em;
+ color: rgba(0, 0, 0, 0.4);
+}
+/* Summary */
+.ui.feed .content .summary {
+ color: rgba(0, 0, 0, 0.75);
+}
+.ui.feed .content .summary img {
+ display: inline-block;
+ margin-right: 0.25em;
+ width: 4em;
+ border-radius: 500px;
+}
+/* Additional Information */
+.ui.feed .content .extra {
+ margin: 1em 0em 0em;
+ padding: 0.5em 0em 0em;
+ color: rgba(0, 0, 0, 0.5);
+}
+.ui.feed .content .extra.images img {
+ display: inline-block;
+ margin-right: 0.25em;
+ width: 6em;
+}
+.ui.feed .content .extra.text {
+ padding: 0.5em 1em;
+ border-left: 0.2em solid rgba(0, 0, 0, 0.1);
+}
+/*******************************
+ Variations
+*******************************/
+.ui.small.feed {
+ font-size: 0.875em;
+}
+.ui.small.feed .label img {
+ width: 2.5em;
+}
+.ui.small.feed .label .icon {
+ font-size: 1.25em;
+}
+.ui.feed .event {
+ padding: 0.75em 0em;
+}
+.ui.small.feed .label + .content {
+ padding: 0.5em 0.5em 0;
+}
+.ui.small.feed .content .extra.images img {
+ width: 5em;
+}
+.ui.small.feed .content .extra {
+ margin: 0.5em 0em 0em;
+}
+.ui.small.feed .content .extra.text {
+ padding: 0.25em 0.5em;
+}
+
+/*
+ * # Semantic Item View
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ * Released: April 17 2013
+ */
+/*******************************
+ Standard
+*******************************/
+/*--------------
+ Items
+---------------*/
+.ui.items {
+ margin: 1em 0em 0em;
+}
+.ui.items:first-child {
+ margin-top: 0em;
+}
+.ui.items:last-child {
+ margin-bottom: -1em;
+}
+/* Force Clearing */
+.ui.items:after {
+ display: block;
+ content: ' ';
+ height: 0px;
+ clear: both;
+ overflow: hidden;
+ visibility: hidden;
+}
+/*--------------
+ Item
+---------------*/
+.ui.items > .row > .item,
+.ui.items > .item {
+ display: block;
+ float: left;
+ position: relative;
+ top: 0px;
+ width: 316px;
+ min-height: 375px;
+ margin: 0em 0.5em 2.5em;
+ padding: 0em;
+ background-color: #FFFFFF;
+ line-height: 1.2;
+ font-size: 1em;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ border-bottom: 0.2em solid rgba(0, 0, 0, 0.2);
+ border-radius: 0.33em;
+ -webkit-transition: -webkit-box-shadow 0.2s ease;
+ -moz-transition: box-shadow 0.2s ease;
+ transition: box-shadow 0.2s ease;
+ padding: 0.5em;
+}
+.ui.items a.item,
+.ui.items .item a {
+ cursor: pointer;
+}
+.ui.items .item,
+.ui.items .item > .image,
+.ui.items .item > .image .overlay,
+.ui.items .item > .content,
+.ui.items .item > .content > .meta,
+.ui.items .item > .content > .extra {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*--------------
+ Images
+---------------*/
+.ui.items .item > .image {
+ display: block;
+ position: relative;
+ background-color: rgba(0, 0, 0, 0.05);
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ border-radius: 0.2em;
+}
+.ui.items .item > .image > img {
+ display: block;
+ width: 100%;
+}
+/*--------------
+ Content
+---------------*/
+.ui.items .item > .content {
+ padding: 0.75em 0.5em;
+}
+.ui.items .item > .content > .name {
+ display: block;
+ font-size: 1.25em;
+ font-weight: bold;
+ margin-bottom: 0.2em;
+ color: rgba(0, 0, 0, 0.7);
+}
+.ui.items .item > .content > .description {
+ clear: both;
+ margin: 0em 0em;
+ color: rgba(0, 0, 0, 0.45);
+}
+.ui.items .item > .content > .description p {
+ margin: 0em 0em 0.2em;
+}
+.ui.items .item > .content > .description p:last-child {
+ margin-bottom: 0em;
+}
+/*--------------
+ Meta
+---------------*/
+.ui.items .item .meta {
+ float: right;
+ color: rgba(0, 0, 0, 0.35);
+}
+.ui.items .item > .content > .meta + .name {
+ float: left;
+}
+/*--------------
+ Labels
+---------------*/
+/*-----star----- */
+/* hover */
+.ui.items .item .star.label:hover::after {
+ border-right-color: #F6EFC3;
+}
+.ui.items .item .star.label:hover::after {
+ border-top-color: #F6EFC3;
+}
+.ui.items .item .star.label:hover .icon {
+ color: #ac9400;
+}
+/* active */
+.ui.items .item .star.label.active::after {
+ border-right-color: #F6EFC3;
+}
+.ui.items .item .star.label.active::after {
+ border-top-color: #F6EFC3;
+}
+.ui.items .item .star.label.active .icon {
+ color: #ac9400;
+}
+/*-----like----- */
+/* hover */
+.ui.items .item .like.label:hover::after {
+ border-right-color: #F5E1E2;
+}
+.ui.items .item .like.label.active::after {
+ border-top-color: #F5E1E2;
+}
+.ui.items .item .like.label:hover .icon {
+ color: #ef404a;
+}
+/* active */
+.ui.items .item .like.label.active::after {
+ border-right-color: #F5E1E2;
+}
+.ui.items .item .like.label.active::after {
+ border-top-color: #F5E1E2;
+}
+.ui.items .item .like.label.active .icon {
+ color: #ef404a;
+}
+/*--------------
+ Extra
+---------------*/
+.ui.items .item .extra {
+ position: absolute;
+ width: 100%;
+ padding: 0em 0.5em;
+ bottom: -2em;
+ left: 0em;
+ height: 1.5em;
+ color: rgba(0, 0, 0, 0.25);
+ -webkit-transition: color 0.2s ease;
+ -moz-transition: color 0.2s ease;
+ transition: color 0.2s ease;
+}
+.ui.items .item .extra > img {
+ display: inline-block;
+ border-radius: 500px 500px 500px 500px;
+ margin-right: 0.25em;
+ vertical-align: middle;
+ width: 2em;
+}
+.ui.items .item .extra .left {
+ float: left;
+}
+.ui.items .item .extra .right {
+ float: right;
+}
+/*******************************
+ States
+*******************************/
+.ui.items .item:hover {
+ cursor: pointer;
+ z-index: 5;
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
+}
+.ui.items .item:hover .extra {
+ color: rgba(0, 0, 0, 0.5);
+}
+.ui.items .item:nth-of-type(6n+1):hover {
+ border-bottom-color: #6ECFF5 !important;
+}
+.ui.items .item:nth-of-type(6n+2):hover {
+ border-bottom-color: #5C6166 !important;
+}
+.ui.items .item:nth-of-type(6n+3):hover {
+ border-bottom-color: #A1CF64 !important;
+}
+.ui.items .item:nth-of-type(6n+4):hover {
+ border-bottom-color: #D95C5C !important;
+}
+.ui.items .item:nth-of-type(6n+5):hover {
+ border-bottom-color: #00B5AD !important;
+}
+.ui.items .item:nth-of-type(6n+6):hover {
+ border-bottom-color: #564F8A !important;
+}
+/*******************************
+ Variations
+*******************************/
+/*--------------
+ Connected
+---------------*/
+.ui.connected.items {
+ display: table;
+ width: 100%;
+ margin-left: 0em !important;
+ margin-right: 0em !important;
+}
+.ui.connected.items > .row > .item,
+.ui.connected.items > .item {
+ float: none;
+ display: table-cell;
+ vertical-align: top;
+ height: auto;
+ border-radius: 0px;
+ margin: 0em;
+ width: 33.33%;
+}
+.ui.connected.items > .row {
+ display: table;
+ margin: 0.5em 0em;
+}
+.ui.connected.items > .row:first-child {
+ margin-top: 0em;
+}
+/* Borders */
+.ui.connected.items > .item,
+.ui.connected.items > .row:last-child > .item {
+ border-bottom: 0.2em solid rgba(0, 0, 0, 0.2);
+}
+.ui.connected.items > .row:last-child > .item:first-child,
+.ui.connected.items > .item:first-child {
+ border-radius: 0em 0em 0em 0.33em;
+}
+.ui.connected.items > .row:last-child > .item:last-child,
+.ui.connected.items > .item:last-child {
+ border-radius: 0em 0em 0.33em 0em;
+}
+/* Hover */
+.ui.connected.items .item:hover {
+ border-bottom-width: 0.2em;
+}
+/* Item Count */
+.ui.one.connected.items > .row > .item,
+.ui.one.connected.items > .item {
+ width: 50%;
+ padding-left: 2%;
+ padding-right: 2%;
+}
+.ui.two.connected.items > .row > .item,
+.ui.two.connected.items > .item {
+ width: 50%;
+ padding-left: 1%;
+ padding-right: 1%;
+}
+.ui.three.connected.items > .row > .item,
+.ui.three.connected.items > .item {
+ width: 33.333%;
+ padding-left: 1%;
+ padding-right: 1%;
+}
+.ui.four.connected.items > .row > .item,
+.ui.four.connected.items > .item {
+ width: 25%;
+ padding-left: 0.5%;
+ padding-right: 0.5%;
+}
+.ui.five.connected.items > .row > .item,
+.ui.five.connected.items > .item {
+ width: 20%;
+ padding-left: 0.5%;
+ padding-right: 0.5%;
+}
+.ui.six.connected.items > .row > .item,
+.ui.six.connected.items > .item {
+ width: 16.66%;
+ padding-left: 0.5%;
+ padding-right: 0.5%;
+}
+.ui.seven.connected.items > .row > .item,
+.ui.seven.connected.items > .item {
+ width: 14.28%;
+ padding-left: 0.5%;
+ padding-right: 0.5%;
+}
+.ui.eight.connected.items > .row > .item,
+.ui.eight.connected.items > .item {
+ width: 12.5%;
+ padding-left: 0.25%;
+ padding-right: 0.25%;
+}
+.ui.nine.connected.items > .row > .item,
+.ui.nine.connected.items > .item {
+ width: 11.11%;
+ padding-left: 0.25%;
+ padding-right: 0.25%;
+}
+.ui.ten.connected.items > .row > .item,
+.ui.ten.connected.items > .item {
+ width: 10%;
+ padding-left: 0.2%;
+ padding-right: 0.2%;
+}
+.ui.eleven.connected.items > .row > .item,
+.ui.eleven.connected.items > .item {
+ width: 9.09%;
+ padding-left: 0.2%;
+ padding-right: 0.2%;
+}
+.ui.twelve.connected.items > .row > .item,
+.ui.twelve.connected.items > .item {
+ width: 8.3333%;
+ padding-left: 0.1%;
+ padding-right: 0.1%;
+}
+/*-------------------
+ Responsive
+--------------------*/
+ at media only screen and (max-width: 768px) {
+ .ui.stackable.items {
+ display: block !important;
+ }
+ .ui.stackable.items > .item,
+ .ui.stackable.items > .row > .item {
+ display: block !important;
+ height: auto !important;
+ width: 100% !important;
+ padding: 0% !important;
+ }
+}
+/*--------------------
+ Horizontal
+---------------------*/
+.ui.horizontal.items > .item,
+.ui.items > .horizontal.item {
+ display: table;
+}
+.ui.horizontal.items > .item > .image,
+.ui.items > .horizontal.item > .image {
+ display: table-cell;
+ width: 50%;
+}
+.ui.horizontal.items > .item > .image + .content,
+.ui.items > .horizontal.item > .image + .content {
+ width: 50%;
+ display: table-cell;
+}
+.ui.horizontal.items > .item > .content,
+.ui.items > .horizontal.item > .content {
+ padding: 1% 1.7% 11% 3%;
+ vertical-align: top;
+}
+.ui.horizontal.items > .item > .meta,
+.ui.items > .horizontal.item > .meta {
+ position: absolute;
+ padding: 0%;
+ bottom: 7%;
+ left: 3%;
+ width: 94%;
+}
+.ui.horizontal.items > .item > .image + .content + .meta,
+.ui.items > .horizontal.item > .image + .content + .meta {
+ bottom: 7%;
+ left: 53%;
+ width: 44%;
+}
+.ui.horizontal.items > .item .avatar,
+.ui.items > .horizontal.item .avatar {
+ width: 11.5%;
+}
+.ui.items > .item .avatar {
+ max-width: 25px;
+}
+/*--------------
+ Item Count
+---------------*/
+.ui.one.items {
+ margin-left: -2%;
+ margin-right: -2%;
+}
+.ui.one.items > .item {
+ width: 100%;
+ margin-left: 2%;
+ margin-right: 2%;
+}
+.ui.two.items {
+ margin-left: -1%;
+ margin-right: -1%;
+}
+.ui.two.items > .item {
+ width: 48%;
+ margin-left: 1%;
+ margin-right: 1%;
+}
+.ui.two.items > .item:nth-child(2n+1) {
+ clear: left;
+}
+.ui.three.items {
+ margin-left: -1%;
+ margin-right: -1%;
+}
+.ui.three.items > .item {
+ width: 31.333%;
+ margin-left: 1%;
+ margin-right: 1%;
+}
+.ui.three.items > .item:nth-child(3n+1) {
+ clear: left;
+}
+.ui.four.items {
+ margin-left: -0.5%;
+ margin-right: -0.5%;
+}
+.ui.four.items > .item {
+ width: 24%;
+ margin-left: 0.5%;
+ margin-right: 0.5%;
+}
+.ui.four.items > .item:nth-child(4n+1) {
+ clear: left;
+}
+.ui.five.items {
+ margin-left: -0.5%;
+ margin-right: -0.5%;
+}
+.ui.five.items > .item {
+ width: 19%;
+ margin-left: 0.5%;
+ margin-right: 0.5%;
+}
+.ui.five.items > .item:nth-child(5n+1) {
+ clear: left;
+}
+.ui.six.items {
+ margin-left: -0.5%;
+ margin-right: -0.5%;
+}
+.ui.six.items > .item {
+ width: 15.66%;
+ margin-left: 0.5%;
+ margin-right: 0.5%;
+}
+.ui.six.items > .item:nth-child(6n+1) {
+ clear: left;
+}
+.ui.seven.items {
+ margin-left: -0.5%;
+ margin-right: -0.5%;
+}
+.ui.seven.items > .item {
+ width: 13.28%;
+ margin-left: 0.5%;
+ margin-right: 0.5%;
+ font-size: 11px;
+}
+.ui.seven.items > .item:nth-child(7n+1) {
+ clear: left;
+}
+.ui.eight.items {
+ margin-left: -0.25%;
+ margin-right: -0.25%;
+}
+.ui.eight.items > .item {
+ width: 12.0%;
+ margin-left: 0.25%;
+ margin-right: 0.25%;
+ font-size: 11px;
+}
+.ui.eight.items > .item:nth-child(8n+1) {
+ clear: left;
+}
+.ui.nine.items {
+ margin-left: -0.25%;
+ margin-right: -0.25%;
+}
+.ui.nine.items > .item {
+ width: 10.61%;
+ margin-left: 0.25%;
+ margin-right: 0.25%;
+ font-size: 10px;
+}
+.ui.nine.items > .item:nth-child(9n+1) {
+ clear: left;
+}
+.ui.ten.items {
+ margin-left: -0.2%;
+ margin-right: -0.2%;
+}
+.ui.ten.items > .item {
+ width: 9.6%;
+ margin-left: 0.2%;
+ margin-right: 0.2%;
+ font-size: 10px;
+}
+.ui.ten.items > .item:nth-child(10n+1) {
+ clear: left;
+}
+.ui.eleven.items {
+ margin-left: -0.2%;
+ margin-right: -0.2%;
+}
+.ui.eleven.items > .item {
+ width: 8.69%;
+ margin-left: 0.2%;
+ margin-right: 0.2%;
+ font-size: 9px;
+}
+.ui.eleven.items > .item:nth-child(11n+1) {
+ clear: left;
+}
+.ui.twelve.items {
+ margin-left: -0.1%;
+ margin-right: -0.1%;
+}
+.ui.twelve.items > .item {
+ width: 8.1333%;
+ margin-left: 0.1%;
+ margin-right: 0.1%;
+ font-size: 9px;
+}
+.ui.twelve.items > .item:nth-child(12n+1) {
+ clear: left;
+}
+
+/*
+ * # Semantic List - Flat
+ * http://github.com/jlukic/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ * Released: April 26 2013
+ */
+/*******************************
+ List
+*******************************/
+ul.ui.list,
+ol.ui.list,
+.ui.list {
+ list-style-type: none;
+ margin: 1em 0em;
+ padding: 0em;
+}
+ul.ui.list ul,
+ol.ui.list ol,
+.ui.list .list {
+ margin: 0em;
+ padding: 0.5em 0em 0.5em 1em;
+}
+ul.ui.list:first-child,
+ol.ui.list:first-child,
+.ui.list:first-child {
+ margin-top: 0em;
+}
+ul.ui.list:last-child,
+ol.ui.list:last-child,
+.ui.list:last-child {
+ margin-bottom: 0em;
+}
+/*******************************
+ Content
+*******************************/
+/* List Item */
+ul.ui.list li,
+ol.ui.list li,
+.ui.list .item {
+ display: list-item;
+ list-style-type: none;
+ list-style-position: inside;
+ padding: 0.3em 0em;
+ line-height: 1.2em;
+}
+.ui.list .item:after {
+ content: '';
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+/* Sub-List */
+.ui.list .list {
+ clear: both;
+}
+/* Icon */
+.ui.list .item > .icon {
+ display: block;
+ float: left;
+ margin: 0em 1em 0em 0em;
+ padding: 0.1em 0em 0em 0em;
+}
+.ui.list .item > .icon:only-child {
+ display: inline-block;
+}
+.ui.horizontal.list .item > .icon {
+ margin: 0em;
+ padding: 0em 0.25em 0em 0em;
+}
+.ui.horizontal.list .item > .icon,
+.ui.horizontal.list .item > .icon + .content {
+ float: none;
+ display: inline-block;
+}
+/* Image */
+.ui.list .item > img {
+ display: block;
+ float: left;
+ margin-right: 1em;
+ vertical-align: middle;
+}
+/* Content */
+.ui.list .item > .content {
+ display: inline-block;
+ vertical-align: middle;
+ line-height: 1.2em;
+}
+.ui.list .item > .icon + .content {
+ display: table-cell;
+ vertical-align: top;
+}
+/* Link */
+.ui.list a {
+ cursor: pointer;
+}
+.ui.list a .icon {
+ color: rgba(0, 0, 0, 0.6);
+ -webkit-transition: color 0.2s ease;
+ -moz-transition: color 0.2s ease;
+ transition: color 0.2s ease;
+}
+/* Header */
+.ui.list .header {
+ font-weight: bold;
+}
+.ui.list .description {
+ color: rgba(0, 0, 0, 0.5);
+}
+/* Floated Content */
+.ui.list .item > .left.floated {
+ margin-right: 1em;
+ float: left;
+}
+.ui.list .item > .right.floated {
+ margin-left: 1em;
+ float: right;
+}
+/*******************************
+ Types
+*******************************/
+/*-------------------
+ Horizontal
+--------------------*/
+.ui.horizontal.list {
+ display: inline-block;
+ font-size: 0em;
+}
+.ui.horizontal.list > .item {
+ display: inline-block;
+ margin-left: 1em;
+ font-size: 1rem;
+}
+.ui.horizontal.list > .item:first-child {
+ margin-left: 0em;
+}
+.ui.horizontal.list .list {
+ padding-left: 0em;
+ padding-bottom: 0em;
+}
+/*******************************
+ States
+*******************************/
+/*-------------------
+ Hover
+--------------------*/
+.ui.list a:hover .icon {
+ color: rgba(0, 0, 0, 0.8);
+}
+/*******************************
+ Variations
+*******************************/
+/*-------------------
+ Inverted
+--------------------*/
+.ui.inverted.list a .icon {
+ color: rgba(255, 255, 255, 0.6);
+}
+.ui.inverted.list .description {
+ color: rgba(255, 255, 255, 0.8);
+}
+.ui.inverted.link.list .item {
+ color: rgba(255, 255, 255, 0.4);
+}
+/*-------------------
+ Link
+--------------------*/
+.ui.link.list .item {
+ color: rgba(0, 0, 0, 0.3);
+}
+.ui.link.list a.item,
+.ui.link.list .item a {
+ color: rgba(0, 0, 0, 0.5);
+}
+.ui.link.list a.item:hover,
+.ui.link.list .item a:hover {
+ color: rgba(0, 0, 0, 0.8);
+}
+.ui.link.list a.item:active,
+.ui.link.list .item a:active {
+ color: rgba(0, 0, 0, 0.8);
+}
+.ui.link.list a.active.item,
+.ui.link.list .active.item a {
+ color: rgba(0, 0, 0, 0.8);
+}
+/* Inverted */
+.ui.inverted.link.list a.item,
+.ui.inverted.link.list .item a {
+ color: rgba(255, 255, 255, 0.6);
+}
+.ui.inverted.link.list a.item:hover,
+.ui.inverted.link.list .item a:hover {
+ color: rgba(255, 255, 255, 0.8);
+}
+.ui.inverted.link.list a.item:active,
+.ui.inverted.link.list .item a:active {
+ color: rgba(255, 255, 255, 0.9);
+}
+.ui.inverted.link.list a.active.item,
+.ui.inverted.link.list .active.item a {
+ color: rgba(255, 255, 255, 0.8);
+}
+/*-------------------
+ Selection
+--------------------*/
+.ui.selection.list .item {
+ cursor: pointer;
+ color: rgba(0, 0, 0, 0.4);
+ padding: 0.5em;
+ -webkit-transition: 0.2s color ease, 0.2s padding-left ease, 0.2s background-color ease;
+ -moz-transition: 0.2s color ease, 0.2s padding-left ease, 0.2s background-color ease;
+ transition: 0.2s color ease, 0.2s padding-left ease, 0.2s background-color ease;
+}
+.ui.selection.list .item:hover {
+ background-color: rgba(0, 0, 0, 0.02);
+ color: rgba(0, 0, 0, 0.7);
+}
+.ui.selection.list .item:active {
+ background-color: rgba(0, 0, 0, 0.05);
+ color: rgba(0, 0, 0, 0.7);
+}
+.ui.selection.list .item.active {
+ background-color: rgba(0, 0, 0, 0.04);
+ color: rgba(0, 0, 0, 0.7);
+}
+.ui.animated.list .item {
+ -webkit-transition: 0.2s color ease, 0.2s padding-left ease, 0.2s background-color ease;
+ -moz-transition: 0.2s color ease, 0.2s padding-left ease, 0.2s background-color ease;
+ transition: 0.2s color ease, 0.2s padding-left ease, 0.2s background-color ease;
+}
+.ui.animated.list:not(.horizontal) .item:hover {
+ padding-left: 1em;
+}
+.ui.animated.list:not(.horizontal) .item:hover .item:hover {
+ padding-left: 0.5em;
+}
+/* Inverted */
+.ui.inverted.selection.list .item {
+ color: rgba(255, 255, 255, 0.6);
+}
+.ui.inverted.selection.list .item:hover {
+ background-color: rgba(255, 255, 255, 0.04);
+ color: rgba(255, 255, 255, 0.8);
+}
+.ui.inverted.selection.list .item:active {
+ background-color: rgba(255, 255, 255, 0.1);
+ color: rgba(255, 255, 255, 0.7);
+}
+.ui.inverted.selection.list .item.active {
+ background-color: rgba(255, 255, 255, 0.08);
+ color: #FFFFFF;
+}
+/*-------------------
+ Bulleted
+--------------------*/
+ul.ui.list,
+.ui.bulleted.list {
+ margin-left: 1.5em;
+}
+ul.ui.list li,
+.ui.bulleted.list .item {
+ position: relative;
+}
+ul.ui.list li:before,
+.ui.bulleted.list .item:before {
+ position: absolute;
+ left: -1.5em;
+ content: '•';
+}
+ul.ui.list ul,
+.ui.bulleted.list .list {
+ padding-left: 1.5em;
+}
+/* Horizontal Bulleted */
+ul.ui.horizontal.bulleted.list,
+.ui.horizontal.bulleted.list {
+ margin-left: 0em;
+}
+ul.ui.horizontal.bulleted.list li,
+.ui.horizontal.bulleted.list .item {
+ margin-left: 1.5em;
+}
+ul.ui.horizontal.bulleted.list li:before,
+.ui.horizontal.bulleted.list .item:before {
+ left: -0.9em;
+}
+ul.ui.horizontal.bulleted.list li:first-child,
+.ui.horizontal.bulleted.list .item:first-child {
+ margin-left: 0em;
+}
+ul.ui.horizontal.bulleted.list li:first-child::before,
+.ui.horizontal.bulleted.list .item:first-child::before {
+ display: none;
+}
+/*-------------------
+ Ordered
+--------------------*/
+ol.ui.list,
+.ui.ordered.list {
+ counter-reset: ordered;
+ margin-left: 2em;
+ list-style-type: none;
+}
+ol.ui.list li,
+.ui.ordered.list .item {
+ list-style-type: none;
+ position: relative;
+}
+ol.ui.list li:before,
+.ui.ordered.list .item:before {
+ position: absolute;
+ left: -2em;
+ counter-increment: ordered;
+ content: counters(ordered, ".");
+ text-align: right;
+ vertical-align: top;
+ opacity: 0.75;
+}
+ol.ui.list ol,
+.ui.ordered.list .list {
+ counter-reset: ordered;
+ padding-left: 2.5em;
+}
+ol.ui.list ol li:before,
+.ui.ordered.list .list .item:before {
+ left: -2.5em;
+}
+/* Horizontal Ordered */
+ol.ui.horizontal.list,
+.ui.ordered.horizontal.list {
+ margin-left: 0em;
+}
+ol.ui.horizontal.list li:before,
+.ui.ordered.horizontal.list .item:before {
+ position: static;
+ left: 0em;
+ margin: 0em 0.5em 0em 0em;
+}
+/*-------------------
+ Divided
+--------------------*/
+.ui.divided.list > .item,
+.ui.divided.list:not(.horizontal) > .list {
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+}
+.ui.divided.list .item .menu .item {
+ border-width: 0px;
+}
+.ui.divided.list .item:first-child {
+ border-top-width: 0px;
+}
+/* Sub Menu */
+.ui.divided.list:not(.horizontal) .list {
+ margin-left: -0.5em;
+ margin-right: -0.5em;
+}
+.ui.divided.list:not(.horizontal) .list .item {
+ padding-left: 1em;
+ padding-right: 1em;
+}
+.ui.divided.list:not(.horizontal) .list .item:first-child {
+ border-top-width: 1px;
+}
+/* Divided bulleted */
+.ui.divided.bulleted.list {
+ margin-left: 0em;
+}
+.ui.divided.bulleted.list .item {
+ padding-left: 1.5em;
+}
+.ui.divided.bulleted.list .item:before {
+ left: 0.5em;
+}
+/* Divided ordered */
+.ui.divided.ordered.list {
+ margin-left: 0em;
+}
+.ui.divided.ordered.list > .item {
+ padding-left: 2em;
+ padding-right: 2em;
+}
+.ui.divided.ordered.list > .item:before {
+ left: 0.5em;
+}
+.ui.divided.ordered.list .item .list {
+ margin-left: -2em;
+ margin-right: -2em;
+}
+/* Divided horizontal */
+.ui.divided.horizontal.list {
+ margin-left: 0em;
+}
+.ui.divided.horizontal.list > .item {
+ border-top: none;
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
+ margin: 0em;
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+ line-height: 0.6em;
+}
+.ui.horizontal.divided.list > .item:first-child {
+ border-left: none;
+ padding-left: 0em;
+}
+/* Inverted */
+.ui.divided.inverted.list > .item,
+.ui.divided.inverted.list > .list {
+ border-color: rgba(255, 255, 255, 0.2);
+}
+.ui.divided.inverted.horizontal.list .item {
+ border-color: rgba(255, 255, 255, 0.2);
+}
+/*-------------------
+ Celled
+--------------------*/
+.ui.celled.list > .item,
+.ui.celled.list > .list {
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+}
+.ui.celled.list > .item:last-child {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* Sub Menu */
+.ui.celled.list .item .list {
+ margin-left: -0.5em;
+ margin-right: -0.5em;
+}
+.ui.celled.list .item .list .item {
+ border-width: 0px;
+}
+.ui.celled.list .list .item:first-child {
+ border-top-width: 0px;
+}
+/* Celled Bulleted */
+.ui.celled.bulleted.list {
+ margin-left: 0em;
+}
+.ui.celled.bulleted.list > .item {
+ padding-left: 1.5em;
+}
+.ui.celled.bulleted.list > .item:before {
+ left: 0.5em;
+}
+/* Celled Ordered */
+.ui.celled.ordered.list {
+ margin-left: 0em;
+}
+.ui.celled.ordered.list .item {
+ padding-left: 2em;
+ padding-right: 2em;
+}
+.ui.celled.ordered.list .item:before {
+ left: 0.5em;
+}
+.ui.celled.ordered.list .item .list {
+ margin-left: -2em;
+ margin-right: -2em;
+}
+/* Celled Horizontal */
+.ui.horizontal.celled.list {
+ margin-left: 0em;
+}
+.ui.horizontal.celled.list .item {
+ border-top: none;
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
+ margin: 0em;
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+ line-height: 0.6em;
+}
+.ui.horizontal.celled.list .item:last-child {
+ border-bottom: none;
+ border-right: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* Inverted */
+.ui.celled.inverted.list > .item,
+.ui.celled.inverted.list > .list {
+ border-color: rgba(255, 255, 255, 0.2);
+}
+.ui.celled.inverted.horizontal.list .item {
+ border-color: rgba(255, 255, 255, 0.2);
+}
+/*-------------------
+ Relaxed
+--------------------*/
+.ui.relaxed.list:not(.horizontal) .item {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+}
+.ui.relaxed.list .header {
+ margin-bottom: 0.25em;
+}
+.ui.horizontal.relaxed.list .item {
+ padding-left: 1.25em;
+ padding-right: 1.25em;
+}
+.ui.very.relaxed.list:not(.horizontal) .item {
+ padding-top: 1em;
+ padding-bottom: 1em;
+}
+.ui.very.relaxed.list .header {
+ margin-bottom: 0.5em;
+}
+.ui.horizontal.very.relaxed.list .item {
+ padding-left: 2em;
+ padding-right: 2em;
+}
+/*-------------------
+ Sizes
+--------------------*/
+.ui.mini.list .item {
+ font-size: 0.7rem;
+}
+.ui.tiny.list .item {
+ font-size: 0.8125rem;
+}
+.ui.small.list .item {
+ font-size: 0.875rem;
+}
+.ui.list .item {
+ font-size: 1em;
+}
+.ui.large.list .item {
+ font-size: 1.125rem;
+}
+.ui.big.list .item {
+ font-size: 1.25rem;
+}
+.ui.huge.list .item {
+ font-size: 1.375rem;
+}
+.ui.massive.list .item {
+ font-size: 1.5rem;
+}
+
+/*
+ * # Statistic
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ * Released: Aug 20, 2013
+ */
+/*******************************
+ Statistic
+*******************************/
+.ui.statistic {
+ text-align: center;
+}
+/*******************************
+ Content
+*******************************/
+.ui.statistic > .number {
+ font-size: 4em;
+ font-weight: bold;
+ color: rgba(0, 0, 0, 0.7);
+}
+.ui.statistic > .description {
+ opacity: 0.8;
+}
diff --git a/benchmark/small.css b/benchmark/small.css
new file mode 100644
index 0000000..08f8950
--- /dev/null
+++ b/benchmark/small.css
@@ -0,0 +1,425 @@
+/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-family: sans-serif; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove default margin.
+ */
+
+body {
+ margin: 0;
+}
+
+/* HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+
+audio,
+canvas,
+progress,
+video {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ */
+
+[hidden],
+template {
+ display: none;
+}
+
+/* Links
+ ========================================================================== */
+
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+a {
+ background: transparent;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/* Text-level semantics
+ ========================================================================== */
+
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+
+img {
+ border: 0;
+}
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+
+figure {
+ margin: 1em 40px;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
+
+/**
+ * Contain overflow in all browsers.
+ */
+
+pre {
+ overflow: auto;
+}
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit; /* 1 */
+ font: inherit; /* 2 */
+ margin: 0; /* 3 */
+}
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+
+button {
+ overflow: visible;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+
+button,
+select {
+ text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+input {
+ line-height: normal;
+}
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+
+optgroup {
+ font-weight: bold;
+}
+
+/* Tables
+ ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+td,
+th {
+ padding: 0;
+}
diff --git a/component.json b/component.json
deleted file mode 100644
index d4ef70b..0000000
--- a/component.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "name": "css",
- "version": "1.6.0",
- "description": "CSS parser / stringifier using css-parse and css-stringify",
- "keywords": ["css", "parser", "stylesheet"],
- "dependencies": {
- "visionmedia/css-parse": "1.7.0",
- "visionmedia/css-stringify": "1.4.1"
- },
- "scripts": [
- "index.js"
- ]
-}
diff --git a/examples/ui.css b/examples/ui.css
deleted file mode 100644
index e81e195..0000000
--- a/examples/ui.css
+++ /dev/null
@@ -1,337 +0,0 @@
-#dialog {
- position: fixed;
- left: 50%;
- top: 150px;
- max-width: 600px;
- min-width: 250px;
- border: 1px solid #eee;
- background: white;
- z-index: 1000;
-}
-
-#dialog .content {
- padding: 15px 20px;
-}
-
-#dialog h1 {
- margin: 0 0 5px 0;
- font-size: 16px;
- font-weight: normal;
-}
-
-#dialog p {
- margin: 0;
- padding: 0;
- font-size: .9em;
-}
-
-#dialog.modal {
- box-shadow: 0 1px 8px 0 black;
-}
-
-/* close */
-
-#dialog .close {
- position: absolute;
- top: 3px;
- right: 10px;
- text-decoration: none;
- color: #888;
- font-size: 16px;
- font-weight: bold;
- display: none;
-}
-
-#dialog.closable .close {
- display: block;
-}
-
-#dialog .close:hover {
- color: black;
-}
-
-#dialog .close:active {
- margin-top: 1px;
-}
-
-/* slide */
-
-#dialog.slide {
- -webkit-transition: opacity 300ms, top 300ms;
- -moz-transition: opacity 300ms, top 300ms;
-}
-
-#dialog.slide.hide {
- opacity: 0;
- top: -500px;
-}
-
-/* fade */
-
-#dialog.fade {
- -webkit-transition: opacity 300ms;
- -moz-transition: opacity 300ms;
-}
-
-#dialog.fade.hide {
- opacity: 0;
-}
-
-/* scale */
-
-#dialog.scale {
- -webkit-transition: -webkit-transform 300ms;
- -moz-transition: -moz-transform 300ms;
- -webkit-transform: scale(1);
- -moz-transform: scale(1);
-}
-
-#dialog.scale.hide {
- -webkit-transform: scale(0);
- -moz-transform: scale(0);
-}#overlay {
- position: fixed;
- top: 0;
- left: 0;
- opacity: 1;
- width: 100%;
- height: 100%;
- background: rgba(0,0,0,.75);
- transition: opacity 300ms;
- z-index: 500;
-}
-
-#overlay.hide {
- pointer-events: none;
- opacity: 0;
-}.confirmation .actions {
- border-top: 1px solid #eee;
- padding: 5px;
- text-align: right;
- background: #fafafa;
- box-shadow: inset 0 1px 0 white;
-}.color-picker canvas {
- border: 1px solid #888;
-}
-.color-picker canvas:active {
- cursor: none;
-}
-
-#notifications {
- position: fixed;
- top: 10px;
- right: 15px;
-}
-
-#notifications li {
- margin-bottom: 5px;
- list-style: none;
-}
-
-.notification {
- position: relative;
- max-width: 600px;
- min-width: 250px;
- border: 1px solid #eee;
- background: white;
- z-index: 100;
-}
-
-.notification .content {
- padding: 15px 20px;
-}
-
-.notification h1 {
- margin: 0 0 5px 0;
- font-size: 16px;
- font-weight: normal;
-}
-
-.notification p {
- margin: 0;
- padding: 0;
- font-size: .9em;
-}
-
-.notification .close {
- position: absolute;
- top: 5px;
- right: 10px;
- text-decoration: none;
- color: #888;
- display: none;
-}
-
-.notification.closable .close {
- display: block;
-}
-
-.notification .close:hover {
- color: black;
-}
-
-.notification .close:active {
- margin-top: 1px;
-}
-
-/* close */
-
-.notification .close {
- position: absolute;
- top: 3px;
- right: 10px;
- text-decoration: none;
- color: #888;
- font-size: 16px;
- font-weight: bold;
- display: none;
-}
-
-/* slide */
-
-.notification.slide {
- -webkit-transition: opacity 300ms, top 300ms;
- -moz-transition: opacity 300ms, top 300ms;
-}
-
-.notification.slide.hide {
- opacity: 0;
- top: -500px;
-}
-
-/* fade */
-
-.notification.fade {
- -webkit-transition: opacity 300ms;
- -moz-transition: opacity 300ms;
-}
-
-.notification.fade.hide {
- opacity: 0;
-}
-
-/* scale */
-
-.notification.scale {
- -webkit-transition: -webkit-transform 300ms;
- -moz-transition: -moz-transform 300ms;
- -webkit-transform: scale(1);
- -moz-transform: scale(1);
-}
-
-.notification.scale.hide {
- -webkit-transform: scale(0);
- -moz-transform: scale(0);
-}.split-button {
- display: inline-block;
- border: 1px solid #eee;
-}
-
-.split-button a {
- display: inline-block;
- float: left;
- height: 20px;
- line-height: 20px;
- padding: 5px 10px;
- text-decoration: none;
- -webkit-user-select: none;
- -moz-user-select: none;
-}
-
-.split-button .toggle {
- border-left: 1px solid #eee;
-}
-
-.split-button .toggle span {
- display: block;
- margin-top: 8px;
- border-left: 4px solid transparent;
- border-right: 4px solid transparent;
- border-top: 4px solid #888;
-}.menu {
- position: absolute;
- top: 0;
- left: 0;
- z-index: 100;
- margin: 0;
- padding: 0;
- background: white;
- border: 1px solid rgba(0,0,0,0.2);
-}
-
-.menu li {
- list-style: none;
-}
-
-.menu li a {
- display: block;
- padding: 5px 30px 5px 12px;
- text-decoration: none;
- border-top: 1px solid #eee;
- color: #2e2e2e;
- outline: none;
-}
-
-.menu li:first-child a {
- border-top: none;
-}
-
-.menu li a:hover,
-.menu li.selected a {
- background: #f1faff;
-}
-
-/* from: http://desandro.github.com/3dtransforms */
-
-.card {
- width: 200px;
- height: 260px;
- position: relative;
- perspective: 800;
-}
-
-.card .wrapper {
- width: 100%;
- height: 100%;
- position: absolute;
- -webkit-transform-style: preserve-3d;
- -moz-transform-style: preserve-3d;
- -webkit-transition: -webkit-transform 500ms ease-in-out;
- -moz-transition: -moz-transform 500ms ease-in-out;
- border: 1px solid #eee;
- border-bottom-color: #cacaca;
- border-radius: 3px;
- -webkit-box-shadow: inset 0 -1px 0 0 white, 0 1px 4px 0 #ddd;
- -moz-box-shadow: inset 0 -1px 0 0 white, 0 1px 4px 0 #ddd;
-}
-
-.card .face {
- display: block;
- position: absolute;
- width: 100%;
- height: 100%;
- -webkit-backface-visibility: hidden;
- -moz-backface-visibility: hidden;
-}
-
-.card .back {
- -webkit-transform: rotateY(180deg);
- -moz-transform: rotateY(180deg);
-}
-
-.card.flipped .wrapper {
- -webkit-transform: rotateY(180deg);
- -moz-transform: rotateY(180deg);
-}
-
-/* sideflip effect */
-
-.card.sideflip .wrapper {
- -webkit-transform-origin: right center;
- -moz-transform-origin: right center;
-}
-
-.card.sideflip.flipped .wrapper {
- -webkit-transform: translateX(-100%) rotateY(180deg);
- -moz-transform: translateX(-100%) rotateY(180deg);
-}
\ No newline at end of file
diff --git a/examples/ui.js b/examples/ui.js
deleted file mode 100644
index 9dd2f3e..0000000
--- a/examples/ui.js
+++ /dev/null
@@ -1,10 +0,0 @@
-
-var css = require('..')
- , fs = require('fs')
- , read = fs.readFileSync
- , str = read('examples/ui.css', 'utf8');
-
-var ast = css.parse(str);
-console.log(JSON.stringify(ast, null, 2));
-
-console.log(css.stringify(ast));
\ No newline at end of file
diff --git a/index.js b/index.js
index 19ec91a..f728a16 100644
--- a/index.js
+++ b/index.js
@@ -1,3 +1,2 @@
-
-exports.parse = require('css-parse');
-exports.stringify = require('css-stringify');
+exports.parse = require('./lib/parse');
+exports.stringify = require('./lib/stringify');
diff --git a/lib/parse/index.js b/lib/parse/index.js
new file mode 100644
index 0000000..c8bebff
--- /dev/null
+++ b/lib/parse/index.js
@@ -0,0 +1,596 @@
+// http://www.w3.org/TR/CSS21/grammar.html
+// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027
+var commentre = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g
+
+module.exports = function(css, options){
+ options = options || {};
+
+ /**
+ * Positional.
+ */
+
+ var lineno = 1;
+ var column = 1;
+
+ /**
+ * Update lineno and column based on `str`.
+ */
+
+ function updatePosition(str) {
+ var lines = str.match(/\n/g);
+ if (lines) lineno += lines.length;
+ var i = str.lastIndexOf('\n');
+ column = ~i ? str.length - i : column + str.length;
+ }
+
+ /**
+ * Mark position and patch `node.position`.
+ */
+
+ function position() {
+ var start = { line: lineno, column: column };
+ return function(node){
+ node.position = new Position(start);
+ whitespace();
+ return node;
+ };
+ }
+
+ /**
+ * Store position information for a node
+ */
+
+ function Position(start) {
+ this.start = start;
+ this.end = { line: lineno, column: column };
+ this.source = options.source;
+ }
+
+ /**
+ * Non-enumerable source string
+ */
+
+ Position.prototype.content = css;
+
+ /**
+ * Error `msg`.
+ */
+
+ function error(msg) {
+ if (options.silent === true) {
+ return false;
+ }
+
+ var err = new Error(options.source + ':' + lineno + ':' + column + ': ' + msg);
+ err.reason = msg;
+ err.filename = options.source;
+ err.line = lineno;
+ err.column = column;
+ err.source = css;
+ throw err;
+ }
+
+ /**
+ * Parse stylesheet.
+ */
+
+ function stylesheet() {
+ return {
+ type: 'stylesheet',
+ stylesheet: {
+ rules: rules()
+ }
+ };
+ }
+
+ /**
+ * Opening brace.
+ */
+
+ function open() {
+ return match(/^{\s*/);
+ }
+
+ /**
+ * Closing brace.
+ */
+
+ function close() {
+ return match(/^}/);
+ }
+
+ /**
+ * Parse ruleset.
+ */
+
+ function rules() {
+ var node;
+ var rules = [];
+ whitespace();
+ comments(rules);
+ while (css.length && css.charAt(0) != '}' && (node = atrule() || rule())) {
+ if (node !== false) {
+ rules.push(node);
+ comments(rules);
+ }
+ }
+ return rules;
+ }
+
+ /**
+ * Match `re` and return captures.
+ */
+
+ function match(re) {
+ var m = re.exec(css);
+ if (!m) return;
+ var str = m[0];
+ updatePosition(str);
+ css = css.slice(str.length);
+ return m;
+ }
+
+ /**
+ * Parse whitespace.
+ */
+
+ function whitespace() {
+ match(/^\s*/);
+ }
+
+ /**
+ * Parse comments;
+ */
+
+ function comments(rules) {
+ var c;
+ rules = rules || [];
+ while (c = comment()) {
+ if (c !== false) {
+ rules.push(c);
+ }
+ }
+ return rules;
+ }
+
+ /**
+ * Parse comment.
+ */
+
+ function comment() {
+ var pos = position();
+ if ('/' != css.charAt(0) || '*' != css.charAt(1)) return;
+
+ var i = 2;
+ while ("" != css.charAt(i) && ('*' != css.charAt(i) || '/' != css.charAt(i + 1))) ++i;
+ i += 2;
+
+ if ("" === css.charAt(i-1)) {
+ return error('End of comment missing');
+ }
+
+ var str = css.slice(2, i - 2);
+ column += 2;
+ updatePosition(str);
+ css = css.slice(i);
+ column += 2;
+
+ return pos({
+ type: 'comment',
+ comment: str
+ });
+ }
+
+ /**
+ * Parse selector.
+ */
+
+ function selector() {
+ var m = match(/^([^{]+)/);
+ if (!m) return;
+ /* @fix Remove all comments from selectors
+ * http://ostermiller.org/findcomment.html */
+ return trim(m[0])
+ .replace(/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*\/+/g, '')
+ .replace(/(?:"[^"]*"|'[^']*')/g, function(m) {
+ return m.replace(/,/g, '\u200C');
+ })
+ .split(/\s*(?![^(]*\)),\s*/)
+ .map(function(s) {
+ return s.replace(/\u200C/g, ',');
+ });
+ }
+
+ /**
+ * Parse declaration.
+ */
+
+ function declaration() {
+ var pos = position();
+
+ // prop
+ var prop = match(/^(\*?[-#\/\*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);
+ if (!prop) return;
+ prop = trim(prop[0]);
+
+ // :
+ if (!match(/^:\s*/)) return error("property missing ':'");
+
+ // val
+ var val = match(/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^\)]*?\)|[^};])+)/);
+
+ var ret = pos({
+ type: 'declaration',
+ property: prop.replace(commentre, ''),
+ value: val ? trim(val[0]).replace(commentre, '') : ''
+ });
+
+ // ;
+ match(/^[;\s]*/);
+
+ return ret;
+ }
+
+ /**
+ * Parse declarations.
+ */
+
+ function declarations() {
+ var decls = [];
+
+ if (!open()) return error("missing '{'");
+ comments(decls);
+
+ // declarations
+ var decl;
+ while (decl = declaration()) {
+ if (decl !== false) {
+ decls.push(decl);
+ comments(decls);
+ }
+ }
+
+ if (!close()) return error("missing '}'");
+ return decls;
+ }
+
+ /**
+ * Parse keyframe.
+ */
+
+ function keyframe() {
+ var m;
+ var vals = [];
+ var pos = position();
+
+ while (m = match(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/)) {
+ vals.push(m[1]);
+ match(/^,\s*/);
+ }
+
+ if (!vals.length) return;
+
+ return pos({
+ type: 'keyframe',
+ values: vals,
+ declarations: declarations()
+ });
+ }
+
+ /**
+ * Parse keyframes.
+ */
+
+ function atkeyframes() {
+ var pos = position();
+ var m = match(/^@([-\w]+)?keyframes */);
+
+ if (!m) return;
+ var vendor = m[1];
+
+ // identifier
+ var m = match(/^([-\w]+)\s*/);
+ if (!m) return error("@keyframes missing name");
+ var name = m[1];
+
+ if (!open()) return error("@keyframes missing '{'");
+
+ var frame;
+ var frames = comments();
+ while (frame = keyframe()) {
+ frames.push(frame);
+ frames = frames.concat(comments());
+ }
+
+ if (!close()) return error("@keyframes missing '}'");
+
+ return pos({
+ type: 'keyframes',
+ name: name,
+ vendor: vendor,
+ keyframes: frames
+ });
+ }
+
+ /**
+ * Parse supports.
+ */
+
+ function atsupports() {
+ var pos = position();
+ var m = match(/^@supports *([^{]+)/);
+
+ if (!m) return;
+ var supports = trim(m[1]);
+
+ if (!open()) return error("@supports missing '{'");
+
+ var style = comments().concat(rules());
+
+ if (!close()) return error("@supports missing '}'");
+
+ return pos({
+ type: 'supports',
+ supports: supports,
+ rules: style
+ });
+ }
+
+ /**
+ * Parse host.
+ */
+
+ function athost() {
+ var pos = position();
+ var m = match(/^@host */);
+
+ if (!m) return;
+
+ if (!open()) return error("@host missing '{'");
+
+ var style = comments().concat(rules());
+
+ if (!close()) return error("@host missing '}'");
+
+ return pos({
+ type: 'host',
+ rules: style
+ });
+ }
+
+ /**
+ * Parse media.
+ */
+
+ function atmedia() {
+ var pos = position();
+ var m = match(/^@media *([^{]+)/);
+
+ if (!m) return;
+ var media = trim(m[1]);
+
+ if (!open()) return error("@media missing '{'");
+
+ var style = comments().concat(rules());
+
+ if (!close()) return error("@media missing '}'");
+
+ return pos({
+ type: 'media',
+ media: media,
+ rules: style
+ });
+ }
+
+
+ /**
+ * Parse custom-media.
+ */
+
+ function atcustommedia() {
+ var pos = position();
+ var m = match(/^@custom-media (--[^\s]+) *([^{;]+);/);
+ if (!m) return;
+
+ return pos({
+ type: 'custom-media',
+ name: trim(m[1]),
+ media: trim(m[2])
+ });
+ }
+
+ /**
+ * Parse paged media.
+ */
+
+ function atpage() {
+ var pos = position();
+ var m = match(/^@page */);
+ if (!m) return;
+
+ var sel = selector() || [];
+
+ if (!open()) return error("@page missing '{'");
+ var decls = comments();
+
+ // declarations
+ var decl;
+ while (decl = declaration()) {
+ decls.push(decl);
+ decls = decls.concat(comments());
+ }
+
+ if (!close()) return error("@page missing '}'");
+
+ return pos({
+ type: 'page',
+ selectors: sel,
+ declarations: decls
+ });
+ }
+
+ /**
+ * Parse document.
+ */
+
+ function atdocument() {
+ var pos = position();
+ var m = match(/^@([-\w]+)?document *([^{]+)/);
+ if (!m) return;
+
+ var vendor = trim(m[1]);
+ var doc = trim(m[2]);
+
+ if (!open()) return error("@document missing '{'");
+
+ var style = comments().concat(rules());
+
+ if (!close()) return error("@document missing '}'");
+
+ return pos({
+ type: 'document',
+ document: doc,
+ vendor: vendor,
+ rules: style
+ });
+ }
+
+ /**
+ * Parse font-face.
+ */
+
+ function atfontface() {
+ var pos = position();
+ var m = match(/^@font-face */);
+ if (!m) return;
+
+ if (!open()) return error("@font-face missing '{'");
+ var decls = comments();
+
+ // declarations
+ var decl;
+ while (decl = declaration()) {
+ decls.push(decl);
+ decls = decls.concat(comments());
+ }
+
+ if (!close()) return error("@font-face missing '}'");
+
+ return pos({
+ type: 'font-face',
+ declarations: decls
+ });
+ }
+
+ /**
+ * Parse import
+ */
+
+ var atimport = _compileAtrule('import');
+
+ /**
+ * Parse charset
+ */
+
+ var atcharset = _compileAtrule('charset');
+
+ /**
+ * Parse namespace
+ */
+
+ var atnamespace = _compileAtrule('namespace');
+
+ /**
+ * Parse non-block at-rules
+ */
+
+
+ function _compileAtrule(name) {
+ var re = new RegExp('^@' + name + ' *([^;\\n]+);');
+ return function() {
+ var pos = position();
+ var m = match(re);
+ if (!m) return;
+ var ret = { type: name };
+ ret[name] = m[1].trim();
+ return pos(ret);
+ }
+ }
+
+ /**
+ * Parse at rule.
+ */
+
+ function atrule() {
+ if (css[0] != '@') return;
+
+ return atkeyframes()
+ || atmedia()
+ || atcustommedia()
+ || atsupports()
+ || atimport()
+ || atcharset()
+ || atnamespace()
+ || atdocument()
+ || atpage()
+ || athost()
+ || atfontface();
+ }
+
+ /**
+ * Parse rule.
+ */
+
+ function rule() {
+ var pos = position();
+ var sel = selector();
+
+ if (!sel) return error('selector missing');
+ comments();
+
+ return pos({
+ type: 'rule',
+ selectors: sel,
+ declarations: declarations()
+ });
+ }
+
+ return addParent(stylesheet());
+};
+
+/**
+ * Trim `str`.
+ */
+
+function trim(str) {
+ return str ? str.replace(/^\s+|\s+$/g, '') : '';
+}
+
+/**
+ * Adds non-enumerable parent node reference to each node.
+ */
+
+function addParent(obj, parent) {
+ var isNode = obj && typeof obj.type === 'string';
+ var childParent = isNode ? obj : parent;
+
+ for (var k in obj) {
+ var value = obj[k];
+ if (Array.isArray(value)) {
+ value.forEach(function(v) { addParent(v, childParent); });
+ } else if (value && typeof value === 'object') {
+ addParent(value, childParent);
+ }
+ }
+
+ if (isNode) {
+ Object.defineProperty(obj, 'parent', {
+ configurable: true,
+ writable: true,
+ enumerable: false,
+ value: parent || null
+ });
+ }
+
+ return obj;
+}
diff --git a/lib/stringify/compiler.js b/lib/stringify/compiler.js
new file mode 100644
index 0000000..6d01a14
--- /dev/null
+++ b/lib/stringify/compiler.js
@@ -0,0 +1,50 @@
+
+/**
+ * Expose `Compiler`.
+ */
+
+module.exports = Compiler;
+
+/**
+ * Initialize a compiler.
+ *
+ * @param {Type} name
+ * @return {Type}
+ * @api public
+ */
+
+function Compiler(opts) {
+ this.options = opts || {};
+}
+
+/**
+ * Emit `str`
+ */
+
+Compiler.prototype.emit = function(str) {
+ return str;
+};
+
+/**
+ * Visit `node`.
+ */
+
+Compiler.prototype.visit = function(node){
+ return this[node.type](node);
+};
+
+/**
+ * Map visit over array of `nodes`, optionally using a `delim`
+ */
+
+Compiler.prototype.mapVisit = function(nodes, delim){
+ var buf = '';
+ delim = delim || '';
+
+ for (var i = 0, length = nodes.length; i < length; i++) {
+ buf += this.visit(nodes[i]);
+ if (delim && i < length - 1) buf += this.emit(delim);
+ }
+
+ return buf;
+};
diff --git a/lib/stringify/compress.js b/lib/stringify/compress.js
new file mode 100644
index 0000000..929b4a2
--- /dev/null
+++ b/lib/stringify/compress.js
@@ -0,0 +1,199 @@
+
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./compiler');
+var inherits = require('inherits');
+
+/**
+ * Expose compiler.
+ */
+
+module.exports = Compiler;
+
+/**
+ * Initialize a new `Compiler`.
+ */
+
+function Compiler(options) {
+ Base.call(this, options);
+}
+
+/**
+ * Inherit from `Base.prototype`.
+ */
+
+inherits(Compiler, Base);
+
+/**
+ * Compile `node`.
+ */
+
+Compiler.prototype.compile = function(node){
+ return node.stylesheet
+ .rules.map(this.visit, this)
+ .join('');
+};
+
+/**
+ * Visit comment node.
+ */
+
+Compiler.prototype.comment = function(node){
+ return this.emit('', node.position);
+};
+
+/**
+ * Visit import node.
+ */
+
+Compiler.prototype.import = function(node){
+ return this.emit('@import ' + node.import + ';', node.position);
+};
+
+/**
+ * Visit media node.
+ */
+
+Compiler.prototype.media = function(node){
+ return this.emit('@media ' + node.media, node.position)
+ + this.emit('{')
+ + this.mapVisit(node.rules)
+ + this.emit('}');
+};
+
+/**
+ * Visit document node.
+ */
+
+Compiler.prototype.document = function(node){
+ var doc = '@' + (node.vendor || '') + 'document ' + node.document;
+
+ return this.emit(doc, node.position)
+ + this.emit('{')
+ + this.mapVisit(node.rules)
+ + this.emit('}');
+};
+
+/**
+ * Visit charset node.
+ */
+
+Compiler.prototype.charset = function(node){
+ return this.emit('@charset ' + node.charset + ';', node.position);
+};
+
+/**
+ * Visit namespace node.
+ */
+
+Compiler.prototype.namespace = function(node){
+ return this.emit('@namespace ' + node.namespace + ';', node.position);
+};
+
+/**
+ * Visit supports node.
+ */
+
+Compiler.prototype.supports = function(node){
+ return this.emit('@supports ' + node.supports, node.position)
+ + this.emit('{')
+ + this.mapVisit(node.rules)
+ + this.emit('}');
+};
+
+/**
+ * Visit keyframes node.
+ */
+
+Compiler.prototype.keyframes = function(node){
+ return this.emit('@'
+ + (node.vendor || '')
+ + 'keyframes '
+ + node.name, node.position)
+ + this.emit('{')
+ + this.mapVisit(node.keyframes)
+ + this.emit('}');
+};
+
+/**
+ * Visit keyframe node.
+ */
+
+Compiler.prototype.keyframe = function(node){
+ var decls = node.declarations;
+
+ return this.emit(node.values.join(','), node.position)
+ + this.emit('{')
+ + this.mapVisit(decls)
+ + this.emit('}');
+};
+
+/**
+ * Visit page node.
+ */
+
+Compiler.prototype.page = function(node){
+ var sel = node.selectors.length
+ ? node.selectors.join(', ')
+ : '';
+
+ return this.emit('@page ' + sel, node.position)
+ + this.emit('{')
+ + this.mapVisit(node.declarations)
+ + this.emit('}');
+};
+
+/**
+ * Visit font-face node.
+ */
+
+Compiler.prototype['font-face'] = function(node){
+ return this.emit('@font-face', node.position)
+ + this.emit('{')
+ + this.mapVisit(node.declarations)
+ + this.emit('}');
+};
+
+/**
+ * Visit host node.
+ */
+
+Compiler.prototype.host = function(node){
+ return this.emit('@host', node.position)
+ + this.emit('{')
+ + this.mapVisit(node.rules)
+ + this.emit('}');
+};
+
+/**
+ * Visit custom-media node.
+ */
+
+Compiler.prototype['custom-media'] = function(node){
+ return this.emit('@custom-media ' + node.name + ' ' + node.media + ';', node.position);
+};
+
+/**
+ * Visit rule node.
+ */
+
+Compiler.prototype.rule = function(node){
+ var decls = node.declarations;
+ if (!decls.length) return '';
+
+ return this.emit(node.selectors.join(','), node.position)
+ + this.emit('{')
+ + this.mapVisit(decls)
+ + this.emit('}');
+};
+
+/**
+ * Visit declaration node.
+ */
+
+Compiler.prototype.declaration = function(node){
+ return this.emit(node.property + ':' + node.value, node.position) + this.emit(';');
+};
+
diff --git a/lib/stringify/identity.js b/lib/stringify/identity.js
new file mode 100644
index 0000000..b390c91
--- /dev/null
+++ b/lib/stringify/identity.js
@@ -0,0 +1,254 @@
+
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./compiler');
+var inherits = require('inherits');
+
+/**
+ * Expose compiler.
+ */
+
+module.exports = Compiler;
+
+/**
+ * Initialize a new `Compiler`.
+ */
+
+function Compiler(options) {
+ options = options || {};
+ Base.call(this, options);
+ this.indentation = options.indent;
+}
+
+/**
+ * Inherit from `Base.prototype`.
+ */
+
+inherits(Compiler, Base);
+
+/**
+ * Compile `node`.
+ */
+
+Compiler.prototype.compile = function(node){
+ return this.stylesheet(node);
+};
+
+/**
+ * Visit stylesheet node.
+ */
+
+Compiler.prototype.stylesheet = function(node){
+ return this.mapVisit(node.stylesheet.rules, '\n\n');
+};
+
+/**
+ * Visit comment node.
+ */
+
+Compiler.prototype.comment = function(node){
+ return this.emit(this.indent() + '/*' + node.comment + '*/', node.position);
+};
+
+/**
+ * Visit import node.
+ */
+
+Compiler.prototype.import = function(node){
+ return this.emit('@import ' + node.import + ';', node.position);
+};
+
+/**
+ * Visit media node.
+ */
+
+Compiler.prototype.media = function(node){
+ return this.emit('@media ' + node.media, node.position)
+ + this.emit(
+ ' {\n'
+ + this.indent(1))
+ + this.mapVisit(node.rules, '\n\n')
+ + this.emit(
+ this.indent(-1)
+ + '\n}');
+};
+
+/**
+ * Visit document node.
+ */
+
+Compiler.prototype.document = function(node){
+ var doc = '@' + (node.vendor || '') + 'document ' + node.document;
+
+ return this.emit(doc, node.position)
+ + this.emit(
+ ' '
+ + ' {\n'
+ + this.indent(1))
+ + this.mapVisit(node.rules, '\n\n')
+ + this.emit(
+ this.indent(-1)
+ + '\n}');
+};
+
+/**
+ * Visit charset node.
+ */
+
+Compiler.prototype.charset = function(node){
+ return this.emit('@charset ' + node.charset + ';', node.position);
+};
+
+/**
+ * Visit namespace node.
+ */
+
+Compiler.prototype.namespace = function(node){
+ return this.emit('@namespace ' + node.namespace + ';', node.position);
+};
+
+/**
+ * Visit supports node.
+ */
+
+Compiler.prototype.supports = function(node){
+ return this.emit('@supports ' + node.supports, node.position)
+ + this.emit(
+ ' {\n'
+ + this.indent(1))
+ + this.mapVisit(node.rules, '\n\n')
+ + this.emit(
+ this.indent(-1)
+ + '\n}');
+};
+
+/**
+ * Visit keyframes node.
+ */
+
+Compiler.prototype.keyframes = function(node){
+ return this.emit('@' + (node.vendor || '') + 'keyframes ' + node.name, node.position)
+ + this.emit(
+ ' {\n'
+ + this.indent(1))
+ + this.mapVisit(node.keyframes, '\n')
+ + this.emit(
+ this.indent(-1)
+ + '}');
+};
+
+/**
+ * Visit keyframe node.
+ */
+
+Compiler.prototype.keyframe = function(node){
+ var decls = node.declarations;
+
+ return this.emit(this.indent())
+ + this.emit(node.values.join(', '), node.position)
+ + this.emit(
+ ' {\n'
+ + this.indent(1))
+ + this.mapVisit(decls, '\n')
+ + this.emit(
+ this.indent(-1)
+ + '\n'
+ + this.indent() + '}\n');
+};
+
+/**
+ * Visit page node.
+ */
+
+Compiler.prototype.page = function(node){
+ var sel = node.selectors.length
+ ? node.selectors.join(', ') + ' '
+ : '';
+
+ return this.emit('@page ' + sel, node.position)
+ + this.emit('{\n')
+ + this.emit(this.indent(1))
+ + this.mapVisit(node.declarations, '\n')
+ + this.emit(this.indent(-1))
+ + this.emit('\n}');
+};
+
+/**
+ * Visit font-face node.
+ */
+
+Compiler.prototype['font-face'] = function(node){
+ return this.emit('@font-face ', node.position)
+ + this.emit('{\n')
+ + this.emit(this.indent(1))
+ + this.mapVisit(node.declarations, '\n')
+ + this.emit(this.indent(-1))
+ + this.emit('\n}');
+};
+
+/**
+ * Visit host node.
+ */
+
+Compiler.prototype.host = function(node){
+ return this.emit('@host', node.position)
+ + this.emit(
+ ' {\n'
+ + this.indent(1))
+ + this.mapVisit(node.rules, '\n\n')
+ + this.emit(
+ this.indent(-1)
+ + '\n}');
+};
+
+/**
+ * Visit custom-media node.
+ */
+
+Compiler.prototype['custom-media'] = function(node){
+ return this.emit('@custom-media ' + node.name + ' ' + node.media + ';', node.position);
+};
+
+/**
+ * Visit rule node.
+ */
+
+Compiler.prototype.rule = function(node){
+ var indent = this.indent();
+ var decls = node.declarations;
+ if (!decls.length) return '';
+
+ return this.emit(node.selectors.map(function(s){ return indent + s }).join(',\n'), node.position)
+ + this.emit(' {\n')
+ + this.emit(this.indent(1))
+ + this.mapVisit(decls, '\n')
+ + this.emit(this.indent(-1))
+ + this.emit('\n' + this.indent() + '}');
+};
+
+/**
+ * Visit declaration node.
+ */
+
+Compiler.prototype.declaration = function(node){
+ return this.emit(this.indent())
+ + this.emit(node.property + ': ' + node.value, node.position)
+ + this.emit(';');
+};
+
+/**
+ * Increase, decrease or return current indentation.
+ */
+
+Compiler.prototype.indent = function(level) {
+ this.level = this.level || 1;
+
+ if (null != level) {
+ this.level += level;
+ return '';
+ }
+
+ return Array(this.level).join(this.indentation || ' ');
+};
diff --git a/lib/stringify/index.js b/lib/stringify/index.js
new file mode 100644
index 0000000..deffb95
--- /dev/null
+++ b/lib/stringify/index.js
@@ -0,0 +1,47 @@
+
+/**
+ * Module dependencies.
+ */
+
+var Compressed = require('./compress');
+var Identity = require('./identity');
+
+/**
+ * Stringfy the given AST `node`.
+ *
+ * Options:
+ *
+ * - `compress` space-optimized output
+ * - `sourcemap` return an object with `.code` and `.map`
+ *
+ * @param {Object} node
+ * @param {Object} [options]
+ * @return {String}
+ * @api public
+ */
+
+module.exports = function(node, options){
+ options = options || {};
+
+ var compiler = options.compress
+ ? new Compressed(options)
+ : new Identity(options);
+
+ // source maps
+ if (options.sourcemap) {
+ var sourcemaps = require('./source-map-support');
+ sourcemaps(compiler);
+
+ var code = compiler.compile(node);
+ compiler.applySourceMaps();
+
+ var map = options.sourcemap === 'generator'
+ ? compiler.map
+ : compiler.map.toJSON();
+
+ return { code: code, map: map };
+ }
+
+ var code = compiler.compile(node);
+ return code;
+};
diff --git a/lib/stringify/source-map-support.js b/lib/stringify/source-map-support.js
new file mode 100644
index 0000000..07016ee
--- /dev/null
+++ b/lib/stringify/source-map-support.js
@@ -0,0 +1,126 @@
+
+/**
+ * Module dependencies.
+ */
+
+var SourceMap = require('source-map').SourceMapGenerator;
+var SourceMapConsumer = require('source-map').SourceMapConsumer;
+var sourceMapResolve = require('source-map-resolve');
+var urix = require('urix');
+var fs = require('fs');
+var path = require('path');
+
+/**
+ * Expose `mixin()`.
+ */
+
+module.exports = mixin;
+
+/**
+ * Mixin source map support into `compiler`.
+ *
+ * @param {Compiler} compiler
+ * @api public
+ */
+
+function mixin(compiler) {
+ compiler._comment = compiler.comment;
+ compiler.map = new SourceMap();
+ compiler.position = { line: 1, column: 1 };
+ compiler.files = {};
+ for (var k in exports) compiler[k] = exports[k];
+}
+
+/**
+ * Update position.
+ *
+ * @param {String} str
+ * @api private
+ */
+
+exports.updatePosition = function(str) {
+ var lines = str.match(/\n/g);
+ if (lines) this.position.line += lines.length;
+ var i = str.lastIndexOf('\n');
+ this.position.column = ~i ? str.length - i : this.position.column + str.length;
+};
+
+/**
+ * Emit `str`.
+ *
+ * @param {String} str
+ * @param {Object} [pos]
+ * @return {String}
+ * @api private
+ */
+
+exports.emit = function(str, pos) {
+ if (pos) {
+ var sourceFile = urix(pos.source || 'source.css');
+
+ this.map.addMapping({
+ source: sourceFile,
+ generated: {
+ line: this.position.line,
+ column: Math.max(this.position.column - 1, 0)
+ },
+ original: {
+ line: pos.start.line,
+ column: pos.start.column - 1
+ }
+ });
+
+ this.addFile(sourceFile, pos);
+ }
+
+ this.updatePosition(str);
+
+ return str;
+};
+
+/**
+ * Adds a file to the source map output if it has not already been added
+ * @param {String} file
+ * @param {Object} pos
+ */
+
+exports.addFile = function(file, pos) {
+ if (typeof pos.content !== 'string') return;
+ if (Object.prototype.hasOwnProperty.call(this.files, file)) return;
+
+ this.files[file] = pos.content;
+};
+
+/**
+ * Applies any original source maps to the output and embeds the source file
+ * contents in the source map.
+ */
+
+exports.applySourceMaps = function() {
+ Object.keys(this.files).forEach(function(file) {
+ var content = this.files[file];
+ this.map.setSourceContent(file, content);
+
+ if (this.options.inputSourcemaps !== false) {
+ var originalMap = sourceMapResolve.resolveSync(
+ content, file, fs.readFileSync);
+ if (originalMap) {
+ var map = new SourceMapConsumer(originalMap.map);
+ var relativeTo = originalMap.sourcesRelativeTo;
+ this.map.applySourceMap(map, file, urix(path.dirname(relativeTo)));
+ }
+ }
+ }, this);
+};
+
+/**
+ * Process comments, drops sourceMap comments.
+ * @param {Object} node
+ */
+
+exports.comment = function(node) {
+ if (/^# sourceMappingURL=/.test(node.comment))
+ return this.emit('', node.position);
+ else
+ return this._comment(node);
+};
diff --git a/package.json b/package.json
index 4627499..2c84850 100644
--- a/package.json
+++ b/package.json
@@ -1,23 +1,38 @@
{
"name": "css",
- "version": "1.6.0",
- "description": "CSS parser / stringifier using css-parse and css-stringify",
- "keywords": [
- "css",
- "parser",
- "stylesheet"
+ "version": "2.1.0",
+ "description": "CSS parser / stringifier",
+ "main": "index",
+ "files": [
+ "index.js",
+ "lib"
],
- "author": "TJ Holowaychuk <tj at vision-media.ca>",
"dependencies": {
- "css-parse": "1.7.0",
- "css-stringify": "1.4.1"
+ "source-map": "^0.1.38",
+ "source-map-resolve": "^0.3.0",
+ "urix": "^0.1.0",
+ "inherits": "^2.0.1"
},
- "main": "index",
+ "devDependencies": {
+ "mocha": "^1.21.3",
+ "should": "^4.0.4",
+ "matcha": "^0.5.0",
+ "bytes": "^1.0.0"
+ },
+ "scripts": {
+ "benchmark": "matcha",
+ "test": "mocha --require should --reporter spec --bail test/*.js"
+ },
+ "author": "TJ Holowaychuk <tj at vision-media.ca>",
+ "license": "MIT",
"repository": {
"type": "git",
- "url": "https://github.com/visionmedia/css.git"
+ "url": "https://github.com/reworkcss/css.git"
},
- "scripts": {
- "test": "make test"
- }
+ "keywords": [
+ "css",
+ "parser",
+ "stringifier",
+ "stylesheet"
+ ]
}
diff --git a/test.js b/test.js
deleted file mode 100644
index 3e1b4d3..0000000
--- a/test.js
+++ /dev/null
@@ -1,6 +0,0 @@
-
-var css = require('./')
- , assert = require('assert');
-
-assert(css.parse);
-assert(css.stringify);
diff --git a/test/cases.js b/test/cases.js
new file mode 100644
index 0000000..1812a2c
--- /dev/null
+++ b/test/cases.js
@@ -0,0 +1,44 @@
+var fs = require('fs');
+var path = require('path');
+var parse = require('../').parse;
+var stringify = require('../').stringify;
+
+var cases = fs.readdirSync(path.join(__dirname, 'cases'));
+cases.forEach(function(name) {
+ describe('cases/' + name, function() {
+ var dir = path.join(__dirname, 'cases', name);
+ var inputFile = path.join(dir, 'input.css');
+ var astFile = path.join(dir, 'ast.json');
+ var outputFile = path.join(dir, 'output.css');
+ var compressedFile = path.join(dir, 'compressed.css');
+
+ it('should match ast.json', function() {
+ var ast = parseInput();
+ ast.should.containDeep(JSON.parse(readFile(astFile)));
+ });
+
+ it('should match output.css', function() {
+ var output = stringify(parseInput());
+ output.should.equal(readFile(outputFile).trim());
+ });
+
+ it('should match compressed.css', function() {
+ var compressed = stringify(parseInput(), { compress: true });
+ compressed.should.equal(readFile(compressedFile));
+ });
+
+ function parseInput() {
+ return parse(readFile(inputFile), { source: 'input.css' });
+ }
+ });
+});
+
+function readFile(file) {
+ var src = fs.readFileSync(file, 'utf8');
+ // normalize line endings
+ src = src.replace(/\r\n/, '\n');
+ // remove trailing newline
+ src = src.replace(/\n$/, '');
+
+ return src;
+}
diff --git a/test/cases/at-namespace/ast.json b/test/cases/at-namespace/ast.json
new file mode 100644
index 0000000..b0e8fb1
--- /dev/null
+++ b/test/cases/at-namespace/ast.json
@@ -0,0 +1,22 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "namespace",
+ "namespace": "svg \"http://www.w3.org/2000/svg\"",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 45
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/at-namespace/compressed.css b/test/cases/at-namespace/compressed.css
new file mode 100644
index 0000000..edc75cf
--- /dev/null
+++ b/test/cases/at-namespace/compressed.css
@@ -0,0 +1 @@
+ at namespace svg "http://www.w3.org/2000/svg";
diff --git a/test/cases/at-namespace/input.css b/test/cases/at-namespace/input.css
new file mode 100644
index 0000000..edc75cf
--- /dev/null
+++ b/test/cases/at-namespace/input.css
@@ -0,0 +1 @@
+ at namespace svg "http://www.w3.org/2000/svg";
diff --git a/test/cases/at-namespace/output.css b/test/cases/at-namespace/output.css
new file mode 100644
index 0000000..edc75cf
--- /dev/null
+++ b/test/cases/at-namespace/output.css
@@ -0,0 +1 @@
+ at namespace svg "http://www.w3.org/2000/svg";
diff --git a/test/cases/charset/ast.json b/test/cases/charset/ast.json
new file mode 100644
index 0000000..321b4bd
--- /dev/null
+++ b/test/cases/charset/ast.json
@@ -0,0 +1,67 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "charset",
+ "charset": "\"UTF-8\"",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 18
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " Set the encoding of the style sheet to Unicode UTF-8 ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 25
+ },
+ "end": {
+ "line": 1,
+ "column": 83
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "charset",
+ "charset": "'iso-8859-15'",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1
+ },
+ "end": {
+ "line": 2,
+ "column": 24
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " Set the encoding of the style sheet to Latin-9 (Western European languages, with euro sign) ",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 25
+ },
+ "end": {
+ "line": 2,
+ "column": 122
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/charset/compressed.css b/test/cases/charset/compressed.css
new file mode 100644
index 0000000..6c3f064
--- /dev/null
+++ b/test/cases/charset/compressed.css
@@ -0,0 +1 @@
+ at charset "UTF-8";@charset 'iso-8859-15';
diff --git a/test/cases/charset/input.css b/test/cases/charset/input.css
new file mode 100644
index 0000000..9401ad3
--- /dev/null
+++ b/test/cases/charset/input.css
@@ -0,0 +1,2 @@
+ at charset "UTF-8"; /* Set the encoding of the style sheet to Unicode UTF-8 */
+ at charset 'iso-8859-15'; /* Set the encoding of the style sheet to Latin-9 (Western European languages, with euro sign) */
diff --git a/test/cases/charset/output.css b/test/cases/charset/output.css
new file mode 100644
index 0000000..0ed06ff
--- /dev/null
+++ b/test/cases/charset/output.css
@@ -0,0 +1,7 @@
+ at charset "UTF-8";
+
+/* Set the encoding of the style sheet to Unicode UTF-8 */
+
+ at charset 'iso-8859-15';
+
+/* Set the encoding of the style sheet to Latin-9 (Western European languages, with euro sign) */
diff --git a/test/cases/colon-space/ast.json b/test/cases/colon-space/ast.json
new file mode 100644
index 0000000..5848824
--- /dev/null
+++ b/test/cases/colon-space/ast.json
@@ -0,0 +1,58 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "a"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "margin",
+ "value": "auto",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 5
+ },
+ "end": {
+ "line": 2,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "padding",
+ "value": "0",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 5
+ },
+ "end": {
+ "line": 3,
+ "column": 16
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 4,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/colon-space/compressed.css b/test/cases/colon-space/compressed.css
new file mode 100644
index 0000000..4c69c5d
--- /dev/null
+++ b/test/cases/colon-space/compressed.css
@@ -0,0 +1 @@
+a{margin:auto;padding:0;}
diff --git a/test/cases/colon-space/input.css b/test/cases/colon-space/input.css
new file mode 100644
index 0000000..6812cc0
--- /dev/null
+++ b/test/cases/colon-space/input.css
@@ -0,0 +1,4 @@
+a {
+ margin : auto;
+ padding : 0;
+}
diff --git a/test/cases/colon-space/output.css b/test/cases/colon-space/output.css
new file mode 100644
index 0000000..c2ca8c2
--- /dev/null
+++ b/test/cases/colon-space/output.css
@@ -0,0 +1,4 @@
+a {
+ margin: auto;
+ padding: 0;
+}
diff --git a/test/cases/comma-attribute/ast.json b/test/cases/comma-attribute/ast.json
new file mode 100644
index 0000000..b316ccf
--- /dev/null
+++ b/test/cases/comma-attribute/ast.json
@@ -0,0 +1,202 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ ".foo[bar=\"baz,quz\"]"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "foobar",
+ "value": "123",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 14
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 3,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ ".bar",
+ "#bar[baz=\"qux,foo\"]",
+ "#qux"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "foobar",
+ "value": "456",
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 3
+ },
+ "end": {
+ "line": 8,
+ "column": 14
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 1
+ },
+ "end": {
+ "line": 9,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ ".baz[qux=\",foo\"]",
+ ".baz[qux=\"foo,\"]",
+ ".baz[qux=\"foo,bar,baz\"]",
+ ".baz[qux=\",foo,bar,baz,\"]",
+ ".baz[qux=\" , foo , bar , baz , \"]"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "foobar",
+ "value": "789",
+ "position": {
+ "start": {
+ "line": 16,
+ "column": 3
+ },
+ "end": {
+ "line": 16,
+ "column": 14
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 1
+ },
+ "end": {
+ "line": 17,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ ".qux[foo='bar,baz']",
+ ".qux[bar=\"baz,foo\"]",
+ "#qux[foo=\"foobar\"]",
+ "#qux[foo=',bar,baz, ']"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "foobar",
+ "value": "012",
+ "position": {
+ "start": {
+ "line": 23,
+ "column": 3
+ },
+ "end": {
+ "line": 23,
+ "column": 14
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 19,
+ "column": 1
+ },
+ "end": {
+ "line": 24,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#foo[foo=\"\"]",
+ "#foo[bar=\" \"]",
+ "#foo[bar=\",\"]",
+ "#foo[bar=\", \"]",
+ "#foo[bar=\" ,\"]",
+ "#foo[bar=\" , \"]",
+ "#foo[baz='']",
+ "#foo[qux=' ']",
+ "#foo[qux=',']",
+ "#foo[qux=', ']",
+ "#foo[qux=' ,']",
+ "#foo[qux=' , ']"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "foobar",
+ "value": "345",
+ "position": {
+ "start": {
+ "line": 38,
+ "column": 3
+ },
+ "end": {
+ "line": 38,
+ "column": 14
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 26,
+ "column": 1
+ },
+ "end": {
+ "line": 39,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/comma-attribute/compressed.css b/test/cases/comma-attribute/compressed.css
new file mode 100644
index 0000000..8f0323c
--- /dev/null
+++ b/test/cases/comma-attribute/compressed.css
@@ -0,0 +1 @@
+.foo[bar="baz,quz"]{foobar:123;}.bar,#bar[baz="qux,foo"],#qux{foobar:456;}.baz[qux=",foo"],.baz[qux="foo,"],.baz[qux="foo,bar,baz"],.baz[qux=",foo,bar,baz,"],.baz[qux=" , foo , bar , baz , "]{foobar:789;}.qux[foo='bar,baz'],.qux[bar="baz,foo"],#qux[foo="foobar"],#qux[foo=',bar,baz, ']{foobar:012;}#foo[foo=""],#foo[bar=" "],#foo[bar=","],#foo[bar=", "],#foo[bar=" ,"],#foo[bar=" , "],#foo[baz=''],#foo[qux=' '],#foo[qux=','],#foo[qux=', '],#foo[qux=' ,'],#foo[qux=' , ']{foobar:345;}
diff --git a/test/cases/comma-attribute/input.css b/test/cases/comma-attribute/input.css
new file mode 100644
index 0000000..c45d32e
--- /dev/null
+++ b/test/cases/comma-attribute/input.css
@@ -0,0 +1,39 @@
+.foo[bar="baz,quz"] {
+ foobar: 123;
+}
+
+.bar,
+#bar[baz="qux,foo"],
+#qux {
+ foobar: 456;
+}
+
+.baz[qux=",foo"],
+.baz[qux="foo,"],
+.baz[qux="foo,bar,baz"],
+.baz[qux=",foo,bar,baz,"],
+.baz[qux=" , foo , bar , baz , "] {
+ foobar: 789;
+}
+
+.qux[foo='bar,baz'],
+.qux[bar="baz,foo"],
+#qux[foo="foobar"],
+#qux[foo=',bar,baz, '] {
+ foobar: 012;
+}
+
+#foo[foo=""],
+#foo[bar=" "],
+#foo[bar=","],
+#foo[bar=", "],
+#foo[bar=" ,"],
+#foo[bar=" , "],
+#foo[baz=''],
+#foo[qux=' '],
+#foo[qux=','],
+#foo[qux=', '],
+#foo[qux=' ,'],
+#foo[qux=' , '] {
+ foobar: 345;
+}
diff --git a/test/cases/comma-attribute/output.css b/test/cases/comma-attribute/output.css
new file mode 100644
index 0000000..c45d32e
--- /dev/null
+++ b/test/cases/comma-attribute/output.css
@@ -0,0 +1,39 @@
+.foo[bar="baz,quz"] {
+ foobar: 123;
+}
+
+.bar,
+#bar[baz="qux,foo"],
+#qux {
+ foobar: 456;
+}
+
+.baz[qux=",foo"],
+.baz[qux="foo,"],
+.baz[qux="foo,bar,baz"],
+.baz[qux=",foo,bar,baz,"],
+.baz[qux=" , foo , bar , baz , "] {
+ foobar: 789;
+}
+
+.qux[foo='bar,baz'],
+.qux[bar="baz,foo"],
+#qux[foo="foobar"],
+#qux[foo=',bar,baz, '] {
+ foobar: 012;
+}
+
+#foo[foo=""],
+#foo[bar=" "],
+#foo[bar=","],
+#foo[bar=", "],
+#foo[bar=" ,"],
+#foo[bar=" , "],
+#foo[baz=''],
+#foo[qux=' '],
+#foo[qux=','],
+#foo[qux=', '],
+#foo[qux=' ,'],
+#foo[qux=' , '] {
+ foobar: 345;
+}
diff --git a/test/cases/comma-selector-function/ast.json b/test/cases/comma-selector-function/ast.json
new file mode 100644
index 0000000..d2211a8
--- /dev/null
+++ b/test/cases/comma-selector-function/ast.json
@@ -0,0 +1,82 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ ".foo:matches(.bar,.baz)",
+ ".foo:matches(.bar, .baz)",
+ ".foo:matches(.bar , .baz)",
+ ".foo:matches(.bar ,.baz)"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "prop",
+ "value": "value",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 14
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 6,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ ".foo:matches(.bar,.baz,.foobar)",
+ ".foo:matches(.bar, .baz,)",
+ ".foo:matches(,.bar , .baz)"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "anotherprop",
+ "value": "anothervalue",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 3
+ },
+ "end": {
+ "line": 11,
+ "column": 28
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 1
+ },
+ "end": {
+ "line": 12,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/comma-selector-function/compressed.css b/test/cases/comma-selector-function/compressed.css
new file mode 100644
index 0000000..2aee109
--- /dev/null
+++ b/test/cases/comma-selector-function/compressed.css
@@ -0,0 +1 @@
+.foo:matches(.bar,.baz),.foo:matches(.bar, .baz),.foo:matches(.bar , .baz),.foo:matches(.bar ,.baz){prop:value;}.foo:matches(.bar,.baz,.foobar),.foo:matches(.bar, .baz,),.foo:matches(,.bar , .baz){anotherprop:anothervalue;}
diff --git a/test/cases/comma-selector-function/input.css b/test/cases/comma-selector-function/input.css
new file mode 100644
index 0000000..196f8dc
--- /dev/null
+++ b/test/cases/comma-selector-function/input.css
@@ -0,0 +1,12 @@
+.foo:matches(.bar,.baz),
+.foo:matches(.bar, .baz),
+.foo:matches(.bar , .baz),
+.foo:matches(.bar ,.baz) {
+ prop: value;
+}
+
+.foo:matches(.bar,.baz,.foobar),
+.foo:matches(.bar, .baz,),
+.foo:matches(,.bar , .baz) {
+ anotherprop: anothervalue;
+}
diff --git a/test/cases/comma-selector-function/output.css b/test/cases/comma-selector-function/output.css
new file mode 100644
index 0000000..196f8dc
--- /dev/null
+++ b/test/cases/comma-selector-function/output.css
@@ -0,0 +1,12 @@
+.foo:matches(.bar,.baz),
+.foo:matches(.bar, .baz),
+.foo:matches(.bar , .baz),
+.foo:matches(.bar ,.baz) {
+ prop: value;
+}
+
+.foo:matches(.bar,.baz,.foobar),
+.foo:matches(.bar, .baz,),
+.foo:matches(,.bar , .baz) {
+ anotherprop: anothervalue;
+}
diff --git a/test/cases/comment-in/ast.json b/test/cases/comment-in/ast.json
new file mode 100644
index 0000000..a4c2e2c
--- /dev/null
+++ b/test/cases/comment-in/ast.json
@@ -0,0 +1,90 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "a"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "color",
+ "value": "12px",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 5
+ },
+ "end": {
+ "line": 2,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "padding",
+ "value": "1px 2px 3px",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 5
+ },
+ "end": {
+ "line": 3,
+ "column": 51
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "border",
+ "value": "solid",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 5
+ },
+ "end": {
+ "line": 4,
+ "column": 24
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "border-top",
+ "value": "none\\9",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 26
+ },
+ "end": {
+ "line": 4,
+ "column": 50
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 5,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/comment-in/compressed.css b/test/cases/comment-in/compressed.css
new file mode 100644
index 0000000..c2a2d7e
--- /dev/null
+++ b/test/cases/comment-in/compressed.css
@@ -0,0 +1 @@
+a{color:12px;padding:1px 2px 3px;border:solid;border-top:none\9;}
diff --git a/test/cases/comment-in/input.css b/test/cases/comment-in/input.css
new file mode 100644
index 0000000..3b8aa99
--- /dev/null
+++ b/test/cases/comment-in/input.css
@@ -0,0 +1,5 @@
+a {
+ color/**/: 12px;
+ padding/*4815162342*/: 1px /**/ 2px /*13*/ 3px;
+ border/*\**/: solid; border-top/*\**/: none\9;
+}
diff --git a/test/cases/comment-in/output.css b/test/cases/comment-in/output.css
new file mode 100644
index 0000000..1141c3c
--- /dev/null
+++ b/test/cases/comment-in/output.css
@@ -0,0 +1,6 @@
+a {
+ color: 12px;
+ padding: 1px 2px 3px;
+ border: solid;
+ border-top: none\9;
+}
diff --git a/test/cases/comment-url/ast.json b/test/cases/comment-url/ast.json
new file mode 100644
index 0000000..9da577f
--- /dev/null
+++ b/test/cases/comment-url/ast.json
@@ -0,0 +1,117 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "comment",
+ "comment": " http://foo.com/bar/baz.html ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 34
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": "",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1
+ },
+ "end": {
+ "line": 2,
+ "column": 5
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "foo"
+ ],
+ "declarations": [
+ {
+ "type": "comment",
+ "comment": "/",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 7
+ },
+ "end": {
+ "line": 4,
+ "column": 12
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " something ",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 18
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "bar",
+ "value": "baz",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 3
+ },
+ "end": {
+ "line": 6,
+ "column": 11
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " http://foo.com/bar/baz.html ",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 13
+ },
+ "end": {
+ "line": 6,
+ "column": 46
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 1
+ },
+ "end": {
+ "line": 7,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/comment-url/compressed.css b/test/cases/comment-url/compressed.css
new file mode 100644
index 0000000..1f3dbb1
--- /dev/null
+++ b/test/cases/comment-url/compressed.css
@@ -0,0 +1 @@
+foo{bar:baz;}
diff --git a/test/cases/comment-url/input.css b/test/cases/comment-url/input.css
new file mode 100644
index 0000000..6788a85
--- /dev/null
+++ b/test/cases/comment-url/input.css
@@ -0,0 +1,7 @@
+/* http://foo.com/bar/baz.html */
+/**/
+
+foo { /*/*/
+ /* something */
+ bar: baz; /* http://foo.com/bar/baz.html */
+}
diff --git a/test/cases/comment-url/output.css b/test/cases/comment-url/output.css
new file mode 100644
index 0000000..1c856dc
--- /dev/null
+++ b/test/cases/comment-url/output.css
@@ -0,0 +1,10 @@
+/* http://foo.com/bar/baz.html */
+
+/**/
+
+foo {
+ /*/*/
+ /* something */
+ bar: baz;
+ /* http://foo.com/bar/baz.html */
+}
diff --git a/test/cases/comment/ast.json b/test/cases/comment/ast.json
new file mode 100644
index 0000000..be55a8a
--- /dev/null
+++ b/test/cases/comment/ast.json
@@ -0,0 +1,148 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "comment",
+ "comment": " 1 ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 8
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "head",
+ "body"
+ ],
+ "declarations": [
+ {
+ "type": "comment",
+ "comment": " 2 ",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 37
+ },
+ "end": {
+ "line": 3,
+ "column": 44
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " 3 ",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 3
+ },
+ "end": {
+ "line": 4,
+ "column": 10
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": "",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 7
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "foo",
+ "value": "'bar'",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 7
+ },
+ "end": {
+ "line": 5,
+ "column": 17
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " 4 ",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 3
+ },
+ "end": {
+ "line": 6,
+ "column": 10
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1
+ },
+ "end": {
+ "line": 7,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " 5 ",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 3
+ },
+ "end": {
+ "line": 7,
+ "column": 10
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " 6 ",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 1
+ },
+ "end": {
+ "line": 9,
+ "column": 8
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/comment/compressed.css b/test/cases/comment/compressed.css
new file mode 100644
index 0000000..2a67ec1
--- /dev/null
+++ b/test/cases/comment/compressed.css
@@ -0,0 +1 @@
+head,body{foo:'bar';}
diff --git a/test/cases/comment/input.css b/test/cases/comment/input.css
new file mode 100644
index 0000000..597b80e
--- /dev/null
+++ b/test/cases/comment/input.css
@@ -0,0 +1,9 @@
+/* 1 */
+
+head, /* footer, */body/*, nav */ { /* 2 */
+ /* 3 */
+ /**/foo: 'bar';
+ /* 4 */
+} /* 5 */
+
+/* 6 */
diff --git a/test/cases/comment/output.css b/test/cases/comment/output.css
new file mode 100644
index 0000000..613c1cf
--- /dev/null
+++ b/test/cases/comment/output.css
@@ -0,0 +1,14 @@
+/* 1 */
+
+head,
+body {
+ /* 2 */
+ /* 3 */
+ /**/
+ foo: 'bar';
+ /* 4 */
+}
+
+/* 5 */
+
+/* 6 */
diff --git a/test/cases/custom-media/ast.json b/test/cases/custom-media/ast.json
new file mode 100644
index 0000000..4727bf4
--- /dev/null
+++ b/test/cases/custom-media/ast.json
@@ -0,0 +1,39 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "custom-media",
+ "name": "--narrow-window",
+ "media": "(max-width: 30em)",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 49
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "custom-media",
+ "name": "--wide-window",
+ "media": "screen and (min-width: 40em)",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1
+ },
+ "end": {
+ "line": 2,
+ "column": 58
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/custom-media/compressed.css b/test/cases/custom-media/compressed.css
new file mode 100644
index 0000000..4a496ac
--- /dev/null
+++ b/test/cases/custom-media/compressed.css
@@ -0,0 +1 @@
+ at custom-media --narrow-window (max-width: 30em);@custom-media --wide-window screen and (min-width: 40em);
diff --git a/test/cases/custom-media/input.css b/test/cases/custom-media/input.css
new file mode 100644
index 0000000..3fee784
--- /dev/null
+++ b/test/cases/custom-media/input.css
@@ -0,0 +1,2 @@
+ at custom-media --narrow-window (max-width: 30em);
+ at custom-media --wide-window screen and (min-width: 40em);
diff --git a/test/cases/custom-media/output.css b/test/cases/custom-media/output.css
new file mode 100644
index 0000000..13a354e
--- /dev/null
+++ b/test/cases/custom-media/output.css
@@ -0,0 +1,3 @@
+ at custom-media --narrow-window (max-width: 30em);
+
+ at custom-media --wide-window screen and (min-width: 40em);
diff --git a/test/cases/document/ast.json b/test/cases/document/ast.json
new file mode 100644
index 0000000..37e0c7f
--- /dev/null
+++ b/test/cases/document/ast.json
@@ -0,0 +1,125 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "document",
+ "document": "url-prefix()",
+ "vendor": "-moz-",
+ "rules": [
+ {
+ "type": "comment",
+ "comment": " ui above ",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 17
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ ".ui-select .ui-btn select"
+ ],
+ "declarations": [
+ {
+ "type": "comment",
+ "comment": " ui inside ",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 5
+ },
+ "end": {
+ "line": 4,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "opacity",
+ "value": ".0001",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 5
+ },
+ "end": {
+ "line": 6,
+ "column": 3
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 6,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ ".icon-spin"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "height",
+ "value": ".9em",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 5
+ },
+ "end": {
+ "line": 9,
+ "column": 17
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 3
+ },
+ "end": {
+ "line": 10,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 11,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/document/compressed.css b/test/cases/document/compressed.css
new file mode 100644
index 0000000..e9d5145
--- /dev/null
+++ b/test/cases/document/compressed.css
@@ -0,0 +1 @@
+ at -moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001;}.icon-spin{height:.9em;}}
diff --git a/test/cases/document/input.css b/test/cases/document/input.css
new file mode 100644
index 0000000..bf3ca6b
--- /dev/null
+++ b/test/cases/document/input.css
@@ -0,0 +1,11 @@
+ at -moz-document url-prefix() {
+ /* ui above */
+ .ui-select .ui-btn select {
+ /* ui inside */
+ opacity:.0001
+ }
+
+ .icon-spin {
+ height: .9em;
+ }
+}
diff --git a/test/cases/document/output.css b/test/cases/document/output.css
new file mode 100644
index 0000000..e6c54b6
--- /dev/null
+++ b/test/cases/document/output.css
@@ -0,0 +1,12 @@
+ at -moz-document url-prefix() {
+ /* ui above */
+
+ .ui-select .ui-btn select {
+ /* ui inside */
+ opacity: .0001;
+ }
+
+ .icon-spin {
+ height: .9em;
+ }
+}
diff --git a/test/cases/empty/ast.json b/test/cases/empty/ast.json
new file mode 100644
index 0000000..b697e07
--- /dev/null
+++ b/test/cases/empty/ast.json
@@ -0,0 +1,6 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": []
+ }
+}
diff --git a/test/cases/empty/compressed.css b/test/cases/empty/compressed.css
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/test/cases/empty/compressed.css
@@ -0,0 +1 @@
+
diff --git a/test/cases/empty/input.css b/test/cases/empty/input.css
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/test/cases/empty/input.css
@@ -0,0 +1 @@
+
diff --git a/test/cases/empty/output.css b/test/cases/empty/output.css
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/test/cases/empty/output.css
@@ -0,0 +1 @@
+
diff --git a/test/cases/escapes/ast.json b/test/cases/escapes/ast.json
new file mode 100644
index 0000000..0521d11
--- /dev/null
+++ b/test/cases/escapes/ast.json
@@ -0,0 +1,1556 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "comment",
+ "comment": " tests compressed for easy testing ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 40
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " http://mathiasbynens.be/notes/css-escapes ",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1
+ },
+ "end": {
+ "line": 2,
+ "column": 48
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " will match elements with class=\":`(\" ",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1
+ },
+ "end": {
+ "line": 3,
+ "column": 43
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ ".\\3A \\`\\("
+ ],
+ "declarations": [],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 1
+ },
+ "end": {
+ "line": 4,
+ "column": 12
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " will match elements with class=\"1a2b3c\" ",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 1
+ },
+ "end": {
+ "line": 5,
+ "column": 46
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ ".\\31 a2b3c"
+ ],
+ "declarations": [],
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 1
+ },
+ "end": {
+ "line": 6,
+ "column": 13
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " will match the element with id=\"#fake-id\" ",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 1
+ },
+ "end": {
+ "line": 7,
+ "column": 48
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\#fake-id"
+ ],
+ "declarations": [],
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 1
+ },
+ "end": {
+ "line": 8,
+ "column": 13
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " will match the element with id=\"---\" ",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 1
+ },
+ "end": {
+ "line": 9,
+ "column": 43
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\---"
+ ],
+ "declarations": [],
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 1
+ },
+ "end": {
+ "line": 10,
+ "column": 8
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " will match the element with id=\"-a-b-c-\" ",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 1
+ },
+ "end": {
+ "line": 11,
+ "column": 47
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#-a-b-c-"
+ ],
+ "declarations": [],
+ "position": {
+ "start": {
+ "line": 12,
+ "column": 1
+ },
+ "end": {
+ "line": 12,
+ "column": 11
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " will match the element with id=\"©\" ",
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 1
+ },
+ "end": {
+ "line": 13,
+ "column": 41
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#©"
+ ],
+ "declarations": [],
+ "position": {
+ "start": {
+ "line": 14,
+ "column": 1
+ },
+ "end": {
+ "line": 14,
+ "column": 5
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " More tests from http://mathiasbynens.be/demo/html5-id ",
+ "position": {
+ "start": {
+ "line": 15,
+ "column": 1
+ },
+ "end": {
+ "line": 15,
+ "column": 60
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "html"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "font",
+ "value": "1.2em/1.6 Arial",
+ "position": {
+ "start": {
+ "line": 16,
+ "column": 6
+ },
+ "end": {
+ "line": 16,
+ "column": 26
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 16,
+ "column": 1
+ },
+ "end": {
+ "line": 16,
+ "column": 28
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "code"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "font-family",
+ "value": "Consolas",
+ "position": {
+ "start": {
+ "line": 17,
+ "column": 6
+ },
+ "end": {
+ "line": 17,
+ "column": 26
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 17,
+ "column": 1
+ },
+ "end": {
+ "line": 17,
+ "column": 28
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "li code"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "rgba(255, 255, 255, .5)",
+ "position": {
+ "start": {
+ "line": 18,
+ "column": 9
+ },
+ "end": {
+ "line": 18,
+ "column": 43
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "padding",
+ "value": ".3em",
+ "position": {
+ "start": {
+ "line": 18,
+ "column": 44
+ },
+ "end": {
+ "line": 18,
+ "column": 56
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 18,
+ "column": 1
+ },
+ "end": {
+ "line": 18,
+ "column": 58
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "li"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "orange",
+ "position": {
+ "start": {
+ "line": 19,
+ "column": 4
+ },
+ "end": {
+ "line": 19,
+ "column": 21
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 19,
+ "column": 1
+ },
+ "end": {
+ "line": 19,
+ "column": 23
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#♥"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 20,
+ "column": 4
+ },
+ "end": {
+ "line": 20,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 20,
+ "column": 1
+ },
+ "end": {
+ "line": 20,
+ "column": 21
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#©"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 21,
+ "column": 4
+ },
+ "end": {
+ "line": 21,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 21,
+ "column": 1
+ },
+ "end": {
+ "line": 21,
+ "column": 21
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#“‘’”"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 22,
+ "column": 7
+ },
+ "end": {
+ "line": 22,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 22,
+ "column": 1
+ },
+ "end": {
+ "line": 22,
+ "column": 24
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#☺☃"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 23,
+ "column": 5
+ },
+ "end": {
+ "line": 23,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 23,
+ "column": 1
+ },
+ "end": {
+ "line": 23,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#⌘⌥"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 24,
+ "column": 5
+ },
+ "end": {
+ "line": 24,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 24,
+ "column": 1
+ },
+ "end": {
+ "line": 24,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#𝄞♪♩♫♬"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 25,
+ "column": 9
+ },
+ "end": {
+ "line": 25,
+ "column": 24
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 25,
+ "column": 1
+ },
+ "end": {
+ "line": 25,
+ "column": 26
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\?"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 26,
+ "column": 5
+ },
+ "end": {
+ "line": 26,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 26,
+ "column": 1
+ },
+ "end": {
+ "line": 26,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\@"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 27,
+ "column": 5
+ },
+ "end": {
+ "line": 27,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 27,
+ "column": 1
+ },
+ "end": {
+ "line": 27,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\."
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 28,
+ "column": 5
+ },
+ "end": {
+ "line": 28,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 28,
+ "column": 1
+ },
+ "end": {
+ "line": 28,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\3A \\)"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 29,
+ "column": 9
+ },
+ "end": {
+ "line": 29,
+ "column": 24
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 29,
+ "column": 1
+ },
+ "end": {
+ "line": 29,
+ "column": 26
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\3A \\`\\("
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 30,
+ "column": 11
+ },
+ "end": {
+ "line": 30,
+ "column": 26
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 30,
+ "column": 1
+ },
+ "end": {
+ "line": 30,
+ "column": 28
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\31 23"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 31,
+ "column": 9
+ },
+ "end": {
+ "line": 31,
+ "column": 24
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 31,
+ "column": 1
+ },
+ "end": {
+ "line": 31,
+ "column": 26
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\31 a2b3c"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 32,
+ "column": 12
+ },
+ "end": {
+ "line": 32,
+ "column": 27
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 32,
+ "column": 1
+ },
+ "end": {
+ "line": 32,
+ "column": 29
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\<p\\>"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 33,
+ "column": 8
+ },
+ "end": {
+ "line": 33,
+ "column": 23
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 33,
+ "column": 1
+ },
+ "end": {
+ "line": 33,
+ "column": 25
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\<\\>\\<\\<\\<\\>\\>\\<\\>"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 34,
+ "column": 21
+ },
+ "end": {
+ "line": 34,
+ "column": 36
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 34,
+ "column": 1
+ },
+ "end": {
+ "line": 34,
+ "column": 38
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\."
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 35,
+ "column": 225
+ },
+ "end": {
+ "line": 35,
+ "column": 240
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 35,
+ "column": 1
+ },
+ "end": {
+ "line": 35,
+ "column": 242
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\#"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 36,
+ "column": 5
+ },
+ "end": {
+ "line": 36,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 36,
+ "column": 1
+ },
+ "end": {
+ "line": 36,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\#\\#"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 37,
+ "column": 7
+ },
+ "end": {
+ "line": 37,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 37,
+ "column": 1
+ },
+ "end": {
+ "line": 37,
+ "column": 24
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\#\\.\\#\\.\\#"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 38,
+ "column": 13
+ },
+ "end": {
+ "line": 38,
+ "column": 28
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 38,
+ "column": 1
+ },
+ "end": {
+ "line": 38,
+ "column": 30
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\_"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 39,
+ "column": 5
+ },
+ "end": {
+ "line": 39,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 39,
+ "column": 1
+ },
+ "end": {
+ "line": 39,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\.fake\\-class"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 40,
+ "column": 16
+ },
+ "end": {
+ "line": 40,
+ "column": 31
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 40,
+ "column": 1
+ },
+ "end": {
+ "line": 40,
+ "column": 33
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#foo\\.bar"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 41,
+ "column": 11
+ },
+ "end": {
+ "line": 41,
+ "column": 26
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 41,
+ "column": 1
+ },
+ "end": {
+ "line": 41,
+ "column": 28
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\3A hover"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 42,
+ "column": 12
+ },
+ "end": {
+ "line": 42,
+ "column": 27
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 42,
+ "column": 1
+ },
+ "end": {
+ "line": 42,
+ "column": 29
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\3A hover\\3A focus\\3A active"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 43,
+ "column": 31
+ },
+ "end": {
+ "line": 43,
+ "column": 46
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 43,
+ "column": 1
+ },
+ "end": {
+ "line": 43,
+ "column": 48
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#\\[attr\\=value\\]"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 44,
+ "column": 18
+ },
+ "end": {
+ "line": 44,
+ "column": 33
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 44,
+ "column": 1
+ },
+ "end": {
+ "line": 44,
+ "column": 35
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#f\\/o\\/o"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 45,
+ "column": 10
+ },
+ "end": {
+ "line": 45,
+ "column": 25
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 45,
+ "column": 1
+ },
+ "end": {
+ "line": 45,
+ "column": 27
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#f\\\\o\\\\o"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 46,
+ "column": 10
+ },
+ "end": {
+ "line": 46,
+ "column": 25
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 46,
+ "column": 1
+ },
+ "end": {
+ "line": 46,
+ "column": 27
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#f\\*o\\*o"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 47,
+ "column": 10
+ },
+ "end": {
+ "line": 47,
+ "column": 25
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 47,
+ "column": 1
+ },
+ "end": {
+ "line": 47,
+ "column": 27
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#f\\!o\\!o"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 48,
+ "column": 10
+ },
+ "end": {
+ "line": 48,
+ "column": 25
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 48,
+ "column": 1
+ },
+ "end": {
+ "line": 48,
+ "column": 27
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#f\\'o\\'o"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 49,
+ "column": 10
+ },
+ "end": {
+ "line": 49,
+ "column": 25
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 49,
+ "column": 1
+ },
+ "end": {
+ "line": 49,
+ "column": 27
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#f\\~o\\~o"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 50,
+ "column": 10
+ },
+ "end": {
+ "line": 50,
+ "column": 25
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 50,
+ "column": 1
+ },
+ "end": {
+ "line": 50,
+ "column": 27
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "#f\\+o\\+o"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "lime",
+ "position": {
+ "start": {
+ "line": 51,
+ "column": 10
+ },
+ "end": {
+ "line": 51,
+ "column": 25
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 51,
+ "column": 1
+ },
+ "end": {
+ "line": 51,
+ "column": 27
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " css-parse does not yet pass this test ",
+ "position": {
+ "start": {
+ "line": 53,
+ "column": 1
+ },
+ "end": {
+ "line": 53,
+ "column": 44
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": "#\\{\\}{background:lime;}",
+ "position": {
+ "start": {
+ "line": 54,
+ "column": 1
+ },
+ "end": {
+ "line": 54,
+ "column": 28
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/escapes/compressed.css b/test/cases/escapes/compressed.css
new file mode 100644
index 0000000..562d37d
--- /dev/null
+++ b/test/cases/escapes/compressed.css
@@ -0,0 +1 @@
+html{font:1.2em/1.6 Arial;}code{font-family:Consolas;}li code{background:rgba(255, 255, 255, .5);padding:.3em;}li{background:orange;}#♥{background:lime;}#©{background:lime;}#“‘’”{background:lime;}#☺☃{background:lime;}#⌘⌥{background:lime;}#𝄞♪♩♫♬{background:lime;}#\?{background:lime;}#\@{background:lime;}#\.{background:lime;}#\3A \){background:lime;}#\3A \`\({background:lime;}#\31 23{background:lime;}#\31 a2b3c{background:lime;}#\<p\>{background:lime;}#\<\>\<\<\<\>\>\<\>{background:lime;}# [...]
diff --git a/test/cases/escapes/input.css b/test/cases/escapes/input.css
new file mode 100644
index 0000000..b4271ad
--- /dev/null
+++ b/test/cases/escapes/input.css
@@ -0,0 +1,54 @@
+/* tests compressed for easy testing */
+/* http://mathiasbynens.be/notes/css-escapes */
+/* will match elements with class=":`(" */
+.\3A \`\({}
+/* will match elements with class="1a2b3c" */
+.\31 a2b3c{}
+/* will match the element with id="#fake-id" */
+#\#fake-id{}
+/* will match the element with id="---" */
+#\---{}
+/* will match the element with id="-a-b-c-" */
+#-a-b-c-{}
+/* will match the element with id="©" */
+#©{}
+/* More tests from http://mathiasbynens.be/demo/html5-id */
+html{font:1.2em/1.6 Arial;}
+code{font-family:Consolas;}
+li code{background:rgba(255, 255, 255, .5);padding:.3em;}
+li{background:orange;}
+#♥{background:lime;}
+#©{background:lime;}
+#“‘’”{background:lime;}
+#☺☃{background:lime;}
+#⌘⌥{background:lime;}
+#𝄞♪♩♫♬{background:lime;}
+#\?{background:lime;}
+#\@{background:lime;}
+#\.{background:lime;}
+#\3A \){background:lime;}
+#\3A \`\({background:lime;}
+#\31 23{background:lime;}
+#\31 a2b3c{background:lime;}
+#\<p\>{background:lime;}
+#\<\>\<\<\<\>\>\<\>{background:lime;}
+#\+\+\+\+\+\+\+\+\+\+\[\>\+\+\+\+\+\+\+\>\+\+\+\+\+\+\+\+\+\+\>\+\+\+\>\+\<\<\<\<\-\]\>\+\+\.\>\+\.\+\+\+\+\+\+\+\.\.\+\+\+\.\>\+\+\.\<\<\+\+\+\+\+\+\+\+\+\+\+\+\+\+\+\.\>\.\+\+\+\.\-\-\-\-\-\-\.\-\-\-\-\-\-\-\-\.\>\+\.\>\.{background:lime;}
+#\#{background:lime;}
+#\#\#{background:lime;}
+#\#\.\#\.\#{background:lime;}
+#\_{background:lime;}
+#\.fake\-class{background:lime;}
+#foo\.bar{background:lime;}
+#\3A hover{background:lime;}
+#\3A hover\3A focus\3A active{background:lime;}
+#\[attr\=value\]{background:lime;}
+#f\/o\/o{background:lime;}
+#f\\o\\o{background:lime;}
+#f\*o\*o{background:lime;}
+#f\!o\!o{background:lime;}
+#f\'o\'o{background:lime;}
+#f\~o\~o{background:lime;}
+#f\+o\+o{background:lime;}
+
+/* css-parse does not yet pass this test */
+/*#\{\}{background:lime;}*/
diff --git a/test/cases/escapes/output.css b/test/cases/escapes/output.css
new file mode 100644
index 0000000..6f7d390
--- /dev/null
+++ b/test/cases/escapes/output.css
@@ -0,0 +1,178 @@
+/* tests compressed for easy testing */
+
+/* http://mathiasbynens.be/notes/css-escapes */
+
+/* will match elements with class=":`(" */
+
+
+
+/* will match elements with class="1a2b3c" */
+
+
+
+/* will match the element with id="#fake-id" */
+
+
+
+/* will match the element with id="---" */
+
+
+
+/* will match the element with id="-a-b-c-" */
+
+
+
+/* will match the element with id="©" */
+
+
+
+/* More tests from http://mathiasbynens.be/demo/html5-id */
+
+html {
+ font: 1.2em/1.6 Arial;
+}
+
+code {
+ font-family: Consolas;
+}
+
+li code {
+ background: rgba(255, 255, 255, .5);
+ padding: .3em;
+}
+
+li {
+ background: orange;
+}
+
+#♥ {
+ background: lime;
+}
+
+#© {
+ background: lime;
+}
+
+#“‘’” {
+ background: lime;
+}
+
+#☺☃ {
+ background: lime;
+}
+
+#⌘⌥ {
+ background: lime;
+}
+
+#𝄞♪♩♫♬ {
+ background: lime;
+}
+
+#\? {
+ background: lime;
+}
+
+#\@ {
+ background: lime;
+}
+
+#\. {
+ background: lime;
+}
+
+#\3A \) {
+ background: lime;
+}
+
+#\3A \`\( {
+ background: lime;
+}
+
+#\31 23 {
+ background: lime;
+}
+
+#\31 a2b3c {
+ background: lime;
+}
+
+#\<p\> {
+ background: lime;
+}
+
+#\<\>\<\<\<\>\>\<\> {
+ background: lime;
+}
+
+#\+\+\+\+\+\+\+\+\+\+\[\>\+\+\+\+\+\+\+\>\+\+\+\+\+\+\+\+\+\+\>\+\+\+\>\+\<\<\<\<\-\]\>\+\+\.\>\+\.\+\+\+\+\+\+\+\.\.\+\+\+\.\>\+\+\.\<\<\+\+\+\+\+\+\+\+\+\+\+\+\+\+\+\.\>\.\+\+\+\.\-\-\-\-\-\-\.\-\-\-\-\-\-\-\-\.\>\+\.\>\. {
+ background: lime;
+}
+
+#\# {
+ background: lime;
+}
+
+#\#\# {
+ background: lime;
+}
+
+#\#\.\#\.\# {
+ background: lime;
+}
+
+#\_ {
+ background: lime;
+}
+
+#\.fake\-class {
+ background: lime;
+}
+
+#foo\.bar {
+ background: lime;
+}
+
+#\3A hover {
+ background: lime;
+}
+
+#\3A hover\3A focus\3A active {
+ background: lime;
+}
+
+#\[attr\=value\] {
+ background: lime;
+}
+
+#f\/o\/o {
+ background: lime;
+}
+
+#f\\o\\o {
+ background: lime;
+}
+
+#f\*o\*o {
+ background: lime;
+}
+
+#f\!o\!o {
+ background: lime;
+}
+
+#f\'o\'o {
+ background: lime;
+}
+
+#f\~o\~o {
+ background: lime;
+}
+
+#f\+o\+o {
+ background: lime;
+}
+
+/* css-parse does not yet pass this test */
+
+/*#\{\}{background:lime;}*/
diff --git a/test/cases/font-face/ast.json b/test/cases/font-face/ast.json
new file mode 100644
index 0000000..2b0565e
--- /dev/null
+++ b/test/cases/font-face/ast.json
@@ -0,0 +1,90 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "font-face",
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "font-family",
+ "value": "\"Bitstream Vera Serif Bold\"",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 43
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "src",
+ "value": "url(\"http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf\")",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 78
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 4,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "body"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "font-family",
+ "value": "\"Bitstream Vera Serif Bold\", serif",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 3
+ },
+ "end": {
+ "line": 7,
+ "column": 50
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 1
+ },
+ "end": {
+ "line": 8,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/font-face/compressed.css b/test/cases/font-face/compressed.css
new file mode 100644
index 0000000..b08d099
--- /dev/null
+++ b/test/cases/font-face/compressed.css
@@ -0,0 +1 @@
+ at font-face{font-family:"Bitstream Vera Serif Bold";src:url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");}body{font-family:"Bitstream Vera Serif Bold", serif;}
diff --git a/test/cases/font-face/input.css b/test/cases/font-face/input.css
new file mode 100644
index 0000000..09945e6
--- /dev/null
+++ b/test/cases/font-face/input.css
@@ -0,0 +1,8 @@
+ at font-face {
+ font-family: "Bitstream Vera Serif Bold";
+ src: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");
+}
+
+body {
+ font-family: "Bitstream Vera Serif Bold", serif;
+}
diff --git a/test/cases/font-face/output.css b/test/cases/font-face/output.css
new file mode 100644
index 0000000..09945e6
--- /dev/null
+++ b/test/cases/font-face/output.css
@@ -0,0 +1,8 @@
+ at font-face {
+ font-family: "Bitstream Vera Serif Bold";
+ src: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");
+}
+
+body {
+ font-family: "Bitstream Vera Serif Bold", serif;
+}
diff --git a/test/cases/host/ast.json b/test/cases/host/ast.json
new file mode 100644
index 0000000..ac83b1d
--- /dev/null
+++ b/test/cases/host/ast.json
@@ -0,0 +1,58 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "host",
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ ":scope"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "display",
+ "value": "block",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 5
+ },
+ "end": {
+ "line": 3,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 4,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 5,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/host/compressed.css b/test/cases/host/compressed.css
new file mode 100644
index 0000000..509667c
--- /dev/null
+++ b/test/cases/host/compressed.css
@@ -0,0 +1 @@
+ at host{:scope{display:block;}}
diff --git a/test/cases/host/input.css b/test/cases/host/input.css
new file mode 100644
index 0000000..0ec989c
--- /dev/null
+++ b/test/cases/host/input.css
@@ -0,0 +1,5 @@
+ at host {
+ :scope {
+ display: block;
+ }
+}
diff --git a/test/cases/host/output.css b/test/cases/host/output.css
new file mode 100644
index 0000000..0ec989c
--- /dev/null
+++ b/test/cases/host/output.css
@@ -0,0 +1,5 @@
+ at host {
+ :scope {
+ display: block;
+ }
+}
diff --git a/test/cases/import-messed/ast.json b/test/cases/import-messed/ast.json
new file mode 100644
index 0000000..a3d04d3
--- /dev/null
+++ b/test/cases/import-messed/ast.json
@@ -0,0 +1,82 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "import",
+ "import": "url(\"fineprint.css\") print",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 4
+ },
+ "end": {
+ "line": 2,
+ "column": 39
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "import",
+ "import": "url(\"bluish.css\") projection, tv",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 44
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "import",
+ "import": "'custom.css'",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 7
+ },
+ "end": {
+ "line": 4,
+ "column": 28
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "import",
+ "import": "\"common.css\" screen, projection",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 45
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "import",
+ "import": "url('landscape.css') screen and (orientation:landscape)",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 3
+ },
+ "end": {
+ "line": 7,
+ "column": 67
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/import-messed/compressed.css b/test/cases/import-messed/compressed.css
new file mode 100644
index 0000000..9d888ac
--- /dev/null
+++ b/test/cases/import-messed/compressed.css
@@ -0,0 +1 @@
+ at import url("fineprint.css") print;@import url("bluish.css") projection, tv;@import 'custom.css';@import "common.css" screen, projection;@import url('landscape.css') screen and (orientation:landscape);
diff --git a/test/cases/import-messed/input.css b/test/cases/import-messed/input.css
new file mode 100644
index 0000000..6184cf6
--- /dev/null
+++ b/test/cases/import-messed/input.css
@@ -0,0 +1,7 @@
+
+ @import url("fineprint.css") print;
+ @import url("bluish.css") projection, tv;
+ @import 'custom.css';
+ @import "common.css" screen, projection ;
+
+ @import url('landscape.css') screen and (orientation:landscape);
diff --git a/test/cases/import-messed/output.css b/test/cases/import-messed/output.css
new file mode 100644
index 0000000..522ea87
--- /dev/null
+++ b/test/cases/import-messed/output.css
@@ -0,0 +1,9 @@
+ at import url("fineprint.css") print;
+
+ at import url("bluish.css") projection, tv;
+
+ at import 'custom.css';
+
+ at import "common.css" screen, projection;
+
+ at import url('landscape.css') screen and (orientation:landscape);
diff --git a/test/cases/import/ast.json b/test/cases/import/ast.json
new file mode 100644
index 0000000..3b25bc1
--- /dev/null
+++ b/test/cases/import/ast.json
@@ -0,0 +1,82 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "import",
+ "import": "url(\"fineprint.css\") print",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 36
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "import",
+ "import": "url(\"bluish.css\") projection, tv",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1
+ },
+ "end": {
+ "line": 2,
+ "column": 42
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "import",
+ "import": "'custom.css'",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1
+ },
+ "end": {
+ "line": 3,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "import",
+ "import": "\"common.css\" screen, projection",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 1
+ },
+ "end": {
+ "line": 4,
+ "column": 41
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "import",
+ "import": "url('landscape.css') screen and (orientation:landscape)",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 1
+ },
+ "end": {
+ "line": 5,
+ "column": 65
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/import/compressed.css b/test/cases/import/compressed.css
new file mode 100644
index 0000000..9d888ac
--- /dev/null
+++ b/test/cases/import/compressed.css
@@ -0,0 +1 @@
+ at import url("fineprint.css") print;@import url("bluish.css") projection, tv;@import 'custom.css';@import "common.css" screen, projection;@import url('landscape.css') screen and (orientation:landscape);
diff --git a/test/cases/import/input.css b/test/cases/import/input.css
new file mode 100644
index 0000000..f00b9aa
--- /dev/null
+++ b/test/cases/import/input.css
@@ -0,0 +1,5 @@
+ at import url("fineprint.css") print;
+ at import url("bluish.css") projection, tv;
+ at import 'custom.css';
+ at import "common.css" screen, projection;
+ at import url('landscape.css') screen and (orientation:landscape);
diff --git a/test/cases/import/output.css b/test/cases/import/output.css
new file mode 100644
index 0000000..522ea87
--- /dev/null
+++ b/test/cases/import/output.css
@@ -0,0 +1,9 @@
+ at import url("fineprint.css") print;
+
+ at import url("bluish.css") projection, tv;
+
+ at import 'custom.css';
+
+ at import "common.css" screen, projection;
+
+ at import url('landscape.css') screen and (orientation:landscape);
diff --git a/test/cases/keyframes-advanced/ast.json b/test/cases/keyframes-advanced/ast.json
new file mode 100644
index 0000000..ae6b286
--- /dev/null
+++ b/test/cases/keyframes-advanced/ast.json
@@ -0,0 +1,129 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "keyframes",
+ "name": "advanced",
+ "keyframes": [
+ {
+ "type": "keyframe",
+ "values": [
+ "top"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "opacity[sqrt]",
+ "value": "0",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 5
+ },
+ "end": {
+ "line": 3,
+ "column": 21
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 4,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "keyframe",
+ "values": [
+ "100"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "opacity",
+ "value": "0.5",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 5
+ },
+ "end": {
+ "line": 7,
+ "column": 17
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 3
+ },
+ "end": {
+ "line": 8,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "keyframe",
+ "values": [
+ "bottom"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "opacity",
+ "value": "1",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 5
+ },
+ "end": {
+ "line": 11,
+ "column": 15
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 3
+ },
+ "end": {
+ "line": 12,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 13,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/keyframes-advanced/compressed.css b/test/cases/keyframes-advanced/compressed.css
new file mode 100644
index 0000000..356ed66
--- /dev/null
+++ b/test/cases/keyframes-advanced/compressed.css
@@ -0,0 +1 @@
+ at keyframes advanced{top{opacity[sqrt]:0;}100{opacity:0.5;}bottom{opacity:1;}}
diff --git a/test/cases/keyframes-advanced/input.css b/test/cases/keyframes-advanced/input.css
new file mode 100644
index 0000000..c509a11
--- /dev/null
+++ b/test/cases/keyframes-advanced/input.css
@@ -0,0 +1,13 @@
+ at keyframes advanced {
+ top {
+ opacity[sqrt]: 0;
+ }
+
+ 100 {
+ opacity: 0.5;
+ }
+
+ bottom {
+ opacity: 1;
+ }
+}
diff --git a/test/cases/keyframes-advanced/output.css b/test/cases/keyframes-advanced/output.css
new file mode 100644
index 0000000..c509a11
--- /dev/null
+++ b/test/cases/keyframes-advanced/output.css
@@ -0,0 +1,13 @@
+ at keyframes advanced {
+ top {
+ opacity[sqrt]: 0;
+ }
+
+ 100 {
+ opacity: 0.5;
+ }
+
+ bottom {
+ opacity: 1;
+ }
+}
diff --git a/test/cases/keyframes-complex/ast.json b/test/cases/keyframes-complex/ast.json
new file mode 100644
index 0000000..d2c784f
--- /dev/null
+++ b/test/cases/keyframes-complex/ast.json
@@ -0,0 +1,198 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "keyframes",
+ "name": "foo",
+ "keyframes": [
+ {
+ "type": "keyframe",
+ "values": [
+ "0%"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "top",
+ "value": "0",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 8
+ },
+ "end": {
+ "line": 2,
+ "column": 14
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "left",
+ "value": "0",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 16
+ },
+ "end": {
+ "line": 2,
+ "column": 24
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 25
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "keyframe",
+ "values": [
+ "30.50%"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "top",
+ "value": "50px",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 12
+ },
+ "end": {
+ "line": 3,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 23
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "keyframe",
+ "values": [
+ ".68%",
+ "72%",
+ "85%"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "left",
+ "value": "50px",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 15
+ },
+ "end": {
+ "line": 6,
+ "column": 26
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 3
+ },
+ "end": {
+ "line": 6,
+ "column": 27
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "keyframe",
+ "values": [
+ "100%"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "top",
+ "value": "100px",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 10
+ },
+ "end": {
+ "line": 7,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "left",
+ "value": "100%",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 22
+ },
+ "end": {
+ "line": 7,
+ "column": 33
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 3
+ },
+ "end": {
+ "line": 7,
+ "column": 34
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 8,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/keyframes-complex/compressed.css b/test/cases/keyframes-complex/compressed.css
new file mode 100644
index 0000000..5d39f58
--- /dev/null
+++ b/test/cases/keyframes-complex/compressed.css
@@ -0,0 +1 @@
+ at keyframes foo{0%{top:0;left:0;}30.50%{top:50px;}.68%,72%,85%{left:50px;}100%{top:100px;left:100%;}}
diff --git a/test/cases/keyframes-complex/input.css b/test/cases/keyframes-complex/input.css
new file mode 100644
index 0000000..949dcc0
--- /dev/null
+++ b/test/cases/keyframes-complex/input.css
@@ -0,0 +1,8 @@
+ at keyframes foo {
+ 0% { top: 0; left: 0 }
+ 30.50% { top: 50px }
+ .68% ,
+ 72%
+ , 85% { left: 50px }
+ 100% { top: 100px; left: 100% }
+}
diff --git a/test/cases/keyframes-complex/output.css b/test/cases/keyframes-complex/output.css
new file mode 100644
index 0000000..c1e23d9
--- /dev/null
+++ b/test/cases/keyframes-complex/output.css
@@ -0,0 +1,19 @@
+ at keyframes foo {
+ 0% {
+ top: 0;
+ left: 0;
+ }
+
+ 30.50% {
+ top: 50px;
+ }
+
+ .68%, 72%, 85% {
+ left: 50px;
+ }
+
+ 100% {
+ top: 100px;
+ left: 100%;
+ }
+}
diff --git a/test/cases/keyframes-messed/ast.json b/test/cases/keyframes-messed/ast.json
new file mode 100644
index 0000000..09a434c
--- /dev/null
+++ b/test/cases/keyframes-messed/ast.json
@@ -0,0 +1,94 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "keyframes",
+ "name": "fade",
+ "keyframes": [
+ {
+ "type": "keyframe",
+ "values": [
+ "from"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "opacity",
+ "value": "0",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 4
+ },
+ "end": {
+ "line": 2,
+ "column": 14
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 18
+ },
+ "end": {
+ "line": 3,
+ "column": 7
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "keyframe",
+ "values": [
+ "to"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "opacity",
+ "value": "1",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 6
+ },
+ "end": {
+ "line": 6,
+ "column": 16
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 1
+ },
+ "end": {
+ "line": 6,
+ "column": 18
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 6,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/keyframes-messed/compressed.css b/test/cases/keyframes-messed/compressed.css
new file mode 100644
index 0000000..d0bfb39
--- /dev/null
+++ b/test/cases/keyframes-messed/compressed.css
@@ -0,0 +1 @@
+ at keyframes fade{from{opacity:0;}to{opacity:1;}}
diff --git a/test/cases/keyframes-messed/input.css b/test/cases/keyframes-messed/input.css
new file mode 100644
index 0000000..db0cdc6
--- /dev/null
+++ b/test/cases/keyframes-messed/input.css
@@ -0,0 +1,6 @@
+ at keyframes fade {from
+ {opacity: 0;
+ }
+to
+ {
+ opacity: 1;}}
diff --git a/test/cases/keyframes-messed/output.css b/test/cases/keyframes-messed/output.css
new file mode 100644
index 0000000..cf6a2f7
--- /dev/null
+++ b/test/cases/keyframes-messed/output.css
@@ -0,0 +1,9 @@
+ at keyframes fade {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+}
diff --git a/test/cases/keyframes-vendor/ast.json b/test/cases/keyframes-vendor/ast.json
new file mode 100644
index 0000000..9ae465f
--- /dev/null
+++ b/test/cases/keyframes-vendor/ast.json
@@ -0,0 +1,95 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "keyframes",
+ "name": "fade",
+ "vendor": "-webkit-",
+ "keyframes": [
+ {
+ "type": "keyframe",
+ "values": [
+ "from"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "opacity",
+ "value": "0",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 10
+ },
+ "end": {
+ "line": 2,
+ "column": 21
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "keyframe",
+ "values": [
+ "to"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "opacity",
+ "value": "1",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 8
+ },
+ "end": {
+ "line": 3,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 4,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/keyframes-vendor/compressed.css b/test/cases/keyframes-vendor/compressed.css
new file mode 100644
index 0000000..a6083d6
--- /dev/null
+++ b/test/cases/keyframes-vendor/compressed.css
@@ -0,0 +1 @@
+ at -webkit-keyframes fade{from{opacity:0;}to{opacity:1;}}
diff --git a/test/cases/keyframes-vendor/input.css b/test/cases/keyframes-vendor/input.css
new file mode 100644
index 0000000..e66443a
--- /dev/null
+++ b/test/cases/keyframes-vendor/input.css
@@ -0,0 +1,4 @@
+ at -webkit-keyframes fade {
+ from { opacity: 0 }
+ to { opacity: 1 }
+}
diff --git a/test/cases/keyframes-vendor/output.css b/test/cases/keyframes-vendor/output.css
new file mode 100644
index 0000000..ca60d6b
--- /dev/null
+++ b/test/cases/keyframes-vendor/output.css
@@ -0,0 +1,9 @@
+ at -webkit-keyframes fade {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+}
diff --git a/test/cases/keyframes/ast.json b/test/cases/keyframes/ast.json
new file mode 100644
index 0000000..903fd4a
--- /dev/null
+++ b/test/cases/keyframes/ast.json
@@ -0,0 +1,154 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "keyframes",
+ "name": "fade",
+ "keyframes": [
+ {
+ "type": "comment",
+ "comment": " from above ",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "keyframe",
+ "values": [
+ "from"
+ ],
+ "declarations": [
+ {
+ "type": "comment",
+ "comment": " from inside ",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 5
+ },
+ "end": {
+ "line": 4,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "opacity",
+ "value": "0",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 5
+ },
+ "end": {
+ "line": 5,
+ "column": 15
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 6,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " to above ",
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 3
+ },
+ "end": {
+ "line": 8,
+ "column": 17
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "keyframe",
+ "values": [
+ "to"
+ ],
+ "declarations": [
+ {
+ "type": "comment",
+ "comment": " to inside ",
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 5
+ },
+ "end": {
+ "line": 10,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "opacity",
+ "value": "1",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 5
+ },
+ "end": {
+ "line": 11,
+ "column": 15
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 3
+ },
+ "end": {
+ "line": 12,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 13,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/keyframes/compressed.css b/test/cases/keyframes/compressed.css
new file mode 100644
index 0000000..d0bfb39
--- /dev/null
+++ b/test/cases/keyframes/compressed.css
@@ -0,0 +1 @@
+ at keyframes fade{from{opacity:0;}to{opacity:1;}}
diff --git a/test/cases/keyframes/input.css b/test/cases/keyframes/input.css
new file mode 100644
index 0000000..bf50548
--- /dev/null
+++ b/test/cases/keyframes/input.css
@@ -0,0 +1,13 @@
+ at keyframes fade {
+ /* from above */
+ from {
+ /* from inside */
+ opacity: 0;
+ }
+
+ /* to above */
+ to {
+ /* to inside */
+ opacity: 1;
+ }
+}
diff --git a/test/cases/keyframes/output.css b/test/cases/keyframes/output.css
new file mode 100644
index 0000000..bf50548
--- /dev/null
+++ b/test/cases/keyframes/output.css
@@ -0,0 +1,13 @@
+ at keyframes fade {
+ /* from above */
+ from {
+ /* from inside */
+ opacity: 0;
+ }
+
+ /* to above */
+ to {
+ /* to inside */
+ opacity: 1;
+ }
+}
diff --git a/test/cases/media-messed/ast.json b/test/cases/media-messed/ast.json
new file mode 100644
index 0000000..394b3b6
--- /dev/null
+++ b/test/cases/media-messed/ast.json
@@ -0,0 +1,245 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "media",
+ "media": "screen, projection",
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "html"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "#fffef0",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 1
+ },
+ "end": {
+ "line": 4,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "color",
+ "value": "#300",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 5
+ },
+ "end": {
+ "line": 5,
+ "column": 15
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 28
+ },
+ "end": {
+ "line": 6,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "body"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "max-width",
+ "value": "35em",
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 5
+ },
+ "end": {
+ "line": 10,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "margin",
+ "value": "0 auto",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 5
+ },
+ "end": {
+ "line": 11,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 3
+ },
+ "end": {
+ "line": 14,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 15,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "media",
+ "media": "print",
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "html"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "#fff",
+ "position": {
+ "start": {
+ "line": 20,
+ "column": 15
+ },
+ "end": {
+ "line": 20,
+ "column": 31
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "color",
+ "value": "#000",
+ "position": {
+ "start": {
+ "line": 21,
+ "column": 15
+ },
+ "end": {
+ "line": 21,
+ "column": 26
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 19,
+ "column": 15
+ },
+ "end": {
+ "line": 22,
+ "column": 16
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "body"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "padding",
+ "value": "1in",
+ "position": {
+ "start": {
+ "line": 24,
+ "column": 15
+ },
+ "end": {
+ "line": 24,
+ "column": 27
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "border",
+ "value": "0.5pt solid #666",
+ "position": {
+ "start": {
+ "line": 25,
+ "column": 15
+ },
+ "end": {
+ "line": 25,
+ "column": 39
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 23,
+ "column": 15
+ },
+ "end": {
+ "line": 26,
+ "column": 16
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 17,
+ "column": 1
+ },
+ "end": {
+ "line": 27,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/media-messed/compressed.css b/test/cases/media-messed/compressed.css
new file mode 100644
index 0000000..a34785a
--- /dev/null
+++ b/test/cases/media-messed/compressed.css
@@ -0,0 +1 @@
+ at media screen, projection{html{background:#fffef0;color:#300;}body{max-width:35em;margin:0 auto;}}@media print{html{background:#fff;color:#000;}body{padding:1in;border:0.5pt solid #666;}}
diff --git a/test/cases/media-messed/input.css b/test/cases/media-messed/input.css
new file mode 100644
index 0000000..ac819df
--- /dev/null
+++ b/test/cases/media-messed/input.css
@@ -0,0 +1,27 @@
+ at media screen, projection{ html
+
+ {
+background: #fffef0;
+ color:#300;
+ }
+ body
+
+{
+ max-width: 35em;
+ margin: 0 auto;
+
+
+}
+ }
+
+ at media print
+{
+ html {
+ background: #fff;
+ color: #000;
+ }
+ body {
+ padding: 1in;
+ border: 0.5pt solid #666;
+ }
+}
diff --git a/test/cases/media-messed/output.css b/test/cases/media-messed/output.css
new file mode 100644
index 0000000..c234e7d
--- /dev/null
+++ b/test/cases/media-messed/output.css
@@ -0,0 +1,23 @@
+ at media screen, projection {
+ html {
+ background: #fffef0;
+ color: #300;
+ }
+
+ body {
+ max-width: 35em;
+ margin: 0 auto;
+ }
+}
+
+ at media print {
+ html {
+ background: #fff;
+ color: #000;
+ }
+
+ body {
+ padding: 1in;
+ border: 0.5pt solid #666;
+ }
+}
diff --git a/test/cases/media/ast.json b/test/cases/media/ast.json
new file mode 100644
index 0000000..2738a30
--- /dev/null
+++ b/test/cases/media/ast.json
@@ -0,0 +1,305 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "media",
+ "media": "screen, projection",
+ "rules": [
+ {
+ "type": "comment",
+ "comment": " html above ",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "html"
+ ],
+ "declarations": [
+ {
+ "type": "comment",
+ "comment": " html inside ",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 5
+ },
+ "end": {
+ "line": 4,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "#fffef0",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 5
+ },
+ "end": {
+ "line": 5,
+ "column": 24
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "color",
+ "value": "#300",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 5
+ },
+ "end": {
+ "line": 6,
+ "column": 16
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 7,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "comment",
+ "comment": " body above ",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 3
+ },
+ "end": {
+ "line": 9,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "body"
+ ],
+ "declarations": [
+ {
+ "type": "comment",
+ "comment": " body inside ",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 5
+ },
+ "end": {
+ "line": 11,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "max-width",
+ "value": "35em",
+ "position": {
+ "start": {
+ "line": 12,
+ "column": 5
+ },
+ "end": {
+ "line": 12,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "margin",
+ "value": "0 auto",
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 5
+ },
+ "end": {
+ "line": 13,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 3
+ },
+ "end": {
+ "line": 14,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 15,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "media",
+ "media": "print",
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "html"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "#fff",
+ "position": {
+ "start": {
+ "line": 19,
+ "column": 5
+ },
+ "end": {
+ "line": 19,
+ "column": 21
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "color",
+ "value": "#000",
+ "position": {
+ "start": {
+ "line": 20,
+ "column": 5
+ },
+ "end": {
+ "line": 20,
+ "column": 16
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 18,
+ "column": 3
+ },
+ "end": {
+ "line": 21,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "body"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "padding",
+ "value": "1in",
+ "position": {
+ "start": {
+ "line": 23,
+ "column": 5
+ },
+ "end": {
+ "line": 23,
+ "column": 17
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "border",
+ "value": "0.5pt solid #666",
+ "position": {
+ "start": {
+ "line": 24,
+ "column": 5
+ },
+ "end": {
+ "line": 24,
+ "column": 29
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 22,
+ "column": 3
+ },
+ "end": {
+ "line": 25,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 17,
+ "column": 1
+ },
+ "end": {
+ "line": 26,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/media/compressed.css b/test/cases/media/compressed.css
new file mode 100644
index 0000000..a34785a
--- /dev/null
+++ b/test/cases/media/compressed.css
@@ -0,0 +1 @@
+ at media screen, projection{html{background:#fffef0;color:#300;}body{max-width:35em;margin:0 auto;}}@media print{html{background:#fff;color:#000;}body{padding:1in;border:0.5pt solid #666;}}
diff --git a/test/cases/media/input.css b/test/cases/media/input.css
new file mode 100644
index 0000000..8ab3a73
--- /dev/null
+++ b/test/cases/media/input.css
@@ -0,0 +1,26 @@
+ at media screen, projection {
+ /* html above */
+ html {
+ /* html inside */
+ background: #fffef0;
+ color: #300;
+ }
+
+ /* body above */
+ body {
+ /* body inside */
+ max-width: 35em;
+ margin: 0 auto;
+ }
+}
+
+ at media print {
+ html {
+ background: #fff;
+ color: #000;
+ }
+ body {
+ padding: 1in;
+ border: 0.5pt solid #666;
+ }
+}
diff --git a/test/cases/media/output.css b/test/cases/media/output.css
new file mode 100644
index 0000000..7ad55b0
--- /dev/null
+++ b/test/cases/media/output.css
@@ -0,0 +1,29 @@
+ at media screen, projection {
+ /* html above */
+
+ html {
+ /* html inside */
+ background: #fffef0;
+ color: #300;
+ }
+
+ /* body above */
+
+ body {
+ /* body inside */
+ max-width: 35em;
+ margin: 0 auto;
+ }
+}
+
+ at media print {
+ html {
+ background: #fff;
+ color: #000;
+ }
+
+ body {
+ padding: 1in;
+ border: 0.5pt solid #666;
+ }
+}
diff --git a/test/cases/messed-up/ast.json b/test/cases/messed-up/ast.json
new file mode 100644
index 0000000..a256f4e
--- /dev/null
+++ b/test/cases/messed-up/ast.json
@@ -0,0 +1,144 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "body"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "foo",
+ "value": "'bar'",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 8
+ },
+ "end": {
+ "line": 3,
+ "column": 9
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 3,
+ "column": 10
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "body"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "foo",
+ "value": "bar",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 9
+ },
+ "end": {
+ "line": 5,
+ "column": 16
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "bar",
+ "value": "baz",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 17
+ },
+ "end": {
+ "line": 5,
+ "column": 24
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 4
+ },
+ "end": {
+ "line": 5,
+ "column": 25
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "body"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "foo",
+ "value": "bar",
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 6
+ },
+ "end": {
+ "line": 11,
+ "column": 6
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "bar",
+ "value": "baz",
+ "position": {
+ "start": {
+ "line": 12,
+ "column": 6
+ },
+ "end": {
+ "line": 15,
+ "column": 6
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 4
+ },
+ "end": {
+ "line": 15,
+ "column": 7
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/messed-up/compressed.css b/test/cases/messed-up/compressed.css
new file mode 100644
index 0000000..121cad6
--- /dev/null
+++ b/test/cases/messed-up/compressed.css
@@ -0,0 +1 @@
+body{foo:'bar';}body{foo:bar;bar:baz;}body{foo:bar;bar:baz;}
diff --git a/test/cases/messed-up/input.css b/test/cases/messed-up/input.css
new file mode 100644
index 0000000..db2f1d5
--- /dev/null
+++ b/test/cases/messed-up/input.css
@@ -0,0 +1,15 @@
+body { foo
+ :
+ 'bar' }
+
+ body{foo:bar;bar:baz}
+ body
+ {
+ foo
+ :
+ bar
+ ;
+ bar
+ :
+ baz
+ }
diff --git a/test/cases/messed-up/output.css b/test/cases/messed-up/output.css
new file mode 100644
index 0000000..9d0ae57
--- /dev/null
+++ b/test/cases/messed-up/output.css
@@ -0,0 +1,13 @@
+body {
+ foo: 'bar';
+}
+
+body {
+ foo: bar;
+ bar: baz;
+}
+
+body {
+ foo: bar;
+ bar: baz;
+}
diff --git a/test/cases/namespace/ast.json b/test/cases/namespace/ast.json
new file mode 100644
index 0000000..60fa4fb
--- /dev/null
+++ b/test/cases/namespace/ast.json
@@ -0,0 +1,37 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "namespace",
+ "namespace": "\"http://www.w3.org/1999/xhtml\"",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 43
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "namespace",
+ "namespace": "svg \"http://www.w3.org/2000/svg\"",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1
+ },
+ "end": {
+ "line": 2,
+ "column": 45
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/namespace/compressed.css b/test/cases/namespace/compressed.css
new file mode 100644
index 0000000..3ced7e1
--- /dev/null
+++ b/test/cases/namespace/compressed.css
@@ -0,0 +1 @@
+ at namespace "http://www.w3.org/1999/xhtml";@namespace svg "http://www.w3.org/2000/svg";
diff --git a/test/cases/namespace/input.css b/test/cases/namespace/input.css
new file mode 100644
index 0000000..3c0e5d3
--- /dev/null
+++ b/test/cases/namespace/input.css
@@ -0,0 +1,2 @@
+ at namespace "http://www.w3.org/1999/xhtml";
+ at namespace svg "http://www.w3.org/2000/svg";
diff --git a/test/cases/namespace/output.css b/test/cases/namespace/output.css
new file mode 100644
index 0000000..668906a
--- /dev/null
+++ b/test/cases/namespace/output.css
@@ -0,0 +1,3 @@
+ at namespace "http://www.w3.org/1999/xhtml";
+
+ at namespace svg "http://www.w3.org/2000/svg";
diff --git a/test/cases/no-semi/ast.json b/test/cases/no-semi/ast.json
new file mode 100644
index 0000000..6012ecc
--- /dev/null
+++ b/test/cases/no-semi/ast.json
@@ -0,0 +1,58 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "tobi loki jane"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "are",
+ "value": "'all'",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 13
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "the-species",
+ "value": "called \"ferrets\"",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 1
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1
+ },
+ "end": {
+ "line": 5,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/no-semi/compressed.css b/test/cases/no-semi/compressed.css
new file mode 100644
index 0000000..950d12e
--- /dev/null
+++ b/test/cases/no-semi/compressed.css
@@ -0,0 +1 @@
+tobi loki jane{are:'all';the-species:called "ferrets";}
diff --git a/test/cases/no-semi/input.css b/test/cases/no-semi/input.css
new file mode 100644
index 0000000..652cdf2
--- /dev/null
+++ b/test/cases/no-semi/input.css
@@ -0,0 +1,5 @@
+
+tobi loki jane {
+ are: 'all';
+ the-species: called "ferrets"
+}
diff --git a/test/cases/no-semi/output.css b/test/cases/no-semi/output.css
new file mode 100644
index 0000000..f6846c9
--- /dev/null
+++ b/test/cases/no-semi/output.css
@@ -0,0 +1,4 @@
+tobi loki jane {
+ are: 'all';
+ the-species: called "ferrets";
+}
diff --git a/test/cases/paged-media/ast.json b/test/cases/paged-media/ast.json
new file mode 100644
index 0000000..1233387
--- /dev/null
+++ b/test/cases/paged-media/ast.json
@@ -0,0 +1,141 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "comment",
+ "comment": " toc above ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 16
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "page",
+ "selectors": [
+ "toc",
+ "index:blank"
+ ],
+ "declarations": [
+ {
+ "type": "comment",
+ "comment": " toc inside ",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "color",
+ "value": "green",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 3
+ },
+ "end": {
+ "line": 4,
+ "column": 15
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1
+ },
+ "end": {
+ "line": 5,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "page",
+ "selectors": [],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "font-size",
+ "value": "16pt",
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 3
+ },
+ "end": {
+ "line": 8,
+ "column": 18
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 1
+ },
+ "end": {
+ "line": 9,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "page",
+ "selectors": [
+ ":left"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "margin-left",
+ "value": "5cm",
+ "position": {
+ "start": {
+ "line": 12,
+ "column": 3
+ },
+ "end": {
+ "line": 12,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 1
+ },
+ "end": {
+ "line": 13,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/paged-media/compressed.css b/test/cases/paged-media/compressed.css
new file mode 100644
index 0000000..1311316
--- /dev/null
+++ b/test/cases/paged-media/compressed.css
@@ -0,0 +1 @@
+ at page toc, index:blank{color:green;}@page {font-size:16pt;}@page :left{margin-left:5cm;}
diff --git a/test/cases/paged-media/input.css b/test/cases/paged-media/input.css
new file mode 100644
index 0000000..68b8e0f
--- /dev/null
+++ b/test/cases/paged-media/input.css
@@ -0,0 +1,13 @@
+/* toc above */
+ at page toc, index:blank {
+ /* toc inside */
+ color: green;
+}
+
+ at page {
+ font-size: 16pt;
+}
+
+ at page :left {
+ margin-left: 5cm;
+}
diff --git a/test/cases/paged-media/output.css b/test/cases/paged-media/output.css
new file mode 100644
index 0000000..583fcc9
--- /dev/null
+++ b/test/cases/paged-media/output.css
@@ -0,0 +1,14 @@
+/* toc above */
+
+ at page toc, index:blank {
+ /* toc inside */
+ color: green;
+}
+
+ at page {
+ font-size: 16pt;
+}
+
+ at page :left {
+ margin-left: 5cm;
+}
diff --git a/test/cases/props/ast.json b/test/cases/props/ast.json
new file mode 100644
index 0000000..4954e60
--- /dev/null
+++ b/test/cases/props/ast.json
@@ -0,0 +1,74 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "tobi loki jane"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "are",
+ "value": "'all'",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 13
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "the-species",
+ "value": "called \"ferrets\"",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 3
+ },
+ "end": {
+ "line": 4,
+ "column": 32
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "*even",
+ "value": "'ie crap'",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1
+ },
+ "end": {
+ "line": 6,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/props/compressed.css b/test/cases/props/compressed.css
new file mode 100644
index 0000000..74db6be
--- /dev/null
+++ b/test/cases/props/compressed.css
@@ -0,0 +1 @@
+tobi loki jane{are:'all';the-species:called "ferrets";*even:'ie crap';}
diff --git a/test/cases/props/input.css b/test/cases/props/input.css
new file mode 100644
index 0000000..6549151
--- /dev/null
+++ b/test/cases/props/input.css
@@ -0,0 +1,6 @@
+
+tobi loki jane {
+ are: 'all';
+ the-species: called "ferrets";
+ *even: 'ie crap';
+}
diff --git a/test/cases/props/output.css b/test/cases/props/output.css
new file mode 100644
index 0000000..3a904c7
--- /dev/null
+++ b/test/cases/props/output.css
@@ -0,0 +1,5 @@
+tobi loki jane {
+ are: 'all';
+ the-species: called "ferrets";
+ *even: 'ie crap';
+}
diff --git a/test/cases/quoted/ast.json b/test/cases/quoted/ast.json
new file mode 100644
index 0000000..8b3d600
--- /dev/null
+++ b/test/cases/quoted/ast.json
@@ -0,0 +1,42 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "body"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "background",
+ "value": "url('some;stuff;here') 50% 50% no-repeat",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 55
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 3,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/quoted/compressed.css b/test/cases/quoted/compressed.css
new file mode 100644
index 0000000..dd590ea
--- /dev/null
+++ b/test/cases/quoted/compressed.css
@@ -0,0 +1 @@
+body{background:url('some;stuff;here') 50% 50% no-repeat;}
diff --git a/test/cases/quoted/input.css b/test/cases/quoted/input.css
new file mode 100644
index 0000000..db59322
--- /dev/null
+++ b/test/cases/quoted/input.css
@@ -0,0 +1,3 @@
+body {
+ background: url('some;stuff;here') 50% 50% no-repeat;
+}
diff --git a/test/cases/quoted/output.css b/test/cases/quoted/output.css
new file mode 100644
index 0000000..db59322
--- /dev/null
+++ b/test/cases/quoted/output.css
@@ -0,0 +1,3 @@
+body {
+ background: url('some;stuff;here') 50% 50% no-repeat;
+}
diff --git a/test/cases/rule/ast.json b/test/cases/rule/ast.json
new file mode 100644
index 0000000..5fc492b
--- /dev/null
+++ b/test/cases/rule/ast.json
@@ -0,0 +1,42 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "foo"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "bar",
+ "value": "'baz'",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 3,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/rule/compressed.css b/test/cases/rule/compressed.css
new file mode 100644
index 0000000..50c2e11
--- /dev/null
+++ b/test/cases/rule/compressed.css
@@ -0,0 +1 @@
+foo{bar:'baz';}
diff --git a/test/cases/rule/input.css b/test/cases/rule/input.css
new file mode 100644
index 0000000..0e962ba
--- /dev/null
+++ b/test/cases/rule/input.css
@@ -0,0 +1,3 @@
+foo {
+ bar: 'baz';
+}
diff --git a/test/cases/rule/output.css b/test/cases/rule/output.css
new file mode 100644
index 0000000..0e962ba
--- /dev/null
+++ b/test/cases/rule/output.css
@@ -0,0 +1,3 @@
+foo {
+ bar: 'baz';
+}
diff --git a/test/cases/rules/ast.json b/test/cases/rules/ast.json
new file mode 100644
index 0000000..6d82ccc
--- /dev/null
+++ b/test/cases/rules/ast.json
@@ -0,0 +1,109 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "tobi"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "name",
+ "value": "'tobi'",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 15
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "age",
+ "value": "2",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 9
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 4,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "loki"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "name",
+ "value": "'loki'",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 3
+ },
+ "end": {
+ "line": 7,
+ "column": 15
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "age",
+ "value": "1",
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 3
+ },
+ "end": {
+ "line": 8,
+ "column": 9
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 1
+ },
+ "end": {
+ "line": 9,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/rules/compressed.css b/test/cases/rules/compressed.css
new file mode 100644
index 0000000..3a4188c
--- /dev/null
+++ b/test/cases/rules/compressed.css
@@ -0,0 +1 @@
+tobi{name:'tobi';age:2;}loki{name:'loki';age:1;}
diff --git a/test/cases/rules/input.css b/test/cases/rules/input.css
new file mode 100644
index 0000000..5b98d01
--- /dev/null
+++ b/test/cases/rules/input.css
@@ -0,0 +1,9 @@
+tobi {
+ name: 'tobi';
+ age: 2;
+}
+
+loki {
+ name: 'loki';
+ age: 1;
+}
diff --git a/test/cases/rules/output.css b/test/cases/rules/output.css
new file mode 100644
index 0000000..5b98d01
--- /dev/null
+++ b/test/cases/rules/output.css
@@ -0,0 +1,9 @@
+tobi {
+ name: 'tobi';
+ age: 2;
+}
+
+loki {
+ name: 'loki';
+ age: 1;
+}
diff --git a/test/cases/selectors/ast.json b/test/cases/selectors/ast.json
new file mode 100644
index 0000000..16801b2
--- /dev/null
+++ b/test/cases/selectors/ast.json
@@ -0,0 +1,44 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ "foo",
+ "bar",
+ "baz"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "color",
+ "value": "'black'",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 3
+ },
+ "end": {
+ "line": 4,
+ "column": 17
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 5,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/selectors/compressed.css b/test/cases/selectors/compressed.css
new file mode 100644
index 0000000..ee0faf9
--- /dev/null
+++ b/test/cases/selectors/compressed.css
@@ -0,0 +1 @@
+foo,bar,baz{color:'black';}
diff --git a/test/cases/selectors/input.css b/test/cases/selectors/input.css
new file mode 100644
index 0000000..9f214f1
--- /dev/null
+++ b/test/cases/selectors/input.css
@@ -0,0 +1,5 @@
+foo,
+bar,
+baz {
+ color: 'black';
+}
diff --git a/test/cases/selectors/output.css b/test/cases/selectors/output.css
new file mode 100644
index 0000000..9f214f1
--- /dev/null
+++ b/test/cases/selectors/output.css
@@ -0,0 +1,5 @@
+foo,
+bar,
+baz {
+ color: 'black';
+}
diff --git a/test/cases/supports/ast.json b/test/cases/supports/ast.json
new file mode 100644
index 0000000..11f417b
--- /dev/null
+++ b/test/cases/supports/ast.json
@@ -0,0 +1,140 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "supports",
+ "supports": "(display: flex) or (display: box)",
+ "rules": [
+ {
+ "type": "comment",
+ "comment": " flex above ",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 19
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ ".flex"
+ ],
+ "declarations": [
+ {
+ "type": "comment",
+ "comment": " flex inside ",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 5
+ },
+ "end": {
+ "line": 4,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "display",
+ "value": "box",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 5
+ },
+ "end": {
+ "line": 5,
+ "column": 17
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "display",
+ "value": "flex",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 5
+ },
+ "end": {
+ "line": 6,
+ "column": 18
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 7,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "rule",
+ "selectors": [
+ "div"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "something",
+ "value": "else",
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 5
+ },
+ "end": {
+ "line": 10,
+ "column": 20
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 3
+ },
+ "end": {
+ "line": 11,
+ "column": 4
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 12,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/supports/compressed.css b/test/cases/supports/compressed.css
new file mode 100644
index 0000000..9155dbe
--- /dev/null
+++ b/test/cases/supports/compressed.css
@@ -0,0 +1 @@
+ at supports (display: flex) or (display: box){.flex{display:box;display:flex;}div{something:else;}}
diff --git a/test/cases/supports/input.css b/test/cases/supports/input.css
new file mode 100644
index 0000000..383d0dc
--- /dev/null
+++ b/test/cases/supports/input.css
@@ -0,0 +1,12 @@
+ at supports (display: flex) or (display: box) {
+ /* flex above */
+ .flex {
+ /* flex inside */
+ display: box;
+ display: flex;
+ }
+
+ div {
+ something: else;
+ }
+}
diff --git a/test/cases/supports/output.css b/test/cases/supports/output.css
new file mode 100644
index 0000000..a03e8f2
--- /dev/null
+++ b/test/cases/supports/output.css
@@ -0,0 +1,13 @@
+ at supports (display: flex) or (display: box) {
+ /* flex above */
+
+ .flex {
+ /* flex inside */
+ display: box;
+ display: flex;
+ }
+
+ div {
+ something: else;
+ }
+}
diff --git a/test/cases/wtf/ast.json b/test/cases/wtf/ast.json
new file mode 100644
index 0000000..db216ef
--- /dev/null
+++ b/test/cases/wtf/ast.json
@@ -0,0 +1,74 @@
+{
+ "type": "stylesheet",
+ "stylesheet": {
+ "rules": [
+ {
+ "type": "rule",
+ "selectors": [
+ ".wtf"
+ ],
+ "declarations": [
+ {
+ "type": "declaration",
+ "property": "*overflow-x",
+ "value": "hidden",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "//max-height",
+ "value": "110px",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 22
+ },
+ "source": "input.css"
+ }
+ },
+ {
+ "type": "declaration",
+ "property": "#height",
+ "value": "18px",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 3
+ },
+ "end": {
+ "line": 4,
+ "column": 16
+ },
+ "source": "input.css"
+ }
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 5,
+ "column": 2
+ },
+ "source": "input.css"
+ }
+ }
+ ]
+ }
+}
diff --git a/test/cases/wtf/compressed.css b/test/cases/wtf/compressed.css
new file mode 100644
index 0000000..afa1d5b
--- /dev/null
+++ b/test/cases/wtf/compressed.css
@@ -0,0 +1 @@
+.wtf{*overflow-x:hidden;//max-height:110px;#height:18px;}
diff --git a/test/cases/wtf/input.css b/test/cases/wtf/input.css
new file mode 100644
index 0000000..56fe8ea
--- /dev/null
+++ b/test/cases/wtf/input.css
@@ -0,0 +1,5 @@
+.wtf {
+ *overflow-x: hidden;
+ //max-height: 110px;
+ #height: 18px;
+}
diff --git a/test/cases/wtf/output.css b/test/cases/wtf/output.css
new file mode 100644
index 0000000..56fe8ea
--- /dev/null
+++ b/test/cases/wtf/output.css
@@ -0,0 +1,5 @@
+.wtf {
+ *overflow-x: hidden;
+ //max-height: 110px;
+ #height: 18px;
+}
diff --git a/test/parse.js b/test/parse.js
new file mode 100644
index 0000000..200bca5
--- /dev/null
+++ b/test/parse.js
@@ -0,0 +1,84 @@
+var parse = require('../').parse;
+var should = require('should');
+
+describe('parse(str)', function() {
+ it('should save the filename and source', function() {
+ var css = 'booty {\n size: large;\n}\n';
+ var ast = parse(css, {
+ source: 'booty.css'
+ });
+
+ var position = ast.stylesheet.rules[0].position;
+ position.start.should.be.ok;
+ position.end.should.be.ok;
+ position.source.should.equal('booty.css');
+ position.content.should.equal(css);
+ });
+
+ it('should throw when a selector is missing', function() {
+ should(function() {
+ parse('{size: large}');
+ }).throw();
+
+ should(function() {
+ parse('b { color: red; }\n{ color: green; }\na { color: blue; }');
+ }).throw();
+ });
+
+ it('should throw when a broken comment is found', function () {
+ should(function() {
+ parse('thing { color: red; } /* b { color: blue; }');
+ }).throw();
+
+ should(function() {
+ parse('/*');
+ }).throw();
+
+ /* Nested comments should be fine */
+ should(function() {
+ parse('/* /* */');
+ }).not.throw();
+ });
+
+ it('should allow empty property value', function() {
+ should(function() {
+ parse('p { color:; }');
+ }).not.throw();
+ });
+
+ it('should not throw with silent option', function () {
+ should(function() {
+ parse('thing { color: red; } /* b { color: blue; }', { silent: true });
+ }).not.throw();
+ });
+
+ it('should set parent property', function() {
+ var result = parse(
+ 'thing { test: value; }\n' +
+ '@media (min-width: 100px) { thing { test: value; } }');
+
+ should(result.parent).equal(null);
+
+ var rules = result.stylesheet.rules;
+ rules.length.should.equal(2);
+
+ var rule = rules[0];
+ rule.parent.should.equal(result);
+ rule.declarations.length.should.equal(1);
+
+ var decl = rule.declarations[0];
+ decl.parent.should.equal(rule);
+
+ var media = rules[1];
+ media.parent.should.equal(result);
+ media.rules.length.should.equal(1);
+
+ rule = media.rules[0];
+ rule.parent.should.equal(media);
+
+ rule.declarations.length.should.equal(1);
+ decl = rule.declarations[0];
+ decl.parent.should.equal(rule);
+ });
+
+});
diff --git a/test/source-map/apply.css b/test/source-map/apply.css
new file mode 100644
index 0000000..8ccf464
--- /dev/null
+++ b/test/source-map/apply.css
@@ -0,0 +1,4 @@
+tobi {
+ name: 'tobi'; }
+
+/*# sourceMappingURL=apply.css.map */
\ No newline at end of file
diff --git a/test/source-map/apply.css.map b/test/source-map/apply.css.map
new file mode 100644
index 0000000..9c2da5c
--- /dev/null
+++ b/test/source-map/apply.css.map
@@ -0,0 +1,7 @@
+{
+ "version": 3,
+ "file": "",
+ "sources": ["apply.scss"],
+ "names": [],
+ "mappings": "AAAA;EAAO,MAAM"
+}
\ No newline at end of file
diff --git a/test/source-map/apply.scss b/test/source-map/apply.scss
new file mode 100644
index 0000000..7ad3ef5
--- /dev/null
+++ b/test/source-map/apply.scss
@@ -0,0 +1 @@
+tobi { name: 'tobi'; }
diff --git a/test/source-map/test.css b/test/source-map/test.css
new file mode 100644
index 0000000..47598d7
--- /dev/null
+++ b/test/source-map/test.css
@@ -0,0 +1,17 @@
+tobi {
+ name: 'tobi';
+ age: 2;
+}
+
+loki {
+ name: 'loki';
+ age: 1;
+}
+
+ at media screen {
+ screen-only {
+ display: block;
+ }
+}
+
+/* comment */
diff --git a/test/stringify.js b/test/stringify.js
new file mode 100644
index 0000000..e201521
--- /dev/null
+++ b/test/stringify.js
@@ -0,0 +1,112 @@
+var stringify = require('../').stringify;
+var parse = require('../').parse;
+var path = require('path');
+var read = require('fs').readFileSync;
+var SourceMapConsumer = require('source-map').SourceMapConsumer;
+var SourceMapGenerator = require('source-map').SourceMapGenerator;
+
+describe('stringify(obj, {sourcemap: true})', function() {
+ var file = 'test/source-map/test.css';
+ var src = read(file, 'utf8');
+ var stylesheet = parse(src, { source: file });
+ function loc(line, column) {
+ return { line: line, column: column, source: file, name: null };
+ }
+
+ var locs = {
+ tobiSelector: loc(1, 0),
+ tobiNameName: loc(2, 2),
+ tobiNameValue: loc(2, 2),
+ mediaBlock: loc(11, 0),
+ mediaOnly: loc(12, 2),
+ comment: loc(17, 0),
+ };
+
+ it('should generate source maps alongside when using identity compiler', function() {
+ var result = stringify(stylesheet, { sourcemap: true });
+ result.should.have.property('code');
+ result.should.have.property('map');
+ var map = new SourceMapConsumer(result.map);
+ map.originalPositionFor({ line: 1, column: 0 }).should.eql(locs.tobiSelector);
+ map.originalPositionFor({ line: 2, column: 2 }).should.eql(locs.tobiNameName);
+ map.originalPositionFor({ line: 2, column: 8 }).should.eql(locs.tobiNameValue);
+ map.originalPositionFor({ line: 11, column: 0 }).should.eql(locs.mediaBlock);
+ map.originalPositionFor({ line: 12, column: 2 }).should.eql(locs.mediaOnly);
+ map.originalPositionFor({ line: 17, column: 0 }).should.eql(locs.comment);
+ map.sourceContentFor(file).should.eql(src);
+ });
+
+ it('should generate source maps alongside when using compress compiler', function() {
+ var result = stringify(stylesheet, { compress: true, sourcemap: true });
+ result.should.have.property('code');
+ result.should.have.property('map');
+ var map = new SourceMapConsumer(result.map);
+ map.originalPositionFor({ line: 1, column: 0 }).should.eql(locs.tobiSelector);
+ map.originalPositionFor({ line: 1, column: 5 }).should.eql(locs.tobiNameName);
+ map.originalPositionFor({ line: 1, column: 10 }).should.eql(locs.tobiNameValue);
+ map.originalPositionFor({ line: 1, column: 50 }).should.eql(locs.mediaBlock);
+ map.originalPositionFor({ line: 1, column: 64 }).should.eql(locs.mediaOnly);
+ map.sourceContentFor(file).should.eql(src);
+ });
+
+ it('should apply included source maps, with paths adjusted to CWD', function() {
+ var file = 'test/source-map/apply.css';
+ var src = read(file, 'utf8');
+ var stylesheet = parse(src, { source: file });
+ var result = stringify(stylesheet, { sourcemap: true });
+ result.should.have.property('code');
+ result.should.have.property('map');
+
+ var map = new SourceMapConsumer(result.map);
+ map.originalPositionFor({ line: 1, column: 0 }).should.eql({
+ column: 0,
+ line: 1,
+ name: null,
+ source: 'test/source-map/apply.scss'
+ });
+
+ map.originalPositionFor({ line: 2, column: 2 }).should.eql({
+ column: 7,
+ line: 1,
+ name: null,
+ source: 'test/source-map/apply.scss'
+ });
+ });
+
+ it('should not apply included source maps when inputSourcemap is false', function() {
+ var file = 'test/source-map/apply.css';
+ var src = read(file, 'utf8');
+ var stylesheet = parse(src, { source: file });
+ var result = stringify(stylesheet, { sourcemap: true, inputSourcemaps: false });
+
+ var map = new SourceMapConsumer(result.map);
+ map.originalPositionFor({ line: 1, column: 0 }).should.eql({
+ column: 0,
+ line: 1,
+ name: null,
+ source: file
+ });
+ });
+
+ it('should convert Windows-style paths to URLs', function() {
+ var originalSep = path.sep;
+ path.sep = '\\'; // Pretend we’re on Windows (if we aren’t already).
+
+ var src = 'C:\\test\\source.css';
+ var css = 'a { color: black; }'
+ var stylesheet = parse(css, { source: src });
+ var result = stringify(stylesheet, { sourcemap: true });
+
+ result.map.sources.should.eql(['/test/source.css']);
+
+ path.sep = originalSep;
+ });
+
+ it('should return source map generator when sourcemap: "generator"', function(){
+ var css = 'a { color: black; }';
+ var stylesheet = parse(css);
+ var result = stringify(stylesheet, { sourcemap: 'generator' });
+
+ result.map.should.be.an.instanceOf(SourceMapGenerator);
+ });
+});
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-css.git
More information about the Pkg-javascript-commits
mailing list