diff --git a/.gitignore b/.gitignore
index ef877a0..aa4f729 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,10 +7,14 @@ node_modules
coverage
# production
-build
+/build
# misc
.DS_Store
.env
npm-debug.log
.vscode
+yarn-error.log
+
+#semantic build
+src/semantic/dist
diff --git a/README.md b/README.md
index 7a0c343..ad8e624 100644
--- a/README.md
+++ b/README.md
@@ -16,3 +16,25 @@ To use against a production gocommerce install, make sure to set environment var
* **REACT_APP_SITE_URL** the URL of the ecommerce website
* **REACT_APP_NETLIFY_AUTH** the URL of the GoTrue instance used to manage authentication
* **REACT_APP_NETLIFY_COMMERCE** The URL of the GoCommerce instance
+
+## Semantic UI Styling
+This UI uses a custom theme built using [Semantic UI React](https://react.semantic-ui.com/theming) framework.
+
+To make changes to the theme, modifiy the variable and override files (which are stored inside the `collections`, `elements`, `globals`, `modules` and `views` folders) inside the site folder.
+```
+src/semantic/src/site
+```
+It is inside here you will find the files for all component styles and variables.
+More information about how to create and work with Semantic's theming can be found here:
+[Semantic theming](https://semantic-ui.com/usage/theming.html)
+
+To build all css files run:
+```
+yarn build:css
+```
+This compiles the variable and overide files to css files.
+
+To watch for css changes run:
+```
+yarn watch:css
+```
diff --git a/package.json b/package.json
index 31bfeaf..5d370dc 100644
--- a/package.json
+++ b/package.json
@@ -6,31 +6,58 @@
"eslint": "^3.19.0",
"eslint-plugin-flowtype": "^2.32.1",
"flow-bin": "^0.37.4",
- "react-scripts": "0.9.5"
+ "react-scripts": "0.9.5",
+ "react-to-print": "^2.0.0-alpha-4"
},
"dependencies": {
+ "better-console": "^1.0.1",
"csvexport": "^1.0.2",
"date-fns": "^1.21.0",
"director": "^1.2.8",
- "gocommerce-js": "^3.9.0",
+ "gocommerce-js": "^4.4.1",
+ "gulp": "^3.9.1",
+ "gulp-autoprefixer": "^4.0.0",
+ "gulp-chmod": "^2.0.0",
+ "gulp-clean-css": "^3.7.0",
+ "gulp-clone": "^1.1.3",
+ "gulp-concat": "^2.6.1",
+ "gulp-concat-css": "^2.3.0",
+ "gulp-dedupe": "^0.0.2",
+ "gulp-flatten": "^0.3.1",
+ "gulp-header": "^1.8.9",
+ "gulp-help": "^1.6.1",
+ "gulp-if": "^2.0.2",
+ "gulp-less": "^3.3.2",
+ "gulp-plumber": "^1.1.0",
+ "gulp-print": "^2.0.1",
+ "gulp-rename": "^1.2.2",
+ "gulp-replace": "^0.6.1",
+ "gulp-rtlcss": "^1.0.0",
+ "gulp-uglify": "^3.0.0",
+ "gulp-watch": "^4.3.11",
"history": "^4.5.0",
"jwt-decode": "^2.1.0",
"lodash": "^4.17.4",
+ "mdi-react": "^4.1.0",
"money": "^0.2.0",
"netlify-auth-js": "^0.5.2",
"react": "^15.4.1",
"react-dom": "^15.4.1",
"react-gravatar": "^2.6.1",
- "semantic-ui-css": "^2.2.4",
- "semantic-ui-react": "^0.62.1"
+ "require-dot-file": "^0.4.0",
+ "run-sequence": "^2.1.0",
+ "semantic-ui-react": "^0.62.1",
+ "yamljs": "^0.3.0"
},
"scripts": {
- "start": "react-scripts start",
- "build": "react-scripts build",
+ "build:css": "cd src/semantic && gulp build",
+ "start": "yarn build:css && react-scripts start",
+ "build": "yarn build:css && react-scripts build",
+ "watch:css": "cd src/semantic && gulp watch",
"test": "react-scripts test --env=jsdom",
- "lint": "npm run lint:js",
+ "lint": "yarn lint:js",
"lint:js": "eslint .",
- "lint:js:fix": "npm run lint:js -- --fix",
+ "lint:js:fix": "yarn lint:js -- --fix",
"eject": "react-scripts eject",
"flow": "flow"
}
diff --git a/src/App.css b/src/App.css
index 49ad7d3..5f7e17a 100644
--- a/src/App.css
+++ b/src/App.css
@@ -1,7 +1,8 @@
.App {}
.Main {
- margin-left: 15rem;
+ margin: 0 7rem 0 7rem;
padding: 1rem;
+ margin-top: 50px;
}
.tr-clickable {
@@ -15,3 +16,11 @@
.search-padding {
padding-bottom: 1rem;
}
+
+@media only screen and (max-width: 767px){
+ .Main {
+ overflow-x: hidden;
+ margin: 0;
+ padding: 0;
+ }
+}
diff --git a/src/App.js b/src/App.js
index 8cedf70..5832f7c 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,16 +1,23 @@
// @flow
-import type {User} from './Types';
-import React, {PropTypes, Component} from 'react';
-import director from 'director';
-import Auth from 'netlify-auth-js';
-import Commerce from 'gocommerce-js';
-import Sidebar from './Components/Sidebar';
-import {WithAuthentication, Customers, Discounts, Order, Orders, Reports} from './Components';
-import 'semantic-ui-css/semantic.css';
-import './App.css';
-import config from './config/default.json';
-
-const env = process.env.REACT_APP_ENV || 'dev';
+import type { User } from "./Types";
+import React, { PropTypes, Component } from "react";
+import director from "director";
+import Auth from "netlify-auth-js";
+import Commerce from "gocommerce-js";
+import {
+ WithAuthentication,
+ Navigation,
+ Customers,
+ Discounts,
+ Order,
+ Orders,
+ Reports
+} from "./Components";
+import "./semantic/dist/semantic.min.css";
+import "./App.css";
+import config from "./config/default.json";
+
+const env = process.env.REACT_APP_ENV || "dev";
if (process.env.REACT_APP_SITE_URL) {
config.siteURL = process.env.REACT_APP_SITE_URL;
}
@@ -27,12 +34,12 @@ if (process.env.REACT_APP_RECEIPT_TEMPLATE) {
config.receiptTemplate = process.env.REACT_APP_RECEIPT_TEMPLATE;
}
-const auth = new Auth({APIUrl: config.netlifyAuth});
-const commerce = new Commerce({APIUrl: config.netlifyCommerce});
+const auth = new Auth({ APIUrl: config.netlifyAuth });
+const commerce = new Commerce({ APIUrl: config.netlifyCommerce });
type Router = {
init: () => void,
- setRoute: (string) => void
+ setRoute: string => void
};
function NotFound(props) {
@@ -51,8 +58,8 @@ class App extends Component {
props: {};
state: {
user: ?User,
- route: 'reports' | 'orders' | 'order' | 'customers',
- active: 'Reports' | 'Orders' | 'Customers',
+ route: "reports" | "orders" | "order" | "customers",
+ active: "Reports" | "Orders" | "Customers",
params: {},
query: ?{}
};
@@ -63,43 +70,55 @@ class App extends Component {
router: PropTypes.object
};
- constructor(props : {}) {
+ constructor(props: {}) {
super(props);
- const user = auth.currentUser();
+ const user = auth.currentUser();
commerce.setUser(user);
- this.state = {user, route: "reports", active: "Reports", params: {}, query: null};
+ this.state = {
+ user,
+ route: "reports",
+ active: "Reports",
+ params: {},
+ query: null
+ };
}
componentDidMount() {
this.router = new director.Router({
- "/": () => this.setState({route: "reports", active: "Reports"}),
- "/orders": () => this.setState({route: "orders", active: "Orders"}),
- "/orders/:id": (id) => this.setState({route: "order", active: "Orders", params: {id}}),
- "/orders/:id/:item": (id, item) => this.setState({route: "order", active: "Orders", params: {id, item}}),
- "/customers": () => this.setState({route: "customers", active: "Customers"}),
- }).configure({html5history: true});
+ "/": () => this.setState({ route: "reports", active: "Reports" }),
+ "/orders": () => this.setState({ route: "orders", active: "Orders" }),
+ "/orders/:id": id =>
+ this.setState({ route: "order", active: "Orders", params: { id } }),
+ "/orders/:id/:item": (id, item) =>
+ this.setState({
+ route: "order",
+ active: "Orders",
+ params: { id, item }
+ }),
+ "/customers": () =>
+ this.setState({ route: "customers", active: "Customers" })
+ }).configure({ html5history: true });
this.router.init();
}
handleLogin = (email: string, password: string) => {
- return auth.login(email, password)
- .then((user) => {
- user.persistSession(user);
- commerce.setUser(user);
- this.setState({user});
- return user;
- });
+ return auth.login(email, password).then(user => {
+ user.persistSession(user);
+ commerce.setUser(user);
+ this.setState({ user });
+ return user;
+ });
};
handleLogout = () => {
- const {user} = this.state;
+ const { user } = this.state;
user && user.logout();
- this.setState({user: null});
+ this.setState({ user: null });
};
handleLink = (e: SyntheticInputEvent) => {
e.preventDefault();
- const path = e.target.getAttribute('href');
+ const path = e.target.getAttribute("href");
if (path) {
this.handlePush(path);
}
@@ -110,27 +129,37 @@ class App extends Component {
};
render() {
- const {user, route, active, params, query} = this.state;
+ const { user, route, active, params, query } = this.state;
const component = MainComponent[route] || null;
- return (
-
-
-
- {component && React.createElement(component, {
- config, route, commerce, user, params, query, push: this.handlePush, onLink: this.handleLink
- })}
-
-
-
);
+ return (
+
+
+
+
+ {component &&
+ React.createElement(component, {
+ config,
+ route,
+ commerce,
+ user,
+ params,
+ query,
+ push: this.handlePush,
+ onLink: this.handleLink
+ })}
+
+
+
+ );
}
}
diff --git a/src/Components/Customers/index.js b/src/Components/Customers/index.js
index f1e434b..dd101b2 100644
--- a/src/Components/Customers/index.js
+++ b/src/Components/Customers/index.js
@@ -1,18 +1,36 @@
// @flow
-import type {Commerce, Customer, Pagination} from '../../Types';
-import React, {PropTypes, Component} from 'react';
-import {Breadcrumb, Divider, Grid, Item, Segment, Input, Button} from 'semantic-ui-react';
-import ErrorMessage from '../Messages/Error';
-import Gravatar from 'react-gravatar';
-import distanceInWordsToNow from 'date-fns/distance_in_words_to_now';
+import type { Commerce, Customer, Pagination } from "../../Types";
+import React, { PropTypes, Component } from "react";
+import {
+ Breadcrumb,
+ Form,
+ Divider,
+ Grid,
+ Checkbox,
+ Card,
+ Segment,
+ Input,
+ Button,
+ Container,
+ Modal
+} from "semantic-ui-react";
+import ErrorMessage from "../Messages/Error";
+import Gravatar from "react-gravatar";
+import distanceInWordsToNow from "date-fns/distance_in_words_to_now";
+import PaginationView, { pageFromURL } from "../Pagination";
+import "csvexport/dist/Export.min";
+
+const PER_PAGE = 50;
type props = {
commerce: Commerce,
- onLink: (SyntheticEvent) => void
+ onLink: SyntheticEvent => void
};
export default class Customers extends Component {
props: props;
state: {
+ modalOpen: boolean,
+ selectedCustomers: Object,
loading: boolean,
error: ?Object,
customers: ?Array,
@@ -24,21 +42,28 @@ export default class Customers extends Component {
constructor(props: props) {
super(props);
this.state = {
+ modalOpen: false,
+ selectedCustomers: {},
loading: true,
error: null,
customers: null,
- page: 1,
+ page: pageFromURL(),
pagination: null,
search: null
};
}
componentDidMount() {
- this.loadUsers()
+ this.loadUsers();
}
- handleSearchInput = (e: SyntheticEvent, el: {value: ?string}) => {
- this.setState({search: el.value ? el.value : null});
+ handleSearchInput = (e: SyntheticEvent, el: { value: ?string }) => {
+ this.setState({ search: el.value ? el.value : null });
+ };
+
+ handlePage = (e: SyntheticEvent, el: { "data-number": string }) => {
+ e.preventDefault();
+ this.changePage(parseInt(el["data-number"], 10));
};
search = (e: SyntheticEvent) => {
@@ -46,72 +71,155 @@ export default class Customers extends Component {
this.loadUsers();
};
+ changePage(page: number) {
+ let location = document.location.href;
+ if (location.match(/page=\d+/)) {
+ location = location.replace(/page=\d+/, `page=${page}`);
+ } else {
+ location += `${location.match(/\?/) ? "&" : "?"}page=${page}`;
+ }
+ this.props.push(location.replace(/https?:\/\/[^\/]+/, ""));
+ this.setState({ page }, this.loadUsers);
+ }
+
+ handleOpen = () => this.setState({ modalOpen: true })
+
+ handleClose = () => this.setState({ modalOpen: false })
+
+ handleCustomerSelect = (e: SyntheticEvent, el: { value: string, checked: boolean}) =>{
+ if(el.checked){
+ this.setState({ selectedCustomers: {...this.state.selectedCustomers, [el.value]:true}})
+ } else {
+ const selected = {...this.state.selectedCustomers}
+ delete selected[el.value]
+ this.setState({selectedCustomers: {...selected}})
+ }
+ }
+
+ handleDownload = (e: SyntheticEvent) => {
+ e.preventDefault();
+ const customers = this.state.customers.filter(customer => this.state.selectedCustomers[customer.id])
+ const exporter = window.Export.create({ filename: "customers.csv" });
+ if(customers.length > 0){
+ exporter.downloadCsv(customers)
+ };
+ }
+
+ deleteSelectedUsers = () => {
+ this.setState({ loading: true , modalOpen: false });
+ const selectedIds = Object.keys(this.state.selectedCustomers);
+ this.props.commerce
+ .deleteUsers(selectedIds)
+ .then(({ users, pagination }) => {
+ this.setState({
+ loading: false,
+ customers: users,
+ pagination,
+ error: null
+ });
+ this.loadUsers();
+ })
+ .catch(error => {
+ console.log("Error deleting customers: %o", error);
+ this.setState({ loading: false, error });
+ });
+ }
+
loadUsers = () => {
- this.setState({loading: true});
- this.props.commerce.users(this.userQuery())
- .then(({users, pagination}) => {
- this.setState({loading: false, customers: users, pagination, error: null});
+ this.setState({ loading: true });
+ this.props.commerce
+ .users(this.userQuery())
+ .then(({ users, pagination }) => {
+ this.setState({
+ loading: false,
+ customers: users,
+ pagination,
+ error: null
+ });
})
- .catch((error) => {
+ .catch(error => {
console.log("Error loading customers: %o", error);
- this.setState({loading: false, error});
+ this.setState({ loading: false, error });
});
};
-
+
userQuery(page: ?number) {
const query: Object = {
+ per_page: PER_PAGE,
page: page || this.state.page
};
if (this.state.search) {
- query.email = UsersFilters.email(this.state)
+ query.email = UsersFilters.email(this.state);
}
return query;
}
-
render() {
- const {onLink} = this.props;
- const {loading, error, customers} = this.state;
-
- return
-
-
-
-
- Customers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {customers && customers.map((customer) => -
-
-
-
-
- {customer.email}
- {customer.order_count} Orders
- Created {distanceInWordsToNow(customer.created_at)} ago
-
- )}
-
-
- ;
+ const { onLink } = this.props;
+ const { loading, error, customers, pagination } = this.state;
+
+ return (
+
+
+
+
+
+
+
+
+ Delete Customer Data}
+ open={this.state.modalOpen}
+ onClose={this.handleClose}
+ size='small'>
+ Delete Customer Data
+
+ Are you sure you want to delete this customer data?
+
+
+
+
+
+
+
+
+
+
+ {customers &&
+ customers.map(customer => (
+
+
+
+ {customer.name?customer.name : "Anonymous Buyer"}
+
+ {customer.email}
+
+
+ Last order {distanceInWordsToNow(customer.last_order_at)} ago
+ {customer.order_count}
+
+
+ ))}
+
+
+
+ );
}
}
diff --git a/src/Components/Layout/index.js b/src/Components/Layout/index.js
index d8d9aae..c7126e5 100644
--- a/src/Components/Layout/index.js
+++ b/src/Components/Layout/index.js
@@ -4,31 +4,16 @@ import {Breadcrumb, Grid, Divider} from 'semantic-ui-react';
type Link = {label: string, href: string};
-export default function({breadcrumb, menu, onLink, children}: Object) {
- const crumbs: Array = [];
- breadcrumb.forEach((crumb, i) => {
- crumbs.push(
-
- {crumb.label}
-
- );
- if (i < breadcrumb.length - 1) {
- crumbs.push();
- }
- });
-
+export default function({menu, onLink, children}: Object) {
return
- {crumbs}
{menu}
-
-
{children}
}
diff --git a/src/Components/Navigation.js b/src/Components/Navigation.js
new file mode 100644
index 0000000..2c698e7
--- /dev/null
+++ b/src/Components/Navigation.js
@@ -0,0 +1,85 @@
+// @flow
+import type { User } from "../Types";
+import React, { Component } from "react";
+import { Menu, Icon, Container, Button, Segment } from "semantic-ui-react";
+import PeopleIcon from "mdi-react/PeopleIcon";
+import BasketIcon from "mdi-react/BasketIcon";
+import PollIcon from "mdi-react/PollIcon";
+
+type Props = {
+ active: string,
+ user: ?User,
+ onLink: (e: SyntheticInputEvent) => void,
+ onLogout: () => void
+};
+
+const menuItems = [
+ {
+ name: "Orders",
+ href: "/orders",
+ icon:
+ },
+ {
+ name: "Customers",
+ href: "/customers",
+ icon:
+ },
+ {
+ name: "Reports",
+ href: "/",
+ icon:
+ }
+];
+
+const months = [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+];
+
+const date = new Date();
+const currentDate =
+ months[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear();
+
+export default class SideBar extends Component {
+ props: Props;
+
+ render() {
+ const { active, user, onLink, onLogout } = this.props;
+ return (
+
+
+
+ );
+ }
+}
diff --git a/src/Components/Order/Address.js b/src/Components/Order/Address.js
index 8f24b30..8f34188 100644
--- a/src/Components/Order/Address.js
+++ b/src/Components/Order/Address.js
@@ -1,21 +1,45 @@
// @flow
import type {Address} from '../../Types';
import React from "react";
+import AddressEditor from './AddressEditor';
-type args = {title: string, address: ?Address, href: string, onLink: (SyntheticEvent) => void};
-export default function({title, address, href, onLink}: args) {
+type args = {
+ title: string,
+ address: ?Address,
+ href: string,
+ onSave: any,
+ item: 'shipping_address' | 'billing_address'
+}
+
+const IconStyle = {
+ padding: '5px',
+ boxShadow: 'none'
+}
+
+const H3Style = {
+ color: '#2a4872',
+ fontSize: '13px'
+}
+const Hr = {
+ border: 'none',
+ height: '2px',
+ color: '#2a4872',
+ backgroundColor: '#2a4872'
+}
+export default function ({ title, address, href, onSave, item }: args) {
return
-
- {title}
- Edit
+
+ {title === "Billing" ? String.fromCodePoint(128181) + " BILLING" : title === "Shipping" ? String.fromCodePoint(128230) + " SHIPPING" : null}
+ {address && }
-
+
{address &&
- {address.first_name} {address.last_name}
- {address.company && {address.company}
}
- {address.address1}
- {address.address2 && {address.address2}
}
+ {address.name}
+ {address.company && {address.company}
}
+ {address.address1}
+ {address.address2 && {address.address2}
}
{address.city}, {address.zip}, {address.state && `${address.state}, `} {address.country}
}
+
;
}
diff --git a/src/Components/Order/AddressEditor.js b/src/Components/Order/AddressEditor.js
index adaaee2..8313281 100644
--- a/src/Components/Order/AddressEditor.js
+++ b/src/Components/Order/AddressEditor.js
@@ -1,34 +1,55 @@
// @flow
import type {Order, Address} from '../../Types';
import React, {Component} from "react";
-import {Button, Form} from "semantic-ui-react";
+import ErrorMessage from '../Messages/Error';
+import {Button, Form, Modal} from "semantic-ui-react";
+import PencilIcon from "mdi-react/PencilIcon";
+import CloseCircleIcon from "mdi-react/CloseCircleIcon";
+
+const IconStyle = {
+ float: 'right',
+ cursor: 'pointer',
+}
type Props = {
order: Order,
- item: 'shipping_address' | 'billing_address'
+ item: 'shipping_address' | 'billing_address',
+ address: Address,
+ onSave: (SyntheticEvent) => void
};
+
export default class AddressEditor extends Component {
state: {
- addr: ?Address
+ address: ?Address,
+ error: ?Object,
+ loading: boolean,
+ modalOpen: boolean
};
constructor(props: Props) {
super(props);
this.state = {
- addr: props.order ? Object.assign({}, props.order[props.item]) : null
+ address: props.address,
+ error: null,
+ loading: false,
+ modalOpen: false
};
}
+ handleOpen = () => this.setState({ modalOpen: true })
+
+ handleClose = () => this.setState({ modalOpen: false })
+
componentWillReceiveProps(nextProps: Props) {
if (nextProps.order && !this.props.order) {
- this.setState({addr: Object.assign({}, nextProps.order[nextProps.item])});
+ this.setState({address: Object.assign({}, nextProps.order[nextProps.item])});
}
}
handleChange = (e: SyntheticEvent) => {
- if (e.target instanceof HTMLInputElement && e.target.name && e.target.value){
- this.setState({addr: {
- ...this.state.addr,
+ if (e.target instanceof HTMLInputElement && e.target.name && e.target.value.length >=0 ){
+ this.setState({address: {
+ ...this.state.address,
[e.target.name]: e.target.value
}});
}
@@ -36,34 +57,59 @@ export default class AddressEditor extends Component {
handleSubmit = (e: SyntheticEvent) => {
e.preventDefault();
- this.props.onSave(this.props.item, this.state);
+ this.setState({loading: true})
+ this.props.onSave(this.props.item, this.state.address)
+ .then(()=> {
+ this.handleClose();
+ this.setState({loading: false})
+ })
+ .catch((error) => {
+ console.error("Error updating order: %o");
+ this.setState({error,loading: false});
+ })
};
render() {
- const {order, onLink} = this.props;
- if (!order) { return null; }
-
- const addr = this.state.addr;
+ const { item, order, onSave } = this.props;
+ const { address, error, loading} = this.state;
- return addr &&
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- or Cancel
- ;
+ return }
+ open={this.state.modalOpen}
+ onClose={this.handleClose}
+ >
+
+ {item ==="billing_address" ? String.fromCodePoint(128181) + " Billing Address" : item === "shipping_address" ? String.fromCodePoint(128230) + " Shipping Address": null}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
}
}
diff --git a/src/Components/Order/index.js b/src/Components/Order/index.js
index e6b8f36..70be468 100644
--- a/src/Components/Order/index.js
+++ b/src/Components/Order/index.js
@@ -1,8 +1,11 @@
// @flow
-import type {Config, Currency, Commerce, Order, Customer, TransactionType} from '../../Types';
-import React, {PropTypes, Component} from 'react';
+import type { Config, Currency, Commerce, Order, Customer, TransactionType } from '../../Types';
+import React, { PropTypes, Component } from 'react';
+import ReactToPrint from "react-to-print";
import format from 'date-fns/format';
-import {Button, Form, Grid, Header, List, Message, Segment, Table} from 'semantic-ui-react';
+import { Button, Form, Grid, Header, List, Message, Segment, Table, Container, Modal } from 'semantic-ui-react';
+import CheckboxMarkedIcon from "mdi-react/CheckboxMarkedIcon";
+import CloseCircleIcon from "mdi-react/CloseCircleIcon";
import Layout from '../Layout';
import ErrorMessage from '../Messages/Error';
import Address from './Address';
@@ -55,18 +58,28 @@ export default class OrderView extends Component {
config: Config,
push: (string) => void,
onLink: (SyntheticEvent) => void,
+ onSave: (SyntheticEvent) => void
};
state: {
loading: boolean,
error: ?Object,
order: ?Order,
customer: ?Customer,
- newFullfilementState: ?string
+ newFullfilementState: ?string,
+ modalOpen: boolean
};
+ componentRef: ?HTMLDivElement;
constructor(props: Object) {
super(props);
- this.state = {loading: true, error: null, order: null, customer: null, newFullfilementState: null};
+ this.state = {
+ loading: true,
+ error: null,
+ order: null,
+ customer: null,
+ newFullfilementState: null,
+ modalOpen: false
+ };
}
componentDidMount() {
@@ -82,24 +95,23 @@ export default class OrderView extends Component {
this.setState({loading: false, error});
});
}
+
+ handleOpen = () => this.setState({ modalOpen: true })
+
+ handleClose = () => this.setState({ modalOpen: false })
handleSave = (item: 'shipping_address' | 'billing_address' | 'fulfillment_state', data: Object | string) => {
const {commerce, push} = this.props;
const {order} = this.state;
if (!order) {
- return;
+ return Promise.resolve();
}
- this.setState({loading: true});
- commerce.updateOrder(order.id, {[item]: data})
+ return commerce.updateOrder(order.id, {[item]: data})
.then((order) => {
push(`/orders/${order.id}`);
this.setState({loading: false, error: null, order});
})
- .catch((error) => {
- console.error("Error updating order: %o");
- this.setState({loading: false, error});
- })
};
handleShippingUpdate = (e: SyntheticEvent) => {
@@ -125,183 +137,158 @@ export default class OrderView extends Component {
commerce.orderReceipt(order.id, config.receiptTemplate).then((data) => {
openWindow.document.body.innerHTML = data.data;
});
-
}
render() {
- const {config, params, onLink} = this.props;
+ const {config, params, onLink } = this.props;
const {customer, loading, error, order, newFullfilementState} = this.state;
-
const item = params.item ? EditableItems[params.item] : null;
return
+ >
-
-
-
-
-
-
- Order Details
-
- {params.id}
-
-
-
- {item && React.createElement(item, {order, item: params.item, onLink, onSave: this.handleSave})}
- {!item &&
-
-
- General Details
-
- {order &&
- Subtotal: {formatPrice(order.subtotal, order.currency)}
- Taxes: {formatPrice(order.taxes, order.currency)}
- Total: {formatPrice(order.total, order.currency)}
-
}
-
- {order &&
- {format(order.created_at, 'MMM DD, YYYY')}
-
}
-
-
-
-
+
+
+
+
+
+
+ {item && React.createElement(item, {order, item: params.item, onLink, onSave: this.handleSave})}
+ {!item &&
+
+
-
-
-
-
+ {order && order.transactions && order.transactions.map((t) =>
+ {order.payment_state ==="paid"? : null}
+ {order.payment_state === "paid"? "Paid on " + format(t.created_at, 'MMM DD') : order.payment_state === "pending"? "Pending" : order.payment_state}
+ {t.failure_description &&
+ Transaction failed
+ {t.failure_description}
+ }
+ )}
+
+
+ (this.componentRef = el)}>
+
+ onSave={this.handleSave}
+ item="shipping_address"
+ />
+
+ {order &&
+ {order.fulfillment_state === "shipped" ? : null}
+ {order.fulfillment_state === "shipped" ? "Shipped " : order.fulfillment_state === "pending"? "Not shipped" : order.fulfillment_state}
+ }
+
+ }
+ content={() => this.componentRef}
+ />
+
-
-
- }
-
-
-
-
- Line Items
-
- {order && formatItemTypes(order.line_items)}
-
-
-
-
-
-
-
- SKU
-
-
- Item
-
-
- Attributes
-
-
- Type
-
-
- Qty
-
-
- Cost
-
-
-
-
- {order && (order.line_items || []).map((item) => (
-
- {item.sku}
-
-
- {item.title || null}
-
- {item.description && {item.description}
}
-
-
-
- {JSON.stringify(item.meta, null, 2)}
- {item.type || null}
- {item.quantity || null}
- {formatPrice(item.price, order.currency)}
-
- ))}
-
-
-
-
-
-
-
-
- Customer
- {order && order.email}
-
-
- {!customer && Anonymous Buyer
}
- {customer && {customer.order_count} total orders {" "}
- view
}
-
-
-
-
-
- Billing Status
-
- {order && order.payment_state}
- {order && order.payment_state === 'paid' && receipt}
-
-
-
- {order &&
- {order.transactions && order.transactions.map((t) =>
-
- {formatPrice(t.amount, order.currency)} {formatTransactionType(t.type)}
-
- {format(t.created_at, 'MMM DD, YYYY')}
-
- {t.failure_description &&
- Transaction failed
- {t.failure_description}
- }
- )}
-
}
-
-
-
-
- Shipping Status
- Shipping to {order && order.shipping_address && order.shipping_address.country}
-
-
-
-
-
- {order && newFullfilementState && newFullfilementState !== order.fulfillment_state && }
-
-
-
-
-
+
+
+ {order && (order.line_items || []).map((item) => (
+
+ {item.quantity + "x"}
+
+ {item.title || null}
+
+ {item.sku}
+
+
+
+
{item.type || null}
+
{formatPrice(item.price, order.currency)}
+
+
+ }
+ open={this.state.modalOpen}
+ onClose={this.handleClose}>
+ {item.title}
+
+
+ SKU:
+ {item.sku}
+
+ Quantity:
+ {item.quantity}
+
+ Type
+ {item.type}
+
+ Price
+ {formatPrice(item.price, order.currency)}
+
+ Taxes
+ {formatPrice(item.vat, order.currency)}
+
+ Total
+ {formatPrice(item.price + item.vat, order.currency)}
+
+
+
+
+ Authors
+ {item.meta ? item.meta.authors : null}
+
+ Product path
+ {item.sku}
+
+ Component
+ {item.meta ? item.meta.component : null}
+
+
+
+ ))}
+
+
+ {order &&
+ { Math.round((order.discount / order.total) * 100) + "%"} Discount
+ {formatPrice(order.discount, order.currency)}
+
+ Shipping
+ {formatPrice(order.shipping, order.currency)}
+
+ {formatPrice(order.total, order.currency)}
+
+ Before Tax:
{formatPrice(order.subtotal, order.currency)}
+ Taxes:
{formatPrice(order.taxes, order.currency)}
+ Total:
{formatPrice(order.total, order.currency)}
+
+ }
+
+
+ }
+
+
+
+
+
+
;
}
}
diff --git a/src/Components/Orders/index.js b/src/Components/Orders/index.js
index 6d9e1ec..fff08be 100644
--- a/src/Components/Orders/index.js
+++ b/src/Components/Orders/index.js
@@ -1,136 +1,214 @@
// @flow
-import type {Commerce, Pagination, Order, Address} from '../../Types';
-import _ from 'lodash';
-import React, {Component} from 'react';
-import {Button, Checkbox, Grid, Dimmer, Dropdown, Loader, Table, Input, Select} from 'semantic-ui-react';
-import Layout from '../Layout';
-import PaginationView, {pageFromURL} from '../Pagination';
-import ErrorMessage from '../Messages/Error';
-import distanceInWordsToNow from 'date-fns/distance_in_words_to_now';
-import countries from '../../data/countries.json';
-import 'csvexport/dist/Export.min';
-import './Orders.css';
-
-
-const STORED_FIELDS_KEY = 'commerce.admin.orderFields';
+import type { Commerce, Pagination, Order, Address } from "../../Types";
+import _ from "lodash";
+import React, { Component } from "react";
+import {
+ Button,
+ Checkbox,
+ Grid,
+ Dimmer,
+ Dropdown,
+ Loader,
+ Table,
+ Input,
+ Select,
+ Form,
+ Container,
+ Popup,
+ Icon
+} from "semantic-ui-react";
+import Layout from "../Layout";
+import PaginationView, { pageFromURL } from "../Pagination";
+import ErrorMessage from "../Messages/Error";
+import distanceInWordsToNow from "date-fns/distance_in_words_to_now";
+import format from "date-fns/format";
+import getTime from "date-fns/get_time";
+import countries from "../../data/countries.json";
+import eucountries from "../../data/eucountries.js";
+import "csvexport/dist/Export.min";
+import "./Orders.css";
+
+const STORED_FIELDS_KEY = "commerce.admin.orderFields.v2";
const PER_PAGE = 50;
// needed for cmd click functionality
-let isCtrlKeyDown = false
-const isCtrlKey = e => (e.key === 'Meta' || e.key === 'Control' || e.metaKey || e.ctrlKey)
+let isCtrlKeyDown = false;
+const isCtrlKey = e =>
+ e.key === "Meta" || e.key === "Control" || e.metaKey || e.ctrlKey;
function formatField(label: string, order: Order) {
- return order[label.toLowerCase().replace(/ /, '_')];
+ return order[label.toLowerCase().replace(/ /, "_")];
}
-function formatLineItems(order: Order, csv: boolean) {
+function formatLineItems(order: Order, csv?: boolean) {
if (csv) {
- return order.line_items && order.line_items.map((item) => `${item.quantity} x ${item.title}`).join(', ');
+ return (
+ order.line_items &&
+ order.line_items
+ .map(item => `${item.quantity} x ${item.title}`)
+ .join(", ")
+ );
}
- return order.line_items && order.line_items.map((item) =>
- {item.quantity} x “{item.title}”
-)
+ return (
+ order.line_items &&
+ order.line_items.map(item => (
+
+ {item.quantity} x “{item.title}”
+
+ ))
+ );
}
function formatLineItemTypes(order: Order, csv: boolean) {
let types = [];
- (order.line_items || []).map(item => !types.includes(item.type) && types.push(item.type))
+ (order.line_items || []).map(
+ item => !types.includes(item.type) && types.push(item.type)
+ );
- return types.map(t => {t}
)
+ return types.map(t => {t}
);
}
-const addressFields = ['name', 'company', 'address1', 'address2', 'city', 'zip', 'state', 'country'];
-
-function formatAddress(field: 'shipping_address' | 'billing_address') {
+const addressFields = [
+ "name",
+ "company",
+ "address1",
+ "address2",
+ "city",
+ "zip",
+ "state",
+ "country"
+];
+
+function formatAddress(field: "shipping_address" | "billing_address") {
return (order: Order, csv: boolean) => {
const addr: Address = order[field];
if (csv) {
return addr;
}
- return addr &&
- {addr.name}
- {addr.company && {addr.company}
}
- {addr.address1}
- {addr.address2 && {addr.address2}
}
- {addr.city}, {addr.zip}, {addr.state && `${addr.state}, `} {addr.country}
-
;
+ return (
+ addr && (
+
+ {addr.first_name}
+
+ {addr.company && (
+
+ {addr.company}
+
+
+ )}
+ {addr.address1}
+
+ {addr.address2 && (
+
+ {addr.address2}
+
+
+ )}
+ {addr.city}, {addr.zip}, {addr.state && `${addr.state}, `}{" "}
+ {addr.country}
+
+ )
+ );
};
}
-function formatPriceField(field: 'total' | 'taxes' | 'subtotal') {
- return (order) => {
- const amount = (order[field] / 100).toFixed(2);
- switch(order.currency) {
- case "USD":
- return `$${amount}`;
- case "EUR":
- return `${amount}€`;
- default:
- return `${amount} ${order.currency}`;
- }
+function formatPriceField(field: "total" | "taxes" | "subtotal") {
+ return order => {
+ const currency = order.currency;
+ return field === "taxes"
+ ? formatTaxes(order)
+ : "" + formatCurrency(order[field], currency, field);
};
}
-function formatDateField(field: 'created_at' | 'updated_at') {
- return (order, csv) => {
- if (csv) { return JSON.stringify(order[field]); }
- return distanceInWordsToNow(order[field]) + " ago";
+function formatTaxes(order: Order) {
+ const percentage = Math.round((order.taxes / order.total) * 100) + "%";
+ return `${percentage} \u2192 ${formatCurrency(order.taxes, order.currency)}`;
+}
+
+function formatCurrency(amount: number, currency: string) {
+ const amountString = (amount / 100).toFixed(2);
+ switch (currency) {
+ case "USD":
+ return `$${amountString}`;
+ case "EUR":
+ return `${amountString}€`;
+ default:
+ return `${amountString} ${currency}`;
}
}
+function formatDateField(field: "created_at" | "updated_at") {
+ return (order, csv) => {
+ if (csv) {
+ return JSON.stringify(order[field]);
+ }
+ return format(order[field], "MMM DD YYYY");
+ };
+}
+
const fields = {
ID: {},
- Email: {sort: "email"},
- Items: {fn: formatLineItems},
- Type: {fn: formatLineItemTypes},
- "Shipping Address": {fn: formatAddress("shipping_address")},
- "Shipping Country": {fn: (order) => order.shipping_address.country},
- "Billing Address": {fn: formatAddress("billing_address")},
- "Billing Country": {fn: (order) => order.billing_address.country},
- Taxes: {sort: "taxes", fn: formatPriceField("taxes")},
- Subtotal: {sort: "subtotal", fn: formatPriceField("subtotal")},
- "Shipping State": {fn: (order) => order.fulfillment_state},
+ Date: { sort: "created_at", fn: formatDateField("created_at") },
+ "Updated At": { sort: "updated_at", fn: formatDateField("updated_at") },
+ Items: { fn: formatLineItems },
+ Type: { fn: formatLineItemTypes },
+ Subtotal: { sort: "subtotal", fn: formatPriceField("subtotal") },
+ Taxes: { sort: "taxes", fn: formatPriceField("taxes") },
+ Total: { sort: "total", fn: formatPriceField("total") },
+ Name: { fn: order => order.billing_address.name },
+ Email: { sort: "email" },
"Payment State": {},
- Total: {sort: "total", fn: formatPriceField("total")},
- "Created At": {sort: "created_at", fn: formatDateField("created_at")},
- "Updated At": {sort: "updated_at", fn: formatDateField("updated_at")}
+ "Billing Address": { fn: formatAddress("billing_address") },
+ "Billing Country": { fn: order => order.billing_address.country },
+ "Billing Company": { fn: order => order.billing_address.company },
+ "Shipping State": { fn: order => order.fulfillment_state },
+ "Shipping Address": { fn: formatAddress("shipping_address") },
+ "Shipping Country": { fn: order => order.shipping_address.country },
+ "Shipping Company": { fn: order => order.shipping_address.company }
};
const enabledFields = {
ID: false,
+ Date: true,
+ "Updated At": false,
Items: true,
Type: true,
+ Subtotal: false,
+ Taxes: false,
+ Total: true,
+ Name: false,
Email: true,
- "Shipping Address": false,
- "Shipping Country": false,
+ "Payment State": true,
"Billing Address": false,
"Billing Country": false,
+ "Billing Company": false,
"Shipping State": true,
- "Payment State": true,
- Taxes: false,
- Subtotal: false,
- Total: true,
- "Created At": true,
- "Updated At":false
+ "Shipping Address": false,
+ "Shipping Country": false,
+ "Shipping Company": false
};
+let filterCount = 0;
+
class OrderDetail extends Component {
props: {
order: Order,
- enabledFields: {[key: string]: boolean },
- onLink: (any) => void,
- onSelect: (string) => void
+ enabledFields: { [key: string]: boolean },
+ onLink: any => void,
+ onSelect: string => void
};
handleClick = (e: SyntheticEvent) => {
if (isCtrlKeyDown) {
- return window.open(`/orders/${this.props.order.id}`, '_blank')
+ return window.open(`/orders/${this.props.order.id}`, "_blank");
}
-
this.props.onLink({
preventDefault: e.preventDefault,
- target: {getAttribute: (a) => ({href: `/orders/${this.props.order.id}`}[a])}
+ target: {
+ getAttribute: a => ({ href: `/orders/${this.props.order.id}` }[a])
+ }
});
};
@@ -140,44 +218,81 @@ class OrderDetail extends Component {
};
render() {
- const {order, enabledFields} = this.props;
-
- return
+ const { order, enabledFields } = this.props;
+ return (
+
-
+
{Object.keys(enabledFields).map(field => {
- const tdData = fields[field].fn ? fields[field].fn(order) : formatField(field, order)
-
- return enabledFields[field] && (
-
- {field === 'Items' ? e.preventDefault()}>{tdData} : tdData}
-
- )
+ const tdData = fields[field].fn
+ ? fields[field].fn(order)
+ : formatField(field, order);
+ return (
+ enabledFields[field] && (
+
+ {field === "Items" ? (
+ e.preventDefault()}
+ >
+ {tdData}
+
+ ) : (
+ tdData
+ )}
+
+ )
+ );
})}
- ;
+
+ );
}
}
export default class Orders extends Component {
+ baseFilterState: Object;
props: {
commerce: Commerce,
- push: (string) => void,
- onLink: (HTMLElement) => void
+ push: string => void,
+ onLink: HTMLElement => void
};
state: {
loading: boolean,
downloading: boolean,
error: ?any,
- filters: Array<'tax' | 'shipping_countries' | 'email' | 'items'>,
+ sortedBy: string,
+ direction: "asc" | "desc",
+ disabledFields: {
+ disableAddressField: boolean,
+ disableBillingField: boolean,
+ disableShippingField: boolean,
+ disableTypeField: boolean,
+ disableDateField: boolean,
+ disableTaxField: boolean
+ },
+ billingCountryType: string | null,
+ filterCount: number,
+ filters: {
+ from: number | null,
+ to: number | null,
+ payment_state: string | null,
+ fulfillment_state: string | null,
+ item_type: string | null,
+ billing_countries: Array,
+ email: string | null
+ },
page: number,
- enabledFields: {[key: string]: boolean},
- tax: boolean,
- shippingCountries: ?Array,
+ enabledFields: { [key: string]: boolean },
orders: ?Array,
pagination: ?Pagination,
- searchScope: 'email' | 'items',
+ searchScope: "email" | "item_type",
search: ?string,
+ allSelected: boolean,
selection: boolean
};
@@ -185,92 +300,131 @@ export default class Orders extends Component {
super(props);
const storedFields = localStorage.getItem(STORED_FIELDS_KEY);
this.state = {
+ direction: "asc",
+ sortedBy: "created_at",
loading: true,
downloading: false,
error: null,
- filters: [],
+ disabledFields: {
+ disableAddressField: true,
+ disableBillingField: true,
+ disableShippingField: true,
+ disableTypeField: true,
+ disableDateField: true,
+ disableTaxField: true
+ },
+ billingCountryType: null,
+ filterCount: 0,
+ filters: {
+ from: null,
+ to: null,
+ payment_state: null,
+ fulfillment_state: null,
+ item_type: null,
+ billing_countries: [],
+ email: null
+ },
page: pageFromURL(),
- enabledFields: storedFields ? JSON.parse(storedFields) : Object.assign({}, enabledFields),
- tax: false,
- shippingCountries: null,
+ enabledFields: storedFields
+ ? JSON.parse(storedFields)
+ : Object.assign({}, enabledFields),
orders: null,
pagination: null,
- searchScope: 'email',
+ searchScope: "email",
search: null,
+ allSelected: false,
selection: false
};
+
+ this.baseFilterState = { ...this.state.filters };
}
+ resetFilters = () => {
+ const disabledFields = _.mapValues(this.state.disabledFields, () => true);
+ this.setState({
+ filters: this.baseFilterState,
+ disabledFields,
+ billingCountryType: null,
+ filterCount: 0
+ });
+ this.loadOrders();
+ };
componentDidMount() {
this.loadOrders();
- document.addEventListener('keydown', e => isCtrlKey(e) && (isCtrlKeyDown = true))
- document.addEventListener('keyup', e => isCtrlKey(e) && (isCtrlKeyDown = false))
+ document.addEventListener(
+ "keydown",
+ e => isCtrlKey(e) && (isCtrlKeyDown = true)
+ );
+ document.addEventListener(
+ "keyup",
+ e => isCtrlKey(e) && (isCtrlKeyDown = false)
+ );
}
- handleToggleField = (e: SyntheticEvent, el: {name: string}) => {
- const {enabledFields} = this.state;
- const updated = Object.assign({}, enabledFields, {[el.name]: !enabledFields[el.name]});
- this.setState({enabledFields: updated});
+ handleToggleField = (e: SyntheticEvent, el: { name: string }) => {
+ const { enabledFields } = this.state;
+ const updated = Object.assign({}, enabledFields, {
+ [el.name]: !enabledFields[el.name]
+ });
+ this.setState({ enabledFields: updated });
localStorage.setItem(STORED_FIELDS_KEY, JSON.stringify(updated));
};
- handleTax = (e: SyntheticEvent) => {
- e.preventDefault();
- const {tax, filters} = this.state;
- if (tax) {
- this.setState({tax: false, filters: filters.filter(f => f !== 'tax')}, this.loadOrders);
- } else {
- this.setState({tax: true, filters: filters.concat(['tax'])}, this.loadOrders);
- }
- };
-
- handleCountries = (e: SyntheticEvent, el: {value: Array}) => {
- const {shippingCountries, filters} = this.state;
- if (JSON.stringify(el.value) === JSON.stringify(shippingCountries)) {
+ handleCountries = (e: SyntheticEvent, el: { value: Array }) => {
+ const { filters } = this.state;
+ if (el.value.toString() === filters.billing_countries.toString()) {
return;
}
-
if (el.value.length) {
- this.setState({shippingCountries: el.value, filters: filters.concat(['shipping_countries'])}, this.loadOrders);
+ this.setState({
+ filters: { ...this.state.filters, billing_countries: el.value }
+ });
} else {
- this.setState({shippingCountries: [], filters: filters.filter(f => f !== 'shipping_countries')}, this.loadOrders);
+ this.setState(
+ {
+ filters: filters.filter(f => f !== "shipping_countries")
+ },
+ this.loadOrders
+ );
}
};
- handlePage = (e: SyntheticEvent, el: {'data-number': string}) => {
+ handlePage = (e: SyntheticEvent, el: { "data-number": string }) => {
e.preventDefault();
- this.changePage(parseInt(el['data-number'], 10));
+ this.changePage(parseInt(el["data-number"], 10));
};
handleDownload = (e: SyntheticEvent) => {
e.preventDefault();
- const exporter = window.Export.create({filename: 'orders.csv'});
- this.setState({downloading: true});
+ const exporter = window.Export.create({ filename: "orders.csv" });
+ this.setState({ downloading: true });
this.downloadAll()
- .then((orders) => {
- this.setState({downloading: false});
- const {enabledFields} = this.state;
- const rows = orders.map((order) => {
- console.log('Rows for orders ', order.id)
+ .then(orders => {
+ this.setState({ downloading: false });
+ const { enabledFields } = this.state;
+ const rows = orders.map(order => {
const formattedOrder = {};
- const headers = _.flatten(Object.keys(enabledFields).map((field) => {
- const match = field.match(/(\S+) Address$/);
- if (match) {
- return addressFields.map((field) => `${match[1]} ${field}`);
- }
- return field;
- }))
- Object.keys(enabledFields).forEach((field) => {
+ const headers = _.flatten(
+ Object.keys(enabledFields).map(field => {
+ const match = field.match(/(\S+) Address$/);
+ if (match) {
+ return addressFields.map(field => `${match[1]} ${field}`);
+ }
+ return field;
+ })
+ );
+ Object.keys(enabledFields).forEach(field => {
if (enabledFields[field]) {
const match = field.match(/(\S+) Address$/);
if (match) {
const addr = formatField(field, order);
- console.log(addr, field, order)
- addressFields.forEach((field) => {
+ addressFields.forEach(field => {
formattedOrder[`${match[1]} ${field}`] = addr[field];
- })
+ });
} else {
- formattedOrder[field] = fields[field].fn ? fields[field].fn(order, true) : formatField(field, order);
+ formattedOrder[field] = fields[field].fn
+ ? fields[field].fn(order, true)
+ : formatField(field, order);
}
}
});
@@ -278,235 +432,554 @@ export default class Orders extends Component {
});
exporter.downloadCsv(rows);
})
- .catch((error) => this.setState({downloading: false, error}));
+ .catch(error => this.setState({ downloading: false, error }));
};
- handleSearchInput = (e: SyntheticEvent, el: {value: ?string}) => {
- this.setState({search: el.value ? el.value : null});
- };
-
- handleSearchScope = (e: SyntheticEvent, el: {value: string}) => {
+ handleSearchScope = (e: SyntheticEvent, el: { value: string }) => {
switch (el.value) {
- case 'email':
- this.setState({searchScope: 'email'});
+ case "email":
+ this.setState({ searchScope: "email" });
return;
- case 'items':
- this.setState({searchScope: 'items'});
+ case "item_type":
+ this.setState({ searchScope: "item_type" });
return;
default:
- this.setState({error: `Bad search scope: '${el.value}'`});
+ this.setState({ error: `Bad search scope: '${el.value}'` });
}
};
search = (e: SyntheticEvent) => {
- const {search, searchScope, filters} = this.state;
-
+ const { search, searchScope, filters } = this.state;
e.preventDefault();
-
- let newFilters = filters.slice();
- let filtersToRemove = this.searchOptions.map(opt => opt.value)
-
- if (search) {
- if (!newFilters.includes(searchScope)) newFilters.push(searchScope);
- filtersToRemove = filtersToRemove.filter(val => val !== searchScope);
- }
-
- // Remove any non-active search filters
- newFilters = newFilters.filter(f => !filtersToRemove.some(ftr => f === ftr));
-
- this.setState({filters: newFilters}, this.loadOrders);
+ this.loadOrders();
};
changePage(page: number) {
let location = document.location.href;
if (location.match(/page=\d+/)) {
- location = location.replace(/page=\d+/, `page=${page}`)
+ location = location.replace(/page=\d+/, `page=${page}`);
} else {
- location += `${location.match(/\?/) ? '&' : '?'}page=${page}`;
+ location += `${location.match(/\?/) ? "&" : "?"}page=${page}`;
}
- this.props.push(location.replace(/https?:\/\/[^\/]+/, ''));
- this.setState({page}, this.loadOrders);
+ this.props.push(location.replace(/https?:\/\/[^\/]+/, ""));
+ this.setState({ page }, this.loadOrders);
}
loadOrders = () => {
- this.setState({loading: true});
- this.props.commerce.orderHistory(this.orderQuery())
- .then((response) => {
- const {orders, pagination} = response;
+ this.setState({ loading: true });
+ const { params, options } = this.orderQuery();
+ this.props.commerce
+ .orderHistory(params, options)
+ .then(response => {
+ const { orders, pagination } = response;
if (pagination.last < this.state.page && this.state.page !== 1) {
return this.changePage(1);
}
- this.setState({loading: false, orders, pagination, error: null});
+ this.setState({ loading: false, orders, pagination, error: null });
})
- .catch((error) => {
+ .catch(error => {
console.log("Error loading orders: %o", error);
- this.setState({loading: false, error});
+ this.setState({ loading: false, error });
});
- }
+ };
orderQuery(page: ?number) {
- const query: Object = {
+ const filteredFilters = { ...this.state.filters };
+ if (this.state.disabledFields.disableAddressField) {
+ delete filteredFilters.shipping_address;
+ }
+ if (this.state.disabledFields.disableBillingField) {
+ delete filteredFilters.payment_state;
+ }
+ if (this.state.disabledFields.disableShippingField) {
+ delete filteredFilters.fulfillment_state;
+ }
+ if (this.state.disabledFields.disableDateField) {
+ delete filteredFilters.from;
+ delete filteredFilters.to;
+ }
+ if (!this.state.disabledFields.disableTaxField) {
+ filteredFilters.tax = true;
+ }
+ if (this.state.searchScope === "item_type") {
+ delete filteredFilters.email;
+ } else {
+ delete filteredFilters.item_type;
+ }
+
+ filteredFilters[this.state.searchScope] = this.state.search;
+ filteredFilters.sort = `${this.state.sortedBy} ${this.state.direction}`;
+
+
+ const params: Object = {
user_id: "all",
per_page: PER_PAGE,
- page: page || this.state.page
+ page: page || this.state.page,
+ ..._.pickBy(filteredFilters, function(value, key) {
+ if (Array.isArray(value) && value.length == 0) {
+ return false;
+ }
+ return value;
+ })
+ };
+
+ const options = {};
+ if(this.state.billingCountryType === "not-eu"){
+ options.negatedParams = {billing_countries: eucountries}
+ }
+
+ return {
+ params,
+ options
};
- this.state.filters.forEach((filter) => {
- query[filter] = OrdersFilters[filter](this.state);
- });
- return query;
}
downloadAll(page: ?number) {
- const selected = (this.state.orders || []).filter((order) => order.selected);
+ const selected = (this.state.orders || []).filter(order => order.selected);
if (selected.length > 0) {
return Promise.resolve(selected);
}
-
- return this.props.commerce.orderHistory(this.orderQuery(page || 1))
- .then(({orders, pagination}) => (
- pagination.last === pagination.current ? orders : this.downloadAll(pagination.next).then(o => orders.concat(o))
- ));
- };
+ const { params, options } = this.orderQuery(page || 1);
+ return this.props.commerce
+ .orderHistory(params, options)
+ .then(
+ ({ orders, pagination }) =>
+ pagination.last === pagination.current
+ ? orders
+ : this.downloadAll(pagination.next).then(o => orders.concat(o))
+ );
+ }
searchOptions = [
- { key: 'email', text: 'Email', value: 'email' },
- { key: 'items', text: 'Items', value: 'items' },
- ]
+ { key: "email", text: "Email", value: "email" },
+ { key: "item_type", text: "Items", value: "item_type" }
+ ];
+
+ shippingOptions = [
+ { key: "pending", text: "Pending", value: "pending" },
+ { key: "shipped", text: "Shipped", value: "shipped" },
+ { key: "failed", text: "Failed", value: "failed" }
+ ];
+
+ paymentOptions = [
+ { key: "pending", text: "Pending", value: "pending" },
+ { key: "paid", text: "Paid", value: "paid" },
+ { key: "failed", text: "Failed", value: "failed" }
+ ];
handleSelect = (id: string) => {
- this.setState((state) => {
+ this.setState(state => {
let selection = false;
-
- let orders = state.orders.map((order) => {
+ let orders = state.orders.map(order => {
if (order.id === id) {
- order = {...order, selected: !order.selected};
+ order = { ...order, selected: !order.selected };
}
- if (order.selected) selection = true
- return order
+ if (order.selected) selection = true;
+ return order;
});
- return {orders, selection};
+ return { orders, selection };
});
- }
+ };
+
+ handleToDateSelection = (e: SyntheticEvent, el: { value: string }) => {
+ this.setState({
+ filters: { ...this.state.filters, to: getTime(el.value) / 1000 }
+ });
+ };
+
+ handleFromDateSelection = (e: SyntheticEvent, el: { value: string }) => {
+ this.setState({
+ filters: { ...this.state.filters, from: getTime(el.value) / 1000 }
+ });
+ };
+ handleSearchQuery = (
+ e: SyntheticEvent,
+ el: { value: string, name: string }
+ ) => {
+ this.setState({ search: el.value ? el.value : null });
+ };
+
+ handleSelections = (
+ e: SyntheticEvent,
+ el: { value: string, name: string }
+ ) => {
+ switch (el.name) {
+ case "order-billing-state":
+ this.setState({
+ filters: { ...this.state.filters, payment_state: el.value }
+ });
+ break;
+ case "order-shipping-state":
+ this.setState({
+ filters: { ...this.state.filters, fulfillment_state: el.value }
+ });
+ break;
+ case "order-item-type":
+ this.setState({
+ filters: { ...this.state.filters, item_type: el.value }
+ });
+ break;
+ }
+ };
- handleToggleAll = e => {
- e.preventDefault()
- const selection = !this.state.allSelected
+ handleCheckSelect = (
+ e: SyntheticEvent,
+ el: { value: string, checked: boolean }
+ ) => {
+ this.setState({
+ disabledFields: {
+ ...this.state.disabledFields,
+ [el.value]: !this.state.disabledFields[el.value]
+ }
+ });
+ };
+
+ handleCountryChange = (e: SyntheticEvent, el: { value: string }) => {
+ if (el.value === "eu") {
+ this.setState({
+ billingCountryType: el.value,
+ filters: { ...this.state.filters, billing_countries: eucountries }
+ });
+ }
+ this.setState({ billingCountryType: el.value });
+ };
+ handleToggleAll = (e: SyntheticEvent) => {
+ e.preventDefault();
+ const selection = !this.state.allSelected;
this.setState({
allSelected: selection,
selection,
orders: this.state.orders.map(o => ({ ...o, selected: selection }))
- })
- }
+ });
+ };
handleReceipts = (e: SyntheticEvent) => {
e.preventDefault();
-
- const {commerce} = this.props;
- const {orders} = this.state;
+ const { commerce } = this.props;
+ const { orders } = this.state;
const openWindow = window.open("about:blank", "Receipts");
- Promise.all((orders || []).filter((o) => o.selected && o.payment_state === 'paid').map((order) => commerce.orderReceipt(order.id)))
- .then((receipts) => {
- openWindow.document.body.innerHTML = receipts.map((data) => data.data).join("");
- });
- }
+ Promise.all(
+ (orders || [])
+ .filter(o => o.selected && o.payment_state === "paid")
+ .map(order => commerce.orderReceipt(order.id))
+ ).then(receipts => {
+ openWindow.document.body.innerHTML = receipts
+ .map(data => data.data)
+ .join("");
+ });
+ };
render() {
- const {onLink} = this.props;
- const {loading, allSelected, downloading, error, orders, pagination, tax, enabledFields, searchScope, selection} = this.state;
-
- return
-
-
-
- Loading orders...
-
-
-
-
-
-
-
-
-
- ({text: country.label, value: country.label}))}
- onChange={this.handleCountries}
+ const { onLink } = this.props;
+ const {
+ loading,
+ billingCountryType,
+ allSelected,
+ filterCount,
+ filters,
+ downloading,
+ error,
+ orders,
+ pagination,
+ enabledFields,
+ searchScope,
+ selection
+ } = this.state;
+ const {
+ disableBillingField,
+ disableShippingField,
+ disableTypeField,
+ disableDateField,
+ disableTaxField,
+ disableAddressField
+ } = this.state.disabledFields;
+
+ const { to, from } = this.state.filters;
+
+ return (
+
+
+
+
+
+ Loading orders...
+
+
+
-
-
-
-
- {Object.keys(enabledFields).map((field) =>
-
- )}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {Object.keys(enabledFields).map((field) => enabledFields[field] &&
- {field}
- )}
-
-
-
- {orders && orders.map((order) => (
-
- ))}
-
-
-
-
- ;
+
+
+
+
+
+
+ }
+ positioning="bottom center"
+ basic
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {!disableAddressField && (
+
+
+
+
+
+ )}
+ {billingCountryType === "country" && (
+ ({
+ text: country.label,
+ value: country.label
+ }))}
+ onChange={this.handleCountries}
+ />
+ )}
+
+
+
+
+
+
+
+
+ {Object.keys(enabledFields).map(field => (
+
+
+
+
+ ))}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {Object.keys(enabledFields).map(field => {
+ const fieldName = {
+ Date: "created_at",
+ "Updated At": "updated_at",
+ Email: "email",
+ Taxes: "taxes",
+ Subtotal: "subtotal",
+ Total: "total"
+ }[field];
+ return (
+ enabledFields[field] && (
+ {
+ if (!fieldName) {
+ return;
+ }
+ this.setState(
+ {
+ sortedBy: fieldName,
+ direction:
+ this.state.sortedBy === fieldName &&
+ this.state.direction === "asc"
+ ? "desc"
+ : "asc"
+ },
+ () => this.loadOrders()
+ );
+ }}
+ >
+ {" "}
+ {field === "Shipping State"
+ ? String.fromCodePoint(128230)
+ : field === "Payment State"
+ ? String.fromCodePoint(128181)
+ : field}
+ {this.state.sortedBy === fieldName &&
+ (this.state.direction === "asc" ? (
+
+ ) : (
+
+ ))}
+
+ )
+ );
+ })}
+
+
+
+ {orders &&
+ orders.map(order => (
+
+ ))}
+
+
+
+
+
+
+ );
}
}
-
-const OrdersFilters = {
- tax(state) {
- return true;
- },
- shipping_countries(state) {
- return state.shippingCountries && state.shippingCountries.join(',');
- },
- email(state) {
- return state.search
- },
- items(state) {
- return state.search
- }
-};
diff --git a/src/Components/Pagination/index.js b/src/Components/Pagination/index.js
index f84ea0b..3b2f5ef 100644
--- a/src/Components/Pagination/index.js
+++ b/src/Components/Pagination/index.js
@@ -1,17 +1,29 @@
// @flow
-import React, {Component} from 'react';
-import {List, Menu} from 'semantic-ui-react';
+import React, { Component } from "react";
+import { List, Menu } from "semantic-ui-react";
+import ChevronLeftIcon from "mdi-react/ChevronLeftIcon";
+import ChevronRightIcon from "mdi-react/ChevronRightIcon";
function calculatePages(current: number, last: number) {
- if (last <= 1) { return null; }
+ if (last <= 1) {
+ return null;
+ }
- const pages = [{name: "First", number: 1}];
+ const pages = [{ name: "First", number: 1 }];
for (let page = 1; page <= last; page++) {
- if (page - current < -3) { continue; }
- if (current - page < -3) { continue; }
- pages.push({name: page.toString(), number: page, active: page === current});
+ if (page - current < -3) {
+ continue;
+ }
+ if (current - page < -3) {
+ continue;
+ }
+ pages.push({
+ name: page.toString(),
+ number: page,
+ active: page === current
+ });
}
- pages.push({name: "Last", number: last});
+ pages.push({ name: "Last", number: last });
return pages;
}
@@ -24,28 +36,45 @@ export function pageFromURL() {
}
type args = {
- current: number, next: ?number, last: number, total: number,
- perPage: number, onClick: (SyntheticEvent, Object) => void
+ current: number,
+ next: ?number,
+ last: number,
+ total: number,
+ perPage: number,
+ onClick: (SyntheticEvent, Object) => void
};
-export default function Pagination({current, next, last, total, perPage, onClick}: args) {
+export default function Pagination({
+ current,
+ next,
+ last,
+ total,
+ perPage,
+ onClick
+}: args) {
const pages = calculatePages(current, last);
- if (!pages) { return null; }
+ if (!pages) {
+ return null;
+ }
const from = (current - 1) * perPage;
const to = Math.min(from + perPage, total);
-
- return
-
-
-
- {from}-{to} of {total}
-
;
+ const paginationText = current + "of" + last;
+
+ return (
+
+
+
+
+
+ );
}
diff --git a/src/Components/Reports/index.js b/src/Components/Reports/index.js
index 83a5d03..24ae0a0 100644
--- a/src/Components/Reports/index.js
+++ b/src/Components/Reports/index.js
@@ -1,40 +1,49 @@
// @flow
-import type {Config, Commerce, Currency} from '../../Types';
-import React, {Component} from 'react';
-import addWeeks from 'date-fns/add_weeks';
-import {Table} from 'semantic-ui-react';
-import fx from 'money';
-import Layout from '../Layout';
-import ErrorMessage from '../Messages/Error';
-import {formatPrice} from '../Order';
-
-const EXCHANGE_RATE_API = 'https://api.fixer.io/latest?base=USD';
-
-type SalesRow = {
+import type { Config, Commerce, Currency } from "../../Types";
+import React, { Component } from "react";
+import addWeeks from "date-fns/add_weeks";
+import { Container, Table, Segment, Grid, List, Divider } from "semantic-ui-react";
+import fx from "money";
+import Layout from "../Layout";
+import ErrorMessage from "../Messages/Error";
+import { formatPrice } from "../Order";
+import { addMonths, addDays } from "date-fns";
+import { RoadIcon } from "mdi-react";
+
+const EXCHANGE_RATE_API = "https://api.fixer.io/latest?base=USD";
+
+type SalesRow = Array<{
subtotal: number,
taxes: number,
total: number,
currency: Currency
-};
+}>;
+
type SalesReport = Array;
-type ProductsRow = {
+
+type ProductsRow = Array<{
sku: string,
path: string,
total: number,
currency: Currency
-};
+}>;
+
type ProductsReport = Array;
function ts(date) {
return parseInt(date.getTime() / 1000, 10);
}
+function getLastSecond(year: number, month: number) {
+ return new Date(year, month + 1, 1, 0, 0, -1);
+}
+
function sumUSD(sales, field) {
return (sales || []).reduce((sum, row) => {
- if (row.currency === 'USD') {
+ if (row.currency === "USD") {
return sum + row[field];
}
- return sum + fx.convert(row[field], {from: row.currency, to: 'USD'});
+ return sum + fx.convert(row[field], { from: row.currency, to: "USD" });
}, 0);
}
@@ -44,18 +53,58 @@ function withRates() {
return Promise.resolve();
}
return fetch(EXCHANGE_RATE_API)
- .then((response) => response.json())
- .then((data) => {
+ .then(response => response.json())
+ .then(data => {
fx.base = data.base;
fx.rates = data.rates;
- })
+ });
}
+const makeTotals = (us: ?number, eu: ?number) => {
+ let totalAmount = "0.00";
+
+ if (us && eu) {
+ totalAmount = formatPrice(us, "USD") + " + " + formatPrice(eu, "EUR");
+ } else if (us) {
+ totalAmount = formatPrice(us, "USD");
+ } else if (eu) {
+ totalAmount = formatPrice(eu, "EUR");
+ }
+ return totalAmount;
+};
+
+const makeSalesRows = (us: Object[], eu: Object[], key, title, orders) => {
+ const usAmount = us.length > 0 ? us[0].total : undefined;
+ const euAmount = eu.length > 0 ? eu[0].total : undefined;
+ return (
+
+ {title}
+ {orders ? orders : "0"} orders
+ {makeTotals(usAmount, euAmount)}
+
+ );
+};
+
+const makeProductRows = (us: Object[], eu: Object[], product, i, config) => {
+ const usAmount = us.length > 0 ? us[0].total : undefined;
+ const euAmount = eu.length > 0 ? eu[0].total : undefined;
+ return (
+
+
+
+ {product[0].sku}
+
+
+ {makeTotals(usAmount, euAmount)}
+
+ );
+};
type props = {
config: Config,
commerce: Commerce,
- onLink: (SyntheticEvent) => void
+ onLink: SyntheticEvent => void
};
+
export default class Reports extends Component {
props: props;
state: {
@@ -69,88 +118,150 @@ export default class Reports extends Component {
constructor(props: props) {
super(props);
this.state = {
- loading: true, sales: null, products: null, error: null, salesTotal: null
+ loading: true,
+ sales: null,
+ products: null,
+ error: null,
+ salesTotal: null
};
}
componentDidMount() {
- this.props.commerce.report('sales', {from: ts(addWeeks(new Date(), -1))})
- .then((report) => {
- this.setState({loading: false, sales: report});
- withRates().then(() => {
- this.setState({salesTotal: {
- currency: 'USD',
- subtotal: sumUSD(report, 'subtotal'),
- taxes: sumUSD(report, 'taxes'),
- total: sumUSD(report, 'total')
- }});
+ const rotate = function(arr: Array, n: number): Array {
+ const len = arr.length;
+ return arr.slice(len - n).concat(arr.slice(0, len - n));
+ };
+
+ const createDate = new Date();
+ const currentMonth = createDate.getMonth();
+ const currentYear = createDate.getFullYear();
+
+ const months = [];
+ for (let i = 11; i >= 0; i--) {
+ months.push({
+ month: i,
+ year: i < currentMonth ? currentYear : currentYear-1
+ })
+ }
+
+ const monthStrings = [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ];
+
+ const currentMonths = rotate(months, currentMonth);
+
+ Promise.all([
+ this.props.commerce.report("sales", {
+ from: ts(addWeeks(new Date(), -1))
+ }),
+ this.props.commerce.report("sales", {
+ from: ts(addDays(new Date(), -30))
+ }),
+ ...currentMonths.map(({ month, year }) => {
+ return this.props.commerce.report("sales", {
+ from: ts(new Date(year, month)),
+ to: ts(getLastSecond(year, month))
+ });
+ })
+ ])
+ .then(reports => {
+ const titles = [
+ "Last 7 days",
+ "last 30 days",
+ ...currentMonths.map(({ month, year }) => `${monthStrings[month]} ${year}`)
+ ];
+ reports.forEach((report, i) => {
+ report.title = titles[i]
});
+ this.setState({ loading: false, sales: reports });
})
- .catch((error) => {
- this.setState({loading: false, error});
+ .catch(error => {
+ this.setState({ loading: false, error });
});
- this.props.commerce.report('products', {from: ts(addWeeks(new Date(), -1))})
- .then((report) => {
- console.log(report);
- this.setState({loading: false, products: report});
+ this.props.commerce
+ .report("products", {
+ from: ts(addWeeks(new Date(), -30))
})
- .catch((error) => {
- this.setState({loading: false, error});
+ .then(reports => {
+ const allReports = [];
+ const reportsMap = new Map();
+
+ for (let r of reports) {
+ const dupe = reportsMap.get(r.sku);
+ if (!dupe) {
+ reportsMap.set(r.sku, [r]);
+ } else {
+ dupe.push(r);
+ }
+ }
+ for (let [k, v] of reportsMap) {
+ allReports.push(v);
+ }
+ this.setState({ loading: false, products: allReports });
})
+ .catch(error => {
+ this.setState({ loading: false, error });
+ });
}
render() {
- const {config, onLink} = this.props;
- const {loading, error, sales, salesTotal, products} = this.state;
-
- return
-
-
- Sales Last Week
-
-
-
- Currency
- SubTotal
- Taxes
- Total
-
-
-
- {sales && sales.map((row, i) =>
- {row.currency}
- {formatPrice(row.subtotal, row.currency)}
- {formatPrice(row.taxes, row.currency)}
- {formatPrice(row.total, row.currency)}
- )}
-
-
- {salesTotal &&
- Estimated Total in {salesTotal.currency}
- {formatPrice(salesTotal.subtotal, salesTotal.currency)}
- {formatPrice(salesTotal.taxes, salesTotal.currency)}
- {formatPrice(salesTotal.total, salesTotal.currency)}
- }
-
-
-
- Top Products Last Week
-
-
-
- Product
- Amount Sold
- Currency
-
-
-
- {products && products.map((row, i) =>
- {row.sku}
- {formatPrice(row.total, row.currency)}
- {row.currency}
- )}
-
-
- ;
+ const { config, onLink } = this.props;
+ const { loading, error, sales, salesTotal, products } = this.state;
+
+ return (
+
+
+
+
+
+
+
+
+ {sales &&
+ sales.map((sale, i) => {
+ const orders = sale.reduce((a, b) => a + b.orders, 0);
+ const usd = sale.filter(s => s.currency === "USD");
+ const eur = sale.filter(s => s.currency === "EUR");
+ return makeSalesRows(usd, eur, i, sale.title, orders);
+ })}
+
+
+
+
+
+
+
+
+ TOP PRODUCTS:
+ LAST 7 DAYS
+
+
+
+
+ {products &&
+ products.map((product, i) => {
+ const usd = product.filter(s => s.currency === "USD");
+ const eur = product.filter(s => s.currency === "EUR");
+ return makeProductRows(usd, eur, product, i, config);
+ })}
+
+
+
+
+
+
+
+ );
}
}
diff --git a/src/Components/WithAuthentication/LoginForm.js b/src/Components/WithAuthentication/LoginForm.js
index 6ff982d..388f59a 100644
--- a/src/Components/WithAuthentication/LoginForm.js
+++ b/src/Components/WithAuthentication/LoginForm.js
@@ -1,29 +1,49 @@
-import React, {Component} from 'react';
-import {Modal, Form, Message, Button} from 'semantic-ui-react';
+import React, { Component } from "react";
+import { Grid, Header, Form, Message, Button } from "semantic-ui-react";
export default class LoginForm extends Component {
- handleSubmit = (e, {formData}) => {
+ handleSubmit = (e, { formData }) => {
e.preventDefault();
-
- const {loading, onLogin} = this.props;
+ const { loading, onLogin } = this.props;
if (!loading) {
onLogin(formData.email, formData.password);
}
};
render() {
- const {show, loading, error} = this.props;
+ const { loading, error } = this.props;
- return
- Login
-
-
-
-
-
-
-
- ;
+ return (
+
+
+
+ Sign In to GoCommerce
+
+
+
+
+
+
+
+
+ );
}
}
diff --git a/src/Components/WithAuthentication/index.js b/src/Components/WithAuthentication/index.js
index 81bc4fb..0bb4060 100644
--- a/src/Components/WithAuthentication/index.js
+++ b/src/Components/WithAuthentication/index.js
@@ -1,5 +1,5 @@
-import React, {Component} from 'react';
-import LoginForm from './LoginForm';
+import React, { Component } from "react";
+import LoginForm from "./LoginForm";
export default class WithAuthentication extends Component {
constructor(props) {
@@ -11,22 +11,38 @@ export default class WithAuthentication extends Component {
}
handleLogin = (email, password) => {
- this.setState({loading: true});
- this.props.onLogin(email, password)
+ this.setState({ loading: true });
+ this.props
+ .onLogin(email, password)
.then(() => {
- this.setState({loading: false, error: null});
+ this.setState({ loading: false, error: null });
})
- .catch((error) => {
- this.setState({loading: false, error: (error.description || error.msg || error.toString())});
+ .catch(error => {
+ this.setState({
+ loading: false,
+ error:
+ error.description ||
+ error.msg ||
+ error.error_description ||
+ error.toString()
+ });
});
};
render() {
- const {user, children} = this.props;
- const {loading, error} = this.state;
- return
- {}
- {user && children}
-
;
+ const { user, children } = this.props;
+ const { loading, error } = this.state;
+ return (
+
+ {!user && (
+
+ )}
+ {user && children}
+
+ );
}
}
diff --git a/src/Components/index.js b/src/Components/index.js
index 4cd00be..7ff90ab 100644
--- a/src/Components/index.js
+++ b/src/Components/index.js
@@ -1,6 +1,6 @@
-export {default as WithAuthentication} from './WithAuthentication';
-export {default as Customers} from './Customers';
-export {default as Order} from './Order';
-export {default as Orders} from './Orders';
-export {default as Reports} from './Reports';
-export {default as Sidebar} from './Sidebar';
+export { default as WithAuthentication } from "./WithAuthentication";
+export { default as Customers } from "./Customers";
+export { default as Order } from "./Order";
+export { default as Orders } from "./Orders";
+export { default as Reports } from "./Reports";
+export { default as Navigation } from "./Navigation";
diff --git a/src/Types.js b/src/Types.js
index 6f7a9c7..2805f11 100644
--- a/src/Types.js
+++ b/src/Types.js
@@ -18,7 +18,9 @@ export type Customer = {
id: string,
email: string,
order_count: number,
- created_at: string
+ created_at: string,
+ last_order_at: string,
+ name: string
};
export type Order = {
@@ -29,14 +31,14 @@ export type Order = {
subtotal: number,
taxes: number,
total: number,
-
+ discount: number,
shipping_address: Address,
billing_address: Address,
payment_processor: 'stripe' | 'paypal',
payment_state: 'pending' | 'paid',
fulfillment_state: 'pending' | 'shipped',
-
+ shipping: number,
currency: Currency,
vatnumber: string,
@@ -53,7 +55,7 @@ export type Order = {
export type LineItem = {
id: string,
-
+ meta: Meta,
title: string,
sku: string,
path: string,
@@ -64,7 +66,8 @@ export type LineItem = {
type: string,
created_at: string,
- updated_at: string
+ updated_at: string,
+ vat: number
};
export type TransactionType = 'charge' | 'refund';
@@ -79,12 +82,21 @@ export type Transaction = {
};
export type Address = {
+ name: string,
first_name: string, last_name: string,
company: string,
address1: string, address2: string,
city: string, country: string, state: string, zip: string
};
+export type Meta = {
+ author: string,
+ authors: string,
+ component: string,
+ product_path: string,
+ product_sku: string
+};
+
export type Commerce = {
orderHistory: (Object) => Promise<{pagination: Pagination, orders: Array}>,
orderDetails: (string) => Promise,
diff --git a/src/data/eucountries.js b/src/data/eucountries.js
new file mode 100644
index 0000000..370a10c
--- /dev/null
+++ b/src/data/eucountries.js
@@ -0,0 +1,29 @@
+export default [
+"Austria",
+"Belgium",
+"Bulgaria",
+"Croatia",
+"Republic of Cyprus",
+"Czech Republic",
+"Denmark",
+"Estonia",
+"Finland",
+"France",
+"Germany",
+"Greece",
+"Hungary",
+"Ireland",
+"Italy",
+"Latvia",
+"Lithuania",
+"Luxembourg",
+"Malta",
+"Netherlands",
+"Poland",
+"Portugal",
+"Romania",
+"Slovakia",
+"Slovenia",
+"Spain",
+"Sweden",
+"United Kingdom"]
\ No newline at end of file
diff --git a/src/semantic/gulpfile.js b/src/semantic/gulpfile.js
new file mode 100644
index 0000000..1dcbc90
--- /dev/null
+++ b/src/semantic/gulpfile.js
@@ -0,0 +1,70 @@
+/*******************************
+ Set-up
+*******************************/
+
+var
+ gulp = require('gulp-help')(require('gulp')),
+
+ // read user config to know what task to load
+ config = require('./tasks/config/user'),
+
+ // watch changes
+ watch = require('./tasks/watch'),
+
+ // build all files
+ build = require('./tasks/build'),
+ buildCSS = require('./tasks/build/css'),
+ buildAssets = require('./tasks/build/assets'),
+
+ // utility
+ clean = require('./tasks/clean'),
+ version = require('./tasks/version'),
+
+ // docs tasks
+ serveDocs = require('./tasks/docs/serve'),
+ buildDocs = require('./tasks/docs/build'),
+
+ // rtl
+ buildRTL = require('./tasks/rtl/build'),
+ watchRTL = require('./tasks/rtl/watch')
+;
+
+
+/*******************************
+ Tasks
+*******************************/
+
+gulp.task('default', false, [
+ 'watch'
+]);
+
+gulp.task('watch', 'Watch for site/theme changes', watch);
+
+gulp.task('build', 'Builds all files from source', build);
+gulp.task('build-css', 'Builds all css from source', buildCSS);
+gulp.task('build-assets', 'Copies all assets from source', buildAssets);
+
+gulp.task('clean', 'Clean dist folder', clean);
+gulp.task('version', 'Displays current version of Semantic', version);
+
+/*--------------
+ Docs
+---------------*/
+
+/*
+ Lets you serve files to a local documentation instance
+ https://github.com/Semantic-Org/Semantic-UI-Docs/
+*/
+
+gulp.task('serve-docs', 'Serve file changes to SUI Docs', serveDocs);
+gulp.task('build-docs', 'Build all files and add to SUI Docs', buildDocs);
+
+
+/*--------------
+ RTL
+---------------*/
+
+if(config.rtl) {
+ gulp.task('watch-rtl', 'Watch files as RTL', watchRTL);
+ gulp.task('build-rtl', 'Build all files as RTL', buildRTL);
+}
diff --git a/src/semantic/semantic.json b/src/semantic/semantic.json
new file mode 100644
index 0000000..1a5db93
--- /dev/null
+++ b/src/semantic/semantic.json
@@ -0,0 +1,23 @@
+{
+ "base": "semantic/",
+ "paths": {
+ "source": {
+ "config": "src/theme.config",
+ "definitions": "src/definitions/",
+ "site": "src/site/",
+ "themes": "src/themes/"
+ },
+ "output": {
+ "packaged": "dist/",
+ "uncompressed": "dist/components/",
+ "compressed": "dist/components/",
+ "themes": "dist/themes/"
+ },
+ "clean": "dist/"
+ },
+ "permission": false,
+ "autoInstall": false,
+ "rtl": false,
+ "components": ["reset", "site", "button", "container", "divider", "flag", "header", "icon", "image", "input", "label", "list", "loader", "rail", "reveal", "segment", "step", "breadcrumb", "form", "grid", "menu", "message", "table", "ad", "card", "comment", "feed", "item", "statistic", "accordion", "checkbox", "dimmer", "dropdown", "embed", "modal", "nag", "popup", "progress", "rating", "search", "shape", "sidebar", "sticky", "tab", "transition", "api", "form", "state", "visibility"],
+ "version": "2.2.6"
+}
\ No newline at end of file
diff --git a/src/semantic/src/definitions/collections/breadcrumb.less b/src/semantic/src/definitions/collections/breadcrumb.less
new file mode 100755
index 0000000..67a4e31
--- /dev/null
+++ b/src/semantic/src/definitions/collections/breadcrumb.less
@@ -0,0 +1,122 @@
+/*!
+ * # Semantic UI - Breadcrumb
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'collection';
+@element : 'breadcrumb';
+
+@import (multiple) '../../theme.config';
+
+
+/*******************************
+ Breadcrumb
+*******************************/
+
+.ui.breadcrumb {
+ line-height: 1;
+ display: @display;
+ margin: @verticalMargin 0em;
+ vertical-align: @verticalAlign;
+}
+.ui.breadcrumb:first-child {
+ margin-top: 0em;
+}
+.ui.breadcrumb:last-child {
+ margin-bottom: 0em;
+}
+
+/*******************************
+ Content
+*******************************/
+
+/* Divider */
+.ui.breadcrumb .divider {
+ display: inline-block;
+ opacity: @dividerOpacity;
+ margin: 0em @dividerSpacing 0em;
+
+ font-size: @dividerSize;
+ color: @dividerColor;
+ vertical-align: @dividerVerticalAlign;
+}
+
+/* Link */
+.ui.breadcrumb a {
+ color: @linkColor;
+}
+.ui.breadcrumb a:hover {
+ color: @linkHoverColor;
+}
+
+
+/* Icon Divider */
+.ui.breadcrumb .icon.divider {
+ font-size: @iconDividerSize;
+ vertical-align: @iconDividerVerticalAlign;
+}
+
+/* Section */
+.ui.breadcrumb a.section {
+ cursor: pointer;
+}
+.ui.breadcrumb .section {
+ display: inline-block;
+ margin: @sectionMargin;
+ padding: @sectionPadding;
+}
+
+/* Loose Coupling */
+.ui.breadcrumb.segment {
+ display: inline-block;
+ padding: @segmentPadding;
+}
+
+/*******************************
+ States
+*******************************/
+
+.ui.breadcrumb .active.section {
+ font-weight: @activeFontWeight;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+.ui.mini.breadcrumb {
+ font-size: @mini;
+}
+.ui.tiny.breadcrumb {
+ font-size: @tiny;
+}
+.ui.small.breadcrumb {
+ font-size: @small;
+}
+.ui.breadcrumb {
+ font-size: @medium;
+}
+.ui.large.breadcrumb {
+ font-size: @large;
+}
+.ui.big.breadcrumb {
+ font-size: @big;
+}
+.ui.huge.breadcrumb {
+ font-size: @huge;
+}
+.ui.massive.breadcrumb {
+ font-size: @massive;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/collections/form.less b/src/semantic/src/definitions/collections/form.less
new file mode 100755
index 0000000..0504601
--- /dev/null
+++ b/src/semantic/src/definitions/collections/form.less
@@ -0,0 +1,1053 @@
+/*!
+ * # Semantic UI - Form
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'collection';
+@element : 'form';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Elements
+*******************************/
+
+/*--------------------
+ Form
+---------------------*/
+
+.ui.form {
+ position: relative;
+ max-width: 100%;
+}
+
+/*--------------------
+ Content
+---------------------*/
+
+.ui.form > p {
+ margin: @paragraphMargin;
+}
+
+/*--------------------
+ Field
+---------------------*/
+
+.ui.form .field {
+ clear: both;
+ margin: @fieldMargin;
+}
+
+.ui.form .field:last-child,
+.ui.form .fields:last-child .field {
+ margin-bottom: 0em;
+}
+
+.ui.form .fields .field {
+ clear: both;
+ margin: 0em;
+}
+
+
+/*--------------------
+ Labels
+---------------------*/
+
+.ui.form .field > label {
+ display: block;
+ margin: @labelMargin;
+ color: @labelColor;
+ font-size: @labelFontSize;
+ font-weight: @labelFontWeight;
+ text-transform: @labelTextTransform;
+}
+
+/*--------------------
+ Standard Inputs
+---------------------*/
+
+
+.ui.form textarea,
+.ui.form input:not([type]),
+.ui.form input[type="date"],
+.ui.form input[type="datetime-local"],
+.ui.form input[type="email"],
+.ui.form input[type="number"],
+.ui.form input[type="password"],
+.ui.form input[type="search"],
+.ui.form input[type="tel"],
+.ui.form input[type="time"],
+.ui.form input[type="text"],
+.ui.form input[type="file"],
+.ui.form input[type="url"] {
+ width: @inputWidth;
+ vertical-align: top;
+}
+
+/* Set max height on unusual input */
+.ui.form ::-webkit-datetime-edit,
+.ui.form ::-webkit-inner-spin-button {
+ height: @inputLineHeight;
+}
+
+.ui.form input:not([type]),
+.ui.form input[type="date"],
+.ui.form input[type="datetime-local"],
+.ui.form input[type="email"],
+.ui.form input[type="number"],
+.ui.form input[type="password"],
+.ui.form input[type="search"],
+.ui.form input[type="tel"],
+.ui.form input[type="time"],
+.ui.form input[type="text"],
+.ui.form input[type="file"],
+.ui.form input[type="url"] {
+ font-family: @inputFont;
+ margin: 0em;
+ outline: none;
+ -webkit-appearance: none;
+ tap-highlight-color: rgba(255, 255, 255, 0);
+
+ line-height: @inputLineHeight;
+ padding: @inputPadding;
+ font-size: @inputFontSize;
+
+ background: @inputBackground;
+ border: @inputBorder;
+ color: @inputColor;
+ border-radius: @inputBorderRadius;
+ box-shadow: @inputBoxShadow;
+ transition: @inputTransition;
+}
+
+/* Text Area */
+.ui.form textarea {
+ margin: 0em;
+ -webkit-appearance: none;
+ tap-highlight-color: rgba(255, 255, 255, 0);
+
+ padding: @textAreaPadding;
+ font-size: @textAreaFontSize;
+ background: @textAreaBackground;
+ border: @textAreaBorder;
+ outline: none;
+ color: @inputColor;
+ border-radius: @inputBorderRadius;
+ box-shadow: @inputBoxShadow;
+ transition: @textAreaTransition;
+ font-size: @textAreaFontSize;
+ line-height: @textAreaLineHeight;
+ resize: @textAreaResize;
+}
+.ui.form textarea:not([rows]) {
+ height: @textAreaHeight;
+ min-height: @textAreaMinHeight;
+ max-height: @textAreaMaxHeight;
+}
+
+.ui.form textarea,
+.ui.form input[type="checkbox"] {
+ vertical-align: @checkboxVerticalAlign;
+}
+
+/*--------------------------
+ Input w/ attached Button
+---------------------------*/
+
+.ui.form input.attached {
+ width: auto;
+}
+
+
+/*--------------------
+ Basic Select
+---------------------*/
+
+.ui.form select {
+ display: block;
+ height: auto;
+ width: 100%;
+ background: @selectBackground;
+ border: @selectBorder;
+ border-radius: @selectBorderRadius;
+ box-shadow: @selectBoxShadow;
+ padding: @selectPadding;
+ color: @selectColor;
+ transition: @selectTransition;
+}
+
+/*--------------------
+ Dropdown
+---------------------*/
+
+/* Block */
+.ui.form .field > .selection.dropdown {
+ width: 100%;
+}
+.ui.form .field > .selection.dropdown > .dropdown.icon {
+ float: right;
+}
+
+/* Inline */
+.ui.form .inline.fields .field > .selection.dropdown,
+.ui.form .inline.field > .selection.dropdown {
+ width: auto;
+}
+.ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon,
+.ui.form .inline.field > .selection.dropdown > .dropdown.icon {
+ float: none;
+}
+
+/*--------------------
+ UI Input
+---------------------*/
+
+/* Block */
+.ui.form .field .ui.input,
+.ui.form .fields .field .ui.input,
+.ui.form .wide.field .ui.input {
+ width: 100%;
+}
+
+/* Inline */
+.ui.form .inline.fields .field:not(.wide) .ui.input,
+.ui.form .inline.field:not(.wide) .ui.input {
+ width: auto;
+ vertical-align: middle;
+}
+
+/* Auto Input */
+.ui.form .fields .field .ui.input input,
+.ui.form .field .ui.input input {
+ width: auto;
+}
+
+/* Full Width Input */
+.ui.form .ten.fields .ui.input input,
+.ui.form .nine.fields .ui.input input,
+.ui.form .eight.fields .ui.input input,
+.ui.form .seven.fields .ui.input input,
+.ui.form .six.fields .ui.input input,
+.ui.form .five.fields .ui.input input,
+.ui.form .four.fields .ui.input input,
+.ui.form .three.fields .ui.input input,
+.ui.form .two.fields .ui.input input,
+.ui.form .wide.field .ui.input input {
+ flex: 1 0 auto;
+ width: 0px;
+}
+
+
+/*--------------------
+ Types of Messages
+---------------------*/
+
+.ui.form .success.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: normal;
+ background: @promptBackground !important;
+ border: @promptBorder !important;
+ color: @promptTextColor !important;
+}
+.ui.form .inline.fields .field .prompt,
+.ui.form .inline.field .prompt {
+ vertical-align: top;
+ margin: @inlinePromptMargin;
+}
+.ui.form .inline.fields .field .prompt:before,
+.ui.form .inline.field .prompt:before {
+ border-width: 0px 0px @inlinePromptBorderWidth @inlinePromptBorderWidth;
+ bottom: auto;
+ right: auto;
+ top: 50%;
+ left: 0em;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+/*--------------------
+ Autofilled
+---------------------*/
+
+.ui.form .field.field input:-webkit-autofill {
+ box-shadow: 0px 0px 0px 100px @inputAutoFillBackground inset !important;
+ border-color: @inputAutoFillBorder !important;
+}
+
+/* Focus */
+.ui.form .field.field input:-webkit-autofill:focus {
+ box-shadow: 0px 0px 0px 100px @inputAutoFillFocusBackground inset !important;
+ border-color: @inputAutoFillFocusBorder !important;
+}
+
+/* Error */
+.ui.form .error.error input:-webkit-autofill {
+ box-shadow: 0px 0px 0px 100px @inputAutoFillErrorBackground inset !important;
+ border-color: @inputAutoFillErrorBorder !important;
+}
+
+
+
+/*--------------------
+ Placeholder
+---------------------*/
+
+/* browsers require these rules separate */
+.ui.form ::-webkit-input-placeholder {
+ color: @inputPlaceholderColor;
+}
+.ui.form :-ms-input-placeholder {
+ color: @inputPlaceholderColor;
+}
+.ui.form ::-moz-placeholder {
+ color: @inputPlaceholderColor;
+}
+
+.ui.form :focus::-webkit-input-placeholder {
+ color: @inputPlaceholderFocusColor;
+}
+.ui.form :focus:-ms-input-placeholder {
+ color: @inputPlaceholderFocusColor;
+}
+.ui.form :focus::-moz-placeholder {
+ color: @inputPlaceholderFocusColor;
+}
+
+/* Error Placeholder */
+.ui.form .error ::-webkit-input-placeholder {
+ color: @inputErrorPlaceholderColor;
+}
+.ui.form .error :-ms-input-placeholder {
+ color: @inputErrorPlaceholderColor !important;
+}
+.ui.form .error ::-moz-placeholder {
+ color: @inputErrorPlaceholderColor;
+}
+
+.ui.form .error :focus::-webkit-input-placeholder {
+ color: @inputErrorPlaceholderFocusColor;
+}
+.ui.form .error :focus:-ms-input-placeholder {
+ color: @inputErrorPlaceholderFocusColor !important;
+}
+.ui.form .error :focus::-moz-placeholder {
+ color: @inputErrorPlaceholderFocusColor;
+}
+
+
+/*--------------------
+ Focus
+---------------------*/
+
+.ui.form input:not([type]):focus,
+.ui.form input[type="date"]:focus,
+.ui.form input[type="datetime-local"]:focus,
+.ui.form input[type="email"]:focus,
+.ui.form input[type="number"]:focus,
+.ui.form input[type="password"]:focus,
+.ui.form input[type="search"]:focus,
+.ui.form input[type="tel"]:focus,
+.ui.form input[type="time"]:focus,
+.ui.form input[type="text"]:focus,
+.ui.form input[type="file"]:focus,
+.ui.form input[type="url"]:focus {
+ color: @inputFocusColor;
+ border-color: @inputFocusBorderColor;
+ border-radius: @inputFocusBorderRadius;
+ background: @inputFocusBackground;
+ box-shadow: @inputFocusBoxShadow;
+}
+.ui.form textarea:focus {
+ color: @textAreaFocusColor;
+ border-color: @textAreaFocusBorderColor;
+ border-radius: @textAreaFocusBorderRadius;
+ background: @textAreaFocusBackground;
+ box-shadow: @textAreaFocusBoxShadow;
+ -webkit-appearance: none;
+}
+
+
+/*--------------------
+ Success
+---------------------*/
+
+/* On Form */
+.ui.form.success .success.message:not(:empty) {
+ display: block;
+}
+.ui.form.success .compact.success.message:not(:empty) {
+ display: inline-block;
+}
+.ui.form.success .icon.success.message:not(:empty) {
+ display: flex;
+}
+
+/*--------------------
+ Warning
+---------------------*/
+
+/* On Form */
+.ui.form.warning .warning.message:not(:empty) {
+ display: block;
+}
+.ui.form.warning .compact.warning.message:not(:empty) {
+ display: inline-block;
+}
+.ui.form.warning .icon.warning.message:not(:empty) {
+ display: flex;
+}
+
+/*--------------------
+ Error
+---------------------*/
+
+/* On Form */
+.ui.form.error .error.message:not(:empty) {
+ display: block;
+}
+.ui.form.error .compact.error.message:not(:empty) {
+ display: inline-block;
+}
+.ui.form.error .icon.error.message:not(:empty) {
+ display: flex;
+}
+
+/* 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: @formErrorColor;
+}
+
+.ui.form .fields.error .field .corner.label,
+.ui.form .field.error .corner.label {
+ border-color: @formErrorColor;
+ color: @white;
+}
+
+.ui.form .fields.error .field textarea,
+.ui.form .fields.error .field select,
+.ui.form .fields.error .field input:not([type]),
+.ui.form .fields.error .field input[type="date"],
+.ui.form .fields.error .field input[type="datetime-local"],
+.ui.form .fields.error .field input[type="email"],
+.ui.form .fields.error .field input[type="number"],
+.ui.form .fields.error .field input[type="password"],
+.ui.form .fields.error .field input[type="search"],
+.ui.form .fields.error .field input[type="tel"],
+.ui.form .fields.error .field input[type="time"],
+.ui.form .fields.error .field input[type="text"],
+.ui.form .fields.error .field input[type="file"],
+.ui.form .fields.error .field input[type="url"],
+.ui.form .field.error textarea,
+.ui.form .field.error select,
+.ui.form .field.error input:not([type]),
+.ui.form .field.error input[type="date"],
+.ui.form .field.error input[type="datetime-local"],
+.ui.form .field.error input[type="email"],
+.ui.form .field.error input[type="number"],
+.ui.form .field.error input[type="password"],
+.ui.form .field.error input[type="search"],
+.ui.form .field.error input[type="tel"],
+.ui.form .field.error input[type="time"],
+.ui.form .field.error input[type="text"],
+.ui.form .field.error input[type="file"],
+.ui.form .field.error input[type="url"] {
+ background: @formErrorBackground;
+ border-color: @formErrorBorder;
+ color: @formErrorColor;
+ border-radius: @inputErrorBorderRadius;
+ box-shadow: @inputErrorBoxShadow;
+}
+.ui.form .field.error textarea:focus,
+.ui.form .field.error select:focus,
+.ui.form .field.error input:not([type]):focus,
+.ui.form .field.error input[type="date"]:focus,
+.ui.form .field.error input[type="datetime-local"]:focus,
+.ui.form .field.error input[type="email"]:focus,
+.ui.form .field.error input[type="number"]:focus,
+.ui.form .field.error input[type="password"]:focus,
+.ui.form .field.error input[type="search"]:focus,
+.ui.form .field.error input[type="tel"]:focus,
+.ui.form .field.error input[type="time"]:focus,
+.ui.form .field.error input[type="text"]:focus,
+.ui.form .field.error input[type="file"]:focus,
+.ui.form .field.error input[type="url"]:focus {
+ background: @inputErrorFocusBackground;
+ border-color: @inputErrorFocusBorder;
+ color: @inputErrorFocusColor;
+
+ -webkit-appearance: none;
+ box-shadow: @inputErrorFocusBoxShadow;
+}
+
+/* Preserve Native Select Stylings */
+.ui.form .field.error select {
+ -webkit-appearance: menulist-button;
+}
+
+/*------------------
+ Dropdown Error
+--------------------*/
+
+.ui.form .fields.error .field .ui.dropdown,
+.ui.form .fields.error .field .ui.dropdown .item,
+.ui.form .field.error .ui.dropdown,
+.ui.form .field.error .ui.dropdown .text,
+.ui.form .field.error .ui.dropdown .item {
+ background: @formErrorBackground;
+ color: @formErrorColor;
+}
+.ui.form .fields.error .field .ui.dropdown,
+.ui.form .field.error .ui.dropdown {
+ border-color: @formErrorBorder !important;
+}
+.ui.form .fields.error .field .ui.dropdown:hover,
+.ui.form .field.error .ui.dropdown:hover {
+ border-color: @formErrorBorder !important;
+}
+.ui.form .fields.error .field .ui.dropdown:hover .menu,
+.ui.form .field.error .ui.dropdown:hover .menu {
+ border-color: @formErrorBorder;
+}
+.ui.form .fields.error .field .ui.multiple.selection.dropdown > .label,
+.ui.form .field.error .ui.multiple.selection.dropdown > .label {
+ background-color: @dropdownErrorLabelBackground;
+ color: @dropdownErrorLabelColor;
+}
+
+/* Hover */
+.ui.form .fields.error .field .ui.dropdown .menu .item:hover,
+.ui.form .field.error .ui.dropdown .menu .item:hover {
+ background-color: @dropdownErrorHoverBackground;
+}
+
+/* Selected */
+.ui.form .fields.error .field .ui.dropdown .menu .selected.item,
+.ui.form .field.error .ui.dropdown .menu .selected.item {
+ background-color: @dropdownErrorSelectedBackground;
+}
+
+
+/* Active */
+.ui.form .fields.error .field .ui.dropdown .menu .active.item,
+.ui.form .field.error .ui.dropdown .menu .active.item {
+ background-color: @dropdownErrorActiveBackground !important;
+}
+
+/*--------------------
+ Checkbox Error
+---------------------*/
+
+.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label,
+.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,
+.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,
+.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box {
+ color: @formErrorColor;
+}
+.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before,
+.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,
+.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,
+.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before {
+ background: @formErrorBackground;
+ border-color: @formErrorBorder;
+}
+.ui.form .fields.error .field .checkbox label:after,
+.ui.form .field.error .checkbox label:after,
+.ui.form .fields.error .field .checkbox .box:after,
+.ui.form .field.error .checkbox .box:after {
+ color: @formErrorColor;
+}
+
+/*--------------------
+ Disabled
+---------------------*/
+
+.ui.form .disabled.fields .field,
+.ui.form .disabled.field,
+.ui.form .field :disabled {
+ pointer-events: none;
+ opacity: @disabledOpacity;
+}
+.ui.form .field.disabled > label,
+.ui.form .fields.disabled > label {
+ opacity: @disabledLabelOpacity;
+}
+.ui.form .field.disabled :disabled {
+ opacity: 1;
+}
+
+
+/*--------------
+ Loading
+---------------*/
+
+.ui.loading.form {
+ position: relative;
+ cursor: default;
+ pointer-events: none;
+}
+.ui.loading.form:before {
+ position: absolute;
+ content: '';
+ top: 0%;
+ left: 0%;
+ background: @loaderDimmerColor;
+ width: 100%;
+ height: 100%;
+ z-index: @loaderDimmerZIndex;
+}
+.ui.loading.form:after {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: 50%;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ animation: form-spin @loaderSpeed linear;
+ animation-iteration-count: infinite;
+
+ border-radius: @circularRadius;
+
+ border-color: @loaderLineColor @loaderFillColor @loaderFillColor @loaderFillColor;
+ border-style: solid;
+ border-width: @loaderLineWidth;
+
+ box-shadow: 0px 0px 0px 1px transparent;
+ visibility: visible;
+ z-index: @loaderLineZIndex;
+}
+
+@keyframes form-spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+
+/*******************************
+ Element Types
+*******************************/
+
+/*--------------------
+ Required Field
+---------------------*/
+
+.ui.form .required.fields:not(.grouped) > .field > label:after,
+.ui.form .required.fields.grouped > label:after,
+.ui.form .required.field > label:after,
+.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,
+.ui.form .required.field > .checkbox:after {
+ margin: @requiredMargin;
+ content: @requiredContent;
+ color: @requiredColor;
+}
+
+.ui.form .required.fields:not(.grouped) > .field > label:after,
+.ui.form .required.fields.grouped > label:after,
+.ui.form .required.field > label:after {
+ display: inline-block;
+ vertical-align: top;
+}
+
+.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,
+.ui.form .required.field > .checkbox:after {
+ position: absolute;
+ top: 0%;
+ left: 100%;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*--------------------
+ Inverted Colors
+---------------------*/
+
+.ui.inverted.form label,
+.ui.form .inverted.segment label,
+.ui.form .inverted.segment .ui.checkbox label,
+.ui.form .inverted.segment .ui.checkbox .box,
+.ui.inverted.form .ui.checkbox label,
+.ui.inverted.form .ui.checkbox .box,
+.ui.inverted.form .inline.fields > label,
+.ui.inverted.form .inline.fields .field > label,
+.ui.inverted.form .inline.fields .field > p,
+.ui.inverted.form .inline.field > label,
+.ui.inverted.form .inline.field > p {
+ color: @invertedLabelColor;
+}
+
+/* Inverted Field */
+.ui.inverted.form input:not([type]),
+.ui.inverted.form input[type="date"],
+.ui.inverted.form input[type="datetime-local"],
+.ui.inverted.form input[type="email"],
+.ui.inverted.form input[type="number"],
+.ui.inverted.form input[type="password"],
+.ui.inverted.form input[type="search"],
+.ui.inverted.form input[type="tel"],
+.ui.inverted.form input[type="time"],
+.ui.inverted.form input[type="text"],
+.ui.inverted.form input[type="file"],
+.ui.inverted.form input[type="url"] {
+ background: @invertedInputBackground;
+ border-color: @invertedInputBorderColor;
+ color: @invertedInputColor;
+ box-shadow: @invertedInputBoxShadow;
+}
+
+
+/*--------------------
+ Field Groups
+---------------------*/
+
+/* Grouped Vertically */
+.ui.form .grouped.fields {
+ display: block;
+ margin: @groupedMargin;
+}
+.ui.form .grouped.fields:last-child {
+ margin-bottom: 0em;
+}
+
+.ui.form .grouped.fields > label {
+ margin: @groupedLabelMargin;
+ color: @groupedLabelColor;
+ font-size: @groupedLabelFontSize;
+ font-weight: @groupedLabelFontWeight;
+ text-transform: @groupedLabelTextTransform;
+}
+
+.ui.form .grouped.fields .field,
+.ui.form .grouped.inline.fields .field {
+ display: block;
+ margin: @groupedFieldMargin;
+ padding: 0em;
+}
+
+/*--------------------
+ Fields
+---------------------*/
+
+/* Split fields */
+.ui.form .fields {
+ display: flex;
+ flex-direction: row;
+ margin: @fieldsMargin;
+}
+.ui.form .fields > .field {
+ flex: 0 1 auto;
+ padding-left: (@gutterWidth / 2);
+ padding-right: (@gutterWidth / 2);
+}
+.ui.form .fields > .field:first-child {
+ border-left: none;
+ box-shadow: none;
+}
+
+/* Other Combinations */
+.ui.form .two.fields > .fields,
+.ui.form .two.fields > .field {
+ width: @twoColumn;
+}
+.ui.form .three.fields > .fields,
+.ui.form .three.fields > .field {
+ width: @threeColumn;
+}
+.ui.form .four.fields > .fields,
+.ui.form .four.fields > .field {
+ width: @fourColumn;
+}
+.ui.form .five.fields > .fields,
+.ui.form .five.fields > .field {
+ width: @fiveColumn;
+}
+.ui.form .six.fields > .fields,
+.ui.form .six.fields > .field {
+ width: @sixColumn;
+}
+.ui.form .seven.fields > .fields,
+.ui.form .seven.fields > .field {
+ width: @sevenColumn;
+}
+.ui.form .eight.fields > .fields,
+.ui.form .eight.fields > .field {
+ width: @eightColumn;
+}
+.ui.form .nine.fields > .fields,
+.ui.form .nine.fields > .field {
+ width: @nineColumn;
+}
+.ui.form .ten.fields > .fields,
+.ui.form .ten.fields > .field {
+ width: @tenColumn;
+}
+
+/* Swap to full width on mobile */
+@media only screen and (max-width : @largestMobileScreen) {
+ .ui.form .fields {
+ flex-wrap: wrap;
+ }
+
+ .ui[class*="equal width"].form .fields > .field,
+ .ui.form [class*="equal width"].fields > .field,
+ .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 .six.fields > .fields,
+ .ui.form .six.fields > .field,
+ .ui.form .seven.fields > .fields,
+ .ui.form .seven.fields > .field,
+ .ui.form .eight.fields > .fields,
+ .ui.form .eight.fields > .field,
+ .ui.form .nine.fields > .fields,
+ .ui.form .nine.fields > .field,
+ .ui.form .ten.fields > .fields,
+ .ui.form .ten.fields > .field {
+ width: @oneColumn !important;
+ margin: 0em 0em @rowDistance;
+ }
+}
+
+
+/* Sizing Combinations */
+.ui.form .fields .wide.field {
+ width: @oneWide;
+ padding-left: (@gutterWidth / 2);
+ padding-right: (@gutterWidth / 2);
+}
+
+.ui.form .one.wide.field {
+ width: @oneWide !important;
+}
+.ui.form .two.wide.field {
+ width: @twoWide !important;
+}
+.ui.form .three.wide.field {
+ width: @threeWide !important;
+}
+.ui.form .four.wide.field {
+ width: @fourWide !important;
+}
+.ui.form .five.wide.field {
+ width: @fiveWide !important;
+}
+.ui.form .six.wide.field {
+ width: @sixWide !important;
+}
+.ui.form .seven.wide.field {
+ width: @sevenWide !important;
+}
+.ui.form .eight.wide.field {
+ width: @eightWide !important;
+}
+.ui.form .nine.wide.field {
+ width: @nineWide !important;
+}
+.ui.form .ten.wide.field {
+ width: @tenWide !important;
+}
+.ui.form .eleven.wide.field {
+ width: @elevenWide !important;
+}
+.ui.form .twelve.wide.field {
+ width: @twelveWide !important;
+}
+.ui.form .thirteen.wide.field {
+ width: @thirteenWide !important;
+}
+.ui.form .fourteen.wide.field {
+ width: @fourteenWide !important;
+}
+.ui.form .fifteen.wide.field {
+ width: @fifteenWide !important;
+}
+.ui.form .sixteen.wide.field {
+ width: @sixteenWide !important;
+}
+
+/* Swap to full width on mobile */
+@media only screen and (max-width : @largestMobileScreen) {
+ .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: @oneColumn !important;
+ }
+ .ui.form .fields {
+ margin-bottom: 0em;
+ }
+}
+
+/*--------------------
+ Equal Width
+---------------------*/
+
+.ui[class*="equal width"].form .fields > .field,
+.ui.form [class*="equal width"].fields > .field {
+ width: 100%;
+ flex: 1 1 auto;
+}
+
+/*--------------------
+ Inline Fields
+---------------------*/
+
+.ui.form .inline.fields {
+ margin: @fieldMargin;
+ align-items: center;
+}
+.ui.form .inline.fields .field {
+ margin: 0em;
+ padding: @inlineFieldsMargin;
+}
+
+/* Inline Label */
+.ui.form .inline.fields > label,
+.ui.form .inline.fields .field > label,
+.ui.form .inline.fields .field > p,
+.ui.form .inline.field > label,
+.ui.form .inline.field > p {
+ display: inline-block;
+ width: auto;
+ margin-top: 0em;
+ margin-bottom: 0em;
+ vertical-align: baseline;
+ font-size: @inlineLabelFontSize;
+ font-weight: @inlineLabelFontWeight;
+ color: @inlineLabelColor;
+ text-transform: @inlineLabelTextTransform;
+}
+
+/* Grouped Inline Label */
+.ui.form .inline.fields > label {
+ margin: @groupedInlineLabelMargin;
+}
+
+/* Inline Input */
+.ui.form .inline.fields .field > input,
+.ui.form .inline.fields .field > select,
+.ui.form .inline.field > input,
+.ui.form .inline.field > select {
+ display: inline-block;
+ width: auto;
+
+ margin-top: 0em;
+ margin-bottom: 0em;
+
+ vertical-align: middle;
+ font-size: @inlineInputSize;
+}
+
+/* Label */
+.ui.form .inline.fields .field > :first-child,
+.ui.form .inline.field > :first-child {
+ margin: 0em @inlineLabelDistance 0em 0em;
+}
+.ui.form .inline.fields .field > :only-child,
+.ui.form .inline.field > :only-child {
+ margin: 0em;
+}
+
+/* Wide */
+.ui.form .inline.fields .wide.field {
+ display: flex;
+ align-items: center;
+}
+.ui.form .inline.fields .wide.field > input,
+.ui.form .inline.fields .wide.field > select {
+ width: 100%;
+}
+
+
+/*--------------------
+ Sizes
+---------------------*/
+
+.ui.mini.form {
+ font-size: @mini;
+}
+.ui.tiny.form {
+ font-size: @tiny;
+}
+.ui.small.form {
+ font-size: @small;
+}
+.ui.form {
+ font-size: @medium;
+}
+.ui.large.form {
+ font-size: @large;
+}
+.ui.big.form {
+ font-size: @big;
+}
+.ui.huge.form {
+ font-size: @huge;
+}
+.ui.massive.form {
+ font-size: @massive;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/collections/grid.less b/src/semantic/src/definitions/collections/grid.less
new file mode 100755
index 0000000..ba1b535
--- /dev/null
+++ b/src/semantic/src/definitions/collections/grid.less
@@ -0,0 +1,1920 @@
+/*!
+ * # Semantic UI - Grid
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'collection';
+@element : 'grid';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Standard
+*******************************/
+
+.ui.grid {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ align-items: stretch;
+ padding: 0em;
+}
+
+/*----------------------
+ Remove Gutters
+-----------------------*/
+
+.ui.grid {
+ margin-top: -(@rowSpacing / 2);
+ margin-bottom: -(@rowSpacing / 2);
+ margin-left: -(@gutterWidth / 2);
+ margin-right: -(@gutterWidth / 2);
+}
+.ui.relaxed.grid {
+ margin-left: -(@relaxedGutterWidth / 2);
+ margin-right: -(@relaxedGutterWidth / 2);
+}
+.ui[class*="very relaxed"].grid {
+ margin-left: -(@veryRelaxedGutterWidth / 2);
+ margin-right: -(@veryRelaxedGutterWidth / 2);
+}
+
+
+/* Preserve Rows Spacing on Consecutive Grids */
+.ui.grid + .grid {
+ margin-top: @consecutiveGridDistance;
+}
+
+/*-------------------
+ Columns
+--------------------*/
+
+/* Standard 16 column */
+.ui.grid > .column:not(.row),
+.ui.grid > .row > .column {
+ position: relative;
+ display: inline-block;
+
+ width: @oneWide;
+ padding-left: (@gutterWidth / 2);
+ padding-right: (@gutterWidth / 2);
+ vertical-align: top;
+}
+
+.ui.grid > * {
+ padding-left: (@gutterWidth / 2);
+ padding-right: (@gutterWidth / 2);
+}
+
+/*-------------------
+ Rows
+--------------------*/
+
+.ui.grid > .row {
+ position: relative;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: inherit;
+ align-items: stretch;
+ width: 100% !important;
+ padding: 0rem;
+ padding-top: (@rowSpacing / 2);
+ padding-bottom: (@rowSpacing / 2);
+}
+
+/*-------------------
+ Columns
+--------------------*/
+
+/* Vertical padding when no rows */
+.ui.grid > .column:not(.row) {
+ padding-top: (@rowSpacing / 2);
+ padding-bottom: (@rowSpacing / 2);
+}
+.ui.grid > .row > .column {
+ margin-top: 0em;
+ margin-bottom: 0em;
+}
+
+/*-------------------
+ Content
+--------------------*/
+
+.ui.grid > .row > img,
+.ui.grid > .row > .column > img {
+ max-width: @columnMaxImageWidth;
+}
+
+/*-------------------
+ Loose Coupling
+--------------------*/
+
+/* Collapse Margin on Consecutive Grid */
+.ui.grid > .ui.grid:first-child {
+ margin-top: 0em;
+}
+.ui.grid > .ui.grid:last-child {
+ margin-bottom: 0em;
+}
+
+/* Segment inside Aligned Grid */
+.ui.grid .aligned.row > .column > .segment:not(.compact):not(.attached),
+.ui.aligned.grid .column > .segment:not(.compact):not(.attached) {
+ width: 100%;
+}
+
+/* Align Dividers with Gutter */
+.ui.grid .row + .ui.divider {
+ flex-grow: 1;
+ margin: (@rowSpacing / 2) (@gutterWidth / 2);
+}
+.ui.grid .column + .ui.vertical.divider {
+ height: ~"calc(50% - "(@rowSpacing/2)~")";
+}
+
+/* Remove Border on Last Horizontal Segment */
+.ui.grid > .row > .column:last-child > .horizontal.segment,
+.ui.grid > .column:last-child > .horizontal.segment {
+ box-shadow: none;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*-----------------------
+ Page Grid
+-------------------------*/
+
+@media only screen and (max-width: @largestMobileScreen) {
+ .ui.page.grid {
+ width: @mobileWidth;
+ padding-left: @mobileGutter;
+ padding-right: @mobileGutter;
+ margin-left: 0em;
+ margin-right: 0em;
+ }
+}
+@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
+ .ui.page.grid {
+ width: @tabletWidth;
+ margin-left: @tabletMargin;
+ margin-right: @tabletMargin;
+ padding-left: @tabletGutter;
+ padding-right: @tabletGutter;
+ }
+}
+@media only screen and (min-width: @computerBreakpoint) and (max-width: @largestSmallMonitor) {
+ .ui.page.grid {
+ width: @computerWidth;
+ margin-left: @computerMargin;
+ margin-right: @computerMargin;
+ padding-left: @computerGutter;
+ padding-right: @computerGutter;
+ }
+}
+@media only screen and (min-width: @largeMonitorBreakpoint) and (max-width: @largestLargeMonitor) {
+ .ui.page.grid {
+ width: @largeMonitorWidth;
+ margin-left: @largeMonitorMargin;
+ margin-right: @largeMonitorMargin;
+ padding-left: @largeMonitorGutter;
+ padding-right: @largeMonitorGutter;
+ }
+}
+@media only screen and (min-width: @widescreenMonitorBreakpoint) {
+ .ui.page.grid {
+ width: @widescreenMonitorWidth;
+ margin-left: @widescreenMargin;
+ margin-right: @widescreenMargin;
+ padding-left: @widescreenMonitorGutter;
+ padding-right: @widescreenMonitorGutter;
+ }
+}
+
+
+/*-------------------
+ Column Count
+--------------------*/
+
+/* Assume full width with one column */
+.ui.grid > .column:only-child,
+.ui.grid > .row > .column:only-child {
+ width: @oneColumn;
+}
+
+/* Grid Based */
+.ui[class*="one column"].grid > .row > .column,
+.ui[class*="one column"].grid > .column:not(.row) {
+ width: @oneColumn;
+}
+.ui[class*="two column"].grid > .row > .column,
+.ui[class*="two column"].grid > .column:not(.row) {
+ width: @twoColumn;
+}
+.ui[class*="three column"].grid > .row > .column,
+.ui[class*="three column"].grid > .column:not(.row) {
+ width: @threeColumn;
+}
+.ui[class*="four column"].grid > .row > .column,
+.ui[class*="four column"].grid > .column:not(.row) {
+ width: @fourColumn;
+}
+.ui[class*="five column"].grid > .row > .column,
+.ui[class*="five column"].grid > .column:not(.row) {
+ width: @fiveColumn;
+}
+.ui[class*="six column"].grid > .row > .column,
+.ui[class*="six column"].grid > .column:not(.row) {
+ width: @sixColumn;
+}
+.ui[class*="seven column"].grid > .row > .column,
+.ui[class*="seven column"].grid > .column:not(.row) {
+ width: @sevenColumn;
+}
+.ui[class*="eight column"].grid > .row > .column,
+.ui[class*="eight column"].grid > .column:not(.row) {
+ width: @eightColumn;
+}
+.ui[class*="nine column"].grid > .row > .column,
+.ui[class*="nine column"].grid > .column:not(.row) {
+ width: @nineColumn;
+}
+.ui[class*="ten column"].grid > .row > .column,
+.ui[class*="ten column"].grid > .column:not(.row) {
+ width: @tenColumn;
+}
+.ui[class*="eleven column"].grid > .row > .column,
+.ui[class*="eleven column"].grid > .column:not(.row) {
+ width: @elevenColumn;
+}
+.ui[class*="twelve column"].grid > .row > .column,
+.ui[class*="twelve column"].grid > .column:not(.row) {
+ width: @twelveColumn;
+}
+.ui[class*="thirteen column"].grid > .row > .column,
+.ui[class*="thirteen column"].grid > .column:not(.row) {
+ width: @thirteenColumn;
+}
+.ui[class*="fourteen column"].grid > .row > .column,
+.ui[class*="fourteen column"].grid > .column:not(.row) {
+ width: @fourteenColumn;
+}
+.ui[class*="fifteen column"].grid > .row > .column,
+.ui[class*="fifteen column"].grid > .column:not(.row) {
+ width: @fifteenColumn;
+}
+.ui[class*="sixteen column"].grid > .row > .column,
+.ui[class*="sixteen column"].grid > .column:not(.row) {
+ width: @sixteenColumn;
+}
+
+/* Row Based Overrides */
+.ui.grid > [class*="one column"].row > .column {
+ width: @oneColumn !important;
+}
+.ui.grid > [class*="two column"].row > .column {
+ width: @twoColumn !important;
+}
+.ui.grid > [class*="three column"].row > .column {
+ width: @threeColumn !important;
+}
+.ui.grid > [class*="four column"].row > .column {
+ width: @fourColumn !important;
+}
+.ui.grid > [class*="five column"].row > .column {
+ width: @fiveColumn !important;
+}
+.ui.grid > [class*="six column"].row > .column {
+ width: @sixColumn !important;
+}
+.ui.grid > [class*="seven column"].row > .column {
+ width: @sevenColumn !important;
+}
+.ui.grid > [class*="eight column"].row > .column {
+ width: @eightColumn !important;
+}
+.ui.grid > [class*="nine column"].row > .column {
+ width: @nineColumn !important;
+}
+.ui.grid > [class*="ten column"].row > .column {
+ width: @tenColumn !important;
+}
+.ui.grid > [class*="eleven column"].row > .column {
+ width: @elevenColumn !important;
+}
+.ui.grid > [class*="twelve column"].row > .column {
+ width: @twelveColumn !important;
+}
+.ui.grid > [class*="thirteen column"].row > .column {
+ width: @thirteenColumn !important;
+}
+.ui.grid > [class*="fourteen column"].row > .column {
+ width: @fourteenColumn !important;
+}
+.ui.grid > [class*="fifteen column"].row > .column {
+ width: @fifteenColumn !important;
+}
+.ui.grid > [class*="sixteen column"].row > .column {
+ width: @sixteenColumn !important;
+}
+
+/* Celled Page */
+.ui.celled.page.grid {
+ box-shadow: none;
+}
+
+/*-------------------
+ Column Width
+--------------------*/
+
+/* Sizing Combinations */
+.ui.grid > .row > [class*="one wide"].column,
+.ui.grid > .column.row > [class*="one wide"].column,
+.ui.grid > [class*="one wide"].column,
+.ui.column.grid > [class*="one wide"].column {
+ width: @oneWide !important;
+}
+.ui.grid > .row > [class*="two wide"].column,
+.ui.grid > .column.row > [class*="two wide"].column,
+.ui.grid > [class*="two wide"].column,
+.ui.column.grid > [class*="two wide"].column {
+ width: @twoWide !important;
+}
+.ui.grid > .row > [class*="three wide"].column,
+.ui.grid > .column.row > [class*="three wide"].column,
+.ui.grid > [class*="three wide"].column,
+.ui.column.grid > [class*="three wide"].column {
+ width: @threeWide !important;
+}
+.ui.grid > .row > [class*="four wide"].column,
+.ui.grid > .column.row > [class*="four wide"].column,
+.ui.grid > [class*="four wide"].column,
+.ui.column.grid > [class*="four wide"].column {
+ width: @fourWide !important;
+}
+.ui.grid > .row > [class*="five wide"].column,
+.ui.grid > .column.row > [class*="five wide"].column,
+.ui.grid > [class*="five wide"].column,
+.ui.column.grid > [class*="five wide"].column {
+ width: @fiveWide !important;
+}
+.ui.grid > .row > [class*="six wide"].column,
+.ui.grid > .column.row > [class*="six wide"].column,
+.ui.grid > [class*="six wide"].column,
+.ui.column.grid > [class*="six wide"].column {
+ width: @sixWide !important;
+}
+.ui.grid > .row > [class*="seven wide"].column,
+.ui.grid > .column.row > [class*="seven wide"].column,
+.ui.grid > [class*="seven wide"].column,
+.ui.column.grid > [class*="seven wide"].column {
+ width: @sevenWide !important;
+}
+.ui.grid > .row > [class*="eight wide"].column,
+.ui.grid > .column.row > [class*="eight wide"].column,
+.ui.grid > [class*="eight wide"].column,
+.ui.column.grid > [class*="eight wide"].column {
+ width: @eightWide !important;
+}
+.ui.grid > .row > [class*="nine wide"].column,
+.ui.grid > .column.row > [class*="nine wide"].column,
+.ui.grid > [class*="nine wide"].column,
+.ui.column.grid > [class*="nine wide"].column {
+ width: @nineWide !important;
+}
+.ui.grid > .row > [class*="ten wide"].column,
+.ui.grid > .column.row > [class*="ten wide"].column,
+.ui.grid > [class*="ten wide"].column,
+.ui.column.grid > [class*="ten wide"].column {
+ width: @tenWide !important;
+}
+.ui.grid > .row > [class*="eleven wide"].column,
+.ui.grid > .column.row > [class*="eleven wide"].column,
+.ui.grid > [class*="eleven wide"].column,
+.ui.column.grid > [class*="eleven wide"].column {
+ width: @elevenWide !important;
+}
+.ui.grid > .row > [class*="twelve wide"].column,
+.ui.grid > .column.row > [class*="twelve wide"].column,
+.ui.grid > [class*="twelve wide"].column,
+.ui.column.grid > [class*="twelve wide"].column {
+ width: @twelveWide !important;
+}
+.ui.grid > .row > [class*="thirteen wide"].column,
+.ui.grid > .column.row > [class*="thirteen wide"].column,
+.ui.grid > [class*="thirteen wide"].column,
+.ui.column.grid > [class*="thirteen wide"].column {
+ width: @thirteenWide !important;
+}
+.ui.grid > .row > [class*="fourteen wide"].column,
+.ui.grid > .column.row > [class*="fourteen wide"].column,
+.ui.grid > [class*="fourteen wide"].column,
+.ui.column.grid > [class*="fourteen wide"].column {
+ width: @fourteenWide !important;
+}
+.ui.grid > .row > [class*="fifteen wide"].column,
+.ui.grid > .column.row > [class*="fifteen wide"].column,
+.ui.grid > [class*="fifteen wide"].column,
+.ui.column.grid > [class*="fifteen wide"].column {
+ width: @fifteenWide !important;
+}
+.ui.grid > .row > [class*="sixteen wide"].column,
+.ui.grid > .column.row > [class*="sixteen wide"].column,
+.ui.grid > [class*="sixteen wide"].column,
+.ui.column.grid > [class*="sixteen wide"].column {
+ width: @sixteenWide !important;
+}
+
+/*----------------------
+ Width per Device
+-----------------------*/
+
+/* Mobile Sizing Combinations */
+@media only screen and (min-width: @mobileBreakpoint) and (max-width: @largestMobileScreen) {
+ .ui.grid > .row > [class*="one wide mobile"].column,
+ .ui.grid > .column.row > [class*="one wide mobile"].column,
+ .ui.grid > [class*="one wide mobile"].column,
+ .ui.column.grid > [class*="one wide mobile"].column {
+ width: @oneWide !important;
+ }
+ .ui.grid > .row > [class*="two wide mobile"].column,
+ .ui.grid > .column.row > [class*="two wide mobile"].column,
+ .ui.grid > [class*="two wide mobile"].column,
+ .ui.column.grid > [class*="two wide mobile"].column {
+ width: @twoWide !important;
+ }
+ .ui.grid > .row > [class*="three wide mobile"].column,
+ .ui.grid > .column.row > [class*="three wide mobile"].column,
+ .ui.grid > [class*="three wide mobile"].column,
+ .ui.column.grid > [class*="three wide mobile"].column {
+ width: @threeWide !important;
+ }
+ .ui.grid > .row > [class*="four wide mobile"].column,
+ .ui.grid > .column.row > [class*="four wide mobile"].column,
+ .ui.grid > [class*="four wide mobile"].column,
+ .ui.column.grid > [class*="four wide mobile"].column {
+ width: @fourWide !important;
+ }
+ .ui.grid > .row > [class*="five wide mobile"].column,
+ .ui.grid > .column.row > [class*="five wide mobile"].column,
+ .ui.grid > [class*="five wide mobile"].column,
+ .ui.column.grid > [class*="five wide mobile"].column {
+ width: @fiveWide !important;
+ }
+ .ui.grid > .row > [class*="six wide mobile"].column,
+ .ui.grid > .column.row > [class*="six wide mobile"].column,
+ .ui.grid > [class*="six wide mobile"].column,
+ .ui.column.grid > [class*="six wide mobile"].column {
+ width: @sixWide !important;
+ }
+ .ui.grid > .row > [class*="seven wide mobile"].column,
+ .ui.grid > .column.row > [class*="seven wide mobile"].column,
+ .ui.grid > [class*="seven wide mobile"].column,
+ .ui.column.grid > [class*="seven wide mobile"].column {
+ width: @sevenWide !important;
+ }
+ .ui.grid > .row > [class*="eight wide mobile"].column,
+ .ui.grid > .column.row > [class*="eight wide mobile"].column,
+ .ui.grid > [class*="eight wide mobile"].column,
+ .ui.column.grid > [class*="eight wide mobile"].column {
+ width: @eightWide !important;
+ }
+ .ui.grid > .row > [class*="nine wide mobile"].column,
+ .ui.grid > .column.row > [class*="nine wide mobile"].column,
+ .ui.grid > [class*="nine wide mobile"].column,
+ .ui.column.grid > [class*="nine wide mobile"].column {
+ width: @nineWide !important;
+ }
+ .ui.grid > .row > [class*="ten wide mobile"].column,
+ .ui.grid > .column.row > [class*="ten wide mobile"].column,
+ .ui.grid > [class*="ten wide mobile"].column,
+ .ui.column.grid > [class*="ten wide mobile"].column {
+ width: @tenWide !important;
+ }
+ .ui.grid > .row > [class*="eleven wide mobile"].column,
+ .ui.grid > .column.row > [class*="eleven wide mobile"].column,
+ .ui.grid > [class*="eleven wide mobile"].column,
+ .ui.column.grid > [class*="eleven wide mobile"].column {
+ width: @elevenWide !important;
+ }
+ .ui.grid > .row > [class*="twelve wide mobile"].column,
+ .ui.grid > .column.row > [class*="twelve wide mobile"].column,
+ .ui.grid > [class*="twelve wide mobile"].column,
+ .ui.column.grid > [class*="twelve wide mobile"].column {
+ width: @twelveWide !important;
+ }
+ .ui.grid > .row > [class*="thirteen wide mobile"].column,
+ .ui.grid > .column.row > [class*="thirteen wide mobile"].column,
+ .ui.grid > [class*="thirteen wide mobile"].column,
+ .ui.column.grid > [class*="thirteen wide mobile"].column {
+ width: @thirteenWide !important;
+ }
+ .ui.grid > .row > [class*="fourteen wide mobile"].column,
+ .ui.grid > .column.row > [class*="fourteen wide mobile"].column,
+ .ui.grid > [class*="fourteen wide mobile"].column,
+ .ui.column.grid > [class*="fourteen wide mobile"].column {
+ width: @fourteenWide !important;
+ }
+ .ui.grid > .row > [class*="fifteen wide mobile"].column,
+ .ui.grid > .column.row > [class*="fifteen wide mobile"].column,
+ .ui.grid > [class*="fifteen wide mobile"].column,
+ .ui.column.grid > [class*="fifteen wide mobile"].column {
+ width: @fifteenWide !important;
+ }
+ .ui.grid > .row > [class*="sixteen wide mobile"].column,
+ .ui.grid > .column.row > [class*="sixteen wide mobile"].column,
+ .ui.grid > [class*="sixteen wide mobile"].column,
+ .ui.column.grid > [class*="sixteen wide mobile"].column {
+ width: @sixteenWide !important;
+ }
+}
+
+/* Tablet Sizing Combinations */
+@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
+ .ui.grid > .row > [class*="one wide tablet"].column,
+ .ui.grid > .column.row > [class*="one wide tablet"].column,
+ .ui.grid > [class*="one wide tablet"].column,
+ .ui.column.grid > [class*="one wide tablet"].column {
+ width: @oneWide !important;
+ }
+ .ui.grid > .row > [class*="two wide tablet"].column,
+ .ui.grid > .column.row > [class*="two wide tablet"].column,
+ .ui.grid > [class*="two wide tablet"].column,
+ .ui.column.grid > [class*="two wide tablet"].column {
+ width: @twoWide !important;
+ }
+ .ui.grid > .row > [class*="three wide tablet"].column,
+ .ui.grid > .column.row > [class*="three wide tablet"].column,
+ .ui.grid > [class*="three wide tablet"].column,
+ .ui.column.grid > [class*="three wide tablet"].column {
+ width: @threeWide !important;
+ }
+ .ui.grid > .row > [class*="four wide tablet"].column,
+ .ui.grid > .column.row > [class*="four wide tablet"].column,
+ .ui.grid > [class*="four wide tablet"].column,
+ .ui.column.grid > [class*="four wide tablet"].column {
+ width: @fourWide !important;
+ }
+ .ui.grid > .row > [class*="five wide tablet"].column,
+ .ui.grid > .column.row > [class*="five wide tablet"].column,
+ .ui.grid > [class*="five wide tablet"].column,
+ .ui.column.grid > [class*="five wide tablet"].column {
+ width: @fiveWide !important;
+ }
+ .ui.grid > .row > [class*="six wide tablet"].column,
+ .ui.grid > .column.row > [class*="six wide tablet"].column,
+ .ui.grid > [class*="six wide tablet"].column,
+ .ui.column.grid > [class*="six wide tablet"].column {
+ width: @sixWide !important;
+ }
+ .ui.grid > .row > [class*="seven wide tablet"].column,
+ .ui.grid > .column.row > [class*="seven wide tablet"].column,
+ .ui.grid > [class*="seven wide tablet"].column,
+ .ui.column.grid > [class*="seven wide tablet"].column {
+ width: @sevenWide !important;
+ }
+ .ui.grid > .row > [class*="eight wide tablet"].column,
+ .ui.grid > .column.row > [class*="eight wide tablet"].column,
+ .ui.grid > [class*="eight wide tablet"].column,
+ .ui.column.grid > [class*="eight wide tablet"].column {
+ width: @eightWide !important;
+ }
+ .ui.grid > .row > [class*="nine wide tablet"].column,
+ .ui.grid > .column.row > [class*="nine wide tablet"].column,
+ .ui.grid > [class*="nine wide tablet"].column,
+ .ui.column.grid > [class*="nine wide tablet"].column {
+ width: @nineWide !important;
+ }
+ .ui.grid > .row > [class*="ten wide tablet"].column,
+ .ui.grid > .column.row > [class*="ten wide tablet"].column,
+ .ui.grid > [class*="ten wide tablet"].column,
+ .ui.column.grid > [class*="ten wide tablet"].column {
+ width: @tenWide !important;
+ }
+ .ui.grid > .row > [class*="eleven wide tablet"].column,
+ .ui.grid > .column.row > [class*="eleven wide tablet"].column,
+ .ui.grid > [class*="eleven wide tablet"].column,
+ .ui.column.grid > [class*="eleven wide tablet"].column {
+ width: @elevenWide !important;
+ }
+ .ui.grid > .row > [class*="twelve wide tablet"].column,
+ .ui.grid > .column.row > [class*="twelve wide tablet"].column,
+ .ui.grid > [class*="twelve wide tablet"].column,
+ .ui.column.grid > [class*="twelve wide tablet"].column {
+ width: @twelveWide !important;
+ }
+ .ui.grid > .row > [class*="thirteen wide tablet"].column,
+ .ui.grid > .column.row > [class*="thirteen wide tablet"].column,
+ .ui.grid > [class*="thirteen wide tablet"].column,
+ .ui.column.grid > [class*="thirteen wide tablet"].column {
+ width: @thirteenWide !important;
+ }
+ .ui.grid > .row > [class*="fourteen wide tablet"].column,
+ .ui.grid > .column.row > [class*="fourteen wide tablet"].column,
+ .ui.grid > [class*="fourteen wide tablet"].column,
+ .ui.column.grid > [class*="fourteen wide tablet"].column {
+ width: @fourteenWide !important;
+ }
+ .ui.grid > .row > [class*="fifteen wide tablet"].column,
+ .ui.grid > .column.row > [class*="fifteen wide tablet"].column,
+ .ui.grid > [class*="fifteen wide tablet"].column,
+ .ui.column.grid > [class*="fifteen wide tablet"].column {
+ width: @fifteenWide !important;
+ }
+ .ui.grid > .row > [class*="sixteen wide tablet"].column,
+ .ui.grid > .column.row > [class*="sixteen wide tablet"].column,
+ .ui.grid > [class*="sixteen wide tablet"].column,
+ .ui.column.grid > [class*="sixteen wide tablet"].column {
+ width: @sixteenWide !important;
+ }
+}
+
+/* Computer/Desktop Sizing Combinations */
+@media only screen and (min-width: @computerBreakpoint) {
+ .ui.grid > .row > [class*="one wide computer"].column,
+ .ui.grid > .column.row > [class*="one wide computer"].column,
+ .ui.grid > [class*="one wide computer"].column,
+ .ui.column.grid > [class*="one wide computer"].column {
+ width: @oneWide !important;
+ }
+ .ui.grid > .row > [class*="two wide computer"].column,
+ .ui.grid > .column.row > [class*="two wide computer"].column,
+ .ui.grid > [class*="two wide computer"].column,
+ .ui.column.grid > [class*="two wide computer"].column {
+ width: @twoWide !important;
+ }
+ .ui.grid > .row > [class*="three wide computer"].column,
+ .ui.grid > .column.row > [class*="three wide computer"].column,
+ .ui.grid > [class*="three wide computer"].column,
+ .ui.column.grid > [class*="three wide computer"].column {
+ width: @threeWide !important;
+ }
+ .ui.grid > .row > [class*="four wide computer"].column,
+ .ui.grid > .column.row > [class*="four wide computer"].column,
+ .ui.grid > [class*="four wide computer"].column,
+ .ui.column.grid > [class*="four wide computer"].column {
+ width: @fourWide !important;
+ }
+ .ui.grid > .row > [class*="five wide computer"].column,
+ .ui.grid > .column.row > [class*="five wide computer"].column,
+ .ui.grid > [class*="five wide computer"].column,
+ .ui.column.grid > [class*="five wide computer"].column {
+ width: @fiveWide !important;
+ }
+ .ui.grid > .row > [class*="six wide computer"].column,
+ .ui.grid > .column.row > [class*="six wide computer"].column,
+ .ui.grid > [class*="six wide computer"].column,
+ .ui.column.grid > [class*="six wide computer"].column {
+ width: @sixWide !important;
+ }
+ .ui.grid > .row > [class*="seven wide computer"].column,
+ .ui.grid > .column.row > [class*="seven wide computer"].column,
+ .ui.grid > [class*="seven wide computer"].column,
+ .ui.column.grid > [class*="seven wide computer"].column {
+ width: @sevenWide !important;
+ }
+ .ui.grid > .row > [class*="eight wide computer"].column,
+ .ui.grid > .column.row > [class*="eight wide computer"].column,
+ .ui.grid > [class*="eight wide computer"].column,
+ .ui.column.grid > [class*="eight wide computer"].column {
+ width: @eightWide !important;
+ }
+ .ui.grid > .row > [class*="nine wide computer"].column,
+ .ui.grid > .column.row > [class*="nine wide computer"].column,
+ .ui.grid > [class*="nine wide computer"].column,
+ .ui.column.grid > [class*="nine wide computer"].column {
+ width: @nineWide !important;
+ }
+ .ui.grid > .row > [class*="ten wide computer"].column,
+ .ui.grid > .column.row > [class*="ten wide computer"].column,
+ .ui.grid > [class*="ten wide computer"].column,
+ .ui.column.grid > [class*="ten wide computer"].column {
+ width: @tenWide !important;
+ }
+ .ui.grid > .row > [class*="eleven wide computer"].column,
+ .ui.grid > .column.row > [class*="eleven wide computer"].column,
+ .ui.grid > [class*="eleven wide computer"].column,
+ .ui.column.grid > [class*="eleven wide computer"].column {
+ width: @elevenWide !important;
+ }
+ .ui.grid > .row > [class*="twelve wide computer"].column,
+ .ui.grid > .column.row > [class*="twelve wide computer"].column,
+ .ui.grid > [class*="twelve wide computer"].column,
+ .ui.column.grid > [class*="twelve wide computer"].column {
+ width: @twelveWide !important;
+ }
+ .ui.grid > .row > [class*="thirteen wide computer"].column,
+ .ui.grid > .column.row > [class*="thirteen wide computer"].column,
+ .ui.grid > [class*="thirteen wide computer"].column,
+ .ui.column.grid > [class*="thirteen wide computer"].column {
+ width: @thirteenWide !important;
+ }
+ .ui.grid > .row > [class*="fourteen wide computer"].column,
+ .ui.grid > .column.row > [class*="fourteen wide computer"].column,
+ .ui.grid > [class*="fourteen wide computer"].column,
+ .ui.column.grid > [class*="fourteen wide computer"].column {
+ width: @fourteenWide !important;
+ }
+ .ui.grid > .row > [class*="fifteen wide computer"].column,
+ .ui.grid > .column.row > [class*="fifteen wide computer"].column,
+ .ui.grid > [class*="fifteen wide computer"].column,
+ .ui.column.grid > [class*="fifteen wide computer"].column {
+ width: @fifteenWide !important;
+ }
+ .ui.grid > .row > [class*="sixteen wide computer"].column,
+ .ui.grid > .column.row > [class*="sixteen wide computer"].column,
+ .ui.grid > [class*="sixteen wide computer"].column,
+ .ui.column.grid > [class*="sixteen wide computer"].column {
+ width: @sixteenWide !important;
+ }
+}
+
+/* Large Monitor Sizing Combinations */
+@media only screen and (min-width: @largeMonitorBreakpoint) and (max-width: @largestLargeMonitor){
+ .ui.grid > .row > [class*="one wide large screen"].column,
+ .ui.grid > .column.row > [class*="one wide large screen"].column,
+ .ui.grid > [class*="one wide large screen"].column,
+ .ui.column.grid > [class*="one wide large screen"].column {
+ width: @oneWide !important;
+ }
+ .ui.grid > .row > [class*="two wide large screen"].column,
+ .ui.grid > .column.row > [class*="two wide large screen"].column,
+ .ui.grid > [class*="two wide large screen"].column,
+ .ui.column.grid > [class*="two wide large screen"].column {
+ width: @twoWide !important;
+ }
+ .ui.grid > .row > [class*="three wide large screen"].column,
+ .ui.grid > .column.row > [class*="three wide large screen"].column,
+ .ui.grid > [class*="three wide large screen"].column,
+ .ui.column.grid > [class*="three wide large screen"].column {
+ width: @threeWide !important;
+ }
+ .ui.grid > .row > [class*="four wide large screen"].column,
+ .ui.grid > .column.row > [class*="four wide large screen"].column,
+ .ui.grid > [class*="four wide large screen"].column,
+ .ui.column.grid > [class*="four wide large screen"].column {
+ width: @fourWide !important;
+ }
+ .ui.grid > .row > [class*="five wide large screen"].column,
+ .ui.grid > .column.row > [class*="five wide large screen"].column,
+ .ui.grid > [class*="five wide large screen"].column,
+ .ui.column.grid > [class*="five wide large screen"].column {
+ width: @fiveWide !important;
+ }
+ .ui.grid > .row > [class*="six wide large screen"].column,
+ .ui.grid > .column.row > [class*="six wide large screen"].column,
+ .ui.grid > [class*="six wide large screen"].column,
+ .ui.column.grid > [class*="six wide large screen"].column {
+ width: @sixWide !important;
+ }
+ .ui.grid > .row > [class*="seven wide large screen"].column,
+ .ui.grid > .column.row > [class*="seven wide large screen"].column,
+ .ui.grid > [class*="seven wide large screen"].column,
+ .ui.column.grid > [class*="seven wide large screen"].column {
+ width: @sevenWide !important;
+ }
+ .ui.grid > .row > [class*="eight wide large screen"].column,
+ .ui.grid > .column.row > [class*="eight wide large screen"].column,
+ .ui.grid > [class*="eight wide large screen"].column,
+ .ui.column.grid > [class*="eight wide large screen"].column {
+ width: @eightWide !important;
+ }
+ .ui.grid > .row > [class*="nine wide large screen"].column,
+ .ui.grid > .column.row > [class*="nine wide large screen"].column,
+ .ui.grid > [class*="nine wide large screen"].column,
+ .ui.column.grid > [class*="nine wide large screen"].column {
+ width: @nineWide !important;
+ }
+ .ui.grid > .row > [class*="ten wide large screen"].column,
+ .ui.grid > .column.row > [class*="ten wide large screen"].column,
+ .ui.grid > [class*="ten wide large screen"].column,
+ .ui.column.grid > [class*="ten wide large screen"].column {
+ width: @tenWide !important;
+ }
+ .ui.grid > .row > [class*="eleven wide large screen"].column,
+ .ui.grid > .column.row > [class*="eleven wide large screen"].column,
+ .ui.grid > [class*="eleven wide large screen"].column,
+ .ui.column.grid > [class*="eleven wide large screen"].column {
+ width: @elevenWide !important;
+ }
+ .ui.grid > .row > [class*="twelve wide large screen"].column,
+ .ui.grid > .column.row > [class*="twelve wide large screen"].column,
+ .ui.grid > [class*="twelve wide large screen"].column,
+ .ui.column.grid > [class*="twelve wide large screen"].column {
+ width: @twelveWide !important;
+ }
+ .ui.grid > .row > [class*="thirteen wide large screen"].column,
+ .ui.grid > .column.row > [class*="thirteen wide large screen"].column,
+ .ui.grid > [class*="thirteen wide large screen"].column,
+ .ui.column.grid > [class*="thirteen wide large screen"].column {
+ width: @thirteenWide !important;
+ }
+ .ui.grid > .row > [class*="fourteen wide large screen"].column,
+ .ui.grid > .column.row > [class*="fourteen wide large screen"].column,
+ .ui.grid > [class*="fourteen wide large screen"].column,
+ .ui.column.grid > [class*="fourteen wide large screen"].column {
+ width: @fourteenWide !important;
+ }
+ .ui.grid > .row > [class*="fifteen wide large screen"].column,
+ .ui.grid > .column.row > [class*="fifteen wide large screen"].column,
+ .ui.grid > [class*="fifteen wide large screen"].column,
+ .ui.column.grid > [class*="fifteen wide large screen"].column {
+ width: @fifteenWide !important;
+ }
+ .ui.grid > .row > [class*="sixteen wide large screen"].column,
+ .ui.grid > .column.row > [class*="sixteen wide large screen"].column,
+ .ui.grid > [class*="sixteen wide large screen"].column,
+ .ui.column.grid > [class*="sixteen wide large screen"].column {
+ width: @sixteenWide !important;
+ }
+}
+
+/* Widescreen Sizing Combinations */
+@media only screen and (min-width: @widescreenMonitorBreakpoint) {
+ .ui.grid > .row > [class*="one wide widescreen"].column,
+ .ui.grid > .column.row > [class*="one wide widescreen"].column,
+ .ui.grid > [class*="one wide widescreen"].column,
+ .ui.column.grid > [class*="one wide widescreen"].column {
+ width: @oneWide !important;
+ }
+ .ui.grid > .row > [class*="two wide widescreen"].column,
+ .ui.grid > .column.row > [class*="two wide widescreen"].column,
+ .ui.grid > [class*="two wide widescreen"].column,
+ .ui.column.grid > [class*="two wide widescreen"].column {
+ width: @twoWide !important;
+ }
+ .ui.grid > .row > [class*="three wide widescreen"].column,
+ .ui.grid > .column.row > [class*="three wide widescreen"].column,
+ .ui.grid > [class*="three wide widescreen"].column,
+ .ui.column.grid > [class*="three wide widescreen"].column {
+ width: @threeWide !important;
+ }
+ .ui.grid > .row > [class*="four wide widescreen"].column,
+ .ui.grid > .column.row > [class*="four wide widescreen"].column,
+ .ui.grid > [class*="four wide widescreen"].column,
+ .ui.column.grid > [class*="four wide widescreen"].column {
+ width: @fourWide !important;
+ }
+ .ui.grid > .row > [class*="five wide widescreen"].column,
+ .ui.grid > .column.row > [class*="five wide widescreen"].column,
+ .ui.grid > [class*="five wide widescreen"].column,
+ .ui.column.grid > [class*="five wide widescreen"].column {
+ width: @fiveWide !important;
+ }
+ .ui.grid > .row > [class*="six wide widescreen"].column,
+ .ui.grid > .column.row > [class*="six wide widescreen"].column,
+ .ui.grid > [class*="six wide widescreen"].column,
+ .ui.column.grid > [class*="six wide widescreen"].column {
+ width: @sixWide !important;
+ }
+ .ui.grid > .row > [class*="seven wide widescreen"].column,
+ .ui.grid > .column.row > [class*="seven wide widescreen"].column,
+ .ui.grid > [class*="seven wide widescreen"].column,
+ .ui.column.grid > [class*="seven wide widescreen"].column {
+ width: @sevenWide !important;
+ }
+ .ui.grid > .row > [class*="eight wide widescreen"].column,
+ .ui.grid > .column.row > [class*="eight wide widescreen"].column,
+ .ui.grid > [class*="eight wide widescreen"].column,
+ .ui.column.grid > [class*="eight wide widescreen"].column {
+ width: @eightWide !important;
+ }
+ .ui.grid > .row > [class*="nine wide widescreen"].column,
+ .ui.grid > .column.row > [class*="nine wide widescreen"].column,
+ .ui.grid > [class*="nine wide widescreen"].column,
+ .ui.column.grid > [class*="nine wide widescreen"].column {
+ width: @nineWide !important;
+ }
+ .ui.grid > .row > [class*="ten wide widescreen"].column,
+ .ui.grid > .column.row > [class*="ten wide widescreen"].column,
+ .ui.grid > [class*="ten wide widescreen"].column,
+ .ui.column.grid > [class*="ten wide widescreen"].column {
+ width: @tenWide !important;
+ }
+ .ui.grid > .row > [class*="eleven wide widescreen"].column,
+ .ui.grid > .column.row > [class*="eleven wide widescreen"].column,
+ .ui.grid > [class*="eleven wide widescreen"].column,
+ .ui.column.grid > [class*="eleven wide widescreen"].column {
+ width: @elevenWide !important;
+ }
+ .ui.grid > .row > [class*="twelve wide widescreen"].column,
+ .ui.grid > .column.row > [class*="twelve wide widescreen"].column,
+ .ui.grid > [class*="twelve wide widescreen"].column,
+ .ui.column.grid > [class*="twelve wide widescreen"].column {
+ width: @twelveWide !important;
+ }
+ .ui.grid > .row > [class*="thirteen wide widescreen"].column,
+ .ui.grid > .column.row > [class*="thirteen wide widescreen"].column,
+ .ui.grid > [class*="thirteen wide widescreen"].column,
+ .ui.column.grid > [class*="thirteen wide widescreen"].column {
+ width: @thirteenWide !important;
+ }
+ .ui.grid > .row > [class*="fourteen wide widescreen"].column,
+ .ui.grid > .column.row > [class*="fourteen wide widescreen"].column,
+ .ui.grid > [class*="fourteen wide widescreen"].column,
+ .ui.column.grid > [class*="fourteen wide widescreen"].column {
+ width: @fourteenWide !important;
+ }
+ .ui.grid > .row > [class*="fifteen wide widescreen"].column,
+ .ui.grid > .column.row > [class*="fifteen wide widescreen"].column,
+ .ui.grid > [class*="fifteen wide widescreen"].column,
+ .ui.column.grid > [class*="fifteen wide widescreen"].column {
+ width: @fifteenWide !important;
+ }
+ .ui.grid > .row > [class*="sixteen wide widescreen"].column,
+ .ui.grid > .column.row > [class*="sixteen wide widescreen"].column,
+ .ui.grid > [class*="sixteen wide widescreen"].column,
+ .ui.column.grid > [class*="sixteen wide widescreen"].column {
+ width: @sixteenWide !important;
+ }
+}
+
+/*----------------------
+ Centered
+-----------------------*/
+
+.ui.centered.grid,
+.ui.centered.grid > .row,
+.ui.grid > .centered.row {
+ text-align: center;
+ justify-content: center;
+}
+.ui.centered.grid > .column:not(.aligned):not(.justified):not(.row),
+.ui.centered.grid > .row > .column:not(.aligned):not(.justified),
+.ui.grid .centered.row > .column:not(.aligned):not(.justified) {
+ text-align: left;
+}
+
+.ui.grid > .centered.column,
+.ui.grid > .row > .centered.column {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+/*----------------------
+ Relaxed
+-----------------------*/
+
+.ui.relaxed.grid > .column:not(.row),
+.ui.relaxed.grid > .row > .column,
+.ui.grid > .relaxed.row > .column {
+ padding-left: (@relaxedGutterWidth / 2);
+ padding-right: (@relaxedGutterWidth / 2);
+}
+
+.ui[class*="very relaxed"].grid > .column:not(.row),
+.ui[class*="very relaxed"].grid > .row > .column,
+.ui.grid > [class*="very relaxed"].row > .column {
+ padding-left: (@veryRelaxedGutterWidth / 2);
+ padding-right: (@veryRelaxedGutterWidth / 2);
+}
+
+/* Coupling with UI Divider */
+.ui.relaxed.grid .row + .ui.divider,
+.ui.grid .relaxed.row + .ui.divider {
+ margin-left: (@relaxedGutterWidth / 2);
+ margin-right: (@relaxedGutterWidth / 2);
+}
+.ui[class*="very relaxed"].grid .row + .ui.divider,
+.ui.grid [class*="very relaxed"].row + .ui.divider {
+ margin-left: (@veryRelaxedGutterWidth / 2);
+ margin-right: (@veryRelaxedGutterWidth / 2);
+}
+
+
+/*----------------------
+ Padded
+-----------------------*/
+
+.ui.padded.grid:not(.vertically):not(.horizontally) {
+ margin: 0em !important;
+}
+[class*="horizontally padded"].ui.grid {
+ margin-left: 0em !important;
+ margin-right: 0em !important;
+}
+[class*="vertically padded"].ui.grid {
+ margin-top: 0em !important;
+ margin-bottom: 0em !important;
+}
+
+/*----------------------
+ "Floated"
+-----------------------*/
+
+.ui.grid [class*="left floated"].column {
+ margin-right: auto;
+}
+.ui.grid [class*="right floated"].column {
+ margin-left: auto;
+}
+
+
+/*----------------------
+ Divided
+-----------------------*/
+
+.ui.divided.grid:not([class*="vertically divided"]) > .column:not(.row),
+.ui.divided.grid:not([class*="vertically divided"]) > .row > .column {
+ box-shadow: @dividedBorder;
+}
+
+/* Swap from padding to margin on columns to have dividers align */
+.ui[class*="vertically divided"].grid > .column:not(.row),
+.ui[class*="vertically divided"].grid > .row > .column {
+ margin-top: (@rowSpacing / 2);
+ margin-bottom: (@rowSpacing / 2);
+ padding-top: 0rem;
+ padding-bottom: 0rem;
+}
+.ui[class*="vertically divided"].grid > .row {
+ margin-top: 0em;
+ margin-bottom: 0em;
+}
+
+
+
+/* No divider on first column on row */
+.ui.divided.grid:not([class*="vertically divided"]) > .column:first-child,
+.ui.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
+ box-shadow: none;
+}
+
+/* No space on top of first row */
+.ui[class*="vertically divided"].grid > .row:first-child > .column {
+ margin-top: 0em;
+}
+
+
+/* Divided Row */
+.ui.grid > .divided.row > .column {
+ box-shadow: @dividedBorder;
+}
+.ui.grid > .divided.row > .column:first-child {
+ box-shadow: none;
+}
+
+/* Vertically Divided */
+.ui[class*="vertically divided"].grid > .row {
+ position: relative;
+}
+.ui[class*="vertically divided"].grid > .row:before {
+ position: absolute;
+ content: "";
+ top: 0em;
+ left: 0px;
+
+ width: ~"calc(100% - "@gutterWidth~")";
+ height: 1px;
+
+ margin: 0% (@gutterWidth / 2);
+ box-shadow: @verticallyDividedBorder;
+}
+
+/* Padded Horizontally Divided */
+[class*="horizontally padded"].ui.divided.grid,
+.ui.padded.divided.grid:not(.vertically):not(.horizontally) {
+ width: 100%;
+}
+
+/* First Row Vertically Divided */
+.ui[class*="vertically divided"].grid > .row:first-child:before {
+ box-shadow: none;
+}
+
+/* Inverted Divided */
+.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row),
+.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column {
+ box-shadow: @dividedInvertedBorder;
+}
+.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row):first-child,
+.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
+ box-shadow: none;
+}
+.ui.inverted[class*="vertically divided"].grid > .row:before {
+ box-shadow: @verticallyDividedInvertedBorder;
+}
+
+/* Relaxed */
+.ui.relaxed[class*="vertically divided"].grid > .row:before {
+ margin-left: (@relaxedGutterWidth / 2);
+ margin-right: (@relaxedGutterWidth / 2);
+ width: ~"calc(100% - "@relaxedGutterWidth~")";
+}
+.ui[class*="very relaxed"][class*="vertically divided"].grid > .row:before {
+ margin-left: @veryRelaxedGutterWidth;
+ margin-right: @veryRelaxedGutterWidth;
+ width: ~"calc(100% - "@veryRelaxedGutterWidth~")";
+}
+
+/*----------------------
+ Celled
+-----------------------*/
+
+.ui.celled.grid {
+ width: 100%;
+ margin: @celledMargin;
+ box-shadow: @celledGridDivider;
+}
+
+.ui.celled.grid > .row {
+ width: 100% !important;
+ margin: 0em;
+ padding: 0em;
+ box-shadow: @celledRowDivider;
+}
+.ui.celled.grid > .column:not(.row),
+.ui.celled.grid > .row > .column {
+ box-shadow: @celledColumnDivider;
+}
+
+.ui.celled.grid > .column:first-child,
+.ui.celled.grid > .row > .column:first-child {
+ box-shadow: none;
+}
+
+.ui.celled.grid > .column:not(.row),
+.ui.celled.grid > .row > .column {
+ padding: @celledPadding;
+}
+.ui.relaxed.celled.grid > .column:not(.row),
+.ui.relaxed.celled.grid > .row > .column {
+ padding: @celledRelaxedPadding;
+}
+.ui[class*="very relaxed"].celled.grid > .column:not(.row),
+.ui[class*="very relaxed"].celled.grid > .row > .column {
+ padding: @celledVeryRelaxedPadding;
+}
+
+/* Internally Celled */
+.ui[class*="internally celled"].grid {
+ box-shadow: none;
+ margin: 0em;
+}
+.ui[class*="internally celled"].grid > .row:first-child {
+ box-shadow: none;
+}
+.ui[class*="internally celled"].grid > .row > .column:first-child {
+ box-shadow: none;
+}
+
+/*----------------------
+ Vertically Aligned
+-----------------------*/
+
+/* Top Aligned */
+.ui[class*="top aligned"].grid > .column:not(.row),
+.ui[class*="top aligned"].grid > .row > .column,
+.ui.grid > [class*="top aligned"].row > .column,
+.ui.grid > [class*="top aligned"].column:not(.row),
+.ui.grid > .row > [class*="top aligned"].column {
+ flex-direction: column;
+ vertical-align: top;
+ align-self: flex-start !important;
+}
+
+/* Middle Aligned */
+.ui[class*="middle aligned"].grid > .column:not(.row),
+.ui[class*="middle aligned"].grid > .row > .column,
+.ui.grid > [class*="middle aligned"].row > .column,
+.ui.grid > [class*="middle aligned"].column:not(.row),
+.ui.grid > .row > [class*="middle aligned"].column {
+ flex-direction: column;
+ vertical-align: middle;
+ align-self: center !important;
+}
+
+/* Bottom Aligned */
+.ui[class*="bottom aligned"].grid > .column:not(.row),
+.ui[class*="bottom aligned"].grid > .row > .column,
+.ui.grid > [class*="bottom aligned"].row > .column,
+.ui.grid > [class*="bottom aligned"].column:not(.row),
+.ui.grid > .row > [class*="bottom aligned"].column {
+ flex-direction: column;
+ vertical-align: bottom;
+ align-self: flex-end !important;
+}
+
+/* Stretched */
+.ui.stretched.grid > .row > .column,
+.ui.stretched.grid > .column,
+.ui.grid > .stretched.row > .column,
+.ui.grid > .stretched.column:not(.row),
+.ui.grid > .row > .stretched.column {
+ display: inline-flex !important;
+ align-self: stretch;
+ flex-direction: column;
+}
+
+.ui.stretched.grid > .row > .column > *,
+.ui.stretched.grid > .column > *,
+.ui.grid > .stretched.row > .column > *,
+.ui.grid > .stretched.column:not(.row) > *,
+.ui.grid > .row > .stretched.column > * {
+ flex-grow: 1;
+}
+
+/*----------------------
+ Horizontally Centered
+-----------------------*/
+
+/* Left Aligned */
+.ui[class*="left aligned"].grid > .column,
+.ui[class*="left aligned"].grid > .row > .column,
+.ui.grid > [class*="left aligned"].row > .column,
+.ui.grid > [class*="left aligned"].column.column,
+.ui.grid > .row > [class*="left aligned"].column.column {
+ text-align: left;
+ align-self: inherit;
+}
+
+/* Center Aligned */
+.ui[class*="center aligned"].grid > .column,
+.ui[class*="center aligned"].grid > .row > .column,
+.ui.grid > [class*="center aligned"].row > .column,
+.ui.grid > [class*="center aligned"].column.column,
+.ui.grid > .row > [class*="center aligned"].column.column {
+ text-align: center;
+ align-self: inherit;
+}
+.ui[class*="center aligned"].grid {
+ justify-content: center;
+}
+
+/* Right Aligned */
+.ui[class*="right aligned"].grid > .column,
+.ui[class*="right aligned"].grid > .row > .column,
+.ui.grid > [class*="right aligned"].row > .column,
+.ui.grid > [class*="right aligned"].column.column,
+.ui.grid > .row > [class*="right aligned"].column.column {
+ text-align: right;
+ align-self: inherit;
+}
+
+/* Justified */
+.ui.justified.grid > .column,
+.ui.justified.grid > .row > .column,
+.ui.grid > .justified.row > .column,
+.ui.grid > .justified.column.column,
+.ui.grid > .row > .justified.column.column {
+ text-align: justify;
+ hyphens: auto;
+}
+
+/*----------------------
+ Colored
+-----------------------*/
+
+.ui.grid > .row > .red.column,
+.ui.grid > .row > .orange.column,
+.ui.grid > .row > .yellow.column,
+.ui.grid > .row > .olive.column,
+.ui.grid > .row > .green.column,
+.ui.grid > .row > .teal.column,
+.ui.grid > .row > .blue.column,
+.ui.grid > .row > .violet.column,
+.ui.grid > .row > .purple.column,
+.ui.grid > .row > .pink.column,
+.ui.grid > .row > .brown.column,
+.ui.grid > .row > .grey.column,
+.ui.grid > .row > .black.column {
+ margin-top: -(@rowSpacing / 2);
+ margin-bottom: -(@rowSpacing / 2);
+ padding-top: (@rowSpacing / 2);
+ padding-bottom: (@rowSpacing / 2);
+}
+
+/* Red */
+.ui.grid > .red.row,
+.ui.grid > .red.column,
+.ui.grid > .row > .red.column {
+ background-color: @red !important;
+ color: @white;
+}
+/* Orange */
+.ui.grid > .orange.row,
+.ui.grid > .orange.column,
+.ui.grid > .row > .orange.column {
+ background-color: @orange !important;
+ color: @white;
+}
+/* Yellow */
+.ui.grid > .yellow.row,
+.ui.grid > .yellow.column,
+.ui.grid > .row > .yellow.column {
+ background-color: @yellow !important;
+ color: @white;
+}
+/* Olive */
+.ui.grid > .olive.row,
+.ui.grid > .olive.column,
+.ui.grid > .row > .olive.column {
+ background-color: @olive !important;
+ color: @white;
+}
+/* Green */
+.ui.grid > .green.row,
+.ui.grid > .green.column,
+.ui.grid > .row > .green.column {
+ background-color: @green !important;
+ color: @white;
+}
+/* Teal */
+.ui.grid > .teal.row,
+.ui.grid > .teal.column,
+.ui.grid > .row > .teal.column {
+ background-color: @teal !important;
+ color: @white;
+}
+/* Blue */
+.ui.grid > .blue.row,
+.ui.grid > .blue.column,
+.ui.grid > .row > .blue.column {
+ background-color: @blue !important;
+ color: @white;
+}
+/* Violet */
+.ui.grid > .violet.row,
+.ui.grid > .violet.column,
+.ui.grid > .row > .violet.column {
+ background-color: @violet !important;
+ color: @white;
+}
+/* Purple */
+.ui.grid > .purple.row,
+.ui.grid > .purple.column,
+.ui.grid > .row > .purple.column {
+ background-color: @purple !important;
+ color: @white;
+}
+/* Pink */
+.ui.grid > .pink.row,
+.ui.grid > .pink.column,
+.ui.grid > .row > .pink.column {
+ background-color: @pink !important;
+ color: @white;
+}
+/* Brown */
+.ui.grid > .brown.row,
+.ui.grid > .brown.column,
+.ui.grid > .row > .brown.column {
+ background-color: @brown !important;
+ color: @white;
+}
+/* Grey */
+.ui.grid > .grey.row,
+.ui.grid > .grey.column,
+.ui.grid > .row > .grey.column {
+ background-color: @grey !important;
+ color: @white;
+}
+/* Black */
+.ui.grid > .black.row,
+.ui.grid > .black.column,
+.ui.grid > .row > .black.column {
+ background-color: @black !important;
+ color: @white;
+}
+
+
+/*----------------------
+ Equal Width
+-----------------------*/
+
+.ui[class*="equal width"].grid > .column:not(.row),
+.ui[class*="equal width"].grid > .row > .column,
+.ui.grid > [class*="equal width"].row > .column {
+ display: inline-block;
+ flex-grow: 1;
+}
+.ui[class*="equal width"].grid > .wide.column,
+.ui[class*="equal width"].grid > .row > .wide.column,
+.ui.grid > [class*="equal width"].row > .wide.column {
+ flex-grow: 0;
+}
+
+
+/*----------------------
+ Reverse
+-----------------------*/
+
+
+/* Mobile */
+@media only screen and (max-width: @largestMobileScreen) {
+ .ui[class*="mobile reversed"].grid,
+ .ui[class*="mobile reversed"].grid > .row,
+ .ui.grid > [class*="mobile reversed"].row {
+ flex-direction: row-reverse;
+ }
+ .ui[class*="mobile vertically reversed"].grid,
+ .ui.stackable[class*="mobile reversed"] {
+ flex-direction: column-reverse;
+ }
+
+ /* Divided Reversed */
+ .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
+ .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
+ box-shadow: @dividedBorder;
+ }
+ .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
+ .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
+ box-shadow: none;
+ }
+ /* Vertically Divided Reversed */
+ .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:first-child:before {
+ box-shadow: @verticallyDividedBorder;
+ }
+ .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:last-child:before {
+ box-shadow: none;
+ }
+ /* Celled Reversed */
+ .ui[class*="mobile reversed"].celled.grid > .row > .column:first-child {
+ box-shadow: @celledColumnDivider;
+ }
+ .ui[class*="mobile reversed"].celled.grid > .row > .column:last-child {
+ box-shadow: none;
+ }
+}
+
+/* Tablet */
+@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
+ .ui[class*="tablet reversed"].grid,
+ .ui[class*="tablet reversed"].grid > .row,
+ .ui.grid > [class*="tablet reversed"].row {
+ flex-direction: row-reverse;
+ }
+ .ui[class*="tablet vertically reversed"].grid {
+ flex-direction: column-reverse;
+ }
+
+ /* Divided Reversed */
+ .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
+ .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
+ box-shadow: @dividedBorder;
+ }
+ .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
+ .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
+ box-shadow: none;
+ }
+ /* Vertically Divided Reversed */
+ .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:first-child:before {
+ box-shadow: @verticallyDividedBorder;
+ }
+ .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:last-child:before {
+ box-shadow: none;
+ }
+ /* Celled Reversed */
+ .ui[class*="tablet reversed"].celled.grid > .row > .column:first-child {
+ box-shadow: @celledColumnDivider;
+ }
+ .ui[class*="tablet reversed"].celled.grid > .row > .column:last-child {
+ box-shadow: none;
+ }
+}
+
+/* Computer */
+@media only screen and (min-width: @computerBreakpoint) {
+ .ui[class*="computer reversed"].grid,
+ .ui[class*="computer reversed"].grid > .row,
+ .ui.grid > [class*="computer reversed"].row {
+ flex-direction: row-reverse;
+ }
+ .ui[class*="computer vertically reversed"].grid {
+ flex-direction: column-reverse;
+ }
+
+ /* Divided Reversed */
+ .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
+ .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
+ box-shadow: @dividedBorder;
+ }
+ .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
+ .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
+ box-shadow: none;
+ }
+ /* Vertically Divided Reversed */
+ .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:first-child:before {
+ box-shadow: @verticallyDividedBorder;
+ }
+ .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:last-child:before {
+ box-shadow: none;
+ }
+ /* Celled Reversed */
+ .ui[class*="computer reversed"].celled.grid > .row > .column:first-child {
+ box-shadow: @celledColumnDivider;
+ }
+ .ui[class*="computer reversed"].celled.grid > .row > .column:last-child {
+ box-shadow: none;
+ }
+}
+
+
+/*-------------------
+ Doubling
+--------------------*/
+
+/* Tablet Only */
+@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
+ .ui.doubling.grid {
+ width: auto;
+ }
+ .ui.grid > .doubling.row,
+ .ui.doubling.grid > .row {
+ margin: 0em !important;
+ padding: 0em !important;
+ }
+ .ui.grid > .doubling.row > .column,
+ .ui.doubling.grid > .row > .column {
+ display: inline-block !important;
+ padding-top: (@rowSpacing / 2) !important;
+ padding-bottom: (@rowSpacing / 2) !important;
+ box-shadow: none !important;
+ margin: 0em;
+ }
+ .ui[class*="two column"].doubling.grid > .row > .column,
+ .ui[class*="two column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="two column"].doubling.row.row > .column {
+ width: @oneColumn !important;
+ }
+ .ui[class*="three column"].doubling.grid > .row > .column,
+ .ui[class*="three column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="three column"].doubling.row.row > .column {
+ width: @twoColumn !important;
+ }
+ .ui[class*="four column"].doubling.grid > .row > .column,
+ .ui[class*="four column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="four column"].doubling.row.row > .column {
+ width: @twoColumn !important;
+ }
+ .ui[class*="five column"].doubling.grid > .row > .column,
+ .ui[class*="five column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="five column"].doubling.row.row > .column {
+ width: @threeColumn !important;
+ }
+ .ui[class*="six column"].doubling.grid > .row > .column,
+ .ui[class*="six column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="six column"].doubling.row.row > .column {
+ width: @threeColumn !important;
+ }
+ .ui[class*="seven column"].doubling.grid > .row > .column,
+ .ui[class*="seven column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="seven column"].doubling.row.row > .column {
+ width: @threeColumn !important;
+ }
+ .ui[class*="eight column"].doubling.grid > .row > .column,
+ .ui[class*="eight column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="eight column"].doubling.row.row > .column {
+ width: @fourColumn !important;
+ }
+ .ui[class*="nine column"].doubling.grid > .row > .column,
+ .ui[class*="nine column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="nine column"].doubling.row.row > .column {
+ width: @fourColumn !important;
+ }
+ .ui[class*="ten column"].doubling.grid > .row > .column,
+ .ui[class*="ten column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="ten column"].doubling.row.row > .column {
+ width: @fiveColumn !important;
+ }
+ .ui[class*="eleven column"].doubling.grid > .row > .column,
+ .ui[class*="eleven column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="eleven column"].doubling.row.row > .column {
+ width: @fiveColumn !important;
+ }
+ .ui[class*="twelve column"].doubling.grid > .row > .column,
+ .ui[class*="twelve column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="twelve column"].doubling.row.row > .column {
+ width: @sixColumn !important;
+ }
+ .ui[class*="thirteen column"].doubling.grid > .row > .column,
+ .ui[class*="thirteen column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="thirteen column"].doubling.row.row > .column {
+ width: @sixColumn !important;
+ }
+ .ui[class*="fourteen column"].doubling.grid > .row > .column,
+ .ui[class*="fourteen column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="fourteen column"].doubling.row.row > .column {
+ width: @sevenColumn !important;
+ }
+ .ui[class*="fifteen column"].doubling.grid > .row > .column,
+ .ui[class*="fifteen column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="fifteen column"].doubling.row.row > .column {
+ width: @sevenColumn !important;
+ }
+ .ui[class*="sixteen column"].doubling.grid > .row > .column,
+ .ui[class*="sixteen column"].doubling.grid > .column:not(.row),
+ .ui.grid > [class*="sixteen column"].doubling.row.row > .column {
+ width: @eightColumn !important;
+ }
+}
+
+/* Mobile Only */
+@media only screen and (max-width: @largestMobileScreen) {
+ .ui.grid > .doubling.row,
+ .ui.doubling.grid > .row {
+ margin: 0em !important;
+ padding: 0em !important;
+ }
+ .ui.grid > .doubling.row > .column,
+ .ui.doubling.grid > .row > .column {
+ padding-top: (@rowSpacing / 2) !important;
+ padding-bottom: (@rowSpacing / 2) !important;
+ margin: 0em !important;
+ box-shadow: none !important;
+ }
+ .ui[class*="two column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="two column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="two column"].doubling:not(.stackable).row.row > .column {
+ width: @oneColumn !important;
+ }
+ .ui[class*="three column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="three column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="three column"].doubling:not(.stackable).row.row > .column {
+ width: @twoColumn !important;
+ }
+ .ui[class*="four column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="four column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="four column"].doubling:not(.stackable).row.row > .column {
+ width: @twoColumn !important;
+ }
+ .ui[class*="five column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="five column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="five column"].doubling:not(.stackable).row.row > .column {
+ width: @twoColumn !important;
+ }
+ .ui[class*="six column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="six column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="six column"].doubling:not(.stackable).row.row > .column {
+ width: @twoColumn !important;
+ }
+ .ui[class*="seven column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="seven column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="seven column"].doubling:not(.stackable).row.row > .column {
+ width: @twoColumn !important;
+ }
+ .ui[class*="eight column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="eight column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="eight column"].doubling:not(.stackable).row.row > .column {
+ width: @twoColumn !important;
+ }
+ .ui[class*="nine column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="nine column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="nine column"].doubling:not(.stackable).row.row > .column {
+ width: @threeColumn !important;
+ }
+ .ui[class*="ten column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="ten column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="ten column"].doubling:not(.stackable).row.row > .column {
+ width: @threeColumn !important;
+ }
+ .ui[class*="eleven column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="eleven column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="eleven column"].doubling:not(.stackable).row.row > .column {
+ width: @threeColumn !important;
+ }
+ .ui[class*="twelve column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="twelve column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="twelve column"].doubling:not(.stackable).row.row > .column {
+ width: @threeColumn !important;
+ }
+ .ui[class*="thirteen column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="thirteen column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="thirteen column"].doubling:not(.stackable).row.row > .column {
+ width: @threeColumn !important;
+ }
+ .ui[class*="fourteen column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="fourteen column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="fourteen column"].doubling:not(.stackable).row.row > .column {
+ width: @fourColumn !important;
+ }
+ .ui[class*="fifteen column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="fifteen column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="fifteen column"].doubling:not(.stackable).row.row > .column {
+ width: @fourColumn !important;
+ }
+ .ui[class*="sixteen column"].doubling:not(.stackable).grid > .row > .column,
+ .ui[class*="sixteen column"].doubling:not(.stackable).grid > .column:not(.row),
+ .ui.grid > [class*="sixteen column"].doubling:not(.stackable).row.row > .column {
+ width: @fourColumn !important;
+ }
+}
+
+/*-------------------
+ Stackable
+--------------------*/
+
+@media only screen and (max-width: @largestMobileScreen) {
+ .ui.stackable.grid {
+ width: auto;
+ margin-left: 0em !important;
+ margin-right: 0em !important;
+ }
+ .ui.stackable.grid > .row > .wide.column,
+ .ui.stackable.grid > .wide.column,
+ .ui.stackable.grid > .column.grid > .column,
+ .ui.stackable.grid > .column.row > .column,
+ .ui.stackable.grid > .row > .column,
+ .ui.stackable.grid > .column:not(.row),
+ .ui.grid > .stackable.stackable.row > .column {
+ width: 100% !important;
+ margin: 0em 0em !important;
+ box-shadow: none !important;
+ padding: (@stackableRowSpacing / 2) (@stackableGutter / 2) !important;
+ }
+ .ui.stackable.grid:not(.vertically) > .row {
+ margin: 0em;
+ padding: 0em;
+ }
+
+ /* Coupling */
+ .ui.container > .ui.stackable.grid > .column,
+ .ui.container > .ui.stackable.grid > .row > .column {
+ padding-left: 0em !important;
+ padding-right: 0em !important;
+ }
+
+ /* Don't pad inside segment or nested grid */
+ .ui.grid .ui.stackable.grid,
+ .ui.segment:not(.vertical) .ui.stackable.page.grid {
+ margin-left: -(@stackableGutter / 2) !important;
+ margin-right: -(@stackableGutter / 2) !important;
+ }
+
+ /* Divided Stackable */
+ .ui.stackable.divided.grid > .row:first-child > .column:first-child,
+ .ui.stackable.celled.grid > .row:first-child > .column:first-child,
+ .ui.stackable.divided.grid > .column:not(.row):first-child,
+ .ui.stackable.celled.grid > .column:not(.row):first-child {
+ border-top: none !important;
+ }
+ .ui.inverted.stackable.celled.grid > .column:not(.row),
+ .ui.inverted.stackable.divided.grid > .column:not(.row),
+ .ui.inverted.stackable.celled.grid > .row > .column,
+ .ui.inverted.stackable.divided.grid > .row > .column {
+ border-top: @stackableInvertedMobileBorder;
+ }
+
+ .ui.stackable.celled.grid > .column:not(.row),
+ .ui.stackable.divided:not(.vertically).grid > .column:not(.row),
+ .ui.stackable.celled.grid > .row > .column,
+ .ui.stackable.divided:not(.vertically).grid > .row > .column {
+ border-top: @stackableMobileBorder;
+ box-shadow: none !important;
+ padding-top: @stackableRowSpacing !important;
+ padding-bottom: @stackableRowSpacing !important;
+ }
+
+ .ui.stackable.celled.grid > .row {
+ box-shadow: none !important;
+ }
+ .ui.stackable.divided:not(.vertically).grid > .column:not(.row),
+ .ui.stackable.divided:not(.vertically).grid > .row > .column {
+ padding-left: 0em !important;
+ padding-right: 0em !important;
+ }
+
+}
+
+/*----------------------
+ Only (Device)
+-----------------------*/
+
+
+/* These include arbitrary class repetitions for forced specificity */
+
+/* Mobile Only Hide */
+@media only screen and (max-width: @largestMobileScreen) {
+ .ui[class*="tablet only"].grid.grid.grid:not(.mobile),
+ .ui.grid.grid.grid > [class*="tablet only"].row:not(.mobile),
+ .ui.grid.grid.grid > [class*="tablet only"].column:not(.mobile),
+ .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.mobile) {
+ display: none !important;
+ }
+ .ui[class*="computer only"].grid.grid.grid:not(.mobile),
+ .ui.grid.grid.grid > [class*="computer only"].row:not(.mobile),
+ .ui.grid.grid.grid > [class*="computer only"].column:not(.mobile),
+ .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.mobile) {
+ display: none !important;
+ }
+ .ui[class*="large screen only"].grid.grid.grid:not(.mobile),
+ .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile),
+ .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile),
+ .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) {
+ display: none !important;
+ }
+ .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
+ .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
+ .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
+ .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
+ display: none !important;
+ }
+}
+/* Tablet Only Hide */
+@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
+ .ui[class*="mobile only"].grid.grid.grid:not(.tablet),
+ .ui.grid.grid.grid > [class*="mobile only"].row:not(.tablet),
+ .ui.grid.grid.grid > [class*="mobile only"].column:not(.tablet),
+ .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.tablet) {
+ display: none !important;
+ }
+ .ui[class*="computer only"].grid.grid.grid:not(.tablet),
+ .ui.grid.grid.grid > [class*="computer only"].row:not(.tablet),
+ .ui.grid.grid.grid > [class*="computer only"].column:not(.tablet),
+ .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.tablet) {
+ display: none !important;
+ }
+ .ui[class*="large screen only"].grid.grid.grid:not(.mobile),
+ .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile),
+ .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile),
+ .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) {
+ display: none !important;
+ }
+ .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
+ .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
+ .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
+ .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
+ display: none !important;
+ }
+}
+
+/* Computer Only Hide */
+@media only screen and (min-width: @computerBreakpoint) and (max-width: @largestSmallMonitor) {
+ .ui[class*="mobile only"].grid.grid.grid:not(.computer),
+ .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer),
+ .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer),
+ .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) {
+ display: none !important;
+ }
+ .ui[class*="tablet only"].grid.grid.grid:not(.computer),
+ .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer),
+ .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer),
+ .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) {
+ display: none !important;
+ }
+ .ui[class*="large screen only"].grid.grid.grid:not(.mobile),
+ .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile),
+ .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile),
+ .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) {
+ display: none !important;
+ }
+ .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
+ .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
+ .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
+ .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
+ display: none !important;
+ }
+}
+
+/* Large Screen Only Hide */
+@media only screen and (min-width: @largeMonitorBreakpoint) and (max-width: @largestLargeMonitor) {
+ .ui[class*="mobile only"].grid.grid.grid:not(.computer),
+ .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer),
+ .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer),
+ .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) {
+ display: none !important;
+ }
+ .ui[class*="tablet only"].grid.grid.grid:not(.computer),
+ .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer),
+ .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer),
+ .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) {
+ display: none !important;
+ }
+ .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
+ .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
+ .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
+ .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
+ display: none !important;
+ }
+}
+
+/* Widescreen Only Hide */
+@media only screen and (min-width: @widescreenMonitorBreakpoint) {
+ .ui[class*="mobile only"].grid.grid.grid:not(.computer),
+ .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer),
+ .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer),
+ .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) {
+ display: none !important;
+ }
+ .ui[class*="tablet only"].grid.grid.grid:not(.computer),
+ .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer),
+ .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer),
+ .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) {
+ display: none !important;
+ }
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/collections/menu.less b/src/semantic/src/definitions/collections/menu.less
new file mode 100755
index 0000000..3285b97
--- /dev/null
+++ b/src/semantic/src/definitions/collections/menu.less
@@ -0,0 +1,1965 @@
+/*
+ * # Semantic - Menu
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Copyright 2015 Contributor
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'collection';
+@element : 'menu';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Standard
+*******************************/
+
+/*--------------
+ Menu
+---------------*/
+
+.ui.menu {
+ display: flex;
+ margin: @margin;
+ font-family: @fontFamily;
+ background: @background;
+ font-weight: @fontWeight;
+ border: @border;
+ box-shadow: @boxShadow;
+ border-radius: @borderRadius;
+ min-height: @minHeight;
+}
+
+.ui.menu:after {
+ content: '';
+ display: block;
+ height: 0px;
+ clear: both;
+ visibility: hidden;
+}
+
+.ui.menu:first-child {
+ margin-top: 0rem;
+}
+.ui.menu:last-child {
+ margin-bottom: 0rem;
+}
+
+
+/*--------------
+ Sub-Menu
+---------------*/
+
+.ui.menu .menu {
+ margin: 0em;
+}
+
+.ui.menu:not(.vertical) > .menu {
+ display: flex;
+}
+
+/*--------------
+ Item
+---------------*/
+
+.ui.menu:not(.vertical) .item {
+ display: flex;
+ align-items: center;
+}
+
+.ui.menu .item {
+ position: relative;
+ vertical-align: middle;
+ line-height: 1;
+ text-decoration: none;
+ -webkit-tap-highlight-color: transparent;
+ flex: 0 0 auto;
+ user-select: none;
+
+ background: @itemBackground;
+ padding: @itemVerticalPadding @itemHorizontalPadding;
+ text-transform: @itemTextTransform;
+ color: @itemTextColor;
+ font-weight: @itemFontWeight;
+ transition: @itemTransition;
+}
+
+.ui.menu > .item:first-child {
+ border-radius: @borderRadius 0px 0px @borderRadius;
+}
+
+/* Border */
+.ui.menu .item:before {
+ position: absolute;
+ content: '';
+ top: 0%;
+ right: 0px;
+ height: 100%;
+
+ width: @dividerSize;
+ background: @dividerBackground;
+}
+
+/*--------------
+ Text Content
+---------------*/
+
+.ui.menu .text.item > *,
+.ui.menu .item > a:not(.ui),
+.ui.menu .item > p:only-child {
+ user-select: text;
+ line-height: @textLineHeight;
+}
+.ui.menu .item > p:first-child {
+ margin-top: 0;
+}
+.ui.menu .item > p:last-child {
+ margin-bottom: 0;
+}
+
+/*--------------
+ Icons
+---------------*/
+
+.ui.menu .item > i.icon {
+ opacity: @iconOpacity;
+ float: @iconFloat;
+ margin: @iconMargin;
+}
+
+/*--------------
+ Button
+---------------*/
+
+.ui.menu:not(.vertical) .item > .button {
+ position: relative;
+ top: @buttonOffset;
+ margin: @buttonMargin;
+ padding-bottom: @buttonVerticalPadding;
+ padding-top: @buttonVerticalPadding;
+ font-size: @buttonSize;
+}
+
+/*----------------
+ Grid / Container
+-----------------*/
+
+.ui.menu > .grid,
+.ui.menu > .container {
+ display: flex;
+ align-items: inherit;
+ flex-direction: inherit;
+}
+
+/*--------------
+ Inputs
+---------------*/
+
+.ui.menu .item > .input {
+ width: 100%;
+}
+.ui.menu:not(.vertical) .item > .input {
+ position: relative;
+ top: @inputOffset;
+ margin: @inputVerticalMargin 0em;
+}
+.ui.menu .item > .input input {
+ font-size: @inputSize;
+ padding-top: @inputVerticalPadding;
+ padding-bottom: @inputVerticalPadding;
+}
+
+
+/*--------------
+ Header
+---------------*/
+
+.ui.menu .header.item,
+.ui.vertical.menu .header.item {
+ margin: 0em;
+ background: @headerBackground;
+ text-transform: @headerTextTransform;
+ font-weight: @headerWeight;
+}
+
+.ui.vertical.menu .item > .header:not(.ui) {
+ margin: @verticalHeaderMargin;
+ font-size: @verticalHeaderFontSize;
+ font-weight: @verticalHeaderFontWeight;
+}
+
+/*--------------
+ Dropdowns
+---------------*/
+
+
+/* Dropdown Icon */
+.ui.menu .item > i.dropdown.icon {
+ padding: 0em;
+ float: @dropdownIconFloat;
+ margin: 0em 0em 0em @dropdownIconDistance;
+}
+
+/* Menu */
+.ui.menu .dropdown.item .menu {
+ left: 0px;
+ min-width: ~"calc(100% - 1px)";
+ border-radius: 0em 0em @dropdownMenuBorderRadius @dropdownMenuBorderRadius;
+ background: @dropdownBackground;
+ margin: @dropdownMenuDistance 0px 0px;
+ box-shadow: @dropdownMenuBoxShadow;
+ flex-direction: column !important;
+}
+
+
+/* Menu Items */
+.ui.menu .ui.dropdown .menu > .item {
+ margin: 0;
+ text-align: left;
+ font-size: @dropdownItemFontSize !important;
+ padding: @dropdownItemPadding !important;
+ background: @dropdownItemBackground !important;
+ color: @dropdownItemColor !important;
+ text-transform: @dropdownItemTextTransform !important;
+ font-weight: @dropdownItemFontWeight !important;
+ box-shadow: @dropdownItemBoxShadow !important;
+ transition: @dropdownItemTransition !important;
+}
+.ui.menu .ui.dropdown .menu > .item:hover {
+ background: @dropdownHoveredItemBackground !important;
+ color: @dropdownHoveredItemColor !important;
+}
+.ui.menu .ui.dropdown .menu > .selected.item {
+ background: @dropdownSelectedItemBackground !important;
+ color: @dropdownSelectedItemColor !important;
+}
+.ui.menu .ui.dropdown .menu > .active.item {
+ background: @dropdownActiveItemBackground !important;
+ font-weight: @dropdownActiveItemFontWeight !important;
+ color: @dropdownActiveItemColor !important;
+}
+
+.ui.menu .ui.dropdown.item .menu .item:not(.filtered) {
+ display: block;
+}
+.ui.menu .ui.dropdown .menu > .item .icon:not(.dropdown) {
+ display: inline-block;
+ font-size: @dropdownItemIconFontSize !important;
+ float: @dropdownItemIconFloat;
+ margin: @dropdownItemIconMargin;
+}
+
+
+/* Secondary */
+.ui.secondary.menu .dropdown.item > .menu,
+.ui.text.menu .dropdown.item > .menu {
+ border-radius: @dropdownMenuBorderRadius;
+ margin-top: @secondaryDropdownMenuDistance;
+}
+
+/* Pointing */
+.ui.menu .pointing.dropdown.item .menu {
+ margin-top: @pointingDropdownMenuDistance;
+}
+
+/* Inverted */
+.ui.inverted.menu .search.dropdown.item > .search,
+.ui.inverted.menu .search.dropdown.item > .text {
+ color: @invertedSelectionDropdownColor;
+}
+
+/* Vertical */
+.ui.vertical.menu .dropdown.item > .icon {
+ float: right;
+ content: "\f0da";
+ margin-left: 1em;
+}
+.ui.vertical.menu .dropdown.item .menu {
+ left: 100%;
+ min-width: 0;
+ margin: 0em 0em 0em @dropdownMenuDistance;
+ box-shadow: @dropdownVerticalMenuBoxShadow;
+ border-radius: 0em @dropdownMenuBorderRadius @dropdownMenuBorderRadius @dropdownMenuBorderRadius;
+}
+.ui.vertical.menu .dropdown.item.upward .menu {
+ bottom: 0;
+}
+.ui.vertical.menu .dropdown.item:not(.upward) .menu {
+ top: 0;
+}
+.ui.vertical.menu .active.dropdown.item {
+ border-top-right-radius: 0em;
+ border-bottom-right-radius: 0em;
+}
+.ui.vertical.menu .dropdown.active.item {
+ box-shadow: none;
+}
+
+/* Evenly Divided */
+.ui.item.menu .dropdown .menu .item {
+ width: 100%;
+}
+
+/*--------------
+ Labels
+---------------*/
+
+.ui.menu .item > .label {
+ background: @labelBackground;
+ color: @labelTextColor;
+ margin-left: @labelTextMargin;
+ padding: @labelVerticalPadding @labelHorizontalPadding;
+}
+.ui.vertical.menu .item > .label {
+ background: @labelBackground;
+ color: @labelTextColor;
+ margin-top: @labelOffset;
+ margin-bottom: @labelOffset;
+ padding: @labelVerticalPadding @labelHorizontalPadding;
+}
+.ui.menu .item > .floating.label {
+ padding: @labelVerticalPadding @labelHorizontalPadding;
+}
+
+/*--------------
+ Images
+---------------*/
+
+.ui.menu .item > img:not(.ui) {
+ display: inline-block;
+ vertical-align: middle;
+ margin: @imageMargin;
+ width: @imageWidth;
+}
+.ui.vertical.menu .item > img:not(.ui):only-child {
+ display: block;
+ max-width: 100%;
+ width: @verticalImageWidth;
+}
+
+/*******************************
+ Coupling
+*******************************/
+
+/*--------------
+ Sidebar
+---------------*/
+
+/* Show vertical dividers below last */
+
+.ui.vertical.sidebar.menu > .item:first-child:before {
+ display: block !important;
+}
+.ui.vertical.sidebar.menu > .item::before {
+ top: auto;
+ bottom: 0px;
+}
+
+/*--------------
+ Container
+---------------*/
+
+@media only screen and (max-width: @largestMobileScreen) {
+ .ui.menu > .ui.container {
+ width: 100% !important;
+ margin-left: 0em !important;
+ margin-right: 0em !important;
+ }
+}
+@media only screen and (min-width: @tabletBreakpoint) {
+ .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .item:not(.right):not(.borderless):first-child {
+ border-left: @dividerSize solid @dividerBackground;
+ }
+}
+
+
+/*******************************
+ States
+*******************************/
+
+/*--------------
+ Hover
+---------------*/
+
+
+.ui.link.menu .item:hover,
+.ui.menu .dropdown.item:hover,
+.ui.menu .link.item:hover,
+.ui.menu a.item:hover {
+ cursor: pointer;
+ background: @hoverItemBackground;
+ color: @hoverItemTextColor;
+}
+
+
+/*--------------
+ Pressed
+---------------*/
+
+.ui.link.menu .item:active,
+.ui.menu .link.item:active,
+.ui.menu a.item:active {
+ background: @pressedItemBackground;
+ color: @pressedItemTextColor;
+}
+
+
+/*--------------
+ Active
+---------------*/
+
+.ui.menu .active.item {
+ background: @activeItemBackground;
+ color: @activeItemTextColor;
+ font-weight: @activeItemFontWeight;
+ box-shadow: @activeItemBoxShadow;
+}
+.ui.menu .active.item > i.icon {
+ opacity: @activeIconOpacity;
+}
+
+/*--------------
+ Active Hover
+---------------*/
+
+.ui.menu .active.item:hover,
+.ui.vertical.menu .active.item:hover {
+ background-color: @activeHoverItemBackground;
+ color: @activeHoverItemColor;
+}
+
+
+/*--------------
+ Disabled
+---------------*/
+
+.ui.menu .item.disabled,
+.ui.menu .item.disabled:hover {
+ cursor: default;
+ background-color: transparent !important;
+ color: @disabledTextColor;
+}
+
+
+/*******************************
+ Types
+*******************************/
+
+/*------------------
+Floated Menu / Item
+-------------------*/
+
+/* Left Floated */
+.ui.menu:not(.vertical) .left.item,
+.ui.menu:not(.vertical) .left.menu {
+ display: flex;
+ margin-right: auto !important;
+}
+/* Right Floated */
+.ui.menu:not(.vertical) .right.item,
+.ui.menu:not(.vertical) .right.menu {
+ display: flex;
+ margin-left: auto !important;
+}
+
+/* Swapped Borders */
+.ui.menu .right.item::before,
+.ui.menu .right.menu > .item::before {
+ right: auto;
+ left: 0;
+}
+
+
+/*--------------
+ Vertical
+---------------*/
+
+.ui.vertical.menu {
+ display: block;
+ flex-direction: column;
+ background: @verticalBackground;
+ box-shadow: @verticalBoxShadow;
+}
+
+/*--- Item ---*/
+.ui.vertical.menu .item {
+ display: block;
+ background: @verticalItemBackground;
+ border-top: none;
+ border-right: none;
+}
+.ui.vertical.menu > .item:first-child {
+ border-radius: @borderRadius @borderRadius 0px 0px;
+}
+.ui.vertical.menu > .item:last-child {
+ border-radius: 0px 0px @borderRadius @borderRadius;
+}
+
+/*--- Label ---*/
+.ui.vertical.menu .item > .label {
+ float: right;
+ text-align: center;
+}
+
+/*--- Icon ---*/
+.ui.vertical.menu .item > i.icon {
+ width: @iconWidth;
+ float: @verticalIconFloat;
+ margin: @verticalIconMargin;
+}
+.ui.vertical.menu .item > .label + i.icon {
+ float: @labelAndIconFloat;
+ margin: @labelAndIconMargin;
+}
+
+
+/*--- Border ---*/
+.ui.vertical.menu .item:before {
+ position: absolute;
+ content: '';
+ top: 0%;
+ left: 0px;
+ width: 100%;
+ height: @dividerSize;
+ background: @verticalDividerBackground;
+}
+
+.ui.vertical.menu .item:first-child:before {
+ display: none !important;
+}
+
+
+/*--- Sub Menu ---*/
+.ui.vertical.menu .item > .menu {
+ margin: @subMenuMargin;
+}
+.ui.vertical.menu .menu .item {
+ background: none;
+ padding: @subMenuVerticalPadding @subMenuHorizontalPadding;
+ font-size: @subMenuFontSize;
+ color: @subMenuTextColor;
+}
+.ui.vertical.menu .item .menu a.item:hover,
+.ui.vertical.menu .item .menu .link.item:hover {
+ color: @darkTextColor;
+}
+.ui.vertical.menu .menu .item:before {
+ display: none;
+}
+
+/* Vertical Active */
+.ui.vertical.menu .active.item {
+ background: @activeItemBackground;
+ border-radius: 0em;
+ box-shadow: @verticalActiveBoxShadow;
+}
+.ui.vertical.menu > .active.item:first-child {
+ border-radius: @borderRadius @borderRadius 0em 0em;
+}
+.ui.vertical.menu > .active.item:last-child {
+ border-radius: 0em 0em @borderRadius @borderRadius;
+}
+.ui.vertical.menu > .active.item:only-child {
+ border-radius: @borderRadius;
+}
+.ui.vertical.menu .active.item .menu .active.item {
+ border-left: none;
+}
+.ui.vertical.menu .item .menu .active.item {
+ background-color: @subMenuActiveBackground;
+ font-weight: @subMenuActiveFontWeight;
+ color: @subMenuActiveTextColor;
+}
+
+
+/*--------------
+ Tabular
+---------------*/
+
+.ui.tabular.menu {
+ border-radius: 0em;
+ box-shadow: none !important;
+ border: none;
+ background: @tabularBackground;
+ border-bottom: @tabularBorderWidth solid @tabularBorderColor;
+}
+.ui.tabular.fluid.menu {
+ width: @tabularFluidWidth !important;
+}
+.ui.tabular.menu .item {
+ background: transparent;
+ border-bottom: none;
+
+ border-left: @tabularBorderWidth solid transparent;
+ border-right: @tabularBorderWidth solid transparent;
+ border-top: @tabularOppositeBorderWidth solid transparent;
+ padding: @tabularVerticalPadding @tabularHorizontalPadding;
+ color: @tabularTextColor;
+}
+.ui.tabular.menu .item:before {
+ display: none;
+}
+
+/* Hover */
+.ui.tabular.menu .item:hover {
+ background-color: transparent;
+ color: @tabularHoveredTextColor;
+}
+
+/* Active */
+.ui.tabular.menu .active.item {
+ background: @tabularActiveBackground;
+ color: @tabularActiveColor;
+ border-top-width: @tabularBorderWidth;
+ border-color: @tabularBorderColor;
+ font-weight: @tabularActiveWeight;
+ margin-bottom: -@tabularBorderWidth;
+ box-shadow: @tabularActiveBoxShadow;
+ border-radius: @tabularBorderRadius @tabularBorderRadius 0px 0px !important;
+}
+
+/* Coupling with segment for attachment */
+.ui.tabular.menu + .attached:not(.top).segment,
+.ui.tabular.menu + .attached:not(.top).segment + .attached:not(.top).segment {
+ border-top: none;
+ margin-left: 0px;
+ margin-top: 0px;
+ margin-right: 0px;
+ width: 100%;
+}
+.top.attached.segment + .ui.bottom.tabular.menu {
+ position: relative;
+ width: @tabularFluidWidth;
+ left: -@tabularFluidOffset;
+}
+
+/* Bottom Vertical Tabular */
+.ui.bottom.tabular.menu {
+ background: @tabularBackground;
+ border-radius: 0em;
+ box-shadow: none !important;
+ border-bottom: none;
+ border-top: @tabularBorderWidth solid @tabularBorderColor;
+}
+.ui.bottom.tabular.menu .item {
+ background: none;
+ border-left: @tabularBorderWidth solid transparent;
+ border-right: @tabularBorderWidth solid transparent;
+ border-bottom: @tabularBorderWidth solid transparent;
+ border-top: none;
+}
+.ui.bottom.tabular.menu .active.item {
+ background: @tabularActiveBackground;
+ color: @tabularActiveColor;
+ border-color: @tabularBorderColor;
+ margin: -@tabularBorderWidth 0px 0px 0px;
+ border-radius: 0px 0px @tabularBorderRadius @tabularBorderRadius !important;
+}
+
+/* Vertical Tabular (Left) */
+.ui.vertical.tabular.menu {
+ background: @tabularVerticalBackground;
+ border-radius: 0em;
+ box-shadow: none !important;
+ border-bottom: none;
+ border-right: @tabularBorderWidth solid @tabularBorderColor;
+}
+.ui.vertical.tabular.menu .item {
+ background: none;
+ border-left: @tabularBorderWidth solid transparent;
+ border-bottom: @tabularBorderWidth solid transparent;
+ border-top: @tabularBorderWidth solid transparent;
+ border-right: none;
+}
+.ui.vertical.tabular.menu .active.item {
+ background: @tabularActiveBackground;
+ color: @tabularActiveColor;
+ border-color: @tabularBorderColor;
+ margin: 0px -@tabularBorderWidth 0px 0px;
+ border-radius: @tabularBorderRadius 0px 0px @tabularBorderRadius !important;
+}
+
+/* Vertical Right Tabular */
+.ui.vertical.right.tabular.menu {
+ background: @tabularVerticalBackground;
+ border-radius: 0em;
+ box-shadow: none !important;
+ border-bottom: none;
+ border-right: none;
+ border-left: @tabularBorderWidth solid @tabularBorderColor;
+}
+.ui.vertical.right.tabular.menu .item {
+ background: none;
+ border-right: @tabularBorderWidth solid transparent;
+ border-bottom: @tabularBorderWidth solid transparent;
+ border-top: @tabularBorderWidth solid transparent;
+ border-left: none;
+}
+.ui.vertical.right.tabular.menu .active.item {
+ background: @tabularActiveBackground;
+ color: @tabularActiveColor;
+ border-color: @tabularBorderColor;
+ margin: 0px 0px 0px -@tabularBorderWidth;
+ border-radius: 0px @tabularBorderRadius @tabularBorderRadius 0px !important;
+}
+
+/* Dropdown */
+.ui.tabular.menu .active.dropdown.item {
+ margin-bottom: 0px;
+ border-left: @tabularBorderWidth solid transparent;
+ border-right: @tabularBorderWidth solid transparent;
+ border-top: @tabularOppositeBorderWidth solid transparent;
+ border-bottom: none;
+}
+
+
+
+/*--------------
+ Pagination
+---------------*/
+
+.ui.pagination.menu {
+ margin: 0em;
+ display: inline-flex;
+ vertical-align: middle;
+}
+.ui.pagination.menu .item:last-child {
+ border-radius: 0em @borderRadius @borderRadius 0em;
+}
+.ui.compact.menu .item:last-child {
+ border-radius: 0em @borderRadius @borderRadius 0em;
+}
+.ui.pagination.menu .item:last-child:before {
+ display: none;
+}
+
+.ui.pagination.menu .item {
+ min-width: @paginationMinWidth;
+ text-align: center;
+}
+.ui.pagination.menu .icon.item i.icon {
+ vertical-align: top;
+}
+
+/* Active */
+.ui.pagination.menu .active.item {
+ border-top: none;
+ padding-top: @itemVerticalPadding;
+ background-color: @paginationActiveBackground;
+ color: @paginationActiveTextColor;
+ box-shadow: none;
+}
+
+/*--------------
+ Secondary
+---------------*/
+
+.ui.secondary.menu {
+ background: @secondaryBackground;
+ margin-left: -@secondaryItemSpacing;
+ margin-right: -@secondaryItemSpacing;
+ border-radius: 0em;
+ border: none;
+ box-shadow: none;
+}
+
+/* Item */
+.ui.secondary.menu .item {
+ align-self: center;
+ box-shadow: none;
+ border: none;
+ padding: @secondaryItemPadding;
+ margin: @secondaryItemMargin;
+ background: @secondaryItemBackground;
+ transition: @secondaryItemTransition;
+ border-radius: @secondaryItemBorderRadius;
+}
+
+/* No Divider */
+.ui.secondary.menu .item:before {
+ display: none !important;
+}
+
+/* Header */
+.ui.secondary.menu .header.item {
+ border-radius: 0em;
+ border-right: @secondaryHeaderBorder;
+ background: @secondaryHeaderBackground;
+}
+
+/* Image */
+.ui.secondary.menu .item > img:not(.ui) {
+ margin: 0em;
+}
+
+/* Hover */
+.ui.secondary.menu .dropdown.item:hover,
+.ui.secondary.menu .link.item:hover,
+.ui.secondary.menu a.item:hover {
+ background: @secondaryHoverItemBackground;
+ color: @secondaryHoverItemColor;
+}
+
+/* Active */
+.ui.secondary.menu .active.item {
+ box-shadow: none;
+ background: @secondaryActiveItemBackground;
+ color: @secondaryActiveItemColor;
+ border-radius: @secondaryItemBorderRadius;
+}
+
+/* Active Hover */
+.ui.secondary.menu .active.item:hover {
+ box-shadow: none;
+ background: @secondaryActiveHoverItemBackground;
+ color: @secondaryActiveHoverItemColor;
+}
+
+
+/* Inverted */
+.ui.secondary.inverted.menu .link.item,
+.ui.secondary.inverted.menu a.item {
+ color: @secondaryInvertedColor !important;
+}
+.ui.secondary.inverted.menu .dropdown.item:hover,
+.ui.secondary.inverted.menu .link.item:hover,
+.ui.secondary.inverted.menu a.item:hover {
+ background: @secondaryInvertedHoverBackground;
+ color: @secondaryInvertedHoverColor !important;
+}
+.ui.secondary.inverted.menu .active.item {
+ background: @secondaryInvertedActiveBackground;
+ color: @secondaryInvertedActiveColor !important;
+}
+
+/* Fix item margins */
+.ui.secondary.item.menu {
+ margin-left: 0em;
+ margin-right: 0em;
+}
+.ui.secondary.item.menu .item:last-child {
+ margin-right: 0em;
+}
+.ui.secondary.attached.menu {
+ box-shadow: none;
+}
+
+/* Sub Menu */
+.ui.vertical.secondary.menu .item:not(.dropdown) > .menu {
+ margin: @secondaryMenuSubMenuMargin;
+}
+.ui.vertical.secondary.menu .item:not(.dropdown) > .menu > .item {
+ margin: @secondaryMenuSubMenuItemMargin;
+ padding: @secondaryMenuSubMenuItemPadding;
+}
+
+
+/*---------------------
+ Secondary Vertical
+-----------------------*/
+
+.ui.secondary.vertical.menu > .item {
+ border: none;
+ margin: @secondaryVerticalItemMargin;
+ border-radius: @secondaryVerticalItemBorderRadius !important;
+}
+.ui.secondary.vertical.menu > .header.item {
+ border-radius: 0em;
+}
+
+/* Sub Menu */
+.ui.vertical.secondary.menu .item > .menu .item {
+ background-color: transparent;
+}
+
+/* Inverted */
+.ui.secondary.inverted.menu {
+ background-color: transparent;
+}
+
+/*---------------------
+ Secondary Pointing
+-----------------------*/
+
+.ui.secondary.pointing.menu {
+ margin-left: 0em;
+ margin-right: 0em;
+ border-bottom: @secondaryPointingBorderWidth solid @secondaryPointingBorderColor;
+}
+
+.ui.secondary.pointing.menu .item {
+ border-bottom-color: transparent;
+ border-bottom-style: solid;
+ border-radius: 0em;
+ align-self: flex-end;
+
+ margin: 0em 0em -@secondaryPointingBorderWidth;
+ padding: @secondaryPointingItemVerticalPadding @secondaryPointingItemHorizontalPadding;
+ border-bottom-width: @secondaryPointingBorderWidth;
+ transition: @secondaryItemTransition;
+}
+
+/* Item Types */
+.ui.secondary.pointing.menu .header.item {
+ color: @secondaryPointingHeaderColor !important;
+}
+.ui.secondary.pointing.menu .text.item {
+ box-shadow: none !important;
+}
+.ui.secondary.pointing.menu .item:after {
+ display: none;
+}
+
+/* Hover */
+.ui.secondary.pointing.menu .dropdown.item:hover,
+.ui.secondary.pointing.menu .link.item:hover,
+.ui.secondary.pointing.menu a.item:hover {
+ background-color: transparent;
+ color: @secondaryPointingHoverTextColor;
+}
+
+/* Pressed */
+.ui.secondary.pointing.menu .dropdown.item:active,
+.ui.secondary.pointing.menu .link.item:active,
+.ui.secondary.pointing.menu a.item:active {
+ background-color: transparent;
+ border-color: @secondaryPointingBorderColor;
+}
+
+/* Active */
+.ui.secondary.pointing.menu .active.item {
+ background-color: transparent;
+ box-shadow: none;
+ border-color: @secondaryPointingActiveBorderColor;
+ font-weight: @secondaryPointingActiveFontWeight;
+ color: @secondaryPointingActiveTextColor;
+}
+
+/* Active Hover */
+.ui.secondary.pointing.menu .active.item:hover {
+ border-color: @secondaryPointingActiveHoverBorderColor;
+ color: @secondaryPointingActiveHoverTextColor;
+}
+
+/* Active Dropdown */
+.ui.secondary.pointing.menu .active.dropdown.item {
+ border-color: @secondaryPointingActiveDropdownBorderColor;
+}
+
+/* Vertical Pointing */
+.ui.secondary.vertical.pointing.menu {
+ border-bottom-width: 0px;
+ border-right-width: @secondaryPointingBorderWidth;
+ border-right-style: solid;
+ border-right-color: @secondaryPointingBorderColor;
+}
+.ui.secondary.vertical.pointing.menu .item {
+ border-bottom: none;
+ border-right-style: solid;
+ border-right-color: transparent;
+ border-radius: 0em !important;
+ margin: @secondaryVerticalPointingItemMargin;
+ border-right-width: @secondaryPointingBorderWidth;
+}
+
+/* Vertical Active */
+.ui.secondary.vertical.pointing.menu .active.item {
+ border-color: @secondaryPointingActiveBorderColor;
+}
+
+/* Inverted */
+.ui.secondary.inverted.pointing.menu {
+ border-color: @secondaryPointingInvertedBorderColor;
+}
+
+.ui.secondary.inverted.pointing.menu {
+ border-width: @secondaryPointingBorderWidth;
+ border-color: @secondaryPointingBorderColor;
+}
+.ui.secondary.inverted.pointing.menu .item {
+ color: @secondaryPointingInvertedItemTextColor;
+}
+.ui.secondary.inverted.pointing.menu .header.item {
+ color: @secondaryPointingInvertedItemHeaderColor !important;
+}
+
+/* Hover */
+.ui.secondary.inverted.pointing.menu .link.item:hover,
+.ui.secondary.inverted.pointing.menu a.item:hover {
+ color: @secondaryPointingInvertedItemHoverTextColor;
+}
+
+
+/* Active */
+.ui.secondary.inverted.pointing.menu .active.item {
+ border-color: @secondaryPointingInvertedActiveBorderColor;
+ color: @secondaryPointingInvertedActiveColor;
+}
+
+/*--------------
+ Text Menu
+---------------*/
+
+.ui.text.menu {
+ background: none transparent;
+ border-radius: 0px;
+ box-shadow: none;
+ border: none;
+
+ margin: @textMenuMargin;
+}
+.ui.text.menu .item {
+ border-radius: 0px;
+ box-shadow: none;
+ align-self: center;
+ margin: @textMenuItemMargin;
+ padding: @textMenuItemPadding;
+ font-weight: @textMenuItemFontWeight;
+ color: @textMenuItemColor;
+ transition: @textMenuItemTransition;
+}
+
+/* Border */
+.ui.text.menu .item:before,
+.ui.text.menu .menu .item:before {
+ display: none !important;
+}
+
+/* Header */
+.ui.text.menu .header.item {
+ background-color: transparent;
+ opacity: 1;
+ color: @textMenuHeaderColor;
+ font-size: @textMenuHeaderSize;
+ text-transform: @textMenuHeaderTextTransform;
+ font-weight: @textMenuHeaderFontWeight;
+}
+
+/* Image */
+.ui.text.menu .item > img:not(.ui) {
+ margin: 0em;
+}
+
+/*--- fluid text ---*/
+.ui.text.item.menu .item {
+ margin: 0em;
+}
+
+/*--- vertical text ---*/
+.ui.vertical.text.menu {
+ margin: @textVerticalMenuMargin;
+}
+.ui.vertical.text.menu:first-child {
+ margin-top: 0rem;
+}
+.ui.vertical.text.menu:last-child {
+ margin-bottom: 0rem;
+}
+.ui.vertical.text.menu .item {
+ margin: @textVerticalMenuItemMargin;
+ padding-left: 0em;
+ padding-right: 0em;
+}
+.ui.vertical.text.menu .item > i.icon {
+ float: @textVerticalMenuIconFloat;
+ margin: @iconMargin;
+}
+.ui.vertical.text.menu .header.item {
+ margin: @textVerticalMenuHeaderMargin;
+}
+
+/* Vertical Sub Menu */
+.ui.vertical.text.menu .item:not(.dropdown) > .menu {
+ margin: @textMenuSubMenuMargin;
+}
+.ui.vertical.text.menu .item:not(.dropdown) > .menu > .item {
+ margin: @textMenuSubMenuItemMargin;
+ padding: @textMenuSubMenuItemPadding;
+}
+
+/*--- hover ---*/
+.ui.text.menu .item:hover {
+ opacity: 1;
+ background-color: transparent;
+}
+
+/*--- active ---*/
+.ui.text.menu .active.item {
+ background-color: transparent;
+ border: none;
+ box-shadow: none;
+ font-weight: @textMenuActiveItemFontWeight;
+ color: @textMenuActiveItemColor;
+}
+
+/*--- active hover ---*/
+.ui.text.menu .active.item:hover {
+ background-color: transparent;
+}
+
+/* Disable Bariations */
+.ui.text.pointing.menu .active.item:after {
+ box-shadow: none;
+}
+.ui.text.attached.menu {
+ box-shadow: none;
+}
+
+/* Inverted */
+.ui.inverted.text.menu,
+.ui.inverted.text.menu .item,
+.ui.inverted.text.menu .item:hover,
+.ui.inverted.text.menu .active.item {
+ background-color: transparent !important;
+}
+
+/* Fluid */
+.ui.fluid.text.menu {
+ margin-left: 0em;
+ margin-right: 0em;
+}
+
+/*--------------
+ Icon Only
+---------------*/
+
+/* Vertical Menu */
+.ui.vertical.icon.menu {
+ display: inline-block;
+ width: auto;
+}
+
+/* Item */
+.ui.icon.menu .item {
+ height: auto;
+ text-align: @iconMenuTextAlign;
+ color: @iconMenuItemColor;
+}
+
+/* Icon */
+.ui.icon.menu .item > .icon:not(.dropdown) {
+ margin: 0;
+ opacity: 1;
+}
+
+/* Icon Gylph */
+.ui.icon.menu .icon:before {
+ opacity: 1;
+}
+
+/* (x) Item Icon */
+.ui.menu .icon.item > .icon {
+ width: auto;
+ margin: 0em auto;
+}
+
+/* Vertical Icon */
+.ui.vertical.icon.menu .item > .icon:not(.dropdown) {
+ display: block;
+ opacity: 1;
+ margin: 0em auto;
+ float: none;
+}
+
+/* Inverted */
+.ui.inverted.icon.menu .item {
+ color: @iconMenuInvertedItemColor;
+}
+
+/*--------------
+ Labeled Icon
+---------------*/
+
+/* Menu */
+.ui.labeled.icon.menu {
+ text-align: center;
+}
+
+/* Item */
+.ui.labeled.icon.menu .item {
+ min-width: @labeledIconMinWidth;
+ flex-direction: column;
+}
+
+/* Icon */
+.ui.labeled.icon.menu .item > .icon:not(.dropdown) {
+ height: 1em;
+ display: block;
+ font-size: @labeledIconSize !important;
+ margin: 0em auto @labeledIconTextMargin !important;
+}
+
+/* Fluid */
+.ui.fluid.labeled.icon.menu > .item {
+ min-width: 0em;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Stackable
+---------------*/
+
+@media only screen and (max-width: @largestMobileScreen) {
+ .ui.stackable.menu {
+ flex-direction: column;
+ }
+ .ui.stackable.menu .item {
+ width: 100% !important;
+ }
+ .ui.stackable.menu .item:before {
+ position: absolute;
+ content: '';
+ top: auto;
+ bottom: 0px;
+ left: 0px;
+ width: 100%;
+ height: @dividerSize;
+ background: @verticalDividerBackground;
+ }
+
+ .ui.stackable.menu .left.menu,
+ .ui.stackable.menu .left.item {
+ margin-right: 0 !important;
+ }
+ .ui.stackable.menu .right.menu,
+ .ui.stackable.menu .right.item {
+ margin-left: 0 !important;
+ }
+}
+
+/*--------------
+ Colors
+---------------*/
+
+/*--- Standard Colors ---*/
+.ui.menu .red.active.item,
+.ui.red.menu .active.item {
+ border-color: @red !important;
+ color: @red !important;
+}
+.ui.menu .orange.active.item,
+.ui.orange.menu .active.item {
+ border-color: @orange !important;
+ color: @orange !important;
+}
+.ui.menu .yellow.active.item,
+.ui.yellow.menu .active.item {
+ border-color: @yellow !important;
+ color: @yellow !important;
+}
+.ui.menu .olive.active.item,
+.ui.olive.menu .active.item {
+ border-color: @olive !important;
+ color: @olive !important;
+}
+.ui.menu .green.active.item,
+.ui.green.menu .active.item {
+ border-color: @green !important;
+ color: @green !important;
+}
+.ui.menu .teal.active.item,
+.ui.teal.menu .active.item {
+ border-color: @teal !important;
+ color: @teal !important;
+}
+.ui.menu .blue.active.item,
+.ui.blue.menu .active.item {
+ border-color: @blue !important;
+ color: @blue !important;
+}
+.ui.menu .violet.active.item,
+.ui.violet.menu .active.item {
+ border-color: @violet !important;
+ color: @violet !important;
+}
+.ui.menu .purple.active.item,
+.ui.purple.menu .active.item {
+ border-color: @purple !important;
+ color: @purple !important;
+}
+.ui.menu .pink.active.item,
+.ui.pink.menu .active.item {
+ border-color: @pink !important;
+ color: @pink !important;
+}
+.ui.menu .brown.active.item,
+.ui.brown.menu .active.item {
+ border-color: @brown !important;
+ color: @brown !important;
+}
+.ui.menu .grey.active.item,
+.ui.grey.menu .active.item {
+ border-color: @grey !important;
+ color: @grey !important;
+}
+
+
+/*--------------
+ Inverted
+---------------*/
+
+.ui.inverted.menu {
+ border: @invertedBorder;
+ background: @invertedBackground;
+ box-shadow: @invertedBoxShadow;
+}
+
+/* Menu Item */
+.ui.inverted.menu .item,
+.ui.inverted.menu .item > a:not(.ui) {
+ background: @invertedItemBackground;
+ color: @invertedItemTextColor;
+}
+.ui.inverted.menu .item.menu {
+ background: @invertedSubMenuBackground;
+}
+
+/*--- Border ---*/
+.ui.inverted.menu .item:before {
+ background: @invertedDividerBackground;
+}
+.ui.vertical.inverted.menu .item:before {
+ background: @invertedVerticalDividerBackground;
+}
+
+/* Sub Menu */
+.ui.vertical.inverted.menu .menu .item,
+.ui.vertical.inverted.menu .menu .item a:not(.ui) {
+ color: @invertedSubMenuColor;
+}
+
+/* Header */
+.ui.inverted.menu .header.item {
+ margin: 0em;
+ background: @invertedHeaderBackground;
+ box-shadow: none;
+}
+
+/* Disabled */
+.ui.inverted.menu .item.disabled,
+.ui.inverted.menu .item.disabled:hover {
+ color: @invertedDisabledTextColor;
+}
+
+/*--- Hover ---*/
+.ui.link.inverted.menu .item:hover,
+.ui.inverted.menu .dropdown.item:hover,
+.ui.inverted.menu .link.item:hover,
+.ui.inverted.menu a.item:hover {
+ background: @invertedHoverBackground;
+ color: @invertedHoverColor;
+}
+.ui.vertical.inverted.menu .item .menu a.item:hover,
+.ui.vertical.inverted.menu .item .menu .link.item:hover {
+ background: @invertedSubMenuBackground;
+ color: @invertedSubMenuHoverColor;
+}
+
+/*--- Pressed ---*/
+.ui.inverted.menu a.item:active,
+.ui.inverted.menu .link.item:active{
+ background: @invertedMenuPressedBackground;
+ color: @invertedMenuPressedColor;
+}
+
+/*--- Active ---*/
+.ui.inverted.menu .active.item {
+ background: @invertedActiveBackground;
+ color: @invertedActiveColor !important;
+}
+.ui.inverted.vertical.menu .item .menu .active.item {
+ background: @invertedSubMenuActiveBackground;
+ color: @invertedSubMenuActiveColor;
+}
+.ui.inverted.pointing.menu .active.item:after {
+ background: @invertedArrowActiveColor !important;
+ margin: 0em !important;
+ box-shadow: none !important;
+ border: none !important;
+}
+
+/*--- Active Hover ---*/
+.ui.inverted.menu .active.item:hover {
+ background: @invertedActiveHoverBackground;
+ color: @invertedActiveHoverColor !important;
+}
+.ui.inverted.pointing.menu .active.item:hover:after {
+ background: @invertedArrowActiveHoverColor !important;
+}
+
+
+/*--------------
+ Floated
+---------------*/
+
+.ui.floated.menu {
+ float: left;
+ margin: 0rem @floatedDistance 0rem 0rem;
+}
+.ui.floated.menu .item:last-child:before {
+ display: none;
+}
+
+.ui.right.floated.menu {
+ float: right;
+ margin: 0rem 0rem 0rem @floatedDistance;
+}
+
+
+/*--------------
+ Inverted
+---------------*/
+
+/* Red */
+.ui.inverted.menu .red.active.item,
+.ui.inverted.red.menu {
+ background-color: @red;
+}
+.ui.inverted.red.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.red.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+/* Orange */
+.ui.inverted.menu .orange.active.item,
+.ui.inverted.orange.menu {
+ background-color: @orange;
+}
+.ui.inverted.orange.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.orange.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+/* Yellow */
+.ui.inverted.menu .yellow.active.item,
+.ui.inverted.yellow.menu {
+ background-color: @yellow;
+}
+.ui.inverted.yellow.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.yellow.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+/* Olive */
+.ui.inverted.menu .olive.active.item,
+.ui.inverted.olive.menu {
+ background-color: @olive;
+}
+.ui.inverted.olive.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.olive.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+/* Green */
+.ui.inverted.menu .green.active.item,
+.ui.inverted.green.menu {
+ background-color: @green;
+}
+.ui.inverted.green.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.green.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+/* Teal */
+.ui.inverted.menu .teal.active.item,
+.ui.inverted.teal.menu {
+ background-color: @teal;
+}
+.ui.inverted.teal.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.teal.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+/* Blue */
+.ui.inverted.menu .blue.active.item,
+.ui.inverted.blue.menu {
+ background-color: @blue;
+}
+.ui.inverted.blue.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.blue.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+/* Violet */
+.ui.inverted.menu .violet.active.item,
+.ui.inverted.violet.menu {
+ background-color: @violet;
+}
+.ui.inverted.violet.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.violet.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+/* Purple */
+.ui.inverted.menu .purple.active.item,
+.ui.inverted.purple.menu {
+ background-color: @purple;
+}
+.ui.inverted.purple.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.purple.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+/* Pink */
+.ui.inverted.menu .pink.active.item,
+.ui.inverted.pink.menu {
+ background-color: @pink;
+}
+.ui.inverted.pink.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.pink.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+/* Brown */
+.ui.inverted.menu .brown.active.item,
+.ui.inverted.brown.menu {
+ background-color: @brown;
+}
+.ui.inverted.brown.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.brown.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+/* Grey */
+.ui.inverted.menu .grey.active.item,
+.ui.inverted.grey.menu {
+ background-color: @grey;
+}
+.ui.inverted.grey.menu .item:before {
+ background-color: @invertedColoredDividerBackground;
+}
+.ui.inverted.grey.menu .active.item {
+ background-color: @invertedColoredActiveBackground !important;
+}
+
+
+/*--------------
+ 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: @itemVerticalPadding;
+ padding-bottom: @itemVerticalPadding;
+}
+.ui.vertically.fitted.menu .item,
+.ui.vertically.fitted.menu .item .menu .item,
+.ui.menu .vertically.fitted.item {
+ padding-left: @itemHorizontalPadding;
+ padding-right: @itemHorizontalPadding;
+}
+
+/*--------------
+ Borderless
+---------------*/
+
+.ui.borderless.menu .item:before,
+.ui.borderless.menu .item .menu .item:before,
+.ui.menu .borderless.item:before {
+ background: none !important;
+}
+
+/*-------------------
+ Compact
+--------------------*/
+
+.ui.compact.menu {
+ display: inline-flex;
+ margin: 0em;
+ vertical-align: middle;
+}
+.ui.compact.vertical.menu {
+ display: inline-block;
+}
+.ui.compact.menu .item:last-child {
+ border-radius: 0em @borderRadius @borderRadius 0em;
+}
+.ui.compact.menu .item:last-child:before {
+ display: none;
+}
+.ui.compact.vertical.menu {
+ width: auto !important;
+}
+.ui.compact.vertical.menu .item:last-child::before {
+ display: block;
+}
+
+/*-------------------
+ Fluid
+--------------------*/
+
+.ui.menu.fluid,
+.ui.vertical.menu.fluid {
+ width: 100% !important;
+}
+
+
+/*-------------------
+ Evenly Sized
+--------------------*/
+
+.ui.item.menu,
+.ui.item.menu .item {
+ width: 100%;
+ padding-left: 0em !important;
+ padding-right: 0em !important;
+ margin-left: 0em !important;
+ margin-right: 0em !important;
+ text-align: center;
+ justify-content: center;
+}
+
+.ui.item.menu .item:last-child:before {
+ display: none;
+}
+
+.ui.menu.two.item .item {
+ width: 50%;
+}
+.ui.menu.three.item .item {
+ width: 33.333%;
+}
+.ui.menu.four.item .item {
+ width: 25%;
+}
+.ui.menu.five.item .item {
+ width: 20%;
+}
+.ui.menu.six.item .item {
+ width: 16.666%;
+}
+.ui.menu.seven.item .item {
+ width: 14.285%;
+}
+.ui.menu.eight.item .item {
+ width: 12.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: 101;
+ margin: 0em;
+ width: 100%;
+}
+.ui.menu.fixed,
+.ui.menu.fixed .item:first-child,
+.ui.menu.fixed .item:last-child {
+ border-radius: 0px !important;
+}
+
+.ui.fixed.menu,
+.ui[class*="top fixed"].menu {
+ top: 0px;
+ left: 0px;
+ right: auto;
+ bottom: auto;
+}
+.ui[class*="top fixed"].menu {
+ border-top: none;
+ border-left: none;
+ border-right: none;
+}
+.ui[class*="right fixed"].menu {
+ border-top: none;
+ border-bottom: none;
+ border-right: none;
+ top: 0px;
+ right: 0px;
+ left: auto;
+ bottom: auto;
+ width: auto;
+ height: 100%;
+}
+.ui[class*="bottom fixed"].menu {
+ border-bottom: none;
+ border-left: none;
+ border-right: none;
+ bottom: 0px;
+ left: 0px;
+ top: auto;
+ right: auto;
+}
+.ui[class*="left fixed"].menu {
+ border-top: none;
+ border-bottom: none;
+ border-left: none;
+ top: 0px;
+ left: 0px;
+ right: auto;
+ bottom: auto;
+ width: auto;
+ height: 100%;
+}
+
+/* Coupling with Grid */
+.ui.fixed.menu + .ui.grid {
+ padding-top: @fixedPrecedingGridMargin;
+}
+
+
+/*-------------------
+ Pointing
+--------------------*/
+
+.ui.pointing.menu .item:after {
+ visibility: hidden;
+ position: absolute;
+ content: '';
+ top: 100%;
+ left: 50%;
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ background: none;
+
+ margin: (@arrowBorderWidth / 2) 0em 0em;
+ width: @arrowSize;
+ height: @arrowSize;
+
+ border: none;
+ border-bottom: @arrowBorder;
+ border-right: @arrowBorder;
+
+ z-index: @arrowZIndex;
+ transition: @arrowTransition;
+}
+.ui.vertical.pointing.menu .item:after {
+ position: absolute;
+ top: 50%;
+ right: 0%;
+ bottom: auto;
+ left: auto;
+
+ transform: translateX(50%) translateY(-50%) rotate(45deg);
+ margin: 0em -(@arrowBorderWidth / 2) 0em 0em;
+
+ border: none;
+ border-top: @arrowBorder;
+ border-right: @arrowBorder;
+}
+
+/* Active */
+.ui.pointing.menu .active.item:after {
+ visibility: visible;
+}
+.ui.pointing.menu .active.dropdown.item:after {
+ visibility: hidden;
+}
+
+/* Don't double up pointers */
+.ui.pointing.menu .dropdown.active.item:after,
+.ui.pointing.menu .active.item .menu .active.item:after {
+ display: none;
+}
+
+/* Colors */
+.ui.pointing.menu .active.item:hover:after {
+ background-color: @arrowHoverColor;
+}
+.ui.pointing.menu .active.item:after {
+ background-color: @arrowActiveColor;
+}
+.ui.pointing.menu .active.item:hover:after {
+ background-color: @arrowActiveHoverColor;
+}
+
+.ui.vertical.pointing.menu .active.item:hover:after {
+ background-color: @arrowVerticalHoverColor;
+}
+.ui.vertical.pointing.menu .active.item:after {
+ background-color: @arrowVerticalActiveColor;
+}
+.ui.vertical.pointing.menu .menu .active.item:after {
+ background-color: @arrowVerticalSubMenuColor;
+}
+
+
+
+/*--------------
+ Attached
+---------------*/
+
+/* Middle */
+.ui.attached.menu {
+ top: 0px;
+ bottom: 0px;
+ border-radius: 0px;
+ margin: 0em @attachedHorizontalOffset;
+ width: @attachedWidth;
+ max-width: @attachedWidth;
+ box-shadow: @attachedBoxShadow;
+}
+.ui.attached + .ui.attached.menu:not(.top) {
+ border-top: none;
+}
+
+/* Top */
+.ui[class*="top attached"].menu {
+ bottom: 0px;
+ margin-bottom: 0em;
+ top: @attachedTopOffset;
+ margin-top: @verticalMargin;
+ border-radius: @borderRadius @borderRadius 0em 0em;
+}
+.ui.menu[class*="top attached"]:first-child {
+ margin-top: 0em;
+}
+
+/* Bottom */
+.ui[class*="bottom attached"].menu {
+ bottom: 0px;
+ margin-top: 0em;
+ top: @attachedBottomOffset;
+ margin-bottom: @verticalMargin;
+ box-shadow: @attachedBottomBoxShadow;
+ border-radius: 0em 0em @borderRadius @borderRadius;
+}
+.ui[class*="bottom attached"].menu:last-child {
+ margin-bottom: 0em;
+}
+
+/* Attached Menu Item */
+.ui.top.attached.menu > .item:first-child {
+ border-radius: @borderRadius 0em 0em 0em;
+}
+.ui.bottom.attached.menu > .item:first-child {
+ border-radius: 0em 0em 0em @borderRadius;
+}
+
+/* Tabular Attached */
+.ui.attached.menu:not(.tabular) {
+ border: @attachedBorder;
+}
+.ui.attached.inverted.menu {
+ border: none;
+}
+.ui.attached.tabular.menu {
+ margin-left: 0;
+ margin-right: 0;
+ width: 100%;
+}
+
+/*--------------
+ Sizes
+---------------*/
+
+/* Mini */
+.ui.mini.menu {
+ font-size: @mini;
+}
+.ui.mini.vertical.menu {
+ width: @miniWidth;
+}
+
+/* Tiny */
+.ui.tiny.menu {
+ font-size: @tiny;
+}
+.ui.tiny.vertical.menu {
+ width: @tinyWidth;
+}
+
+/* Small */
+.ui.small.menu {
+ font-size: @small;
+}
+.ui.small.vertical.menu {
+ width: @smallWidth;
+}
+
+/* Medium */
+.ui.menu {
+ font-size: @medium;
+}
+.ui.vertical.menu {
+ width: @mediumWidth;
+}
+
+/* Large */
+.ui.large.menu {
+ font-size: @large;
+}
+.ui.large.vertical.menu {
+ width: @largeWidth;
+}
+
+/* Huge */
+.ui.huge.menu {
+ font-size: @huge;
+}
+.ui.huge.vertical.menu {
+ width: @hugeWidth;
+}
+
+/* Big */
+.ui.big.menu {
+ font-size: @big;
+}
+.ui.big.vertical.menu {
+ width: @bigWidth;
+}
+
+/* Massive */
+.ui.massive.menu {
+ font-size: @massive;
+}
+.ui.massive.vertical.menu {
+ width: @massiveWidth;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/collections/message.less b/src/semantic/src/definitions/collections/message.less
new file mode 100755
index 0000000..7b75feb
--- /dev/null
+++ b/src/semantic/src/definitions/collections/message.less
@@ -0,0 +1,478 @@
+/*!
+ * # Semantic UI - Message
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'collection';
+@element : 'message';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Message
+*******************************/
+
+.ui.message {
+ position: relative;
+ min-height: 1em;
+ margin: @verticalMargin 0em;
+ background: @background;
+ padding: @padding;
+ line-height: @lineHeight;
+ color: @textColor;
+ transition: @transition;
+ border-radius: @borderRadius;
+ box-shadow: @boxShadow;
+}
+
+.ui.message:first-child {
+ margin-top: 0em;
+}
+.ui.message:last-child {
+ margin-bottom: 0em;
+}
+
+
+/*--------------
+ Content
+---------------*/
+
+/* Header */
+.ui.message .header {
+ display: @headerDisplay;
+ font-family: @headerFont;
+ font-weight: @headerFontWeight;
+ margin: @headerMargin;
+}
+
+/* Default font size */
+.ui.message .header:not(.ui) {
+ font-size: @headerFontSize;
+}
+
+/* Paragraph */
+.ui.message p {
+ opacity: @messageTextOpacity;
+ margin: @messageParagraphMargin 0em;
+}
+.ui.message p:first-child {
+ margin-top: 0em;
+}
+.ui.message p:last-child {
+ margin-bottom: 0em;
+}
+.ui.message .header + p {
+ margin-top: @headerParagraphDistance;
+}
+
+/* List */
+.ui.message .list:not(.ui) {
+ text-align: left;
+ padding: 0em;
+ opacity: @listOpacity;
+ list-style-position: @listStylePosition;
+ margin: @listMargin 0em 0em;
+}
+.ui.message .list:not(.ui):first-child {
+ margin-top: 0em;
+}
+.ui.message .list:not(.ui):last-child {
+ margin-bottom: 0em;
+}
+.ui.message .list:not(.ui) li {
+ position: relative;
+ list-style-type: none;
+ margin: 0em 0em @listItemMargin @listItemIndent;
+ padding: 0em;
+}
+.ui.message .list:not(.ui) li:before {
+ position: absolute;
+ content: '•';
+ left: -1em;
+ height: 100%;
+ vertical-align: baseline;
+}
+.ui.message .list:not(.ui) li:last-child {
+ margin-bottom: 0em;
+}
+
+
+/* Icon */
+.ui.message > .icon {
+ margin-right: @iconDistance;
+}
+
+/* Close Icon */
+.ui.message > .close.icon {
+ cursor: pointer;
+ position: absolute;
+ margin: 0em;
+ top: @closeTopDistance;
+ right: @closeRightDistance;
+ opacity: @closeOpacity;
+ transition: @closeTransition;
+}
+.ui.message > .close.icon:hover {
+ opacity: 1;
+}
+
+/* First / Last Element */
+.ui.message > :first-child {
+ margin-top: 0em;
+}
+.ui.message > :last-child {
+ margin-bottom: 0em;
+}
+
+/*******************************
+ Coupling
+*******************************/
+
+.ui.dropdown .menu > .message {
+ margin: 0px -@borderWidth;
+}
+
+/*******************************
+ States
+*******************************/
+
+/*--------------
+ Visible
+---------------*/
+
+.ui.visible.visible.visible.visible.message {
+ display: block;
+}
+
+.ui.icon.visible.visible.visible.visible.message {
+ display: flex;
+}
+
+/*--------------
+ Hidden
+---------------*/
+
+.ui.hidden.hidden.hidden.hidden.message {
+ display: none;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Compact
+---------------*/
+
+.ui.compact.message {
+ display: inline-block;
+}
+
+
+/*--------------
+ Attached
+---------------*/
+
+.ui.attached.message {
+ margin-bottom: @attachedYOffset;
+ border-radius: @borderRadius @borderRadius 0em 0em;
+ box-shadow: @attachedBoxShadow;
+ margin-left: @attachedXOffset;
+ margin-right: @attachedXOffset;
+}
+.ui.attached + .ui.attached.message:not(.top):not(.bottom) {
+ margin-top: @attachedYOffset;
+ border-radius: 0em;
+}
+.ui.bottom.attached.message {
+ margin-top: @attachedYOffset;
+ border-radius: 0em 0em @borderRadius @borderRadius;
+ box-shadow: @attachedBottomBoxShadow;
+}
+.ui.bottom.attached.message:not(:last-child) {
+ margin-bottom: @verticalMargin;
+}
+.ui.attached.icon.message {
+ width: auto;
+}
+
+
+/*--------------
+ Icon
+---------------*/
+
+.ui.icon.message {
+ display: flex;
+ width: 100%;
+ align-items: center;
+}
+.ui.icon.message > .icon:not(.close) {
+ display: block;
+ flex: 0 0 auto;
+ width: auto;
+ line-height: 1;
+ vertical-align: @iconVerticalAlign;
+ font-size: @iconSize;
+ opacity: @iconOpacity;
+}
+.ui.icon.message > .content {
+ display: block;
+ flex: 1 1 auto;
+ vertical-align: @iconVerticalAlign;
+}
+
+
+.ui.icon.message .icon:not(.close) + .content {
+ padding-left: @iconContentDistance;
+}
+.ui.icon.message .circular.icon {
+ width: 1em;
+}
+
+/*--------------
+ Floating
+---------------*/
+
+.ui.floating.message {
+ box-shadow: @floatingBoxShadow;
+}
+
+
+/*--------------
+ Colors
+---------------*/
+
+.ui.black.message {
+ background-color: @black;
+ color: @invertedTextColor;
+}
+
+/*--------------
+ Types
+---------------*/
+
+/* Positive */
+.ui.positive.message {
+ background-color: @positiveBackgroundColor;
+ color: @positiveTextColor;
+}
+.ui.positive.message,
+.ui.attached.positive.message {
+ box-shadow: @positiveBoxShadow;
+}
+.ui.positive.message .header {
+ color: @positiveHeaderColor;
+}
+
+/* Negative */
+.ui.negative.message {
+ background-color: @negativeBackgroundColor;
+ color: @negativeTextColor;
+}
+.ui.negative.message,
+.ui.attached.negative.message {
+ box-shadow: @negativeBoxShadow;
+}
+.ui.negative.message .header {
+ color: @negativeHeaderColor;
+}
+
+/* Info */
+.ui.info.message {
+ background-color: @infoBackgroundColor;
+ color: @infoTextColor;
+}
+.ui.info.message,
+.ui.attached.info.message {
+ box-shadow: @infoBoxShadow;
+}
+.ui.info.message .header {
+ color: @infoHeaderColor;
+}
+
+/* Warning */
+.ui.warning.message {
+ background-color: @warningBackgroundColor;
+ color: @warningTextColor;
+}
+.ui.warning.message,
+.ui.attached.warning.message {
+ box-shadow: @warningBoxShadow;
+}
+.ui.warning.message .header {
+ color: @warningHeaderColor;
+}
+
+/* Error */
+.ui.error.message {
+ background-color: @errorBackgroundColor;
+ color: @errorTextColor;
+}
+.ui.error.message,
+.ui.attached.error.message {
+ box-shadow: @errorBoxShadow;
+}
+.ui.error.message .header {
+ color: @errorHeaderColor;
+}
+
+/* Success */
+.ui.success.message {
+ background-color: @successBackgroundColor;
+ color: @successTextColor;
+}
+.ui.success.message,
+.ui.attached.success.message {
+ box-shadow: @successBoxShadow;
+}
+.ui.success.message .header {
+ color: @successHeaderColor;
+}
+
+
+/* Colors */
+.ui.inverted.message,
+.ui.black.message {
+ background-color: @black;
+ color: @invertedTextColor;
+}
+
+.ui.red.message {
+ background-color: @redBackground;
+ color: @redTextColor;
+ box-shadow: @redBoxShadow;
+}
+.ui.red.message .header {
+ color: @redHeaderColor;
+}
+
+.ui.orange.message {
+ background-color: @orangeBackground;
+ color: @orangeTextColor;
+ box-shadow: @orangeBoxShadow;
+}
+.ui.orange.message .header {
+ color: @orangeHeaderColor;
+}
+
+.ui.yellow.message {
+ background-color: @yellowBackground;
+ color: @yellowTextColor;
+ box-shadow: @yellowBoxShadow;
+}
+.ui.yellow.message .header {
+ color: @yellowHeaderColor;
+}
+
+.ui.olive.message {
+ background-color: @oliveBackground;
+ color: @oliveTextColor;
+ box-shadow: @oliveBoxShadow;
+}
+.ui.olive.message .header {
+ color: @oliveHeaderColor;
+}
+
+.ui.green.message {
+ background-color: @greenBackground;
+ color: @greenTextColor;
+ box-shadow: @greenBoxShadow;
+}
+.ui.green.message .header {
+ color: @greenHeaderColor;
+}
+
+.ui.teal.message {
+ background-color: @tealBackground;
+ color: @tealTextColor;
+ box-shadow: @tealBoxShadow;
+}
+.ui.teal.message .header {
+ color: @tealHeaderColor;
+}
+
+.ui.blue.message {
+ background-color: @blueBackground;
+ color: @blueTextColor;
+ box-shadow: @blueBoxShadow;
+}
+.ui.blue.message .header {
+ color: @blueHeaderColor;
+}
+
+.ui.violet.message {
+ background-color: @violetBackground;
+ color: @violetTextColor;
+ box-shadow: @violetBoxShadow;
+}
+.ui.violet.message .header {
+ color: @violetHeaderColor;
+}
+
+.ui.purple.message {
+ background-color: @purpleBackground;
+ color: @purpleTextColor;
+ box-shadow: @purpleBoxShadow;
+}
+.ui.purple.message .header {
+ color: @purpleHeaderColor;
+}
+
+.ui.pink.message {
+ background-color: @pinkBackground;
+ color: @pinkTextColor;
+ box-shadow: @pinkBoxShadow;
+}
+.ui.pink.message .header {
+ color: @pinkHeaderColor;
+}
+
+.ui.brown.message {
+ background-color: @brownBackground;
+ color: @brownTextColor;
+ box-shadow: @brownBoxShadow;
+}
+.ui.brown.message .header {
+ color: @brownHeaderColor;
+}
+
+/*--------------
+ Sizes
+---------------*/
+
+.ui.mini.message {
+ font-size: @relativeMini;
+}
+.ui.tiny.message {
+ font-size: @relativeTiny;
+}
+.ui.small.message {
+ font-size: @relativeSmall;
+}
+.ui.message {
+ font-size: @relativeMedium;
+}
+.ui.large.message {
+ font-size: @relativeLarge;
+}
+.ui.big.message {
+ font-size: @relativeBig;
+}
+.ui.huge.message {
+ font-size: @relativeHuge;
+}
+.ui.massive.message {
+ font-size: @relativeMassive;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/collections/table.less b/src/semantic/src/definitions/collections/table.less
new file mode 100755
index 0000000..b72dbac
--- /dev/null
+++ b/src/semantic/src/definitions/collections/table.less
@@ -0,0 +1,1114 @@
+/*!
+ * # Semantic UI - Table
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'collection';
+@element : 'table';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Table
+*******************************/
+
+/* Prototype */
+.ui.table {
+ width: 100%;
+ background: @background;
+ margin: @margin;
+ border: @border;
+ box-shadow: @boxShadow;
+ border-radius: @borderRadius;
+ text-align: @textAlign;
+ color: @color;
+ border-collapse: @borderCollapse;
+ border-spacing: @borderSpacing;
+}
+
+.ui.table:first-child {
+ margin-top: 0em;
+}
+.ui.table:last-child {
+ margin-bottom: 0em;
+}
+
+/*******************************
+ Parts
+*******************************/
+
+/* Table Content */
+.ui.table th,
+.ui.table td {
+ transition: @transition;
+}
+
+/* Headers */
+.ui.table thead {
+ box-shadow: @headerBoxShadow;
+}
+.ui.table thead th {
+ cursor: auto;
+ background: @headerBackground;
+ text-align: @headerAlign;
+ color: @headerColor;
+ padding: @headerVerticalPadding @headerHorizontalPadding;
+ vertical-align: @headerVerticalAlign;
+ font-style: @headerFontStyle;
+ font-weight: @headerFontWeight;
+ text-transform: @headerTextTransform;
+ border-bottom: @headerBorder;
+ border-left: @headerDivider;
+}
+
+.ui.table thead tr > th:first-child {
+ border-left: none;
+}
+
+.ui.table thead tr:first-child > th:first-child {
+ border-radius: @borderRadius 0em 0em 0em;
+}
+.ui.table thead tr:first-child > th:last-child {
+ border-radius: 0em @borderRadius 0em 0em;
+}
+.ui.table thead tr:first-child > th:only-child {
+ border-radius: @borderRadius @borderRadius 0em 0em;
+}
+
+/* Footer */
+.ui.table tfoot {
+ box-shadow: @footerBoxShadow;
+}
+.ui.table tfoot th {
+ cursor: auto;
+ border-top: @footerBorder;
+ background: @footerBackground;
+ text-align: @footerAlign;
+ color: @footerColor;
+ padding: @footerVerticalPadding @footerHorizontalPadding;
+ vertical-align: @footerVerticalAlign;
+ font-style: @footerFontStyle;
+ font-weight: @footerFontWeight;
+ text-transform: @footerTextTransform;
+}
+.ui.table tfoot tr > th:first-child {
+ border-left: none;
+}
+.ui.table tfoot tr:first-child > th:first-child {
+ border-radius: 0em 0em 0em @borderRadius;
+}
+.ui.table tfoot tr:first-child > th:last-child {
+ border-radius: 0em 0em @borderRadius 0em;
+}
+.ui.table tfoot tr:first-child > th:only-child {
+ border-radius: 0em 0em @borderRadius @borderRadius;
+}
+
+/* Table Row */
+.ui.table tr td {
+ border-top: @rowBorder;
+}
+.ui.table tr:first-child td {
+ border-top: none;
+}
+
+/* Table Cells */
+.ui.table td {
+ padding: @cellVerticalPadding @cellHorizontalPadding;
+ text-align: @cellTextAlign;
+}
+
+/* Icons */
+.ui.table > .icon {
+ vertical-align: @iconVerticalAlign;
+}
+.ui.table > .icon:only-child {
+ margin: 0em;
+}
+
+/* Table Segment */
+.ui.table.segment {
+ padding: 0em;
+}
+.ui.table.segment:after {
+ display: none;
+}
+.ui.table.segment.stacked:after {
+ display: block;
+}
+
+
+/* Responsive */
+@media only screen and (max-width : @largestMobileScreen) {
+ .ui.table:not(.unstackable) {
+ width: 100%;
+ }
+ .ui.table:not(.unstackable) tbody,
+ .ui.table:not(.unstackable) tr,
+ .ui.table:not(.unstackable) tr > th,
+ .ui.table:not(.unstackable) tr > td {
+ display: block !important;
+ width: auto !important;
+ display: block !important;
+ }
+
+ .ui.table:not(.unstackable) {
+ padding: 0em;
+ }
+ .ui.table:not(.unstackable) thead {
+ display: @responsiveHeaderDisplay;
+ }
+ .ui.table:not(.unstackable) tfoot {
+ display: @responsiveFooterDisplay;
+ }
+ .ui.table:not(.unstackable) tr {
+ padding-top: @responsiveRowVerticalPadding;
+ padding-bottom: @responsiveRowVerticalPadding;
+ box-shadow: @responsiveRowBoxShadow;
+ }
+
+ .ui.table:not(.unstackable) tr > th,
+ .ui.table:not(.unstackable) tr > td {
+ background: none;
+ border: none !important;
+ padding: @responsiveCellVerticalPadding @responsiveCellHorizontalPadding !important;
+ box-shadow: @responsiveCellBoxShadow;
+ }
+ .ui.table:not(.unstackable) th:first-child,
+ .ui.table:not(.unstackable) td:first-child {
+ font-weight: bold;
+ }
+
+ /* Definition Table */
+ .ui.definition.table:not(.unstackable) thead th:first-child {
+ box-shadow: none !important;
+ }
+}
+
+
+/*******************************
+ Coupling
+*******************************/
+
+/* UI Image */
+.ui.table th .image,
+.ui.table th .image img,
+.ui.table td .image,
+.ui.table td .image img {
+ max-width: none;
+}
+
+
+/*******************************
+ Types
+*******************************/
+
+/*--------------
+ Complex
+---------------*/
+
+.ui.structured.table {
+ border-collapse: collapse;
+}
+.ui.structured.table thead th {
+ border-left: @headerDivider;
+ border-right: @headerDivider;
+}
+.ui.structured.sortable.table thead th {
+ border-left: @sortableBorder;
+ border-right: @sortableBorder;
+}
+.ui.structured.basic.table th {
+ border-left: @basicTableHeaderDivider;
+ border-right: @basicTableHeaderDivider;
+}
+.ui.structured.celled.table tr th,
+.ui.structured.celled.table tr td {
+ border-left: @cellBorder;
+ border-right: @cellBorder;
+}
+
+/*--------------
+ Definition
+---------------*/
+
+.ui.definition.table thead:not(.full-width) th:first-child {
+ pointer-events: none;
+ background: @definitionHeaderBackground;
+ font-weight: @definitionHeaderFontWeight;
+ color: @definitionHeaderColor;
+ box-shadow: -@borderWidth -@borderWidth 0px @borderWidth @definitionPageBackground;
+}
+
+.ui.definition.table tfoot:not(.full-width) th:first-child {
+ pointer-events: none;
+ background: @definitionFooterBackground;
+ font-weight: @definitionFooterColor;
+ color: @definitionFooterFontWeight;
+ box-shadow: @borderWidth @borderWidth 0px @borderWidth @definitionPageBackground;
+}
+
+/* Remove Border */
+.ui.celled.definition.table thead:not(.full-width) th:first-child {
+ box-shadow: 0px -@borderWidth 0px @borderWidth @definitionPageBackground;
+}
+.ui.celled.definition.table tfoot:not(.full-width) th:first-child {
+ box-shadow: 0px @borderWidth 0px @borderWidth @definitionPageBackground;
+}
+
+/* Highlight Defining Column */
+.ui.definition.table tr td:first-child:not(.ignored),
+.ui.definition.table tr td.definition {
+ background: @definitionColumnBackground;
+ font-weight: @definitionColumnFontWeight;
+ color: @definitionColumnColor;
+ text-transform: @definitionColumnTextTransform;
+ box-shadow: @definitionColumnBoxShadow;
+ text-align: @definitionColumnTextAlign;
+ font-size: @definitionColumnFontSize;
+ padding-left: @definitionColumnHorizontalPadding;
+ padding-right: @definitionColumnHorizontalPadding;
+}
+
+
+/* Fix 2nd Column */
+.ui.definition.table thead:not(.full-width) th:nth-child(2) {
+ border-left: @borderWidth solid @borderColor;
+}
+.ui.definition.table tfoot:not(.full-width) th:nth-child(2) {
+ border-left: @borderWidth solid @borderColor;
+}
+.ui.definition.table td:nth-child(2) {
+ border-left: @borderWidth solid @borderColor;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+/*--------------
+ Positive
+---------------*/
+
+.ui.table tr.positive,
+.ui.table td.positive {
+ box-shadow: @positiveBoxShadow;
+}
+.ui.table tr.positive,
+.ui.table td.positive {
+ background: @positiveBackgroundColor !important;
+ color: @positiveColor !important;
+}
+
+/*--------------
+ Negative
+---------------*/
+
+.ui.table tr.negative,
+.ui.table td.negative {
+ box-shadow: @negativeBoxShadow;
+}
+.ui.table tr.negative,
+.ui.table td.negative {
+ background: @negativeBackgroundColor !important;
+ color: @negativeColor !important;
+}
+
+/*--------------
+ Error
+---------------*/
+
+.ui.table tr.error,
+.ui.table td.error {
+ box-shadow: @errorBoxShadow;
+}
+.ui.table tr.error,
+.ui.table td.error {
+ background: @errorBackgroundColor !important;
+ color: @errorColor !important;
+}
+/*--------------
+ Warning
+---------------*/
+
+.ui.table tr.warning,
+.ui.table td.warning {
+ box-shadow: @warningBoxShadow;
+}
+.ui.table tr.warning,
+.ui.table td.warning {
+ background: @warningBackgroundColor !important;
+ color: @warningColor !important;
+}
+
+/*--------------
+ Active
+---------------*/
+
+.ui.table tr.active,
+.ui.table td.active {
+ box-shadow: @activeBoxShadow;
+}
+.ui.table tr.active,
+.ui.table td.active {
+ background: @activeBackgroundColor !important;
+ color: @activeColor !important;
+}
+
+
+
+/*--------------
+ Disabled
+---------------*/
+
+.ui.table tr.disabled td,
+.ui.table tr td.disabled,
+.ui.table tr.disabled:hover,
+.ui.table tr:hover td.disabled {
+ pointer-events: none;
+ color: @disabledTextColor;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Stackable
+---------------*/
+
+@media only screen and (max-width : @largestTabletScreen) {
+
+ .ui[class*="tablet stackable"].table,
+ .ui[class*="tablet stackable"].table tbody,
+ .ui[class*="tablet stackable"].table tr,
+ .ui[class*="tablet stackable"].table tr > th,
+ .ui[class*="tablet stackable"].table tr > td {
+ display: block !important;
+ width: 100% !important;
+ display: block !important;
+ }
+
+ .ui[class*="tablet stackable"].table {
+ padding: 0em;
+ }
+ .ui[class*="tablet stackable"].table thead {
+ display: @responsiveHeaderDisplay;
+ }
+ .ui[class*="tablet stackable"].table tfoot {
+ display: @responsiveFooterDisplay;
+ }
+ .ui[class*="tablet stackable"].table tr {
+ padding-top: @responsiveRowVerticalPadding;
+ padding-bottom: @responsiveRowVerticalPadding;
+ box-shadow: @responsiveRowBoxShadow;
+ }
+ .ui[class*="tablet stackable"].table tr > th,
+ .ui[class*="tablet stackable"].table tr > td {
+ background: none;
+ border: none !important;
+ padding: @responsiveCellVerticalPadding @responsiveCellHorizontalPadding;
+ box-shadow: @responsiveCellBoxShadow;
+ }
+
+ /* Definition Table */
+ .ui.definition[class*="tablet stackable"].table thead th:first-child {
+ box-shadow: none !important;
+ }
+}
+
+/*--------------
+ Text Alignment
+---------------*/
+
+.ui.table[class*="left aligned"],
+.ui.table [class*="left aligned"] {
+ text-align: left;
+}
+.ui.table[class*="center aligned"],
+.ui.table [class*="center aligned"] {
+ text-align: center;
+}
+.ui.table[class*="right aligned"],
+.ui.table [class*="right aligned"] {
+ text-align: right;
+}
+
+/*------------------
+ Vertical Alignment
+------------------*/
+
+.ui.table[class*="top aligned"],
+.ui.table [class*="top aligned"] {
+ vertical-align: top;
+}
+.ui.table[class*="middle aligned"],
+.ui.table [class*="middle aligned"] {
+ vertical-align: middle;
+}
+.ui.table[class*="bottom aligned"],
+.ui.table [class*="bottom aligned"] {
+ vertical-align: bottom;
+}
+
+/*--------------
+ Collapsing
+---------------*/
+
+.ui.table th.collapsing,
+.ui.table td.collapsing {
+ width: 1px;
+ white-space: nowrap;
+}
+
+/*--------------
+ Fixed
+---------------*/
+
+.ui.fixed.table {
+ table-layout: fixed;
+}
+
+.ui.fixed.table th,
+.ui.fixed.table td {
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+
+/*--------------
+ Selectable
+---------------*/
+
+.ui.selectable.table tbody tr:hover,
+.ui.table tbody tr td.selectable:hover {
+ background: @selectableBackground !important;
+ color: @selectableTextColor !important;
+}
+.ui.selectable.inverted.table tbody tr:hover,
+.ui.inverted.table tbody tr td.selectable:hover {
+ background: @selectableInvertedBackground !important;
+ color: @selectableInvertedTextColor !important;
+}
+
+/* Selectable Cell Link */
+.ui.table tbody tr td.selectable {
+ padding: 0em;
+}
+.ui.table tbody tr td.selectable > a:not(.ui) {
+ display: block;
+ color: inherit;
+ padding: @cellVerticalPadding @cellHorizontalPadding;
+}
+
+/* Other States */
+.ui.selectable.table tr.error:hover,
+.ui.table tr td.selectable.error:hover,
+.ui.selectable.table tr:hover td.error {
+ background: @errorBackgroundHover !important;
+ color: @errorColorHover !important;
+}
+.ui.selectable.table tr.warning:hover,
+.ui.table tr td.selectable.warning:hover,
+.ui.selectable.table tr:hover td.warning {
+ background: @warningBackgroundHover !important;
+ color: @warningColorHover !important;
+}
+.ui.selectable.table tr.active:hover,
+.ui.table tr td.selectable.active:hover,
+.ui.selectable.table tr:hover td.active {
+ background: @activeBackgroundColor !important;
+ color: @activeColor !important;
+}
+.ui.selectable.table tr.positive:hover,
+.ui.table tr td.selectable.positive:hover,
+.ui.selectable.table tr:hover td.positive {
+ background: @positiveBackgroundHover !important;
+ color: @positiveColorHover !important;
+}
+.ui.selectable.table tr.negative:hover,
+.ui.table tr td.selectable.negative:hover,
+.ui.selectable.table tr:hover td.negative {
+ background: @negativeBackgroundHover !important;
+ color: @negativeColorHover !important;
+}
+
+
+
+/*-------------------
+ Attached
+--------------------*/
+
+/* Middle */
+.ui.attached.table {
+ top: 0px;
+ bottom: 0px;
+ border-radius: 0px;
+ margin: 0em @attachedHorizontalOffset;
+ width: @attachedWidth;
+ max-width: @attachedWidth;
+ box-shadow: @attachedBoxShadow;
+ border: @attachedBorder;
+}
+.ui.attached + .ui.attached.table:not(.top) {
+ border-top: none;
+}
+
+/* Top */
+.ui[class*="top attached"].table {
+ bottom: 0px;
+ margin-bottom: 0em;
+ top: @attachedTopOffset;
+ margin-top: @verticalMargin;
+ border-radius: @borderRadius @borderRadius 0em 0em;
+}
+.ui.table[class*="top attached"]:first-child {
+ margin-top: 0em;
+}
+
+/* Bottom */
+.ui[class*="bottom attached"].table {
+ bottom: 0px;
+ margin-top: 0em;
+ top: @attachedBottomOffset;
+ margin-bottom: @verticalMargin;
+ box-shadow: @attachedBottomBoxShadow;
+ border-radius: 0em 0em @borderRadius @borderRadius;
+}
+.ui[class*="bottom attached"].table:last-child {
+ margin-bottom: 0em;
+}
+
+/*--------------
+ Striped
+---------------*/
+
+/* Table Striping */
+.ui.striped.table > tr:nth-child(2n),
+.ui.striped.table tbody tr:nth-child(2n) {
+ background-color: @stripedBackground;
+}
+
+/* Stripes */
+.ui.inverted.striped.table > tr:nth-child(2n),
+.ui.inverted.striped.table tbody tr:nth-child(2n) {
+ background-color: @invertedStripedBackground;
+}
+
+/* Allow striped active hover */
+.ui.striped.selectable.selectable.selectable.table tbody tr.active:hover {
+ background: @activeBackgroundHover !important;
+ color: @activeColorHover !important;
+}
+
+/*--------------
+ Single Line
+---------------*/
+
+.ui.table[class*="single line"],
+.ui.table [class*="single line"] {
+ white-space: nowrap;
+}
+.ui.table[class*="single line"],
+.ui.table [class*="single line"] {
+ white-space: nowrap;
+}
+
+/*-------------------
+ Colors
+--------------------*/
+
+/* Red */
+.ui.red.table {
+ border-top: @coloredBorderSize solid @red;
+}
+.ui.inverted.red.table {
+ background-color: @red !important;
+ color: @white !important;
+}
+
+/* Orange */
+.ui.orange.table {
+ border-top: @coloredBorderSize solid @orange;
+}
+.ui.inverted.orange.table {
+ background-color: @orange !important;
+ color: @white !important;
+}
+
+/* Yellow */
+.ui.yellow.table {
+ border-top: @coloredBorderSize solid @yellow;
+}
+.ui.inverted.yellow.table {
+ background-color: @yellow !important;
+ color: @white !important;
+}
+
+/* Olive */
+.ui.olive.table {
+ border-top: @coloredBorderSize solid @olive;
+}
+.ui.inverted.olive.table {
+ background-color: @olive !important;
+ color: @white !important;
+}
+
+/* Green */
+.ui.green.table {
+ border-top: @coloredBorderSize solid @green;
+}
+.ui.inverted.green.table {
+ background-color: @green !important;
+ color: @white !important;
+}
+
+/* Teal */
+.ui.teal.table {
+ border-top: @coloredBorderSize solid @teal;
+}
+.ui.inverted.teal.table {
+ background-color: @teal !important;
+ color: @white !important;
+}
+
+/* Blue */
+.ui.blue.table {
+ border-top: @coloredBorderSize solid @blue;
+}
+.ui.inverted.blue.table {
+ background-color: @blue !important;
+ color: @white !important;
+}
+
+/* Violet */
+.ui.violet.table {
+ border-top: @coloredBorderSize solid @violet;
+}
+.ui.inverted.violet.table {
+ background-color: @violet !important;
+ color: @white !important;
+}
+
+/* Purple */
+.ui.purple.table {
+ border-top: @coloredBorderSize solid @purple;
+}
+.ui.inverted.purple.table {
+ background-color: @purple !important;
+ color: @white !important;
+}
+
+/* Pink */
+.ui.pink.table {
+ border-top: @coloredBorderSize solid @pink;
+}
+.ui.inverted.pink.table {
+ background-color: @pink !important;
+ color: @white !important;
+}
+
+/* Brown */
+.ui.brown.table {
+ border-top: @coloredBorderSize solid @brown;
+}
+.ui.inverted.brown.table {
+ background-color: @brown !important;
+ color: @white !important;
+}
+
+/* Grey */
+.ui.grey.table {
+ border-top: @coloredBorderSize solid @grey;
+}
+.ui.inverted.grey.table {
+ background-color: @grey !important;
+ color: @white !important;
+}
+
+/* Black */
+.ui.black.table {
+ border-top: @coloredBorderSize solid @black;
+}
+.ui.inverted.black.table {
+ background-color: @black !important;
+ color: @white !important;
+}
+
+
+/*--------------
+ Column Count
+---------------*/
+
+/* Grid Based */
+.ui.one.column.table td {
+ width: @oneColumn;
+}
+.ui.two.column.table td {
+ width: @twoColumn;
+}
+.ui.three.column.table td {
+ width: @threeColumn;
+}
+.ui.four.column.table td {
+ width: @fourColumn;
+}
+.ui.five.column.table td {
+ width: @fiveColumn;
+}
+.ui.six.column.table td {
+ width: @sixColumn;
+}
+.ui.seven.column.table td {
+ width: @sevenColumn;
+}
+.ui.eight.column.table td {
+ width: @eightColumn;
+}
+.ui.nine.column.table td {
+ width: @nineColumn;
+}
+.ui.ten.column.table td {
+ width: @tenColumn;
+}
+.ui.eleven.column.table td {
+ width: @elevenColumn;
+}
+.ui.twelve.column.table td {
+ width: @twelveColumn;
+}
+.ui.thirteen.column.table td {
+ width: @thirteenColumn;
+}
+.ui.fourteen.column.table td {
+ width: @fourteenColumn;
+}
+.ui.fifteen.column.table td {
+ width: @fifteenColumn;
+}
+.ui.sixteen.column.table td {
+ width: @sixteenColumn;
+}
+
+/* Column Width */
+.ui.table th.one.wide,
+.ui.table td.one.wide {
+ width: @oneWide;
+}
+.ui.table th.two.wide,
+.ui.table td.two.wide {
+ width: @twoWide;
+}
+.ui.table th.three.wide,
+.ui.table td.three.wide {
+ width: @threeWide;
+}
+.ui.table th.four.wide,
+.ui.table td.four.wide {
+ width: @fourWide;
+}
+.ui.table th.five.wide,
+.ui.table td.five.wide {
+ width: @fiveWide;
+}
+.ui.table th.six.wide,
+.ui.table td.six.wide {
+ width: @sixWide;
+}
+.ui.table th.seven.wide,
+.ui.table td.seven.wide {
+ width: @sevenWide;
+}
+.ui.table th.eight.wide,
+.ui.table td.eight.wide {
+ width: @eightWide;
+}
+.ui.table th.nine.wide,
+.ui.table td.nine.wide {
+ width: @nineWide;
+}
+.ui.table th.ten.wide,
+.ui.table td.ten.wide {
+ width: @tenWide;
+}
+.ui.table th.eleven.wide,
+.ui.table td.eleven.wide {
+ width: @elevenWide;
+}
+.ui.table th.twelve.wide,
+.ui.table td.twelve.wide {
+ width: @twelveWide;
+}
+.ui.table th.thirteen.wide,
+.ui.table td.thirteen.wide {
+ width: @thirteenWide;
+}
+.ui.table th.fourteen.wide,
+.ui.table td.fourteen.wide {
+ width: @fourteenWide;
+}
+.ui.table th.fifteen.wide,
+.ui.table td.fifteen.wide {
+ width: @fifteenWide;
+}
+.ui.table th.sixteen.wide,
+.ui.table td.sixteen.wide {
+ width: @sixteenWide;
+}
+
+/*--------------
+ Sortable
+---------------*/
+
+.ui.sortable.table thead th {
+ cursor: pointer;
+ white-space: nowrap;
+ border-left: @sortableBorder;
+ color: @sortableColor;
+}
+.ui.sortable.table thead th:first-child {
+ border-left: none;
+}
+.ui.sortable.table thead th.sorted,
+.ui.sortable.table thead th.sorted:hover {
+ user-select: none;
+}
+
+.ui.sortable.table thead th:after {
+ display: none;
+ font-style: normal;
+ font-weight: normal;
+ text-decoration: inherit;
+ content: '';
+ height: 1em;
+ width: @sortableIconWidth;
+ opacity: @sortableIconOpacity;
+ margin: 0em 0em 0em @sortableIconDistance;
+ font-family: @sortableIconFont;
+}
+.ui.sortable.table thead th.ascending:after {
+ content: @sortableIconAscending;
+}
+.ui.sortable.table thead th.descending:after {
+ content: @sortableIconDescending;
+}
+
+/* Hover */
+.ui.sortable.table th.disabled:hover {
+ cursor: auto;
+ color: @sortableDisabledColor;
+}
+.ui.sortable.table thead th:hover {
+ background: @sortableHoverBackground;
+ color: @sortableHoverColor;
+}
+
+/* Sorted */
+.ui.sortable.table thead th.sorted {
+ background: @sortableActiveBackground;
+ color: @sortableActiveColor;
+}
+.ui.sortable.table thead th.sorted:after {
+ display: inline-block;
+}
+
+/* Sorted Hover */
+.ui.sortable.table thead th.sorted:hover {
+ background: @sortableActiveHoverBackground;
+ color: @sortableActiveHoverColor;
+}
+
+/* Inverted */
+.ui.inverted.sortable.table thead th.sorted {
+ background: @sortableInvertedActiveBackground;
+ color: @sortableInvertedActiveColor;
+}
+.ui.inverted.sortable.table thead th:hover {
+ background: @sortableInvertedHoverBackground;
+ color: @sortableInvertedHoverColor;
+}
+.ui.inverted.sortable.table thead th {
+ border-left-color: @sortableInvertedBorderColor;
+ border-right-color: @sortableInvertedBorderColor;
+}
+
+
+/*--------------
+ Inverted
+---------------*/
+
+/* Text Color */
+.ui.inverted.table {
+ background: @invertedBackground;
+ color: @invertedCellColor;
+ border: @invertedBorder;
+}
+.ui.inverted.table th {
+ background-color: @invertedHeaderBackground;
+ border-color: @invertedHeaderBorderColor !important;
+ color: @invertedHeaderColor;
+}
+.ui.inverted.table tr td {
+ border-color: @invertedCellBorderColor !important;
+}
+
+.ui.inverted.table tr.disabled td,
+.ui.inverted.table tr td.disabled,
+.ui.inverted.table tr.disabled:hover td,
+.ui.inverted.table tr:hover td.disabled {
+ pointer-events: none;
+ color: @invertedDisabledTextColor;
+}
+
+/* Definition */
+.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,
+.ui.inverted.definition.table thead:not(.full-width) th:first-child {
+ background: @definitionPageBackground;
+}
+.ui.inverted.definition.table tr td:first-child {
+ background: @invertedDefinitionColumnBackground;
+ color: @invertedDefinitionColumnColor;
+}
+
+/*--------------
+ Collapsing
+---------------*/
+
+.ui.collapsing.table {
+ width: auto;
+}
+
+/*--------------
+ Basic
+---------------*/
+
+.ui.basic.table {
+ background: @basicTableBackground;
+ border: @basicTableBorder;
+ box-shadow: @basicBoxShadow;
+}
+.ui.basic.table thead,
+.ui.basic.table tfoot {
+ box-shadow: none;
+}
+.ui.basic.table th {
+ background: @basicTableHeaderBackground;
+ border-left: @basicTableHeaderDivider;
+}
+.ui.basic.table tbody tr {
+ border-bottom: @basicTableCellBorder;
+}
+.ui.basic.table td {
+ background: @basicTableCellBackground;
+}
+.ui.basic.striped.table tbody tr:nth-child(2n) {
+ background-color: @basicTableStripedBackground !important;
+}
+
+/* Very Basic */
+.ui[class*="very basic"].table {
+ border: none;
+}
+.ui[class*="very basic"].table:not(.sortable):not(.striped) th,
+.ui[class*="very basic"].table:not(.sortable):not(.striped) td {
+ padding: @basicTableCellPadding;
+}
+.ui[class*="very basic"].table:not(.sortable):not(.striped) th:first-child,
+.ui[class*="very basic"].table:not(.sortable):not(.striped) td:first-child {
+ padding-left: 0em;
+}
+.ui[class*="very basic"].table:not(.sortable):not(.striped) th:last-child,
+.ui[class*="very basic"].table:not(.sortable):not(.striped) td:last-child {
+ padding-right: 0em;
+}
+.ui[class*="very basic"].table:not(.sortable):not(.striped) thead tr:first-child th {
+ padding-top: 0em;
+}
+
+/*--------------
+ Celled
+---------------*/
+
+.ui.celled.table tr th,
+.ui.celled.table tr td {
+ border-left: @cellBorder;
+}
+.ui.celled.table tr th:first-child,
+.ui.celled.table tr td:first-child {
+ border-left: none;
+}
+
+/*--------------
+ Padded
+---------------*/
+
+.ui.padded.table th {
+ padding-left: @paddedHorizontalPadding;
+ padding-right: @paddedHorizontalPadding;
+}
+.ui.padded.table th,
+.ui.padded.table td {
+ padding: @paddedVerticalPadding @paddedHorizontalPadding;
+}
+
+/* Very */
+.ui[class*="very padded"].table th {
+ padding-left: @veryPaddedHorizontalPadding;
+ padding-right: @veryPaddedHorizontalPadding;
+}
+.ui[class*="very padded"].table td {
+ padding: @veryPaddedVerticalPadding @veryPaddedHorizontalPadding;
+}
+
+/*--------------
+ Compact
+---------------*/
+
+.ui.compact.table th {
+ padding-left: @compactHorizontalPadding;
+ padding-right: @compactHorizontalPadding;
+}
+.ui.compact.table td {
+ padding: @compactVerticalPadding @compactHorizontalPadding;
+}
+
+/* Very */
+.ui[class*="very compact"].table th {
+ padding-left: @veryCompactHorizontalPadding;
+ padding-right: @veryCompactHorizontalPadding;
+}
+.ui[class*="very compact"].table td {
+ padding: @veryCompactVerticalPadding @veryCompactHorizontalPadding;
+}
+
+/*--------------
+ Sizes
+---------------*/
+
+/* Small */
+.ui.small.table {
+ font-size: @small;
+}
+
+/* Standard */
+.ui.table {
+ font-size: @medium;
+}
+
+/* Large */
+.ui.large.table {
+ font-size: @large;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/button.less b/src/semantic/src/definitions/elements/button.less
new file mode 100755
index 0000000..9e65066
--- /dev/null
+++ b/src/semantic/src/definitions/elements/button.less
@@ -0,0 +1,3427 @@
+/*!
+ * # Semantic UI - Button
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'button';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Button
+*******************************/
+
+.ui.button {
+ cursor: pointer;
+ display: inline-block;
+
+ min-height: 1em;
+
+ outline: none;
+ border: none;
+ vertical-align: @verticalAlign;
+ background: @background;
+ color: @textColor;
+
+ font-family: @fontFamily;
+
+ margin: 0em @horizontalMargin @verticalMargin 0em;
+ padding: @verticalPadding @horizontalPadding (@verticalPadding + @shadowOffset);
+
+ text-transform: @textTransform;
+ text-shadow: @textShadow;
+ font-weight: @fontWeight;
+ line-height: @lineHeight;
+ font-style: normal;
+ text-align: center;
+ text-decoration: none;
+
+ border-radius: @borderRadius;
+ box-shadow: @boxShadow;
+
+ user-select: none;
+ transition: @transition;
+ will-change: @willChange;
+
+ -webkit-tap-highlight-color: @tapColor;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+/*--------------
+ Hover
+---------------*/
+
+.ui.button:hover {
+ background-color: @hoverBackgroundColor;
+ background-image: @hoverBackgroundImage;
+ box-shadow: @hoverBoxShadow;
+ color: @hoverColor;
+}
+
+.ui.button:hover .icon {
+ opacity: @iconHoverOpacity;
+}
+
+/*--------------
+ Focus
+---------------*/
+
+.ui.button:focus {
+ background-color: @focusBackgroundColor;
+ color: @focusColor;
+ background-image: @focusBackgroundImage !important;
+ box-shadow: @focusBoxShadow !important;
+}
+
+.ui.button:focus .icon {
+ opacity: @iconFocusOpacity;
+}
+
+/*--------------
+ Down
+---------------*/
+
+.ui.button:active,
+.ui.active.button:active {
+ background-color: @downBackgroundColor;
+ background-image: @downBackgroundImage;
+ color: @downColor;
+ box-shadow: @downBoxShadow;
+}
+
+/*--------------
+ Active
+---------------*/
+
+.ui.active.button {
+ background-color: @activeBackgroundColor;
+ background-image: @activeBackgroundImage;
+ box-shadow: @activeBoxShadow;
+ color: @activeColor;
+}
+.ui.active.button:hover {
+ background-color: @activeHoverBackgroundColor;
+ background-image: @activeHoverBackgroundImage;
+ color: @activeHoverColor;
+}
+.ui.active.button:active {
+ background-color: @activeBackgroundColor;
+ background-image: @activeBackgroundImage;
+}
+
+
+/*--------------
+ Loading
+---------------*/
+
+/* Specificity hack */
+.ui.loading.loading.loading.loading.loading.loading.button {
+ position: relative;
+ cursor: default;
+ text-shadow: none !important;
+ color: transparent !important;
+ opacity: @loadingOpacity;
+ pointer-events: @loadingPointerEvents;
+ transition: @loadingTransition;
+}
+.ui.loading.button:before {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: 50%;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ border-radius: @circularRadius;
+ border: @loaderLineWidth solid @invertedLoaderFillColor;
+}
+.ui.loading.button:after {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: 50%;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ animation: button-spin @loaderSpeed linear;
+ animation-iteration-count: infinite;
+
+ border-radius: @circularRadius;
+
+ border-color: @invertedLoaderLineColor transparent transparent;
+ border-style: solid;
+ border-width: @loaderLineWidth;
+
+ box-shadow: 0px 0px 0px 1px transparent;
+}
+.ui.labeled.icon.loading.button .icon {
+ background-color: transparent;
+ box-shadow: none;
+}
+
+@keyframes button-spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+.ui.basic.loading.button:not(.inverted):before {
+ border-color: @loaderFillColor;
+}
+.ui.basic.loading.button:not(.inverted):after {
+ border-top-color: @loaderLineColor;
+}
+
+/*-------------------
+ Disabled
+--------------------*/
+
+.ui.buttons .disabled.button,
+.ui.disabled.button,
+.ui.button:disabled,
+.ui.disabled.button:hover,
+.ui.disabled.active.button {
+ cursor: default;
+ opacity: @disabledOpacity !important;
+ background-image: none !important;
+ box-shadow: none !important;
+ pointer-events: none !important;
+}
+
+/* Basic Group With Disabled */
+.ui.basic.buttons .ui.disabled.button {
+ border-color: @disabledBorderColor;
+}
+
+/*******************************
+ Types
+*******************************/
+
+/*-------------------
+ Animated
+--------------------*/
+
+.ui.animated.button {
+ position: relative;
+ overflow: hidden;
+ padding-right: 0em !important;
+ vertical-align: @animatedVerticalAlign;
+ z-index: @animatedZIndex;
+}
+
+.ui.animated.button .content {
+ will-change: transform, opacity;
+}
+.ui.animated.button .visible.content {
+ position: relative;
+ margin-right: @horizontalPadding;
+}
+.ui.animated.button .hidden.content {
+ position: absolute;
+ width: 100%;
+}
+
+/* Horizontal */
+.ui.animated.button .visible.content,
+.ui.animated.button .hidden.content {
+ transition: right @animationDuration @animationEasing 0s;
+}
+.ui.animated.button .visible.content {
+ left: auto;
+ right: 0%;
+}
+.ui.animated.button .hidden.content {
+ top: 50%;
+ left: auto;
+ right: -100%;
+ margin-top: -(@lineHeight / 2);
+}
+.ui.animated.button:focus .visible.content,
+.ui.animated.button:hover .visible.content {
+ left: auto;
+ right: 200%;
+}
+.ui.animated.button:focus .hidden.content,
+.ui.animated.button:hover .hidden.content {
+ left: auto;
+ right: 0%;
+}
+
+/* Vertical */
+.ui.vertical.animated.button .visible.content,
+.ui.vertical.animated.button .hidden.content {
+ transition: top @animationDuration @animationEasing, transform @animationDuration @animationEasing;
+}
+.ui.vertical.animated.button .visible.content {
+ transform: translateY(0%);
+ right: auto;
+}
+.ui.vertical.animated.button .hidden.content {
+ top: -50%;
+ left: 0%;
+ right: auto;
+}
+.ui.vertical.animated.button:focus .visible.content,
+.ui.vertical.animated.button:hover .visible.content {
+ transform: translateY(200%);
+ right: auto;
+}
+.ui.vertical.animated.button:focus .hidden.content,
+.ui.vertical.animated.button:hover .hidden.content {
+ top: 50%;
+ right: auto;
+}
+
+/* Fade */
+.ui.fade.animated.button .visible.content,
+.ui.fade.animated.button .hidden.content {
+ transition: opacity @animationDuration @animationEasing, transform @animationDuration @animationEasing;
+}
+.ui.fade.animated.button .visible.content {
+ left: auto;
+ right: auto;
+ opacity: 1;
+ transform: scale(1);
+}
+.ui.fade.animated.button .hidden.content {
+ opacity: 0;
+ left: 0%;
+ right: auto;
+ transform: scale(@fadeScaleHigh);
+}
+.ui.fade.animated.button:focus .visible.content,
+.ui.fade.animated.button:hover .visible.content {
+ left: auto;
+ right: auto;
+ opacity: 0;
+ transform: scale(@fadeScaleLow);
+}
+.ui.fade.animated.button:focus .hidden.content,
+.ui.fade.animated.button:hover .hidden.content {
+ left: 0%;
+ right: auto;
+ opacity: 1;
+ transform: scale(1);
+}
+
+/*-------------------
+ Inverted
+--------------------*/
+
+.ui.inverted.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @white inset !important;
+ background: transparent none;
+ color: @white;
+ text-shadow: none !important;
+}
+
+/* Group */
+.ui.inverted.buttons .button {
+ margin: @invertedGroupButtonOffset;
+}
+.ui.inverted.buttons .button:first-child {
+ margin-left: 0em;
+}
+.ui.inverted.vertical.buttons .button {
+ margin: @invertedVerticalGroupButtonOffset;
+}
+.ui.inverted.vertical.buttons .button:first-child {
+ margin-top: 0em;
+}
+
+/* States */
+
+/* Hover */
+.ui.inverted.button:hover {
+ background: @white;
+ box-shadow: 0px 0px 0px @invertedBorderSize @white inset !important;
+ color: @hoverColor;
+}
+
+/* Active / Focus */
+.ui.inverted.button:focus,
+.ui.inverted.button.active {
+ background: @white;
+ box-shadow: 0px 0px 0px @invertedBorderSize @white inset !important;
+ color: @focusColor;
+}
+
+/* Active Focus */
+.ui.inverted.button.active:focus {
+ background: @midWhite;
+ box-shadow: 0px 0px 0px @invertedBorderSize @midWhite inset !important;
+ color: @focusColor;
+}
+
+
+/*-------------------
+ Labeled Button
+--------------------*/
+
+.ui.labeled.button:not(.icon) {
+ display: inline-flex;
+ flex-direction: row;
+ background: none !important;
+ padding: 0px !important;
+ border: none !important;
+ box-shadow: none !important;
+}
+
+.ui.labeled.button > .button {
+ margin: 0px;
+}
+.ui.labeled.button > .label {
+ display: flex;
+ align-items: @labeledLabelAlign;
+ margin: 0px 0px 0px @labeledLabelBorderOffset !important;
+ font-size: @labeledLabelFontSize;
+ padding: @labeledLabelPadding;
+ font-size: @labeledLabelFontSize;
+ border-color: @labeledLabelBorderColor;
+}
+
+/* Tag */
+.ui.labeled.button > .tag.label:before {
+ width: @labeledTagLabelSize;
+ height: @labeledTagLabelSize;
+}
+
+/* Right */
+.ui.labeled.button:not([class*="left labeled"]) > .button {
+ border-top-right-radius: 0px;
+ border-bottom-right-radius: 0px;
+}
+.ui.labeled.button:not([class*="left labeled"]) > .label {
+ border-top-left-radius: 0px;
+ border-bottom-left-radius: 0px;
+}
+
+/* Left Side */
+.ui[class*="left labeled"].button > .button {
+ border-top-left-radius: 0px;
+ border-bottom-left-radius: 0px;
+}
+.ui[class*="left labeled"].button > .label {
+ border-top-right-radius: 0px;
+ border-bottom-right-radius: 0px;
+}
+
+/*-------------------
+ Social
+--------------------*/
+
+/* Facebook */
+.ui.facebook.button {
+ background-color: @facebookColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+ background-image: @coloredBackgroundImage;
+ box-shadow: @coloredBoxShadow;
+}
+.ui.facebook.button:hover {
+ background-color: @facebookHoverColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+.ui.facebook.button:active {
+ background-color: @facebookDownColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+
+/* Twitter */
+.ui.twitter.button {
+ background-color: @twitterColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+ background-image: @coloredBackgroundImage;
+ box-shadow: @coloredBoxShadow;
+}
+.ui.twitter.button:hover {
+ background-color: @twitterHoverColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+.ui.twitter.button:active {
+ background-color: @twitterDownColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+
+/* Google Plus */
+.ui.google.plus.button {
+ background-color: @googlePlusColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+ background-image: @coloredBackgroundImage;
+ box-shadow: @coloredBoxShadow;
+}
+.ui.google.plus.button:hover {
+ background-color: @googlePlusHoverColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+.ui.google.plus.button:active {
+ background-color: @googlePlusDownColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+
+/* Linked In */
+.ui.linkedin.button {
+ background-color: @linkedInColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+.ui.linkedin.button:hover {
+ background-color: @linkedInHoverColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+.ui.linkedin.button:active {
+ background-color: @linkedInDownColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+
+/* YouTube */
+.ui.youtube.button {
+ background-color: @youtubeColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+ background-image: @coloredBackgroundImage;
+ box-shadow: @coloredBoxShadow;
+}
+.ui.youtube.button:hover {
+ background-color: @youtubeHoverColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+.ui.youtube.button:active {
+ background-color: @youtubeDownColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+
+/* Instagram */
+.ui.instagram.button {
+ background-color: @instagramColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+ background-image: @coloredBackgroundImage;
+ box-shadow: @coloredBoxShadow;
+}
+.ui.instagram.button:hover {
+ background-color: @instagramHoverColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+.ui.instagram.button:active {
+ background-color: @instagramDownColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+
+/* Pinterest */
+.ui.pinterest.button {
+ background-color: @pinterestColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+ background-image: @coloredBackgroundImage;
+ box-shadow: @coloredBoxShadow;
+}
+.ui.pinterest.button:hover {
+ background-color: @pinterestHoverColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+.ui.pinterest.button:active {
+ background-color: @pinterestDownColor;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+}
+
+/* VK */
+.ui.vk.button {
+ background-color: #4D7198;
+ color: @white;
+ background-image: @coloredBackgroundImage;
+ box-shadow: @coloredBoxShadow;
+}
+.ui.vk.button:hover {
+ background-color: @vkHoverColor;
+ color: @white;
+}
+.ui.vk.button:active {
+ background-color: @vkDownColor;
+ color: @white;
+}
+
+/*--------------
+ Icon
+---------------*/
+
+.ui.button > .icon:not(.button) {
+ height: @iconHeight;
+ opacity: @iconOpacity;
+ margin: @iconMargin;
+ transition: @iconTransition;
+ vertical-align: @iconVerticalAlign;
+ color: @iconColor;
+}
+
+.ui.button:not(.icon) > .icon:not(.button):not(.dropdown) {
+ margin: @iconMargin;
+}
+.ui.button:not(.icon) > .right.icon:not(.button):not(.dropdown) {
+ margin: @rightIconMargin;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*-------------------
+ Floated
+--------------------*/
+
+.ui[class*="left floated"].buttons,
+.ui[class*="left floated"].button {
+ float: left;
+ margin-left: 0em;
+ margin-right: @floatedMargin;
+}
+.ui[class*="right floated"].buttons,
+.ui[class*="right floated"].button {
+ float: right;
+ margin-right: 0em;
+ margin-left: @floatedMargin;
+}
+
+/*-------------------
+ Compact
+--------------------*/
+
+.ui.compact.buttons .button,
+.ui.compact.button {
+ padding: @compactVerticalPadding @compactHorizontalPadding ( @compactVerticalPadding + @shadowOffset );
+}
+.ui.compact.icon.buttons .button,
+.ui.compact.icon.button {
+ padding: @compactVerticalPadding @compactVerticalPadding ( @compactVerticalPadding + @shadowOffset );
+}
+.ui.compact.labeled.icon.buttons .button,
+.ui.compact.labeled.icon.button {
+ padding: @compactVerticalPadding (@compactHorizontalPadding + @labeledIconWidth) ( @compactVerticalPadding + @shadowOffset );
+}
+
+/*-------------------
+ Sizes
+--------------------*/
+
+.ui.mini.buttons .button,
+.ui.mini.buttons .or,
+.ui.mini.button {
+ font-size: @mini;
+}
+.ui.tiny.buttons .button,
+.ui.tiny.buttons .or,
+.ui.tiny.button {
+ font-size: @tiny;
+}
+.ui.small.buttons .button,
+.ui.small.buttons .or,
+.ui.small.button {
+ font-size: @small;
+}
+.ui.buttons .button,
+.ui.buttons .or,
+.ui.button {
+ font-size: @medium;
+}
+.ui.large.buttons .button,
+.ui.large.buttons .or,
+.ui.large.button {
+ font-size: @large;
+}
+.ui.big.buttons .button,
+.ui.big.buttons .or,
+.ui.big.button {
+ font-size: @big;
+}
+.ui.huge.buttons .button,
+.ui.huge.buttons .or,
+.ui.huge.button {
+ font-size: @huge;
+}
+.ui.massive.buttons .button,
+.ui.massive.buttons .or,
+.ui.massive.button {
+ font-size: @massive;
+}
+
+/*--------------
+ Icon Only
+---------------*/
+
+.ui.icon.buttons .button,
+.ui.icon.button {
+ padding: @verticalPadding @verticalPadding ( @verticalPadding + @shadowOffset );
+}
+.ui.icon.buttons .button > .icon,
+.ui.icon.button > .icon {
+ opacity: @iconButtonOpacity;
+ margin: 0em;
+ vertical-align: top;
+}
+
+
+/*-------------------
+ Basic
+--------------------*/
+
+.ui.basic.buttons .button,
+.ui.basic.button {
+ background: @basicBackground !important;
+ color: @basicTextColor !important;
+ font-weight: @basicFontWeight;
+ border-radius: @basicBorderRadius;
+ text-transform: @basicTextTransform;
+ text-shadow: none !important;
+ box-shadow: @basicBoxShadow;
+}
+.ui.basic.buttons {
+ box-shadow: @basicGroupBoxShadow;
+ border: @basicGroupBorder;
+ border-radius: @borderRadius;
+}
+.ui.basic.buttons .button {
+ border-radius: 0em;
+}
+
+.ui.basic.buttons .button:hover,
+.ui.basic.button:hover {
+ background: @basicHoverBackground !important;
+ color: @basicHoverTextColor !important;
+ box-shadow: @basicHoverBoxShadow;
+}
+.ui.basic.buttons .button:focus,
+.ui.basic.button:focus {
+ background: @basicFocusBackground !important;
+ color: @basicFocusTextColor !important;
+ box-shadow: @basicFocusBoxShadow;
+}
+.ui.basic.buttons .button:active,
+.ui.basic.button:active {
+ background: @basicDownBackground !important;
+ color: @basicDownTextColor !important;
+ box-shadow: @basicDownBoxShadow;
+}
+.ui.basic.buttons .active.button,
+.ui.basic.active.button {
+ background: @basicActiveBackground !important;
+ box-shadow: @basicActiveBoxShadow !important;
+ color: @basicActiveTextColor;
+ box-shadow: @selectedBorderColor;
+}
+.ui.basic.buttons .active.button:hover,
+.ui.basic.active.button:hover {
+ background-color: @transparentBlack;
+}
+
+/* Vertical */
+.ui.basic.buttons .button:hover {
+ box-shadow: @basicHoverBoxShadow inset;
+}
+.ui.basic.buttons .button:active {
+ box-shadow: @basicDownBoxShadow inset;
+}
+.ui.basic.buttons .active.button {
+ box-shadow: @selectedBorderColor inset;
+}
+
+/* Standard Basic Inverted */
+.ui.basic.inverted.buttons .button,
+.ui.basic.inverted.button {
+ background-color: transparent !important;
+ color: @offWhite !important;
+ box-shadow: @basicInvertedBoxShadow !important;
+}
+.ui.basic.inverted.buttons .button:hover,
+.ui.basic.inverted.button:hover {
+ color: @white !important;
+ box-shadow: @basicInvertedHoverBoxShadow !important;
+}
+.ui.basic.inverted.buttons .button:focus,
+.ui.basic.inverted.button:focus {
+ color: @white !important;
+ box-shadow: @basicInvertedFocusBoxShadow !important;
+}
+.ui.basic.inverted.buttons .button:active,
+.ui.basic.inverted.button:active {
+ background-color: @transparentWhite !important;
+ color: @white !important;
+ box-shadow: @basicInvertedDownBoxShadow !important;
+}
+.ui.basic.inverted.buttons .active.button,
+.ui.basic.inverted.active.button {
+ background-color: @transparentWhite;
+ color: @invertedTextColor;
+ text-shadow: @invertedTextShadow;
+ box-shadow: @basicInvertedActiveBoxShadow;
+}
+.ui.basic.inverted.buttons .active.button:hover,
+.ui.basic.inverted.active.button:hover {
+ background-color: @strongTransparentWhite;
+ box-shadow: @basicInvertedHoverBoxShadow !important;
+}
+
+
+/* Basic Group */
+.ui.basic.buttons .button {
+ border-left: @basicGroupBorder;
+ box-shadow: none;
+}
+.ui.basic.vertical.buttons .button {
+ border-left: none;
+}
+.ui.basic.vertical.buttons .button {
+ border-left-width: 0px;
+ border-top: @basicGroupBorder;
+}
+.ui.basic.vertical.buttons .button:first-child {
+ border-top-width: 0px;
+}
+
+
+
+/*--------------
+ Labeled Icon
+---------------*/
+
+.ui.labeled.icon.buttons .button,
+.ui.labeled.icon.button {
+ position: relative;
+ padding-left: @labeledIconPadding !important;
+ padding-right: @horizontalPadding !important;
+}
+
+/* Left Labeled */
+.ui.labeled.icon.buttons > .button > .icon,
+.ui.labeled.icon.button > .icon {
+ position: absolute;
+ height: 100%;
+ line-height: 1;
+ border-radius: 0px;
+ border-top-left-radius: inherit;
+ border-bottom-left-radius: inherit;
+ text-align: center;
+
+ margin: @labeledIconMargin;
+ width: @labeledIconWidth;
+ background-color: @labeledIconBackgroundColor;
+ color: @labeledIconColor;
+ box-shadow: @labeledIconLeftShadow;
+}
+
+/* Left Labeled */
+.ui.labeled.icon.buttons > .button > .icon,
+.ui.labeled.icon.button > .icon {
+ top: 0em;
+ left: 0em;
+}
+
+/* Right Labeled */
+.ui[class*="right labeled"].icon.button {
+ padding-right: @labeledIconPadding !important;
+ padding-left: @horizontalPadding !important;
+}
+.ui[class*="right labeled"].icon.button > .icon {
+ left: auto;
+ right: 0em;
+ border-radius: 0px;
+ border-top-right-radius: inherit;
+ border-bottom-right-radius: inherit;
+ box-shadow: @labeledIconRightShadow;
+}
+
+
+.ui.labeled.icon.buttons > .button > .icon:before,
+.ui.labeled.icon.button > .icon:before,
+.ui.labeled.icon.buttons > .button > .icon:after,
+.ui.labeled.icon.button > .icon:after {
+ display: block;
+ position: absolute;
+ width: 100%;
+ top: 50%;
+ text-align: center;
+ transform: translateY(-50%);
+}
+
+.ui.labeled.icon.buttons .button > .icon {
+ border-radius: 0em;
+}
+.ui.labeled.icon.buttons .button:first-child > .icon {
+ border-top-left-radius: @borderRadius;
+ border-bottom-left-radius: @borderRadius;
+}
+.ui.labeled.icon.buttons .button:last-child > .icon {
+ border-top-right-radius: @borderRadius;
+ border-bottom-right-radius: @borderRadius;
+}
+.ui.vertical.labeled.icon.buttons .button:first-child > .icon {
+ border-radius: 0em;
+ border-top-left-radius: @borderRadius;
+}
+.ui.vertical.labeled.icon.buttons .button:last-child > .icon {
+ border-radius: 0em;
+ border-bottom-left-radius: @borderRadius;
+}
+
+/* Fluid Labeled */
+.ui.fluid[class*="left labeled"].icon.button,
+.ui.fluid[class*="right labeled"].icon.button {
+ padding-left: @horizontalPadding !important;
+ padding-right: @horizontalPadding !important;
+}
+
+
+
+
+/*--------------
+ Toggle
+---------------*/
+
+/* Toggle (Modifies active state to give affordances) */
+.ui.toggle.buttons .active.button,
+.ui.buttons .button.toggle.active,
+.ui.button.toggle.active {
+ background-color: @positiveColor !important;
+ box-shadow: none !important;
+ text-shadow: @invertedTextShadow;
+ color: @invertedTextColor !important;
+}
+.ui.button.toggle.active:hover {
+ background-color: @positiveColorHover !important;
+ text-shadow: @invertedTextShadow;
+ color: @invertedTextColor !important;
+}
+
+/*--------------
+ Circular
+---------------*/
+
+.ui.circular.button {
+ border-radius: 10em;
+}
+.ui.circular.button > .icon {
+ width: 1em;
+ vertical-align: baseline;
+}
+
+
+/*-------------------
+ Or Buttons
+--------------------*/
+
+.ui.buttons .or {
+ position: relative;
+ width: @orGap;
+ height: @orHeight;
+ z-index: @orZIndex;
+}
+.ui.buttons .or:before {
+ position: absolute;
+ text-align: center;
+ border-radius: @circularRadius;
+
+ content: @orText;
+ top: 50%;
+ left: 50%;
+ background-color: @orBackgroundColor;
+ text-shadow: @orTextShadow;
+
+ margin-top: @orVerticalOffset;
+ margin-left: @orHorizontalOffset;
+
+ width: @orCircleSize;
+ height: @orCircleSize;
+
+ line-height: @orLineHeight;
+ color: @orTextColor;
+
+ font-style: @orTextStyle;
+ font-weight: @orTextWeight;
+
+ box-shadow: @orBoxShadow;
+}
+.ui.buttons .or[data-text]:before {
+ content: attr(data-text);
+}
+
+/* Fluid Or */
+.ui.fluid.buttons .or {
+ width: 0em !important;
+}
+.ui.fluid.buttons .or:after {
+ display: none;
+}
+
+
+/*-------------------
+ Attached
+--------------------*/
+
+
+/* Singular */
+.ui.attached.button {
+ position: relative;
+ display: block;
+ margin: 0em;
+ border-radius: 0em;
+ box-shadow: @attachedBoxShadow !important;
+}
+
+/* Top / Bottom */
+.ui.attached.top.button {
+ border-radius: @borderRadius @borderRadius 0em 0em;
+}
+.ui.attached.bottom.button {
+ border-radius: 0em 0em @borderRadius @borderRadius;
+}
+
+/* Left / Right */
+.ui.left.attached.button {
+ display: inline-block;
+ border-left: none;
+ text-align: right;
+
+ padding-right: @attachedHorizontalPadding;
+ border-radius: @borderRadius 0em 0em @borderRadius;
+}
+.ui.right.attached.button {
+ display: inline-block;
+ text-align: left;
+ padding-left: @attachedHorizontalPadding;
+ border-radius: 0em @borderRadius @borderRadius 0em;
+}
+
+/* Plural */
+.ui.attached.buttons {
+ position: relative;
+ display: flex;
+ border-radius: 0em;
+ width: auto !important;
+ z-index: @attachedZIndex;
+ margin-left: @attachedOffset;
+ margin-right: @attachedOffset;
+}
+.ui.attached.buttons .button {
+ margin: 0em;
+}
+.ui.attached.buttons .button:first-child {
+ border-radius: 0em;
+}
+.ui.attached.buttons .button:last-child {
+ border-radius: 0em;
+}
+
+/* Top / Bottom */
+.ui[class*="top attached"].buttons {
+ margin-bottom: @attachedOffset;
+ border-radius: @borderRadius @borderRadius 0em 0em;
+}
+.ui[class*="top attached"].buttons .button:first-child {
+ border-radius: @borderRadius 0em 0em 0em;
+}
+.ui[class*="top attached"].buttons .button:last-child {
+ border-radius: 0em @borderRadius 0em 0em;
+}
+
+.ui[class*="bottom attached"].buttons {
+ margin-top: @attachedOffset;
+ border-radius: 0em 0em @borderRadius @borderRadius;
+}
+.ui[class*="bottom attached"].buttons .button:first-child {
+ border-radius: 0em 0em 0em @borderRadius;
+}
+.ui[class*="bottom attached"].buttons .button:last-child {
+ border-radius: 0em 0em @borderRadius 0em;
+}
+
+/* Left / Right */
+.ui[class*="left attached"].buttons {
+ display: inline-flex;
+ margin-right: 0em;
+ margin-left: @attachedOffset;
+ border-radius: 0em @borderRadius @borderRadius 0em;
+}
+.ui[class*="left attached"].buttons .button:first-child {
+ margin-left: @attachedOffset;
+ border-radius: 0em @borderRadius 0em 0em;
+}
+.ui[class*="left attached"].buttons .button:last-child {
+ margin-left: @attachedOffset;
+ border-radius: 0em 0em @borderRadius 0em;
+}
+
+.ui[class*="right attached"].buttons {
+ display: inline-flex;
+ margin-left: 0em;
+ margin-right: @attachedOffset;
+ border-radius: @borderRadius 0em 0em @borderRadius;
+}
+.ui[class*="right attached"].buttons .button:first-child {
+ margin-left: @attachedOffset;
+ border-radius: @borderRadius 0em 0em 0em;
+}
+.ui[class*="right attached"].buttons .button:last-child {
+ margin-left: @attachedOffset;
+ border-radius: 0em 0em 0em @borderRadius;
+}
+
+/*-------------------
+ Fluid
+--------------------*/
+
+.ui.fluid.buttons,
+.ui.fluid.button {
+ width: 100%;
+}
+.ui.fluid.button {
+ display: block;
+}
+
+.ui.two.buttons {
+ width: 100%;
+}
+.ui.two.buttons > .button {
+ width: 50%;
+}
+
+.ui.three.buttons {
+ width: 100%;
+}
+.ui.three.buttons > .button {
+ width: 33.333%;
+}
+
+.ui.four.buttons {
+ width: 100%;
+}
+.ui.four.buttons > .button {
+ width: 25%;
+}
+
+.ui.five.buttons {
+ width: 100%;
+}
+.ui.five.buttons > .button {
+ width: 20%;
+}
+
+.ui.six.buttons {
+ width: 100%;
+}
+.ui.six.buttons > .button {
+ width: 16.666%;
+}
+
+.ui.seven.buttons {
+ width: 100%;
+}
+.ui.seven.buttons > .button {
+ width: 14.285%;
+}
+
+.ui.eight.buttons {
+ width: 100%;
+}
+.ui.eight.buttons > .button {
+ width: 12.500%;
+}
+
+.ui.nine.buttons {
+ width: 100%;
+}
+.ui.nine.buttons > .button {
+ width: 11.11%;
+}
+
+.ui.ten.buttons {
+ width: 100%;
+}
+.ui.ten.buttons > .button {
+ width: 10%;
+}
+
+.ui.eleven.buttons {
+ width: 100%;
+}
+.ui.eleven.buttons > .button {
+ width: 9.09%;
+}
+
+.ui.twelve.buttons {
+ width: 100%;
+}
+.ui.twelve.buttons > .button {
+ width: 8.3333%;
+}
+
+/* Fluid Vertical Buttons */
+.ui.fluid.vertical.buttons,
+.ui.fluid.vertical.buttons > .button {
+ display: flex;
+ width: auto;
+}
+
+.ui.two.vertical.buttons > .button {
+ height: 50%;
+}
+.ui.three.vertical.buttons > .button {
+ height: 33.333%;
+}
+.ui.four.vertical.buttons > .button {
+ height: 25%;
+}
+.ui.five.vertical.buttons > .button {
+ height: 20%;
+}
+.ui.six.vertical.buttons > .button {
+ height: 16.666%;
+}
+.ui.seven.vertical.buttons > .button {
+ height: 14.285%;
+}
+.ui.eight.vertical.buttons > .button {
+ height: 12.500%;
+}
+.ui.nine.vertical.buttons > .button {
+ height: 11.11%;
+}
+.ui.ten.vertical.buttons > .button {
+ height: 10%;
+}
+.ui.eleven.vertical.buttons > .button {
+ height: 9.09%;
+}
+.ui.twelve.vertical.buttons > .button {
+ height: 8.3333%;
+}
+
+
+/*-------------------
+ Colors
+--------------------*/
+
+/*--- Black ---*/
+.ui.black.buttons .button,
+.ui.black.button {
+ background-color: @black;
+ color: @blackTextColor;
+ text-shadow: @blackTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.black.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.black.buttons .button:hover,
+.ui.black.button:hover {
+ background-color: @blackHover;
+ color: @blackTextColor;
+ text-shadow: @blackTextShadow;
+}
+.ui.black.buttons .button:focus,
+.ui.black.button:focus {
+ background-color: @blackFocus;
+ color: @blackTextColor;
+ text-shadow: @blackTextShadow;
+}
+.ui.black.buttons .button:active,
+.ui.black.button:active {
+ background-color: @blackDown;
+ color: @blackTextColor;
+ text-shadow: @blackTextShadow;
+}
+.ui.black.buttons .active.button,
+.ui.black.buttons .active.button:active,
+.ui.black.active.button,
+.ui.black.button .active.button:active {
+ background-color: @blackActive;
+ color: @blackTextColor;
+ text-shadow: @blackTextShadow;
+}
+
+/* Basic */
+.ui.basic.black.buttons .button,
+.ui.basic.black.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @black inset !important;
+ color: @black !important;
+}
+.ui.basic.black.buttons .button:hover,
+.ui.basic.black.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @blackHover inset !important;
+ color: @blackHover !important;
+}
+.ui.basic.black.buttons .button:focus,
+.ui.basic.black.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @blackFocus inset !important;
+ color: @blackHover !important;
+}
+.ui.basic.black.buttons .active.button,
+.ui.basic.black.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @blackActive inset !important;
+ color: @blackDown !important;
+}
+.ui.basic.black.buttons .button:active,
+.ui.basic.black.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @blackDown inset !important;
+ color: @blackDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.black.buttons .button,
+.ui.inverted.black.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @solidBorderColor inset !important;
+ color: @invertedTextColor;
+}
+.ui.inverted.black.buttons .button:hover,
+.ui.inverted.black.button:hover,
+.ui.inverted.black.buttons .button:focus,
+.ui.inverted.black.button:focus,
+.ui.inverted.black.buttons .button.active,
+.ui.inverted.black.button.active,
+.ui.inverted.black.buttons .button:active,
+.ui.inverted.black.button:active {
+ box-shadow: none !important;
+ color: @lightBlackTextColor;
+}
+.ui.inverted.black.buttons .button:hover,
+.ui.inverted.black.button:hover {
+ background-color: @lightBlackHover;
+}
+.ui.inverted.black.buttons .button:focus,
+.ui.inverted.black.button:focus {
+ background-color: @lightBlackFocus;
+}
+.ui.inverted.black.buttons .active.button,
+.ui.inverted.black.active.button {
+ background-color: @lightBlackActive;
+}
+.ui.inverted.black.buttons .button:active,
+.ui.inverted.black.button:active {
+ background-color: @lightBlackDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.black.basic.buttons .button,
+.ui.inverted.black.buttons .basic.button,
+.ui.inverted.black.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.black.basic.buttons .button:hover,
+.ui.inverted.black.buttons .basic.button:hover,
+.ui.inverted.black.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBlackHover inset !important;
+ color: @white !important;
+}
+.ui.inverted.black.basic.buttons .button:focus,
+.ui.inverted.black.basic.buttons .button:focus,
+.ui.inverted.black.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBlackFocus inset !important;
+ color: @lightBlack !important;
+}
+.ui.inverted.black.basic.buttons .active.button,
+.ui.inverted.black.buttons .basic.active.button,
+.ui.inverted.black.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBlackActive inset !important;
+ color: @white !important;
+}
+.ui.inverted.black.basic.buttons .button:active,
+.ui.inverted.black.buttons .basic.button:active,
+.ui.inverted.black.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBlackDown inset !important;
+ color: @white !important;
+}
+
+/*--- Grey ---*/
+.ui.grey.buttons .button,
+.ui.grey.button {
+ background-color: @grey;
+ color: @greyTextColor;
+ text-shadow: @greyTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.grey.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.grey.buttons .button:hover,
+.ui.grey.button:hover {
+ background-color: @greyHover;
+ color: @greyTextColor;
+ text-shadow: @greyTextShadow;
+}
+.ui.grey.buttons .button:focus,
+.ui.grey.button:focus {
+ background-color: @greyFocus;
+ color: @greyTextColor;
+ text-shadow: @greyTextShadow;
+}
+.ui.grey.buttons .button:active,
+.ui.grey.button:active {
+ background-color: @greyDown;
+ color: @greyTextColor;
+ text-shadow: @greyTextShadow;
+}
+.ui.grey.buttons .active.button,
+.ui.grey.buttons .active.button:active,
+.ui.grey.active.button,
+.ui.grey.button .active.button:active {
+ background-color: @greyActive;
+ color: @greyTextColor;
+ text-shadow: @greyTextShadow;
+}
+
+/* Basic */
+.ui.basic.grey.buttons .button,
+.ui.basic.grey.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @grey inset !important;
+ color: @grey !important;
+}
+.ui.basic.grey.buttons .button:hover,
+.ui.basic.grey.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @greyHover inset !important;
+ color: @greyHover !important;
+}
+.ui.basic.grey.buttons .button:focus,
+.ui.basic.grey.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @greyFocus inset !important;
+ color: @greyHover !important;
+}
+.ui.basic.grey.buttons .active.button,
+.ui.basic.grey.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @greyActive inset !important;
+ color: @greyDown !important;
+}
+.ui.basic.grey.buttons .button:active,
+.ui.basic.grey.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @greyDown inset !important;
+ color: @greyDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.grey.buttons .button,
+.ui.inverted.grey.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @solidBorderColor inset !important;
+ color: @invertedTextColor;
+}
+.ui.inverted.grey.buttons .button:hover,
+.ui.inverted.grey.button:hover,
+.ui.inverted.grey.buttons .button:focus,
+.ui.inverted.grey.button:focus,
+.ui.inverted.grey.buttons .button.active,
+.ui.inverted.grey.button.active,
+.ui.inverted.grey.buttons .button:active,
+.ui.inverted.grey.button:active {
+ box-shadow: none !important;
+ color: @lightGreyTextColor;
+}
+.ui.inverted.grey.buttons .button:hover,
+.ui.inverted.grey.button:hover {
+ background-color: @lightGreyHover;
+}
+.ui.inverted.grey.buttons .button:focus,
+.ui.inverted.grey.button:focus {
+ background-color: @lightGreyFocus;
+}
+.ui.inverted.grey.buttons .active.button,
+.ui.inverted.grey.active.button {
+ background-color: @lightGreyActive;
+}
+.ui.inverted.grey.buttons .button:active,
+.ui.inverted.grey.button:active {
+ background-color: @lightGreyDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.grey.basic.buttons .button,
+.ui.inverted.grey.buttons .basic.button,
+.ui.inverted.grey.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.grey.basic.buttons .button:hover,
+.ui.inverted.grey.buttons .basic.button:hover,
+.ui.inverted.grey.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightGreyHover inset !important;
+ color: @white !important;
+}
+.ui.inverted.grey.basic.buttons .button:focus,
+.ui.inverted.grey.basic.buttons .button:focus,
+.ui.inverted.grey.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightGreyFocus inset !important;
+ color: @lightGrey !important;
+}
+.ui.inverted.grey.basic.buttons .active.button,
+.ui.inverted.grey.buttons .basic.active.button,
+.ui.inverted.grey.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightGreyActive inset !important;
+ color: @white !important;
+}
+.ui.inverted.grey.basic.buttons .button:active,
+.ui.inverted.grey.buttons .basic.button:active,
+.ui.inverted.grey.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightGreyDown inset !important;
+ color: @white !important;
+}
+
+
+/*--- Brown ---*/
+.ui.brown.buttons .button,
+.ui.brown.button {
+ background-color: @brown;
+ color: @brownTextColor;
+ text-shadow: @brownTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.brown.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.brown.buttons .button:hover,
+.ui.brown.button:hover {
+ background-color: @brownHover;
+ color: @brownTextColor;
+ text-shadow: @brownTextShadow;
+}
+.ui.brown.buttons .button:focus,
+.ui.brown.button:focus {
+ background-color: @brownFocus;
+ color: @brownTextColor;
+ text-shadow: @brownTextShadow;
+}
+.ui.brown.buttons .button:active,
+.ui.brown.button:active {
+ background-color: @brownDown;
+ color: @brownTextColor;
+ text-shadow: @brownTextShadow;
+}
+.ui.brown.buttons .active.button,
+.ui.brown.buttons .active.button:active,
+.ui.brown.active.button,
+.ui.brown.button .active.button:active {
+ background-color: @brownActive;
+ color: @brownTextColor;
+ text-shadow: @brownTextShadow;
+}
+
+/* Basic */
+.ui.basic.brown.buttons .button,
+.ui.basic.brown.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @brown inset !important;
+ color: @brown !important;
+}
+.ui.basic.brown.buttons .button:hover,
+.ui.basic.brown.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @brownHover inset !important;
+ color: @brownHover !important;
+}
+.ui.basic.brown.buttons .button:focus,
+.ui.basic.brown.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @brownFocus inset !important;
+ color: @brownHover !important;
+}
+.ui.basic.brown.buttons .active.button,
+.ui.basic.brown.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @brownActive inset !important;
+ color: @brownDown !important;
+}
+.ui.basic.brown.buttons .button:active,
+.ui.basic.brown.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @brownDown inset !important;
+ color: @brownDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.brown.buttons .button,
+.ui.inverted.brown.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBrown inset !important;
+ color: @lightBrown;
+}
+.ui.inverted.brown.buttons .button:hover,
+.ui.inverted.brown.button:hover,
+.ui.inverted.brown.buttons .button:focus,
+.ui.inverted.brown.button:focus,
+.ui.inverted.brown.buttons .button.active,
+.ui.inverted.brown.button.active,
+.ui.inverted.brown.buttons .button:active,
+.ui.inverted.brown.button:active {
+ box-shadow: none !important;
+ color: @lightBrownTextColor;
+}
+.ui.inverted.brown.buttons .button:hover,
+.ui.inverted.brown.button:hover {
+ background-color: @lightBrownHover;
+}
+.ui.inverted.brown.buttons .button:focus,
+.ui.inverted.brown.button:focus {
+ background-color: @lightBrownFocus;
+}
+.ui.inverted.brown.buttons .active.button,
+.ui.inverted.brown.active.button {
+ background-color: @lightBrownActive;
+}
+.ui.inverted.brown.buttons .button:active,
+.ui.inverted.brown.button:active {
+ background-color: @lightBrownDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.brown.basic.buttons .button,
+.ui.inverted.brown.buttons .basic.button,
+.ui.inverted.brown.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.brown.basic.buttons .button:hover,
+.ui.inverted.brown.buttons .basic.button:hover,
+.ui.inverted.brown.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBrownHover inset !important;
+ color: @lightBrown !important;
+}
+.ui.inverted.brown.basic.buttons .button:focus,
+.ui.inverted.brown.basic.buttons .button:focus,
+.ui.inverted.brown.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBrownFocus inset !important;
+ color: @lightBrown !important;
+}
+.ui.inverted.brown.basic.buttons .active.button,
+.ui.inverted.brown.buttons .basic.active.button,
+.ui.inverted.brown.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBrownActive inset !important;
+ color: @lightBrown !important;
+}
+.ui.inverted.brown.basic.buttons .button:active,
+.ui.inverted.brown.buttons .basic.button:active,
+.ui.inverted.brown.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBrownDown inset !important;
+ color: @lightBrown !important;
+}
+
+/*--- Blue ---*/
+.ui.blue.buttons .button,
+.ui.blue.button {
+ background-color: @blue;
+ color: @blueTextColor;
+ text-shadow: @blueTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.blue.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.blue.buttons .button:hover,
+.ui.blue.button:hover {
+ background-color: @blueHover;
+ color: @blueTextColor;
+ text-shadow: @blueTextShadow;
+}
+.ui.blue.buttons .button:focus,
+.ui.blue.button:focus {
+ background-color: @blueFocus;
+ color: @blueTextColor;
+ text-shadow: @blueTextShadow;
+}
+.ui.blue.buttons .button:active,
+.ui.blue.button:active {
+ background-color: @blueDown;
+ color: @blueTextColor;
+ text-shadow: @blueTextShadow;
+}
+.ui.blue.buttons .active.button,
+.ui.blue.buttons .active.button:active,
+.ui.blue.active.button,
+.ui.blue.button .active.button:active {
+ background-color: @blueActive;
+ color: @blueTextColor;
+ text-shadow: @blueTextShadow;
+}
+
+/* Basic */
+.ui.basic.blue.buttons .button,
+.ui.basic.blue.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @blue inset !important;
+ color: @blue !important;
+}
+.ui.basic.blue.buttons .button:hover,
+.ui.basic.blue.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @blueHover inset !important;
+ color: @blueHover !important;
+}
+.ui.basic.blue.buttons .button:focus,
+.ui.basic.blue.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @blueFocus inset !important;
+ color: @blueHover !important;
+}
+.ui.basic.blue.buttons .active.button,
+.ui.basic.blue.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @blueActive inset !important;
+ color: @blueDown !important;
+}
+.ui.basic.blue.buttons .button:active,
+.ui.basic.blue.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @blueDown inset !important;
+ color: @blueDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.blue.buttons .button,
+.ui.inverted.blue.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBlue inset !important;
+ color: @lightBlue;
+}
+.ui.inverted.blue.buttons .button:hover,
+.ui.inverted.blue.button:hover,
+.ui.inverted.blue.buttons .button:focus,
+.ui.inverted.blue.button:focus,
+.ui.inverted.blue.buttons .button.active,
+.ui.inverted.blue.button.active,
+.ui.inverted.blue.buttons .button:active,
+.ui.inverted.blue.button:active {
+ box-shadow: none !important;
+ color: @lightBlueTextColor;
+}
+.ui.inverted.blue.buttons .button:hover,
+.ui.inverted.blue.button:hover {
+ background-color: @lightBlueHover;
+}
+.ui.inverted.blue.buttons .button:focus,
+.ui.inverted.blue.button:focus {
+ background-color: @lightBlueFocus;
+}
+.ui.inverted.blue.buttons .active.button,
+.ui.inverted.blue.active.button {
+ background-color: @lightBlueActive;
+}
+.ui.inverted.blue.buttons .button:active,
+.ui.inverted.blue.button:active {
+ background-color: @lightBlueDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.blue.basic.buttons .button,
+.ui.inverted.blue.buttons .basic.button,
+.ui.inverted.blue.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.blue.basic.buttons .button:hover,
+.ui.inverted.blue.buttons .basic.button:hover,
+.ui.inverted.blue.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBlueHover inset !important;
+ color: @lightBlue !important;
+}
+.ui.inverted.blue.basic.buttons .button:focus,
+.ui.inverted.blue.basic.buttons .button:focus,
+.ui.inverted.blue.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBlueFocus inset !important;
+ color: @lightBlue !important;
+}
+.ui.inverted.blue.basic.buttons .active.button,
+.ui.inverted.blue.buttons .basic.active.button,
+.ui.inverted.blue.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBlueActive inset !important;
+ color: @lightBlue !important;
+}
+.ui.inverted.blue.basic.buttons .button:active,
+.ui.inverted.blue.buttons .basic.button:active,
+.ui.inverted.blue.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightBlueDown inset !important;
+ color: @lightBlue !important;
+}
+
+/*--- Green ---*/
+.ui.green.buttons .button,
+.ui.green.button {
+ background-color: @green;
+ color: @greenTextColor;
+ text-shadow: @greenTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.green.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.green.buttons .button:hover,
+.ui.green.button:hover {
+ background-color: @greenHover;
+ color: @greenTextColor;
+ text-shadow: @greenTextShadow;
+}
+.ui.green.buttons .button:focus,
+.ui.green.button:focus {
+ background-color: @greenFocus;
+ color: @greenTextColor;
+ text-shadow: @greenTextShadow;
+}
+.ui.green.buttons .button:active,
+.ui.green.button:active {
+ background-color: @greenDown;
+ color: @greenTextColor;
+ text-shadow: @greenTextShadow;
+}
+.ui.green.buttons .active.button,
+.ui.green.buttons .active.button:active,
+.ui.green.active.button,
+.ui.green.button .active.button:active {
+ background-color: @greenActive;
+ color: @greenTextColor;
+ text-shadow: @greenTextShadow;
+}
+
+
+/* Basic */
+.ui.basic.green.buttons .button,
+.ui.basic.green.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @green inset !important;
+ color: @green !important;
+}
+.ui.basic.green.buttons .button:hover,
+.ui.basic.green.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @greenHover inset !important;
+ color: @greenHover !important;
+}
+.ui.basic.green.buttons .button:focus,
+.ui.basic.green.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @greenFocus inset !important;
+ color: @greenHover !important;
+}
+.ui.basic.green.buttons .active.button,
+.ui.basic.green.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @greenActive inset !important;
+ color: @greenDown !important;
+}
+.ui.basic.green.buttons .button:active,
+.ui.basic.green.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @greenDown inset !important;
+ color: @greenDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.green.buttons .button,
+.ui.inverted.green.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightGreen inset !important;
+ color: @lightGreen;
+}
+.ui.inverted.green.buttons .button:hover,
+.ui.inverted.green.button:hover,
+.ui.inverted.green.buttons .button:focus,
+.ui.inverted.green.button:focus,
+.ui.inverted.green.buttons .button.active,
+.ui.inverted.green.button.active,
+.ui.inverted.green.buttons .button:active,
+.ui.inverted.green.button:active {
+ box-shadow: none !important;
+ color: @greenTextColor;
+}
+.ui.inverted.green.buttons .button:hover,
+.ui.inverted.green.button:hover {
+ background-color: @lightGreenHover;
+}
+.ui.inverted.green.buttons .button:focus,
+.ui.inverted.green.button:focus {
+ background-color: @lightGreenFocus;
+}
+.ui.inverted.green.buttons .active.button,
+.ui.inverted.green.active.button {
+ background-color: @lightGreenActive;
+}
+.ui.inverted.green.buttons .button:active,
+.ui.inverted.green.button:active {
+ background-color: @lightGreenDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.green.basic.buttons .button,
+.ui.inverted.green.buttons .basic.button,
+.ui.inverted.green.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.green.basic.buttons .button:hover,
+.ui.inverted.green.buttons .basic.button:hover,
+.ui.inverted.green.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightGreenHover inset !important;
+ color: @lightGreen !important;
+}
+.ui.inverted.green.basic.buttons .button:focus,
+.ui.inverted.green.basic.buttons .button:focus,
+.ui.inverted.green.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightGreenFocus inset !important;
+ color: @lightGreen !important;
+}
+.ui.inverted.green.basic.buttons .active.button,
+.ui.inverted.green.buttons .basic.active.button,
+.ui.inverted.green.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightGreenActive inset !important;
+ color: @lightGreen !important;
+}
+.ui.inverted.green.basic.buttons .button:active,
+.ui.inverted.green.buttons .basic.button:active,
+.ui.inverted.green.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightGreenDown inset !important;
+ color: @lightGreen !important;
+}
+
+/*--- Orange ---*/
+.ui.orange.buttons .button,
+.ui.orange.button {
+ background-color: @orange;
+ color: @orangeTextColor;
+ text-shadow: @orangeTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.orange.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.orange.buttons .button:hover,
+.ui.orange.button:hover {
+ background-color: @orangeHover;
+ color: @orangeTextColor;
+ text-shadow: @orangeTextShadow;
+}
+.ui.orange.buttons .button:focus,
+.ui.orange.button:focus {
+ background-color: @orangeFocus;
+ color: @orangeTextColor;
+ text-shadow: @orangeTextShadow;
+}
+.ui.orange.buttons .button:active,
+.ui.orange.button:active {
+ background-color: @orangeDown;
+ color: @orangeTextColor;
+ text-shadow: @orangeTextShadow;
+}
+.ui.orange.buttons .active.button,
+.ui.orange.buttons .active.button:active,
+.ui.orange.active.button,
+.ui.orange.button .active.button:active {
+ background-color: @orangeActive;
+ color: @orangeTextColor;
+ text-shadow: @orangeTextShadow;
+}
+
+/* Basic */
+.ui.basic.orange.buttons .button,
+.ui.basic.orange.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @orange inset !important;
+ color: @orange !important;
+}
+.ui.basic.orange.buttons .button:hover,
+.ui.basic.orange.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @orangeHover inset !important;
+ color: @orangeHover !important;
+}
+.ui.basic.orange.buttons .button:focus,
+.ui.basic.orange.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @orangeFocus inset !important;
+ color: @orangeHover !important;
+}
+.ui.basic.orange.buttons .active.button,
+.ui.basic.orange.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @orangeActive inset !important;
+ color: @orangeDown !important;
+}
+.ui.basic.orange.buttons .button:active,
+.ui.basic.orange.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @orangeDown inset !important;
+ color: @orangeDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.orange.buttons .button,
+.ui.inverted.orange.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightOrange inset !important;
+ color: @lightOrange;
+}
+.ui.inverted.orange.buttons .button:hover,
+.ui.inverted.orange.button:hover,
+.ui.inverted.orange.buttons .button:focus,
+.ui.inverted.orange.button:focus,
+.ui.inverted.orange.buttons .button.active,
+.ui.inverted.orange.button.active,
+.ui.inverted.orange.buttons .button:active,
+.ui.inverted.orange.button:active {
+ box-shadow: none !important;
+ color: @lightOrangeTextColor;
+}
+.ui.inverted.orange.buttons .button:hover,
+.ui.inverted.orange.button:hover {
+ background-color: @lightOrangeHover;
+}
+.ui.inverted.orange.buttons .button:focus,
+.ui.inverted.orange.button:focus {
+ background-color: @lightOrangeFocus;
+}
+.ui.inverted.orange.buttons .active.button,
+.ui.inverted.orange.active.button {
+ background-color: @lightOrangeActive;
+}
+.ui.inverted.orange.buttons .button:active,
+.ui.inverted.orange.button:active {
+ background-color: @lightOrangeDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.orange.basic.buttons .button,
+.ui.inverted.orange.buttons .basic.button,
+.ui.inverted.orange.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.orange.basic.buttons .button:hover,
+.ui.inverted.orange.buttons .basic.button:hover,
+.ui.inverted.orange.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightOrangeHover inset !important;
+ color: @lightOrange !important;
+}
+.ui.inverted.orange.basic.buttons .button:focus,
+.ui.inverted.orange.basic.buttons .button:focus,
+.ui.inverted.orange.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightOrangeFocus inset !important;
+ color: @lightOrange !important;
+}
+.ui.inverted.orange.basic.buttons .active.button,
+.ui.inverted.orange.buttons .basic.active.button,
+.ui.inverted.orange.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightOrangeActive inset !important;
+ color: @lightOrange !important;
+}
+.ui.inverted.orange.basic.buttons .button:active,
+.ui.inverted.orange.buttons .basic.button:active,
+.ui.inverted.orange.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightOrangeDown inset !important;
+ color: @lightOrange !important;
+}
+
+/*--- Pink ---*/
+.ui.pink.buttons .button,
+.ui.pink.button {
+ background-color: @pink;
+ color: @pinkTextColor;
+ text-shadow: @pinkTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.pink.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.pink.buttons .button:hover,
+.ui.pink.button:hover {
+ background-color: @pinkHover;
+ color: @pinkTextColor;
+ text-shadow: @pinkTextShadow;
+}
+.ui.pink.buttons .button:focus,
+.ui.pink.button:focus {
+ background-color: @pinkFocus;
+ color: @pinkTextColor;
+ text-shadow: @pinkTextShadow;
+}
+.ui.pink.buttons .button:active,
+.ui.pink.button:active {
+ background-color: @pinkDown;
+ color: @pinkTextColor;
+ text-shadow: @pinkTextShadow;
+}
+.ui.pink.buttons .active.button,
+.ui.pink.buttons .active.button:active,
+.ui.pink.active.button,
+.ui.pink.button .active.button:active {
+ background-color: @pinkActive;
+ color: @pinkTextColor;
+ text-shadow: @pinkTextShadow;
+}
+
+/* Basic */
+.ui.basic.pink.buttons .button,
+.ui.basic.pink.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @pink inset !important;
+ color: @pink !important;
+}
+.ui.basic.pink.buttons .button:hover,
+.ui.basic.pink.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @pinkHover inset !important;
+ color: @pinkHover !important;
+}
+.ui.basic.pink.buttons .button:focus,
+.ui.basic.pink.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @pinkFocus inset !important;
+ color: @pinkHover !important;
+}
+.ui.basic.pink.buttons .active.button,
+.ui.basic.pink.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @pinkActive inset !important;
+ color: @pinkDown !important;
+}
+.ui.basic.pink.buttons .button:active,
+.ui.basic.pink.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @pinkDown inset !important;
+ color: @pinkDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.pink.buttons .button,
+.ui.inverted.pink.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightPink inset !important;
+ color: @lightPink;
+}
+.ui.inverted.pink.buttons .button:hover,
+.ui.inverted.pink.button:hover,
+.ui.inverted.pink.buttons .button:focus,
+.ui.inverted.pink.button:focus,
+.ui.inverted.pink.buttons .button.active,
+.ui.inverted.pink.button.active,
+.ui.inverted.pink.buttons .button:active,
+.ui.inverted.pink.button:active {
+ box-shadow: none !important;
+ color: @lightPinkTextColor;
+}
+.ui.inverted.pink.buttons .button:hover,
+.ui.inverted.pink.button:hover {
+ background-color: @lightPinkHover;
+}
+.ui.inverted.pink.buttons .button:focus,
+.ui.inverted.pink.button:focus {
+ background-color: @lightPinkFocus;
+}
+.ui.inverted.pink.buttons .active.button,
+.ui.inverted.pink.active.button {
+ background-color: @lightPinkActive;
+}
+.ui.inverted.pink.buttons .button:active,
+.ui.inverted.pink.button:active {
+ background-color: @lightPinkDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.pink.basic.buttons .button,
+.ui.inverted.pink.buttons .basic.button,
+.ui.inverted.pink.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.pink.basic.buttons .button:hover,
+.ui.inverted.pink.buttons .basic.button:hover,
+.ui.inverted.pink.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightPinkHover inset !important;
+ color: @lightPink !important;
+}
+.ui.inverted.pink.basic.buttons .button:focus,
+.ui.inverted.pink.basic.buttons .button:focus,
+.ui.inverted.pink.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightPinkFocus inset !important;
+ color: @lightPink !important;
+}
+.ui.inverted.pink.basic.buttons .active.button,
+.ui.inverted.pink.buttons .basic.active.button,
+.ui.inverted.pink.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightPinkActive inset !important;
+ color: @lightPink !important;
+}
+.ui.inverted.pink.basic.buttons .button:active,
+.ui.inverted.pink.buttons .basic.button:active,
+.ui.inverted.pink.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightPinkDown inset !important;
+ color: @lightPink !important;
+}
+
+
+/*--- Violet ---*/
+.ui.violet.buttons .button,
+.ui.violet.button {
+ background-color: @violet;
+ color: @violetTextColor;
+ text-shadow: @violetTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.violet.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.violet.buttons .button:hover,
+.ui.violet.button:hover {
+ background-color: @violetHover;
+ color: @violetTextColor;
+ text-shadow: @violetTextShadow;
+}
+.ui.violet.buttons .button:focus,
+.ui.violet.button:focus {
+ background-color: @violetFocus;
+ color: @violetTextColor;
+ text-shadow: @violetTextShadow;
+}
+.ui.violet.buttons .button:active,
+.ui.violet.button:active {
+ background-color: @violetDown;
+ color: @violetTextColor;
+ text-shadow: @violetTextShadow;
+}
+.ui.violet.buttons .active.button,
+.ui.violet.buttons .active.button:active,
+.ui.violet.active.button,
+.ui.violet.button .active.button:active {
+ background-color: @violetActive;
+ color: @violetTextColor;
+ text-shadow: @violetTextShadow;
+}
+
+/* Basic */
+.ui.basic.violet.buttons .button,
+.ui.basic.violet.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @violet inset !important;
+ color: @violet !important;
+}
+.ui.basic.violet.buttons .button:hover,
+.ui.basic.violet.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @violetHover inset !important;
+ color: @violetHover !important;
+}
+.ui.basic.violet.buttons .button:focus,
+.ui.basic.violet.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @violetFocus inset !important;
+ color: @violetHover !important;
+}
+.ui.basic.violet.buttons .active.button,
+.ui.basic.violet.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @violetActive inset !important;
+ color: @violetDown !important;
+}
+.ui.basic.violet.buttons .button:active,
+.ui.basic.violet.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @violetDown inset !important;
+ color: @violetDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.violet.buttons .button,
+.ui.inverted.violet.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightViolet inset !important;
+ color: @lightViolet;
+}
+.ui.inverted.violet.buttons .button:hover,
+.ui.inverted.violet.button:hover,
+.ui.inverted.violet.buttons .button:focus,
+.ui.inverted.violet.button:focus,
+.ui.inverted.violet.buttons .button.active,
+.ui.inverted.violet.button.active,
+.ui.inverted.violet.buttons .button:active,
+.ui.inverted.violet.button:active {
+ box-shadow: none !important;
+ color: @lightVioletTextColor;
+}
+.ui.inverted.violet.buttons .button:hover,
+.ui.inverted.violet.button:hover {
+ background-color: @lightVioletHover;
+}
+.ui.inverted.violet.buttons .button:focus,
+.ui.inverted.violet.button:focus {
+ background-color: @lightVioletFocus;
+}
+.ui.inverted.violet.buttons .active.button,
+.ui.inverted.violet.active.button {
+ background-color: @lightVioletActive;
+}
+.ui.inverted.violet.buttons .button:active,
+.ui.inverted.violet.button:active {
+ background-color: @lightVioletDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.violet.basic.buttons .button,
+.ui.inverted.violet.buttons .basic.button,
+.ui.inverted.violet.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.violet.basic.buttons .button:hover,
+.ui.inverted.violet.buttons .basic.button:hover,
+.ui.inverted.violet.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightVioletHover inset !important;
+ color: @lightViolet !important;
+}
+.ui.inverted.violet.basic.buttons .button:focus,
+.ui.inverted.violet.basic.buttons .button:focus,
+.ui.inverted.violet.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightVioletFocus inset !important;
+ color: @lightViolet !important;
+}
+.ui.inverted.violet.basic.buttons .active.button,
+.ui.inverted.violet.buttons .basic.active.button,
+.ui.inverted.violet.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightVioletActive inset !important;
+ color: @lightViolet !important;
+}
+.ui.inverted.violet.basic.buttons .button:active,
+.ui.inverted.violet.buttons .basic.button:active,
+.ui.inverted.violet.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightVioletDown inset !important;
+ color: @lightViolet !important;
+}
+
+/*--- Purple ---*/
+.ui.purple.buttons .button,
+.ui.purple.button {
+ background-color: @purple;
+ color: @purpleTextColor;
+ text-shadow: @purpleTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.purple.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.purple.buttons .button:hover,
+.ui.purple.button:hover {
+ background-color: @purpleHover;
+ color: @purpleTextColor;
+ text-shadow: @purpleTextShadow;
+}
+.ui.purple.buttons .button:focus,
+.ui.purple.button:focus {
+ background-color: @purpleFocus;
+ color: @purpleTextColor;
+ text-shadow: @purpleTextShadow;
+}
+.ui.purple.buttons .button:active,
+.ui.purple.button:active {
+ background-color: @purpleDown;
+ color: @purpleTextColor;
+ text-shadow: @purpleTextShadow;
+}
+.ui.purple.buttons .active.button,
+.ui.purple.buttons .active.button:active,
+.ui.purple.active.button,
+.ui.purple.button .active.button:active {
+ background-color: @purpleActive;
+ color: @purpleTextColor;
+ text-shadow: @purpleTextShadow;
+}
+
+/* Basic */
+.ui.basic.purple.buttons .button,
+.ui.basic.purple.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @purple inset !important;
+ color: @purple !important;
+}
+.ui.basic.purple.buttons .button:hover,
+.ui.basic.purple.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @purpleHover inset !important;
+ color: @purpleHover !important;
+}
+.ui.basic.purple.buttons .button:focus,
+.ui.basic.purple.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @purpleFocus inset !important;
+ color: @purpleHover !important;
+}
+.ui.basic.purple.buttons .active.button,
+.ui.basic.purple.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @purpleActive inset !important;
+ color: @purpleDown !important;
+}
+.ui.basic.purple.buttons .button:active,
+.ui.basic.purple.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @purpleDown inset !important;
+ color: @purpleDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.purple.buttons .button,
+.ui.inverted.purple.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightPurple inset !important;
+ color: @lightPurple;
+}
+.ui.inverted.purple.buttons .button:hover,
+.ui.inverted.purple.button:hover,
+.ui.inverted.purple.buttons .button:focus,
+.ui.inverted.purple.button:focus,
+.ui.inverted.purple.buttons .button.active,
+.ui.inverted.purple.button.active,
+.ui.inverted.purple.buttons .button:active,
+.ui.inverted.purple.button:active {
+ box-shadow: none !important;
+ color: @lightPurpleTextColor;
+}
+.ui.inverted.purple.buttons .button:hover,
+.ui.inverted.purple.button:hover {
+ background-color: @lightPurpleHover;
+}
+.ui.inverted.purple.buttons .button:focus,
+.ui.inverted.purple.button:focus {
+ background-color: @lightPurpleFocus;
+}
+.ui.inverted.purple.buttons .active.button,
+.ui.inverted.purple.active.button {
+ background-color: @lightPurpleActive;
+}
+.ui.inverted.purple.buttons .button:active,
+.ui.inverted.purple.button:active {
+ background-color: @lightPurpleDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.purple.basic.buttons .button,
+.ui.inverted.purple.buttons .basic.button,
+.ui.inverted.purple.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.purple.basic.buttons .button:hover,
+.ui.inverted.purple.buttons .basic.button:hover,
+.ui.inverted.purple.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightPurpleHover inset !important;
+ color: @lightPurple !important;
+}
+.ui.inverted.purple.basic.buttons .button:focus,
+.ui.inverted.purple.basic.buttons .button:focus,
+.ui.inverted.purple.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightPurpleFocus inset !important;
+ color: @lightPurple !important;
+}
+.ui.inverted.purple.basic.buttons .active.button,
+.ui.inverted.purple.buttons .basic.active.button,
+.ui.inverted.purple.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightPurpleActive inset !important;
+ color: @lightPurple !important;
+}
+.ui.inverted.purple.basic.buttons .button:active,
+.ui.inverted.purple.buttons .basic.button:active,
+.ui.inverted.purple.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightPurpleDown inset !important;
+ color: @lightPurple !important;
+}
+
+/*--- Red ---*/
+.ui.red.buttons .button,
+.ui.red.button {
+ background-color: @red;
+ color: @redTextColor;
+ text-shadow: @redTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.red.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.red.buttons .button:hover,
+.ui.red.button:hover {
+ background-color: @redHover;
+ color: @redTextColor;
+ text-shadow: @redTextShadow;
+}
+.ui.red.buttons .button:focus,
+.ui.red.button:focus {
+ background-color: @redFocus;
+ color: @redTextColor;
+ text-shadow: @redTextShadow;
+}
+.ui.red.buttons .button:active,
+.ui.red.button:active {
+ background-color: @redDown;
+ color: @redTextColor;
+ text-shadow: @redTextShadow;
+}
+.ui.red.buttons .active.button,
+.ui.red.buttons .active.button:active,
+.ui.red.active.button,
+.ui.red.button .active.button:active {
+ background-color: @redActive;
+ color: @redTextColor;
+ text-shadow: @redTextShadow;
+}
+
+/* Basic */
+.ui.basic.red.buttons .button,
+.ui.basic.red.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @red inset !important;
+ color: @red !important;
+}
+.ui.basic.red.buttons .button:hover,
+.ui.basic.red.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @redHover inset !important;
+ color: @redHover !important;
+}
+.ui.basic.red.buttons .button:focus,
+.ui.basic.red.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @redFocus inset !important;
+ color: @redHover !important;
+}
+.ui.basic.red.buttons .active.button,
+.ui.basic.red.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @redActive inset !important;
+ color: @redDown !important;
+}
+.ui.basic.red.buttons .button:active,
+.ui.basic.red.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @redDown inset !important;
+ color: @redDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.red.buttons .button,
+.ui.inverted.red.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightRed inset !important;
+ color: @lightRed;
+}
+.ui.inverted.red.buttons .button:hover,
+.ui.inverted.red.button:hover,
+.ui.inverted.red.buttons .button:focus,
+.ui.inverted.red.button:focus,
+.ui.inverted.red.buttons .button.active,
+.ui.inverted.red.button.active,
+.ui.inverted.red.buttons .button:active,
+.ui.inverted.red.button:active {
+ box-shadow: none !important;
+ color: @lightRedTextColor;
+}
+.ui.inverted.red.buttons .button:hover,
+.ui.inverted.red.button:hover {
+ background-color: @lightRedHover;
+}
+.ui.inverted.red.buttons .button:focus,
+.ui.inverted.red.button:focus {
+ background-color: @lightRedFocus;
+}
+.ui.inverted.red.buttons .active.button,
+.ui.inverted.red.active.button {
+ background-color: @lightRedActive;
+}
+.ui.inverted.red.buttons .button:active,
+.ui.inverted.red.button:active {
+ background-color: @lightRedDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.red.basic.buttons .button,
+.ui.inverted.red.buttons .basic.button,
+.ui.inverted.red.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.red.basic.buttons .button:hover,
+.ui.inverted.red.buttons .basic.button:hover,
+.ui.inverted.red.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightRedHover inset !important;
+ color: @lightRed !important;
+}
+.ui.inverted.red.basic.buttons .button:focus,
+.ui.inverted.red.basic.buttons .button:focus,
+.ui.inverted.red.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightRedFocus inset !important;
+ color: @lightRed !important;
+}
+.ui.inverted.red.basic.buttons .active.button,
+.ui.inverted.red.buttons .basic.active.button,
+.ui.inverted.red.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightRedActive inset !important;
+ color: @lightRed !important;
+}
+.ui.inverted.red.basic.buttons .button:active,
+.ui.inverted.red.buttons .basic.button:active,
+.ui.inverted.red.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightRedDown inset !important;
+ color: @lightRed !important;
+}
+
+
+/*--- Teal ---*/
+.ui.teal.buttons .button,
+.ui.teal.button {
+ background-color: @teal;
+ color: @tealTextColor;
+ text-shadow: @tealTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.teal.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.teal.buttons .button:hover,
+.ui.teal.button:hover {
+ background-color: @tealHover;
+ color: @tealTextColor;
+ text-shadow: @tealTextShadow;
+}
+.ui.teal.buttons .button:focus,
+.ui.teal.button:focus {
+ background-color: @tealFocus;
+ color: @tealTextColor;
+ text-shadow: @tealTextShadow;
+}
+.ui.teal.buttons .button:active,
+.ui.teal.button:active {
+ background-color: @tealDown;
+ color: @tealTextColor;
+ text-shadow: @tealTextShadow;
+}
+.ui.teal.buttons .active.button,
+.ui.teal.buttons .active.button:active,
+.ui.teal.active.button,
+.ui.teal.button .active.button:active {
+ background-color: @tealActive;
+ color: @tealTextColor;
+ text-shadow: @tealTextShadow;
+}
+
+/* Basic */
+.ui.basic.teal.buttons .button,
+.ui.basic.teal.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @teal inset !important;
+ color: @teal !important;
+}
+.ui.basic.teal.buttons .button:hover,
+.ui.basic.teal.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @tealHover inset !important;
+ color: @tealHover !important;
+}
+.ui.basic.teal.buttons .button:focus,
+.ui.basic.teal.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @tealFocus inset !important;
+ color: @tealHover !important;
+}
+.ui.basic.teal.buttons .active.button,
+.ui.basic.teal.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @tealActive inset !important;
+ color: @tealDown !important;
+}
+.ui.basic.teal.buttons .button:active,
+.ui.basic.teal.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @tealDown inset !important;
+ color: @tealDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.teal.buttons .button,
+.ui.inverted.teal.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightTeal inset !important;
+ color: @lightTeal;
+}
+.ui.inverted.teal.buttons .button:hover,
+.ui.inverted.teal.button:hover,
+.ui.inverted.teal.buttons .button:focus,
+.ui.inverted.teal.button:focus,
+.ui.inverted.teal.buttons .button.active,
+.ui.inverted.teal.button.active,
+.ui.inverted.teal.buttons .button:active,
+.ui.inverted.teal.button:active {
+ box-shadow: none !important;
+ color: @lightTealTextColor;
+}
+.ui.inverted.teal.buttons .button:hover,
+.ui.inverted.teal.button:hover {
+ background-color: @lightTealHover;
+}
+.ui.inverted.teal.buttons .button:focus,
+.ui.inverted.teal.button:focus {
+ background-color: @lightTealFocus;
+}
+.ui.inverted.teal.buttons .active.button,
+.ui.inverted.teal.active.button {
+ background-color: @lightTealActive;
+}
+.ui.inverted.teal.buttons .button:active,
+.ui.inverted.teal.button:active {
+ background-color: @lightTealDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.teal.basic.buttons .button,
+.ui.inverted.teal.buttons .basic.button,
+.ui.inverted.teal.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.teal.basic.buttons .button:hover,
+.ui.inverted.teal.buttons .basic.button:hover,
+.ui.inverted.teal.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightTealHover inset !important;
+ color: @lightTeal !important;
+}
+.ui.inverted.teal.basic.buttons .button:focus,
+.ui.inverted.teal.basic.buttons .button:focus,
+.ui.inverted.teal.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightTealFocus inset !important;
+ color: @lightTeal !important;
+}
+.ui.inverted.teal.basic.buttons .active.button,
+.ui.inverted.teal.buttons .basic.active.button,
+.ui.inverted.teal.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightTealActive inset !important;
+ color: @lightTeal !important;
+}
+.ui.inverted.teal.basic.buttons .button:active,
+.ui.inverted.teal.buttons .basic.button:active,
+.ui.inverted.teal.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightTealDown inset !important;
+ color: @lightTeal !important;
+}
+
+
+/*--- Olive ---*/
+.ui.olive.buttons .button,
+.ui.olive.button {
+ background-color: @olive;
+ color: @oliveTextColor;
+ text-shadow: @oliveTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.olive.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.olive.buttons .button:hover,
+.ui.olive.button:hover {
+ background-color: @oliveHover;
+ color: @oliveTextColor;
+ text-shadow: @oliveTextShadow;
+}
+.ui.olive.buttons .button:focus,
+.ui.olive.button:focus {
+ background-color: @oliveFocus;
+ color: @oliveTextColor;
+ text-shadow: @oliveTextShadow;
+}
+.ui.olive.buttons .button:active,
+.ui.olive.button:active {
+ background-color: @oliveDown;
+ color: @oliveTextColor;
+ text-shadow: @oliveTextShadow;
+}
+.ui.olive.buttons .active.button,
+.ui.olive.buttons .active.button:active,
+.ui.olive.active.button,
+.ui.olive.button .active.button:active {
+ background-color: @oliveActive;
+ color: @oliveTextColor;
+ text-shadow: @oliveTextShadow;
+}
+
+/* Basic */
+.ui.basic.olive.buttons .button,
+.ui.basic.olive.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @olive inset !important;
+ color: @olive !important;
+}
+.ui.basic.olive.buttons .button:hover,
+.ui.basic.olive.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @oliveHover inset !important;
+ color: @oliveHover !important;
+}
+.ui.basic.olive.buttons .button:focus,
+.ui.basic.olive.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @oliveFocus inset !important;
+ color: @oliveHover !important;
+}
+.ui.basic.olive.buttons .active.button,
+.ui.basic.olive.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @oliveActive inset !important;
+ color: @oliveDown !important;
+}
+.ui.basic.olive.buttons .button:active,
+.ui.basic.olive.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @oliveDown inset !important;
+ color: @oliveDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.olive.buttons .button,
+.ui.inverted.olive.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightOlive inset !important;
+ color: @lightOlive;
+}
+.ui.inverted.olive.buttons .button:hover,
+.ui.inverted.olive.button:hover,
+.ui.inverted.olive.buttons .button:focus,
+.ui.inverted.olive.button:focus,
+.ui.inverted.olive.buttons .button.active,
+.ui.inverted.olive.button.active,
+.ui.inverted.olive.buttons .button:active,
+.ui.inverted.olive.button:active {
+ box-shadow: none !important;
+ color: @lightOliveTextColor;
+}
+.ui.inverted.olive.buttons .button:hover,
+.ui.inverted.olive.button:hover {
+ background-color: @lightOliveHover;
+}
+.ui.inverted.olive.buttons .button:focus,
+.ui.inverted.olive.button:focus {
+ background-color: @lightOliveFocus;
+}
+.ui.inverted.olive.buttons .active.button,
+.ui.inverted.olive.active.button {
+ background-color: @lightOliveActive;
+}
+.ui.inverted.olive.buttons .button:active,
+.ui.inverted.olive.button:active {
+ background-color: @lightOliveDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.olive.basic.buttons .button,
+.ui.inverted.olive.buttons .basic.button,
+.ui.inverted.olive.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.olive.basic.buttons .button:hover,
+.ui.inverted.olive.buttons .basic.button:hover,
+.ui.inverted.olive.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightOliveHover inset !important;
+ color: @lightOlive !important;
+}
+.ui.inverted.olive.basic.buttons .button:focus,
+.ui.inverted.olive.basic.buttons .button:focus,
+.ui.inverted.olive.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightOliveFocus inset !important;
+ color: @lightOlive !important;
+}
+.ui.inverted.olive.basic.buttons .active.button,
+.ui.inverted.olive.buttons .basic.active.button,
+.ui.inverted.olive.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightOliveActive inset !important;
+ color: @lightOlive !important;
+}
+.ui.inverted.olive.basic.buttons .button:active,
+.ui.inverted.olive.buttons .basic.button:active,
+.ui.inverted.olive.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightOliveDown inset !important;
+ color: @lightOlive !important;
+}
+
+/*--- Yellow ---*/
+.ui.yellow.buttons .button,
+.ui.yellow.button {
+ background-color: @yellow;
+ color: @yellowTextColor;
+ text-shadow: @yellowTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.yellow.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.yellow.buttons .button:hover,
+.ui.yellow.button:hover {
+ background-color: @yellowHover;
+ color: @yellowTextColor;
+ text-shadow: @yellowTextShadow;
+}
+.ui.yellow.buttons .button:focus,
+.ui.yellow.button:focus {
+ background-color: @yellowFocus;
+ color: @yellowTextColor;
+ text-shadow: @yellowTextShadow;
+}
+.ui.yellow.buttons .button:active,
+.ui.yellow.button:active {
+ background-color: @yellowDown;
+ color: @yellowTextColor;
+ text-shadow: @yellowTextShadow;
+}
+.ui.yellow.buttons .active.button,
+.ui.yellow.buttons .active.button:active,
+.ui.yellow.active.button,
+.ui.yellow.button .active.button:active {
+ background-color: @yellowActive;
+ color: @yellowTextColor;
+ text-shadow: @yellowTextShadow;
+}
+
+/* Basic */
+.ui.basic.yellow.buttons .button,
+.ui.basic.yellow.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @yellow inset !important;
+ color: @yellow !important;
+}
+.ui.basic.yellow.buttons .button:hover,
+.ui.basic.yellow.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @yellowHover inset !important;
+ color: @yellowHover !important;
+}
+.ui.basic.yellow.buttons .button:focus,
+.ui.basic.yellow.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @yellowFocus inset !important;
+ color: @yellowHover !important;
+}
+.ui.basic.yellow.buttons .active.button,
+.ui.basic.yellow.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @yellowActive inset !important;
+ color: @yellowDown !important;
+}
+.ui.basic.yellow.buttons .button:active,
+.ui.basic.yellow.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @yellowDown inset !important;
+ color: @yellowDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/* Inverted */
+.ui.inverted.yellow.buttons .button,
+.ui.inverted.yellow.button {
+ background-color: transparent;
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightYellow inset !important;
+ color: @lightYellow;
+}
+.ui.inverted.yellow.buttons .button:hover,
+.ui.inverted.yellow.button:hover,
+.ui.inverted.yellow.buttons .button:focus,
+.ui.inverted.yellow.button:focus,
+.ui.inverted.yellow.buttons .button.active,
+.ui.inverted.yellow.button.active,
+.ui.inverted.yellow.buttons .button:active,
+.ui.inverted.yellow.button:active {
+ box-shadow: none !important;
+ color: @lightYellowTextColor;
+}
+.ui.inverted.yellow.buttons .button:hover,
+.ui.inverted.yellow.button:hover {
+ background-color: @lightYellowHover;
+}
+.ui.inverted.yellow.buttons .button:focus,
+.ui.inverted.yellow.button:focus {
+ background-color: @lightYellowFocus;
+}
+.ui.inverted.yellow.buttons .active.button,
+.ui.inverted.yellow.active.button {
+ background-color: @lightYellowActive;
+}
+.ui.inverted.yellow.buttons .button:active,
+.ui.inverted.yellow.button:active {
+ background-color: @lightYellowDown;
+}
+
+/* Inverted Basic */
+.ui.inverted.yellow.basic.buttons .button,
+.ui.inverted.yellow.buttons .basic.button,
+.ui.inverted.yellow.basic.button {
+ background-color: transparent;
+ box-shadow: @basicInvertedBoxShadow !important;
+ color: @white !important;
+}
+.ui.inverted.yellow.basic.buttons .button:hover,
+.ui.inverted.yellow.buttons .basic.button:hover,
+.ui.inverted.yellow.basic.button:hover {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightYellowHover inset !important;
+ color: @lightYellow !important;
+}
+.ui.inverted.yellow.basic.buttons .button:focus,
+.ui.inverted.yellow.basic.buttons .button:focus,
+.ui.inverted.yellow.basic.button:focus {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightYellowFocus inset !important;
+ color: @lightYellow !important;
+}
+.ui.inverted.yellow.basic.buttons .active.button,
+.ui.inverted.yellow.buttons .basic.active.button,
+.ui.inverted.yellow.basic.active.button {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightYellowActive inset !important;
+ color: @lightYellow !important;
+}
+.ui.inverted.yellow.basic.buttons .button:active,
+.ui.inverted.yellow.buttons .basic.button:active,
+.ui.inverted.yellow.basic.button:active {
+ box-shadow: 0px 0px 0px @invertedBorderSize @lightYellowDown inset !important;
+ color: @lightYellow !important;
+}
+
+
+/*-------------------
+ Primary
+--------------------*/
+
+/*--- Standard ---*/
+.ui.primary.buttons .button,
+.ui.primary.button {
+ background-color: @primaryColor;
+ color: @primaryTextColor;
+ text-shadow: @primaryTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.primary.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.primary.buttons .button:hover,
+.ui.primary.button:hover {
+ background-color: @primaryColorHover;
+ color: @primaryTextColor;
+ text-shadow: @primaryTextShadow;
+}
+.ui.primary.buttons .button:focus,
+.ui.primary.button:focus {
+ background-color: @primaryColorFocus;
+ color: @primaryTextColor;
+ text-shadow: @primaryTextShadow;
+}
+.ui.primary.buttons .button:active,
+.ui.primary.button:active {
+ background-color: @primaryColorDown;
+ color: @primaryTextColor;
+ text-shadow: @primaryTextShadow;
+}
+.ui.primary.buttons .active.button,
+.ui.primary.buttons .active.button:active,
+.ui.primary.active.button,
+.ui.primary.button .active.button:active {
+ background-color: @primaryColorActive;
+ color: @primaryTextColor;
+ text-shadow: @primaryTextShadow;
+}
+
+/* Basic */
+.ui.basic.primary.buttons .button,
+.ui.basic.primary.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @primaryColor inset !important;
+ color: @primaryColor !important;
+}
+.ui.basic.primary.buttons .button:hover,
+.ui.basic.primary.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @primaryColorHover inset !important;
+ color: @primaryColorHover !important;
+}
+.ui.basic.primary.buttons .button:focus,
+.ui.basic.primary.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @primaryColorFocus inset !important;
+ color: @primaryColorHover !important;
+}
+.ui.basic.primary.buttons .active.button,
+.ui.basic.primary.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @primaryColorActive inset !important;
+ color: @primaryColorDown !important;
+}
+.ui.basic.primary.buttons .button:active,
+.ui.basic.primary.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @primaryColorDown inset !important;
+ color: @primaryColorDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/*-------------------
+ Secondary
+--------------------*/
+
+/* Standard */
+.ui.secondary.buttons .button,
+.ui.secondary.button {
+ background-color: @secondaryColor;
+ color: @secondaryTextColor;
+ text-shadow: @secondaryTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.secondary.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.secondary.buttons .button:hover,
+.ui.secondary.button:hover {
+ background-color: @secondaryColorHover;
+ color: @secondaryTextColor;
+ text-shadow: @secondaryTextShadow;
+}
+.ui.secondary.buttons .button:focus,
+.ui.secondary.button:focus {
+ background-color: @secondaryColorFocus;
+ color: @secondaryTextColor;
+ text-shadow: @secondaryTextShadow;
+}
+.ui.secondary.buttons .button:active,
+.ui.secondary.button:active {
+ background-color: @secondaryColorDown;
+ color: @secondaryTextColor;
+ text-shadow: @secondaryTextShadow;
+}
+.ui.secondary.buttons .active.button,
+.ui.secondary.buttons .active.button:active,
+.ui.secondary.active.button,
+.ui.secondary.button .active.button:active {
+ background-color: @secondaryColorActive;
+ color: @secondaryTextColor;
+ text-shadow: @secondaryTextShadow;
+}
+
+/* Basic */
+.ui.basic.secondary.buttons .button,
+.ui.basic.secondary.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @secondaryColor inset !important;
+ color: @secondaryColor !important;
+}
+.ui.basic.secondary.buttons .button:hover,
+.ui.basic.secondary.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @secondaryColorHover inset !important;
+ color: @secondaryColorHover !important;
+}
+.ui.basic.secondary.buttons .button:focus,
+.ui.basic.secondary.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @secondaryColorFocus inset !important;
+ color: @secondaryColorHover !important;
+}
+.ui.basic.secondary.buttons .active.button,
+.ui.basic.secondary.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @secondaryColorActive inset !important;
+ color: @secondaryColorDown !important;
+}
+.ui.basic.secondary.buttons .button:active,
+.ui.basic.secondary.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @secondaryColorDown inset !important;
+ color: @secondaryColorDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/*---------------
+ Positive
+----------------*/
+
+/* Standard */
+.ui.positive.buttons .button,
+.ui.positive.button {
+ background-color: @positiveColor;
+ color: @positiveTextColor;
+ text-shadow: @positiveTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.positive.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.positive.buttons .button:hover,
+.ui.positive.button:hover {
+ background-color: @positiveColorHover;
+ color: @positiveTextColor;
+ text-shadow: @positiveTextShadow;
+}
+.ui.positive.buttons .button:focus,
+.ui.positive.button:focus {
+ background-color: @positiveColorFocus;
+ color: @positiveTextColor;
+ text-shadow: @positiveTextShadow;
+}
+.ui.positive.buttons .button:active,
+.ui.positive.button:active {
+ background-color: @positiveColorDown;
+ color: @positiveTextColor;
+ text-shadow: @positiveTextShadow;
+}
+.ui.positive.buttons .active.button,
+.ui.positive.buttons .active.button:active,
+.ui.positive.active.button,
+.ui.positive.button .active.button:active {
+ background-color: @positiveColorActive;
+ color: @positiveTextColor;
+ text-shadow: @positiveTextShadow;
+}
+
+/* Basic */
+.ui.basic.positive.buttons .button,
+.ui.basic.positive.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @positiveColor inset !important;
+ color: @positiveColor !important;
+}
+.ui.basic.positive.buttons .button:hover,
+.ui.basic.positive.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @positiveColorHover inset !important;
+ color: @positiveColorHover !important;
+}
+.ui.basic.positive.buttons .button:focus,
+.ui.basic.positive.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @positiveColorFocus inset !important;
+ color: @positiveColorHover !important;
+}
+.ui.basic.positive.buttons .active.button,
+.ui.basic.positive.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @positiveColorActive inset !important;
+ color: @positiveColorDown !important;
+}
+.ui.basic.positive.buttons .button:active,
+.ui.basic.positive.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @positiveColorDown inset !important;
+ color: @positiveColorDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/*---------------
+ Negative
+----------------*/
+
+/* Standard */
+.ui.negative.buttons .button,
+.ui.negative.button {
+ background-color: @negativeColor;
+ color: @negativeTextColor;
+ text-shadow: @negativeTextShadow;
+ background-image: @coloredBackgroundImage;
+}
+.ui.negative.button {
+ box-shadow: @coloredBoxShadow;
+}
+.ui.negative.buttons .button:hover,
+.ui.negative.button:hover {
+ background-color: @negativeColorHover;
+ color: @negativeTextColor;
+ text-shadow: @negativeTextShadow;
+}
+.ui.negative.buttons .button:focus,
+.ui.negative.button:focus {
+ background-color: @negativeColorFocus;
+ color: @negativeTextColor;
+ text-shadow: @negativeTextShadow;
+}
+.ui.negative.buttons .button:active,
+.ui.negative.button:active {
+ background-color: @negativeColorDown;
+ color: @negativeTextColor;
+ text-shadow: @negativeTextShadow;
+}
+.ui.negative.buttons .active.button,
+.ui.negative.buttons .active.button:active,
+.ui.negative.active.button,
+.ui.negative.button .active.button:active {
+ background-color: @negativeColorActive;
+ color: @negativeTextColor;
+ text-shadow: @negativeTextShadow;
+}
+
+/* Basic */
+.ui.basic.negative.buttons .button,
+.ui.basic.negative.button {
+ box-shadow: 0px 0px 0px @basicBorderSize @negativeColor inset !important;
+ color: @negativeColor !important;
+}
+.ui.basic.negative.buttons .button:hover,
+.ui.basic.negative.button:hover {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @negativeColorHover inset !important;
+ color: @negativeColorHover !important;
+}
+.ui.basic.negative.buttons .button:focus,
+.ui.basic.negative.button:focus {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @negativeColorFocus inset !important;
+ color: @negativeColorHover !important;
+}
+.ui.basic.negative.buttons .active.button,
+.ui.basic.negative.active.button {
+ background: transparent !important;
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @negativeColorActive inset !important;
+ color: @negativeColorDown !important;
+}
+.ui.basic.negative.buttons .button:active,
+.ui.basic.negative.button:active {
+ box-shadow: 0px 0px 0px @basicColoredBorderSize @negativeColorDown inset !important;
+ color: @negativeColorDown !important;
+}
+.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {
+ margin-left: -@basicColoredBorderSize;
+}
+
+/*******************************
+ Groups
+*******************************/
+
+.ui.buttons {
+ display: inline-flex;
+ flex-direction: row;
+ font-size: 0em;
+ vertical-align: baseline;
+ margin: @verticalMargin @horizontalMargin 0em 0em;
+}
+.ui.buttons:not(.basic):not(.inverted) {
+ box-shadow: @groupBoxShadow;
+}
+
+/* Clearfix */
+.ui.buttons:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+
+/* Standard Group */
+.ui.buttons .button {
+ flex: 1 0 auto;
+ margin: 0em;
+ border-radius: 0em;
+ margin: @groupButtonOffset;
+}
+.ui.buttons > .ui.button:not(.basic):not(.inverted),
+.ui.buttons:not(.basic):not(.inverted) > .button {
+ box-shadow: @groupButtonBoxShadow;
+}
+
+.ui.buttons .button:first-child {
+ border-left: none;
+ margin-left: 0em;
+ border-top-left-radius: @borderRadius;
+ border-bottom-left-radius: @borderRadius;
+}
+.ui.buttons .button:last-child {
+ border-top-right-radius: @borderRadius;
+ border-bottom-right-radius: @borderRadius;
+}
+
+/* Vertical Style */
+.ui.vertical.buttons {
+ display: inline-flex;
+ flex-direction: column;
+}
+.ui.vertical.buttons .button {
+ display: block;
+ float: none;
+ width: 100%;
+ margin: @verticalGroupOffset;
+ box-shadow: @verticalBoxShadow;
+ border-radius: 0em;
+}
+.ui.vertical.buttons .button:first-child {
+ border-top-left-radius: @borderRadius;
+ border-top-right-radius: @borderRadius;
+}
+.ui.vertical.buttons .button:last-child {
+ margin-bottom: 0px;
+ border-bottom-left-radius: @borderRadius;
+ border-bottom-right-radius: @borderRadius;
+}
+.ui.vertical.buttons .button:only-child {
+ border-radius: @borderRadius;
+}
+
+.loadUIOverrides();
+
diff --git a/src/semantic/src/definitions/elements/container.less b/src/semantic/src/definitions/elements/container.less
new file mode 100644
index 0000000..14b32f2
--- /dev/null
+++ b/src/semantic/src/definitions/elements/container.less
@@ -0,0 +1,143 @@
+/*!
+ * # Semantic UI - Container
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'container';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Container
+*******************************/
+
+/* All Sizes */
+.ui.container {
+ display: block;
+ max-width: @maxWidth !important;
+}
+
+/* Mobile */
+@media only screen and (max-width: @largestMobileScreen) {
+ .ui.container {
+ width: @mobileWidth !important;
+ margin-left: @mobileGutter !important;
+ margin-right: @mobileGutter !important;
+ }
+ .ui.grid.container {
+ width: @mobileGridWidth !important;
+ }
+ .ui.relaxed.grid.container {
+ width: @mobileRelaxedGridWidth !important;
+ }
+ .ui.very.relaxed.grid.container {
+ width: @mobileVeryRelaxedGridWidth !important;
+ }
+}
+
+/* Tablet */
+@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
+ .ui.container {
+ width: @tabletWidth;
+ margin-left: @tabletGutter !important;
+ margin-right: @tabletGutter !important;
+ }
+ .ui.grid.container {
+ width: @tabletGridWidth !important;
+ }
+ .ui.relaxed.grid.container {
+ width: @tabletRelaxedGridWidth !important;
+ }
+ .ui.very.relaxed.grid.container {
+ width: @tabletVeryRelaxedGridWidth !important;
+ }
+}
+
+/* Small Monitor */
+@media only screen and (min-width: @computerBreakpoint) and (max-width: @largestSmallMonitor) {
+ .ui.container {
+ width: @computerWidth;
+ margin-left: @computerGutter !important;
+ margin-right: @computerGutter !important;
+ }
+ .ui.grid.container {
+ width: @computerGridWidth !important;
+ }
+ .ui.relaxed.grid.container {
+ width: @computerRelaxedGridWidth !important;
+ }
+ .ui.very.relaxed.grid.container {
+ width: @computerVeryRelaxedGridWidth !important;
+ }
+}
+
+/* Large Monitor */
+@media only screen and (min-width: @largeMonitorBreakpoint) {
+ .ui.container {
+ width: @largeMonitorWidth;
+ margin-left: @largeMonitorGutter !important;
+ margin-right: @largeMonitorGutter !important;
+ }
+ .ui.grid.container {
+ width: @largeMonitorGridWidth !important;
+ }
+ .ui.relaxed.grid.container {
+ width: @largeMonitorRelaxedGridWidth !important;
+ }
+ .ui.very.relaxed.grid.container {
+ width: @largeMonitorVeryRelaxedGridWidth !important;
+ }
+}
+
+/*******************************
+ Types
+*******************************/
+
+
+/* Text Container */
+.ui.text.container {
+ font-family: @textFontFamily;
+ max-width: @textWidth !important;
+ line-height: @textLineHeight;
+}
+
+.ui.text.container {
+ font-size: @textSize;
+}
+
+/* Fluid */
+.ui.fluid.container {
+ width: 100%;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+.ui[class*="left aligned"].container {
+ text-align: left;
+}
+.ui[class*="center aligned"].container {
+ text-align: center;
+}
+.ui[class*="right aligned"].container {
+ text-align: right;
+}
+.ui.justified.container {
+ text-align: justify;
+ hyphens: auto;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/divider.less b/src/semantic/src/definitions/elements/divider.less
new file mode 100755
index 0000000..28c0c68
--- /dev/null
+++ b/src/semantic/src/definitions/elements/divider.less
@@ -0,0 +1,255 @@
+/*!
+ * # Semantic UI - Divider
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'divider';
+
+@import (multiple) '../../theme.config';
+
+
+/*******************************
+ Divider
+*******************************/
+
+.ui.divider {
+ margin: @margin;
+
+ line-height: 1;
+ height: 0em;
+
+ font-weight: @fontWeight;
+ text-transform: @textTransform;
+ letter-spacing: @letterSpacing;
+ color: @color;
+
+ user-select: none;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+/*--------------
+ Basic
+---------------*/
+
+.ui.divider:not(.vertical):not(.horizontal) {
+ border-top: @shadowWidth solid @shadowColor;
+ border-bottom: @highlightWidth solid @highlightColor;
+}
+
+/*--------------
+ Coupling
+---------------*/
+
+/* Allow divider between each column row */
+.ui.grid > .column + .divider,
+.ui.grid > .row > .column + .divider {
+ left: auto;
+}
+
+/*--------------
+ Horizontal
+---------------*/
+
+.ui.horizontal.divider {
+ display: table;
+ white-space: nowrap;
+
+ height: auto;
+ margin: @horizontalMargin;
+ line-height: 1;
+ text-align: center;
+}
+
+.ui.horizontal.divider:before,
+.ui.horizontal.divider:after {
+ content: '';
+ display: table-cell;
+ position: relative;
+ top: 50%;
+ width: 50%;
+ background-repeat: no-repeat;
+}
+
+.ui.horizontal.divider:before {
+ background-position: right @horizontalDividerMargin top 50%;
+}
+.ui.horizontal.divider:after {
+ background-position: left @horizontalDividerMargin top 50%;
+}
+
+/*--------------
+ Vertical
+---------------*/
+
+.ui.vertical.divider {
+ position: absolute;
+ z-index: 2;
+ top: 50%;
+ left: 50%;
+
+ margin: 0rem;
+ padding: 0em;
+ width: auto;
+ height: 50%;
+
+ line-height: 0em;
+ text-align: center;
+ transform: translateX(-50%);
+}
+
+.ui.vertical.divider:before,
+.ui.vertical.divider:after {
+ position: absolute;
+ left: 50%;
+ content: '';
+ z-index: 3;
+
+ border-left: @shadowWidth solid @shadowColor;
+ border-right: @highlightWidth solid @highlightColor;
+
+ width: 0%;
+ height: @verticalDividerHeight;
+}
+
+.ui.vertical.divider:before {
+ top: -100%;
+}
+.ui.vertical.divider:after {
+ top: auto;
+ bottom: 0px;
+}
+
+/* Inside grid */
+@media only screen and (max-width : @largestMobileScreen) {
+
+ .ui.stackable.grid .ui.vertical.divider,
+ .ui.grid .stackable.row .ui.vertical.divider {
+ display: table;
+ white-space: nowrap;
+ height: auto;
+ margin: @horizontalMargin;
+ overflow: hidden;
+ line-height: 1;
+ text-align: center;
+ position: static;
+ top: 0;
+ left: 0;
+ transform: none;
+ }
+
+ .ui.stackable.grid .ui.vertical.divider:before,
+ .ui.grid .stackable.row .ui.vertical.divider:before,
+ .ui.stackable.grid .ui.vertical.divider:after,
+ .ui.grid .stackable.row .ui.vertical.divider:after {
+ position: static;
+ left: 0;
+ border-left: none;
+ border-right: none;
+ content: '';
+ display: table-cell;
+ position: relative;
+ top: 50%;
+ width: 50%;
+ background-repeat: no-repeat;
+ }
+
+ .ui.stackable.grid .ui.vertical.divider:before,
+ .ui.grid .stackable.row .ui.vertical.divider:before {
+ background-position: right @horizontalDividerMargin top 50%;
+ }
+ .ui.stackable.grid .ui.vertical.divider:after,
+ .ui.grid .stackable.row .ui.vertical.divider:after {
+ background-position: left @horizontalDividerMargin top 50%;
+ }
+}
+
+/*--------------
+ Icon
+---------------*/
+
+.ui.divider > .icon {
+ margin: @dividerIconMargin;
+ font-size: @dividerIconSize;
+ height: 1em;
+ vertical-align: middle;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Hidden
+---------------*/
+
+.ui.hidden.divider {
+ border-color: transparent !important;
+}
+.ui.hidden.divider:before,
+.ui.hidden.divider:after {
+ display: none;
+}
+
+/*--------------
+ Inverted
+---------------*/
+
+.ui.divider.inverted,
+.ui.vertical.inverted.divider,
+.ui.horizontal.inverted.divider {
+ color: @invertedTextColor;
+}
+.ui.divider.inverted,
+.ui.divider.inverted:after,
+.ui.divider.inverted:before {
+ border-top-color: @invertedShadowColor !important;
+ border-left-color: @invertedShadowColor !important;
+ border-bottom-color: @invertedHighlightColor !important;
+ border-right-color: @invertedHighlightColor !important;
+}
+
+/*--------------
+ Fitted
+---------------*/
+
+.ui.fitted.divider {
+ margin: 0em;
+}
+
+/*--------------
+ Clearing
+---------------*/
+
+.ui.clearing.divider {
+ clear: both;
+}
+
+/*--------------
+ Section
+---------------*/
+
+.ui.section.divider {
+ margin-top: @sectionMargin;
+ margin-bottom: @sectionMargin;
+}
+
+/*--------------
+ Sizes
+---------------*/
+
+.ui.divider {
+ font-size: @medium;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/flag.less b/src/semantic/src/definitions/elements/flag.less
new file mode 100755
index 0000000..1f4145e
--- /dev/null
+++ b/src/semantic/src/definitions/elements/flag.less
@@ -0,0 +1,52 @@
+/*!
+ * # Semantic UI - Flag
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'flag';
+
+@import (multiple) '../../theme.config';
+
+
+/*******************************
+ Flag
+*******************************/
+
+i.flag:not(.icon) {
+ display: inline-block;
+
+ width: @width;
+ height: @height;
+
+ line-height: @height;
+ vertical-align: @verticalAlign;
+ margin: 0em @margin 0em 0em;
+
+ text-decoration: inherit;
+
+ speak: none;
+ font-smoothing: antialiased;
+ backface-visibility: hidden;
+}
+
+/* Sprite */
+i.flag:not(.icon):before {
+ display: inline-block;
+ content: '';
+ background: url(@spritePath) no-repeat -108px -1976px;
+ width: @width;
+ height: @height;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/header.less b/src/semantic/src/definitions/elements/header.less
new file mode 100755
index 0000000..079cac8
--- /dev/null
+++ b/src/semantic/src/definitions/elements/header.less
@@ -0,0 +1,708 @@
+/*!
+ * # Semantic UI - Header
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'header';
+
+@import (multiple) '../../theme.config';
+
+
+/*******************************
+ Header
+*******************************/
+
+/* Standard */
+.ui.header {
+ border: none;
+ margin: @margin;
+ padding: @verticalPadding @horizontalPadding;
+ font-family: @fontFamily;
+ font-weight: @fontWeight;
+ line-height: @lineHeight;
+ text-transform: @textTransform;
+ color: @textColor;
+}
+
+.ui.header:first-child {
+ margin-top: @firstMargin;
+}
+.ui.header:last-child {
+ margin-bottom: @lastMargin;
+}
+
+/*--------------
+ Sub Header
+---------------*/
+
+.ui.header .sub.header {
+ display: block;
+ font-weight: normal;
+ padding: 0em;
+ margin: @subHeaderMargin;
+ font-size: @subHeaderFontSize;
+ line-height: @subHeaderLineHeight;
+ color: @subHeaderColor;
+}
+
+/*--------------
+ Icon
+---------------*/
+
+.ui.header > .icon {
+ display: table-cell;
+ opacity: @iconOpacity;
+ font-size: @iconSize;
+ padding-top: @iconOffset;
+ vertical-align: @iconAlignment;
+}
+
+/* With Text Node */
+.ui.header .icon:only-child {
+ display: inline-block;
+ padding: 0em;
+ margin-right: @iconMargin;
+}
+
+/*-------------------
+ Image
+--------------------*/
+
+.ui.header > .image,
+.ui.header > img {
+ display: inline-block;
+ margin-top: @imageOffset;
+ width: @imageWidth;
+ height: @imageHeight;
+ vertical-align: @imageAlignment;
+}
+.ui.header > .image:only-child,
+.ui.header > img:only-child {
+ margin-right: @imageMargin;
+}
+
+/*--------------
+ Content
+---------------*/
+
+.ui.header .content {
+ display: inline-block;
+ vertical-align: @contentAlignment;
+}
+
+/* After Image */
+.ui.header > img + .content,
+.ui.header > .image + .content {
+ padding-left: @imageMargin;
+ vertical-align: @contentImageAlignment;
+}
+
+/* After Icon */
+.ui.header > .icon + .content {
+ padding-left: @iconMargin;
+ display: table-cell;
+ vertical-align: @contentIconAlignment;
+}
+
+
+/*--------------
+ Loose Coupling
+---------------*/
+
+.ui.header .ui.label {
+ font-size: @labelSize;
+ margin-left: @labelDistance;
+ vertical-align: @labelVerticalAlign;
+}
+
+/* Positioning */
+.ui.header + p {
+ margin-top: @nextParagraphDistance;
+}
+
+
+
+/*******************************
+ Types
+*******************************/
+
+
+/*--------------
+ Page
+---------------*/
+
+h1.ui.header {
+ font-size: @h1;
+}
+h2.ui.header {
+ font-size: @h2;
+}
+h3.ui.header {
+ font-size: @h3;
+}
+h4.ui.header {
+ font-size: @h4;
+}
+h5.ui.header {
+ font-size: @h5;
+}
+
+
+/* Sub Header */
+h1.ui.header .sub.header {
+ font-size: @h1SubHeaderFontSize;
+}
+h2.ui.header .sub.header {
+ font-size: @h2SubHeaderFontSize;
+}
+h3.ui.header .sub.header {
+ font-size: @h3SubHeaderFontSize;
+}
+h4.ui.header .sub.header {
+ font-size: @h4SubHeaderFontSize;
+}
+h5.ui.header .sub.header {
+ font-size: @h5SubHeaderFontSize;
+}
+
+
+/*--------------
+ Content Heading
+---------------*/
+
+.ui.huge.header {
+ min-height: 1em;
+ font-size: @hugeFontSize;
+}
+.ui.large.header {
+ font-size: @largeFontSize;
+}
+.ui.medium.header {
+ font-size: @mediumFontSize;
+}
+.ui.small.header {
+ font-size: @smallFontSize;
+}
+.ui.tiny.header {
+ font-size: @tinyFontSize;
+}
+
+/* Sub Header */
+.ui.huge.header .sub.header {
+ font-size: @hugeSubHeaderFontSize;
+}
+.ui.large.header .sub.header {
+ font-size: @hugeSubHeaderFontSize;
+}
+.ui.header .sub.header {
+ font-size: @subHeaderFontSize;
+}
+.ui.small.header .sub.header {
+ font-size: @smallSubHeaderFontSize;
+}
+.ui.tiny.header .sub.header {
+ font-size: @tinySubHeaderFontSize;
+}
+
+/*--------------
+ Sub Heading
+---------------*/
+
+.ui.sub.header {
+ padding: 0em;
+ margin-bottom: @subHeadingDistance;
+ font-weight: @subHeadingFontWeight;
+ font-size: @subHeadingFontSize;
+ text-transform: @subHeadingTextTransform;
+ color: @subHeadingColor;
+}
+
+.ui.small.sub.header {
+ font-size: @smallSubHeadingSize;
+}
+.ui.sub.header {
+ font-size: @subHeadingFontSize;
+}
+.ui.large.sub.header {
+ font-size: @largeSubHeadingSize;
+}
+.ui.huge.sub.header {
+ font-size: @hugeSubHeadingSize;
+}
+
+
+
+/*-------------------
+ Icon
+--------------------*/
+
+.ui.icon.header {
+ display: inline-block;
+ text-align: center;
+ margin: @iconHeaderTopMargin 0em @iconHeaderBottomMargin;
+}
+.ui.icon.header:after {
+ content: '';
+ display: block;
+ height: 0px;
+ clear: both;
+ visibility: hidden;
+}
+
+.ui.icon.header:first-child {
+ margin-top: @iconHeaderFirstMargin;
+}
+.ui.icon.header .icon {
+ float: none;
+ display: block;
+ width: auto;
+ height: auto;
+ line-height: 1;
+ padding: 0em;
+ font-size: @iconHeaderSize;
+ margin: 0em auto @iconHeaderMargin;
+ opacity: @iconHeaderOpacity;
+}
+.ui.icon.header .content {
+ display: block;
+ padding: 0em;
+}
+.ui.icon.header .circular.icon {
+ font-size: @circularHeaderIconSize;
+}
+.ui.icon.header .square.icon {
+ font-size: @squareHeaderIconSize;
+}
+.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: @disabledOpacity;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+/*-------------------
+ Inverted
+--------------------*/
+
+.ui.inverted.header {
+ color: @invertedColor;
+}
+.ui.inverted.header .sub.header {
+ color: @invertedSubHeaderColor;
+}
+.ui.inverted.attached.header {
+ background: @invertedAttachedBackground;
+ box-shadow: none;
+ border-color: transparent;
+}
+.ui.inverted.block.header {
+ background: @invertedBlockBackground;
+ box-shadow: none;
+}
+.ui.inverted.block.header {
+ border-bottom: none;
+}
+
+
+/*-------------------
+ Colors
+--------------------*/
+
+/*--- Red ---*/
+.ui.red.header {
+ color: @red !important;
+}
+a.ui.red.header:hover {
+ color: @redHover !important;
+}
+.ui.red.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @red;
+}
+
+/* Inverted */
+.ui.inverted.red.header {
+ color: @lightRed !important;
+}
+a.ui.inverted.red.header:hover {
+ color: @lightRedHover !important;
+}
+
+/*--- Orange ---*/
+.ui.orange.header {
+ color: @orange !important;
+}
+a.ui.orange.header:hover {
+ color: @orangeHover !important;
+}
+.ui.orange.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @orange;
+}
+/* Inverted */
+.ui.inverted.orange.header {
+ color: @lightOrange !important;
+}
+a.ui.inverted.orange.header:hover {
+ color: @lightOrangeHover !important;
+}
+
+/*--- Olive ---*/
+.ui.olive.header {
+ color: @olive !important;
+}
+a.ui.olive.header:hover {
+ color: @oliveHover !important;
+}
+.ui.olive.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @olive;
+}
+/* Inverted */
+.ui.inverted.olive.header {
+ color: @lightOlive !important;
+}
+a.ui.inverted.olive.header:hover {
+ color: @lightOliveHover !important;
+}
+
+/*--- Yellow ---*/
+.ui.yellow.header {
+ color: @yellow !important;
+}
+a.ui.yellow.header:hover {
+ color: @yellowHover !important;
+}
+.ui.yellow.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @yellow;
+}
+/* Inverted */
+.ui.inverted.yellow.header {
+ color: @lightYellow !important;
+}
+a.ui.inverted.yellow.header:hover {
+ color: @lightYellowHover !important;
+}
+
+/*--- Green ---*/
+.ui.green.header {
+ color: @green !important;
+}
+a.ui.green.header:hover {
+ color: @greenHover !important;
+}
+.ui.green.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @green;
+}
+/* Inverted */
+.ui.inverted.green.header {
+ color: @lightGreen !important;
+}
+a.ui.inverted.green.header:hover {
+ color: @lightGreenHover !important;
+}
+
+/*--- Teal ---*/
+.ui.teal.header {
+ color: @teal !important;
+}
+a.ui.teal.header:hover {
+ color: @tealHover !important;
+}
+.ui.teal.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @teal;
+}
+/* Inverted */
+.ui.inverted.teal.header {
+ color: @lightTeal !important;
+}
+a.ui.inverted.teal.header:hover {
+ color: @lightTealHover !important;
+}
+
+/*--- Blue ---*/
+.ui.blue.header {
+ color: @blue !important;
+}
+a.ui.blue.header:hover {
+ color: @blueHover !important;
+}
+.ui.blue.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @blue;
+}
+/* Inverted */
+.ui.inverted.blue.header {
+ color: @lightBlue !important;
+}
+a.ui.inverted.blue.header:hover {
+ color: @lightBlueHover !important;
+}
+
+/*--- Violet ---*/
+.ui.violet.header {
+ color: @violet !important;
+}
+a.ui.violet.header:hover {
+ color: @violetHover !important;
+}
+.ui.violet.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @violet;
+}
+/* Inverted */
+.ui.inverted.violet.header {
+ color: @lightViolet !important;
+}
+a.ui.inverted.violet.header:hover {
+ color: @lightVioletHover !important;
+}
+
+/*--- Purple ---*/
+.ui.purple.header {
+ color: @purple !important;
+}
+a.ui.purple.header:hover {
+ color: @purpleHover !important;
+}
+.ui.purple.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @purple;
+}
+/* Inverted */
+.ui.inverted.purple.header {
+ color: @lightPurple !important;
+}
+a.ui.inverted.purple.header:hover {
+ color: @lightPurpleHover !important;
+}
+
+/*--- Pink ---*/
+.ui.pink.header {
+ color: @pink !important;
+}
+a.ui.pink.header:hover {
+ color: @pinkHover !important;
+}
+.ui.pink.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @pink;
+}
+/* Inverted */
+.ui.inverted.pink.header {
+ color: @lightPink !important;
+}
+a.ui.inverted.pink.header:hover {
+ color: @lightPinkHover !important;
+}
+
+/*--- Brown ---*/
+.ui.brown.header {
+ color: @brown !important;
+}
+a.ui.brown.header:hover {
+ color: @brownHover !important;
+}
+.ui.brown.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @brown;
+}
+/* Inverted */
+.ui.inverted.brown.header {
+ color: @lightBrown !important;
+}
+a.ui.inverted.brown.header:hover {
+ color: @lightBrownHover !important;
+}
+
+/*--- Grey ---*/
+.ui.grey.header {
+ color: @grey !important;
+}
+a.ui.grey.header:hover {
+ color: @greyHover !important;
+}
+.ui.grey.dividing.header {
+ border-bottom: @dividedColoredBorderWidth solid @grey;
+}
+/* Inverted */
+.ui.inverted.grey.header {
+ color: @lightGrey !important;
+}
+a.ui.inverted.grey.header:hover {
+ color: @lightGreyHover !important;
+}
+
+
+/*-------------------
+ Aligned
+--------------------*/
+
+.ui.left.aligned.header {
+ text-align: left;
+}
+.ui.right.aligned.header {
+ text-align: right;
+}
+.ui.centered.header,
+.ui.center.aligned.header {
+ text-align: center;
+}
+.ui.justified.header {
+ text-align: justify;
+}
+.ui.justified.header:after {
+ display: inline-block;
+ content: '';
+ width: 100%;
+}
+
+/*-------------------
+ Floated
+--------------------*/
+
+.ui.floated.header,
+.ui[class*="left floated"].header {
+ float: left;
+ margin-top: 0em;
+ margin-right: @floatedMargin;
+}
+.ui[class*="right floated"].header {
+ float: right;
+ margin-top: 0em;
+ margin-left: @floatedMargin;
+}
+
+/*-------------------
+ Fitted
+--------------------*/
+
+.ui.fitted.header {
+ padding: 0em;
+}
+
+
+/*-------------------
+ Dividing
+--------------------*/
+
+.ui.dividing.header {
+ padding-bottom: @dividedBorderPadding;
+ border-bottom: @dividedBorder;
+}
+.ui.dividing.header .sub.header {
+ padding-bottom: @dividedSubHeaderPadding;
+}
+.ui.dividing.header .icon {
+ margin-bottom: @dividedIconPadding;
+}
+
+.ui.inverted.dividing.header {
+ border-bottom-color: @invertedDividedBorderColor;
+}
+
+
+/*-------------------
+ Block
+--------------------*/
+
+.ui.block.header {
+ background: @blockBackground;
+ padding: @blockVerticalPadding @blockHorizontalPadding;
+ box-shadow: @blockBoxShadow;
+ border: @blockBorder;
+ border-radius: @blockBorderRadius;
+}
+
+.ui.tiny.block.header {
+ font-size: @tinyBlock;
+}
+.ui.small.block.header {
+ font-size: @smallBlock;
+}
+.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
+ font-size: @mediumBlock;
+}
+.ui.large.block.header {
+ font-size: @largeBlock;
+}
+.ui.huge.block.header {
+ font-size: @hugeBlock;
+}
+
+/*-------------------
+ Attached
+--------------------*/
+
+.ui.attached.header {
+ background: @attachedBackground;
+ padding: @attachedVerticalPadding @attachedHorizontalPadding;
+ margin-left: @attachedOffset;
+ margin-right: @attachedOffset;
+ box-shadow: @attachedBoxShadow;
+ border: @attachedBorder;
+}
+.ui.attached.block.header {
+ background: @blockBackground;
+}
+
+.ui.attached:not(.top):not(.bottom).header {
+ margin-top: 0em;
+ margin-bottom: 0em;
+ border-top: none;
+ border-radius: 0em;
+}
+.ui.top.attached.header {
+ margin-bottom: 0em;
+ border-radius: @attachedBorderRadius @attachedBorderRadius 0em 0em;
+}
+.ui.bottom.attached.header {
+ margin-top: 0em;
+ border-top: none;
+ border-radius: 0em 0em @attachedBorderRadius @attachedBorderRadius;
+}
+
+/* Attached Sizes */
+.ui.tiny.attached.header {
+ font-size: @tinyAttachedSize;
+}
+.ui.small.attached.header {
+ font-size: @smallAttachedSize;
+}
+.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
+ font-size: @mediumAttachedSize;
+}
+.ui.large.attached.header {
+ font-size: @largeAttachedSize;
+}
+.ui.huge.attached.header {
+ font-size: @hugeAttachedSize;
+}
+
+/*-------------------
+ Sizing
+--------------------*/
+
+.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
+ font-size: @mediumFontSize;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/icon.less b/src/semantic/src/definitions/elements/icon.less
new file mode 100755
index 0000000..29290dc
--- /dev/null
+++ b/src/semantic/src/definitions/elements/icon.less
@@ -0,0 +1,477 @@
+/*!
+ * # Semantic UI - Icon
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'icon';
+
+@import (multiple) '../../theme.config';
+
+
+/*******************************
+ Icon
+*******************************/
+
+@font-face {
+ font-family: 'Icons';
+ src: @fallbackSRC;
+ src: @src;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-decoration: inherit;
+ text-transform: none;
+}
+
+i.icon {
+ display: inline-block;
+ opacity: @opacity;
+
+ margin: 0em @distanceFromText 0em 0em;
+
+ width: @width;
+ height: @height;
+
+ font-family: 'Icons';
+ font-style: normal;
+ font-weight: normal;
+ text-decoration: inherit;
+ text-align: center;
+
+ speak: none;
+ font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ backface-visibility: hidden;
+}
+
+i.icon:before {
+ background: none !important;
+}
+
+/*******************************
+ Types
+*******************************/
+
+/*--------------
+ Loading
+---------------*/
+
+i.icon.loading {
+ height: 1em;
+ line-height: 1;
+ animation: icon-loading @loadingDuration linear infinite;
+}
+@keyframes icon-loading {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+/*******************************
+ States
+*******************************/
+
+i.icon.hover {
+ opacity: 1 !important;
+}
+
+i.icon.active {
+ opacity: 1 !important;
+}
+
+i.emphasized.icon {
+ opacity: 1 !important;
+}
+
+i.disabled.icon {
+ opacity: @disabledOpacity !important;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*-------------------
+ Fitted
+--------------------*/
+
+i.fitted.icon {
+ width: auto;
+ margin: 0em;
+}
+
+/*-------------------
+ Link
+--------------------*/
+
+i.link.icon, i.link.icons {
+ cursor: pointer;
+ opacity: @linkOpacity;
+ transition: opacity @defaultDuration @defaultEasing;
+}
+i.link.icon:hover, i.link.icons:hover {
+ opacity: 1 !important;
+}
+
+/*-------------------
+ Circular
+--------------------*/
+
+i.circular.icon {
+ border-radius: 500em !important;
+ line-height: 1 !important;
+
+ padding: @circularPadding !important;
+ box-shadow: @circularShadow;
+
+ width: @circularSize !important;
+ height: @circularSize !important;
+}
+i.circular.inverted.icon {
+ border: none;
+ box-shadow: none;
+}
+
+/*-------------------
+ Flipped
+--------------------*/
+
+i.flipped.icon,
+i.horizontally.flipped.icon {
+ transform: scale(-1, 1);
+}
+i.vertically.flipped.icon {
+ transform: scale(1, -1);
+}
+
+/*-------------------
+ Rotated
+--------------------*/
+
+i.rotated.icon,
+i.right.rotated.icon,
+i.clockwise.rotated.icon {
+ transform: rotate(90deg);
+}
+
+i.left.rotated.icon,
+i.counterclockwise.rotated.icon {
+ transform: rotate(-90deg);
+}
+
+/*-------------------
+ Bordered
+--------------------*/
+
+i.bordered.icon {
+ line-height: 1;
+ vertical-align: baseline;
+
+ width: @borderedSize;
+ height: @borderedSize;
+ padding: @borderedVerticalPadding @borderedHorizontalPadding !important;
+ box-shadow: @borderedShadow;
+}
+i.bordered.inverted.icon {
+ border: none;
+ box-shadow: none;
+}
+
+/*-------------------
+ Inverted
+--------------------*/
+
+/* Inverted Shapes */
+i.inverted.bordered.icon,
+i.inverted.circular.icon {
+ background-color: @black !important;
+ color: @white !important;
+}
+
+i.inverted.icon {
+ color: @white;
+}
+
+
+/*-------------------
+ Colors
+--------------------*/
+
+/* Red */
+i.red.icon {
+ color: @red !important;
+}
+i.inverted.red.icon {
+ color: @lightRed !important;
+}
+i.inverted.bordered.red.icon,
+i.inverted.circular.red.icon {
+ background-color: @red !important;
+ color: @white !important;
+}
+
+/* Orange */
+i.orange.icon {
+ color: @orange !important;
+}
+i.inverted.orange.icon {
+ color: @lightOrange !important;
+}
+i.inverted.bordered.orange.icon,
+i.inverted.circular.orange.icon {
+ background-color: @orange !important;
+ color: @white !important;
+}
+
+/* Yellow */
+i.yellow.icon {
+ color: @yellow !important;
+}
+i.inverted.yellow.icon {
+ color: @lightYellow !important;
+}
+i.inverted.bordered.yellow.icon,
+i.inverted.circular.yellow.icon {
+ background-color: @yellow !important;
+ color: @white !important;
+}
+
+/* Olive */
+i.olive.icon {
+ color: @olive !important;
+}
+i.inverted.olive.icon {
+ color: @lightOlive !important;
+}
+i.inverted.bordered.olive.icon,
+i.inverted.circular.olive.icon {
+ background-color: @olive !important;
+ color: @white !important;
+}
+
+/* Green */
+i.green.icon {
+ color: @green !important;
+}
+i.inverted.green.icon {
+ color: @lightGreen !important;
+}
+i.inverted.bordered.green.icon,
+i.inverted.circular.green.icon {
+ background-color: @green !important;
+ color: @white !important;
+}
+
+/* Teal */
+i.teal.icon {
+ color: @teal !important;
+}
+i.inverted.teal.icon {
+ color: @lightTeal !important;
+}
+i.inverted.bordered.teal.icon,
+i.inverted.circular.teal.icon {
+ background-color: @teal !important;
+ color: @white !important;
+}
+
+/* Blue */
+i.blue.icon {
+ color: @blue !important;
+}
+i.inverted.blue.icon {
+ color: @lightBlue !important;
+}
+i.inverted.bordered.blue.icon,
+i.inverted.circular.blue.icon {
+ background-color: @blue !important;
+ color: @white !important;
+}
+
+/* Violet */
+i.violet.icon {
+ color: @violet !important;
+}
+i.inverted.violet.icon {
+ color: @lightViolet !important;
+}
+i.inverted.bordered.violet.icon,
+i.inverted.circular.violet.icon {
+ background-color: @violet !important;
+ color: @white !important;
+}
+
+/* Purple */
+i.purple.icon {
+ color: @purple !important;
+}
+i.inverted.purple.icon {
+ color: @lightPurple !important;
+}
+i.inverted.bordered.purple.icon,
+i.inverted.circular.purple.icon {
+ background-color: @purple !important;
+ color: @white !important;
+}
+
+/* Pink */
+i.pink.icon {
+ color: @pink !important;
+}
+i.inverted.pink.icon {
+ color: @lightPink !important;
+}
+i.inverted.bordered.pink.icon,
+i.inverted.circular.pink.icon {
+ background-color: @pink !important;
+ color: @white !important;
+}
+
+/* Brown */
+i.brown.icon {
+ color: @brown !important;
+}
+i.inverted.brown.icon {
+ color: @lightBrown !important;
+}
+i.inverted.bordered.brown.icon,
+i.inverted.circular.brown.icon {
+ background-color: @brown !important;
+ color: @white !important;
+}
+
+/* Grey */
+i.grey.icon {
+ color: @grey !important;
+}
+i.inverted.grey.icon {
+ color: @lightGrey !important;
+}
+i.inverted.bordered.grey.icon,
+i.inverted.circular.grey.icon {
+ background-color: @grey !important;
+ color: @white !important;
+}
+
+/* Black */
+i.black.icon {
+ color: @black !important;
+}
+i.inverted.black.icon {
+ color: @lightBlack !important;
+}
+i.inverted.bordered.black.icon,
+i.inverted.circular.black.icon {
+ background-color: @black !important;
+ color: @white !important;
+}
+
+/*-------------------
+ Sizes
+--------------------*/
+
+i.mini.icon,
+i.mini.icons {
+ line-height: 1;
+ font-size: @mini;
+}
+i.tiny.icon,
+i.tiny.icons {
+ line-height: 1;
+ font-size: @tiny;
+}
+i.small.icon,
+i.small.icons {
+ line-height: 1;
+ font-size: @small;
+}
+i.icon,
+i.icons {
+ font-size: @medium;
+}
+i.large.icon,
+i.large.icons {
+ line-height: 1;
+ vertical-align: middle;
+ font-size: @large;
+}
+i.big.icon,
+i.big.icons {
+ line-height: 1;
+ vertical-align: middle;
+ font-size: @big;
+}
+i.huge.icon,
+i.huge.icons {
+ line-height: 1;
+ vertical-align: middle;
+ font-size: @huge;
+}
+i.massive.icon,
+i.massive.icons {
+ line-height: 1;
+ vertical-align: middle;
+ font-size: @massive;
+}
+
+/*******************************
+ Groups
+*******************************/
+
+i.icons {
+ display: inline-block;
+ position: relative;
+ line-height: 1;
+}
+
+i.icons .icon {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translateX(-50%) translateY(-50%);
+ margin: 0em;
+ margin: 0;
+}
+
+i.icons .icon:first-child {
+ position: static;
+ width: auto;
+ height: auto;
+ vertical-align: top;
+ transform: none;
+ margin-right: @distanceFromText;
+}
+
+/* Corner Icon */
+i.icons .corner.icon {
+ top: auto;
+ left: auto;
+ right: 0;
+ bottom: 0;
+ transform: none;
+ font-size: @cornerIconSize;
+ text-shadow: @cornerIconShadow;
+}
+
+i.icons .inverted.corner.icon {
+ text-shadow: @cornerIconInvertedShadow;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/image.less b/src/semantic/src/definitions/elements/image.less
new file mode 100755
index 0000000..b996cde
--- /dev/null
+++ b/src/semantic/src/definitions/elements/image.less
@@ -0,0 +1,324 @@
+/*!
+ * # Semantic UI - Image
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'image';
+
+@import (multiple) '../../theme.config';
+
+
+/*******************************
+ Image
+*******************************/
+
+.ui.image {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 100%;
+ background-color: @placeholderColor;
+}
+
+img.ui.image {
+ display: block;
+}
+
+.ui.image svg,
+.ui.image img {
+ display: block;
+ max-width: 100%;
+ height: auto;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+.ui.hidden.images,
+.ui.hidden.image {
+ display: none;
+}
+.ui.hidden.transition.images,
+.ui.hidden.transition.image {
+ display: block;
+ visibility: hidden;
+}
+
+
+.ui.disabled.images,
+.ui.disabled.image {
+ cursor: default;
+ opacity: @disabledOpacity;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*--------------
+ Inline
+---------------*/
+
+.ui.inline.image,
+.ui.inline.image svg,
+.ui.inline.image img {
+ display: inline-block;
+}
+
+/*------------------
+ Vertical Aligned
+-------------------*/
+
+.ui.top.aligned.images .image,
+.ui.top.aligned.image,
+.ui.top.aligned.image svg,
+.ui.top.aligned.image img {
+ display: inline-block;
+ vertical-align: top;
+}
+.ui.middle.aligned.images .image,
+.ui.middle.aligned.image,
+.ui.middle.aligned.image svg,
+.ui.middle.aligned.image img {
+ display: inline-block;
+ vertical-align: middle;
+}
+.ui.bottom.aligned.images .image,
+.ui.bottom.aligned.image,
+.ui.bottom.aligned.image svg,
+.ui.bottom.aligned.image img {
+ display: inline-block;
+ vertical-align: bottom;
+}
+
+/*--------------
+ Rounded
+---------------*/
+
+.ui.rounded.images .image,
+.ui.rounded.image,
+.ui.rounded.images .image > *,
+.ui.rounded.image > * {
+ border-radius: @roundedBorderRadius;
+}
+
+/*--------------
+ Bordered
+---------------*/
+
+.ui.bordered.images .image,
+.ui.bordered.images img,
+.ui.bordered.images svg,
+.ui.bordered.image img,
+.ui.bordered.image svg,
+img.ui.bordered.image {
+ border: @imageBorder;
+}
+
+/*--------------
+ Circular
+---------------*/
+
+.ui.circular.images,
+.ui.circular.image {
+ overflow: hidden;
+}
+
+.ui.circular.images .image,
+.ui.circular.image,
+.ui.circular.images .image > *,
+.ui.circular.image > * {
+ -webkit-border-radius: @circularRadius;
+ -moz-border-radius: @circularRadius;
+ border-radius: @circularRadius;
+}
+
+/*--------------
+ Fluid
+---------------*/
+
+.ui.fluid.images,
+.ui.fluid.image,
+.ui.fluid.images img,
+.ui.fluid.images svg,
+.ui.fluid.image svg,
+.ui.fluid.image img {
+ display: block;
+ width: 100%;
+ height: auto;
+}
+
+
+/*--------------
+ Avatar
+---------------*/
+
+.ui.avatar.images .image,
+.ui.avatar.images img,
+.ui.avatar.images svg,
+.ui.avatar.image img,
+.ui.avatar.image svg,
+.ui.avatar.image {
+ margin-right: @avatarMargin;
+
+ display: inline-block;
+ width: @avatarSize;
+ height: @avatarSize;
+
+ -webkit-border-radius: @circularRadius;
+ -moz-border-radius: @circularRadius;
+ border-radius: @circularRadius;
+}
+
+/*-------------------
+ Spaced
+--------------------*/
+
+.ui.spaced.image {
+ display: inline-block !important;
+ margin-left: @spacedDistance;
+ margin-right: @spacedDistance;
+}
+
+.ui[class*="left spaced"].image {
+ margin-left: @spacedDistance;
+ margin-right: 0em;
+}
+
+.ui[class*="right spaced"].image {
+ margin-left: 0em;
+ margin-right: @spacedDistance;
+}
+
+/*-------------------
+ Floated
+--------------------*/
+
+.ui.floated.image,
+.ui.floated.images {
+ float: left;
+ margin-right: @floatedHorizontalMargin;
+ margin-bottom: @floatedVerticalMargin;
+}
+.ui.right.floated.images,
+.ui.right.floated.image {
+ float: right;
+ margin-right: 0em;
+ margin-bottom: @floatedVerticalMargin;
+ margin-left: @floatedHorizontalMargin;
+}
+
+.ui.floated.images:last-child,
+.ui.floated.image:last-child {
+ margin-bottom: 0em;
+}
+
+
+.ui.centered.images,
+.ui.centered.image {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+/*--------------
+ Sizes
+---------------*/
+
+.ui.mini.images .image,
+.ui.mini.images img,
+.ui.mini.images svg,
+.ui.mini.image {
+ width: @miniWidth;
+ height: auto;
+ font-size: @mini;
+}
+.ui.tiny.images .image,
+.ui.tiny.images img,
+.ui.tiny.images svg,
+.ui.tiny.image {
+ width: @tinyWidth;
+ height: auto;
+ font-size: @tiny;
+}
+.ui.small.images .image,
+.ui.small.images img,
+.ui.small.images svg,
+.ui.small.image {
+ width: @smallWidth;
+ height: auto;
+ font-size: @small;
+}
+.ui.medium.images .image,
+.ui.medium.images img,
+.ui.medium.images svg,
+.ui.medium.image {
+ width: @mediumWidth;
+ height: auto;
+ font-size: @medium;
+}
+.ui.large.images .image,
+.ui.large.images img,
+.ui.large.images svg,
+.ui.large.image {
+ width: @largeWidth;
+ height: auto;
+ font-size: @large;
+}
+.ui.big.images .image,
+.ui.big.images img,
+.ui.big.images svg,
+.ui.big.image {
+ width: @bigWidth;
+ height: auto;
+ font-size: @big;
+}
+.ui.huge.images .image,
+.ui.huge.images img,
+.ui.huge.images svg,
+.ui.huge.image {
+ width: @hugeWidth;
+ height: auto;
+ font-size: @huge;
+}
+.ui.massive.images .image,
+.ui.massive.images img,
+.ui.massive.images svg,
+.ui.massive.image {
+ width: @massiveWidth;
+ height: auto;
+ font-size: @massive;
+}
+
+
+/*******************************
+ Groups
+*******************************/
+
+.ui.images {
+ font-size: 0em;
+ margin: 0em -@imageHorizontalMargin 0rem;
+}
+
+.ui.images .image,
+.ui.images img,
+.ui.images svg {
+ display: inline-block;
+ margin: 0em @imageHorizontalMargin @imageVerticalMargin;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/input.less b/src/semantic/src/definitions/elements/input.less
new file mode 100755
index 0000000..991a309
--- /dev/null
+++ b/src/semantic/src/definitions/elements/input.less
@@ -0,0 +1,507 @@
+/*!
+ * # Semantic UI - Input
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'input';
+
+@import (multiple) '../../theme.config';
+
+
+/*******************************
+ Standard
+*******************************/
+
+
+/*--------------------
+ Inputs
+---------------------*/
+
+.ui.input {
+ position: relative;
+ font-weight: normal;
+ font-style: normal;
+ display: inline-flex;
+ color: @inputColor;
+}
+.ui.input input {
+ margin: 0em;
+ max-width: 100%;
+ flex: 1 0 auto;
+ outline: none;
+ -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+ text-align: @textAlign;
+ line-height: @lineHeight;
+
+ font-family: @inputFont;
+ padding: @padding;
+
+ background: @background;
+ border: @border;
+ color: @inputColor;
+ border-radius: @borderRadius;
+ transition: @transition;
+
+ box-shadow: @boxShadow;
+}
+
+
+/*--------------------
+ Placeholder
+---------------------*/
+
+/* browsers require these rules separate */
+
+.ui.input input::-webkit-input-placeholder {
+ color: @placeholderColor;
+}
+.ui.input input::-moz-placeholder {
+ color: @placeholderColor;
+}
+.ui.input input:-ms-input-placeholder {
+ color: @placeholderColor;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+/*--------------------
+ Disabled
+---------------------*/
+
+.ui.disabled.input,
+.ui.input input[disabled] {
+ opacity: @disabledOpacity;
+}
+
+.ui.disabled.input input,
+.ui.input input[disabled] {
+ pointer-events: none;
+}
+
+/*--------------------
+ Active
+---------------------*/
+
+.ui.input input:active,
+.ui.input.down input {
+ border-color: @downBorderColor;
+ background: @downBackground;
+ color: @downColor;
+ box-shadow: @downBoxShadow;
+}
+
+/*--------------------
+ Loading
+---------------------*/
+
+.ui.loading.loading.input > i.icon:before {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: 50%;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ border-radius: @circularRadius;
+ border: @loaderLineWidth solid @loaderFillColor;
+}
+.ui.loading.loading.input > i.icon:after {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: 50%;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ animation: button-spin @loaderSpeed linear;
+ animation-iteration-count: infinite;
+
+ border-radius: @circularRadius;
+
+ border-color: @loaderLineColor transparent transparent;
+ border-style: solid;
+ border-width: @loaderLineWidth;
+
+ box-shadow: 0px 0px 0px 1px transparent;
+}
+
+
+/*--------------------
+ Focus
+---------------------*/
+
+.ui.input.focus input,
+.ui.input input:focus {
+ border-color: @focusBorderColor;
+ background: @focusBackground;
+ color: @focusColor;
+ box-shadow: @focusBoxShadow;
+}
+.ui.input.focus input::-webkit-input-placeholder,
+.ui.input input:focus::-webkit-input-placeholder {
+ color: @placeholderFocusColor;
+}
+.ui.input.focus input::-moz-placeholder,
+.ui.input input:focus::-moz-placeholder {
+ color: @placeholderFocusColor;
+}
+.ui.input.focus input:-ms-input-placeholder,
+.ui.input input:focus:-ms-input-placeholder {
+ color: @placeholderFocusColor;
+}
+
+
+
+/*--------------------
+ Error
+---------------------*/
+
+.ui.input.error input {
+ background-color: @errorBackground;
+ border-color: @errorBorder;
+ color: @errorColor;
+ box-shadow: @errorBoxShadow;
+}
+
+/* Error Placeholder */
+.ui.input.error input::-webkit-input-placeholder {
+ color: @placeholderErrorColor;
+}
+.ui.input.error input::-moz-placeholder {
+ color: @placeholderErrorColor;
+}
+.ui.input.error input:-ms-input-placeholder {
+ color: @placeholderErrorColor !important;
+}
+
+/* Focused Error Placeholder */
+.ui.input.error input:focus::-webkit-input-placeholder {
+ color: @placeholderErrorFocusColor;
+}
+.ui.input.error input:focus::-moz-placeholder {
+ color: @placeholderErrorFocusColor;
+}
+.ui.input.error input:focus:-ms-input-placeholder {
+ color: @placeholderErrorFocusColor !important;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------------
+ Transparent
+---------------------*/
+
+
+.ui.transparent.input input {
+ border-color: transparent !important;
+ background-color: transparent !important;
+ padding: 0em !important;
+ box-shadow: none !important;
+}
+
+/* Transparent Icon */
+.ui.transparent.icon.input > i.icon {
+ width: @transparentIconWidth;
+}
+.ui.transparent.icon.input > input {
+ padding-left: 0em !important;
+ padding-right: @transparentIconMargin !important;
+}
+.ui.transparent[class*="left icon"].input > input {
+ padding-left: @transparentIconMargin !important;
+ padding-right: 0em !important;
+}
+
+/* Transparent Inverted */
+.ui.transparent.inverted.input {
+ color: @transparentInvertedColor;
+}
+.ui.transparent.inverted.input input {
+ color: inherit;
+}
+
+.ui.transparent.inverted.input input::-webkit-input-placeholder {
+ color: @transparentInvertedPlaceholderColor;
+}
+.ui.transparent.inverted.input input::-moz-placeholder {
+ color: @transparentInvertedPlaceholderColor;
+}
+.ui.transparent.inverted.input input:-ms-input-placeholder {
+ color: @transparentInvertedPlaceholderColor;
+}
+
+
+/*--------------------
+ Icon
+---------------------*/
+
+.ui.icon.input > i.icon {
+ cursor: default;
+ position: absolute;
+ line-height: 1;
+ text-align: center;
+ top: 0px;
+ right: 0px;
+ margin: 0em;
+ height: 100%;
+
+ width: @iconWidth;
+ opacity: @iconOpacity;
+ border-radius: 0em @borderRadius @borderRadius 0em;
+ transition: @iconTransition;
+}
+.ui.icon.input > i.icon:not(.link) {
+ pointer-events: none;
+}
+.ui.icon.input input {
+ padding-right: @iconMargin !important;
+}
+
+.ui.icon.input > i.icon:before,
+.ui.icon.input > i.icon:after {
+ left: 0;
+ position: absolute;
+ text-align: center;
+ top: 50%;
+ width: 100%;
+ margin-top: @iconOffset;
+}
+.ui.icon.input > i.link.icon {
+ cursor: pointer;
+}
+.ui.icon.input > i.circular.icon {
+ top: @circularIconVerticalOffset;
+ right: @circularIconHorizontalOffset;
+}
+
+/* Left Icon Input */
+.ui[class*="left icon"].input > i.icon {
+ right: auto;
+ left: @borderWidth;
+ border-radius: @borderRadius 0em 0em @borderRadius;
+}
+.ui[class*="left icon"].input > i.circular.icon {
+ right: auto;
+ left: @circularIconHorizontalOffset;
+}
+.ui[class*="left icon"].input > input {
+ padding-left: @iconMargin !important;
+ padding-right: @horizontalPadding !important;
+}
+
+/* Focus */
+.ui.icon.input > input:focus ~ i.icon {
+ opacity: 1;
+}
+
+/*--------------------
+ Labeled
+---------------------*/
+
+/* Adjacent Label */
+.ui.labeled.input > .label {
+ flex: 0 0 auto;
+ margin: 0;
+ font-size: @relativeMedium;
+}
+.ui.labeled.input > .label:not(.corner) {
+ padding-top: @verticalPadding;
+ padding-bottom: @verticalPadding;
+}
+
+/* Regular Label on Left */
+.ui.labeled.input:not([class*="corner labeled"]) .label:first-child {
+ border-top-right-radius: 0px;
+ border-bottom-right-radius: 0px;
+}
+.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input {
+ border-top-left-radius: 0px;
+ border-bottom-left-radius: 0px;
+ border-left-color: transparent;
+}
+.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input:focus {
+ border-left-color: @focusBorderColor;
+}
+
+/* Regular Label on Right */
+.ui[class*="right labeled"].input input {
+ border-top-right-radius: 0px !important;
+ border-bottom-right-radius: 0px !important;
+ border-right-color: transparent !important;
+}
+.ui[class*="right labeled"].input input + .label {
+ border-top-left-radius: 0px;
+ border-bottom-left-radius: 0px;
+}
+
+.ui[class*="right labeled"].input input:focus {
+ border-right-color: @focusBorderColor !important;
+}
+
+/* Corner Label */
+.ui.labeled.input .corner.label {
+ top: @labelCornerTop;
+ right: @labelCornerRight;
+ font-size: @labelCornerSize;
+ border-radius: 0em @borderRadius 0em 0em;
+}
+
+/* Spacing with corner label */
+.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input input {
+ padding-right: @labeledMargin !important;
+}
+.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > input {
+ padding-right: @labeledIconInputMargin !important;
+}
+.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > .icon {
+ margin-right: @labeledIconMargin;
+}
+
+/* Left Labeled */
+.ui[class*="left corner labeled"].labeled.input input {
+ padding-left: @labeledMargin !important;
+}
+.ui[class*="left corner labeled"].icon.input > input {
+ padding-left: @labeledIconInputMargin !important;
+}
+.ui[class*="left corner labeled"].icon.input > .icon {
+ margin-left: @labeledIconMargin;
+}
+
+/* Corner Label Position */
+.ui.input > .ui.corner.label {
+ top: @borderWidth;
+ right: @borderWidth;
+}
+.ui.input > .ui.left.corner.label {
+ right: auto;
+ left: @borderWidth;
+}
+
+
+/*--------------------
+ Action
+---------------------*/
+
+.ui.action.input > .button,
+.ui.action.input > .buttons {
+ display: flex;
+ align-items: center;
+ flex: 0 0 auto;
+}
+.ui.action.input > .button,
+.ui.action.input > .buttons > .button {
+ padding-top: @verticalPadding;
+ padding-bottom: @verticalPadding;
+ margin: 0;
+}
+
+/* Button on Right */
+.ui.action.input:not([class*="left action"]) > input {
+ border-top-right-radius: 0px !important;
+ border-bottom-right-radius: 0px !important;
+ border-right-color: transparent !important;
+}
+.ui.action.input:not([class*="left action"]) > .dropdown:not(:first-child),
+.ui.action.input:not([class*="left action"]) > .button:not(:first-child),
+.ui.action.input:not([class*="left action"]) > .buttons:not(:first-child) > .button {
+ border-radius: 0px;
+}
+.ui.action.input:not([class*="left action"]) > .dropdown:last-child,
+.ui.action.input:not([class*="left action"]) > .button:last-child,
+.ui.action.input:not([class*="left action"]) > .buttons:last-child > .button {
+ border-radius: 0px @borderRadius @borderRadius 0px;
+}
+
+/* Input Focus */
+.ui.action.input:not([class*="left action"]) input:focus {
+ border-right-color: @focusBorderColor !important;
+}
+
+/* Button on Left */
+.ui[class*="left action"].input > input {
+ border-top-left-radius: 0px !important;
+ border-bottom-left-radius: 0px !important;
+ border-left-color: transparent !important;
+}
+.ui[class*="left action"].input > .dropdown,
+.ui[class*="left action"].input > .button,
+.ui[class*="left action"].input > .buttons > .button {
+ border-radius: 0px;
+}
+.ui[class*="left action"].input > .dropdown:first-child,
+.ui[class*="left action"].input > .button:first-child,
+.ui[class*="left action"].input > .buttons:first-child > .button {
+ border-radius: @borderRadius 0px 0px @borderRadius;
+}
+/* Input Focus */
+.ui[class*="left action"].input > input:focus {
+ border-left-color: @focusBorderColor !important;
+}
+
+/*--------------------
+ Inverted
+---------------------*/
+
+/* Standard */
+.ui.inverted.input input {
+ border: none;
+}
+
+/*--------------------
+ Fluid
+---------------------*/
+
+.ui.fluid.input {
+ display: flex;
+}
+.ui.fluid.input > input {
+ width: 0px !important;
+}
+
+/*--------------------
+ Size
+---------------------*/
+
+.ui.mini.input {
+ font-size: @relativeMini;
+}
+.ui.small.input {
+ font-size: @relativeSmall;
+}
+.ui.input {
+ font-size: @relativeMedium;
+}
+.ui.large.input {
+ font-size: @relativeLarge;
+}
+.ui.big.input {
+ font-size: @relativeBig;
+}
+.ui.huge.input {
+ font-size: @relativeHuge;
+}
+.ui.massive.input {
+ font-size: @relativeMassive;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/label.less b/src/semantic/src/definitions/elements/label.less
new file mode 100755
index 0000000..7141666
--- /dev/null
+++ b/src/semantic/src/definitions/elements/label.less
@@ -0,0 +1,1257 @@
+/*!
+ * # Semantic UI - Label
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'label';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Label
+*******************************/
+
+.ui.label {
+ display: inline-block;
+ line-height: 1;
+ vertical-align: @verticalAlign;
+
+ margin: @verticalMargin @horizontalMargin;
+
+ background-color: @backgroundColor;
+ background-image: @backgroundImage;
+ padding: @verticalPadding @horizontalPadding;
+ color: @color;
+
+ text-transform: @textTransform;
+ font-weight: @fontWeight;
+
+ border: @border;
+ border-radius: @borderRadius;
+ transition: @transition;
+}
+
+.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: @linkOpacity;
+ transition: @linkTransition;
+}
+.ui.label > a:hover {
+ opacity: 1;
+}
+
+/* Image */
+.ui.label > img {
+ width: auto !important;
+ vertical-align: middle;
+ height: @imageHeight !important;
+}
+
+/* Icon */
+.ui.label > .icon {
+ width: auto;
+ margin: 0em @iconDistance 0em 0em;
+}
+
+/* Detail */
+.ui.label > .detail {
+ display: inline-block;
+ vertical-align: top;
+ font-weight: @detailFontWeight;
+ margin-left: @detailMargin;
+ opacity: @detailOpacity;
+}
+.ui.label > .detail .icon {
+ margin: 0em @detailIconDistance 0em 0em;
+}
+
+
+/* Removable label */
+.ui.label > .close.icon,
+.ui.label > .delete.icon {
+ cursor: pointer;
+ margin-right: 0em;
+ margin-left: @deleteMargin;
+ font-size: @deleteSize;
+ opacity: @deleteOpacity;
+ transition: @deleteTransition;
+}
+.ui.label > .delete.icon:hover {
+ opacity: 1;
+}
+
+/*-------------------
+ Group
+--------------------*/
+
+.ui.labels > .label {
+ margin: 0em @groupHorizontalMargin @groupVerticalMargin 0em;
+}
+
+
+/*-------------------
+ Coupling
+--------------------*/
+
+.ui.header > .ui.label {
+ margin-top: @lineHeightOffset;
+}
+
+/* Remove border radius on attached segment */
+.ui.attached.segment > .ui.top.left.attached.label,
+.ui.bottom.attached.segment > .ui.top.left.attached.label {
+ border-top-left-radius: 0;
+}
+.ui.attached.segment > .ui.top.right.attached.label,
+.ui.bottom.attached.segment > .ui.top.right.attached.label {
+ border-top-right-radius: 0;
+}
+.ui.top.attached.segment > .ui.bottom.left.attached.label {
+ border-bottom-left-radius: 0;
+}
+.ui.top.attached.segment > .ui.bottom.right.attached.label {
+ border-bottom-right-radius: 0;
+}
+
+/* Padding on next content after a label */
+.ui.top.attached.label:first-child + :not(.attached),
+.ui.top.attached.label + [class*="right floated"] + * {
+ margin-top: @attachedSegmentPadding !important;
+}
+.ui.bottom.attached.label:first-child ~ :last-child:not(.attached) {
+ margin-top: 0em;
+ margin-bottom: @attachedSegmentPadding !important;
+}
+
+
+/*******************************
+ Types
+*******************************/
+
+.ui.image.label {
+ width: auto !important;
+ margin-top: 0em;
+ margin-bottom: 0em;
+ max-width: 9999px;
+ vertical-align: baseline;
+ text-transform: none;
+
+ background: @imageLabelBackground;
+ padding: @imageLabelPadding;
+ border-radius: @imageLabelBorderRadius;
+ box-shadow: @imageLabelBoxShadow;
+}
+
+.ui.image.label img {
+ display: inline-block;
+ vertical-align: top;
+
+ height: @imageLabelImageHeight;
+ margin: @imageLabelImageMargin;
+ border-radius: @imageLabelImageBorderRadius;
+}
+
+.ui.image.label .detail {
+ background: @imageLabelDetailBackground;
+ margin: @imageLabelDetailMargin;
+ padding: @imageLabelDetailPadding;
+ border-radius: 0em @imageLabelBorderRadius @imageLabelBorderRadius 0em;
+}
+
+/*-------------------
+ Tag
+--------------------*/
+
+.ui.tag.labels .label,
+.ui.tag.label {
+ margin-left: 1em;
+ position: relative;
+ padding-left: @tagHorizontalPadding;
+ padding-right: @tagHorizontalPadding;
+
+ border-radius: 0em @borderRadius @borderRadius 0em;
+ transition: @tagTransition;
+}
+.ui.tag.labels .label:before,
+.ui.tag.label:before {
+ position: absolute;
+ transform: translateY(-50%) translateX(50%) rotate(-45deg);
+
+ top: @tagTriangleTopOffset;
+ right: @tagTriangleRightOffset;
+ content: '';
+
+ background-color: inherit;
+ background-image: @tagTriangleBackgroundImage;
+
+ width: @tagTriangleSize;
+ height: @tagTriangleSize;
+ transition: @tagTransition;
+}
+
+
+.ui.tag.labels .label:after,
+.ui.tag.label:after {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: -(@tagCircleSize / 2);
+
+ margin-top: -(@tagCircleSize / 2);
+ background-color: @tagCircleColor !important;
+ width: @tagCircleSize;
+ height: @tagCircleSize;
+
+ box-shadow: @tagCircleBoxShadow;
+ border-radius: @circularRadius;
+}
+
+
+/*-------------------
+ Corner Label
+--------------------*/
+
+.ui.corner.label {
+ position: absolute;
+ top: 0em;
+ right: 0em;
+ margin: 0em;
+ padding: 0em;
+ text-align: center;
+
+ border-color: @backgroundColor;
+
+ width: @cornerTriangleSize;
+ height: @cornerTriangleSize;
+ z-index: @cornerTriangleZIndex;
+ transition: @cornerTriangleTransition;
+}
+
+/* Icon Label */
+.ui.corner.label{
+ background-color: transparent !important;
+}
+.ui.corner.label:after {
+ position: absolute;
+ content: "";
+ right: 0em;
+ top: 0em;
+ z-index: -1;
+
+ width: 0em;
+ height: 0em;
+ background-color: transparent !important;
+
+ border-top: 0em solid transparent;
+ border-right: @cornerTriangleSize solid transparent;
+ border-bottom: @cornerTriangleSize solid transparent;
+ border-left: 0em solid transparent;
+
+ border-right-color: inherit;
+ transition: @cornerTriangleTransition;
+}
+
+.ui.corner.label .icon {
+ cursor: default;
+ position: relative;
+ top: @cornerIconTopOffset;
+ left: @cornerIconLeftOffset;
+ font-size: @cornerIconSize;
+ margin: 0em;
+}
+
+/* Left Corner */
+.ui.left.corner.label,
+.ui.left.corner.label:after {
+ right: auto;
+ left: 0em;
+}
+.ui.left.corner.label:after {
+ border-top: @cornerTriangleSize solid transparent;
+ border-right: @cornerTriangleSize solid transparent;
+ border-bottom: 0em solid transparent;
+ border-left: 0em solid transparent;
+
+ border-top-color: inherit;
+}
+.ui.left.corner.label .icon {
+ left: -@cornerIconLeftOffset;
+}
+
+/* Segment */
+.ui.segment > .ui.corner.label {
+ top: -1px;
+ right: -1px;
+}
+.ui.segment > .ui.left.corner.label {
+ right: auto;
+ left: -1px;
+}
+
+/*-------------------
+ Ribbon
+--------------------*/
+
+.ui.ribbon.label {
+ position: relative;
+ margin: 0em;
+ min-width: max-content;
+ border-radius: 0em @borderRadius @borderRadius 0em;
+ border-color: @ribbonShadowColor;
+}
+
+.ui.ribbon.label:after {
+ position: absolute;
+ content: '';
+
+ top: 100%;
+ left: 0%;
+ background-color: transparent !important;
+
+ border-style: solid;
+ border-width: 0em @ribbonTriangleSize @ribbonTriangleSize 0em;
+ border-color: transparent;
+ border-right-color: inherit;
+
+ width: 0em;
+ height: 0em;
+}
+/* Positioning */
+.ui.ribbon.label {
+ left: @ribbonOffset;
+ margin-right: -@ribbonTriangleSize;
+ padding-left: @ribbonDistance;
+ padding-right: @ribbonTriangleSize;
+}
+.ui[class*="right ribbon"].label {
+ left: @rightRibbonOffset;
+ padding-left: @ribbonTriangleSize;
+ padding-right: @ribbonDistance;
+}
+
+/* Right Ribbon */
+.ui[class*="right ribbon"].label {
+ text-align: left;
+ transform: translateX(-100%);
+ border-radius: @borderRadius 0em 0em @borderRadius;
+}
+.ui[class*="right ribbon"].label:after {
+ left: auto;
+ right: 0%;
+
+ border-style: solid;
+ border-width: @ribbonTriangleSize @ribbonTriangleSize 0em 0em;
+ border-color: transparent;
+ border-top-color: inherit;
+}
+
+/* Inside Table */
+.ui.image > .ribbon.label,
+.ui.card .image > .ribbon.label {
+ position: absolute;
+ top: @ribbonImageTopDistance;
+}
+.ui.card .image > .ui.ribbon.label,
+.ui.image > .ui.ribbon.label {
+ left: @ribbonImageOffset;
+}
+.ui.card .image > .ui[class*="right ribbon"].label,
+.ui.image > .ui[class*="right ribbon"].label {
+ left: @rightRibbonImageOffset;
+ padding-left: @horizontalPadding;
+}
+
+/* Inside Table */
+.ui.table td > .ui.ribbon.label {
+ left: @ribbonTableOffset;
+}
+.ui.table td > .ui[class*="right ribbon"].label {
+ left: @rightRibbonTableOffset;
+ padding-left: @horizontalPadding;
+}
+
+
+/*-------------------
+ Attached
+--------------------*/
+
+.ui[class*="top attached"].label,
+.ui.attached.label {
+ width: 100%;
+ position: absolute;
+ margin: 0em;
+ top: 0em;
+ left: 0em;
+
+ padding: @attachedVerticalPadding @attachedHorizontalPadding;
+
+ border-radius: @attachedCornerBorderRadius @attachedCornerBorderRadius 0em 0em;
+}
+.ui[class*="bottom attached"].label {
+ top: auto;
+ bottom: 0em;
+ border-radius: 0em 0em @attachedCornerBorderRadius @attachedCornerBorderRadius;
+}
+
+.ui[class*="top left attached"].label {
+ width: auto;
+ margin-top: 0em !important;
+ border-radius: @attachedCornerBorderRadius 0em @attachedBorderRadius 0em;
+}
+
+.ui[class*="top right attached"].label {
+ width: auto;
+ left: auto;
+ right: 0em;
+ border-radius: 0em @attachedCornerBorderRadius 0em @attachedBorderRadius;
+}
+.ui[class*="bottom left attached"].label {
+ width: auto;
+ top: auto;
+ bottom: 0em;
+ border-radius: 0em @attachedBorderRadius 0em @attachedCornerBorderRadius;
+}
+.ui[class*="bottom right attached"].label {
+ top: auto;
+ bottom: 0em;
+ left: auto;
+ right: 0em;
+ width: auto;
+ border-radius: @attachedBorderRadius 0em @attachedCornerBorderRadius 0em;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+/*-------------------
+ Disabled
+--------------------*/
+
+.ui.label.disabled {
+ opacity: 0.5;
+}
+
+/*-------------------
+ Hover
+--------------------*/
+
+a.ui.labels .label:hover,
+a.ui.label:hover {
+ background-color: @labelHoverBackgroundColor;
+ border-color: @labelHoverBackgroundColor;
+
+ background-image: @labelHoverBackgroundImage;
+ color: @labelHoverTextColor;
+}
+.ui.labels a.label:hover:before,
+a.ui.label:hover:before {
+ color: @labelHoverTextColor;
+}
+
+/*-------------------
+ Active
+--------------------*/
+
+.ui.active.label {
+ background-color: @labelActiveBackgroundColor;
+ border-color: @labelActiveBackgroundColor;
+
+ background-image: @labelActiveBackgroundImage;
+ color: @labelActiveTextColor;
+}
+.ui.active.label:before {
+ background-color: @labelActiveBackgroundColor;
+ background-image: @labelActiveBackgroundImage;
+ color: @labelActiveTextColor;
+}
+
+/*-------------------
+ Active Hover
+--------------------*/
+
+a.ui.labels .active.label:hover,
+a.ui.active.label:hover {
+ background-color: @labelActiveHoverBackgroundColor;
+ border-color: @labelActiveHoverBackgroundColor;
+
+ background-image: @labelActiveHoverBackgroundImage;
+ color: @labelActiveHoverTextColor;
+}
+.ui.labels a.active.label:ActiveHover:before,
+a.ui.active.label:ActiveHover:before {
+ background-color: @labelActiveHoverBackgroundColor;
+ background-image: @labelActiveHoverBackgroundImage;
+ color: @labelActiveHoverTextColor;
+}
+
+
+/*-------------------
+ Visible
+--------------------*/
+
+.ui.labels.visible .label,
+.ui.label.visible:not(.dropdown) {
+ display: inline-block !important;
+}
+
+/*-------------------
+ Hidden
+--------------------*/
+
+.ui.labels.hidden .label,
+.ui.label.hidden {
+ display: none !important;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*-------------------
+ Colors
+--------------------*/
+
+/*--- Red ---*/
+.ui.red.labels .label,
+.ui.red.label {
+ background-color: @red !important;
+ border-color: @red !important;
+ color: @redTextColor !important;
+}
+/* Link */
+.ui.red.labels .label:hover,
+a.ui.red.label:hover{
+ background-color: @redHover !important;
+ border-color: @redHover !important;
+ color: @redHoverTextColor !important;
+}
+/* Corner */
+.ui.red.corner.label,
+.ui.red.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.red.ribbon.label {
+ border-color: @redRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.red.label {
+ background-color: @white !important;
+ color: @red !important;
+ border-color: @red !important;
+}
+.ui.basic.red.labels a.label:hover,
+a.ui.basic.red.label:hover {
+ background-color: @white !important;
+ color: @redHover !important;
+ border-color: @redHover !important;
+}
+
+/*--- Orange ---*/
+.ui.orange.labels .label,
+.ui.orange.label {
+ background-color: @orange !important;
+ border-color: @orange !important;
+ color: @orangeTextColor !important;
+}
+/* Link */
+.ui.orange.labels .label:hover,
+a.ui.orange.label:hover{
+ background-color: @orangeHover !important;
+ border-color: @orangeHover !important;
+ color: @orangeHoverTextColor !important;
+}
+/* Corner */
+.ui.orange.corner.label,
+.ui.orange.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.orange.ribbon.label {
+ border-color: @orangeRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.orange.label {
+ background-color: @white !important;
+ color: @orange !important;
+ border-color: @orange !important;
+}
+.ui.basic.orange.labels a.label:hover,
+a.ui.basic.orange.label:hover {
+ background-color: @white !important;
+ color: @orangeHover !important;
+ border-color: @orangeHover !important;
+}
+
+/*--- Yellow ---*/
+.ui.yellow.labels .label,
+.ui.yellow.label {
+ background-color: @yellow !important;
+ border-color: @yellow !important;
+ color: @yellowTextColor !important;
+}
+/* Link */
+.ui.yellow.labels .label:hover,
+a.ui.yellow.label:hover{
+ background-color: @yellowHover !important;
+ border-color: @yellowHover !important;
+ color: @yellowHoverTextColor !important;
+}
+/* Corner */
+.ui.yellow.corner.label,
+.ui.yellow.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.yellow.ribbon.label {
+ border-color: @yellowRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.yellow.label {
+ background-color: @white !important;
+ color: @yellow !important;
+ border-color: @yellow !important;
+}
+.ui.basic.yellow.labels a.label:hover,
+a.ui.basic.yellow.label:hover {
+ background-color: @white !important;
+ color: @yellowHover !important;
+ border-color: @yellowHover !important;
+}
+
+/*--- Olive ---*/
+.ui.olive.labels .label,
+.ui.olive.label {
+ background-color: @olive !important;
+ border-color: @olive !important;
+ color: @oliveTextColor !important;
+}
+/* Link */
+.ui.olive.labels .label:hover,
+a.ui.olive.label:hover{
+ background-color: @oliveHover !important;
+ border-color: @oliveHover !important;
+ color: @oliveHoverTextColor !important;
+}
+/* Corner */
+.ui.olive.corner.label,
+.ui.olive.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.olive.ribbon.label {
+ border-color: @greenRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.olive.label {
+ background-color: @white !important;
+ color: @olive !important;
+ border-color: @olive !important;
+}
+.ui.basic.olive.labels a.label:hover,
+a.ui.basic.olive.label:hover {
+ background-color: @white !important;
+ color: @oliveHover !important;
+ border-color: @oliveHover !important;
+}
+
+/*--- Green ---*/
+.ui.green.labels .label,
+.ui.green.label {
+ background-color: @green !important;
+ border-color: @green !important;
+ color: @greenTextColor !important;
+}
+/* Link */
+.ui.green.labels .label:hover,
+a.ui.green.label:hover{
+ background-color: @greenHover !important;
+ border-color: @greenHover !important;
+ color: @greenHoverTextColor !important;
+}
+/* Corner */
+.ui.green.corner.label,
+.ui.green.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.green.ribbon.label {
+ border-color: @greenRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.green.label {
+ background-color: @white !important;
+ color: @green !important;
+ border-color: @green !important;
+}
+.ui.basic.green.labels a.label:hover,
+a.ui.basic.green.label:hover {
+ background-color: @white !important;
+ color: @greenHover !important;
+ border-color: @greenHover !important;
+}
+
+/*--- Teal ---*/
+.ui.teal.labels .label,
+.ui.teal.label {
+ background-color: @teal !important;
+ border-color: @teal !important;
+ color: @tealTextColor !important;
+}
+/* Link */
+.ui.teal.labels .label:hover,
+a.ui.teal.label:hover{
+ background-color: @tealHover !important;
+ border-color: @tealHover !important;
+ color: @tealHoverTextColor !important;
+}
+/* Corner */
+.ui.teal.corner.label,
+.ui.teal.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.teal.ribbon.label {
+ border-color: @tealRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.teal.label {
+ background-color: @white !important;
+ color: @teal !important;
+ border-color: @teal !important;
+}
+.ui.basic.teal.labels a.label:hover,
+a.ui.basic.teal.label:hover {
+ background-color: @white !important;
+ color: @tealHover !important;
+ border-color: @tealHover !important;
+}
+
+/*--- Blue ---*/
+.ui.blue.labels .label,
+.ui.blue.label {
+ background-color: @blue !important;
+ border-color: @blue !important;
+ color: @blueTextColor !important;
+}
+/* Link */
+.ui.blue.labels .label:hover,
+a.ui.blue.label:hover{
+ background-color: @blueHover !important;
+ border-color: @blueHover !important;
+ color: @blueHoverTextColor !important;
+}
+/* Corner */
+.ui.blue.corner.label,
+.ui.blue.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.blue.ribbon.label {
+ border-color: @blueRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.blue.label {
+ background-color: @white !important;
+ color: @blue !important;
+ border-color: @blue !important;
+}
+.ui.basic.blue.labels a.label:hover,
+a.ui.basic.blue.label:hover {
+ background-color: @white !important;
+ color: @blueHover !important;
+ border-color: @blueHover !important;
+}
+
+/*--- Violet ---*/
+.ui.violet.labels .label,
+.ui.violet.label {
+ background-color: @violet !important;
+ border-color: @violet !important;
+ color: @violetTextColor !important;
+}
+/* Link */
+.ui.violet.labels .label:hover,
+a.ui.violet.label:hover{
+ background-color: @violetHover !important;
+ border-color: @violetHover !important;
+ color: @violetHoverTextColor !important;
+}
+/* Corner */
+.ui.violet.corner.label,
+.ui.violet.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.violet.ribbon.label {
+ border-color: @violetRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.violet.label {
+ background-color: @white !important;
+ color: @violet !important;
+ border-color: @violet !important;
+}
+.ui.basic.violet.labels a.label:hover,
+a.ui.basic.violet.label:hover {
+ background-color: @white !important;
+ color: @violetHover !important;
+ border-color: @violetHover !important;
+}
+
+/*--- Purple ---*/
+.ui.purple.labels .label,
+.ui.purple.label {
+ background-color: @purple !important;
+ border-color: @purple !important;
+ color: @purpleTextColor !important;
+}
+/* Link */
+.ui.purple.labels .label:hover,
+a.ui.purple.label:hover{
+ background-color: @purpleHover !important;
+ border-color: @purpleHover !important;
+ color: @purpleHoverTextColor !important;
+}
+/* Corner */
+.ui.purple.corner.label,
+.ui.purple.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.purple.ribbon.label {
+ border-color: @purpleRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.purple.label {
+ background-color: @white !important;
+ color: @purple !important;
+ border-color: @purple !important;
+}
+.ui.basic.purple.labels a.label:hover,
+a.ui.basic.purple.label:hover {
+ background-color: @white !important;
+ color: @purpleHover !important;
+ border-color: @purpleHover !important;
+}
+
+/*--- Pink ---*/
+.ui.pink.labels .label,
+.ui.pink.label {
+ background-color: @pink !important;
+ border-color: @pink !important;
+ color: @pinkTextColor !important;
+}
+/* Link */
+.ui.pink.labels .label:hover,
+a.ui.pink.label:hover{
+ background-color: @pinkHover !important;
+ border-color: @pinkHover !important;
+ color: @pinkHoverTextColor !important;
+}
+/* Corner */
+.ui.pink.corner.label,
+.ui.pink.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.pink.ribbon.label {
+ border-color: @pinkRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.pink.label {
+ background-color: @white !important;
+ color: @pink !important;
+ border-color: @pink !important;
+}
+.ui.basic.pink.labels a.label:hover,
+a.ui.basic.pink.label:hover {
+ background-color: @white !important;
+ color: @pinkHover !important;
+ border-color: @pinkHover !important;
+}
+
+/*--- Brown ---*/
+.ui.brown.labels .label,
+.ui.brown.label {
+ background-color: @brown !important;
+ border-color: @brown !important;
+ color: @brownTextColor !important;
+}
+/* Link */
+.ui.brown.labels .label:hover,
+a.ui.brown.label:hover{
+ background-color: @brownHover !important;
+ border-color: @brownHover !important;
+ color: @brownHoverTextColor !important;
+}
+/* Corner */
+.ui.brown.corner.label,
+.ui.brown.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.brown.ribbon.label {
+ border-color: @brownRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.brown.label {
+ background-color: @white !important;
+ color: @brown !important;
+ border-color: @brown !important;
+}
+.ui.basic.brown.labels a.label:hover,
+a.ui.basic.brown.label:hover {
+ background-color: @white !important;
+ color: @brownHover !important;
+ border-color: @brownHover !important;
+}
+
+/*--- Grey ---*/
+.ui.grey.labels .label,
+.ui.grey.label {
+ background-color: @grey !important;
+ border-color: @grey !important;
+ color: @greyTextColor !important;
+}
+/* Link */
+.ui.grey.labels .label:hover,
+a.ui.grey.label:hover{
+ background-color: @greyHover !important;
+ border-color: @greyHover !important;
+ color: @greyHoverTextColor !important;
+}
+/* Corner */
+.ui.grey.corner.label,
+.ui.grey.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.grey.ribbon.label {
+ border-color: @brownRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.grey.label {
+ background-color: @white !important;
+ color: @grey !important;
+ border-color: @grey !important;
+}
+.ui.basic.grey.labels a.label:hover,
+a.ui.basic.grey.label:hover {
+ background-color: @white !important;
+ color: @greyHover !important;
+ border-color: @greyHover !important;
+}
+
+/*--- Black ---*/
+.ui.black.labels .label,
+.ui.black.label {
+ background-color: @black !important;
+ border-color: @black !important;
+ color: @blackTextColor !important;
+}
+/* Link */
+.ui.black.labels .label:hover,
+a.ui.black.label:hover{
+ background-color: @blackHover !important;
+ border-color: @blackHover !important;
+ color: @blackHoverTextColor !important;
+}
+/* Corner */
+.ui.black.corner.label,
+.ui.black.corner.label:hover {
+ background-color: transparent !important;
+}
+/* Ribbon */
+.ui.black.ribbon.label {
+ border-color: @brownRibbonShadow !important;
+}
+/* Basic */
+.ui.basic.black.label {
+ background-color: @white !important;
+ color: @black !important;
+ border-color: @black !important;
+}
+.ui.basic.black.labels a.label:hover,
+a.ui.basic.black.label:hover {
+ background-color: @white !important;
+ color: @blackHover !important;
+ border-color: @blackHover !important;
+}
+
+
+/*-------------------
+ Basic
+--------------------*/
+
+.ui.basic.label {
+ background: @basicBackground;
+ border: @basicBorder;
+ color: @basicColor;
+ box-shadow: @basicBoxShadow;
+}
+
+/* Link */
+a.ui.basic.label:hover {
+ text-decoration: none;
+ background: @basicHoverBackground;
+ color: @basicHoverColor;
+ box-shadow: @basicHoverBorder;
+ box-shadow: @basicHoverBoxShadow;
+}
+
+/* Pointing */
+.ui.basic.pointing.label:before {
+ border-color: inherit;
+}
+
+
+/*-------------------
+ Fluid
+--------------------*/
+
+.ui.label.fluid,
+.ui.fluid.labels > .label {
+ width: 100%;
+ box-sizing: border-box;
+}
+
+/*-------------------
+ Inverted
+--------------------*/
+
+.ui.inverted.labels .label,
+.ui.inverted.label {
+ color: @invertedTextColor !important;
+}
+
+/*-------------------
+ Horizontal
+--------------------*/
+
+.ui.horizontal.labels .label,
+.ui.horizontal.label {
+ margin: 0em @horizontalLabelMargin 0em 0em;
+
+ padding: @horizontalLabelVerticalPadding @horizontalPadding;
+ min-width: @horizontalLabelMinWidth;
+ text-align: center;
+}
+
+
+/*-------------------
+ Circular
+--------------------*/
+
+.ui.circular.labels .label,
+.ui.circular.label {
+ min-width: @circularMinSize;
+ min-height: @circularMinSize;
+
+ padding: @circularPadding !important;
+
+ line-height: 1em;
+ text-align: center;
+ border-radius: @circularRadius;
+}
+.ui.empty.circular.labels .label,
+.ui.empty.circular.label {
+ min-width: 0em;
+ min-height: 0em;
+ overflow: hidden;
+ width: @emptyCircleSize;
+ height: @emptyCircleSize;
+ vertical-align: baseline;
+}
+
+/*-------------------
+ Pointing
+--------------------*/
+
+.ui.pointing.label {
+ position: relative;
+}
+
+.ui.attached.pointing.label {
+ position: absolute;
+}
+
+.ui.pointing.label:before {
+ background-color: inherit;
+ background-image: inherit;
+ border-width: none;
+ border-style: solid;
+ border-color: @pointingBorderColor;
+}
+/* Arrow */
+.ui.pointing.label:before {
+ position: absolute;
+ content: '';
+ transform: rotate(45deg);
+ background-image: none;
+
+ z-index: @pointingTriangleZIndex;
+ width: @pointingTriangleSize;
+ height: @pointingTriangleSize;
+ transition: @pointingTriangleTransition;
+}
+
+/*--- Above ---*/
+.ui.pointing.label,
+.ui[class*="pointing above"].label {
+ margin-top: @pointingVerticalDistance;
+}
+.ui.pointing.label:before,
+.ui[class*="pointing above"].label:before {
+ border-width: @borderWidth 0px 0px @borderWidth;
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ top: 0%;
+ left: 50%;
+}
+/*--- Below ---*/
+.ui[class*="bottom pointing"].label,
+.ui[class*="pointing below"].label {
+ margin-top: 0em;
+ margin-bottom: @pointingVerticalDistance;
+}
+.ui[class*="bottom pointing"].label:before,
+.ui[class*="pointing below"].label:before {
+ border-width: 0px @borderWidth @borderWidth 0px;
+ top: auto;
+ right: auto;
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ top: 100%;
+ left: 50%;
+}
+/*--- Left ---*/
+.ui[class*="left pointing"].label {
+ margin-top: 0em;
+ margin-left: @pointingHorizontalDistance;
+}
+.ui[class*="left pointing"].label:before {
+ border-width: 0px 0px @borderWidth @borderWidth;
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ bottom: auto;
+ right: auto;
+ top: 50%;
+ left: 0em;
+}
+/*--- Right ---*/
+.ui[class*="right pointing"].label {
+ margin-top: 0em;
+ margin-right: @pointingHorizontalDistance;
+}
+.ui[class*="right pointing"].label:before {
+ border-width: @borderWidth @borderWidth 0px 0px;
+ transform: translateX(50%) translateY(-50%) rotate(45deg);
+ top: 50%;
+ right: 0%;
+ bottom: auto;
+ left: auto;
+}
+
+/* Basic Pointing */
+
+/*--- Above ---*/
+.ui.basic.pointing.label:before,
+.ui.basic[class*="pointing above"].label:before {
+ margin-top: @basicPointingTriangleOffset;
+}
+/*--- Below ---*/
+.ui.basic[class*="bottom pointing"].label:before,
+.ui.basic[class*="pointing below"].label:before {
+ bottom: auto;
+ top: 100%;
+ margin-top: -@basicPointingTriangleOffset;
+}
+/*--- Left ---*/
+.ui.basic[class*="left pointing"].label:before {
+ top: 50%;
+ left: @basicPointingTriangleOffset;
+}
+/*--- Right ---*/
+.ui.basic[class*="right pointing"].label:before {
+ top: 50%;
+ right: @basicPointingTriangleOffset;
+}
+
+
+/*------------------
+ Floating Label
+-------------------*/
+
+.ui.floating.label {
+ position: absolute;
+ z-index: @floatingZIndex;
+ top: @floatingTopOffset;
+ left: 100%;
+ margin: 0em 0em 0em @floatingLeftOffset !important;
+}
+
+/*-------------------
+ Sizes
+--------------------*/
+
+.ui.mini.labels .label,
+.ui.mini.label {
+ font-size: @mini;
+}
+.ui.tiny.labels .label,
+.ui.tiny.label {
+ font-size: @tiny;
+}
+.ui.small.labels .label,
+.ui.small.label {
+ font-size: @small;
+}
+.ui.labels .label,
+.ui.label {
+ font-size: @medium;
+}
+.ui.large.labels .label,
+.ui.large.label {
+ font-size: @large;
+}
+.ui.big.labels .label,
+.ui.big.label {
+ font-size: @big;
+}
+.ui.huge.labels .label,
+.ui.huge.label {
+ font-size: @huge;
+}
+.ui.massive.labels .label,
+.ui.massive.label {
+ font-size: @massive;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/list.less b/src/semantic/src/definitions/elements/list.less
new file mode 100755
index 0000000..b9c9cf4
--- /dev/null
+++ b/src/semantic/src/definitions/elements/list.less
@@ -0,0 +1,951 @@
+/*!
+ * # Semantic UI - List
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'list';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ List
+*******************************/
+
+ul.ui.list,
+ol.ui.list,
+.ui.list {
+ list-style-type: @listStyleType;
+ margin: @margin;
+ padding: @verticalPadding @horizontalPadding;
+}
+
+ul.ui.list:first-child,
+ol.ui.list:first-child,
+.ui.list:first-child {
+ margin-top: 0em;
+ padding-top: 0em;
+}
+
+ul.ui.list:last-child,
+ol.ui.list:last-child,
+.ui.list:last-child {
+ margin-bottom: 0em;
+ padding-bottom: 0em;
+}
+
+/*******************************
+ Content
+*******************************/
+
+/* List Item */
+ul.ui.list li,
+ol.ui.list li,
+.ui.list > .item,
+.ui.list .list > .item {
+ display: list-item;
+ table-layout: fixed;
+ list-style-type: @listStyleType;
+ list-style-position: @listStylePosition;
+
+ padding: @itemPadding;
+ line-height: @itemLineHeight;
+}
+
+ul.ui.list > li:first-child:after,
+ol.ui.list > li:first-child:after,
+.ui.list > .list > .item,
+.ui.list > .item:after {
+ content: '';
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+
+ul.ui.list li:first-child,
+ol.ui.list li:first-child,
+.ui.list .list > .item:first-child,
+.ui.list > .item:first-child {
+ padding-top: 0em;
+}
+ul.ui.list li:last-child,
+ol.ui.list li:last-child,
+.ui.list .list > .item:last-child,
+.ui.list > .item:last-child {
+ padding-bottom: 0em;
+}
+
+/* Child List */
+ul.ui.list ul,
+ol.ui.list ol,
+.ui.list .list {
+ clear: both;
+ margin: 0em;
+ padding: @childListPadding;
+}
+
+/* Child Item */
+ul.ui.list ul li,
+ol.ui.list ol li,
+.ui.list .list > .item {
+ padding: @childItemPadding;
+ line-height: @childItemLineHeight;
+}
+
+
+/* Icon */
+.ui.list .list > .item > i.icon,
+.ui.list > .item > i.icon {
+ display: table-cell;
+ margin: 0em;
+ padding-top: @iconOffset;
+ padding-right: @iconDistance;
+ vertical-align: @iconContentVerticalAlign;
+ transition: @iconTransition;
+}
+.ui.list .list > .item > i.icon:only-child,
+.ui.list > .item > i.icon:only-child {
+ display: inline-block;
+ vertical-align: @iconVerticalAlign;
+}
+
+
+/* Image */
+.ui.list .list > .item > .image,
+.ui.list > .item > .image {
+ display: table-cell;
+ background-color: transparent;
+ margin: 0em;
+ vertical-align: @imageAlign;
+}
+.ui.list .list > .item > .image:not(:only-child):not(img),
+.ui.list > .item > .image:not(:only-child):not(img) {
+ padding-right: @imageDistance;
+}
+.ui.list .list > .item > .image img,
+.ui.list > .item > .image img {
+ vertical-align: @imageAlign;
+}
+
+.ui.list .list > .item > img.image,
+.ui.list .list > .item > .image:only-child,
+.ui.list > .item > img.image,
+.ui.list > .item > .image:only-child {
+ display: inline-block;
+}
+
+/* Content */
+.ui.list .list > .item > .content,
+.ui.list > .item > .content {
+ line-height: @contentLineHeight;
+}
+.ui.list .list > .item > .image + .content,
+.ui.list .list > .item > .icon + .content,
+.ui.list > .item > .image + .content,
+.ui.list > .item > .icon + .content {
+ display: table-cell;
+ padding: 0em 0em 0em @contentDistance;
+ vertical-align: @contentVerticalAlign;
+}
+.ui.list .list > .item > img.image + .content,
+.ui.list > .item > img.image + .content {
+ display: inline-block;
+}
+.ui.list .list > .item > .content > .list,
+.ui.list > .item > .content > .list {
+ margin-left: 0em;
+ padding-left: 0em;
+}
+
+/* Header */
+.ui.list .list > .item .header,
+.ui.list > .item .header {
+ display: block;
+ margin: 0em;
+ font-family: @itemHeaderFontFamily;
+ font-weight: @itemHeaderFontWeight;
+ color: @itemHeaderColor;
+}
+
+/* Description */
+.ui.list .list > .item .description,
+.ui.list > .item .description {
+ display: block;
+ color: @itemDescriptionColor;
+}
+
+/* Child Link */
+.ui.list > .item a,
+.ui.list .list > .item a {
+ cursor: pointer;
+}
+
+/* Linking Item */
+.ui.list .list > a.item,
+.ui.list > a.item {
+ cursor: pointer;
+ color: @itemLinkColor;
+}
+.ui.list .list > a.item:hover,
+.ui.list > a.item:hover {
+ color: @itemLinkHoverColor;
+}
+
+/* Linked Item Icons */
+.ui.list .list > a.item i.icon,
+.ui.list > a.item i.icon {
+ color: @itemLinkIconColor;
+}
+
+/* Header Link */
+.ui.list .list > .item a.header,
+.ui.list > .item a.header {
+ cursor: pointer;
+ color: @itemHeaderLinkColor !important;
+}
+.ui.list .list > .item a.header:hover,
+.ui.list > .item a.header:hover {
+ color: @itemHeaderLinkHoverColor !important;
+}
+
+/* Floated Content */
+.ui[class*="left floated"].list {
+ float: left;
+}
+.ui[class*="right floated"].list {
+ float: right;
+}
+
+.ui.list .list > .item [class*="left floated"],
+.ui.list > .item [class*="left floated"] {
+ float: left;
+ margin: @leftFloatMargin;
+}
+.ui.list .list > .item [class*="right floated"],
+.ui.list > .item [class*="right floated"] {
+ float: right;
+ margin: @rightFloatMargin;
+}
+
+/*******************************
+ Coupling
+*******************************/
+
+.ui.menu .ui.list > .item,
+.ui.menu .ui.list .list > .item {
+ display: list-item;
+ table-layout: fixed;
+ background-color: transparent;
+
+ list-style-type: @listStyleType;
+ list-style-position: @listStylePosition;
+
+ padding: @itemVerticalPadding @itemHorizontalPadding;
+ line-height: @itemLineHeight;
+}
+.ui.menu .ui.list .list > .item:before,
+.ui.menu .ui.list > .item:before {
+ border: none;
+ background: none;
+}
+.ui.menu .ui.list .list > .item:first-child,
+.ui.menu .ui.list > .item:first-child {
+ padding-top: 0em;
+}
+.ui.menu .ui.list .list > .item:last-child,
+.ui.menu .ui.list > .item:last-child {
+ padding-bottom: 0em;
+}
+
+
+/*******************************
+ Types
+*******************************/
+
+/*-------------------
+ Horizontal
+--------------------*/
+
+.ui.horizontal.list {
+ display: inline-block;
+ font-size: 0em;
+}
+.ui.horizontal.list > .item {
+ display: inline-block;
+ margin-left: @horizontalSpacing;
+ font-size: 1rem;
+}
+.ui.horizontal.list:not(.celled) > .item:first-child {
+ margin-left: 0em !important;
+ padding-left: 0em !important;
+}
+.ui.horizontal.list .list {
+ padding-left: 0em;
+ padding-bottom: 0em;
+}
+
+.ui.horizontal.list > .item > .image,
+.ui.horizontal.list .list > .item > .image,
+.ui.horizontal.list > .item > .icon,
+.ui.horizontal.list .list > .item > .icon,
+.ui.horizontal.list > .item > .content,
+.ui.horizontal.list .list > .item > .content {
+ vertical-align: @horizontalVerticalAlign;
+}
+
+/* Padding on all elements */
+.ui.horizontal.list > .item:first-child,
+.ui.horizontal.list > .item:last-child {
+ padding-top: @itemVerticalPadding;
+ padding-bottom: @itemVerticalPadding;
+}
+
+/* Horizontal List */
+.ui.horizontal.list > .item > i.icon {
+ margin: 0em;
+ padding: 0em @horizontalIconDistance 0em 0em;
+}
+.ui.horizontal.list > .item > .icon,
+.ui.horizontal.list > .item > .icon + .content {
+ float: none;
+ display: inline-block;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+/*-------------------
+ Disabled
+--------------------*/
+
+.ui.list .list > .disabled.item,
+.ui.list > .disabled.item {
+ pointer-events: none;
+ color: @disabledColor !important;
+}
+.ui.inverted.list .list > .disabled.item,
+.ui.inverted.list > .disabled.item {
+ color: @invertedDisabledColor !important;
+}
+
+/*-------------------
+ Hover
+--------------------*/
+
+.ui.list .list > a.item:hover .icon,
+.ui.list > a.item:hover .icon {
+ color: @itemLinkIconHoverColor;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+/*-------------------
+ Inverted
+--------------------*/
+
+.ui.inverted.list .list > a.item > .icon,
+.ui.inverted.list > a.item > .icon {
+ color: @invertedIconLinkColor;
+}
+.ui.inverted.list .list > .item .header,
+.ui.inverted.list > .item .header {
+ color: @invertedHeaderColor;
+}
+.ui.inverted.list .list > .item .description,
+.ui.inverted.list > .item .description {
+ color: @invertedDescriptionColor;
+}
+
+/* Item Link */
+.ui.inverted.list .list > a.item,
+.ui.inverted.list > a.item {
+ cursor: pointer;
+ color: @invertedItemLinkColor;
+}
+.ui.inverted.list .list > a.item:hover,
+.ui.inverted.list > a.item:hover {
+ color: @invertedItemLinkHoverColor;
+}
+
+
+/* Linking Content */
+.ui.inverted.list .item a:not(.ui) {
+ color: @invertedItemLinkColor !important;
+}
+.ui.inverted.list .item a:not(.ui):hover {
+ color: @invertedItemLinkHoverColor !important;
+}
+
+/*-------------------
+ Aligned
+--------------------*/
+
+.ui.list[class*="top aligned"] .image,
+.ui.list[class*="top aligned"] .content,
+.ui.list [class*="top aligned"] {
+ vertical-align: top !important;
+}
+.ui.list[class*="middle aligned"] .image,
+.ui.list[class*="middle aligned"] .content,
+.ui.list [class*="middle aligned"] {
+ vertical-align: middle !important;
+}
+.ui.list[class*="bottom aligned"] .image,
+.ui.list[class*="bottom aligned"] .content,
+.ui.list [class*="bottom aligned"] {
+ vertical-align: bottom !important;
+}
+
+/*-------------------
+ Link
+--------------------*/
+
+.ui.link.list .item,
+.ui.link.list a.item,
+.ui.link.list .item a:not(.ui) {
+ color: @linkListItemColor;
+ transition: @linkListTransition;
+}
+.ui.link.list a.item:hover,
+.ui.link.list .item a:not(.ui):hover {
+ color: @linkListItemHoverColor;
+}
+.ui.link.list a.item:active,
+.ui.link.list .item a:not(.ui):active {
+ color: @linkListItemDownColor;
+}
+.ui.link.list .active.item,
+.ui.link.list .active.item a:not(.ui) {
+ color: @linkListItemActiveColor;
+}
+
+/* Inverted */
+.ui.inverted.link.list .item,
+.ui.inverted.link.list a.item,
+.ui.inverted.link.list .item a:not(.ui) {
+ color: @invertedLinkListItemColor;
+}
+.ui.inverted.link.list a.item:hover,
+.ui.inverted.link.list .item a:not(.ui):hover {
+ color: @invertedLinkListItemHoverColor;
+}
+.ui.inverted.link.list a.item:active,
+.ui.inverted.link.list .item a:not(.ui):active {
+ color: @invertedLinkListItemDownColor;
+}
+.ui.inverted.link.list a.active.item,
+.ui.inverted.link.list .active.item a:not(.ui) {
+ color: @invertedLinkListItemActiveColor;
+}
+
+/*-------------------
+ Selection
+--------------------*/
+
+.ui.selection.list .list > .item,
+.ui.selection.list > .item {
+ cursor: pointer;
+ background: @selectionListBackground;
+ padding: @selectionListItemVerticalPadding @selectionListItemHorizontalPadding;
+ margin: @selectionListItemMargin;
+ color: @selectionListColor;
+ border-radius: @selectionListItemBorderRadius;
+ transition: @selectionListTransition;
+}
+.ui.selection.list .list > .item:last-child,
+.ui.selection.list > .item:last-child {
+ margin-bottom: 0em;
+}
+.ui.selection.list.list > .item:hover,
+.ui.selection.list > .item:hover {
+ background: @selectionListHoverBackground;
+ color: @selectionListHoverColor;
+}
+.ui.selection.list .list > .item:active,
+.ui.selection.list > .item:active {
+ background: @selectionListDownBackground;
+ color: @selectionListDownColor;
+}
+.ui.selection.list .list > .item.active,
+.ui.selection.list > .item.active {
+ background: @selectionListActiveBackground;
+ color: @selectionListActiveColor;
+}
+
+/* Inverted */
+.ui.inverted.selection.list > .item,
+.ui.inverted.selection.list > .item {
+ background: @invertedSelectionListBackground;
+ color: @invertedSelectionListColor;
+}
+.ui.inverted.selection.list > .item:hover,
+.ui.inverted.selection.list > .item:hover {
+ background: @invertedSelectionListHoverBackground;
+ color: @invertedSelectionListHoverColor;
+}
+.ui.inverted.selection.list > .item:active,
+.ui.inverted.selection.list > .item:active {
+ background: @invertedSelectionListDownBackground;
+ color: @invertedSelectionListDownColor;
+}
+.ui.inverted.selection.list > .item.active,
+.ui.inverted.selection.list > .item.active {
+ background: @invertedSelectionListActiveBackground;
+ color: @invertedSelectionListActiveColor;
+}
+
+/* Celled / Divided Selection List */
+.ui.celled.selection.list .list > .item,
+.ui.divided.selection.list .list > .item,
+.ui.celled.selection.list > .item,
+.ui.divided.selection.list > .item {
+ border-radius: 0em;
+}
+
+/*-------------------
+ Animated
+--------------------*/
+
+.ui.animated.list > .item {
+ transition: @animatedListTransition;
+}
+.ui.animated.list:not(.horizontal) > .item:hover {
+ padding-left: @animatedListIndent;
+}
+
+/*-------------------
+ Fitted
+--------------------*/
+.ui.fitted.list:not(.selection) .list > .item,
+.ui.fitted.list:not(.selection) > .item {
+ padding-left: 0em;
+ padding-right: 0em;
+}
+.ui.fitted.selection.list .list > .item,
+.ui.fitted.selection.list > .item {
+ margin-left: -@selectionListItemHorizontalPadding;
+ margin-right: -@selectionListItemHorizontalPadding;
+}
+
+/*-------------------
+ Bulleted
+--------------------*/
+
+ul.ui.list,
+.ui.bulleted.list {
+ margin-left: @bulletDistance;
+}
+ul.ui.list li,
+.ui.bulleted.list .list > .item,
+.ui.bulleted.list > .item {
+ position: relative;
+}
+ul.ui.list li:before,
+.ui.bulleted.list .list > .item:before,
+.ui.bulleted.list > .item:before {
+ user-select: none;
+ pointer-events: none;
+ position: absolute;
+ top: auto;
+ left: auto;
+ font-weight: normal;
+ margin-left: @bulletOffset;
+ content: @bulletCharacter;
+ opacity: @bulletOpacity;
+ color: @bulletColor;
+ vertical-align: @bulletVerticalAlign;
+}
+
+ul.ui.list li:before,
+.ui.bulleted.list .list > a.item:before,
+.ui.bulleted.list > a.item:before {
+ color: @bulletLinkColor;
+}
+
+ul.ui.list ul,
+.ui.bulleted.list .list {
+ padding-left: @bulletChildDistance;
+}
+
+/* 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: @horizontalBulletSpacing;
+}
+ul.ui.horizontal.bulleted.list li:first-child,
+.ui.horizontal.bulleted.list > .item:first-child {
+ margin-left: 0em;
+}
+ul.ui.horizontal.bulleted.list li::before,
+.ui.horizontal.bulleted.list > .item::before {
+ color: @horizontalBulletColor;
+}
+ul.ui.horizontal.bulleted.list li:first-child::before,
+.ui.horizontal.bulleted.list > .item:first-child::before {
+ display: none;
+}
+
+/*-------------------
+ Ordered
+--------------------*/
+
+ol.ui.list,
+.ui.ordered.list,
+.ui.ordered.list .list,
+ol.ui.list ol {
+ counter-reset: ordered;
+ margin-left: @orderedCountDistance;
+ list-style-type: none;
+}
+ol.ui.list li,
+.ui.ordered.list .list > .item,
+.ui.ordered.list > .item {
+ list-style-type: none;
+ position: relative;
+}
+ol.ui.list li:before,
+.ui.ordered.list .list > .item:before,
+.ui.ordered.list > .item:before {
+ position: absolute;
+ top: auto;
+ left: auto;
+ user-select: none;
+ pointer-events: none;
+ margin-left: -(@orderedCountDistance);
+ counter-increment: @orderedCountName;
+ content: @orderedCountContent;
+ text-align: @orderedCountTextAlign;
+ color: @orderedCountColor;
+ vertical-align: @orderedCountVerticalAlign;
+ opacity: @orderedCountOpacity;
+}
+
+ol.ui.inverted.list li:before,
+.ui.ordered.inverted.list .list > .item:before,
+.ui.ordered.inverted.list > .item:before {
+ color: @orderedInvertedCountColor;
+}
+
+/* Value */
+.ui.ordered.list > .list > .item[data-value],
+.ui.ordered.list > .item[data-value] {
+ content: attr(data-value);
+}
+ol.ui.list li[value]:before {
+ content: attr(value);
+}
+
+/* Child Lists */
+ol.ui.list ol,
+.ui.ordered.list .list {
+ margin-left: @orderedChildCountDistance;
+}
+ol.ui.list ol li:before,
+.ui.ordered.list .list > .item:before {
+ margin-left: @orderedChildCountOffset;
+}
+
+/* Horizontal Ordered */
+ol.ui.horizontal.list,
+.ui.ordered.horizontal.list {
+ margin-left: 0em;
+}
+ol.ui.horizontal.list li:before,
+.ui.ordered.horizontal.list .list > .item:before,
+.ui.ordered.horizontal.list > .item:before {
+ position: static;
+ margin: 0em @horizontalOrderedCountDistance 0em 0em;
+}
+
+/*-------------------
+ Divided
+--------------------*/
+
+.ui.divided.list > .item {
+ border-top: @dividedBorder;
+}
+.ui.divided.list .list > .item {
+ border-top: @dividedChildListBorder;
+}
+.ui.divided.list .item .list > .item {
+ border-top: @dividedChildItemBorder;
+}
+.ui.divided.list .list > .item:first-child,
+.ui.divided.list > .item:first-child {
+ border-top: none;
+}
+
+/* Sub Menu */
+.ui.divided.list:not(.horizontal) .list > .item:first-child {
+ border-top-width: @dividedBorderWidth;
+}
+
+/* Divided bulleted */
+.ui.divided.bulleted.list:not(.horizontal),
+.ui.divided.bulleted.list .list {
+ margin-left: 0em;
+ padding-left: 0em;
+}
+.ui.divided.bulleted.list > .item:not(.horizontal) {
+ padding-left: @bulletDistance;
+}
+
+/* Divided Ordered */
+.ui.divided.ordered.list {
+ margin-left: 0em;
+}
+.ui.divided.ordered.list .list > .item,
+.ui.divided.ordered.list > .item {
+ padding-left: @orderedCountDistance;
+}
+.ui.divided.ordered.list .item .list {
+ margin-left: 0em;
+ margin-right: 0em;
+ padding-bottom: @itemVerticalPadding;
+}
+.ui.divided.ordered.list .item .list > .item {
+ padding-left: @orderedChildCountDistance;
+}
+
+/* Divided Selection */
+.ui.divided.selection.list .list > .item,
+.ui.divided.selection.list > .item {
+ margin: 0em;
+ border-radius: 0em;
+}
+
+/* Divided horizontal */
+.ui.divided.horizontal.list {
+ margin-left: 0em;
+}
+.ui.divided.horizontal.list > .item:not(:first-child) {
+ padding-left: @horizontalDividedSpacing;
+}
+.ui.divided.horizontal.list > .item:not(:last-child) {
+ padding-right: @horizontalDividedSpacing;
+}
+.ui.divided.horizontal.list > .item {
+ border-top: none;
+ border-left: @dividedBorder;
+ margin: 0em;
+ line-height: @horizontalDividedLineHeight;
+}
+.ui.horizontal.divided.list > .item:first-child {
+ border-left: none;
+}
+/* Inverted */
+.ui.divided.inverted.list > .item,
+.ui.divided.inverted.list > .list,
+.ui.divided.inverted.horizontal.list > .item {
+ border-color: @dividedInvertedBorderColor;
+}
+
+
+/*-------------------
+ Celled
+--------------------*/
+
+.ui.celled.list > .item,
+.ui.celled.list > .list {
+ border-top: @celledBorder;
+ padding-left: @celledHorizontalPadding;
+ padding-right: @celledHorizontalPadding;
+}
+.ui.celled.list > .item:last-child {
+ border-bottom: @celledBorder;
+}
+
+/* Padding on all elements */
+.ui.celled.list > .item:first-child,
+.ui.celled.list > .item:last-child {
+ padding-top: @itemVerticalPadding;
+ padding-bottom: @itemVerticalPadding;
+}
+
+/* Sub Menu */
+.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 .list > .item,
+.ui.celled.bulleted.list > .item {
+ padding-left: (@bulletDistance);
+}
+.ui.celled.bulleted.list .item .list {
+ margin-left: -(@bulletDistance);
+ margin-right: -(@bulletDistance);
+ padding-bottom: @itemVerticalPadding;
+}
+
+/* Celled Ordered */
+.ui.celled.ordered.list {
+ margin-left: 0em;
+}
+.ui.celled.ordered.list .list > .item,
+.ui.celled.ordered.list > .item {
+ padding-left: @orderedCountDistance;
+}
+.ui.celled.ordered.list .item .list {
+ margin-left: 0em;
+ margin-right: 0em;
+ padding-bottom: @itemVerticalPadding;
+}
+.ui.celled.ordered.list .list > .item {
+ padding-left: @orderedChildCountDistance;
+}
+
+/* Celled Horizontal */
+.ui.horizontal.celled.list {
+ margin-left: 0em;
+}
+.ui.horizontal.celled.list .list > .item,
+.ui.horizontal.celled.list > .item {
+ border-top: none;
+ border-left: @celledBorder;
+ margin: 0em;
+ padding-left: @horizontalCelledSpacing;
+ padding-right: @horizontalCelledSpacing;
+
+ line-height: @horizontalCelledLineHeight;
+}
+.ui.horizontal.celled.list .list > .item:last-child,
+.ui.horizontal.celled.list > .item:last-child {
+ border-bottom: none;
+ border-right: @celledBorder;
+}
+
+/* Inverted */
+.ui.celled.inverted.list > .item,
+.ui.celled.inverted.list > .list {
+ border-color: @celledInvertedBorder;
+}
+.ui.celled.inverted.horizontal.list .list > .item,
+.ui.celled.inverted.horizontal.list > .item {
+ border-color: @celledInvertedBorder;
+}
+
+/*-------------------
+ Relaxed
+--------------------*/
+
+.ui.relaxed.list:not(.horizontal) > .item:not(:first-child) {
+ padding-top: @relaxedItemVerticalPadding;
+}
+.ui.relaxed.list:not(.horizontal) > .item:not(:last-child) {
+ padding-bottom: @relaxedItemVerticalPadding;
+}
+.ui.horizontal.relaxed.list .list > .item:not(:first-child),
+.ui.horizontal.relaxed.list > .item:not(:first-child) {
+ padding-left: @relaxedHorizontalPadding;
+}
+.ui.horizontal.relaxed.list .list > .item:not(:last-child),
+.ui.horizontal.relaxed.list > .item:not(:last-child) {
+ padding-right: @relaxedHorizontalPadding;
+}
+
+/* Very Relaxed */
+.ui[class*="very relaxed"].list:not(.horizontal) > .item:not(:first-child) {
+ padding-top: @veryRelaxedItemVerticalPadding;
+}
+.ui[class*="very relaxed"].list:not(.horizontal) > .item:not(:last-child) {
+ padding-bottom: @veryRelaxedItemVerticalPadding;
+}
+.ui.horizontal[class*="very relaxed"].list .list > .item:not(:first-child),
+.ui.horizontal[class*="very relaxed"].list > .item:not(:first-child) {
+ padding-left: @veryRelaxedHorizontalPadding;
+}
+.ui.horizontal[class*="very relaxed"].list .list > .item:not(:last-child),
+.ui.horizontal[class*="very relaxed"].list > .item:not(:last-child) {
+ padding-right: @veryRelaxedHorizontalPadding;
+}
+
+/*-------------------
+ Sizes
+--------------------*/
+
+.ui.mini.list {
+ font-size: @relativeMini;
+}
+.ui.tiny.list {
+ font-size: @relativeTiny;
+}
+.ui.small.list {
+ font-size: @relativeSmall;
+}
+.ui.list {
+ font-size: @relativeMedium;
+}
+.ui.large.list {
+ font-size: @relativeLarge;
+}
+.ui.big.list {
+ font-size: @relativeBig;
+}
+.ui.huge.list {
+ font-size: @relativeHuge;
+}
+.ui.massive.list {
+ font-size: @relativeMassive;
+}
+
+.ui.mini.horizontal.list .list > .item,
+.ui.mini.horizontal.list > .item {
+ font-size: @mini;
+}
+.ui.tiny.horizontal.list .list > .item,
+.ui.tiny.horizontal.list > .item {
+ font-size: @tiny;
+}
+.ui.small.horizontal.list .list > .item,
+.ui.small.horizontal.list > .item {
+ font-size: @small;
+}
+.ui.horizontal.list .list > .item,
+.ui.horizontal.list > .item {
+ font-size: @medium;
+}
+.ui.large.horizontal.list .list > .item,
+.ui.large.horizontal.list > .item {
+ font-size: @large;
+}
+.ui.big.horizontal.list .list > .item,
+.ui.big.horizontal.list > .item {
+ font-size: @big;
+}
+.ui.huge.horizontal.list .list > .item,
+.ui.huge.horizontal.list > .item {
+ font-size: @huge;
+}
+.ui.massive.horizontal.list .list > .item,
+.ui.massive.horizontal.list > .item {
+ font-size: @massive;
+}
+
+.loadUIOverrides();
+
diff --git a/src/semantic/src/definitions/elements/loader.less b/src/semantic/src/definitions/elements/loader.less
new file mode 100755
index 0000000..40d5de6
--- /dev/null
+++ b/src/semantic/src/definitions/elements/loader.less
@@ -0,0 +1,332 @@
+/*!
+ * # Semantic UI - Loader
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'loader';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Loader
+*******************************/
+
+
+/* Standard Size */
+.ui.loader {
+ display: none;
+ position: absolute;
+ top: @loaderTopOffset;
+ left: @loaderLeftOffset;
+ margin: 0px;
+ text-align: center;
+ z-index: 1000;
+ transform: translateX(-50%) translateY(-50%);
+}
+
+/* Static Shape */
+.ui.loader:before {
+ position: absolute;
+ content: '';
+ top: 0%;
+ left: 50%;
+ width: 100%;
+ height: 100%;
+
+ border-radius: @circularRadius;
+ border: @loaderLineWidth solid @loaderFillColor;
+}
+
+/* Active Shape */
+.ui.loader:after {
+ position: absolute;
+ content: '';
+ top: 0%;
+ left: 50%;
+ width: 100%;
+ height: 100%;
+
+ animation: loader @loaderSpeed linear;
+ animation-iteration-count: infinite;
+
+ border-radius: @circularRadius;
+
+ border-color: @shapeBorderColor;
+ border-style: solid;
+ border-width: @loaderLineWidth;
+
+ box-shadow: 0px 0px 0px 1px transparent;
+}
+
+/* Active Animation */
+@keyframes loader {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+/* Sizes */
+.ui.mini.loader:before,
+.ui.mini.loader:after {
+ width: @mini;
+ height: @mini;
+ margin: @miniOffset;
+}
+.ui.tiny.loader:before,
+.ui.tiny.loader:after {
+ width: @tiny;
+ height: @tiny;
+ margin: @tinyOffset;
+}
+.ui.small.loader:before,
+.ui.small.loader:after {
+ width: @small;
+ height: @small;
+ margin: @smallOffset;
+}
+.ui.loader:before,
+.ui.loader:after {
+ width: @medium;
+ height: @medium;
+ margin: @mediumOffset;
+}
+.ui.large.loader:before,
+.ui.large.loader:after {
+ width: @large;
+ height: @large;
+ margin: @largeOffset;
+}
+.ui.big.loader:before,
+.ui.big.loader:after {
+ width: @big;
+ height: @big;
+ margin: @bigOffset;
+}
+.ui.huge.loader:before,
+.ui.huge.loader:after {
+ width: @huge;
+ height: @huge;
+ margin: @hugeOffset;
+}
+.ui.massive.loader:before,
+.ui.massive.loader:after {
+ width: @massive;
+ height: @massive;
+ margin: @massiveOffset;
+}
+
+/*-------------------
+ Coupling
+--------------------*/
+
+/* Show inside active dimmer */
+.ui.dimmer .loader {
+ display: block;
+}
+
+/* Black Dimmer */
+.ui.dimmer .ui.loader {
+ color: @invertedLoaderTextColor;
+}
+.ui.dimmer .ui.loader:before {
+ border-color: @invertedLoaderFillColor;
+}
+.ui.dimmer .ui.loader:after {
+ border-color: @invertedShapeBorderColor;
+}
+
+/* White Dimmer (Inverted) */
+.ui.inverted.dimmer .ui.loader {
+ color: @loaderTextColor;
+}
+.ui.inverted.dimmer .ui.loader:before {
+ border-color: @loaderFillColor;
+}
+.ui.inverted.dimmer .ui.loader:after {
+ border-color: @shapeBorderColor;
+}
+
+/*******************************
+ Types
+*******************************/
+
+
+/*-------------------
+ Text
+--------------------*/
+
+.ui.text.loader {
+ width: auto !important;
+ height: auto !important;
+ text-align: center;
+ font-style: normal;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+.ui.indeterminate.loader:after {
+ animation-direction: @indeterminateDirection;
+ animation-duration: @indeterminateSpeed;
+}
+
+.ui.loader.active,
+.ui.loader.visible {
+ display: block;
+}
+.ui.loader.disabled,
+.ui.loader.hidden {
+ display: none;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*-------------------
+ Sizes
+--------------------*/
+
+
+/* Loader */
+.ui.inverted.dimmer .ui.mini.loader,
+.ui.mini.loader {
+ width: @mini;
+ height: @mini;
+ font-size: @miniFontSize;
+}
+.ui.inverted.dimmer .ui.tiny.loader,
+.ui.tiny.loader {
+ width: @tiny;
+ height: @tiny;
+ font-size: @tinyFontSize;
+}
+.ui.inverted.dimmer .ui.small.loader,
+.ui.small.loader {
+ width: @small;
+ height: @small;
+ font-size: @smallFontSize;
+}
+.ui.inverted.dimmer .ui.loader,
+.ui.loader {
+ width: @medium;
+ height: @medium;
+ font-size: @mediumFontSize;
+}
+.ui.inverted.dimmer .ui.large.loader,
+.ui.large.loader {
+ width: @large;
+ height: @large;
+ font-size: @largeFontSize;
+}
+.ui.inverted.dimmer .ui.big.loader,
+.ui.big.loader {
+ width: @big;
+ height: @big;
+ font-size: @bigFontSize;
+}
+.ui.inverted.dimmer .ui.huge.loader,
+.ui.huge.loader {
+ width: @huge;
+ height: @huge;
+ font-size: @hugeFontSize;
+}
+.ui.inverted.dimmer .ui.massive.loader,
+.ui.massive.loader {
+ width: @massive;
+ height: @massive;
+ font-size: @massiveFontSize;
+}
+
+/* Text Loader */
+.ui.mini.text.loader {
+ min-width: @mini;
+ padding-top: (@mini + @textDistance);
+}
+.ui.tiny.text.loader {
+ min-width: @tiny;
+ padding-top: (@tiny + @textDistance);
+}
+.ui.small.text.loader {
+ min-width: @small;
+ padding-top: (@small + @textDistance);
+}
+.ui.text.loader {
+ min-width: @medium;
+ padding-top: (@medium + @textDistance);
+}
+.ui.large.text.loader {
+ min-width: @large;
+ padding-top: (@large + @textDistance);
+}
+.ui.big.text.loader {
+ min-width: @big;
+ padding-top: (@big + @textDistance);
+}
+.ui.huge.text.loader {
+ min-width: @huge;
+ padding-top: (@huge + @textDistance);
+}
+.ui.massive.text.loader {
+ min-width: @massive;
+ padding-top: (@massive + @textDistance);
+}
+
+
+/*-------------------
+ Inverted
+--------------------*/
+
+.ui.inverted.loader {
+ color: @invertedLoaderTextColor
+}
+.ui.inverted.loader:before {
+ border-color: @invertedLoaderFillColor;
+}
+.ui.inverted.loader:after {
+ border-top-color: @invertedLoaderLineColor;
+}
+
+/*-------------------
+ Inline
+--------------------*/
+
+.ui.inline.loader {
+ position: relative;
+ vertical-align: @inlineVerticalAlign;
+ margin: @inlineMargin;
+ left: 0em;
+ top: 0em;
+ transform: none;
+}
+
+.ui.inline.loader.active,
+.ui.inline.loader.visible {
+ display: inline-block;
+}
+
+/* Centered Inline */
+.ui.centered.inline.loader.active,
+.ui.centered.inline.loader.visible {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/rail.less b/src/semantic/src/definitions/elements/rail.less
new file mode 100755
index 0000000..7eacee7
--- /dev/null
+++ b/src/semantic/src/definitions/elements/rail.less
@@ -0,0 +1,154 @@
+/*!
+ * # Semantic UI - Rail
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'rail';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Rails
+*******************************/
+
+.ui.rail {
+ position: absolute;
+ top: 0%;
+ width: @width;
+ height: @height;
+}
+
+.ui.left.rail {
+ left: auto;
+ right: 100%;
+ padding: 0em @splitDistance 0em 0em;
+ margin: 0em @splitDistance 0em 0em;
+}
+
+.ui.right.rail {
+ left: 100%;
+ right: auto;
+ padding: 0em 0em 0em @splitDistance;
+ margin: 0em 0em 0em @splitDistance;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Internal
+---------------*/
+
+.ui.left.internal.rail {
+ left: 0%;
+ right: auto;
+ padding: 0em 0em 0em @splitDistance;
+ margin: 0em 0em 0em @splitDistance;
+}
+
+.ui.right.internal.rail {
+ left: auto;
+ right: 0%;
+ padding: 0em @splitDistance 0em 0em;
+ margin: 0em @splitDistance 0em 0em;
+}
+
+
+/*--------------
+ Dividing
+---------------*/
+
+.ui.dividing.rail {
+ width: @dividingWidth;
+}
+.ui.left.dividing.rail {
+ padding: 0em @splitDividingDistance 0em 0em;
+ margin: 0em @splitDividingDistance 0em 0em;
+ border-right: @dividingBorder;
+}
+.ui.right.dividing.rail {
+ border-left: @dividingBorder;
+ padding: 0em 0em 0em @splitDividingDistance;
+ margin: 0em 0em 0em @splitDividingDistance;
+}
+
+/*--------------
+ Distance
+---------------*/
+
+.ui.close.rail {
+ width: @closeWidth;
+}
+.ui.close.left.rail {
+ padding: 0em @splitCloseDistance 0em 0em;
+ margin: 0em @splitCloseDistance 0em 0em;
+}
+.ui.close.right.rail {
+ padding: 0em 0em 0em @splitCloseDistance;
+ margin: 0em 0em 0em @splitCloseDistance;
+}
+
+.ui.very.close.rail {
+ width: @veryCloseWidth;
+}
+.ui.very.close.left.rail {
+ padding: 0em @splitVeryCloseDistance 0em 0em;
+ margin: 0em @splitVeryCloseDistance 0em 0em;
+}
+.ui.very.close.right.rail {
+ padding: 0em 0em 0em @splitVeryCloseDistance;
+ margin: 0em 0em 0em @splitVeryCloseDistance;
+}
+
+/*--------------
+ Attached
+---------------*/
+
+.ui.attached.left.rail,
+.ui.attached.right.rail {
+ padding: 0em;
+ margin: 0em;
+}
+
+/*--------------
+ Sizing
+---------------*/
+
+.ui.mini.rail {
+ font-size: @mini;
+}
+.ui.tiny.rail {
+ font-size: @tiny;
+}
+.ui.small.rail {
+ font-size: @small;
+}
+.ui.rail {
+ font-size: @medium;
+}
+.ui.large.rail {
+ font-size: @large;
+}
+.ui.big.rail {
+ font-size: @big;
+}
+.ui.huge.rail {
+ font-size: @huge;
+}
+.ui.massive.rail {
+ font-size: @massive;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/reveal.less b/src/semantic/src/definitions/elements/reveal.less
new file mode 100755
index 0000000..353ba63
--- /dev/null
+++ b/src/semantic/src/definitions/elements/reveal.less
@@ -0,0 +1,265 @@
+/*!
+ * # Semantic UI - Reveal
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'reveal';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Reveal
+*******************************/
+
+.ui.reveal {
+ display: inherit;
+ position: relative !important;
+ font-size: 0em !important;
+}
+
+.ui.reveal > .visible.content {
+ position: absolute !important;
+ top: 0em !important;
+ left: 0em !important;
+ z-index: @topZIndex !important;
+ transition: @transition;
+}
+.ui.reveal > .hidden.content {
+ position: relative !important;
+ z-index: @bottomZIndex !important;
+}
+
+/* Make sure hovered element is on top of other reveal */
+.ui.active.reveal .visible.content,
+.ui.reveal:hover .visible.content {
+ z-index: @activeZIndex !important;
+}
+
+
+/*******************************
+ Types
+*******************************/
+
+
+/*--------------
+ Slide
+---------------*/
+
+.ui.slide.reveal {
+ position: relative !important;
+ overflow: hidden !important;
+ white-space: nowrap;
+}
+
+.ui.slide.reveal > .content {
+ display: block;
+ width: 100%;
+ float: left;
+
+ margin: 0em;
+ transition: @slideTransition;
+}
+
+.ui.slide.reveal > .visible.content {
+ position: relative !important;
+}
+.ui.slide.reveal > .hidden.content {
+ position: absolute !important;
+ left: 0% !important;
+ width: 100% !important;
+ transform: translateX(100%) !important;
+}
+.ui.slide.active.reveal > .visible.content,
+.ui.slide.reveal:hover > .visible.content {
+ transform: translateX(-100%) !important;
+}
+.ui.slide.active.reveal > .hidden.content,
+.ui.slide.reveal:hover > .hidden.content {
+ transform: translateX(0%) !important;
+}
+
+.ui.slide.right.reveal > .visible.content {
+ transform: translateX(0%) !important;
+}
+.ui.slide.right.reveal > .hidden.content {
+ transform: translateX(-100%) !important;
+}
+.ui.slide.right.active.reveal > .visible.content,
+.ui.slide.right.reveal:hover > .visible.content {
+ transform: translateX(100%) !important;
+}
+.ui.slide.right.active.reveal > .hidden.content,
+.ui.slide.right.reveal:hover > .hidden.content {
+ transform: translateX(0%) !important;
+}
+
+.ui.slide.up.reveal > .hidden.content {
+ transform: translateY(100%) !important;
+}
+.ui.slide.up.active.reveal > .visible.content,
+.ui.slide.up.reveal:hover > .visible.content {
+ transform: translateY(-100%) !important;
+}
+.ui.slide.up.active.reveal > .hidden.content,
+.ui.slide.up.reveal:hover > .hidden.content {
+ transform: translateY(0%) !important;
+}
+
+.ui.slide.down.reveal > .hidden.content {
+ transform: translateY(-100%) !important;
+}
+.ui.slide.down.active.reveal > .visible.content,
+.ui.slide.down.reveal:hover > .visible.content {
+ transform: translateY(100%) !important;
+}
+.ui.slide.down.active.reveal > .hidden.content,
+.ui.slide.down.reveal:hover > .hidden.content {
+ transform: translateY(0%) !important;
+}
+
+
+/*--------------
+ Fade
+---------------*/
+
+.ui.fade.reveal > .visible.content {
+ opacity: 1;
+}
+.ui.fade.active.reveal > .visible.content,
+.ui.fade.reveal:hover > .visible.content {
+ opacity: 0;
+}
+
+
+/*--------------
+ Move
+---------------*/
+
+.ui.move.reveal {
+ position: relative !important;
+ overflow: hidden !important;
+ white-space: nowrap;
+}
+
+.ui.move.reveal > .content {
+ display: block;
+ float: left;
+
+ margin: 0em;
+ transition: @moveTransition;
+}
+
+.ui.move.reveal > .visible.content {
+ position: relative !important;
+}
+.ui.move.reveal > .hidden.content {
+ position: absolute !important;
+ left: 0% !important;
+ width: 100% !important;
+}
+.ui.move.active.reveal > .visible.content,
+.ui.move.reveal:hover > .visible.content {
+ transform: translateX(-100%) !important;
+}
+.ui.move.right.active.reveal > .visible.content,
+.ui.move.right.reveal:hover > .visible.content {
+ transform: translateX(100%) !important;
+}
+.ui.move.up.active.reveal > .visible.content,
+.ui.move.up.reveal:hover > .visible.content {
+ transform: translateY(-100%) !important;
+}
+.ui.move.down.active.reveal > .visible.content,
+.ui.move.down.reveal:hover > .visible.content {
+ transform: translateY(100%) !important;
+}
+
+
+
+/*--------------
+ Rotate
+---------------*/
+
+.ui.rotate.reveal > .visible.content {
+ transition-duration: @transitionDuration;
+ transform: rotate(0deg);
+}
+
+.ui.rotate.reveal > .visible.content,
+.ui.rotate.right.reveal > .visible.content {
+ transform-origin: bottom right;
+}
+.ui.rotate.active.reveal > .visible.content,
+.ui.rotate.reveal:hover > .visible.content,
+.ui.rotate.right.active.reveal > .visible.content,
+.ui.rotate.right.reveal:hover > .visible.content {
+ transform: rotate(@rotateDegrees);
+}
+
+.ui.rotate.left.reveal > .visible.content {
+ transform-origin: bottom left;
+}
+.ui.rotate.left.active.reveal > .visible.content,
+.ui.rotate.left.reveal:hover > .visible.content {
+ transform: rotate(-@rotateDegrees);
+}
+
+/*******************************
+ States
+*******************************/
+
+.ui.disabled.reveal:hover > .visible.visible.content {
+ position: static !important;
+ display: block !important;
+ opacity: 1 !important;
+ top: 0 !important;
+ left: 0 !important;
+ right: auto !important;
+ bottom: auto !important;
+ transform: none !important;
+}
+.ui.disabled.reveal:hover > .hidden.hidden.content {
+ display: none !important;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Visible
+---------------*/
+
+.ui.visible.reveal {
+ overflow: visible;
+}
+
+/*--------------
+ Instant
+---------------*/
+
+.ui.instant.reveal > .content {
+ transition-delay: 0s !important;
+}
+
+
+/*--------------
+ Sizing
+---------------*/
+
+.ui.reveal > .content {
+ font-size: @medium !important;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/segment.less b/src/semantic/src/definitions/elements/segment.less
new file mode 100755
index 0000000..4dfbe37
--- /dev/null
+++ b/src/semantic/src/definitions/elements/segment.less
@@ -0,0 +1,768 @@
+/*!
+ * # Semantic UI - Segment
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'element';
+@element : 'segment';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Segment
+*******************************/
+
+.ui.segment {
+ position: relative;
+ background: @background;
+ box-shadow: @boxShadow;
+ margin: @margin;
+ padding: @padding;
+ border-radius: @borderRadius;
+ border: @border;
+}
+
+.ui.segment:first-child {
+ margin-top: 0em;
+}
+.ui.segment:last-child {
+ margin-bottom: 0em;
+}
+
+
+/* Vertical */
+.ui.vertical.segment {
+ margin: 0em;
+ padding-left: 0em;
+ padding-right: 0em;
+
+ background: none transparent;
+ border-radius: 0px;
+ box-shadow: none;
+ border: none;
+ border-bottom: @borderWidth solid @borderColor;
+}
+.ui.vertical.segment:last-child {
+ border-bottom: none;
+}
+
+
+/*-------------------
+ Loose Coupling
+--------------------*/
+
+/* Header */
+.ui.inverted.segment > .ui.header {
+ color: @white;
+}
+
+/* Label */
+.ui[class*="bottom attached"].segment > [class*="top attached"].label {
+ border-top-left-radius: 0em;
+ border-top-right-radius: 0em;
+}
+.ui[class*="top attached"].segment > [class*="bottom attached"].label {
+ border-bottom-left-radius: 0em;
+ border-bottom-right-radius: 0em;
+}
+.ui.attached.segment:not(.top):not(.bottom) > [class*="top attached"].label {
+ border-top-left-radius: 0em;
+ border-top-right-radius: 0em;
+}
+.ui.attached.segment:not(.top):not(.bottom) > [class*="bottom attached"].label {
+ border-bottom-left-radius: 0em;
+ border-bottom-right-radius: 0em;
+}
+
+/* Grid */
+.ui.page.grid.segment,
+.ui.grid > .row > .ui.segment.column,
+.ui.grid > .ui.segment.column {
+ padding-top: @pageGridMargin;
+ padding-bottom: @pageGridMargin;
+}
+.ui.grid.segment {
+ margin: @margin;
+ border-radius: @borderRadius;
+}
+
+/* Table */
+.ui.basic.table.segment {
+ background: @background;
+ border: @border;
+ box-shadow: @boxShadow;
+}
+.ui[class*="very basic"].table.segment {
+ padding: @padding;
+}
+
+
+/*******************************
+ Types
+*******************************/
+
+/*-------------------
+ Piled
+--------------------*/
+
+.ui.piled.segments,
+.ui.piled.segment {
+ margin: @piledMargin 0em;
+ box-shadow: @piledBoxShadow;
+ z-index: @piledZIndex;
+}
+.ui.piled.segment:first-child {
+ margin-top: 0em;
+}
+.ui.piled.segment:last-child {
+ margin-bottom: 0em;
+}
+.ui.piled.segments:after,
+.ui.piled.segments:before,
+.ui.piled.segment:after,
+.ui.piled.segment:before {
+ background-color: @white;
+ visibility: visible;
+ content: '';
+ display: block;
+ height: 100%;
+ left: 0px;
+ position: absolute;
+ width: 100%;
+ border: @piledBorder;
+ box-shadow: @piledBoxShadow;
+}
+.ui.piled.segments:before,
+.ui.piled.segment:before {
+ transform: rotate(-@piledDegrees);
+ top: 0;
+ z-index: -2;
+}
+.ui.piled.segments:after,
+.ui.piled.segment:after {
+ transform: rotate(@piledDegrees);
+ top: 0;
+ z-index: -1;
+}
+
+/* Piled Attached */
+.ui[class*="top attached"].piled.segment {
+ margin-top: @piledMargin;
+ margin-bottom: 0em;
+}
+.ui.piled.segment[class*="top attached"]:first-child {
+ margin-top: 0em;
+}
+.ui.piled.segment[class*="bottom attached"] {
+ margin-top: 0em;
+ margin-bottom: @piledMargin;
+}
+.ui.piled.segment[class*="bottom attached"]:last-child {
+ margin-bottom: 0em;
+}
+
+/*-------------------
+ Stacked
+--------------------*/
+
+.ui.stacked.segment {
+ padding-bottom: @stackedPadding;
+}
+.ui.stacked.segments:before,
+.ui.stacked.segments:after,
+.ui.stacked.segment:before,
+.ui.stacked.segment:after {
+ content: '';
+ position: absolute;
+ bottom: -(@stackedHeight / 2);
+ left: 0%;
+
+ border-top: 1px solid @borderColor;
+ background: @stackedPageBackground;
+
+ width: 100%;
+ height: @stackedHeight;
+ visibility: visible;
+}
+.ui.stacked.segments:before,
+.ui.stacked.segment:before {
+ display: none;
+}
+
+/* Add additional page */
+.ui.tall.stacked.segments:before,
+.ui.tall.stacked.segment:before {
+ display: block;
+ bottom: 0px;
+}
+
+/* Inverted */
+.ui.stacked.inverted.segments:before,
+.ui.stacked.inverted.segments:after,
+.ui.stacked.inverted.segment:before,
+.ui.stacked.inverted.segment:after {
+ background-color: @subtleTransparentBlack;
+ border-top: 1px solid @selectedBorderColor;
+}
+
+/*-------------------
+ Padded
+--------------------*/
+
+.ui.padded.segment {
+ padding: @paddedSegmentPadding;
+}
+
+.ui[class*="very padded"].segment {
+ padding: @veryPaddedSegmentPadding;
+}
+
+/*-------------------
+ Compact
+--------------------*/
+
+.ui.compact.segment {
+ display: table;
+}
+
+/* Compact Group */
+.ui.compact.segments {
+ display: inline-flex;
+}
+.ui.compact.segments .segment,
+.ui.segments .compact.segment {
+ display: block;
+ flex: 0 1 auto;
+}
+
+/*-------------------
+ Circular
+--------------------*/
+
+.ui.circular.segment {
+ display: table-cell;
+ padding: @circularPadding;
+ text-align: center;
+ vertical-align: middle;
+ border-radius: 500em;
+}
+
+/*-------------------
+ Raised
+--------------------*/
+
+.ui.raised.segments,
+.ui.raised.segment {
+ box-shadow: @raisedBoxShadow;
+}
+
+
+/*******************************
+ Groups
+*******************************/
+
+/* Group */
+.ui.segments {
+ flex-direction: column;
+ position: relative;
+ margin: @groupedMargin;
+ border: @groupedBorder;
+ box-shadow: @groupedBoxShadow;
+ border-radius: @groupedBorderRadius;
+}
+.ui.segments:first-child {
+ margin-top: 0em;
+}
+.ui.segments:last-child {
+ margin-bottom: 0em;
+}
+
+
+/* Nested Segment */
+.ui.segments > .segment {
+ top: 0px;
+ bottom: 0px;
+ border-radius: 0px;
+ margin: @groupedSegmentMargin;
+ width: @groupedSegmentWidth;
+ box-shadow: @groupedSegmentBoxShadow;
+ border: @groupedSegmentBorder;
+ border-top: @groupedSegmentDivider;
+}
+
+.ui.segments:not(.horizontal) > .segment:first-child {
+ top: @attachedTopOffset;
+ bottom: 0px;
+ border-top: none;
+ margin-top: 0em;
+ bottom: 0px;
+ margin-bottom: 0em;
+ top: @attachedTopOffset;
+ border-radius: @borderRadius @borderRadius 0em 0em;
+}
+
+/* Bottom */
+.ui.segments:not(.horizontal) > .segment:last-child {
+ top: @attachedBottomOffset;
+ bottom: 0px;
+ margin-top: 0em;
+ margin-bottom: 0em;
+ box-shadow: @attachedBottomBoxShadow;
+ border-radius: 0em 0em @borderRadius @borderRadius;
+}
+
+/* Only */
+.ui.segments:not(.horizontal) > .segment:only-child {
+ border-radius: @borderRadius;
+}
+
+
+/* Nested Group */
+.ui.segments > .ui.segments {
+ border-top: @groupedSegmentDivider;
+ margin: @nestedGroupMargin;
+}
+.ui.segments > .segments:first-child {
+ border-top: none;
+}
+.ui.segments > .segment + .segments:not(.horizontal) {
+ margin-top: 0em;
+}
+
+/* Horizontal Group */
+.ui.horizontal.segments {
+ display: flex;
+ flex-direction: row;
+ background-color: transparent;
+ border-radius: 0px;
+ padding: 0em;
+ background-color: @background;
+ box-shadow: @boxShadow;
+ margin: @margin;
+ border-radius: @borderRadius;
+ border: @border;
+}
+
+/* Nested Horizontal Group */
+.ui.segments > .horizontal.segments {
+ margin: 0em;
+ background-color: transparent;
+ border-radius: 0px;
+ border: none;
+ box-shadow: none;
+ border-top: @groupedSegmentDivider;
+}
+
+/* Horizontal Segment */
+.ui.horizontal.segments > .segment {
+ flex: 1 1 auto;
+ -ms-flex: 1 1 0px; /* Solves #2550 MS Flex */
+ margin: 0em;
+ min-width: 0px;
+ background-color: transparent;
+ border-radius: 0px;
+ border: none;
+ box-shadow: none;
+ border-left: @borderWidth solid @borderColor;
+}
+
+/* Border Fixes */
+.ui.segments > .horizontal.segments:first-child {
+ border-top: none;
+}
+.ui.horizontal.segments > .segment:first-child {
+ border-left: none;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+/*--------------
+ Disabled
+---------------*/
+
+.ui.disabled.segment {
+ opacity: @disabledOpacity;
+ color: @disabledTextColor;
+}
+
+/*--------------
+ Loading
+---------------*/
+
+.ui.loading.segment {
+ position: relative;
+ cursor: default;
+ pointer-events: none;
+ text-shadow: none !important;
+ color: transparent !important;
+ transition: all 0s linear;
+}
+.ui.loading.segment:before {
+ position: absolute;
+ content: '';
+ top: 0%;
+ left: 0%;
+ background: @loaderDimmerColor;
+ width: 100%;
+ height: 100%;
+ border-radius: @borderRadius;
+ z-index: @loaderDimmerZIndex;
+}
+.ui.loading.segment:after {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: 50%;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ animation: segment-spin @loaderSpeed linear;
+ animation-iteration-count: infinite;
+
+ border-radius: @circularRadius;
+
+ border-color: @loaderLineColor @loaderFillColor @loaderFillColor @loaderFillColor;
+ border-style: solid;
+ border-width: @loaderLineWidth;
+
+ box-shadow: 0px 0px 0px 1px transparent;
+ visibility: visible;
+ z-index: @loaderLineZIndex;
+}
+
+@keyframes segment-spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*-------------------
+ Basic
+--------------------*/
+
+.ui.basic.segment {
+ background: @basicBackground;
+ box-shadow: @basicBoxShadow;
+ border: @basicBorder;
+ border-radius: @basicBorderRadius;
+}
+
+/*-------------------
+ Clearing
+--------------------*/
+
+.ui.clearing.segment:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+
+/*-------------------
+ Colors
+--------------------*/
+
+/* Red */
+.ui.red.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @red;
+}
+.ui.inverted.red.segment {
+ background-color: @red !important;
+ color: @white !important;
+}
+
+/* Orange */
+.ui.orange.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @orange;
+}
+.ui.inverted.orange.segment {
+ background-color: @orange !important;
+ color: @white !important;
+}
+
+/* Yellow */
+.ui.yellow.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @yellow;
+}
+.ui.inverted.yellow.segment {
+ background-color: @yellow !important;
+ color: @white !important;
+}
+
+/* Olive */
+.ui.olive.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @olive;
+}
+.ui.inverted.olive.segment {
+ background-color: @olive !important;
+ color: @white !important;
+}
+
+/* Green */
+.ui.green.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @green;
+}
+.ui.inverted.green.segment {
+ background-color: @green !important;
+ color: @white !important;
+}
+
+/* Teal */
+.ui.teal.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @teal;
+}
+.ui.inverted.teal.segment {
+ background-color: @teal !important;
+ color: @white !important;
+}
+
+/* Blue */
+.ui.blue.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @blue;
+}
+.ui.inverted.blue.segment {
+ background-color: @blue !important;
+ color: @white !important;
+}
+
+/* Violet */
+.ui.violet.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @violet;
+}
+.ui.inverted.violet.segment {
+ background-color: @violet !important;
+ color: @white !important;
+}
+
+/* Purple */
+.ui.purple.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @purple;
+}
+.ui.inverted.purple.segment {
+ background-color: @purple !important;
+ color: @white !important;
+}
+
+/* Pink */
+.ui.pink.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @pink;
+}
+.ui.inverted.pink.segment {
+ background-color: @pink !important;
+ color: @white !important;
+}
+
+/* Brown */
+.ui.brown.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @brown;
+}
+.ui.inverted.brown.segment {
+ background-color: @brown !important;
+ color: @white !important;
+}
+
+/* Grey */
+.ui.grey.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @grey;
+}
+.ui.inverted.grey.segment {
+ background-color: @grey !important;
+ color: @white !important;
+}
+
+/* Black */
+.ui.black.segment:not(.inverted) {
+ border-top: @coloredBorderSize solid @black;
+}
+.ui.inverted.black.segment {
+ background-color: @black !important;
+ color: @white !important;
+}
+
+/*-------------------
+ Aligned
+--------------------*/
+
+.ui[class*="left aligned"].segment {
+ text-align: left;
+}
+.ui[class*="right aligned"].segment {
+ text-align: right;
+}
+.ui[class*="center aligned"].segment {
+ text-align: center;
+}
+
+/*-------------------
+ Floated
+--------------------*/
+
+.ui.floated.segment,
+.ui[class*="left floated"].segment {
+ float: left;
+ margin-right: @floatedDistance;
+}
+.ui[class*="right floated"].segment {
+ float: right;
+ margin-left: @floatedDistance;
+}
+
+
+/*-------------------
+ Inverted
+--------------------*/
+
+.ui.inverted.segment {
+ border: none;
+ box-shadow: none;
+}
+.ui.inverted.segment,
+.ui.primary.inverted.segment {
+ background: @invertedBackground;
+ color: @invertedTextColor;
+}
+
+/* Nested */
+.ui.inverted.segment .segment {
+ color: @textColor;
+}
+.ui.inverted.segment .inverted.segment {
+ color: @invertedTextColor;
+}
+
+/* Attached */
+.ui.inverted.attached.segment {
+ border-color: @solidWhiteBorderColor;
+}
+
+/*-------------------
+ Emphasis
+--------------------*/
+
+/* Secondary */
+.ui.secondary.segment {
+ background: @secondaryBackground;
+ color: @secondaryColor;
+}
+.ui.secondary.inverted.segment {
+ background: @secondaryInvertedBackground;
+ color: @secondaryInvertedColor;
+}
+
+/* Tertiary */
+.ui.tertiary.segment {
+ background: @tertiaryBackground;
+ color: @tertiaryColor;
+}
+.ui.tertiary.inverted.segment {
+ background: @tertiaryInvertedBackground;
+ color: @tertiaryInvertedColor;
+}
+
+
+/*-------------------
+ Attached
+--------------------*/
+
+/* Middle */
+.ui.attached.segment {
+ top: 0px;
+ bottom: 0px;
+ border-radius: 0px;
+ margin: 0em @attachedHorizontalOffset;
+ width: @attachedWidth;
+ max-width: @attachedWidth;
+ box-shadow: @attachedBoxShadow;
+ border: @attachedBorder;
+}
+.ui.attached:not(.message) + .ui.attached.segment:not(.top) {
+ border-top: none;
+}
+
+/* Top */
+.ui[class*="top attached"].segment {
+ bottom: 0px;
+ margin-bottom: 0em;
+ top: @attachedTopOffset;
+ margin-top: @verticalMargin;
+ border-radius: @borderRadius @borderRadius 0em 0em;
+}
+.ui.segment[class*="top attached"]:first-child {
+ margin-top: 0em;
+}
+
+/* Bottom */
+.ui.segment[class*="bottom attached"] {
+ bottom: 0px;
+ margin-top: 0em;
+ top: @attachedBottomOffset;
+ margin-bottom: @verticalMargin;
+ box-shadow: @attachedBottomBoxShadow;
+ border-radius: 0em 0em @borderRadius @borderRadius;
+}
+.ui.segment[class*="bottom attached"]:last-child {
+ margin-bottom: 0em;
+}
+
+/*-------------------
+ Size
+--------------------*/
+
+.ui.mini.segments .segment,
+.ui.mini.segment {
+ font-size: @mini;
+}
+.ui.tiny.segments .segment,
+.ui.tiny.segment {
+ font-size: @tiny;
+}
+.ui.small.segments .segment,
+.ui.small.segment {
+ font-size: @small;
+}
+.ui.segments .segment,
+.ui.segment {
+ font-size: @medium;
+}
+.ui.large.segments .segment,
+.ui.large.segment {
+ font-size: @large;
+}
+.ui.big.segments .segment,
+.ui.big.segment {
+ font-size: @big;
+}
+.ui.huge.segments .segment,
+.ui.huge.segment {
+ font-size: @huge;
+}
+.ui.massive.segments .segment,
+.ui.massive.segment {
+ font-size: @massive;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/elements/step.less b/src/semantic/src/definitions/elements/step.less
new file mode 100755
index 0000000..d4c1937
--- /dev/null
+++ b/src/semantic/src/definitions/elements/step.less
@@ -0,0 +1,562 @@
+/*!
+ * # Semantic UI - Step
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Step
+*******************************/
+
+/*--------------
+ Load Theme
+---------------*/
+
+@type : 'element';
+@element : 'step';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Plural
+*******************************/
+
+.ui.steps {
+ display: inline-flex;
+ flex-direction: row;
+ align-items: stretch;
+ margin: @stepMargin;
+ background: @stepsBackground;
+ box-shadow: @stepsBoxShadow;
+ line-height: @lineHeight;
+ border-radius: @stepsBorderRadius;
+ border: @stepsBorder;
+}
+
+/* First Steps */
+.ui.steps:first-child {
+ margin-top: 0em;
+}
+
+/* Last Steps */
+.ui.steps:last-child {
+ margin-bottom: 0em;
+}
+
+
+/*******************************
+ Singular
+*******************************/
+
+.ui.steps .step {
+ position: relative;
+ display: flex;
+ flex: 1 0 auto;
+ flex-wrap: wrap;
+ flex-direction: row;
+ vertical-align: middle;
+ align-items: center;
+ justify-content: @justifyContent;
+
+ margin: @verticalMargin @horizontalMargin;
+ padding: @verticalPadding @horizontalPadding;
+ background: @background;
+ color: @textColor;
+ box-shadow: @boxShadow;
+ border-radius: @borderRadius;
+ border: @border;
+ border-right: @divider;
+ transition: @transition;
+}
+
+/* Arrow */
+.ui.steps .step:after {
+ display: none;
+ position: absolute;
+ z-index: 2;
+ content: '';
+ top: @arrowTopOffset;
+ right: @arrowRightOffset;
+ border: medium none;
+ background-color: @arrowBackgroundColor;
+ width: @arrowSize;
+ height: @arrowSize;
+
+ border-style: solid;
+ border-color: @borderColor;
+ border-width: @arrowBorderWidth;
+
+ transition: @transition;
+ transform: translateY(-50%) translateX(50%) rotate(-45deg);
+}
+
+/* First Step */
+.ui.steps .step:first-child {
+ padding-left: @horizontalPadding;
+ border-radius: @stepsBorderRadius 0em 0em @stepsBorderRadius;
+}
+
+/* Last Step */
+.ui.steps .step:last-child {
+ border-radius: 0em @stepsBorderRadius @stepsBorderRadius 0em;
+}
+.ui.steps .step:last-child {
+ border-right: none;
+ margin-right: 0em;
+}
+
+/* Only Step */
+.ui.steps .step:only-child {
+ border-radius: @stepsBorderRadius;
+}
+
+
+/*******************************
+ Content
+*******************************/
+
+/* Title */
+.ui.steps .step .title {
+ font-family: @titleFontFamily;
+ font-size: @titleFontSize;
+ font-weight: @titleFontWeight;
+}
+.ui.steps .step > .title {
+ width: 100%;
+}
+
+/* Description */
+.ui.steps .step .description {
+ font-weight: @descriptionFontWeight;
+ font-size: @descriptionFontSize;
+ color: @descriptionColor;
+}
+.ui.steps .step > .description {
+ width: 100%;
+}
+.ui.steps .step .title ~ .description {
+ margin-top: @descriptionDistance;
+}
+
+/* Icon */
+.ui.steps .step > .icon {
+ line-height: 1;
+ font-size: @iconSize;
+ margin: 0em @iconDistance 0em 0em;
+}
+.ui.steps .step > .icon,
+.ui.steps .step > .icon ~ .content {
+ display: block;
+ flex: 0 1 auto;
+ align-self: @iconAlign;
+}
+.ui.steps .step > .icon ~ .content {
+ flex-grow: 1 0 auto;
+}
+
+/* Horizontal Icon */
+.ui.steps:not(.vertical) .step > .icon {
+ width: auto;
+}
+
+/* Link */
+.ui.steps .link.step,
+.ui.steps a.step {
+ cursor: pointer;
+}
+
+/*******************************
+ Types
+*******************************/
+
+/*--------------
+ Ordered
+---------------*/
+
+.ui.ordered.steps {
+ counter-reset: ordered;
+}
+.ui.ordered.steps .step:before {
+ display: block;
+ position: static;
+ text-align: center;
+ content: counters(ordered, ".");
+ align-self: @iconAlign;
+ margin-right: @iconDistance;
+ font-size: @iconSize;
+ counter-increment: ordered;
+ font-family: @orderedFontFamily;
+ font-weight: @orderedFontWeight;
+}
+
+.ui.ordered.steps .step > * {
+ display: block;
+ align-self: @iconAlign;
+}
+
+
+/*--------------
+ Vertical
+---------------*/
+
+.ui.vertical.steps {
+ display: inline-flex;
+ flex-direction: column;
+ overflow: visible;
+}
+.ui.vertical.steps .step {
+ justify-content: flex-start;
+ border-radius: @borderRadius;
+ padding: @verticalPadding @horizontalPadding;
+ border-right: none;
+ border-bottom: @verticalDivider;
+}
+.ui.vertical.steps .step:first-child {
+ padding: @verticalPadding @horizontalPadding;
+ border-radius: @stepsBorderRadius @stepsBorderRadius 0em 0em;
+}
+.ui.vertical.steps .step:last-child {
+ border-bottom: none;
+ border-radius: 0em 0em @stepsBorderRadius @stepsBorderRadius;
+}
+.ui.vertical.steps .step:only-child {
+ border-radius: @stepsBorderRadius;
+}
+
+
+/* Arrow */
+.ui.vertical.steps .step:after {
+ display: none;
+}
+.ui.vertical.steps .step:after {
+ top: @verticalArrowTopOffset;
+ right: @verticalArrowRightOffset;
+ border-width: @verticalArrowBorderWidth;
+}
+
+.ui.vertical.steps .step:after {
+ display: @verticalArrowDisplay;
+}
+.ui.vertical.steps .active.step:after {
+ display: @verticalActiveArrowDisplay;
+}
+.ui.vertical.steps .step:last-child:after {
+ display: @verticalLastArrowDisplay;
+}
+.ui.vertical.steps .active.step:last-child:after {
+ display: @verticalActiveLastArrowDisplay;
+}
+
+
+/*---------------
+ Responsive
+----------------*/
+
+/* Mobile (Default) */
+@media only screen and (max-width: (@largestMobileScreen)) {
+
+.ui.steps {
+ display: inline-flex;
+ overflow: visible;
+ flex-direction: column;
+}
+.ui.steps .step {
+ width: 100% !important;
+ flex-direction: column;
+ border-radius: @borderRadius;
+ padding: @verticalPadding @horizontalPadding;
+}
+.ui.steps .step:first-child {
+ padding: @verticalPadding @horizontalPadding;
+ border-radius: @stepsBorderRadius @stepsBorderRadius 0em 0em;
+}
+.ui.steps .step:last-child {
+ border-radius: 0em 0em @stepsBorderRadius @stepsBorderRadius;
+}
+
+/* Arrow */
+.ui.steps .step:after {
+ display: none !important;
+}
+
+/* Content */
+.ui.steps .step .content {
+ text-align: center;
+}
+
+/* Icon */
+.ui.steps .step > .icon,
+.ui.ordered.steps .step:before {
+ margin: 0em 0em @mobileIconDistance 0em;
+}
+
+}
+
+/*******************************
+ States
+*******************************/
+
+/* Link Hover */
+.ui.steps .link.step:hover::after,
+.ui.steps .link.step:hover,
+.ui.steps a.step:hover::after,
+.ui.steps a.step:hover {
+ background: @hoverBackground;
+ color: @hoverColor;
+}
+
+/* Link Down */
+.ui.steps .link.step:active::after,
+.ui.steps .link.step:active,
+.ui.steps a.step:active::after,
+.ui.steps a.step:active {
+ background: @downBackground;
+ color: @downColor;
+}
+
+/* Active */
+.ui.steps .step.active {
+ cursor: auto;
+ background: @activeBackground;
+}
+.ui.steps .step.active:after {
+ background: @activeBackground;
+}
+.ui.steps .step.active .title {
+ color: @activeColor;
+}
+.ui.ordered.steps .step.active:before,
+.ui.steps .active.step .icon {
+ color: @activeIconColor;
+}
+
+/* Active Arrow */
+.ui.steps .step:after {
+ display: @arrowDisplay;
+}
+.ui.steps .active.step:after {
+ display: @activeArrowDisplay;
+}
+.ui.steps .step:last-child:after {
+ display: @lastArrowDisplay;
+}
+.ui.steps .active.step:last-child:after {
+ display: @activeLastArrowDisplay;
+}
+
+/* Active Hover */
+.ui.steps .link.active.step:hover::after,
+.ui.steps .link.active.step:hover,
+.ui.steps a.active.step:hover::after,
+.ui.steps a.active.step:hover {
+ cursor: pointer;
+ background: @activeHoverBackground;
+ color: @activeHoverColor;
+}
+
+/* Completed */
+.ui.steps .step.completed > .icon:before,
+.ui.ordered.steps .step.completed:before {
+ color: @completedColor;
+}
+
+/* Disabled */
+.ui.steps .disabled.step {
+ cursor: auto;
+ background: @disabledBackground;
+ pointer-events: none;
+}
+.ui.steps .disabled.step,
+.ui.steps .disabled.step .title,
+.ui.steps .disabled.step .description {
+ color: @disabledColor;
+}
+.ui.steps .disabled.step:after {
+ background: @disabledBackground;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*--------------
+ Stackable
+---------------*/
+
+/* Tablet Or Below */
+@media only screen and (max-width: @largestTabletScreen) {
+
+.ui[class*="tablet stackable"].steps {
+ display: inline-flex;
+ overflow: visible;
+ flex-direction: column;
+}
+
+/* Steps */
+.ui[class*="tablet stackable"].steps .step {
+ flex-direction: column;
+ border-radius: @borderRadius;
+ padding: @verticalPadding @horizontalPadding;
+}
+.ui[class*="tablet stackable"].steps .step:first-child {
+ padding: @verticalPadding @horizontalPadding;
+ border-radius: @stepsBorderRadius @stepsBorderRadius 0em 0em;
+}
+.ui[class*="tablet stackable"].steps .step:last-child {
+ border-radius: 0em 0em @stepsBorderRadius @stepsBorderRadius;
+}
+
+/* Arrow */
+.ui[class*="tablet stackable"].steps .step:after {
+ display: none !important;
+}
+
+/* Content */
+.ui[class*="tablet stackable"].steps .step .content {
+ text-align: center;
+}
+
+/* Icon */
+.ui[class*="tablet stackable"].steps .step > .icon,
+.ui[class*="tablet stackable"].ordered.steps .step:before {
+ margin: 0em 0em @mobileIconDistance 0em;
+}
+
+}
+
+/*--------------
+ Fluid
+---------------*/
+
+/* Fluid */
+.ui.fluid.steps {
+ display: flex;
+ width: 100%;
+}
+
+/*--------------
+ Attached
+---------------*/
+
+/* Top */
+.ui.attached.steps {
+ width: @attachedWidth !important;
+ margin: 0em @attachedHorizontalOffset @attachedVerticalOffset;
+ max-width: @attachedWidth;
+ border-radius: @stepsBorderRadius @stepsBorderRadius 0em 0em;
+}
+.ui.attached.steps .step:first-child {
+ border-radius: @stepsBorderRadius 0em 0em 0em;
+}
+.ui.attached.steps .step:last-child {
+ border-radius: 0em @stepsBorderRadius 0em 0em;
+}
+
+/* Bottom */
+.ui.bottom.attached.steps {
+ margin: @attachedVerticalOffset @attachedHorizontalOffset 0em;
+ border-radius: 0em 0em @stepsBorderRadius @stepsBorderRadius;
+}
+.ui.bottom.attached.steps .step:first-child {
+ border-radius: 0em 0em 0em @stepsBorderRadius;
+}
+.ui.bottom.attached.steps .step:last-child {
+ border-radius: 0em 0em @stepsBorderRadius 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 {
+ width: 100%;
+}
+.ui.one.steps > .step,
+.ui.two.steps > .step,
+.ui.three.steps > .step,
+.ui.four.steps > .step,
+.ui.five.steps > .step,
+.ui.six.steps > .step,
+.ui.seven.steps > .step,
+.ui.eight.steps > .step {
+ flex-wrap: nowrap;
+}
+.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.mini.steps .step,
+.ui.mini.step {
+ font-size: @mini;
+}
+.ui.tiny.steps .step,
+.ui.tiny.step {
+ font-size: @tiny;
+}
+.ui.small.steps .step,
+.ui.small.step {
+ font-size: @small;
+}
+.ui.steps .step,
+.ui.step {
+ font-size: @medium;
+}
+.ui.large.steps .step,
+.ui.large.step {
+ font-size: @large;
+}
+.ui.big.steps .step,
+.ui.big.step {
+ font-size: @big;
+}
+.ui.huge.steps .step,
+.ui.huge.step {
+ font-size: @huge;
+}
+.ui.massive.steps .step,
+.ui.massive.step {
+ font-size: @massive;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/globals/reset.less b/src/semantic/src/definitions/globals/reset.less
new file mode 100755
index 0000000..7514d94
--- /dev/null
+++ b/src/semantic/src/definitions/globals/reset.less
@@ -0,0 +1,40 @@
+/*!
+ * # Semantic UI - Reset
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'global';
+@element : 'reset';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Reset
+*******************************/
+
+/* Border-Box */
+*,
+*:before,
+*:after {
+ box-sizing: inherit;
+}
+html {
+ box-sizing: border-box;
+}
+
+/* iPad Input Shadows */
+input[type="text"], input[type="email"], input[type="search"], input[type="password"] {
+ -webkit-appearance: none;
+ -moz-appearance: none; /* mobile firefox too! */
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/globals/site.less b/src/semantic/src/definitions/globals/site.less
new file mode 100755
index 0000000..49c1534
--- /dev/null
+++ b/src/semantic/src/definitions/globals/site.less
@@ -0,0 +1,166 @@
+/*!
+ * # Semantic UI - Site
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'global';
+@element : 'site';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Page
+*******************************/
+
+.loadFonts();
+
+html,
+body {
+ height: 100%;
+}
+
+html {
+ font-size: @emSize;
+}
+
+body {
+ margin: 0px;
+ padding: 0px;
+ overflow-x: @pageOverflowX;
+ min-width: @pageMinWidth;
+ background: @pageBackground;
+ font-family: @pageFont;
+ font-size: @fontSize;
+ line-height: @lineHeight;
+ color: @textColor;
+ font-smoothing: @fontSmoothing;
+}
+
+
+
+/*******************************
+ Headers
+*******************************/
+
+h1,
+h2,
+h3,
+h4,
+h5 {
+ font-family: @headerFont;
+ line-height: @headerLineHeight;
+ margin: @headerMargin;
+ font-weight: @headerFontWeight;
+ padding: 0em;
+}
+
+h1 {
+ min-height: 1rem;
+ font-size: @h1;
+}
+h2 {
+ font-size: @h2;
+}
+h3 {
+ font-size: @h3;
+}
+h4 {
+ font-size: @h4;
+}
+h5 {
+ font-size: @h5;
+}
+
+h1:first-child,
+h2:first-child,
+h3:first-child,
+h4:first-child,
+h5:first-child {
+ margin-top: 0em;
+}
+
+h1:last-child,
+h2:last-child,
+h3:last-child,
+h4:last-child,
+h5:last-child {
+ margin-bottom: 0em;
+}
+
+
+/*******************************
+ Text
+*******************************/
+
+p {
+ margin: @paragraphMargin;
+ line-height: @paragraphLineHeight;
+}
+p:first-child {
+ margin-top: 0em;
+}
+p:last-child {
+ margin-bottom: 0em;
+}
+
+/*-------------------
+ Links
+--------------------*/
+
+a {
+ color: @linkColor;
+ text-decoration: @linkUnderline;
+}
+a:hover {
+ color: @linkHoverColor;
+ text-decoration: @linkHoverUnderline;
+}
+
+
+/*******************************
+ Highlighting
+*******************************/
+
+/* Site */
+::-webkit-selection {
+ background-color: @highlightBackground;
+ color: @highlightColor;
+}
+::-moz-selection {
+ background-color: @highlightBackground;
+ color: @highlightColor;
+}
+::selection {
+ background-color: @highlightBackground;
+ color: @highlightColor;
+}
+
+/* Form */
+textarea::-webkit-selection,
+input::-webkit-selection {
+ background-color: @inputHighlightBackground;
+ color: @inputHighlightColor;
+}
+textarea::-moz-selection,
+input::-moz-selection {
+ background-color: @inputHighlightBackground;
+ color: @inputHighlightColor;
+}
+textarea::selection,
+input::selection {
+ background-color: @inputHighlightBackground;
+ color: @inputHighlightColor;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/accordion.less b/src/semantic/src/definitions/modules/accordion.less
new file mode 100755
index 0000000..835f490
--- /dev/null
+++ b/src/semantic/src/definitions/modules/accordion.less
@@ -0,0 +1,219 @@
+/*!
+ * # Semantic UI - Accordion
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'accordion';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Accordion
+*******************************/
+
+.ui.accordion,
+.ui.accordion .accordion {
+ max-width: 100%;
+}
+.ui.accordion .accordion {
+ margin: @childAccordionMargin;
+ padding: @childAccordionPadding;
+}
+
+/* Title */
+.ui.accordion .title,
+.ui.accordion .accordion .title {
+ cursor: pointer;
+}
+
+/* Default Styling */
+.ui.accordion .title:not(.ui) {
+ padding: @titlePadding;
+ font-family: @titleFont;
+ font-size: @titleFontSize;
+ color: @titleColor;
+}
+
+/* Content */
+.ui.accordion .title ~ .content,
+.ui.accordion .accordion .title ~ .content {
+ display: none;
+}
+
+/* Default Styling */
+.ui.accordion:not(.styled) .title ~ .content:not(.ui),
+.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) {
+ margin: @contentMargin;
+ padding: @contentPadding;
+}
+.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child {
+ padding-bottom: 0em;
+}
+
+/* Arrow */
+.ui.accordion .title .dropdown.icon,
+.ui.accordion .accordion .title .dropdown.icon {
+ display: @iconDisplay;
+ float: @iconFloat;
+ opacity: @iconOpacity;
+ width: @iconWidth;
+ height: @iconHeight;
+ margin: @iconMargin;
+ padding: @iconPadding;
+ font-size: @iconFontSize;
+ transition: @iconTransition;
+ vertical-align: @iconVerticalAlign;
+ transform: @iconTransform;
+}
+
+/*--------------
+ Coupling
+---------------*/
+
+/* Menu */
+.ui.accordion.menu .item .title {
+ display: block;
+ padding: @menuTitlePadding;
+}
+.ui.accordion.menu .item .title > .dropdown.icon {
+ float: @menuIconFloat;
+ margin: @menuIconMargin;
+ transform: @menuIconTransform;
+}
+
+/* Header */
+.ui.accordion .ui.header .dropdown.icon {
+ font-size: @iconFontSize;
+ margin: @iconMargin;
+}
+
+/*******************************
+ States
+*******************************/
+
+.ui.accordion .active.title .dropdown.icon,
+.ui.accordion .accordion .active.title .dropdown.icon {
+ transform: @activeIconTransform;
+}
+
+.ui.accordion.menu .item .active.title > .dropdown.icon {
+ transform: @activeIconTransform;
+}
+
+/*******************************
+ Types
+*******************************/
+
+/*--------------
+ Styled
+---------------*/
+
+.ui.styled.accordion {
+ width: @styledWidth;
+}
+
+.ui.styled.accordion,
+.ui.styled.accordion .accordion {
+ border-radius: @styledBorderRadius;
+ background: @styledBackground;
+ box-shadow: @styledBoxShadow;
+}
+.ui.styled.accordion .title,
+.ui.styled.accordion .accordion .title {
+ margin: @styledTitleMargin;
+ padding: @styledTitlePadding;
+ color: @styledTitleColor;
+ font-weight: @styledTitleFontWeight;
+ border-top: @styledTitleBorder;
+ transition: @styledTitleTransition;
+}
+.ui.styled.accordion > .title:first-child,
+.ui.styled.accordion .accordion .title:first-child {
+ border-top: none;
+}
+
+
+/* Content */
+.ui.styled.accordion .content,
+.ui.styled.accordion .accordion .content {
+ margin: @styledContentMargin;
+ padding: @styledContentPadding;
+}
+.ui.styled.accordion .accordion .content {
+ padding: @styledChildContentMargin;
+ padding: @styledChildContentPadding;
+}
+
+
+/* Hover */
+.ui.styled.accordion .title:hover,
+.ui.styled.accordion .active.title,
+.ui.styled.accordion .accordion .title:hover,
+.ui.styled.accordion .accordion .active.title {
+ background: @styledTitleHoverBackground;
+ color: @styledTitleHoverColor;
+}
+.ui.styled.accordion .accordion .title:hover,
+.ui.styled.accordion .accordion .active.title {
+ background: @styledHoverChildTitleBackground;
+ color: @styledHoverChildTitleColor;
+}
+
+
+/* Active */
+.ui.styled.accordion .active.title {
+ background: @styledActiveTitleBackground;
+ color: @styledActiveTitleColor;
+}
+.ui.styled.accordion .accordion .active.title {
+ background: @styledActiveChildTitleBackground;
+ color: @styledActiveChildTitleColor;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+/*--------------
+ Active
+---------------*/
+
+.ui.accordion .active.content,
+.ui.accordion .accordion .active.content {
+ display: block;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Fluid
+---------------*/
+
+.ui.fluid.accordion,
+.ui.fluid.accordion .accordion {
+ width: 100%;
+}
+
+/*--------------
+ Inverted
+---------------*/
+
+.ui.inverted.accordion .title:not(.ui) {
+ color: @invertedTitleColor;
+}
+
+.loadUIOverrides();
+
diff --git a/src/semantic/src/definitions/modules/checkbox.less b/src/semantic/src/definitions/modules/checkbox.less
new file mode 100755
index 0000000..98f7746
--- /dev/null
+++ b/src/semantic/src/definitions/modules/checkbox.less
@@ -0,0 +1,598 @@
+/*!
+ * # Semantic UI - Checkbox
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'checkbox';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Checkbox
+*******************************/
+
+
+/*--------------
+ Content
+---------------*/
+
+.ui.checkbox {
+ position: relative;
+ display: inline-block;
+ backface-visibility: hidden;
+ outline: none;
+ vertical-align: baseline;
+ font-style: normal;
+
+ min-height: @checkboxSize;
+ font-size: @medium;
+ line-height: @checkboxLineHeight;
+ min-width: @checkboxSize;
+}
+
+/* HTML Checkbox */
+.ui.checkbox input[type="checkbox"],
+.ui.checkbox input[type="radio"] {
+ cursor: pointer;
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ opacity: 0 !important;
+ outline: none;
+ z-index: 3;
+ width: @checkboxSize;
+ height: @checkboxSize;
+}
+
+
+/*--------------
+ Box
+---------------*/
+
+
+.ui.checkbox .box,
+.ui.checkbox label {
+ cursor: auto;
+ position: relative;
+ display: block;
+ padding-left: @labelDistance;
+ outline: none;
+ font-size: @labelFontSize;
+}
+
+.ui.checkbox .box:before,
+.ui.checkbox label:before {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+
+ width: @checkboxSize;
+ height: @checkboxSize;
+ content: '';
+
+ background: @checkboxBackground;
+ border-radius: @checkboxBorderRadius;
+
+ transition: @checkboxTransition;
+ border: @checkboxBorder;
+}
+
+/*--------------
+ Checkmark
+---------------*/
+
+.ui.checkbox .box:after,
+.ui.checkbox label:after {
+ position: absolute;
+ font-size: @checkboxCheckFontSize;
+ top: @checkboxCheckTop;
+ left: @checkboxCheckLeft;
+ width: @checkboxCheckSize;
+ height: @checkboxCheckSize;
+ text-align: center;
+
+ opacity: 0;
+ color: @checkboxColor;
+ transition: @checkboxTransition;
+}
+
+/*--------------
+ Label
+---------------*/
+
+/* Inside */
+.ui.checkbox label,
+.ui.checkbox + label {
+ color: @labelColor;
+ transition: @labelTransition;
+}
+
+/* Outside */
+.ui.checkbox + label {
+ vertical-align: middle;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+
+/*--------------
+ Hover
+---------------*/
+
+.ui.checkbox .box:hover::before,
+.ui.checkbox label:hover::before {
+ background: @checkboxHoverBackground;
+ border-color: @checkboxHoverBorderColor;
+}
+.ui.checkbox label:hover,
+.ui.checkbox + label:hover {
+ color: @labelHoverColor;
+}
+
+/*--------------
+ Down
+---------------*/
+
+.ui.checkbox .box:active::before,
+.ui.checkbox label:active::before {
+ background: @checkboxPressedBackground;
+ border-color: @checkboxPressedBorderColor;
+}
+.ui.checkbox .box:active::after,
+.ui.checkbox label:active::after {
+ color: @checkboxPressedColor;
+}
+.ui.checkbox input:active ~ label {
+ color: @labelPressedColor;
+}
+
+/*--------------
+ Focus
+---------------*/
+
+.ui.checkbox input:focus ~ .box:before,
+.ui.checkbox input:focus ~ label:before {
+ background: @checkboxFocusBackground;
+ border-color: @checkboxFocusBorderColor;
+}
+.ui.checkbox input:focus ~ .box:after,
+.ui.checkbox input:focus ~ label:after {
+ color: @checkboxFocusCheckColor;
+}
+.ui.checkbox input:focus ~ label {
+ color: @labelFocusColor;
+}
+
+/*--------------
+ Active
+---------------*/
+
+.ui.checkbox input:checked ~ .box:before,
+.ui.checkbox input:checked ~ label:before {
+ background: @checkboxActiveBackground;
+ border-color: @checkboxActiveBorderColor;
+}
+.ui.checkbox input:checked ~ .box:after,
+.ui.checkbox input:checked ~ label:after {
+ opacity: @checkboxActiveCheckOpacity;
+ color: @checkboxActiveCheckColor;
+}
+
+/*--------------
+ Indeterminate
+---------------*/
+
+.ui.checkbox input:not([type=radio]):indeterminate ~ .box:before,
+.ui.checkbox input:not([type=radio]):indeterminate ~ label:before {
+ background: @checkboxIndeterminateBackground;
+ border-color: @checkboxIndeterminateBorderColor;
+}
+.ui.checkbox input:not([type=radio]):indeterminate ~ .box:after,
+.ui.checkbox input:not([type=radio]):indeterminate ~ label:after {
+ opacity: @checkboxIndeterminateCheckOpacity;
+ color: @checkboxIndeterminateCheckColor;
+}
+
+/*--------------
+ Active Focus
+---------------*/
+
+.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:before,
+.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:before,
+.ui.checkbox input:checked:focus ~ .box:before,
+.ui.checkbox input:checked:focus ~ label:before {
+ background: @checkboxActiveFocusBackground;
+ border-color: @checkboxActiveFocusBorderColor;
+}
+.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:after,
+.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:after,
+.ui.checkbox input:checked:focus ~ .box:after,
+.ui.checkbox input:checked:focus ~ label:after {
+ color: @checkboxActiveFocusCheckColor;
+}
+
+
+/*--------------
+ Read-Only
+---------------*/
+
+.ui.read-only.checkbox,
+.ui.read-only.checkbox label {
+ cursor: default;
+}
+
+
+/*--------------
+ Disabled
+---------------*/
+
+.ui.disabled.checkbox .box:after,
+.ui.disabled.checkbox label,
+.ui.checkbox input[disabled] ~ .box:after,
+.ui.checkbox input[disabled] ~ label {
+ cursor: default !important;
+ opacity: @disabledCheckboxOpacity;
+ color: @disabledCheckboxLabelColor;
+}
+
+/*--------------
+ Hidden
+---------------*/
+
+/* Initialized checkbox moves input below element
+ to prevent manually triggering */
+.ui.checkbox input.hidden {
+ z-index: -1;
+}
+
+/* Selectable Label */
+.ui.checkbox input.hidden + label {
+ cursor: pointer;
+ user-select: none;
+}
+
+
+/*******************************
+ Types
+*******************************/
+
+
+/*--------------
+ Radio
+---------------*/
+
+.ui.radio.checkbox {
+ min-height: @radioSize;
+}
+
+.ui.radio.checkbox .box,
+.ui.radio.checkbox label {
+ padding-left: @radioLabelDistance;
+}
+
+/* Box */
+.ui.radio.checkbox .box:before,
+.ui.radio.checkbox label:before {
+ content: '';
+ transform: none;
+
+ width: @radioSize;
+ height: @radioSize;
+ border-radius: @circularRadius;
+ top: @radioTop;
+ left: @radioLeft;
+}
+
+/* Bullet */
+.ui.radio.checkbox .box:after,
+.ui.radio.checkbox label:after {
+ border: none;
+ content: '' !important;
+ width: @radioSize;
+ height: @radioSize;
+ line-height: @radioSize;
+}
+
+/* Radio Checkbox */
+.ui.radio.checkbox .box:after,
+.ui.radio.checkbox label:after {
+ top: @bulletTop;
+ left: @bulletLeft;
+ width: @radioSize;
+ height: @radioSize;
+ border-radius: @bulletRadius;
+ transform: scale(@bulletScale);
+ background-color: @bulletColor;
+}
+
+/* Focus */
+.ui.radio.checkbox input:focus ~ .box:before,
+.ui.radio.checkbox input:focus ~ label:before {
+ background-color: @radioFocusBackground;
+}
+.ui.radio.checkbox input:focus ~ .box:after,
+.ui.radio.checkbox input:focus ~ label:after {
+ background-color: @radioFocusBulletColor;
+}
+
+/* Indeterminate */
+.ui.radio.checkbox input:indeterminate ~ .box:after,
+.ui.radio.checkbox input:indeterminate ~ label:after {
+ opacity: 0;
+}
+
+/* Active */
+.ui.radio.checkbox input:checked ~ .box:before,
+.ui.radio.checkbox input:checked ~ label:before {
+ background-color: @radioActiveBackground;
+}
+.ui.radio.checkbox input:checked ~ .box:after,
+.ui.radio.checkbox input:checked ~ label:after {
+ background-color: @radioActiveBulletColor;
+}
+
+/* Active Focus */
+.ui.radio.checkbox input:focus:checked ~ .box:before,
+.ui.radio.checkbox input:focus:checked ~ label:before {
+ background-color: @radioActiveFocusBackground;
+}
+.ui.radio.checkbox input:focus:checked ~ .box:after,
+.ui.radio.checkbox input:focus:checked ~ label:after {
+ background-color: @radioActiveFocusBulletColor;
+}
+
+/*--------------
+ Slider
+---------------*/
+
+.ui.slider.checkbox {
+ min-height: @sliderHeight;
+}
+
+/* Input */
+.ui.slider.checkbox input {
+ width: @sliderWidth;
+ height: @sliderHeight;
+}
+
+/* Label */
+.ui.slider.checkbox .box,
+.ui.slider.checkbox label {
+ padding-left: @sliderLabelDistance;
+ line-height: @sliderLabelLineHeight;
+ color: @sliderOffLabelColor;
+}
+
+/* Line */
+.ui.slider.checkbox .box:before,
+.ui.slider.checkbox label:before {
+ display: block;
+ position: absolute;
+ content: '';
+ transform: none;
+ border: none !important;
+ left: 0em;
+ z-index: 1;
+
+ top: @sliderLineVerticalOffset;
+
+ background-color: @sliderLineColor;
+ width: @sliderLineWidth;
+ height: @sliderLineHeight;
+
+ transform: none;
+ border-radius: @sliderLineRadius;
+ transition: @sliderLineTransition;
+
+}
+
+/* Handle */
+.ui.slider.checkbox .box:after,
+.ui.slider.checkbox label:after {
+ background: @handleBackground;
+ position: absolute;
+ content: '' !important;
+ opacity: 1;
+ z-index: 2;
+
+ border: none;
+ box-shadow: @handleBoxShadow;
+ width: @sliderHandleSize;
+ height: @sliderHandleSize;
+ top: @sliderHandleOffset;
+ left: 0em;
+ transform: none;
+
+ border-radius: @circularRadius;
+ transition: @sliderHandleTransition;
+}
+
+/* Focus */
+.ui.slider.checkbox input:focus ~ .box:before,
+.ui.slider.checkbox input:focus ~ label:before {
+ background-color: @toggleFocusColor;
+ border: none;
+}
+
+/* Hover */
+.ui.slider.checkbox .box:hover,
+.ui.slider.checkbox label:hover {
+ color: @sliderHoverLabelColor;
+}
+.ui.slider.checkbox .box:hover::before,
+.ui.slider.checkbox label:hover::before {
+ background: @sliderHoverLaneBackground;
+}
+
+/* Active */
+.ui.slider.checkbox input:checked ~ .box,
+.ui.slider.checkbox input:checked ~ label {
+ color: @sliderOnLabelColor !important;
+}
+.ui.slider.checkbox input:checked ~ .box:before,
+.ui.slider.checkbox input:checked ~ label:before {
+ background-color: @sliderOnLineColor !important;
+}
+.ui.slider.checkbox input:checked ~ .box:after,
+.ui.slider.checkbox input:checked ~ label:after {
+ left: @sliderTravelDistance;
+}
+
+/* Active Focus */
+.ui.slider.checkbox input:focus:checked ~ .box,
+.ui.slider.checkbox input:focus:checked ~ label {
+ color: @sliderOnFocusLabelColor !important;
+}
+.ui.slider.checkbox input:focus:checked ~ .box:before,
+.ui.slider.checkbox input:focus:checked ~ label:before {
+ background-color: @sliderOnFocusLineColor !important;
+}
+
+
+/*--------------
+ Toggle
+---------------*/
+
+.ui.toggle.checkbox {
+ min-height: @toggleHeight;
+}
+
+/* Input */
+.ui.toggle.checkbox input {
+ width: @toggleWidth;
+ height: @toggleHeight;
+}
+
+/* Label */
+.ui.toggle.checkbox .box,
+.ui.toggle.checkbox label {
+ min-height: @toggleHandleSize;
+ padding-left: @toggleLabelDistance;
+ color: @toggleOffLabelColor;
+}
+.ui.toggle.checkbox label {
+ padding-top: @toggleLabelOffset;
+}
+
+/* Switch */
+.ui.toggle.checkbox .box:before,
+.ui.toggle.checkbox label:before {
+ display: block;
+ position: absolute;
+ content: '';
+ z-index: 1;
+ transform: none;
+ border: none;
+
+ top: @toggleLaneVerticalOffset;
+
+ background: @toggleLaneBackground;
+ box-shadow: @toggleLaneBoxShadow;
+ width: @toggleLaneWidth;
+ height: @toggleLaneHeight;
+ border-radius: @toggleHandleRadius;
+}
+
+/* Handle */
+.ui.toggle.checkbox .box:after,
+.ui.toggle.checkbox label:after {
+ background: @handleBackground;
+ position: absolute;
+ content: '' !important;
+ opacity: 1;
+ z-index: 2;
+
+ border: none;
+ box-shadow: @handleBoxShadow;
+ width: @toggleHandleSize;
+ height: @toggleHandleSize;
+ top: @toggleHandleOffset;
+ left: 0em;
+
+ border-radius: @circularRadius;
+ transition: @toggleHandleTransition;
+}
+
+.ui.toggle.checkbox input ~ .box:after,
+.ui.toggle.checkbox input ~ label:after {
+ left: @toggleOffOffset;
+ box-shadow: @toggleOffHandleBoxShadow;
+}
+
+/* Focus */
+.ui.toggle.checkbox input:focus ~ .box:before,
+.ui.toggle.checkbox input:focus ~ label:before {
+ background-color: @toggleFocusColor;
+ border: none;
+}
+
+/* Hover */
+.ui.toggle.checkbox .box:hover::before,
+.ui.toggle.checkbox label:hover::before {
+ background-color: @toggleHoverColor;
+ border: none;
+}
+
+/* Active */
+.ui.toggle.checkbox input:checked ~ .box,
+.ui.toggle.checkbox input:checked ~ label {
+ color: @toggleOnLabelColor !important;
+}
+.ui.toggle.checkbox input:checked ~ .box:before,
+.ui.toggle.checkbox input:checked ~ label:before {
+ background-color: @toggleOnLaneColor !important;
+}
+.ui.toggle.checkbox input:checked ~ .box:after,
+.ui.toggle.checkbox input:checked ~ label:after {
+ left: @toggleOnOffset;
+ box-shadow: @toggleOnHandleBoxShadow;
+}
+
+
+/* Active Focus */
+.ui.toggle.checkbox input:focus:checked ~ .box,
+.ui.toggle.checkbox input:focus:checked ~ label {
+ color: @toggleOnFocusLabelColor !important;
+}
+.ui.toggle.checkbox input:focus:checked ~ .box:before,
+.ui.toggle.checkbox input:focus:checked ~ label:before {
+ background-color: @toggleOnFocusLaneColor !important;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Fitted
+---------------*/
+
+.ui.fitted.checkbox .box,
+.ui.fitted.checkbox label {
+ padding-left: 0em !important;
+}
+
+.ui.fitted.toggle.checkbox,
+.ui.fitted.toggle.checkbox {
+ width: @toggleWidth;
+}
+
+.ui.fitted.slider.checkbox,
+.ui.fitted.slider.checkbox {
+ width: @sliderWidth;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/dimmer.less b/src/semantic/src/definitions/modules/dimmer.less
new file mode 100755
index 0000000..ff6c605
--- /dev/null
+++ b/src/semantic/src/definitions/modules/dimmer.less
@@ -0,0 +1,189 @@
+/*!
+ * # Semantic UI - Dimmer
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'dimmer';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Dimmer
+*******************************/
+
+.dimmable:not(.body) {
+ position: @dimmablePosition;
+}
+
+.ui.dimmer {
+ display: none;
+ position: @dimmerPosition;
+ top: 0em !important;
+ left: 0em !important;
+
+ width: 100%;
+ height: 100%;
+
+ text-align: @textAlign;
+ vertical-align: @verticalAlign;
+
+ background-color: @backgroundColor;
+ opacity: @hiddenOpacity;
+ line-height: @lineHeight;
+
+ animation-fill-mode: both;
+ animation-duration: @duration;
+ transition: @transition;
+
+ user-select: none;
+ will-change: opacity;
+ z-index: @zIndex;
+}
+
+/* Dimmer Content */
+.ui.dimmer > .content {
+ width: 100%;
+ height: 100%;
+ display: @contentDisplay;
+ user-select: text;
+}
+.ui.dimmer > .content > * {
+ display: @contentChildDisplay;
+ vertical-align: @verticalAlign;
+ color: @textColor;
+}
+
+
+/* Loose Coupling */
+.ui.segment > .ui.dimmer {
+ border-radius: inherit !important;
+}
+
+/*******************************
+ States
+*******************************/
+
+.animating.dimmable:not(body),
+.dimmed.dimmable:not(body) {
+ overflow: @overflow;
+}
+
+.dimmed.dimmable > .ui.animating.dimmer,
+.dimmed.dimmable > .ui.visible.dimmer,
+.ui.active.dimmer {
+ display: block;
+ opacity: @visibleOpacity;
+}
+
+.ui.disabled.dimmer {
+ width: 0 !important;
+ height: 0 !important;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Page
+---------------*/
+
+.ui.page.dimmer {
+ position: @pageDimmerPosition;
+ transform-style: @transformStyle;
+ perspective: @perspective;
+ transform-origin: center center;
+}
+
+body.animating.in.dimmable,
+body.dimmed.dimmable {
+ overflow: hidden;
+}
+
+body.dimmable > .dimmer {
+ position: fixed;
+}
+
+/*--------------
+ Blurring
+---------------*/
+
+.blurring.dimmable > :not(.dimmer) {
+ filter: @blurredStartFilter;
+ transition: @blurredTransition;
+}
+.blurring.dimmed.dimmable > :not(.dimmer) {
+ filter: @blurredEndFilter;
+}
+
+/* Dimmer Color */
+.blurring.dimmable > .dimmer {
+ background-color: @blurredBackgroundColor;
+}
+.blurring.dimmable > .inverted.dimmer {
+ background-color: @blurredInvertedBackgroundColor;
+}
+
+/*--------------
+ Aligned
+---------------*/
+
+.ui.dimmer > .top.aligned.content > * {
+ vertical-align: top;
+}
+.ui.dimmer > .bottom.aligned.content > * {
+ vertical-align: bottom;
+}
+
+/*--------------
+ Inverted
+---------------*/
+
+.ui.inverted.dimmer {
+ background-color: @invertedBackgroundColor;
+}
+.ui.inverted.dimmer > .content > * {
+ color: @textColor;
+}
+
+/*--------------
+ Simple
+---------------*/
+
+/* Displays without javascript */
+.ui.simple.dimmer {
+ display: block;
+ overflow: hidden;
+ opacity: 1;
+ width: 0%;
+ height: 0%;
+ z-index: -100;
+ background-color: @simpleStartBackgroundColor;
+}
+.dimmed.dimmable > .ui.simple.dimmer {
+ overflow: visible;
+ opacity: 1;
+ width: 100%;
+ height: 100%;
+ background-color: @simpleEndBackgroundColor;
+ z-index: @simpleZIndex;
+}
+
+.ui.simple.inverted.dimmer {
+ background-color: @simpleInvertedStartBackgroundColor;
+}
+.dimmed.dimmable > .ui.simple.inverted.dimmer {
+ background-color: @simpleInvertedEndBackgroundColor;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/dropdown.less b/src/semantic/src/definitions/modules/dropdown.less
new file mode 100755
index 0000000..9704f86
--- /dev/null
+++ b/src/semantic/src/definitions/modules/dropdown.less
@@ -0,0 +1,1352 @@
+/*!
+ * # Semantic UI - Dropdown
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'dropdown';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Dropdown
+*******************************/
+
+.ui.dropdown {
+ cursor: pointer;
+ position: relative;
+ display: inline-block;
+ outline: none;
+ text-align: left;
+ transition: @transition;
+
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+/*******************************
+ Content
+*******************************/
+
+/*--------------
+ Menu
+---------------*/
+
+.ui.dropdown .menu {
+ cursor: auto;
+ position: absolute;
+ display: none;
+ outline: none;
+ top: 100%;
+ min-width: max-content;
+ transition: @menuTransition;
+
+ margin: @menuMargin;
+ padding: @menuPadding;
+ background: @menuBackground;
+
+ font-size: @relativeMedium;
+ text-shadow: none;
+ text-align: @menuTextAlign;
+
+ box-shadow: @menuBoxShadow;
+ border: @menuBorder;
+ border-radius: @menuBorderRadius;
+ transition: @menuTransition;
+ z-index: @menuZIndex;
+ will-change: transform, opacity;
+}
+
+.ui.dropdown .menu > * {
+ white-space: nowrap;
+}
+
+
+/*--------------
+ Hidden Input
+---------------*/
+
+.ui.dropdown > input:not(.search):first-child,
+.ui.dropdown > select {
+ display: none !important;
+}
+
+/*--------------
+ Dropdown Icon
+---------------*/
+
+.ui.dropdown > .dropdown.icon {
+ position: relative;
+ width: auto;
+ font-size: @dropdownIconSize;
+ margin: @dropdownIconMargin;
+}
+.ui.dropdown .menu > .item .dropdown.icon {
+ width: auto;
+ float: @itemDropdownIconFloat;
+ margin: @itemDropdownIconMargin;
+}
+.ui.dropdown .menu > .item .dropdown.icon + .text {
+ margin-right: @itemDropdownIconDistance;
+}
+
+
+/*--------------
+ Text
+---------------*/
+
+.ui.dropdown > .text {
+ display: inline-block;
+ transition: @textTransition;
+}
+
+/*--------------
+ Menu Item
+---------------*/
+
+.ui.dropdown .menu > .item {
+ position: relative;
+ cursor: pointer;
+ display: block;
+ border: @itemBorder;
+ height: @itemHeight;
+ text-align: @itemTextAlign;
+
+ border-top: @itemDivider;
+ line-height: @itemLineHeight;
+ font-size: @itemFontSize;
+ color: @itemColor;
+
+ padding: @itemPadding !important;
+ font-size: @itemFontSize;
+ text-transform: @itemTextTransform;
+ font-weight: @itemFontWeight;
+ box-shadow: @itemBoxShadow;
+ -webkit-touch-callout: none;
+}
+.ui.dropdown .menu > .item:first-child {
+ border-top-width: 0px;
+}
+
+/*--------------
+ Floated Content
+---------------*/
+
+.ui.dropdown > .text > [class*="right floated"],
+.ui.dropdown .menu .item > [class*="right floated"] {
+ float: right !important;
+ margin-right: 0em !important;
+ margin-left: @floatedDistance !important;
+}
+.ui.dropdown > .text > [class*="left floated"],
+.ui.dropdown .menu .item > [class*="left floated"] {
+ float: left !important;
+ margin-left: 0em !important;
+ margin-right: @floatedDistance !important;
+}
+
+.ui.dropdown .menu .item > .icon.floated,
+.ui.dropdown .menu .item > .flag.floated,
+.ui.dropdown .menu .item > .image.floated,
+.ui.dropdown .menu .item > img.floated {
+ margin-top: @itemLineHeightOffset;
+}
+
+
+/*--------------
+ Menu Divider
+---------------*/
+
+.ui.dropdown .menu > .header {
+ margin: @menuHeaderMargin;
+ padding: @menuHeaderPadding;
+ color: @menuHeaderColor;
+ font-size: @menuHeaderFontSize;
+ font-weight: @menuHeaderFontWeight;
+ text-transform: @menuHeaderTextTransform;
+}
+
+.ui.dropdown .menu > .divider {
+ border-top: @menuDividerBorder;
+ height: 0em;
+ margin: @menuDividerMargin;
+}
+
+.ui.dropdown .menu > .input {
+ width: auto;
+ display: flex;
+ margin: @menuInputMargin;
+ min-width: @menuInputMinWidth;
+}
+.ui.dropdown .menu > .header + .input {
+ margin-top: 0em;
+}
+.ui.dropdown .menu > .input:not(.transparent) input {
+ padding: @menuInputPadding;
+}
+.ui.dropdown .menu > .input:not(.transparent) .button,
+.ui.dropdown .menu > .input:not(.transparent) .icon,
+.ui.dropdown .menu > .input:not(.transparent) .label {
+ padding-top: @menuInputVerticalPadding;
+ padding-bottom: @menuInputVerticalPadding;
+}
+
+/*-----------------
+ Item Description
+-------------------*/
+
+.ui.dropdown > .text > .description,
+.ui.dropdown .menu > .item > .description {
+ float: @itemDescriptionFloat;
+ margin: @itemDescriptionMargin;
+ color: @itemDescriptionColor;
+}
+
+/*-----------------
+ Message
+-------------------*/
+
+.ui.dropdown .menu > .message {
+ padding: @messagePadding;
+ font-weight: @messageFontWeight;
+}
+.ui.dropdown .menu > .message:not(.ui) {
+ color: @messageColor;
+}
+
+/*--------------
+ Sub Menu
+---------------*/
+
+.ui.dropdown .menu .menu {
+ top: @subMenuTop !important;
+ left: @subMenuLeft !important;
+ right: @subMenuRight !important;
+ margin: @subMenuMargin !important;
+ border-radius: @subMenuBorderRadius !important;
+ z-index: @subMenuZIndex !important;
+}
+
+/* Hide Arrow */
+.ui.dropdown .menu .menu:after {
+ display: none;
+}
+
+/*--------------
+ Sub Elements
+---------------*/
+
+/* Icons / Flags / Labels / Image */
+.ui.dropdown > .text > .icon,
+.ui.dropdown > .text > .label,
+.ui.dropdown > .text > .flag,
+.ui.dropdown > .text > img,
+.ui.dropdown > .text > .image {
+ margin-top: @textLineHeightOffset;
+}
+.ui.dropdown .menu > .item > .icon,
+.ui.dropdown .menu > .item > .label,
+.ui.dropdown .menu > .item > .flag,
+.ui.dropdown .menu > .item > .image,
+.ui.dropdown .menu > .item > img {
+ margin-top: @itemLineHeightOffset;
+}
+
+.ui.dropdown > .text > .icon,
+.ui.dropdown > .text > .label,
+.ui.dropdown > .text > .flag,
+.ui.dropdown > .text > img,
+.ui.dropdown > .text > .image,
+.ui.dropdown .menu > .item > .icon,
+.ui.dropdown .menu > .item > .label,
+.ui.dropdown .menu > .item > .flag,
+.ui.dropdown .menu > .item > .image,
+.ui.dropdown .menu > .item > img {
+ margin-left: 0em;
+ float: @itemElementFloat;
+ margin-right: @itemElementDistance;
+}
+
+/*--------------
+ Image
+---------------*/
+
+.ui.dropdown > .text > img,
+.ui.dropdown > .text > .image,
+.ui.dropdown .menu > .item > .image,
+.ui.dropdown .menu > .item > img {
+ display: inline-block;
+ vertical-align: middle;
+ width: auto;
+ max-height: @menuImageMaxHeight;
+}
+
+
+/*******************************
+ Coupling
+*******************************/
+
+
+/*--------------
+ Menu
+---------------*/
+
+/* Remove Menu Item Divider */
+.ui.dropdown .ui.menu > .item:before,
+.ui.menu .ui.dropdown .menu > .item:before {
+ display: none;
+}
+
+/* Prevent Menu Item Border */
+.ui.menu .ui.dropdown .menu .active.item {
+ border-left: none;
+}
+
+/* Automatically float dropdown menu right on last menu item */
+.ui.menu .right.menu .dropdown:last-child .menu,
+.ui.menu .right.dropdown.item .menu,
+.ui.buttons > .ui.dropdown:last-child .menu {
+ left: auto;
+ right: 0em;
+}
+
+/*--------------
+ Label
+---------------*/
+
+/* Dropdown Menu */
+.ui.label.dropdown .menu {
+ min-width: 100%;
+}
+
+/*--------------
+ Button
+---------------*/
+
+/* No Margin On Icon Button */
+.ui.dropdown.icon.button > .dropdown.icon {
+ margin: 0em;
+}
+.ui.button.dropdown .menu {
+ min-width: 100%;
+}
+
+
+
+/*******************************
+ Types
+*******************************/
+
+/*--------------
+ Selection
+---------------*/
+
+/* Displays like a select box */
+.ui.selection.dropdown {
+ cursor: pointer;
+ word-wrap: break-word;
+ line-height: 1em;
+ white-space: normal;
+ outline: 0;
+ transform: rotateZ(0deg);
+
+ min-width: @selectionMinWidth;
+ min-height: @selectionMinHeight;
+
+ background: @selectionBackground;
+ display: @selectionDisplay;
+ padding: @selectionPadding;
+ color: @selectionTextColor;
+ box-shadow: @selectionBoxShadow;
+ border: @selectionBorder;
+ border-radius: @selectionBorderRadius;
+ transition: @selectionTransition;
+}
+.ui.selection.dropdown.visible,
+.ui.selection.dropdown.active {
+ z-index: @selectionZIndex;
+}
+
+select.ui.dropdown {
+ height: @selectHeight;
+ padding: @selectPadding;
+ border: @selectBorder;
+ visibility: @selectVisibility;
+}
+.ui.selection.dropdown > .search.icon,
+.ui.selection.dropdown > .delete.icon,
+.ui.selection.dropdown > .dropdown.icon {
+ cursor: pointer;
+ position: absolute;
+ width: auto;
+ height: auto;
+ line-height: @searchSelectionLineHeight;
+ top: @selectionVerticalPadding;
+ right: @selectionHorizontalPadding;
+ z-index: @selectionIconZIndex;
+ margin: @selectionIconMargin;
+ padding: @selectionIconPadding;
+ opacity: @selectionIconOpacity;
+ transition: @selectionIconTransition;
+}
+
+/* Compact */
+.ui.compact.selection.dropdown {
+ min-width: 0px;
+}
+
+/* Selection Menu */
+.ui.selection.dropdown .menu {
+ overflow-x: hidden;
+ overflow-y: auto;
+ backface-visibility: hidden;
+ -webkit-overflow-scrolling: touch;
+ border-top-width: 0px !important;
+ width: auto;
+ outline: none;
+ margin: 0px -@menuBorderWidth;
+ min-width: @menuMinWidth;
+ width: @menuMinWidth;
+
+ border-radius: @selectionMenuBorderRadius;
+ box-shadow: @selectionMenuBoxShadow;
+ transition: @selectionMenuTransition;
+}
+.ui.selection.dropdown .menu:after,
+.ui.selection.dropdown .menu:before {
+ display: none;
+}
+
+/*--------------
+ Message
+---------------*/
+
+.ui.selection.dropdown .menu > .message {
+ padding: @selectionMessagePadding;
+}
+
+@media only screen and (max-width : @largestMobileScreen) {
+ .ui.selection.dropdown .menu {
+ max-height: @selectionMobileMaxMenuHeight;
+ }
+}
+@media only screen and (min-width: @tabletBreakpoint) {
+ .ui.selection.dropdown .menu {
+ max-height: @selectionTabletMaxMenuHeight;
+ }
+}
+@media only screen and (min-width: @computerBreakpoint) {
+ .ui.selection.dropdown .menu {
+ max-height: @selectionComputerMaxMenuHeight;
+ }
+}
+@media only screen and (min-width: @widescreenMonitorBreakpoint) {
+ .ui.selection.dropdown .menu {
+ max-height: @selectionWidescreenMaxMenuHeight;
+ }
+}
+
+/* Menu Item */
+.ui.selection.dropdown .menu > .item {
+ border-top: @selectionItemDivider;
+ padding: @selectionItemPadding !important;
+ white-space: normal;
+ word-wrap: normal;
+}
+
+/* User Item */
+.ui.selection.dropdown .menu > .hidden.addition.item {
+ display: none;
+}
+
+/* Hover */
+.ui.selection.dropdown:hover {
+ border-color: @selectionHoverBorderColor;
+ box-shadow: @selectionHoverBoxShadow;
+}
+
+/* Active */
+.ui.selection.active.dropdown {
+ border-color: @selectionVisibleBorderColor;
+ box-shadow: @selectionVisibleBoxShadow;
+}
+.ui.selection.active.dropdown .menu {
+ border-color: @selectionVisibleBorderColor;
+ box-shadow: @selectionVisibleMenuBoxShadow;
+}
+
+/* Focus */
+.ui.selection.dropdown:focus {
+ border-color: @selectionFocusBorderColor;
+ box-shadow: @selectionFocusBoxShadow;
+}
+.ui.selection.dropdown:focus .menu {
+ border-color: @selectionFocusBorderColor;
+ box-shadow: @selectionFocusMenuBoxShadow;
+}
+
+/* Visible */
+.ui.selection.visible.dropdown > .text:not(.default) {
+ font-weight: @selectionVisibleTextFontWeight;
+ color: @selectionVisibleTextColor;
+}
+
+/* Visible Hover */
+.ui.selection.active.dropdown:hover {
+ border-color: @selectionActiveHoverBorderColor;
+ box-shadow: @selectionActiveHoverBoxShadow;
+}
+.ui.selection.active.dropdown:hover .menu {
+ border-color: @selectionActiveHoverBorderColor;
+ box-shadow: @selectionActiveHoverMenuBoxShadow;
+}
+
+/* Dropdown Icon */
+.ui.active.selection.dropdown > .dropdown.icon,
+.ui.visible.selection.dropdown > .dropdown.icon {
+ opacity: @selectionVisibleIconOpacity;
+ z-index: 3;
+}
+
+/* Connecting Border */
+.ui.active.selection.dropdown {
+ border-bottom-left-radius: @selectionVisibleConnectingBorder !important;
+ border-bottom-right-radius: @selectionVisibleConnectingBorder !important;
+}
+
+/* Empty Connecting Border */
+.ui.active.empty.selection.dropdown {
+ border-radius: @selectionBorderRadius !important;
+ box-shadow: @selectionBoxShadow !important;
+}
+.ui.active.empty.selection.dropdown .menu {
+ border: none !important;
+ box-shadow: none !important;
+}
+
+/*--------------
+ Searchable
+---------------*/
+
+/* Search Selection */
+.ui.search.dropdown {
+ min-width: @searchMinWidth;
+}
+
+/* Search Dropdown */
+.ui.search.dropdown > input.search {
+ background: none transparent !important;
+ border: none !important;
+ box-shadow: none !important;
+ cursor: text;
+ top: 0em;
+ left: @textCursorSpacing;
+ width: 100%;
+ outline: none;
+ -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+ padding: inherit;
+}
+
+/* Text Layering */
+.ui.search.dropdown > input.search {
+ position: absolute;
+ z-index: 2;
+}
+.ui.search.dropdown > .text {
+ cursor: text;
+ position: relative;
+ left: @textCursorSpacing;
+ z-index: 3;
+}
+
+/* Search Selection */
+.ui.search.selection.dropdown > input.search {
+ line-height: @searchSelectionLineHeight;
+ padding: @searchSelectionInputPadding;
+}
+
+/* Used to size multi select input to character width */
+.ui.search.selection.dropdown > span.sizer {
+ line-height: @searchSelectionLineHeight;
+ padding: @searchSelectionInputPadding;
+ display: none;
+ white-space: pre;
+}
+
+/* Active/Visible Search */
+.ui.search.dropdown.active > input.search,
+.ui.search.dropdown.visible > input.search {
+ cursor: auto;
+}
+.ui.search.dropdown.active > .text,
+.ui.search.dropdown.visible > .text {
+ pointer-events: none;
+}
+
+/* Filtered Text */
+.ui.active.search.dropdown input.search:focus + .text .icon,
+.ui.active.search.dropdown input.search:focus + .text .flag {
+ opacity: @selectionTextUnderlayIconOpacity;
+}
+.ui.active.search.dropdown input.search:focus + .text {
+ color: @selectionTextUnderlayColor !important;
+}
+
+/* Search Menu */
+.ui.search.dropdown .menu {
+ overflow-x: hidden;
+ overflow-y: auto;
+ backface-visibility: hidden;
+ -webkit-overflow-scrolling: touch;
+}
+@media only screen and (max-width : @largestMobileScreen) {
+ .ui.search.dropdown .menu {
+ max-height: @searchMobileMaxMenuHeight;
+ }
+}
+@media only screen and (min-width: @tabletBreakpoint) {
+ .ui.search.dropdown .menu {
+ max-height: @searchTabletMaxMenuHeight;
+ }
+}
+@media only screen and (min-width: @computerBreakpoint) {
+ .ui.search.dropdown .menu {
+ max-height: @searchComputerMaxMenuHeight;
+ }
+}
+@media only screen and (min-width: @widescreenMonitorBreakpoint) {
+ .ui.search.dropdown .menu {
+ max-height: @searchWidescreenMaxMenuHeight;
+ }
+}
+
+/*--------------
+ Multiple
+---------------*/
+
+/* Multiple Selection */
+.ui.multiple.dropdown {
+ padding: @multipleSelectionPadding;
+}
+.ui.multiple.dropdown .menu {
+ cursor: auto;
+}
+
+/* Multiple Search Selection */
+.ui.multiple.search.dropdown,
+.ui.multiple.search.dropdown > input.search {
+ cursor: text;
+}
+
+/* Selection Label */
+.ui.multiple.dropdown > .label {
+ user-select: none;
+ display: inline-block;
+ vertical-align: top;
+ white-space: normal;
+ font-size: @labelSize;
+ padding: @labelPadding;
+ margin: @labelMargin;
+ box-shadow: @labelBoxShadow;
+}
+
+/* Dropdown Icon */
+.ui.multiple.dropdown .dropdown.icon {
+ margin: @multipleSelectionDropdownIconMargin;
+ padding: @multipleSelectionDropdownIconPadding;
+}
+
+/* Text */
+.ui.multiple.dropdown > .text {
+ position: static;
+ padding: 0;
+ max-width: 100%;
+ margin: @multipleSelectionChildMargin;
+ line-height: @multipleSelectionChildLineHeight;
+}
+.ui.multiple.dropdown > .label ~ input.search {
+ margin-left: @multipleSelectionSearchAfterLabelDistance !important;
+}
+.ui.multiple.dropdown > .label ~ .text {
+ display: none;
+}
+
+/*-----------------
+ Multiple Search
+-----------------*/
+
+/* Prompt Text */
+.ui.multiple.search.dropdown > .text {
+ display: inline-block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ padding: inherit;
+ margin: @multipleSelectionChildMargin;
+ line-height: @multipleSelectionChildLineHeight;
+}
+
+.ui.multiple.search.dropdown > .label ~ .text {
+ display: none;
+}
+
+/* Search */
+.ui.multiple.search.dropdown > input.search {
+ position: static;
+ padding: 0;
+ max-width: 100%;
+ margin: @multipleSelectionChildMargin;
+ width: @multipleSelectionSearchStartWidth;
+ line-height: @multipleSelectionChildLineHeight;
+}
+
+
+/*--------------
+ Inline
+---------------*/
+
+.ui.inline.dropdown {
+ cursor: pointer;
+ display: inline-block;
+ color: @inlineTextColor;
+}
+.ui.inline.dropdown .dropdown.icon {
+ margin: @inlineIconMargin;
+ vertical-align: baseline;
+}
+.ui.inline.dropdown > .text {
+ font-weight: @inlineTextFontWeight;
+}
+.ui.inline.dropdown .menu {
+ cursor: auto;
+ margin-top: @inlineMenuDistance;
+ border-radius: @inlineMenuBorderRadius;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+
+/*--------------------
+ Active
+----------------------*/
+
+/* Menu Item Active */
+.ui.dropdown .menu .active.item {
+ background: @activeItemBackground;
+ font-weight: @activeItemFontWeight;
+ color: @activeItemColor;
+ box-shadow: @activeItemBoxShadow;
+ z-index: @activeItemZIndex;
+}
+
+
+/*--------------------
+ Hover
+----------------------*/
+
+/* Menu Item Hover */
+.ui.dropdown .menu > .item:hover {
+ background: @hoveredItemBackground;
+ color: @hoveredItemColor;
+ z-index: @hoveredZIndex;
+}
+
+/*--------------------
+ Loading
+---------------------*/
+
+.ui.loading.dropdown > i.icon {
+ height: @relative14px !important;
+ padding: @relative16px @relative15px !important;
+}
+.ui.loading.dropdown > i.icon:before {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: 50%;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ border-radius: @circularRadius;
+ border: @loaderLineWidth solid @loaderFillColor;
+}
+.ui.loading.dropdown > i.icon:after {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: 50%;
+ box-shadow: 0px 0px 0px 1px transparent;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ animation: dropdown-spin @loaderSpeed linear;
+ animation-iteration-count: infinite;
+
+ border-radius: @circularRadius;
+
+ border-color: @loaderLineColor transparent transparent;
+ border-style: solid;
+ border-width: @loaderLineWidth;
+}
+
+/* Coupling */
+.ui.loading.dropdown.button > i.icon:before,
+.ui.loading.dropdown.button > i.icon:after {
+ display: none;
+}
+
+@keyframes dropdown-spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+
+/*--------------------
+ Default Text
+----------------------*/
+
+.ui.dropdown:not(.button) > .default.text,
+.ui.default.dropdown:not(.button) > .text {
+ color: @defaultTextColor;
+}
+.ui.dropdown:not(.button) > input:focus + .default.text,
+.ui.default.dropdown:not(.button) > input:focus + .text {
+ color: @defaultTextFocusColor;
+}
+/*--------------------
+ Loading
+----------------------*/
+
+.ui.loading.dropdown > .text {
+ transition: none;
+}
+
+/* Used To Check Position */
+.ui.dropdown .loading.menu {
+ display: block;
+ visibility: hidden;
+ z-index: @loadingZIndex;
+}
+
+/*--------------------
+ Keyboard Select
+----------------------*/
+
+/* Selected Item */
+.ui.dropdown.selected,
+.ui.dropdown .menu .selected.item {
+ background: @selectedBackground;
+ color: @selectedColor;
+}
+
+
+/*--------------------
+ Search Filtered
+----------------------*/
+
+/* Filtered Item */
+.ui.dropdown > .filtered.text {
+ visibility: hidden;
+}
+.ui.dropdown .filtered.item {
+ display: none !important;
+}
+
+
+/*--------------------
+ Error
+----------------------*/
+
+.ui.dropdown.error,
+.ui.dropdown.error > .text,
+.ui.dropdown.error > .default.text {
+ color: @errorTextColor;
+}
+
+.ui.selection.dropdown.error {
+ background: @errorBackgroundColor;
+ border-color: @errorBorderColor;
+}
+.ui.selection.dropdown.error:hover {
+ border-color: @errorBorderColor;
+}
+
+.ui.dropdown.error > .menu,
+.ui.dropdown.error > .menu .menu {
+ border-color: @errorBorderColor;
+}
+.ui.dropdown.error > .menu > .item {
+ color: @errorItemTextColor;
+}
+.ui.multiple.selection.error.dropdown > .label {
+ border-color: @errorBorderColor;
+}
+
+/* Item Hover */
+.ui.dropdown.error > .menu > .item:hover {
+ background-color: @errorItemHoverBackground;
+}
+
+/* Item Active */
+.ui.dropdown.error > .menu .active.item {
+ background-color: @errorItemActiveBackground;
+}
+
+
+
+/*--------------------
+ Disabled
+----------------------*/
+
+/* Disabled */
+.ui.disabled.dropdown,
+.ui.dropdown .menu > .disabled.item {
+ cursor: default;
+ pointer-events: none;
+ opacity: @disabledOpacity;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Direction
+---------------*/
+
+/* Flyout Direction */
+.ui.dropdown .menu {
+ left: 0px;
+}
+
+
+/* Default Side (Right) */
+.ui.dropdown .right.menu > .menu,
+.ui.dropdown .menu .right.menu {
+ left: 100% !important;
+ right: auto !important;
+ border-radius: @subMenuBorderRadius !important;
+}
+
+/* Left Flyout Menu */
+.ui.dropdown > .left.menu .menu,
+.ui.dropdown .menu .left.menu {
+ left: auto !important;
+ right: 100% !important;
+ border-radius: @leftSubMenuBorderRadius !important;
+}
+
+.ui.dropdown .item .left.dropdown.icon,
+.ui.dropdown .left.menu .item .dropdown.icon {
+ width: auto;
+ float: @leftMenuDropdownIconFloat;
+ margin: @leftMenuDropdownIconMargin;
+}
+.ui.dropdown .item .left.dropdown.icon,
+.ui.dropdown .left.menu .item .dropdown.icon {
+ width: auto;
+ float: @leftMenuDropdownIconFloat;
+ margin: @leftMenuDropdownIconMargin;
+}
+.ui.dropdown .item .left.dropdown.icon + .text,
+.ui.dropdown .left.menu .item .dropdown.icon + .text {
+ margin-left: @itemDropdownIconDistance;
+}
+
+
+/*--------------
+ Upward
+---------------*/
+
+/* Upward Main Menu */
+.ui.upward.dropdown > .menu {
+ top: auto;
+ bottom: 100%;
+ box-shadow: @upwardMenuBoxShadow;
+ border-radius: @upwardMenuBorderRadius;
+}
+
+/* Upward Sub Menu */
+.ui.dropdown .upward.menu {
+ top: auto !important;
+ bottom: 0 !important;
+}
+
+/* Active Upward */
+.ui.simple.upward.active.dropdown,
+.ui.simple.upward.dropdown:hover {
+ border-radius: @borderRadius @borderRadius 0em 0em !important;
+}
+.ui.upward.dropdown.button:not(.pointing):not(.floating).active {
+ border-radius: @borderRadius @borderRadius 0em 0em;
+}
+
+/* Selection */
+.ui.upward.selection.dropdown .menu {
+ border-top-width: @menuBorderWidth !important;
+ border-bottom-width: 0px !important;
+ box-shadow: @upwardSelectionMenuBoxShadow;
+}
+.ui.upward.selection.dropdown:hover {
+ box-shadow: @upwardSelectionHoverBoxShadow;
+}
+
+/* Active Upward */
+.ui.active.upward.selection.dropdown {
+ border-radius: @upwardSelectionVisibleBorderRadius !important;
+}
+
+/* Visible Upward */
+.ui.upward.selection.dropdown.visible {
+ box-shadow: @upwardSelectionVisibleBoxShadow;
+ border-radius: @upwardSelectionVisibleBorderRadius !important;
+}
+
+/* Visible Hover Upward */
+.ui.upward.active.selection.dropdown:hover {
+ box-shadow: @upwardSelectionActiveHoverBoxShadow;
+}
+.ui.upward.active.selection.dropdown:hover .menu {
+ box-shadow: @upwardSelectionActiveHoverMenuBoxShadow;
+}
+
+/*--------------
+ Simple
+---------------*/
+
+/* Selection Menu */
+.ui.scrolling.dropdown .menu,
+.ui.dropdown .scrolling.menu {
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+
+.ui.scrolling.dropdown .menu {
+ overflow-x: hidden;
+ overflow-y: auto;
+ backface-visibility: hidden;
+ -webkit-overflow-scrolling: touch;
+ min-width: 100% !important;
+ width: auto !important;
+}
+
+.ui.dropdown .scrolling.menu {
+ position: static;
+ overflow-y: auto;
+ border: none;
+ box-shadow: none !important;
+ border-radius: 0 !important;
+ margin: 0 !important;
+ min-width: 100% !important;
+ width: auto !important;
+ border-top: @menuBorder;
+}
+.ui.scrolling.dropdown .menu .item.item.item,
+.ui.dropdown .scrolling.menu > .item.item.item {
+ border-top: @scrollingMenuItemBorder;
+ padding-right: @scrollingMenuRightItemPadding !important;
+}
+.ui.scrolling.dropdown .menu .item:first-child,
+.ui.dropdown .scrolling.menu .item:first-child {
+ border-top: none;
+}
+.ui.dropdown > .animating.menu .scrolling.menu,
+.ui.dropdown > .visible.menu .scrolling.menu {
+ display: block;
+}
+
+/* Scrollbar in IE */
+@media all and (-ms-high-contrast:none) {
+ .ui.scrolling.dropdown .menu,
+ .ui.dropdown .scrolling.menu {
+ min-width: ~"calc(100% - "@scrollbarWidth~")";
+ }
+}
+@media only screen and (max-width : @largestMobileScreen) {
+ .ui.scrolling.dropdown .menu,
+ .ui.dropdown .scrolling.menu {
+ max-height: @scrollingMobileMaxMenuHeight;
+ }
+}
+@media only screen and (min-width: @tabletBreakpoint) {
+ .ui.scrolling.dropdown .menu,
+ .ui.dropdown .scrolling.menu {
+ max-height: @scrollingTabletMaxMenuHeight;
+ }
+}
+@media only screen and (min-width: @computerBreakpoint) {
+ .ui.scrolling.dropdown .menu,
+ .ui.dropdown .scrolling.menu {
+ max-height: @scrollingComputerMaxMenuHeight;
+ }
+}
+@media only screen and (min-width: @widescreenMonitorBreakpoint) {
+ .ui.scrolling.dropdown .menu,
+ .ui.dropdown .scrolling.menu {
+ max-height: @scrollingWidescreenMaxMenuHeight;
+ }
+}
+
+/*--------------
+ Simple
+---------------*/
+
+/* Displays without javascript */
+
+.ui.simple.dropdown .menu:before,
+.ui.simple.dropdown .menu:after {
+ display: none;
+}
+.ui.simple.dropdown .menu {
+ position: absolute;
+ display: block;
+ overflow: hidden;
+ top: -9999px !important;
+ opacity: 0;
+ width: 0;
+ height: 0;
+ transition: @simpleTransition;
+}
+
+.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;
+}
+
+/* Visible */
+.ui.simple.visible.dropdown > .menu {
+ display: block;
+}
+
+/*--------------
+ Fluid
+---------------*/
+
+.ui.fluid.dropdown {
+ display: block;
+ width: 100%;
+ min-width: 0em;
+}
+.ui.fluid.dropdown > .dropdown.icon {
+ float: right;
+}
+
+
+/*--------------
+ Floating
+---------------*/
+
+.ui.floating.dropdown .menu {
+ left: 0;
+ right: auto;
+ box-shadow: @floatingMenuBoxShadow !important;
+ border-radius: @floatingMenuBorderRadius !important;
+}
+.ui.floating.dropdown > .menu {
+ margin-top: @floatingMenuDistance !important;
+ border-radius: @floatingMenuBorderRadius !important;
+}
+
+/*--------------
+ Pointing
+---------------*/
+
+.ui.pointing.dropdown > .menu {
+ top: 100%;
+ margin-top: @pointingMenuDistance;
+ border-radius: @pointingMenuBorderRadius;
+}
+
+.ui.pointing.dropdown > .menu:after {
+ display: block;
+ position: absolute;
+ pointer-events: none;
+ content: '';
+ visibility: visible;
+ transform: rotate(45deg);
+
+ width: @pointingArrowSize;
+ height: @pointingArrowSize;
+ box-shadow: @pointingArrowBoxShadow;
+ background: @pointingArrowBackground;
+ z-index: @pointingArrowZIndex;
+}
+
+.ui.pointing.dropdown > .menu:after {
+ top: @pointingArrowOffset;
+ left: 50%;
+ margin: 0em 0em 0em @pointingArrowOffset;
+}
+
+/* Top Left Pointing */
+.ui.top.left.pointing.dropdown > .menu {
+ top: 100%;
+ bottom: auto;
+ left: 0%;
+ right: auto;
+ margin: @pointingArrowDistanceFromEdge 0em 0em;
+}
+.ui.top.left.pointing.dropdown > .menu {
+ top: 100%;
+ bottom: auto;
+ left: 0%;
+ right: auto;
+ margin: @pointingArrowDistanceFromEdge 0em 0em;
+}
+.ui.top.left.pointing.dropdown > .menu:after {
+ top: @pointingArrowOffset;
+ left: @pointingArrowDistanceFromEdge;
+ right: auto;
+ margin: 0em;
+ transform: rotate(45deg);
+}
+/* Top Right Pointing */
+.ui.top.right.pointing.dropdown > .menu {
+ top: 100%;
+ bottom: auto;
+ right: 0%;
+ left: auto;
+ margin: @pointingArrowDistanceFromEdge 0em 0em;
+}
+.ui.top.right.pointing.dropdown > .menu:after {
+ top: @pointingArrowOffset;
+ left: auto;
+ right: @pointingArrowDistanceFromEdge;
+ margin: 0em;
+ transform: rotate(45deg);
+}
+
+/* Left Pointing */
+.ui.left.pointing.dropdown > .menu {
+ top: 0%;
+ left: 100%;
+ right: auto;
+ margin: 0em 0em 0em @pointingArrowDistanceFromEdge;
+}
+.ui.left.pointing.dropdown > .menu:after {
+ top: 1em;
+ left: @pointingArrowOffset;
+ margin: 0em 0em 0em 0em;
+ transform: rotate(-45deg);
+}
+
+/* Right Pointing */
+.ui.right.pointing.dropdown > .menu {
+ top: 0%;
+ left: auto;
+ right: 100%;
+ margin: 0em @pointingArrowDistanceFromEdge 0em 0em;
+}
+.ui.right.pointing.dropdown > .menu:after {
+ top: 1em;
+ left: auto;
+ right: @pointingArrowOffset;
+ margin: 0em 0em 0em 0em;
+ transform: rotate(135deg);
+}
+
+/* Bottom Pointing */
+.ui.bottom.pointing.dropdown > .menu {
+ top: auto;
+ bottom: 100%;
+ left: 0%;
+ right: auto;
+ margin: 0em 0em @pointingArrowDistanceFromEdge ;
+}
+.ui.bottom.pointing.dropdown > .menu:after {
+ top: auto;
+ bottom: @pointingArrowOffset;
+ right: auto;
+ margin: 0em;
+ transform: rotate(-135deg);
+}
+/* Reverse Sub-Menu Direction */
+.ui.bottom.pointing.dropdown > .menu .menu {
+ top: auto !important;
+ bottom: 0px !important;
+}
+
+/* Bottom Left */
+.ui.bottom.left.pointing.dropdown > .menu {
+ left: 0%;
+ right: auto;
+}
+.ui.bottom.left.pointing.dropdown > .menu:after {
+ left: @pointingArrowDistanceFromEdge;
+ right: auto;
+}
+
+/* Bottom Right */
+.ui.bottom.right.pointing.dropdown > .menu {
+ right: 0%;
+ left: auto;
+}
+.ui.bottom.right.pointing.dropdown > .menu:after {
+ left: auto;
+ right: @pointingArrowDistanceFromEdge;
+}
+
+/* Upward pointing */
+.ui.upward.pointing.dropdown > .menu,
+.ui.upward.top.pointing.dropdown > .menu {
+ top: auto;
+ bottom: 100%;
+ margin: 0em 0em @pointingMenuDistance;
+ border-radius: @pointingUpwardMenuBorderRadius;
+}
+.ui.upward.pointing.dropdown > .menu:after,
+.ui.upward.top.pointing.dropdown > .menu:after {
+ top: 100%;
+ bottom: auto;
+ box-shadow: @pointingUpwardArrowBoxShadow;
+ margin: @pointingArrowOffset 0em 0em;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/embed.less b/src/semantic/src/definitions/modules/embed.less
new file mode 100644
index 0000000..b44d4e6
--- /dev/null
+++ b/src/semantic/src/definitions/modules/embed.less
@@ -0,0 +1,163 @@
+/*!
+ * # Semantic UI - Video
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'embed';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Types
+*******************************/
+
+.ui.embed {
+ position: relative;
+ position: relative;
+ max-width: 100%;
+ height: 0px;
+ overflow: hidden;
+ background: @background;
+ padding-bottom: @widescreenRatio;
+}
+
+/*-----------------
+ Embedded Content
+------------------*/
+
+.ui.embed iframe,
+.ui.embed embed,
+.ui.embed object {
+ position: absolute;
+ border: none;
+ width: 100%;
+ height: 100%;
+ top: 0px;
+ left: 0px;
+ margin: 0em;
+ padding: 0em;
+}
+
+/*-----------------
+ Embed
+------------------*/
+
+.ui.embed > .embed {
+ display: none;
+}
+
+/*--------------
+ Placeholder
+---------------*/
+
+.ui.embed > .placeholder {
+ position: absolute;
+ cursor: pointer;
+ top: 0px;
+ left: 0px;
+ display: block;
+ width: 100%;
+ height: 100%;
+ background-color: @placeholderBackground;
+}
+
+/*--------------
+ Icon
+---------------*/
+
+.ui.embed > .icon {
+ cursor: pointer;
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100%;
+ height: 100%;
+ z-index: 2;
+}
+.ui.embed > .icon:after {
+ position: absolute;
+ top: 0%;
+ left: 0%;
+ width: 100%;
+ height: 100%;
+ z-index: 3;
+ content: '';
+ background: @placeholderBackground;
+ opacity: @placeholderBackgroundOpacity;
+ transition: @placeholderBackgroundTransition;
+}
+.ui.embed > .icon:before {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ z-index: 4;
+ transform: translateX(-50%) translateY(-50%);
+
+ color: @iconColor;
+ font-size: @iconSize;
+ text-shadow: @iconShadow;
+ transition: @iconTransition;
+ z-index: @iconZIndex;
+}
+
+/*******************************
+ States
+*******************************/
+
+/*--------------
+ Hover
+---------------*/
+
+.ui.embed .icon:hover:after {
+ background: @hoverPlaceholderBackground;
+ opacity: @hoverPlaceholderBackgroundOpacity;
+}
+.ui.embed .icon:hover:before {
+ color: @hoverIconColor;
+}
+
+/*--------------
+ Active
+---------------*/
+
+.ui.active.embed > .icon,
+.ui.active.embed > .placeholder {
+ display: none;
+}
+.ui.active.embed > .embed {
+ display: block;
+}
+
+.loadUIOverrides();
+
+
+/*******************************
+ Variations
+*******************************/
+
+.ui.square.embed {
+ padding-bottom: @squareRatio;
+}
+.ui[class*="4:3"].embed {
+ padding-bottom: @standardRatio;
+}
+.ui[class*="16:9"].embed {
+ padding-bottom: @widescreenRatio;
+}
+.ui[class*="21:9"].embed {
+ padding-bottom: @ultraWidescreenRatio;
+}
+
+
+
diff --git a/src/semantic/src/definitions/modules/modal.less b/src/semantic/src/definitions/modules/modal.less
new file mode 100755
index 0000000..b59a2f4
--- /dev/null
+++ b/src/semantic/src/definitions/modules/modal.less
@@ -0,0 +1,484 @@
+/*!
+ * # Semantic UI - Modal
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'modal';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Modal
+*******************************/
+
+.ui.modal {
+ display: none;
+ position: fixed;
+ z-index: @zIndex;
+
+ top: 50%;
+ left: 50%;
+ text-align: left;
+
+ background: @background;
+ border: @border;
+ box-shadow: @boxShadow;
+ transform-origin: @transformOrigin;
+
+ border-radius: @borderRadius;
+ user-select: text;
+ will-change: top, left, margin, transform, opacity;
+}
+
+.ui.modal > :first-child:not(.icon),
+.ui.modal > .icon:first-child + * {
+ border-top-left-radius: @borderRadius;
+ border-top-right-radius: @borderRadius;
+}
+
+.ui.modal > :last-child {
+ border-bottom-left-radius: @borderRadius;
+ border-bottom-right-radius: @borderRadius;
+}
+
+/*******************************
+ Content
+*******************************/
+
+/*--------------
+ Close
+---------------*/
+
+.ui.modal > .close {
+ cursor: pointer;
+ position: absolute;
+ top: @closeTop;
+ right: @closeRight;
+ z-index: 1;
+
+ opacity: @closeOpacity;
+ font-size: @closeSize;
+ color: @closeColor;
+
+ width: @closeHitbox;
+ height: @closeHitbox;
+ padding: @closePadding;
+}
+.ui.modal > .close:hover {
+ opacity: 1;
+}
+
+/*--------------
+ Header
+---------------*/
+
+.ui.modal > .header {
+ display: block;
+ font-family: @headerFontFamily;
+ background: @headerBackground;
+ margin: @headerMargin;
+ padding: @headerPadding;
+ box-shadow: @headerBoxShadow;
+
+ color: @headerColor;
+ border-bottom: @headerBorder;
+}
+.ui.modal > .header:not(.ui) {
+ font-size: @headerFontSize;
+ line-height: @headerLineHeight;
+ font-weight: @headerFontWeight;
+}
+
+/*--------------
+ Content
+---------------*/
+
+.ui.modal > .content {
+ display: block;
+ width: 100%;
+ font-size: @contentFontSize;
+ line-height: @contentLineHeight;
+ padding: @contentPadding;
+ background: @contentBackground;
+}
+.ui.modal > .image.content {
+ display: flex;
+ flex-direction: row;
+}
+
+/* Image */
+.ui.modal > .content > .image {
+ display: block;
+ flex: 0 1 auto;
+ width: @imageWidth;
+ align-self: @imageVerticalAlign;
+}
+.ui.modal > [class*="top aligned"] {
+ align-self: top;
+}
+.ui.modal > [class*="middle aligned"] {
+ align-self: middle;
+}
+.ui.modal > [class*="stretched"] {
+ align-self: stretch;
+}
+
+/* Description */
+.ui.modal > .content > .description {
+ display: block;
+ flex: 1 0 auto;
+ min-width: 0px;
+ align-self: @descriptionVerticalAlign;
+}
+
+.ui.modal > .content > .icon + .description,
+.ui.modal > .content > .image + .description {
+ flex: 0 1 auto;
+ min-width: @descriptionMinWidth;
+ width: @descriptionWidth;
+ padding-left: @descriptionDistance;
+}
+
+/*rtl:ignore*/
+.ui.modal > .content > .image > i.icon {
+ margin: 0em;
+ opacity: 1;
+ width: auto;
+ line-height: 1;
+ font-size: @imageIconSize;
+}
+
+/*--------------
+ Actions
+---------------*/
+
+.ui.modal > .actions {
+ background: @actionBackground;
+ padding: @actionPadding;
+ border-top: @actionBorder;
+ text-align: @actionAlign;
+}
+.ui.modal .actions > .button {
+ margin-left: @buttonDistance;
+}
+
+/*-------------------
+ Responsive
+--------------------*/
+
+/* Modal Width */
+@media only screen and (max-width : @largestMobileScreen) {
+ .ui.modal {
+ width: @mobileWidth;
+ margin: @mobileMargin;
+ }
+}
+@media only screen and (min-width : @tabletBreakpoint) {
+ .ui.modal {
+ width: @tabletWidth;
+ margin: @tabletMargin;
+ }
+}
+@media only screen and (min-width : @computerBreakpoint) {
+ .ui.modal {
+ width: @computerWidth;
+ margin: @computerMargin;
+ }
+}
+@media only screen and (min-width : @largeMonitorBreakpoint) {
+ .ui.modal {
+ width: @largeMonitorWidth;
+ margin: @largeMonitorMargin;
+ }
+}
+@media only screen and (min-width : @widescreenMonitorBreakpoint) {
+ .ui.modal {
+ width: @widescreenMonitorWidth;
+ margin: @widescreenMonitorMargin;
+ }
+}
+
+/* Tablet and Mobile */
+@media only screen and (max-width : @largestTabletScreen) {
+ .ui.modal > .header {
+ padding-right: @closeHitbox;
+ }
+ .ui.modal > .close {
+ top: @innerCloseTop;
+ right: @innerCloseRight;
+ color: @innerCloseColor;
+ }
+}
+
+/* Mobile */
+@media only screen and (max-width : @largestMobileScreen) {
+
+ .ui.modal > .header {
+ padding: @mobileHeaderPadding !important;
+ padding-right: @closeHitbox !important;
+ }
+ .ui.modal > .content {
+ display: block;
+ padding: @mobileContentPadding !important;
+ }
+ .ui.modal > .close {
+ top: @mobileCloseTop !important;
+ right: @mobileCloseRight !important;
+ }
+
+ /*rtl:ignore*/
+ .ui.modal .image.content {
+ flex-direction: column;
+ }
+ .ui.modal .content > .image {
+ display: block;
+ max-width: 100%;
+ margin: 0em auto !important;
+ text-align: center;
+ padding: @mobileImagePadding !important;
+ }
+ .ui.modal > .content > .image > i.icon {
+ font-size: @mobileImageIconSize;
+ text-align: center;
+ }
+
+ /*rtl:ignore*/
+ .ui.modal .content > .description {
+ display: block;
+ width: 100% !important;
+ margin: 0em !important;
+ padding: @mobileDescriptionPadding !important;
+ box-shadow: none;
+ }
+
+ /* Let Buttons Stack */
+ .ui.modal > .actions {
+ padding: @mobileActionPadding !important;
+ }
+ .ui.modal .actions > .buttons,
+ .ui.modal .actions > .button {
+ margin-bottom: @mobileButtonDistance;
+ }
+}
+
+/*--------------
+ Coupling
+---------------*/
+
+.ui.inverted.dimmer > .ui.modal {
+ box-shadow: @invertedBoxShadow;
+}
+
+/*******************************
+ Types
+*******************************/
+
+.ui.basic.modal {
+ background-color: transparent;
+ border: none;
+ border-radius: 0em;
+ box-shadow: none !important;
+ color: @basicModalColor;
+}
+.ui.basic.modal > .header,
+.ui.basic.modal > .content,
+.ui.basic.modal > .actions {
+ background-color: transparent;
+}
+.ui.basic.modal > .header {
+ color: @basicModalHeaderColor;
+}
+.ui.basic.modal > .close {
+ top: @basicModalCloseTop;
+ right: @basicModalCloseRight;
+}
+
+.ui.inverted.dimmer > .basic.modal {
+ color: @basicInvertedModalColor;
+}
+.ui.inverted.dimmer > .ui.basic.modal > .header {
+ color: @basicInvertedModalHeaderColor;
+}
+
+/* Tablet and Mobile */
+@media only screen and (max-width : @largestTabletScreen) {
+ .ui.basic.modal > .close {
+ color: @basicInnerCloseColor;
+ }
+}
+
+
+/*******************************
+ States
+*******************************/
+
+.ui.active.modal {
+ display: block;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Scrolling
+---------------*/
+
+/* A modal that cannot fit on the page */
+.scrolling.dimmable.dimmed {
+ overflow: hidden;
+}
+.scrolling.dimmable.dimmed > .dimmer {
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+}
+.scrolling.dimmable > .dimmer {
+ position: fixed;
+}
+.modals.dimmer .ui.scrolling.modal {
+ position: static !important;
+ margin: @scrollingMargin auto !important;
+}
+
+/* undetached scrolling */
+.scrolling.undetached.dimmable.dimmed {
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+}
+.scrolling.undetached.dimmable.dimmed > .dimmer {
+ overflow: hidden;
+}
+.scrolling.undetached.dimmable .ui.scrolling.modal {
+ position: absolute;
+ left: 50%;
+ margin-top: @scrollingMargin !important;
+}
+
+/* Coupling with Sidebar */
+.undetached.dimmable.dimmed > .pusher {
+ z-index: auto;
+}
+
+@media only screen and (max-width : @largestTabletScreen) {
+ .modals.dimmer .ui.scrolling.modal {
+ margin-top: @mobileScrollingMargin !important;
+ margin-bottom: @mobileScrollingMargin !important;
+ }
+}
+
+
+/*--------------
+ Full Screen
+---------------*/
+
+.ui.fullscreen.modal {
+ width: @fullScreenWidth !important;
+ left: @fullScreenOffset !important;
+ margin: @fullScreenMargin;
+}
+.ui.fullscreen.scrolling.modal {
+ left: 0em !important;
+}
+.ui.fullscreen.modal > .header {
+ padding-right: @closeHitbox;
+}
+.ui.fullscreen.modal > .close {
+ top: @innerCloseTop;
+ right: @innerCloseRight;
+ color: @innerCloseColor;
+}
+
+
+/*--------------
+ Size
+---------------*/
+
+.ui.modal {
+ font-size: @medium;
+}
+
+/* Small */
+.ui.small.modal > .header:not(.ui) {
+ font-size: @smallHeaderSize;
+}
+
+/* Small Modal Width */
+@media only screen and (max-width : @largestMobileScreen) {
+ .ui.small.modal {
+ width: @smallMobileWidth;
+ margin: @smallMobileMargin;
+ }
+}
+@media only screen and (min-width : @tabletBreakpoint) {
+ .ui.small.modal {
+ width: @smallTabletWidth;
+ margin: @smallTabletMargin;
+ }
+}
+@media only screen and (min-width : @computerBreakpoint) {
+ .ui.small.modal {
+ width: @smallComputerWidth;
+ margin: @smallComputerMargin;
+ }
+}
+@media only screen and (min-width : @largeMonitorBreakpoint) {
+ .ui.small.modal {
+ width: @smallLargeMonitorWidth;
+ margin: @smallLargeMonitorMargin;
+ }
+}
+@media only screen and (min-width : @widescreenMonitorBreakpoint) {
+ .ui.small.modal {
+ width: @smallWidescreenMonitorWidth;
+ margin: @smallWidescreenMonitorMargin;
+ }
+}
+
+/* Large Modal Width */
+.ui.large.modal > .header {
+ font-size: @largeHeaderSize;
+}
+@media only screen and (max-width : @largestMobileScreen) {
+ .ui.large.modal {
+ width: @largeMobileWidth;
+ margin: @largeMobileMargin;
+ }
+}
+@media only screen and (min-width : @tabletBreakpoint) {
+ .ui.large.modal {
+ width: @largeTabletWidth;
+ margin: @largeTabletMargin;
+ }
+}
+@media only screen and (min-width : @computerBreakpoint) {
+ .ui.large.modal {
+ width: @largeComputerWidth;
+ margin: @largeComputerMargin;
+ }
+}
+@media only screen and (min-width : @largeMonitorBreakpoint) {
+ .ui.large.modal {
+ width: @largeLargeMonitorWidth;
+ margin: @largeLargeMonitorMargin;
+ }
+}
+@media only screen and (min-width : @widescreenMonitorBreakpoint) {
+ .ui.large.modal {
+ width: @largeWidescreenMonitorWidth;
+ margin: @largeWidescreenMonitorMargin;
+ }
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/nag.less b/src/semantic/src/definitions/modules/nag.less
new file mode 100755
index 0000000..b29e306
--- /dev/null
+++ b/src/semantic/src/definitions/modules/nag.less
@@ -0,0 +1,158 @@
+/*!
+ * # Semantic UI - Nag
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'nag';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Nag
+*******************************/
+
+.ui.nag {
+ display: none;
+ opacity: @opacity;
+ position: @position;
+
+ top: @top;
+ left: 0px;
+ z-index: @zIndex;
+
+ min-height: @minHeight;
+ width: @width;
+
+ margin: @margin;
+ padding: @padding;
+
+ background: @background;
+ box-shadow: @boxShadow;
+
+ font-size: @fontSize;
+ text-align: @textAlign;
+ color: @color;
+
+ border-radius: @topBorderRadius;
+ transition: @transition;
+}
+
+a.ui.nag {
+ cursor: pointer;
+}
+
+.ui.nag > .title {
+ display: inline-block;
+ margin: @titleMargin;
+ color: @titleColor;
+}
+
+
+.ui.nag > .close.icon {
+ cursor: pointer;
+ opacity: @closeOpacity;
+
+ position: absolute;
+ top: @closeTop;
+ right: @closeRight;
+
+ font-size: @closeSize;
+
+ margin: @closeMargin;
+ color: @closeColor;
+ transition: @closeTransition;
+}
+
+
+
+/*******************************
+ States
+*******************************/
+
+/* Hover */
+.ui.nag:hover {
+ background: @nagHoverBackground;
+ opacity: @nagHoverOpacity;
+}
+
+.ui.nag .close:hover {
+ opacity: @closeHoverOpacity;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*--------------
+ Static
+---------------*/
+
+.ui.overlay.nag {
+ position: absolute;
+ display: block;
+}
+
+/*--------------
+ Fixed
+---------------*/
+
+.ui.fixed.nag {
+ position: fixed;
+}
+
+/*--------------
+ Bottom
+---------------*/
+
+.ui.bottom.nags,
+.ui.bottom.nag {
+ border-radius: @bottomBorderRadius;
+ top: auto;
+ bottom: @bottom;
+}
+
+/*--------------
+ White
+---------------*/
+
+.ui.inverted.nags .nag,
+.ui.inverted.nag {
+ background-color: @invertedBackground;
+ color: @darkTextColor;
+}
+.ui.inverted.nags .nag .close,
+.ui.inverted.nags .nag .title,
+.ui.inverted.nag .close,
+.ui.inverted.nag .title {
+ color: @lightTextColor;
+}
+
+
+/*******************************
+ Groups
+*******************************/
+
+.ui.nags .nag {
+ border-radius: @groupedBorderRadius !important;
+}
+.ui.nags .nag:last-child {
+ border-radius: @topBorderRadius;
+}
+.ui.bottom.nags .nag:last-child {
+ border-radius: @bottomBorderRadius;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/popup.less b/src/semantic/src/definitions/modules/popup.less
new file mode 100755
index 0000000..d5aa745
--- /dev/null
+++ b/src/semantic/src/definitions/modules/popup.less
@@ -0,0 +1,712 @@
+/*!
+ * # Semantic UI - Popup
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'popup';
+
+@import (multiple) '../../theme.config';
+
+
+/*******************************
+ Popup
+*******************************/
+
+.ui.popup {
+ display: none;
+ position: absolute;
+ top: 0px;
+ right: 0px;
+
+ /* Fixes content being squished when inline (moz only) */
+ min-width: min-content;
+ z-index: @zIndex;
+
+ border: @border;
+ line-height: @lineHeight;
+ max-width: @maxWidth;
+ background: @background;
+
+ padding: @verticalPadding @horizontalPadding;
+ font-weight: @fontWeight;
+ font-style: @fontStyle;
+ color: @color;
+
+ border-radius: @borderRadius;
+ box-shadow: @boxShadow;
+}
+.ui.popup > .header {
+ padding: 0em;
+
+ font-family: @headerFont;
+ font-size: @headerFontSize;
+ line-height: @headerLineHeight;
+ font-weight: bold;
+}
+.ui.popup > .header + .content {
+ padding-top: @headerDistance;
+}
+
+.ui.popup:before {
+ position: absolute;
+ content: '';
+ width: @arrowSize;
+ height: @arrowSize;
+
+ background: @arrowBackground;
+ transform: rotate(45deg);
+
+ z-index: @arrowZIndex;
+ box-shadow: @arrowBoxShadow;
+}
+
+/*******************************
+ Types
+*******************************/
+
+/*--------------
+ Tooltip
+---------------*/
+
+/* Content */
+[data-tooltip] {
+ position: relative;
+}
+
+/* Arrow */
+[data-tooltip]:before {
+ pointer-events: none;
+ position: absolute;
+ content: '';
+ font-size: @medium;
+ width: @arrowSize;
+ height: @arrowSize;
+
+ background: @tooltipArrowBackground;
+ transform: rotate(45deg);
+
+ z-index: @arrowZIndex;
+ box-shadow: @tooltipArrowBoxShadow;
+}
+
+/* Popup */
+[data-tooltip]:after {
+ pointer-events: none;
+ content: attr(data-tooltip);
+ position: absolute;
+ text-transform: none;
+ text-align: left;
+ white-space: nowrap;
+
+ font-size: @tooltipFontSize;
+
+ border: @tooltipBorder;
+ line-height: @tooltipLineHeight;
+ max-width: @tooltipMaxWidth;
+ background: @tooltipBackground;
+
+ padding: @tooltipPadding;
+ font-weight: @tooltipFontWeight;
+ font-style: @tooltipFontStyle;
+ color: @tooltipColor;
+
+ border-radius: @tooltipBorderRadius;
+ box-shadow: @tooltipBoxShadow;
+ z-index: @tooltipZIndex;
+}
+
+/* Default Position (Top Center) */
+[data-tooltip]:not([data-position]):before {
+ top: auto;
+ right: auto;
+ bottom: 100%;
+ left: 50%;
+ background: @tooltipArrowBottomBackground;
+ margin-left: @tooltipArrowHorizontalOffset;
+ margin-bottom: -@tooltipArrowVerticalOffset;
+}
+[data-tooltip]:not([data-position]):after {
+ left: 50%;
+ transform: translateX(-50%);
+ bottom: 100%;
+ margin-bottom: @tooltipDistanceAway;
+}
+
+/* Animation */
+[data-tooltip]:before,
+[data-tooltip]:after {
+ pointer-events: none;
+ visibility: hidden;
+}
+[data-tooltip]:before {
+ opacity: 0;
+ transform: rotate(45deg) scale(0) !important;
+ transform-origin: center top;
+ transition:
+ all @tooltipDuration @tooltipEasing
+ ;
+}
+[data-tooltip]:after {
+ opacity: 1;
+ transform-origin: center bottom;
+ transition:
+ all @tooltipDuration @tooltipEasing
+ ;
+}
+[data-tooltip]:hover:before,
+[data-tooltip]:hover:after {
+ visibility: visible;
+ pointer-events: auto;
+}
+[data-tooltip]:hover:before {
+ transform: rotate(45deg) scale(1) !important;
+ opacity: 1;
+}
+
+/* Animation Position */
+[data-tooltip]:after,
+[data-tooltip][data-position="top center"]:after,
+[data-tooltip][data-position="bottom center"]:after {
+ transform: translateX(-50%) scale(0) !important;
+}
+[data-tooltip]:hover:after,
+[data-tooltip][data-position="bottom center"]:hover:after {
+ transform: translateX(-50%) scale(1) !important;
+}
+[data-tooltip][data-position="left center"]:after,
+[data-tooltip][data-position="right center"]:after {
+ transform: translateY(-50%) scale(0) !important;
+}
+[data-tooltip][data-position="left center"]:hover:after,
+[data-tooltip][data-position="right center"]:hover:after {
+ transform: translateY(-50%) scale(1) !important;
+}
+[data-tooltip][data-position="top left"]:after,
+[data-tooltip][data-position="top right"]:after,
+[data-tooltip][data-position="bottom left"]:after,
+[data-tooltip][data-position="bottom right"]:after {
+ transform: scale(0) !important;
+}
+[data-tooltip][data-position="top left"]:hover:after,
+[data-tooltip][data-position="top right"]:hover:after,
+[data-tooltip][data-position="bottom left"]:hover:after,
+[data-tooltip][data-position="bottom right"]:hover:after {
+ transform: scale(1) !important;
+}
+
+
+/*--------------
+ Inverted
+---------------*/
+
+/* Arrow */
+[data-tooltip][data-inverted]:before {
+ box-shadow: none !important;
+}
+
+/* Arrow Position */
+[data-tooltip][data-inverted]:before {
+ background: @invertedArrowBottomBackground;
+}
+
+/* Popup */
+[data-tooltip][data-inverted]:after {
+ background: @tooltipInvertedBackground;
+ color: @tooltipInvertedColor;
+ border: @tooltipInvertedBorder;
+ box-shadow: @tooltipInvertedBoxShadow;
+}
+[data-tooltip][data-inverted]:after .header {
+ background-color: @tooltipInvertedHeaderBackground;
+ color: @tooltipInvertedHeaderColor;
+}
+
+/*--------------
+ Position
+---------------*/
+
+/* Top Center */
+[data-position="top center"][data-tooltip]:after {
+ top: auto;
+ right: auto;
+ left: 50%;
+ bottom: 100%;
+ transform: translateX(-50%);
+ margin-bottom: @tooltipDistanceAway;
+}
+[data-position="top center"][data-tooltip]:before {
+ top: auto;
+ right: auto;
+ bottom: 100%;
+ left: 50%;
+ background: @tooltipArrowTopBackground;
+ margin-left: @tooltipArrowHorizontalOffset;
+ margin-bottom: -@tooltipArrowVerticalOffset;
+}
+
+/* Top Left */
+[data-position="top left"][data-tooltip]:after {
+ top: auto;
+ right: auto;
+ left: 0;
+ bottom: 100%;
+ margin-bottom: @tooltipDistanceAway;
+}
+[data-position="top left"][data-tooltip]:before {
+ top: auto;
+ right: auto;
+ bottom: 100%;
+ left: @arrowDistanceFromEdge;
+ margin-left: @tooltipArrowHorizontalOffset;
+ margin-bottom: -@tooltipArrowVerticalOffset;
+}
+
+/* Top Right */
+[data-position="top right"][data-tooltip]:after {
+ top: auto;
+ left: auto;
+ right: 0;
+ bottom: 100%;
+ margin-bottom: @tooltipDistanceAway;
+}
+[data-position="top right"][data-tooltip]:before {
+ top: auto;
+ left: auto;
+ bottom: 100%;
+ right: @arrowDistanceFromEdge;
+ margin-left: @tooltipArrowHorizontalOffset;
+ margin-bottom: -@tooltipArrowVerticalOffset;
+}
+
+
+/* Bottom Center */
+[data-position="bottom center"][data-tooltip]:after {
+ bottom: auto;
+ right: auto;
+ left: 50%;
+ top: 100%;
+ transform: translateX(-50%);
+ margin-top: @tooltipDistanceAway;
+}
+[data-position="bottom center"][data-tooltip]:before {
+ bottom: auto;
+ right: auto;
+ top: 100%;
+ left: 50%;
+ margin-left: @tooltipArrowHorizontalOffset;
+ margin-top: -@tooltipArrowVerticalOffset;
+}
+
+/* Bottom Left */
+[data-position="bottom left"][data-tooltip]:after {
+ left: 0;
+ top: 100%;
+ margin-top: @tooltipDistanceAway;
+}
+[data-position="bottom left"][data-tooltip]:before {
+ bottom: auto;
+ right: auto;
+ top: 100%;
+ left: @arrowDistanceFromEdge;
+ margin-left: @tooltipArrowHorizontalOffset;
+ margin-top: -@tooltipArrowVerticalOffset;
+}
+
+/* Bottom Right */
+[data-position="bottom right"][data-tooltip]:after {
+ right: 0;
+ top: 100%;
+ margin-top: @tooltipDistanceAway;
+}
+[data-position="bottom right"][data-tooltip]:before {
+ bottom: auto;
+ left: auto;
+ top: 100%;
+ right: @arrowDistanceFromEdge;
+ margin-left: @tooltipArrowVerticalOffset;
+ margin-top: -@tooltipArrowHorizontalOffset;
+}
+
+/* Left Center */
+[data-position="left center"][data-tooltip]:after {
+ right: 100%;
+ top: 50%;
+ margin-right: @tooltipDistanceAway;
+ transform: translateY(-50%);
+}
+[data-position="left center"][data-tooltip]:before {
+ right: 100%;
+ top: 50%;
+ margin-top: @tooltipArrowVerticalOffset;
+ margin-right: @tooltipArrowHorizontalOffset;
+}
+
+/* Right Center */
+[data-position="right center"][data-tooltip]:after {
+ left: 100%;
+ top: 50%;
+ margin-left: @tooltipDistanceAway;
+ transform: translateY(-50%);
+}
+[data-position="right center"][data-tooltip]:before {
+ left: 100%;
+ top: 50%;
+ margin-top: @tooltipArrowHorizontalOffset;
+ margin-left: -@tooltipArrowVerticalOffset;
+}
+
+/* Arrow */
+[data-position~="bottom"][data-tooltip]:before {
+ background: @arrowTopBackground;
+ box-shadow: @bottomArrowBoxShadow;
+}
+[data-position="left center"][data-tooltip]:before {
+ background: @arrowCenterBackground;
+ box-shadow: @leftArrowBoxShadow;
+}
+[data-position="right center"][data-tooltip]:before {
+ background: @arrowCenterBackground;
+ box-shadow: @rightArrowBoxShadow;
+}
+[data-position~="top"][data-tooltip]:before {
+ background: @arrowBottomBackground;
+}
+
+/* Inverted Arrow Color */
+[data-inverted][data-position~="bottom"][data-tooltip]:before {
+ background: @invertedArrowTopBackground;
+ box-shadow: @bottomArrowBoxShadow;
+}
+[data-inverted][data-position="left center"][data-tooltip]:before {
+ background: @invertedArrowCenterBackground;
+ box-shadow: @leftArrowBoxShadow;
+}
+[data-inverted][data-position="right center"][data-tooltip]:before {
+ background: @invertedArrowCenterBackground;
+ box-shadow: @rightArrowBoxShadow;
+}
+[data-inverted][data-position~="top"][data-tooltip]:before {
+ background: @invertedArrowBottomBackground;
+}
+
+[data-position~="bottom"][data-tooltip]:before {
+ transform-origin: center bottom;
+}
+[data-position~="bottom"][data-tooltip]:after {
+ transform-origin: center top;
+}
+[data-position="left center"][data-tooltip]:before {
+ transform-origin: top center;
+}
+[data-position="left center"][data-tooltip]:after {
+ transform-origin: right center;
+}
+[data-position="right center"][data-tooltip]:before {
+ transform-origin: right center;
+}
+[data-position="right center"][data-tooltip]:after {
+ transform-origin: left center;
+}
+
+/*--------------
+ Spacing
+---------------*/
+
+.ui.popup {
+ margin: 0em;
+}
+
+/* Extending from Top */
+.ui.top.popup {
+ margin: 0em 0em @popupDistanceAway;
+}
+.ui.top.left.popup {
+ transform-origin: left bottom;
+}
+.ui.top.center.popup {
+ transform-origin: center bottom;
+}
+.ui.top.right.popup {
+ transform-origin: right bottom;
+}
+
+/* Extending from Vertical Center */
+.ui.left.center.popup {
+ margin: 0em @popupDistanceAway 0em 0em;
+ transform-origin: right 50%;
+}
+.ui.right.center.popup {
+ margin: 0em 0em 0em @popupDistanceAway;
+ transform-origin: left 50%;
+}
+
+/* Extending from Bottom */
+.ui.bottom.popup {
+ margin: @popupDistanceAway 0em 0em;
+}
+.ui.bottom.left.popup {
+ transform-origin: left top;
+}
+.ui.bottom.center.popup {
+ transform-origin: center top;
+}
+.ui.bottom.right.popup {
+ transform-origin: right top;
+}
+
+/*--------------
+ Pointer
+---------------*/
+
+/*--- Below ---*/
+.ui.bottom.center.popup:before {
+ margin-left: @arrowOffset;
+ top: @arrowOffset;
+ left: 50%;
+ right: auto;
+ bottom: auto;
+ box-shadow: @bottomArrowBoxShadow;
+}
+
+.ui.bottom.left.popup {
+ margin-left: @boxArrowOffset;
+}
+/*rtl:rename*/
+.ui.bottom.left.popup:before {
+ top: @arrowOffset;
+ left: @arrowDistanceFromEdge;
+ right: auto;
+ bottom: auto;
+ margin-left: 0em;
+ box-shadow: @bottomArrowBoxShadow;
+}
+
+.ui.bottom.right.popup {
+ margin-right: @boxArrowOffset;
+}
+/*rtl:rename*/
+.ui.bottom.right.popup:before {
+ top: @arrowOffset;
+ right: @arrowDistanceFromEdge;
+ bottom: auto;
+ left: auto;
+ margin-left: 0em;
+ box-shadow: @bottomArrowBoxShadow;
+}
+
+/*--- Above ---*/
+.ui.top.center.popup:before {
+ top: auto;
+ right: auto;
+ bottom: @arrowOffset;
+ left: 50%;
+ margin-left: @arrowOffset;
+}
+.ui.top.left.popup {
+ margin-left: @boxArrowOffset;
+}
+/*rtl:rename*/
+.ui.top.left.popup:before {
+ bottom: @arrowOffset;
+ left: @arrowDistanceFromEdge;
+ top: auto;
+ right: auto;
+ margin-left: 0em;
+}
+.ui.top.right.popup {
+ margin-right: @boxArrowOffset;
+}
+/*rtl:rename*/
+.ui.top.right.popup:before {
+ bottom: @arrowOffset;
+ right: @arrowDistanceFromEdge;
+ top: auto;
+ left: auto;
+ margin-left: 0em;
+}
+
+/*--- Left Center ---*/
+/*rtl:rename*/
+.ui.left.center.popup:before {
+ top: 50%;
+ right: @arrowOffset;
+ bottom: auto;
+ left: auto;
+ margin-top: @arrowOffset;
+ box-shadow: @leftArrowBoxShadow;
+}
+
+/*--- Right Center ---*/
+/*rtl:rename*/
+.ui.right.center.popup:before {
+ top: 50%;
+ left: @arrowOffset;
+ bottom: auto;
+ right: auto;
+ margin-top: @arrowOffset;
+ box-shadow: @rightArrowBoxShadow;
+}
+
+/* Arrow Color By Location */
+.ui.bottom.popup:before {
+ background: @arrowTopBackground;
+}
+.ui.right.center.popup:before,
+.ui.left.center.popup:before {
+ background: @arrowCenterBackground;
+}
+.ui.top.popup:before {
+ background: @arrowBottomBackground;
+}
+
+/* Inverted Arrow Color */
+.ui.inverted.bottom.popup:before {
+ background: @invertedArrowTopBackground;
+}
+.ui.inverted.right.center.popup:before,
+.ui.inverted.left.center.popup:before {
+ background: @invertedArrowCenterBackground;
+}
+.ui.inverted.top.popup:before {
+ background: @invertedArrowBottomBackground;
+}
+
+
+/*******************************
+ Coupling
+*******************************/
+
+/* Immediate Nested Grid */
+.ui.popup > .ui.grid:not(.padded) {
+ width: @nestedGridWidth;
+ margin: @nestedGridMargin;
+}
+
+/*******************************
+ States
+*******************************/
+
+.ui.loading.popup {
+ display: block;
+ visibility: hidden;
+ z-index: @loadingZIndex;
+}
+
+.ui.animating.popup,
+.ui.visible.popup {
+ display: block;
+}
+
+.ui.visible.popup {
+ transform: translateZ(0px);
+ backface-visibility: hidden;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Basic
+---------------*/
+
+.ui.basic.popup:before {
+ display: none;
+}
+
+
+/*--------------
+ Wide
+---------------*/
+
+.ui.wide.popup {
+ max-width: @wideWidth;
+}
+.ui[class*="very wide"].popup {
+ max-width: @veryWideWidth;
+}
+
+@media only screen and (max-width: @largestMobileScreen) {
+ .ui.wide.popup,
+ .ui[class*="very wide"].popup {
+ max-width: @maxWidth;
+ }
+}
+
+
+/*--------------
+ Fluid
+---------------*/
+
+.ui.fluid.popup {
+ width: 100%;
+ max-width: none;
+}
+
+
+/*--------------
+ Colors
+---------------*/
+
+/* Inverted colors */
+.ui.inverted.popup {
+ background: @invertedBackground;
+ color: @invertedColor;
+ border: @invertedBorder;
+ box-shadow: @invertedBoxShadow;
+}
+.ui.inverted.popup .header {
+ background-color: @invertedHeaderBackground;
+ color: @invertedHeaderColor;
+}
+.ui.inverted.popup:before {
+ background-color: @invertedArrowColor;
+ box-shadow: none !important;
+}
+
+/*--------------
+ Flowing
+---------------*/
+
+.ui.flowing.popup {
+ max-width: none;
+}
+
+
+/*--------------
+ Sizes
+---------------*/
+
+.ui.mini.popup {
+ font-size: @mini;
+}
+.ui.tiny.popup {
+ font-size: @tiny;
+}
+.ui.small.popup {
+ font-size: @small;
+}
+.ui.popup {
+ font-size: @medium;
+}
+.ui.large.popup {
+ font-size: @large;
+}
+.ui.huge.popup {
+ font-size: @huge;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/progress.less b/src/semantic/src/definitions/modules/progress.less
new file mode 100755
index 0000000..ff8323f
--- /dev/null
+++ b/src/semantic/src/definitions/modules/progress.less
@@ -0,0 +1,503 @@
+/*!
+ * # Semantic UI - Progress Bar
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'progress';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Progress
+*******************************/
+
+.ui.progress {
+ position: relative;
+ display: block;
+ max-width: 100%;
+ border: @border;
+ margin: @margin;
+ box-shadow: @boxShadow;
+ background: @background;
+ padding: @padding;
+ border-radius: @borderRadius;
+}
+
+.ui.progress:first-child {
+ margin: @firstMargin;
+}
+.ui.progress:last-child {
+ margin: @lastMargin;
+}
+
+/*******************************
+ Content
+*******************************/
+
+/* Activity Bar */
+.ui.progress .bar {
+ display: block;
+ line-height: 1;
+ position: @barPosition;
+ width: @barInitialWidth;
+ min-width: @barMinWidth;
+ background: @barBackground;
+ border-radius: @barBorderRadius;
+ transition: @barTransition;
+}
+
+/* Percent Complete */
+.ui.progress .bar > .progress {
+ white-space: nowrap;
+ position: @progressPosition;
+ width: @progressWidth;
+ font-size: @progressSize;
+ top: @progressTop;
+ right: @progressRight;
+ left: @progressLeft;
+ bottom: @progressBottom;
+ color: @progressColor;
+ text-shadow: @progressTextShadow;
+ margin-top: @progressOffset;
+ font-weight: @progressFontWeight;
+ text-align: @progressTextAlign;
+}
+
+/* Label */
+.ui.progress > .label {
+ position: absolute;
+ width: @labelWidth;
+ font-size: @labelSize;
+ top: @labelTop;
+ right: @labelRight;
+ left: @labelLeft;
+ bottom: @labelBottom;
+ color: @labelColor;
+ font-weight: @labelFontWeight;
+ text-shadow: @labelTextShadow;
+ margin-top: @labelOffset;
+ text-align: @labelTextAlign;
+ transition: @labelTransition;
+}
+
+
+/*******************************
+ Types
+*******************************/
+
+
+/* Indicating */
+.ui.indicating.progress[data-percent^="1"] .bar,
+.ui.indicating.progress[data-percent^="2"] .bar {
+ background-color: @indicatingFirstColor;
+}
+.ui.indicating.progress[data-percent^="3"] .bar {
+ background-color: @indicatingSecondColor;
+}
+.ui.indicating.progress[data-percent^="4"] .bar,
+.ui.indicating.progress[data-percent^="5"] .bar {
+ background-color: @indicatingThirdColor;
+}
+.ui.indicating.progress[data-percent^="6"] .bar {
+ background-color: @indicatingFourthColor;
+}
+.ui.indicating.progress[data-percent^="7"] .bar,
+.ui.indicating.progress[data-percent^="8"] .bar {
+ background-color: @indicatingFifthColor;
+}
+.ui.indicating.progress[data-percent^="9"] .bar,
+.ui.indicating.progress[data-percent^="100"] .bar {
+ background-color: @indicatingSixthColor;
+}
+
+/* Indicating Label */
+.ui.indicating.progress[data-percent^="1"] .label,
+.ui.indicating.progress[data-percent^="2"] .label {
+ color: @indicatingFirstLabelColor;
+}
+.ui.indicating.progress[data-percent^="3"] .label {
+ color: @indicatingSecondLabelColor;
+}
+.ui.indicating.progress[data-percent^="4"] .label,
+.ui.indicating.progress[data-percent^="5"] .label {
+ color: @indicatingThirdLabelColor;
+}
+.ui.indicating.progress[data-percent^="6"] .label {
+ color: @indicatingFourthLabelColor;
+}
+.ui.indicating.progress[data-percent^="7"] .label,
+.ui.indicating.progress[data-percent^="8"] .label {
+ color: @indicatingFifthLabelColor;
+}
+.ui.indicating.progress[data-percent^="9"] .label,
+.ui.indicating.progress[data-percent^="100"] .label {
+ color: @indicatingSixthLabelColor;
+}
+
+/* Single Digits */
+.ui.indicating.progress[data-percent="1"] .bar,
+.ui.indicating.progress[data-percent="2"] .bar,
+.ui.indicating.progress[data-percent="3"] .bar,
+.ui.indicating.progress[data-percent="4"] .bar,
+.ui.indicating.progress[data-percent="5"] .bar,
+.ui.indicating.progress[data-percent="6"] .bar,
+.ui.indicating.progress[data-percent="7"] .bar,
+.ui.indicating.progress[data-percent="8"] .bar,
+.ui.indicating.progress[data-percent="9"] .bar {
+ background-color: @indicatingFirstColor;
+}
+.ui.indicating.progress[data-percent="1"] .label,
+.ui.indicating.progress[data-percent="2"] .label,
+.ui.indicating.progress[data-percent="3"] .label,
+.ui.indicating.progress[data-percent="4"] .label,
+.ui.indicating.progress[data-percent="5"] .label,
+.ui.indicating.progress[data-percent="6"] .label,
+.ui.indicating.progress[data-percent="7"] .label,
+.ui.indicating.progress[data-percent="8"] .label,
+.ui.indicating.progress[data-percent="9"] .label {
+ color: @indicatingFirstLabelColor;
+}
+
+/* Indicating Success */
+.ui.indicating.progress.success .label {
+ color: @successHeaderColor;
+}
+
+/*******************************
+ States
+*******************************/
+
+
+/*--------------
+ Success
+---------------*/
+
+.ui.progress.success .bar {
+ background-color: @successColor !important;
+}
+.ui.progress.success .bar,
+.ui.progress.success .bar::after {
+ animation: none !important;
+}
+.ui.progress.success > .label {
+ color: @successHeaderColor;
+}
+
+/*--------------
+ Warning
+---------------*/
+
+.ui.progress.warning .bar {
+ background-color: @warningColor !important;
+}
+.ui.progress.warning .bar,
+.ui.progress.warning .bar::after {
+ animation: none !important;
+}
+.ui.progress.warning > .label {
+ color: @warningHeaderColor;
+}
+
+/*--------------
+ Error
+---------------*/
+
+.ui.progress.error .bar {
+ background-color: @errorColor !important;
+}
+.ui.progress.error .bar,
+.ui.progress.error .bar::after {
+ animation: none !important;
+}
+.ui.progress.error > .label {
+ color: @errorHeaderColor;
+}
+
+/*--------------
+ Active
+---------------*/
+
+.ui.active.progress .bar {
+ position: relative;
+ min-width: @activeMinWidth;
+}
+.ui.active.progress .bar::after {
+ content: '';
+ opacity: 0;
+
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ right: 0px;
+ bottom: 0px;
+ background: @activePulseColor;
+
+ border-radius: @barBorderRadius;
+
+ animation: progress-active @activePulseDuration @defaultEasing infinite;
+}
+@keyframes progress-active {
+ 0% {
+ opacity: @activePulseMaxOpacity;
+ width: 0;
+ }
+ 90% {
+ }
+ 100% {
+ opacity: 0;
+ width: 100%;
+ }
+}
+
+/*--------------
+ Disabled
+---------------*/
+
+.ui.disabled.progress {
+ opacity: 0.35;
+}
+.ui.disabled.progress .bar,
+.ui.disabled.progress .bar::after {
+ animation: none !important;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*--------------
+ Inverted
+---------------*/
+
+.ui.inverted.progress {
+ background: @invertedBackground;
+ border: @invertedBorder;
+}
+.ui.inverted.progress .bar {
+ background: @invertedBarBackground;
+}
+.ui.inverted.progress .bar > .progress {
+ color: @invertedProgressColor;
+}
+.ui.inverted.progress > .label {
+ color: @invertedLabelColor;
+}
+.ui.inverted.progress.success > .label {
+ color: @successColor;
+}
+.ui.inverted.progress.warning > .label {
+ color: @warningColor;
+}
+.ui.inverted.progress.error > .label {
+ color: @errorColor;
+}
+
+/*--------------
+ Attached
+---------------*/
+
+/* bottom attached */
+.ui.progress.attached {
+ background: @attachedBackground;
+ position: relative;
+ border: none;
+ margin: 0em;
+}
+.ui.progress.attached,
+.ui.progress.attached .bar {
+ display: block;
+ height: @attachedHeight;
+ padding: 0px;
+ overflow: hidden;
+ border-radius: 0em 0em @attachedBorderRadius @attachedBorderRadius;
+}
+.ui.progress.attached .bar {
+ border-radius: 0em;
+}
+
+/* top attached */
+.ui.progress.top.attached,
+.ui.progress.top.attached .bar {
+ top: 0px;
+ border-radius: @attachedBorderRadius @attachedBorderRadius 0em 0em;
+}
+.ui.progress.top.attached .bar {
+ border-radius: 0em;
+}
+
+/* Coupling */
+.ui.segment > .ui.attached.progress,
+.ui.card > .ui.attached.progress {
+ position: absolute;
+ top: auto;
+ left: 0;
+ bottom: 100%;
+ width: 100%;
+}
+.ui.segment > .ui.bottom.attached.progress,
+.ui.card > .ui.bottom.attached.progress {
+ top: 100%;
+ bottom: auto;
+}
+
+/*--------------
+ Colors
+---------------*/
+
+/* Red */
+.ui.red.progress .bar {
+ background-color: @red;
+}
+.ui.red.inverted.progress .bar {
+ background-color: @lightRed;
+}
+
+/* Orange */
+.ui.orange.progress .bar {
+ background-color: @orange;
+}
+.ui.orange.inverted.progress .bar {
+ background-color: @lightOrange;
+}
+
+/* Yellow */
+.ui.yellow.progress .bar {
+ background-color: @yellow;
+}
+.ui.yellow.inverted.progress .bar {
+ background-color: @lightYellow;
+}
+
+/* Olive */
+.ui.olive.progress .bar {
+ background-color: @olive;
+}
+.ui.olive.inverted.progress .bar {
+ background-color: @lightOlive;
+}
+
+/* Green */
+.ui.green.progress .bar {
+ background-color: @green;
+}
+.ui.green.inverted.progress .bar {
+ background-color: @lightGreen;
+}
+
+/* Teal */
+.ui.teal.progress .bar {
+ background-color: @teal;
+}
+.ui.teal.inverted.progress .bar {
+ background-color: @lightTeal;
+}
+
+/* Blue */
+.ui.blue.progress .bar {
+ background-color: @blue;
+}
+.ui.blue.inverted.progress .bar {
+ background-color: @lightBlue;
+}
+
+/* Violet */
+.ui.violet.progress .bar {
+ background-color: @violet;
+}
+.ui.violet.inverted.progress .bar {
+ background-color: @lightViolet;
+}
+
+/* Purple */
+.ui.purple.progress .bar {
+ background-color: @purple;
+}
+.ui.purple.inverted.progress .bar {
+ background-color: @lightPurple;
+}
+
+/* Pink */
+.ui.pink.progress .bar {
+ background-color: @pink;
+}
+.ui.pink.inverted.progress .bar {
+ background-color: @lightPink;
+}
+
+/* Brown */
+.ui.brown.progress .bar {
+ background-color: @brown;
+}
+.ui.brown.inverted.progress .bar {
+ background-color: @lightBrown;
+}
+
+/* Grey */
+.ui.grey.progress .bar {
+ background-color: @grey;
+}
+.ui.grey.inverted.progress .bar {
+ background-color: @lightGrey;
+}
+
+/* Black */
+.ui.black.progress .bar {
+ background-color: @black;
+}
+.ui.black.inverted.progress .bar {
+ background-color: @lightBlack;
+}
+
+/*--------------
+ Sizes
+---------------*/
+
+.ui.tiny.progress {
+ font-size: @tiny;
+}
+.ui.tiny.progress .bar {
+ height: @tinyBarHeight;
+}
+
+.ui.small.progress {
+ font-size: @small;
+}
+.ui.small.progress .bar {
+ height: @smallBarHeight;
+}
+
+.ui.progress {
+ font-size: @medium;
+}
+.ui.progress .bar {
+ height: @barHeight;
+}
+
+.ui.large.progress {
+ font-size: @large;
+}
+.ui.large.progress .bar {
+ height: @largeBarHeight;
+}
+
+.ui.big.progress {
+ font-size: @big;
+}
+.ui.big.progress .bar {
+ height: @bigBarHeight;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/rating.less b/src/semantic/src/definitions/modules/rating.less
new file mode 100755
index 0000000..b82667c
--- /dev/null
+++ b/src/semantic/src/definitions/modules/rating.less
@@ -0,0 +1,191 @@
+/*!
+ * # Semantic UI - Rating
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'rating';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Rating
+*******************************/
+
+.ui.rating {
+ display: inline-flex;
+ white-space: @whiteSpace;
+ vertical-align: @verticalAlign;
+}
+.ui.rating:last-child {
+ margin-right: 0em;
+}
+
+/* Icon */
+.ui.rating .icon {
+ padding: 0em;
+ margin: 0em;
+ text-align: center;
+ font-weight: normal;
+ font-style: normal;
+ flex: 1 0 auto;
+ cursor: @iconCursor;
+ width: @iconWidth;
+ height: @iconHeight;
+ transition: @iconTransition;
+}
+
+
+/*******************************
+ Types
+*******************************/
+
+
+/*-------------------
+ Standard
+--------------------*/
+
+/* Inactive Icon */
+.ui.rating .icon {
+ background: @inactiveBackground;
+ color: @inactiveColor;
+}
+
+/* Active Icon */
+.ui.rating .active.icon {
+ background: @activeBackground;
+ color: @activeColor;
+}
+
+/* Selected Icon */
+.ui.rating .icon.selected,
+.ui.rating .icon.selected.active {
+ background: @selectedBackground;
+ color: @selectedColor;
+}
+
+
+/*-------------------
+ Star
+--------------------*/
+
+/* Inactive */
+.ui.star.rating .icon {
+ width: @starIconWidth;
+ height: @starIconHeight;
+ background: @starInactiveBackground;
+ color: @starInactiveColor;
+ text-shadow: @starInactiveTextShadow;
+}
+
+/* Active Star */
+.ui.star.rating .active.icon {
+ background: @starActiveBackground !important;
+ color: @starActiveColor !important;
+ text-shadow: @starActiveTextShadow !important;
+}
+
+/* Selected Star */
+.ui.star.rating .icon.selected,
+.ui.star.rating .icon.selected.active {
+ background: @starSelectedBackground !important;
+ color: @starSelectedColor !important;
+ text-shadow: @starSelectedTextShadow !important;
+}
+
+
+/*-------------------
+ Heart
+--------------------*/
+
+.ui.heart.rating .icon {
+ width: @heartIconWidth;
+ height: @heartIconHeight;
+ background: @heartInactiveBackground;
+ color: @heartInactiveColor;
+ text-shadow: @heartInactiveTextShadow !important;
+}
+
+/* Active Heart */
+.ui.heart.rating .active.icon {
+ background: @heartActiveBackground !important;
+ color: @heartActiveColor !important;
+ text-shadow: @heartActiveTextShadow !important;
+}
+
+/* Selected Heart */
+.ui.heart.rating .icon.selected,
+.ui.heart.rating .icon.selected.active {
+ background: @heartSelectedBackground !important;
+ color: @heartSelectedColor !important;
+ text-shadow: @heartSelectedTextShadow !important;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+/*-------------------
+ Disabled
+--------------------*/
+
+/* disabled rating */
+.ui.disabled.rating .icon {
+ cursor: default;
+}
+
+
+/*-------------------
+ User Interactive
+--------------------*/
+
+/* Selected Rating */
+.ui.rating.selected .active.icon {
+ opacity: @interactiveActiveIconOpacity;
+}
+.ui.rating.selected .icon.selected,
+.ui.rating .icon.selected {
+ opacity: @interactiveSelectedIconOpacity;
+}
+
+
+
+/*******************************
+ Variations
+*******************************/
+
+.ui.mini.rating {
+ font-size: @mini;
+}
+.ui.tiny.rating {
+ font-size: @tiny;
+}
+.ui.small.rating {
+ font-size: @small;
+}
+.ui.rating {
+ font-size: @medium;
+}
+.ui.large.rating {
+ font-size: @large;
+}
+.ui.huge.rating {
+ font-size: @huge;
+}
+.ui.massive.rating {
+ font-size: @massive;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/search.less b/src/semantic/src/definitions/modules/search.less
new file mode 100755
index 0000000..4d28567
--- /dev/null
+++ b/src/semantic/src/definitions/modules/search.less
@@ -0,0 +1,417 @@
+/*!
+ * # Semantic UI - Search
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'search';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Search
+*******************************/
+
+.ui.search {
+ position: relative;
+}
+
+.ui.search > .prompt {
+ margin: 0em;
+ outline: none;
+ -webkit-appearance: none;
+ -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+
+ text-shadow: none;
+ font-style: normal;
+ font-weight: normal;
+
+ line-height: @promptLineHeight;
+ padding: @promptPadding;
+ font-size: @promptFontSize;
+
+ background: @promptBackground;
+ border: @promptBorder;
+ color: @promptColor;
+ box-shadow: @promptBoxShadow;
+ transition: @promptTransition;
+}
+
+.ui.search .prompt {
+ border-radius: @promptBorderRadius;
+}
+
+
+/*--------------
+ Icon
+---------------*/
+
+.ui.search .prompt ~ .search.icon {
+ cursor: pointer;
+}
+
+/*--------------
+ Results
+---------------*/
+
+.ui.search > .results {
+ display: none;
+
+ position: absolute;
+ top: 100%;
+ left: 0%;
+ transform-origin: center top;
+ white-space: normal;
+
+ background: @resultsBackground;
+
+ margin-top: @resultsDistance;
+ width: @resultsWidth;
+
+ border-radius: @resultsBorderRadius;
+ box-shadow: @resultsBoxShadow;
+ border: @resultsBorder;
+ z-index: @resultsZIndex;
+}
+.ui.search > .results > :first-child {
+ border-radius: @resultsBorderRadius @resultsBorderRadius 0em 0em;
+}
+.ui.search > .results > :last-child {
+ border-radius: 0em 0em @resultsBorderRadius @resultsBorderRadius;
+}
+
+/*--------------
+ Result
+---------------*/
+
+.ui.search > .results .result {
+ cursor: pointer;
+ display: block;
+ overflow: hidden;
+ font-size: @resultFontSize;
+ padding: @resultPadding;
+ color: @resultTextColor;
+ line-height: @resultLineHeight;
+ border-bottom: @resultDivider;
+}
+.ui.search > .results .result:last-child {
+ border-bottom: @resultLastDivider !important;
+}
+
+/* Image */
+.ui.search > .results .result .image {
+ float: @resultImageFloat;
+ overflow: hidden;
+ background: @resultImageBackground;
+ width: @resultImageWidth;
+ height: @resultImageHeight;
+ border-radius: @resultImageBorderRadius;
+}
+.ui.search > .results .result .image img {
+ display: block;
+ width: auto;
+ height: 100%;
+}
+
+/*--------------
+ Info
+---------------*/
+
+.ui.search > .results .result .image + .content {
+ margin: @resultImageMargin;
+}
+
+.ui.search > .results .result .title {
+ margin: @resultTitleMargin;
+ font-family: @resultTitleFont;
+ font-weight: @resultTitleFontWeight;
+ font-size: @resultTitleFontSize;
+ color: @resultTitleColor;
+}
+.ui.search > .results .result .description {
+ margin-top: @resultDescriptionDistance;
+ font-size: @resultDescriptionFontSize;
+ color: @resultDescriptionColor;
+}
+.ui.search > .results .result .price {
+ float: @resultPriceFloat;
+ color: @resultPriceColor;
+}
+
+/*--------------
+ Message
+---------------*/
+
+.ui.search > .results > .message {
+ padding: @messageVerticalPadding @messageHorizontalPadding;
+}
+.ui.search > .results > .message .header {
+ font-family: @headerFont;
+ font-size: @messageHeaderFontSize;
+ font-weight: @messageHeaderFontWeight;
+ color: @messageHeaderColor;
+}
+.ui.search > .results > .message .description {
+ margin-top: @messageDescriptionDistance;
+ font-size: @messageDescriptionFontSize;
+ color: @messageDescriptionColor;
+}
+
+/* View All Results */
+.ui.search > .results > .action {
+ display: block;
+ border-top: @actionBorder;
+ background: @actionBackground;
+ padding: @actionPadding;
+ color: @actionColor;
+ font-weight: @actionFontWeight;
+ text-align: @actionAlign;
+}
+
+
+/*******************************
+ States
+*******************************/
+
+/*--------------------
+ Focus
+---------------------*/
+
+.ui.search > .prompt:focus {
+ border-color: @promptFocusBorderColor;
+ background: @promptFocusBackground;
+ color: @promptFocusColor;
+}
+
+/*--------------------
+ Loading
+---------------------*/
+
+.ui.loading.search .input > i.icon:before {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: 50%;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ border-radius: @circularRadius;
+ border: @loaderLineWidth solid @loaderFillColor;
+}
+.ui.loading.search .input > i.icon:after {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: 50%;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ animation: button-spin @loaderSpeed linear;
+ animation-iteration-count: infinite;
+
+ border-radius: @circularRadius;
+
+ border-color: @loaderLineColor transparent transparent;
+ border-style: solid;
+ border-width: @loaderLineWidth;
+
+ box-shadow: 0px 0px 0px 1px transparent;
+}
+
+
+/*--------------
+ Hover
+---------------*/
+
+.ui.search > .results .result:hover,
+.ui.category.search > .results .category .result:hover {
+ background: @resultHoverBackground;
+}
+.ui.search .action:hover {
+ background: @actionHoverBackground;
+}
+
+/*--------------
+ Active
+---------------*/
+
+.ui.category.search > .results .category.active {
+ background: @categoryActiveBackground;
+}
+.ui.category.search > .results .category.active > .name {
+ color: @categoryNameActiveColor;
+}
+
+.ui.search > .results .result.active,
+.ui.category.search > .results .category .result.active {
+ position: relative;
+ border-left-color: @resultActiveBorderLeft;
+ background: @resultActiveBackground;
+ box-shadow: @resultActiveBoxShadow;
+}
+.ui.search > .results .result.active .title {
+ color: @resultActiveTitleColor;
+}
+.ui.search > .results .result.active .description {
+ color: @resultActiveDescriptionColor;
+}
+
+/*******************************
+ Types
+*******************************/
+
+/*--------------
+ Selection
+---------------*/
+
+.ui.search.selection .prompt {
+ border-radius: @selectionPromptBorderRadius;
+}
+
+/* Remove input */
+.ui.search.selection > .icon.input > .remove.icon {
+ pointer-events: none;
+ position: absolute;
+ left: auto;
+ opacity: 0;
+ color: @selectionCloseIconColor;
+ top: @selectionCloseTop;
+ right: @selectionCloseRight;
+ transition: @selectionCloseTransition;
+}
+.ui.search.selection > .icon.input > .active.remove.icon {
+ cursor: pointer;
+ opacity: @selectionCloseIconOpacity;
+ pointer-events: auto;
+}
+.ui.search.selection > .icon.input:not([class*="left icon"]) > .icon ~ .remove.icon {
+ right: @selectionCloseIconInputRight;
+}
+.ui.search.selection > .icon.input > .remove.icon:hover {
+ opacity: @selectionCloseIconHoverOpacity;
+ color: @selectionCloseIconHoverColor;
+}
+
+
+/*--------------
+ Category
+---------------*/
+
+.ui.category.search .results {
+ width: @categoryResultsWidth;
+}
+
+/* Category */
+.ui.category.search > .results .category {
+ background: @categoryBackground;
+ box-shadow: @categoryBoxShadow;
+ border-bottom: @categoryDivider;
+ transition: @categoryTransition;
+}
+
+/* Last Category */
+.ui.category.search > .results .category:last-child {
+ border-bottom: none;
+}
+
+/* First / Last */
+.ui.category.search > .results .category:first-child .name + .result {
+ border-radius: 0em @resultsBorderRadius 0em 0em;
+}
+.ui.category.search > .results .category:last-child .result:last-child {
+ border-radius: 0em 0em @resultsBorderRadius 0em;
+}
+
+/* Category Result */
+.ui.category.search > .results .category .result {
+ background: @categoryResultBackground;
+ margin-left: @categoryNameWidth;
+ border-left: @categoryResultLeftBorder;
+ border-bottom: @categoryResultDivider;
+ transition: @categoryResultTransition;
+ padding: @categoryResultPadding;
+}
+.ui.category.search > .results .category:last-child .result:last-child {
+ border-bottom: @categoryResultLastDivider;
+}
+
+/* Category Result Name */
+.ui.category.search > .results .category > .name {
+ width: @categoryNameWidth;
+ background: @categoryNameBackground;
+ font-family: @categoryNameFont;
+ font-size: @categoryNameFontSize;
+ float: @categoryNameFontSize;
+ float: @categoryNameFloat;
+ padding: @categoryNamePadding;
+ font-weight: @categoryNameFontWeight;
+ color: @categoryNameColor;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+/*-------------------
+ Left / Right
+--------------------*/
+
+.ui[class*="left aligned"].search > .results {
+ right: auto;
+ left: 0%;
+}
+.ui[class*="right aligned"].search > .results {
+ right: 0%;
+ left: auto;
+}
+
+/*--------------
+ Fluid
+---------------*/
+
+.ui.fluid.search .results {
+ width: 100%;
+}
+
+
+/*--------------
+ Sizes
+---------------*/
+
+.ui.mini.search {
+ font-size: @relativeMini;
+}
+.ui.small.search {
+ font-size: @relativeSmall;
+}
+.ui.search {
+ font-size: @relativeMedium;
+}
+.ui.large.search {
+ font-size: @relativeLarge;
+}
+.ui.big.search {
+ font-size: @relativeBig;
+}
+.ui.huge.search {
+ font-size: @relativeHuge;
+}
+.ui.massive.search {
+ font-size: @relativeMassive;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/shape.less b/src/semantic/src/definitions/modules/shape.less
new file mode 100755
index 0000000..c2c87f9
--- /dev/null
+++ b/src/semantic/src/definitions/modules/shape.less
@@ -0,0 +1,150 @@
+/*!
+ * # Semantic UI - Shape
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'shape';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Shape
+*******************************/
+
+.ui.shape {
+ position: relative;
+ vertical-align: top;
+ display: @display;
+ perspective: @perspective;
+ transition: @transition;
+}
+
+.ui.shape .sides {
+ transform-style: preserve-3d;
+}
+
+.ui.shape .side {
+ opacity: 1;
+ width: 100%;
+
+ margin: @sideMargin !important;
+ backface-visibility: @backfaceVisibility;
+}
+
+.ui.shape .side {
+ display: none;
+}
+
+.ui.shape .side * {
+ backface-visibility: visible !important;
+}
+
+/*******************************
+ Types
+*******************************/
+
+.ui.cube.shape .side {
+ min-width: @cubeSize;
+ height: @cubeSize;
+
+ padding: @cubePadding;
+
+ background-color: @cubeBackground;
+ color: @cubeTextColor;
+ box-shadow: @cubeBoxShadow;
+}
+.ui.cube.shape .side > .content {
+ width: 100%;
+ height: 100%;
+ display: table;
+
+ text-align: @cubeTextAlign;
+ user-select: text;
+}
+.ui.cube.shape .side > .content > div {
+ display: table-cell;
+ vertical-align: middle;
+ font-size: @cubeFontSize;
+}
+
+/*******************************
+ 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;
+ display: block;
+ z-index: @animatingZIndex;
+}
+.ui.shape .hidden.side {
+ opacity: @hiddenSideOpacity;
+}
+
+
+/*--------------
+ CSS
+---------------*/
+
+.ui.shape.animating .sides {
+ position: absolute;
+}
+.ui.shape.animating .sides {
+ transition: @transition;
+}
+.ui.shape.animating .side {
+ transition: @sideTransition;
+}
+
+/*--------------
+ Active
+---------------*/
+
+.ui.shape .active.side {
+ display: block;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/sidebar.less b/src/semantic/src/definitions/modules/sidebar.less
new file mode 100755
index 0000000..6affda9
--- /dev/null
+++ b/src/semantic/src/definitions/modules/sidebar.less
@@ -0,0 +1,552 @@
+/*!
+ * # Semantic UI - Sidebar
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'sidebar';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Sidebar
+*******************************/
+
+/* Sidebar Menu */
+.ui.sidebar {
+ position: fixed;
+ top: 0;
+ left: 0;
+
+ backface-visibility: hidden;
+ transition: none;
+ will-change: transform;
+ transform: translate3d(0, 0, 0);
+ visibility: hidden;
+ -webkit-overflow-scrolling: touch;
+
+ height: 100% !important;
+ max-height: 100%;
+ border-radius: 0em !important;
+ margin: 0em !important;
+ overflow-y: auto !important;
+ z-index: @topLayer;
+}
+
+/* GPU Layers for Child Elements */
+.ui.sidebar > * {
+ backface-visibility: hidden;
+}
+
+
+/*--------------
+ Direction
+---------------*/
+
+.ui.left.sidebar {
+ right: auto;
+ left: 0px;
+ transform: translate3d(-100%, 0, 0);
+}
+.ui.right.sidebar {
+ right: 0px !important;
+ left: auto !important;
+ transform: translate3d(100%, 0%, 0);
+}
+
+.ui.top.sidebar,
+.ui.bottom.sidebar {
+ width: 100% !important;
+ height: auto !important;
+}
+.ui.top.sidebar {
+ top: 0px !important;
+ bottom: auto !important;
+ transform: translate3d(0, -100%, 0);
+}
+.ui.bottom.sidebar {
+ top: auto !important;
+ bottom: 0px !important;
+ transform: translate3d(0, 100%, 0);
+}
+
+
+/*--------------
+ Pushable
+---------------*/
+
+.pushable {
+ height: 100%;
+ overflow-x: hidden;
+ padding: 0em !important;
+}
+
+/* Whole Page */
+body.pushable {
+ background: @canvasBackground !important;
+}
+
+/* Page Context */
+.pushable:not(body) {
+ transform: translate3d(0, 0, 0);
+}
+.pushable:not(body) > .ui.sidebar,
+.pushable:not(body) > .fixed,
+.pushable:not(body) > .pusher:after {
+ position: absolute;
+}
+
+
+/*--------------
+ Fixed
+---------------*/
+
+.pushable > .fixed {
+ position: fixed;
+ backface-visibility: hidden;
+
+ transition: transform @duration @easing;
+ will-change: transform;
+ z-index: @fixedLayer;
+}
+
+/*--------------
+ Page
+---------------*/
+
+.pushable > .pusher {
+ position: relative;
+ backface-visibility: hidden;
+ overflow: hidden;
+ min-height: 100%;
+ transition: transform @duration @easing;
+ z-index: @middleLayer;
+}
+
+body.pushable > .pusher {
+ background: @pageBackground;
+}
+
+/* Pusher should inherit background from context */
+.pushable > .pusher {
+ background: inherit;
+}
+
+/*--------------
+ Dimmer
+---------------*/
+
+.pushable > .pusher:after {
+ position: fixed;
+ top: 0px;
+ right: 0px;
+ content: '';
+ background-color: @dimmerColor;
+ overflow: hidden;
+ opacity: 0;
+ transition: @dimmerTransition;
+ will-change: opacity;
+ z-index: @dimmerLayer;
+}
+
+/*--------------
+ Coupling
+---------------*/
+
+.ui.sidebar.menu .item {
+ border-radius: 0em !important;
+}
+
+/*******************************
+ States
+*******************************/
+
+/*--------------
+ Dimmed
+---------------*/
+
+.pushable > .pusher.dimmed:after {
+ width: 100% !important;
+ height: 100% !important;
+ opacity: 1 !important;
+}
+
+/*--------------
+ Animating
+---------------*/
+
+.ui.animating.sidebar {
+ visibility: visible;
+}
+
+/*--------------
+ Visible
+---------------*/
+
+.ui.visible.sidebar {
+ visibility: visible;
+ transform: translate3d(0, 0, 0);
+}
+
+/* Shadow Direction */
+.ui.left.visible.sidebar,
+.ui.right.visible.sidebar {
+ box-shadow: @horizontalBoxShadow;
+}
+.ui.top.visible.sidebar,
+.ui.bottom.visible.sidebar {
+ box-shadow: @verticalBoxShadow;
+}
+
+/* Visible On Load */
+.ui.visible.left.sidebar ~ .fixed,
+.ui.visible.left.sidebar ~ .pusher {
+ transform: translate3d(@width, 0, 0);
+}
+.ui.visible.right.sidebar ~ .fixed,
+.ui.visible.right.sidebar ~ .pusher {
+ transform: translate3d(-@width, 0, 0);
+}
+.ui.visible.top.sidebar ~ .fixed,
+.ui.visible.top.sidebar ~ .pusher {
+ transform: translate3d(0, @height, 0);
+}
+.ui.visible.bottom.sidebar ~ .fixed,
+.ui.visible.bottom.sidebar ~ .pusher {
+ transform: translate3d(0, -@height, 0);
+}
+
+/* opposite sides visible forces content overlay */
+.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed,
+.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher,
+.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed,
+.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher {
+ transform: translate3d(0, 0, 0);
+}
+
+/*--------------
+ iOS
+---------------*/
+
+/*
+ iOS incorrectly sizes document when content
+ is presented outside of view with 2Dtranslate
+*/
+html.ios {
+ overflow-x: hidden;
+ -webkit-overflow-scrolling: touch;
+}
+
+html.ios,
+html.ios body {
+ height: initial !important;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Width
+---------------*/
+
+/* Left / Right */
+.ui.thin.left.sidebar,
+.ui.thin.right.sidebar {
+ width: @thinWidth;
+}
+.ui[class*="very thin"].left.sidebar,
+.ui[class*="very thin"].right.sidebar {
+ width: @veryThinWidth;
+}
+.ui.left.sidebar,
+.ui.right.sidebar {
+ width: @width;
+}
+.ui.wide.left.sidebar,
+.ui.wide.right.sidebar {
+ width: @wideWidth;
+}
+.ui[class*="very wide"].left.sidebar,
+.ui[class*="very wide"].right.sidebar {
+ width: @veryWideWidth;
+}
+
+/* Left Visible */
+.ui.visible.thin.left.sidebar ~ .fixed,
+.ui.visible.thin.left.sidebar ~ .pusher {
+ transform: translate3d(@thinWidth, 0, 0);
+}
+.ui.visible[class*="very thin"].left.sidebar ~ .fixed,
+.ui.visible[class*="very thin"].left.sidebar ~ .pusher {
+ transform: translate3d(@veryThinWidth, 0, 0);
+}
+.ui.visible.wide.left.sidebar ~ .fixed,
+.ui.visible.wide.left.sidebar ~ .pusher {
+ transform: translate3d(@wideWidth, 0, 0);
+}
+.ui.visible[class*="very wide"].left.sidebar ~ .fixed,
+.ui.visible[class*="very wide"].left.sidebar ~ .pusher {
+ transform: translate3d(@veryWideWidth, 0, 0);
+}
+
+/* Right Visible */
+.ui.visible.thin.right.sidebar ~ .fixed,
+.ui.visible.thin.right.sidebar ~ .pusher {
+ transform: translate3d(-@thinWidth, 0, 0);
+}
+.ui.visible[class*="very thin"].right.sidebar ~ .fixed,
+.ui.visible[class*="very thin"].right.sidebar ~ .pusher {
+ transform: translate3d(-@veryThinWidth, 0, 0);
+}
+.ui.visible.wide.right.sidebar ~ .fixed,
+.ui.visible.wide.right.sidebar ~ .pusher {
+ transform: translate3d(-@wideWidth, 0, 0);
+}
+.ui.visible[class*="very wide"].right.sidebar ~ .fixed,
+.ui.visible[class*="very wide"].right.sidebar ~ .pusher {
+ transform: translate3d(-@veryWideWidth, 0, 0);
+}
+
+
+
+/*******************************
+ Animations
+*******************************/
+
+/*--------------
+ Overlay
+---------------*/
+
+/* Set-up */
+.ui.overlay.sidebar {
+ z-index: @topLayer;
+}
+
+/* Initial */
+.ui.left.overlay.sidebar {
+ transform: translate3d(-100%, 0%, 0);
+}
+.ui.right.overlay.sidebar {
+ transform: translate3d(100%, 0%, 0);
+}
+.ui.top.overlay.sidebar {
+ transform: translate3d(0%, -100%, 0);
+}
+.ui.bottom.overlay.sidebar {
+ transform: translate3d(0%, 100%, 0);
+}
+
+/* Animation */
+.animating.ui.overlay.sidebar,
+.ui.visible.overlay.sidebar {
+ transition: transform @duration @easing;
+}
+
+/* End - Sidebar */
+.ui.visible.left.overlay.sidebar {
+ transform: translate3d(0%, 0%, 0);
+}
+.ui.visible.right.overlay.sidebar {
+ transform: translate3d(0%, 0%, 0);
+}
+.ui.visible.top.overlay.sidebar {
+ transform: translate3d(0%, 0%, 0);
+}
+.ui.visible.bottom.overlay.sidebar {
+ transform: translate3d(0%, 0%, 0);
+}
+
+/* End - Pusher */
+.ui.visible.overlay.sidebar ~ .fixed,
+.ui.visible.overlay.sidebar ~ .pusher {
+ transform: none !important;
+}
+
+
+
+/*--------------
+ Push
+---------------*/
+
+/* Initial */
+.ui.push.sidebar {
+ transition: transform @duration @easing;
+ z-index: @topLayer;
+}
+
+/* Sidebar - Initial */
+.ui.left.push.sidebar {
+ transform: translate3d(-100%, 0, 0);
+}
+.ui.right.push.sidebar {
+ transform: translate3d(100%, 0, 0);
+}
+.ui.top.push.sidebar {
+ transform: translate3d(0%, -100%, 0);
+}
+.ui.bottom.push.sidebar {
+ transform: translate3d(0%, 100%, 0);
+}
+
+/* End */
+.ui.visible.push.sidebar {
+ transform: translate3d(0%, 0, 0);
+}
+
+
+/*--------------
+ Uncover
+---------------*/
+
+/* Initial */
+.ui.uncover.sidebar {
+ transform: translate3d(0, 0, 0);
+ z-index: @bottomLayer;
+}
+
+/* End */
+.ui.visible.uncover.sidebar {
+ transform: translate3d(0, 0, 0);
+ transition: transform @duration @easing;
+}
+
+
+/*--------------
+ Slide Along
+---------------*/
+
+/* Initial */
+.ui.slide.along.sidebar {
+ z-index: @bottomLayer;
+}
+
+/* Sidebar - Initial */
+.ui.left.slide.along.sidebar {
+ transform: translate3d(-50%, 0, 0);
+}
+.ui.right.slide.along.sidebar {
+ transform: translate3d(50%, 0, 0);
+}
+.ui.top.slide.along.sidebar {
+ transform: translate3d(0, -50%, 0);
+}
+.ui.bottom.slide.along.sidebar {
+ transform: translate3d(0%, 50%, 0);
+}
+
+/* Animation */
+.ui.animating.slide.along.sidebar {
+ transition: transform @duration @easing;
+}
+
+/* End */
+.ui.visible.slide.along.sidebar {
+ transform: translate3d(0%, 0, 0);
+}
+
+
+/*--------------
+ Slide Out
+---------------*/
+
+/* Initial */
+.ui.slide.out.sidebar {
+ z-index: @bottomLayer;
+}
+
+/* Sidebar - Initial */
+.ui.left.slide.out.sidebar {
+ transform: translate3d(50%, 0, 0);
+}
+.ui.right.slide.out.sidebar {
+ transform: translate3d(-50%, 0, 0);
+}
+.ui.top.slide.out.sidebar {
+ transform: translate3d(0%, 50%, 0);
+}
+.ui.bottom.slide.out.sidebar {
+ transform: translate3d(0%, -50%, 0);
+}
+
+/* Animation */
+.ui.animating.slide.out.sidebar {
+ transition: transform @duration @easing;
+}
+
+/* End */
+.ui.visible.slide.out.sidebar {
+ transform: translate3d(0%, 0, 0);
+}
+
+/*--------------
+ Scale Down
+---------------*/
+
+/* Initial */
+.ui.scale.down.sidebar {
+ transition: transform @duration @easing;
+ z-index: @topLayer;
+}
+
+/* Sidebar - Initial */
+.ui.left.scale.down.sidebar {
+ transform: translate3d(-100%, 0, 0);
+}
+.ui.right.scale.down.sidebar {
+ transform: translate3d(100%, 0, 0);
+}
+.ui.top.scale.down.sidebar {
+ transform: translate3d(0%, -100%, 0);
+}
+.ui.bottom.scale.down.sidebar {
+ transform: translate3d(0%, 100%, 0);
+}
+
+/* Pusher - Initial */
+.ui.scale.down.left.sidebar ~ .pusher {
+ transform-origin: 75% 50%;
+}
+.ui.scale.down.right.sidebar ~ .pusher {
+ transform-origin: 25% 50%;
+}
+.ui.scale.down.top.sidebar ~ .pusher {
+ transform-origin: 50% 75%;
+}
+.ui.scale.down.bottom.sidebar ~ .pusher {
+ transform-origin: 50% 25%;
+}
+
+/* Animation */
+.ui.animating.scale.down > .visible.ui.sidebar {
+ transition: transform @duration @easing;
+}
+.ui.visible.scale.down.sidebar ~ .pusher,
+.ui.animating.scale.down.sidebar ~ .pusher {
+ display: block !important;
+ width: 100%;
+ height: 100%;
+ overflow: hidden !important;
+}
+
+/* End */
+.ui.visible.scale.down.sidebar {
+ transform: translate3d(0, 0, 0);
+}
+.ui.visible.scale.down.sidebar ~ .pusher {
+ transform: scale(0.75);
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/sticky.less b/src/semantic/src/definitions/modules/sticky.less
new file mode 100755
index 0000000..9ee898d
--- /dev/null
+++ b/src/semantic/src/definitions/modules/sticky.less
@@ -0,0 +1,74 @@
+/*!
+ * # Semantic UI - Sticky
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'sticky';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Sticky
+*******************************/
+
+.ui.sticky {
+ position: static;
+ transition: @transition;
+ z-index: @zIndex;
+}
+
+/*******************************
+ States
+*******************************/
+
+/* Bound */
+.ui.sticky.bound {
+ position: absolute;
+ left: auto;
+ right: auto;
+}
+
+/* Fixed */
+.ui.sticky.fixed {
+ position: fixed;
+ left: auto;
+ right: auto;
+}
+
+/* Bound/Fixed Position */
+.ui.sticky.bound.top,
+.ui.sticky.fixed.top {
+ top: 0px;
+ bottom: auto;
+}
+.ui.sticky.bound.bottom,
+.ui.sticky.fixed.bottom {
+ top: auto;
+ bottom: 0px;
+}
+
+
+/*******************************
+ Types
+*******************************/
+
+.ui.native.sticky {
+ position: -webkit-sticky;
+ position: -moz-sticky;
+ position: -ms-sticky;
+ position: -o-sticky;
+ position: sticky;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/tab.less b/src/semantic/src/definitions/modules/tab.less
new file mode 100755
index 0000000..3f3ba09
--- /dev/null
+++ b/src/semantic/src/definitions/modules/tab.less
@@ -0,0 +1,94 @@
+/*!
+ * # Semantic UI - Tab
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'tab';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ 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: @loadingMinHeight;
+}
+.ui.tab.loading * {
+ position: @loadingContentPosition !important;
+ left: @loadingContentOffset !important;
+}
+
+.ui.tab.loading:before,
+.ui.tab.loading.segment:before {
+ position: absolute;
+ content: '';
+ top: @loaderDistanceFromTop;
+ left: 50%;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ border-radius: @circularRadius;
+ border: @loaderLineWidth solid @loaderFillColor;
+}
+.ui.tab.loading:after,
+.ui.tab.loading.segment:after {
+ position: absolute;
+ content: '';
+ top: @loaderDistanceFromTop;
+ left: 50%;
+
+ margin: @loaderMargin;
+ width: @loaderSize;
+ height: @loaderSize;
+
+ animation: button-spin @loaderSpeed linear;
+ animation-iteration-count: infinite;
+
+ border-radius: @circularRadius;
+
+ border-color: @loaderLineColor transparent transparent;
+ border-style: solid;
+ border-width: @loaderLineWidth;
+
+ box-shadow: 0px 0px 0px 1px transparent;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/modules/transition.less b/src/semantic/src/definitions/modules/transition.less
new file mode 100755
index 0000000..92c4963
--- /dev/null
+++ b/src/semantic/src/definitions/modules/transition.less
@@ -0,0 +1,78 @@
+/*!
+ * # Semantic UI - Transition
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'module';
+@element : 'transition';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Transitions
+*******************************/
+
+.transition {
+ animation-iteration-count: 1;
+ animation-duration: @transitionDefaultDuration;
+ animation-timing-function: @transitionDefaultEasing;
+ animation-fill-mode: @transitionDefaultFill;
+}
+
+/*******************************
+ States
+*******************************/
+
+
+/* Animating */
+.animating.transition {
+ backface-visibility: @backfaceVisibility;
+ visibility: visible !important;
+}
+
+/* Loading */
+.loading.transition {
+ position: absolute;
+ top: -99999px;
+ left: -99999px;
+}
+
+/* Hidden */
+.hidden.transition {
+ display: none;
+ visibility: hidden;
+}
+
+/* Visible */
+.visible.transition {
+ display: block !important;
+ visibility: visible !important;
+/* backface-visibility: @backfaceVisibility;
+ transform: @use3DAcceleration;*/
+}
+
+/* Disabled */
+.disabled.transition {
+ animation-play-state: paused;
+}
+
+/*******************************
+ Variations
+*******************************/
+
+.looping.transition {
+ animation-iteration-count: infinite;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/views/ad.less b/src/semantic/src/definitions/views/ad.less
new file mode 100644
index 0000000..3c3b86b
--- /dev/null
+++ b/src/semantic/src/definitions/views/ad.less
@@ -0,0 +1,268 @@
+/*!
+ * # Semantic UI - Ad
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Copyright 2013 Contributors
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'view';
+@element : 'ad';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Advertisement
+*******************************/
+
+.ui.ad {
+ display: block;
+ overflow: @overflow;
+ margin: @margin;
+}
+
+.ui.ad:first-child {
+ margin: 0em;
+}
+
+.ui.ad:last-child {
+ margin: 0em;
+}
+
+.ui.ad iframe {
+ margin: 0em;
+ padding: 0em;
+ border: none;
+ overflow: hidden;
+}
+
+/*--------------
+ Common
+---------------*/
+
+/* Leaderboard */
+.ui.leaderboard.ad {
+ width: 728px;
+ height: 90px;
+}
+
+/* Medium Rectangle */
+.ui[class*="medium rectangle"].ad {
+ width: 300px;
+ height: 250px;
+}
+
+/* Large Rectangle */
+.ui[class*="large rectangle"].ad {
+ width: 336px;
+ height: 280px;
+}
+/* Half Page */
+.ui[class*="half page"].ad {
+ width: 300px;
+ height: 600px;
+}
+
+/*--------------
+ Square
+---------------*/
+
+/* Square */
+.ui.square.ad {
+ width: 250px;
+ height: 250px;
+}
+
+/* Small Square */
+.ui[class*="small square"].ad {
+ width: 200px;
+ height: 200px;
+}
+
+/*--------------
+ Rectangle
+---------------*/
+
+/* Small Rectangle */
+.ui[class*="small rectangle"].ad {
+ width: 180px;
+ height: 150px;
+}
+
+/* Vertical Rectangle */
+.ui[class*="vertical rectangle"].ad {
+ width: 240px;
+ height: 400px;
+}
+
+/*--------------
+ Button
+---------------*/
+
+.ui.button.ad {
+ width: 120px;
+ height: 90px;
+}
+.ui[class*="square button"].ad {
+ width: 125px;
+ height: 125px;
+}
+.ui[class*="small button"].ad {
+ width: 120px;
+ height: 60px;
+}
+
+/*--------------
+ Skyscrapers
+---------------*/
+
+/* Skyscraper */
+.ui.skyscraper.ad {
+ width: 120px;
+ height: 600px;
+}
+
+/* Wide Skyscraper */
+.ui[class*="wide skyscraper"].ad {
+ width: 160px;
+}
+
+/*--------------
+ Banners
+---------------*/
+
+/* Banner */
+.ui.banner.ad {
+ width: 468px;
+ height: 60px;
+}
+
+/* Vertical Banner */
+.ui[class*="vertical banner"].ad {
+ width: 120px;
+ height: 240px;
+}
+
+/* Top Banner */
+.ui[class*="top banner"].ad {
+ width: 930px;
+ height: 180px;
+}
+
+/* Half Banner */
+.ui[class*="half banner"].ad {
+ width: 234px;
+ height: 60px;
+}
+
+/*--------------
+ Boards
+---------------*/
+
+/* Leaderboard */
+.ui[class*="large leaderboard"].ad {
+ width: 970px;
+ height: 90px;
+}
+
+/* Billboard */
+.ui.billboard.ad {
+ width: 970px;
+ height: 250px;
+}
+
+/*--------------
+ Panorama
+---------------*/
+
+/* Panorama */
+.ui.panorama.ad {
+ width: 980px;
+ height: 120px;
+}
+
+/*--------------
+ Netboard
+---------------*/
+
+/* Netboard */
+.ui.netboard.ad {
+ width: 580px;
+ height: 400px;
+}
+
+
+
+/*--------------
+ Mobile
+---------------*/
+
+/* Large Mobile Banner */
+.ui[class*="large mobile banner"].ad {
+ width: 320px;
+ height: 100px;
+}
+
+/* Mobile Leaderboard */
+.ui[class*="mobile leaderboard"].ad {
+ width: 320px;
+ height: 50px;
+}
+
+/*******************************
+ Types
+*******************************/
+
+/* Mobile Sizes */
+.ui.mobile.ad {
+ display: none;
+}
+
+@media only screen and (max-width : @largestMobileScreen) {
+ .ui.mobile.ad {
+ display: block;
+ }
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+.ui.centered.ad {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.ui.test.ad {
+ position: relative;
+ background: @testBackground;
+}
+.ui.test.ad:after {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 100%;
+ text-align: center;
+ transform: translateX(-50%) translateY(-50%);
+
+ content: @testText;
+ color: @testColor;
+ font-size: @testFontSize;
+ font-weight: @testFontWeight;
+}
+.ui.mobile.test.ad:after {
+ font-size: @testMobileFontSize;
+}
+.ui.test.ad[data-text]:after {
+ content: attr(data-text);
+}
+
+.loadUIOverrides();
\ No newline at end of file
diff --git a/src/semantic/src/definitions/views/card.less b/src/semantic/src/definitions/views/card.less
new file mode 100755
index 0000000..e3474f1
--- /dev/null
+++ b/src/semantic/src/definitions/views/card.less
@@ -0,0 +1,1059 @@
+/*!
+ * # Semantic UI - Item
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'view';
+@element : 'card';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Standard
+*******************************/
+
+/*--------------
+ Card
+---------------*/
+
+.ui.cards > .card,
+.ui.card {
+ max-width: 100%;
+ position: relative;
+ display: @display;
+ flex-direction: column;
+
+ width: @width;
+ min-height: @minHeight;
+ background: @background;
+ padding: @padding;
+
+ border: @border;
+ border-radius: @borderRadius;
+ box-shadow: @boxShadow;
+ transition: @transition;
+ z-index: @zIndex;
+}
+.ui.card {
+ margin: @margin;
+}
+
+.ui.cards > .card a,
+.ui.card a {
+ cursor: pointer;
+}
+
+.ui.card:first-child {
+ margin-top: 0em;
+}
+.ui.card:last-child {
+ margin-bottom: 0em;
+}
+
+/*--------------
+ Cards
+---------------*/
+
+.ui.cards {
+ display: @groupDisplay;
+ margin: @groupMargin;
+ flex-wrap: wrap;
+}
+
+.ui.cards > .card {
+ display: @groupCardDisplay;
+ margin: @groupCardMargin;
+ float: @groupCardFloat;
+}
+
+/* Clearing */
+.ui.cards:after,
+.ui.card:after {
+ display: block;
+ content: ' ';
+ height: 0px;
+ clear: both;
+ overflow: hidden;
+ visibility: hidden;
+}
+
+
+/* Consecutive Card Groups Preserve Row Spacing */
+.ui.cards ~ .ui.cards {
+ margin-top: @consecutiveGroupDistance;
+}
+
+
+/*--------------
+ Rounded Edges
+---------------*/
+
+.ui.cards > .card > :first-child,
+.ui.card > :first-child {
+ border-radius: @borderRadius @borderRadius 0em 0em !important;
+ border-top: none !important;
+}
+
+.ui.cards > .card > :last-child,
+.ui.card > :last-child {
+ border-radius: 0em 0em @borderRadius @borderRadius !important;
+}
+
+.ui.cards > .card > :only-child,
+.ui.card > :only-child {
+ border-radius: @borderRadius !important;
+}
+
+/*--------------
+ Images
+---------------*/
+
+.ui.cards > .card > .image,
+.ui.card > .image {
+ position: relative;
+ display: block;
+ flex: 0 0 auto;
+ padding: @imagePadding;
+ background: @imageBackground;
+}
+.ui.cards > .card > .image > img,
+.ui.card > .image > img {
+ display: block;
+ width: 100%;
+ height: auto;
+ border-radius: inherit;
+}
+.ui.cards > .card > .image:not(.ui) > img,
+.ui.card > .image:not(.ui) > img {
+ border: @imageBorder;
+}
+
+/*--------------
+ Content
+---------------*/
+
+.ui.cards > .card > .content,
+.ui.card > .content {
+ flex-grow: 1;
+ border: @contentBorder;
+ border-top: @contentDivider;
+ background: @contentBackground;
+ margin: @contentMargin;
+ padding: @contentPadding;
+ box-shadow: @contentBoxShadow;
+ font-size: @contentFontSize;
+ border-radius: @contentBorderRadius;
+}
+
+.ui.cards > .card > .content:after,
+.ui.card > .content:after {
+ display: block;
+ content: ' ';
+ height: 0px;
+ clear: both;
+ overflow: hidden;
+ visibility: hidden;
+}
+
+.ui.cards > .card > .content > .header,
+.ui.card > .content > .header {
+ display: block;
+ margin: @headerMargin;
+ font-family: @headerFont;
+ color: @headerColor;
+}
+
+/* Default Header Size */
+.ui.cards > .card > .content > .header:not(.ui),
+.ui.card > .content > .header:not(.ui) {
+ font-weight: @headerFontWeight;
+ font-size: @headerFontSize;
+ margin-top: @headerLineHeightOffset;
+ line-height: @headerLineHeight;
+}
+
+.ui.cards > .card > .content > .meta + .description,
+.ui.cards > .card > .content > .header + .description,
+.ui.card > .content > .meta + .description,
+.ui.card > .content > .header + .description {
+ margin-top: @descriptionDistance;
+}
+
+/*----------------
+ Floated Content
+-----------------*/
+
+.ui.cards > .card [class*="left floated"],
+.ui.card [class*="left floated"] {
+ float: left;
+}
+.ui.cards > .card [class*="right floated"],
+.ui.card [class*="right floated"] {
+ float: right;
+}
+
+/*--------------
+ Aligned
+---------------*/
+
+.ui.cards > .card [class*="left aligned"],
+.ui.card [class*="left aligned"] {
+ text-align: left;
+}
+.ui.cards > .card [class*="center aligned"],
+.ui.card [class*="center aligned"] {
+ text-align: center;
+}
+.ui.cards > .card [class*="right aligned"],
+.ui.card [class*="right aligned"] {
+ text-align: right;
+}
+
+
+/*--------------
+ Content Image
+---------------*/
+
+.ui.cards > .card .content img,
+.ui.card .content img {
+ display: inline-block;
+ vertical-align: @contentImageVerticalAlign;
+ width: @contentImageWidth;
+}
+.ui.cards > .card img.avatar,
+.ui.cards > .card .avatar img,
+.ui.card img.avatar,
+.ui.card .avatar img {
+ width: @avatarSize;
+ height: @avatarSize;
+ border-radius: @avatarBorderRadius;
+}
+
+
+/*--------------
+ Description
+---------------*/
+
+.ui.cards > .card > .content > .description,
+.ui.card > .content > .description {
+ clear: both;
+ color: @descriptionColor;
+}
+
+/*--------------
+ Paragraph
+---------------*/
+
+.ui.cards > .card > .content p,
+.ui.card > .content p {
+ margin: 0em 0em @paragraphDistance;
+}
+.ui.cards > .card > .content p:last-child,
+.ui.card > .content p:last-child {
+ margin-bottom: 0em;
+}
+
+/*--------------
+ Meta
+---------------*/
+
+.ui.cards > .card .meta,
+.ui.card .meta {
+ font-size: @metaFontSize;
+ color: @metaColor;
+}
+.ui.cards > .card .meta *,
+.ui.card .meta * {
+ margin-right: @metaSpacing;
+}
+.ui.cards > .card .meta :last-child,
+.ui.card .meta :last-child {
+ margin-right: 0em;
+}
+
+.ui.cards > .card .meta [class*="right floated"],
+.ui.card .meta [class*="right floated"] {
+ margin-right: 0em;
+ margin-left: @metaSpacing;
+}
+
+/*--------------
+ Links
+---------------*/
+
+/* Generic */
+.ui.cards > .card > .content a:not(.ui),
+.ui.card > .content a:not(.ui) {
+ color: @contentLinkColor;
+ transition: @contentLinkTransition;
+}
+.ui.cards > .card > .content a:not(.ui):hover,
+.ui.card > .content a:not(.ui):hover {
+ color: @contentLinkHoverColor;
+}
+
+/* Header */
+.ui.cards > .card > .content > a.header,
+.ui.card > .content > a.header {
+ color: @headerLinkColor;
+}
+.ui.cards > .card > .content > a.header:hover,
+.ui.card > .content > a.header:hover {
+ color: @headerLinkHoverColor;
+}
+
+/* Meta */
+.ui.cards > .card .meta > a:not(.ui),
+.ui.card .meta > a:not(.ui) {
+ color: @metaLinkColor;
+}
+.ui.cards > .card .meta > a:not(.ui):hover,
+.ui.card .meta > a:not(.ui):hover {
+ color: @metaLinkHoverColor;
+}
+
+/*--------------
+ Buttons
+---------------*/
+
+.ui.cards > .card > .buttons,
+.ui.card > .buttons,
+.ui.cards > .card > .button,
+.ui.card > .button {
+ margin: @buttonMargin;
+ width: @buttonWidth;
+}
+
+/*--------------
+ Dimmer
+---------------*/
+
+.ui.cards > .card .dimmer,
+.ui.card .dimmer {
+ background-color: @dimmerColor;
+ z-index: @dimmerZIndex;
+}
+
+/*--------------
+ Labels
+---------------*/
+
+/*-----Star----- */
+
+/* Icon */
+.ui.cards > .card > .content .star.icon,
+.ui.card > .content .star.icon {
+ cursor: pointer;
+ opacity: @actionOpacity;
+ transition: @actionTransition;
+}
+.ui.cards > .card > .content .star.icon:hover,
+.ui.card > .content .star.icon:hover {
+ opacity: @actionHoverOpacity;
+ color: @starColor;
+}
+.ui.cards > .card > .content .active.star.icon,
+.ui.card > .content .active.star.icon {
+ color: @starActiveColor;
+}
+
+/*-----Like----- */
+
+/* Icon */
+.ui.cards > .card > .content .like.icon,
+.ui.card > .content .like.icon {
+ cursor: pointer;
+ opacity: @actionOpacity;
+ transition: @actionTransition;
+}
+.ui.cards > .card > .content .like.icon:hover,
+.ui.card > .content .like.icon:hover {
+ opacity: @actionHoverOpacity;
+ color: @likeColor;
+}
+.ui.cards > .card > .content .active.like.icon,
+.ui.card > .content .active.like.icon {
+ color: @likeActiveColor;
+}
+
+/*----------------
+ Extra Content
+-----------------*/
+
+.ui.cards > .card > .extra,
+.ui.card > .extra {
+ max-width: 100%;
+ min-height: 0em !important;
+ flex-grow: 0;
+ border-top: @extraDivider !important;
+ position: @extraPosition;
+ background: @extraBackground;
+ width: @extraWidth;
+ margin: @extraMargin;
+ padding: @extraPadding;
+ top: @extraTop;
+ left: @extraLeft;
+ color: @extraColor;
+ box-shadow: @extraBoxShadow;
+ transition: @extraTransition;
+}
+.ui.cards > .card > .extra a:not(.ui),
+.ui.card > .extra a:not(.ui) {
+ color: @extraLinkColor;
+}
+.ui.cards > .card > .extra a:not(.ui):hover,
+.ui.card > .extra a:not(.ui):hover {
+ color: @extraLinkHoverColor;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+/*-------------------
+ Raised
+--------------------*/
+
+.ui.raised.cards > .card,
+.ui.raised.card {
+ box-shadow: @raisedShadow;
+}
+.ui.raised.cards a.card:hover,
+.ui.link.cards .raised.card:hover,
+a.ui.raised.card:hover,
+.ui.link.raised.card:hover {
+ box-shadow: @raisedShadowHover;
+}
+
+.ui.raised.cards > .card,
+.ui.raised.card {
+ box-shadow: @raisedShadow;
+}
+/*-------------------
+ Centered
+--------------------*/
+
+.ui.centered.cards {
+ justify-content: center;
+}
+.ui.centered.card {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+/*-------------------
+ Fluid
+--------------------*/
+
+.ui.fluid.card {
+ width: 100%;
+ max-width: 9999px;
+}
+
+/*-------------------
+ Link
+--------------------*/
+
+.ui.cards a.card,
+.ui.link.cards .card,
+a.ui.card,
+.ui.link.card {
+ transform: none;
+}
+
+
+.ui.cards a.card:hover,
+.ui.link.cards .card:hover,
+a.ui.card:hover,
+.ui.link.card:hover {
+ cursor: pointer;
+ z-index: @linkHoverZIndex;
+ background: @linkHoverBackground;
+ border: @linkHoverBorder;
+ box-shadow: @linkHoverBoxShadow;
+ transform: @linkHoverTransform;
+}
+
+/*-------------------
+ Colors
+--------------------*/
+
+/* Red */
+.ui.red.cards > .card,
+.ui.cards > .red.card,
+.ui.red.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @red,
+ @shadowBoxShadow
+ ;
+}
+.ui.red.cards > .card:hover,
+.ui.cards > .red.card:hover,
+.ui.red.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @redHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Orange */
+.ui.orange.cards > .card,
+.ui.cards > .orange.card,
+.ui.orange.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @orange,
+ @shadowBoxShadow
+ ;
+}
+.ui.orange.cards > .card:hover,
+.ui.cards > .orange.card:hover,
+.ui.orange.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @orangeHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Yellow */
+.ui.yellow.cards > .card,
+.ui.cards > .yellow.card,
+.ui.yellow.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @yellow,
+ @shadowBoxShadow
+ ;
+}
+.ui.yellow.cards > .card:hover,
+.ui.cards > .yellow.card:hover,
+.ui.yellow.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @yellowHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Olive */
+.ui.olive.cards > .card,
+.ui.cards > .olive.card,
+.ui.olive.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @olive,
+ @shadowBoxShadow
+ ;
+}
+.ui.olive.cards > .card:hover,
+.ui.cards > .olive.card:hover,
+.ui.olive.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @oliveHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Green */
+.ui.green.cards > .card,
+.ui.cards > .green.card,
+.ui.green.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @green,
+ @shadowBoxShadow
+ ;
+}
+.ui.green.cards > .card:hover,
+.ui.cards > .green.card:hover,
+.ui.green.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @greenHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Teal */
+.ui.teal.cards > .card,
+.ui.cards > .teal.card,
+.ui.teal.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @teal,
+ @shadowBoxShadow
+ ;
+}
+.ui.teal.cards > .card:hover,
+.ui.cards > .teal.card:hover,
+.ui.teal.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @tealHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Blue */
+.ui.blue.cards > .card,
+.ui.cards > .blue.card,
+.ui.blue.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @blue,
+ @shadowBoxShadow
+ ;
+}
+.ui.blue.cards > .card:hover,
+.ui.cards > .blue.card:hover,
+.ui.blue.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @blueHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Violet */
+.ui.violet.cards > .card,
+.ui.cards > .violet.card,
+.ui.violet.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @violet,
+ @shadowBoxShadow
+ ;
+}
+.ui.violet.cards > .card:hover,
+.ui.cards > .violet.card:hover,
+.ui.violet.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @violetHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Purple */
+.ui.purple.cards > .card,
+.ui.cards > .purple.card,
+.ui.purple.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @purple,
+ @shadowBoxShadow
+ ;
+}
+.ui.purple.cards > .card:hover,
+.ui.cards > .purple.card:hover,
+.ui.purple.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @purpleHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Pink */
+.ui.pink.cards > .card,
+.ui.cards > .pink.card,
+.ui.pink.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @pink,
+ @shadowBoxShadow
+ ;
+}
+.ui.pink.cards > .card:hover,
+.ui.cards > .pink.card:hover,
+.ui.pink.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @pinkHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Brown */
+.ui.brown.cards > .card,
+.ui.cards > .brown.card,
+.ui.brown.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @brown,
+ @shadowBoxShadow
+ ;
+}
+.ui.brown.cards > .card:hover,
+.ui.cards > .brown.card:hover,
+.ui.brown.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @brownHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Grey */
+.ui.grey.cards > .card,
+.ui.cards > .grey.card,
+.ui.grey.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @grey,
+ @shadowBoxShadow
+ ;
+}
+.ui.grey.cards > .card:hover,
+.ui.cards > .grey.card:hover,
+.ui.grey.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @greyHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/* Black */
+.ui.black.cards > .card,
+.ui.cards > .black.card,
+.ui.black.card {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @black,
+ @shadowBoxShadow
+ ;
+}
+.ui.black.cards > .card:hover,
+.ui.cards > .black.card:hover,
+.ui.black.card:hover {
+ box-shadow:
+ @borderShadow,
+ 0px @coloredShadowDistance 0px 0px @blackHover,
+ @shadowHoverBoxShadow
+ ;
+}
+
+/*--------------
+ Card Count
+---------------*/
+
+.ui.one.cards {
+ margin-left: @oneCardOffset;
+ margin-right: @oneCardOffset;
+}
+.ui.one.cards > .card {
+ width: @oneCard;
+}
+
+.ui.two.cards {
+ margin-left: @twoCardOffset;
+ margin-right: @twoCardOffset;
+}
+.ui.two.cards > .card {
+ width: @twoCard;
+ margin-left: @twoCardSpacing;
+ margin-right: @twoCardSpacing;
+}
+
+.ui.three.cards {
+ margin-left: @threeCardOffset;
+ margin-right: @threeCardOffset;
+}
+.ui.three.cards > .card {
+ width: @threeCard;
+ margin-left: @threeCardSpacing;
+ margin-right: @threeCardSpacing;
+}
+
+.ui.four.cards {
+ margin-left: @fourCardOffset;
+ margin-right: @fourCardOffset;
+}
+.ui.four.cards > .card {
+ width: @fourCard;
+ margin-left: @fourCardSpacing;
+ margin-right: @fourCardSpacing;
+}
+
+.ui.five.cards {
+ margin-left: @fiveCardOffset;
+ margin-right: @fiveCardOffset;
+}
+.ui.five.cards > .card {
+ width: @fiveCard;
+ margin-left: @fiveCardSpacing;
+ margin-right: @fiveCardSpacing;
+}
+
+.ui.six.cards {
+ margin-left: @sixCardOffset;
+ margin-right: @sixCardOffset;
+}
+.ui.six.cards > .card {
+ width: @sixCard;
+ margin-left: @sixCardSpacing;
+ margin-right: @sixCardSpacing;
+}
+
+.ui.seven.cards {
+ margin-left: @sevenCardOffset;
+ margin-right: @sevenCardOffset;
+}
+.ui.seven.cards > .card {
+ width: @sevenCard;
+ margin-left: @sevenCardSpacing;
+ margin-right: @sevenCardSpacing;
+}
+
+.ui.eight.cards {
+ margin-left: @eightCardOffset;
+ margin-right: @eightCardOffset;
+}
+.ui.eight.cards > .card {
+ width: @eightCard;
+ margin-left: @eightCardSpacing;
+ margin-right: @eightCardSpacing;
+ font-size: 11px;
+}
+
+.ui.nine.cards {
+ margin-left: @nineCardOffset;
+ margin-right: @nineCardOffset;
+}
+.ui.nine.cards > .card {
+ width: @nineCard;
+ margin-left: @nineCardSpacing;
+ margin-right: @nineCardSpacing;
+ font-size: 10px;
+}
+
+.ui.ten.cards {
+ margin-left: @tenCardOffset;
+ margin-right: @tenCardOffset;
+}
+.ui.ten.cards > .card {
+ width: @tenCard;
+ margin-left: @tenCardSpacing;
+ margin-right: @tenCardSpacing;
+}
+
+
+/*-------------------
+ Doubling
+--------------------*/
+
+/* Mobile Only */
+@media only screen and (max-width : @largestMobileScreen) {
+ .ui.two.doubling.cards {
+ margin-left: @oneCardOffset;
+ margin-right: @oneCardOffset;
+ }
+ .ui.two.doubling.cards .card {
+ width: @oneCard;
+ margin-left: @oneCardSpacing;
+ margin-right: @oneCardSpacing;
+ }
+ .ui.three.doubling.cards {
+ margin-left: @twoCardOffset;
+ margin-right: @twoCardOffset;
+ }
+ .ui.three.doubling.cards .card {
+ width: @twoCard;
+ margin-left: @twoCardSpacing;
+ margin-right: @twoCardSpacing;
+ }
+ .ui.four.doubling.cards {
+ margin-left: @twoCardOffset;
+ margin-right: @twoCardOffset;
+ }
+ .ui.four.doubling.cards .card {
+ width: @twoCard;
+ margin-left: @twoCardSpacing;
+ margin-right: @twoCardSpacing;
+ }
+ .ui.five.doubling.cards {
+ margin-left: @twoCardOffset;
+ margin-right: @twoCardOffset;
+ }
+ .ui.five.doubling.cards .card {
+ width: @twoCard;
+ margin-left: @twoCardSpacing;
+ margin-right: @twoCardSpacing;
+ }
+ .ui.six.doubling.cards {
+ margin-left: @twoCardOffset;
+ margin-right: @twoCardOffset;
+ }
+ .ui.six.doubling.cards .card {
+ width: @twoCard;
+ margin-left: @twoCardSpacing;
+ margin-right: @twoCardSpacing;
+ }
+ .ui.seven.doubling.cards {
+ margin-left: @threeCardOffset;
+ margin-right: @threeCardOffset;
+ }
+ .ui.seven.doubling.cards .card {
+ width: @threeCard;
+ margin-left: @threeCardSpacing;
+ margin-right: @threeCardSpacing;
+ }
+ .ui.eight.doubling.cards {
+ margin-left: @threeCardOffset;
+ margin-right: @threeCardOffset;
+ }
+ .ui.eight.doubling.cards .card {
+ width: @threeCard;
+ margin-left: @threeCardSpacing;
+ margin-right: @threeCardSpacing;
+ }
+ .ui.nine.doubling.cards {
+ margin-left: @threeCardOffset;
+ margin-right: @threeCardOffset;
+ }
+ .ui.nine.doubling.cards .card {
+ width: @threeCard;
+ margin-left: @threeCardSpacing;
+ margin-right: @threeCardSpacing;
+ }
+ .ui.ten.doubling.cards {
+ margin-left: @threeCardOffset;
+ margin-right: @threeCardOffset;
+ }
+ .ui.ten.doubling.cards .card {
+ width: @threeCard;
+ margin-left: @threeCardSpacing;
+ margin-right: @threeCardSpacing;
+ }
+}
+
+/* Tablet Only */
+@media only screen and (min-width : @tabletBreakpoint) and (max-width : @largestTabletScreen) {
+ .ui.two.doubling.cards {
+ margin-left: @oneCardOffset;
+ margin-right: @oneCardOffset;
+ }
+ .ui.two.doubling.cards .card {
+ width: @oneCard;
+ margin-left: @oneCardSpacing;
+ margin-right: @oneCardSpacing;
+ }
+ .ui.three.doubling.cards {
+ margin-left: @twoCardOffset;
+ margin-right: @twoCardOffset;
+ }
+ .ui.three.doubling.cards .card {
+ width: @twoCard;
+ margin-left: @twoCardSpacing;
+ margin-right: @twoCardSpacing;
+ }
+ .ui.four.doubling.cards {
+ margin-left: @twoCardOffset;
+ margin-right: @twoCardOffset;
+ }
+ .ui.four.doubling.cards .card {
+ width: @twoCard;
+ margin-left: @twoCardSpacing;
+ margin-right: @twoCardSpacing;
+ }
+ .ui.five.doubling.cards {
+ margin-left: @threeCardOffset;
+ margin-right: @threeCardOffset;
+ }
+ .ui.five.doubling.cards .card {
+ width: @threeCard;
+ margin-left: @threeCardSpacing;
+ margin-right: @threeCardSpacing;
+ }
+ .ui.six.doubling.cards {
+ margin-left: @threeCardOffset;
+ margin-right: @threeCardOffset;
+ }
+ .ui.six.doubling.cards .card {
+ width: @threeCard;
+ margin-left: @threeCardSpacing;
+ margin-right: @threeCardSpacing;
+ }
+ .ui.eight.doubling.cards {
+ margin-left: @threeCardOffset;
+ margin-right: @threeCardOffset;
+ }
+ .ui.eight.doubling.cards .card {
+ width: @threeCard;
+ margin-left: @threeCardSpacing;
+ margin-right: @threeCardSpacing;
+ }
+ .ui.eight.doubling.cards {
+ margin-left: @fourCardOffset;
+ margin-right: @fourCardOffset;
+ }
+ .ui.eight.doubling.cards .card {
+ width: @fourCard;
+ margin-left: @fourCardSpacing;
+ margin-right: @fourCardSpacing;
+ }
+ .ui.nine.doubling.cards {
+ margin-left: @fourCardOffset;
+ margin-right: @fourCardOffset;
+ }
+ .ui.nine.doubling.cards .card {
+ width: @fourCard;
+ margin-left: @fourCardSpacing;
+ margin-right: @fourCardSpacing;
+ }
+ .ui.ten.doubling.cards {
+ margin-left: @fiveCardOffset;
+ margin-right: @fiveCardOffset;
+ }
+ .ui.ten.doubling.cards .card {
+ width: @fiveCard;
+ margin-left: @fiveCardSpacing;
+ margin-right: @fiveCardSpacing;
+ }
+}
+
+/*-------------------
+ Stackable
+--------------------*/
+
+@media only screen and (max-width : @largestMobileScreen) {
+ .ui.stackable.cards {
+ display: block !important;
+ }
+ .ui.stackable.cards .card:first-child {
+ margin-top: 0em !important;
+ }
+ .ui.stackable.cards > .card {
+ display: block !important;
+ height: auto !important;
+ margin: @stackableRowSpacing @stackableCardSpacing;
+ padding: 0 !important;
+ width: @stackableMargin !important;
+ }
+}
+
+
+/*--------------
+ Size
+---------------*/
+
+.ui.cards > .card {
+ font-size: @medium;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/views/comment.less b/src/semantic/src/definitions/views/comment.less
new file mode 100755
index 0000000..d42d5f1
--- /dev/null
+++ b/src/semantic/src/definitions/views/comment.less
@@ -0,0 +1,269 @@
+/*!
+ * # Semantic UI - Comment
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'view';
+@element : 'comment';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Standard
+*******************************/
+
+
+/*--------------
+ Comments
+---------------*/
+
+.ui.comments {
+ margin: @margin;
+ max-width: @maxWidth;
+}
+
+.ui.comments:first-child {
+ margin-top: 0em;
+}
+.ui.comments:last-child {
+ margin-bottom: 0em;
+}
+
+/*--------------
+ Comment
+---------------*/
+
+.ui.comments .comment {
+ position: relative;
+ background: @commentBackground;
+ margin: @commentMargin;
+ padding: @commentPadding;
+ border: @commentBorder;
+ border-top: @commentDivider;
+ line-height: @commentLineHeight;
+}
+.ui.comments .comment:first-child {
+ margin-top: @firstCommentMargin;
+ padding-top: @firstCommentPadding;
+}
+
+
+/*--------------------
+ Nested Comments
+---------------------*/
+
+.ui.comments .comment .comments {
+ margin: @nestedCommentsMargin;
+ padding: @nestedCommentsPadding;
+}
+.ui.comments .comment .comments:before{
+ position: absolute;
+ top: 0px;
+ left: 0px;
+}
+.ui.comments .comment .comments .comment {
+ border: @nestedCommentBorder;
+ border-top: @nestedCommentDivider;
+ background: @nestedCommentBackground;
+}
+
+/*--------------
+ Avatar
+---------------*/
+
+.ui.comments .comment .avatar {
+ display: @avatarDisplay;
+ width: @avatarWidth;
+ height: @avatarHeight;
+ float: @avatarFloat;
+ margin: @avatarMargin;
+}
+.ui.comments .comment img.avatar,
+.ui.comments .comment .avatar img {
+ display: block;
+ margin: 0em auto;
+ width: 100%;
+ height: 100%;
+ border-radius: @avatarBorderRadius;
+}
+
+/*--------------
+ Content
+---------------*/
+
+.ui.comments .comment > .content {
+ display: block;
+}
+/* If there is an avatar move content over */
+.ui.comments .comment > .avatar ~ .content {
+ margin-left: @contentMargin;
+}
+
+/*--------------
+ Author
+---------------*/
+
+.ui.comments .comment .author {
+ font-size: @authorFontSize;
+ color: @authorColor;
+ font-weight: @authorFontWeight;
+}
+.ui.comments .comment a.author {
+ cursor: pointer;
+}
+.ui.comments .comment a.author:hover {
+ color: @authorHoverColor;
+}
+
+/*--------------
+ Metadata
+---------------*/
+
+.ui.comments .comment .metadata {
+ display: @metadataDisplay;
+ margin-left: @metadataSpacing;
+ color: @metadataColor;
+ font-size: @metadataFontSize;
+}
+.ui.comments .comment .metadata > * {
+ display: inline-block;
+ margin: 0em @metadataContentSpacing 0em 0em;
+}
+.ui.comments .comment .metadata > :last-child {
+ margin-right: 0em;
+}
+
+/*--------------------
+ Comment Text
+---------------------*/
+
+.ui.comments .comment .text {
+ margin: @textMargin;
+ font-size: @textFontSize;
+ word-wrap: @textWordWrap;
+ color: @textColor;
+ line-height: @textLineHeight;
+}
+
+
+/*--------------------
+ User Actions
+---------------------*/
+
+.ui.comments .comment .actions {
+ font-size: @actionFontSize;
+}
+.ui.comments .comment .actions a {
+ cursor: pointer;
+ display: inline-block;
+ margin: 0em @actionContentDistance 0em 0em;
+ color: @actionLinkColor;
+}
+.ui.comments .comment .actions a:last-child {
+ margin-right: 0em;
+}
+.ui.comments .comment .actions a.active,
+.ui.comments .comment .actions a:hover {
+ color: @actionLinkHoverColor;
+}
+
+/*--------------------
+ Reply Form
+---------------------*/
+
+.ui.comments > .reply.form {
+ margin-top: @replyDistance;
+}
+.ui.comments .comment .reply.form {
+ width: 100%;
+ margin-top: @commentReplyDistance;
+}
+.ui.comments .reply.form textarea {
+ font-size: @replyFontSize;
+ height: @replyHeight;
+}
+
+/*******************************
+ State
+*******************************/
+
+.ui.collapsed.comments,
+.ui.comments .collapsed.comments,
+.ui.comments .collapsed.comment {
+ display: none;
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------------
+ Threaded
+---------------------*/
+
+.ui.threaded.comments .comment .comments {
+ margin: @threadedCommentMargin;
+ padding: @threadedCommentPadding;
+ box-shadow: @threadedCommentBoxShadow;
+}
+
+/*--------------------
+ Minimal
+---------------------*/
+
+.ui.minimal.comments .comment .actions {
+ opacity: 0;
+ position: @minimalActionPosition;
+ top: @minimalActionTop;
+ right: @minimalActionRight;
+ left: @minimalActionLeft;
+ transition: @minimalTransition;
+ transition-delay: @minimalTransitionDelay;
+}
+.ui.minimal.comments .comment > .content:hover > .actions {
+ opacity: 1;
+}
+
+
+/*-------------------
+ Sizes
+--------------------*/
+
+.ui.mini.comments {
+ font-size: @mini;
+}
+.ui.tiny.comments {
+ font-size: @tiny;
+}
+.ui.small.comments {
+ font-size: @small;
+}
+.ui.comments {
+ font-size: @medium;
+}
+.ui.large.comments {
+ font-size: @large;
+}
+.ui.big.comments {
+ font-size: @big;
+}
+.ui.huge.comments {
+ font-size: @huge;
+}
+.ui.massive.comments {
+ font-size: @massive;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/views/feed.less b/src/semantic/src/definitions/views/feed.less
new file mode 100755
index 0000000..2447904
--- /dev/null
+++ b/src/semantic/src/definitions/views/feed.less
@@ -0,0 +1,278 @@
+/*!
+ * # Semantic UI - Feed
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'view';
+@element : 'feed';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Activity Feed
+*******************************/
+
+.ui.feed {
+ margin: @margin;
+}
+.ui.feed:first-child {
+ margin-top: 0em;
+}
+.ui.feed:last-child {
+ margin-bottom: 0em;
+}
+
+
+/*******************************
+ Content
+*******************************/
+
+/* Event */
+.ui.feed > .event {
+ display: flex;
+ flex-direction: row;
+ width: @eventWidth;
+ padding: @eventPadding;
+ margin: @eventMargin;
+ background: @eventBackground;
+ border-top: @eventDivider;
+}
+.ui.feed > .event:first-child {
+ border-top: 0px;
+ padding-top: 0em;
+}
+.ui.feed > .event:last-child {
+ padding-bottom: 0em;
+}
+
+/* Event Label */
+.ui.feed > .event > .label {
+ display: block;
+ flex: 0 0 auto;
+ width: @labelWidth;
+ height: @labelHeight;
+ align-self: @labelAlignSelf;
+ text-align: @labelTextAlign;
+}
+.ui.feed > .event > .label .icon {
+ opacity: @iconLabelOpacity;
+ font-size: @iconLabelSize;
+ width: @iconLabelWidth;
+ padding: @iconLabelPadding;
+ background: @iconLabelBackground;
+ border: @iconLabelBorder;
+ border-radius: @iconLabelBorderRadius;
+ color: @iconLabelColor;
+}
+.ui.feed > .event > .label img {
+ width: @imageLabelWidth;
+ height: @imageLabelHeight;
+ border-radius: @imageLabelBorderRadius;
+}
+.ui.feed > .event > .label + .content {
+ margin: @labeledContentMargin;
+}
+
+/*--------------
+ Content
+---------------*/
+
+/* Content */
+.ui.feed > .event > .content {
+ display: block;
+ flex: 1 1 auto;
+ align-self: @contentAlignSelf;
+ text-align: @contentTextAlign;
+ word-wrap: @contentWordWrap;
+}
+.ui.feed > .event:last-child > .content {
+ padding-bottom: @lastLabeledContentPadding;
+}
+
+/* Link */
+.ui.feed > .event > .content a {
+ cursor: pointer;
+}
+
+/*--------------
+ Date
+---------------*/
+
+.ui.feed > .event > .content .date {
+ margin: @dateMargin;
+ padding: @datePadding;
+ color: @dateColor;
+ font-weight: @dateFontWeight;
+ font-size: @dateFontSize;
+ font-style: @dateFontStyle;
+ color: @dateColor;
+}
+
+/*--------------
+ Summary
+---------------*/
+
+.ui.feed > .event > .content .summary {
+ margin: @summaryMargin;
+ font-size: @summaryFontSize;
+ font-weight: @summaryFontWeight;
+ color: @summaryColor;
+}
+
+/* Summary Image */
+.ui.feed > .event > .content .summary img {
+ display: inline-block;
+ width: @summaryImageWidth;
+ height: @summaryImageHeight;
+ margin: @summaryImageMargin;
+ border-radius: @summaryImageBorderRadius;
+ vertical-align: @summaryImageVerticalAlign;
+}
+/*--------------
+ User
+---------------*/
+
+.ui.feed > .event > .content .user {
+ display: inline-block;
+ font-weight: @userFontWeight;
+ margin-right: @userDistance;
+ vertical-align: baseline;
+}
+.ui.feed > .event > .content .user img {
+ margin: @userImageMargin;
+ width: @userImageWidth;
+ height: @userImageHeight;
+ vertical-align: @userImageVerticalAlign;
+}
+/*--------------
+ Inline Date
+---------------*/
+
+/* Date inside Summary */
+.ui.feed > .event > .content .summary > .date {
+ display: @summaryDateDisplay;
+ float: @summaryDateFloat;
+ font-weight: @summaryDateFontWeight;
+ font-size: @summaryDateFontSize;
+ font-style: @summaryDateFontStyle;
+ margin: @summaryDateMargin;
+ padding: @summaryDatePadding;
+ color: @summaryDateColor;
+}
+
+/*--------------
+ Extra Summary
+---------------*/
+
+.ui.feed > .event > .content .extra {
+ margin: @extraMargin;
+ background: @extraBackground;
+ padding: @extraPadding;
+ color: @extraColor;
+}
+
+/* Images */
+.ui.feed > .event > .content .extra.images img {
+ display: inline-block;
+ margin: @extraImageMargin;
+ width: @extraImageWidth;
+}
+
+/* Text */
+.ui.feed > .event > .content .extra.text {
+ padding: @extraTextPadding;
+ border-left: @extraTextPointer;
+ font-size: @extraTextFontSize;
+ max-width: @extraTextMaxWidth;
+ line-height: @extraTextLineHeight;
+}
+
+/*--------------
+ Meta
+---------------*/
+
+.ui.feed > .event > .content .meta {
+ display: @metadataDisplay;
+ font-size: @metadataFontSize;
+ margin: @metadataMargin;
+ background: @metadataBackground;
+ border: @metadataBorder;
+ border-radius: @metadataBorderRadius;
+ box-shadow: @metadataBoxShadow;
+ padding: @metadataPadding;
+ color: @metadataColor;
+}
+
+.ui.feed > .event > .content .meta > * {
+ position: relative;
+ margin-left: @metadataElementSpacing;
+}
+.ui.feed > .event > .content .meta > *:after {
+ content: @metadataDivider;
+ color: @metadataDividerColor;
+ top: 0em;
+ left: @metadataDividerOffset;
+ opacity: 1;
+ position: absolute;
+ vertical-align: top;
+}
+
+.ui.feed > .event > .content .meta .like {
+ color: @likeColor;
+ transition: @likeTransition;
+}
+.ui.feed > .event > .content .meta .like:hover .icon {
+ color: @likeHoverColor;
+}
+.ui.feed > .event > .content .meta .active.like .icon {
+ color: @likeActiveColor;
+}
+
+/* First element */
+.ui.feed > .event > .content .meta > :first-child {
+ margin-left: 0em;
+}
+.ui.feed > .event > .content .meta > :first-child::after {
+ display: none;
+}
+
+/* Action */
+.ui.feed > .event > .content .meta a,
+.ui.feed > .event > .content .meta > .icon {
+ cursor: @metadataActionCursor;
+ opacity: @metadataActionOpacity;
+ color: @metadataActionColor;
+ transition: @metadataActionTransition;
+}
+.ui.feed > .event > .content .meta a:hover,
+.ui.feed > .event > .content .meta a:hover .icon,
+.ui.feed > .event > .content .meta > .icon:hover {
+ color: @metadataActionHoverColor;
+}
+
+
+
+/*******************************
+ Variations
+*******************************/
+
+.ui.small.feed {
+ font-size: @small;
+}
+.ui.feed {
+ font-size: @medium;
+}
+.ui.large.feed {
+ font-size: @large;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/views/item.less b/src/semantic/src/definitions/views/item.less
new file mode 100755
index 0000000..cba0f47
--- /dev/null
+++ b/src/semantic/src/definitions/views/item.less
@@ -0,0 +1,464 @@
+/*!
+ * # Semantic UI - Item
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'view';
+@element : 'item';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Standard
+*******************************/
+
+/*--------------
+ Item
+---------------*/
+
+.ui.items > .item {
+ display: @display;
+ margin: @itemSpacing 0em;
+ width: @width;
+ min-height: @minHeight;
+ background: @background;
+ padding: @padding;
+
+ border: @border;
+ border-radius: @borderRadius;
+ box-shadow: @boxShadow;
+ transition: @transition;
+ z-index: @zIndex;
+}
+.ui.items > .item a {
+ cursor: pointer;
+}
+
+/*--------------
+ Items
+---------------*/
+
+.ui.items {
+ margin: @groupMargin;
+}
+
+.ui.items:first-child {
+ margin-top: 0em !important;
+}
+.ui.items:last-child {
+ margin-bottom: 0em !important;
+}
+
+/*--------------
+ Item
+---------------*/
+
+.ui.items > .item:after {
+ display: block;
+ content: ' ';
+ height: 0px;
+ clear: both;
+ overflow: hidden;
+ visibility: hidden;
+}
+.ui.items > .item:first-child {
+ margin-top: 0em;
+}
+.ui.items > .item:last-child {
+ margin-bottom: 0em;
+}
+
+
+
+/*--------------
+ Images
+---------------*/
+
+.ui.items > .item > .image {
+ position: relative;
+ flex: 0 0 auto;
+ display: @imageDisplay;
+ float: @imageFloat;
+ margin: @imageMargin;
+ padding: @imagePadding;
+ max-height: @imageMaxHeight;
+ align-self: @imageVerticalAlign;
+}
+.ui.items > .item > .image > img {
+ display: block;
+ width: 100%;
+ height: auto;
+ border-radius: @imageBorderRadius;
+ border: @imageBorder;
+}
+
+.ui.items > .item > .image:only-child > img {
+ border-radius: @borderRadius;
+}
+
+
+/*--------------
+ Content
+---------------*/
+
+.ui.items > .item > .content {
+ display: block;
+ flex: 1 1 auto;
+ background: @contentBackground;
+ margin: @contentMargin;
+ padding: @contentPadding;
+ box-shadow: @contentBoxShadow;
+ font-size: @contentFontSize;
+ border: @contentBorder;
+ border-radius: @contentBorderRadius;
+}
+.ui.items > .item > .content:after {
+ display: block;
+ content: ' ';
+ height: 0px;
+ clear: both;
+ overflow: hidden;
+ visibility: hidden;
+}
+
+.ui.items > .item > .image + .content {
+ min-width: 0;
+ width: @contentWidth;
+ display: @contentDisplay;
+ margin-left: @contentOffset;
+ align-self: @contentVerticalAlign;
+ padding-left: @contentImageDistance;
+}
+
+.ui.items > .item > .content > .header {
+ display: inline-block;
+ margin: @headerMargin;
+ font-family: @headerFont;
+ font-weight: @headerFontWeight;
+ color: @headerColor;
+}
+/* Default Header Size */
+.ui.items > .item > .content > .header:not(.ui) {
+ font-size: @headerFontSize;
+}
+
+/*--------------
+ Floated
+---------------*/
+
+.ui.items > .item [class*="left floated"] {
+ float: left;
+}
+.ui.items > .item [class*="right floated"] {
+ float: right;
+}
+
+
+/*--------------
+ Content Image
+---------------*/
+
+.ui.items > .item .content img {
+ align-self: @contentImageVerticalAlign;
+ width: @contentImageWidth;
+}
+.ui.items > .item img.avatar,
+.ui.items > .item .avatar img {
+ width: @avatarSize;
+ height: @avatarSize;
+ border-radius: @avatarBorderRadius;
+}
+
+
+/*--------------
+ Description
+---------------*/
+
+.ui.items > .item > .content > .description {
+ margin-top: @descriptionDistance;
+ max-width: @descriptionMaxWidth;
+ font-size: @descriptionFontSize;
+ line-height: @descriptionLineHeight;
+ color: @descriptionColor;
+}
+
+/*--------------
+ Paragraph
+---------------*/
+
+.ui.items > .item > .content p {
+ margin: 0em 0em @paragraphDistance;
+}
+.ui.items > .item > .content p:last-child {
+ margin-bottom: 0em;
+}
+
+/*--------------
+ Meta
+---------------*/
+
+.ui.items > .item .meta {
+ margin: @metaMargin;
+ font-size: @metaFontSize;
+ line-height: @metaLineHeight;
+ color: @metaColor;
+}
+.ui.items > .item .meta * {
+ margin-right: @metaSpacing;
+}
+.ui.items > .item .meta :last-child {
+ margin-right: 0em;
+}
+
+.ui.items > .item .meta [class*="right floated"] {
+ margin-right: 0em;
+ margin-left: @metaSpacing;
+}
+
+/*--------------
+ Links
+---------------*/
+
+/* Generic */
+.ui.items > .item > .content a:not(.ui) {
+ color: @contentLinkColor;
+ transition: @contentLinkTransition;
+}
+.ui.items > .item > .content a:not(.ui):hover {
+ color: @contentLinkHoverColor;
+}
+
+/* Header */
+.ui.items > .item > .content > a.header {
+ color: @headerLinkColor;
+}
+.ui.items > .item > .content > a.header:hover {
+ color: @headerLinkHoverColor;
+}
+
+/* Meta */
+.ui.items > .item .meta > a:not(.ui) {
+ color: @metaLinkColor;
+}
+.ui.items > .item .meta > a:not(.ui):hover {
+ color: @metaLinkHoverColor;
+}
+
+
+
+/*--------------
+ Labels
+---------------*/
+
+/*-----Star----- */
+
+/* Icon */
+.ui.items > .item > .content .favorite.icon {
+ cursor: pointer;
+ opacity: @actionOpacity;
+ transition: @actionTransition;
+}
+.ui.items > .item > .content .favorite.icon:hover {
+ opacity: @actionHoverOpacity;
+ color: @favoriteColor;
+}
+.ui.items > .item > .content .active.favorite.icon {
+ color: @favoriteActiveColor;
+}
+
+/*-----Like----- */
+
+/* Icon */
+.ui.items > .item > .content .like.icon {
+ cursor: pointer;
+ opacity: @actionOpacity;
+ transition: @actionTransition;
+}
+.ui.items > .item > .content .like.icon:hover {
+ opacity: @actionHoverOpacity;
+ color: @likeColor;
+}
+.ui.items > .item > .content .active.like.icon {
+ color: @likeActiveColor;
+}
+
+/*----------------
+ Extra Content
+-----------------*/
+
+.ui.items > .item .extra {
+ display: @extraDisplay;
+ position: @extraPosition;
+ background: @extraBackground;
+ margin: @extraMargin;
+ width: @extraWidth;
+ padding: @extraPadding;
+ top: @extraTop;
+ left: @extraLeft;
+ color: @extraColor;
+ box-shadow: @extraBoxShadow;
+ transition: @extraTransition;
+ border-top: @extraDivider;
+}
+.ui.items > .item .extra > * {
+ margin: (@extraRowSpacing / 2) @extraHorizontalSpacing (@extraRowSpacing / 2) 0em;
+}
+.ui.items > .item .extra > [class*="right floated"] {
+ margin: (@extraRowSpacing / 2) 0em (@extraRowSpacing / 2) @extraHorizontalSpacing;
+}
+
+.ui.items > .item .extra:after {
+ display: block;
+ content: ' ';
+ height: 0px;
+ clear: both;
+ overflow: hidden;
+ visibility: hidden;
+}
+
+
+/*******************************
+ Responsive
+*******************************/
+
+/* Default Image Width */
+.ui.items > .item > .image:not(.ui) {
+ width: @imageWidth;
+}
+
+
+/* Tablet Only */
+@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
+ .ui.items > .item {
+ margin: @tabletItemSpacing 0em;
+ }
+ .ui.items > .item > .image:not(.ui) {
+ width: @tabletImageWidth;
+ }
+ .ui.items > .item > .image + .content {
+ display: block;
+ padding: 0em 0em 0em @tabletContentImageDistance;
+ }
+
+}
+
+/* Mobile Only */
+@media only screen and (max-width: @largestMobileScreen) {
+ .ui.items > .item {
+ flex-direction: column;
+ margin: @mobileItemSpacing 0em;
+ }
+ .ui.items > .item > .image {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+ }
+ .ui.items > .item > .image,
+ .ui.items > .item > .image > img {
+ max-width: 100% !important;
+ width: @mobileImageWidth !important;
+ max-height: @mobileImageMaxHeight !important;
+ }
+ .ui.items > .item > .image + .content {
+ display: block;
+ padding: @mobileContentImageDistance 0em 0em;
+ }
+
+}
+
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*-------------------
+ Aligned
+--------------------*/
+
+.ui.items > .item > .image + [class*="top aligned"].content {
+ align-self: flex-start;
+}
+.ui.items > .item > .image + [class*="middle aligned"].content {
+ align-self: center;
+}
+.ui.items > .item > .image + [class*="bottom aligned"].content {
+ align-self: flex-end;
+}
+
+
+/*--------------
+ Relaxed
+---------------*/
+
+.ui.relaxed.items > .item {
+ margin: @relaxedItemSpacing 0em;
+}
+.ui[class*="very relaxed"].items > .item {
+ margin: @veryRelaxedItemSpacing 0em;
+}
+
+
+/*-------------------
+ Divided
+--------------------*/
+
+.ui.divided.items > .item {
+ border-top: @dividedBorder;
+ margin: @dividedMargin;
+ padding: @dividedPadding;
+}
+.ui.divided.items > .item:first-child {
+ border-top: none;
+ margin-top: @dividedFirstLastMargin !important;
+ padding-top: @dividedFirstLastPadding !important;
+}
+.ui.divided.items > .item:last-child {
+ margin-bottom: @dividedFirstLastMargin !important;
+ padding-bottom: @dividedFirstLastPadding !important;
+}
+
+/* Relaxed Divided */
+.ui.relaxed.divided.items > .item {
+ margin: 0em;
+ padding: @relaxedItemSpacing 0em;
+}
+.ui[class*="very relaxed"].divided.items > .item {
+ margin: 0em;
+ padding: @veryRelaxedItemSpacing 0em;
+}
+
+
+/*-------------------
+ Link
+--------------------*/
+
+.ui.items a.item:hover,
+.ui.link.items > .item:hover {
+ cursor: pointer;
+}
+
+.ui.items a.item:hover .content .header,
+.ui.link.items > .item:hover .content .header {
+ color: @headerLinkHoverColor;
+}
+
+
+/*--------------
+ Size
+---------------*/
+
+.ui.items > .item {
+ font-size: @medium;
+}
+
+.loadUIOverrides();
diff --git a/src/semantic/src/definitions/views/statistic.less b/src/semantic/src/definitions/views/statistic.less
new file mode 100755
index 0000000..e345c45
--- /dev/null
+++ b/src/semantic/src/definitions/views/statistic.less
@@ -0,0 +1,557 @@
+/*!
+ * # Semantic UI - Statistic
+ * http://github.com/semantic-org/semantic-ui/
+ *
+ *
+ * Released under the MIT license
+ * http://opensource.org/licenses/MIT
+ *
+ */
+
+/*******************************
+ Theme
+*******************************/
+
+@type : 'view';
+@element : 'statistic';
+
+@import (multiple) '../../theme.config';
+
+/*******************************
+ Statistic
+*******************************/
+
+/* Standalone */
+.ui.statistic {
+ display: inline-flex;
+ flex-direction: column;
+ margin: @margin;
+ max-width: @maxWidth;
+}
+
+.ui.statistic + .ui.statistic {
+ margin: 0em 0em 0em @horizontalSpacing;
+}
+
+.ui.statistic:first-child {
+ margin-top: 0em;
+}
+.ui.statistic:last-child {
+ margin-bottom: 0em;
+}
+
+
+
+/*******************************
+ Group
+*******************************/
+
+/* Grouped */
+.ui.statistics {
+ display: flex;
+ align-items: flex-start;
+ flex-wrap: wrap;
+}
+.ui.statistics > .statistic {
+ display: inline-flex;
+ flex: 0 1 auto;
+ flex-direction: column;
+ margin: @elementMargin;
+ max-width: @elementMaxWidth;
+}
+.ui.statistics {
+ display: flex;
+ margin: @groupMargin;
+}
+
+/* Clearing */
+.ui.statistics:after {
+ display: block;
+ content: ' ';
+ height: 0px;
+ clear: both;
+ overflow: hidden;
+ visibility: hidden;
+}
+
+.ui.statistics:first-child {
+ margin-top: 0em;
+}
+.ui.statistics:last-child {
+ margin-bottom: 0em;
+}
+
+
+/*******************************
+ Content
+*******************************/
+
+
+/*--------------
+ Value
+---------------*/
+
+.ui.statistics .statistic > .value,
+.ui.statistic > .value {
+ font-family: @valueFont;
+ font-size: @valueSize;
+ font-weight: @valueFontWeight;
+ line-height: @valueLineHeight;
+ color: @valueColor;
+ text-transform: @valueTextTransform;
+ text-align: @textAlign;
+}
+
+/*--------------
+ Label
+---------------*/
+
+.ui.statistics .statistic > .label,
+.ui.statistic > .label {
+ font-family: @labelFont;
+ font-size: @labelSize;
+ font-weight: @labelFontWeight;
+ color: @labelColor;
+ text-transform: @labelTextTransform;
+ text-align: @textAlign;
+}
+
+/* Top Label */
+.ui.statistics .statistic > .label ~ .value,
+.ui.statistic > .label ~ .value {
+ margin-top: @topLabelDistance;
+}
+
+/* Bottom Label */
+.ui.statistics .statistic > .value ~ .label,
+.ui.statistic > .value ~ .label {
+ margin-top: @bottomLabelDistance;
+}
+
+
+
+/*******************************
+ Types
+*******************************/
+
+/*--------------
+ Icon Value
+---------------*/
+
+.ui.statistics .statistic > .value .icon,
+.ui.statistic > .value .icon {
+ opacity: 1;
+ width: auto;
+ margin: 0em;
+}
+
+/*--------------
+ Text Value
+---------------*/
+
+.ui.statistics .statistic > .text.value,
+.ui.statistic > .text.value {
+ line-height: @textValueLineHeight;
+ min-height: @textValueMinHeight;
+ font-weight: @textValueFontWeight;
+ text-align: center;
+}
+.ui.statistics .statistic > .text.value + .label,
+.ui.statistic > .text.value + .label {
+ text-align: center;
+}
+
+/*--------------
+ Image Value
+---------------*/
+
+.ui.statistics .statistic > .value img,
+.ui.statistic > .value img {
+ max-height: @imageHeight;
+ vertical-align: @imageVerticalAlign;
+}
+
+
+
+/*******************************
+ Variations
+*******************************/
+
+
+/*--------------
+ Count
+---------------*/
+
+
+.ui.ten.statistics {
+ margin: @itemGroupMargin;
+}
+.ui.ten.statistics .statistic {
+ min-width: @tenColumn;
+ margin: @itemMargin;
+}
+
+.ui.nine.statistics {
+ margin: @itemGroupMargin;
+}
+.ui.nine.statistics .statistic {
+ min-width: @nineColumn;
+ margin: @itemMargin;
+}
+
+.ui.eight.statistics {
+ margin: @itemGroupMargin;
+}
+.ui.eight.statistics .statistic {
+ min-width: @eightColumn;
+ margin: @itemMargin;
+}
+
+.ui.seven.statistics {
+ margin: @itemGroupMargin;
+}
+.ui.seven.statistics .statistic {
+ min-width: @sevenColumn;
+ margin: @itemMargin;
+}
+
+.ui.six.statistics {
+ margin: @itemGroupMargin;
+}
+.ui.six.statistics .statistic {
+ min-width: @sixColumn;
+ margin: @itemMargin;
+}
+
+.ui.five.statistics {
+ margin: @itemGroupMargin;
+}
+.ui.five.statistics .statistic {
+ min-width: @fiveColumn;
+ margin: @itemMargin;
+}
+
+.ui.four.statistics {
+ margin: @itemGroupMargin;
+}
+.ui.four.statistics .statistic {
+ min-width: @fourColumn;
+ margin: @itemMargin;
+}
+
+.ui.three.statistics {
+ margin: @itemGroupMargin;
+}
+.ui.three.statistics .statistic {
+ min-width: @threeColumn;
+ margin: @itemMargin;
+}
+
+.ui.two.statistics {
+ margin: @itemGroupMargin;
+}
+.ui.two.statistics .statistic {
+ min-width: @twoColumn;
+ margin: @itemMargin;
+}
+
+.ui.one.statistics {
+ margin: @itemGroupMargin;
+}
+.ui.one.statistics .statistic {
+ min-width: @oneColumn;
+ margin: @itemMargin;
+}
+
+
+
+
+/*--------------
+ Horizontal
+---------------*/
+
+.ui.horizontal.statistic {
+ flex-direction: row;
+ align-items: center;
+}
+.ui.horizontal.statistics {
+ flex-direction: column;
+ margin: 0em;
+ max-width: none;
+}
+.ui.horizontal.statistics .statistic {
+ flex-direction: row;
+ align-items: center;
+ max-width: none;
+ margin: @horizontalGroupElementMargin;
+}
+
+.ui.horizontal.statistic > .text.value,
+.ui.horizontal.statistics > .statistic > .text.value {
+ min-height: 0em !important;
+}
+.ui.horizontal.statistics .statistic > .value .icon,
+.ui.horizontal.statistic > .value .icon {
+ width: @iconWidth;
+}
+
+.ui.horizontal.statistics .statistic > .value,
+.ui.horizontal.statistic > .value {
+ display: inline-block;
+ vertical-align: middle;
+}
+.ui.horizontal.statistics .statistic > .label,
+.ui.horizontal.statistic > .label {
+ display: inline-block;
+ vertical-align: middle;
+ margin: 0em 0em 0em @horizontalLabelDistance;
+}
+
+/*--------------
+ Colors
+---------------*/
+
+.ui.red.statistics .statistic > .value,
+.ui.statistics .red.statistic > .value,
+.ui.red.statistic > .value {
+ color: @red;
+}
+.ui.orange.statistics .statistic > .value,
+.ui.statistics .orange.statistic > .value,
+.ui.orange.statistic > .value {
+ color: @orange;
+}
+.ui.yellow.statistics .statistic > .value,
+.ui.statistics .yellow.statistic > .value,
+.ui.yellow.statistic > .value {
+ color: @yellow;
+}
+.ui.olive.statistics .statistic > .value,
+.ui.statistics .olive.statistic > .value,
+.ui.olive.statistic > .value {
+ color: @olive;
+}
+.ui.green.statistics .statistic > .value,
+.ui.statistics .green.statistic > .value,
+.ui.green.statistic > .value {
+ color: @green;
+}
+.ui.teal.statistics .statistic > .value,
+.ui.statistics .teal.statistic > .value,
+.ui.teal.statistic > .value {
+ color: @teal;
+}
+.ui.blue.statistics .statistic > .value,
+.ui.statistics .blue.statistic > .value,
+.ui.blue.statistic > .value {
+ color: @blue;
+}
+.ui.violet.statistics .statistic > .value,
+.ui.statistics .violet.statistic > .value,
+.ui.violet.statistic > .value {
+ color: @violet;
+}
+.ui.purple.statistics .statistic > .value,
+.ui.statistics .purple.statistic > .value,
+.ui.purple.statistic > .value {
+ color: @purple;
+}
+.ui.pink.statistics .statistic > .value,
+.ui.statistics .pink.statistic > .value,
+.ui.pink.statistic > .value {
+ color: @pink;
+}
+.ui.brown.statistics .statistic > .value,
+.ui.statistics .brown.statistic > .value,
+.ui.brown.statistic > .value {
+ color: @brown;
+}
+.ui.grey.statistics .statistic > .value,
+.ui.statistics .grey.statistic > .value,
+.ui.grey.statistic > .value {
+ color: @grey;
+}
+
+/*--------------
+ Inverted
+---------------*/
+
+.ui.inverted.statistics .statistic > .value,
+.ui.inverted.statistic .value {
+ color: @invertedValueColor;
+}
+.ui.inverted.statistics .statistic > .label,
+.ui.inverted.statistic .label {
+ color: @invertedLabelColor;
+}
+
+.ui.inverted.red.statistics .statistic > .value,
+.ui.statistics .inverted.red.statistic > .value,
+.ui.inverted.red.statistic > .value {
+ color: @lightRed;
+}
+.ui.inverted.orange.statistics .statistic > .value,
+.ui.statistics .inverted.orange.statistic > .value,
+.ui.inverted.orange.statistic > .value {
+ color: @lightOrange;
+}
+.ui.inverted.yellow.statistics .statistic > .value,
+.ui.statistics .inverted.yellow.statistic > .value,
+.ui.inverted.yellow.statistic > .value {
+ color: @lightYellow;
+}
+.ui.inverted.olive.statistics .statistic > .value,
+.ui.statistics .inverted.olive.statistic > .value,
+.ui.inverted.olive.statistic > .value {
+ color: @lightOlive;
+}
+.ui.inverted.green.statistics .statistic > .value,
+.ui.statistics .inverted.green.statistic > .value,
+.ui.inverted.green.statistic > .value {
+ color: @lightGreen;
+}
+.ui.inverted.teal.statistics .statistic > .value,
+.ui.statistics .inverted.teal.statistic > .value,
+.ui.inverted.teal.statistic > .value {
+ color: @lightTeal;
+}
+.ui.inverted.blue.statistics .statistic > .value,
+.ui.statistics .inverted.blue.statistic > .value,
+.ui.inverted.blue.statistic > .value {
+ color: @lightBlue;
+}
+.ui.inverted.violet.statistics .statistic > .value,
+.ui.statistics .inverted.violet.statistic > .value,
+.ui.inverted.violet.statistic > .value {
+ color: @lightViolet;
+}
+.ui.inverted.purple.statistics .statistic > .value,
+.ui.statistics .inverted.purple.statistic > .value,
+.ui.inverted.purple.statistic > .value {
+ color: @lightPurple;
+}
+.ui.inverted.pink.statistics .statistic > .value,
+.ui.statistics .inverted.pink.statistic > .value,
+.ui.inverted.pink.statistic > .value {
+ color: @lightPink;
+}
+.ui.inverted.brown.statistics .statistic > .value,
+.ui.statistics .inverted.brown.statistic > .value,
+.ui.inverted.brown.statistic > .value {
+ color: @lightBrown;
+}
+.ui.inverted.grey.statistics .statistic > .value,
+.ui.statistics .inverted.grey.statistic > .value,
+.ui.inverted.grey.statistic > .value {
+ color: @lightGrey;
+}
+
+/*--------------
+ Floated
+---------------*/
+
+.ui[class*="left floated"].statistic {
+ float: left;
+ margin: @leftFloatedMargin;
+}
+.ui[class*="right floated"].statistic {
+ float: right;
+ margin: @rightFloatedMargin;
+}
+.ui.floated.statistic:last-child {
+ margin-bottom: 0em;
+}
+
+
+/*--------------
+ Sizes
+---------------*/
+
+
+/* Mini */
+.ui.mini.statistics .statistic > .value,
+.ui.mini.statistic > .value {
+ font-size: @miniValueSize !important;
+}
+.ui.mini.horizontal.statistics .statistic > .value,
+.ui.mini.horizontal.statistic > .value {
+ font-size: @miniHorizontalValueSize !important;
+}
+.ui.mini.statistics .statistic > .text.value,
+.ui.mini.statistic > .text.value {
+ font-size: @miniTextValueSize !important;
+}
+
+
+/* Tiny */
+.ui.tiny.statistics .statistic > .value,
+.ui.tiny.statistic > .value {
+ font-size: @tinyValueSize !important;
+}
+.ui.tiny.horizontal.statistics .statistic > .value,
+.ui.tiny.horizontal.statistic > .value {
+ font-size: @tinyHorizontalValueSize !important;
+}
+.ui.tiny.statistics .statistic > .text.value,
+.ui.tiny.statistic > .text.value {
+ font-size: @tinyTextValueSize !important;
+}
+
+/* Small */
+.ui.small.statistics .statistic > .value,
+.ui.small.statistic > .value {
+ font-size: @smallValueSize !important;
+}
+.ui.small.horizontal.statistics .statistic > .value,
+.ui.small.horizontal.statistic > .value {
+ font-size: @smallHorizontalValueSize !important;
+}
+.ui.small.statistics .statistic > .text.value,
+.ui.small.statistic > .text.value {
+ font-size: @smallTextValueSize !important;
+}
+
+/* Medium */
+.ui.statistics .statistic > .value,
+.ui.statistic > .value {
+ font-size: @valueSize !important;
+}
+.ui.horizontal.statistics .statistic > .value,
+.ui.horizontal.statistic > .value {
+ font-size: @horizontalValueSize !important;
+}
+.ui.statistics .statistic > .text.value,
+.ui.statistic > .text.value {
+ font-size: @textValueSize !important;
+}
+
+/* Large */
+.ui.large.statistics .statistic > .value,
+.ui.large.statistic > .value {
+ font-size: @largeValueSize !important;
+}
+.ui.large.horizontal.statistics .statistic > .value,
+.ui.large.horizontal.statistic > .value {
+ font-size: @largeHorizontalValueSize !important;
+}
+.ui.large.statistics .statistic > .text.value,
+.ui.large.statistic > .text.value {
+ font-size: @largeTextValueSize !important;
+}
+
+/* Huge */
+.ui.huge.statistics .statistic > .value,
+.ui.huge.statistic > .value {
+ font-size: @hugeValueSize !important;
+}
+.ui.huge.horizontal.statistics .statistic > .value,
+.ui.huge.horizontal.statistic > .value {
+ font-size: @hugeHorizontalValueSize !important;
+}
+.ui.huge.statistics .statistic > .text.value,
+.ui.huge.statistic > .text.value {
+ font-size: @hugeTextValueSize !important;
+}
+
+
+.loadUIOverrides();
diff --git a/src/semantic/src/semantic.less b/src/semantic/src/semantic.less
new file mode 100644
index 0000000..c646474
--- /dev/null
+++ b/src/semantic/src/semantic.less
@@ -0,0 +1,66 @@
+/*
+
+███████╗███████╗███╗ ███╗ █████╗ ███╗ ██╗████████╗██╗ ██████╗ ██╗ ██╗██╗
+██╔════╝██╔════╝████╗ ████║██╔══██╗████╗ ██║╚══██╔══╝██║██╔════╝ ██║ ██║██║
+███████╗█████╗ ██╔████╔██║███████║██╔██╗ ██║ ██║ ██║██║ ██║ ██║██║
+╚════██║██╔══╝ ██║╚██╔╝██║██╔══██║██║╚██╗██║ ██║ ██║██║ ██║ ██║██║
+███████║███████╗██║ ╚═╝ ██║██║ ██║██║ ╚████║ ██║ ██║╚██████╗ ╚██████╔╝██║
+╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝
+
+ Import this file into your LESS project to use Semantic UI without build tools
+*/
+
+/* Global */
+& { @import "definitions/globals/reset"; }
+& { @import "definitions/globals/site"; }
+
+/* Elements */
+& { @import "definitions/elements/button"; }
+& { @import "definitions/elements/container"; }
+& { @import "definitions/elements/divider"; }
+& { @import "definitions/elements/flag"; }
+& { @import "definitions/elements/header"; }
+& { @import "definitions/elements/icon"; }
+& { @import "definitions/elements/image"; }
+& { @import "definitions/elements/input"; }
+& { @import "definitions/elements/label"; }
+& { @import "definitions/elements/list"; }
+& { @import "definitions/elements/loader"; }
+& { @import "definitions/elements/rail"; }
+& { @import "definitions/elements/reveal"; }
+& { @import "definitions/elements/segment"; }
+& { @import "definitions/elements/step"; }
+
+/* Collections */
+& { @import "definitions/collections/breadcrumb"; }
+& { @import "definitions/collections/form"; }
+& { @import "definitions/collections/grid"; }
+& { @import "definitions/collections/menu"; }
+& { @import "definitions/collections/message"; }
+& { @import "definitions/collections/table"; }
+
+/* Views */
+& { @import "definitions/views/ad"; }
+& { @import "definitions/views/card"; }
+& { @import "definitions/views/comment"; }
+& { @import "definitions/views/feed"; }
+& { @import "definitions/views/item"; }
+& { @import "definitions/views/statistic"; }
+
+/* Modules */
+& { @import "definitions/modules/accordion"; }
+& { @import "definitions/modules/checkbox"; }
+& { @import "definitions/modules/dimmer"; }
+& { @import "definitions/modules/dropdown"; }
+& { @import "definitions/modules/embed"; }
+& { @import "definitions/modules/modal"; }
+& { @import "definitions/modules/nag"; }
+& { @import "definitions/modules/popup"; }
+& { @import "definitions/modules/progress"; }
+& { @import "definitions/modules/rating"; }
+& { @import "definitions/modules/search"; }
+& { @import "definitions/modules/shape"; }
+& { @import "definitions/modules/sidebar"; }
+& { @import "definitions/modules/sticky"; }
+& { @import "definitions/modules/tab"; }
+& { @import "definitions/modules/transition"; }
diff --git a/src/semantic/src/site/collections/breadcrumb.overrides b/src/semantic/src/site/collections/breadcrumb.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/collections/breadcrumb.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/collections/breadcrumb.variables b/src/semantic/src/site/collections/breadcrumb.variables
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/collections/breadcrumb.variables
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/collections/form.overrides b/src/semantic/src/site/collections/form.overrides
new file mode 100644
index 0000000..3a79834
--- /dev/null
+++ b/src/semantic/src/site/collections/form.overrides
@@ -0,0 +1,16 @@
+/*******************************
+ Site Overrides
+*******************************/
+
+.orders-search {
+ display: flex;
+}
+.orders-search .button , .orders-search .dropdown{
+ margin: 0 0 0 4px;
+}
+.ui.form.orders-search .search-input {
+ margin: auto;
+}
+.ui.form.orders-search .action.input:not([class*="left action"])>input {
+ border-radius: 3px!important;
+}
diff --git a/src/semantic/src/site/collections/form.variables b/src/semantic/src/site/collections/form.variables
new file mode 100644
index 0000000..40ba3d9
--- /dev/null
+++ b/src/semantic/src/site/collections/form.variables
@@ -0,0 +1,44 @@
+/*******************************
+ User Variable Overrides
+*******************************/
+
+
+/* Input */
+@inputFont: @pageFont;
+@inputWidth: 100%;
+@inputFontSize: 1em;
+@inputPadding: (@inputVerticalPadding + ((1em - @inputLineHeight) / 2)) @inputHorizontalPadding;
+@inputBorder: solid 2px rgba(255, 255, 255, 0);
+@inputBorderRadius: @absoluteBorderRadius;
+@inputColor: @textColor;
+@inputTransition:
+ color @defaultDuration @defaultEasing,
+ border-color @defaultDuration @defaultEasing
+;
+@inputBoxShadow: @subtleShadow;
+
+/* Select */
+@selectBackground: @white;
+@selectBorderRadius: @inputBorderRadius;
+@selectBorder: @blueBorderColor;
+@selectPadding: 0.62em @inputHorizontalPadding;
+@selectBoxShadow: @inputBoxShadow;
+@selectTransition: @inputTransition;
+@selectColor: @inputColor;
+
+/*-------------------
+ States
+--------------------*/
+
+/* Focus */
+@inputFocusPointerSize: 0px;
+
+/* Input Focus */
+@inputFocusBackground: @inputBackground;
+@inputFocusBorderColor: @focusedFormBorderColor;
+@inputFocusColor: @focusedFormBorderColor;
+@inputFocusBoxShadow: @inputFocusPointerSize 0em 0em 0em @selectedBorderColor inset;
+@inputFocusBorderRadius: @inputBorderRadius;
+
+@labelColor: @blue;
+@labelFontWeight: normal;
diff --git a/src/semantic/src/site/collections/grid.overrides b/src/semantic/src/site/collections/grid.overrides
new file mode 100644
index 0000000..e8e7cef
--- /dev/null
+++ b/src/semantic/src/site/collections/grid.overrides
@@ -0,0 +1,24 @@
+/*******************************
+ Site Overrides
+*******************************/
+.ui.grid .row.order-col {
+ max-width: 980px;
+ margin: auto;
+ margin-top: 30px;
+}
+.ui.grid .column .order-billing, .ui.grid .column .order-shipping{
+ margin-bottom: 5px;
+ padding: 10px;
+ color: #2a4872;
+}
+.order-prices {
+ float: right;
+}
+.order-prices hr {
+ border: none;
+ border-top: 4px double #2a4872;
+}
+.grid .orders-col{
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
diff --git a/src/semantic/src/site/collections/grid.variables b/src/semantic/src/site/collections/grid.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/collections/grid.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/collections/menu.overrides b/src/semantic/src/site/collections/menu.overrides
new file mode 100644
index 0000000..ba51b9e
--- /dev/null
+++ b/src/semantic/src/site/collections/menu.overrides
@@ -0,0 +1,81 @@
+/*******************************
+ Site Overrides
+*******************************/
+.ui.menu:not(.vertical) .item>.button {
+ color: #a3a8af;
+ text-decoration: underline;
+ background-color: #e9edf2;
+ font-weight: bold;
+ padding-left: 5px!important;
+}
+
+.ui.secondary.menu .active.item {
+ color: #2a4872;
+ border-radius: 16.5px!important;
+ background-color: #ffffff;
+}
+
+.ui.secondary.menu .active.item:hover {
+ color: #62676e;
+ border-radius: 16.5px!important;
+ background-color: rgba(0, 0, 0, 0.08);
+}
+
+.ui.secondary.menu a.item:hover{
+ color: #62676e;
+ border-radius: 16.5px!important;
+ background-color: rgba(0, 0, 0, 0.08);
+}
+.ui.menu.three.item .item-group a {
+ width: auto;
+ padding: 8px 15px!important;
+ margin: 0 5px!important;
+ flex:none;
+}
+.ui.menu .item:first-child {
+ justify-content: flex-start;
+ padding-left: 20px!important;
+}
+.ui.menu .item.right:last-child {
+ justify-content: flex-end;
+}
+
+.item svg {
+ margin-right: 5px;
+}
+
+.ui.menu.three.item .item {
+ width: auto;
+ flex: 1;
+}
+
+@media (max-width: 900px) {
+ .ui.secondary.item.menu {
+ flex-direction: column-reverse;
+ }
+ .ui.menu .item.right:last-child {
+ justify-content: normal;
+ margin-left: 0!important;
+ }
+ .ui.secondary.menu .item-left {
+ display: none;
+ }
+}
+
+.ui.menu .item:before {
+ background: none;
+}
+.ui.pagination.menu{
+ min-height: 20px;
+ height: 27px;
+ vertical-align: inherit;
+}
+
+.ui.pagination.menu .item {
+ color: #62676e;
+ text-transform: lowercase;
+ font-size: 13px;
+ padding: 7px!important;
+ min-width: 2px;
+ background-image: linear-gradient(to bottom, #ffffff, #f6f7f9);
+}
diff --git a/src/semantic/src/site/collections/menu.variables b/src/semantic/src/site/collections/menu.variables
new file mode 100644
index 0000000..95007a9
--- /dev/null
+++ b/src/semantic/src/site/collections/menu.variables
@@ -0,0 +1,7 @@
+/*******************************
+ User Variable Overrides
+*******************************/
+
+@secondaryBackground: @paleBlue;
+@itemTextColor: #a3a8af;
+@dropdownBackground: #FFFFFF;
diff --git a/src/semantic/src/site/collections/message.overrides b/src/semantic/src/site/collections/message.overrides
new file mode 100644
index 0000000..96091c3
--- /dev/null
+++ b/src/semantic/src/site/collections/message.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/collections/message.variables b/src/semantic/src/site/collections/message.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/collections/message.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/collections/table.overrides b/src/semantic/src/site/collections/table.overrides
new file mode 100644
index 0000000..ca939d9
--- /dev/null
+++ b/src/semantic/src/site/collections/table.overrides
@@ -0,0 +1,127 @@
+/*******************************
+ Site Overrides
+*******************************/
+
+.ui.container.outerScroll .table thead th {
+ background: #2a4872;
+ color: #d4d4d5;
+}
+.ui.celled.table tr:nth-child(odd) {
+ background-color: #ffffff;
+}
+
+.ui.container.outerScroll .table {
+ transform: rotateX(180deg);
+}
+
+.outerScroll .table .tr-clickable .ID,
+outerScroll .table .tr-clickable .Total {
+ color: #2a4872;
+ font-weight: 600;
+}
+.outerScroll .table .tr-clickable {
+ color: #62676e;
+}
+.ui.left-table , .ui.right-table{
+ border: none;
+ box-shadow: 0 2px 6px 0 rgba(42, 72, 114, 0.1), 0 6px 18px 0 rgba(42, 72, 114, 0.05);
+}
+
+ .ui.table tbody tr {
+ color: #2a4872;
+}
+ .ui.left-table td {
+ font-size: 13px;
+ padding: 16px 30px;
+}
+ .ui.left-table tr td:nth-child(2) {
+ color: #989ea9;
+}
+ .left-table tbody tr td:first-child {
+ font-size: 16px;
+}
+
+ .left-table tbody tr:first-child {
+ background-color: #2a4872;
+ color: #c1cdde;
+}
+ .left-table tbody tr:first-child td:first-child {
+ border-radius: .28571429rem 0 0 0;
+}
+ .left-table tbody tr:first-child td:last-child {
+ border-radius: 0 .28571429rem 0 0;
+}
+ .left-table tbody tr:nth-child(2) {
+ background-color: #4a6184;
+ color: #c1cdde;
+}
+ .ui.table thead th {
+ border-bottom: none;
+ color: #2a4872;
+}
+ .ui.right-table{
+ padding: 20px;
+}
+ .ui.right-table tr:first-child td {
+ border-top: 2px solid #2a4872;
+}
+ .ui.right-table td {
+ font-size: 13px;
+ border-top: 1px solid #c1cdde;
+}
+ .ui.right-table td a {
+ color: #62676e;
+}
+ .ui.left-table {
+ max-width: 600px;
+}
+ .ui.right-table {
+ max-width: 360px;
+}
+ @media only screen and (max-width: 767px){
+
+ .left-table tbody tr:first-child, .right-table thead tr:first-child {
+ border-radius: 10px 10px 0 0;
+ }
+ .left-header {
+ background-color: #2a4872;
+ }
+ .ui.left-table:first-child {
+ margin-top: 80px;
+ }
+ .ui.right-table {
+ border-radius: 10px;
+ }
+ .ui.right-table, .ui.left-table {
+ max-width:100%;
+ }
+}
+ @media (max-width:900px) and (min-width:767px){
+ ui.left-table:first-child, .ui.right-table:first-child {
+ margin-top: 80px;
+ }
+ .ui.celled.table tr th {
+ border-left: 0;
+ }
+
+ .ui.celled.table tr:nth-child(odd) {
+ background-color: #ffffff;
+ }
+
+ .ui.celled.table tr td{
+ border-left: 0;
+ }
+
+ .outerScroll .table{
+ transform: rotateX(180deg);
+ }
+
+ .outerScroll .table .tr-clickable .ID, outerScroll .table .tr-clickable .Total{
+ color: #2a4872;
+ font-weight: 600;
+ }
+
+ .outerScroll .table .tr-clickable {
+ color: #62676e;
+ }
+ }
diff --git a/src/semantic/src/site/collections/table.variables b/src/semantic/src/site/collections/table.variables
new file mode 100644
index 0000000..e20712e
--- /dev/null
+++ b/src/semantic/src/site/collections/table.variables
@@ -0,0 +1,14 @@
+/*******************************
+ User Variable Overrides
+*******************************/
+.ui.basic.table {
+ margin-top: 27px;
+}
+
+.ui.basic.table tbody tr {
+ background: red;
+}
+.ui.basic.table tbody tr:first-child {
+ background-color: lime;
+ font-size: 14px;
+}
\ No newline at end of file
diff --git a/src/semantic/src/site/elements/button.overrides b/src/semantic/src/site/elements/button.overrides
new file mode 100644
index 0000000..e4a2f49
--- /dev/null
+++ b/src/semantic/src/site/elements/button.overrides
@@ -0,0 +1,42 @@
+/*******************************
+ Site Overrides
+*******************************/
+
+.ui.secondary.button, .ui.secondary.buttons .button {
+ font-weight: normal;
+ color: #2A4872;
+ background-image: linear-gradient(to bottom, #FFFFFF, #F6F7F9);
+ box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.05), 0 1px 3px 0 rgba(0, 0, 0, 0.15);
+}
+.ui.secondary.button:focus, .ui.secondary.buttons .button:focus {
+ background-image :none;
+ background-color: #D1D4D9;
+ color: #2A4872;
+
+}
+.ui.secondary.button:hover, .ui.secondary.buttons .button:hover {
+ background-image :none;
+ background-color: #D1D4D9;
+ color: #2A4872;
+ text-shadow: none;
+}
+.orders-col .button {
+ padding: 7px;
+ min-height: 20px;
+ height: 27px;
+ color: #2a4872;
+ font-size: 13px;
+ background-image: linear-gradient(to bottom,#fff,#f6f7f9);
+ border: 1px solid rgba(34,36,38,.15);
+ box-shadow: 0 2px 6px 0 rgba(42,72,114,.05), 0 1px 3px 0 rgba(42,72,114,.1);
+}
+
+.orders-col .button .dropdown:first-child{
+ float: right;
+ text-align: right;
+}
+
+.ui.negative.button {
+ background-image: linear-gradient(to bottom,#ff4e4e,#db2828);
+}
+
diff --git a/src/semantic/src/site/elements/button.variables b/src/semantic/src/site/elements/button.variables
new file mode 100644
index 0000000..7aa7b9b
--- /dev/null
+++ b/src/semantic/src/site/elements/button.variables
@@ -0,0 +1,33 @@
+/*******************************
+ User Variable Overrides
+*******************************/
+
+@submitPrimary: @blue;
+@medium: auto;
+@fontWeight: normal;
+@textColor: @blue;
+
+ @coloredBackgroundImage: linear-gradient(to bottom, #2872ee, #0b50c3);
+
+/* Ordinality */
+@primaryBackgroundImage: @coloredBackgroundImage;
+@secondaryBackgroundImage: @coloredBackgroundImage;
+
+/*-------------------
+ States
+--------------------*/
+
+/* Hovered */
+@hoverBackgroundColor: #D1D4D9;
+@hoverBackgroundImage: @backgroundImage;
+@hoverBoxShadow: @boxShadow;
+@hoverColor: @hoveredTextColor;
+@iconHoverOpacity: 0.85;
+
+/* Focused */
+@focusBackgroundColor: @hoverBackgroundColor;
+@focusBackgroundImage: '';
+@focusBoxShadow: '';
+@focusColor: @hoveredTextColor;
+@iconFocusOpacity: 0.85;
+
diff --git a/src/semantic/src/site/elements/container.overrides b/src/semantic/src/site/elements/container.overrides
new file mode 100644
index 0000000..4f96219
--- /dev/null
+++ b/src/semantic/src/site/elements/container.overrides
@@ -0,0 +1,7 @@
+/*******************************
+ Site Overrides
+*******************************/
+.ui.container.outerScroll {
+ overflow-x: auto;
+ transform: rotateX(180deg);
+}
diff --git a/src/semantic/src/site/elements/container.variables b/src/semantic/src/site/elements/container.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/container.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/divider.overrides b/src/semantic/src/site/elements/divider.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/elements/divider.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/divider.variables b/src/semantic/src/site/elements/divider.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/divider.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/flag.overrides b/src/semantic/src/site/elements/flag.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/elements/flag.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/flag.variables b/src/semantic/src/site/elements/flag.variables
new file mode 100644
index 0000000..e3e125d
--- /dev/null
+++ b/src/semantic/src/site/elements/flag.variables
@@ -0,0 +1,3 @@
+/*-------------------
+ Flag Variables
+--------------------*/
diff --git a/src/semantic/src/site/elements/header.overrides b/src/semantic/src/site/elements/header.overrides
new file mode 100644
index 0000000..12cbfea
--- /dev/null
+++ b/src/semantic/src/site/elements/header.overrides
@@ -0,0 +1,39 @@
+/*******************************
+ Site Overrides
+*******************************/
+.order-col .ui.attached.header{
+ background-color: #2a4872;
+ display: flex;
+ justify-content: space-between;
+ padding: 22px 35px;
+}
+.order-col .sub.header p{
+ color: #c1cdde;
+ font-weight: normal;
+ font-size: 13px;
+}
+.order-col .order-billing h3, .order-col .order-shipping h3{
+ font-weight: bold;
+}
+.order-col .sub.header:first-child{
+ color: #ffffff;
+ font-weight: bold;
+ font-size: 16px;
+}
+.order-col .sub.header:nth-child(2){
+ text-align: right;
+ font-size: 13px;
+ color: #ffffff;
+}
+.sub.header.billing-status:nth-child(2), .sub.header.shipping-status:nth-child(2){
+ color: #62676e;
+ text-align: left;
+}
+.order-col .sub.header.billing-status-paid:nth-child(2), .order-col .sub.header.shipping-status-shipped:nth-child(2){
+ color: #2abc2e;
+ text-align: left;
+}
+.sub.header.billing-status-paid svg, .sub.header.shipping-status-shipped svg{
+ vertical-align: text-bottom;
+}
+
diff --git a/src/semantic/src/site/elements/header.variables b/src/semantic/src/site/elements/header.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/header.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/icon.overrides b/src/semantic/src/site/elements/icon.overrides
new file mode 100644
index 0000000..3feea4d
--- /dev/null
+++ b/src/semantic/src/site/elements/icon.overrides
@@ -0,0 +1,4 @@
+/*******************************
+ Site Overrides
+*******************************/
+
diff --git a/src/semantic/src/site/elements/icon.variables b/src/semantic/src/site/elements/icon.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/icon.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/image.overrides b/src/semantic/src/site/elements/image.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/elements/image.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/image.variables b/src/semantic/src/site/elements/image.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/image.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/input.overrides b/src/semantic/src/site/elements/input.overrides
new file mode 100644
index 0000000..e69de29
diff --git a/src/semantic/src/site/elements/input.variables b/src/semantic/src/site/elements/input.variables
new file mode 100644
index 0000000..9a412d4
--- /dev/null
+++ b/src/semantic/src/site/elements/input.variables
@@ -0,0 +1,31 @@
+/*******************************
+ User Variable Overrides
+*******************************/
+
+
+/*-------------------
+ Element
+--------------------*/
+
+@inputFont: @pageFont;
+@verticalPadding: @inputVerticalPadding;
+@horizontalPadding: @inputHorizontalPadding;
+
+@lineHeight: @inputLineHeight;
+@lineHeightOffset: ((@lineHeight - 1em) / 2);
+
+@padding: (@verticalPadding - @lineHeightOffset) @horizontalPadding;
+
+@textAlign: left;
+@background: @inputBackground;
+@borderWidth: 1px;
+@border: solid;
+@boxShadow: @subtleShadow;
+
+
+/* Focus */
+@focusBorderColor: @focusedFormBorderColor;
+@focusBackground: @background;
+@focusColor: @hoveredTextColor;
+@focusBoxShadow: @subtleShadow;
+
diff --git a/src/semantic/src/site/elements/label.overrides b/src/semantic/src/site/elements/label.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/elements/label.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/label.variables b/src/semantic/src/site/elements/label.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/label.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/list.overrides b/src/semantic/src/site/elements/list.overrides
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/list.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/list.variables b/src/semantic/src/site/elements/list.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/list.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/loader.overrides b/src/semantic/src/site/elements/loader.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/elements/loader.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/loader.variables b/src/semantic/src/site/elements/loader.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/loader.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/rail.overrides b/src/semantic/src/site/elements/rail.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/elements/rail.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/rail.variables b/src/semantic/src/site/elements/rail.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/rail.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/reveal.overrides b/src/semantic/src/site/elements/reveal.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/elements/reveal.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/reveal.variables b/src/semantic/src/site/elements/reveal.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/reveal.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/segment.overrides b/src/semantic/src/site/elements/segment.overrides
new file mode 100644
index 0000000..52bab6c
--- /dev/null
+++ b/src/semantic/src/site/elements/segment.overrides
@@ -0,0 +1,80 @@
+/*******************************
+ Site Overrides
+*******************************/
+.segment .ui.horizontal.list {
+ float:right;
+}
+
+.ui.segment.order-item {
+ padding: 16px 21px;
+}
+.ui.segment.order-item .header {
+ color: #2a4872;
+}
+.order-item {
+ display: flex;
+}
+.order-item .sub.header p {
+ color: #62676e;
+}
+.order-item .ui.header {
+ margin-top:0;
+ flex-grow: 1;
+}
+.order-item .item-quantity {
+ width: 30px;
+ color: #a3a8af;
+}
+.ui.segment .order-prices {
+ width: 175px;
+}
+.ui.segment .order-prices h3 {
+ text-align: right;
+ color: #2a4872;
+}
+.ui.segment .order-prices p{
+ text-align: left;
+ display: inline-block;
+}
+.item-type p{
+ float: left;
+ margin-right: 30px;
+ color: #62676e;
+}
+.ui.segment p.price-detail{
+ font-size: 13px;
+ width:100px;
+ min-width: 100px;
+ color: #62676e;
+}
+.ui.segment p.price-detail + p{
+ font-size: 13px;
+ float: right;
+ color: #2a4872;
+}
+.ui.segment .price-total {
+ text-align: right;
+ font-size: 13px;
+ color: #62676e;
+}
+.ui.segment .price-total p {
+ margin-bottom: 0;
+}
+.customers .ui.segment {
+ padding: 0;
+}
+.customers .ui.basic.segment .small-button{
+ margin-right:8px;
+ min-height: 20px;
+ height: 27px;
+ padding: 0 10px;
+ box-shadow: 0 2px 6px 0 rgba(92, 101, 115, 0.1), 0 1px 3px 0 rgba(92, 101, 115, 0.3);
+}
+.customers .ui.basic.segment .small-button.delete {
+ color: #5f1e1e;
+ background-image: linear-gradient(to bottom, #fff1f1, #ffe6e6);
+}
+.customers .ui.basic.segment .small-button.download {
+ color: #5f531e;
+ background-image: linear-gradient(to bottom, #fffdf1, #fffae6);
+}
diff --git a/src/semantic/src/site/elements/segment.variables b/src/semantic/src/site/elements/segment.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/segment.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/step.overrides b/src/semantic/src/site/elements/step.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/elements/step.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/elements/step.variables b/src/semantic/src/site/elements/step.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/elements/step.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/globals/reset.overrides b/src/semantic/src/site/globals/reset.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/globals/reset.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/globals/reset.variables b/src/semantic/src/site/globals/reset.variables
new file mode 100644
index 0000000..cd95544
--- /dev/null
+++ b/src/semantic/src/site/globals/reset.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Global Variables
+*******************************/
diff --git a/src/semantic/src/site/globals/site.overrides b/src/semantic/src/site/globals/site.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/globals/site.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/globals/site.variables b/src/semantic/src/site/globals/site.variables
new file mode 100644
index 0000000..62cb361
--- /dev/null
+++ b/src/semantic/src/site/globals/site.variables
@@ -0,0 +1,81 @@
+/*******************************
+ User Global Variables
+*******************************/
+
+
+/*-------------------
+ Brand Colors
+--------------------*/
+
+@primaryColor : #1667D6;
+@secondaryColor : #ffffff;
+
+@lightPrimaryColor : @lightBlue;
+@lightSecondaryColor : @lightBlack;
+
+
+/*-------------------
+ Site Colors
+--------------------*/
+
+/*--- Colors ---*/
+@blue : #2A4872;
+@black : #62676E;
+@grey : #A3A8AF;
+
+/*--- Light Colors ---*/
+@lightBlue : #1667D6;
+@lightGrey : #DCDDDE;
+@paleBlue : #E9EDF2;
+
+/*--- Neutrals ---*/
+@fullBlack : #000000;
+@white : #FAFAFA;
+
+/*--- Colored Backgrounds ---*/
+@lightBlueBackground : @paleBlue;
+@lightGrayBackground : @white;
+
+
+/*--- Colored Border ---*/
+@blueBorderColor : @blue;
+
+/*-------------------
+ Focused Input
+--------------------*/
+
+/* Used on inputs, textarea etc */
+@focusedFormBorderColor: @lightBlue;
+
+/*-------------------
+ Alpha Colors
+--------------------*/
+
+@subtleTransparentBlack : rgba(0, 0, 0, 0.03);
+@transparentBlack : rgba(0, 0, 0, 0.05);
+@strongTransparentBlack : rgba(0, 0, 0, 0.10);
+@veryStrongTransparentBlack : rgba(0, 0, 0, 0.15);
+
+
+@subtleTransparentWhite : rgba(255, 255, 255, 0.02);
+@transparentWhite : rgba(255, 255, 255, 0.08);
+@strongTransparentWhite : rgba(255, 255, 255, 0.15);
+
+/*-------------------
+ Accents
+--------------------*/
+
+/* Differentiating Neutrals */
+@blueGradient : linear-gradient(to bottom, #2872ee, #0b50c3);
+@subtleGradient : linear-gradient(transparent, @transparentBlack);
+@subtleShadow : 0 2px 6px 0 rgba(42, 72, 114, 0.05), 0 1px 3px 0 rgba(42, 72, 114, 0.1);
+@primaryColorGradiant : linear-gradient(to bottom, #2872ee, #0b50c3);
+@secondaryColorGradiant : linear-gradient(to bottom, #ffffff, #f6f7f9);
+@pageBackgroundGradiant : linear-gradient(to bottom, #ffffff, #e9edf2);
+
+
+/*-------------------
+ Page
+--------------------*/
+@pageBackground : @paleBlue;
+@headerFontWeight : normal;
diff --git a/src/semantic/src/site/modules/accordion.overrides b/src/semantic/src/site/modules/accordion.overrides
new file mode 100644
index 0000000..660e664
--- /dev/null
+++ b/src/semantic/src/site/modules/accordion.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/accordion.variables b/src/semantic/src/site/modules/accordion.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/modules/accordion.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/chatroom.overrides b/src/semantic/src/site/modules/chatroom.overrides
new file mode 100644
index 0000000..660e664
--- /dev/null
+++ b/src/semantic/src/site/modules/chatroom.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/chatroom.variables b/src/semantic/src/site/modules/chatroom.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/modules/chatroom.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/checkbox.overrides b/src/semantic/src/site/modules/checkbox.overrides
new file mode 100644
index 0000000..50abd1f
--- /dev/null
+++ b/src/semantic/src/site/modules/checkbox.overrides
@@ -0,0 +1,12 @@
+/*******************************
+ Site Overrides
+*******************************/
+.ui.checkbox .box:before, .ui.checkbox label:before {
+ box-shadow: inset 0px 0.5px 0.5px 0px rgba(0, 0, 0, 0.38);
+}
+.ui.checkbox input:checked~.box:after, .ui.checkbox input:checked~label:after {
+ opacity: 1;
+ color: #ffffff;
+ background: #3b99fc;
+ border-radius: 3px;
+}
diff --git a/src/semantic/src/site/modules/checkbox.variables b/src/semantic/src/site/modules/checkbox.variables
new file mode 100644
index 0000000..b71915e
--- /dev/null
+++ b/src/semantic/src/site/modules/checkbox.variables
@@ -0,0 +1,17 @@
+/*******************************
+ User Variable Overrides
+*******************************/
+
+@checkboxSize: 14px;
+@labelDistance: 20px;
+
+/* Label */
+@labelFontSize: 16px;
+@labelColor: @blue;
+
+@checkboxCheckFontSize: 12px;
+@checkboxBorder: solid 0.5px rgba(0, 0, 0, 0.2);
+@checkboxActiveBorderColor: #338ef4;
+@checkboxActiveBackground: #338ef4;
+@checkboxActiveCheckColor: @white;
+
diff --git a/src/semantic/src/site/modules/dimmer.overrides b/src/semantic/src/site/modules/dimmer.overrides
new file mode 100644
index 0000000..660e664
--- /dev/null
+++ b/src/semantic/src/site/modules/dimmer.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/dimmer.variables b/src/semantic/src/site/modules/dimmer.variables
new file mode 100644
index 0000000..682007f
--- /dev/null
+++ b/src/semantic/src/site/modules/dimmer.variables
@@ -0,0 +1,4 @@
+/*******************************
+ User Variable Overrides
+*******************************/
+@backgroundColor: rgba(233, 237, 242, 0.75);
diff --git a/src/semantic/src/site/modules/dropdown.overrides b/src/semantic/src/site/modules/dropdown.overrides
new file mode 100644
index 0000000..d911bed
--- /dev/null
+++ b/src/semantic/src/site/modules/dropdown.overrides
@@ -0,0 +1,18 @@
+/*******************************
+ User Overrides
+*******************************/
+
+.orders-col .selection.dropdown{
+ min-height: 20px;
+ height: 27px;
+ vertical-align: inherit;
+ border: 1px solid rgba(34,36,38,.15);
+ box-shadow: 0 2px 6px 0 rgba(42,72,114,.05), 0 1px 3px 0 rgba(42,72,114,.1);
+}
+.orders-col .dropdown:not(.button)>.default.text{
+ margin: auto;
+}
+.orders-col .dropdown .item .header{
+ color: #2a4872;
+ margin: 0 0 5px;
+}
diff --git a/src/semantic/src/site/modules/dropdown.variables b/src/semantic/src/site/modules/dropdown.variables
new file mode 100644
index 0000000..a0f324a
--- /dev/null
+++ b/src/semantic/src/site/modules/dropdown.variables
@@ -0,0 +1,7 @@
+/*******************************
+ User Variable Overrides
+*******************************/
+
+@raisedShadow: 0 20px 60px 0 rgba(69, 85, 107, 0.15), 0 3px 9px 0 rgba(69, 85, 107, 0.15);
+@menuBackground: #FFFFFF;
+@menuBoxShadow: @raisedShadow;
diff --git a/src/semantic/src/site/modules/embed.overrides b/src/semantic/src/site/modules/embed.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/modules/embed.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/embed.variables b/src/semantic/src/site/modules/embed.variables
new file mode 100644
index 0000000..e69de29
diff --git a/src/semantic/src/site/modules/modal.overrides b/src/semantic/src/site/modules/modal.overrides
new file mode 100644
index 0000000..3fd719c
--- /dev/null
+++ b/src/semantic/src/site/modules/modal.overrides
@@ -0,0 +1,56 @@
+/*******************************
+ Site Overrides
+*******************************/
+
+.ui.modal.order-modal form button{
+ width: 100%;
+}
+.ui.modal.order-modal svg {
+ float: right;
+ cursor: pointer;
+}
+.ui.modal.order-modal .header svg{
+ color: #a3a8af;
+}
+.ui.modal.item-info-modal .header svg {
+ float: right;
+ cursor: pointer;
+}
+.ui.modal.item-info-modal .header {
+ color: #ffffff;
+ font-size: 24px;
+ font-weight: 600;
+ background-color: #2a4872;
+ padding: 35px;
+}
+.ui.modal.item-info-modal .content {
+ padding: 35px;
+}
+.ui.modal.item-info-modal .segment {
+ background-color: #2a4872;
+ border: none;
+ box-shadow: none;
+ padding: 0;
+}
+.ui.modal.item-info-modal .segment p {
+ display: inline-block;
+ color: #ffffff;
+ width: 150px;
+ text-align: right;
+}
+.ui.modal.item-info-modal .segment p+p {
+ color: #c1cdde;
+ margin-left: 30px;
+ font-weight: normal;
+ text-align: left;
+ width: auto;
+}
+.ui.modal.item-info-modal .content .segment {
+ background-color: #ffffff;
+}
+.ui.modal.item-info-modal .content .segment p {
+ color: #2a4872;
+}
+.ui.modal.item-info-modal .content .segment p+p {
+ color: #62676e;
+}
diff --git a/src/semantic/src/site/modules/modal.variables b/src/semantic/src/site/modules/modal.variables
new file mode 100644
index 0000000..260c44c
--- /dev/null
+++ b/src/semantic/src/site/modules/modal.variables
@@ -0,0 +1,11 @@
+/*******************************
+ Site Overrides
+*******************************/
+@headerColor: @blue;
+
+@headerVerticalPadding: 16px;
+@headerHorizontalPadding: 30px;
+
+@smallRatio: 0.4;
+@headerBorder: none;
+@headerFontWeight: normal;
diff --git a/src/semantic/src/site/modules/nag.overrides b/src/semantic/src/site/modules/nag.overrides
new file mode 100644
index 0000000..660e664
--- /dev/null
+++ b/src/semantic/src/site/modules/nag.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/nag.variables b/src/semantic/src/site/modules/nag.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/modules/nag.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/popup.overrides b/src/semantic/src/site/modules/popup.overrides
new file mode 100644
index 0000000..660e664
--- /dev/null
+++ b/src/semantic/src/site/modules/popup.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/popup.variables b/src/semantic/src/site/modules/popup.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/modules/popup.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/progress.overrides b/src/semantic/src/site/modules/progress.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/modules/progress.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/progress.variables b/src/semantic/src/site/modules/progress.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/modules/progress.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/rating.overrides b/src/semantic/src/site/modules/rating.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/modules/rating.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/rating.variables b/src/semantic/src/site/modules/rating.variables
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/modules/rating.variables
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/search.overrides b/src/semantic/src/site/modules/search.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/modules/search.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/search.variables b/src/semantic/src/site/modules/search.variables
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/modules/search.variables
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/shape.overrides b/src/semantic/src/site/modules/shape.overrides
new file mode 100644
index 0000000..660e664
--- /dev/null
+++ b/src/semantic/src/site/modules/shape.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/shape.variables b/src/semantic/src/site/modules/shape.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/modules/shape.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/sidebar.overrides b/src/semantic/src/site/modules/sidebar.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/modules/sidebar.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/sidebar.variables b/src/semantic/src/site/modules/sidebar.variables
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/modules/sidebar.variables
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/sticky.overrides b/src/semantic/src/site/modules/sticky.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/modules/sticky.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/sticky.variables b/src/semantic/src/site/modules/sticky.variables
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/modules/sticky.variables
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/tab.overrides b/src/semantic/src/site/modules/tab.overrides
new file mode 100644
index 0000000..660e664
--- /dev/null
+++ b/src/semantic/src/site/modules/tab.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/tab.variables b/src/semantic/src/site/modules/tab.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/modules/tab.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/transition.overrides b/src/semantic/src/site/modules/transition.overrides
new file mode 100644
index 0000000..cba59ef
--- /dev/null
+++ b/src/semantic/src/site/modules/transition.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Site Overrides
+*******************************/
diff --git a/src/semantic/src/site/modules/transition.variables b/src/semantic/src/site/modules/transition.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/modules/transition.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/views/ad.overrides b/src/semantic/src/site/views/ad.overrides
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/views/ad.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/views/ad.variables b/src/semantic/src/site/views/ad.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/views/ad.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/views/card.overrides b/src/semantic/src/site/views/card.overrides
new file mode 100644
index 0000000..da72534
--- /dev/null
+++ b/src/semantic/src/site/views/card.overrides
@@ -0,0 +1,29 @@
+/*******************************
+ User Variable Overrides
+*******************************/
+
+.ui.card>.content>.header+.description {
+ margin-left: 20px;
+}
+.ui.card>.content>.description {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+.customers .ui.card .extra.content {
+ border: none!important;
+}
+.customers .ui.card .extra p:nth-child(2){
+ float: right;
+}
+.customers .ui.card .extra p:first-child{
+ float: left;
+ margin-left: 20px;
+}
+.customers .ui.card .content .header {
+ color: #2a4872;
+ margin-left: 20px;
+}
+.customers .ui.card.active {
+ background-color: #fffae8;
+}
diff --git a/src/semantic/src/site/views/card.variables b/src/semantic/src/site/views/card.variables
new file mode 100644
index 0000000..80da8c3
--- /dev/null
+++ b/src/semantic/src/site/views/card.variables
@@ -0,0 +1,10 @@
+/*******************************
+ User Variable Overrides
+*******************************/
+@descriptionColor: @grey;
+@contentFontSize: 13px;
+
+@borderRadius: 5px;
+@background: #ffffff;
+@boxShadow: 0 2px 6px 0 rgba(42, 72, 114, 0.1), 0 1px 3px 0 rgba(42, 72, 114, 0.05);
+@extraColor: @black;
\ No newline at end of file
diff --git a/src/semantic/src/site/views/comment.overrides b/src/semantic/src/site/views/comment.overrides
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/views/comment.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/views/comment.variables b/src/semantic/src/site/views/comment.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/views/comment.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/views/feed.overrides b/src/semantic/src/site/views/feed.overrides
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/views/feed.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/views/feed.variables b/src/semantic/src/site/views/feed.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/views/feed.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/views/item.overrides b/src/semantic/src/site/views/item.overrides
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/views/item.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/views/item.variables b/src/semantic/src/site/views/item.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/views/item.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/views/statistic.overrides b/src/semantic/src/site/views/statistic.overrides
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/views/statistic.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/site/views/statistic.variables b/src/semantic/src/site/views/statistic.variables
new file mode 100644
index 0000000..6f085f9
--- /dev/null
+++ b/src/semantic/src/site/views/statistic.variables
@@ -0,0 +1,3 @@
+/*******************************
+ User Variable Overrides
+*******************************/
diff --git a/src/semantic/src/theme.config b/src/semantic/src/theme.config
new file mode 100644
index 0000000..d2bc3bb
--- /dev/null
+++ b/src/semantic/src/theme.config
@@ -0,0 +1,92 @@
+/*
+
+████████╗██╗ ██╗███████╗███╗ ███╗███████╗███████╗
+╚══██╔══╝██║ ██║██╔════╝████╗ ████║██╔════╝██╔════╝
+ ██║ ███████║█████╗ ██╔████╔██║█████╗ ███████╗
+ ██║ ██╔══██║██╔══╝ ██║╚██╔╝██║██╔══╝ ╚════██║
+ ██║ ██║ ██║███████╗██║ ╚═╝ ██║███████╗███████║
+ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝
+
+*/
+
+/*******************************
+ Theme Selection
+*******************************/
+
+/* To override a theme for an individual element
+ specify theme name below
+*/
+
+/* Global */
+@site : 'default';
+@reset : 'default';
+
+/* Elements */
+@button : 'default';
+@container : 'default';
+@divider : 'default';
+@flag : 'default';
+@header : 'default';
+@icon : 'default';
+@image : 'default';
+@input : 'default';
+@label : 'default';
+@list : 'default';
+@loader : 'default';
+@rail : 'default';
+@reveal : 'default';
+@segment : 'default';
+@step : 'default';
+
+/* Collections */
+@breadcrumb : 'default';
+@form : 'default';
+@grid : 'default';
+@menu : 'default';
+@message : 'default';
+@table : 'default';
+
+/* Modules */
+@accordion : 'default';
+@checkbox : 'default';
+@dimmer : 'default';
+@dropdown : 'default';
+@embed : 'default';
+@modal : 'default';
+@nag : 'default';
+@popup : 'default';
+@progress : 'default';
+@rating : 'default';
+@search : 'default';
+@shape : 'default';
+@sidebar : 'default';
+@sticky : 'default';
+@tab : 'default';
+@transition : 'default';
+
+/* Views */
+@ad : 'default';
+@card : 'default';
+@comment : 'default';
+@feed : 'default';
+@item : 'default';
+@statistic : 'default';
+
+/*******************************
+ Folders
+*******************************/
+
+/* Path to theme packages */
+@themesFolder : 'themes';
+
+/* Path to site override folder */
+@siteFolder : 'site/';
+
+
+/*******************************
+ Import Theme
+*******************************/
+
+@import "theme.less";
+
+/* End Config */
\ No newline at end of file
diff --git a/src/semantic/src/theme.less b/src/semantic/src/theme.less
new file mode 100644
index 0000000..aeb092d
--- /dev/null
+++ b/src/semantic/src/theme.less
@@ -0,0 +1,61 @@
+/*******************************
+ Import Directives
+*******************************/
+
+/*------------------
+ Theme
+-------------------*/
+
+@theme: @@element;
+
+/*--------------------
+ Site Variables
+---------------------*/
+
+/* Default site.variables */
+@import "@{themesFolder}/default/globals/site.variables";
+
+/* Packaged site.variables */
+@import "@{themesFolder}/@{site}/globals/site.variables";
+
+/* Component's site.variables */
+@import (optional) "@{themesFolder}/@{theme}/globals/site.variables";
+
+/* Site theme site.variables */
+@import (optional) "@{siteFolder}/globals/site.variables";
+
+
+/*-------------------
+ Component Variables
+---------------------*/
+
+/* Default */
+@import "@{themesFolder}/default/@{type}s/@{element}.variables";
+
+/* Packaged Theme */
+@import (optional) "@{themesFolder}/@{theme}/@{type}s/@{element}.variables";
+
+/* Site Theme */
+@import (optional) "@{siteFolder}/@{type}s/@{element}.variables";
+
+
+/*******************************
+ Mix-ins
+*******************************/
+
+/*------------------
+ Fonts
+-------------------*/
+
+.loadFonts() when (@importGoogleFonts) {
+ @import url('@{googleProtocol}fonts.googleapis.com/css?family=@{googleFontRequest}');
+}
+
+/*------------------
+ Overrides
+-------------------*/
+
+.loadUIOverrides() {
+ @import (optional) "@{themesFolder}/@{theme}/@{type}s/@{element}.overrides";
+ @import (optional) "@{siteFolder}/@{type}s/@{element}.overrides";
+}
diff --git a/src/semantic/src/themes/default/assets/fonts/icons.eot b/src/semantic/src/themes/default/assets/fonts/icons.eot
new file mode 100644
index 0000000..c7b00d2
Binary files /dev/null and b/src/semantic/src/themes/default/assets/fonts/icons.eot differ
diff --git a/src/semantic/src/themes/default/assets/fonts/icons.svg b/src/semantic/src/themes/default/assets/fonts/icons.svg
new file mode 100644
index 0000000..8b66187
--- /dev/null
+++ b/src/semantic/src/themes/default/assets/fonts/icons.svg
@@ -0,0 +1,685 @@
+
+
+
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/assets/fonts/icons.ttf b/src/semantic/src/themes/default/assets/fonts/icons.ttf
new file mode 100644
index 0000000..f221e50
Binary files /dev/null and b/src/semantic/src/themes/default/assets/fonts/icons.ttf differ
diff --git a/src/semantic/src/themes/default/assets/fonts/icons.woff b/src/semantic/src/themes/default/assets/fonts/icons.woff
new file mode 100644
index 0000000..6e7483c
Binary files /dev/null and b/src/semantic/src/themes/default/assets/fonts/icons.woff differ
diff --git a/src/semantic/src/themes/default/assets/fonts/icons.woff2 b/src/semantic/src/themes/default/assets/fonts/icons.woff2
new file mode 100644
index 0000000..7eb74fd
Binary files /dev/null and b/src/semantic/src/themes/default/assets/fonts/icons.woff2 differ
diff --git a/src/semantic/src/themes/default/assets/images/flags.png b/src/semantic/src/themes/default/assets/images/flags.png
new file mode 100644
index 0000000..cdd33c3
Binary files /dev/null and b/src/semantic/src/themes/default/assets/images/flags.png differ
diff --git a/src/semantic/src/themes/default/collections/breadcrumb.overrides b/src/semantic/src/themes/default/collections/breadcrumb.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/collections/breadcrumb.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/collections/breadcrumb.variables b/src/semantic/src/themes/default/collections/breadcrumb.variables
new file mode 100644
index 0000000..7d7f619
--- /dev/null
+++ b/src/semantic/src/themes/default/collections/breadcrumb.variables
@@ -0,0 +1,33 @@
+/*******************************
+ Breadcrumb
+*******************************/
+
+/*-------------------
+ Breadcrumb
+--------------------*/
+
+@verticalMargin: 0em;
+@display: inline-block;
+@verticalAlign: middle;
+
+@dividerSpacing: @3px;
+@dividerOpacity: 0.7;
+@dividerColor: @lightTextColor;
+
+@dividerSize: @relativeSmall;
+@dividerVerticalAlign: baseline;
+
+@iconDividerSize: @relativeTiny;
+@iconDividerVerticalAlign: baseline;
+
+@sectionMargin: 0em;
+@sectionPadding: 0em;
+
+/* Coupling */
+@segmentPadding: @relativeMini @relativeMedium;
+
+/*-------------------
+ States
+--------------------*/
+
+@activeFontWeight: bold;
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/collections/form.overrides b/src/semantic/src/themes/default/collections/form.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/collections/form.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/collections/form.variables b/src/semantic/src/themes/default/collections/form.variables
new file mode 100644
index 0000000..6ae407b
--- /dev/null
+++ b/src/semantic/src/themes/default/collections/form.variables
@@ -0,0 +1,195 @@
+/*******************************
+ Form
+*******************************/
+
+/*-------------------
+ Elements
+--------------------*/
+
+/* Form */
+@gutterWidth: 1em;
+@rowDistance: 1em;
+
+/* Text */
+@paragraphMargin: @rowDistance 0em;
+
+/* Field */
+@fieldMargin: 0em 0em @rowDistance;
+
+/* Fields */
+@fieldsMargin: 0em -(@gutterWidth / 2) @rowDistance;
+
+/* Form Label */
+@labelDistance: @4px;
+@labelMargin: 0em 0em @labelDistance 0em;
+@labelFontSize: @relativeSmall;
+@labelFontWeight: bold;
+@labelTextTransform: none;
+@labelColor: @textColor;
+
+/* Input */
+@inputFont: @pageFont;
+@inputWidth: 100%;
+@inputFontSize: 1em;
+@inputPadding: (@inputVerticalPadding + ((1em - @inputLineHeight) / 2)) @inputHorizontalPadding;
+@inputBorder: 1px solid @borderColor;
+@inputBorderRadius: @absoluteBorderRadius;
+@inputColor: @textColor;
+@inputTransition:
+ color @defaultDuration @defaultEasing,
+ border-color @defaultDuration @defaultEasing
+;
+@inputBoxShadow: 0em 0em 0em 0em transparent inset;
+
+/* Select */
+@selectBackground: @white;
+@selectBorderRadius: @inputBorderRadius;
+@selectBorder: @inputBorder;
+@selectPadding: 0.62em @inputHorizontalPadding;
+@selectBoxShadow: @inputBoxShadow;
+@selectTransition: @inputTransition;
+@selectColor: @inputColor;
+
+/* Text Area */
+@textAreaPadding: @inputVerticalPadding @inputHorizontalPadding;
+@textAreaHeight: 12em;
+@textAreaResize: vertical;
+@textAreaLineHeight: 1.2857;
+@textAreaMinHeight: 8em;
+@textAreaMaxHeight: 24em;
+@textAreaBackground: @inputBackground;
+@textAreaBorder: @inputBorder;
+@textAreaFontSize: @inputFontSize;
+@textAreaTransition: @inputTransition;
+
+/* Checkbox */
+@checkboxVerticalAlign: top;
+@checkboxLabelFontSize: 1em;
+@checkboxLabelTextTransform: @labelTextTransform;
+
+/* Inline Validation Prompt */
+@promptBackground: @white;
+@promptBorderColor: @formErrorBorder;
+@promptBorder: 1px solid @promptBorderColor;
+@promptTextColor: @formErrorColor;
+@inlinePromptMargin: -0.25em 0em -0.5em 0.5em;
+@inlinePromptBorderWidth: 1px;
+
+/*-------------------
+ States
+--------------------*/
+
+/* Focus */
+@inputFocusPointerSize: 0px;
+
+/* Input Focus */
+@inputFocusBackground: @inputBackground;
+@inputFocusBorderColor: @focusedFormBorderColor;
+@inputFocusColor: @selectedTextColor;
+@inputFocusBoxShadow: @inputFocusPointerSize 0em 0em 0em @selectedBorderColor inset;
+@inputFocusBorderRadius: @inputBorderRadius;
+
+/* Text Area Focus */
+@textAreaFocusBackground: @inputFocusBackground;
+@textAreaFocusBorderColor: @inputFocusBorderColor;
+@textAreaFocusColor: @inputFocusColor;
+@textAreaFocusBoxShadow: @inputFocusBoxShadow;
+@textAreaFocusBorderRadius: @inputFocusBorderRadius;
+
+/* Disabled */
+@disabledLabelOpacity: @disabledOpacity;
+
+/* Errored Input */
+@formErrorColor: @negativeTextColor;
+@formErrorBorder: @negativeBorderColor;
+@formErrorBackground: @negativeBackgroundColor;
+
+/* AutoFill */
+@inputAutoFillBackground: #FFFFF0;
+@inputAutoFillBorder: #E5DFA1;
+@inputAutoFillFocusBackground: @inputAutoFillBackground;
+@inputAutoFillFocusBorder: #D5C315;
+@inputAutoFillErrorBackground: #FFFAF0;
+@inputAutoFillErrorBorder: #E0B4B4;
+
+
+/* Input Error */
+@inputErrorBorderRadius: '';
+@inputErrorBoxShadow: none;
+
+/* Dropdown Error */
+@dropdownErrorHoverBackground: #FBE7E7;
+@dropdownErrorSelectedBackground: @dropdownErrorHoverBackground;
+@dropdownErrorActiveBackground: #FDCFCF;
+@dropdownErrorLabelBackground: #EACBCB;
+@dropdownErrorLabelColor: @errorTextColor;
+
+/* Focused Error */
+@inputErrorFocusBackground: @negativeBackgroundColor;
+@inputErrorFocusColor: @negativeTextColor;
+@inputErrorFocusBorder: @negativeBorderColor;
+@inputErrorFocusBoxShadow: none;
+
+/* Placeholder Error */
+@inputErrorPlaceholderColor: lighten(@formErrorColor, 40);
+@inputErrorPlaceholderFocusColor: lighten(@formErrorColor, 30);
+
+/* Loading Dimmer */
+@loaderDimmerColor: rgba(255, 255, 255, 0.8);
+@loaderDimmerZIndex: 100;
+
+/* Loading Spinner */
+@loaderSize: 3em;
+@loaderLineZIndex: 101;
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Required */
+@requiredContent: '*';
+@requiredColor: @negativeColor;
+@requiredVerticalOffset: -0.2em;
+@requiredDistance: 0.2em;
+@requiredMargin: @requiredVerticalOffset 0em 0em @requiredDistance;
+
+/* Inverted */
+@invertedInputBackground: @inputBackground;
+@invertedInputBorderColor: @whiteBorderColor;
+@invertedInputBoxShadow: @inputBoxShadow;
+@invertedInputColor: @inputColor;
+@invertedLabelColor: @invertedTextColor;
+@invertedInputBoxShadow: none;
+
+/*-------------------
+ Variations
+--------------------*/
+
+/* Grouped Fields */
+@groupedMargin: @fieldMargin;
+@groupedFieldMargin: 0.5em 0em;
+
+@groupedLabelDistance: @labelDistance;
+@groupedLabelColor: @labelColor;
+@groupedLabelMargin: @labelMargin;
+@groupedLabelFontSize: @labelFontSize;
+@groupedLabelFontWeight: @labelFontWeight;
+@groupedLabelTextTransform: @labelTextTransform;
+
+
+/* Inline */
+@inlineInputSize: @relativeMedium;
+
+@inlineLabelDistance: @relativeTiny;
+@inlineLabelColor: @labelColor;
+@inlineLabelFontSize: @labelFontSize;
+@inlineLabelFontWeight: @labelFontWeight;
+@inlineLabelTextTransform: @labelTextTransform;
+
+@groupedInlineLabelMargin: 0.035714em 1em 0em 0em;
+
+/*-------------------
+ Groups
+--------------------*/
+
+@inlineFieldsMargin: 0em 1em 0em 0em;
diff --git a/src/semantic/src/themes/default/collections/grid.overrides b/src/semantic/src/themes/default/collections/grid.overrides
new file mode 100644
index 0000000..0e06821
--- /dev/null
+++ b/src/semantic/src/themes/default/collections/grid.overrides
@@ -0,0 +1,4 @@
+/*******************************
+ Theme Overrides
+*******************************/
+
diff --git a/src/semantic/src/themes/default/collections/grid.variables b/src/semantic/src/themes/default/collections/grid.variables
new file mode 100644
index 0000000..cdf5956
--- /dev/null
+++ b/src/semantic/src/themes/default/collections/grid.variables
@@ -0,0 +1,103 @@
+/*******************************
+ Grid
+*******************************/
+
+/* Inherited From Site */
+
+// @mobileBreakpoint
+// @tabletBreakpoint
+// @computerBreakpoint
+// @largeMonitorBreakpoint
+// @widescreenMonitorBreakpoint
+
+/*******************************
+ Grid
+*******************************/
+
+@minWidth: 320px;
+
+@gutterWidth: 2rem;
+@rowSpacing: 2rem;
+
+@tableWidth: ~"calc(100% + "@gutterWidth~")";
+@columnMaxImageWidth: 100%;
+
+@consecutiveGridDistance: (@rowSpacing / 2);
+
+/*******************************
+ Variations
+*******************************/
+
+/*--------------
+ Relaxed
+---------------*/
+
+@relaxedGutterWidth: 3rem;
+@veryRelaxedGutterWidth: 5rem;
+
+/*--------------
+ Divided
+---------------*/
+
+@dividedBorder: -1px 0px 0px 0px @borderColor;
+@verticallyDividedBorder: 0px -1px 0px 0px @borderColor;
+
+@dividedInvertedBorder: -1px 0px 0px 0px @whiteBorderColor;
+@verticallyDividedInvertedBorder: 0px -1px 0px 0px @whiteBorderColor;
+
+/*--------------
+ Celled
+---------------*/
+
+@celledMargin: 1em 0em;
+@celledWidth: 1px;
+@celledBorderColor: @solidBorderColor;
+
+@celledPadding: 1em;
+@celledRelaxedPadding: 1.5em;
+@celledVeryRelaxedPadding: 2em;
+
+@celledGridDivider: 0px 0px 0px @celledWidth @celledBorderColor;
+@celledRowDivider: 0px (-@celledWidth) 0px 0px @celledBorderColor;
+@celledColumnDivider: (-@celledWidth) 0px 0px 0px @celledBorderColor;
+
+
+/*--------------
+ Stackable
+---------------*/
+
+@stackableRowSpacing: @rowSpacing;
+@stackableGutter: @gutterWidth;
+@stackableMobileBorder: 1px solid @borderColor;
+@stackableInvertedMobileBorder: 1px solid @whiteBorderColor;
+
+
+/*******************************
+ Legacy
+*******************************/
+
+/*--------------
+ Page
+---------------*/
+
+/* Legacy (DO NOT USE)
+ */
+@mobileWidth: auto;
+@mobileMargin: 0em;
+@mobileGutter: 0em;
+
+@tabletWidth: auto;
+@tabletMargin: 0em;
+@tabletGutter: 2em;
+
+@computerWidth: auto;
+@computerMargin: 0em;
+@computerGutter: 3%;
+
+@largeMonitorWidth: auto;
+@largeMonitorMargin: 0em;
+@largeMonitorGutter: 15%;
+
+@widescreenMonitorWidth: auto;
+@widescreenMargin: 0em;
+@widescreenMonitorGutter: 23%;
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/collections/menu.overrides b/src/semantic/src/themes/default/collections/menu.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/collections/menu.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/collections/menu.variables b/src/semantic/src/themes/default/collections/menu.variables
new file mode 100644
index 0000000..2e4bb79
--- /dev/null
+++ b/src/semantic/src/themes/default/collections/menu.variables
@@ -0,0 +1,458 @@
+/*******************************
+ Menu
+*******************************/
+
+/*-------------------
+ Collection
+--------------------*/
+
+/* Menu */
+@verticalMargin: @medium;
+@horizontalMargin: 0em;
+@margin: @verticalMargin @horizontalMargin;
+@background: #FFFFFF;
+@fontFamily: @pageFont;
+@itemBackground: none;
+@fontWeight: normal;
+@borderWidth: 1px;
+@border: @borderWidth solid @borderColor;
+@boxShadow: @subtleShadow;
+@borderRadius: @defaultBorderRadius;
+@minHeight: (@itemVerticalPadding * 2) + 1em;
+
+/* Menu Item */
+@itemVerticalPadding: @relativeSmall;
+@itemHorizontalPadding: @relativeLarge;
+@itemTextTransform: none;
+@itemTransition:
+ background @defaultDuration @defaultEasing,
+ box-shadow @defaultDuration @defaultEasing,
+ color @defaultDuration @defaultEasing
+;
+@itemFontWeight: normal;
+@itemTextColor: @textColor;
+
+/* Divider */
+@dividerSize: 1px;
+@dividerBackground: @internalBorderColor;
+
+/* Sub Menu */
+@subMenuDistance: 0.5em;
+@subMenuMargin: @subMenuDistance -@itemHorizontalPadding 0em;
+@subMenuFontSize: @relativeTiny;
+@subMenuTextColor: rgba(0, 0, 0, 0.5);
+
+@subMenuIndent: 0em;
+@subMenuHorizontalPadding: (@itemHorizontalPadding / @tinySize) + @subMenuIndent;
+@subMenuVerticalPadding: 0.5em;
+
+/* Text Item */
+@textLineHeight: 1.3;
+
+/*--------------
+ Elements
+---------------*/
+
+/* Icon */
+@iconFloat: none;
+@iconMargin: 0em @relative5px 0em 0em;
+@iconOpacity: 0.9;
+
+/* Dropdown Icon */
+@dropdownIconFloat: right;
+@dropdownIconDistance: 1em;
+
+/* Header */
+@headerBackground: '';
+@headerWeight: bold;
+@headerTextTransform: normal;
+
+/* Vertical Icon */
+@verticalIconFloat: right;
+@verticalIconMargin: 0em 0em 0em 0.5em;
+
+/* Vertical Header */
+@verticalHeaderMargin: 0em 0em 0.5em;
+@verticalHeaderFontSize: @relativeMedium;
+@verticalHeaderFontWeight: bold;
+
+/* Pointing Arrow */
+@arrowSize: @relative8px;
+@arrowBorderWidth: 1px;
+@arrowBorder: @arrowBorderWidth solid @solidBorderColor;
+@arrowTransition: background @defaultDuration @defaultEasing;
+@arrowZIndex: 2;
+
+@arrowHoverColor: #F2F2F2;
+@arrowActiveColor: @arrowHoverColor;
+@arrowActiveHoverColor: @arrowActiveColor;
+
+@arrowVerticalHoverColor: @arrowHoverColor;
+@arrowVerticalActiveColor: @arrowActiveColor;
+@arrowVerticalSubMenuColor: @white;
+
+/*--------------
+ Couplings
+---------------*/
+
+/* Button */
+@buttonSize: @relativeMedium;
+@buttonOffset: 0em;
+@buttonMargin: -0.5em 0em;
+@buttonVerticalPadding: @relativeMini;
+
+/* Input */
+@inputSize: @relativeMedium;
+@inputVerticalMargin: -0.5em;
+@inputOffset: 0em;
+@inputVerticalPadding: @relative8px;
+
+/* Image */
+@imageMargin: -0.3em 0em;
+@imageWidth: 2.5em;
+@verticalImageWidth: auto;
+
+/* Label */
+@labelOffset: -0.15em;
+@labelBackground: #999999;
+@labelTextColor: @white;
+
+@labelTextMargin: 1em;
+@labelVerticalPadding: 0.3em;
+@labelHorizontalPadding: @relativeMini;
+
+@labelAndIconFloat: none;
+@labelAndIconMargin: 0em 0.5em 0em 0em;
+
+/* Dropdown in Menu */
+@dropdownMenuBoxShadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.08);
+
+@dropdownBackground: #FFFFFF;
+@dropdownMenuDistance: 0em;
+@dropdownMenuBorderRadius: @borderRadius;
+
+@dropdownItemFontSize: @relativeMedium;
+@dropdownItemPadding: @relativeMini @relativeLarge;
+@dropdownItemBackground: transparent;
+@dropdownItemColor: @textColor;
+@dropdownItemTextTransform: none;
+@dropdownItemFontWeight: normal;
+@dropdownItemBoxShadow: none;
+@dropdownItemTransition: none;
+
+@dropdownItemIconFloat: none;
+@dropdownItemIconFontSize: @relativeMedium;
+@dropdownItemIconMargin: 0em 0.75em 0em 0em;
+
+@dropdownHoveredItemBackground: @transparentBlack;
+@dropdownHoveredItemColor: @selectedTextColor;
+
+/* Dropdown Variations */
+@dropdownVerticalMenuBoxShadow: 0 1px 3px 0px rgba(0, 0, 0, 0.08);
+@secondaryDropdownMenuDistance: @relative5px;
+@pointingDropdownMenuDistance: 0.75em;
+@invertedSelectionDropdownColor: @invertedTextColor;
+
+/*--------------
+ States
+---------------*/
+
+/* Hovered Item */
+@hoverItemBackground: @subtleTransparentBlack;
+@hoverItemTextColor: @selectedTextColor;
+
+/* Pressed Item */
+@pressedItemBackground: @subtleTransparentBlack;
+@pressedItemTextColor: @hoverItemTextColor;
+
+
+/* Active Item */
+@activeItemBackground: @transparentBlack;
+@activeItemTextColor: @selectedTextColor;
+@activeItemFontWeight: normal;
+@activeIconOpacity: 1;
+@activeItemBoxShadow: none;
+
+/* Active Hovered Item */
+@activeHoverItemBackground: @transparentBlack;
+@activeHoverItemColor: @selectedTextColor;
+
+/* Selected Dropdown */
+@dropdownSelectedItemBackground: @transparentBlack;
+@dropdownSelectedItemColor: @selectedTextColor;
+
+/* Active Dropdown */
+@dropdownActiveItemBackground: @subtleTransparentBlack;
+@dropdownActiveItemColor: @selectedTextColor;
+@dropdownActiveItemFontWeight: bold;
+
+/* Active Sub Menu */
+@subMenuActiveBackground: transparent;
+@subMenuActiveTextColor: @activeItemTextColor;
+@subMenuActiveFontWeight: bold;
+
+
+/*--------------
+ Types
+---------------*/
+
+/* Vertical */
+@verticalBoxShadow: @boxShadow;
+@verticalPointerWidth: 2px;
+@verticalBackground: #FFFFFF;
+@verticalItemBackground: none;
+@verticalDividerBackground: @dividerBackground;
+
+@verticalActiveBoxShadow: none;
+
+
+/* Secondary */
+@secondaryBackground: none;
+@secondaryMargin: 0em -@secondaryItemSpacing;
+@secondaryItemBackground: none;
+@secondaryItemSpacing: @relative5px;
+@secondaryItemMargin: 0em @secondaryItemSpacing;
+@secondaryItemVerticalPadding: @relativeMini;
+@secondaryItemHorizontalPadding: @relativeSmall;
+@secondaryItemPadding: @relativeMini @relativeSmall;
+@secondaryItemBorderRadius: @defaultBorderRadius;
+@secondaryItemTransition: color @defaultDuration @defaultEasing;
+@secondaryItemColor: @unselectedTextColor;
+
+@secondaryHoverItemBackground: @transparentBlack;
+@secondaryHoverItemColor: @selectedTextColor;
+
+@secondaryActiveItemBackground: @transparentBlack;
+@secondaryActiveItemColor: @selectedTextColor;
+@secondaryActiveHoverItemBackground: @transparentBlack;
+@secondaryActiveHoverItemColor: @selectedTextColor;
+
+@secondaryActiveHoveredItemBackground: @transparentBlack;
+@secondaryActiveHoveredItemColor: @selectedTextColor;
+
+@secondaryHeaderBackground: none transparent;
+@secondaryHeaderBorder: none;
+
+@secondaryItemVerticalSpacing: @secondaryItemSpacing;
+@secondaryVerticalItemMargin: 0em 0em @secondaryItemVerticalSpacing;
+@secondaryVerticalItemBorderRadius: @defaultBorderRadius;
+
+@secondaryMenuSubMenuMargin: 0em -@secondaryItemHorizontalPadding;
+@secondaryMenuSubMenuItemMargin: 0em;
+@secondarySubMenuHorizontalPadding: (@itemHorizontalPadding / @tinySize) + @subMenuIndent;
+@secondaryMenuSubMenuItemPadding: @relative7px @secondarySubMenuHorizontalPadding;
+
+/* Pointing */
+@secondaryPointingBorderWidth: 2px;
+@secondaryPointingBorderColor: @borderColor;
+@secondaryPointingItemVerticalPadding: @relativeTiny;
+@secondaryPointingItemHorizontalPadding: @relativeLarge;
+
+@secondaryPointingHoverTextColor: @textColor;
+
+@secondaryPointingActiveBorderColor: @black;
+@secondaryPointingActiveTextColor: @selectedTextColor;
+@secondaryPointingActiveFontWeight: bold;
+
+@secondaryPointingActiveDropdownBorderColor: transparent;
+
+@secondaryPointingActiveHoverBorderColor: @secondaryPointingActiveBorderColor;
+@secondaryPointingActiveHoverTextColor: @secondaryPointingActiveTextColor;
+
+@secondaryPointingHeaderColor: @darkTextColor;
+@secondaryVerticalPointingItemMargin: 0em -@secondaryPointingBorderWidth 0em 0em;
+
+
+/* Inverted Secondary */
+@secondaryInvertedColor: @invertedLightTextColor;
+
+@secondaryInvertedHoverBackground: @transparentWhite;
+@secondaryInvertedHoverColor: @invertedSelectedTextColor;
+
+@secondaryInvertedActiveBackground: @strongTransparentWhite;
+@secondaryInvertedActiveColor: @invertedSelectedTextColor;
+
+/* Inverted Pointing */
+@secondaryPointingInvertedBorderColor: @whiteBorderColor;
+@secondaryPointingInvertedItemTextColor: @invertedTextColor;
+@secondaryPointingInvertedItemHeaderColor: @white;
+@secondaryPointingInvertedItemHoverTextColor: @selectedTextColor;
+@secondaryPointingInvertedActiveBorderColor: @white;
+@secondaryPointingInvertedActiveColor: @invertedSelectedTextColor;
+
+
+/* Tiered */
+@tieredActiveItemBackground: #FCFCFC;
+@tieredActiveMenuBackground: #FCFCFC;
+
+@tieredSubMenuTextTransform: normal;
+@tieredSubMenuFontWeight: normal;
+
+@tieredSubMenuColor: @lightTextColor;
+
+@tieredSubMenuHoverBackground: none transparent;
+@tieredSubMenuHoverColor: @hoveredTextColor;
+
+@tieredSubMenuActiveBackground: none transparent;
+@tieredSubMenuActiveColor: @selectedTextColor;
+
+@tieredInvertedSubMenuBackground: rgba(0, 0, 0, 0.2);
+
+
+/* Icon */
+@iconMenuTextAlign: center;
+@iconMenuItemColor: @black;
+@iconMenuInvertedItemColor: @white;
+
+
+/* Tabular */
+@tabularBorderColor: @solidBorderColor;
+@tabularBackgroundColor: transparent;
+@tabularBackground: none @tabularBackgroundColor;
+@tabularBorderWidth: 1px;
+@tabularOppositeBorderWidth: @tabularBorderWidth + 1px;
+@tabularVerticalPadding: @itemVerticalPadding;
+@tabularHorizontalPadding: @relativeHuge;
+@tabularBorderRadius: @defaultBorderRadius;
+@tabularTextColor: @itemTextColor;
+
+@tabularHoveredTextColor: @hoveredTextColor;
+
+@tabularVerticalBackground: none @tabularBackgroundColor;
+
+@tabularFluidOffset: 1px;
+@tabularFluidWidth: ~"calc(100% + "(@tabularFluidOffset * 2)~")";
+
+@tabularActiveBackground: none @white;
+@tabularActiveColor: @selectedTextColor;
+@tabularActiveBoxShadow: none;
+@tabularActiveWeight: bold;
+
+
+
+/* Pagination */
+@paginationMinWidth: 3em;
+@paginationActiveBackground: @transparentBlack;
+@paginationActiveTextColor: @selectedTextColor;
+
+/* Labeled Icon */
+@labeledIconItemHorizontalPadding: @relativeMassive;
+@labeledIconSize: @relativeMassive;
+@labeledIconMinWidth: 6em;
+@labeledIconTextMargin: 0.5rem;
+
+
+/* Text */
+@textMenuItemSpacing: @relative7px;
+@textMenuMargin: @relativeMedium -(@textMenuItemSpacing);
+@textMenuItemColor: @mutedTextColor;
+@textMenuItemFontWeight: normal;
+@textMenuItemMargin: 0em 0em;
+@textMenuItemPadding: @relative5px @textMenuItemSpacing;
+@textMenuItemTransition: opacity @defaultDuration @defaultEasing;
+
+@textMenuSubMenuMargin: 0em;
+@textMenuSubMenuItemMargin: 0em;
+@textMenuSubMenuItemPadding: @relative7px 0em;
+
+@textMenuActiveItemFontWeight: normal;
+@textMenuActiveItemColor: @selectedTextColor;
+
+@textMenuHeaderSize: @relativeSmall;
+@textMenuHeaderColor: @darkTextColor;
+@textMenuHeaderFontWeight: bold;
+@textMenuHeaderTextTransform: uppercase;
+
+@textVerticalMenuMargin: @relativeMedium 0em;
+@textVerticalMenuHeaderMargin: @relative8px 0em @relative10px;
+@textVerticalMenuItemMargin: @relative8px 0em;
+
+@textVerticalMenuIconFloat: none;
+@textVerticalMenuIconMargin: @iconMargin;
+
+
+/*--------------
+ Variations
+---------------*/
+
+/* Inverted */
+@invertedBackground: @black;
+@invertedBoxShadow: none;
+@invertedBorder: 0px solid transparent;
+@invertedHeaderBackground: transparent;
+
+@invertedItemBackground: transparent;
+@invertedItemTextColor: @invertedTextColor;
+
+/* Inverted Sub Menu */
+@invertedSubMenuBackground: transparent;
+@invertedSubMenuColor: @invertedUnselectedTextColor;
+
+/* Inverted Hover */
+@invertedHoverBackground: @transparentWhite;
+@invertedHoverColor: @invertedSelectedTextColor;
+
+@invertedSubMenuHoverBackground: transparent;
+@invertedSubMenuHoverColor: @invertedSelectedTextColor;
+
+/* Pressed */
+@invertedMenuPressedBackground: @transparentWhite;
+@invertedMenuPressedColor: @invertedSelectedTextColor;
+
+/* Inverted Active */
+@invertedActiveBackground: @strongTransparentWhite;
+@invertedActiveColor: @invertedSelectedTextColor;
+@invertedArrowActiveColor: #3D3E3F;
+
+/* Inverted Active Hover */
+@invertedActiveHoverBackground: @invertedActiveBackground;
+@invertedActiveHoverColor: @white;
+@invertedArrowActiveHoverColor: @invertedArrowActiveColor;
+
+@invertedSubMenuActiveBackground: transparent;
+@invertedSubMenuActiveColor: @white;
+
+/* Inverted Menu Divider */
+@invertedDividerBackground: rgba(255, 255, 255, 0.08);
+@invertedVerticalDividerBackground: @invertedDividerBackground;
+
+/* Inverted Colored */
+@invertedColoredDividerBackground: @dividerBackground;
+@invertedColoredActiveBackground: @strongTransparentBlack;
+
+/* Fixed */
+@fixedPrecedingGridMargin: 2.75rem;
+
+/* Floated */
+@floatedDistance: 0.5rem;
+
+/* Attached */
+@attachedTopOffset: 0px;
+@attachedBottomOffset: 0px;
+@attachedHorizontalOffset: -@borderWidth;
+@attachedWidth: ~"calc(100% + "-@attachedHorizontalOffset * 2~")";
+@attachedBoxShadow: none;
+@attachedBorder: @borderWidth solid @solidBorderColor;
+@attachedBottomBoxShadow:
+ @boxShadow,
+ @attachedBoxShadow
+;
+
+/* Resize large sizes */
+@mini: @11px;
+@tiny: @12px;
+@small: @13px;
+@large: @15px;
+@huge: @16px;
+@big: @17px;
+@massive: @18px;
+
+/* Sizes */
+@miniWidth: 9rem;
+@tinyWidth: 11rem;
+@smallWidth: 13rem;
+@mediumWidth: 15rem;
+@largeWidth: 18rem;
+@hugeWidth: 20rem;
+@bigWidth: 22rem;
+@massiveWidth: 25rem;
diff --git a/src/semantic/src/themes/default/collections/message.overrides b/src/semantic/src/themes/default/collections/message.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/collections/message.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/collections/message.variables b/src/semantic/src/themes/default/collections/message.variables
new file mode 100644
index 0000000..d2083cf
--- /dev/null
+++ b/src/semantic/src/themes/default/collections/message.variables
@@ -0,0 +1,158 @@
+/*******************************
+ Message
+*******************************/
+
+// @textColor
+
+/*-------------------
+ Elements
+--------------------*/
+
+@verticalMargin: 1em;
+@verticalPadding: 1em;
+@horizontalPadding: 1.5em;
+@padding: @verticalPadding @horizontalPadding;
+@background: #F8F8F9;
+@lineHeightOffset: ((@lineHeight - 1em) / 2);
+
+@borderRadius: @defaultBorderRadius;
+@borderWidth: 1px;
+@borderShadow: 0px 0px 0px @borderWidth @strongBorderColor inset;
+@shadowShadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
+@boxShadow:
+ @borderShadow,
+ @shadowShadow
+;
+
+@transition:
+ opacity @defaultDuration @defaultEasing,
+ color @defaultDuration @defaultEasing,
+ background @defaultDuration @defaultEasing,
+ box-shadow @defaultDuration @defaultEasing
+;
+
+/* Header */
+@headerFontSize: @relativeLarge;
+@headerFontWeight: bold;
+@headerDisplay: block;
+@headerDistance: 0rem;
+@headerMargin: -@headerLineHeightOffset 0em @headerDistance 0em;
+@headerParagraphDistance: 0.25em;
+
+/* Paragraph */
+@messageTextOpacity: 0.85;
+@messageParagraphMargin: 0.75em;
+
+/* List */
+@listOpacity: 0.85;
+@listStylePosition: inside;
+@listMargin: 0.5em;
+@listItemIndent: 1em;
+@listItemMargin: 0.3em;
+
+/* Icon */
+@iconDistance: 0.6em;
+
+/* Close Icon */
+@closeTopDistance: @verticalPadding - @lineHeightOffset;
+@closeRightDistance: 0.5em;
+@closeOpacity: 0.7;
+@closeTransition: opacity @defaultDuration @defaultEasing;
+
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Icon Message */
+@iconSize: 3em;
+@iconOpacity: 0.8;
+@iconContentDistance: 0rem;
+@iconVerticalAlign: middle;
+
+/* Attached */
+@attachedXOffset: -1px;
+@attachedYOffset: -1px;
+@attachedBoxShadow: 0em 0em 0em @borderWidth @borderColor inset;
+@attachedBottomBoxShadow:
+ @attachedBoxShadow,
+ @subtleShadow
+;
+
+/* Floating */
+@floatingBoxShadow:
+ @borderShadow,
+ @floatingShadow
+;
+
+/* Colors */
+@redBoxShadow:
+ 0px 0px 0px @borderWidth @redBorderColor inset,
+ @shadowShadow
+;
+@orangeBoxShadow:
+ 0px 0px 0px @borderWidth @orangeBorderColor inset,
+ @shadowShadow
+;
+@yellowBoxShadow:
+ 0px 0px 0px @borderWidth @yellowBorderColor inset,
+ @shadowShadow
+;
+@oliveBoxShadow:
+ 0px 0px 0px @borderWidth @oliveBorderColor inset,
+ @shadowShadow
+;
+@greenBoxShadow:
+ 0px 0px 0px @borderWidth @greenBorderColor inset,
+ @shadowShadow
+;
+@tealBoxShadow:
+ 0px 0px 0px @borderWidth @tealBorderColor inset,
+ @shadowShadow
+;
+@blueBoxShadow:
+ 0px 0px 0px @borderWidth @blueBorderColor inset,
+ @shadowShadow
+;
+@violetBoxShadow:
+ 0px 0px 0px @borderWidth @violetBorderColor inset,
+ @shadowShadow
+;
+@purpleBoxShadow:
+ 0px 0px 0px @borderWidth @purpleBorderColor inset,
+ @shadowShadow
+;
+@pinkBoxShadow:
+ 0px 0px 0px @borderWidth @pinkBorderColor inset,
+ @shadowShadow
+;
+@brownBoxShadow:
+ 0px 0px 0px @borderWidth @brownBorderColor inset,
+ @shadowShadow
+;
+
+/* Warning / Positive / Negative / Info */
+@positiveBoxShadow:
+ 0px 0px 0px @borderWidth @positiveBorderColor inset,
+ @shadowShadow
+;
+@negativeBoxShadow:
+ 0px 0px 0px @borderWidth @negativeBorderColor inset,
+ @shadowShadow
+;
+@infoBoxShadow:
+ 0px 0px 0px @borderWidth @infoBorderColor inset,
+ @shadowShadow
+;
+@warningBoxShadow:
+ 0px 0px 0px @borderWidth @warningBorderColor inset,
+ @shadowShadow
+;
+@errorBoxShadow:
+ 0px 0px 0px @borderWidth @errorBorderColor inset,
+ @shadowShadow
+;
+@successBoxShadow:
+ 0px 0px 0px @borderWidth @successBorderColor inset,
+ @shadowShadow
+;
diff --git a/src/semantic/src/themes/default/collections/table.overrides b/src/semantic/src/themes/default/collections/table.overrides
new file mode 100644
index 0000000..e69de29
diff --git a/src/semantic/src/themes/default/collections/table.variables b/src/semantic/src/themes/default/collections/table.variables
new file mode 100644
index 0000000..4660f6c
--- /dev/null
+++ b/src/semantic/src/themes/default/collections/table.variables
@@ -0,0 +1,246 @@
+/*******************************
+ Table
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+@verticalMargin: 1em;
+@horizontalMargin: 0em;
+@margin: @verticalMargin @horizontalMargin;
+@borderCollapse: separate;
+@borderSpacing: 0px;
+@borderRadius: @defaultBorderRadius;
+@transition:
+ background @defaultDuration @defaultEasing,
+ color @defaultDuration @defaultEasing
+;
+@background: @white;
+@color: @textColor;
+@borderWidth: 1px;
+@border: @borderWidth solid @borderColor;
+@boxShadow: none;
+@textAlign: left;
+
+/*--------------
+ Parts
+---------------*/
+
+/* Table Row */
+@rowBorder: 1px solid @internalBorderColor;
+
+/* Table Cell */
+@cellVerticalPadding: @relativeMini;
+@cellHorizontalPadding: @relativeMini;
+@cellVerticalAlign: inherit;
+@cellTextAlign: inherit;
+@cellBorder: 1px solid @internalBorderColor;
+
+/* Table Header */
+@headerBorder: 1px solid @internalBorderColor;
+@headerDivider: none;
+@headerBackground: @offWhite;
+@headerAlign: inherit;
+@headerVerticalAlign: inherit;
+@headerColor: @textColor;
+@headerVerticalPadding: @relativeSmall;
+@headerHorizontalPadding: @cellHorizontalPadding;
+@headerFontStyle: none;
+@headerFontWeight: bold;
+@headerTextTransform: none;
+@headerBoxShadow: none;
+
+/* Table Footer */
+@footerBoxShadow: none;
+@footerBorder: 1px solid @borderColor;
+@footerDivider: none;
+@footerBackground: @offWhite;
+@footerAlign: inherit;
+@footerVerticalAlign: middle;
+@footerColor: @textColor;
+@footerVerticalPadding: @cellVerticalPadding;
+@footerHorizontalPadding: @cellHorizontalPadding;
+@footerFontStyle: normal;
+@footerFontWeight: normal;
+@footerTextTransform: none;
+
+/* Responsive Size */
+@responsiveHeaderDisplay: block;
+@responsiveFooterDisplay: block;
+@responsiveRowVerticalPadding: 1em;
+@responsiveRowBoxShadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;
+@responsiveCellVerticalPadding: 0.25em;
+@responsiveCellHorizontalPadding: 0.75em;
+@responsiveCellBoxShadow: none !important;
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Definition */
+@definitionPageBackground: @white;
+
+@definitionHeaderBackground: transparent;
+@definitionHeaderColor: @unselectedTextColor;
+@definitionHeaderFontWeight: normal;
+
+@definitionFooterBackground: @definitionHeaderBackground;
+@definitionFooterColor: @definitionHeaderColor;
+@definitionFooterFontWeight: @definitionHeaderFontWeight;
+
+@definitionColumnBackground: @subtleTransparentBlack;
+@definitionColumnFontWeight: bold;
+@definitionColumnColor: @selectedTextColor;
+@definitionColumnFontSize: @relativeMedium;
+@definitionColumnTextTransform: '';
+@definitionColumnBoxShadow: '';
+@definitionColumnTextAlign: '';
+@definitionColumnHorizontalPadding: '';
+
+
+/*--------------
+ Couplings
+---------------*/
+
+@iconVerticalAlign: baseline;
+
+/*--------------
+ States
+---------------*/
+
+@stateMarkerWidth: 0px;
+
+/* Positive */
+@positiveColor: @positiveTextColor;
+@positiveBoxShadow: @stateMarkerWidth 0px 0px @positiveBorderColor inset;
+@positiveBackgroundHover: darken(@positiveBackgroundColor, 3);
+@positiveColorHover: darken(@positiveColor, 3);
+
+/* Negative */
+@negativeColor: @negativeTextColor;
+@negativeBoxShadow: @stateMarkerWidth 0px 0px @negativeBorderColor inset;
+@negativeBackgroundHover: darken(@negativeBackgroundColor, 3);
+@negativeColorHover: darken(@negativeColor, 3);
+
+/* Error */
+@errorColor: @errorTextColor;
+@errorBoxShadow: @stateMarkerWidth 0px 0px @errorBorderColor inset;
+@errorBackgroundHover: darken(@errorBackgroundColor, 3);
+@errorColorHover: darken(@errorColor, 3);
+
+/* Warning */
+@warningColor: @warningTextColor;
+@warningBoxShadow: @stateMarkerWidth 0px 0px @warningBorderColor inset;
+@warningBackgroundHover: darken(@warningBackgroundColor, 3);
+@warningColorHover: darken(@warningColor, 3);
+
+/* Active */
+@activeColor: @textColor;
+@activeBackgroundColor: #E0E0E0;
+@activeBoxShadow: @stateMarkerWidth 0px 0px @activeColor inset;
+
+@activeBackgroundHover: #EFEFEF;
+@activeColorHover: @selectedTextColor;
+
+/*--------------
+ Types
+---------------*/
+
+/* Attached */
+@attachedTopOffset: 0px;
+@attachedBottomOffset: 0px;
+@attachedHorizontalOffset: -@borderWidth;
+@attachedWidth: ~"calc(100% + "-@attachedHorizontalOffset * 2~")";
+@attachedBoxShadow: none;
+@attachedBorder: @borderWidth solid @solidBorderColor;
+@attachedBottomBoxShadow:
+ @boxShadow,
+ @attachedBoxShadow
+;
+
+/* Striped */
+@stripedBackground: rgba(0, 0, 50, 0.02);
+@invertedStripedBackground: rgba(255, 255, 255, 0.05);
+
+/* Selectable */
+@selectableBackground: @transparentBlack;
+@selectableTextColor: @selectedTextColor;
+@selectableInvertedBackground: @transparentWhite;
+@selectableInvertedTextColor: @invertedSelectedTextColor;
+
+/* Sortable */
+@sortableBackground: '';
+@sortableColor: @textColor;
+
+@sortableBorder: 1px solid @borderColor;
+@sortableIconWidth: auto;
+@sortableIconDistance: 0.5em;
+@sortableIconOpacity: 0.8;
+@sortableIconFont: 'Icons';
+@sortableIconAscending: '\f0d8';
+@sortableIconDescending: '\f0d7';
+@sortableDisabledColor: @disabledTextColor;
+
+@sortableHoverBackground: @transparentBlack;
+@sortableHoverColor: @hoveredTextColor;
+
+@sortableActiveBackground: @transparentBlack;
+@sortableActiveColor: @selectedTextColor;
+
+@sortableActiveHoverBackground: @transparentBlack;
+@sortableActiveHoverColor: @selectedTextColor;
+
+@sortableInvertedBorderColor: transparent;
+@sortableInvertedHoverBackground: @transparentWhite @subtleGradient;
+@sortableInvertedHoverColor: @invertedHoveredTextColor;
+@sortableInvertedActiveBackground: @strongTransparentWhite @subtleGradient;
+@sortableInvertedActiveColor: @invertedSelectedTextColor;
+
+/* Colors */
+@coloredBorderSize: 0.2em;
+@coloredBorderRadius: 0em 0em @borderRadius @borderRadius;
+
+/* Inverted */
+@invertedBackground: #333333;
+@invertedBorder: none;
+@invertedCellBorderColor: @whiteBorderColor;
+@invertedCellColor: @invertedTextColor;
+
+@invertedHeaderBackground: @veryStrongTransparentBlack;
+@invertedHeaderColor: @invertedTextColor;
+@invertedHeaderBorderColor: @invertedCellBorderColor;
+
+@invertedDefinitionColumnBackground: @subtleTransparentWhite;
+@invertedDefinitionColumnColor: @invertedSelectedTextColor;
+@invertedDefinitionColumnFontWeight: bold;
+
+/* Basic */
+@basicTableBackground: transparent;
+@basicTableBorder: @borderWidth solid @borderColor;
+@basicBoxShadow: none;
+
+@basicTableHeaderBackground: transparent;
+@basicTableCellBackground: transparent;
+@basicTableHeaderDivider: none;
+@basicTableCellBorder: 1px solid rgba(0, 0, 0, 0.1);
+@basicTableCellPadding: '';
+@basicTableStripedBackground: @transparentBlack;
+
+/* Padded */
+@paddedVerticalPadding: 1em;
+@paddedHorizontalPadding: 1em;
+@veryPaddedVerticalPadding: 1.5em;
+@veryPaddedHorizontalPadding: 1.5em;
+
+/* Compact */
+@compactVerticalPadding: 0.5em;
+@compactHorizontalPadding: 0.7em;
+@veryCompactVerticalPadding: 0.4em;
+@veryCompactHorizontalPadding: 0.6em;
+
+
+/* Sizes */
+@small: 0.9em;
+@medium: 1em;
+@large: 1.1em;
diff --git a/src/semantic/src/themes/default/elements/button.overrides b/src/semantic/src/themes/default/elements/button.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/button.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/elements/button.variables b/src/semantic/src/themes/default/elements/button.variables
new file mode 100644
index 0000000..96c00aa
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/button.variables
@@ -0,0 +1,358 @@
+/*******************************
+ Button
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+/* Button */
+@verticalMargin: 0em;
+@horizontalMargin: 0.25em;
+@backgroundColor: #E0E1E2;
+@backgroundImage: none;
+@background: @backgroundColor @backgroundImage;
+@lineHeight: 1em;
+
+/* Button defaults to using same height as input globally */
+@verticalPadding: @inputVerticalPadding;
+@horizontalPadding: 1.5em;
+
+/* Text */
+@textTransform: none;
+@tapColor: transparent;
+@fontFamily: @pageFont;
+@fontWeight: bold;
+@textColor: rgba(0, 0, 0, 0.6);
+@textShadow: none;
+@invertedTextShadow: @textShadow;
+@borderRadius: @defaultBorderRadius;
+@verticalAlign: baseline;
+
+/* Internal Shadow */
+@shadowDistance: 0em;
+@shadowOffset: (@shadowDistance / 2);
+@shadowBoxShadow: 0px -@shadowDistance 0px 0px @borderColor inset;
+
+/* Box Shadow */
+@borderBoxShadowColor: transparent;
+@borderBoxShadowWidth: 1px;
+@borderBoxShadow: 0px 0px 0px @borderBoxShadowWidth @borderBoxShadowColor inset;
+@boxShadow:
+ @borderBoxShadow,
+ @shadowBoxShadow
+;
+
+/* Icon */
+@iconHeight: @relativeTiny;
+@iconOpacity: 0.8;
+@iconDistance: @relative6px;
+@iconColor: '';
+@iconTransition: opacity @defaultDuration @defaultEasing;
+@iconVerticalAlign: '';
+
+@iconMargin: 0em @iconDistance 0em -(@iconDistance / 2);
+@rightIconMargin: 0em -(@iconDistance / 2) 0em @iconDistance;
+
+/* Loader */
+@invertedLoaderFillColor: rgba(0, 0, 0, 0.15);
+
+@transition:
+ opacity @defaultDuration @defaultEasing,
+ background-color @defaultDuration @defaultEasing,
+ color @defaultDuration @defaultEasing,
+ box-shadow @defaultDuration @defaultEasing,
+ background @defaultDuration @defaultEasing
+;
+/*
+@willChange: box-shadow, transform, opacity, color, background;
+*/
+@willChange: '';
+
+/*-------------------
+ Group
+--------------------*/
+
+@groupBoxShadow: none;
+@groupButtonBoxShadow: @boxShadow;
+@verticalBoxShadow: none;
+@groupButtonOffset: 0px 0px 0px 0px;
+@verticalGroupOffset: 0px 0px 0px 0px;
+
+/*-------------------
+ States
+--------------------*/
+
+/* Hovered */
+@hoverBackgroundColor: #CACBCD;
+@hoverBackgroundImage: @backgroundImage;
+@hoverBoxShadow: @boxShadow;
+@hoverColor: @hoveredTextColor;
+@iconHoverOpacity: 0.85;
+
+/* Focused */
+@focusBackgroundColor: @hoverBackgroundColor;
+@focusBackgroundImage: '';
+@focusBoxShadow: '';
+@focusColor: @hoveredTextColor;
+@iconFocusOpacity: 0.85;
+
+/* Disabled */
+@disabledBackgroundImage: none;
+@disabledBoxShadow: none;
+
+/* Pressed Down */
+@downBackgroundColor: #BABBBC;
+@downBackgroundImage: '';
+@downPressedShadow: none;
+@downBoxShadow:
+ @borderBoxShadow,
+ @downPressedShadow
+;
+@downColor: @pressedTextColor;
+
+/* Active */
+@activeBackgroundColor: #C0C1C2;
+@activeBackgroundImage: none;
+@activeColor: @selectedTextColor;
+@activeBoxShadow: @borderBoxShadow;
+
+/* Active + Hovered */
+@activeHoverBackgroundColor: @activeBackgroundColor;
+@activeHoverBackgroundImage: none;
+@activeHoverColor: @activeColor;
+@activeHoverBoxShadow: @activeBoxShadow;
+
+/* Loading */
+@loadingOpacity: 1;
+@loadingPointerEvents: auto;
+@loadingTransition:
+ all 0s linear,
+ opacity @defaultDuration @defaultEasing
+;
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Or */
+@orText: 'or';
+
+@orGap: 0.3em;
+@orHeight: (@verticalPadding * 2) + 1em;
+@orZIndex: 3;
+
+@orCircleDistanceToEdge: (@verticalPadding);
+@orCircleSize: @orHeight - @orCircleDistanceToEdge;
+@orLineHeight: (@orCircleSize);
+@orBoxShadow: @borderBoxShadow;
+
+@orVerticalOffset: -(@orCircleSize / 2);
+@orHorizontalOffset: -(@orCircleSize / 2);
+
+@orBackgroundColor: @white;
+@orTextShadow: @invertedTextShadow;
+@orTextStyle: normal;
+@orTextWeight: bold;
+@orTextColor: @lightTextColor;
+
+
+@orSpacerHeight: @verticalPadding;
+@orSpacerColor: transparent;
+
+/* Icon */
+@iconButtonOpacity: 0.9;
+
+/* Labeled */
+@labeledLabelFontSize: @medium;
+@labeledLabelAlign: center;
+@labeledLabelPadding: '';
+@labeledLabelFontSize: @relativeMedium;
+@labeledLabelBorderColor: @borderColor;
+@labeledLabelBorderOffset: -@borderBoxShadowWidth;
+@labeledTagLabelSize: 1.85em; /* hypotenuse of triangle */
+@labeledIconMargin: 0em;
+
+/* Labeled Icon */
+@labeledIconWidth: 1em + (@verticalPadding * 2);
+@labeledIconBackgroundColor: rgba(0, 0, 0, 0.05);
+@labeledIconPadding: (@horizontalPadding + @labeledIconWidth);
+@labeledIconBorder: transparent;
+@labeledIconColor: '';
+
+@labeledIconLeftShadow: -1px 0px 0px 0px @labeledIconBorder inset;
+@labeledIconRightShadow: 1px 0px 0px 0px @labeledIconBorder inset;
+
+
+/* Inverted */
+@invertedBorderSize: 2px;
+@invertedTextColor: @white;
+@invertedTextHoverColor: @hoverColor;
+@invertedGroupButtonOffset: 0px 0px 0px -(@invertedBorderSize);
+@invertedVerticalGroupButtonOffset: 0px 0px -(@invertedBorderSize) 0px;
+
+/* Basic */
+@basicBorderRadius: @borderRadius;
+@basicBorderSize: 1px;
+@basicTextColor: @textColor;
+@basicColoredBorderSize: 1px;
+
+@basicBackground: transparent none;
+@basicFontWeight: normal;
+@basicBorder: 1px solid @borderColor;
+@basicBoxShadow: 0px 0px 0px @basicBorderSize @borderColor inset;
+@basicLoadingColor: @offWhite;
+@basicTextTransform: none;
+
+/* Basic Hover */
+@basicHoverBackground: #FFFFFF;
+@basicHoverTextColor: @hoveredTextColor;
+@basicHoverBoxShadow:
+ 0px 0px 0px @basicBorderSize @selectedBorderColor inset,
+ 0px 0px 0px 0px @borderColor inset
+;
+/* Basic Focus */
+@basicFocusBackground: @basicHoverBackground;
+@basicFocusTextColor: @basicHoverTextColor;
+@basicFocusBoxShadow: @basicHoverBoxShadow;
+
+/* Basic Down */
+@basicDownBackground: #F8F8F8;
+@basicDownTextColor: @pressedTextColor;
+@basicDownBoxShadow:
+ 0px 0px 0px @basicBorderSize rgba(0, 0, 0, 0.15) inset,
+ 0px 1px 4px 0px @borderColor inset
+;
+/* Basic Active */
+@basicActiveBackground: @transparentBlack;
+@basicActiveBoxShadow: '';
+@basicActiveTextColor: @selectedTextColor;
+
+/* Basic Inverted */
+@basicInvertedBackground: transparent;
+@basicInvertedFocusBackground: transparent;
+@basicInvertedDownBackground: @transparentWhite;
+@basicInvertedActiveBackground: @transparentWhite;
+
+@basicInvertedBoxShadow: 0px 0px 0px @invertedBorderSize rgba(255, 255, 255, 0.5) inset;
+@basicInvertedHoverBoxShadow: 0px 0px 0px @invertedBorderSize rgba(255, 255, 255, 1) inset;
+@basicInvertedFocusBoxShadow: 0px 0px 0px @invertedBorderSize rgba(255, 255, 255, 1) inset;
+@basicInvertedDownBoxShadow: 0px 0px 0px @invertedBorderSize rgba(255, 255, 255, 0.9) inset;
+@basicInvertedActiveBoxShadow: 0px 0px 0px @invertedBorderSize rgba(255, 255, 255, 0.7) inset;
+
+@basicInvertedColor: @darkWhite;
+@basicInvertedHoverColor: @darkWhiteHover;
+@basicInvertedDownColor: @darkWhiteActive;
+@basicInvertedActiveColor: @invertedTextColor;
+
+
+/* Basic Group */
+@basicGroupBorder: @basicBorderSize solid @borderColor;
+@basicGroupBoxShadow: none;
+
+/*-------------------
+ Variations
+--------------------*/
+
+/* Colors */
+@coloredBackgroundImage: none;
+@coloredBoxShadow: @shadowBoxShadow;
+
+/* Colored */
+@brownTextColor: @invertedTextColor;
+@brownTextShadow: @invertedTextShadow;
+@redTextColor: @invertedTextColor;
+@redTextShadow: @invertedTextShadow;
+@orangeTextColor: @invertedTextColor;
+@orangeTextShadow: @invertedTextShadow;
+@greenTextColor: @invertedTextColor;
+@greenTextShadow: @invertedTextShadow;
+@blueTextColor: @invertedTextColor;
+@blueTextShadow: @invertedTextShadow;
+@violetTextColor: @invertedTextColor;
+@violetTextShadow: @invertedTextShadow;
+@purpleTextColor: @invertedTextColor;
+@purpleTextShadow: @invertedTextShadow;
+@pinkTextColor: @invertedTextColor;
+@pinkTextShadow: @invertedTextShadow;
+@blackTextColor: @invertedTextColor;
+@blackTextShadow: @invertedTextShadow;
+@oliveTextColor: @invertedTextColor;
+@oliveTextShadow: @invertedTextShadow;
+@yellowTextColor: @invertedTextColor;
+@yellowTextShadow: @invertedTextShadow;
+@tealTextColor: @invertedTextColor;
+@tealTextShadow: @invertedTextShadow;
+@greyTextColor: @invertedTextColor;
+@greyTextShadow: @invertedTextShadow;
+
+/* Inverted */
+@lightBrownTextColor: @invertedTextColor;
+@lightBrownTextShadow: @invertedTextShadow;
+@lightRedTextColor: @invertedTextColor;
+@lightRedTextShadow: @invertedTextShadow;
+@lightOrangeTextColor: @invertedTextColor;
+@lightOrangeTextShadow: @invertedTextShadow;
+@lightGreenTextColor: @invertedTextColor;
+@lightGreenTextShadow: @invertedTextShadow;
+@lightBlueTextColor: @invertedTextColor;
+@lightBlueTextShadow: @invertedTextShadow;
+@lightVioletTextColor: @invertedTextColor;
+@lightVioletTextShadow: @invertedTextShadow;
+@lightPurpleTextColor: @invertedTextColor;
+@lightPurpleTextShadow: @invertedTextShadow;
+@lightPinkTextColor: @invertedTextColor;
+@lightPinkTextShadow: @invertedTextShadow;
+@lightBlackTextColor: @invertedTextColor;
+@lightBlackTextShadow: @invertedTextShadow;
+@lightOliveTextColor: @textColor;
+@lightOliveTextShadow: @textShadow;
+@lightYellowTextColor: @textColor;
+@lightYellowTextShadow: @textShadow;
+@lightTealTextColor: @textColor;
+@lightTealTextShadow: @textShadow;
+@lightGreyTextColor: @textColor;
+@lightGreyTextShadow: @textShadow;
+
+
+/* Ordinality */
+@primaryBackgroundImage: @coloredBackgroundImage;
+@primaryTextColor: @invertedTextColor;
+@primaryTextShadow: @invertedTextShadow;
+@primaryBoxShadow: @coloredBoxShadow;
+
+@secondaryBackgroundImage: @coloredBackgroundImage;
+@secondaryTextColor: @invertedTextColor;
+@secondaryTextShadow: @invertedTextShadow;
+@secondaryBoxShadow: @coloredBoxShadow;
+
+@positiveBackgroundImage: @coloredBackgroundImage;
+@positiveTextColor: @invertedTextColor;
+@positiveTextShadow: @invertedTextShadow;
+@positiveBoxShadow: @coloredBoxShadow;
+
+@negativeBackgroundImage: @coloredBackgroundImage;
+@negativeTextColor: @invertedTextColor;
+@negativeTextShadow: @invertedTextShadow;
+@negativeBoxShadow: @coloredBoxShadow;
+
+/* Compact */
+@compactVerticalPadding: (@verticalPadding * 0.75);
+@compactHorizontalPadding: (@horizontalPadding * 0.75);
+
+/* Attached */
+@attachedOffset: -1px;
+@attachedBoxShadow: 0px 0px 0px 1px @borderColor;
+@attachedHorizontalPadding: 0.75em;
+@attachedZIndex: 2;
+
+/* Floated */
+@floatedMargin: 0.25em;
+
+/* Animated */
+@animatedVerticalAlign: middle;
+@animatedZIndex: 1;
+@animationDuration: 0.3s;
+@animationEasing: ease;
+@fadeScaleHigh: 1.5;
+@fadeScaleLow: 0.75;
diff --git a/src/semantic/src/themes/default/elements/container.overrides b/src/semantic/src/themes/default/elements/container.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/container.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/elements/container.variables b/src/semantic/src/themes/default/elements/container.variables
new file mode 100644
index 0000000..33f3a8c
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/container.variables
@@ -0,0 +1,58 @@
+/*******************************
+ Container
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+/* Minimum Gutter is used to determine the maximum container width for a given device */
+
+@maxWidth: 100%;
+
+/* Devices */
+@mobileMinimumGutter: 0em;
+@mobileWidth: auto;
+@mobileGutter: 1em;
+
+@tabletMinimumGutter: (@emSize * 1);
+@tabletWidth: @tabletBreakpoint - (@tabletMinimumGutter * 2) - @scrollbarWidth;
+@tabletGutter: auto;
+
+@computerMinimumGutter: (@emSize * 1.5);
+@computerWidth: @computerBreakpoint - (@computerMinimumGutter * 2) - @scrollbarWidth;
+@computerGutter: auto;
+
+@largeMonitorMinimumGutter: (@emSize * 2);
+@largeMonitorWidth: @largeMonitorBreakpoint - (@largeMonitorMinimumGutter * 2) - @scrollbarWidth;
+@largeMonitorGutter: auto;
+
+/* Coupling (Add Negative Margin to container size) */
+@gridGutterWidth: 2rem;
+@relaxedGridGutterWidth: 3rem;
+@veryRelaxedGridGutterWidth: 5rem;
+
+@mobileGridWidth: @mobileWidth;
+@tabletGridWidth: ~"calc("@tabletWidth~" + "@gridGutterWidth~")";
+@computerGridWidth: ~"calc("@computerWidth~" + "@gridGutterWidth~")";
+@largeMonitorGridWidth: ~"calc("@largeMonitorWidth~" + "@gridGutterWidth~")";
+
+@mobileRelaxedGridWidth: @mobileWidth;
+@tabletRelaxedGridWidth: ~"calc("@tabletWidth~" + "@relaxedGridGutterWidth~")";
+@computerRelaxedGridWidth: ~"calc("@computerWidth~" + "@relaxedGridGutterWidth~")";
+@largeMonitorRelaxedGridWidth: ~"calc("@largeMonitorWidth~" + "@relaxedGridGutterWidth~")";
+
+@mobileVeryRelaxedGridWidth: @mobileWidth;
+@tabletVeryRelaxedGridWidth: ~"calc("@tabletWidth~" + "@veryRelaxedGridGutterWidth~")";
+@computerVeryRelaxedGridWidth: ~"calc("@computerWidth~" + "@veryRelaxedGridGutterWidth~")";
+@largeMonitorVeryRelaxedGridWidth: ~"calc("@largeMonitorWidth~" + "@veryRelaxedGridGutterWidth~")";
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Text */
+@textWidth: 700px;
+@textFontFamily: @pageFont;
+@textLineHeight: 1.5;
+@textSize: @large;
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/elements/divider.overrides b/src/semantic/src/themes/default/elements/divider.overrides
new file mode 100644
index 0000000..2690ca2
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/divider.overrides
@@ -0,0 +1,18 @@
+/*******************************
+ Theme Overrides
+*******************************/
+
+
+.ui.horizontal.divider:before,
+.ui.horizontal.divider:after {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC');
+}
+
+@media only screen and (max-width : (@tabletBreakpoint - 1px)) {
+ .ui.stackable.grid .ui.vertical.divider:before,
+ .ui.grid .stackable.row .ui.vertical.divider:before,
+ .ui.stackable.grid .ui.vertical.divider:after,
+ .ui.grid .stackable.row .ui.vertical.divider:after {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC');
+ }
+}
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/elements/divider.variables b/src/semantic/src/themes/default/elements/divider.variables
new file mode 100644
index 0000000..14a23a7
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/divider.variables
@@ -0,0 +1,53 @@
+/*******************************
+ Divider
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+@margin: 1rem 0rem;
+
+@highlightWidth: 1px;
+@highlightColor: @whiteBorderColor;
+
+@shadowWidth: 1px;
+@shadowColor: @borderColor;
+
+/* Text */
+@letterSpacing: 0.05em;
+@fontWeight: bold;
+@color: @darkTextColor;
+@textTransform: uppercase;
+
+/*-------------------
+ Coupling
+--------------------*/
+
+/* Icon */
+@dividerIconSize: 1rem;
+@dividerIconMargin: 0rem;
+
+
+/*******************************
+ Variations
+*******************************/
+
+/* Horizontal / Vertical */
+@horizontalMargin: '';
+@horizontalDividerMargin: 1em;
+@horizontalRulerOffset: ~"calc(-50% - "(@horizontalDividerMargin)~")";
+
+@verticalDividerMargin: 1rem;
+@verticalDividerHeight: ~"calc(100% - "(@verticalDividerMargin)~")";
+
+/* Inverted */
+@invertedTextColor: @white;
+@invertedHighlightColor: rgba(255, 255, 255, 0.15);
+@invertedShadowColor: @borderColor;
+
+/* Section */
+@sectionMargin: 2rem;
+
+/* Sizes */
+@medium: 1rem;
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/elements/flag.overrides b/src/semantic/src/themes/default/elements/flag.overrides
new file mode 100644
index 0000000..099978b
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/flag.overrides
@@ -0,0 +1,986 @@
+/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */
+
+/*******************************
+ Theme Overrides
+*******************************/
+
+i.flag.ad:before,
+i.flag.andorra:before {
+ background-position: 0px 0px;
+}
+i.flag.ae:before,
+i.flag.united.arab.emirates:before,
+i.flag.uae:before {
+ background-position: 0px -26px;
+}
+i.flag.af:before,
+i.flag.afghanistan:before {
+ background-position: 0px -52px;
+}
+i.flag.ag:before,
+i.flag.antigua:before {
+ background-position: 0px -78px;
+}
+i.flag.ai:before,
+i.flag.anguilla:before {
+ background-position: 0px -104px;
+}
+i.flag.al:before,
+i.flag.albania:before {
+ background-position: 0px -130px;
+}
+i.flag.am:before,
+i.flag.armenia:before {
+ background-position: 0px -156px;
+}
+i.flag.an:before,
+i.flag.netherlands.antilles:before {
+ background-position: 0px -182px;
+}
+i.flag.ao:before,
+i.flag.angola:before {
+ background-position: 0px -208px;
+}
+i.flag.ar:before,
+i.flag.argentina:before {
+ background-position: 0px -234px;
+}
+i.flag.as:before,
+i.flag.american.samoa:before {
+ background-position: 0px -260px;
+}
+i.flag.at:before,
+i.flag.austria:before {
+ background-position: 0px -286px;
+}
+i.flag.au:before,
+i.flag.australia:before {
+ background-position: 0px -312px;
+}
+i.flag.aw:before,
+i.flag.aruba:before {
+ background-position: 0px -338px;
+}
+i.flag.ax:before,
+i.flag.aland.islands:before {
+ background-position: 0px -364px;
+}
+i.flag.az:before,
+i.flag.azerbaijan:before {
+ background-position: 0px -390px;
+}
+i.flag.ba:before,
+i.flag.bosnia:before {
+ background-position: 0px -416px;
+}
+i.flag.bb:before,
+i.flag.barbados:before {
+ background-position: 0px -442px;
+}
+i.flag.bd:before,
+i.flag.bangladesh:before {
+ background-position: 0px -468px;
+}
+i.flag.be:before,
+i.flag.belgium:before {
+ background-position: 0px -494px;
+}
+i.flag.bf:before,
+i.flag.burkina.faso:before {
+ background-position: 0px -520px;
+}
+i.flag.bg:before,
+i.flag.bulgaria:before {
+ background-position: 0px -546px;
+}
+i.flag.bh:before,
+i.flag.bahrain:before {
+ background-position: 0px -572px;
+}
+i.flag.bi:before,
+i.flag.burundi:before {
+ background-position: 0px -598px;
+}
+i.flag.bj:before,
+i.flag.benin:before {
+ background-position: 0px -624px;
+}
+i.flag.bm:before,
+i.flag.bermuda:before {
+ background-position: 0px -650px;
+}
+i.flag.bn:before,
+i.flag.brunei:before {
+ background-position: 0px -676px;
+}
+i.flag.bo:before,
+i.flag.bolivia:before {
+ background-position: 0px -702px;
+}
+i.flag.br:before,
+i.flag.brazil:before {
+ background-position: 0px -728px;
+}
+i.flag.bs:before,
+i.flag.bahamas:before {
+ background-position: 0px -754px;
+}
+i.flag.bt:before,
+i.flag.bhutan:before {
+ background-position: 0px -780px;
+}
+i.flag.bv:before,
+i.flag.bouvet.island:before {
+ background-position: 0px -806px;
+}
+i.flag.bw:before,
+i.flag.botswana:before {
+ background-position: 0px -832px;
+}
+i.flag.by:before,
+i.flag.belarus:before {
+ background-position: 0px -858px;
+}
+i.flag.bz:before,
+i.flag.belize:before {
+ background-position: 0px -884px;
+}
+i.flag.ca:before,
+i.flag.canada:before {
+ background-position: 0px -910px;
+}
+i.flag.cc:before,
+i.flag.cocos.islands:before {
+ background-position: 0px -962px;
+}
+i.flag.cd:before,
+i.flag.congo:before {
+ background-position: 0px -988px;
+}
+i.flag.cf:before,
+i.flag.central.african.republic:before {
+ background-position: 0px -1014px;
+}
+i.flag.cg:before,
+i.flag.congo.brazzaville:before {
+ background-position: 0px -1040px;
+}
+i.flag.ch:before,
+i.flag.switzerland:before {
+ background-position: 0px -1066px;
+}
+i.flag.ci:before,
+i.flag.cote.divoire:before {
+ background-position: 0px -1092px;
+}
+i.flag.ck:before,
+i.flag.cook.islands:before {
+ background-position: 0px -1118px;
+}
+i.flag.cl:before,
+i.flag.chile:before {
+ background-position: 0px -1144px;
+}
+i.flag.cm:before,
+i.flag.cameroon:before {
+ background-position: 0px -1170px;
+}
+i.flag.cn:before,
+i.flag.china:before {
+ background-position: 0px -1196px;
+}
+i.flag.co:before,
+i.flag.colombia:before {
+ background-position: 0px -1222px;
+}
+i.flag.cr:before,
+i.flag.costa.rica:before {
+ background-position: 0px -1248px;
+}
+i.flag.cs:before,
+i.flag.serbia:before {
+ background-position: 0px -1274px;
+}
+i.flag.cu:before,
+i.flag.cuba:before {
+ background-position: 0px -1300px;
+}
+i.flag.cv:before,
+i.flag.cape.verde:before {
+ background-position: 0px -1326px;
+}
+i.flag.cx:before,
+i.flag.christmas.island:before {
+ background-position: 0px -1352px;
+}
+i.flag.cy:before,
+i.flag.cyprus:before {
+ background-position: 0px -1378px;
+}
+i.flag.cz:before,
+i.flag.czech.republic:before {
+ background-position: 0px -1404px;
+}
+i.flag.de:before,
+i.flag.germany:before {
+ background-position: 0px -1430px;
+}
+i.flag.dj:before,
+i.flag.djibouti:before {
+ background-position: 0px -1456px;
+}
+i.flag.dk:before,
+i.flag.denmark:before {
+ background-position: 0px -1482px;
+}
+i.flag.dm:before,
+i.flag.dominica:before {
+ background-position: 0px -1508px;
+}
+i.flag.do:before,
+i.flag.dominican.republic:before {
+ background-position: 0px -1534px;
+}
+i.flag.dz:before,
+i.flag.algeria:before {
+ background-position: 0px -1560px;
+}
+i.flag.ec:before,
+i.flag.ecuador:before {
+ background-position: 0px -1586px;
+}
+i.flag.ee:before,
+i.flag.estonia:before {
+ background-position: 0px -1612px;
+}
+i.flag.eg:before,
+i.flag.egypt:before {
+ background-position: 0px -1638px;
+}
+i.flag.eh:before,
+i.flag.western.sahara:before {
+ background-position: 0px -1664px;
+}
+i.flag.er:before,
+i.flag.eritrea:before {
+ background-position: 0px -1716px;
+}
+i.flag.es:before,
+i.flag.spain:before {
+ background-position: 0px -1742px;
+}
+i.flag.et:before,
+i.flag.ethiopia:before {
+ background-position: 0px -1768px;
+}
+i.flag.eu:before,
+i.flag.european.union:before {
+ background-position: 0px -1794px;
+}
+i.flag.fi:before,
+i.flag.finland:before {
+ background-position: 0px -1846px;
+}
+i.flag.fj:before,
+i.flag.fiji:before {
+ background-position: 0px -1872px;
+}
+i.flag.fk:before,
+i.flag.falkland.islands:before {
+ background-position: 0px -1898px;
+}
+i.flag.fm:before,
+i.flag.micronesia:before {
+ background-position: 0px -1924px;
+}
+i.flag.fo:before,
+i.flag.faroe.islands:before {
+ background-position: 0px -1950px;
+}
+i.flag.fr:before,
+i.flag.france:before {
+ background-position: 0px -1976px;
+}
+i.flag.ga:before,
+i.flag.gabon:before {
+ background-position: -36px 0px;
+}
+i.flag.gb:before,
+i.flag.united.kingdom:before {
+ background-position: -36px -26px;
+}
+i.flag.gd:before,
+i.flag.grenada:before {
+ background-position: -36px -52px;
+}
+i.flag.ge:before,
+i.flag.georgia:before {
+ background-position: -36px -78px;
+}
+i.flag.gf:before,
+i.flag.french.guiana:before {
+ background-position: -36px -104px;
+}
+i.flag.gh:before,
+i.flag.ghana:before {
+ background-position: -36px -130px;
+}
+i.flag.gi:before,
+i.flag.gibraltar:before {
+ background-position: -36px -156px;
+}
+i.flag.gl:before,
+i.flag.greenland:before {
+ background-position: -36px -182px;
+}
+i.flag.gm:before,
+i.flag.gambia:before {
+ background-position: -36px -208px;
+}
+i.flag.gn:before,
+i.flag.guinea:before {
+ background-position: -36px -234px;
+}
+i.flag.gp:before,
+i.flag.guadeloupe:before {
+ background-position: -36px -260px;
+}
+i.flag.gq:before,
+i.flag.equatorial.guinea:before {
+ background-position: -36px -286px;
+}
+i.flag.gr:before,
+i.flag.greece:before {
+ background-position: -36px -312px;
+}
+i.flag.gs:before,
+i.flag.sandwich.islands:before {
+ background-position: -36px -338px;
+}
+i.flag.gt:before,
+i.flag.guatemala:before {
+ background-position: -36px -364px;
+}
+i.flag.gu:before,
+i.flag.guam:before {
+ background-position: -36px -390px;
+}
+i.flag.gw:before,
+i.flag.guinea-bissau:before {
+ background-position: -36px -416px;
+}
+i.flag.gy:before,
+i.flag.guyana:before {
+ background-position: -36px -442px;
+}
+i.flag.hk:before,
+i.flag.hong.kong:before {
+ background-position: -36px -468px;
+}
+i.flag.hm:before,
+i.flag.heard.island:before {
+ background-position: -36px -494px;
+}
+i.flag.hn:before,
+i.flag.honduras:before {
+ background-position: -36px -520px;
+}
+i.flag.hr:before,
+i.flag.croatia:before {
+ background-position: -36px -546px;
+}
+i.flag.ht:before,
+i.flag.haiti:before {
+ background-position: -36px -572px;
+}
+i.flag.hu:before,
+i.flag.hungary:before {
+ background-position: -36px -598px;
+}
+i.flag.id:before,
+i.flag.indonesia:before {
+ background-position: -36px -624px;
+}
+i.flag.ie:before,
+i.flag.ireland:before {
+ background-position: -36px -650px;
+}
+i.flag.il:before,
+i.flag.israel:before {
+ background-position: -36px -676px;
+}
+i.flag.in:before,
+i.flag.india:before {
+ background-position: -36px -702px;
+}
+i.flag.io:before,
+i.flag.indian.ocean.territory:before {
+ background-position: -36px -728px;
+}
+i.flag.iq:before,
+i.flag.iraq:before {
+ background-position: -36px -754px;
+}
+i.flag.ir:before,
+i.flag.iran:before {
+ background-position: -36px -780px;
+}
+i.flag.is:before,
+i.flag.iceland:before {
+ background-position: -36px -806px;
+}
+i.flag.it:before,
+i.flag.italy:before {
+ background-position: -36px -832px;
+}
+i.flag.jm:before,
+i.flag.jamaica:before {
+ background-position: -36px -858px;
+}
+i.flag.jo:before,
+i.flag.jordan:before {
+ background-position: -36px -884px;
+}
+i.flag.jp:before,
+i.flag.japan:before {
+ background-position: -36px -910px;
+}
+i.flag.ke:before,
+i.flag.kenya:before {
+ background-position: -36px -936px;
+}
+i.flag.kg:before,
+i.flag.kyrgyzstan:before {
+ background-position: -36px -962px;
+}
+i.flag.kh:before,
+i.flag.cambodia:before {
+ background-position: -36px -988px;
+}
+i.flag.ki:before,
+i.flag.kiribati:before {
+ background-position: -36px -1014px;
+}
+i.flag.km:before,
+i.flag.comoros:before {
+ background-position: -36px -1040px;
+}
+i.flag.kn:before,
+i.flag.saint.kitts.and.nevis:before {
+ background-position: -36px -1066px;
+}
+i.flag.kp:before,
+i.flag.north.korea:before {
+ background-position: -36px -1092px;
+}
+i.flag.kr:before,
+i.flag.south.korea:before {
+ background-position: -36px -1118px;
+}
+i.flag.kw:before,
+i.flag.kuwait:before {
+ background-position: -36px -1144px;
+}
+i.flag.ky:before,
+i.flag.cayman.islands:before {
+ background-position: -36px -1170px;
+}
+i.flag.kz:before,
+i.flag.kazakhstan:before {
+ background-position: -36px -1196px;
+}
+i.flag.la:before,
+i.flag.laos:before {
+ background-position: -36px -1222px;
+}
+i.flag.lb:before,
+i.flag.lebanon:before {
+ background-position: -36px -1248px;
+}
+i.flag.lc:before,
+i.flag.saint.lucia:before {
+ background-position: -36px -1274px;
+}
+i.flag.li:before,
+i.flag.liechtenstein:before {
+ background-position: -36px -1300px;
+}
+i.flag.lk:before,
+i.flag.sri.lanka:before {
+ background-position: -36px -1326px;
+}
+i.flag.lr:before,
+i.flag.liberia:before {
+ background-position: -36px -1352px;
+}
+i.flag.ls:before,
+i.flag.lesotho:before {
+ background-position: -36px -1378px;
+}
+i.flag.lt:before,
+i.flag.lithuania:before {
+ background-position: -36px -1404px;
+}
+i.flag.lu:before,
+i.flag.luxembourg:before {
+ background-position: -36px -1430px;
+}
+i.flag.lv:before,
+i.flag.latvia:before {
+ background-position: -36px -1456px;
+}
+i.flag.ly:before,
+i.flag.libya:before {
+ background-position: -36px -1482px;
+}
+i.flag.ma:before,
+i.flag.morocco:before {
+ background-position: -36px -1508px;
+}
+i.flag.mc:before,
+i.flag.monaco:before {
+ background-position: -36px -1534px;
+}
+i.flag.md:before,
+i.flag.moldova:before {
+ background-position: -36px -1560px;
+}
+i.flag.me:before,
+i.flag.montenegro:before {
+ background-position: -36px -1586px;
+}
+i.flag.mg:before,
+i.flag.madagascar:before {
+ background-position: -36px -1613px;
+}
+i.flag.mh:before,
+i.flag.marshall.islands:before {
+ background-position: -36px -1639px;
+}
+i.flag.mk:before,
+i.flag.macedonia:before {
+ background-position: -36px -1665px;
+}
+i.flag.ml:before,
+i.flag.mali:before {
+ background-position: -36px -1691px;
+}
+i.flag.mm:before,
+i.flag.myanmar:before,
+i.flag.burma:before {
+ background-position: -36px -1717px;
+}
+i.flag.mn:before,
+i.flag.mongolia:before {
+ background-position: -36px -1743px;
+}
+i.flag.mo:before,
+i.flag.macau:before {
+ background-position: -36px -1769px;
+}
+i.flag.mp:before,
+i.flag.northern.mariana.islands:before {
+ background-position: -36px -1795px;
+}
+i.flag.mq:before,
+i.flag.martinique:before {
+ background-position: -36px -1821px;
+}
+i.flag.mr:before,
+i.flag.mauritania:before {
+ background-position: -36px -1847px;
+}
+i.flag.ms:before,
+i.flag.montserrat:before {
+ background-position: -36px -1873px;
+}
+i.flag.mt:before,
+i.flag.malta:before {
+ background-position: -36px -1899px;
+}
+i.flag.mu:before,
+i.flag.mauritius:before {
+ background-position: -36px -1925px;
+}
+i.flag.mv:before,
+i.flag.maldives:before {
+ background-position: -36px -1951px;
+}
+i.flag.mw:before,
+i.flag.malawi:before {
+ background-position: -36px -1977px;
+}
+i.flag.mx:before,
+i.flag.mexico:before {
+ background-position: -72px 0px;
+}
+i.flag.my:before,
+i.flag.malaysia:before {
+ background-position: -72px -26px;
+}
+i.flag.mz:before,
+i.flag.mozambique:before {
+ background-position: -72px -52px;
+}
+i.flag.na:before,
+i.flag.namibia:before {
+ background-position: -72px -78px;
+}
+i.flag.nc:before,
+i.flag.new.caledonia:before {
+ background-position: -72px -104px;
+}
+i.flag.ne:before,
+i.flag.niger:before {
+ background-position: -72px -130px;
+}
+i.flag.nf:before,
+i.flag.norfolk.island:before {
+ background-position: -72px -156px;
+}
+i.flag.ng:before,
+i.flag.nigeria:before {
+ background-position: -72px -182px;
+}
+i.flag.ni:before,
+i.flag.nicaragua:before {
+ background-position: -72px -208px;
+}
+i.flag.nl:before,
+i.flag.netherlands:before {
+ background-position: -72px -234px;
+}
+i.flag.no:before,
+i.flag.norway:before {
+ background-position: -72px -260px;
+}
+i.flag.np:before,
+i.flag.nepal:before {
+ background-position: -72px -286px;
+}
+i.flag.nr:before,
+i.flag.nauru:before {
+ background-position: -72px -312px;
+}
+i.flag.nu:before,
+i.flag.niue:before {
+ background-position: -72px -338px;
+}
+i.flag.nz:before,
+i.flag.new.zealand:before {
+ background-position: -72px -364px;
+}
+i.flag.om:before,
+i.flag.oman:before {
+ background-position: -72px -390px;
+}
+i.flag.pa:before,
+i.flag.panama:before {
+ background-position: -72px -416px;
+}
+i.flag.pe:before,
+i.flag.peru:before {
+ background-position: -72px -442px;
+}
+i.flag.pf:before,
+i.flag.french.polynesia:before {
+ background-position: -72px -468px;
+}
+i.flag.pg:before,
+i.flag.new.guinea:before {
+ background-position: -72px -494px;
+}
+i.flag.ph:before,
+i.flag.philippines:before {
+ background-position: -72px -520px;
+}
+i.flag.pk:before,
+i.flag.pakistan:before {
+ background-position: -72px -546px;
+}
+i.flag.pl:before,
+i.flag.poland:before {
+ background-position: -72px -572px;
+}
+i.flag.pm:before,
+i.flag.saint.pierre:before {
+ background-position: -72px -598px;
+}
+i.flag.pn:before,
+i.flag.pitcairn.islands:before {
+ background-position: -72px -624px;
+}
+i.flag.pr:before,
+i.flag.puerto.rico:before {
+ background-position: -72px -650px;
+}
+i.flag.ps:before,
+i.flag.palestine:before {
+ background-position: -72px -676px;
+}
+i.flag.pt:before,
+i.flag.portugal:before {
+ background-position: -72px -702px;
+}
+i.flag.pw:before,
+i.flag.palau:before {
+ background-position: -72px -728px;
+}
+i.flag.py:before,
+i.flag.paraguay:before {
+ background-position: -72px -754px;
+}
+i.flag.qa:before,
+i.flag.qatar:before {
+ background-position: -72px -780px;
+}
+i.flag.re:before,
+i.flag.reunion:before {
+ background-position: -72px -806px;
+}
+i.flag.ro:before,
+i.flag.romania:before {
+ background-position: -72px -832px;
+}
+i.flag.rs:before,
+i.flag.serbia:before {
+ background-position: -72px -858px;
+}
+i.flag.ru:before,
+i.flag.russia:before {
+ background-position: -72px -884px;
+}
+i.flag.rw:before,
+i.flag.rwanda:before {
+ background-position: -72px -910px;
+}
+i.flag.sa:before,
+i.flag.saudi.arabia:before {
+ background-position: -72px -936px;
+}
+i.flag.sb:before,
+i.flag.solomon.islands:before {
+ background-position: -72px -962px;
+}
+i.flag.sc:before,
+i.flag.seychelles:before {
+ background-position: -72px -988px;
+}
+i.flag.gb.sct:before,
+i.flag.scotland:before {
+ background-position: -72px -1014px;
+}
+i.flag.sd:before,
+i.flag.sudan:before {
+ background-position: -72px -1040px;
+}
+i.flag.se:before,
+i.flag.sweden:before {
+ background-position: -72px -1066px;
+}
+i.flag.sg:before,
+i.flag.singapore:before {
+ background-position: -72px -1092px;
+}
+i.flag.sh:before,
+i.flag.saint.helena:before {
+ background-position: -72px -1118px;
+}
+i.flag.si:before,
+i.flag.slovenia:before {
+ background-position: -72px -1144px;
+}
+i.flag.sj:before,
+i.flag.svalbard:before,
+i.flag.jan.mayen:before {
+ background-position: -72px -1170px;
+}
+i.flag.sk:before,
+i.flag.slovakia:before {
+ background-position: -72px -1196px;
+}
+i.flag.sl:before,
+i.flag.sierra.leone:before {
+ background-position: -72px -1222px;
+}
+i.flag.sm:before,
+i.flag.san.marino:before {
+ background-position: -72px -1248px;
+}
+i.flag.sn:before,
+i.flag.senegal:before {
+ background-position: -72px -1274px;
+}
+i.flag.so:before,
+i.flag.somalia:before {
+ background-position: -72px -1300px;
+}
+i.flag.sr:before,
+i.flag.suriname:before {
+ background-position: -72px -1326px;
+}
+i.flag.st:before,
+i.flag.sao.tome:before {
+ background-position: -72px -1352px;
+}
+i.flag.sv:before,
+i.flag.el.salvador:before {
+ background-position: -72px -1378px;
+}
+i.flag.sy:before,
+i.flag.syria:before {
+ background-position: -72px -1404px;
+}
+i.flag.sz:before,
+i.flag.swaziland:before {
+ background-position: -72px -1430px;
+}
+i.flag.tc:before,
+i.flag.caicos.islands:before {
+ background-position: -72px -1456px;
+}
+i.flag.td:before,
+i.flag.chad:before {
+ background-position: -72px -1482px;
+}
+i.flag.tf:before,
+i.flag.french.territories:before {
+ background-position: -72px -1508px;
+}
+i.flag.tg:before,
+i.flag.togo:before {
+ background-position: -72px -1534px;
+}
+i.flag.th:before,
+i.flag.thailand:before {
+ background-position: -72px -1560px;
+}
+i.flag.tj:before,
+i.flag.tajikistan:before {
+ background-position: -72px -1586px;
+}
+i.flag.tk:before,
+i.flag.tokelau:before {
+ background-position: -72px -1612px;
+}
+i.flag.tl:before,
+i.flag.timorleste:before {
+ background-position: -72px -1638px;
+}
+i.flag.tm:before,
+i.flag.turkmenistan:before {
+ background-position: -72px -1664px;
+}
+i.flag.tn:before,
+i.flag.tunisia:before {
+ background-position: -72px -1690px;
+}
+i.flag.to:before,
+i.flag.tonga:before {
+ background-position: -72px -1716px;
+}
+i.flag.tr:before,
+i.flag.turkey:before {
+ background-position: -72px -1742px;
+}
+i.flag.tt:before,
+i.flag.trinidad:before {
+ background-position: -72px -1768px;
+}
+i.flag.tv:before,
+i.flag.tuvalu:before {
+ background-position: -72px -1794px;
+}
+i.flag.tw:before,
+i.flag.taiwan:before {
+ background-position: -72px -1820px;
+}
+i.flag.tz:before,
+i.flag.tanzania:before {
+ background-position: -72px -1846px;
+}
+i.flag.ua:before,
+i.flag.ukraine:before {
+ background-position: -72px -1872px;
+}
+i.flag.ug:before,
+i.flag.uganda:before {
+ background-position: -72px -1898px;
+}
+i.flag.um:before,
+i.flag.us.minor.islands:before {
+ background-position: -72px -1924px;
+}
+i.flag.us:before,
+i.flag.america:before,
+i.flag.united.states:before {
+ background-position: -72px -1950px;
+}
+i.flag.uy:before,
+i.flag.uruguay:before {
+ background-position: -72px -1976px;
+}
+i.flag.uz:before,
+i.flag.uzbekistan:before {
+ background-position: -108px 0px;
+}
+i.flag.va:before,
+i.flag.vatican.city:before {
+ background-position: -108px -26px;
+}
+i.flag.vc:before,
+i.flag.saint.vincent:before {
+ background-position: -108px -52px;
+}
+i.flag.ve:before,
+i.flag.venezuela:before {
+ background-position: -108px -78px;
+}
+i.flag.vg:before,
+i.flag.british.virgin.islands:before {
+ background-position: -108px -104px;
+}
+i.flag.vi:before,
+i.flag.us.virgin.islands:before {
+ background-position: -108px -130px;
+}
+i.flag.vn:before,
+i.flag.vietnam:before {
+ background-position: -108px -156px;
+}
+i.flag.vu:before,
+i.flag.vanuatu:before {
+ background-position: -108px -182px;
+}
+i.flag.gb.wls:before,
+i.flag.wales:before {
+ background-position: -108px -208px;
+}
+i.flag.wf:before,
+i.flag.wallis.and.futuna:before {
+ background-position: -108px -234px;
+}
+i.flag.ws:before,
+i.flag.samoa:before {
+ background-position: -108px -260px;
+}
+i.flag.ye:before,
+i.flag.yemen:before {
+ background-position: -108px -286px;
+}
+i.flag.yt:before,
+i.flag.mayotte:before {
+ background-position: -108px -312px;
+}
+i.flag.za:before,
+i.flag.south.africa:before {
+ background-position: -108px -338px;
+}
+i.flag.zm:before,
+i.flag.zambia:before {
+ background-position: -108px -364px;
+}
+i.flag.zw:before,
+i.flag.zimbabwe:before {
+ background-position: -108px -390px;
+}
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/elements/flag.variables b/src/semantic/src/themes/default/elements/flag.variables
new file mode 100644
index 0000000..cf0884c
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/flag.variables
@@ -0,0 +1,13 @@
+/*******************************
+ Flag
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+@spritePath: "@{imagePath}/flags.png";
+@width: 16px;
+@height: 11px;
+@verticalAlign: baseline;
+@margin: 0.5em;
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/elements/header.overrides b/src/semantic/src/themes/default/elements/header.overrides
new file mode 100644
index 0000000..0e06821
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/header.overrides
@@ -0,0 +1,4 @@
+/*******************************
+ Theme Overrides
+*******************************/
+
diff --git a/src/semantic/src/themes/default/elements/header.variables b/src/semantic/src/themes/default/elements/header.variables
new file mode 100644
index 0000000..6c4ebfd
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/header.variables
@@ -0,0 +1,151 @@
+/*******************************
+ Header
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+@textTransform: none;
+@fontFamily: @headerFont;
+@fontWeight: @headerFontWeight;
+@lineHeight: @headerLineHeight;
+@lineHeightOffset: @headerLineHeightOffset;
+
+@topMargin: @headerTopMargin;
+@bottomMargin: @headerBottomMargin;
+@margin: @topMargin 0em @bottomMargin;
+
+@firstMargin: -@lineHeightOffset;
+@lastMargin: 0em;
+@horizontalPadding: 0em;
+@verticalPadding: 0em;
+
+/* Sub Heading */
+@subHeadingDistance: @2px;
+@subHeadingFontSize: @relativeTiny;
+@subHeadingFontWeight: bold;
+@subHeadingTextTransform: uppercase;
+@subHeadingColor: '';
+
+@smallSubHeadingSize: @relativeMini;
+@largeSubHeadingSize: @relativeSmall;
+@hugeSubHeadingSize: @relativeMedium;
+
+/* Sub Header */
+@subHeaderMargin: 0em;
+@subHeaderLineHeight: 1.2em;
+@subHeaderColor: @mutedTextColor;
+
+/* Icon */
+@iconOpacity: 1;
+@iconSize: 1.5em;
+@iconOffset: @lineHeightOffset;
+@iconMargin: 0.75rem;
+@iconAlignment: middle;
+
+/* Image */
+@imageWidth: 2.5em;
+@imageHeight: auto;
+@imageOffset: @lineHeightOffset;
+@imageMargin: @iconMargin;
+@imageAlignment: middle;
+
+/* Label */
+@labelSize: '';
+@labelDistance: 0.5rem;
+@labelVerticalAlign: middle;
+
+/* Content */
+@contentAlignment: top;
+@contentIconAlignment: middle;
+@contentImageAlignment: middle;
+
+/* Paragraph after Header */
+@nextParagraphDistance: 0em;
+
+/*-------------------
+ Variations
+--------------------*/
+
+/* Sizing */
+@hugeFontSize : unit(@h1, em);
+@largeFontSize : unit(@h2, em);
+@mediumFontSize : unit(@h3, em);
+@smallFontSize : unit(@h4, em);
+@tinyFontSize : unit(@h5, em);
+
+/* Sub Header */
+@h1SubHeaderFontSize: @large;
+@h2SubHeaderFontSize: @large;
+@h3SubHeaderFontSize: @medium;
+@h4SubHeaderFontSize: @medium;
+@h5SubHeaderFontSize: @small;
+
+@hugeSubHeaderFontSize : @h1SubHeaderFontSize;
+@largeSubHeaderFontSize : @h2SubHeaderFontSize;
+@subHeaderFontSize : @h3SubHeaderFontSize;
+@smallSubHeaderFontSize : @h4SubHeaderFontSize;
+@tinySubHeaderFontSize : @h5SubHeaderFontSize;
+
+/* Icon Header */
+@iconHeaderSize: 3em;
+@iconHeaderOpacity: 1;
+@iconHeaderMargin: 0.5rem;
+@circularHeaderIconSize: 2em;
+@squareHeaderIconSize: 2em;
+
+/* No Line Height Offset */
+@iconHeaderTopMargin: 2rem;
+@iconHeaderBottomMargin: @bottomMargin;
+@iconHeaderFirstMargin: 0em;
+
+/* Divided */
+@dividedBorderWidth: 1px;
+@dividedBorder: @dividedBorderWidth solid @borderColor;
+@dividedColoredBorderWidth: 2px;
+
+@dividedBorderPadding: @3px;
+@dividedSubHeaderPadding: @3px;
+@dividedIconPadding: 0em;
+
+/* Block */
+@blockBackground: @darkWhite;
+@blockBoxShadow: none;
+@blockBorderWidth: 1px;
+@blockBorder: @blockBorderWidth solid @solidBorderColor;
+@blockHorizontalPadding: @medium;
+@blockVerticalPadding: @mini;
+@blockBorderRadius: @defaultBorderRadius;
+
+@tinyBlock: @tiny;
+@smallBlock: @small;
+@mediumBlock: @medium;
+@largeBlock: @large;
+@hugeBlock: @huge;
+
+/* Attached */
+@attachedOffset: -1px;
+@attachedBoxShadow: none;
+@attachedBorder: 1px solid @solidBorderColor;
+@attachedVerticalPadding: @blockVerticalPadding;
+@attachedHorizontalPadding: @blockHorizontalPadding;
+@attachedBackground: @white;
+@attachedBorderRadius: @blockBorderRadius;
+
+@tinyAttachedSize: @relativeTiny;
+@smallAttachedSize: @relativeSmall;
+@mediumAttachedSize: @relativeMedium;
+@largeAttachedSize: @relativeLarge;
+@bigAttachedSize: @relativeBig;
+@hugeAttachedSize: @relativeHuge;
+
+/* Inverted */
+@invertedColor: @white;
+@invertedSubHeaderColor: @invertedMutedTextColor;
+@invertedDividedBorderColor: @whiteBorderColor;
+@invertedBlockBackground: @lightBlack @subtleGradient;
+@invertedAttachedBackground: @invertedBlockBackground;
+
+/* Floated */
+@floatedMargin: 0.5em;
diff --git a/src/semantic/src/themes/default/elements/icon.overrides b/src/semantic/src/themes/default/elements/icon.overrides
new file mode 100644
index 0000000..62ab965
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/icon.overrides
@@ -0,0 +1,941 @@
+/*
+ * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */
+
+/*******************************
+
+Semantic-UI integration of font-awesome :
+
+///class names are separated
+i.icon.circle => i.icon.circle
+i.icon.circle-o => i.icon.circle.outline
+
+//abbreviation are replaced by full letters:
+i.icon.ellipsis-h => i.icon.ellipsis.horizontal
+i.icon.ellipsis-v => i.icon.ellipsis.vertical
+.alpha => .i.icon.alphabet
+.asc => .i.icon.ascending
+.desc => .i.icon.descending
+.alt =>.alternate
+
+ASCII order is conserved for easier maintenance.
+
+Icons that only have one style 'outline', 'square' etc do not require this class
+for instance `lemon icon` not `lemon outline icon` since there is only one lemon
+
+*******************************/
+
+/*******************************
+ Icons
+*******************************/
+
+/* Web Content */
+i.icon.search:before { content: "\f002"; }
+i.icon.mail.outline:before { content: "\f003"; }
+i.icon.signal:before { content: "\f012"; }
+i.icon.setting:before { content: "\f013"; }
+i.icon.home:before { content: "\f015"; }
+i.icon.inbox:before { content: "\f01c"; }
+i.icon.browser:before { content: "\f022"; }
+i.icon.tag:before { content: "\f02b"; }
+i.icon.tags:before { content: "\f02c"; }
+i.icon.image:before { content: "\f03e"; }
+i.icon.calendar:before { content: "\f073"; }
+i.icon.comment:before { content: "\f075"; }
+i.icon.shop:before { content: "\f07a"; }
+i.icon.comments:before { content: "\f086"; }
+i.icon.external:before { content: "\f08e"; }
+i.icon.privacy:before { content: "\f084"; }
+i.icon.settings:before { content: "\f085"; }
+i.icon.comments:before { content: "\f086"; }
+i.icon.external:before { content: "\f08e"; }
+i.icon.trophy:before { content: "\f091"; }
+i.icon.payment:before { content: "\f09d"; }
+i.icon.feed:before { content: "\f09e"; }
+i.icon.alarm.outline:before { content: "\f0a2"; }
+i.icon.tasks:before { content: "\f0ae"; }
+i.icon.cloud:before { content: "\f0c2"; }
+i.icon.lab:before { content: "\f0c3"; }
+i.icon.mail:before { content: "\f0e0"; }
+i.icon.dashboard:before { content: "\f0e4"; }
+i.icon.comment.outline:before { content: "\f0e5"; }
+i.icon.comments.outline:before { content: "\f0e6"; }
+i.icon.sitemap:before { content: "\f0e8"; }
+i.icon.idea:before { content: "\f0eb"; }
+i.icon.alarm:before { content: "\f0f3"; }
+i.icon.terminal:before { content: "\f120"; }
+i.icon.code:before { content: "\f121"; }
+i.icon.protect:before { content: "\f132"; }
+i.icon.calendar.outline:before { content: "\f133"; }
+i.icon.ticket:before { content: "\f145"; }
+i.icon.external.square:before { content: "\f14c"; }
+i.icon.bug:before { content: "\f188"; }
+i.icon.mail.square:before { content: "\f199"; }
+i.icon.history:before { content: "\f1da"; }
+i.icon.options:before { content: "\f1de"; }
+i.icon.text.telephone:before { content: "\f1e4"; }
+i.icon.find:before { content: "\f1e5"; }
+i.icon.wifi:before { content: "\f1eb"; }
+i.icon.alarm.mute:before { content: "\f1f6"; }
+i.icon.alarm.mute.outline:before { content: "\f1f7"; }
+i.icon.copyright:before { content: "\f1f9"; }
+i.icon.at:before { content: "\f1fa"; }
+i.icon.eyedropper:before { content: "\f1fb"; }
+i.icon.paint.brush:before { content: "\f1fc"; }
+i.icon.heartbeat:before { content: "\f21e"; }
+i.icon.mouse.pointer:before { content: "\f245"; }
+i.icon.hourglass.empty:before { content: "\f250"; }
+i.icon.hourglass.start:before { content: "\f251"; }
+i.icon.hourglass.half:before { content: "\f252"; }
+i.icon.hourglass.end:before { content: "\f253"; }
+i.icon.hourglass.full:before { content: "\f254"; }
+i.icon.hand.pointer:before { content: "\f25a"; }
+i.icon.trademark:before { content: "\f25c"; }
+i.icon.registered:before { content: "\f25d"; }
+i.icon.creative.commons:before { content: "\f25e"; }
+i.icon.add.to.calendar:before { content: "\f271"; }
+i.icon.remove.from.calendar:before { content: "\f272"; }
+i.icon.delete.calendar:before { content: "\f273"; }
+i.icon.checked.calendar:before { content: "\f274"; }
+i.icon.industry:before { content: "\f275"; }
+i.icon.shopping.bag:before { content: "\f290"; }
+i.icon.shopping.basket:before { content: "\f291"; }
+i.icon.hashtag:before { content: "\f292"; }
+i.icon.percent:before { content: "\f295"; }
+
+/* User Actions */
+i.icon.wait:before { content: "\f017"; }
+i.icon.download:before { content: "\f019"; }
+i.icon.repeat:before { content: "\f01e"; }
+i.icon.refresh:before { content: "\f021"; }
+i.icon.lock:before { content: "\f023"; }
+i.icon.bookmark:before { content: "\f02e"; }
+i.icon.print:before { content: "\f02f"; }
+i.icon.write:before { content: "\f040"; }
+i.icon.adjust:before { content: "\f042"; }
+i.icon.theme:before { content: "\f043"; }
+i.icon.edit:before { content: "\f044"; }
+i.icon.external.share:before { content: "\f045"; }
+i.icon.ban:before { content: "\f05e"; }
+i.icon.mail.forward:before { content: "\f064"; }
+i.icon.share:before { content: "\f064"; }
+i.icon.expand:before { content: "\f065"; }
+i.icon.compress:before { content: "\f066"; }
+i.icon.unhide:before { content: "\f06e"; }
+i.icon.hide:before { content: "\f070"; }
+i.icon.random:before { content: "\f074"; }
+i.icon.retweet:before { content: "\f079"; }
+i.icon.sign.out:before { content: "\f08b"; }
+i.icon.pin:before { content: "\f08d"; }
+i.icon.sign.in:before { content: "\f090"; }
+i.icon.upload:before { content: "\f093"; }
+i.icon.call:before { content: "\f095"; }
+i.icon.remove.bookmark:before { content: "\f097"; }
+i.icon.call.square:before { content: "\f098"; }
+i.icon.unlock:before { content: "\f09c"; }
+i.icon.configure:before { content: "\f0ad"; }
+i.icon.filter:before { content: "\f0b0"; }
+i.icon.wizard:before { content: "\f0d0"; }
+i.icon.undo:before { content: "\f0e2"; }
+i.icon.exchange:before { content: "\f0ec"; }
+i.icon.cloud.download:before { content: "\f0ed"; }
+i.icon.cloud.upload:before { content: "\f0ee"; }
+i.icon.reply:before { content: "\f112"; }
+i.icon.reply.all:before { content: "\f122"; }
+i.icon.erase:before { content: "\f12d"; }
+i.icon.unlock.alternate:before { content: "\f13e"; }
+i.icon.write.square:before { content: "\f14b"; }
+i.icon.share.square:before { content: "\f14d"; }
+i.icon.archive:before { content: "\f187"; }
+i.icon.translate:before { content: "\f1ab"; }
+i.icon.recycle:before { content: "\f1b8"; }
+i.icon.send:before { content: "\f1d8"; }
+i.icon.send.outline:before { content: "\f1d9"; }
+i.icon.share.alternate:before { content: "\f1e0"; }
+i.icon.share.alternate.square:before { content: "\f1e1"; }
+i.icon.add.to.cart:before { content: "\f217"; }
+i.icon.in.cart:before { content: "\f218"; }
+i.icon.add.user:before { content: "\f234"; }
+i.icon.remove.user:before { content: "\f235"; }
+i.icon.object.group:before { content: "\f247"; }
+i.icon.object.ungroup:before { content: "\f248"; }
+i.icon.clone:before { content: "\f24d"; }
+i.icon.talk:before { content: "\f27a"; }
+i.icon.talk.outline:before { content: "\f27b"; }
+
+/* Messages */
+i.icon.help.circle:before { content: "\f059"; }
+i.icon.info.circle:before { content: "\f05a"; }
+i.icon.warning.circle:before { content: "\f06a"; }
+i.icon.warning.sign:before { content: "\f071"; }
+i.icon.announcement:before { content: "\f0a1"; }
+i.icon.help:before { content: "\f128"; }
+i.icon.info:before { content: "\f129"; }
+i.icon.warning:before { content: "\f12a"; }
+i.icon.birthday:before { content: "\f1fd"; }
+i.icon.help.circle.outline:before { content: "\f29c"; }
+
+/* Users */
+i.icon.user:before { content: "\f007"; }
+i.icon.users:before { content: "\f0c0"; }
+i.icon.doctor:before { content: "\f0f0"; }
+i.icon.handicap:before { content: "\f193"; }
+i.icon.student:before { content: "\f19d"; }
+i.icon.child:before { content: "\f1ae"; }
+i.icon.spy:before { content: "\f21b"; }
+
+/* Gender & Sexuality */
+i.icon.female:before { content: "\f182"; }
+i.icon.male:before { content: "\f183"; }
+i.icon.woman:before { content: "\f221"; }
+i.icon.man:before { content: "\f222"; }
+i.icon.non.binary.transgender:before { content: "\f223"; }
+i.icon.intergender:before { content: "\f224"; }
+i.icon.transgender:before { content: "\f225"; }
+i.icon.lesbian:before { content: "\f226"; }
+i.icon.gay:before { content: "\f227"; }
+i.icon.heterosexual:before { content: "\f228"; }
+i.icon.other.gender:before { content: "\f229"; }
+i.icon.other.gender.vertical:before { content: "\f22a"; }
+i.icon.other.gender.horizontal:before { content: "\f22b"; }
+i.icon.neuter:before { content: "\f22c"; }
+i.icon.genderless:before { content: "\f22d"; }
+
+/* Accessibility */
+i.icon.universal.access:before { content: "\f29a"; }
+i.icon.wheelchair:before { content: "\f29b"; }
+i.icon.blind:before { content: "\f29d"; }
+i.icon.audio.description:before { content: "\f29e"; }
+i.icon.volume.control.phone:before { content: "\f2a0"; }
+i.icon.braille:before { content: "\f2a1"; }
+i.icon.asl:before { content: "\f2a3"; }
+i.icon.assistive.listening.systems:before { content: "\f2a2"; }
+i.icon.deafness:before { content: "\f2a4"; }
+i.icon.sign.language:before { content: "\f2a7"; }
+i.icon.low.vision:before { content: "\f2a8"; }
+
+/* View Adjustment */
+i.icon.block.layout:before { content: "\f009"; }
+i.icon.grid.layout:before { content: "\f00a"; }
+i.icon.list.layout:before { content: "\f00b"; }
+i.icon.zoom:before { content: "\f00e"; }
+i.icon.zoom.out:before { content: "\f010"; }
+i.icon.resize.vertical:before { content: "\f07d"; }
+i.icon.resize.horizontal:before { content: "\f07e"; }
+i.icon.maximize:before { content: "\f0b2"; }
+i.icon.crop:before { content: "\f125"; }
+
+/* Literal Objects */
+i.icon.cocktail:before { content: "\f000"; }
+i.icon.road:before { content: "\f018"; }
+i.icon.flag:before { content: "\f024"; }
+i.icon.book:before { content: "\f02d"; }
+i.icon.gift:before { content: "\f06b"; }
+i.icon.leaf:before { content: "\f06c"; }
+i.icon.fire:before { content: "\f06d"; }
+i.icon.plane:before { content: "\f072"; }
+i.icon.magnet:before { content: "\f076"; }
+i.icon.lemon:before { content: "\f094"; }
+i.icon.world:before { content: "\f0ac"; }
+i.icon.travel:before { content: "\f0b1"; }
+i.icon.shipping:before { content: "\f0d1"; }
+i.icon.money:before { content: "\f0d6"; }
+i.icon.legal:before { content: "\f0e3"; }
+i.icon.lightning:before { content: "\f0e7"; }
+i.icon.umbrella:before { content: "\f0e9"; }
+i.icon.treatment:before { content: "\f0f1"; }
+i.icon.suitcase:before { content: "\f0f2"; }
+i.icon.bar:before { content: "\f0fc"; }
+i.icon.flag.outline:before { content: "\f11d"; }
+i.icon.flag.checkered:before { content: "\f11e"; }
+i.icon.puzzle:before { content: "\f12e"; }
+i.icon.fire.extinguisher:before { content: "\f134"; }
+i.icon.rocket:before { content: "\f135"; }
+i.icon.anchor:before { content: "\f13d"; }
+i.icon.bullseye:before { content: "\f140"; }
+i.icon.sun:before { content: "\f185"; }
+i.icon.moon:before { content: "\f186"; }
+i.icon.fax:before { content: "\f1ac"; }
+i.icon.life.ring:before { content: "\f1cd"; }
+i.icon.bomb:before { content: "\f1e2"; }
+i.icon.soccer:before { content: "\f1e3"; }
+i.icon.calculator:before { content: "\f1ec"; }
+i.icon.diamond:before { content: "\f219"; }
+i.icon.sticky.note:before { content: "\f249"; }
+i.icon.sticky.note.outline:before { content: "\f24a"; }
+i.icon.law:before { content: "\f24e"; }
+i.icon.hand.peace:before { content: "\f25b"; }
+i.icon.hand.rock:before { content: "\f255"; }
+i.icon.hand.paper:before { content: "\f256"; }
+i.icon.hand.scissors:before { content: "\f257"; }
+i.icon.hand.lizard:before { content: "\f258"; }
+i.icon.hand.spock:before { content: "\f259"; }
+i.icon.tv:before { content: "\f26c"; }
+
+/* Shapes */
+i.icon.crosshairs:before { content: "\f05b"; }
+i.icon.asterisk:before { content: "\f069"; }
+i.icon.square.outline:before { content: "\f096"; }
+i.icon.certificate:before { content: "\f0a3"; }
+i.icon.square:before { content: "\f0c8"; }
+i.icon.quote.left:before { content: "\f10d"; }
+i.icon.quote.right:before { content: "\f10e"; }
+i.icon.spinner:before { content: "\f110"; }
+i.icon.circle:before { content: "\f111"; }
+i.icon.ellipsis.horizontal:before { content: "\f141"; }
+i.icon.ellipsis.vertical:before { content: "\f142"; }
+i.icon.cube:before { content: "\f1b2"; }
+i.icon.cubes:before { content: "\f1b3"; }
+i.icon.circle.notched:before { content: "\f1ce"; }
+i.icon.circle.thin:before { content: "\f1db"; }
+
+/* Item Selection */
+i.icon.checkmark:before { content: "\f00c"; }
+i.icon.remove:before { content: "\f00d"; }
+i.icon.checkmark.box:before { content: "\f046"; }
+i.icon.move:before { content: "\f047"; }
+i.icon.add.circle:before { content: "\f055"; }
+i.icon.minus.circle:before { content: "\f056"; }
+i.icon.remove.circle:before { content: "\f057"; }
+i.icon.check.circle:before { content: "\f058"; }
+i.icon.remove.circle.outline:before { content: "\f05c"; }
+i.icon.check.circle.outline:before { content: "\f05d"; }
+i.icon.plus:before { content: "\f067"; }
+i.icon.minus:before { content: "\f068"; }
+i.icon.add.square:before { content: "\f0fe"; }
+i.icon.radio:before { content: "\f10c"; }
+i.icon.minus.square:before { content: "\f146"; }
+i.icon.minus.square.outline:before { content: "\f147"; }
+i.icon.check.square:before { content: "\f14a"; }
+i.icon.selected.radio:before { content: "\f192"; }
+i.icon.plus.square.outline:before { content: "\f196"; }
+i.icon.toggle.off:before { content: "\f204"; }
+i.icon.toggle.on:before { content: "\f205"; }
+
+/* Media */
+i.icon.film:before { content: "\f008"; }
+i.icon.sound:before { content: "\f025"; }
+i.icon.photo:before { content: "\f030"; }
+i.icon.bar.chart:before { content: "\f080"; }
+i.icon.camera.retro:before { content: "\f083"; }
+i.icon.newspaper:before { content: "\f1ea"; }
+i.icon.area.chart:before { content: "\f1fe"; }
+i.icon.pie.chart:before { content: "\f200"; }
+i.icon.line.chart:before { content: "\f201"; }
+
+/* Pointers */
+i.icon.arrow.circle.outline.down:before { content: "\f01a"; }
+i.icon.arrow.circle.outline.up:before { content: "\f01b"; }
+i.icon.chevron.left:before { content: "\f053"; }
+i.icon.chevron.right:before { content: "\f054"; }
+i.icon.arrow.left:before { content: "\f060"; }
+i.icon.arrow.right:before { content: "\f061"; }
+i.icon.arrow.up:before { content: "\f062"; }
+i.icon.arrow.down:before { content: "\f063"; }
+i.icon.chevron.up:before { content: "\f077"; }
+i.icon.chevron.down:before { content: "\f078"; }
+i.icon.pointing.right:before { content: "\f0a4"; }
+i.icon.pointing.left:before { content: "\f0a5"; }
+i.icon.pointing.up:before { content: "\f0a6"; }
+i.icon.pointing.down:before { content: "\f0a7"; }
+i.icon.arrow.circle.left:before { content: "\f0a8"; }
+i.icon.arrow.circle.right:before { content: "\f0a9"; }
+i.icon.arrow.circle.up:before { content: "\f0aa"; }
+i.icon.arrow.circle.down:before { content: "\f0ab"; }
+i.icon.caret.down:before { content: "\f0d7"; }
+i.icon.caret.up:before { content: "\f0d8"; }
+i.icon.caret.left:before { content: "\f0d9"; }
+i.icon.caret.right:before { content: "\f0da"; }
+i.icon.angle.double.left:before { content: "\f100"; }
+i.icon.angle.double.right:before { content: "\f101"; }
+i.icon.angle.double.up:before { content: "\f102"; }
+i.icon.angle.double.down:before { content: "\f103"; }
+i.icon.angle.left:before { content: "\f104"; }
+i.icon.angle.right:before { content: "\f105"; }
+i.icon.angle.up:before { content: "\f106"; }
+i.icon.angle.down:before { content: "\f107"; }
+i.icon.chevron.circle.left:before { content: "\f137"; }
+i.icon.chevron.circle.right:before { content: "\f138"; }
+i.icon.chevron.circle.up:before { content: "\f139"; }
+i.icon.chevron.circle.down:before { content: "\f13a"; }
+i.icon.toggle.down:before { content: "\f150"; }
+i.icon.toggle.up:before { content: "\f151"; }
+i.icon.toggle.right:before { content: "\f152"; }
+i.icon.long.arrow.down:before { content: "\f175"; }
+i.icon.long.arrow.up:before { content: "\f176"; }
+i.icon.long.arrow.left:before { content: "\f177"; }
+i.icon.long.arrow.right:before { content: "\f178"; }
+i.icon.arrow.circle.outline.right:before { content: "\f18e"; }
+i.icon.arrow.circle.outline.left:before { content: "\f190"; }
+i.icon.toggle.left:before { content: "\f191"; }
+
+/* Mobile */
+i.icon.tablet:before { content: "\f10a"; }
+i.icon.mobile:before { content: "\f10b"; }
+i.icon.battery.full:before { content: "\f240"; }
+i.icon.battery.high:before { content: "\f241"; }
+i.icon.battery.medium:before { content: "\f242"; }
+i.icon.battery.low:before { content: "\f243"; }
+i.icon.battery.empty:before { content: "\f244"; }
+
+/* Computer */
+i.icon.power:before { content: "\f011"; }
+i.icon.trash.outline:before { content: "\f014"; }
+i.icon.disk.outline:before { content: "\f0a0"; }
+i.icon.desktop:before { content: "\f108"; }
+i.icon.laptop:before { content: "\f109"; }
+i.icon.game:before { content: "\f11b"; }
+i.icon.keyboard:before { content: "\f11c"; }
+i.icon.plug:before { content: "\f1e6"; }
+
+/* File System */
+i.icon.trash:before { content: "\f1f8"; }
+i.icon.file.outline:before { content: "\f016"; }
+i.icon.folder:before { content: "\f07b"; }
+i.icon.folder.open:before { content: "\f07c"; }
+i.icon.file.text.outline:before { content: "\f0f6"; }
+i.icon.folder.outline:before { content: "\f114"; }
+i.icon.folder.open.outline:before { content: "\f115"; }
+i.icon.level.up:before { content: "\f148"; }
+i.icon.level.down:before { content: "\f149"; }
+i.icon.file:before { content: "\f15b"; }
+i.icon.file.text:before { content: "\f15c"; }
+i.icon.file.pdf.outline:before { content: "\f1c1"; }
+i.icon.file.word.outline:before { content: "\f1c2"; }
+i.icon.file.excel.outline:before { content: "\f1c3"; }
+i.icon.file.powerpoint.outline:before { content: "\f1c4"; }
+i.icon.file.image.outline:before { content: "\f1c5"; }
+i.icon.file.archive.outline:before { content: "\f1c6"; }
+i.icon.file.audio.outline:before { content: "\f1c7"; }
+i.icon.file.video.outline:before { content: "\f1c8"; }
+i.icon.file.code.outline:before { content: "\f1c9"; }
+
+/* Technologies */
+i.icon.qrcode:before { content: "\f029"; }
+i.icon.barcode:before { content: "\f02a"; }
+i.icon.rss:before { content: "\f09e"; }
+i.icon.fork:before { content: "\f126"; }
+i.icon.html5:before { content: "\f13b"; }
+i.icon.css3:before { content: "\f13c"; }
+i.icon.rss.square:before { content: "\f143"; }
+i.icon.openid:before { content: "\f19b"; }
+i.icon.database:before { content: "\f1c0"; }
+i.icon.server:before { content: "\f233"; }
+i.icon.usb:before { content: "\f287"; }
+i.icon.bluetooth:before { content: "\f293"; }
+i.icon.bluetooth.alternative:before { content: "\f294"; }
+
+/* Rating */
+i.icon.heart:before { content: "\f004"; }
+i.icon.star:before { content: "\f005"; }
+i.icon.empty.star:before { content: "\f006"; }
+i.icon.thumbs.outline.up:before { content: "\f087"; }
+i.icon.thumbs.outline.down:before { content: "\f088"; }
+i.icon.star.half:before { content: "\f089"; }
+i.icon.empty.heart:before { content: "\f08a"; }
+i.icon.smile:before { content: "\f118"; }
+i.icon.frown:before { content: "\f119"; }
+i.icon.meh:before { content: "\f11a"; }
+i.icon.star.half.empty:before { content: "\f123"; }
+i.icon.thumbs.up:before { content: "\f164"; }
+i.icon.thumbs.down:before { content: "\f165"; }
+
+/* Audio */
+i.icon.music:before { content: "\f001"; }
+i.icon.video.play.outline:before { content: "\f01d"; }
+i.icon.volume.off:before { content: "\f026"; }
+i.icon.volume.down:before { content: "\f027"; }
+i.icon.volume.up:before { content: "\f028"; }
+i.icon.record:before { content: "\f03d"; }
+i.icon.step.backward:before { content: "\f048"; }
+i.icon.fast.backward:before { content: "\f049"; }
+i.icon.backward:before { content: "\f04a"; }
+i.icon.play:before { content: "\f04b"; }
+i.icon.pause:before { content: "\f04c"; }
+i.icon.stop:before { content: "\f04d"; }
+i.icon.forward:before { content: "\f04e"; }
+i.icon.fast.forward:before { content: "\f050"; }
+i.icon.step.forward:before { content: "\f051"; }
+i.icon.eject:before { content: "\f052"; }
+i.icon.unmute:before { content: "\f130"; }
+i.icon.mute:before { content: "\f131"; }
+i.icon.video.play:before { content: "\f144"; }
+i.icon.closed.captioning:before { content: "\f20a"; }
+i.icon.pause.circle:before { content: "\f28b"; }
+i.icon.pause.circle.outline:before { content: "\f28c"; }
+i.icon.stop.circle:before { content: "\f28d"; }
+i.icon.stop.circle.outline:before { content: "\f28e"; }
+
+/* Map, Locations, & Transportation */
+i.icon.marker:before { content: "\f041"; }
+i.icon.coffee:before { content: "\f0f4"; }
+i.icon.food:before { content: "\f0f5"; }
+i.icon.building.outline:before { content: "\f0f7"; }
+i.icon.hospital:before { content: "\f0f8"; }
+i.icon.emergency:before { content: "\f0f9"; }
+i.icon.first.aid:before { content: "\f0fa"; }
+i.icon.military:before { content: "\f0fb"; }
+i.icon.h:before { content: "\f0fd"; }
+i.icon.location.arrow:before { content: "\f124"; }
+i.icon.compass:before { content: "\f14e"; }
+i.icon.space.shuttle:before { content: "\f197"; }
+i.icon.university:before { content: "\f19c"; }
+i.icon.building:before { content: "\f1ad"; }
+i.icon.paw:before { content: "\f1b0"; }
+i.icon.spoon:before { content: "\f1b1"; }
+i.icon.car:before { content: "\f1b9"; }
+i.icon.taxi:before { content: "\f1ba"; }
+i.icon.tree:before { content: "\f1bb"; }
+i.icon.bicycle:before { content: "\f206"; }
+i.icon.bus:before { content: "\f207"; }
+i.icon.ship:before { content: "\f21a"; }
+i.icon.motorcycle:before { content: "\f21c"; }
+i.icon.street.view:before { content: "\f21d"; }
+i.icon.hotel:before { content: "\f236"; }
+i.icon.train:before { content: "\f238"; }
+i.icon.subway:before { content: "\f239"; }
+i.icon.map.pin:before { content: "\f276"; }
+i.icon.map.signs:before { content: "\f277"; }
+i.icon.map.outline:before { content: "\f278"; }
+i.icon.map:before { content: "\f279"; }
+
+/* Tables */
+i.icon.table:before { content: "\f0ce"; }
+i.icon.columns:before { content: "\f0db"; }
+i.icon.sort:before { content: "\f0dc"; }
+i.icon.sort.descending:before { content: "\f0dd"; }
+i.icon.sort.ascending:before { content: "\f0de"; }
+i.icon.sort.alphabet.ascending:before { content: "\f15d"; }
+i.icon.sort.alphabet.descending:before { content: "\f15e"; }
+i.icon.sort.content.ascending:before { content: "\f160"; }
+i.icon.sort.content.descending:before { content: "\f161"; }
+i.icon.sort.numeric.ascending:before { content: "\f162"; }
+i.icon.sort.numeric.descending:before { content: "\f163"; }
+
+/* Text Editor */
+i.icon.font:before { content: "\f031"; }
+i.icon.bold:before { content: "\f032"; }
+i.icon.italic:before { content: "\f033"; }
+i.icon.text.height:before { content: "\f034"; }
+i.icon.text.width:before { content: "\f035"; }
+i.icon.align.left:before { content: "\f036"; }
+i.icon.align.center:before { content: "\f037"; }
+i.icon.align.right:before { content: "\f038"; }
+i.icon.align.justify:before { content: "\f039"; }
+i.icon.list:before { content: "\f03a"; }
+i.icon.outdent:before { content: "\f03b"; }
+i.icon.indent:before { content: "\f03c"; }
+i.icon.linkify:before { content: "\f0c1"; }
+i.icon.cut:before { content: "\f0c4"; }
+i.icon.copy:before { content: "\f0c5"; }
+i.icon.attach:before { content: "\f0c6"; }
+i.icon.save:before { content: "\f0c7"; }
+i.icon.content:before { content: "\f0c9"; }
+i.icon.unordered.list:before { content: "\f0ca"; }
+i.icon.ordered.list:before { content: "\f0cb"; }
+i.icon.strikethrough:before { content: "\f0cc"; }
+i.icon.underline:before { content: "\f0cd"; }
+i.icon.paste:before { content: "\f0ea"; }
+i.icon.unlinkify:before { content: "\f127"; }
+i.icon.superscript:before { content: "\f12b"; }
+i.icon.subscript:before { content: "\f12c"; }
+i.icon.header:before { content: "\f1dc"; }
+i.icon.paragraph:before { content: "\f1dd"; }
+i.icon.text.cursor:before { content: "\f246"; }
+
+/* Currency */
+i.icon.euro:before { content: "\f153"; }
+i.icon.pound:before { content: "\f154"; }
+i.icon.dollar:before { content: "\f155"; }
+i.icon.rupee:before { content: "\f156"; }
+i.icon.yen:before { content: "\f157"; }
+i.icon.ruble:before { content: "\f158"; }
+i.icon.won:before { content: "\f159"; }
+i.icon.bitcoin:before { content: "\f15a"; }
+i.icon.lira:before { content: "\f195"; }
+i.icon.shekel:before { content: "\f20b"; }
+
+/* Payment Options */
+i.icon.paypal:before { content: "\f1ed"; }
+i.icon.google.wallet:before { content: "\f1ee"; }
+i.icon.visa:before { content: "\f1f0"; }
+i.icon.mastercard:before { content: "\f1f1"; }
+i.icon.discover:before { content: "\f1f2"; }
+i.icon.american.express:before { content: "\f1f3"; }
+i.icon.paypal.card:before { content: "\f1f4"; }
+i.icon.stripe:before { content: "\f1f5"; }
+i.icon.japan.credit.bureau:before { content: "\f24b"; }
+i.icon.diners.club:before { content: "\f24c"; }
+i.icon.credit.card.alternative:before { content: "\f283"; }
+
+/* Networks and Websites*/
+i.icon.twitter.square:before { content: "\f081"; }
+i.icon.facebook.square:before { content: "\f082"; }
+i.icon.linkedin.square:before { content: "\f08c"; }
+i.icon.github.square:before { content: "\f092"; }
+i.icon.twitter:before { content: "\f099"; }
+i.icon.facebook.f:before { content: "\f09a"; }
+i.icon.github:before { content: "\f09b"; }
+i.icon.pinterest:before { content: "\f0d2"; }
+i.icon.pinterest.square:before { content: "\f0d3"; }
+i.icon.google.plus.square:before { content: "\f0d4"; }
+i.icon.google.plus:before { content: "\f0d5"; }
+i.icon.linkedin:before { content: "\f0e1"; }
+i.icon.github.alternate:before { content: "\f113"; }
+i.icon.maxcdn:before { content: "\f136"; }
+i.icon.youtube.square:before { content: "\f166"; }
+i.icon.youtube:before { content: "\f167"; }
+i.icon.xing:before { content: "\f168"; }
+i.icon.xing.square:before { content: "\f169"; }
+i.icon.youtube.play:before { content: "\f16a"; }
+i.icon.dropbox:before { content: "\f16b"; }
+i.icon.stack.overflow:before { content: "\f16c"; }
+i.icon.instagram:before { content: "\f16d"; }
+i.icon.flickr:before { content: "\f16e"; }
+i.icon.adn:before { content: "\f170"; }
+i.icon.bitbucket:before { content: "\f171"; }
+i.icon.bitbucket.square:before { content: "\f172"; }
+i.icon.tumblr:before { content: "\f173"; }
+i.icon.tumblr.square:before { content: "\f174"; }
+i.icon.apple:before { content: "\f179"; }
+i.icon.windows:before { content: "\f17a"; }
+i.icon.android:before { content: "\f17b"; }
+i.icon.linux:before { content: "\f17c"; }
+i.icon.dribble:before { content: "\f17d"; }
+i.icon.skype:before { content: "\f17e"; }
+i.icon.foursquare:before { content: "\f180"; }
+i.icon.trello:before { content: "\f181"; }
+i.icon.gittip:before { content: "\f184"; }
+i.icon.vk:before { content: "\f189"; }
+i.icon.weibo:before { content: "\f18a"; }
+i.icon.renren:before { content: "\f18b"; }
+i.icon.pagelines:before { content: "\f18c"; }
+i.icon.stack.exchange:before { content: "\f18d"; }
+i.icon.vimeo.square:before { content: "\f194"; }
+i.icon.slack:before { content: "\f198"; }
+i.icon.wordpress:before { content: "\f19a"; }
+i.icon.yahoo:before { content: "\f19e"; }
+i.icon.google:before { content: "\f1a0"; }
+i.icon.reddit:before { content: "\f1a1"; }
+i.icon.reddit.square:before { content: "\f1a2"; }
+i.icon.stumbleupon.circle:before { content: "\f1a3"; }
+i.icon.stumbleupon:before { content: "\f1a4"; }
+i.icon.delicious:before { content: "\f1a5"; }
+i.icon.digg:before { content: "\f1a6"; }
+i.icon.pied.piper:before { content: "\f1a7"; }
+i.icon.pied.piper.alternate:before { content: "\f1a8"; }
+i.icon.drupal:before { content: "\f1a9"; }
+i.icon.joomla:before { content: "\f1aa"; }
+i.icon.behance:before { content: "\f1b4"; }
+i.icon.behance.square:before { content: "\f1b5"; }
+i.icon.steam:before { content: "\f1b6"; }
+i.icon.steam.square:before { content: "\f1b7"; }
+i.icon.spotify:before { content: "\f1bc"; }
+i.icon.deviantart:before { content: "\f1bd"; }
+i.icon.soundcloud:before { content: "\f1be"; }
+i.icon.vine:before { content: "\f1ca"; }
+i.icon.codepen:before { content: "\f1cb"; }
+i.icon.jsfiddle:before { content: "\f1cc"; }
+i.icon.rebel:before { content: "\f1d0"; }
+i.icon.empire:before { content: "\f1d1"; }
+i.icon.git.square:before { content: "\f1d2"; }
+i.icon.git:before { content: "\f1d3"; }
+i.icon.hacker.news:before { content: "\f1d4"; }
+i.icon.tencent.weibo:before { content: "\f1d5"; }
+i.icon.qq:before { content: "\f1d6"; }
+i.icon.wechat:before { content: "\f1d7"; }
+i.icon.slideshare:before { content: "\f1e7"; }
+i.icon.twitch:before { content: "\f1e8"; }
+i.icon.yelp:before { content: "\f1e9"; }
+i.icon.lastfm:before { content: "\f202"; }
+i.icon.lastfm.square:before { content: "\f203"; }
+i.icon.ioxhost:before { content: "\f208"; }
+i.icon.angellist:before { content: "\f209"; }
+i.icon.meanpath:before { content: "\f20c"; }
+i.icon.buysellads:before { content: "\f20d"; }
+i.icon.connectdevelop:before { content: "\f20e"; }
+i.icon.dashcube:before { content: "\f210"; }
+i.icon.forumbee:before { content: "\f211"; }
+i.icon.leanpub:before { content: "\f212"; }
+i.icon.sellsy:before { content: "\f213"; }
+i.icon.shirtsinbulk:before { content: "\f214"; }
+i.icon.simplybuilt:before { content: "\f215"; }
+i.icon.skyatlas:before { content: "\f216"; }
+i.icon.facebook:before { content: "\f230"; }
+i.icon.pinterest:before { content: "\f231"; }
+i.icon.whatsapp:before { content: "\f232"; }
+i.icon.viacoin:before { content: "\f237"; }
+i.icon.medium:before { content: "\f23a"; }
+i.icon.y.combinator:before { content: "\f23b"; }
+i.icon.optinmonster:before { content: "\f23c"; }
+i.icon.opencart:before { content: "\f23d"; }
+i.icon.expeditedssl:before { content: "\f23e"; }
+i.icon.gg:before { content: "\f260"; }
+i.icon.gg.circle:before { content: "\f261"; }
+i.icon.tripadvisor:before { content: "\f262"; }
+i.icon.odnoklassniki:before { content: "\f263"; }
+i.icon.odnoklassniki.square:before { content: "\f264"; }
+i.icon.pocket:before { content: "\f265"; }
+i.icon.wikipedia:before { content: "\f266"; }
+i.icon.safari:before { content: "\f267"; }
+i.icon.chrome:before { content: "\f268"; }
+i.icon.firefox:before { content: "\f269"; }
+i.icon.opera:before { content: "\f26a"; }
+i.icon.internet.explorer:before { content: "\f26b"; }
+i.icon.contao:before { content: "\f26d"; }
+i.icon.\35 00px:before { content: "\f26e"; }
+i.icon.amazon:before { content: "\f270"; }
+i.icon.houzz:before { content: "\f27c"; }
+i.icon.vimeo:before { content: "\f27d"; }
+i.icon.black.tie:before { content: "\f27e"; }
+i.icon.fonticons:before { content: "\f280"; }
+i.icon.reddit.alien:before { content: "\f281"; }
+i.icon.microsoft.edge:before { content: "\f282"; }
+i.icon.codiepie:before { content: "\f284"; }
+i.icon.modx:before { content: "\f285"; }
+i.icon.fort.awesome:before { content: "\f286"; }
+i.icon.product.hunt:before { content: "\f288"; }
+i.icon.mixcloud:before { content: "\f289"; }
+i.icon.scribd:before { content: "\f28a"; }
+i.icon.gitlab:before { content: "\f296"; }
+i.icon.wpbeginner:before { content: "\f297"; }
+i.icon.wpforms:before { content: "\f298"; }
+i.icon.envira.gallery:before { content: "\f299"; }
+i.icon.glide:before { content: "\f2a5"; }
+i.icon.glide.g:before { content: "\f2a6"; }
+i.icon.viadeo:before { content: "\f2a9"; }
+i.icon.viadeo.square:before { content: "\f2aa"; }
+i.icon.snapchat:before { content: "\f2ab"; }
+i.icon.snapchat.ghost:before { content: "\f2ac"; }
+i.icon.snapchat.square:before { content: "\f2ad"; }
+i.icon.pied.piper.hat:before { content: "\f2ae"; }
+i.icon.first.order:before { content: "\f2b0"; }
+i.icon.yoast:before { content: "\f2b1"; }
+i.icon.themeisle:before { content: "\f2b2"; }
+i.icon.google.plus.circle:before { content: "\f2b3"; }
+i.icon.font.awesome:before { content: "\f2b4"; }
+
+/*******************************
+ Aliases
+*******************************/
+
+i.icon.like:before { content: "\f004"; }
+i.icon.favorite:before { content: "\f005"; }
+i.icon.video:before { content: "\f008"; }
+i.icon.check:before { content: "\f00c"; }
+i.icon.close:before { content: "\f00d"; }
+i.icon.cancel:before { content: "\f00d"; }
+i.icon.delete:before { content: "\f00d"; }
+i.icon.x:before { content: "\f00d"; }
+i.icon.zoom.in:before { content: "\f00e"; }
+i.icon.magnify:before { content: "\f00e"; }
+i.icon.shutdown:before { content: "\f011"; }
+i.icon.clock:before { content: "\f017"; }
+i.icon.time:before { content: "\f017"; }
+i.icon.play.circle.outline:before { content: "\f01d"; }
+i.icon.headphone:before { content: "\f025"; }
+i.icon.camera:before { content: "\f030"; }
+i.icon.video.camera:before { content: "\f03d"; }
+i.icon.picture:before { content: "\f03e"; }
+i.icon.pencil:before { content: "\f040"; }
+i.icon.compose:before { content: "\f040"; }
+i.icon.point:before { content: "\f041"; }
+i.icon.tint:before { content: "\f043"; }
+i.icon.signup:before { content: "\f044"; }
+i.icon.plus.circle:before { content: "\f055"; }
+i.icon.question.circle:before { content: "\f059"; }
+i.icon.dont:before { content: "\f05e"; }
+i.icon.minimize:before { content: "\f066"; }
+i.icon.add:before { content: "\f067"; }
+i.icon.exclamation.circle:before { content: "\f06a"; }
+i.icon.attention:before { content: "\f06a"; }
+i.icon.eye:before { content: "\f06e"; }
+i.icon.exclamation.triangle:before { content: "\f071"; }
+i.icon.shuffle:before { content: "\f074"; }
+i.icon.chat:before { content: "\f075"; }
+i.icon.cart:before { content: "\f07a"; }
+i.icon.shopping.cart:before { content: "\f07a"; }
+i.icon.bar.graph:before { content: "\f080"; }
+i.icon.key:before { content: "\f084"; }
+i.icon.cogs:before { content: "\f085"; }
+i.icon.discussions:before { content: "\f086"; }
+i.icon.like.outline:before { content: "\f087"; }
+i.icon.dislike.outline:before { content: "\f088"; }
+i.icon.heart.outline:before { content: "\f08a"; }
+i.icon.log.out:before { content: "\f08b"; }
+i.icon.thumb.tack:before { content: "\f08d"; }
+i.icon.winner:before { content: "\f091"; }
+i.icon.phone:before { content: "\f095"; }
+i.icon.bookmark.outline:before { content: "\f097"; }
+i.icon.phone.square:before { content: "\f098"; }
+i.icon.credit.card:before { content: "\f09d"; }
+i.icon.hdd.outline:before { content: "\f0a0"; }
+i.icon.bullhorn:before { content: "\f0a1"; }
+i.icon.bell.outline:before { content: "\f0a2"; }
+i.icon.hand.outline.right:before { content: "\f0a4"; }
+i.icon.hand.outline.left:before { content: "\f0a5"; }
+i.icon.hand.outline.up:before { content: "\f0a6"; }
+i.icon.hand.outline.down:before { content: "\f0a7"; }
+i.icon.globe:before { content: "\f0ac"; }
+i.icon.wrench:before { content: "\f0ad"; }
+i.icon.briefcase:before { content: "\f0b1"; }
+i.icon.group:before { content: "\f0c0"; }
+i.icon.linkify:before { content: "\f0c1"; }
+i.icon.chain:before { content: "\f0c1"; }
+i.icon.flask:before { content: "\f0c3"; }
+i.icon.sidebar:before { content: "\f0c9"; }
+i.icon.bars:before { content: "\f0c9"; }
+i.icon.list.ul:before { content: "\f0ca"; }
+i.icon.list.ol:before { content: "\f0cb"; }
+i.icon.numbered.list:before { content: "\f0cb"; }
+i.icon.magic:before { content: "\f0d0"; }
+i.icon.truck:before { content: "\f0d1"; }
+i.icon.currency:before { content: "\f0d6"; }
+i.icon.triangle.down:before { content: "\f0d7"; }
+i.icon.dropdown:before { content: "\f0d7"; }
+i.icon.triangle.up:before { content: "\f0d8"; }
+i.icon.triangle.left:before { content: "\f0d9"; }
+i.icon.triangle.right:before { content: "\f0da"; }
+i.icon.envelope:before { content: "\f0e0"; }
+i.icon.conversation:before { content: "\f0e6"; }
+i.icon.rain:before { content: "\f0e9"; }
+i.icon.clipboard:before { content: "\f0ea"; }
+i.icon.lightbulb:before { content: "\f0eb"; }
+i.icon.bell:before { content: "\f0f3"; }
+i.icon.ambulance:before { content: "\f0f9"; }
+i.icon.medkit:before { content: "\f0fa"; }
+i.icon.fighter.jet:before { content: "\f0fb"; }
+i.icon.beer:before { content: "\f0fc"; }
+i.icon.plus.square:before { content: "\f0fe"; }
+i.icon.computer:before { content: "\f108"; }
+i.icon.circle.outline:before { content: "\f10c"; }
+i.icon.gamepad:before { content: "\f11b"; }
+i.icon.star.half.full:before { content: "\f123"; }
+i.icon.broken.chain:before { content: "\f127"; }
+i.icon.question:before { content: "\f128"; }
+i.icon.exclamation:before { content: "\f12a"; }
+i.icon.eraser:before { content: "\f12d"; }
+i.icon.microphone:before { content: "\f130"; }
+i.icon.microphone.slash:before { content: "\f131"; }
+i.icon.shield:before { content: "\f132"; }
+i.icon.target:before { content: "\f140"; }
+i.icon.play.circle:before { content: "\f144"; }
+i.icon.pencil.square:before { content: "\f14b"; }
+i.icon.eur:before { content: "\f153"; }
+i.icon.gbp:before { content: "\f154"; }
+i.icon.usd:before { content: "\f155"; }
+i.icon.inr:before { content: "\f156"; }
+i.icon.cny:before { content: "\f157"; }
+i.icon.rmb:before { content: "\f157"; }
+i.icon.jpy:before { content: "\f157"; }
+i.icon.rouble:before { content: "\f158"; }
+i.icon.rub:before { content: "\f158"; }
+i.icon.krw:before { content: "\f159"; }
+i.icon.btc:before { content: "\f15a"; }
+i.icon.gratipay:before { content: "\f184"; }
+i.icon.zip:before { content: "\f187"; }
+i.icon.dot.circle.outline:before { content: "\f192"; }
+i.icon.try:before { content: "\f195"; }
+i.icon.graduation:before { content: "\f19d"; }
+i.icon.circle.outline:before { content: "\f1db"; }
+i.icon.sliders:before { content: "\f1de"; }
+i.icon.weixin:before { content: "\f1d7"; }
+i.icon.tty:before { content: "\f1e4"; }
+i.icon.teletype:before { content: "\f1e4"; }
+i.icon.binoculars:before { content: "\f1e5"; }
+i.icon.power.cord:before { content: "\f1e6"; }
+i.icon.wi-fi:before { content: "\f1eb"; }
+i.icon.visa.card:before { content: "\f1f0"; }
+i.icon.mastercard.card:before { content: "\f1f1"; }
+i.icon.discover.card:before { content: "\f1f2"; }
+i.icon.amex:before { content: "\f1f3"; }
+i.icon.american.express.card:before { content: "\f1f3"; }
+i.icon.stripe.card:before { content: "\f1f5"; }
+i.icon.bell.slash:before { content: "\f1f6"; }
+i.icon.bell.slash.outline:before { content: "\f1f7"; }
+i.icon.area.graph:before { content: "\f1fe"; }
+i.icon.pie.graph:before { content: "\f200"; }
+i.icon.line.graph:before { content: "\f201"; }
+i.icon.cc:before { content: "\f20a"; }
+i.icon.sheqel:before { content: "\f20b"; }
+i.icon.ils:before { content: "\f20b"; }
+i.icon.plus.cart:before { content: "\f217"; }
+i.icon.arrow.down.cart:before { content: "\f218"; }
+i.icon.detective:before { content: "\f21b"; }
+i.icon.venus:before { content: "\f221"; }
+i.icon.mars:before { content: "\f222"; }
+i.icon.mercury:before { content: "\f223"; }
+i.icon.intersex:before { content: "\f224"; }
+i.icon.venus.double:before { content: "\f226"; }
+i.icon.female.homosexual:before { content: "\f226"; }
+i.icon.mars.double:before { content: "\f227"; }
+i.icon.male.homosexual:before { content: "\f227"; }
+i.icon.venus.mars:before { content: "\f228"; }
+i.icon.mars.stroke:before { content: "\f229"; }
+i.icon.mars.alternate:before { content: "\f229"; }
+i.icon.mars.vertical:before { content: "\f22a"; }
+i.icon.mars.stroke.vertical:before { content: "\f22a"; }
+i.icon.mars.horizontal:before { content: "\f22b"; }
+i.icon.mars.stroke.horizontal:before { content: "\f22b"; }
+i.icon.asexual:before { content: "\f22d"; }
+i.icon.facebook.official:before { content: "\f230"; }
+i.icon.user.plus:before { content: "\f234"; }
+i.icon.user.times:before { content: "\f235"; }
+i.icon.user.close:before { content: "\f235"; }
+i.icon.user.cancel:before { content: "\f235"; }
+i.icon.user.delete:before { content: "\f235"; }
+i.icon.user.x:before { content: "\f235"; }
+i.icon.bed:before { content: "\f236"; }
+i.icon.yc:before { content: "\f23b"; }
+i.icon.ycombinator:before { content: "\f23b"; }
+i.icon.battery.four:before { content: "\f240"; }
+i.icon.battery.three:before { content: "\f241"; }
+i.icon.battery.three.quarters:before { content: "\f241"; }
+i.icon.battery.two:before { content: "\f242"; }
+i.icon.battery.half:before { content: "\f242"; }
+i.icon.battery.one:before { content: "\f243"; }
+i.icon.battery.quarter:before { content: "\f243"; }
+i.icon.battery.zero:before { content: "\f244"; }
+i.icon.i.cursor:before { content: "\f246"; }
+i.icon.jcb:before { content: "\f24b"; }
+i.icon.japan.credit.bureau.card:before { content: "\f24b"; }
+i.icon.diners.club.card:before { content: "\f24c"; }
+i.icon.balance:before { content: "\f24e"; }
+i.icon.hourglass.outline:before { content: "\f250"; }
+i.icon.hourglass.zero:before { content: "\f250"; }
+i.icon.hourglass.one:before { content: "\f251"; }
+i.icon.hourglass.two:before { content: "\f252"; }
+i.icon.hourglass.three:before { content: "\f253"; }
+i.icon.hourglass.four:before { content: "\f254"; }
+i.icon.grab:before { content: "\f255"; }
+i.icon.hand.victory:before { content: "\f25b"; }
+i.icon.tm:before { content: "\f25c"; }
+i.icon.r.circle:before { content: "\f25d"; }
+i.icon.television:before { content: "\f26c"; }
+i.icon.five.hundred.pixels:before { content: "\f26e"; }
+i.icon.calendar.plus:before { content: "\f271"; }
+i.icon.calendar.minus:before { content: "\f272"; }
+i.icon.calendar.times:before { content: "\f273"; }
+i.icon.calendar.check:before { content: "\f274"; }
+i.icon.factory:before { content: "\f275"; }
+i.icon.commenting:before { content: "\f27a"; }
+i.icon.commenting.outline:before { content: "\f27b"; }
+i.icon.edge:before { content: "\f282"; }
+i.icon.ms.edge:before { content: "\f282"; }
+i.icon.wordpress.beginner:before { content: "\f297"; }
+i.icon.wordpress.forms:before { content: "\f298"; }
+i.icon.envira:before { content: "\f299"; }
+i.icon.question.circle.outline:before { content: "\f29c"; }
+i.icon.assistive.listening.devices:before { content: "\f2a2"; }
+i.icon.als:before { content: "\f2a2"; }
+i.icon.ald:before { content: "\f2a2"; }
+i.icon.asl.interpreting:before { content: "\f2a3"; }
+i.icon.deaf:before { content: "\f2a4"; }
+i.icon.american.sign.language.interpreting:before { content: "\f2a3"; }
+i.icon.hard.of.hearing:before{ content: "\f2a4"; }
+i.icon.signing:before { content: "\f2a7"; }
+i.icon.new.pied.piper:before { content: "\f2ae"; }
+i.icon.theme.isle:before { content: "\f2b2"; }
+i.icon.google.plus.official:before { content: "\f2b3"; }
+i.icon.fa:before { content: "\f2b4"; }
diff --git a/src/semantic/src/themes/default/elements/icon.variables b/src/semantic/src/themes/default/elements/icon.variables
new file mode 100644
index 0000000..245ea00
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/icon.variables
@@ -0,0 +1,62 @@
+/*******************************
+ Icon
+*******************************/
+
+/*-------------------
+ Icon Variables
+--------------------*/
+
+@fontName: 'icons';
+@fallbackSRC: url("@{fontPath}/@{fontName}.eot");
+@src:
+ url("@{fontPath}/@{fontName}.eot?#iefix") format('embedded-opentype'),
+ url("@{fontPath}/@{fontName}.woff2") format('woff2'),
+ url("@{fontPath}/@{fontName}.woff") format('woff'),
+ url("@{fontPath}/@{fontName}.ttf") format('truetype'),
+ url("@{fontPath}/@{fontName}.svg#icons") format('svg')
+;
+
+@opacity: 1;
+@width: @iconWidth;
+@height: 1em;
+@distanceFromText: 0.25rem;
+
+
+/* Variations */
+
+@linkOpacity: 0.8;
+@linkDuration: 0.3s;
+@loadingDuration: 2s;
+
+@circularSize: 2em;
+@circularPadding: 0.5em 0.5em;
+@circularShadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
+
+@borderedSize: 2em;
+@borderedVerticalPadding: ((@borderedSize - @height) / 2);
+@borderedHorizontalPadding: ((@borderedSize - @width) / 2);
+@borderedShadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
+
+@cornerIconSize: 0.45em;
+@cornerIconStroke: 1px;
+@cornerIconShadow:
+ -@cornerIconStroke -@cornerIconStroke 0 @white,
+ @cornerIconStroke -@cornerIconStroke 0 @white,
+ -@cornerIconStroke @cornerIconStroke 0 @white,
+ @cornerIconStroke @cornerIconStroke 0 @white
+;
+@cornerIconInvertedShadow:
+ -@cornerIconStroke -@cornerIconStroke 0 @black,
+ @cornerIconStroke -@cornerIconStroke 0 @black,
+ -@cornerIconStroke @cornerIconStroke 0 @black,
+ @cornerIconStroke @cornerIconStroke 0 @black
+;
+
+@mini: 0.4em;
+@tiny: 0.5em;
+@small: 0.75em;
+@medium: 1em;
+@large: 1.5em;
+@big: 2em;
+@huge: 4em;
+@massive: 8em;
diff --git a/src/semantic/src/themes/default/elements/image.overrides b/src/semantic/src/themes/default/elements/image.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/image.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/elements/image.variables b/src/semantic/src/themes/default/elements/image.variables
new file mode 100644
index 0000000..925110e
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/image.variables
@@ -0,0 +1,44 @@
+/*******************************
+ Image
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+@placeholderColor: transparent;
+@roundedBorderRadius: 0.3125em;
+
+@imageHorizontalMargin: 0.25rem;
+@imageVerticalMargin: 0.5rem;
+@imageBorder: 1px solid rgba(0, 0, 0, 0.1);
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Avatar */
+@avatarSize: 2em;
+@avatarMargin: 0.25em;
+
+
+/*-------------------
+ Variations
+--------------------*/
+
+/* Spaced */
+@spacedDistance: 0.5em;
+
+/* Floated */
+@floatedHorizontalMargin: 1em;
+@floatedVerticalMargin: 1em;
+
+/* Size */
+@miniWidth: 35px;
+@tinyWidth: 80px;
+@smallWidth: 150px;
+@mediumWidth: 300px;
+@largeWidth: 450px;
+@bigWidth: 600px;
+@hugeWidth: 800px;
+@massiveWidth: 960px;
diff --git a/src/semantic/src/themes/default/elements/input.overrides b/src/semantic/src/themes/default/elements/input.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/input.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/elements/input.variables b/src/semantic/src/themes/default/elements/input.variables
new file mode 100644
index 0000000..04741f3
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/input.variables
@@ -0,0 +1,101 @@
+/*******************************
+ Input
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+@inputFont: @pageFont;
+@verticalPadding: @inputVerticalPadding;
+@horizontalPadding: @inputHorizontalPadding;
+
+@lineHeight: @inputLineHeight;
+@lineHeightOffset: ((@lineHeight - 1em) / 2);
+
+@padding: (@verticalPadding - @lineHeightOffset) @horizontalPadding;
+
+@textAlign: left;
+@background: @inputBackground;
+@borderWidth: 1px;
+@border: @borderWidth solid @borderColor;
+@boxShadow: none;
+
+@borderRadius: @defaultBorderRadius;
+@transition:
+ box-shadow @defaultDuration @defaultEasing,
+ border-color @defaultDuration @defaultEasing
+;
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Icon Input */
+@iconWidth: (@verticalPadding * 2) + @glyphWidth;
+@iconOpacity: 0.5;
+@iconFocusOpacity: 1;
+@iconOffset: -0.5em;
+
+@iconDistance: 0em;
+@iconMargin: @iconWidth + @iconDistance;
+@iconTransition: opacity 0.3s @defaultEasing;
+
+@transparentIconWidth: @glyphWidth;
+@transparentIconMargin: 2em;
+
+/* Circular Icon Input */
+@circularIconVerticalOffset: 0.35em;
+@circularIconHorizontalOffset: 0.5em;
+
+/* Labeled Input */
+@labelCornerTop: @borderWidth;
+@labelCornerRight: @borderWidth;
+@labelCornerSize: @relative9px;
+@labelSize: 1em;
+@labelVerticalPadding: (@verticalPadding - @lineHeightOffset);
+
+@labeledMargin: 2.5em;
+@labeledIconInputMargin: 3.25em;
+@labeledIconMargin: 1.25em;
+
+/*-------------------
+ States
+--------------------*/
+
+/* Placeholder */
+@placeholderColor: @inputPlaceholderColor;
+@placeholderFocusColor: @inputPlaceholderFocusColor;
+
+/* Down */
+@downBorderColor: rgba(0, 0, 0, 0.3);
+@downBackground: #FAFAFA;
+@downColor: @textColor;
+@downBoxShadow: none;
+
+/* Focus */
+@focusBorderColor: @focusedFormBorderColor;
+@focusBackground: @background;
+@focusColor: @hoveredTextColor;
+@focusBoxShadow: none;
+
+/* Error */
+@errorBackground: @negativeBackgroundColor;
+@errorColor: @negativeTextColor;
+@errorBorder: @negativeBorderColor;
+@errorBoxShadow: none;
+
+@placeholderErrorColor: lighten(@errorColor, 40);
+@placeholderErrorFocusColor: lighten(@errorColor, 30);
+
+/* Loader */
+@invertedLoaderFillColor: rgba(0, 0, 0, 0.15);
+
+/*-------------------
+ Variations
+--------------------*/
+
+/* Inverted */
+@transparentInvertedPlaceholderColor: @invertedUnselectedTextColor;
+@transparentInvertedColor: @white;
+
diff --git a/src/semantic/src/themes/default/elements/label.overrides b/src/semantic/src/themes/default/elements/label.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/label.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/elements/label.variables b/src/semantic/src/themes/default/elements/label.variables
new file mode 100644
index 0000000..23cd5d0
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/label.variables
@@ -0,0 +1,254 @@
+/*******************************
+ Label
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+@verticalAlign: baseline;
+@verticalMargin: 0em;
+@horizontalMargin: @relative2px;
+@backgroundColor: #E8E8E8;
+@color: @mutedTextColor;
+@backgroundImage: none;
+@verticalPadding: 0.5833em; /* medium is not @emSize custom value required */
+@horizontalPadding: 0.833em;
+@borderRadius: @absoluteBorderRadius;
+@textTransform: none;
+@fontWeight: bold;
+@borderWidth: 1px;
+@border: 0px solid transparent;
+
+@lineHeightOffset: -(@verticalPadding / 2);
+
+@labelTransitionDuration: @defaultDuration;
+@labelTransitionEasing: @defaultEasing;
+@transition: background @labelTransitionDuration @labelTransitionEasing;
+
+/* Group */
+@groupVerticalMargin: 0.5em;
+@groupHorizontalMargin: 0.5em;
+
+/*-------------------
+ Parts
+--------------------*/
+
+/* Link */
+@linkOpacity: 0.5;
+@linkTransition: @labelTransitionDuration opacity @labelTransitionEasing;
+
+/* Icon */
+@iconDistance: 0.75em;
+
+/* Image */
+@imageHeight: (1em + @verticalPadding * 2);
+
+/* Detail */
+@detailFontWeight: bold;
+@detailOpacity: 0.8;
+@detailIconDistance: 0.25em;
+@detailMargin: 1em;
+
+/* Delete */
+@deleteOpacity: @linkOpacity;
+@deleteSize: @relativeSmall;
+@deleteMargin: 0.5em;
+@deleteTransition: background @labelTransitionDuration @labelTransitionEasing;
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Image Label */
+@imageLabelBackground: @backgroundColor;
+@imageLabelVerticalPadding: @verticalPadding;
+@imageLabelHorizontalPadding: @horizontalPadding;
+@imageLabelTextDistance: 0.5em;
+@imageLabelDetailDistance: @imageLabelTextDistance;
+@imageLabelBorderRadius: @borderRadius;
+@imageLabelBoxShadow: none;
+@imageLabelPadding: @imageLabelVerticalPadding @imageLabelHorizontalPadding @imageLabelVerticalPadding @imageLabelTextDistance;
+
+@imageLabelImageMargin: -@verticalPadding @imageLabelTextDistance -@verticalPadding -@imageLabelTextDistance;
+@imageLabelImageBorderRadius: @imageLabelBorderRadius 0em 0em @imageLabelBorderRadius;
+@imageLabelImageHeight: @imageHeight;
+
+@imageLabelDetailBackground: @strongTransparentBlack;
+@imageLabelDetailPadding: @imageLabelVerticalPadding @imageLabelHorizontalPadding;
+@imageLabelDetailMargin: -@imageLabelVerticalPadding -@imageLabelHorizontalPadding -@imageLabelVerticalPadding @imageLabelDetailDistance;
+
+/*-------------------
+ States
+--------------------*/
+
+/* Hover */
+@labelHoverBackgroundColor: #E0E0E0;
+@labelHoverBackgroundImage: none;
+@labelHoverTextColor: @hoveredTextColor;
+
+/* Active */
+@labelActiveBackgroundColor: #D0D0D0;
+@labelActiveBackgroundImage: none;
+@labelActiveTextColor: @selectedTextColor;
+
+/* Active Hover */
+@labelActiveHoverBackgroundColor: #C8C8C8;
+@labelActiveHoverBackgroundImage: none;
+@labelActiveHoverTextColor: @selectedTextColor;
+
+
+/*-------------------
+ Variations
+--------------------*/
+
+/* Basic */
+@basicBackground: none @white;
+@basicBorderWidth: 1px;
+@basicBorder: @basicBorderWidth solid @borderColor;
+@basicColor: @textColor;
+@basicBoxShadow: none;
+
+@basicHoverBackground: @basicBackground;
+@basicHoverColor: @linkHoverColor;
+@basicHoverBorder: @basicBorder;
+@basicHoverBoxShadow: @basicBoxShadow;
+
+/* Tag */
+@tagCircleColor: @white;
+@tagCircleSize: 0.5em;
+@tagHorizontalPadding: 1.5em;
+@tagCircleBoxShadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);
+@tagTriangleRightOffset: 100%;
+@tagTriangleTopOffset: 50%;
+@tagTriangleSize: 1.56em;
+@tagTriangleBackgroundImage: none;
+@tagTransition: none; /* Avoids error with background: inherit; on animation */
+
+/* Ribbon */
+@ribbonTriangleSize: 1.2em;
+@ribbonShadowColor: rgba(0, 0, 0, 0.15);
+
+@ribbonMargin: 1rem;
+@ribbonOffset: ~"calc("-@ribbonMargin~" - "@ribbonTriangleSize~")";
+@ribbonDistance: ~"calc("@ribbonMargin~" + "@ribbonTriangleSize~")";
+@rightRibbonOffset: ~"calc(100% + "@ribbonMargin~" + "@ribbonTriangleSize~")";
+
+@ribbonImageTopDistance: 1rem;
+@ribbonImageMargin: -0.05rem; /* Rounding Offset on Triangle */
+@ribbonImageOffset: ~"calc("-@ribbonImageMargin~" - "@ribbonTriangleSize~")";
+@rightRibbonImageOffset: ~"calc(100% + "@ribbonImageMargin~" + "@ribbonTriangleSize~")";
+
+@ribbonTableMargin: @relativeMini; /* Rounding Offset on Triangle */
+@ribbonTableOffset: ~"calc("-@ribbonTableMargin~" - "@ribbonTriangleSize~")";
+@rightRibbonTableOffset: ~"calc(100% + "@ribbonTableMargin~" + "@ribbonTriangleSize~")";
+
+
+/* Colors */
+@redTextColor: @white;
+@orangeTextColor: @white;
+@yellowTextColor: @white;
+@oliveTextColor: @white;
+@greenTextColor: @white;
+@tealTextColor: @white;
+@blueTextColor: @white;
+@violetTextColor: @white;
+@purpleTextColor: @white;
+@pinkTextColor: @white;
+@brownTextColor: @white;
+@greyTextColor: @white;
+@blackTextColor: @white;
+
+@redHoverTextColor: @white;
+@orangeHoverTextColor: @white;
+@yellowHoverTextColor: @white;
+@oliveHoverTextColor: @white;
+@greenHoverTextColor: @white;
+@tealHoverTextColor: @white;
+@blueHoverTextColor: @white;
+@violetHoverTextColor: @white;
+@purpleHoverTextColor: @white;
+@pinkHoverTextColor: @white;
+@brownHoverTextColor: @white;
+@greyHoverTextColor: @white;
+@blackHoverTextColor: @white;
+
+@redRibbonShadow: darken(@red, 10);
+@orangeRibbonShadow: darken(@orange, 10);
+@yellowRibbonShadow: darken(@yellow, 10);
+@oliveRibbonShadow: darken(@olive, 10);
+@greenRibbonShadow: darken(@green, 10);
+@tealRibbonShadow: darken(@teal, 10);
+@blueRibbonShadow: darken(@blue, 10);
+@violetRibbonShadow: darken(@violet, 10);
+@purpleRibbonShadow: darken(@purple, 10);
+@pinkRibbonShadow: darken(@pink, 10);
+@brownRibbonShadow: darken(@brown, 10);
+@greyRibbonShadow: darken(@grey, 10);
+@blackRibbonShadow: darken(@black, 10);
+
+/* Attached */
+@attachedSegmentPadding: 2rem;
+@attachedVerticalPadding: 0.75em;
+@attachedHorizontalPadding: 1em;
+
+@attachedCornerBorderRadius: @3px;
+@attachedBorderRadius: @borderRadius;
+
+/* Corner */
+@cornerSizeRatio: 1;
+@cornerTransition: color @labelTransitionDuration @labelTransitionEasing;
+@cornerTriangleSize: 4em;
+@cornerTriangleTransition: border-color @labelTransitionDuration @labelTransitionEasing;
+@cornerTriangleZIndex: 1;
+
+@cornerIconSize: @relativeLarge;
+@cornerIconTopOffset: @relative9px;
+@cornerIconLeftOffset: @relative11px;
+
+/* Corner Text */
+@cornerTextWidth: 3em;
+@cornerTextWeight: bold;
+@cornerTextSize: 1em;
+
+/* Horizontal */
+@horizontalLabelMinWidth: 3em;
+@horizontalLabelMargin: 0.5em;
+@horizontalLabelVerticalPadding: 0.4em;
+
+/* Circular Padding */
+@circularPadding: 0.5em;
+@circularMinSize: 2em;
+@emptyCircleSize: 0.5em;
+
+/* Pointing */
+@pointingBorderColor: inherit;
+@pointingBorderWidth: @borderWidth;
+@pointingVerticalDistance: 1em;
+@pointingTriangleSize: 0.6666em;
+@pointingHorizontalDistance: @pointingTriangleSize;
+
+@pointingTriangleTransition: background @labelTransitionDuration @labelTransitionEasing;
+@pointingTriangleZIndex: 2;
+
+/* Basic Pointing */
+@basicPointingTriangleOffset: -@pointingBorderWidth;
+
+/* Floating */
+@floatingTopOffset: -1em;
+@floatingLeftOffset: -1.5em;
+@floatingZIndex: 100;
+
+/*-------------------
+ Group
+--------------------*/
+
+/* Sizing */
+@mini : @9px;
+@tiny : @10px;
+@small : @11px;
+@medium : @12px;
+@large : @absoluteMedium;
+@big : @absoluteBig;
+@huge : @absoluteHuge;
+@massive : @absoluteMassive;
diff --git a/src/semantic/src/themes/default/elements/list.overrides b/src/semantic/src/themes/default/elements/list.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/list.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/elements/list.variables b/src/semantic/src/themes/default/elements/list.variables
new file mode 100644
index 0000000..290c9ee
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/list.variables
@@ -0,0 +1,224 @@
+/*******************************
+ List
+*******************************/
+
+/*-------------------
+ View
+--------------------*/
+
+/* List */
+@listStyleType: none;
+@listStylePosition: outside;
+@margin: 1em 0em;
+@verticalPadding: 0em;
+@horizontalPadding: 0em;
+
+/* List Item */
+@itemVerticalPadding: @relative3px;
+@itemHorizontalPadding: 0em;
+@itemPadding: @itemVerticalPadding @itemHorizontalPadding;
+@itemLineHeight: @relativeLarge;
+
+/* Sub List */
+@childListPadding: 0.75em 0em 0.25em 0.5em;
+@childListIndent: 1em;
+
+/* Sub List Item */
+@childItemVerticalPadding: @relative2px;
+@childItemHorizontalPadding: 0em;
+@childItemPadding: @childItemVerticalPadding @childItemHorizontalPadding;
+@childItemLineHeight: inherit;
+
+/*-------------------
+ Elements
+--------------------*/
+
+/* Icon */
+@iconDistance: @relative4px;
+@iconOffset: ((@itemLineHeight - 1rem) / 2);
+@iconTransition: color @defaultDuration @defaultEasing;
+@iconVerticalAlign: top;
+@iconContentVerticalAlign: top;
+
+/* Image */
+@imageDistance: 0.5em;
+@imageAlign: top;
+
+/* Content */
+@contentDistance: 0.5em;
+@contentLineHeight: @itemLineHeight;
+@contentLineHeightOffset: (@contentLineHeight - 1em) / 2;
+@contentVerticalAlign: top;
+
+/* Header */
+@itemHeaderFontFamily: @headerFont;
+@itemHeaderFontWeight: bold;
+@itemHeaderColor: @textColor;
+
+/* Description */
+@itemDescriptionColor: rgba(0, 0, 0, 0.7);
+
+/* Link */
+@itemLinkColor: @linkColor;
+@itemLinkHoverColor: @linkHoverColor;
+
+/* Header Link */
+@itemHeaderLinkColor: @itemLinkColor;
+@itemHeaderLinkHoverColor: @itemLinkHoverColor;
+
+/* Linked Icon */
+@itemLinkIconColor: @lightTextColor;
+@itemLinkIconHoverColor: @textColor;
+@invertedIconLinkColor: @invertedLightTextColor;
+
+/*-------------------
+ States
+--------------------*/
+
+@disabledColor: @disabledTextColor;
+@invertedDisabledColor: @invertedDisabledTextColor;
+
+/*-------------------
+ Variations
+--------------------*/
+
+/* Float */
+@floatDistance: 1em;
+@leftFloatMargin: 0em @floatDistance 0em 0em;
+@rightFloatMargin: 0em 0em 0em @floatDistance;
+
+/* Horizontal */
+@horizontalSpacing: 1em;
+@horizontalIconDistance: 0.25em;
+@horizontalVerticalAlign: middle;
+
+/* Inverted */
+@invertedListIconColor: @invertedLightTextColor;
+@invertedHeaderColor: @invertedTextColor;
+@invertedDescriptionColor: @invertedLightTextColor;
+@invertedItemLinkColor: @invertedTextColor;
+@invertedItemLinkHoverColor: @linkHoverColor;
+
+/* Link List */
+@linkListItemColor: @unselectedTextColor;
+@linkListItemHoverColor: @hoveredTextColor;
+@linkListItemDownColor: @pressedTextColor;
+@linkListItemActiveColor: @selectedTextColor;
+@linkListTransition:
+ @defaultDuration color @defaultEasing
+;
+
+/* Inverted Link List */
+@invertedLinkListItemColor: @invertedUnselectedTextColor;
+@invertedLinkListItemHoverColor: @invertedHoveredTextColor;
+@invertedLinkListItemDownColor: @invertedPressedTextColor;
+@invertedLinkListItemActiveColor: @invertedSelectedTextColor;
+
+/* Selection List */
+@selectionListItemMargin: 0em;
+@selectionListItemBorderRadius: 0.5em;
+@selectionListItemVerticalPadding: 0.5em;
+@selectionListItemHorizontalPadding: 0.5em;
+@selectionListTransition:
+ @defaultDuration color @defaultEasing,
+ @defaultDuration padding-left @defaultEasing,
+ @defaultDuration background-color @defaultEasing
+;
+
+/* Selection List States */
+@selectionListBackground: transparent;
+@selectionListColor: @unselectedTextColor;
+@selectionListHoverBackground: @subtleTransparentBlack;
+@selectionListHoverColor: @hoveredTextColor;
+@selectionListDownBackground: @transparentBlack;
+@selectionListDownColor: @pressedTextColor;
+@selectionListActiveBackground: @transparentBlack;
+@selectionListActiveColor: @selectedTextColor;
+
+/* Inverted Selection List */
+@invertedSelectionListBackground: transparent;
+@invertedSelectionListColor: @invertedUnselectedTextColor;
+@invertedSelectionListHoverBackground: @subtleTransparentWhite;
+@invertedSelectionListHoverColor: @invertedHoveredTextColor;
+@invertedSelectionListDownBackground: @transparentWhite;
+@invertedSelectionListDownColor: @invertedPressedTextColor;
+@invertedSelectionListActiveBackground: @transparentWhite;
+@invertedSelectionListActiveColor: @invertedSelectedTextColor;
+
+/* Animated List */
+@animatedDuration: 0.25s;
+@animatedDelay: 0.1s;
+@animatedListTransition:
+ @animatedDuration color @defaultEasing @animatedDelay,
+ @animatedDuration padding-left @defaultEasing @animatedDelay,
+ @animatedDuration background-color @defaultEasing @animatedDelay
+;
+@animatedListIndent: 1em;
+
+/* Bulleted */
+@bulletDistance: 1.25rem;
+@bulletOffset: -@bulletDistance;
+
+@bulletOpacity: 1;
+@bulletCharacter: '•';
+@bulletColor: inherit;
+@bulletLinkColor: @textColor;
+@bulletVerticalAlign: top;
+@bulletChildDistance: @bulletDistance;
+
+/* Horizontal Bullets */
+@horizontalBulletColor: @textColor;
+@horizontalBulletSpacing: @bulletDistance + 0.5em;
+
+/* Ordered List */
+@orderedCountName: ordered;
+@orderedCountContent: counters(ordered, ".") " ";
+@orderedCountColor: @textColor;
+@orderedCountDistance: 1.25rem;
+@orderedCountOpacity: 0.8;
+@orderedCountTextAlign: right;
+@orderedCountVerticalAlign: middle;
+
+@orderedChildCountDistance: 1em;
+@orderedChildCountOffset: -2em;
+
+@orderedInvertedCountColor: @invertedLightTextColor;
+
+/* Horizontal Ordered */
+@horizontalOrderedCountDistance: 0.5em;
+
+/* Divided */
+@dividedBorderWidth: 1px;
+@dividedBorder: @dividedBorderWidth solid @borderColor;
+@dividedInvertedBorderColor: @whiteBorderColor;
+@dividedChildListBorder: none;
+@dividedChildItemBorder: none;
+
+/* Divided Horizontal */
+@horizontalDividedSpacing: (@horizontalSpacing / 2);
+@horizontalDividedLineHeight: 0.6;
+
+/* Divided */
+@celledBorderWidth: 1px;
+@celledBorder: @celledBorderWidth solid @borderColor;
+@celledInvertedBorder: @dividedBorderWidth solid @whiteBorderColor;
+@celledHorizontalPadding: 0.5em;
+@celledChildListBorder: none;
+@celledChildItemBorder: none;
+
+/* Divided Horizontal */
+@horizontalCelledSpacing: (@horizontalSpacing / 2);
+@horizontalCelledLineHeight: 0.6;
+
+/* Relaxed */
+@relaxedItemVerticalPadding: @relative6px;
+@relaxedChildItemVerticalPadding: @relative3px;
+@relaxedHeaderMargin: 0.25rem;
+@relaxedHorizontalPadding: 1rem;
+
+/* Very Relaxed */
+@veryRelaxedItemVerticalPadding: @relative12px;
+@veryRelaxedChildItemVerticalPadding: @relative4px;
+@veryRelaxedHeaderMargin: 0.5rem;
+@veryRelaxedHorizontalPadding: 1.5rem;
+
diff --git a/src/semantic/src/themes/default/elements/loader.overrides b/src/semantic/src/themes/default/elements/loader.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/loader.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/elements/loader.variables b/src/semantic/src/themes/default/elements/loader.variables
new file mode 100644
index 0000000..5cb1b9d
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/loader.variables
@@ -0,0 +1,72 @@
+/*******************************
+ Loader
+*******************************/
+
+/* Some global loader styles defined in site.variables */
+// @loaderSpeed
+// @loaderLineWidth
+// @loaderFillColor
+// @loaderLineColor
+// @invertedLoaderFillColor
+// @invertedLoaderLineColor
+
+/*-------------------
+ Standard
+--------------------*/
+
+@loaderTopOffset: 50%;
+@loaderLeftOffset: 50%;
+
+@shapeBorderColor: @loaderLineColor transparent transparent;
+@invertedShapeBorderColor: @invertedLoaderLineColor transparent transparent;
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Text */
+@textDistance: @relativeMini;
+@loaderTextColor: @textColor;
+@invertedLoaderTextColor: @invertedTextColor;
+
+/*-------------------
+ States
+--------------------*/
+
+@indeterminateDirection: reverse;
+@indeterminateSpeed: (2 * @loaderSpeed);
+
+/*-------------------
+ Variations
+--------------------*/
+
+@inlineVerticalAlign: middle;
+@inlineMargin: 0em;
+
+/* Exact Sizes (Avoids Rounding Errors) */
+@mini : @14px;
+@tiny : @16px;
+@small : @24px;
+@medium : @32px;
+@large : @48px;
+@big : @52px;
+@huge : @58px;
+@massive : @64px;
+
+@miniOffset: 0em 0em 0em -(@mini / 2);
+@tinyOffset: 0em 0em 0em -(@tiny / 2);
+@smallOffset: 0em 0em 0em -(@small / 2);
+@mediumOffset: 0em 0em 0em -(@medium / 2);
+@largeOffset: 0em 0em 0em -(@large / 2);
+@bigOffset: 0em 0em 0em -(@big / 2);
+@hugeOffset: 0em 0em 0em -(@huge / 2);
+@massiveOffset: 0em 0em 0em -(@massive / 2);
+
+@tinyFontSize: @relativeTiny;
+@miniFontSize: @relativeMini;
+@smallFontSize: @relativeSmall;
+@mediumFontSize: @relativeMedium;
+@largeFontSize: @relativeLarge;
+@bigFontSize: @relativeBig;
+@hugeFontSize: @relativeHuge;
+@massiveFontSize: @relativeMassive;
diff --git a/src/semantic/src/themes/default/elements/rail.overrides b/src/semantic/src/themes/default/elements/rail.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/rail.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/elements/rail.variables b/src/semantic/src/themes/default/elements/rail.variables
new file mode 100644
index 0000000..321a26d
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/rail.variables
@@ -0,0 +1,34 @@
+/*******************************
+ Rail
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+@width: 300px;
+@height: 100%;
+
+@distance: 4rem;
+@splitDistance: (@distance / 2);
+
+/*-------------------
+ Variations
+--------------------*/
+
+/* Close */
+@closeDistance: 2em;
+@veryCloseDistance: 1em;
+
+@splitCloseDistance: (@closeDistance / 2);
+@splitVeryCloseDistance: (@veryCloseDistance / 2);
+
+@closeWidth: ~"calc("@width~" + "@splitCloseDistance~")";
+@veryCloseWidth: ~"calc("@width~" + "@splitVeryCloseDistance~")";
+
+/* Dividing */
+@dividingBorder: 1px solid @borderColor;
+@dividingDistance: 5rem;
+@splitDividingDistance: (@dividingDistance / 2);
+@dividingWidth: @width + @splitDividingDistance;
+
diff --git a/src/semantic/src/themes/default/elements/reveal.overrides b/src/semantic/src/themes/default/elements/reveal.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/reveal.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/elements/reveal.variables b/src/semantic/src/themes/default/elements/reveal.variables
new file mode 100644
index 0000000..dafa5de
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/reveal.variables
@@ -0,0 +1,17 @@
+/*******************************
+ Reveal
+*******************************/
+
+@transitionDelay: 0.1s;
+@transitionDuration: 0.5s;
+@transitionEasing: cubic-bezier(0.175, 0.885, 0.320, 1);
+@transition: all @transitionDuration @defaultEasing @transitionDelay;
+
+@bottomZIndex: 2;
+@topZIndex: 3;
+@activeZIndex: 4;
+
+/* Types */
+@rotateDegrees: 110deg;
+@moveTransition: transform @transitionDuration @transitionEasing @transitionDelay;
+@slideTransition: transform @transitionDuration @defaultEasing @transitionDelay;
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/elements/segment.overrides b/src/semantic/src/themes/default/elements/segment.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/segment.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/elements/segment.variables b/src/semantic/src/themes/default/elements/segment.variables
new file mode 100644
index 0000000..16a545e
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/segment.variables
@@ -0,0 +1,139 @@
+/*******************************
+ Segment
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+@background: @white;
+@borderWidth: 1px;
+@border: @borderWidth solid @borderColor;
+
+@boxShadow: @subtleShadow;
+@verticalPadding: 1em;
+@horizontalPadding: 1em;
+@padding: @verticalPadding @horizontalPadding;
+
+@verticalMargin: 1rem;
+@horizontalMargin: 0em;
+@margin: @verticalMargin @horizontalMargin;
+@borderRadius: @defaultBorderRadius;
+
+/*-------------------
+ Group
+--------------------*/
+
+@groupedMargin: @margin;
+@groupedBorder: @border;
+@groupedBoxShadow: @boxShadow;
+@groupedBorderRadius: @borderRadius;
+
+@nestedGroupMargin: @verticalMargin @verticalMargin;
+
+@groupedSegmentBorder: none;
+@groupedSegmentDivider: @border;
+@groupedSegmentMargin: 0em;
+@groupedSegmentWidth: auto;
+@groupedSegmentBoxShadow: none;
+
+/*-------------------
+ Coupling
+--------------------*/
+
+/* Page Grid Segment */
+@pageGridMargin: (2 * @verticalPadding);
+
+/*******************************
+ States
+*******************************/
+
+/* Loading Dimmer */
+@loaderDimmerColor: rgba(255, 255, 255, 0.8);
+@loaderDimmerZIndex: 100;
+
+/* Loading Spinner */
+@loaderSize: 3em;
+@loaderLineZIndex: 101;
+
+
+/*******************************
+ Variations
+*******************************/
+
+/* Piled */
+@piledZIndex: auto;
+@piledMargin: 3em;
+@piledBoxShadow: '';
+@piledDegrees: 1.2deg;
+@piledBorder: @border;
+
+/* Circular */
+@circularPadding: 2em;
+
+/* Stacked */
+@stackedHeight: 6px;
+@stackedPageBackground: @subtleTransparentBlack;
+@stackedPadding: @verticalPadding + (0.4em);
+@tallStackedPadding: @verticalPadding + (0.8em);
+
+/* Raised */
+@raisedBoxShadow: @floatingShadow;
+
+/* Padded */
+@paddedSegmentPadding: 1.5em;
+@veryPaddedSegmentPadding: 3em;
+
+/* Attached */
+@attachedTopOffset: 0px;
+@attachedBottomOffset: 0px;
+@attachedHorizontalOffset: -@borderWidth;
+@attachedWidth: ~"calc(100% + "-@attachedHorizontalOffset * 2~")";
+@attachedBoxShadow: none;
+@attachedBorder: @borderWidth solid @solidBorderColor;
+@attachedBottomBoxShadow:
+ @boxShadow,
+ @attachedBoxShadow
+;
+
+/* Inverted */
+@invertedBackground: @black;
+
+/* Floated */
+@floatedDistance: 1em;
+
+/* Basic */
+@basicBackground: none transparent;
+@basicBorder: none;
+@basicBoxShadow: none;
+@basicBorderRadius: 0px;
+
+/* Colors */
+@coloredBorderSize: 2px;
+
+/* Ordinality */
+@secondaryBackground: @darkWhite;
+@secondaryColor: @mutedTextColor;
+
+@tertiaryBackground: @midWhite;
+@tertiaryColor: @mutedTextColor;
+
+@secondaryInvertedLightness: 0.2;
+@secondaryInvertedBackground:
+ lighten(@black, (@secondaryInvertedLightness * 100))
+ linear-gradient(
+ rgba(255, 255, 255, @secondaryInvertedLightness) 0%,
+ rgba(255, 255, 255, @secondaryInvertedLightness) 100%
+ )
+;
+@secondaryInvertedColor: @invertedMutedTextColor;
+
+@tertiaryInvertedLightness: 0.35;
+@tertiaryInvertedBackground:
+ lighten(@black, (@tertiaryInvertedLightness * 100))
+ linear-gradient(
+ rgba(255, 255, 255, @tertiaryInvertedLightness) 0%,
+ rgba(255, 255, 255, @tertiaryInvertedLightness) 100%
+ )
+;
+@tertiaryInvertedColor: @invertedMutedTextColor;
diff --git a/src/semantic/src/themes/default/elements/step.overrides b/src/semantic/src/themes/default/elements/step.overrides
new file mode 100644
index 0000000..e7aca52
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/step.overrides
@@ -0,0 +1,16 @@
+/*******************************
+ Theme Overrides
+*******************************/
+
+@font-face {
+ font-family: 'Step';
+ src:
+ url(data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=) format('truetype'),
+ url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA) format('woff')
+ ;
+}
+.ui.steps .step.completed > .icon:before,
+.ui.ordered.steps .step.completed:before {
+ font-family: 'Step';
+ content: '\e800'; /* '' */
+}
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/elements/step.variables b/src/semantic/src/themes/default/elements/step.variables
new file mode 100644
index 0000000..268d875
--- /dev/null
+++ b/src/semantic/src/themes/default/elements/step.variables
@@ -0,0 +1,130 @@
+/*******************************
+ Step
+*******************************/
+
+/*-------------------
+ Group
+--------------------*/
+
+@stepMargin: 1em 0em;
+@stepsBorderRadius: @defaultBorderRadius;
+@stepsBackground: '';
+@stepsBoxShadow: none;
+@stepsBorder: 1px solid @borderColor;
+
+/*-------------------
+ Element
+--------------------*/
+
+@verticalMargin: 0em;
+@horizontalMargin: 0em;
+
+@arrowSize: @relativeLarge;
+@verticalPadding: @relativeLarge;
+@horizontalPadding: 2em;
+
+@transition:
+ background-color @defaultDuration @defaultEasing,
+ opacity @defaultDuration @defaultEasing,
+ color @defaultDuration @defaultEasing,
+ box-shadow @defaultDuration @defaultEasing
+;
+@lineHeight: @relativeLarge;
+@alignItems: center;
+@justifyContent: center;
+@backgroundColor: @white;
+@background: @backgroundColor;
+@borderRadius: 0em;
+@borderWidth: 1px;
+@boxShadow: none;
+@border: none;
+@divider: @borderWidth solid @borderColor;
+
+/* Icon */
+@iconDistance: 1rem;
+@iconSize: 2.5em;
+@iconAlign: middle;
+
+/* Title */
+@titleFontFamily: @headerFont;
+@titleFontWeight: bold;
+@titleFontSize: @relativeLarge;
+@titleColor: @darkTextColor;
+
+/* Description */
+@descriptionDistance: 0.25em;
+@descriptionFontSize: @relativeSmall;
+@descriptionFontWeight: normal;
+@descriptionColor: @textColor;
+
+
+/* Arrow */
+@arrowBackgroundColor: @backgroundColor;
+@arrowTopOffset: 50%;
+@arrowRightOffset: 0%;
+@arrowBorderWidth: 0px @borderWidth @borderWidth 0px;
+
+@arrowDisplay: block;
+@lastArrowDisplay: none;
+
+@activeArrowDisplay: block;
+@activeLastArrowDisplay: none;
+
+/* Mobile */
+@mobileIconDistance: @iconDistance;
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Vertical */
+@verticalDivider: @divider;
+@verticalArrowTopOffset: 50%;
+@verticalArrowRightOffset: 0%;
+@verticalArrowBorderWidth: 0px @borderWidth @borderWidth 0px;
+
+@verticalArrowDisplay: none;
+@verticalLastArrowDisplay: @verticalArrowDisplay;
+
+@verticalActiveArrowDisplay: block;
+@verticalActiveLastArrowDisplay: block;
+
+/*-------------------
+ Variations
+--------------------*/
+
+@attachedHorizontalOffset: -@borderWidth;
+@attachedVerticalOffset: 0;
+@attachedWidth: ~"calc(100% + "-@attachedHorizontalOffset * 2~")";
+
+@orderedFontFamily: inherit;
+@orderedFontWeight: bold;
+
+/*-------------------
+ States
+--------------------*/
+
+/* Completed */
+@completedColor: @positiveColor;
+
+/* Hover */
+@hoverBackground: @offWhite;
+@hoverColor: @hoveredTextColor;
+
+/* Down */
+@downBackground: @darkWhite;
+@downColor: @pressedTextColor;
+
+/* Active */
+@activeBackground: @darkWhite;
+@activeColor: @linkColor;
+@activeIconColor: @darkTextColor;
+
+/* Active + Hover */
+@activeHoverBackground: @lightGrey;
+@activeHoverColor: @textColor;
+
+
+/* Disabled */
+@disabledBackground: @background;
+@disabledColor: @disabledTextColor;
diff --git a/src/semantic/src/themes/default/globals/reset.overrides b/src/semantic/src/themes/default/globals/reset.overrides
new file mode 100644
index 0000000..8a241a8
--- /dev/null
+++ b/src/semantic/src/themes/default/globals/reset.overrides
@@ -0,0 +1,429 @@
+/*******************************
+ Theme Overrides
+*******************************/
+
+/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
+
+/**
+ * Correct `block` display not defined in IE 8/9.
+ */
+/*! 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 {
+ 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 */
+}
+
+/**
+ * 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/src/semantic/src/themes/default/globals/reset.variables b/src/semantic/src/themes/default/globals/reset.variables
new file mode 100644
index 0000000..0eedf27
--- /dev/null
+++ b/src/semantic/src/themes/default/globals/reset.variables
@@ -0,0 +1,3 @@
+/*******************************
+ Reset
+*******************************/
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/globals/site.overrides b/src/semantic/src/themes/default/globals/site.overrides
new file mode 100644
index 0000000..3cff744
--- /dev/null
+++ b/src/semantic/src/themes/default/globals/site.overrides
@@ -0,0 +1,4 @@
+/*******************************
+ Global Overrides
+*******************************/
+
diff --git a/src/semantic/src/themes/default/globals/site.variables b/src/semantic/src/themes/default/globals/site.variables
new file mode 100644
index 0000000..5ac1594
--- /dev/null
+++ b/src/semantic/src/themes/default/globals/site.variables
@@ -0,0 +1,936 @@
+/*******************************
+ Site Settings
+*******************************/
+
+/*-------------------
+ Fonts
+--------------------*/
+
+@fontName : 'Lato';
+@fontSmoothing : antialiased;
+
+@headerFont : @fontName, 'Helvetica Neue', Arial, Helvetica, sans-serif;
+@pageFont : @fontName, 'Helvetica Neue', Arial, Helvetica, sans-serif;
+
+@googleFontName : @fontName;
+@importGoogleFonts : true;
+@googleFontSizes : '400,700,400italic,700italic';
+@googleSubset : 'latin';
+
+@googleProtocol : 'https://';
+@googleFontRequest : '@{googleFontName}:@{googleFontSizes}&subset=@{googleSubset}';
+
+/*-------------------
+ Base Sizes
+--------------------*/
+
+/* This is the single variable that controls them all */
+@emSize : 14px;
+
+/* The size of page text */
+@fontSize : 14px;
+
+
+/*-------------------
+ Border Radius
+--------------------*/
+
+/* See Power-user section below
+ for explanation of @px variables
+*/
+@relativeBorderRadius: @relative4px;
+@absoluteBorderRadius: @4px;
+
+@defaultBorderRadius: @absoluteBorderRadius;
+
+/*-------------------
+ Brand Colors
+--------------------*/
+
+@primaryColor : @blue;
+@secondaryColor : @black;
+
+@lightPrimaryColor : @lightBlue;
+@lightSecondaryColor : @lightBlack;
+
+/*--------------
+ Page Heading
+---------------*/
+
+@headerFontWeight : bold;
+@headerLineHeight : 1.2857em;
+
+@h1 : 2rem;
+@h2 : 1.714rem;
+@h3 : 1.28rem;
+@h4 : 1.071rem;
+@h5 : 1rem;
+
+/*--------------
+ Form Input
+---------------*/
+
+/* This adjusts the default form input across all elements */
+@inputBackground : @white;
+@inputVerticalPadding : @relative11px;
+@inputHorizontalPadding : @relative14px;
+@inputPadding : @inputVerticalPadding @inputHorizontalPadding;
+
+/* Input Text Color */
+@inputColor: @textColor;
+@inputPlaceholderColor: lighten(@inputColor, 75);
+@inputPlaceholderFocusColor: lighten(@inputColor, 45);
+
+/* Line Height Default For Inputs in Browser */
+@inputLineHeight: 1.2142em;
+
+/*-------------------
+ Focused Input
+--------------------*/
+
+/* Used on inputs, textarea etc */
+@focusedFormBorderColor: #85B7D9;
+
+/* Used on dropdowns, other larger blocks */
+@focusedFormMutedBorderColor: #96C8DA;
+
+/*-------------------
+ Sizes
+--------------------*/
+
+/*
+ Sizes are all expressed in terms of 14px/em (default em)
+ This ensures these "ratios" remain constant despite changes in EM
+*/
+
+@miniSize : (11 / 14);
+@tinySize : (12 / 14);
+@smallSize : (13 / 14);
+@mediumSize : (14 / 14);
+@largeSize : (16 / 14);
+@bigSize : (18 / 14);
+@hugeSize : (20 / 14);
+@massiveSize : (24 / 14);
+
+
+/*-------------------
+ Page
+--------------------*/
+
+@pageBackground : #FFFFFF;
+@pageOverflowX : hidden;
+
+@lineHeight : 1.4285em;
+@textColor : rgba(0, 0, 0, 0.87);
+
+/*-------------------
+ Paragraph
+--------------------*/
+
+@paragraphMargin : 0em 0em 1em;
+@paragraphLineHeight : @lineHeight;
+
+/*-------------------
+ Links
+--------------------*/
+
+@linkColor : #4183C4;
+@linkUnderline : none;
+@linkHoverColor : darken(saturate(@linkColor, 20), 15, relative);
+@linkHoverUnderline : @linkUnderline;
+
+/*-------------------
+ Highlighted Text
+--------------------*/
+
+@highlightBackground : #CCE2FF;
+@highlightColor : @textColor;
+
+@inputHighlightBackground : rgba(100, 100, 100, 0.4);
+@inputHighlightColor : @textColor;
+
+
+/*-------------------
+ Loader
+--------------------*/
+
+@loaderSize : @relativeBig;
+@loaderSpeed : 0.6s;
+@loaderLineWidth : 0.2em;
+@loaderFillColor : rgba(0, 0, 0, 0.1);
+@loaderLineColor : @grey;
+
+@invertedLoaderFillColor : rgba(255, 255, 255, 0.15);
+@invertedLoaderLineColor : @white;
+
+/*-------------------
+ Grid
+--------------------*/
+
+@columnCount: 16;
+
+/*-------------------
+ Transitions
+--------------------*/
+
+@defaultDuration : 0.1s;
+@defaultEasing : ease;
+
+/*-------------------
+ Breakpoints
+--------------------*/
+
+@mobileBreakpoint : 320px;
+@tabletBreakpoint : 768px;
+@computerBreakpoint : 992px;
+@largeMonitorBreakpoint : 1200px;
+@widescreenMonitorBreakpoint : 1920px;
+
+/*-------------------
+ Site Colors
+--------------------*/
+
+/*--- Colors ---*/
+@red : #DB2828;
+@orange : #F2711C;
+@yellow : #FBBD08;
+@olive : #B5CC18;
+@green : #21BA45;
+@teal : #00B5AD;
+@blue : #2185D0;
+@violet : #6435C9;
+@purple : #A333C8;
+@pink : #E03997;
+@brown : #A5673F;
+@grey : #767676;
+@black : #1B1C1D;
+
+/*--- Light Colors ---*/
+@lightRed : #FF695E;
+@lightOrange : #FF851B;
+@lightYellow : #FFE21F;
+@lightOlive : #D9E778;
+@lightGreen : #2ECC40;
+@lightTeal : #6DFFFF;
+@lightBlue : #54C8FF;
+@lightViolet : #A291FB;
+@lightPurple : #DC73FF;
+@lightPink : #FF8EDF;
+@lightBrown : #D67C1C;
+@lightGrey : #DCDDDE;
+@lightBlack : #545454;
+
+/*--- Neutrals ---*/
+@fullBlack : #000000;
+@offWhite : #F9FAFB;
+@darkWhite : #F3F4F5;
+@midWhite : #DCDDDE;
+@white : #FFFFFF;
+
+/*--- Colored Backgrounds ---*/
+@redBackground : #FFE8E6;
+@orangeBackground : #FFEDDE;
+@yellowBackground : #FFF8DB;
+@oliveBackground : #FBFDEF;
+@greenBackground : #E5F9E7;
+@tealBackground : #E1F7F7;
+@blueBackground : #DFF0FF;
+@violetBackground : #EAE7FF;
+@purpleBackground : #F6E7FF;
+@pinkBackground : #FFE3FB;
+@brownBackground : #F1E2D3;
+
+/*--- Colored Headers ---*/
+@redHeaderColor : darken(@redTextColor, 5);
+@oliveHeaderColor : darken(@oliveTextColor, 5);
+@greenHeaderColor : darken(@greenTextColor, 5);
+@yellowHeaderColor : darken(@yellowTextColor, 5);
+@blueHeaderColor : darken(@blueTextColor, 5);
+@tealHeaderColor : darken(@tealTextColor, 5);
+@pinkHeaderColor : darken(@pinkTextColor, 5);
+@violetHeaderColor : darken(@violetTextColor, 5);
+@purpleHeaderColor : darken(@purpleTextColor, 5);
+@orangeHeaderColor : darken(@orangeTextColor, 5);
+@brownHeaderColor : darken(@brownTextColor, 5);
+
+/*--- Colored Text ---*/
+@redTextColor : @red;
+@orangeTextColor : @orange;
+@yellowTextColor : #B58105; // Yellow text is difficult to read
+@oliveTextColor : #8ABC1E; // Olive is difficult to read
+@greenTextColor : #1EBC30; // Green is difficult to read
+@tealTextColor : #10A3A3; // Teal text is difficult to read
+@blueTextColor : @blue;
+@violetTextColor : @violet;
+@purpleTextColor : @purple;
+@pinkTextColor : @pink;
+@brownTextColor : @brown;
+
+/*--- Colored Border ---*/
+@redBorderColor : @redTextColor;
+@orangeBorderColor : @orangeTextColor;
+@yellowBorderColor : @yellowTextColor;
+@oliveBorderColor : @oliveTextColor;
+@greenBorderColor : @greenTextColor;
+@tealBorderColor : @tealTextColor;
+@blueBorderColor : @blueTextColor;
+@violetBorderColor : @violetTextColor;
+@purpleBorderColor : @purpleTextColor;
+@pinkBorderColor : @pinkTextColor;
+@brownBorderColor : @brownTextColor;
+
+/*-------------------
+ Alpha Colors
+--------------------*/
+
+@subtleTransparentBlack : rgba(0, 0, 0, 0.03);
+@transparentBlack : rgba(0, 0, 0, 0.05);
+@strongTransparentBlack : rgba(0, 0, 0, 0.10);
+@veryStrongTransparentBlack : rgba(0, 0, 0, 0.15);
+
+@subtleTransparentWhite : rgba(255, 255, 255, 0.02);
+@transparentWhite : rgba(255, 255, 255, 0.08);
+@strongTransparentWhite : rgba(255, 255, 255, 0.15);
+
+/*-------------------
+ Accents
+--------------------*/
+
+/* Differentiating Neutrals */
+@subtleGradient: linear-gradient(transparent, @transparentBlack);
+
+/* Differentiating Layers */
+@subtleShadow:
+ 0px 1px 2px 0 @borderColor
+;
+@floatingShadow:
+ 0px 2px 4px 0px rgba(34, 36, 38, 0.12),
+ 0px 2px 10px 0px rgba(34, 36, 38, 0.15)
+;
+
+/*******************************
+ Power-User
+*******************************/
+
+
+/*-------------------
+ Emotive Colors
+--------------------*/
+
+/* Positive */
+@positiveColor : @green;
+@positiveBackgroundColor : #FCFFF5;
+@positiveBorderColor : #A3C293;
+@positiveHeaderColor : #1A531B;
+@positiveTextColor : #2C662D;
+
+/* Negative */
+@negativeColor : @red;
+@negativeBackgroundColor : #FFF6F6;
+@negativeBorderColor : #E0B4B4;
+@negativeHeaderColor : #912D2B;
+@negativeTextColor : #9F3A38;
+
+/* Info */
+@infoColor : #31CCEC;
+@infoBackgroundColor : #F8FFFF;
+@infoBorderColor : #A9D5DE;
+@infoHeaderColor : #0E566C;
+@infoTextColor : #276F86;
+
+/* Warning */
+@warningColor : #F2C037;
+@warningBorderColor : #C9BA9B;
+@warningBackgroundColor : #FFFAF3;
+@warningHeaderColor : #794B02;
+@warningTextColor : #573A08;
+
+/*-------------------
+ Paths
+--------------------*/
+
+/* For source only. Modified in gulp for dist */
+@imagePath : '../../themes/default/assets/images';
+@fontPath : '../../themes/default/assets/fonts';
+
+/*-------------------
+ Em Sizes
+--------------------*/
+
+/*
+ This rounds @size values to the closest pixel then expresses that value in (r)em.
+ This ensures all size values round to exact pixels
+*/
+@mini : unit( round(@miniSize * @emSize) / @emSize, rem);
+@tiny : unit( round(@tinySize * @emSize) / @emSize, rem);
+@small : unit( round(@smallSize * @emSize) / @emSize, rem);
+@medium : unit( round(@mediumSize * @emSize) / @emSize, rem);
+@large : unit( round(@largeSize * @emSize) / @emSize, rem);
+@big : unit( round(@bigSize * @emSize) / @emSize, rem);
+@huge : unit( round(@hugeSize * @emSize) / @emSize, rem);
+@massive : unit( round(@massiveSize * @emSize) / @emSize, rem);
+
+/* em */
+@relativeMini : unit( round(@miniSize * @emSize) / @emSize, em);
+@relativeTiny : unit( round(@tinySize * @emSize) / @emSize, em);
+@relativeSmall : unit( round(@smallSize * @emSize) / @emSize, em);
+@relativeMedium : unit( round(@mediumSize * @emSize) / @emSize, em);
+@relativeLarge : unit( round(@largeSize * @emSize) / @emSize, em);
+@relativeBig : unit( round(@bigSize * @emSize) / @emSize, em);
+@relativeHuge : unit( round(@hugeSize * @emSize) / @emSize, em);
+@relativeMassive : unit( round(@massiveSize * @emSize) / @emSize, em);
+
+/* rem */
+@absoluteMini : unit( round(@miniSize * @emSize) / @emSize, rem);
+@absoluteTiny : unit( round(@tinySize * @emSize) / @emSize, rem);
+@absoluteSmall : unit( round(@smallSize * @emSize) / @emSize, rem);
+@absoluteMedium : unit( round(@mediumSize * @emSize) / @emSize, rem);
+@absoluteLarge : unit( round(@largeSize * @emSize) / @emSize, rem);
+@absoluteBig : unit( round(@bigSize * @emSize) / @emSize, rem);
+@absoluteHuge : unit( round(@hugeSize * @emSize) / @emSize, rem);
+@absoluteMassive : unit( round(@massiveSize * @emSize) / @emSize, rem);
+
+/*-------------------
+ Icons
+--------------------*/
+
+/* Maximum Glyph Width of Icon */
+@iconWidth : 1.18em;
+
+/*-------------------
+ Neutral Text
+--------------------*/
+
+@darkTextColor : rgba(0, 0, 0, 0.85);
+@mutedTextColor : rgba(0, 0, 0, 0.6);
+@lightTextColor : rgba(0, 0, 0, 0.4);
+
+@unselectedTextColor : rgba(0, 0, 0, 0.4);
+@hoveredTextColor : rgba(0, 0, 0, 0.8);
+@pressedTextColor : rgba(0, 0, 0, 0.9);
+@selectedTextColor : rgba(0, 0, 0, 0.95);
+@disabledTextColor : rgba(0, 0, 0, 0.2);
+
+@invertedTextColor : rgba(255, 255, 255, 0.9);
+@invertedMutedTextColor : rgba(255, 255, 255, 0.8);
+@invertedLightTextColor : rgba(255, 255, 255, 0.7);
+@invertedUnselectedTextColor : rgba(255, 255, 255, 0.5);
+@invertedHoveredTextColor : rgba(255, 255, 255, 1);
+@invertedPressedTextColor : rgba(255, 255, 255, 1);
+@invertedSelectedTextColor : rgba(255, 255, 255, 1);
+@invertedDisabledTextColor : rgba(255, 255, 255, 0.2);
+
+/*-------------------
+ Brand Colors
+--------------------*/
+
+@facebookColor : #3B5998;
+@twitterColor : #55ACEE;
+@googlePlusColor : #DD4B39;
+@linkedInColor : #1F88BE;
+@youtubeColor : #CC181E;
+@pinterestColor : #BD081C;
+@vkColor : #4D7198;
+@instagramColor : #49769C;
+
+/*-------------------
+ Borders
+--------------------*/
+
+@circularRadius : 500rem;
+
+@borderColor : rgba(34, 36, 38, 0.15);
+@strongBorderColor : rgba(34, 36, 38, 0.22);
+@internalBorderColor : rgba(34, 36, 38, 0.1);
+@selectedBorderColor : rgba(34, 36, 38, 0.35);
+@strongSelectedBorderColor : rgba(34, 36, 38, 0.5);
+@disabledBorderColor : rgba(34, 36, 38, 0.5);
+
+@solidInternalBorderColor : #FAFAFA;
+@solidBorderColor : #D4D4D5;
+@solidSelectedBorderColor : #BCBDBD;
+
+@whiteBorderColor : rgba(255, 255, 255, 0.1);
+@selectedWhiteBorderColor : rgba(255, 255, 255, 0.8);
+
+@solidWhiteBorderColor : #555555;
+@selectedSolidWhiteBorderColor : #999999;
+
+
+/*-------------------
+ Derived Values
+--------------------*/
+
+/* Loaders Position Offset */
+@loaderOffset : -(@loaderSize / 2);
+@loaderMargin : @loaderOffset 0em 0em @loaderOffset;
+
+/* Rendered Scrollbar Width */
+@scrollbarWidth: 17px;
+
+/* Maximum Single Character Glyph Width, aka Capital "W" */
+@glyphWidth: 1.1em;
+
+/* Used to match floats with text */
+@lineHeightOffset : ((@lineHeight - 1em) / 2);
+@headerLineHeightOffset : (@headerLineHeight - 1em) / 2;
+
+/* Header Spacing */
+@headerTopMargin : ~"calc(2rem - "@headerLineHeightOffset~")";
+@headerBottomMargin : 1rem;
+@headerMargin : @headerTopMargin 0em @headerBottomMargin;
+
+/* Minimum Mobile Width */
+@pageMinWidth : 320px;
+
+/* Positive / Negative Dupes */
+@successBackgroundColor : @positiveBackgroundColor;
+@successColor : @positiveColor;
+@successBorderColor : @positiveBorderColor;
+@successHeaderColor : @positiveHeaderColor;
+@successTextColor : @positiveTextColor;
+
+@errorBackgroundColor : @negativeBackgroundColor;
+@errorColor : @negativeColor;
+@errorBorderColor : @negativeBorderColor;
+@errorHeaderColor : @negativeHeaderColor;
+@errorTextColor : @negativeTextColor;
+
+
+/* Responsive */
+@largestMobileScreen : (@tabletBreakpoint - 1px);
+@largestTabletScreen : (@computerBreakpoint - 1px);
+@largestSmallMonitor : (@largeMonitorBreakpoint - 1px);
+@largestLargeMonitor : (@widescreenMonitorBreakpoint - 1px);
+
+
+/*-------------------
+ Exact Pixel Values
+--------------------*/
+/*
+ These are used to specify exact pixel values in em
+ for things like borders that remain constantly
+ sized as emSize adjusts
+
+ Since there are many more sizes than names for sizes,
+ these are named by their original pixel values.
+
+*/
+
+@1px : unit( (1 / @emSize), rem);
+@2px : unit( (2 / @emSize), rem);
+@3px : unit( (3 / @emSize), rem);
+@4px : unit( (4 / @emSize), rem);
+@5px : unit( (5 / @emSize), rem);
+@6px : unit( (6 / @emSize), rem);
+@7px : unit( (7 / @emSize), rem);
+@8px : unit( (8 / @emSize), rem);
+@9px : unit( (9 / @emSize), rem);
+@10px : unit( (10 / @emSize), rem);
+@11px : unit( (11 / @emSize), rem);
+@12px : unit( (12 / @emSize), rem);
+@13px : unit( (13 / @emSize), rem);
+@14px : unit( (14 / @emSize), rem);
+@15px : unit( (15 / @emSize), rem);
+@16px : unit( (16 / @emSize), rem);
+@17px : unit( (17 / @emSize), rem);
+@18px : unit( (18 / @emSize), rem);
+@19px : unit( (19 / @emSize), rem);
+@20px : unit( (20 / @emSize), rem);
+@21px : unit( (21 / @emSize), rem);
+@22px : unit( (22 / @emSize), rem);
+@23px : unit( (23 / @emSize), rem);
+@24px : unit( (24 / @emSize), rem);
+@25px : unit( (25 / @emSize), rem);
+@26px : unit( (26 / @emSize), rem);
+@27px : unit( (27 / @emSize), rem);
+@28px : unit( (28 / @emSize), rem);
+@29px : unit( (29 / @emSize), rem);
+@30px : unit( (30 / @emSize), rem);
+@31px : unit( (31 / @emSize), rem);
+@32px : unit( (32 / @emSize), rem);
+@33px : unit( (33 / @emSize), rem);
+@34px : unit( (34 / @emSize), rem);
+@35px : unit( (35 / @emSize), rem);
+@36px : unit( (36 / @emSize), rem);
+@37px : unit( (37 / @emSize), rem);
+@38px : unit( (38 / @emSize), rem);
+@39px : unit( (39 / @emSize), rem);
+@40px : unit( (40 / @emSize), rem);
+@41px : unit( (41 / @emSize), rem);
+@42px : unit( (42 / @emSize), rem);
+@43px : unit( (43 / @emSize), rem);
+@44px : unit( (44 / @emSize), rem);
+@45px : unit( (45 / @emSize), rem);
+@46px : unit( (46 / @emSize), rem);
+@47px : unit( (47 / @emSize), rem);
+@48px : unit( (48 / @emSize), rem);
+@49px : unit( (49 / @emSize), rem);
+@50px : unit( (50 / @emSize), rem);
+@51px : unit( (51 / @emSize), rem);
+@52px : unit( (52 / @emSize), rem);
+@53px : unit( (53 / @emSize), rem);
+@54px : unit( (54 / @emSize), rem);
+@55px : unit( (55 / @emSize), rem);
+@56px : unit( (56 / @emSize), rem);
+@57px : unit( (57 / @emSize), rem);
+@58px : unit( (58 / @emSize), rem);
+@59px : unit( (59 / @emSize), rem);
+@60px : unit( (60 / @emSize), rem);
+@61px : unit( (61 / @emSize), rem);
+@62px : unit( (62 / @emSize), rem);
+@63px : unit( (63 / @emSize), rem);
+@64px : unit( (64 / @emSize), rem);
+
+@relative1px : unit( (1 / @emSize), em);
+@relative2px : unit( (2 / @emSize), em);
+@relative3px : unit( (3 / @emSize), em);
+@relative4px : unit( (4 / @emSize), em);
+@relative5px : unit( (5 / @emSize), em);
+@relative6px : unit( (6 / @emSize), em);
+@relative7px : unit( (7 / @emSize), em);
+@relative8px : unit( (8 / @emSize), em);
+@relative9px : unit( (9 / @emSize), em);
+@relative10px : unit( (10 / @emSize), em);
+@relative11px : unit( (11 / @emSize), em);
+@relative12px : unit( (12 / @emSize), em);
+@relative13px : unit( (13 / @emSize), em);
+@relative14px : unit( (14 / @emSize), em);
+@relative15px : unit( (15 / @emSize), em);
+@relative16px : unit( (16 / @emSize), em);
+@relative17px : unit( (17 / @emSize), em);
+@relative18px : unit( (18 / @emSize), em);
+@relative19px : unit( (19 / @emSize), em);
+@relative20px : unit( (20 / @emSize), em);
+@relative21px : unit( (21 / @emSize), em);
+@relative22px : unit( (22 / @emSize), em);
+@relative23px : unit( (23 / @emSize), em);
+@relative24px : unit( (24 / @emSize), em);
+@relative25px : unit( (25 / @emSize), em);
+@relative26px : unit( (26 / @emSize), em);
+@relative27px : unit( (27 / @emSize), em);
+@relative28px : unit( (28 / @emSize), em);
+@relative29px : unit( (29 / @emSize), em);
+@relative30px : unit( (30 / @emSize), em);
+@relative31px : unit( (31 / @emSize), em);
+@relative32px : unit( (32 / @emSize), em);
+@relative33px : unit( (33 / @emSize), em);
+@relative34px : unit( (34 / @emSize), em);
+@relative35px : unit( (35 / @emSize), em);
+@relative36px : unit( (36 / @emSize), em);
+@relative37px : unit( (37 / @emSize), em);
+@relative38px : unit( (38 / @emSize), em);
+@relative39px : unit( (39 / @emSize), em);
+@relative40px : unit( (40 / @emSize), em);
+@relative41px : unit( (41 / @emSize), em);
+@relative42px : unit( (42 / @emSize), em);
+@relative43px : unit( (43 / @emSize), em);
+@relative44px : unit( (44 / @emSize), em);
+@relative45px : unit( (45 / @emSize), em);
+@relative46px : unit( (46 / @emSize), em);
+@relative47px : unit( (47 / @emSize), em);
+@relative48px : unit( (48 / @emSize), em);
+@relative49px : unit( (49 / @emSize), em);
+@relative50px : unit( (50 / @emSize), em);
+@relative51px : unit( (51 / @emSize), em);
+@relative52px : unit( (52 / @emSize), em);
+@relative53px : unit( (53 / @emSize), em);
+@relative54px : unit( (54 / @emSize), em);
+@relative55px : unit( (55 / @emSize), em);
+@relative56px : unit( (56 / @emSize), em);
+@relative57px : unit( (57 / @emSize), em);
+@relative58px : unit( (58 / @emSize), em);
+@relative59px : unit( (59 / @emSize), em);
+@relative60px : unit( (60 / @emSize), em);
+@relative61px : unit( (61 / @emSize), em);
+@relative62px : unit( (62 / @emSize), em);
+@relative63px : unit( (63 / @emSize), em);
+@relative64px : unit( (64 / @emSize), em);
+
+/* Columns */
+@oneWide : (1 / @columnCount * 100%);
+@twoWide : (2 / @columnCount * 100%);
+@threeWide : (3 / @columnCount * 100%);
+@fourWide : (4 / @columnCount * 100%);
+@fiveWide : (5 / @columnCount * 100%);
+@sixWide : (6 / @columnCount * 100%);
+@sevenWide : (7 / @columnCount * 100%);
+@eightWide : (8 / @columnCount * 100%);
+@nineWide : (9 / @columnCount * 100%);
+@tenWide : (10 / @columnCount * 100%);
+@elevenWide : (11 / @columnCount * 100%);
+@twelveWide : (12 / @columnCount * 100%);
+@thirteenWide : (13 / @columnCount * 100%);
+@fourteenWide : (14 / @columnCount * 100%);
+@fifteenWide : (15 / @columnCount * 100%);
+@sixteenWide : (16 / @columnCount * 100%);
+
+@oneColumn : (1 / 1 * 100%);
+@twoColumn : (1 / 2 * 100%);
+@threeColumn : (1 / 3 * 100%);
+@fourColumn : (1 / 4 * 100%);
+@fiveColumn : (1 / 5 * 100%);
+@sixColumn : (1 / 6 * 100%);
+@sevenColumn : (1 / 7 * 100%);
+@eightColumn : (1 / 8 * 100%);
+@nineColumn : (1 / 9 * 100%);
+@tenColumn : (1 / 10 * 100%);
+@elevenColumn : (1 / 11 * 100%);
+@twelveColumn : (1 / 12 * 100%);
+@thirteenColumn : (1 / 13 * 100%);
+@fourteenColumn : (1 / 14 * 100%);
+@fifteenColumn : (1 / 15 * 100%);
+@sixteenColumn : (1 / 16 * 100%);
+
+
+/*******************************
+ States
+*******************************/
+
+/*-------------------
+ Disabled
+--------------------*/
+
+@disabledOpacity: 0.45;
+@disabledTextColor: rgba(40, 40, 40, 0.3);
+@invertedDisabledTextColor: rgba(225, 225, 225, 0.3);
+
+/*-------------------
+ Hover
+--------------------*/
+
+/*--- Shadows ---*/
+@floatingShadowHover:
+ 0px 2px 4px 0px rgba(34, 36, 38, 0.15),
+ 0px 2px 10px 0px rgba(34, 36, 38, 0.25)
+;
+
+/*--- Colors ---*/
+@primaryColorHover : saturate(darken(@primaryColor, 5), 10, relative);
+@secondaryColorHover : saturate(lighten(@secondaryColor, 5), 10, relative);
+
+@redHover : saturate(darken(@red, 5), 10, relative);
+@orangeHover : saturate(darken(@orange, 5), 10, relative);
+@yellowHover : saturate(darken(@yellow, 5), 10, relative);
+@oliveHover : saturate(darken(@olive, 5), 10, relative);
+@greenHover : saturate(darken(@green, 5), 10, relative);
+@tealHover : saturate(darken(@teal, 5), 10, relative);
+@blueHover : saturate(darken(@blue, 5), 10, relative);
+@violetHover : saturate(darken(@violet, 5), 10, relative);
+@purpleHover : saturate(darken(@purple, 5), 10, relative);
+@pinkHover : saturate(darken(@pink, 5), 10, relative);
+@brownHover : saturate(darken(@brown, 5), 10, relative);
+
+@lightRedHover : saturate(darken(@lightRed, 5), 10, relative);
+@lightOrangeHover : saturate(darken(@lightOrange, 5), 10, relative);
+@lightYellowHover : saturate(darken(@lightYellow, 5), 10, relative);
+@lightOliveHover : saturate(darken(@lightOlive, 5), 10, relative);
+@lightGreenHover : saturate(darken(@lightGreen, 5), 10, relative);
+@lightTealHover : saturate(darken(@lightTeal, 5), 10, relative);
+@lightBlueHover : saturate(darken(@lightBlue, 5), 10, relative);
+@lightVioletHover : saturate(darken(@lightViolet, 5), 10, relative);
+@lightPurpleHover : saturate(darken(@lightPurple, 5), 10, relative);
+@lightPinkHover : saturate(darken(@lightPink, 5), 10, relative);
+@lightBrownHover : saturate(darken(@lightBrown, 5), 10, relative);
+@lightGreyHover : saturate(darken(@lightGrey, 5), 10, relative);
+@lightBlackHover : saturate(darken(@fullBlack, 5), 10, relative);
+
+/*--- Emotive ---*/
+@positiveColorHover : saturate(darken(@positiveColor, 5), 10, relative);
+@negativeColorHover : saturate(darken(@negativeColor, 5), 10, relative);
+
+/*--- Brand ---*/
+@facebookHoverColor : saturate(darken(@facebookColor, 5), 10, relative);
+@twitterHoverColor : saturate(darken(@twitterColor, 5), 10, relative);
+@googlePlusHoverColor : saturate(darken(@googlePlusColor, 5), 10, relative);
+@linkedInHoverColor : saturate(darken(@linkedInColor, 5), 10, relative);
+@youtubeHoverColor : saturate(darken(@youtubeColor, 5), 10, relative);
+@instagramHoverColor : saturate(darken(@instagramColor, 5), 10, relative);
+@pinterestHoverColor : saturate(darken(@pinterestColor, 5), 10, relative);
+@vkHoverColor : saturate(darken(@vkColor, 5), 10, relative);
+
+/*--- Dark Tones ---*/
+@fullBlackHover : lighten(@fullBlack, 5);
+@blackHover : lighten(@black, 5);
+@greyHover : lighten(@grey, 5);
+
+/*--- Light Tones ---*/
+@whiteHover : darken(@white, 5);
+@offWhiteHover : darken(@offWhite, 5);
+@darkWhiteHover : darken(@darkWhite, 5);
+
+/*-------------------
+ Focus
+--------------------*/
+
+/*--- Colors ---*/
+@primaryColorFocus : saturate(darken(@primaryColor, 8), 20, relative);
+@secondaryColorFocus : saturate(lighten(@secondaryColor, 8), 20, relative);
+
+@redFocus : saturate(darken(@red, 8), 20, relative);
+@orangeFocus : saturate(darken(@orange, 8), 20, relative);
+@yellowFocus : saturate(darken(@yellow, 8), 20, relative);
+@oliveFocus : saturate(darken(@olive, 8), 20, relative);
+@greenFocus : saturate(darken(@green, 8), 20, relative);
+@tealFocus : saturate(darken(@teal, 8), 20, relative);
+@blueFocus : saturate(darken(@blue, 8), 20, relative);
+@violetFocus : saturate(darken(@violet, 8), 20, relative);
+@purpleFocus : saturate(darken(@purple, 8), 20, relative);
+@pinkFocus : saturate(darken(@pink, 8), 20, relative);
+@brownFocus : saturate(darken(@brown, 8), 20, relative);
+
+@lightRedFocus : saturate(darken(@lightRed, 8), 20, relative);
+@lightOrangeFocus : saturate(darken(@lightOrange, 8), 20, relative);
+@lightYellowFocus : saturate(darken(@lightYellow, 8), 20, relative);
+@lightOliveFocus : saturate(darken(@lightOlive, 8), 20, relative);
+@lightGreenFocus : saturate(darken(@lightGreen, 8), 20, relative);
+@lightTealFocus : saturate(darken(@lightTeal, 8), 20, relative);
+@lightBlueFocus : saturate(darken(@lightBlue, 8), 20, relative);
+@lightVioletFocus : saturate(darken(@lightViolet, 8), 20, relative);
+@lightPurpleFocus : saturate(darken(@lightPurple, 8), 20, relative);
+@lightPinkFocus : saturate(darken(@lightPink, 8), 20, relative);
+@lightBrownFocus : saturate(darken(@lightBrown, 8), 20, relative);
+@lightGreyFocus : saturate(darken(@lightGrey, 8), 20, relative);
+@lightBlackFocus : saturate(darken(@fullBlack, 8), 20, relative);
+
+/*--- Emotive ---*/
+@positiveColorFocus : saturate(darken(@positiveColor, 8), 20, relative);
+@negativeColorFocus : saturate(darken(@negativeColor, 8), 20, relative);
+
+/*--- Brand ---*/
+@facebookFocusColor : saturate(darken(@facebookColor, 8), 20, relative);
+@twitterFocusColor : saturate(darken(@twitterColor, 8), 20, relative);
+@googlePlusFocusColor : saturate(darken(@googlePlusColor, 8), 20, relative);
+@linkedInFocusColor : saturate(darken(@linkedInColor, 8), 20, relative);
+@youtubeFocusColor : saturate(darken(@youtubeColor, 8), 20, relative);
+@instagramFocusColor : saturate(darken(@instagramColor, 8), 20, relative);
+@pinterestFocusColor : saturate(darken(@pinterestColor, 8), 20, relative);
+@vkFocusColor : saturate(darken(@vkColor, 8), 20, relative);
+
+/*--- Dark Tones ---*/
+@fullBlackFocus : lighten(@fullBlack, 8);
+@blackFocus : lighten(@black, 8);
+@greyFocus : lighten(@grey, 8);
+
+/*--- Light Tones ---*/
+@whiteFocus : darken(@white, 8);
+@offWhiteFocus : darken(@offWhite, 8);
+@darkWhiteFocus : darken(@darkWhite, 8);
+
+
+/*-------------------
+ Down (:active)
+--------------------*/
+
+/*--- Colors ---*/
+@primaryColorDown : darken(@primaryColor, 10);
+@secondaryColorDown : lighten(@secondaryColor, 10);
+
+@redDown : darken(@red, 10);
+@orangeDown : darken(@orange, 10);
+@yellowDown : darken(@yellow, 10);
+@oliveDown : darken(@olive, 10);
+@greenDown : darken(@green, 10);
+@tealDown : darken(@teal, 10);
+@blueDown : darken(@blue, 10);
+@violetDown : darken(@violet, 10);
+@purpleDown : darken(@purple, 10);
+@pinkDown : darken(@pink, 10);
+@brownDown : darken(@brown, 10);
+
+@lightRedDown : darken(@lightRed, 10);
+@lightOrangeDown : darken(@lightOrange, 10);
+@lightYellowDown : darken(@lightYellow, 10);
+@lightOliveDown : darken(@lightOlive, 10);
+@lightGreenDown : darken(@lightGreen, 10);
+@lightTealDown : darken(@lightTeal, 10);
+@lightBlueDown : darken(@lightBlue, 10);
+@lightVioletDown : darken(@lightViolet, 10);
+@lightPurpleDown : darken(@lightPurple, 10);
+@lightPinkDown : darken(@lightPink, 10);
+@lightBrownDown : darken(@lightBrown, 10);
+@lightGreyDown : darken(@lightGrey, 10);
+@lightBlackDown : darken(@fullBlack, 10);
+
+/*--- Emotive ---*/
+@positiveColorDown : darken(@positiveColor, 10);
+@negativeColorDown : darken(@negativeColor, 10);
+
+/*--- Brand ---*/
+@facebookDownColor : darken(@facebookColor, 10);
+@twitterDownColor : darken(@twitterColor, 10);
+@googlePlusDownColor : darken(@googlePlusColor, 10);
+@linkedInDownColor : darken(@linkedInColor, 10);
+@youtubeDownColor : darken(@youtubeColor, 10);
+@instagramDownColor : darken(@instagramColor, 10);
+@pinterestDownColor : darken(@pinterestColor, 10);
+@vkDownColor : darken(@vkColor, 10);
+
+/*--- Dark Tones ---*/
+@fullBlackDown : lighten(@fullBlack, 10);
+@blackDown : lighten(@black, 10);
+@greyDown : lighten(@grey, 10);
+
+/*--- Light Tones ---*/
+@whiteDown : darken(@white, 10);
+@offWhiteDown : darken(@offWhite, 10);
+@darkWhiteDown : darken(@darkWhite, 10);
+
+
+/*-------------------
+ Active
+--------------------*/
+
+/*--- Colors ---*/
+@primaryColorActive : saturate(darken(@primaryColor, 5), 15, relative);
+@secondaryColorActive : saturate(lighten(@secondaryColor, 5), 15, relative);
+
+@redActive : saturate(darken(@red, 5), 15, relative);
+@orangeActive : saturate(darken(@orange, 5), 15, relative);
+@yellowActive : saturate(darken(@yellow, 5), 15, relative);
+@oliveActive : saturate(darken(@olive, 5), 15, relative);
+@greenActive : saturate(darken(@green, 5), 15, relative);
+@tealActive : saturate(darken(@teal, 5), 15, relative);
+@blueActive : saturate(darken(@blue, 5), 15, relative);
+@violetActive : saturate(darken(@violet, 5), 15, relative);
+@purpleActive : saturate(darken(@purple, 5), 15, relative);
+@pinkActive : saturate(darken(@pink, 5), 15, relative);
+@brownActive : saturate(darken(@brown, 5), 15, relative);
+
+@lightRedActive : saturate(darken(@lightRed, 5), 15, relative);
+@lightOrangeActive : saturate(darken(@lightOrange, 5), 15, relative);
+@lightYellowActive : saturate(darken(@lightYellow, 5), 15, relative);
+@lightOliveActive : saturate(darken(@lightOlive, 5), 15, relative);
+@lightGreenActive : saturate(darken(@lightGreen, 5), 15, relative);
+@lightTealActive : saturate(darken(@lightTeal, 5), 15, relative);
+@lightBlueActive : saturate(darken(@lightBlue, 5), 15, relative);
+@lightVioletActive : saturate(darken(@lightViolet, 5), 15, relative);
+@lightPurpleActive : saturate(darken(@lightPurple, 5), 15, relative);
+@lightPinkActive : saturate(darken(@lightPink, 5), 15, relative);
+@lightBrownActive : saturate(darken(@lightBrown, 5), 15, relative);
+@lightGreyActive : saturate(darken(@lightGrey, 5), 15, relative);
+@lightBlackActive : saturate(darken(@fullBlack, 5), 15, relative);
+
+/*--- Emotive ---*/
+@positiveColorActive : saturate(darken(@positiveColor, 5), 15, relative);
+@negativeColorActive : saturate(darken(@negativeColor, 5), 15, relative);
+
+/*--- Brand ---*/
+@facebookActiveColor : saturate(darken(@facebookColor, 5), 15, relative);
+@twitterActiveColor : saturate(darken(@twitterColor, 5), 15, relative);
+@googlePlusActiveColor : saturate(darken(@googlePlusColor, 5), 15, relative);
+@linkedInActiveColor : saturate(darken(@linkedInColor, 5), 15, relative);
+@youtubeActiveColor : saturate(darken(@youtubeColor, 5), 15, relative);
+@instagramActiveColor : saturate(darken(@instagramColor, 5), 15, relative);
+@pinterestActiveColor : saturate(darken(@pinterestColor, 5), 15, relative);
+@vkActiveColor : saturate(darken(@vkColor, 5), 15, relative);
+
+/*--- Dark Tones ---*/
+@fullBlackActive : darken(@fullBlack, 5);
+@blackActive : darken(@black, 5);
+@greyActive : darken(@grey, 5);
+
+/*--- Light Tones ---*/
+@whiteActive : darken(@white, 5);
+@offWhiteActive : darken(@offWhite, 5);
+@darkWhiteActive : darken(@darkWhite, 5);
diff --git a/src/semantic/src/themes/default/modules/accordion.overrides b/src/semantic/src/themes/default/modules/accordion.overrides
new file mode 100644
index 0000000..52c8dbd
--- /dev/null
+++ b/src/semantic/src/themes/default/modules/accordion.overrides
@@ -0,0 +1,28 @@
+/*******************************
+ Theme Overrides
+*******************************/
+@font-face {
+ font-family: 'Accordion';
+ src:
+ url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'),
+ url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff')
+ ;
+ font-weight: normal;
+ font-style: normal;
+}
+
+/* Dropdown Icon */
+.ui.accordion .title .dropdown.icon,
+.ui.accordion .accordion .title .dropdown.icon {
+ font-family: Accordion;
+ line-height: 1;
+ backface-visibility: hidden;
+ font-weight: normal;
+ font-style: normal;
+ text-align: center;
+}
+
+.ui.accordion .title .dropdown.icon:before,
+.ui.accordion .accordion .title .dropdown.icon:before {
+ content: '\f0da'/*rtl:'\f0d9'*/;
+}
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/modules/accordion.variables b/src/semantic/src/themes/default/modules/accordion.variables
new file mode 100644
index 0000000..b025e01
--- /dev/null
+++ b/src/semantic/src/themes/default/modules/accordion.variables
@@ -0,0 +1,100 @@
+/*******************************
+ Accordion
+*******************************/
+
+@boxShadow: none;
+
+/* Title */
+@titleFont: @headerFont;
+@titlePadding: 0.5em 0em;
+@titleFontSize: 1em;
+@titleColor: @textColor;
+
+/* Icon */
+@iconOpacity: 1;
+@iconFontSize: 1em;
+@iconFloat: none;
+@iconWidth: 1.25em;
+@iconHeight: 1em;
+@iconDisplay: inline-block;
+@iconMargin: 0em 0.25rem 0em 0rem;
+@iconPadding: 0em;
+@iconTransition:
+ transform @defaultDuration @defaultEasing,
+ opacity @defaultDuration @defaultEasing
+;
+@iconVerticalAlign: baseline;
+@iconTransform: none;
+
+/* Child Accordion */
+@childAccordionMargin: 1em 0em 0em;
+@childAccordionPadding: 0em;
+
+/* Content */
+@contentMargin: '';
+@contentPadding: 0.5em 0em 1em;
+
+/*-------------------
+ Coupling
+--------------------*/
+
+@menuTitlePadding: 0em;
+@menuIconFloat: right;
+@menuIconMargin: @lineHeightOffset 0em 0em 1em;
+@menuIconTransform: rotate(180deg);
+
+
+/*-------------------
+ States
+--------------------*/
+
+@activeIconTransform: rotate(90deg);
+
+/*-------------------
+ Variations
+--------------------*/
+
+/* Styled */
+@styledWidth: 600px;
+@styledBackground: @white;
+@styledBorderRadius: @defaultBorderRadius;
+@styledBoxShadow:
+ @subtleShadow,
+ 0px 0px 0px 1px @borderColor
+;
+
+/* Content */
+@styledContentMargin: 0em;
+@styledContentPadding: 0.5em 1em 1.5em;
+
+/* Child Content */
+@styledChildContentMargin: 0em;
+@styledChildContentPadding: @styledContentPadding;
+
+/* Styled Title */
+@styledTitleMargin: 0em;
+@styledTitlePadding: 0.75em 1em;
+@styledTitleFontWeight: bold;
+@styledTitleColor: @unselectedTextColor;
+@styledTitleTransition: background-color @defaultDuration @defaultEasing;
+@styledTitleBorder: 1px solid @borderColor;
+@styledTitleTransition:
+ background @defaultDuration @defaultEasing,
+ color @defaultDuration @defaultEasing
+;
+
+/* Styled Title States */
+@styledTitleHoverBackground: transparent;
+@styledTitleHoverColor: @textColor;
+@styledActiveTitleBackground: transparent;
+@styledActiveTitleColor: @selectedTextColor;
+
+/* Styled Child Title States */
+@styledHoverChildTitleBackground: @styledTitleHoverBackground;
+@styledHoverChildTitleColor: @styledTitleHoverColor;
+@styledActiveChildTitleBackground: @styledActiveTitleBackground;
+@styledActiveChildTitleColor: @styledActiveTitleColor;
+
+/* Inverted */
+@invertedTitleColor: @invertedTextColor;
+
diff --git a/src/semantic/src/themes/default/modules/chatroom.overrides b/src/semantic/src/themes/default/modules/chatroom.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/modules/chatroom.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/modules/chatroom.variables b/src/semantic/src/themes/default/modules/chatroom.variables
new file mode 100644
index 0000000..0da971c
--- /dev/null
+++ b/src/semantic/src/themes/default/modules/chatroom.variables
@@ -0,0 +1,3 @@
+/*******************************
+ Chatroom
+*******************************/
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/modules/checkbox.overrides b/src/semantic/src/themes/default/modules/checkbox.overrides
new file mode 100644
index 0000000..e83ad9f
--- /dev/null
+++ b/src/semantic/src/themes/default/modules/checkbox.overrides
@@ -0,0 +1,36 @@
+/*******************************
+ Theme Overrides
+*******************************/
+
+@font-face {
+ font-family: 'Checkbox';
+ src:
+ url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype')
+ ;
+}
+
+/* Checkmark */
+.ui.checkbox label:after,
+.ui.checkbox .box:after {
+ font-family: 'Checkbox';
+}
+
+/* Checked */
+.ui.checkbox input:checked ~ .box:after,
+.ui.checkbox input:checked ~ label:after {
+ content: '\e800';
+}
+
+/* Indeterminate */
+.ui.checkbox input:indeterminate ~ .box:after,
+.ui.checkbox input:indeterminate ~ label:after {
+ font-size: 12px;
+ content: '\e801';
+}
+
+
+/* UTF Reference
+.check:before { content: '\e800'; }
+.dash:before { content: '\e801'; }
+.plus:before { content: '\e802'; }
+*/
diff --git a/src/semantic/src/themes/default/modules/checkbox.variables b/src/semantic/src/themes/default/modules/checkbox.variables
new file mode 100644
index 0000000..9902583
--- /dev/null
+++ b/src/semantic/src/themes/default/modules/checkbox.variables
@@ -0,0 +1,193 @@
+/*******************************
+ Checkbox
+*******************************/
+
+@checkboxSize: 17px;
+@checkboxColor: @textColor;
+@checkboxLineHeight: @checkboxSize;
+
+
+/* Label */
+@labelDistance: 1.85714em; /* 26px @ 14/em */
+
+/* Checkbox */
+@checkboxBackground: @white;
+@checkboxBorder: 1px solid @solidBorderColor;
+@checkboxBorderRadius: @3px;
+@checkboxTransition:
+ border @defaultDuration @defaultEasing,
+ opacity @defaultDuration @defaultEasing,
+ transform @defaultDuration @defaultEasing,
+ box-shadow @defaultDuration @defaultEasing
+;
+
+/* Checkmark */
+@checkboxCheckFontSize: 14px;
+@checkboxCheckTop: 0px;
+@checkboxCheckLeft: 0px;
+@checkboxCheckSize: @checkboxSize;
+
+/* Label */
+@labelFontSize: @relativeMedium;
+@labelColor: @textColor;
+@labelTransition: color @defaultDuration @defaultEasing;
+
+/*-------------------
+ States
+--------------------*/
+
+/* Hover */
+@checkboxHoverBackground: @checkboxBackground;
+@checkboxHoverBorderColor: @selectedBorderColor;
+@labelHoverColor: @hoveredTextColor;
+
+/* Pressed */
+@checkboxPressedBackground: @offWhite;
+@checkboxPressedBorderColor: @selectedBorderColor;
+@checkboxPressedColor: @selectedTextColor;
+@labelPressedColor: @selectedTextColor;
+
+/* Focus */
+@checkboxFocusBackground: @white;
+@checkboxFocusBorderColor: @focusedFormMutedBorderColor;
+@checkboxFocusCheckColor: @selectedTextColor;
+@labelFocusColor: @selectedTextColor;
+
+/* Active */
+@labelActiveColor: @selectedTextColor;
+@checkboxActiveBackground: @white;
+@checkboxActiveBorderColor: @selectedBorderColor;
+@checkboxActiveCheckColor: @selectedTextColor;
+@checkboxActiveCheckOpacity: 1;
+
+/* Active Focus */
+@checkboxActiveFocusBackground: @white;
+@checkboxActiveFocusBorderColor: @checkboxFocusBorderColor;
+@checkboxActiveFocusCheckColor: @selectedTextColor;
+
+/* Indeterminate */
+@checkboxIndeterminateBackground: @checkboxActiveBackground;
+@checkboxIndeterminateBorderColor: @checkboxActiveBorderColor;
+@checkboxIndeterminateCheckOpacity: 1;
+@checkboxIndeterminateCheckColor: @checkboxActiveCheckColor;
+
+/* Disabled */
+@disabledCheckboxOpacity: 0.5;
+@disabledCheckboxLabelColor: rgba(0, 0, 0, 1);
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Radio */
+/* Uses px to avoid rounding issues with circles */
+
+@radioSize: 15px;
+@radioTop: 1px;
+@radioLeft: 0px;
+@radioLabelDistance: @labelDistance;
+
+@bulletTop: 1px;
+@bulletLeft: 0px;
+@bulletScale: (7 / 15); /* 7px as unitless value from radio size */
+@bulletColor: @textColor;
+@bulletRadius: @circularRadius;
+
+@radioFocusBackground: @checkboxFocusBackground;
+@radioFocusBulletColor: @checkboxFocusCheckColor;
+
+@radioActiveBackground: @checkboxActiveBackground;
+@radioActiveBulletColor: @checkboxActiveCheckColor;
+
+@radioActiveFocusBackground: @checkboxActiveFocusBackground;
+@radioActiveFocusBulletColor: @checkboxActiveFocusCheckColor;
+
+/* Slider & Toggle Handle */
+@handleBackground: @white @subtleGradient;
+@handleBoxShadow:
+ @subtleShadow,
+ 0px 0px 0px 1px @borderColor inset
+;
+
+/* Slider */
+@sliderHandleSize: 1.5rem;
+@sliderLineWidth: 3.5rem;
+@sliderTransitionDuration: 0.3s;
+
+@sliderHandleOffset: (1rem - @sliderHandleSize) / 2;
+@sliderHandleTransition: left @sliderTransitionDuration @defaultEasing;
+
+@sliderWidth: @sliderLineWidth;
+@sliderHeight: (@sliderHandleSize + @sliderHandleOffset);
+
+@sliderLineHeight: @3px;
+@sliderLineVerticalOffset: 0.4rem;
+@sliderLineColor: @transparentBlack;
+@sliderLineRadius: @circularRadius;
+@sliderLineTransition: background @sliderTransitionDuration @defaultEasing;
+
+@sliderTravelDistance: @sliderLineWidth - @sliderHandleSize;
+
+@sliderLabelDistance: @sliderLineWidth + 1rem;
+@sliderOffLabelColor: @unselectedTextColor;
+
+@sliderLabelLineHeight: 1rem;
+
+/* Slider States */
+@sliderHoverLaneBackground: @veryStrongTransparentBlack;
+@sliderHoverLabelColor: @hoveredTextColor;
+
+@sliderOnLineColor: @lightBlack;
+@sliderOnLabelColor: @selectedTextColor;
+
+@sliderOnFocusLineColor: @lightBlackFocus;
+@sliderOnFocusLabelColor: @sliderOnLabelColor;
+
+
+
+/* Toggle */
+@toggleLaneWidth: 3.5rem;
+@toggleHandleSize: 1.5rem;
+@toggleTransitionDuration: 0.2s;
+
+@toggleWidth: @toggleLaneWidth;
+@toggleHeight: @toggleHandleSize;
+
+@toggleHandleRadius: @circularRadius;
+@toggleHandleOffset: 0rem;
+@toggleHandleTransition:
+ background @sliderTransitionDuration @defaultEasing,
+ left @sliderTransitionDuration @defaultEasing
+;
+
+@toggleLaneBackground: @transparentBlack;
+@toggleLaneHeight: @toggleHandleSize;
+@toggleLaneBoxShadow: none;
+@toggleLaneVerticalOffset: 0rem;
+@toggleOffOffset: -0.05rem;
+@toggleOnOffset: (@toggleLaneWidth - @toggleHandleSize) + 0.15rem;
+
+@toggleLabelDistance: @toggleLaneWidth + 1rem;
+@toggleLabelLineHeight: 1.5rem;
+@toggleLabelOffset: 0.15em;
+
+
+@toggleFocusColor: @veryStrongTransparentBlack;
+@toggleHoverColor: @toggleFocusColor;
+
+@toggleOffLabelColor: @checkboxColor;
+@toggleOffHandleBoxShadow: none;
+
+@toggleOnLabelColor: @selectedTextColor;
+@toggleOnLaneColor: @primaryColor;
+
+@toggleOnHandleBoxShadow: none;
+
+@toggleOnFocusLaneColor: @primaryColorFocus;
+@toggleOnFocusLabelColor: @toggleOnLabelColor;
+
+
+
+/*-------------------
+ Variations
+--------------------*/
diff --git a/src/semantic/src/themes/default/modules/dimmer.overrides b/src/semantic/src/themes/default/modules/dimmer.overrides
new file mode 100644
index 0000000..14fb0da
--- /dev/null
+++ b/src/semantic/src/themes/default/modules/dimmer.overrides
@@ -0,0 +1,3 @@
+/*******************************
+ Theme Overrides
+*******************************/
diff --git a/src/semantic/src/themes/default/modules/dimmer.variables b/src/semantic/src/themes/default/modules/dimmer.variables
new file mode 100644
index 0000000..a4772ba
--- /dev/null
+++ b/src/semantic/src/themes/default/modules/dimmer.variables
@@ -0,0 +1,61 @@
+/*******************************
+ Dimmer
+*******************************/
+
+@dimmablePosition: relative;
+@dimmerPosition: absolute;
+
+@backgroundColor: rgba(0, 0, 0 , 0.85);
+@lineHeight: 1;
+@perspective: 2000px;
+
+@duration: 0.5s;
+@transition:
+ background-color @duration linear
+;
+@zIndex: 1000;
+@textAlign: center;
+@verticalAlign: middle;
+@textColor: @white;
+@overflow: hidden;
+
+@blurredStartFilter: ~"blur(0px) grayscale(0)";
+@blurredEndFilter: ~"blur(5px) grayscale(0.7)";
+@blurredTransition: 800ms filter @defaultEasing;
+
+@blurredBackgroundColor: rgba(0, 0, 0, 0.6);
+@blurredInvertedBackgroundColor: rgba(255, 255, 255, 0.6);
+
+/* Hidden (Default) */
+@hiddenOpacity: 0;
+
+/* Content */
+@contentDisplay: table;
+@contentChildDisplay: table-cell;
+
+/* Visible */
+@visibleOpacity: 1;
+
+/*-------------------
+ Types
+--------------------*/
+
+/* Page Dimmer*/
+@transformStyle: '';
+@pageDimmerPosition: fixed;
+
+
+/*-------------------
+ Variations
+--------------------*/
+
+/* Inverted */
+@invertedBackgroundColor: rgba(255, 255, 255, 0.85);
+@invertedTextColor: @textColor;
+
+/* Simple */
+@simpleZIndex: 1;
+@simpleStartBackgroundColor: rgba(0, 0, 0, 0);
+@simpleEndBackgroundColor: @backgroundColor;
+@simpleInvertedStartBackgroundColor: rgba(255, 255, 255, 0);
+@simpleInvertedEndBackgroundColor: @invertedBackgroundColor;
\ No newline at end of file
diff --git a/src/semantic/src/themes/default/modules/dropdown.overrides b/src/semantic/src/themes/default/modules/dropdown.overrides
new file mode 100644
index 0000000..729e201
--- /dev/null
+++ b/src/semantic/src/themes/default/modules/dropdown.overrides
@@ -0,0 +1,62 @@
+/*******************************
+ Theme Overrides
+*******************************/
+
+/* Dropdown Carets */
+@font-face {
+ font-family: 'Dropdown';
+ src:
+ url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfuIIAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zjo82LgAAAFwAAABVGhlYWQAQ88bAAACxAAAADZoaGVhAwcB6QAAAvwAAAAkaG10eAS4ABIAAAMgAAAAIGxvY2EBNgDeAAADQAAAABJtYXhwAAoAFgAAA1QAAAAgbmFtZVcZpu4AAAN0AAABRXBvc3QAAwAAAAAEvAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDX//3//wAB/+MPLQADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAIABJQElABMAABM0NzY3BTYXFhUUDwEGJwYvASY1AAUGBwEACAUGBoAFCAcGgAUBEgcGBQEBAQcECQYHfwYBAQZ/BwYAAQAAAG4BJQESABMAADc0PwE2MzIfARYVFAcGIyEiJyY1AAWABgcIBYAGBgUI/wAHBgWABwaABQWABgcHBgUFBgcAAAABABIASQC3AW4AEwAANzQ/ATYXNhcWHQEUBwYnBi8BJjUSBoAFCAcFBgYFBwgFgAbbBwZ/BwEBBwQJ/wgEBwEBB38GBgAAAAABAAAASQClAW4AEwAANxE0NzYzMh8BFhUUDwEGIyInJjUABQYHCAWABgaABQgHBgVbAQAIBQYGgAUIBwWABgYFBwAAAAEAAAABAADZuaKOXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAAAAACgAUAB4AQgBkAIgAqgAAAAEAAAAIABQAAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgA0AGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgA0AGMAaQBjAG8AbQBvAG8AbgBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AbgBSAGUAZwB1AGwAYQByAGkAYwBvAG0AbwBvAG4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype'),
+ url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVwAAoAAAAABSgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAdkAAAHZLDXE/09TLzIAAALQAAAAYAAAAGAIIweQY21hcAAAAzAAAABMAAAATA9+4ghnYXNwAAADfAAAAAgAAAAIAAAAEGhlYWQAAAOEAAAANgAAADYAQ88baGhlYQAAA7wAAAAkAAAAJAMHAelobXR4AAAD4AAAACAAAAAgBLgAEm1heHAAAAQAAAAABgAAAAYACFAAbmFtZQAABAgAAAFFAAABRVcZpu5wb3N0AAAFUAAAACAAAAAgAAMAAAEABAQAAQEBCGljb21vb24AAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAACIDx0AAACNER0AAAAJHQAAAdASAAkBAQgPERMWGyAlKmljb21vb25pY29tb29udTB1MXUyMHVGMEQ3dUYwRDh1RjBEOXVGMERBAAACAYkABgAIAgABAAQABwAKAA0AVgCfAOgBL/yUDvyUDvyUDvuUDvtvi/emFYuQjZCOjo+Pj42Qiwj3lIsFkIuQiY6Hj4iNhouGi4aJh4eHCPsU+xQFiIiGiYaLhouHjYeOCPsU9xQFiI+Jj4uQCA77b4v3FBWLkI2Pjo8I9xT3FAWPjo+NkIuQi5CJjogI9xT7FAWPh42Hi4aLhomHh4eIiIaJhosI+5SLBYaLh42HjoiPiY+LkAgO+92d928Vi5CNkI+OCPcU9xQFjo+QjZCLkIuPiY6Hj4iNhouGCIv7lAWLhomHh4iIh4eJhouGi4aNiI8I+xT3FAWHjomPi5AIDvvdi+YVi/eUBYuQjZCOjo+Pj42Qi5CLkImOhwj3FPsUBY+IjYaLhouGiYeHiAj7FPsUBYiHhomGi4aLh42Hj4iOiY+LkAgO+JQU+JQViwwKAAAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8NoB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDw2v/9//8AAAAAACDw1//9//8AAf/jDy0AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAA5emozXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAUAAACAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff')
+ ;
+ font-weight: normal;
+ font-style: normal;
+}
+
+.ui.dropdown > .dropdown.icon {
+ font-family: 'Dropdown';
+ line-height: 1;
+ height: 1em;
+ width: 1.23em;
+ backface-visibility: hidden;
+ font-weight: normal;
+ font-style: normal;
+ text-align: center;
+}
+
+.ui.dropdown > .dropdown.icon {
+ width: auto;
+}
+.ui.dropdown > .dropdown.icon:before {
+ content: '\f0d7';
+}
+
+/* Sub Menu */
+.ui.dropdown .menu .item .dropdown.icon:before {
+ content: '\f0da'/*rtl:'\f0d9'*/;
+}
+
+.ui.dropdown .item .left.dropdown.icon:before,
+.ui.dropdown .left.menu .item .dropdown.icon:before {
+ content: "\f0d9"/*rtl:"\f0da"*/;
+}
+
+/* Vertical Menu Dropdown */
+.ui.vertical.menu .dropdown.item > .dropdown.icon:before {
+ content: "\f0da"/*rtl:"\f0d9"*/;
+}
+
+/* Icons for Reference
+.dropdown.down.icon {
+ content: "\f0d7";
+}
+.dropdown.up.icon {
+ content: "\f0d8";
+}
+.dropdown.left.icon {
+ content: "\f0d9";
+}
+.dropdown.icon.icon {
+ content: "\f0da";
+}
+*/
diff --git a/src/semantic/src/themes/default/modules/dropdown.variables b/src/semantic/src/themes/default/modules/dropdown.variables
new file mode 100644
index 0000000..f7c4f51
--- /dev/null
+++ b/src/semantic/src/themes/default/modules/dropdown.variables
@@ -0,0 +1,373 @@
+/*******************************
+ Dropdown
+*******************************/
+
+/*-------------------
+ Element
+--------------------*/
+
+@transition:
+ box-shadow @defaultDuration @defaultEasing,
+ width @defaultDuration @defaultEasing
+;
+@borderRadius: @defaultBorderRadius;
+
+@raisedShadow: 0px 2px 3px 0px @borderColor;
+
+/*-------------------
+ Content
+--------------------*/
+
+/* Icon */
+@dropdownIconSize: @relative12px;
+@dropdownIconMargin: 0em 0em 0em 1em;
+
+/* Current Text */
+@textTransition: none;
+
+/* Menu */
+@menuBackground: #FFFFFF;
+@menuMargin: 0em;
+@menuPadding: 0em 0em;
+@menuTop: 100%;
+@menuTextAlign: left;
+
+@menuBorderWidth: 1px;
+@menuBorderColor: @borderColor;
+@menuBorder: @menuBorderWidth solid @menuBorderColor;
+@menuBoxShadow: @raisedShadow;
+@menuBorderRadius: @borderRadius;
+@menuTransition: opacity @defaultDuration @defaultEasing;
+@menuMinWidth: ~"calc(100% + "(@menuBorderWidth * 2)~")";
+@menuZIndex: 11;
+
+/* Text */
+@textLineHeight: 1em;
+@textLineHeightOffset: (@textLineHeight - 1em);
+@textCursorSpacing: 1px;
+
+/* Menu Item */
+@itemFontSize: @medium;
+@itemTextAlign: left;
+@itemBorder: none;
+@itemHeight: auto;
+@itemDivider: none;
+@itemColor: @textColor;
+@itemVerticalPadding: @mini;
+@itemHorizontalPadding: @large;
+@itemPadding: @itemVerticalPadding @itemHorizontalPadding;
+@itemFontWeight: normal;
+@itemLineHeight: 1em;
+@itemLineHeightOffset: (@itemLineHeight - 1em);
+@itemTextTransform: none;
+@itemBoxShadow: none;
+
+/* Sub Menu */
+@subMenuTop: 0%;
+@subMenuLeft: 100%;
+@subMenuRight: auto;
+@subMenuDistanceAway: -0.5em;
+@subMenuMargin: 0em 0em 0em @subMenuDistanceAway;
+@subMenuBorderRadius: @borderRadius;
+@subMenuZIndex: 21;
+
+/* Menu Header */
+@menuHeaderColor: @darkTextColor;
+@menuHeaderFontSize: @relative11px;
+@menuHeaderFontWeight: bold;
+@menuHeaderTextTransform: uppercase;
+@menuHeaderMargin: 1rem 0rem 0.75rem;
+@menuHeaderPadding: 0em @itemHorizontalPadding;
+
+/* Menu Divider */
+@menuDividerMargin: 0.5em 0em;
+@menuDividerColor: @internalBorderColor;
+@menuDividerSize: 1px;
+@menuDividerBorder: @menuDividerSize solid @menuDividerColor;
+
+/* Menu Input */
+@menuInputMargin: @large @mini;
+@menuInputMinWidth: 10rem;
+@menuInputVerticalPadding: 0.5em;
+@menuInputHorizontalPadding: @inputHorizontalPadding;
+@menuInputPadding: @menuInputVerticalPadding @menuInputHorizontalPadding;
+
+/* Menu Image */
+@menuImageMaxHeight: 2em;
+
+/* Item Sub-Element */
+@itemElementFloat: none;
+@itemElementDistance: @mini;
+
+/* Sub-Menu Dropdown Icon */
+@itemDropdownIconDistance: 1em;
+@itemDropdownIconFloat: right;
+@itemDropdownIconMargin: @itemLineHeightOffset 0em 0em @itemDropdownIconDistance;
+
+/* Description */
+@itemDescriptionFloat: right;
+@itemDescriptionMargin: 0em 0em 0em 1em;
+@itemDescriptionColor: @lightTextColor;
+
+/* Message */
+@messagePadding: @selectionItemPadding;
+@messageFontWeight: normal;
+@messageColor: @unselectedTextColor;
+
+/* Floated Content */
+@floatedDistance: 1em;
+
+/*-------------------
+ Types
+--------------------*/
+
+/*------------
+ Selection
+--------------*/
+
+@selectionMinWidth: 14em;
+@selectionVerticalPadding: @inputVerticalPadding;
+@selectionHorizontalPadding: @inputHorizontalPadding;
+@selectionBorderEmWidth: @relative1px;
+@selectionMinHeight: @inputLineHeight + (@selectionVerticalPadding * 2) - @selectionBorderEmWidth;
+@selectionBackground: @inputBackground;
+@selectionDisplay: inline-block;
+@selectionIconDistance: @inputHorizontalPadding + @glyphWidth;
+@selectionPadding: @selectionVerticalPadding @selectionIconDistance @selectionVerticalPadding @selectionHorizontalPadding;
+@selectionZIndex: 10;
+
+@selectionItemDivider: 1px solid @solidInternalBorderColor;
+@selectionMessagePadding: @selectionItemPadding;
+
+/*