Version Description
Download this release
Release Info
Developer | optimole |
Plugin | Image optimization & Lazy Load by Optimole |
Version | 2.0.5 |
Comparing to | |
See all releases |
Code changes from version 2.0.4 to 2.0.5
- CHANGELOG.md +21 -0
- README.md +23 -0
- assets/js/bundle.js +3143 -2343
- assets/js/bundle.min.js +0 -1
CHANGELOG.md
CHANGED
@@ -1,3 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
#### [Version 2.0.4](https://github.com/Codeinwp/optimole-wp/compare/v2.0.3...v2.0.4) (2019-03-11)
|
2 |
|
3 |
* **Bug Fixes**
|
1 |
+
#### [Version 2.0.5](https://github.com/Codeinwp/optimole-wp/compare/v2.0.4...v2.0.5) (2019-03-25)
|
2 |
+
|
3 |
+
* **Bug Fixes**
|
4 |
+
* adds compatibility with Jetelements Slider ([c9e518e](https://github.com/Codeinwp/optimole-wp/commit/c9e518e))
|
5 |
+
* compatibility with Metaslider, adds full support for all slider types available ([a09d1fd](https://github.com/Codeinwp/optimole-wp/commit/a09d1fd))
|
6 |
+
* compatibility with various themes logo markup based on the image url, removes the hook to theme_mods image replace ([34e0d85](https://github.com/Codeinwp/optimole-wp/commit/34e0d85))
|
7 |
+
* disable image replacement when we are in the Beaver Builder editing mode ([239442f](https://github.com/Codeinwp/optimole-wp/commit/239442f))
|
8 |
+
* image replacement on header tags which uses relative urls ([2caae7f](https://github.com/Codeinwp/optimole-wp/commit/2caae7f))
|
9 |
+
* image replacement on json strings with html entities encoded, conflicting with variation form Woocommerce fixes [#81](https://github.com/Codeinwp/optimole-wp/issues/81) ([2bae741](https://github.com/Codeinwp/optimole-wp/commit/2bae741))
|
10 |
+
* lazyload animation conflict with initial image animation ([3a84250](https://github.com/Codeinwp/optimole-wp/commit/3a84250))
|
11 |
+
* lazyload on image which uses relative urls ([4655994](https://github.com/Codeinwp/optimole-wp/commit/4655994))
|
12 |
+
* lazyload placeholder replacement affecting non-src urls, improving compatibility with Woocommerce ([7e13a32](https://github.com/Codeinwp/optimole-wp/commit/7e13a32))
|
13 |
+
* noscript image tag issue causing problems with too specific CSS selectors ([324effd](https://github.com/Codeinwp/optimole-wp/commit/324effd))
|
14 |
+
* relative url image replacement conflicting with plugins like WPML ([7a47827](https://github.com/Codeinwp/optimole-wp/commit/7a47827))
|
15 |
+
* thumbnails cropping mode not affecting the resulting optimole images ([0f6dacb](https://github.com/Codeinwp/optimole-wp/commit/0f6dacb))
|
16 |
+
|
17 |
+
* **Features**
|
18 |
+
* adds constant to disable latest images area ([a5891b6](https://github.com/Codeinwp/optimole-wp/commit/a5891b6))
|
19 |
+
* adds constant to switch on/off network based optimization ([1accde5](https://github.com/Codeinwp/optimole-wp/commit/1accde5))
|
20 |
+
* adds full compatibility with Beaver Builder, processing images from the generated css ([2a17f30](https://github.com/Codeinwp/optimole-wp/commit/2a17f30))
|
21 |
+
|
22 |
#### [Version 2.0.4](https://github.com/Codeinwp/optimole-wp/compare/v2.0.3...v2.0.4) (2019-03-11)
|
23 |
|
24 |
* **Bug Fixes**
|
README.md
CHANGED
@@ -91,6 +91,29 @@ Premium users will be able to optimize 10GB images per month with a 50GB viewing
|
|
91 |
|
92 |
## Changelog ##
|
93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
#### [Version 2.0.4](https://github.com/Codeinwp/optimole-wp/compare/v2.0.3...v2.0.4) (2019-03-11)
|
95 |
|
96 |
* **Bug Fixes**
|
91 |
|
92 |
## Changelog ##
|
93 |
|
94 |
+
#### [Version 2.0.5](https://github.com/Codeinwp/optimole-wp/compare/v2.0.4...v2.0.5) (2019-03-25)
|
95 |
+
|
96 |
+
* **Bug Fixes**
|
97 |
+
* adds compatibility with Jetelements Slider ([c9e518e](https://github.com/Codeinwp/optimole-wp/commit/c9e518e))
|
98 |
+
* compatibility with Metaslider, adds full support for all slider types available ([a09d1fd](https://github.com/Codeinwp/optimole-wp/commit/a09d1fd))
|
99 |
+
* compatibility with various themes logo markup based on the image url, removes the hook to theme_mods image replace ([34e0d85](https://github.com/Codeinwp/optimole-wp/commit/34e0d85))
|
100 |
+
* disable image replacement when we are in the Beaver Builder editing mode ([239442f](https://github.com/Codeinwp/optimole-wp/commit/239442f))
|
101 |
+
* image replacement on header tags which uses relative urls ([2caae7f](https://github.com/Codeinwp/optimole-wp/commit/2caae7f))
|
102 |
+
* image replacement on json strings with html entities encoded, conflicting with variation form Woocommerce fixes [#81](https://github.com/Codeinwp/optimole-wp/issues/81) ([2bae741](https://github.com/Codeinwp/optimole-wp/commit/2bae741))
|
103 |
+
* lazyload animation conflict with initial image animation ([3a84250](https://github.com/Codeinwp/optimole-wp/commit/3a84250))
|
104 |
+
* lazyload on image which uses relative urls ([4655994](https://github.com/Codeinwp/optimole-wp/commit/4655994))
|
105 |
+
* lazyload placeholder replacement affecting non-src urls, improving compatibility with Woocommerce ([7e13a32](https://github.com/Codeinwp/optimole-wp/commit/7e13a32))
|
106 |
+
* noscript image tag issue causing problems with too specific CSS selectors ([324effd](https://github.com/Codeinwp/optimole-wp/commit/324effd))
|
107 |
+
* relative url image replacement conflicting with plugins like WPML ([7a47827](https://github.com/Codeinwp/optimole-wp/commit/7a47827))
|
108 |
+
* thumbnails cropping mode not affecting the resulting optimole images ([0f6dacb](https://github.com/Codeinwp/optimole-wp/commit/0f6dacb))
|
109 |
+
|
110 |
+
* **Features**
|
111 |
+
* adds constant to disable latest images area ([a5891b6](https://github.com/Codeinwp/optimole-wp/commit/a5891b6))
|
112 |
+
* adds constant to switch on/off network based optimization ([1accde5](https://github.com/Codeinwp/optimole-wp/commit/1accde5))
|
113 |
+
* adds full compatibility with Beaver Builder, processing images from the generated css ([2a17f30](https://github.com/Codeinwp/optimole-wp/commit/2a17f30))
|
114 |
+
|
115 |
+
|
116 |
+
|
117 |
#### [Version 2.0.4](https://github.com/Codeinwp/optimole-wp/compare/v2.0.3...v2.0.4) (2019-03-11)
|
118 |
|
119 |
* **Bug Fixes**
|
assets/js/bundle.js
CHANGED
@@ -405,8 +405,8 @@ module.exports = g;
|
|
405 |
"use strict";
|
406 |
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
407 |
/* WEBPACK VAR INJECTION */(function(process, global, setImmediate) {/*!
|
408 |
-
* Vue.js v2.
|
409 |
-
* (c) 2014-
|
410 |
* Released under the MIT License.
|
411 |
*/
|
412 |
/* */
|
@@ -482,13 +482,21 @@ function isValidArrayIndex (val) {
|
|
482 |
return n >= 0 && Math.floor(n) === n && isFinite(val)
|
483 |
}
|
484 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
485 |
/**
|
486 |
* Convert a value to a string that is actually rendered.
|
487 |
*/
|
488 |
function toString (val) {
|
489 |
return val == null
|
490 |
? ''
|
491 |
-
:
|
492 |
? JSON.stringify(val, null, 2)
|
493 |
: String(val)
|
494 |
}
|
@@ -764,7 +772,8 @@ var LIFECYCLE_HOOKS = [
|
|
764 |
'destroyed',
|
765 |
'activated',
|
766 |
'deactivated',
|
767 |
-
'errorCaptured'
|
|
|
768 |
];
|
769 |
|
770 |
/* */
|
@@ -867,6 +876,13 @@ var config = ({
|
|
867 |
|
868 |
/* */
|
869 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
870 |
/**
|
871 |
* Check if a string starts with $ or _
|
872 |
*/
|
@@ -890,7 +906,7 @@ function def (obj, key, val, enumerable) {
|
|
890 |
/**
|
891 |
* Parse simple path.
|
892 |
*/
|
893 |
-
var bailRE =
|
894 |
function parsePath (path) {
|
895 |
if (bailRE.test(path)) {
|
896 |
return
|
@@ -921,6 +937,8 @@ var isEdge = UA && UA.indexOf('edge/') > 0;
|
|
921 |
var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');
|
922 |
var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');
|
923 |
var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge;
|
|
|
|
|
924 |
|
925 |
// Firefox has a "watch" function on Object.prototype...
|
926 |
var nativeWatch = ({}).watch;
|
@@ -1033,7 +1051,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
1033 |
? vm.options
|
1034 |
: vm._isVue
|
1035 |
? vm.$options || vm.constructor.options
|
1036 |
-
: vm
|
1037 |
var name = options.name || options._componentTag;
|
1038 |
var file = options.__file;
|
1039 |
if (!name && file) {
|
@@ -1128,9 +1146,9 @@ Dep.prototype.notify = function notify () {
|
|
1128 |
}
|
1129 |
};
|
1130 |
|
1131 |
-
//
|
1132 |
-
//
|
1133 |
-
//
|
1134 |
Dep.target = null;
|
1135 |
var targetStack = [];
|
1136 |
|
@@ -1566,9 +1584,15 @@ if (process.env.NODE_ENV !== 'production') {
|
|
1566 |
function mergeData (to, from) {
|
1567 |
if (!from) { return to }
|
1568 |
var key, toVal, fromVal;
|
1569 |
-
|
|
|
|
|
|
|
|
|
1570 |
for (var i = 0; i < keys.length; i++) {
|
1571 |
key = keys[i];
|
|
|
|
|
1572 |
toVal = to[key];
|
1573 |
fromVal = from[key];
|
1574 |
if (!hasOwn(to, key)) {
|
@@ -1658,13 +1682,26 @@ function mergeHook (
|
|
1658 |
parentVal,
|
1659 |
childVal
|
1660 |
) {
|
1661 |
-
|
1662 |
? parentVal
|
1663 |
? parentVal.concat(childVal)
|
1664 |
: Array.isArray(childVal)
|
1665 |
? childVal
|
1666 |
: [childVal]
|
1667 |
-
: parentVal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1668 |
}
|
1669 |
|
1670 |
LIFECYCLE_HOOKS.forEach(function (hook) {
|
@@ -1775,11 +1812,10 @@ function checkComponents (options) {
|
|
1775 |
}
|
1776 |
|
1777 |
function validateComponentName (name) {
|
1778 |
-
if (
|
1779 |
warn(
|
1780 |
'Invalid component name: "' + name + '". Component names ' +
|
1781 |
-
'
|
1782 |
-
'and must start with a letter.'
|
1783 |
);
|
1784 |
}
|
1785 |
if (isBuiltInTag(name) || config.isReservedTag(name)) {
|
@@ -1862,9 +1898,9 @@ function normalizeDirectives (options) {
|
|
1862 |
var dirs = options.directives;
|
1863 |
if (dirs) {
|
1864 |
for (var key in dirs) {
|
1865 |
-
var def = dirs[key];
|
1866 |
-
if (typeof def === 'function') {
|
1867 |
-
dirs[key] = { bind: def, update: def };
|
1868 |
}
|
1869 |
}
|
1870 |
}
|
@@ -1900,7 +1936,7 @@ function mergeOptions (
|
|
1900 |
normalizeProps(child, vm);
|
1901 |
normalizeInject(child, vm);
|
1902 |
normalizeDirectives(child);
|
1903 |
-
|
1904 |
// Apply extends and mixins on the child options,
|
1905 |
// but only if it is a raw options object that isn't
|
1906 |
// the result of another mergeOptions call.
|
@@ -2214,12 +2250,35 @@ function handleError (err, vm, info) {
|
|
2214 |
globalHandleError(err, vm, info);
|
2215 |
}
|
2216 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2217 |
function globalHandleError (err, vm, info) {
|
2218 |
if (config.errorHandler) {
|
2219 |
try {
|
2220 |
return config.errorHandler.call(null, err, vm, info)
|
2221 |
} catch (e) {
|
2222 |
-
|
|
|
|
|
|
|
|
|
2223 |
}
|
2224 |
}
|
2225 |
logError(err, vm, info);
|
@@ -2239,6 +2298,8 @@ function logError (err, vm, info) {
|
|
2239 |
|
2240 |
/* */
|
2241 |
|
|
|
|
|
2242 |
var callbacks = [];
|
2243 |
var pending = false;
|
2244 |
|
@@ -2251,76 +2312,69 @@ function flushCallbacks () {
|
|
2251 |
}
|
2252 |
}
|
2253 |
|
2254 |
-
// Here we have async deferring wrappers using
|
2255 |
-
// In
|
2256 |
-
//
|
2257 |
-
//
|
2258 |
-
//
|
2259 |
-
//
|
2260 |
-
//
|
2261 |
-
//
|
2262 |
-
|
2263 |
-
|
2264 |
-
|
2265 |
-
|
2266 |
-
|
2267 |
-
//
|
2268 |
-
//
|
2269 |
-
//
|
2270 |
-
|
2271 |
-
|
2272 |
-
|
2273 |
-
setImmediate(flushCallbacks);
|
2274 |
-
};
|
2275 |
-
} else if (typeof MessageChannel !== 'undefined' && (
|
2276 |
-
isNative(MessageChannel) ||
|
2277 |
-
// PhantomJS
|
2278 |
-
MessageChannel.toString() === '[object MessageChannelConstructor]'
|
2279 |
-
)) {
|
2280 |
-
var channel = new MessageChannel();
|
2281 |
-
var port = channel.port2;
|
2282 |
-
channel.port1.onmessage = flushCallbacks;
|
2283 |
-
macroTimerFunc = function () {
|
2284 |
-
port.postMessage(1);
|
2285 |
-
};
|
2286 |
-
} else {
|
2287 |
-
/* istanbul ignore next */
|
2288 |
-
macroTimerFunc = function () {
|
2289 |
-
setTimeout(flushCallbacks, 0);
|
2290 |
-
};
|
2291 |
-
}
|
2292 |
-
|
2293 |
-
// Determine microtask defer implementation.
|
2294 |
/* istanbul ignore next, $flow-disable-line */
|
2295 |
if (typeof Promise !== 'undefined' && isNative(Promise)) {
|
2296 |
var p = Promise.resolve();
|
2297 |
-
|
2298 |
p.then(flushCallbacks);
|
2299 |
-
//
|
2300 |
// it can get stuck in a weird state where callbacks are pushed into the
|
2301 |
// microtask queue but the queue isn't being flushed, until the browser
|
2302 |
// needs to do some other work, e.g. handle a timer. Therefore we can
|
2303 |
// "force" the microtask queue to be flushed by adding an empty timer.
|
2304 |
if (isIOS) { setTimeout(noop); }
|
2305 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2306 |
} else {
|
2307 |
-
//
|
2308 |
-
|
2309 |
-
|
2310 |
-
|
2311 |
-
/**
|
2312 |
-
* Wrap a function so that if any code inside triggers state change,
|
2313 |
-
* the changes are queued using a (macro) task instead of a microtask.
|
2314 |
-
*/
|
2315 |
-
function withMacroTask (fn) {
|
2316 |
-
return fn._withTask || (fn._withTask = function () {
|
2317 |
-
useMacroTask = true;
|
2318 |
-
try {
|
2319 |
-
return fn.apply(null, arguments)
|
2320 |
-
} finally {
|
2321 |
-
useMacroTask = false;
|
2322 |
-
}
|
2323 |
-
})
|
2324 |
}
|
2325 |
|
2326 |
function nextTick (cb, ctx) {
|
@@ -2338,11 +2392,7 @@ function nextTick (cb, ctx) {
|
|
2338 |
});
|
2339 |
if (!pending) {
|
2340 |
pending = true;
|
2341 |
-
|
2342 |
-
macroTimerFunc();
|
2343 |
-
} else {
|
2344 |
-
microTimerFunc();
|
2345 |
-
}
|
2346 |
}
|
2347 |
// $flow-disable-line
|
2348 |
if (!cb && typeof Promise !== 'undefined') {
|
@@ -2372,7 +2422,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
2372 |
perf.measure(name, startTag, endTag);
|
2373 |
perf.clearMarks(startTag);
|
2374 |
perf.clearMarks(endTag);
|
2375 |
-
perf.clearMeasures(name)
|
2376 |
};
|
2377 |
}
|
2378 |
}
|
@@ -2519,7 +2569,7 @@ var normalizeEvent = cached(function (name) {
|
|
2519 |
}
|
2520 |
});
|
2521 |
|
2522 |
-
function createFnInvoker (fns) {
|
2523 |
function invoker () {
|
2524 |
var arguments$1 = arguments;
|
2525 |
|
@@ -2527,11 +2577,11 @@ function createFnInvoker (fns) {
|
|
2527 |
if (Array.isArray(fns)) {
|
2528 |
var cloned = fns.slice();
|
2529 |
for (var i = 0; i < cloned.length; i++) {
|
2530 |
-
cloned[i]
|
2531 |
}
|
2532 |
} else {
|
2533 |
// return handler return value for single handlers
|
2534 |
-
return fns
|
2535 |
}
|
2536 |
}
|
2537 |
invoker.fns = fns;
|
@@ -2558,7 +2608,7 @@ function updateListeners (
|
|
2558 |
);
|
2559 |
} else if (isUndef(old)) {
|
2560 |
if (isUndef(cur.fns)) {
|
2561 |
-
cur = on[name] = createFnInvoker(cur);
|
2562 |
}
|
2563 |
if (isTrue(event.once)) {
|
2564 |
cur = on[name] = createOnceHandler(event.name, cur, event.capture);
|
@@ -2769,313 +2819,89 @@ function normalizeArrayChildren (children, nestedIndex) {
|
|
2769 |
|
2770 |
/* */
|
2771 |
|
2772 |
-
function
|
2773 |
-
|
2774 |
-
|
2775 |
-
|
2776 |
-
|
2777 |
-
|
2778 |
}
|
2779 |
-
return isObject(comp)
|
2780 |
-
? base.extend(comp)
|
2781 |
-
: comp
|
2782 |
-
}
|
2783 |
-
|
2784 |
-
function createAsyncPlaceholder (
|
2785 |
-
factory,
|
2786 |
-
data,
|
2787 |
-
context,
|
2788 |
-
children,
|
2789 |
-
tag
|
2790 |
-
) {
|
2791 |
-
var node = createEmptyVNode();
|
2792 |
-
node.asyncFactory = factory;
|
2793 |
-
node.asyncMeta = { data: data, context: context, children: children, tag: tag };
|
2794 |
-
return node
|
2795 |
}
|
2796 |
|
2797 |
-
function
|
2798 |
-
|
2799 |
-
|
2800 |
-
|
2801 |
-
) {
|
2802 |
-
|
2803 |
-
|
2804 |
-
|
2805 |
-
|
2806 |
-
|
2807 |
-
|
2808 |
-
|
2809 |
-
|
2810 |
-
|
2811 |
-
|
2812 |
-
|
2813 |
-
|
2814 |
-
if (isDef(factory.contexts)) {
|
2815 |
-
// already pending
|
2816 |
-
factory.contexts.push(context);
|
2817 |
-
} else {
|
2818 |
-
var contexts = factory.contexts = [context];
|
2819 |
-
var sync = true;
|
2820 |
-
|
2821 |
-
var forceRender = function (renderCompleted) {
|
2822 |
-
for (var i = 0, l = contexts.length; i < l; i++) {
|
2823 |
-
contexts[i].$forceUpdate();
|
2824 |
-
}
|
2825 |
-
|
2826 |
-
if (renderCompleted) {
|
2827 |
-
contexts.length = 0;
|
2828 |
-
}
|
2829 |
-
};
|
2830 |
-
|
2831 |
-
var resolve = once(function (res) {
|
2832 |
-
// cache resolved
|
2833 |
-
factory.resolved = ensureCtor(res, baseCtor);
|
2834 |
-
// invoke callbacks only if this is not a synchronous resolve
|
2835 |
-
// (async resolves are shimmed as synchronous during SSR)
|
2836 |
-
if (!sync) {
|
2837 |
-
forceRender(true);
|
2838 |
-
}
|
2839 |
-
});
|
2840 |
-
|
2841 |
-
var reject = once(function (reason) {
|
2842 |
-
process.env.NODE_ENV !== 'production' && warn(
|
2843 |
-
"Failed to resolve async component: " + (String(factory)) +
|
2844 |
-
(reason ? ("\nReason: " + reason) : '')
|
2845 |
-
);
|
2846 |
-
if (isDef(factory.errorComp)) {
|
2847 |
-
factory.error = true;
|
2848 |
-
forceRender(true);
|
2849 |
}
|
2850 |
});
|
|
|
|
|
|
|
2851 |
|
2852 |
-
|
2853 |
-
|
2854 |
-
|
2855 |
-
|
2856 |
-
|
2857 |
-
|
2858 |
-
|
2859 |
-
}
|
2860 |
-
} else if (isDef(res.component) && typeof res.component.then === 'function') {
|
2861 |
-
res.component.then(resolve, reject);
|
2862 |
-
|
2863 |
-
if (isDef(res.error)) {
|
2864 |
-
factory.errorComp = ensureCtor(res.error, baseCtor);
|
2865 |
-
}
|
2866 |
|
2867 |
-
|
2868 |
-
|
2869 |
-
|
2870 |
-
|
2871 |
-
|
2872 |
-
|
2873 |
-
|
2874 |
-
|
2875 |
-
|
2876 |
-
|
2877 |
-
}, res.delay || 200);
|
2878 |
-
}
|
2879 |
}
|
2880 |
-
|
2881 |
-
|
2882 |
-
|
2883 |
-
|
2884 |
-
|
2885 |
-
|
2886 |
-
|
2887 |
-
|
2888 |
-
|
2889 |
-
|
2890 |
-
}, res.timeout);
|
2891 |
}
|
2892 |
}
|
2893 |
}
|
2894 |
-
|
2895 |
-
sync = false;
|
2896 |
-
// return in case resolved synchronously
|
2897 |
-
return factory.loading
|
2898 |
-
? factory.loadingComp
|
2899 |
-
: factory.resolved
|
2900 |
}
|
2901 |
}
|
2902 |
|
2903 |
/* */
|
2904 |
|
2905 |
-
function isAsyncPlaceholder (node) {
|
2906 |
-
return node.isComment && node.asyncFactory
|
2907 |
-
}
|
2908 |
-
|
2909 |
-
/* */
|
2910 |
-
|
2911 |
-
function getFirstComponentChild (children) {
|
2912 |
-
if (Array.isArray(children)) {
|
2913 |
-
for (var i = 0; i < children.length; i++) {
|
2914 |
-
var c = children[i];
|
2915 |
-
if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {
|
2916 |
-
return c
|
2917 |
-
}
|
2918 |
-
}
|
2919 |
-
}
|
2920 |
-
}
|
2921 |
-
|
2922 |
-
/* */
|
2923 |
|
2924 |
-
/* */
|
2925 |
|
2926 |
-
|
2927 |
-
|
2928 |
-
|
2929 |
-
|
2930 |
-
|
2931 |
-
|
2932 |
-
|
|
|
|
|
2933 |
}
|
2934 |
-
}
|
2935 |
-
|
2936 |
-
var target;
|
2937 |
-
|
2938 |
-
function add (event, fn) {
|
2939 |
-
target.$on(event, fn);
|
2940 |
-
}
|
2941 |
-
|
2942 |
-
function remove$1 (event, fn) {
|
2943 |
-
target.$off(event, fn);
|
2944 |
-
}
|
2945 |
-
|
2946 |
-
function createOnceHandler (event, fn) {
|
2947 |
-
var _target = target;
|
2948 |
-
return function onceHandler () {
|
2949 |
-
var res = fn.apply(null, arguments);
|
2950 |
-
if (res !== null) {
|
2951 |
-
_target.$off(event, onceHandler);
|
2952 |
-
}
|
2953 |
-
}
|
2954 |
-
}
|
2955 |
-
|
2956 |
-
function updateComponentListeners (
|
2957 |
-
vm,
|
2958 |
-
listeners,
|
2959 |
-
oldListeners
|
2960 |
-
) {
|
2961 |
-
target = vm;
|
2962 |
-
updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);
|
2963 |
-
target = undefined;
|
2964 |
-
}
|
2965 |
-
|
2966 |
-
function eventsMixin (Vue) {
|
2967 |
-
var hookRE = /^hook:/;
|
2968 |
-
Vue.prototype.$on = function (event, fn) {
|
2969 |
-
var vm = this;
|
2970 |
-
if (Array.isArray(event)) {
|
2971 |
-
for (var i = 0, l = event.length; i < l; i++) {
|
2972 |
-
vm.$on(event[i], fn);
|
2973 |
-
}
|
2974 |
-
} else {
|
2975 |
-
(vm._events[event] || (vm._events[event] = [])).push(fn);
|
2976 |
-
// optimize hook:event cost by using a boolean flag marked at registration
|
2977 |
-
// instead of a hash lookup
|
2978 |
-
if (hookRE.test(event)) {
|
2979 |
-
vm._hasHookEvent = true;
|
2980 |
-
}
|
2981 |
-
}
|
2982 |
-
return vm
|
2983 |
-
};
|
2984 |
-
|
2985 |
-
Vue.prototype.$once = function (event, fn) {
|
2986 |
-
var vm = this;
|
2987 |
-
function on () {
|
2988 |
-
vm.$off(event, on);
|
2989 |
-
fn.apply(vm, arguments);
|
2990 |
-
}
|
2991 |
-
on.fn = fn;
|
2992 |
-
vm.$on(event, on);
|
2993 |
-
return vm
|
2994 |
-
};
|
2995 |
-
|
2996 |
-
Vue.prototype.$off = function (event, fn) {
|
2997 |
-
var vm = this;
|
2998 |
-
// all
|
2999 |
-
if (!arguments.length) {
|
3000 |
-
vm._events = Object.create(null);
|
3001 |
-
return vm
|
3002 |
-
}
|
3003 |
-
// array of events
|
3004 |
-
if (Array.isArray(event)) {
|
3005 |
-
for (var i = 0, l = event.length; i < l; i++) {
|
3006 |
-
vm.$off(event[i], fn);
|
3007 |
-
}
|
3008 |
-
return vm
|
3009 |
-
}
|
3010 |
-
// specific event
|
3011 |
-
var cbs = vm._events[event];
|
3012 |
-
if (!cbs) {
|
3013 |
-
return vm
|
3014 |
-
}
|
3015 |
-
if (!fn) {
|
3016 |
-
vm._events[event] = null;
|
3017 |
-
return vm
|
3018 |
-
}
|
3019 |
-
if (fn) {
|
3020 |
-
// specific handler
|
3021 |
-
var cb;
|
3022 |
-
var i$1 = cbs.length;
|
3023 |
-
while (i$1--) {
|
3024 |
-
cb = cbs[i$1];
|
3025 |
-
if (cb === fn || cb.fn === fn) {
|
3026 |
-
cbs.splice(i$1, 1);
|
3027 |
-
break
|
3028 |
-
}
|
3029 |
-
}
|
3030 |
-
}
|
3031 |
-
return vm
|
3032 |
-
};
|
3033 |
-
|
3034 |
-
Vue.prototype.$emit = function (event) {
|
3035 |
-
var vm = this;
|
3036 |
-
if (process.env.NODE_ENV !== 'production') {
|
3037 |
-
var lowerCaseEvent = event.toLowerCase();
|
3038 |
-
if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {
|
3039 |
-
tip(
|
3040 |
-
"Event \"" + lowerCaseEvent + "\" is emitted in component " +
|
3041 |
-
(formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " +
|
3042 |
-
"Note that HTML attributes are case-insensitive and you cannot use " +
|
3043 |
-
"v-on to listen to camelCase events when using in-DOM templates. " +
|
3044 |
-
"You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"."
|
3045 |
-
);
|
3046 |
-
}
|
3047 |
-
}
|
3048 |
-
var cbs = vm._events[event];
|
3049 |
-
if (cbs) {
|
3050 |
-
cbs = cbs.length > 1 ? toArray(cbs) : cbs;
|
3051 |
-
var args = toArray(arguments, 1);
|
3052 |
-
for (var i = 0, l = cbs.length; i < l; i++) {
|
3053 |
-
try {
|
3054 |
-
cbs[i].apply(vm, args);
|
3055 |
-
} catch (e) {
|
3056 |
-
handleError(e, vm, ("event handler for \"" + event + "\""));
|
3057 |
-
}
|
3058 |
-
}
|
3059 |
-
}
|
3060 |
-
return vm
|
3061 |
-
};
|
3062 |
-
}
|
3063 |
-
|
3064 |
-
/* */
|
3065 |
-
|
3066 |
-
|
3067 |
-
|
3068 |
-
/**
|
3069 |
-
* Runtime helper for resolving raw children VNodes into a slot object.
|
3070 |
-
*/
|
3071 |
-
function resolveSlots (
|
3072 |
-
children,
|
3073 |
-
context
|
3074 |
-
) {
|
3075 |
var slots = {};
|
3076 |
-
if (!children) {
|
3077 |
-
return slots
|
3078 |
-
}
|
3079 |
for (var i = 0, l = children.length; i < l; i++) {
|
3080 |
var child = children[i];
|
3081 |
var data = child.data;
|
@@ -3112,1977 +2938,2377 @@ function isWhitespace (node) {
|
|
3112 |
return (node.isComment && !node.asyncFactory) || node.text === ' '
|
3113 |
}
|
3114 |
|
3115 |
-
|
3116 |
-
|
3117 |
-
|
|
|
|
|
|
|
3118 |
) {
|
3119 |
-
|
3120 |
-
|
3121 |
-
|
3122 |
-
|
3123 |
-
|
3124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3125 |
}
|
3126 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3127 |
return res
|
3128 |
}
|
3129 |
|
3130 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3131 |
|
3132 |
-
|
3133 |
-
|
|
|
3134 |
|
3135 |
-
|
3136 |
-
|
3137 |
-
|
3138 |
-
|
3139 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3140 |
}
|
|
|
|
|
3141 |
}
|
3142 |
|
3143 |
-
|
3144 |
-
var options = vm.$options;
|
3145 |
|
3146 |
-
|
3147 |
-
|
3148 |
-
|
3149 |
-
|
3150 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3151 |
}
|
3152 |
-
|
|
|
|
|
3153 |
}
|
3154 |
|
3155 |
-
|
3156 |
-
|
|
|
|
|
|
|
|
|
|
|
3157 |
|
3158 |
-
|
3159 |
-
vm.$refs = {};
|
3160 |
|
3161 |
-
|
3162 |
-
|
3163 |
-
|
3164 |
-
|
3165 |
-
|
3166 |
-
vm._isBeingDestroyed = false;
|
3167 |
}
|
3168 |
|
3169 |
-
|
3170 |
-
Vue.prototype._update = function (vnode, hydrating) {
|
3171 |
-
var vm = this;
|
3172 |
-
var prevEl = vm.$el;
|
3173 |
-
var prevVnode = vm._vnode;
|
3174 |
-
var restoreActiveInstance = setActiveInstance(vm);
|
3175 |
-
vm._vnode = vnode;
|
3176 |
-
// Vue.prototype.__patch__ is injected in entry points
|
3177 |
-
// based on the rendering backend used.
|
3178 |
-
if (!prevVnode) {
|
3179 |
-
// initial render
|
3180 |
-
vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);
|
3181 |
-
} else {
|
3182 |
-
// updates
|
3183 |
-
vm.$el = vm.__patch__(prevVnode, vnode);
|
3184 |
-
}
|
3185 |
-
restoreActiveInstance();
|
3186 |
-
// update __vue__ reference
|
3187 |
-
if (prevEl) {
|
3188 |
-
prevEl.__vue__ = null;
|
3189 |
-
}
|
3190 |
-
if (vm.$el) {
|
3191 |
-
vm.$el.__vue__ = vm;
|
3192 |
-
}
|
3193 |
-
// if parent is an HOC, update its $el as well
|
3194 |
-
if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {
|
3195 |
-
vm.$parent.$el = vm.$el;
|
3196 |
-
}
|
3197 |
-
// updated hook is called by the scheduler to ensure that children are
|
3198 |
-
// updated in a parent's updated hook.
|
3199 |
-
};
|
3200 |
|
3201 |
-
|
3202 |
-
|
3203 |
-
|
3204 |
-
|
3205 |
-
|
3206 |
-
}
|
|
|
3207 |
|
3208 |
-
|
3209 |
-
|
3210 |
-
|
3211 |
-
|
3212 |
-
|
3213 |
-
|
3214 |
-
|
3215 |
-
|
3216 |
-
|
3217 |
-
|
3218 |
-
|
3219 |
-
|
3220 |
-
|
3221 |
-
|
3222 |
-
|
3223 |
-
|
3224 |
-
|
3225 |
-
|
3226 |
-
|
3227 |
-
|
3228 |
-
|
3229 |
-
|
3230 |
-
|
3231 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3232 |
}
|
3233 |
-
|
3234 |
-
|
3235 |
-
|
3236 |
-
|
3237 |
-
|
3238 |
-
|
3239 |
-
|
3240 |
-
|
3241 |
-
|
3242 |
-
|
3243 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3244 |
}
|
3245 |
-
|
3246 |
-
|
3247 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3248 |
}
|
3249 |
-
}
|
|
|
3250 |
}
|
3251 |
|
3252 |
-
|
3253 |
-
|
3254 |
-
|
3255 |
-
|
|
|
|
|
3256 |
) {
|
3257 |
-
|
3258 |
-
|
3259 |
-
|
3260 |
-
if (
|
3261 |
-
|
3262 |
-
|
3263 |
-
|
3264 |
-
|
3265 |
-
|
3266 |
-
'compiler is not available. Either pre-compile the templates into ' +
|
3267 |
-
'render functions, or use the compiler-included build.',
|
3268 |
-
vm
|
3269 |
-
);
|
3270 |
-
} else {
|
3271 |
-
warn(
|
3272 |
-
'Failed to mount component: template or render function not defined.',
|
3273 |
-
vm
|
3274 |
-
);
|
3275 |
}
|
|
|
3276 |
}
|
3277 |
}
|
3278 |
-
|
|
|
3279 |
|
3280 |
-
|
3281 |
-
/* istanbul ignore if */
|
3282 |
-
if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
|
3283 |
-
updateComponent = function () {
|
3284 |
-
var name = vm._name;
|
3285 |
-
var id = vm._uid;
|
3286 |
-
var startTag = "vue-perf-start:" + id;
|
3287 |
-
var endTag = "vue-perf-end:" + id;
|
3288 |
|
3289 |
-
|
3290 |
-
|
3291 |
-
|
3292 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3293 |
|
3294 |
-
|
3295 |
-
|
3296 |
-
|
3297 |
-
|
3298 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3299 |
} else {
|
3300 |
-
|
3301 |
-
|
3302 |
-
|
|
|
|
|
|
|
3303 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3304 |
|
3305 |
-
|
3306 |
-
|
3307 |
-
|
3308 |
-
|
3309 |
-
before: function before () {
|
3310 |
-
if (vm._isMounted && !vm._isDestroyed) {
|
3311 |
-
callHook(vm, 'beforeUpdate');
|
3312 |
-
}
|
3313 |
}
|
3314 |
-
}
|
3315 |
-
hydrating = false;
|
3316 |
|
3317 |
-
//
|
3318 |
-
|
3319 |
-
|
3320 |
-
|
3321 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3322 |
}
|
3323 |
-
return vm
|
3324 |
}
|
3325 |
|
3326 |
-
|
3327 |
-
|
|
|
|
|
3328 |
propsData,
|
3329 |
-
|
3330 |
-
|
3331 |
-
|
3332 |
) {
|
3333 |
-
|
3334 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3335 |
}
|
3336 |
|
3337 |
-
|
3338 |
-
|
3339 |
-
|
3340 |
-
|
3341 |
-
|
3342 |
-
|
3343 |
-
vm.$scopedSlots !== emptyObject // has old scoped slots
|
3344 |
);
|
3345 |
|
3346 |
-
|
3347 |
-
vm.$vnode = parentVnode; // update vm's placeholder node without re-render
|
3348 |
-
|
3349 |
-
if (vm._vnode) { // update child tree's parent
|
3350 |
-
vm._vnode.parent = parentVnode;
|
3351 |
-
}
|
3352 |
-
vm.$options._renderChildren = renderChildren;
|
3353 |
-
|
3354 |
-
// update $attrs and $listeners hash
|
3355 |
-
// these are also reactive so they may trigger child update if the child
|
3356 |
-
// used them during render
|
3357 |
-
vm.$attrs = parentVnode.data.attrs || emptyObject;
|
3358 |
-
vm.$listeners = listeners || emptyObject;
|
3359 |
|
3360 |
-
|
3361 |
-
|
3362 |
-
|
3363 |
-
var
|
3364 |
-
var
|
3365 |
-
for (var i = 0; i <
|
3366 |
-
|
3367 |
-
var propOptions = vm.$options.props; // wtf flow?
|
3368 |
-
props[key] = validateProp(key, propOptions, propsData, vm);
|
3369 |
}
|
3370 |
-
|
3371 |
-
// keep a copy of raw propsData
|
3372 |
-
vm.$options.propsData = propsData;
|
3373 |
-
}
|
3374 |
-
|
3375 |
-
// update listeners
|
3376 |
-
listeners = listeners || emptyObject;
|
3377 |
-
var oldListeners = vm.$options._parentListeners;
|
3378 |
-
vm.$options._parentListeners = listeners;
|
3379 |
-
updateComponentListeners(vm, listeners, oldListeners);
|
3380 |
-
|
3381 |
-
// resolve slots + force update if has children
|
3382 |
-
if (hasChildren) {
|
3383 |
-
vm.$slots = resolveSlots(renderChildren, parentVnode.context);
|
3384 |
-
vm.$forceUpdate();
|
3385 |
}
|
|
|
3386 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3387 |
if (process.env.NODE_ENV !== 'production') {
|
3388 |
-
|
3389 |
}
|
|
|
|
|
|
|
|
|
3390 |
}
|
3391 |
|
3392 |
-
function
|
3393 |
-
|
3394 |
-
|
3395 |
}
|
3396 |
-
return false
|
3397 |
}
|
3398 |
|
3399 |
-
|
3400 |
-
|
3401 |
-
|
3402 |
-
|
3403 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3404 |
}
|
3405 |
-
}
|
3406 |
-
|
3407 |
-
|
3408 |
-
|
3409 |
-
|
3410 |
-
|
3411 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3412 |
}
|
3413 |
-
|
3414 |
-
|
3415 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3416 |
|
3417 |
-
function
|
3418 |
-
|
3419 |
-
|
3420 |
-
|
3421 |
-
|
|
|
|
|
|
|
3422 |
}
|
3423 |
}
|
3424 |
-
|
3425 |
-
|
3426 |
-
|
3427 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3428 |
}
|
3429 |
-
|
3430 |
}
|
3431 |
-
}
|
3432 |
|
3433 |
-
|
3434 |
-
|
3435 |
-
|
3436 |
-
|
3437 |
-
|
3438 |
-
|
3439 |
-
|
3440 |
-
|
3441 |
-
|
3442 |
-
|
3443 |
-
|
|
|
|
|
|
|
|
|
|
|
3444 |
}
|
3445 |
}
|
3446 |
-
if (vm._hasHookEvent) {
|
3447 |
-
vm.$emit('hook:' + hook);
|
3448 |
-
}
|
3449 |
-
popTarget();
|
3450 |
-
}
|
3451 |
|
3452 |
-
|
3453 |
|
3454 |
-
|
|
|
|
|
3455 |
|
3456 |
-
|
3457 |
-
|
3458 |
-
|
3459 |
-
|
3460 |
-
var waiting = false;
|
3461 |
-
var flushing = false;
|
3462 |
-
var index = 0;
|
3463 |
|
3464 |
-
|
3465 |
-
|
3466 |
-
|
3467 |
-
|
3468 |
-
|
3469 |
-
|
3470 |
-
if (process.env.NODE_ENV !== 'production') {
|
3471 |
-
circular = {};
|
3472 |
}
|
3473 |
-
waiting = flushing = false;
|
3474 |
-
}
|
3475 |
|
3476 |
-
|
3477 |
-
|
3478 |
-
|
3479 |
-
|
3480 |
-
|
3481 |
-
|
3482 |
|
3483 |
-
|
3484 |
-
|
3485 |
-
|
3486 |
-
// created before the child)
|
3487 |
-
// 2. A component's user watchers are run before its render watcher (because
|
3488 |
-
// user watchers are created before the render watcher)
|
3489 |
-
// 3. If a component is destroyed during a parent component's watcher run,
|
3490 |
-
// its watchers can be skipped.
|
3491 |
-
queue.sort(function (a, b) { return a.id - b.id; });
|
3492 |
|
3493 |
-
|
3494 |
-
|
3495 |
-
|
3496 |
-
|
3497 |
-
|
3498 |
-
watcher.before();
|
3499 |
-
}
|
3500 |
-
id = watcher.id;
|
3501 |
-
has[id] = null;
|
3502 |
-
watcher.run();
|
3503 |
-
// in dev build, check and stop circular updates.
|
3504 |
-
if (process.env.NODE_ENV !== 'production' && has[id] != null) {
|
3505 |
-
circular[id] = (circular[id] || 0) + 1;
|
3506 |
-
if (circular[id] > MAX_UPDATE_COUNT) {
|
3507 |
-
warn(
|
3508 |
-
'You may have an infinite update loop ' + (
|
3509 |
-
watcher.user
|
3510 |
-
? ("in watcher with expression \"" + (watcher.expression) + "\"")
|
3511 |
-
: "in a component render function."
|
3512 |
-
),
|
3513 |
-
watcher.vm
|
3514 |
-
);
|
3515 |
-
break
|
3516 |
-
}
|
3517 |
}
|
3518 |
}
|
3519 |
|
3520 |
-
//
|
3521 |
-
|
3522 |
-
var updatedQueue = queue.slice();
|
3523 |
|
3524 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3525 |
|
3526 |
-
|
3527 |
-
|
3528 |
-
callUpdatedHooks(updatedQueue);
|
3529 |
|
3530 |
-
|
3531 |
-
|
3532 |
-
|
3533 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3534 |
}
|
|
|
3535 |
}
|
3536 |
|
3537 |
-
function
|
3538 |
-
var
|
3539 |
-
|
3540 |
-
var
|
3541 |
-
var
|
3542 |
-
|
3543 |
-
|
|
|
3544 |
}
|
3545 |
}
|
3546 |
}
|
3547 |
|
3548 |
-
|
3549 |
-
|
3550 |
-
|
3551 |
-
|
3552 |
-
|
3553 |
-
|
3554 |
-
|
3555 |
-
|
3556 |
-
activatedChildren.push(vm);
|
3557 |
}
|
3558 |
|
3559 |
-
|
3560 |
-
|
3561 |
-
|
3562 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3563 |
}
|
3564 |
}
|
3565 |
|
3566 |
-
|
3567 |
-
* Push a watcher into the watcher queue.
|
3568 |
-
* Jobs with duplicate IDs will be skipped unless it's
|
3569 |
-
* pushed when the queue is being flushed.
|
3570 |
-
*/
|
3571 |
-
function queueWatcher (watcher) {
|
3572 |
-
var id = watcher.id;
|
3573 |
-
if (has[id] == null) {
|
3574 |
-
has[id] = true;
|
3575 |
-
if (!flushing) {
|
3576 |
-
queue.push(watcher);
|
3577 |
-
} else {
|
3578 |
-
// if already flushing, splice the watcher based on its id
|
3579 |
-
// if already past its id, it will be run next immediately.
|
3580 |
-
var i = queue.length - 1;
|
3581 |
-
while (i > index && queue[i].id > watcher.id) {
|
3582 |
-
i--;
|
3583 |
-
}
|
3584 |
-
queue.splice(i + 1, 0, watcher);
|
3585 |
-
}
|
3586 |
-
// queue the flush
|
3587 |
-
if (!waiting) {
|
3588 |
-
waiting = true;
|
3589 |
|
3590 |
-
|
3591 |
-
|
3592 |
-
|
3593 |
-
|
3594 |
-
|
3595 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3596 |
}
|
|
|
3597 |
}
|
3598 |
|
3599 |
-
|
3600 |
-
|
3601 |
-
|
3602 |
-
|
3603 |
-
|
3604 |
-
|
3605 |
-
/**
|
3606 |
-
* A watcher parses an expression, collects dependencies,
|
3607 |
-
* and fires callback when the expression value changes.
|
3608 |
-
* This is used for both the $watch() api and directives.
|
3609 |
-
*/
|
3610 |
-
var Watcher = function Watcher (
|
3611 |
-
vm,
|
3612 |
-
expOrFn,
|
3613 |
-
cb,
|
3614 |
-
options,
|
3615 |
-
isRenderWatcher
|
3616 |
) {
|
3617 |
-
|
3618 |
-
|
3619 |
-
|
|
|
|
|
|
|
|
|
3620 |
}
|
3621 |
-
|
3622 |
-
|
3623 |
-
|
3624 |
-
this.deep = !!options.deep;
|
3625 |
-
this.user = !!options.user;
|
3626 |
-
this.lazy = !!options.lazy;
|
3627 |
-
this.sync = !!options.sync;
|
3628 |
-
this.before = options.before;
|
3629 |
-
} else {
|
3630 |
-
this.deep = this.user = this.lazy = this.sync = false;
|
3631 |
}
|
3632 |
-
|
3633 |
-
|
3634 |
-
|
3635 |
-
|
3636 |
-
|
3637 |
-
|
3638 |
-
|
3639 |
-
|
3640 |
-
|
3641 |
-
|
3642 |
-
|
3643 |
-
|
3644 |
-
|
3645 |
-
this.getter = expOrFn;
|
3646 |
-
} else {
|
3647 |
-
this.getter = parsePath(expOrFn);
|
3648 |
-
if (!this.getter) {
|
3649 |
-
this.getter = noop;
|
3650 |
-
process.env.NODE_ENV !== 'production' && warn(
|
3651 |
-
"Failed watching path: \"" + expOrFn + "\" " +
|
3652 |
-
'Watcher only accepts simple dot-delimited paths. ' +
|
3653 |
-
'For full control, use a function instead.',
|
3654 |
-
vm
|
3655 |
);
|
3656 |
}
|
3657 |
}
|
3658 |
-
|
3659 |
-
|
3660 |
-
|
3661 |
-
|
3662 |
-
|
3663 |
-
|
3664 |
-
|
3665 |
-
|
3666 |
-
|
3667 |
-
|
3668 |
-
|
3669 |
-
|
3670 |
-
|
3671 |
-
|
3672 |
-
|
3673 |
-
|
3674 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3675 |
} else {
|
3676 |
-
|
3677 |
-
|
3678 |
-
|
3679 |
-
|
3680 |
-
|
3681 |
-
|
3682 |
-
|
3683 |
}
|
3684 |
-
|
3685 |
-
|
|
|
3686 |
}
|
3687 |
-
|
3688 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3689 |
|
3690 |
-
|
3691 |
-
|
3692 |
-
|
3693 |
-
|
3694 |
-
|
3695 |
-
|
3696 |
-
|
3697 |
-
|
3698 |
-
|
3699 |
-
|
|
|
|
|
|
|
|
|
3700 |
}
|
3701 |
}
|
3702 |
-
}
|
3703 |
|
3704 |
-
|
3705 |
-
|
3706 |
-
|
3707 |
-
|
3708 |
-
|
3709 |
-
|
3710 |
-
var dep = this.deps[i];
|
3711 |
-
if (!this.newDepIds.has(dep.id)) {
|
3712 |
-
dep.removeSub(this);
|
3713 |
-
}
|
3714 |
}
|
3715 |
-
|
3716 |
-
|
3717 |
-
|
3718 |
-
|
3719 |
-
|
3720 |
-
|
3721 |
-
|
3722 |
-
|
3723 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3724 |
|
3725 |
-
/**
|
3726 |
-
* Subscriber interface.
|
3727 |
-
* Will be called when a dependency changes.
|
3728 |
-
*/
|
3729 |
-
Watcher.prototype.update = function update () {
|
3730 |
/* istanbul ignore else */
|
3731 |
-
if (
|
3732 |
-
|
3733 |
-
|
3734 |
-
|
|
|
|
|
|
|
3735 |
} else {
|
3736 |
-
|
|
|
3737 |
}
|
3738 |
-
}
|
3739 |
|
3740 |
-
|
3741 |
-
|
3742 |
-
|
3743 |
-
|
3744 |
-
|
3745 |
-
|
3746 |
-
|
3747 |
-
|
3748 |
-
|
3749 |
-
|
3750 |
-
|
3751 |
-
|
3752 |
-
|
3753 |
-
|
3754 |
-
|
3755 |
-
|
3756 |
-
|
3757 |
-
|
3758 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3759 |
try {
|
3760 |
-
|
3761 |
} catch (e) {
|
3762 |
-
handleError(e,
|
|
|
3763 |
}
|
3764 |
} else {
|
3765 |
-
|
3766 |
}
|
|
|
|
|
3767 |
}
|
3768 |
-
|
3769 |
-
|
3770 |
-
|
3771 |
-
/**
|
3772 |
-
* Evaluate the value of the watcher.
|
3773 |
-
* This only gets called for lazy watchers.
|
3774 |
-
*/
|
3775 |
-
Watcher.prototype.evaluate = function evaluate () {
|
3776 |
-
this.value = this.get();
|
3777 |
-
this.dirty = false;
|
3778 |
-
};
|
3779 |
-
|
3780 |
-
/**
|
3781 |
-
* Depend on all deps collected by this watcher.
|
3782 |
-
*/
|
3783 |
-
Watcher.prototype.depend = function depend () {
|
3784 |
-
var i = this.deps.length;
|
3785 |
-
while (i--) {
|
3786 |
-
this.deps[i].depend();
|
3787 |
-
}
|
3788 |
-
};
|
3789 |
-
|
3790 |
-
/**
|
3791 |
-
* Remove self from all dependencies' subscriber list.
|
3792 |
-
*/
|
3793 |
-
Watcher.prototype.teardown = function teardown () {
|
3794 |
-
if (this.active) {
|
3795 |
-
// remove self from vm's watcher list
|
3796 |
-
// this is a somewhat expensive operation so we skip it
|
3797 |
-
// if the vm is being destroyed.
|
3798 |
-
if (!this.vm._isBeingDestroyed) {
|
3799 |
-
remove(this.vm._watchers, this);
|
3800 |
}
|
3801 |
-
|
3802 |
-
|
3803 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3804 |
}
|
3805 |
-
|
3806 |
-
|
3807 |
-
|
|
|
|
|
3808 |
|
3809 |
/* */
|
3810 |
|
3811 |
-
|
3812 |
-
|
3813 |
-
|
3814 |
-
|
3815 |
-
|
3816 |
-
|
|
|
|
|
|
|
|
|
|
|
3817 |
|
3818 |
-
function
|
3819 |
-
|
3820 |
-
|
3821 |
-
|
3822 |
-
|
3823 |
-
|
3824 |
-
|
3825 |
-
|
|
|
|
|
|
|
3826 |
}
|
3827 |
|
3828 |
-
function
|
3829 |
-
|
3830 |
-
|
3831 |
-
|
3832 |
-
if (
|
3833 |
-
|
3834 |
-
initData(vm);
|
3835 |
-
} else {
|
3836 |
-
observe(vm._data = {}, true /* asRootData */);
|
3837 |
}
|
3838 |
-
|
3839 |
-
if (
|
3840 |
-
|
3841 |
}
|
3842 |
-
}
|
3843 |
|
3844 |
-
|
3845 |
-
|
3846 |
-
var props = vm._props = {};
|
3847 |
-
// cache prop keys so that future props updates can iterate using Array
|
3848 |
-
// instead of dynamic object key enumeration.
|
3849 |
-
var keys = vm.$options._propKeys = [];
|
3850 |
-
var isRoot = !vm.$parent;
|
3851 |
-
// root instance props should be converted
|
3852 |
-
if (!isRoot) {
|
3853 |
-
toggleObserving(false);
|
3854 |
}
|
3855 |
-
|
3856 |
-
|
3857 |
-
|
3858 |
-
|
3859 |
-
|
3860 |
-
|
3861 |
-
|
3862 |
-
|
3863 |
-
|
3864 |
-
|
3865 |
-
|
3866 |
-
);
|
3867 |
}
|
3868 |
-
|
3869 |
-
|
3870 |
-
|
3871 |
-
|
3872 |
-
|
3873 |
-
|
3874 |
-
|
3875 |
-
|
3876 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3877 |
}
|
3878 |
-
|
3879 |
-
|
3880 |
-
|
3881 |
-
|
3882 |
-
|
3883 |
-
|
3884 |
-
|
3885 |
-
|
3886 |
-
|
|
|
|
|
|
|
|
|
3887 |
}
|
3888 |
-
};
|
3889 |
|
3890 |
-
|
3891 |
-
|
|
|
|
|
|
|
|
|
3892 |
}
|
3893 |
|
3894 |
-
|
3895 |
-
|
3896 |
-
|
3897 |
-
|
3898 |
-
|
3899 |
-
|
3900 |
-
|
3901 |
-
|
3902 |
-
|
3903 |
-
|
3904 |
-
|
3905 |
-
|
3906 |
-
|
3907 |
-
|
3908 |
-
var keys = Object.keys(data);
|
3909 |
-
var props = vm.$options.props;
|
3910 |
-
var methods = vm.$options.methods;
|
3911 |
-
var i = keys.length;
|
3912 |
-
while (i--) {
|
3913 |
-
var key = keys[i];
|
3914 |
-
if (process.env.NODE_ENV !== 'production') {
|
3915 |
-
if (methods && hasOwn(methods, key)) {
|
3916 |
-
warn(
|
3917 |
-
("Method \"" + key + "\" has already been defined as a data property."),
|
3918 |
-
vm
|
3919 |
-
);
|
3920 |
}
|
3921 |
}
|
3922 |
-
if (props && hasOwn(props, key)) {
|
3923 |
-
process.env.NODE_ENV !== 'production' && warn(
|
3924 |
-
"The data property \"" + key + "\" is already declared as a prop. " +
|
3925 |
-
"Use prop default value instead.",
|
3926 |
-
vm
|
3927 |
-
);
|
3928 |
-
} else if (!isReserved(key)) {
|
3929 |
-
proxy(vm, "_data", key);
|
3930 |
-
}
|
3931 |
}
|
3932 |
-
// observe data
|
3933 |
-
observe(data, true /* asRootData */);
|
3934 |
}
|
3935 |
|
3936 |
-
|
3937 |
-
|
3938 |
-
|
3939 |
-
|
3940 |
-
|
3941 |
-
|
3942 |
-
|
3943 |
-
|
3944 |
-
|
3945 |
-
|
|
|
3946 |
}
|
3947 |
}
|
3948 |
|
3949 |
-
var
|
3950 |
-
|
3951 |
-
function initComputed (vm, computed) {
|
3952 |
-
// $flow-disable-line
|
3953 |
-
var watchers = vm._computedWatchers = Object.create(null);
|
3954 |
-
// computed properties are just getters during SSR
|
3955 |
-
var isSSR = isServerRendering();
|
3956 |
|
3957 |
-
|
3958 |
-
|
3959 |
-
|
3960 |
-
if (process.env.NODE_ENV !== 'production' && getter == null) {
|
3961 |
-
warn(
|
3962 |
-
("Getter is missing for computed property \"" + key + "\"."),
|
3963 |
-
vm
|
3964 |
-
);
|
3965 |
-
}
|
3966 |
|
3967 |
-
|
3968 |
-
|
3969 |
-
|
3970 |
-
vm,
|
3971 |
-
getter || noop,
|
3972 |
-
noop,
|
3973 |
-
computedWatcherOptions
|
3974 |
-
);
|
3975 |
-
}
|
3976 |
|
3977 |
-
|
3978 |
-
|
3979 |
-
|
3980 |
-
|
3981 |
-
|
3982 |
-
|
3983 |
-
if (key in vm.$data) {
|
3984 |
-
warn(("The computed property \"" + key + "\" is already defined in data."), vm);
|
3985 |
-
} else if (vm.$options.props && key in vm.$options.props) {
|
3986 |
-
warn(("The computed property \"" + key + "\" is already defined as a prop."), vm);
|
3987 |
-
}
|
3988 |
}
|
3989 |
}
|
3990 |
}
|
3991 |
|
3992 |
-
function
|
3993 |
-
|
3994 |
-
|
3995 |
-
|
3996 |
) {
|
3997 |
-
|
3998 |
-
|
3999 |
-
|
4000 |
-
? createComputedGetter(key)
|
4001 |
-
: createGetterInvoker(userDef);
|
4002 |
-
sharedPropertyDefinition.set = noop;
|
4003 |
-
} else {
|
4004 |
-
sharedPropertyDefinition.get = userDef.get
|
4005 |
-
? shouldCache && userDef.cache !== false
|
4006 |
-
? createComputedGetter(key)
|
4007 |
-
: createGetterInvoker(userDef.get)
|
4008 |
-
: noop;
|
4009 |
-
sharedPropertyDefinition.set = userDef.set || noop;
|
4010 |
-
}
|
4011 |
-
if (process.env.NODE_ENV !== 'production' &&
|
4012 |
-
sharedPropertyDefinition.set === noop) {
|
4013 |
-
sharedPropertyDefinition.set = function () {
|
4014 |
-
warn(
|
4015 |
-
("Computed property \"" + key + "\" was assigned to but it has no setter."),
|
4016 |
-
this
|
4017 |
-
);
|
4018 |
-
};
|
4019 |
-
}
|
4020 |
-
Object.defineProperty(target, key, sharedPropertyDefinition);
|
4021 |
}
|
4022 |
|
4023 |
-
function
|
4024 |
-
|
4025 |
-
|
4026 |
-
|
4027 |
-
|
4028 |
-
|
|
|
4029 |
}
|
4030 |
-
|
4031 |
-
|
|
|
|
|
|
|
|
|
4032 |
}
|
4033 |
-
return watcher.value
|
4034 |
}
|
4035 |
-
|
4036 |
-
}
|
4037 |
|
4038 |
-
function
|
4039 |
-
|
4040 |
-
|
4041 |
-
|
4042 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4043 |
|
4044 |
-
function
|
4045 |
-
|
4046 |
-
for (var key in methods) {
|
4047 |
if (process.env.NODE_ENV !== 'production') {
|
4048 |
-
|
4049 |
-
|
4050 |
-
|
4051 |
-
"
|
4052 |
-
vm
|
4053 |
-
|
4054 |
-
|
4055 |
-
|
4056 |
-
warn(
|
4057 |
-
("Method \"" + key + "\" has already been defined as a prop."),
|
4058 |
-
vm
|
4059 |
-
);
|
4060 |
-
}
|
4061 |
-
if ((key in vm) && isReserved(key)) {
|
4062 |
-
warn(
|
4063 |
-
"Method \"" + key + "\" conflicts with an existing Vue instance method. " +
|
4064 |
-
"Avoid defining component methods that start with _ or $."
|
4065 |
);
|
4066 |
}
|
4067 |
}
|
4068 |
-
|
4069 |
-
|
4070 |
-
|
4071 |
-
|
4072 |
-
|
4073 |
-
|
4074 |
-
|
4075 |
-
if (Array.isArray(handler)) {
|
4076 |
-
for (var i = 0; i < handler.length; i++) {
|
4077 |
-
createWatcher(vm, key, handler[i]);
|
4078 |
}
|
4079 |
-
} else {
|
4080 |
-
createWatcher(vm, key, handler);
|
4081 |
}
|
4082 |
-
|
|
|
4083 |
}
|
4084 |
|
4085 |
-
|
4086 |
-
|
4087 |
-
|
4088 |
-
|
4089 |
-
|
4090 |
-
) {
|
4091 |
-
|
4092 |
-
|
4093 |
-
|
4094 |
-
|
4095 |
-
if (typeof handler === 'string') {
|
4096 |
-
handler = vm[handler];
|
4097 |
}
|
4098 |
-
return vm.$watch(expOrFn, handler, options)
|
4099 |
}
|
4100 |
|
4101 |
-
function
|
4102 |
-
|
4103 |
-
|
4104 |
-
//
|
4105 |
-
var
|
4106 |
-
|
4107 |
-
|
4108 |
-
|
4109 |
-
|
4110 |
-
|
4111 |
-
warn(
|
4112 |
-
'Avoid replacing instance root $data. ' +
|
4113 |
-
'Use nested data properties instead.',
|
4114 |
-
this
|
4115 |
-
);
|
4116 |
-
};
|
4117 |
-
propsDef.set = function () {
|
4118 |
-
warn("$props is readonly.", this);
|
4119 |
-
};
|
4120 |
}
|
4121 |
-
Object.defineProperty(Vue.prototype, '$data', dataDef);
|
4122 |
-
Object.defineProperty(Vue.prototype, '$props', propsDef);
|
4123 |
|
4124 |
-
|
4125 |
-
|
4126 |
|
4127 |
-
|
4128 |
-
|
4129 |
-
|
4130 |
-
|
4131 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4132 |
var vm = this;
|
4133 |
-
|
4134 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4135 |
}
|
4136 |
-
|
4137 |
-
|
4138 |
-
|
4139 |
-
|
4140 |
-
try {
|
4141 |
-
cb.call(vm, watcher.value);
|
4142 |
-
} catch (error) {
|
4143 |
-
handleError(error, vm, ("callback for immediate watcher \"" + (watcher.expression) + "\""));
|
4144 |
-
}
|
4145 |
}
|
4146 |
-
|
4147 |
-
|
|
|
|
|
|
|
|
|
4148 |
}
|
|
|
|
|
4149 |
};
|
4150 |
-
}
|
4151 |
-
|
4152 |
-
/* */
|
4153 |
-
|
4154 |
-
function initProvide (vm) {
|
4155 |
-
var provide = vm.$options.provide;
|
4156 |
-
if (provide) {
|
4157 |
-
vm._provided = typeof provide === 'function'
|
4158 |
-
? provide.call(vm)
|
4159 |
-
: provide;
|
4160 |
-
}
|
4161 |
-
}
|
4162 |
-
|
4163 |
-
function initInjections (vm) {
|
4164 |
-
var result = resolveInject(vm.$options.inject, vm);
|
4165 |
-
if (result) {
|
4166 |
-
toggleObserving(false);
|
4167 |
-
Object.keys(result).forEach(function (key) {
|
4168 |
-
/* istanbul ignore else */
|
4169 |
-
if (process.env.NODE_ENV !== 'production') {
|
4170 |
-
defineReactive$$1(vm, key, result[key], function () {
|
4171 |
-
warn(
|
4172 |
-
"Avoid mutating an injected value directly since the changes will be " +
|
4173 |
-
"overwritten whenever the provided component re-renders. " +
|
4174 |
-
"injection being mutated: \"" + key + "\"",
|
4175 |
-
vm
|
4176 |
-
);
|
4177 |
-
});
|
4178 |
-
} else {
|
4179 |
-
defineReactive$$1(vm, key, result[key]);
|
4180 |
-
}
|
4181 |
-
});
|
4182 |
-
toggleObserving(true);
|
4183 |
-
}
|
4184 |
-
}
|
4185 |
|
4186 |
-
function
|
4187 |
-
|
4188 |
-
|
4189 |
-
|
4190 |
-
|
4191 |
-
|
4192 |
-
/* istanbul ignore next */
|
4193 |
-
return Object.getOwnPropertyDescriptor(inject, key).enumerable
|
4194 |
-
})
|
4195 |
-
: Object.keys(inject);
|
4196 |
|
4197 |
-
|
4198 |
-
|
4199 |
-
|
4200 |
-
|
4201 |
-
|
4202 |
-
|
4203 |
-
|
4204 |
-
|
4205 |
-
|
4206 |
-
|
4207 |
-
|
4208 |
-
|
4209 |
-
|
4210 |
-
|
4211 |
-
|
4212 |
-
|
4213 |
-
|
4214 |
-
|
4215 |
-
|
4216 |
-
}
|
4217 |
-
}
|
4218 |
}
|
4219 |
-
|
4220 |
-
|
4221 |
-
|
4222 |
-
|
4223 |
-
/* */
|
4224 |
-
|
4225 |
-
/**
|
4226 |
-
* Runtime helper for rendering v-for lists.
|
4227 |
-
*/
|
4228 |
-
function renderList (
|
4229 |
-
val,
|
4230 |
-
render
|
4231 |
-
) {
|
4232 |
-
var ret, i, l, keys, key;
|
4233 |
-
if (Array.isArray(val) || typeof val === 'string') {
|
4234 |
-
ret = new Array(val.length);
|
4235 |
-
for (i = 0, l = val.length; i < l; i++) {
|
4236 |
-
ret[i] = render(val[i], i);
|
4237 |
}
|
4238 |
-
|
4239 |
-
|
4240 |
-
|
4241 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4242 |
}
|
4243 |
-
|
4244 |
-
|
4245 |
-
|
4246 |
-
for (i = 0, l = keys.length; i < l; i++) {
|
4247 |
-
key = keys[i];
|
4248 |
-
ret[i] = render(val[key], key, i);
|
4249 |
}
|
4250 |
-
}
|
4251 |
-
if (!isDef(ret)) {
|
4252 |
-
ret = [];
|
4253 |
-
}
|
4254 |
-
(ret)._isVList = true;
|
4255 |
-
return ret
|
4256 |
}
|
4257 |
|
4258 |
-
|
4259 |
-
|
4260 |
-
|
4261 |
-
|
4262 |
-
*/
|
4263 |
-
function renderSlot (
|
4264 |
-
name,
|
4265 |
-
fallback,
|
4266 |
-
props,
|
4267 |
-
bindObject
|
4268 |
) {
|
4269 |
-
|
4270 |
-
|
4271 |
-
|
4272 |
-
|
4273 |
-
|
4274 |
-
if (
|
|
|
4275 |
warn(
|
4276 |
-
'
|
4277 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4278 |
);
|
4279 |
}
|
4280 |
-
props = extend(extend({}, bindObject), props);
|
4281 |
}
|
4282 |
-
nodes = scopedSlotFn(props) || fallback;
|
4283 |
-
} else {
|
4284 |
-
nodes = this.$slots[name] || fallback;
|
4285 |
}
|
|
|
4286 |
|
4287 |
-
var
|
4288 |
-
if
|
4289 |
-
|
4290 |
-
|
4291 |
-
|
4292 |
-
|
4293 |
-
|
|
|
4294 |
|
4295 |
-
|
|
|
|
|
|
|
4296 |
|
4297 |
-
|
4298 |
-
|
4299 |
-
|
4300 |
-
|
4301 |
-
|
4302 |
-
}
|
|
|
|
|
|
|
|
|
4303 |
|
4304 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4305 |
|
4306 |
-
|
4307 |
-
|
4308 |
-
|
4309 |
-
|
4310 |
-
|
4311 |
}
|
|
|
4312 |
}
|
4313 |
|
4314 |
-
|
4315 |
-
|
4316 |
-
|
4317 |
-
|
4318 |
-
|
4319 |
-
|
4320 |
-
eventKeyCode,
|
4321 |
-
key,
|
4322 |
-
builtInKeyCode,
|
4323 |
-
eventKeyName,
|
4324 |
-
builtInKeyName
|
4325 |
) {
|
4326 |
-
|
4327 |
-
|
4328 |
-
return isKeyNotMatch(builtInKeyName, eventKeyName)
|
4329 |
-
} else if (mappedKeyCode) {
|
4330 |
-
return isKeyNotMatch(mappedKeyCode, eventKeyCode)
|
4331 |
-
} else if (eventKeyName) {
|
4332 |
-
return hyphenate(eventKeyName) !== key
|
4333 |
}
|
4334 |
-
}
|
4335 |
|
4336 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4337 |
|
4338 |
-
|
4339 |
-
|
4340 |
-
|
4341 |
-
|
4342 |
-
|
4343 |
-
|
4344 |
-
|
4345 |
-
|
4346 |
-
isSync
|
4347 |
-
) {
|
4348 |
-
if (value) {
|
4349 |
-
if (!isObject(value)) {
|
4350 |
-
process.env.NODE_ENV !== 'production' && warn(
|
4351 |
-
'v-bind without argument expects an Object or Array value',
|
4352 |
-
this
|
4353 |
-
);
|
4354 |
-
} else {
|
4355 |
-
if (Array.isArray(value)) {
|
4356 |
-
value = toObject(value);
|
4357 |
-
}
|
4358 |
-
var hash;
|
4359 |
-
var loop = function ( key ) {
|
4360 |
-
if (
|
4361 |
-
key === 'class' ||
|
4362 |
-
key === 'style' ||
|
4363 |
-
isReservedAttribute(key)
|
4364 |
-
) {
|
4365 |
-
hash = data;
|
4366 |
-
} else {
|
4367 |
-
var type = data.attrs && data.attrs.type;
|
4368 |
-
hash = asProp || config.mustUseProp(tag, type, key)
|
4369 |
-
? data.domProps || (data.domProps = {})
|
4370 |
-
: data.attrs || (data.attrs = {});
|
4371 |
-
}
|
4372 |
-
var camelizedKey = camelize(key);
|
4373 |
-
if (!(key in hash) && !(camelizedKey in hash)) {
|
4374 |
-
hash[key] = value[key];
|
4375 |
|
4376 |
-
|
4377 |
-
|
4378 |
-
on[("update:" + camelizedKey)] = function ($event) {
|
4379 |
-
value[key] = $event;
|
4380 |
-
};
|
4381 |
-
}
|
4382 |
-
}
|
4383 |
-
};
|
4384 |
|
4385 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4386 |
}
|
|
|
|
|
|
|
4387 |
}
|
4388 |
-
return data
|
4389 |
-
}
|
4390 |
|
4391 |
-
|
|
|
|
|
|
|
|
|
4392 |
|
4393 |
-
|
4394 |
-
|
4395 |
-
|
4396 |
-
|
4397 |
-
|
4398 |
-
|
4399 |
-
) {
|
4400 |
-
|
4401 |
-
var tree = cached[index];
|
4402 |
-
// if has already-rendered static tree and not inside v-for,
|
4403 |
-
// we can reuse the same tree.
|
4404 |
-
if (tree && !isInFor) {
|
4405 |
-
return tree
|
4406 |
}
|
4407 |
-
// otherwise, render a fresh tree.
|
4408 |
-
tree = cached[index] = this.$options.staticRenderFns[index].call(
|
4409 |
-
this._renderProxy,
|
4410 |
-
null,
|
4411 |
-
this // for render fns generated for functional component templates
|
4412 |
-
);
|
4413 |
-
markStatic(tree, ("__static__" + index), false);
|
4414 |
-
return tree
|
4415 |
}
|
4416 |
|
4417 |
-
|
4418 |
-
|
4419 |
-
|
4420 |
-
|
4421 |
-
|
4422 |
-
tree,
|
4423 |
-
index,
|
4424 |
-
key
|
4425 |
-
) {
|
4426 |
-
markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true);
|
4427 |
-
return tree
|
4428 |
}
|
4429 |
|
4430 |
-
function
|
4431 |
-
|
4432 |
-
|
4433 |
-
|
4434 |
-
|
4435 |
-
if (Array.isArray(tree)) {
|
4436 |
-
for (var i = 0; i < tree.length; i++) {
|
4437 |
-
if (tree[i] && typeof tree[i] !== 'string') {
|
4438 |
-
markStaticNode(tree[i], (key + "_" + i), isOnce);
|
4439 |
-
}
|
4440 |
}
|
4441 |
-
} else {
|
4442 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4443 |
}
|
4444 |
}
|
4445 |
|
4446 |
-
function
|
4447 |
-
|
4448 |
-
|
4449 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4450 |
}
|
4451 |
|
4452 |
-
|
4453 |
-
|
4454 |
-
|
4455 |
-
|
4456 |
-
|
4457 |
-
|
4458 |
-
|
4459 |
-
|
4460 |
-
);
|
4461 |
-
} else {
|
4462 |
-
var on = data.on = data.on ? extend({}, data.on) : {};
|
4463 |
-
for (var key in value) {
|
4464 |
-
var existing = on[key];
|
4465 |
-
var ours = value[key];
|
4466 |
-
on[key] = existing ? [].concat(existing, ours) : ours;
|
4467 |
-
}
|
4468 |
}
|
4469 |
}
|
4470 |
-
|
|
|
|
|
|
|
4471 |
}
|
4472 |
|
4473 |
/* */
|
4474 |
|
4475 |
-
|
4476 |
-
target._o = markOnce;
|
4477 |
-
target._n = toNumber;
|
4478 |
-
target._s = toString;
|
4479 |
-
target._l = renderList;
|
4480 |
-
target._t = renderSlot;
|
4481 |
-
target._q = looseEqual;
|
4482 |
-
target._i = looseIndexOf;
|
4483 |
-
target._m = renderStatic;
|
4484 |
-
target._f = resolveFilter;
|
4485 |
-
target._k = checkKeyCodes;
|
4486 |
-
target._b = bindObjectProps;
|
4487 |
-
target._v = createTextVNode;
|
4488 |
-
target._e = createEmptyVNode;
|
4489 |
-
target._u = resolveScopedSlots;
|
4490 |
-
target._g = bindObjectListeners;
|
4491 |
-
}
|
4492 |
|
4493 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
4494 |
|
4495 |
-
|
4496 |
-
|
4497 |
-
|
4498 |
-
|
4499 |
-
|
4500 |
-
|
4501 |
-
) {
|
4502 |
-
|
4503 |
-
// ensure the createElement function in functional components
|
4504 |
-
// gets a unique context - this is necessary for correct named slot check
|
4505 |
-
var contextVm;
|
4506 |
-
if (hasOwn(parent, '_uid')) {
|
4507 |
-
contextVm = Object.create(parent);
|
4508 |
-
// $flow-disable-line
|
4509 |
-
contextVm._original = parent;
|
4510 |
-
} else {
|
4511 |
-
// the context vm passed in is a functional context as well.
|
4512 |
-
// in this case we want to make sure we are able to get a hold to the
|
4513 |
-
// real context instance.
|
4514 |
-
contextVm = parent;
|
4515 |
-
// $flow-disable-line
|
4516 |
-
parent = parent._original;
|
4517 |
}
|
4518 |
-
|
4519 |
-
|
4520 |
|
4521 |
-
|
4522 |
-
|
4523 |
-
|
4524 |
-
|
4525 |
-
|
4526 |
-
|
4527 |
-
this.slots = function () { return resolveSlots(children, parent); };
|
4528 |
|
4529 |
-
|
4530 |
-
|
4531 |
-
// exposing $options for renderStatic()
|
4532 |
-
this.$options = options;
|
4533 |
-
// pre-resolve slots for renderSlot()
|
4534 |
-
this.$slots = this.slots();
|
4535 |
-
this.$scopedSlots = data.scopedSlots || emptyObject;
|
4536 |
-
}
|
4537 |
|
4538 |
-
|
4539 |
-
|
4540 |
-
|
4541 |
-
|
4542 |
-
|
4543 |
-
|
4544 |
-
|
4545 |
-
|
4546 |
-
|
4547 |
-
} else {
|
4548 |
-
this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };
|
4549 |
-
}
|
4550 |
}
|
4551 |
|
4552 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
4553 |
|
4554 |
-
|
4555 |
-
|
4556 |
-
|
4557 |
-
|
4558 |
-
|
4559 |
-
|
4560 |
-
|
4561 |
-
|
4562 |
-
|
4563 |
-
|
4564 |
-
|
4565 |
-
|
4566 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4567 |
}
|
4568 |
-
} else {
|
4569 |
-
if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
|
4570 |
-
if (isDef(data.props)) { mergeProps(props, data.props); }
|
4571 |
}
|
4572 |
|
4573 |
-
|
4574 |
-
|
4575 |
-
|
4576 |
-
children,
|
4577 |
-
contextVm,
|
4578 |
-
Ctor
|
4579 |
-
);
|
4580 |
|
4581 |
-
|
4582 |
|
4583 |
-
|
4584 |
-
|
4585 |
-
|
4586 |
-
|
4587 |
-
|
4588 |
-
|
4589 |
-
|
4590 |
-
|
4591 |
-
return res
|
4592 |
}
|
4593 |
}
|
4594 |
|
4595 |
-
function
|
4596 |
-
|
4597 |
-
|
4598 |
-
|
4599 |
-
|
4600 |
-
|
4601 |
-
|
4602 |
-
|
4603 |
-
(clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;
|
4604 |
}
|
4605 |
-
|
4606 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4607 |
}
|
4608 |
-
return clone
|
4609 |
}
|
4610 |
|
4611 |
-
|
4612 |
-
|
4613 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4614 |
}
|
4615 |
}
|
4616 |
|
4617 |
/* */
|
4618 |
|
4619 |
-
/* */
|
4620 |
|
4621 |
-
/* */
|
4622 |
|
4623 |
-
|
4624 |
|
4625 |
-
|
4626 |
-
|
4627 |
-
|
4628 |
-
|
4629 |
-
|
4630 |
-
|
4631 |
-
|
4632 |
-
|
4633 |
-
|
4634 |
-
|
4635 |
-
|
4636 |
-
|
4637 |
-
|
4638 |
-
|
4639 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4640 |
);
|
4641 |
-
child.$mount(hydrating ? vnode.elm : undefined, hydrating);
|
4642 |
}
|
4643 |
-
}
|
|
|
|
|
|
|
|
|
4644 |
|
4645 |
-
|
4646 |
-
|
4647 |
-
|
4648 |
-
|
4649 |
-
|
4650 |
-
|
4651 |
-
|
4652 |
-
|
4653 |
-
|
4654 |
-
|
4655 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4656 |
|
4657 |
-
|
4658 |
-
|
4659 |
-
|
4660 |
-
|
4661 |
-
|
4662 |
-
|
|
|
|
|
|
|
|
|
4663 |
}
|
4664 |
-
|
4665 |
-
|
4666 |
-
|
4667 |
-
|
4668 |
-
|
4669 |
-
|
4670 |
-
|
4671 |
-
|
4672 |
-
|
4673 |
-
|
4674 |
-
|
|
|
4675 |
}
|
4676 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4677 |
|
4678 |
-
|
4679 |
-
|
4680 |
-
|
4681 |
-
|
4682 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4683 |
} else {
|
4684 |
-
|
4685 |
}
|
4686 |
}
|
4687 |
}
|
4688 |
};
|
4689 |
|
4690 |
-
|
4691 |
-
|
4692 |
-
|
4693 |
-
|
4694 |
-
|
4695 |
-
|
4696 |
-
|
4697 |
-
|
4698 |
-
) {
|
4699 |
-
if (isUndef(Ctor)) {
|
4700 |
-
return
|
4701 |
-
}
|
4702 |
-
|
4703 |
-
var baseCtor = context.$options._base;
|
4704 |
|
4705 |
-
|
4706 |
-
|
4707 |
-
|
|
|
|
|
|
|
|
|
4708 |
}
|
|
|
4709 |
|
4710 |
-
|
4711 |
-
|
4712 |
-
|
4713 |
-
|
4714 |
-
|
|
|
|
|
|
|
|
|
|
|
4715 |
}
|
4716 |
-
|
4717 |
-
|
4718 |
-
|
4719 |
-
// async component
|
4720 |
-
var asyncFactory;
|
4721 |
-
if (isUndef(Ctor.cid)) {
|
4722 |
-
asyncFactory = Ctor;
|
4723 |
-
Ctor = resolveAsyncComponent(asyncFactory, baseCtor, context);
|
4724 |
-
if (Ctor === undefined) {
|
4725 |
-
// return a placeholder node for async component, which is rendered
|
4726 |
-
// as a comment node but preserves all the raw information for the node.
|
4727 |
-
// the information will be used for async server-rendering and hydration.
|
4728 |
-
return createAsyncPlaceholder(
|
4729 |
-
asyncFactory,
|
4730 |
-
data,
|
4731 |
-
context,
|
4732 |
-
children,
|
4733 |
-
tag
|
4734 |
-
)
|
4735 |
}
|
|
|
4736 |
}
|
|
|
4737 |
|
4738 |
-
|
4739 |
-
|
4740 |
-
// resolve constructor options in case global mixins are applied after
|
4741 |
-
// component constructor creation
|
4742 |
-
resolveConstructorOptions(Ctor);
|
4743 |
|
4744 |
-
|
4745 |
-
|
4746 |
-
|
4747 |
-
|
|
|
|
|
4748 |
|
4749 |
-
|
4750 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4751 |
|
4752 |
-
|
4753 |
-
|
4754 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
4755 |
}
|
4756 |
-
|
4757 |
-
|
4758 |
-
|
4759 |
-
var listeners = data.on;
|
4760 |
-
// replace with listeners with .native modifier
|
4761 |
-
// so it gets processed during parent component patch.
|
4762 |
-
data.on = data.nativeOn;
|
4763 |
-
|
4764 |
-
if (isTrue(Ctor.options.abstract)) {
|
4765 |
-
// abstract components do not keep anything
|
4766 |
-
// other than props & listeners & slot
|
4767 |
-
|
4768 |
-
// work around flow
|
4769 |
-
var slot = data.slot;
|
4770 |
-
data = {};
|
4771 |
-
if (slot) {
|
4772 |
-
data.slot = slot;
|
4773 |
-
}
|
4774 |
}
|
4775 |
-
|
4776 |
-
// install component management hooks onto the placeholder node
|
4777 |
-
installComponentHooks(data);
|
4778 |
-
|
4779 |
-
// return a placeholder vnode
|
4780 |
-
var name = Ctor.options.name || tag;
|
4781 |
-
var vnode = new VNode(
|
4782 |
-
("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')),
|
4783 |
-
data, undefined, undefined, undefined, context,
|
4784 |
-
{ Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },
|
4785 |
-
asyncFactory
|
4786 |
-
);
|
4787 |
-
|
4788 |
-
return vnode
|
4789 |
}
|
4790 |
|
4791 |
-
function
|
4792 |
-
|
4793 |
-
|
4794 |
-
|
4795 |
-
|
4796 |
-
|
4797 |
-
|
4798 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4799 |
};
|
4800 |
-
|
4801 |
-
var
|
4802 |
-
|
4803 |
-
options.render = inlineTemplate.render;
|
4804 |
-
options.staticRenderFns = inlineTemplate.staticRenderFns;
|
4805 |
-
}
|
4806 |
-
return new vnode.componentOptions.Ctor(options)
|
4807 |
}
|
4808 |
|
4809 |
-
function
|
4810 |
-
var
|
4811 |
-
|
4812 |
-
|
4813 |
-
|
4814 |
-
|
4815 |
-
|
4816 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4817 |
}
|
4818 |
}
|
|
|
|
|
4819 |
}
|
4820 |
|
4821 |
-
function
|
4822 |
-
|
4823 |
-
|
4824 |
-
|
4825 |
-
|
4826 |
-
}
|
4827 |
-
|
4828 |
-
|
4829 |
-
}
|
4830 |
-
|
4831 |
-
// transform component v-model info (value and callback) into
|
4832 |
-
// prop and event handler respectively.
|
4833 |
-
function transformModel (options, data) {
|
4834 |
-
var prop = (options.model && options.model.prop) || 'value';
|
4835 |
-
var event = (options.model && options.model.event) || 'input'
|
4836 |
-
;(data.props || (data.props = {}))[prop] = data.model.value;
|
4837 |
-
var on = data.on || (data.on = {});
|
4838 |
-
var existing = on[event];
|
4839 |
-
var callback = data.model.callback;
|
4840 |
-
if (isDef(existing)) {
|
4841 |
-
if (
|
4842 |
-
Array.isArray(existing)
|
4843 |
-
? existing.indexOf(callback) === -1
|
4844 |
-
: existing !== callback
|
4845 |
-
) {
|
4846 |
-
on[event] = [callback].concat(existing);
|
4847 |
-
}
|
4848 |
-
} else {
|
4849 |
-
on[event] = callback;
|
4850 |
}
|
4851 |
}
|
4852 |
|
4853 |
-
|
4854 |
|
4855 |
-
|
4856 |
-
|
|
|
|
|
|
|
4857 |
|
4858 |
-
|
4859 |
-
|
4860 |
-
function
|
4861 |
-
|
4862 |
-
|
4863 |
-
|
4864 |
-
|
4865 |
-
|
4866 |
-
|
4867 |
-
|
4868 |
-
|
4869 |
-
|
4870 |
-
|
4871 |
-
|
4872 |
-
|
4873 |
-
|
4874 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4875 |
}
|
4876 |
-
return _createElement(context, tag, data, children, normalizationType)
|
4877 |
}
|
4878 |
|
4879 |
-
function
|
4880 |
-
|
4881 |
-
|
4882 |
-
|
4883 |
-
children,
|
4884 |
-
normalizationType
|
4885 |
) {
|
4886 |
-
|
4887 |
-
|
4888 |
-
|
4889 |
-
|
4890 |
-
|
4891 |
-
|
4892 |
-
|
4893 |
-
|
4894 |
-
|
4895 |
-
|
4896 |
-
|
4897 |
-
|
4898 |
-
|
4899 |
-
// in case of component :is set to falsy value
|
4900 |
-
return createEmptyVNode()
|
4901 |
}
|
4902 |
-
// warn against non-primitive key
|
4903 |
if (process.env.NODE_ENV !== 'production' &&
|
4904 |
-
|
4905 |
-
|
4906 |
-
{
|
4907 |
warn(
|
4908 |
-
|
4909 |
-
|
4910 |
-
context
|
4911 |
);
|
4912 |
-
}
|
4913 |
-
}
|
4914 |
-
// support single function children as default scoped slot
|
4915 |
-
if (Array.isArray(children) &&
|
4916 |
-
typeof children[0] === 'function'
|
4917 |
-
) {
|
4918 |
-
data = data || {};
|
4919 |
-
data.scopedSlots = { default: children[0] };
|
4920 |
-
children.length = 0;
|
4921 |
-
}
|
4922 |
-
if (normalizationType === ALWAYS_NORMALIZE) {
|
4923 |
-
children = normalizeChildren(children);
|
4924 |
-
} else if (normalizationType === SIMPLE_NORMALIZE) {
|
4925 |
-
children = simpleNormalizeChildren(children);
|
4926 |
}
|
4927 |
-
|
4928 |
-
|
4929 |
-
|
4930 |
-
|
4931 |
-
|
4932 |
-
|
4933 |
-
|
4934 |
-
|
4935 |
-
|
4936 |
-
|
4937 |
-
|
4938 |
-
|
4939 |
-
|
4940 |
-
|
4941 |
-
|
4942 |
-
// check at runtime because it may get assigned a namespace when its
|
4943 |
-
// parent normalizes children
|
4944 |
-
vnode = new VNode(
|
4945 |
-
tag, data, children,
|
4946 |
-
undefined, undefined, context
|
4947 |
-
);
|
4948 |
-
}
|
4949 |
-
} else {
|
4950 |
-
// direct component options / constructor
|
4951 |
-
vnode = createComponent(tag, data, context, children);
|
4952 |
}
|
4953 |
-
|
4954 |
-
|
4955 |
-
|
4956 |
-
|
4957 |
-
|
4958 |
-
return vnode
|
4959 |
-
} else {
|
4960 |
-
return createEmptyVNode()
|
4961 |
}
|
4962 |
}
|
4963 |
|
4964 |
-
function
|
4965 |
-
|
4966 |
-
|
4967 |
-
|
4968 |
-
|
4969 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4970 |
}
|
4971 |
-
|
4972 |
-
|
4973 |
-
|
4974 |
-
|
4975 |
-
|
4976 |
-
|
|
|
|
|
4977 |
}
|
|
|
|
|
4978 |
}
|
4979 |
}
|
4980 |
}
|
4981 |
|
4982 |
-
|
4983 |
-
|
4984 |
-
|
4985 |
-
|
4986 |
-
|
4987 |
-
|
|
|
|
|
|
|
4988 |
}
|
4989 |
-
if (
|
4990 |
-
|
4991 |
}
|
|
|
4992 |
}
|
4993 |
|
4994 |
-
|
4995 |
-
|
4996 |
-
|
4997 |
-
|
4998 |
-
|
4999 |
-
|
5000 |
-
var
|
5001 |
-
|
5002 |
-
vm.$slots = resolveSlots(options._renderChildren, renderContext);
|
5003 |
-
vm.$scopedSlots = emptyObject;
|
5004 |
-
// bind the createElement fn to this instance
|
5005 |
-
// so that we get proper render context inside it.
|
5006 |
-
// args order: tag, data, children, normalizationType, alwaysNormalize
|
5007 |
-
// internal version is used by render functions compiled from templates
|
5008 |
-
vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };
|
5009 |
-
// normalization is always applied for the public version, used in
|
5010 |
-
// user-written render functions.
|
5011 |
-
vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };
|
5012 |
-
|
5013 |
-
// $attrs & $listeners are exposed for easier HOC creation.
|
5014 |
-
// they need to be reactive so that HOCs using them are always updated
|
5015 |
-
var parentData = parentVnode && parentVnode.data;
|
5016 |
-
|
5017 |
-
/* istanbul ignore else */
|
5018 |
if (process.env.NODE_ENV !== 'production') {
|
5019 |
-
|
5020 |
-
|
5021 |
-
|
5022 |
-
|
5023 |
-
|
5024 |
-
|
5025 |
-
|
5026 |
-
|
5027 |
-
|
|
|
5028 |
}
|
5029 |
-
|
5030 |
-
|
5031 |
-
function renderMixin (Vue) {
|
5032 |
-
// install runtime convenience helpers
|
5033 |
-
installRenderHelpers(Vue.prototype);
|
5034 |
|
5035 |
-
Vue.prototype.$
|
5036 |
-
|
5037 |
-
};
|
5038 |
|
5039 |
-
Vue.prototype
|
|
|
|
|
|
|
|
|
5040 |
var vm = this;
|
5041 |
-
|
5042 |
-
|
5043 |
-
var _parentVnode = ref._parentVnode;
|
5044 |
-
|
5045 |
-
if (_parentVnode) {
|
5046 |
-
vm.$scopedSlots = _parentVnode.data.scopedSlots || emptyObject;
|
5047 |
}
|
5048 |
-
|
5049 |
-
|
5050 |
-
|
5051 |
-
|
5052 |
-
|
5053 |
-
|
5054 |
-
|
5055 |
-
|
5056 |
-
} catch (e) {
|
5057 |
-
handleError(e, vm, "render");
|
5058 |
-
// return error render result,
|
5059 |
-
// or previous vnode to prevent render error causing blank component
|
5060 |
-
/* istanbul ignore else */
|
5061 |
-
if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {
|
5062 |
-
try {
|
5063 |
-
vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);
|
5064 |
-
} catch (e) {
|
5065 |
-
handleError(e, vm, "renderError");
|
5066 |
-
vnode = vm._vnode;
|
5067 |
-
}
|
5068 |
-
} else {
|
5069 |
-
vnode = vm._vnode;
|
5070 |
}
|
5071 |
}
|
5072 |
-
|
5073 |
-
|
5074 |
-
if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {
|
5075 |
-
warn(
|
5076 |
-
'Multiple root nodes returned from render function. Render function ' +
|
5077 |
-
'should return a single root node.',
|
5078 |
-
vm
|
5079 |
-
);
|
5080 |
-
}
|
5081 |
-
vnode = createEmptyVNode();
|
5082 |
}
|
5083 |
-
// set parent
|
5084 |
-
vnode.parent = _parentVnode;
|
5085 |
-
return vnode
|
5086 |
};
|
5087 |
}
|
5088 |
|
@@ -5195,36 +5421,16 @@ function resolveConstructorOptions (Ctor) {
|
|
5195 |
function resolveModifiedOptions (Ctor) {
|
5196 |
var modified;
|
5197 |
var latest = Ctor.options;
|
5198 |
-
var extended = Ctor.extendOptions;
|
5199 |
var sealed = Ctor.sealedOptions;
|
5200 |
for (var key in latest) {
|
5201 |
if (latest[key] !== sealed[key]) {
|
5202 |
if (!modified) { modified = {}; }
|
5203 |
-
modified[key] =
|
5204 |
}
|
5205 |
}
|
5206 |
return modified
|
5207 |
}
|
5208 |
|
5209 |
-
function dedupe (latest, extended, sealed) {
|
5210 |
-
// compare latest and sealed to ensure lifecycle hooks won't be duplicated
|
5211 |
-
// between merges
|
5212 |
-
if (Array.isArray(latest)) {
|
5213 |
-
var res = [];
|
5214 |
-
sealed = Array.isArray(sealed) ? sealed : [sealed];
|
5215 |
-
extended = Array.isArray(extended) ? extended : [extended];
|
5216 |
-
for (var i = 0; i < latest.length; i++) {
|
5217 |
-
// push original options and not sealed options to exclude duplicated options
|
5218 |
-
if (extended.indexOf(latest[i]) >= 0 || sealed.indexOf(latest[i]) < 0) {
|
5219 |
-
res.push(latest[i]);
|
5220 |
-
}
|
5221 |
-
}
|
5222 |
-
return res
|
5223 |
-
} else {
|
5224 |
-
return latest
|
5225 |
-
}
|
5226 |
-
}
|
5227 |
-
|
5228 |
function Vue (options) {
|
5229 |
if (process.env.NODE_ENV !== 'production' &&
|
5230 |
!(this instanceof Vue)
|
@@ -5558,6 +5764,12 @@ function initGlobalAPI (Vue) {
|
|
5558 |
Vue.delete = del;
|
5559 |
Vue.nextTick = nextTick;
|
5560 |
|
|
|
|
|
|
|
|
|
|
|
|
|
5561 |
Vue.options = Object.create(null);
|
5562 |
ASSET_TYPES.forEach(function (type) {
|
5563 |
Vue.options[type + 's'] = Object.create(null);
|
@@ -5593,7 +5805,7 @@ Object.defineProperty(Vue, 'FunctionalRenderContext', {
|
|
5593 |
value: FunctionalRenderContext
|
5594 |
});
|
5595 |
|
5596 |
-
Vue.version = '2.
|
5597 |
|
5598 |
/* */
|
5599 |
|
@@ -5614,6 +5826,17 @@ var mustUseProp = function (tag, type, attr) {
|
|
5614 |
|
5615 |
var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');
|
5616 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5617 |
var isBooleanAttr = makeMap(
|
5618 |
'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +
|
5619 |
'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +
|
@@ -6739,6 +6962,7 @@ function _update (oldVnode, vnode) {
|
|
6739 |
} else {
|
6740 |
// existing directive, update
|
6741 |
dir.oldValue = oldDir.value;
|
|
|
6742 |
callHook$1(dir, 'update', vnode, oldVnode);
|
6743 |
if (dir.def && dir.def.componentUpdated) {
|
6744 |
dirsWithPostpatch.push(dir);
|
@@ -6882,7 +7106,7 @@ function setAttr (el, key, value) {
|
|
6882 |
el.setAttribute(key, value);
|
6883 |
}
|
6884 |
} else if (isEnumeratedAttr(key)) {
|
6885 |
-
el.setAttribute(key,
|
6886 |
} else if (isXlink(key)) {
|
6887 |
if (isFalsyAttrValue(value)) {
|
6888 |
el.removeAttributeNS(xlinkNS, getXlinkProp(key));
|
@@ -6904,8 +7128,8 @@ function baseSetAttr (el, key, value) {
|
|
6904 |
/* istanbul ignore if */
|
6905 |
if (
|
6906 |
isIE && !isIE9 &&
|
6907 |
-
|
6908 |
-
key === 'placeholder' && !el.__ieph
|
6909 |
) {
|
6910 |
var blocker = function (e) {
|
6911 |
e.stopImmediatePropagation();
|
@@ -7062,9 +7286,13 @@ function wrapFilter (exp, filter) {
|
|
7062 |
|
7063 |
/* */
|
7064 |
|
7065 |
-
|
|
|
|
|
|
|
7066 |
console.error(("[Vue compiler]: " + msg));
|
7067 |
}
|
|
|
7068 |
|
7069 |
function pluckModuleFunction (
|
7070 |
modules,
|
@@ -7075,20 +7303,23 @@ function pluckModuleFunction (
|
|
7075 |
: []
|
7076 |
}
|
7077 |
|
7078 |
-
function addProp (el, name, value) {
|
7079 |
-
(el.props || (el.props = [])).push({ name: name, value: value });
|
7080 |
el.plain = false;
|
7081 |
}
|
7082 |
|
7083 |
-
function addAttr (el, name, value) {
|
7084 |
-
|
|
|
|
|
|
|
7085 |
el.plain = false;
|
7086 |
}
|
7087 |
|
7088 |
// add a raw attr (use this in preTransforms)
|
7089 |
-
function addRawAttr (el, name, value) {
|
7090 |
el.attrsMap[name] = value;
|
7091 |
-
el.attrsList.push({ name: name, value: value });
|
7092 |
}
|
7093 |
|
7094 |
function addDirective (
|
@@ -7097,19 +7328,36 @@ function addDirective (
|
|
7097 |
rawName,
|
7098 |
value,
|
7099 |
arg,
|
7100 |
-
|
|
|
|
|
7101 |
) {
|
7102 |
-
(el.directives || (el.directives = [])).push({
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7103 |
el.plain = false;
|
7104 |
}
|
7105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7106 |
function addHandler (
|
7107 |
el,
|
7108 |
name,
|
7109 |
value,
|
7110 |
modifiers,
|
7111 |
important,
|
7112 |
-
warn
|
|
|
|
|
7113 |
) {
|
7114 |
modifiers = modifiers || emptyObject;
|
7115 |
// warn prevent and passive modifier
|
@@ -7120,18 +7368,25 @@ function addHandler (
|
|
7120 |
) {
|
7121 |
warn(
|
7122 |
'passive and prevent can\'t be used together. ' +
|
7123 |
-
'Passive handler can\'t prevent default event.'
|
|
|
7124 |
);
|
7125 |
}
|
7126 |
|
7127 |
// normalize click.right and click.middle since they don't actually fire
|
7128 |
// this is technically browser-specific, but at least for now browsers are
|
7129 |
// the only target envs that have right/middle clicks.
|
7130 |
-
if (
|
7131 |
-
if (
|
|
|
|
|
7132 |
name = 'contextmenu';
|
7133 |
delete modifiers.right;
|
7134 |
-
}
|
|
|
|
|
|
|
|
|
7135 |
name = 'mouseup';
|
7136 |
}
|
7137 |
}
|
@@ -7139,16 +7394,16 @@ function addHandler (
|
|
7139 |
// check capture modifier
|
7140 |
if (modifiers.capture) {
|
7141 |
delete modifiers.capture;
|
7142 |
-
name = '!'
|
7143 |
}
|
7144 |
if (modifiers.once) {
|
7145 |
delete modifiers.once;
|
7146 |
-
name = '~'
|
7147 |
}
|
7148 |
/* istanbul ignore if */
|
7149 |
if (modifiers.passive) {
|
7150 |
delete modifiers.passive;
|
7151 |
-
name = '&'
|
7152 |
}
|
7153 |
|
7154 |
var events;
|
@@ -7159,9 +7414,7 @@ function addHandler (
|
|
7159 |
events = el.events || (el.events = {});
|
7160 |
}
|
7161 |
|
7162 |
-
var newHandler = {
|
7163 |
-
value: value.trim()
|
7164 |
-
};
|
7165 |
if (modifiers !== emptyObject) {
|
7166 |
newHandler.modifiers = modifiers;
|
7167 |
}
|
@@ -7179,6 +7432,15 @@ function addHandler (
|
|
7179 |
el.plain = false;
|
7180 |
}
|
7181 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7182 |
function getBindingAttr (
|
7183 |
el,
|
7184 |
name,
|
@@ -7222,6 +7484,35 @@ function getAndRemoveAttr (
|
|
7222 |
return val
|
7223 |
}
|
7224 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7225 |
/* */
|
7226 |
|
7227 |
/**
|
@@ -7396,7 +7687,8 @@ function model (
|
|
7396 |
if (tag === 'input' && type === 'file') {
|
7397 |
warn$1(
|
7398 |
"<" + (el.tag) + " v-model=\"" + value + "\" type=\"file\">:\n" +
|
7399 |
-
"File inputs are read only. Use a v-on:change listener instead."
|
|
|
7400 |
);
|
7401 |
}
|
7402 |
}
|
@@ -7422,7 +7714,8 @@ function model (
|
|
7422 |
"<" + (el.tag) + " v-model=\"" + value + "\">: " +
|
7423 |
"v-model is not supported on this element type. " +
|
7424 |
'If you are working with contenteditable, it\'s recommended to ' +
|
7425 |
-
'wrap a library dedicated for that purpose inside a custom component.'
|
|
|
7426 |
);
|
7427 |
}
|
7428 |
|
@@ -7506,7 +7799,8 @@ function genDefaultModel (
|
|
7506 |
var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';
|
7507 |
warn$1(
|
7508 |
binding + "=\"" + value$1 + "\" conflicts with v-model on the same element " +
|
7509 |
-
'because the latter already expands to a value binding internally'
|
|
|
7510 |
);
|
7511 |
}
|
7512 |
}
|
@@ -7577,15 +7871,47 @@ function createOnceHandler$1 (event, handler, capture) {
|
|
7577 |
}
|
7578 |
}
|
7579 |
|
|
|
|
|
|
|
|
|
|
|
7580 |
function add$1 (
|
7581 |
-
|
7582 |
handler,
|
7583 |
capture,
|
7584 |
passive
|
7585 |
) {
|
7586 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7587 |
target$1.addEventListener(
|
7588 |
-
|
7589 |
handler,
|
7590 |
supportsPassive
|
7591 |
? { capture: capture, passive: passive }
|
@@ -7594,14 +7920,14 @@ function add$1 (
|
|
7594 |
}
|
7595 |
|
7596 |
function remove$2 (
|
7597 |
-
|
7598 |
handler,
|
7599 |
capture,
|
7600 |
_target
|
7601 |
) {
|
7602 |
(_target || target$1).removeEventListener(
|
7603 |
-
|
7604 |
-
handler.
|
7605 |
capture
|
7606 |
);
|
7607 |
}
|
@@ -7625,6 +7951,8 @@ var events = {
|
|
7625 |
|
7626 |
/* */
|
7627 |
|
|
|
|
|
7628 |
function updateDOMProps (oldVnode, vnode) {
|
7629 |
if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {
|
7630 |
return
|
@@ -7658,6 +7986,14 @@ function updateDOMProps (oldVnode, vnode) {
|
|
7658 |
}
|
7659 |
}
|
7660 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7661 |
if (key === 'value') {
|
7662 |
// store value as _value as well since
|
7663 |
// non-string values will be stringified
|
@@ -7667,6 +8003,17 @@ function updateDOMProps (oldVnode, vnode) {
|
|
7667 |
if (shouldUpdateValue(elm, strCur)) {
|
7668 |
elm.value = strCur;
|
7669 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7670 |
} else {
|
7671 |
elm[key] = cur;
|
7672 |
}
|
@@ -7698,10 +8045,6 @@ function isDirtyWithModifiers (elm, newVal) {
|
|
7698 |
var value = elm.value;
|
7699 |
var modifiers = elm._vModifiers; // injected by v-model runtime
|
7700 |
if (isDef(modifiers)) {
|
7701 |
-
if (modifiers.lazy) {
|
7702 |
-
// inputs with lazy should only be updated when not in focus
|
7703 |
-
return false
|
7704 |
-
}
|
7705 |
if (modifiers.number) {
|
7706 |
return toNumber(value) !== toNumber(newVal)
|
7707 |
}
|
@@ -7796,7 +8139,7 @@ var setProp = function (el, name, val) {
|
|
7796 |
if (cssVarRE.test(name)) {
|
7797 |
el.style.setProperty(name, val);
|
7798 |
} else if (importantRE.test(val)) {
|
7799 |
-
el.style.setProperty(name, val.replace(importantRE, ''), 'important');
|
7800 |
} else {
|
7801 |
var normalizedName = normalize(name);
|
7802 |
if (Array.isArray(val)) {
|
@@ -9070,8 +9413,7 @@ if (inBrowser) {
|
|
9070 |
devtools.emit('init', Vue);
|
9071 |
} else if (
|
9072 |
process.env.NODE_ENV !== 'production' &&
|
9073 |
-
process.env.NODE_ENV !== 'test'
|
9074 |
-
isChrome
|
9075 |
) {
|
9076 |
console[console.info ? 'info' : 'log'](
|
9077 |
'Download the Vue Devtools extension for a better development experience:\n' +
|
@@ -9153,7 +9495,8 @@ function transformNode (el, options) {
|
|
9153 |
"class=\"" + staticClass + "\": " +
|
9154 |
'Interpolation inside attributes has been removed. ' +
|
9155 |
'Use v-bind or the colon shorthand instead. For example, ' +
|
9156 |
-
'instead of <div class="{{ val }}">, use <div :class="val">.'
|
|
|
9157 |
);
|
9158 |
}
|
9159 |
}
|
@@ -9197,7 +9540,8 @@ function transformNode$1 (el, options) {
|
|
9197 |
"style=\"" + staticStyle + "\": " +
|
9198 |
'Interpolation inside attributes has been removed. ' +
|
9199 |
'Use v-bind or the colon shorthand instead. For example, ' +
|
9200 |
-
'instead of <div style="{{ val }}">, use <div :style="val">.'
|
|
|
9201 |
);
|
9202 |
}
|
9203 |
}
|
@@ -9268,9 +9612,8 @@ var isNonPhrasingTag = makeMap(
|
|
9268 |
|
9269 |
// Regular Expressions for parsing tags and attributes
|
9270 |
var attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
|
9271 |
-
|
9272 |
-
|
9273 |
-
var ncname = '[a-zA-Z_][\\w\\-\\.]*';
|
9274 |
var qnameCapture = "((?:" + ncname + "\\:)?" + ncname + ")";
|
9275 |
var startTagOpen = new RegExp(("^<" + qnameCapture));
|
9276 |
var startTagClose = /^\s*(\/?)>/;
|
@@ -9290,10 +9633,11 @@ var decodingMap = {
|
|
9290 |
'"': '"',
|
9291 |
'&': '&',
|
9292 |
' ': '\n',
|
9293 |
-
'	': '\t'
|
|
|
9294 |
};
|
9295 |
-
var encodedAttr = /&(?:lt|gt|quot|amp);/g;
|
9296 |
-
var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#10|#9);/g;
|
9297 |
|
9298 |
// #5992
|
9299 |
var isIgnoreNewlineTag = makeMap('pre,textarea', true);
|
@@ -9323,7 +9667,7 @@ function parseHTML (html, options) {
|
|
9323 |
|
9324 |
if (commentEnd >= 0) {
|
9325 |
if (options.shouldKeepComment) {
|
9326 |
-
options.comment(html.substring(4, commentEnd));
|
9327 |
}
|
9328 |
advance(commentEnd + 3);
|
9329 |
continue
|
@@ -9383,16 +9727,18 @@ function parseHTML (html, options) {
|
|
9383 |
rest = html.slice(textEnd);
|
9384 |
}
|
9385 |
text = html.substring(0, textEnd);
|
9386 |
-
advance(textEnd);
|
9387 |
}
|
9388 |
|
9389 |
if (textEnd < 0) {
|
9390 |
text = html;
|
9391 |
-
|
|
|
|
|
|
|
9392 |
}
|
9393 |
|
9394 |
if (options.chars && text) {
|
9395 |
-
options.chars(text);
|
9396 |
}
|
9397 |
} else {
|
9398 |
var endTagLength = 0;
|
@@ -9421,7 +9767,7 @@ function parseHTML (html, options) {
|
|
9421 |
if (html === last) {
|
9422 |
options.chars && options.chars(html);
|
9423 |
if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {
|
9424 |
-
options.warn(("Mal-formatted tag at end of template: \"" + html + "\""));
|
9425 |
}
|
9426 |
break
|
9427 |
}
|
@@ -9445,8 +9791,10 @@ function parseHTML (html, options) {
|
|
9445 |
};
|
9446 |
advance(start[0].length);
|
9447 |
var end, attr;
|
9448 |
-
while (!(end = html.match(startTagClose)) && (attr = html.match(attribute))) {
|
|
|
9449 |
advance(attr[0].length);
|
|
|
9450 |
match.attrs.push(attr);
|
9451 |
}
|
9452 |
if (end) {
|
@@ -9485,10 +9833,14 @@ function parseHTML (html, options) {
|
|
9485 |
name: args[1],
|
9486 |
value: decodeAttr(value, shouldDecodeNewlines)
|
9487 |
};
|
|
|
|
|
|
|
|
|
9488 |
}
|
9489 |
|
9490 |
if (!unary) {
|
9491 |
-
stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });
|
9492 |
lastTag = tagName;
|
9493 |
}
|
9494 |
|
@@ -9523,7 +9875,8 @@ function parseHTML (html, options) {
|
|
9523 |
options.warn
|
9524 |
) {
|
9525 |
options.warn(
|
9526 |
-
("tag <" + (stack[i].tag) + "> has no matching end tag.")
|
|
|
9527 |
);
|
9528 |
}
|
9529 |
if (options.end) {
|
@@ -9556,13 +9909,23 @@ var dirRE = /^v-|^@|^:/;
|
|
9556 |
var forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
|
9557 |
var forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/;
|
9558 |
var stripParensRE = /^\(|\)$/g;
|
|
|
9559 |
|
9560 |
var argRE = /:(.*)$/;
|
9561 |
-
var bindRE =
|
9562 |
var modifierRE = /\.[^.]+/g;
|
9563 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9564 |
var decodeHTMLCached = cached(he.decode);
|
9565 |
|
|
|
|
|
9566 |
// configurable state
|
9567 |
var warn$2;
|
9568 |
var delimiters;
|
@@ -9572,8 +9935,7 @@ var postTransforms;
|
|
9572 |
var platformIsPreTag;
|
9573 |
var platformMustUseProp;
|
9574 |
var platformGetTagNamespace;
|
9575 |
-
|
9576 |
-
|
9577 |
|
9578 |
function createASTElement (
|
9579 |
tag,
|
@@ -9585,6 +9947,7 @@ function createASTElement (
|
|
9585 |
tag: tag,
|
9586 |
attrsList: attrs,
|
9587 |
attrsMap: makeAttrsMap(attrs),
|
|
|
9588 |
parent: parent,
|
9589 |
children: []
|
9590 |
}
|
@@ -9602,6 +9965,8 @@ function parse (
|
|
9602 |
platformIsPreTag = options.isPreTag || no;
|
9603 |
platformMustUseProp = options.mustUseProp || no;
|
9604 |
platformGetTagNamespace = options.getTagNamespace || no;
|
|
|
|
|
9605 |
|
9606 |
transforms = pluckModuleFunction(options.modules, 'transformNode');
|
9607 |
preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');
|
@@ -9611,20 +9976,67 @@ function parse (
|
|
9611 |
|
9612 |
var stack = [];
|
9613 |
var preserveWhitespace = options.preserveWhitespace !== false;
|
|
|
9614 |
var root;
|
9615 |
var currentParent;
|
9616 |
var inVPre = false;
|
9617 |
var inPre = false;
|
9618 |
var warned = false;
|
9619 |
|
9620 |
-
function warnOnce (msg) {
|
9621 |
if (!warned) {
|
9622 |
warned = true;
|
9623 |
-
warn$2(msg);
|
9624 |
}
|
9625 |
}
|
9626 |
|
9627 |
function closeElement (element) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9628 |
// check pre state
|
9629 |
if (element.pre) {
|
9630 |
inVPre = false;
|
@@ -9638,6 +10050,37 @@ function parse (
|
|
9638 |
}
|
9639 |
}
|
9640 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9641 |
parseHTML(template, {
|
9642 |
warn: warn$2,
|
9643 |
expectHTML: options.expectHTML,
|
@@ -9646,7 +10089,8 @@ function parse (
|
|
9646 |
shouldDecodeNewlines: options.shouldDecodeNewlines,
|
9647 |
shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,
|
9648 |
shouldKeepComment: options.comments,
|
9649 |
-
|
|
|
9650 |
// check namespace.
|
9651 |
// inherit parent ns if there is one
|
9652 |
var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);
|
@@ -9662,12 +10106,35 @@ function parse (
|
|
9662 |
element.ns = ns;
|
9663 |
}
|
9664 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9665 |
if (isForbiddenTag(element) && !isServerRendering()) {
|
9666 |
element.forbidden = true;
|
9667 |
process.env.NODE_ENV !== 'production' && warn$2(
|
9668 |
'Templates should only be responsible for mapping the state to the ' +
|
9669 |
'UI. Avoid placing tags with side-effects in your templates, such as ' +
|
9670 |
-
"<" + tag + ">" + ', as they will not be parsed.'
|
|
|
9671 |
);
|
9672 |
}
|
9673 |
|
@@ -9692,59 +10159,15 @@ function parse (
|
|
9692 |
processFor(element);
|
9693 |
processIf(element);
|
9694 |
processOnce(element);
|
9695 |
-
// element-scope stuff
|
9696 |
-
processElement(element, options);
|
9697 |
-
}
|
9698 |
-
|
9699 |
-
function checkRootConstraints (el) {
|
9700 |
-
if (process.env.NODE_ENV !== 'production') {
|
9701 |
-
if (el.tag === 'slot' || el.tag === 'template') {
|
9702 |
-
warnOnce(
|
9703 |
-
"Cannot use <" + (el.tag) + "> as component root element because it may " +
|
9704 |
-
'contain multiple nodes.'
|
9705 |
-
);
|
9706 |
-
}
|
9707 |
-
if (el.attrsMap.hasOwnProperty('v-for')) {
|
9708 |
-
warnOnce(
|
9709 |
-
'Cannot use v-for on stateful component root element because ' +
|
9710 |
-
'it renders multiple elements.'
|
9711 |
-
);
|
9712 |
-
}
|
9713 |
-
}
|
9714 |
}
|
9715 |
|
9716 |
-
// tree management
|
9717 |
if (!root) {
|
9718 |
root = element;
|
9719 |
-
|
9720 |
-
|
9721 |
-
// allow root elements with v-if, v-else-if and v-else
|
9722 |
-
if (root.if && (element.elseif || element.else)) {
|
9723 |
-
checkRootConstraints(element);
|
9724 |
-
addIfCondition(root, {
|
9725 |
-
exp: element.elseif,
|
9726 |
-
block: element
|
9727 |
-
});
|
9728 |
-
} else if (process.env.NODE_ENV !== 'production') {
|
9729 |
-
warnOnce(
|
9730 |
-
"Component template should contain exactly one root element. " +
|
9731 |
-
"If you are using v-if on multiple elements, " +
|
9732 |
-
"use v-else-if to chain them instead."
|
9733 |
-
);
|
9734 |
-
}
|
9735 |
-
}
|
9736 |
-
if (currentParent && !element.forbidden) {
|
9737 |
-
if (element.elseif || element.else) {
|
9738 |
-
processIfConditions(element, currentParent);
|
9739 |
-
} else if (element.slotScope) { // scoped slot
|
9740 |
-
currentParent.plain = false;
|
9741 |
-
var name = element.slotTarget || '"default"'
|
9742 |
-
;(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;
|
9743 |
-
} else {
|
9744 |
-
currentParent.children.push(element);
|
9745 |
-
element.parent = currentParent;
|
9746 |
}
|
9747 |
}
|
|
|
9748 |
if (!unary) {
|
9749 |
currentParent = element;
|
9750 |
stack.push(element);
|
@@ -9753,29 +10176,29 @@ function parse (
|
|
9753 |
}
|
9754 |
},
|
9755 |
|
9756 |
-
end: function end () {
|
9757 |
-
// remove trailing whitespace
|
9758 |
var element = stack[stack.length - 1];
|
9759 |
-
var lastNode = element.children[element.children.length - 1];
|
9760 |
-
if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {
|
9761 |
-
element.children.pop();
|
9762 |
-
}
|
9763 |
// pop stack
|
9764 |
stack.length -= 1;
|
9765 |
currentParent = stack[stack.length - 1];
|
|
|
|
|
|
|
9766 |
closeElement(element);
|
9767 |
},
|
9768 |
|
9769 |
-
chars: function chars (text) {
|
9770 |
if (!currentParent) {
|
9771 |
if (process.env.NODE_ENV !== 'production') {
|
9772 |
if (text === template) {
|
9773 |
warnOnce(
|
9774 |
-
'Component template requires a root element, rather than just text.'
|
|
|
9775 |
);
|
9776 |
} else if ((text = text.trim())) {
|
9777 |
warnOnce(
|
9778 |
-
("text \"" + text + "\" outside root element will be ignored.")
|
|
|
9779 |
);
|
9780 |
}
|
9781 |
}
|
@@ -9790,33 +10213,66 @@ function parse (
|
|
9790 |
return
|
9791 |
}
|
9792 |
var children = currentParent.children;
|
9793 |
-
|
9794 |
-
|
9795 |
-
|
9796 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9797 |
if (text) {
|
|
|
|
|
|
|
|
|
9798 |
var res;
|
|
|
9799 |
if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {
|
9800 |
-
|
9801 |
type: 2,
|
9802 |
expression: res.expression,
|
9803 |
tokens: res.tokens,
|
9804 |
text: text
|
9805 |
-
}
|
9806 |
} else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {
|
9807 |
-
|
9808 |
type: 3,
|
9809 |
text: text
|
9810 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9811 |
}
|
9812 |
}
|
9813 |
},
|
9814 |
-
comment: function comment (text) {
|
9815 |
-
|
9816 |
-
|
9817 |
-
|
9818 |
-
|
9819 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9820 |
}
|
9821 |
});
|
9822 |
return root
|
@@ -9829,14 +10285,19 @@ function processPre (el) {
|
|
9829 |
}
|
9830 |
|
9831 |
function processRawAttrs (el) {
|
9832 |
-
var
|
9833 |
-
|
9834 |
-
|
9835 |
-
|
|
|
9836 |
attrs[i] = {
|
9837 |
-
name:
|
9838 |
-
value: JSON.stringify(
|
9839 |
};
|
|
|
|
|
|
|
|
|
9840 |
}
|
9841 |
} else if (!el.pre) {
|
9842 |
// non root node in pre blocks with no attributes
|
@@ -9844,20 +10305,29 @@ function processRawAttrs (el) {
|
|
9844 |
}
|
9845 |
}
|
9846 |
|
9847 |
-
function processElement (
|
|
|
|
|
|
|
9848 |
processKey(element);
|
9849 |
|
9850 |
// determine whether this is a plain element after
|
9851 |
// removing structural attributes
|
9852 |
-
element.plain =
|
|
|
|
|
|
|
|
|
9853 |
|
9854 |
processRef(element);
|
9855 |
-
|
|
|
9856 |
processComponent(element);
|
9857 |
for (var i = 0; i < transforms.length; i++) {
|
9858 |
element = transforms[i](element, options) || element;
|
9859 |
}
|
9860 |
processAttrs(element);
|
|
|
9861 |
}
|
9862 |
|
9863 |
function processKey (el) {
|
@@ -9865,7 +10335,10 @@ function processKey (el) {
|
|
9865 |
if (exp) {
|
9866 |
if (process.env.NODE_ENV !== 'production') {
|
9867 |
if (el.tag === 'template') {
|
9868 |
-
warn$2(
|
|
|
|
|
|
|
9869 |
}
|
9870 |
if (el.for) {
|
9871 |
var iterator = el.iterator2 || el.iterator1;
|
@@ -9873,7 +10346,9 @@ function processKey (el) {
|
|
9873 |
if (iterator && iterator === exp && parent && parent.tag === 'transition-group') {
|
9874 |
warn$2(
|
9875 |
"Do not use v-for index as key on <transition-group> children, " +
|
9876 |
-
"this is the same as not using keys."
|
|
|
|
|
9877 |
);
|
9878 |
}
|
9879 |
}
|
@@ -9898,7 +10373,8 @@ function processFor (el) {
|
|
9898 |
extend(el, res);
|
9899 |
} else if (process.env.NODE_ENV !== 'production') {
|
9900 |
warn$2(
|
9901 |
-
("Invalid v-for expression: " + exp)
|
|
|
9902 |
);
|
9903 |
}
|
9904 |
}
|
@@ -9954,7 +10430,8 @@ function processIfConditions (el, parent) {
|
|
9954 |
} else if (process.env.NODE_ENV !== 'production') {
|
9955 |
warn$2(
|
9956 |
"v-" + (el.elseif ? ('else-if="' + el.elseif + '"') : 'else') + " " +
|
9957 |
-
"used on element <" + (el.tag) + "> without corresponding v-if."
|
|
|
9958 |
);
|
9959 |
}
|
9960 |
}
|
@@ -9968,7 +10445,8 @@ function findPrevElement (children) {
|
|
9968 |
if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {
|
9969 |
warn$2(
|
9970 |
"text \"" + (children[i].text.trim()) + "\" between v-if and v-else(-if) " +
|
9971 |
-
"will be ignored."
|
|
|
9972 |
);
|
9973 |
}
|
9974 |
children.pop();
|
@@ -9990,51 +10468,157 @@ function processOnce (el) {
|
|
9990 |
}
|
9991 |
}
|
9992 |
|
9993 |
-
|
9994 |
-
|
9995 |
-
|
9996 |
-
|
|
|
|
|
|
|
|
|
9997 |
warn$2(
|
9998 |
-
"
|
9999 |
-
"
|
10000 |
-
"
|
|
|
|
|
|
|
10001 |
);
|
10002 |
}
|
10003 |
-
|
10004 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10005 |
if (el.tag === 'template') {
|
10006 |
-
|
10007 |
-
|
10008 |
-
if (
|
10009 |
-
|
10010 |
-
|
10011 |
-
|
10012 |
-
|
10013 |
-
|
10014 |
-
|
10015 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10016 |
}
|
10017 |
-
|
10018 |
-
|
10019 |
-
|
10020 |
-
if (
|
10021 |
-
|
10022 |
-
|
10023 |
-
|
10024 |
-
|
10025 |
-
|
10026 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10027 |
}
|
10028 |
-
el.slotScope = slotScope;
|
10029 |
}
|
10030 |
-
|
10031 |
-
|
10032 |
-
|
10033 |
-
|
10034 |
-
|
10035 |
-
|
10036 |
-
|
10037 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10038 |
}
|
10039 |
}
|
10040 |
}
|
@@ -10051,7 +10635,7 @@ function processComponent (el) {
|
|
10051 |
|
10052 |
function processAttrs (el) {
|
10053 |
var list = el.attrsList;
|
10054 |
-
var i, l, name, rawName, value, modifiers,
|
10055 |
for (i = 0, l = list.length; i < l; i++) {
|
10056 |
name = rawName = list[i].name;
|
10057 |
value = list[i].value;
|
@@ -10059,14 +10643,18 @@ function processAttrs (el) {
|
|
10059 |
// mark element as dynamic
|
10060 |
el.hasBindings = true;
|
10061 |
// modifiers
|
10062 |
-
modifiers = parseModifiers(name);
|
|
|
10063 |
if (modifiers) {
|
10064 |
name = name.replace(modifierRE, '');
|
10065 |
}
|
10066 |
if (bindRE.test(name)) { // v-bind
|
10067 |
name = name.replace(bindRE, '');
|
10068 |
value = parseFilters(value);
|
10069 |
-
|
|
|
|
|
|
|
10070 |
if (
|
10071 |
process.env.NODE_ENV !== 'production' &&
|
10072 |
value.trim().length === 0
|
@@ -10076,41 +10664,79 @@ function processAttrs (el) {
|
|
10076 |
);
|
10077 |
}
|
10078 |
if (modifiers) {
|
10079 |
-
if (modifiers.prop) {
|
10080 |
-
isProp = true;
|
10081 |
name = camelize(name);
|
10082 |
if (name === 'innerHtml') { name = 'innerHTML'; }
|
10083 |
}
|
10084 |
-
if (modifiers.camel) {
|
10085 |
name = camelize(name);
|
10086 |
}
|
10087 |
if (modifiers.sync) {
|
10088 |
-
|
10089 |
-
|
10090 |
-
(
|
10091 |
-
|
10092 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10093 |
}
|
10094 |
}
|
10095 |
-
if (
|
10096 |
!el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)
|
10097 |
)) {
|
10098 |
-
addProp(el, name, value);
|
10099 |
} else {
|
10100 |
-
addAttr(el, name, value);
|
10101 |
}
|
10102 |
} else if (onRE.test(name)) { // v-on
|
10103 |
name = name.replace(onRE, '');
|
10104 |
-
|
|
|
|
|
|
|
|
|
10105 |
} else { // normal directives
|
10106 |
name = name.replace(dirRE, '');
|
10107 |
// parse arg
|
10108 |
var argMatch = name.match(argRE);
|
10109 |
var arg = argMatch && argMatch[1];
|
|
|
10110 |
if (arg) {
|
10111 |
name = name.slice(0, -(arg.length + 1));
|
|
|
|
|
|
|
|
|
10112 |
}
|
10113 |
-
addDirective(el, name, rawName, value, arg, modifiers);
|
10114 |
if (process.env.NODE_ENV !== 'production' && name === 'model') {
|
10115 |
checkForAliasModel(el, value);
|
10116 |
}
|
@@ -10124,17 +10750,18 @@ function processAttrs (el) {
|
|
10124 |
name + "=\"" + value + "\": " +
|
10125 |
'Interpolation inside attributes has been removed. ' +
|
10126 |
'Use v-bind or the colon shorthand instead. For example, ' +
|
10127 |
-
'instead of <div id="{{ val }}">, use <div :id="val">.'
|
|
|
10128 |
);
|
10129 |
}
|
10130 |
}
|
10131 |
-
addAttr(el, name, JSON.stringify(value));
|
10132 |
// #6887 firefox doesn't update muted state if set via attribute
|
10133 |
// even immediately after element creation
|
10134 |
if (!el.component &&
|
10135 |
name === 'muted' &&
|
10136 |
platformMustUseProp(el.tag, el.attrsMap.type, name)) {
|
10137 |
-
addProp(el, name, 'true');
|
10138 |
}
|
10139 |
}
|
10140 |
}
|
@@ -10167,7 +10794,7 @@ function makeAttrsMap (attrs) {
|
|
10167 |
process.env.NODE_ENV !== 'production' &&
|
10168 |
map[attrs[i].name] && !isIE && !isEdge
|
10169 |
) {
|
10170 |
-
warn$2('duplicate attribute: ' + attrs[i].name);
|
10171 |
}
|
10172 |
map[attrs[i].name] = attrs[i].value;
|
10173 |
}
|
@@ -10214,7 +10841,8 @@ function checkForAliasModel (el, value) {
|
|
10214 |
"You are binding v-model directly to a v-for iteration alias. " +
|
10215 |
"This will not be able to modify the v-for source array because " +
|
10216 |
"writing to the alias is like modifying a function local variable. " +
|
10217 |
-
"Consider using an array of objects and use v-model on an object property instead."
|
|
|
10218 |
);
|
10219 |
}
|
10220 |
_el = _el.parent;
|
@@ -10303,7 +10931,7 @@ var modules$1 = [
|
|
10303 |
|
10304 |
function text (el, dir) {
|
10305 |
if (dir.value) {
|
10306 |
-
addProp(el, 'textContent', ("_s(" + (dir.value) + ")"));
|
10307 |
}
|
10308 |
}
|
10309 |
|
@@ -10311,7 +10939,7 @@ function text (el, dir) {
|
|
10311 |
|
10312 |
function html (el, dir) {
|
10313 |
if (dir.value) {
|
10314 |
-
addProp(el, 'innerHTML', ("_s(" + (dir.value) + ")"));
|
10315 |
}
|
10316 |
}
|
10317 |
|
@@ -10366,7 +10994,7 @@ function optimize (root, options) {
|
|
10366 |
|
10367 |
function genStaticKeys$1 (keys) {
|
10368 |
return makeMap(
|
10369 |
-
'type,tag,attrsList,attrsMap,plain,parent,children,attrs' +
|
10370 |
(keys ? ',' + keys : '')
|
10371 |
)
|
10372 |
}
|
@@ -10466,6 +11094,7 @@ function isDirectChildOfTemplateFor (node) {
|
|
10466 |
/* */
|
10467 |
|
10468 |
var fnExpRE = /^([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/;
|
|
|
10469 |
var simplePathRE = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/;
|
10470 |
|
10471 |
// KeyboardEvent.keyCode aliases
|
@@ -10520,33 +11149,43 @@ function genHandlers (
|
|
10520 |
events,
|
10521 |
isNative
|
10522 |
) {
|
10523 |
-
var
|
|
|
|
|
10524 |
for (var name in events) {
|
10525 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10526 |
}
|
10527 |
-
return res.slice(0, -1) + '}'
|
10528 |
}
|
10529 |
|
10530 |
-
function genHandler (
|
10531 |
-
name,
|
10532 |
-
handler
|
10533 |
-
) {
|
10534 |
if (!handler) {
|
10535 |
return 'function(){}'
|
10536 |
}
|
10537 |
|
10538 |
if (Array.isArray(handler)) {
|
10539 |
-
return ("[" + (handler.map(function (handler) { return genHandler(
|
10540 |
}
|
10541 |
|
10542 |
var isMethodPath = simplePathRE.test(handler.value);
|
10543 |
var isFunctionExpression = fnExpRE.test(handler.value);
|
|
|
10544 |
|
10545 |
if (!handler.modifiers) {
|
10546 |
if (isMethodPath || isFunctionExpression) {
|
10547 |
return handler.value
|
10548 |
}
|
10549 |
-
return ("function($event){" + (handler.value) + "}") // inline statement
|
10550 |
} else {
|
10551 |
var code = '';
|
10552 |
var genModifierCode = '';
|
@@ -10581,13 +11220,21 @@ function genHandler (
|
|
10581 |
? ("return " + (handler.value) + "($event)")
|
10582 |
: isFunctionExpression
|
10583 |
? ("return (" + (handler.value) + ")($event)")
|
10584 |
-
:
|
|
|
|
|
10585 |
return ("function($event){" + code + handlerCode + "}")
|
10586 |
}
|
10587 |
}
|
10588 |
|
10589 |
function genKeyFilter (keys) {
|
10590 |
-
return (
|
|
|
|
|
|
|
|
|
|
|
|
|
10591 |
}
|
10592 |
|
10593 |
function genFilterCode (key) {
|
@@ -10645,7 +11292,7 @@ var CodegenState = function CodegenState (options) {
|
|
10645 |
this.dataGenFns = pluckModuleFunction(options.modules, 'genData');
|
10646 |
this.directives = extend(extend({}, baseDirectives), options.directives);
|
10647 |
var isReservedTag = options.isReservedTag || no;
|
10648 |
-
this.maybeComponent = function (el) { return
|
10649 |
this.onceId = 0;
|
10650 |
this.staticRenderFns = [];
|
10651 |
this.pre = false;
|
@@ -10736,7 +11383,8 @@ function genOnce (el, state) {
|
|
10736 |
}
|
10737 |
if (!key) {
|
10738 |
process.env.NODE_ENV !== 'production' && state.warn(
|
10739 |
-
"v-once can only be used inside v-for that is keyed. "
|
|
|
10740 |
);
|
10741 |
return genElement(el, state)
|
10742 |
}
|
@@ -10804,6 +11452,7 @@ function genFor (
|
|
10804 |
"<" + (el.tag) + " v-for=\"" + alias + " in " + exp + "\">: component lists rendered with " +
|
10805 |
"v-for should have explicit keys. " +
|
10806 |
"See https://vuejs.org/guide/list.html#key for more info.",
|
|
|
10807 |
true /* tip */
|
10808 |
);
|
10809 |
}
|
@@ -10848,11 +11497,11 @@ function genData$2 (el, state) {
|
|
10848 |
}
|
10849 |
// attributes
|
10850 |
if (el.attrs) {
|
10851 |
-
data += "attrs:
|
10852 |
}
|
10853 |
// DOM props
|
10854 |
if (el.props) {
|
10855 |
-
data += "domProps:
|
10856 |
}
|
10857 |
// event handlers
|
10858 |
if (el.events) {
|
@@ -10868,7 +11517,7 @@ function genData$2 (el, state) {
|
|
10868 |
}
|
10869 |
// scoped slots
|
10870 |
if (el.scopedSlots) {
|
10871 |
-
data += (genScopedSlots(el.scopedSlots, state)) + ",";
|
10872 |
}
|
10873 |
// component v-model
|
10874 |
if (el.model) {
|
@@ -10882,6 +11531,12 @@ function genData$2 (el, state) {
|
|
10882 |
}
|
10883 |
}
|
10884 |
data = data.replace(/,$/, '') + '}';
|
|
|
|
|
|
|
|
|
|
|
|
|
10885 |
// v-bind data wrap
|
10886 |
if (el.wrapData) {
|
10887 |
data = el.wrapData(data);
|
@@ -10910,7 +11565,7 @@ function genDirectives (el, state) {
|
|
10910 |
}
|
10911 |
if (needRuntime) {
|
10912 |
hasRuntime = true;
|
10913 |
-
res += "{name:\"" + (dir.name) + "\",rawName:\"" + (dir.rawName) + "\"" + (dir.value ? (",value:(" + (dir.value) + "),expression:" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (",arg
|
10914 |
}
|
10915 |
}
|
10916 |
if (hasRuntime) {
|
@@ -10923,54 +11578,86 @@ function genInlineTemplate (el, state) {
|
|
10923 |
if (process.env.NODE_ENV !== 'production' && (
|
10924 |
el.children.length !== 1 || ast.type !== 1
|
10925 |
)) {
|
10926 |
-
state.warn(
|
|
|
|
|
|
|
10927 |
}
|
10928 |
-
if (ast.type === 1) {
|
10929 |
var inlineRenderFns = generate(ast, state.options);
|
10930 |
return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}")
|
10931 |
}
|
10932 |
}
|
10933 |
|
10934 |
function genScopedSlots (
|
|
|
10935 |
slots,
|
10936 |
state
|
10937 |
) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10938 |
return ("scopedSlots:_u([" + (Object.keys(slots).map(function (key) {
|
10939 |
-
return genScopedSlot(
|
10940 |
-
}).join(',')) + "])")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10941 |
}
|
10942 |
|
10943 |
function genScopedSlot (
|
10944 |
-
key,
|
10945 |
el,
|
10946 |
state
|
10947 |
) {
|
|
|
|
|
|
|
|
|
10948 |
if (el.for && !el.forProcessed) {
|
10949 |
-
return
|
10950 |
}
|
10951 |
-
var
|
|
|
|
|
|
|
10952 |
"return " + (el.tag === 'template'
|
10953 |
-
? el.if
|
10954 |
? ("(" + (el.if) + ")?" + (genChildren(el, state) || 'undefined') + ":undefined")
|
10955 |
: genChildren(el, state) || 'undefined'
|
10956 |
: genElement(el, state)) + "}";
|
10957 |
-
|
10958 |
-
|
10959 |
-
|
10960 |
-
function genForScopedSlot (
|
10961 |
-
key,
|
10962 |
-
el,
|
10963 |
-
state
|
10964 |
-
) {
|
10965 |
-
var exp = el.for;
|
10966 |
-
var alias = el.alias;
|
10967 |
-
var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
|
10968 |
-
var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : '';
|
10969 |
-
el.forProcessed = true; // avoid recursion
|
10970 |
-
return "_l((" + exp + ")," +
|
10971 |
-
"function(" + alias + iterator1 + iterator2 + "){" +
|
10972 |
-
"return " + (genScopedSlot(key, el, state)) +
|
10973 |
-
'})'
|
10974 |
}
|
10975 |
|
10976 |
function genChildren (
|
@@ -11057,7 +11744,14 @@ function genSlot (el, state) {
|
|
11057 |
var slotName = el.slotName || '"default"';
|
11058 |
var children = genChildren(el, state);
|
11059 |
var res = "_t(" + slotName + (children ? ("," + children) : '');
|
11060 |
-
var attrs = el.attrs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11061 |
var bind$$1 = el.attrsMap['v-bind'];
|
11062 |
if ((attrs || bind$$1) && !children) {
|
11063 |
res += ",null";
|
@@ -11082,15 +11776,23 @@ function genComponent (
|
|
11082 |
}
|
11083 |
|
11084 |
function genProps (props) {
|
11085 |
-
var
|
|
|
11086 |
for (var i = 0; i < props.length; i++) {
|
11087 |
var prop = props[i];
|
11088 |
-
|
11089 |
-
{
|
11090 |
-
|
|
|
|
|
11091 |
}
|
11092 |
}
|
11093 |
-
|
|
|
|
|
|
|
|
|
|
|
11094 |
}
|
11095 |
|
11096 |
// #3895, #4268
|
@@ -11102,6 +11804,8 @@ function transformSpecialNewlines (text) {
|
|
11102 |
|
11103 |
/* */
|
11104 |
|
|
|
|
|
11105 |
// these keywords should not appear inside expressions, but operators like
|
11106 |
// typeof, instanceof and in are allowed
|
11107 |
var prohibitedKeywordRE = new RegExp('\\b' + (
|
@@ -11119,89 +11823,92 @@ var unaryOperatorsRE = new RegExp('\\b' + (
|
|
11119 |
var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;
|
11120 |
|
11121 |
// detect problematic expressions in a template
|
11122 |
-
function detectErrors (ast) {
|
11123 |
-
var errors = [];
|
11124 |
if (ast) {
|
11125 |
-
checkNode(ast,
|
11126 |
}
|
11127 |
-
return errors
|
11128 |
}
|
11129 |
|
11130 |
-
function checkNode (node,
|
11131 |
if (node.type === 1) {
|
11132 |
for (var name in node.attrsMap) {
|
11133 |
if (dirRE.test(name)) {
|
11134 |
var value = node.attrsMap[name];
|
11135 |
if (value) {
|
|
|
11136 |
if (name === 'v-for') {
|
11137 |
-
checkFor(node, ("v-for=\"" + value + "\""),
|
11138 |
} else if (onRE.test(name)) {
|
11139 |
-
checkEvent(value, (name + "=\"" + value + "\""),
|
11140 |
} else {
|
11141 |
-
checkExpression(value, (name + "=\"" + value + "\""),
|
11142 |
}
|
11143 |
}
|
11144 |
}
|
11145 |
}
|
11146 |
if (node.children) {
|
11147 |
for (var i = 0; i < node.children.length; i++) {
|
11148 |
-
checkNode(node.children[i],
|
11149 |
}
|
11150 |
}
|
11151 |
} else if (node.type === 2) {
|
11152 |
-
checkExpression(node.expression, node.text,
|
11153 |
}
|
11154 |
}
|
11155 |
|
11156 |
-
function checkEvent (exp, text,
|
11157 |
var stipped = exp.replace(stripStringRE, '');
|
11158 |
var keywordMatch = stipped.match(unaryOperatorsRE);
|
11159 |
if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {
|
11160 |
-
|
11161 |
"avoid using JavaScript unary operator as property name: " +
|
11162 |
-
"\"" + (keywordMatch[0]) + "\" in expression " + (text.trim())
|
|
|
11163 |
);
|
11164 |
}
|
11165 |
-
checkExpression(exp, text,
|
11166 |
}
|
11167 |
|
11168 |
-
function checkFor (node, text,
|
11169 |
-
checkExpression(node.for || '', text,
|
11170 |
-
checkIdentifier(node.alias, 'v-for alias', text,
|
11171 |
-
checkIdentifier(node.iterator1, 'v-for iterator', text,
|
11172 |
-
checkIdentifier(node.iterator2, 'v-for iterator', text,
|
11173 |
}
|
11174 |
|
11175 |
function checkIdentifier (
|
11176 |
ident,
|
11177 |
type,
|
11178 |
text,
|
11179 |
-
|
|
|
11180 |
) {
|
11181 |
if (typeof ident === 'string') {
|
11182 |
try {
|
11183 |
new Function(("var " + ident + "=_"));
|
11184 |
} catch (e) {
|
11185 |
-
|
11186 |
}
|
11187 |
}
|
11188 |
}
|
11189 |
|
11190 |
-
function checkExpression (exp, text,
|
11191 |
try {
|
11192 |
new Function(("return " + exp));
|
11193 |
} catch (e) {
|
11194 |
var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);
|
11195 |
if (keywordMatch) {
|
11196 |
-
|
11197 |
"avoid using JavaScript keyword as property name: " +
|
11198 |
-
"\"" + (keywordMatch[0]) + "\"\n Raw expression: " + (text.trim())
|
|
|
11199 |
);
|
11200 |
} else {
|
11201 |
-
|
11202 |
"invalid expression: " + (e.message) + " in\n\n" +
|
11203 |
" " + exp + "\n\n" +
|
11204 |
-
" Raw expression: " + (text.trim()) + "\n"
|
|
|
11205 |
);
|
11206 |
}
|
11207 |
}
|
@@ -11209,6 +11916,58 @@ function checkExpression (exp, text, errors) {
|
|
11209 |
|
11210 |
/* */
|
11211 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11212 |
|
11213 |
|
11214 |
function createFunction (code, errors) {
|
@@ -11264,14 +12023,28 @@ function createCompileToFunctionFn (compile) {
|
|
11264 |
// check compilation errors/tips
|
11265 |
if (process.env.NODE_ENV !== 'production') {
|
11266 |
if (compiled.errors && compiled.errors.length) {
|
11267 |
-
|
11268 |
-
|
11269 |
-
|
11270 |
-
|
11271 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11272 |
}
|
11273 |
if (compiled.tips && compiled.tips.length) {
|
11274 |
-
|
|
|
|
|
|
|
|
|
11275 |
}
|
11276 |
}
|
11277 |
|
@@ -11317,11 +12090,29 @@ function createCompilerCreator (baseCompile) {
|
|
11317 |
var finalOptions = Object.create(baseOptions);
|
11318 |
var errors = [];
|
11319 |
var tips = [];
|
11320 |
-
|
|
|
11321 |
(tip ? tips : errors).push(msg);
|
11322 |
};
|
11323 |
|
11324 |
if (options) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11325 |
// merge custom modules
|
11326 |
if (options.modules) {
|
11327 |
finalOptions.modules =
|
@@ -11342,9 +12133,11 @@ function createCompilerCreator (baseCompile) {
|
|
11342 |
}
|
11343 |
}
|
11344 |
|
11345 |
-
|
|
|
|
|
11346 |
if (process.env.NODE_ENV !== 'production') {
|
11347 |
-
|
11348 |
}
|
11349 |
compiled.errors = errors;
|
11350 |
compiled.tips = tips;
|
@@ -11456,6 +12249,7 @@ Vue.prototype.$mount = function (
|
|
11456 |
}
|
11457 |
|
11458 |
var ref = compileToFunctions(template, {
|
|
|
11459 |
shouldDecodeNewlines: shouldDecodeNewlines,
|
11460 |
shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,
|
11461 |
delimiters: options.delimiters,
|
@@ -13640,7 +14434,7 @@ exports = module.exports = __webpack_require__(0)();
|
|
13640 |
|
13641 |
|
13642 |
// module
|
13643 |
-
exports.push([module.i, "#optimole-app {\n padding: 0 30px 0 20px;\n /*! bulma.io v0.7.2 | MIT License | github.com/jgthms/bulma */\n /*! minireset.css v0.0.3 | MIT License | github.com/jgthms/minireset.css */ }\n\n@keyframes spinAround {\n from {\n transform: rotate(0deg); }\n to {\n transform: rotate(359deg); } }\n #optimole-app .delete, #optimole-app .modal-close, #optimole-app .is-unselectable, #optimole-app .button, #optimole-app .file, #optimole-app .breadcrumb, #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link,\n #optimole-app .pagination-ellipsis, #optimole-app .tabs {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n #optimole-app .select:not(.is-multiple):not(.is-loading)::after, #optimole-app .navbar-link:not(.is-arrowless)::after {\n border: 3px solid transparent;\n border-radius: 2px;\n border-right: 0;\n border-top: 0;\n content: \" \";\n display: block;\n height: 0.625em;\n margin-top: -0.4375em;\n pointer-events: none;\n position: absolute;\n top: 50%;\n transform: rotate(-45deg);\n transform-origin: center;\n width: 0.625em; }\n #optimole-app .box:not(:last-child), #optimole-app .content:not(:last-child), #optimole-app .notification:not(:last-child), #optimole-app .progress:not(:last-child), #optimole-app .table:not(:last-child), #optimole-app .table-container:not(:last-child), #optimole-app .title:not(:last-child),\n #optimole-app .subtitle:not(:last-child), #optimole-app .block:not(:last-child), #optimole-app .highlight:not(:last-child), #optimole-app .breadcrumb:not(:last-child), #optimole-app .level:not(:last-child), #optimole-app .list:not(:last-child), #optimole-app .message:not(:last-child), #optimole-app .tabs:not(:last-child) {\n margin-bottom: 1.5rem; }\n #optimole-app .delete, #optimole-app .modal-close {\n -moz-appearance: none;\n -webkit-appearance: none;\n background-color: rgba(10, 10, 10, 0.2);\n border: none;\n border-radius: 290486px;\n cursor: pointer;\n pointer-events: auto;\n display: inline-block;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n font-size: 0;\n height: 20px;\n max-height: 20px;\n max-width: 20px;\n min-height: 20px;\n min-width: 20px;\n outline: none;\n position: relative;\n vertical-align: top;\n width: 20px; }\n #optimole-app .delete::before, #optimole-app .modal-close::before, #optimole-app .delete::after, #optimole-app .modal-close::after {\n background-color: white;\n content: \"\";\n display: block;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translateX(-50%) translateY(-50%) rotate(45deg);\n transform-origin: center center; }\n #optimole-app .delete::before, #optimole-app .modal-close::before {\n height: 2px;\n width: 50%; }\n #optimole-app .delete::after, #optimole-app .modal-close::after {\n height: 50%;\n width: 2px; }\n #optimole-app .delete:hover, #optimole-app .modal-close:hover, #optimole-app .delete:focus, #optimole-app .modal-close:focus {\n background-color: rgba(10, 10, 10, 0.3); }\n #optimole-app .delete:active, #optimole-app .modal-close:active {\n background-color: rgba(10, 10, 10, 0.4); }\n #optimole-app .is-small.delete, #optimole-app .is-small.modal-close {\n height: 16px;\n max-height: 16px;\n max-width: 16px;\n min-height: 16px;\n min-width: 16px;\n width: 16px; }\n #optimole-app .is-medium.delete, #optimole-app .is-medium.modal-close {\n height: 24px;\n max-height: 24px;\n max-width: 24px;\n min-height: 24px;\n min-width: 24px;\n width: 24px; }\n #optimole-app .is-large.delete, #optimole-app .is-large.modal-close {\n height: 32px;\n max-height: 32px;\n max-width: 32px;\n min-height: 32px;\n min-width: 32px;\n width: 32px; }\n #optimole-app .button.is-loading::after, #optimole-app .select.is-loading::after, #optimole-app .control.is-loading::after, #optimole-app .loader {\n animation: spinAround 500ms infinite linear;\n border: 2px solid #dbdbdb;\n border-radius: 290486px;\n border-right-color: transparent;\n border-top-color: transparent;\n content: \"\";\n display: block;\n height: 1em;\n position: relative;\n width: 1em; }\n #optimole-app .is-overlay, #optimole-app .image.is-square img, #optimole-app .image.is-1by1 img, #optimole-app .image.is-5by4 img, #optimole-app .image.is-4by3 img, #optimole-app .image.is-3by2 img, #optimole-app .image.is-5by3 img, #optimole-app .image.is-16by9 img, #optimole-app .image.is-2by1 img, #optimole-app .image.is-3by1 img, #optimole-app .image.is-4by5 img, #optimole-app .image.is-3by4 img, #optimole-app .image.is-2by3 img, #optimole-app .image.is-3by5 img, #optimole-app .image.is-9by16 img, #optimole-app .image.is-1by2 img, #optimole-app .image.is-1by3 img, #optimole-app .modal, #optimole-app .modal-background, #optimole-app .hero-video {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0; }\n #optimole-app .button, #optimole-app .input,\n #optimole-app .textarea, #optimole-app .select select, #optimole-app .file-cta,\n #optimole-app .file-name, #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link,\n #optimole-app .pagination-ellipsis {\n -moz-appearance: none;\n -webkit-appearance: none;\n -ms-flex-align: center;\n align-items: center;\n border: 1px solid transparent;\n border-radius: 4px;\n box-shadow: none;\n display: -ms-inline-flexbox;\n display: inline-flex;\n font-size: 1rem;\n height: 2.25em;\n -ms-flex-pack: start;\n justify-content: flex-start;\n line-height: 1.5;\n padding-bottom: calc(0.375em - 1px);\n padding-left: calc(0.625em - 1px);\n padding-right: calc(0.625em - 1px);\n padding-top: calc(0.375em - 1px);\n position: relative;\n vertical-align: top; }\n #optimole-app .button:focus, #optimole-app .input:focus,\n #optimole-app .textarea:focus, #optimole-app .select select:focus, #optimole-app .file-cta:focus,\n #optimole-app .file-name:focus, #optimole-app .pagination-previous:focus,\n #optimole-app .pagination-next:focus,\n #optimole-app .pagination-link:focus,\n #optimole-app .pagination-ellipsis:focus, #optimole-app .is-focused.button, #optimole-app .is-focused.input,\n #optimole-app .is-focused.textarea, #optimole-app .select select.is-focused, #optimole-app .is-focused.file-cta,\n #optimole-app .is-focused.file-name, #optimole-app .is-focused.pagination-previous,\n #optimole-app .is-focused.pagination-next,\n #optimole-app .is-focused.pagination-link,\n #optimole-app .is-focused.pagination-ellipsis, #optimole-app .button:active, #optimole-app .input:active,\n #optimole-app .textarea:active, #optimole-app .select select:active, #optimole-app .file-cta:active,\n #optimole-app .file-name:active, #optimole-app .pagination-previous:active,\n #optimole-app .pagination-next:active,\n #optimole-app .pagination-link:active,\n #optimole-app .pagination-ellipsis:active, #optimole-app .is-active.button, #optimole-app .is-active.input,\n #optimole-app .is-active.textarea, #optimole-app .select select.is-active, #optimole-app .is-active.file-cta,\n #optimole-app .is-active.file-name, #optimole-app .is-active.pagination-previous,\n #optimole-app .is-active.pagination-next,\n #optimole-app .is-active.pagination-link,\n #optimole-app .is-active.pagination-ellipsis {\n outline: none; }\n #optimole-app .button[disabled], #optimole-app .input[disabled],\n #optimole-app .textarea[disabled], #optimole-app .select select[disabled], #optimole-app .file-cta[disabled],\n #optimole-app .file-name[disabled], #optimole-app .pagination-previous[disabled],\n #optimole-app .pagination-next[disabled],\n #optimole-app .pagination-link[disabled],\n #optimole-app .pagination-ellipsis[disabled] {\n cursor: not-allowed; }\n #optimole-app html,\n #optimole-app body,\n #optimole-app p,\n #optimole-app ol,\n #optimole-app ul,\n #optimole-app li,\n #optimole-app dl,\n #optimole-app dt,\n #optimole-app dd,\n #optimole-app blockquote,\n #optimole-app figure,\n #optimole-app fieldset,\n #optimole-app legend,\n #optimole-app textarea,\n #optimole-app pre,\n #optimole-app iframe,\n #optimole-app hr,\n #optimole-app h1,\n #optimole-app h2,\n #optimole-app h3,\n #optimole-app h4,\n #optimole-app h5,\n #optimole-app h6 {\n margin: 0;\n padding: 0; }\n #optimole-app h1,\n #optimole-app h2,\n #optimole-app h3,\n #optimole-app h4,\n #optimole-app h5,\n #optimole-app h6 {\n font-size: 100%;\n font-weight: normal; }\n #optimole-app ul {\n list-style: none; }\n #optimole-app button,\n #optimole-app input,\n #optimole-app select,\n #optimole-app textarea {\n margin: 0; }\n #optimole-app html {\n box-sizing: border-box; }\n #optimole-app *, #optimole-app *::before, #optimole-app *::after {\n box-sizing: inherit; }\n #optimole-app img,\n #optimole-app audio,\n #optimole-app video {\n height: auto;\n max-width: 100%; }\n #optimole-app iframe {\n border: 0; }\n #optimole-app table {\n border-collapse: collapse;\n border-spacing: 0; }\n #optimole-app td,\n #optimole-app th {\n padding: 0;\n text-align: left; }\n #optimole-app html {\n background-color: white;\n font-size: 16px;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n min-width: 300px;\n overflow-x: hidden;\n overflow-y: scroll;\n text-rendering: optimizeLegibility;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n text-size-adjust: 100%; }\n #optimole-app article,\n #optimole-app aside,\n #optimole-app figure,\n #optimole-app footer,\n #optimole-app header,\n #optimole-app hgroup,\n #optimole-app section {\n display: block; }\n #optimole-app body,\n #optimole-app button,\n #optimole-app input,\n #optimole-app select,\n #optimole-app textarea {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif; }\n #optimole-app code,\n #optimole-app pre {\n -moz-osx-font-smoothing: auto;\n -webkit-font-smoothing: auto;\n font-family: monospace; }\n #optimole-app body {\n color: #4a4a4a;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5; }\n #optimole-app a {\n color: #3273dc;\n cursor: pointer;\n text-decoration: none; }\n #optimole-app a strong {\n color: currentColor; }\n #optimole-app a:hover {\n color: #363636; }\n #optimole-app code {\n background-color: whitesmoke;\n color: #ff3860;\n font-size: 0.875em;\n font-weight: normal;\n padding: 0.25em 0.5em 0.25em; }\n #optimole-app hr {\n background-color: whitesmoke;\n border: none;\n display: block;\n height: 2px;\n margin: 1.5rem 0; }\n #optimole-app img {\n height: auto;\n max-width: 100%; }\n #optimole-app input[type=\"checkbox\"],\n #optimole-app input[type=\"radio\"] {\n vertical-align: baseline; }\n #optimole-app small {\n font-size: 0.875em; }\n #optimole-app span {\n font-style: inherit;\n font-weight: inherit; }\n #optimole-app strong {\n color: #363636;\n font-weight: 700; }\n #optimole-app pre {\n -webkit-overflow-scrolling: touch;\n background-color: whitesmoke;\n color: #4a4a4a;\n font-size: 0.875em;\n overflow-x: auto;\n padding: 1.25rem 1.5rem;\n white-space: pre;\n word-wrap: normal; }\n #optimole-app pre code {\n background-color: transparent;\n color: currentColor;\n font-size: 1em;\n padding: 0; }\n #optimole-app table td,\n #optimole-app table th {\n text-align: left;\n vertical-align: top; }\n #optimole-app table th {\n color: #363636; }\n #optimole-app .is-clearfix::after {\n clear: both;\n content: \" \";\n display: table; }\n #optimole-app .is-pulled-left {\n float: left !important; }\n #optimole-app .is-pulled-right {\n float: right !important; }\n #optimole-app .is-clipped {\n overflow: hidden !important; }\n #optimole-app .is-size-1 {\n font-size: 3rem !important; }\n #optimole-app .is-size-2 {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3 {\n font-size: 2rem !important; }\n #optimole-app .is-size-4 {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5 {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6 {\n font-size: 1rem !important; }\n #optimole-app .is-size-7 {\n font-size: 0.75rem !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-size-1-mobile {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-mobile {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-mobile {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-mobile {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-mobile {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-mobile {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-mobile {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-size-1-tablet {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-tablet {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-tablet {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-tablet {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-tablet {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-tablet {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-tablet {\n font-size: 0.75rem !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-size-1-touch {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-touch {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-touch {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-touch {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-touch {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-touch {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-touch {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-size-1-desktop {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-desktop {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-desktop {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-desktop {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-desktop {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-desktop {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-desktop {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-size-1-widescreen {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-widescreen {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-widescreen {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-widescreen {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-widescreen {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-widescreen {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-widescreen {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-size-1-fullhd {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-fullhd {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-fullhd {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-fullhd {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-fullhd {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-fullhd {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-fullhd {\n font-size: 0.75rem !important; } }\n #optimole-app .has-text-centered {\n text-align: center !important; }\n #optimole-app .has-text-justified {\n text-align: justify !important; }\n #optimole-app .has-text-left {\n text-align: left !important; }\n #optimole-app .has-text-right {\n text-align: right !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-centered-mobile {\n text-align: center !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-centered-tablet {\n text-align: center !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-centered-tablet-only {\n text-align: center !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-centered-touch {\n text-align: center !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-centered-desktop {\n text-align: center !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-centered-desktop-only {\n text-align: center !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-centered-widescreen {\n text-align: center !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-centered-widescreen-only {\n text-align: center !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-centered-fullhd {\n text-align: center !important; } }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-justified-mobile {\n text-align: justify !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-justified-tablet {\n text-align: justify !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-justified-tablet-only {\n text-align: justify !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-justified-touch {\n text-align: justify !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-justified-desktop {\n text-align: justify !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-justified-desktop-only {\n text-align: justify !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-justified-widescreen {\n text-align: justify !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-justified-widescreen-only {\n text-align: justify !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-justified-fullhd {\n text-align: justify !important; } }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-left-mobile {\n text-align: left !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-left-tablet {\n text-align: left !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-left-tablet-only {\n text-align: left !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-left-touch {\n text-align: left !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-left-desktop {\n text-align: left !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-left-desktop-only {\n text-align: left !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-left-widescreen {\n text-align: left !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-left-widescreen-only {\n text-align: left !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-left-fullhd {\n text-align: left !important; } }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-right-mobile {\n text-align: right !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-right-tablet {\n text-align: right !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-right-tablet-only {\n text-align: right !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-right-touch {\n text-align: right !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-right-desktop {\n text-align: right !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-right-desktop-only {\n text-align: right !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-right-widescreen {\n text-align: right !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-right-widescreen-only {\n text-align: right !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-right-fullhd {\n text-align: right !important; } }\n #optimole-app .is-capitalized {\n text-transform: capitalize !important; }\n #optimole-app .is-lowercase {\n text-transform: lowercase !important; }\n #optimole-app .is-uppercase {\n text-transform: uppercase !important; }\n #optimole-app .is-italic {\n font-style: italic !important; }\n #optimole-app .has-text-white {\n color: white !important; }\n #optimole-app a.has-text-white:hover, #optimole-app a.has-text-white:focus {\n color: #e6e6e6 !important; }\n #optimole-app .has-background-white {\n background-color: white !important; }\n #optimole-app .has-text-black {\n color: #0a0a0a !important; }\n #optimole-app a.has-text-black:hover, #optimole-app a.has-text-black:focus {\n color: black !important; }\n #optimole-app .has-background-black {\n background-color: #0a0a0a !important; }\n #optimole-app .has-text-light {\n color: whitesmoke !important; }\n #optimole-app a.has-text-light:hover, #optimole-app a.has-text-light:focus {\n color: #dbdbdb !important; }\n #optimole-app .has-background-light {\n background-color: whitesmoke !important; }\n #optimole-app .has-text-dark {\n color: #363636 !important; }\n #optimole-app a.has-text-dark:hover, #optimole-app a.has-text-dark:focus {\n color: #1c1c1c !important; }\n #optimole-app .has-background-dark {\n background-color: #363636 !important; }\n #optimole-app .has-text-primary {\n color: #EF686B !important; }\n #optimole-app a.has-text-primary:hover, #optimole-app a.has-text-primary:focus {\n color: #ea3a3e !important; }\n #optimole-app .has-background-primary {\n background-color: #EF686B !important; }\n #optimole-app .has-text-link {\n color: #3273dc !important; }\n #optimole-app a.has-text-link:hover, #optimole-app a.has-text-link:focus {\n color: #205bbc !important; }\n #optimole-app .has-background-link {\n background-color: #3273dc !important; }\n #optimole-app .has-text-info {\n color: #5180C1 !important; }\n #optimole-app a.has-text-info:hover, #optimole-app a.has-text-info:focus {\n color: #3b67a4 !important; }\n #optimole-app .has-background-info {\n background-color: #5180C1 !important; }\n #optimole-app .has-text-success {\n color: #34a85e !important; }\n #optimole-app a.has-text-success:hover, #optimole-app a.has-text-success:focus {\n color: #288148 !important; }\n #optimole-app .has-background-success {\n background-color: #34a85e !important; }\n #optimole-app .has-text-warning {\n color: #ffdd57 !important; }\n #optimole-app a.has-text-warning:hover, #optimole-app a.has-text-warning:focus {\n color: #ffd324 !important; }\n #optimole-app .has-background-warning {\n background-color: #ffdd57 !important; }\n #optimole-app .has-text-danger {\n color: #D54222 !important; }\n #optimole-app a.has-text-danger:hover, #optimole-app a.has-text-danger:focus {\n color: #a9341b !important; }\n #optimole-app .has-background-danger {\n background-color: #D54222 !important; }\n #optimole-app .has-text-black-bis {\n color: #121212 !important; }\n #optimole-app .has-background-black-bis {\n background-color: #121212 !important; }\n #optimole-app .has-text-black-ter {\n color: #242424 !important; }\n #optimole-app .has-background-black-ter {\n background-color: #242424 !important; }\n #optimole-app .has-text-grey-darker {\n color: #363636 !important; }\n #optimole-app .has-background-grey-darker {\n background-color: #363636 !important; }\n #optimole-app .has-text-grey-dark {\n color: #4a4a4a !important; }\n #optimole-app .has-background-grey-dark {\n background-color: #4a4a4a !important; }\n #optimole-app .has-text-grey {\n color: #7a7a7a !important; }\n #optimole-app .has-background-grey {\n background-color: #7a7a7a !important; }\n #optimole-app .has-text-grey-light {\n color: #b5b5b5 !important; }\n #optimole-app .has-background-grey-light {\n background-color: #b5b5b5 !important; }\n #optimole-app .has-text-grey-lighter {\n color: #dbdbdb !important; }\n #optimole-app .has-background-grey-lighter {\n background-color: #dbdbdb !important; }\n #optimole-app .has-text-white-ter {\n color: whitesmoke !important; }\n #optimole-app .has-background-white-ter {\n background-color: whitesmoke !important; }\n #optimole-app .has-text-white-bis {\n color: #fafafa !important; }\n #optimole-app .has-background-white-bis {\n background-color: #fafafa !important; }\n #optimole-app .has-text-weight-light {\n font-weight: 300 !important; }\n #optimole-app .has-text-weight-normal {\n font-weight: 400 !important; }\n #optimole-app .has-text-weight-semibold {\n font-weight: 600 !important; }\n #optimole-app .has-text-weight-bold {\n font-weight: 700 !important; }\n #optimole-app .is-block {\n display: block !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-block-mobile {\n display: block !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-block-tablet {\n display: block !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-block-tablet-only {\n display: block !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-block-touch {\n display: block !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-block-desktop {\n display: block !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-block-desktop-only {\n display: block !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-block-widescreen {\n display: block !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-block-widescreen-only {\n display: block !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-block-fullhd {\n display: block !important; } }\n #optimole-app .is-flex {\n display: -ms-flexbox !important;\n display: flex !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-flex-mobile {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-flex-tablet {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-flex-tablet-only {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-flex-touch {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-flex-desktop {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-flex-desktop-only {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-flex-widescreen {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-flex-widescreen-only {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-flex-fullhd {\n display: -ms-flexbox !important;\n display: flex !important; } }\n #optimole-app .is-inline {\n display: inline !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-inline-mobile {\n display: inline !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-inline-tablet {\n display: inline !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-inline-tablet-only {\n display: inline !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-inline-touch {\n display: inline !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-inline-desktop {\n display: inline !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-inline-desktop-only {\n display: inline !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-inline-widescreen {\n display: inline !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-inline-widescreen-only {\n display: inline !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-inline-fullhd {\n display: inline !important; } }\n #optimole-app .is-inline-block {\n display: inline-block !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-inline-block-mobile {\n display: inline-block !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-inline-block-tablet {\n display: inline-block !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-inline-block-tablet-only {\n display: inline-block !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-inline-block-touch {\n display: inline-block !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-inline-block-desktop {\n display: inline-block !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-inline-block-desktop-only {\n display: inline-block !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-inline-block-widescreen {\n display: inline-block !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-inline-block-widescreen-only {\n display: inline-block !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-inline-block-fullhd {\n display: inline-block !important; } }\n #optimole-app .is-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-inline-flex-mobile {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-inline-flex-tablet {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-inline-flex-tablet-only {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-inline-flex-touch {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-inline-flex-desktop {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-inline-flex-desktop-only {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-inline-flex-widescreen {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-inline-flex-widescreen-only {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-inline-flex-fullhd {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n #optimole-app .is-hidden {\n display: none !important; }\n #optimole-app .is-sr-only {\n border: none !important;\n clip: rect(0, 0, 0, 0) !important;\n height: 0.01em !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n white-space: nowrap !important;\n width: 0.01em !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-hidden-mobile {\n display: none !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-hidden-tablet {\n display: none !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-hidden-tablet-only {\n display: none !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-hidden-touch {\n display: none !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-hidden-desktop {\n display: none !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-hidden-desktop-only {\n display: none !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-hidden-widescreen {\n display: none !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-hidden-widescreen-only {\n display: none !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-hidden-fullhd {\n display: none !important; } }\n #optimole-app .is-invisible {\n visibility: hidden !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-invisible-mobile {\n visibility: hidden !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-invisible-tablet {\n visibility: hidden !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-invisible-tablet-only {\n visibility: hidden !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-invisible-touch {\n visibility: hidden !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-invisible-desktop {\n visibility: hidden !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-invisible-desktop-only {\n visibility: hidden !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-invisible-widescreen {\n visibility: hidden !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-invisible-widescreen-only {\n visibility: hidden !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-invisible-fullhd {\n visibility: hidden !important; } }\n #optimole-app .is-marginless {\n margin: 0 !important; }\n #optimole-app .is-paddingless {\n padding: 0 !important; }\n #optimole-app .is-radiusless {\n border-radius: 0 !important; }\n #optimole-app .is-shadowless {\n box-shadow: none !important; }\n #optimole-app .box {\n background-color: white;\n border-radius: 6px;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n color: #4a4a4a;\n display: block;\n padding: 1.25rem; }\n #optimole-app a.box:hover, #optimole-app a.box:focus {\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #3273dc; }\n #optimole-app a.box:active {\n box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #3273dc; }\n #optimole-app .button {\n background-color: white;\n border-color: #dbdbdb;\n border-width: 1px;\n color: #363636;\n cursor: pointer;\n -ms-flex-pack: center;\n justify-content: center;\n padding-bottom: calc(0.375em - 1px);\n padding-left: 0.75em;\n padding-right: 0.75em;\n padding-top: calc(0.375em - 1px);\n text-align: center;\n white-space: nowrap; }\n #optimole-app .button strong {\n color: inherit; }\n #optimole-app .button .icon, #optimole-app .button .icon.is-small, #optimole-app .button .icon.is-medium, #optimole-app .button .icon.is-large {\n height: 1.5em;\n width: 1.5em; }\n #optimole-app .button .icon:first-child:not(:last-child) {\n margin-left: calc(-0.375em - 1px);\n margin-right: 0.1875em; }\n #optimole-app .button .icon:last-child:not(:first-child) {\n margin-left: 0.1875em;\n margin-right: calc(-0.375em - 1px); }\n #optimole-app .button .icon:first-child:last-child {\n margin-left: calc(-0.375em - 1px);\n margin-right: calc(-0.375em - 1px); }\n #optimole-app .button:hover, #optimole-app .button.is-hovered {\n border-color: #b5b5b5;\n color: #363636; }\n #optimole-app .button:focus, #optimole-app .button.is-focused {\n border-color: #3273dc;\n color: #363636; }\n #optimole-app .button:focus:not(:active), #optimole-app .button.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .button:active, #optimole-app .button.is-active {\n border-color: #4a4a4a;\n color: #363636; }\n #optimole-app .button.is-text {\n background-color: transparent;\n border-color: transparent;\n color: #4a4a4a;\n text-decoration: underline; }\n #optimole-app .button.is-text:hover, #optimole-app .button.is-text.is-hovered, #optimole-app .button.is-text:focus, #optimole-app .button.is-text.is-focused {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-text:active, #optimole-app .button.is-text.is-active {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .button.is-text[disabled] {\n background-color: transparent;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-white {\n background-color: white;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white:hover, #optimole-app .button.is-white.is-hovered {\n background-color: #f9f9f9;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white:focus, #optimole-app .button.is-white.is-focused {\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white:focus:not(:active), #optimole-app .button.is-white.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }\n #optimole-app .button.is-white:active, #optimole-app .button.is-white.is-active {\n background-color: #f2f2f2;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white[disabled] {\n background-color: white;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-white.is-inverted {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .button.is-white.is-inverted:hover {\n background-color: black; }\n #optimole-app .button.is-white.is-inverted[disabled] {\n background-color: #0a0a0a;\n border-color: transparent;\n box-shadow: none;\n color: white; }\n #optimole-app .button.is-white.is-loading::after {\n border-color: transparent transparent #0a0a0a #0a0a0a !important; }\n #optimole-app .button.is-white.is-outlined {\n background-color: transparent;\n border-color: white;\n color: white; }\n #optimole-app .button.is-white.is-outlined:hover, #optimole-app .button.is-white.is-outlined:focus {\n background-color: white;\n border-color: white;\n color: #0a0a0a; }\n #optimole-app .button.is-white.is-outlined.is-loading::after {\n border-color: transparent transparent white white !important; }\n #optimole-app .button.is-white.is-outlined[disabled] {\n background-color: transparent;\n border-color: white;\n box-shadow: none;\n color: white; }\n #optimole-app .button.is-white.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #0a0a0a;\n color: #0a0a0a; }\n #optimole-app .button.is-white.is-inverted.is-outlined:hover, #optimole-app .button.is-white.is-inverted.is-outlined:focus {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .button.is-white.is-inverted.is-outlined[disabled] {\n background-color: transparent;\n border-color: #0a0a0a;\n box-shadow: none;\n color: #0a0a0a; }\n #optimole-app .button.is-black {\n background-color: #0a0a0a;\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black:hover, #optimole-app .button.is-black.is-hovered {\n background-color: #040404;\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black:focus, #optimole-app .button.is-black.is-focused {\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black:focus:not(:active), #optimole-app .button.is-black.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }\n #optimole-app .button.is-black:active, #optimole-app .button.is-black.is-active {\n background-color: black;\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black[disabled] {\n background-color: #0a0a0a;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-black.is-inverted {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-black.is-inverted[disabled] {\n background-color: white;\n border-color: transparent;\n box-shadow: none;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-loading::after {\n border-color: transparent transparent white white !important; }\n #optimole-app .button.is-black.is-outlined {\n background-color: transparent;\n border-color: #0a0a0a;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-outlined:hover, #optimole-app .button.is-black.is-outlined:focus {\n background-color: #0a0a0a;\n border-color: #0a0a0a;\n color: white; }\n #optimole-app .button.is-black.is-outlined.is-loading::after {\n border-color: transparent transparent #0a0a0a #0a0a0a !important; }\n #optimole-app .button.is-black.is-outlined[disabled] {\n background-color: transparent;\n border-color: #0a0a0a;\n box-shadow: none;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-inverted.is-outlined {\n background-color: transparent;\n border-color: white;\n color: white; }\n #optimole-app .button.is-black.is-inverted.is-outlined:hover, #optimole-app .button.is-black.is-inverted.is-outlined:focus {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-inverted.is-outlined[disabled] {\n background-color: transparent;\n border-color: white;\n box-shadow: none;\n color: white; }\n #optimole-app .button.is-light {\n background-color: whitesmoke;\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light:hover, #optimole-app .button.is-light.is-hovered {\n background-color: #eeeeee;\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light:focus, #optimole-app .button.is-light.is-focused {\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light:focus:not(:active), #optimole-app .button.is-light.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }\n #optimole-app .button.is-light:active, #optimole-app .button.is-light.is-active {\n background-color: #e8e8e8;\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light[disabled] {\n background-color: whitesmoke;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-light.is-inverted {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-inverted:hover {\n background-color: #292929; }\n #optimole-app .button.is-light.is-inverted[disabled] {\n background-color: #363636;\n border-color: transparent;\n box-shadow: none;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-loading::after {\n border-color: transparent transparent #363636 #363636 !important; }\n #optimole-app .button.is-light.is-outlined {\n background-color: transparent;\n border-color: whitesmoke;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-outlined:hover, #optimole-app .button.is-light.is-outlined:focus {\n background-color: whitesmoke;\n border-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-light.is-outlined.is-loading::after {\n border-color: transparent transparent whitesmoke whitesmoke !important; }\n #optimole-app .button.is-light.is-outlined[disabled] {\n background-color: transparent;\n border-color: whitesmoke;\n box-shadow: none;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #363636;\n color: #363636; }\n #optimole-app .button.is-light.is-inverted.is-outlined:hover, #optimole-app .button.is-light.is-inverted.is-outlined:focus {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-inverted.is-outlined[disabled] {\n background-color: transparent;\n border-color: #363636;\n box-shadow: none;\n color: #363636; }\n #optimole-app .button.is-dark {\n background-color: #363636;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark:hover, #optimole-app .button.is-dark.is-hovered {\n background-color: #2f2f2f;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark:focus, #optimole-app .button.is-dark.is-focused {\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark:focus:not(:active), #optimole-app .button.is-dark.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }\n #optimole-app .button.is-dark:active, #optimole-app .button.is-dark.is-active {\n background-color: #292929;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark[disabled] {\n background-color: #363636;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-dark.is-inverted {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-dark.is-inverted:hover {\n background-color: #e8e8e8; }\n #optimole-app .button.is-dark.is-inverted[disabled] {\n background-color: whitesmoke;\n border-color: transparent;\n box-shadow: none;\n color: #363636; }\n #optimole-app .button.is-dark.is-loading::after {\n border-color: transparent transparent whitesmoke whitesmoke !important; }\n #optimole-app .button.is-dark.is-outlined {\n background-color: transparent;\n border-color: #363636;\n color: #363636; }\n #optimole-app .button.is-dark.is-outlined:hover, #optimole-app .button.is-dark.is-outlined:focus {\n background-color: #363636;\n border-color: #363636;\n color: whitesmoke; }\n #optimole-app .button.is-dark.is-outlined.is-loading::after {\n border-color: transparent transparent #363636 #363636 !important; }\n #optimole-app .button.is-dark.is-outlined[disabled] {\n background-color: transparent;\n border-color: #363636;\n box-shadow: none;\n color: #363636; }\n #optimole-app .button.is-dark.is-inverted.is-outlined {\n background-color: transparent;\n border-color: whitesmoke;\n color: whitesmoke; }\n #optimole-app .button.is-dark.is-inverted.is-outlined:hover, #optimole-app .button.is-dark.is-inverted.is-outlined:focus {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-dark.is-inverted.is-outlined[disabled] {\n background-color: transparent;\n border-color: whitesmoke;\n box-shadow: none;\n color: whitesmoke; }\n #optimole-app .button.is-primary {\n background-color: #EF686B;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary:hover, #optimole-app .button.is-primary.is-hovered {\n background-color: #ee5c60;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary:focus, #optimole-app .button.is-primary.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary:focus:not(:active), #optimole-app .button.is-primary.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(239, 104, 107, 0.25); }\n #optimole-app .button.is-primary:active, #optimole-app .button.is-primary.is-active {\n background-color: #ed5154;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary[disabled] {\n background-color: #EF686B;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-primary.is-inverted {\n background-color: #fff;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-primary.is-inverted[disabled] {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-primary.is-outlined {\n background-color: transparent;\n border-color: #EF686B;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-outlined:hover, #optimole-app .button.is-primary.is-outlined:focus {\n background-color: #EF686B;\n border-color: #EF686B;\n color: #fff; }\n #optimole-app .button.is-primary.is-outlined.is-loading::after {\n border-color: transparent transparent #EF686B #EF686B !important; }\n #optimole-app .button.is-primary.is-outlined[disabled] {\n background-color: transparent;\n border-color: #EF686B;\n box-shadow: none;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-primary.is-inverted.is-outlined:hover, #optimole-app .button.is-primary.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-inverted.is-outlined[disabled] {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-link {\n background-color: #3273dc;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link:hover, #optimole-app .button.is-link.is-hovered {\n background-color: #276cda;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link:focus, #optimole-app .button.is-link.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link:focus:not(:active), #optimole-app .button.is-link.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .button.is-link:active, #optimole-app .button.is-link.is-active {\n background-color: #2366d1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link[disabled] {\n background-color: #3273dc;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-link.is-inverted {\n background-color: #fff;\n color: #3273dc; }\n #optimole-app .button.is-link.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-link.is-inverted[disabled] {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #3273dc; }\n #optimole-app .button.is-link.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-link.is-outlined {\n background-color: transparent;\n border-color: #3273dc;\n color: #3273dc; }\n #optimole-app .button.is-link.is-outlined:hover, #optimole-app .button.is-link.is-outlined:focus {\n background-color: #3273dc;\n border-color: #3273dc;\n color: #fff; }\n #optimole-app .button.is-link.is-outlined.is-loading::after {\n border-color: transparent transparent #3273dc #3273dc !important; }\n #optimole-app .button.is-link.is-outlined[disabled] {\n background-color: transparent;\n border-color: #3273dc;\n box-shadow: none;\n color: #3273dc; }\n #optimole-app .button.is-link.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-link.is-inverted.is-outlined:hover, #optimole-app .button.is-link.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #3273dc; }\n #optimole-app .button.is-link.is-inverted.is-outlined[disabled] {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-info {\n background-color: #5180C1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info:hover, #optimole-app .button.is-info.is-hovered {\n background-color: #4879be;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info:focus, #optimole-app .button.is-info.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info:focus:not(:active), #optimole-app .button.is-info.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(81, 128, 193, 0.25); }\n #optimole-app .button.is-info:active, #optimole-app .button.is-info.is-active {\n background-color: #4173b7;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info[disabled] {\n background-color: #5180C1;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-info.is-inverted {\n background-color: #fff;\n color: #5180C1; }\n #optimole-app .button.is-info.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-info.is-inverted[disabled] {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #5180C1; }\n #optimole-app .button.is-info.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-info.is-outlined {\n background-color: transparent;\n border-color: #5180C1;\n color: #5180C1; }\n #optimole-app .button.is-info.is-outlined:hover, #optimole-app .button.is-info.is-outlined:focus {\n background-color: #5180C1;\n border-color: #5180C1;\n color: #fff; }\n #optimole-app .button.is-info.is-outlined.is-loading::after {\n border-color: transparent transparent #5180C1 #5180C1 !important; }\n #optimole-app .button.is-info.is-outlined[disabled] {\n background-color: transparent;\n border-color: #5180C1;\n box-shadow: none;\n color: #5180C1; }\n #optimole-app .button.is-info.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-info.is-inverted.is-outlined:hover, #optimole-app .button.is-info.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #5180C1; }\n #optimole-app .button.is-info.is-inverted.is-outlined[disabled] {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-success {\n background-color: #34a85e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success:hover, #optimole-app .button.is-success.is-hovered {\n background-color: #319e59;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success:focus, #optimole-app .button.is-success.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success:focus:not(:active), #optimole-app .button.is-success.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(52, 168, 94, 0.25); }\n #optimole-app .button.is-success:active, #optimole-app .button.is-success.is-active {\n background-color: #2e9553;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success[disabled] {\n background-color: #34a85e;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-success.is-inverted {\n background-color: #fff;\n color: #34a85e; }\n #optimole-app .button.is-success.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-success.is-inverted[disabled] {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #34a85e; }\n #optimole-app .button.is-success.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-success.is-outlined {\n background-color: transparent;\n border-color: #34a85e;\n color: #34a85e; }\n #optimole-app .button.is-success.is-outlined:hover, #optimole-app .button.is-success.is-outlined:focus {\n background-color: #34a85e;\n border-color: #34a85e;\n color: #fff; }\n #optimole-app .button.is-success.is-outlined.is-loading::after {\n border-color: transparent transparent #34a85e #34a85e !important; }\n #optimole-app .button.is-success.is-outlined[disabled] {\n background-color: transparent;\n border-color: #34a85e;\n box-shadow: none;\n color: #34a85e; }\n #optimole-app .button.is-success.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-success.is-inverted.is-outlined:hover, #optimole-app .button.is-success.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #34a85e; }\n #optimole-app .button.is-success.is-inverted.is-outlined[disabled] {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-warning {\n background-color: #ffdd57;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning:hover, #optimole-app .button.is-warning.is-hovered {\n background-color: #ffdb4a;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning:focus, #optimole-app .button.is-warning.is-focused {\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning:focus:not(:active), #optimole-app .button.is-warning.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }\n #optimole-app .button.is-warning:active, #optimole-app .button.is-warning.is-active {\n background-color: #ffd83d;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning[disabled] {\n background-color: #ffdd57;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-warning.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-inverted:hover {\n background-color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning.is-inverted[disabled] {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: transparent;\n box-shadow: none;\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-loading::after {\n border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }\n #optimole-app .button.is-warning.is-outlined {\n background-color: transparent;\n border-color: #ffdd57;\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-outlined:hover, #optimole-app .button.is-warning.is-outlined:focus {\n background-color: #ffdd57;\n border-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning.is-outlined.is-loading::after {\n border-color: transparent transparent #ffdd57 #ffdd57 !important; }\n #optimole-app .button.is-warning.is-outlined[disabled] {\n background-color: transparent;\n border-color: #ffdd57;\n box-shadow: none;\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning.is-inverted.is-outlined:hover, #optimole-app .button.is-warning.is-inverted.is-outlined:focus {\n background-color: rgba(0, 0, 0, 0.7);\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-inverted.is-outlined[disabled] {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n box-shadow: none;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-danger {\n background-color: #D54222;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger:hover, #optimole-app .button.is-danger.is-hovered {\n background-color: #ca3f20;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger:focus, #optimole-app .button.is-danger.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger:focus:not(:active), #optimole-app .button.is-danger.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(213, 66, 34, 0.25); }\n #optimole-app .button.is-danger:active, #optimole-app .button.is-danger.is-active {\n background-color: #bf3b1e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger[disabled] {\n background-color: #D54222;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-danger.is-inverted {\n background-color: #fff;\n color: #D54222; }\n #optimole-app .button.is-danger.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-danger.is-inverted[disabled] {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #D54222; }\n #optimole-app .button.is-danger.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-danger.is-outlined {\n background-color: transparent;\n border-color: #D54222;\n color: #D54222; }\n #optimole-app .button.is-danger.is-outlined:hover, #optimole-app .button.is-danger.is-outlined:focus {\n background-color: #D54222;\n border-color: #D54222;\n color: #fff; }\n #optimole-app .button.is-danger.is-outlined.is-loading::after {\n border-color: transparent transparent #D54222 #D54222 !important; }\n #optimole-app .button.is-danger.is-outlined[disabled] {\n background-color: transparent;\n border-color: #D54222;\n box-shadow: none;\n color: #D54222; }\n #optimole-app .button.is-danger.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-danger.is-inverted.is-outlined:hover, #optimole-app .button.is-danger.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #D54222; }\n #optimole-app .button.is-danger.is-inverted.is-outlined[disabled] {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-small {\n border-radius: 2px;\n font-size: 0.75rem; }\n #optimole-app .button.is-medium {\n font-size: 1.25rem; }\n #optimole-app .button.is-large {\n font-size: 1.5rem; }\n #optimole-app .button[disabled] {\n background-color: white;\n border-color: #dbdbdb;\n box-shadow: none;\n opacity: 0.5; }\n #optimole-app .button.is-fullwidth {\n display: -ms-flexbox;\n display: flex;\n width: 100%; }\n #optimole-app .button.is-loading {\n color: transparent !important;\n pointer-events: none; }\n #optimole-app .button.is-loading::after {\n position: absolute;\n left: calc(50% - (1em / 2));\n top: calc(50% - (1em / 2));\n position: absolute !important; }\n #optimole-app .button.is-static {\n background-color: whitesmoke;\n border-color: #dbdbdb;\n color: #7a7a7a;\n box-shadow: none;\n pointer-events: none; }\n #optimole-app .button.is-rounded {\n border-radius: 290486px;\n padding-left: 1em;\n padding-right: 1em; }\n #optimole-app .buttons {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .buttons .button {\n margin-bottom: 0.5rem; }\n #optimole-app .buttons .button:not(:last-child):not(.is-fullwidth) {\n margin-right: 0.5rem; }\n #optimole-app .buttons:last-child {\n margin-bottom: -0.5rem; }\n #optimole-app .buttons:not(:last-child) {\n margin-bottom: 1rem; }\n #optimole-app .buttons.has-addons .button:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .buttons.has-addons .button:not(:last-child) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n margin-right: -1px; }\n #optimole-app .buttons.has-addons .button:last-child {\n margin-right: 0; }\n #optimole-app .buttons.has-addons .button:hover, #optimole-app .buttons.has-addons .button.is-hovered {\n z-index: 2; }\n #optimole-app .buttons.has-addons .button:focus, #optimole-app .buttons.has-addons .button.is-focused, #optimole-app .buttons.has-addons .button:active, #optimole-app .buttons.has-addons .button.is-active, #optimole-app .buttons.has-addons .button.is-selected {\n z-index: 3; }\n #optimole-app .buttons.has-addons .button:focus:hover, #optimole-app .buttons.has-addons .button.is-focused:hover, #optimole-app .buttons.has-addons .button:active:hover, #optimole-app .buttons.has-addons .button.is-active:hover, #optimole-app .buttons.has-addons .button.is-selected:hover {\n z-index: 4; }\n #optimole-app .buttons.has-addons .button.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n #optimole-app .buttons.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .buttons.is-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .container {\n margin: 0 auto;\n position: relative; }\n @media screen and (min-width: 1088px) {\n #optimole-app .container {\n max-width: 960px;\n width: 960px; }\n #optimole-app .container.is-fluid {\n margin-left: 64px;\n margin-right: 64px;\n max-width: none;\n width: auto; } }\n @media screen and (max-width: 1279px) {\n #optimole-app .container.is-widescreen {\n max-width: 1152px;\n width: auto; } }\n @media screen and (max-width: 1471px) {\n #optimole-app .container.is-fullhd {\n max-width: 1344px;\n width: auto; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .container {\n max-width: 1152px;\n width: 1152px; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .container {\n max-width: 1344px;\n width: 1344px; } }\n #optimole-app .content li + li {\n margin-top: 0.25em; }\n #optimole-app .content p:not(:last-child),\n #optimole-app .content dl:not(:last-child),\n #optimole-app .content ol:not(:last-child),\n #optimole-app .content ul:not(:last-child),\n #optimole-app .content blockquote:not(:last-child),\n #optimole-app .content pre:not(:last-child),\n #optimole-app .content table:not(:last-child) {\n margin-bottom: 1em; }\n #optimole-app .content h1,\n #optimole-app .content h2,\n #optimole-app .content h3,\n #optimole-app .content h4,\n #optimole-app .content h5,\n #optimole-app .content h6 {\n color: #363636;\n font-weight: 600;\n line-height: 1.125; }\n #optimole-app .content h1 {\n font-size: 2em;\n margin-bottom: 0.5em; }\n #optimole-app .content h1:not(:first-child) {\n margin-top: 1em; }\n #optimole-app .content h2 {\n font-size: 1.75em;\n margin-bottom: 0.5714em; }\n #optimole-app .content h2:not(:first-child) {\n margin-top: 1.1428em; }\n #optimole-app .content h3 {\n font-size: 1.5em;\n margin-bottom: 0.6666em; }\n #optimole-app .content h3:not(:first-child) {\n margin-top: 1.3333em; }\n #optimole-app .content h4 {\n font-size: 1.25em;\n margin-bottom: 0.8em; }\n #optimole-app .content h5 {\n font-size: 1.125em;\n margin-bottom: 0.8888em; }\n #optimole-app .content h6 {\n font-size: 1em;\n margin-bottom: 1em; }\n #optimole-app .content blockquote {\n background-color: whitesmoke;\n border-left: 5px solid #dbdbdb;\n padding: 1.25em 1.5em; }\n #optimole-app .content ol {\n list-style-position: outside;\n margin-left: 2em;\n margin-top: 1em; }\n #optimole-app .content ol:not([type]) {\n list-style-type: decimal; }\n #optimole-app .content ol:not([type]).is-lower-alpha {\n list-style-type: lower-alpha; }\n #optimole-app .content ol:not([type]).is-lower-roman {\n list-style-type: lower-roman; }\n #optimole-app .content ol:not([type]).is-upper-alpha {\n list-style-type: upper-alpha; }\n #optimole-app .content ol:not([type]).is-upper-roman {\n list-style-type: upper-roman; }\n #optimole-app .content ul {\n list-style: disc outside;\n margin-left: 2em;\n margin-top: 1em; }\n #optimole-app .content ul ul {\n list-style-type: circle;\n margin-top: 0.5em; }\n #optimole-app .content ul ul ul {\n list-style-type: square; }\n #optimole-app .content dd {\n margin-left: 2em; }\n #optimole-app .content figure {\n margin-left: 2em;\n margin-right: 2em;\n text-align: center; }\n #optimole-app .content figure:not(:first-child) {\n margin-top: 2em; }\n #optimole-app .content figure:not(:last-child) {\n margin-bottom: 2em; }\n #optimole-app .content figure img {\n display: inline-block; }\n #optimole-app .content figure figcaption {\n font-style: italic; }\n #optimole-app .content pre {\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n padding: 1.25em 1.5em;\n white-space: pre;\n word-wrap: normal; }\n #optimole-app .content sup,\n #optimole-app .content sub {\n font-size: 75%; }\n #optimole-app .content table {\n width: 100%; }\n #optimole-app .content table td,\n #optimole-app .content table th {\n border: 1px solid #dbdbdb;\n border-width: 0 0 1px;\n padding: 0.5em 0.75em;\n vertical-align: top; }\n #optimole-app .content table th {\n color: #363636;\n text-align: left; }\n #optimole-app .content table thead td,\n #optimole-app .content table thead th {\n border-width: 0 0 2px;\n color: #363636; }\n #optimole-app .content table tfoot td,\n #optimole-app .content table tfoot th {\n border-width: 2px 0 0;\n color: #363636; }\n #optimole-app .content table tbody tr:last-child td,\n #optimole-app .content table tbody tr:last-child th {\n border-bottom-width: 0; }\n #optimole-app .content.is-small {\n font-size: 0.75rem; }\n #optimole-app .content.is-medium {\n font-size: 1.25rem; }\n #optimole-app .content.is-large {\n font-size: 1.5rem; }\n #optimole-app .input,\n #optimole-app .textarea {\n background-color: white;\n border-color: #dbdbdb;\n color: #363636;\n box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);\n max-width: 100%;\n width: 100%; }\n #optimole-app .input::-moz-placeholder,\n #optimole-app .textarea::-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input::-webkit-input-placeholder,\n #optimole-app .textarea::-webkit-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input:-moz-placeholder,\n #optimole-app .textarea:-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input:-ms-input-placeholder,\n #optimole-app .textarea:-ms-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input:hover, #optimole-app .input.is-hovered,\n #optimole-app .textarea:hover,\n #optimole-app .textarea.is-hovered {\n border-color: #b5b5b5; }\n #optimole-app .input:focus, #optimole-app .input.is-focused, #optimole-app .input:active, #optimole-app .input.is-active,\n #optimole-app .textarea:focus,\n #optimole-app .textarea.is-focused,\n #optimole-app .textarea:active,\n #optimole-app .textarea.is-active {\n border-color: #3273dc;\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .input[disabled],\n #optimole-app .textarea[disabled] {\n background-color: whitesmoke;\n border-color: whitesmoke;\n box-shadow: none;\n color: #7a7a7a; }\n #optimole-app .input[disabled]::-moz-placeholder,\n #optimole-app .textarea[disabled]::-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[disabled]::-webkit-input-placeholder,\n #optimole-app .textarea[disabled]::-webkit-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[disabled]:-moz-placeholder,\n #optimole-app .textarea[disabled]:-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[disabled]:-ms-input-placeholder,\n #optimole-app .textarea[disabled]:-ms-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[readonly],\n #optimole-app .textarea[readonly] {\n box-shadow: none; }\n #optimole-app .input.is-white,\n #optimole-app .textarea.is-white {\n border-color: white; }\n #optimole-app .input.is-white:focus, #optimole-app .input.is-white.is-focused, #optimole-app .input.is-white:active, #optimole-app .input.is-white.is-active,\n #optimole-app .textarea.is-white:focus,\n #optimole-app .textarea.is-white.is-focused,\n #optimole-app .textarea.is-white:active,\n #optimole-app .textarea.is-white.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }\n #optimole-app .input.is-black,\n #optimole-app .textarea.is-black {\n border-color: #0a0a0a; }\n #optimole-app .input.is-black:focus, #optimole-app .input.is-black.is-focused, #optimole-app .input.is-black:active, #optimole-app .input.is-black.is-active,\n #optimole-app .textarea.is-black:focus,\n #optimole-app .textarea.is-black.is-focused,\n #optimole-app .textarea.is-black:active,\n #optimole-app .textarea.is-black.is-active {\n box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }\n #optimole-app .input.is-light,\n #optimole-app .textarea.is-light {\n border-color: whitesmoke; }\n #optimole-app .input.is-light:focus, #optimole-app .input.is-light.is-focused, #optimole-app .input.is-light:active, #optimole-app .input.is-light.is-active,\n #optimole-app .textarea.is-light:focus,\n #optimole-app .textarea.is-light.is-focused,\n #optimole-app .textarea.is-light:active,\n #optimole-app .textarea.is-light.is-active {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }\n #optimole-app .input.is-dark,\n #optimole-app .textarea.is-dark {\n border-color: #363636; }\n #optimole-app .input.is-dark:focus, #optimole-app .input.is-dark.is-focused, #optimole-app .input.is-dark:active, #optimole-app .input.is-dark.is-active,\n #optimole-app .textarea.is-dark:focus,\n #optimole-app .textarea.is-dark.is-focused,\n #optimole-app .textarea.is-dark:active,\n #optimole-app .textarea.is-dark.is-active {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }\n #optimole-app .input.is-primary,\n #optimole-app .textarea.is-primary {\n border-color: #EF686B; }\n #optimole-app .input.is-primary:focus, #optimole-app .input.is-primary.is-focused, #optimole-app .input.is-primary:active, #optimole-app .input.is-primary.is-active,\n #optimole-app .textarea.is-primary:focus,\n #optimole-app .textarea.is-primary.is-focused,\n #optimole-app .textarea.is-primary:active,\n #optimole-app .textarea.is-primary.is-active {\n box-shadow: 0 0 0 0.125em rgba(239, 104, 107, 0.25); }\n #optimole-app .input.is-link,\n #optimole-app .textarea.is-link {\n border-color: #3273dc; }\n #optimole-app .input.is-link:focus, #optimole-app .input.is-link.is-focused, #optimole-app .input.is-link:active, #optimole-app .input.is-link.is-active,\n #optimole-app .textarea.is-link:focus,\n #optimole-app .textarea.is-link.is-focused,\n #optimole-app .textarea.is-link:active,\n #optimole-app .textarea.is-link.is-active {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .input.is-info,\n #optimole-app .textarea.is-info {\n border-color: #5180C1; }\n #optimole-app .input.is-info:focus, #optimole-app .input.is-info.is-focused, #optimole-app .input.is-info:active, #optimole-app .input.is-info.is-active,\n #optimole-app .textarea.is-info:focus,\n #optimole-app .textarea.is-info.is-focused,\n #optimole-app .textarea.is-info:active,\n #optimole-app .textarea.is-info.is-active {\n box-shadow: 0 0 0 0.125em rgba(81, 128, 193, 0.25); }\n #optimole-app .input.is-success,\n #optimole-app .textarea.is-success {\n border-color: #34a85e; }\n #optimole-app .input.is-success:focus, #optimole-app .input.is-success.is-focused, #optimole-app .input.is-success:active, #optimole-app .input.is-success.is-active,\n #optimole-app .textarea.is-success:focus,\n #optimole-app .textarea.is-success.is-focused,\n #optimole-app .textarea.is-success:active,\n #optimole-app .textarea.is-success.is-active {\n box-shadow: 0 0 0 0.125em rgba(52, 168, 94, 0.25); }\n #optimole-app .input.is-warning,\n #optimole-app .textarea.is-warning {\n border-color: #ffdd57; }\n #optimole-app .input.is-warning:focus, #optimole-app .input.is-warning.is-focused, #optimole-app .input.is-warning:active, #optimole-app .input.is-warning.is-active,\n #optimole-app .textarea.is-warning:focus,\n #optimole-app .textarea.is-warning.is-focused,\n #optimole-app .textarea.is-warning:active,\n #optimole-app .textarea.is-warning.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }\n #optimole-app .input.is-danger,\n #optimole-app .textarea.is-danger {\n border-color: #D54222; }\n #optimole-app .input.is-danger:focus, #optimole-app .input.is-danger.is-focused, #optimole-app .input.is-danger:active, #optimole-app .input.is-danger.is-active,\n #optimole-app .textarea.is-danger:focus,\n #optimole-app .textarea.is-danger.is-focused,\n #optimole-app .textarea.is-danger:active,\n #optimole-app .textarea.is-danger.is-active {\n box-shadow: 0 0 0 0.125em rgba(213, 66, 34, 0.25); }\n #optimole-app .input.is-small,\n #optimole-app .textarea.is-small {\n border-radius: 2px;\n font-size: 0.75rem; }\n #optimole-app .input.is-medium,\n #optimole-app .textarea.is-medium {\n font-size: 1.25rem; }\n #optimole-app .input.is-large,\n #optimole-app .textarea.is-large {\n font-size: 1.5rem; }\n #optimole-app .input.is-fullwidth,\n #optimole-app .textarea.is-fullwidth {\n display: block;\n width: 100%; }\n #optimole-app .input.is-inline,\n #optimole-app .textarea.is-inline {\n display: inline;\n width: auto; }\n #optimole-app .input.is-rounded {\n border-radius: 290486px;\n padding-left: 1em;\n padding-right: 1em; }\n #optimole-app .input.is-static {\n background-color: transparent;\n border-color: transparent;\n box-shadow: none;\n padding-left: 0;\n padding-right: 0; }\n #optimole-app .textarea {\n display: block;\n max-width: 100%;\n min-width: 100%;\n padding: 0.625em;\n resize: vertical; }\n #optimole-app .textarea:not([rows]) {\n max-height: 600px;\n min-height: 120px; }\n #optimole-app .textarea[rows] {\n height: initial; }\n #optimole-app .textarea.has-fixed-size {\n resize: none; }\n #optimole-app .checkbox,\n #optimole-app .radio {\n cursor: pointer;\n display: inline-block;\n line-height: 1.25;\n position: relative; }\n #optimole-app .checkbox input,\n #optimole-app .radio input {\n cursor: pointer; }\n #optimole-app .checkbox:hover,\n #optimole-app .radio:hover {\n color: #363636; }\n #optimole-app .checkbox[disabled],\n #optimole-app .radio[disabled] {\n color: #7a7a7a;\n cursor: not-allowed; }\n #optimole-app .radio + .radio {\n margin-left: 0.5em; }\n #optimole-app .select {\n display: inline-block;\n max-width: 100%;\n position: relative;\n vertical-align: top; }\n #optimole-app .select:not(.is-multiple) {\n height: 2.25em; }\n #optimole-app .select:not(.is-multiple):not(.is-loading)::after {\n border-color: #3273dc;\n right: 1.125em;\n z-index: 4; }\n #optimole-app .select.is-rounded select {\n border-radius: 290486px;\n padding-left: 1em; }\n #optimole-app .select select {\n background-color: white;\n border-color: #dbdbdb;\n color: #363636;\n cursor: pointer;\n display: block;\n font-size: 1em;\n max-width: 100%;\n outline: none; }\n #optimole-app .select select::-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select::-webkit-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select:-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select:-ms-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select:hover, #optimole-app .select select.is-hovered {\n border-color: #b5b5b5; }\n #optimole-app .select select:focus, #optimole-app .select select.is-focused, #optimole-app .select select:active, #optimole-app .select select.is-active {\n border-color: #3273dc;\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .select select[disabled] {\n background-color: whitesmoke;\n border-color: whitesmoke;\n box-shadow: none;\n color: #7a7a7a; }\n #optimole-app .select select[disabled]::-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select[disabled]::-webkit-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select[disabled]:-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select[disabled]:-ms-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select::-ms-expand {\n display: none; }\n #optimole-app .select select[disabled]:hover {\n border-color: whitesmoke; }\n #optimole-app .select select:not([multiple]) {\n padding-right: 2.5em; }\n #optimole-app .select select[multiple] {\n height: auto;\n padding: 0; }\n #optimole-app .select select[multiple] option {\n padding: 0.5em 1em; }\n #optimole-app .select:not(.is-multiple):not(.is-loading):hover::after {\n border-color: #363636; }\n #optimole-app .select.is-white:not(:hover)::after {\n border-color: white; }\n #optimole-app .select.is-white select {\n border-color: white; }\n #optimole-app .select.is-white select:hover, #optimole-app .select.is-white select.is-hovered {\n border-color: #f2f2f2; }\n #optimole-app .select.is-white select:focus, #optimole-app .select.is-white select.is-focused, #optimole-app .select.is-white select:active, #optimole-app .select.is-white select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }\n #optimole-app .select.is-black:not(:hover)::after {\n border-color: #0a0a0a; }\n #optimole-app .select.is-black select {\n border-color: #0a0a0a; }\n #optimole-app .select.is-black select:hover, #optimole-app .select.is-black select.is-hovered {\n border-color: black; }\n #optimole-app .select.is-black select:focus, #optimole-app .select.is-black select.is-focused, #optimole-app .select.is-black select:active, #optimole-app .select.is-black select.is-active {\n box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }\n #optimole-app .select.is-light:not(:hover)::after {\n border-color: whitesmoke; }\n #optimole-app .select.is-light select {\n border-color: whitesmoke; }\n #optimole-app .select.is-light select:hover, #optimole-app .select.is-light select.is-hovered {\n border-color: #e8e8e8; }\n #optimole-app .select.is-light select:focus, #optimole-app .select.is-light select.is-focused, #optimole-app .select.is-light select:active, #optimole-app .select.is-light select.is-active {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }\n #optimole-app .select.is-dark:not(:hover)::after {\n border-color: #363636; }\n #optimole-app .select.is-dark select {\n border-color: #363636; }\n #optimole-app .select.is-dark select:hover, #optimole-app .select.is-dark select.is-hovered {\n border-color: #292929; }\n #optimole-app .select.is-dark select:focus, #optimole-app .select.is-dark select.is-focused, #optimole-app .select.is-dark select:active, #optimole-app .select.is-dark select.is-active {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }\n #optimole-app .select.is-primary:not(:hover)::after {\n border-color: #EF686B; }\n #optimole-app .select.is-primary select {\n border-color: #EF686B; }\n #optimole-app .select.is-primary select:hover, #optimole-app .select.is-primary select.is-hovered {\n border-color: #ed5154; }\n #optimole-app .select.is-primary select:focus, #optimole-app .select.is-primary select.is-focused, #optimole-app .select.is-primary select:active, #optimole-app .select.is-primary select.is-active {\n box-shadow: 0 0 0 0.125em rgba(239, 104, 107, 0.25); }\n #optimole-app .select.is-link:not(:hover)::after {\n border-color: #3273dc; }\n #optimole-app .select.is-link select {\n border-color: #3273dc; }\n #optimole-app .select.is-link select:hover, #optimole-app .select.is-link select.is-hovered {\n border-color: #2366d1; }\n #optimole-app .select.is-link select:focus, #optimole-app .select.is-link select.is-focused, #optimole-app .select.is-link select:active, #optimole-app .select.is-link select.is-active {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .select.is-info:not(:hover)::after {\n border-color: #5180C1; }\n #optimole-app .select.is-info select {\n border-color: #5180C1; }\n #optimole-app .select.is-info select:hover, #optimole-app .select.is-info select.is-hovered {\n border-color: #4173b7; }\n #optimole-app .select.is-info select:focus, #optimole-app .select.is-info select.is-focused, #optimole-app .select.is-info select:active, #optimole-app .select.is-info select.is-active {\n box-shadow: 0 0 0 0.125em rgba(81, 128, 193, 0.25); }\n #optimole-app .select.is-success:not(:hover)::after {\n border-color: #34a85e; }\n #optimole-app .select.is-success select {\n border-color: #34a85e; }\n #optimole-app .select.is-success select:hover, #optimole-app .select.is-success select.is-hovered {\n border-color: #2e9553; }\n #optimole-app .select.is-success select:focus, #optimole-app .select.is-success select.is-focused, #optimole-app .select.is-success select:active, #optimole-app .select.is-success select.is-active {\n box-shadow: 0 0 0 0.125em rgba(52, 168, 94, 0.25); }\n #optimole-app .select.is-warning:not(:hover)::after {\n border-color: #ffdd57; }\n #optimole-app .select.is-warning select {\n border-color: #ffdd57; }\n #optimole-app .select.is-warning select:hover, #optimole-app .select.is-warning select.is-hovered {\n border-color: #ffd83d; }\n #optimole-app .select.is-warning select:focus, #optimole-app .select.is-warning select.is-focused, #optimole-app .select.is-warning select:active, #optimole-app .select.is-warning select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }\n #optimole-app .select.is-danger:not(:hover)::after {\n border-color: #D54222; }\n #optimole-app .select.is-danger select {\n border-color: #D54222; }\n #optimole-app .select.is-danger select:hover, #optimole-app .select.is-danger select.is-hovered {\n border-color: #bf3b1e; }\n #optimole-app .select.is-danger select:focus, #optimole-app .select.is-danger select.is-focused, #optimole-app .select.is-danger select:active, #optimole-app .select.is-danger select.is-active {\n box-shadow: 0 0 0 0.125em rgba(213, 66, 34, 0.25); }\n #optimole-app .select.is-small {\n border-radius: 2px;\n font-size: 0.75rem; }\n #optimole-app .select.is-medium {\n font-size: 1.25rem; }\n #optimole-app .select.is-large {\n font-size: 1.5rem; }\n #optimole-app .select.is-disabled::after {\n border-color: #7a7a7a; }\n #optimole-app .select.is-fullwidth {\n width: 100%; }\n #optimole-app .select.is-fullwidth select {\n width: 100%; }\n #optimole-app .select.is-loading::after {\n margin-top: 0;\n position: absolute;\n right: 0.625em;\n top: 0.625em;\n transform: none; }\n #optimole-app .select.is-loading.is-small:after {\n font-size: 0.75rem; }\n #optimole-app .select.is-loading.is-medium:after {\n font-size: 1.25rem; }\n #optimole-app .select.is-loading.is-large:after {\n font-size: 1.5rem; }\n #optimole-app .file {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: start;\n justify-content: flex-start;\n position: relative; }\n #optimole-app .file.is-white .file-cta {\n background-color: white;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .file.is-white:hover .file-cta, #optimole-app .file.is-white.is-hovered .file-cta {\n background-color: #f9f9f9;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .file.is-white:focus .file-cta, #optimole-app .file.is-white.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);\n color: #0a0a0a; }\n #optimole-app .file.is-white:active .file-cta, #optimole-app .file.is-white.is-active .file-cta {\n background-color: #f2f2f2;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .file.is-black .file-cta {\n background-color: #0a0a0a;\n border-color: transparent;\n color: white; }\n #optimole-app .file.is-black:hover .file-cta, #optimole-app .file.is-black.is-hovered .file-cta {\n background-color: #040404;\n border-color: transparent;\n color: white; }\n #optimole-app .file.is-black:focus .file-cta, #optimole-app .file.is-black.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);\n color: white; }\n #optimole-app .file.is-black:active .file-cta, #optimole-app .file.is-black.is-active .file-cta {\n background-color: black;\n border-color: transparent;\n color: white; }\n #optimole-app .file.is-light .file-cta {\n background-color: whitesmoke;\n border-color: transparent;\n color: #363636; }\n #optimole-app .file.is-light:hover .file-cta, #optimole-app .file.is-light.is-hovered .file-cta {\n background-color: #eeeeee;\n border-color: transparent;\n color: #363636; }\n #optimole-app .file.is-light:focus .file-cta, #optimole-app .file.is-light.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);\n color: #363636; }\n #optimole-app .file.is-light:active .file-cta, #optimole-app .file.is-light.is-active .file-cta {\n background-color: #e8e8e8;\n border-color: transparent;\n color: #363636; }\n #optimole-app .file.is-dark .file-cta {\n background-color: #363636;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .file.is-dark:hover .file-cta, #optimole-app .file.is-dark.is-hovered .file-cta {\n background-color: #2f2f2f;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .file.is-dark:focus .file-cta, #optimole-app .file.is-dark.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);\n color: whitesmoke; }\n #optimole-app .file.is-dark:active .file-cta, #optimole-app .file.is-dark.is-active .file-cta {\n background-color: #292929;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .file.is-primary .file-cta {\n background-color: #EF686B;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-primary:hover .file-cta, #optimole-app .file.is-primary.is-hovered .file-cta {\n background-color: #ee5c60;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-primary:focus .file-cta, #optimole-app .file.is-primary.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(239, 104, 107, 0.25);\n color: #fff; }\n #optimole-app .file.is-primary:active .file-cta, #optimole-app .file.is-primary.is-active .file-cta {\n background-color: #ed5154;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-link .file-cta {\n background-color: #3273dc;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-link:hover .file-cta, #optimole-app .file.is-link.is-hovered .file-cta {\n background-color: #276cda;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-link:focus .file-cta, #optimole-app .file.is-link.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(50, 115, 220, 0.25);\n color: #fff; }\n #optimole-app .file.is-link:active .file-cta, #optimole-app .file.is-link.is-active .file-cta {\n background-color: #2366d1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-info .file-cta {\n background-color: #5180C1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-info:hover .file-cta, #optimole-app .file.is-info.is-hovered .file-cta {\n background-color: #4879be;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-info:focus .file-cta, #optimole-app .file.is-info.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(81, 128, 193, 0.25);\n color: #fff; }\n #optimole-app .file.is-info:active .file-cta, #optimole-app .file.is-info.is-active .file-cta {\n background-color: #4173b7;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-success .file-cta {\n background-color: #34a85e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-success:hover .file-cta, #optimole-app .file.is-success.is-hovered .file-cta {\n background-color: #319e59;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-success:focus .file-cta, #optimole-app .file.is-success.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(52, 168, 94, 0.25);\n color: #fff; }\n #optimole-app .file.is-success:active .file-cta, #optimole-app .file.is-success.is-active .file-cta {\n background-color: #2e9553;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-warning .file-cta {\n background-color: #ffdd57;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-warning:hover .file-cta, #optimole-app .file.is-warning.is-hovered .file-cta {\n background-color: #ffdb4a;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-warning:focus .file-cta, #optimole-app .file.is-warning.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-warning:active .file-cta, #optimole-app .file.is-warning.is-active .file-cta {\n background-color: #ffd83d;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-danger .file-cta {\n background-color: #D54222;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-danger:hover .file-cta, #optimole-app .file.is-danger.is-hovered .file-cta {\n background-color: #ca3f20;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-danger:focus .file-cta, #optimole-app .file.is-danger.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(213, 66, 34, 0.25);\n color: #fff; }\n #optimole-app .file.is-danger:active .file-cta, #optimole-app .file.is-danger.is-active .file-cta {\n background-color: #bf3b1e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-small {\n font-size: 0.75rem; }\n #optimole-app .file.is-medium {\n font-size: 1.25rem; }\n #optimole-app .file.is-medium .file-icon .fa {\n font-size: 21px; }\n #optimole-app .file.is-large {\n font-size: 1.5rem; }\n #optimole-app .file.is-large .file-icon .fa {\n font-size: 28px; }\n #optimole-app .file.has-name .file-cta {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .file.has-name .file-name {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .file.has-name.is-empty .file-cta {\n border-radius: 4px; }\n #optimole-app .file.has-name.is-empty .file-name {\n display: none; }\n #optimole-app .file.is-boxed .file-label {\n -ms-flex-direction: column;\n flex-direction: column; }\n #optimole-app .file.is-boxed .file-cta {\n -ms-flex-direction: column;\n flex-direction: column;\n height: auto;\n padding: 1em 3em; }\n #optimole-app .file.is-boxed .file-name {\n border-width: 0 1px 1px; }\n #optimole-app .file.is-boxed .file-icon {\n height: 1.5em;\n width: 1.5em; }\n #optimole-app .file.is-boxed .file-icon .fa {\n font-size: 21px; }\n #optimole-app .file.is-boxed.is-small .file-icon .fa {\n font-size: 14px; }\n #optimole-app .file.is-boxed.is-medium .file-icon .fa {\n font-size: 28px; }\n #optimole-app .file.is-boxed.is-large .file-icon .fa {\n font-size: 35px; }\n #optimole-app .file.is-boxed.has-name .file-cta {\n border-radius: 4px 4px 0 0; }\n #optimole-app .file.is-boxed.has-name .file-name {\n border-radius: 0 0 4px 4px;\n border-width: 0 1px 1px; }\n #optimole-app .file.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .file.is-fullwidth .file-label {\n width: 100%; }\n #optimole-app .file.is-fullwidth .file-name {\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: none; }\n #optimole-app .file.is-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .file.is-right .file-cta {\n border-radius: 0 4px 4px 0; }\n #optimole-app .file.is-right .file-name {\n border-radius: 4px 0 0 4px;\n border-width: 1px 0 1px 1px;\n -ms-flex-order: -1;\n order: -1; }\n #optimole-app .file-label {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n cursor: pointer;\n -ms-flex-pack: start;\n justify-content: flex-start;\n overflow: hidden;\n position: relative; }\n #optimole-app .file-label:hover .file-cta {\n background-color: #eeeeee;\n color: #363636; }\n #optimole-app .file-label:hover .file-name {\n border-color: #d5d5d5; }\n #optimole-app .file-label:active .file-cta {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .file-label:active .file-name {\n border-color: #cfcfcf; }\n #optimole-app .file-input {\n height: 100%;\n left: 0;\n opacity: 0;\n outline: none;\n position: absolute;\n top: 0;\n width: 100%; }\n #optimole-app .file-cta,\n #optimole-app .file-name {\n border-color: #dbdbdb;\n border-radius: 4px;\n font-size: 1em;\n padding-left: 1em;\n padding-right: 1em;\n white-space: nowrap; }\n #optimole-app .file-cta {\n background-color: whitesmoke;\n color: #4a4a4a; }\n #optimole-app .file-name {\n border-color: #dbdbdb;\n border-style: solid;\n border-width: 1px 1px 1px 0;\n display: block;\n max-width: 16em;\n overflow: hidden;\n text-align: left;\n text-overflow: ellipsis; }\n #optimole-app .file-icon {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n height: 1em;\n -ms-flex-pack: center;\n justify-content: center;\n margin-right: 0.5em;\n width: 1em; }\n #optimole-app .file-icon .fa {\n font-size: 14px; }\n #optimole-app .label {\n color: #363636;\n display: block;\n font-size: 1rem;\n font-weight: 700; }\n #optimole-app .label:not(:last-child) {\n margin-bottom: 0.5em; }\n #optimole-app .label.is-small {\n font-size: 0.75rem; }\n #optimole-app .label.is-medium {\n font-size: 1.25rem; }\n #optimole-app .label.is-large {\n font-size: 1.5rem; }\n #optimole-app .help {\n display: block;\n font-size: 0.75rem;\n margin-top: 0.25rem; }\n #optimole-app .help.is-white {\n color: white; }\n #optimole-app .help.is-black {\n color: #0a0a0a; }\n #optimole-app .help.is-light {\n color: whitesmoke; }\n #optimole-app .help.is-dark {\n color: #363636; }\n #optimole-app .help.is-primary {\n color: #EF686B; }\n #optimole-app .help.is-link {\n color: #3273dc; }\n #optimole-app .help.is-info {\n color: #5180C1; }\n #optimole-app .help.is-success {\n color: #34a85e; }\n #optimole-app .help.is-warning {\n color: #ffdd57; }\n #optimole-app .help.is-danger {\n color: #D54222; }\n #optimole-app .field:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .field.has-addons {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .field.has-addons .control:not(:last-child) {\n margin-right: -1px; }\n #optimole-app .field.has-addons .control:not(:first-child):not(:last-child) .button,\n #optimole-app .field.has-addons .control:not(:first-child):not(:last-child) .input,\n #optimole-app .field.has-addons .control:not(:first-child):not(:last-child) .select select {\n border-radius: 0; }\n #optimole-app .field.has-addons .control:first-child .button,\n #optimole-app .field.has-addons .control:first-child .input,\n #optimole-app .field.has-addons .control:first-child .select select {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .field.has-addons .control:last-child .button,\n #optimole-app .field.has-addons .control:last-child .input,\n #optimole-app .field.has-addons .control:last-child .select select {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .field.has-addons .control .button:not([disabled]):hover, #optimole-app .field.has-addons .control .button:not([disabled]).is-hovered,\n #optimole-app .field.has-addons .control .input:not([disabled]):hover,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-hovered,\n #optimole-app .field.has-addons .control .select select:not([disabled]):hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-hovered {\n z-index: 2; }\n #optimole-app .field.has-addons .control .button:not([disabled]):focus, #optimole-app .field.has-addons .control .button:not([disabled]).is-focused, #optimole-app .field.has-addons .control .button:not([disabled]):active, #optimole-app .field.has-addons .control .button:not([disabled]).is-active,\n #optimole-app .field.has-addons .control .input:not([disabled]):focus,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-focused,\n #optimole-app .field.has-addons .control .input:not([disabled]):active,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-active,\n #optimole-app .field.has-addons .control .select select:not([disabled]):focus,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-focused,\n #optimole-app .field.has-addons .control .select select:not([disabled]):active,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-active {\n z-index: 3; }\n #optimole-app .field.has-addons .control .button:not([disabled]):focus:hover, #optimole-app .field.has-addons .control .button:not([disabled]).is-focused:hover, #optimole-app .field.has-addons .control .button:not([disabled]):active:hover, #optimole-app .field.has-addons .control .button:not([disabled]).is-active:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]):focus:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-focused:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]):active:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-active:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]):focus:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-focused:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]):active:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-active:hover {\n z-index: 4; }\n #optimole-app .field.has-addons .control.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n #optimole-app .field.has-addons.has-addons-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .field.has-addons.has-addons-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .field.has-addons.has-addons-fullwidth .control {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .field.is-grouped {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .field.is-grouped > .control {\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .field.is-grouped > .control:not(:last-child) {\n margin-bottom: 0;\n margin-right: 0.75rem; }\n #optimole-app .field.is-grouped > .control.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .field.is-grouped.is-grouped-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .field.is-grouped.is-grouped-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .field.is-grouped.is-grouped-multiline {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n #optimole-app .field.is-grouped.is-grouped-multiline > .control:last-child, #optimole-app .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .field.is-grouped.is-grouped-multiline:last-child {\n margin-bottom: -0.75rem; }\n #optimole-app .field.is-grouped.is-grouped-multiline:not(:last-child) {\n margin-bottom: 0; }\n @media screen and (min-width: 769px), print {\n #optimole-app .field.is-horizontal {\n display: -ms-flexbox;\n display: flex; } }\n #optimole-app .field-label .label {\n font-size: inherit; }\n @media screen and (max-width: 768px) {\n #optimole-app .field-label {\n margin-bottom: 0.5rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .field-label {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-right: 1.5rem;\n text-align: right; }\n #optimole-app .field-label.is-small {\n font-size: 0.75rem;\n padding-top: 0.375em; }\n #optimole-app .field-label.is-normal {\n padding-top: 0.375em; }\n #optimole-app .field-label.is-medium {\n font-size: 1.25rem;\n padding-top: 0.375em; }\n #optimole-app .field-label.is-large {\n font-size: 1.5rem;\n padding-top: 0.375em; } }\n #optimole-app .field-body .field .field {\n margin-bottom: 0; }\n @media screen and (min-width: 769px), print {\n #optimole-app .field-body {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 5;\n flex-grow: 5;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .field-body .field {\n margin-bottom: 0; }\n #optimole-app .field-body > .field {\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .field-body > .field:not(.is-narrow) {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n #optimole-app .field-body > .field:not(:last-child) {\n margin-right: 0.75rem; } }\n #optimole-app .control {\n clear: both;\n font-size: 1rem;\n position: relative;\n text-align: left; }\n #optimole-app .control.has-icon .icon {\n color: #dbdbdb;\n height: 2.25em;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 2.25em;\n z-index: 4; }\n #optimole-app .control.has-icon .input:focus + .icon {\n color: #7a7a7a; }\n #optimole-app .control.has-icon .input.is-small + .icon {\n font-size: 0.75rem; }\n #optimole-app .control.has-icon .input.is-medium + .icon {\n font-size: 1.25rem; }\n #optimole-app .control.has-icon .input.is-large + .icon {\n font-size: 1.5rem; }\n #optimole-app .control.has-icon:not(.has-icon-right) .icon {\n left: 0; }\n #optimole-app .control.has-icon:not(.has-icon-right) .input {\n padding-left: 2.25em; }\n #optimole-app .control.has-icon.has-icon-right .icon {\n right: 0; }\n #optimole-app .control.has-icon.has-icon-right .input {\n padding-right: 2.25em; }\n #optimole-app .control.has-icons-left .input:focus ~ .icon,\n #optimole-app .control.has-icons-left .select:focus ~ .icon, #optimole-app .control.has-icons-right .input:focus ~ .icon,\n #optimole-app .control.has-icons-right .select:focus ~ .icon {\n color: #7a7a7a; }\n #optimole-app .control.has-icons-left .input.is-small ~ .icon,\n #optimole-app .control.has-icons-left .select.is-small ~ .icon, #optimole-app .control.has-icons-right .input.is-small ~ .icon,\n #optimole-app .control.has-icons-right .select.is-small ~ .icon {\n font-size: 0.75rem; }\n #optimole-app .control.has-icons-left .input.is-medium ~ .icon,\n #optimole-app .control.has-icons-left .select.is-medium ~ .icon, #optimole-app .control.has-icons-right .input.is-medium ~ .icon,\n #optimole-app .control.has-icons-right .select.is-medium ~ .icon {\n font-size: 1.25rem; }\n #optimole-app .control.has-icons-left .input.is-large ~ .icon,\n #optimole-app .control.has-icons-left .select.is-large ~ .icon, #optimole-app .control.has-icons-right .input.is-large ~ .icon,\n #optimole-app .control.has-icons-right .select.is-large ~ .icon {\n font-size: 1.5rem; }\n #optimole-app .control.has-icons-left .icon, #optimole-app .control.has-icons-right .icon {\n color: #dbdbdb;\n height: 2.25em;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 2.25em;\n z-index: 4; }\n #optimole-app .control.has-icons-left .input,\n #optimole-app .control.has-icons-left .select select {\n padding-left: 2.25em; }\n #optimole-app .control.has-icons-left .icon.is-left {\n left: 0; }\n #optimole-app .control.has-icons-right .input,\n #optimole-app .control.has-icons-right .select select {\n padding-right: 2.25em; }\n #optimole-app .control.has-icons-right .icon.is-right {\n right: 0; }\n #optimole-app .control.is-loading::after {\n position: absolute !important;\n right: 0.625em;\n top: 0.625em;\n z-index: 4; }\n #optimole-app .control.is-loading.is-small:after {\n font-size: 0.75rem; }\n #optimole-app .control.is-loading.is-medium:after {\n font-size: 1.25rem; }\n #optimole-app .control.is-loading.is-large:after {\n font-size: 1.5rem; }\n #optimole-app .icon {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-pack: center;\n justify-content: center;\n height: 1.5rem;\n width: 1.5rem; }\n #optimole-app .icon.is-small {\n height: 1rem;\n width: 1rem; }\n #optimole-app .icon.is-medium {\n height: 2rem;\n width: 2rem; }\n #optimole-app .icon.is-large {\n height: 3rem;\n width: 3rem; }\n #optimole-app .image {\n display: block;\n position: relative; }\n #optimole-app .image img {\n display: block;\n height: auto;\n width: 100%; }\n #optimole-app .image img.is-rounded {\n border-radius: 290486px; }\n #optimole-app .image.is-square img, #optimole-app .image.is-1by1 img, #optimole-app .image.is-5by4 img, #optimole-app .image.is-4by3 img, #optimole-app .image.is-3by2 img, #optimole-app .image.is-5by3 img, #optimole-app .image.is-16by9 img, #optimole-app .image.is-2by1 img, #optimole-app .image.is-3by1 img, #optimole-app .image.is-4by5 img, #optimole-app .image.is-3by4 img, #optimole-app .image.is-2by3 img, #optimole-app .image.is-3by5 img, #optimole-app .image.is-9by16 img, #optimole-app .image.is-1by2 img, #optimole-app .image.is-1by3 img {\n height: 100%;\n width: 100%; }\n #optimole-app .image.is-square, #optimole-app .image.is-1by1 {\n padding-top: 100%; }\n #optimole-app .image.is-5by4 {\n padding-top: 80%; }\n #optimole-app .image.is-4by3 {\n padding-top: 75%; }\n #optimole-app .image.is-3by2 {\n padding-top: 66.6666%; }\n #optimole-app .image.is-5by3 {\n padding-top: 60%; }\n #optimole-app .image.is-16by9 {\n padding-top: 56.25%; }\n #optimole-app .image.is-2by1 {\n padding-top: 50%; }\n #optimole-app .image.is-3by1 {\n padding-top: 33.3333%; }\n #optimole-app .image.is-4by5 {\n padding-top: 125%; }\n #optimole-app .image.is-3by4 {\n padding-top: 133.3333%; }\n #optimole-app .image.is-2by3 {\n padding-top: 150%; }\n #optimole-app .image.is-3by5 {\n padding-top: 166.6666%; }\n #optimole-app .image.is-9by16 {\n padding-top: 177.7777%; }\n #optimole-app .image.is-1by2 {\n padding-top: 200%; }\n #optimole-app .image.is-1by3 {\n padding-top: 300%; }\n #optimole-app .image.is-16x16 {\n height: 16px;\n width: 16px; }\n #optimole-app .image.is-24x24 {\n height: 24px;\n width: 24px; }\n #optimole-app .image.is-32x32 {\n height: 32px;\n width: 32px; }\n #optimole-app .image.is-48x48 {\n height: 48px;\n width: 48px; }\n #optimole-app .image.is-64x64 {\n height: 64px;\n width: 64px; }\n #optimole-app .image.is-96x96 {\n height: 96px;\n width: 96px; }\n #optimole-app .image.is-128x128 {\n height: 128px;\n width: 128px; }\n #optimole-app .notification {\n background-color: whitesmoke;\n border-radius: 4px;\n padding: 1.25rem 2.5rem 1.25rem 1.5rem;\n position: relative; }\n #optimole-app .notification a:not(.button):not(.dropdown-item) {\n color: currentColor;\n text-decoration: underline; }\n #optimole-app .notification strong {\n color: currentColor; }\n #optimole-app .notification code,\n #optimole-app .notification pre {\n background: white; }\n #optimole-app .notification pre code {\n background: transparent; }\n #optimole-app .notification > .delete {\n position: absolute;\n right: 0.5rem;\n top: 0.5rem; }\n #optimole-app .notification .title,\n #optimole-app .notification .subtitle,\n #optimole-app .notification .content {\n color: currentColor; }\n #optimole-app .notification.is-white {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .notification.is-black {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .notification.is-light {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .notification.is-dark {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .notification.is-primary {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .notification.is-link {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .notification.is-info {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .notification.is-success {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .notification.is-warning {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .notification.is-danger {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .progress {\n -moz-appearance: none;\n -webkit-appearance: none;\n border: none;\n border-radius: 290486px;\n display: block;\n height: 1rem;\n overflow: hidden;\n padding: 0;\n width: 100%; }\n #optimole-app .progress::-webkit-progress-bar {\n background-color: #dbdbdb; }\n #optimole-app .progress::-webkit-progress-value {\n background-color: #4a4a4a; }\n #optimole-app .progress::-moz-progress-bar {\n background-color: #4a4a4a; }\n #optimole-app .progress::-ms-fill {\n background-color: #4a4a4a;\n border: none; }\n #optimole-app .progress.is-white::-webkit-progress-value {\n background-color: white; }\n #optimole-app .progress.is-white::-moz-progress-bar {\n background-color: white; }\n #optimole-app .progress.is-white::-ms-fill {\n background-color: white; }\n #optimole-app .progress.is-black::-webkit-progress-value {\n background-color: #0a0a0a; }\n #optimole-app .progress.is-black::-moz-progress-bar {\n background-color: #0a0a0a; }\n #optimole-app .progress.is-black::-ms-fill {\n background-color: #0a0a0a; }\n #optimole-app .progress.is-light::-webkit-progress-value {\n background-color: whitesmoke; }\n #optimole-app .progress.is-light::-moz-progress-bar {\n background-color: whitesmoke; }\n #optimole-app .progress.is-light::-ms-fill {\n background-color: whitesmoke; }\n #optimole-app .progress.is-dark::-webkit-progress-value {\n background-color: #363636; }\n #optimole-app .progress.is-dark::-moz-progress-bar {\n background-color: #363636; }\n #optimole-app .progress.is-dark::-ms-fill {\n background-color: #363636; }\n #optimole-app .progress.is-primary::-webkit-progress-value {\n background-color: #EF686B; }\n #optimole-app .progress.is-primary::-moz-progress-bar {\n background-color: #EF686B; }\n #optimole-app .progress.is-primary::-ms-fill {\n background-color: #EF686B; }\n #optimole-app .progress.is-link::-webkit-progress-value {\n background-color: #3273dc; }\n #optimole-app .progress.is-link::-moz-progress-bar {\n background-color: #3273dc; }\n #optimole-app .progress.is-link::-ms-fill {\n background-color: #3273dc; }\n #optimole-app .progress.is-info::-webkit-progress-value {\n background-color: #5180C1; }\n #optimole-app .progress.is-info::-moz-progress-bar {\n background-color: #5180C1; }\n #optimole-app .progress.is-info::-ms-fill {\n background-color: #5180C1; }\n #optimole-app .progress.is-success::-webkit-progress-value {\n background-color: #34a85e; }\n #optimole-app .progress.is-success::-moz-progress-bar {\n background-color: #34a85e; }\n #optimole-app .progress.is-success::-ms-fill {\n background-color: #34a85e; }\n #optimole-app .progress.is-warning::-webkit-progress-value {\n background-color: #ffdd57; }\n #optimole-app .progress.is-warning::-moz-progress-bar {\n background-color: #ffdd57; }\n #optimole-app .progress.is-warning::-ms-fill {\n background-color: #ffdd57; }\n #optimole-app .progress.is-danger::-webkit-progress-value {\n background-color: #D54222; }\n #optimole-app .progress.is-danger::-moz-progress-bar {\n background-color: #D54222; }\n #optimole-app .progress.is-danger::-ms-fill {\n background-color: #D54222; }\n #optimole-app .progress.is-small {\n height: 0.75rem; }\n #optimole-app .progress.is-medium {\n height: 1.25rem; }\n #optimole-app .progress.is-large {\n height: 1.5rem; }\n #optimole-app .table {\n background-color: white;\n color: #363636; }\n #optimole-app .table td,\n #optimole-app .table th {\n border: 1px solid #dbdbdb;\n border-width: 0 0 1px;\n padding: 0.5em 0.75em;\n vertical-align: top; }\n #optimole-app .table td.is-white,\n #optimole-app .table th.is-white {\n background-color: white;\n border-color: white;\n color: #0a0a0a; }\n #optimole-app .table td.is-black,\n #optimole-app .table th.is-black {\n background-color: #0a0a0a;\n border-color: #0a0a0a;\n color: white; }\n #optimole-app .table td.is-light,\n #optimole-app .table th.is-light {\n background-color: whitesmoke;\n border-color: whitesmoke;\n color: #363636; }\n #optimole-app .table td.is-dark,\n #optimole-app .table th.is-dark {\n background-color: #363636;\n border-color: #363636;\n color: whitesmoke; }\n #optimole-app .table td.is-primary,\n #optimole-app .table th.is-primary {\n background-color: #EF686B;\n border-color: #EF686B;\n color: #fff; }\n #optimole-app .table td.is-link,\n #optimole-app .table th.is-link {\n background-color: #3273dc;\n border-color: #3273dc;\n color: #fff; }\n #optimole-app .table td.is-info,\n #optimole-app .table th.is-info {\n background-color: #5180C1;\n border-color: #5180C1;\n color: #fff; }\n #optimole-app .table td.is-success,\n #optimole-app .table th.is-success {\n background-color: #34a85e;\n border-color: #34a85e;\n color: #fff; }\n #optimole-app .table td.is-warning,\n #optimole-app .table th.is-warning {\n background-color: #ffdd57;\n border-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .table td.is-danger,\n #optimole-app .table th.is-danger {\n background-color: #D54222;\n border-color: #D54222;\n color: #fff; }\n #optimole-app .table td.is-narrow,\n #optimole-app .table th.is-narrow {\n white-space: nowrap;\n width: 1%; }\n #optimole-app .table td.is-selected,\n #optimole-app .table th.is-selected {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .table td.is-selected a,\n #optimole-app .table td.is-selected strong,\n #optimole-app .table th.is-selected a,\n #optimole-app .table th.is-selected strong {\n color: currentColor; }\n #optimole-app .table th {\n color: #363636;\n text-align: left; }\n #optimole-app .table tr.is-selected {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .table tr.is-selected a,\n #optimole-app .table tr.is-selected strong {\n color: currentColor; }\n #optimole-app .table tr.is-selected td,\n #optimole-app .table tr.is-selected th {\n border-color: #fff;\n color: currentColor; }\n #optimole-app .table thead td,\n #optimole-app .table thead th {\n border-width: 0 0 2px;\n color: #363636; }\n #optimole-app .table tfoot td,\n #optimole-app .table tfoot th {\n border-width: 2px 0 0;\n color: #363636; }\n #optimole-app .table tbody tr:last-child td,\n #optimole-app .table tbody tr:last-child th {\n border-bottom-width: 0; }\n #optimole-app .table.is-bordered td,\n #optimole-app .table.is-bordered th {\n border-width: 1px; }\n #optimole-app .table.is-bordered tr:last-child td,\n #optimole-app .table.is-bordered tr:last-child th {\n border-bottom-width: 1px; }\n #optimole-app .table.is-fullwidth {\n width: 100%; }\n #optimole-app .table.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: #fafafa; }\n #optimole-app .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {\n background-color: #fafafa; }\n #optimole-app .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {\n background-color: whitesmoke; }\n #optimole-app .table.is-narrow td,\n #optimole-app .table.is-narrow th {\n padding: 0.25em 0.5em; }\n #optimole-app .table.is-striped tbody tr:not(.is-selected):nth-child(even) {\n background-color: #fafafa; }\n #optimole-app .table-container {\n -webkit-overflow-scrolling: touch;\n overflow: auto;\n overflow-y: hidden;\n max-width: 100%; }\n #optimole-app .tags {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .tags .tag {\n margin-bottom: 0.5rem; }\n #optimole-app .tags .tag:not(:last-child) {\n margin-right: 0.5rem; }\n #optimole-app .tags:last-child {\n margin-bottom: -0.5rem; }\n #optimole-app .tags:not(:last-child) {\n margin-bottom: 1rem; }\n #optimole-app .tags.has-addons .tag {\n margin-right: 0; }\n #optimole-app .tags.has-addons .tag:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .tags.has-addons .tag:not(:last-child) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .tags.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .tags.is-centered .tag {\n margin-right: 0.25rem;\n margin-left: 0.25rem; }\n #optimole-app .tags.is-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .tags.is-right .tag:not(:first-child) {\n margin-left: 0.5rem; }\n #optimole-app .tags.is-right .tag:not(:last-child) {\n margin-right: 0; }\n #optimole-app .tag:not(body) {\n -ms-flex-align: center;\n align-items: center;\n background-color: whitesmoke;\n border-radius: 4px;\n color: #4a4a4a;\n display: -ms-inline-flexbox;\n display: inline-flex;\n font-size: 0.75rem;\n height: 2em;\n -ms-flex-pack: center;\n justify-content: center;\n line-height: 1.5;\n padding-left: 0.75em;\n padding-right: 0.75em;\n white-space: nowrap; }\n #optimole-app .tag:not(body) .delete {\n margin-left: 0.25rem;\n margin-right: -0.375rem; }\n #optimole-app .tag:not(body).is-white {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .tag:not(body).is-black {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .tag:not(body).is-light {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .tag:not(body).is-dark {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .tag:not(body).is-primary {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .tag:not(body).is-link {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .tag:not(body).is-info {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .tag:not(body).is-success {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .tag:not(body).is-warning {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .tag:not(body).is-danger {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .tag:not(body).is-medium {\n font-size: 1rem; }\n #optimole-app .tag:not(body).is-large {\n font-size: 1.25rem; }\n #optimole-app .tag:not(body) .icon:first-child:not(:last-child) {\n margin-left: -0.375em;\n margin-right: 0.1875em; }\n #optimole-app .tag:not(body) .icon:last-child:not(:first-child) {\n margin-left: 0.1875em;\n margin-right: -0.375em; }\n #optimole-app .tag:not(body) .icon:first-child:last-child {\n margin-left: -0.375em;\n margin-right: -0.375em; }\n #optimole-app .tag:not(body).is-delete {\n margin-left: 1px;\n padding: 0;\n position: relative;\n width: 2em; }\n #optimole-app .tag:not(body).is-delete::before, #optimole-app .tag:not(body).is-delete::after {\n background-color: currentColor;\n content: \"\";\n display: block;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translateX(-50%) translateY(-50%) rotate(45deg);\n transform-origin: center center; }\n #optimole-app .tag:not(body).is-delete::before {\n height: 1px;\n width: 50%; }\n #optimole-app .tag:not(body).is-delete::after {\n height: 50%;\n width: 1px; }\n #optimole-app .tag:not(body).is-delete:hover, #optimole-app .tag:not(body).is-delete:focus {\n background-color: #e8e8e8; }\n #optimole-app .tag:not(body).is-delete:active {\n background-color: #dbdbdb; }\n #optimole-app .tag:not(body).is-rounded {\n border-radius: 290486px; }\n #optimole-app a.tag:hover {\n text-decoration: underline; }\n #optimole-app .title,\n #optimole-app .subtitle {\n word-break: break-word; }\n #optimole-app .title em,\n #optimole-app .title span,\n #optimole-app .subtitle em,\n #optimole-app .subtitle span {\n font-weight: inherit; }\n #optimole-app .title sub,\n #optimole-app .subtitle sub {\n font-size: 0.75em; }\n #optimole-app .title sup,\n #optimole-app .subtitle sup {\n font-size: 0.75em; }\n #optimole-app .title .tag,\n #optimole-app .subtitle .tag {\n vertical-align: middle; }\n #optimole-app .title {\n color: #363636;\n font-size: 2rem;\n font-weight: 600;\n line-height: 1.125; }\n #optimole-app .title strong {\n color: inherit;\n font-weight: inherit; }\n #optimole-app .title + .highlight {\n margin-top: -0.75rem; }\n #optimole-app .title:not(.is-spaced) + .subtitle {\n margin-top: -1.25rem; }\n #optimole-app .title.is-1 {\n font-size: 3rem; }\n #optimole-app .title.is-2 {\n font-size: 2.5rem; }\n #optimole-app .title.is-3 {\n font-size: 2rem; }\n #optimole-app .title.is-4 {\n font-size: 1.5rem; }\n #optimole-app .title.is-5 {\n font-size: 1.25rem; }\n #optimole-app .title.is-6 {\n font-size: 1rem; }\n #optimole-app .title.is-7 {\n font-size: 0.75rem; }\n #optimole-app .subtitle {\n color: #4a4a4a;\n font-size: 1.25rem;\n font-weight: 400;\n line-height: 1.25; }\n #optimole-app .subtitle strong {\n color: #363636;\n font-weight: 600; }\n #optimole-app .subtitle:not(.is-spaced) + .title {\n margin-top: -1.25rem; }\n #optimole-app .subtitle.is-1 {\n font-size: 3rem; }\n #optimole-app .subtitle.is-2 {\n font-size: 2.5rem; }\n #optimole-app .subtitle.is-3 {\n font-size: 2rem; }\n #optimole-app .subtitle.is-4 {\n font-size: 1.5rem; }\n #optimole-app .subtitle.is-5 {\n font-size: 1.25rem; }\n #optimole-app .subtitle.is-6 {\n font-size: 1rem; }\n #optimole-app .subtitle.is-7 {\n font-size: 0.75rem; }\n #optimole-app .heading {\n display: block;\n font-size: 11px;\n letter-spacing: 1px;\n margin-bottom: 5px;\n text-transform: uppercase; }\n #optimole-app .highlight {\n font-weight: 400;\n max-width: 100%;\n overflow: hidden;\n padding: 0; }\n #optimole-app .highlight pre {\n overflow: auto;\n max-width: 100%; }\n #optimole-app .number {\n -ms-flex-align: center;\n align-items: center;\n background-color: whitesmoke;\n border-radius: 290486px;\n display: -ms-inline-flexbox;\n display: inline-flex;\n font-size: 1.25rem;\n height: 2em;\n -ms-flex-pack: center;\n justify-content: center;\n margin-right: 1.5rem;\n min-width: 2.5em;\n padding: 0.25rem 0.5rem;\n text-align: center;\n vertical-align: top; }\n #optimole-app .breadcrumb {\n font-size: 1rem;\n white-space: nowrap; }\n #optimole-app .breadcrumb a {\n -ms-flex-align: center;\n align-items: center;\n color: #3273dc;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0 0.75em; }\n #optimole-app .breadcrumb a:hover {\n color: #363636; }\n #optimole-app .breadcrumb li {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .breadcrumb li:first-child a {\n padding-left: 0; }\n #optimole-app .breadcrumb li.is-active a {\n color: #363636;\n cursor: default;\n pointer-events: none; }\n #optimole-app .breadcrumb li + li::before {\n color: #b5b5b5;\n content: \"/\"; }\n #optimole-app .breadcrumb ul,\n #optimole-app .breadcrumb ol {\n -ms-flex-align: start;\n align-items: flex-start;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .breadcrumb .icon:first-child {\n margin-right: 0.5em; }\n #optimole-app .breadcrumb .icon:last-child {\n margin-left: 0.5em; }\n #optimole-app .breadcrumb.is-centered ol,\n #optimole-app .breadcrumb.is-centered ul {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .breadcrumb.is-right ol,\n #optimole-app .breadcrumb.is-right ul {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .breadcrumb.is-small {\n font-size: 0.75rem; }\n #optimole-app .breadcrumb.is-medium {\n font-size: 1.25rem; }\n #optimole-app .breadcrumb.is-large {\n font-size: 1.5rem; }\n #optimole-app .breadcrumb.has-arrow-separator li + li::before {\n content: \"\\2192\"; }\n #optimole-app .breadcrumb.has-bullet-separator li + li::before {\n content: \"\\2022\"; }\n #optimole-app .breadcrumb.has-dot-separator li + li::before {\n content: \"\\B7\"; }\n #optimole-app .breadcrumb.has-succeeds-separator li + li::before {\n content: \"\\227B\"; }\n #optimole-app .card {\n background-color: white;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n color: #4a4a4a;\n max-width: 100%;\n position: relative; }\n #optimole-app .card-header {\n background-color: transparent;\n -ms-flex-align: stretch;\n align-items: stretch;\n box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .card-header-title {\n -ms-flex-align: center;\n align-items: center;\n color: #363636;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-positive: 1;\n flex-grow: 1;\n font-weight: 700;\n padding: 0.75rem; }\n #optimole-app .card-header-title.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .card-header-icon {\n -ms-flex-align: center;\n align-items: center;\n cursor: pointer;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0.75rem; }\n #optimole-app .card-image {\n display: block;\n position: relative; }\n #optimole-app .card-content {\n background-color: transparent;\n padding: 1.5rem; }\n #optimole-app .card-footer {\n background-color: transparent;\n border-top: 1px solid #dbdbdb;\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .card-footer-item {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0.75rem; }\n #optimole-app .card-footer-item:not(:last-child) {\n border-right: 1px solid #dbdbdb; }\n #optimole-app .card .media:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .dropdown {\n display: -ms-inline-flexbox;\n display: inline-flex;\n position: relative;\n vertical-align: top; }\n #optimole-app .dropdown.is-active .dropdown-menu, #optimole-app .dropdown.is-hoverable:hover .dropdown-menu {\n display: block; }\n #optimole-app .dropdown.is-right .dropdown-menu {\n left: auto;\n right: 0; }\n #optimole-app .dropdown.is-up .dropdown-menu {\n bottom: 100%;\n padding-bottom: 4px;\n padding-top: initial;\n top: auto; }\n #optimole-app .dropdown-menu {\n display: none;\n left: 0;\n min-width: 12rem;\n padding-top: 4px;\n position: absolute;\n top: 100%;\n z-index: 20; }\n #optimole-app .dropdown-content {\n background-color: white;\n border-radius: 4px;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n padding-bottom: 0.5rem;\n padding-top: 0.5rem; }\n #optimole-app .dropdown-item {\n color: #4a4a4a;\n display: block;\n font-size: 0.875rem;\n line-height: 1.5;\n padding: 0.375rem 1rem;\n position: relative; }\n #optimole-app a.dropdown-item,\n #optimole-app button.dropdown-item {\n padding-right: 3rem;\n text-align: left;\n white-space: nowrap;\n width: 100%; }\n #optimole-app a.dropdown-item:hover,\n #optimole-app button.dropdown-item:hover {\n background-color: whitesmoke;\n color: #0a0a0a; }\n #optimole-app a.dropdown-item.is-active,\n #optimole-app button.dropdown-item.is-active {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .dropdown-divider {\n background-color: #dbdbdb;\n border: none;\n display: block;\n height: 1px;\n margin: 0.5rem 0; }\n #optimole-app .level {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between; }\n #optimole-app .level code {\n border-radius: 4px; }\n #optimole-app .level img {\n display: inline-block;\n vertical-align: top; }\n #optimole-app .level.is-mobile {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .level.is-mobile .level-left,\n #optimole-app .level.is-mobile .level-right {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .level.is-mobile .level-left + .level-right {\n margin-top: 0; }\n #optimole-app .level.is-mobile .level-item:not(:last-child) {\n margin-bottom: 0;\n margin-right: 0.75rem; }\n #optimole-app .level.is-mobile .level-item:not(.is-narrow) {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n @media screen and (min-width: 769px), print {\n #optimole-app .level {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .level > .level-item:not(.is-narrow) {\n -ms-flex-positive: 1;\n flex-grow: 1; } }\n #optimole-app .level-item {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .level-item .title,\n #optimole-app .level-item .subtitle {\n margin-bottom: 0; }\n @media screen and (max-width: 768px) {\n #optimole-app .level-item:not(:last-child) {\n margin-bottom: 0.75rem; } }\n #optimole-app .level-left,\n #optimole-app .level-right {\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .level-left .level-item.is-flexible,\n #optimole-app .level-right .level-item.is-flexible {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n @media screen and (min-width: 769px), print {\n #optimole-app .level-left .level-item:not(:last-child),\n #optimole-app .level-right .level-item:not(:last-child) {\n margin-right: 0.75rem; } }\n #optimole-app .level-left {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n @media screen and (max-width: 768px) {\n #optimole-app .level-left + .level-right {\n margin-top: 1.5rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .level-left {\n display: -ms-flexbox;\n display: flex; } }\n #optimole-app .level-right {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n @media screen and (min-width: 769px), print {\n #optimole-app .level-right {\n display: -ms-flexbox;\n display: flex; } }\n #optimole-app .list {\n background-color: white;\n border-radius: 4px;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }\n #optimole-app .list-item {\n display: block;\n padding: 0.5em 1em; }\n #optimole-app .list-item:not(a) {\n color: #4a4a4a; }\n #optimole-app .list-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px; }\n #optimole-app .list-item:last-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px; }\n #optimole-app .list-item:not(:last-child) {\n border-bottom: 1px solid #dbdbdb; }\n #optimole-app .list-item.is-active {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app a.list-item {\n background-color: whitesmoke;\n cursor: pointer; }\n #optimole-app .media {\n -ms-flex-align: start;\n align-items: flex-start;\n display: -ms-flexbox;\n display: flex;\n text-align: left; }\n #optimole-app .media .content:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .media .media {\n border-top: 1px solid rgba(219, 219, 219, 0.5);\n display: -ms-flexbox;\n display: flex;\n padding-top: 0.75rem; }\n #optimole-app .media .media .content:not(:last-child),\n #optimole-app .media .media .control:not(:last-child) {\n margin-bottom: 0.5rem; }\n #optimole-app .media .media .media {\n padding-top: 0.5rem; }\n #optimole-app .media .media .media + .media {\n margin-top: 0.5rem; }\n #optimole-app .media + .media {\n border-top: 1px solid rgba(219, 219, 219, 0.5);\n margin-top: 1rem;\n padding-top: 1rem; }\n #optimole-app .media.is-large + .media {\n margin-top: 1.5rem;\n padding-top: 1.5rem; }\n #optimole-app .media-left,\n #optimole-app .media-right {\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .media-left {\n margin-right: 1rem; }\n #optimole-app .media-right {\n margin-left: 1rem; }\n #optimole-app .media-content {\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n text-align: left; }\n @media screen and (max-width: 768px) {\n #optimole-app .media-content {\n overflow-x: auto; } }\n #optimole-app .menu {\n font-size: 1rem; }\n #optimole-app .menu.is-small {\n font-size: 0.75rem; }\n #optimole-app .menu.is-medium {\n font-size: 1.25rem; }\n #optimole-app .menu.is-large {\n font-size: 1.5rem; }\n #optimole-app .menu-list {\n line-height: 1.25; }\n #optimole-app .menu-list a {\n border-radius: 2px;\n color: #4a4a4a;\n display: block;\n padding: 0.5em 0.75em; }\n #optimole-app .menu-list a:hover {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .menu-list a.is-active {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .menu-list li ul {\n border-left: 1px solid #dbdbdb;\n margin: 0.75em;\n padding-left: 0.75em; }\n #optimole-app .menu-label {\n color: #7a7a7a;\n font-size: 0.75em;\n letter-spacing: 0.1em;\n text-transform: uppercase; }\n #optimole-app .menu-label:not(:first-child) {\n margin-top: 1em; }\n #optimole-app .menu-label:not(:last-child) {\n margin-bottom: 1em; }\n #optimole-app .message {\n background-color: whitesmoke;\n border-radius: 4px;\n font-size: 1rem; }\n #optimole-app .message strong {\n color: currentColor; }\n #optimole-app .message a:not(.button):not(.tag) {\n color: currentColor;\n text-decoration: underline; }\n #optimole-app .message.is-small {\n font-size: 0.75rem; }\n #optimole-app .message.is-medium {\n font-size: 1.25rem; }\n #optimole-app .message.is-large {\n font-size: 1.5rem; }\n #optimole-app .message.is-white {\n background-color: white; }\n #optimole-app .message.is-white .message-header {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .message.is-white .message-body {\n border-color: white;\n color: #4d4d4d; }\n #optimole-app .message.is-black {\n background-color: #fafafa; }\n #optimole-app .message.is-black .message-header {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .message.is-black .message-body {\n border-color: #0a0a0a;\n color: #090909; }\n #optimole-app .message.is-light {\n background-color: #fafafa; }\n #optimole-app .message.is-light .message-header {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .message.is-light .message-body {\n border-color: whitesmoke;\n color: #505050; }\n #optimole-app .message.is-dark {\n background-color: #fafafa; }\n #optimole-app .message.is-dark .message-header {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .message.is-dark .message-body {\n border-color: #363636;\n color: #2a2a2a; }\n #optimole-app .message.is-primary {\n background-color: #fef6f6; }\n #optimole-app .message.is-primary .message-header {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .message.is-primary .message-body {\n border-color: #EF686B;\n color: #bd2124; }\n #optimole-app .message.is-link {\n background-color: #f6f9fe; }\n #optimole-app .message.is-link .message-header {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .message.is-link .message-body {\n border-color: #3273dc;\n color: #22509a; }\n #optimole-app .message.is-info {\n background-color: #f7fafc; }\n #optimole-app .message.is-info .message-header {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .message.is-info .message-body {\n border-color: #5180C1;\n color: #36537c; }\n #optimole-app .message.is-success {\n background-color: #f7fdf9; }\n #optimole-app .message.is-success .message-header {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .message.is-success .message-body {\n border-color: #34a85e;\n color: #1b432a; }\n #optimole-app .message.is-warning {\n background-color: #fffdf5; }\n #optimole-app .message.is-warning .message-header {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .message.is-warning .message-body {\n border-color: #ffdd57;\n color: #3b3108; }\n #optimole-app .message.is-danger {\n background-color: #fef8f6; }\n #optimole-app .message.is-danger .message-header {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .message.is-danger .message-body {\n border-color: #D54222;\n color: #8d311d; }\n #optimole-app .message-header {\n -ms-flex-align: center;\n align-items: center;\n background-color: #4a4a4a;\n border-radius: 4px 4px 0 0;\n color: #fff;\n display: -ms-flexbox;\n display: flex;\n font-weight: 700;\n -ms-flex-pack: justify;\n justify-content: space-between;\n line-height: 1.25;\n padding: 0.75em 1em;\n position: relative; }\n #optimole-app .message-header .delete {\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-left: 0.75em; }\n #optimole-app .message-header + .message-body {\n border-width: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .message-body {\n border-color: #dbdbdb;\n border-radius: 4px;\n border-style: solid;\n border-width: 0 0 0 4px;\n color: #4a4a4a;\n padding: 1.25em 1.5em; }\n #optimole-app .message-body code,\n #optimole-app .message-body pre {\n background-color: white; }\n #optimole-app .message-body pre code {\n background-color: transparent; }\n #optimole-app .modal {\n -ms-flex-align: center;\n align-items: center;\n display: none;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n position: fixed;\n z-index: 40; }\n #optimole-app .modal.is-active {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .modal-background {\n background-color: rgba(10, 10, 10, 0.86); }\n #optimole-app .modal-content,\n #optimole-app .modal-card {\n margin: 0 20px;\n max-height: calc(100vh - 160px);\n overflow: auto;\n position: relative;\n width: 100%; }\n @media screen and (min-width: 769px), print {\n #optimole-app .modal-content,\n #optimole-app .modal-card {\n margin: 0 auto;\n max-height: calc(100vh - 40px);\n width: 640px; } }\n #optimole-app .modal-close {\n background: none;\n height: 40px;\n position: fixed;\n right: 20px;\n top: 20px;\n width: 40px; }\n #optimole-app .modal-card {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n max-height: calc(100vh - 40px);\n overflow: hidden;\n -ms-overflow-y: visible; }\n #optimole-app .modal-card-head,\n #optimole-app .modal-card-foot {\n -ms-flex-align: center;\n align-items: center;\n background-color: whitesmoke;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-pack: start;\n justify-content: flex-start;\n padding: 20px;\n position: relative; }\n #optimole-app .modal-card-head {\n border-bottom: 1px solid #dbdbdb;\n border-top-left-radius: 6px;\n border-top-right-radius: 6px; }\n #optimole-app .modal-card-title {\n color: #363636;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n font-size: 1.5rem;\n line-height: 1; }\n #optimole-app .modal-card-foot {\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n border-top: 1px solid #dbdbdb; }\n #optimole-app .modal-card-foot .button:not(:last-child) {\n margin-right: 10px; }\n #optimole-app .modal-card-body {\n -webkit-overflow-scrolling: touch;\n background-color: white;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n overflow: auto;\n padding: 20px; }\n #optimole-app .navbar {\n background-color: white;\n min-height: 3.25rem;\n position: relative;\n z-index: 30; }\n #optimole-app .navbar.is-white {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-white .navbar-brand .navbar-link {\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-white .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-white .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-white .navbar-brand .navbar-link.is-active {\n background-color: #f2f2f2;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-brand .navbar-link::after {\n border-color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-burger {\n color: #0a0a0a; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-white .navbar-start > .navbar-item,\n #optimole-app .navbar.is-white .navbar-start .navbar-link,\n #optimole-app .navbar.is-white .navbar-end > .navbar-item,\n #optimole-app .navbar.is-white .navbar-end .navbar-link {\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-white .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-white .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-white .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-white .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-white .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-white .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-white .navbar-end .navbar-link.is-active {\n background-color: #f2f2f2;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-white .navbar-end .navbar-link::after {\n border-color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #f2f2f2;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-dropdown a.navbar-item.is-active {\n background-color: white;\n color: #0a0a0a; } }\n #optimole-app .navbar.is-black {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .navbar.is-black .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-black .navbar-brand .navbar-link {\n color: white; }\n #optimole-app .navbar.is-black .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-black .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-black .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-black .navbar-brand .navbar-link.is-active {\n background-color: black;\n color: white; }\n #optimole-app .navbar.is-black .navbar-brand .navbar-link::after {\n border-color: white; }\n #optimole-app .navbar.is-black .navbar-burger {\n color: white; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-black .navbar-start > .navbar-item,\n #optimole-app .navbar.is-black .navbar-start .navbar-link,\n #optimole-app .navbar.is-black .navbar-end > .navbar-item,\n #optimole-app .navbar.is-black .navbar-end .navbar-link {\n color: white; }\n #optimole-app .navbar.is-black .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-black .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-black .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-black .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-black .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-black .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-black .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-black .navbar-end .navbar-link.is-active {\n background-color: black;\n color: white; }\n #optimole-app .navbar.is-black .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-black .navbar-end .navbar-link::after {\n border-color: white; }\n #optimole-app .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: black;\n color: white; }\n #optimole-app .navbar.is-black .navbar-dropdown a.navbar-item.is-active {\n background-color: #0a0a0a;\n color: white; } }\n #optimole-app .navbar.is-light {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-light .navbar-brand .navbar-link {\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-light .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-light .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-light .navbar-brand .navbar-link.is-active {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-brand .navbar-link::after {\n border-color: #363636; }\n #optimole-app .navbar.is-light .navbar-burger {\n color: #363636; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-light .navbar-start > .navbar-item,\n #optimole-app .navbar.is-light .navbar-start .navbar-link,\n #optimole-app .navbar.is-light .navbar-end > .navbar-item,\n #optimole-app .navbar.is-light .navbar-end .navbar-link {\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-light .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-light .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-light .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-light .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-light .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-light .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-light .navbar-end .navbar-link.is-active {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-light .navbar-end .navbar-link::after {\n border-color: #363636; }\n #optimole-app .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-dropdown a.navbar-item.is-active {\n background-color: whitesmoke;\n color: #363636; } }\n #optimole-app .navbar.is-dark {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link {\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-dark .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link.is-active {\n background-color: #292929;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link::after {\n border-color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-burger {\n color: whitesmoke; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-dark .navbar-start > .navbar-item,\n #optimole-app .navbar.is-dark .navbar-start .navbar-link,\n #optimole-app .navbar.is-dark .navbar-end > .navbar-item,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link {\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-dark .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-dark .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-dark .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-dark .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-dark .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link.is-active {\n background-color: #292929;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link::after {\n border-color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #292929;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-dropdown a.navbar-item.is-active {\n background-color: #363636;\n color: whitesmoke; } }\n #optimole-app .navbar.is-primary {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-primary .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link.is-active {\n background-color: #ed5154;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-primary .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-primary .navbar-start > .navbar-item,\n #optimole-app .navbar.is-primary .navbar-start .navbar-link,\n #optimole-app .navbar.is-primary .navbar-end > .navbar-item,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-primary .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-primary .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-primary .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-primary .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-primary .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link.is-active {\n background-color: #ed5154;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #ed5154;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-dropdown a.navbar-item.is-active {\n background-color: #EF686B;\n color: #fff; } }\n #optimole-app .navbar.is-link {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-link .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-link .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-link .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-link .navbar-brand .navbar-link.is-active {\n background-color: #2366d1;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-link .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-link .navbar-start > .navbar-item,\n #optimole-app .navbar.is-link .navbar-start .navbar-link,\n #optimole-app .navbar.is-link .navbar-end > .navbar-item,\n #optimole-app .navbar.is-link .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-link .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-link .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-link .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-link .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-link .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-link .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-link .navbar-end .navbar-link.is-active {\n background-color: #2366d1;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-link .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #2366d1;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-dropdown a.navbar-item.is-active {\n background-color: #3273dc;\n color: #fff; } }\n #optimole-app .navbar.is-info {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-info .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-info .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-info .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-info .navbar-brand .navbar-link.is-active {\n background-color: #4173b7;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-info .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-info .navbar-start > .navbar-item,\n #optimole-app .navbar.is-info .navbar-start .navbar-link,\n #optimole-app .navbar.is-info .navbar-end > .navbar-item,\n #optimole-app .navbar.is-info .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-info .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-info .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-info .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-info .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-info .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-info .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-info .navbar-end .navbar-link.is-active {\n background-color: #4173b7;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-info .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #4173b7;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-dropdown a.navbar-item.is-active {\n background-color: #5180C1;\n color: #fff; } }\n #optimole-app .navbar.is-success {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-success .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-success .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-success .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-success .navbar-brand .navbar-link.is-active {\n background-color: #2e9553;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-success .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-success .navbar-start > .navbar-item,\n #optimole-app .navbar.is-success .navbar-start .navbar-link,\n #optimole-app .navbar.is-success .navbar-end > .navbar-item,\n #optimole-app .navbar.is-success .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-success .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-success .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-success .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-success .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-success .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-success .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-success .navbar-end .navbar-link.is-active {\n background-color: #2e9553;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-success .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #2e9553;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-dropdown a.navbar-item.is-active {\n background-color: #34a85e;\n color: #fff; } }\n #optimole-app .navbar.is-warning {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-warning .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link.is-active {\n background-color: #ffd83d;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link::after {\n border-color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-burger {\n color: rgba(0, 0, 0, 0.7); }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-warning .navbar-start > .navbar-item,\n #optimole-app .navbar.is-warning .navbar-start .navbar-link,\n #optimole-app .navbar.is-warning .navbar-end > .navbar-item,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-warning .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-warning .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-warning .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-warning .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-warning .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link.is-active {\n background-color: #ffd83d;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link::after {\n border-color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #ffd83d;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); } }\n #optimole-app .navbar.is-danger {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-danger .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link.is-active {\n background-color: #bf3b1e;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-danger .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-danger .navbar-start > .navbar-item,\n #optimole-app .navbar.is-danger .navbar-start .navbar-link,\n #optimole-app .navbar.is-danger .navbar-end > .navbar-item,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-danger .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-danger .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-danger .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-danger .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-danger .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link.is-active {\n background-color: #bf3b1e;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #bf3b1e;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {\n background-color: #D54222;\n color: #fff; } }\n #optimole-app .navbar > .container {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n min-height: 3.25rem;\n width: 100%; }\n #optimole-app .navbar.has-shadow {\n box-shadow: 0 2px 0 0 whitesmoke; }\n #optimole-app .navbar.is-fixed-bottom, #optimole-app .navbar.is-fixed-top {\n left: 0;\n position: fixed;\n right: 0;\n z-index: 30; }\n #optimole-app .navbar.is-fixed-bottom {\n bottom: 0; }\n #optimole-app .navbar.is-fixed-bottom.has-shadow {\n box-shadow: 0 -2px 0 0 whitesmoke; }\n #optimole-app .navbar.is-fixed-top {\n top: 0; }\n #optimole-app html.has-navbar-fixed-top,\n #optimole-app body.has-navbar-fixed-top {\n padding-top: 3.25rem; }\n #optimole-app html.has-navbar-fixed-bottom,\n #optimole-app body.has-navbar-fixed-bottom {\n padding-bottom: 3.25rem; }\n #optimole-app .navbar-brand,\n #optimole-app .navbar-tabs {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n min-height: 3.25rem; }\n #optimole-app .navbar-brand a.navbar-item:hover {\n background-color: transparent; }\n #optimole-app .navbar-tabs {\n -webkit-overflow-scrolling: touch;\n max-width: 100vw;\n overflow-x: auto;\n overflow-y: hidden; }\n #optimole-app .navbar-burger {\n color: #4a4a4a;\n cursor: pointer;\n display: block;\n height: 3.25rem;\n position: relative;\n width: 3.25rem;\n margin-left: auto; }\n #optimole-app .navbar-burger span {\n background-color: currentColor;\n display: block;\n height: 1px;\n left: calc(50% - 8px);\n position: absolute;\n transform-origin: center;\n transition-duration: 86ms;\n transition-property: background-color, opacity, transform;\n transition-timing-function: ease-out;\n width: 16px; }\n #optimole-app .navbar-burger span:nth-child(1) {\n top: calc(50% - 6px); }\n #optimole-app .navbar-burger span:nth-child(2) {\n top: calc(50% - 1px); }\n #optimole-app .navbar-burger span:nth-child(3) {\n top: calc(50% + 4px); }\n #optimole-app .navbar-burger:hover {\n background-color: rgba(0, 0, 0, 0.05); }\n #optimole-app .navbar-burger.is-active span:nth-child(1) {\n transform: translateY(5px) rotate(45deg); }\n #optimole-app .navbar-burger.is-active span:nth-child(2) {\n opacity: 0; }\n #optimole-app .navbar-burger.is-active span:nth-child(3) {\n transform: translateY(-5px) rotate(-45deg); }\n #optimole-app .navbar-menu {\n display: none; }\n #optimole-app .navbar-item,\n #optimole-app .navbar-link {\n color: #4a4a4a;\n display: block;\n line-height: 1.5;\n padding: 0.5rem 0.75rem;\n position: relative; }\n #optimole-app .navbar-item .icon:only-child,\n #optimole-app .navbar-link .icon:only-child {\n margin-left: -0.25rem;\n margin-right: -0.25rem; }\n #optimole-app a.navbar-item,\n #optimole-app .navbar-link {\n cursor: pointer; }\n #optimole-app a.navbar-item:hover, #optimole-app a.navbar-item.is-active,\n #optimole-app .navbar-link:hover,\n #optimole-app .navbar-link.is-active {\n background-color: #fafafa;\n color: #3273dc; }\n #optimole-app .navbar-item {\n display: block;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .navbar-item img {\n max-height: 1.75rem; }\n #optimole-app .navbar-item.has-dropdown {\n padding: 0; }\n #optimole-app .navbar-item.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .navbar-item.is-tab {\n border-bottom: 1px solid transparent;\n min-height: 3.25rem;\n padding-bottom: calc(0.5rem - 1px); }\n #optimole-app .navbar-item.is-tab:hover {\n background-color: transparent;\n border-bottom-color: #3273dc; }\n #optimole-app .navbar-item.is-tab.is-active {\n background-color: transparent;\n border-bottom-color: #3273dc;\n border-bottom-style: solid;\n border-bottom-width: 3px;\n color: #3273dc;\n padding-bottom: calc(0.5rem - 3px); }\n #optimole-app .navbar-content {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .navbar-link:not(.is-arrowless) {\n padding-right: 2.5em; }\n #optimole-app .navbar-link:not(.is-arrowless)::after {\n border-color: #3273dc;\n margin-top: -0.375em;\n right: 1.125em; }\n #optimole-app .navbar-dropdown {\n font-size: 0.875rem;\n padding-bottom: 0.5rem;\n padding-top: 0.5rem; }\n #optimole-app .navbar-dropdown .navbar-item {\n padding-left: 1.5rem;\n padding-right: 1.5rem; }\n #optimole-app .navbar-divider {\n background-color: whitesmoke;\n border: none;\n display: none;\n height: 2px;\n margin: 0.5rem 0; }\n @media screen and (max-width: 1087px) {\n #optimole-app .navbar > .container {\n display: block; }\n #optimole-app .navbar-brand .navbar-item,\n #optimole-app .navbar-tabs .navbar-item {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar-link::after {\n display: none; }\n #optimole-app .navbar-menu {\n background-color: white;\n box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);\n padding: 0.5rem 0; }\n #optimole-app .navbar-menu.is-active {\n display: block; }\n #optimole-app .navbar.is-fixed-bottom-touch, #optimole-app .navbar.is-fixed-top-touch {\n left: 0;\n position: fixed;\n right: 0;\n z-index: 30; }\n #optimole-app .navbar.is-fixed-bottom-touch {\n bottom: 0; }\n #optimole-app .navbar.is-fixed-bottom-touch.has-shadow {\n box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }\n #optimole-app .navbar.is-fixed-top-touch {\n top: 0; }\n #optimole-app .navbar.is-fixed-top .navbar-menu, #optimole-app .navbar.is-fixed-top-touch .navbar-menu {\n -webkit-overflow-scrolling: touch;\n max-height: calc(100vh - 3.25rem);\n overflow: auto; }\n #optimole-app html.has-navbar-fixed-top-touch,\n #optimole-app body.has-navbar-fixed-top-touch {\n padding-top: 3.25rem; }\n #optimole-app html.has-navbar-fixed-bottom-touch,\n #optimole-app body.has-navbar-fixed-bottom-touch {\n padding-bottom: 3.25rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar,\n #optimole-app .navbar-menu,\n #optimole-app .navbar-start,\n #optimole-app .navbar-end {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar {\n min-height: 3.25rem; }\n #optimole-app .navbar.is-spaced {\n padding: 1rem 2rem; }\n #optimole-app .navbar.is-spaced .navbar-start,\n #optimole-app .navbar.is-spaced .navbar-end {\n -ms-flex-align: center;\n align-items: center; }\n #optimole-app .navbar.is-spaced a.navbar-item,\n #optimole-app .navbar.is-spaced .navbar-link {\n border-radius: 4px; }\n #optimole-app .navbar.is-transparent a.navbar-item:hover, #optimole-app .navbar.is-transparent a.navbar-item.is-active,\n #optimole-app .navbar.is-transparent .navbar-link:hover,\n #optimole-app .navbar.is-transparent .navbar-link.is-active {\n background-color: transparent !important; }\n #optimole-app .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, #optimole-app .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {\n background-color: transparent !important; }\n #optimole-app .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {\n background-color: whitesmoke;\n color: #0a0a0a; }\n #optimole-app .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {\n background-color: whitesmoke;\n color: #3273dc; }\n #optimole-app .navbar-burger {\n display: none; }\n #optimole-app .navbar-item,\n #optimole-app .navbar-link {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar-item {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar-item.has-dropdown {\n -ms-flex-align: stretch;\n align-items: stretch; }\n #optimole-app .navbar-item.has-dropdown-up .navbar-link::after {\n transform: rotate(135deg) translate(0.25em, -0.25em); }\n #optimole-app .navbar-item.has-dropdown-up .navbar-dropdown {\n border-bottom: 2px solid #dbdbdb;\n border-radius: 6px 6px 0 0;\n border-top: none;\n bottom: 100%;\n box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);\n top: auto; }\n #optimole-app .navbar-item.is-active .navbar-dropdown, #optimole-app .navbar-item.is-hoverable:hover .navbar-dropdown {\n display: block; }\n .navbar.is-spaced #optimole-app .navbar-item.is-active .navbar-dropdown, #optimole-app .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced #optimole-app .navbar-item.is-hoverable:hover .navbar-dropdown, #optimole-app .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0); }\n #optimole-app .navbar-menu {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .navbar-start {\n -ms-flex-pack: start;\n justify-content: flex-start;\n margin-right: auto; }\n #optimole-app .navbar-end {\n -ms-flex-pack: end;\n justify-content: flex-end;\n margin-left: auto; }\n #optimole-app .navbar-dropdown {\n background-color: white;\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n border-top: 2px solid #dbdbdb;\n box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);\n display: none;\n font-size: 0.875rem;\n left: 0;\n min-width: 100%;\n position: absolute;\n top: 100%;\n z-index: 20; }\n #optimole-app .navbar-dropdown .navbar-item {\n padding: 0.375rem 1rem;\n white-space: nowrap; }\n #optimole-app .navbar-dropdown a.navbar-item {\n padding-right: 3rem; }\n #optimole-app .navbar-dropdown a.navbar-item:hover {\n background-color: whitesmoke;\n color: #0a0a0a; }\n #optimole-app .navbar-dropdown a.navbar-item.is-active {\n background-color: whitesmoke;\n color: #3273dc; }\n .navbar.is-spaced #optimole-app .navbar-dropdown, #optimole-app .navbar-dropdown.is-boxed {\n border-radius: 6px;\n border-top: none;\n box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n display: block;\n opacity: 0;\n pointer-events: none;\n top: calc(100% + (-4px));\n transform: translateY(-5px);\n transition-duration: 86ms;\n transition-property: opacity, transform; }\n #optimole-app .navbar-dropdown.is-right {\n left: auto;\n right: 0; }\n #optimole-app .navbar-divider {\n display: block; }\n #optimole-app .navbar > .container .navbar-brand,\n #optimole-app .container > .navbar .navbar-brand {\n margin-left: -.75rem; }\n #optimole-app .navbar > .container .navbar-menu,\n #optimole-app .container > .navbar .navbar-menu {\n margin-right: -.75rem; }\n #optimole-app .navbar.is-fixed-bottom-desktop, #optimole-app .navbar.is-fixed-top-desktop {\n left: 0;\n position: fixed;\n right: 0;\n z-index: 30; }\n #optimole-app .navbar.is-fixed-bottom-desktop {\n bottom: 0; }\n #optimole-app .navbar.is-fixed-bottom-desktop.has-shadow {\n box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }\n #optimole-app .navbar.is-fixed-top-desktop {\n top: 0; }\n #optimole-app html.has-navbar-fixed-top-desktop,\n #optimole-app body.has-navbar-fixed-top-desktop {\n padding-top: 3.25rem; }\n #optimole-app html.has-navbar-fixed-bottom-desktop,\n #optimole-app body.has-navbar-fixed-bottom-desktop {\n padding-bottom: 3.25rem; }\n #optimole-app html.has-spaced-navbar-fixed-top,\n #optimole-app body.has-spaced-navbar-fixed-top {\n padding-top: 5.25rem; }\n #optimole-app html.has-spaced-navbar-fixed-bottom,\n #optimole-app body.has-spaced-navbar-fixed-bottom {\n padding-bottom: 5.25rem; }\n #optimole-app a.navbar-item.is-active,\n #optimole-app .navbar-link.is-active {\n color: #0a0a0a; }\n #optimole-app a.navbar-item.is-active:not(:hover),\n #optimole-app .navbar-link.is-active:not(:hover) {\n background-color: transparent; }\n #optimole-app .navbar-item.has-dropdown:hover .navbar-link, #optimole-app .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #fafafa; } }\n #optimole-app .pagination {\n font-size: 1rem;\n margin: -0.25rem; }\n #optimole-app .pagination.is-small {\n font-size: 0.75rem; }\n #optimole-app .pagination.is-medium {\n font-size: 1.25rem; }\n #optimole-app .pagination.is-large {\n font-size: 1.5rem; }\n #optimole-app .pagination.is-rounded .pagination-previous,\n #optimole-app .pagination.is-rounded .pagination-next {\n padding-left: 1em;\n padding-right: 1em;\n border-radius: 290486px; }\n #optimole-app .pagination.is-rounded .pagination-link {\n border-radius: 290486px; }\n #optimole-app .pagination,\n #optimole-app .pagination-list {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n text-align: center; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link,\n #optimole-app .pagination-ellipsis {\n font-size: 1em;\n padding-left: 0.5em;\n padding-right: 0.5em;\n -ms-flex-pack: center;\n justify-content: center;\n margin: 0.25rem;\n text-align: center; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link {\n border-color: #dbdbdb;\n color: #363636;\n min-width: 2.25em; }\n #optimole-app .pagination-previous:hover,\n #optimole-app .pagination-next:hover,\n #optimole-app .pagination-link:hover {\n border-color: #b5b5b5;\n color: #363636; }\n #optimole-app .pagination-previous:focus,\n #optimole-app .pagination-next:focus,\n #optimole-app .pagination-link:focus {\n border-color: #3273dc; }\n #optimole-app .pagination-previous:active,\n #optimole-app .pagination-next:active,\n #optimole-app .pagination-link:active {\n box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }\n #optimole-app .pagination-previous[disabled],\n #optimole-app .pagination-next[disabled],\n #optimole-app .pagination-link[disabled] {\n background-color: #dbdbdb;\n border-color: #dbdbdb;\n box-shadow: none;\n color: #7a7a7a;\n opacity: 0.5; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next {\n padding-left: 0.75em;\n padding-right: 0.75em;\n white-space: nowrap; }\n #optimole-app .pagination-link.is-current {\n background-color: #3273dc;\n border-color: #3273dc;\n color: #fff; }\n #optimole-app .pagination-ellipsis {\n color: #b5b5b5;\n pointer-events: none; }\n #optimole-app .pagination-list {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n @media screen and (max-width: 768px) {\n #optimole-app .pagination {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .pagination-list li {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .pagination-list {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n -ms-flex-pack: start;\n justify-content: flex-start;\n -ms-flex-order: 1;\n order: 1; }\n #optimole-app .pagination-previous {\n -ms-flex-order: 2;\n order: 2; }\n #optimole-app .pagination-next {\n -ms-flex-order: 3;\n order: 3; }\n #optimole-app .pagination {\n -ms-flex-pack: justify;\n justify-content: space-between; }\n #optimole-app .pagination.is-centered .pagination-previous {\n -ms-flex-order: 1;\n order: 1; }\n #optimole-app .pagination.is-centered .pagination-list {\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-order: 2;\n order: 2; }\n #optimole-app .pagination.is-centered .pagination-next {\n -ms-flex-order: 3;\n order: 3; }\n #optimole-app .pagination.is-right .pagination-previous {\n -ms-flex-order: 1;\n order: 1; }\n #optimole-app .pagination.is-right .pagination-next {\n -ms-flex-order: 2;\n order: 2; }\n #optimole-app .pagination.is-right .pagination-list {\n -ms-flex-pack: end;\n justify-content: flex-end;\n -ms-flex-order: 3;\n order: 3; } }\n #optimole-app .panel {\n font-size: 1rem; }\n #optimole-app .panel:not(:last-child) {\n margin-bottom: 1.5rem; }\n #optimole-app .panel-heading,\n #optimole-app .panel-tabs,\n #optimole-app .panel-block {\n border-bottom: 1px solid #dbdbdb;\n border-left: 1px solid #dbdbdb;\n border-right: 1px solid #dbdbdb; }\n #optimole-app .panel-heading:first-child,\n #optimole-app .panel-tabs:first-child,\n #optimole-app .panel-block:first-child {\n border-top: 1px solid #dbdbdb; }\n #optimole-app .panel-heading {\n background-color: whitesmoke;\n border-radius: 4px 4px 0 0;\n color: #363636;\n font-size: 1.25em;\n font-weight: 300;\n line-height: 1.25;\n padding: 0.5em 0.75em; }\n #optimole-app .panel-tabs {\n -ms-flex-align: end;\n align-items: flex-end;\n display: -ms-flexbox;\n display: flex;\n font-size: 0.875em;\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .panel-tabs a {\n border-bottom: 1px solid #dbdbdb;\n margin-bottom: -1px;\n padding: 0.5em; }\n #optimole-app .panel-tabs a.is-active {\n border-bottom-color: #4a4a4a;\n color: #363636; }\n #optimole-app .panel-list a {\n color: #4a4a4a; }\n #optimole-app .panel-list a:hover {\n color: #3273dc; }\n #optimole-app .panel-block {\n -ms-flex-align: center;\n align-items: center;\n color: #363636;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: start;\n justify-content: flex-start;\n padding: 0.5em 0.75em; }\n #optimole-app .panel-block input[type=\"checkbox\"] {\n margin-right: 0.75em; }\n #optimole-app .panel-block > .control {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n width: 100%; }\n #optimole-app .panel-block.is-wrapped {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n #optimole-app .panel-block.is-active {\n border-left-color: #3273dc;\n color: #363636; }\n #optimole-app .panel-block.is-active .panel-icon {\n color: #3273dc; }\n #optimole-app a.panel-block,\n #optimole-app label.panel-block {\n cursor: pointer; }\n #optimole-app a.panel-block:hover,\n #optimole-app label.panel-block:hover {\n background-color: whitesmoke; }\n #optimole-app .panel-icon {\n display: inline-block;\n font-size: 14px;\n height: 1em;\n line-height: 1em;\n text-align: center;\n vertical-align: top;\n width: 1em;\n color: #7a7a7a;\n margin-right: 0.75em; }\n #optimole-app .panel-icon .fa {\n font-size: inherit;\n line-height: inherit; }\n #optimole-app .tabs {\n -webkit-overflow-scrolling: touch;\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n font-size: 1rem;\n -ms-flex-pack: justify;\n justify-content: space-between;\n overflow: hidden;\n overflow-x: auto;\n white-space: nowrap; }\n #optimole-app .tabs a {\n -ms-flex-align: center;\n align-items: center;\n border-bottom-color: #dbdbdb;\n border-bottom-style: solid;\n border-bottom-width: 1px;\n color: #4a4a4a;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: -1px;\n padding: 0.5em 1em;\n vertical-align: top; }\n #optimole-app .tabs a:hover {\n border-bottom-color: #363636;\n color: #363636; }\n #optimole-app .tabs li {\n display: block; }\n #optimole-app .tabs li.is-active a {\n border-bottom-color: #3273dc;\n color: #3273dc; }\n #optimole-app .tabs ul {\n -ms-flex-align: center;\n align-items: center;\n border-bottom-color: #dbdbdb;\n border-bottom-style: solid;\n border-bottom-width: 1px;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .tabs ul.is-left {\n padding-right: 0.75em; }\n #optimole-app .tabs ul.is-center {\n -ms-flex: none;\n flex: none;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0.75em;\n padding-right: 0.75em; }\n #optimole-app .tabs ul.is-right {\n -ms-flex-pack: end;\n justify-content: flex-end;\n padding-left: 0.75em; }\n #optimole-app .tabs .icon:first-child {\n margin-right: 0.5em; }\n #optimole-app .tabs .icon:last-child {\n margin-left: 0.5em; }\n #optimole-app .tabs.is-centered ul {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .tabs.is-right ul {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .tabs.is-boxed a {\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0; }\n #optimole-app .tabs.is-boxed a:hover {\n background-color: whitesmoke;\n border-bottom-color: #dbdbdb; }\n #optimole-app .tabs.is-boxed li.is-active a {\n background-color: white;\n border-color: #dbdbdb;\n border-bottom-color: transparent !important; }\n #optimole-app .tabs.is-fullwidth li {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .tabs.is-toggle a {\n border-color: #dbdbdb;\n border-style: solid;\n border-width: 1px;\n margin-bottom: 0;\n position: relative; }\n #optimole-app .tabs.is-toggle a:hover {\n background-color: whitesmoke;\n border-color: #b5b5b5;\n z-index: 2; }\n #optimole-app .tabs.is-toggle li + li {\n margin-left: -1px; }\n #optimole-app .tabs.is-toggle li:first-child a {\n border-radius: 4px 0 0 4px; }\n #optimole-app .tabs.is-toggle li:last-child a {\n border-radius: 0 4px 4px 0; }\n #optimole-app .tabs.is-toggle li.is-active a {\n background-color: #3273dc;\n border-color: #3273dc;\n color: #fff;\n z-index: 1; }\n #optimole-app .tabs.is-toggle ul {\n border-bottom: none; }\n #optimole-app .tabs.is-toggle.is-toggle-rounded li:first-child a {\n border-bottom-left-radius: 290486px;\n border-top-left-radius: 290486px;\n padding-left: 1.25em; }\n #optimole-app .tabs.is-toggle.is-toggle-rounded li:last-child a {\n border-bottom-right-radius: 290486px;\n border-top-right-radius: 290486px;\n padding-right: 1.25em; }\n #optimole-app .tabs.is-small {\n font-size: 0.75rem; }\n #optimole-app .tabs.is-medium {\n font-size: 1.25rem; }\n #optimole-app .tabs.is-large {\n font-size: 1.5rem; }\n #optimole-app .column {\n display: block;\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n padding: 0.75rem; }\n .columns.is-mobile > #optimole-app .column.is-narrow {\n -ms-flex: none;\n flex: none; }\n .columns.is-mobile > #optimole-app .column.is-full {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n .columns.is-mobile > #optimole-app .column.is-three-quarters {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n .columns.is-mobile > #optimole-app .column.is-two-thirds {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n .columns.is-mobile > #optimole-app .column.is-half {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n .columns.is-mobile > #optimole-app .column.is-one-third {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n .columns.is-mobile > #optimole-app .column.is-one-quarter {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n .columns.is-mobile > #optimole-app .column.is-one-fifth {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n .columns.is-mobile > #optimole-app .column.is-two-fifths {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n .columns.is-mobile > #optimole-app .column.is-three-fifths {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n .columns.is-mobile > #optimole-app .column.is-four-fifths {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n .columns.is-mobile > #optimole-app .column.is-offset-three-quarters {\n margin-left: 75%; }\n .columns.is-mobile > #optimole-app .column.is-offset-two-thirds {\n margin-left: 66.6666%; }\n .columns.is-mobile > #optimole-app .column.is-offset-half {\n margin-left: 50%; }\n .columns.is-mobile > #optimole-app .column.is-offset-one-third {\n margin-left: 33.3333%; }\n .columns.is-mobile > #optimole-app .column.is-offset-one-quarter {\n margin-left: 25%; }\n .columns.is-mobile > #optimole-app .column.is-offset-one-fifth {\n margin-left: 20%; }\n .columns.is-mobile > #optimole-app .column.is-offset-two-fifths {\n margin-left: 40%; }\n .columns.is-mobile > #optimole-app .column.is-offset-three-fifths {\n margin-left: 60%; }\n .columns.is-mobile > #optimole-app .column.is-offset-four-fifths {\n margin-left: 80%; }\n .columns.is-mobile > #optimole-app .column.is-1 {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n .columns.is-mobile > #optimole-app .column.is-offset-1 {\n margin-left: 8.33333%; }\n .columns.is-mobile > #optimole-app .column.is-2 {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n .columns.is-mobile > #optimole-app .column.is-offset-2 {\n margin-left: 16.66667%; }\n .columns.is-mobile > #optimole-app .column.is-3 {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n .columns.is-mobile > #optimole-app .column.is-offset-3 {\n margin-left: 25%; }\n .columns.is-mobile > #optimole-app .column.is-4 {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n .columns.is-mobile > #optimole-app .column.is-offset-4 {\n margin-left: 33.33333%; }\n .columns.is-mobile > #optimole-app .column.is-5 {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n .columns.is-mobile > #optimole-app .column.is-offset-5 {\n margin-left: 41.66667%; }\n .columns.is-mobile > #optimole-app .column.is-6 {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n .columns.is-mobile > #optimole-app .column.is-offset-6 {\n margin-left: 50%; }\n .columns.is-mobile > #optimole-app .column.is-7 {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n .columns.is-mobile > #optimole-app .column.is-offset-7 {\n margin-left: 58.33333%; }\n .columns.is-mobile > #optimole-app .column.is-8 {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n .columns.is-mobile > #optimole-app .column.is-offset-8 {\n margin-left: 66.66667%; }\n .columns.is-mobile > #optimole-app .column.is-9 {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n .columns.is-mobile > #optimole-app .column.is-offset-9 {\n margin-left: 75%; }\n .columns.is-mobile > #optimole-app .column.is-10 {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n .columns.is-mobile > #optimole-app .column.is-offset-10 {\n margin-left: 83.33333%; }\n .columns.is-mobile > #optimole-app .column.is-11 {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n .columns.is-mobile > #optimole-app .column.is-offset-11 {\n margin-left: 91.66667%; }\n .columns.is-mobile > #optimole-app .column.is-12 {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n .columns.is-mobile > #optimole-app .column.is-offset-12 {\n margin-left: 100%; }\n @media screen and (max-width: 768px) {\n #optimole-app .column.is-narrow-mobile {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full-mobile {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters-mobile {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds-mobile {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half-mobile {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third-mobile {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter-mobile {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth-mobile {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths-mobile {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths-mobile {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths-mobile {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters-mobile {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds-mobile {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half-mobile {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third-mobile {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter-mobile {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth-mobile {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths-mobile {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths-mobile {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths-mobile {\n margin-left: 80%; }\n #optimole-app .column.is-1-mobile {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1-mobile {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2-mobile {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2-mobile {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3-mobile {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3-mobile {\n margin-left: 25%; }\n #optimole-app .column.is-4-mobile {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4-mobile {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5-mobile {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5-mobile {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6-mobile {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6-mobile {\n margin-left: 50%; }\n #optimole-app .column.is-7-mobile {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7-mobile {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8-mobile {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8-mobile {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9-mobile {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9-mobile {\n margin-left: 75%; }\n #optimole-app .column.is-10-mobile {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10-mobile {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11-mobile {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11-mobile {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12-mobile {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12-mobile {\n margin-left: 100%; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .column.is-narrow, #optimole-app .column.is-narrow-tablet {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full, #optimole-app .column.is-full-tablet {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters, #optimole-app .column.is-three-quarters-tablet {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds, #optimole-app .column.is-two-thirds-tablet {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half, #optimole-app .column.is-half-tablet {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third, #optimole-app .column.is-one-third-tablet {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter, #optimole-app .column.is-one-quarter-tablet {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth, #optimole-app .column.is-one-fifth-tablet {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths, #optimole-app .column.is-two-fifths-tablet {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths, #optimole-app .column.is-three-fifths-tablet {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths, #optimole-app .column.is-four-fifths-tablet {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters, #optimole-app .column.is-offset-three-quarters-tablet {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds, #optimole-app .column.is-offset-two-thirds-tablet {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half, #optimole-app .column.is-offset-half-tablet {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third, #optimole-app .column.is-offset-one-third-tablet {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter, #optimole-app .column.is-offset-one-quarter-tablet {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth, #optimole-app .column.is-offset-one-fifth-tablet {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths, #optimole-app .column.is-offset-two-fifths-tablet {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths, #optimole-app .column.is-offset-three-fifths-tablet {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths, #optimole-app .column.is-offset-four-fifths-tablet {\n margin-left: 80%; }\n #optimole-app .column.is-1, #optimole-app .column.is-1-tablet {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1, #optimole-app .column.is-offset-1-tablet {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2, #optimole-app .column.is-2-tablet {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2, #optimole-app .column.is-offset-2-tablet {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3, #optimole-app .column.is-3-tablet {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3, #optimole-app .column.is-offset-3-tablet {\n margin-left: 25%; }\n #optimole-app .column.is-4, #optimole-app .column.is-4-tablet {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4, #optimole-app .column.is-offset-4-tablet {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5, #optimole-app .column.is-5-tablet {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5, #optimole-app .column.is-offset-5-tablet {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6, #optimole-app .column.is-6-tablet {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6, #optimole-app .column.is-offset-6-tablet {\n margin-left: 50%; }\n #optimole-app .column.is-7, #optimole-app .column.is-7-tablet {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7, #optimole-app .column.is-offset-7-tablet {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8, #optimole-app .column.is-8-tablet {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8, #optimole-app .column.is-offset-8-tablet {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9, #optimole-app .column.is-9-tablet {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9, #optimole-app .column.is-offset-9-tablet {\n margin-left: 75%; }\n #optimole-app .column.is-10, #optimole-app .column.is-10-tablet {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10, #optimole-app .column.is-offset-10-tablet {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11, #optimole-app .column.is-11-tablet {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11, #optimole-app .column.is-offset-11-tablet {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12, #optimole-app .column.is-12-tablet {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12, #optimole-app .column.is-offset-12-tablet {\n margin-left: 100%; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .column.is-narrow-touch {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full-touch {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters-touch {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds-touch {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half-touch {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third-touch {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter-touch {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth-touch {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths-touch {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths-touch {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths-touch {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters-touch {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds-touch {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half-touch {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third-touch {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter-touch {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth-touch {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths-touch {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths-touch {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths-touch {\n margin-left: 80%; }\n #optimole-app .column.is-1-touch {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1-touch {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2-touch {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2-touch {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3-touch {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3-touch {\n margin-left: 25%; }\n #optimole-app .column.is-4-touch {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4-touch {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5-touch {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5-touch {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6-touch {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6-touch {\n margin-left: 50%; }\n #optimole-app .column.is-7-touch {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7-touch {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8-touch {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8-touch {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9-touch {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9-touch {\n margin-left: 75%; }\n #optimole-app .column.is-10-touch {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10-touch {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11-touch {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11-touch {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12-touch {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12-touch {\n margin-left: 100%; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .column.is-narrow-desktop {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full-desktop {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters-desktop {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds-desktop {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half-desktop {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third-desktop {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter-desktop {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth-desktop {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths-desktop {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths-desktop {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths-desktop {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters-desktop {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds-desktop {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half-desktop {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third-desktop {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter-desktop {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth-desktop {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths-desktop {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths-desktop {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths-desktop {\n margin-left: 80%; }\n #optimole-app .column.is-1-desktop {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1-desktop {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2-desktop {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2-desktop {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3-desktop {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3-desktop {\n margin-left: 25%; }\n #optimole-app .column.is-4-desktop {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4-desktop {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5-desktop {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5-desktop {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6-desktop {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6-desktop {\n margin-left: 50%; }\n #optimole-app .column.is-7-desktop {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7-desktop {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8-desktop {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8-desktop {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9-desktop {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9-desktop {\n margin-left: 75%; }\n #optimole-app .column.is-10-desktop {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10-desktop {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11-desktop {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11-desktop {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12-desktop {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12-desktop {\n margin-left: 100%; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .column.is-narrow-widescreen {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full-widescreen {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters-widescreen {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds-widescreen {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half-widescreen {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third-widescreen {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter-widescreen {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth-widescreen {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths-widescreen {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths-widescreen {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths-widescreen {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters-widescreen {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds-widescreen {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half-widescreen {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third-widescreen {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter-widescreen {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth-widescreen {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths-widescreen {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths-widescreen {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths-widescreen {\n margin-left: 80%; }\n #optimole-app .column.is-1-widescreen {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1-widescreen {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2-widescreen {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2-widescreen {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3-widescreen {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3-widescreen {\n margin-left: 25%; }\n #optimole-app .column.is-4-widescreen {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4-widescreen {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5-widescreen {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5-widescreen {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6-widescreen {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6-widescreen {\n margin-left: 50%; }\n #optimole-app .column.is-7-widescreen {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7-widescreen {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8-widescreen {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8-widescreen {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9-widescreen {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9-widescreen {\n margin-left: 75%; }\n #optimole-app .column.is-10-widescreen {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10-widescreen {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11-widescreen {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11-widescreen {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12-widescreen {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12-widescreen {\n margin-left: 100%; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .column.is-narrow-fullhd {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full-fullhd {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters-fullhd {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds-fullhd {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half-fullhd {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third-fullhd {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter-fullhd {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth-fullhd {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths-fullhd {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths-fullhd {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths-fullhd {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters-fullhd {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds-fullhd {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half-fullhd {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third-fullhd {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter-fullhd {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth-fullhd {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths-fullhd {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths-fullhd {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths-fullhd {\n margin-left: 80%; }\n #optimole-app .column.is-1-fullhd {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1-fullhd {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2-fullhd {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2-fullhd {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3-fullhd {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3-fullhd {\n margin-left: 25%; }\n #optimole-app .column.is-4-fullhd {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4-fullhd {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5-fullhd {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5-fullhd {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6-fullhd {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6-fullhd {\n margin-left: 50%; }\n #optimole-app .column.is-7-fullhd {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7-fullhd {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8-fullhd {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8-fullhd {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9-fullhd {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9-fullhd {\n margin-left: 75%; }\n #optimole-app .column.is-10-fullhd {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10-fullhd {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11-fullhd {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11-fullhd {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12-fullhd {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12-fullhd {\n margin-left: 100%; } }\n #optimole-app .columns {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n margin-top: -0.75rem; }\n #optimole-app .columns:last-child {\n margin-bottom: -0.75rem; }\n #optimole-app .columns:not(:last-child) {\n margin-bottom: calc(1.5rem - 0.75rem); }\n #optimole-app .columns.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .columns.is-gapless {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0; }\n #optimole-app .columns.is-gapless > .column {\n margin: 0;\n padding: 0 !important; }\n #optimole-app .columns.is-gapless:not(:last-child) {\n margin-bottom: 1.5rem; }\n #optimole-app .columns.is-gapless:last-child {\n margin-bottom: 0; }\n #optimole-app .columns.is-mobile {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .columns.is-multiline {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n #optimole-app .columns.is-vcentered {\n -ms-flex-align: center;\n align-items: center; }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns:not(.is-desktop) {\n display: -ms-flexbox;\n display: flex; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-desktop {\n display: -ms-flexbox;\n display: flex; } }\n #optimole-app .columns.is-variable {\n --columnGap: 0.75rem;\n margin-left: calc(-1 * var(--columnGap));\n margin-right: calc(-1 * var(--columnGap)); }\n #optimole-app .columns.is-variable .column {\n padding-left: var(--columnGap);\n padding-right: var(--columnGap); }\n #optimole-app .columns.is-variable.is-0 {\n --columnGap: 0rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-0-mobile {\n --columnGap: 0rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-0-tablet {\n --columnGap: 0rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-0-tablet-only {\n --columnGap: 0rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-0-touch {\n --columnGap: 0rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-0-desktop {\n --columnGap: 0rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-0-desktop-only {\n --columnGap: 0rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-0-widescreen {\n --columnGap: 0rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-0-widescreen-only {\n --columnGap: 0rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-0-fullhd {\n --columnGap: 0rem; } }\n #optimole-app .columns.is-variable.is-1 {\n --columnGap: 0.25rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-1-mobile {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-1-tablet {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-1-tablet-only {\n --columnGap: 0.25rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-1-touch {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-1-desktop {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-1-desktop-only {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-1-widescreen {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-1-widescreen-only {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-1-fullhd {\n --columnGap: 0.25rem; } }\n #optimole-app .columns.is-variable.is-2 {\n --columnGap: 0.5rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-2-mobile {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-2-tablet {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-2-tablet-only {\n --columnGap: 0.5rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-2-touch {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-2-desktop {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-2-desktop-only {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-2-widescreen {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-2-widescreen-only {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-2-fullhd {\n --columnGap: 0.5rem; } }\n #optimole-app .columns.is-variable.is-3 {\n --columnGap: 0.75rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-3-mobile {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-3-tablet {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-3-tablet-only {\n --columnGap: 0.75rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-3-touch {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-3-desktop {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-3-desktop-only {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-3-widescreen {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-3-widescreen-only {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-3-fullhd {\n --columnGap: 0.75rem; } }\n #optimole-app .columns.is-variable.is-4 {\n --columnGap: 1rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-4-mobile {\n --columnGap: 1rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-4-tablet {\n --columnGap: 1rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-4-tablet-only {\n --columnGap: 1rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-4-touch {\n --columnGap: 1rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-4-desktop {\n --columnGap: 1rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-4-desktop-only {\n --columnGap: 1rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-4-widescreen {\n --columnGap: 1rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-4-widescreen-only {\n --columnGap: 1rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-4-fullhd {\n --columnGap: 1rem; } }\n #optimole-app .columns.is-variable.is-5 {\n --columnGap: 1.25rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-5-mobile {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-5-tablet {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-5-tablet-only {\n --columnGap: 1.25rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-5-touch {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-5-desktop {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-5-desktop-only {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-5-widescreen {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-5-widescreen-only {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-5-fullhd {\n --columnGap: 1.25rem; } }\n #optimole-app .columns.is-variable.is-6 {\n --columnGap: 1.5rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-6-mobile {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-6-tablet {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-6-tablet-only {\n --columnGap: 1.5rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-6-touch {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-6-desktop {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-6-desktop-only {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-6-widescreen {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-6-widescreen-only {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-6-fullhd {\n --columnGap: 1.5rem; } }\n #optimole-app .columns.is-variable.is-7 {\n --columnGap: 1.75rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-7-mobile {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-7-tablet {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-7-tablet-only {\n --columnGap: 1.75rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-7-touch {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-7-desktop {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-7-desktop-only {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-7-widescreen {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-7-widescreen-only {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-7-fullhd {\n --columnGap: 1.75rem; } }\n #optimole-app .columns.is-variable.is-8 {\n --columnGap: 2rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-8-mobile {\n --columnGap: 2rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-8-tablet {\n --columnGap: 2rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-8-tablet-only {\n --columnGap: 2rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-8-touch {\n --columnGap: 2rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-8-desktop {\n --columnGap: 2rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-8-desktop-only {\n --columnGap: 2rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-8-widescreen {\n --columnGap: 2rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-8-widescreen-only {\n --columnGap: 2rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-8-fullhd {\n --columnGap: 2rem; } }\n #optimole-app .tile {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: block;\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n min-height: -webkit-min-content;\n min-height: -moz-min-content;\n min-height: min-content; }\n #optimole-app .tile.is-ancestor {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n margin-top: -0.75rem; }\n #optimole-app .tile.is-ancestor:last-child {\n margin-bottom: -0.75rem; }\n #optimole-app .tile.is-ancestor:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .tile.is-child {\n margin: 0 !important; }\n #optimole-app .tile.is-parent {\n padding: 0.75rem; }\n #optimole-app .tile.is-vertical {\n -ms-flex-direction: column;\n flex-direction: column; }\n #optimole-app .tile.is-vertical > .tile.is-child:not(:last-child) {\n margin-bottom: 1.5rem !important; }\n @media screen and (min-width: 769px), print {\n #optimole-app .tile:not(.is-child) {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .tile.is-1 {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .tile.is-2 {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .tile.is-3 {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .tile.is-4 {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .tile.is-5 {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .tile.is-6 {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .tile.is-7 {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .tile.is-8 {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .tile.is-9 {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .tile.is-10 {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .tile.is-11 {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .tile.is-12 {\n -ms-flex: none;\n flex: none;\n width: 100%; } }\n #optimole-app .hero {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: justify;\n justify-content: space-between; }\n #optimole-app .hero .navbar {\n background: none; }\n #optimole-app .hero .tabs ul {\n border-bottom: none; }\n #optimole-app .hero.is-white {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .hero.is-white a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-white strong {\n color: inherit; }\n #optimole-app .hero.is-white .title {\n color: #0a0a0a; }\n #optimole-app .hero.is-white .subtitle {\n color: rgba(10, 10, 10, 0.9); }\n #optimole-app .hero.is-white .subtitle a:not(.button),\n #optimole-app .hero.is-white .subtitle strong {\n color: #0a0a0a; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-white .navbar-menu {\n background-color: white; } }\n #optimole-app .hero.is-white .navbar-item,\n #optimole-app .hero.is-white .navbar-link {\n color: rgba(10, 10, 10, 0.7); }\n #optimole-app .hero.is-white a.navbar-item:hover, #optimole-app .hero.is-white a.navbar-item.is-active,\n #optimole-app .hero.is-white .navbar-link:hover,\n #optimole-app .hero.is-white .navbar-link.is-active {\n background-color: #f2f2f2;\n color: #0a0a0a; }\n #optimole-app .hero.is-white .tabs a {\n color: #0a0a0a;\n opacity: 0.9; }\n #optimole-app .hero.is-white .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-white .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-white .tabs.is-boxed a, #optimole-app .hero.is-white .tabs.is-toggle a {\n color: #0a0a0a; }\n #optimole-app .hero.is-white .tabs.is-boxed a:hover, #optimole-app .hero.is-white .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-white .tabs.is-boxed li.is-active a, #optimole-app .hero.is-white .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-white .tabs.is-toggle li.is-active a, #optimole-app .hero.is-white .tabs.is-toggle li.is-active a:hover {\n background-color: #0a0a0a;\n border-color: #0a0a0a;\n color: white; }\n #optimole-app .hero.is-white.is-bold {\n background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-white.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); } }\n #optimole-app .hero.is-black {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .hero.is-black a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-black strong {\n color: inherit; }\n #optimole-app .hero.is-black .title {\n color: white; }\n #optimole-app .hero.is-black .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-black .subtitle a:not(.button),\n #optimole-app .hero.is-black .subtitle strong {\n color: white; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-black .navbar-menu {\n background-color: #0a0a0a; } }\n #optimole-app .hero.is-black .navbar-item,\n #optimole-app .hero.is-black .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-black a.navbar-item:hover, #optimole-app .hero.is-black a.navbar-item.is-active,\n #optimole-app .hero.is-black .navbar-link:hover,\n #optimole-app .hero.is-black .navbar-link.is-active {\n background-color: black;\n color: white; }\n #optimole-app .hero.is-black .tabs a {\n color: white;\n opacity: 0.9; }\n #optimole-app .hero.is-black .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-black .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-black .tabs.is-boxed a, #optimole-app .hero.is-black .tabs.is-toggle a {\n color: white; }\n #optimole-app .hero.is-black .tabs.is-boxed a:hover, #optimole-app .hero.is-black .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-black .tabs.is-boxed li.is-active a, #optimole-app .hero.is-black .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-black .tabs.is-toggle li.is-active a, #optimole-app .hero.is-black .tabs.is-toggle li.is-active a:hover {\n background-color: white;\n border-color: white;\n color: #0a0a0a; }\n #optimole-app .hero.is-black.is-bold {\n background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-black.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }\n #optimole-app .hero.is-light {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .hero.is-light a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-light strong {\n color: inherit; }\n #optimole-app .hero.is-light .title {\n color: #363636; }\n #optimole-app .hero.is-light .subtitle {\n color: rgba(54, 54, 54, 0.9); }\n #optimole-app .hero.is-light .subtitle a:not(.button),\n #optimole-app .hero.is-light .subtitle strong {\n color: #363636; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-light .navbar-menu {\n background-color: whitesmoke; } }\n #optimole-app .hero.is-light .navbar-item,\n #optimole-app .hero.is-light .navbar-link {\n color: rgba(54, 54, 54, 0.7); }\n #optimole-app .hero.is-light a.navbar-item:hover, #optimole-app .hero.is-light a.navbar-item.is-active,\n #optimole-app .hero.is-light .navbar-link:hover,\n #optimole-app .hero.is-light .navbar-link.is-active {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .hero.is-light .tabs a {\n color: #363636;\n opacity: 0.9; }\n #optimole-app .hero.is-light .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-light .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-light .tabs.is-boxed a, #optimole-app .hero.is-light .tabs.is-toggle a {\n color: #363636; }\n #optimole-app .hero.is-light .tabs.is-boxed a:hover, #optimole-app .hero.is-light .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-light .tabs.is-boxed li.is-active a, #optimole-app .hero.is-light .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-light .tabs.is-toggle li.is-active a, #optimole-app .hero.is-light .tabs.is-toggle li.is-active a:hover {\n background-color: #363636;\n border-color: #363636;\n color: whitesmoke; }\n #optimole-app .hero.is-light.is-bold {\n background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-light.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); } }\n #optimole-app .hero.is-dark {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-dark strong {\n color: inherit; }\n #optimole-app .hero.is-dark .title {\n color: whitesmoke; }\n #optimole-app .hero.is-dark .subtitle {\n color: rgba(245, 245, 245, 0.9); }\n #optimole-app .hero.is-dark .subtitle a:not(.button),\n #optimole-app .hero.is-dark .subtitle strong {\n color: whitesmoke; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-dark .navbar-menu {\n background-color: #363636; } }\n #optimole-app .hero.is-dark .navbar-item,\n #optimole-app .hero.is-dark .navbar-link {\n color: rgba(245, 245, 245, 0.7); }\n #optimole-app .hero.is-dark a.navbar-item:hover, #optimole-app .hero.is-dark a.navbar-item.is-active,\n #optimole-app .hero.is-dark .navbar-link:hover,\n #optimole-app .hero.is-dark .navbar-link.is-active {\n background-color: #292929;\n color: whitesmoke; }\n #optimole-app .hero.is-dark .tabs a {\n color: whitesmoke;\n opacity: 0.9; }\n #optimole-app .hero.is-dark .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-dark .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-dark .tabs.is-boxed a, #optimole-app .hero.is-dark .tabs.is-toggle a {\n color: whitesmoke; }\n #optimole-app .hero.is-dark .tabs.is-boxed a:hover, #optimole-app .hero.is-dark .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-dark .tabs.is-boxed li.is-active a, #optimole-app .hero.is-dark .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-dark .tabs.is-toggle li.is-active a, #optimole-app .hero.is-dark .tabs.is-toggle li.is-active a:hover {\n background-color: whitesmoke;\n border-color: whitesmoke;\n color: #363636; }\n #optimole-app .hero.is-dark.is-bold {\n background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-dark.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); } }\n #optimole-app .hero.is-primary {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-primary strong {\n color: inherit; }\n #optimole-app .hero.is-primary .title {\n color: #fff; }\n #optimole-app .hero.is-primary .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-primary .subtitle a:not(.button),\n #optimole-app .hero.is-primary .subtitle strong {\n color: #fff; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-primary .navbar-menu {\n background-color: #EF686B; } }\n #optimole-app .hero.is-primary .navbar-item,\n #optimole-app .hero.is-primary .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-primary a.navbar-item:hover, #optimole-app .hero.is-primary a.navbar-item.is-active,\n #optimole-app .hero.is-primary .navbar-link:hover,\n #optimole-app .hero.is-primary .navbar-link.is-active {\n background-color: #ed5154;\n color: #fff; }\n #optimole-app .hero.is-primary .tabs a {\n color: #fff;\n opacity: 0.9; }\n #optimole-app .hero.is-primary .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-primary .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-primary .tabs.is-boxed a, #optimole-app .hero.is-primary .tabs.is-toggle a {\n color: #fff; }\n #optimole-app .hero.is-primary .tabs.is-boxed a:hover, #optimole-app .hero.is-primary .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-primary .tabs.is-boxed li.is-active a, #optimole-app .hero.is-primary .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-primary .tabs.is-toggle li.is-active a, #optimole-app .hero.is-primary .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: #EF686B; }\n #optimole-app .hero.is-primary.is-bold {\n background-image: linear-gradient(141deg, #f52f54 0%, #EF686B 71%, #f58d7c 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-primary.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #f52f54 0%, #EF686B 71%, #f58d7c 100%); } }\n #optimole-app .hero.is-link {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .hero.is-link a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-link strong {\n color: inherit; }\n #optimole-app .hero.is-link .title {\n color: #fff; }\n #optimole-app .hero.is-link .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-link .subtitle a:not(.button),\n #optimole-app .hero.is-link .subtitle strong {\n color: #fff; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-link .navbar-menu {\n background-color: #3273dc; } }\n #optimole-app .hero.is-link .navbar-item,\n #optimole-app .hero.is-link .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-link a.navbar-item:hover, #optimole-app .hero.is-link a.navbar-item.is-active,\n #optimole-app .hero.is-link .navbar-link:hover,\n #optimole-app .hero.is-link .navbar-link.is-active {\n background-color: #2366d1;\n color: #fff; }\n #optimole-app .hero.is-link .tabs a {\n color: #fff;\n opacity: 0.9; }\n #optimole-app .hero.is-link .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-link .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-link .tabs.is-boxed a, #optimole-app .hero.is-link .tabs.is-toggle a {\n color: #fff; }\n #optimole-app .hero.is-link .tabs.is-boxed a:hover, #optimole-app .hero.is-link .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-link .tabs.is-boxed li.is-active a, #optimole-app .hero.is-link .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-link .tabs.is-toggle li.is-active a, #optimole-app .hero.is-link .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: #3273dc; }\n #optimole-app .hero.is-link.is-bold {\n background-image: linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-link.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%); } }\n #optimole-app .hero.is-info {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .hero.is-info a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-info strong {\n color: inherit; }\n #optimole-app .hero.is-info .title {\n color: #fff; }\n #optimole-app .hero.is-info .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-info .subtitle a:not(.button),\n #optimole-app .hero.is-info .subtitle strong {\n color: #fff; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-info .navbar-menu {\n background-color: #5180C1; } }\n #optimole-app .hero.is-info .navbar-item,\n #optimole-app .hero.is-info .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-info a.navbar-item:hover, #optimole-app .hero.is-info a.navbar-item.is-active,\n #optimole-app .hero.is-info .navbar-link:hover,\n #optimole-app .hero.is-info .navbar-link.is-active {\n background-color: #4173b7;\n color: #fff; }\n #optimole-app .hero.is-info .tabs a {\n color: #fff;\n opacity: 0.9; }\n #optimole-app .hero.is-info .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-info .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-info .tabs.is-boxed a, #optimole-app .hero.is-info .tabs.is-toggle a {\n color: #fff; }\n #optimole-app .hero.is-info .tabs.is-boxed a:hover, #optimole-app .hero.is-info .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-info .tabs.is-boxed li.is-active a, #optimole-app .hero.is-info .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-info .tabs.is-toggle li.is-active a, #optimole-app .hero.is-info .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: #5180C1; }\n #optimole-app .hero.is-info.is-bold {\n background-image: linear-gradient(141deg, #2f7bb0 0%, #5180C1 71%, #5f7acd 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-info.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #2f7bb0 0%, #5180C1 71%, #5f7acd 100%); } }\n #optimole-app .hero.is-success {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .hero.is-success a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-success strong {\n color: inherit; }\n #optimole-app .hero.is-success .title {\n color: #fff; }\n #optimole-app .hero.is-success .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-success .subtitle a:not(.button),\n #optimole-app .hero.is-success .subtitle strong {\n color: #fff; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-success .navbar-menu {\n background-color: #34a85e; } }\n #optimole-app .hero.is-success .navbar-item,\n #optimole-app .hero.is-success .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-success a.navbar-item:hover, #optimole-app .hero.is-success a.navbar-item.is-active,\n #optimole-app .hero.is-success .navbar-link:hover,\n #optimole-app .hero.is-success .navbar-link.is-active {\n background-color: #2e9553;\n color: #fff; }\n #optimole-app .hero.is-success .tabs a {\n color: #fff;\n opacity: 0.9; }\n #optimole-app .hero.is-success .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-success .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-success .tabs.is-boxed a, #optimole-app .hero.is-success .tabs.is-toggle a {\n color: #fff; }\n #optimole-app .hero.is-success .tabs.is-boxed a:hover, #optimole-app .hero.is-success .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-success .tabs.is-boxed li.is-active a, #optimole-app .hero.is-success .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-success .tabs.is-toggle li.is-active a, #optimole-app .hero.is-success .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: #34a85e; }\n #optimole-app .hero.is-success.is-bold {\n background-image: linear-gradient(141deg, #1f8a34 0%, #34a85e 71%, #34c27f 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-success.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #1f8a34 0%, #34a85e 71%, #34c27f 100%); } }\n #optimole-app .hero.is-warning {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-warning strong {\n color: inherit; }\n #optimole-app .hero.is-warning .title {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .hero.is-warning .subtitle {\n color: rgba(0, 0, 0, 0.9); }\n #optimole-app .hero.is-warning .subtitle a:not(.button),\n #optimole-app .hero.is-warning .subtitle strong {\n color: rgba(0, 0, 0, 0.7); }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-warning .navbar-menu {\n background-color: #ffdd57; } }\n #optimole-app .hero.is-warning .navbar-item,\n #optimole-app .hero.is-warning .navbar-link {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .hero.is-warning a.navbar-item:hover, #optimole-app .hero.is-warning a.navbar-item.is-active,\n #optimole-app .hero.is-warning .navbar-link:hover,\n #optimole-app .hero.is-warning .navbar-link.is-active {\n background-color: #ffd83d;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .hero.is-warning .tabs a {\n color: rgba(0, 0, 0, 0.7);\n opacity: 0.9; }\n #optimole-app .hero.is-warning .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-warning .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-warning .tabs.is-boxed a, #optimole-app .hero.is-warning .tabs.is-toggle a {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .hero.is-warning .tabs.is-boxed a:hover, #optimole-app .hero.is-warning .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-warning .tabs.is-boxed li.is-active a, #optimole-app .hero.is-warning .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-warning .tabs.is-toggle li.is-active a, #optimole-app .hero.is-warning .tabs.is-toggle li.is-active a:hover {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: rgba(0, 0, 0, 0.7);\n color: #ffdd57; }\n #optimole-app .hero.is-warning.is-bold {\n background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-warning.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); } }\n #optimole-app .hero.is-danger {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-danger strong {\n color: inherit; }\n #optimole-app .hero.is-danger .title {\n color: #fff; }\n #optimole-app .hero.is-danger .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-danger .subtitle a:not(.button),\n #optimole-app .hero.is-danger .subtitle strong {\n color: #fff; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-danger .navbar-menu {\n background-color: #D54222; } }\n #optimole-app .hero.is-danger .navbar-item,\n #optimole-app .hero.is-danger .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-danger a.navbar-item:hover, #optimole-app .hero.is-danger a.navbar-item.is-active,\n #optimole-app .hero.is-danger .navbar-link:hover,\n #optimole-app .hero.is-danger .navbar-link.is-active {\n background-color: #bf3b1e;\n color: #fff; }\n #optimole-app .hero.is-danger .tabs a {\n color: #fff;\n opacity: 0.9; }\n #optimole-app .hero.is-danger .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-danger .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-danger .tabs.is-boxed a, #optimole-app .hero.is-danger .tabs.is-toggle a {\n color: #fff; }\n #optimole-app .hero.is-danger .tabs.is-boxed a:hover, #optimole-app .hero.is-danger .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-danger .tabs.is-boxed li.is-active a, #optimole-app .hero.is-danger .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-danger .tabs.is-toggle li.is-active a, #optimole-app .hero.is-danger .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: #D54222; }\n #optimole-app .hero.is-danger.is-bold {\n background-image: linear-gradient(141deg, #b31311 0%, #D54222 71%, #e46c2c 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-danger.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #b31311 0%, #D54222 71%, #e46c2c 100%); } }\n #optimole-app .hero.is-small .hero-body {\n padding-bottom: 1.5rem;\n padding-top: 1.5rem; }\n @media screen and (min-width: 769px), print {\n #optimole-app .hero.is-medium .hero-body {\n padding-bottom: 9rem;\n padding-top: 9rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .hero.is-large .hero-body {\n padding-bottom: 18rem;\n padding-top: 18rem; } }\n #optimole-app .hero.is-halfheight .hero-body, #optimole-app .hero.is-fullheight .hero-body, #optimole-app .hero.is-fullheight-with-navbar .hero-body {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .hero.is-halfheight .hero-body > .container, #optimole-app .hero.is-fullheight .hero-body > .container, #optimole-app .hero.is-fullheight-with-navbar .hero-body > .container {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .hero.is-halfheight {\n min-height: 50vh; }\n #optimole-app .hero.is-fullheight {\n min-height: 100vh; }\n #optimole-app .hero.is-fullheight-with-navbar {\n min-height: calc(100vh - 3.25rem); }\n #optimole-app .hero-video {\n overflow: hidden; }\n #optimole-app .hero-video video {\n left: 50%;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n top: 50%;\n transform: translate3d(-50%, -50%, 0); }\n #optimole-app .hero-video.is-transparent {\n opacity: 0.3; }\n @media screen and (max-width: 768px) {\n #optimole-app .hero-video {\n display: none; } }\n #optimole-app .hero-buttons {\n margin-top: 1.5rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .hero-buttons .button {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .hero-buttons .button:not(:last-child) {\n margin-bottom: 0.75rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .hero-buttons {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .hero-buttons .button:not(:last-child) {\n margin-right: 1.5rem; } }\n #optimole-app .hero-head,\n #optimole-app .hero-foot {\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .hero-body {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n padding: 3rem 1.5rem; }\n #optimole-app .section {\n padding: 3rem 1.5rem; }\n @media screen and (min-width: 1088px) {\n #optimole-app .section.is-medium {\n padding: 9rem 1.5rem; }\n #optimole-app .section.is-large {\n padding: 18rem 1.5rem; } }\n #optimole-app .footer {\n background-color: #fafafa;\n padding: 3rem 1.5rem 6rem; }\n #optimole-app .card {\n transition: all 750ms ease-in-out;\n border: 0;\n border-radius: .1875rem;\n box-shadow: 0 1px 15px 1px rgba(39, 39, 39, 0.1); }\n #optimole-app .logo {\n margin-bottom: 10px; }\n #optimole-app .logo img {\n max-width: 180px;\n margin: 0 auto; }\n #optimole-app .vue-js-switch {\n -ms-flex-item-align: center;\n -ms-grid-row-align: center;\n align-self: center; }\n #optimole-app .api-key-control {\n padding: 0 15px 0 0; }\n #optimole-app .api-key-field .button.is-danger {\n padding-left: 20px;\n padding-right: 20px; }\n #optimole-app .api-key-label {\n -ms-flex-item-align: center;\n -ms-grid-row-align: center;\n align-self: center;\n margin: 0.5em 10px 0.5em 0;\n font-size: 1em; }\n #optimole-app .header {\n padding: 0 1.5rem 0; }\n #optimole-app .header.level {\n margin-bottom: 0; }\n #optimole-app .account img {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px; }\n #optimole-app .account .label {\n margin-bottom: 0; }\n #optimole-app .optimized-images table td, #optimole-app .optimized-images table th {\n vertical-align: middle; }\n #optimole-app .media-diff {\n position: relative;\n margin: 0 auto; }\n #optimole-app .media-diff video, #optimole-app .media-diff img {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n #optimole-app .origin-wrapper {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n z-index: 1;\n transform: translateZ(0);\n will-change: width; }\n #optimole-app .handle {\n position: absolute;\n top: 0;\n bottom: 0;\n color: rgba(255, 255, 255, 0.8);\n background-color: rgba(255, 255, 255, 0.8);\n width: 2px;\n cursor: ew-resize;\n transform: translateX(-50%) translateZ(0);\n z-index: 2;\n will-change: left;\n left: 200px; }\n #optimole-app .cursor {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateZ(0); }\n #optimole-app .cursor .circle {\n background-color: rgba(255, 255, 255, 0.8);\n width: 24px;\n height: 24px;\n border-radius: 50%; }\n #optimole-app .no-padding-right {\n padding-right: 0px !important; }\n\n.fade-enter-active, .fade-leave-active {\n transition: opacity .5s; }\n\n.fade-enter, .fade-leave-to {\n opacity: 0; }\n\n.media_page_optimole #wpbody-content > * {\n display: none !important; }\n\n.media_page_optimole #wpbody-content > #optimole-app {\n display: block !important; }\n\n#optimole-app img.optml-image {\n float: left;\n max-width: 100px;\n width: auto;\n margin: auto; }\n\n#optimole-app img.optml-image-watermark {\n width: 50px; }\n\n.optml-ratio-feedback .emoji {\n font-size: 1.5em; }\n\n.optml-ratio-feedback {\n float: right;\n padding-right: 20px; }\n\n.optml-image-heading {\n text-align: left; }\n\nth.optml-image-ratio-heading {\n text-align: right !important;\n font-size: 150%; }\n\n@media screen and (max-width: 768px) {\n li:not(.is-active) > a > span:not(.icon) {\n visibility: hidden;\n position: absolute; }\n nav.tabs li:not(.is-active) {\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n .tabs .icon {\n margin-left: 0.5em; } }\n\n.tabs li {\n transition: flex-grow 1s ease;\n transition: flex-grow 1s ease, -ms-flex-positive 1s ease; }\n\n#optimole-app .tabs a {\n margin-bottom: -4px; }\n\n#optimole-app .optml-upgrade {\n min-width: 200px; }\n\n#optimole-app .is-tab {\n min-height: 700px; }\n", ""]);
|
13644 |
|
13645 |
// exports
|
13646 |
|
@@ -13688,6 +14482,7 @@ module.exports = {
|
|
13688 |
return {
|
13689 |
strings: optimoleDashboardApp.strings,
|
13690 |
home: optimoleDashboardApp.home_url,
|
|
|
13691 |
fetchStatus: false,
|
13692 |
tab: 'dashboard'
|
13693 |
};
|
@@ -13727,6 +14522,9 @@ module.exports = {
|
|
13727 |
// min-width: 200px;
|
13728 |
// }
|
13729 |
//
|
|
|
|
|
|
|
13730 |
// #optimole-app .is-tab {
|
13731 |
// min-height: 700px;
|
13732 |
// }
|
@@ -13767,13 +14565,13 @@ module.exports = {
|
|
13767 |
// </ul>
|
13768 |
// </div>
|
13769 |
//
|
13770 |
-
// <div class="is-tab" v-if="tab === 'dashboard' ">
|
13771 |
// <div class="notification is-success" v-if="strings.notice_just_activated.length > 0"
|
13772 |
// v-html="strings.notice_just_activated"></div>
|
13773 |
// <api-key-form></api-key-form>
|
13774 |
// <cdn-details v-if="this.$store.state.userData"></cdn-details>
|
13775 |
// <hr/>
|
13776 |
-
// <last-images :status="fetchStatus"></last-images>
|
13777 |
// </div>
|
13778 |
// <div class="is-tab" v-if=" tab === 'settings'">
|
13779 |
// <options></options>
|
@@ -13807,7 +14605,7 @@ module.exports = {
|
|
13807 |
// <ul>
|
13808 |
// <li><span class="dashicons dashicons-yes"></span>{{strings.upgrade.reason_1}}</li>
|
13809 |
// <li><span class="dashicons dashicons-yes"></span>{{strings.upgrade.reason_2}}</li>
|
13810 |
-
// <li><span class="dashicons dashicons-yes"></span>
|
13811 |
// </ul>
|
13812 |
// </div>
|
13813 |
// <div class="card-footer ">
|
@@ -13880,7 +14678,7 @@ exports = module.exports = __webpack_require__(0)();
|
|
13880 |
|
13881 |
|
13882 |
// module
|
13883 |
-
exports.push([module.i, "\n\t@media ( min-width: 769px ) {\n\t\t#optimole-app hr[_v-b80baa74] {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n", ""]);
|
13884 |
|
13885 |
// exports
|
13886 |
|
@@ -14366,17 +15164,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
14366 |
// <label v-if="isConnected"
|
14367 |
// class="label api-key-label has-text-grey-dark">{{strings.api_key_placeholder}}:</label>
|
14368 |
// <div class="control is-expanded api-key-control">
|
14369 |
-
// <input :type="isConnected ? 'password' : 'text'" :disabled="isConnected" name="api_key" class="input
|
14370 |
// :class="validKey ? '' : 'is-danger'" :placeholder="strings.api_key_placeholder"
|
14371 |
// v-model="apiKey">
|
14372 |
// </div>
|
14373 |
// <div class="control">
|
14374 |
-
// <button v-if="! isConnected" class="button button is-success
|
14375 |
// @click="connect" :class="{ 'is-loading' : this.$store.state.isConnecting }">
|
14376 |
// <span class="icon"><i class="dashicons dashicons-admin-plugins"></i></span>
|
14377 |
// <span>{{strings.connect_btn}}</span>
|
14378 |
// </button>
|
14379 |
-
// <button v-else class="button is-danger
|
14380 |
// :class="{ 'is-loading' : this.$store.state.isConnecting }">
|
14381 |
// <span class="icon"><i class="dashicons dashicons-dismiss"></i></span>
|
14382 |
// <span>{{strings.disconnect_btn}}</span>
|
@@ -14433,7 +15231,7 @@ exports.default = {
|
|
14433 |
/* 29 */
|
14434 |
/***/ (function(module, exports) {
|
14435 |
|
14436 |
-
module.exports = "\n\t<div>\n\t\t<div class=\"field has-addons api-key-field\">\n\t\t\t<label v-if=\"isConnected\"\n\t\t\t\t\tclass=\"label api-key-label has-text-grey-dark\">{{strings.api_key_placeholder}}:</label>\n\t\t\t<div class=\"control is-expanded api-key-control\">\n\t\t\t\t<input :type=\"isConnected ? 'password' : 'text'\" :disabled=\"isConnected\" name=\"api_key\" class=\"input
|
14437 |
|
14438 |
/***/ }),
|
14439 |
/* 30 */
|
@@ -15489,7 +16287,7 @@ exports = module.exports = __webpack_require__(0)();
|
|
15489 |
|
15490 |
|
15491 |
// module
|
15492 |
-
exports.push([module.i, "\n\t.optml-layout-grid .grid-button.is-selected[_v-3fe3cec8] {\n\t\tbackground: #4a4a4a;\n\t}\n\t\n\t.optml-layout-grid .grid-button[_v-3fe3cec8] {\n\t\twidth: 50px;\n\t\theight: 50px;\n\t\tdisplay: inline-block;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tborder-radius: 9px;\n\t\tborder: 5px solid #4a4a4a;\n\t}\n\t\n\t.optml-layout-grid[_v-3fe3cec8] {\n\t\twidth: 200px;\n\t\t\n\t}\n\t#optimole-app .input.is-small.is-tiny[_v-3fe3cec8]{\n\t\twidth:60px;\n\t}\n", ""]);
|
15493 |
|
15494 |
// exports
|
15495 |
|
@@ -15952,7 +16750,7 @@ exports.default = {
|
|
15952 |
|
15953 |
/*!
|
15954 |
* Name: vue-upload-component
|
15955 |
-
* Version: 2.8.
|
15956 |
* Author: LianYue
|
15957 |
*/
|
15958 |
(function (global, factory) {
|
@@ -16371,7 +17169,7 @@ exports.default = {
|
|
16371 |
}
|
16372 |
|
16373 |
/**
|
16374 |
-
* Gets the file
|
16375 |
*/
|
16376 |
|
16377 |
}, {
|
@@ -16529,9 +17327,11 @@ exports.default = {
|
|
16529 |
change: function change(e) {
|
16530 |
this.$parent.addInputFile(e.target);
|
16531 |
if (e.target.files) {
|
16532 |
-
e.target.type = '';
|
16533 |
e.target.value = '';
|
16534 |
-
|
|
|
|
|
|
|
16535 |
} else {
|
16536 |
// ie9 fix #219
|
16537 |
this.$destroy();
|
@@ -18054,7 +18854,7 @@ module.exports = "\n\t<div _v-3fe3cec8=\"\">\n\t\t<h4 _v-3fe3cec8=\"\">{{strings
|
|
18054 |
/* 52 */
|
18055 |
/***/ (function(module, exports) {
|
18056 |
|
18057 |
-
module.exports = "\n\t<div class=\"columns is-desktop\">\n\t\t\n\t\t<div class=\"column \">\n\t\t\t<div class=\"card\">\n\t\t\t\t<app-header></app-header>\n\t\t\t\t<div class=\"card-content\">\n\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t<connect-layout v-if=\"! this.$store.state.connected\"></connect-layout>\n\t\t\t\t\t\t<transition name=\"fade\" mode=\"out-in\">\n\t\t\t\t\t\t\t<div v-if=\"this.$store.state.connected\">\n\t\t\t\t\t\t\t\t<div class=\"tabs is-left is-boxed is-medium\">\n\t\t\t\t\t\t\t\t\t<ul class=\"is-marginless\">\n\t\t\t\t\t\t\t\t\t\t<li :class=\"tab === 'dashboard' ? 'is-active' : ''\">\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"changeTab('dashboard')\" class=\"is-size-6-mobile\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"icon is-size-6-mobile is-size-6-tablet dashicons dashicons-admin-home\"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"is-size-6-mobile is-size-6-touch \">{{strings.dashboard_menu_item}}</span>\n\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t<li :class=\"tab === 'settings' ? 'is-active' : ''\">\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"changeTab('settings')\" class=\"is-size-6-mobile \">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"icon is-size-6-mobile is-size-6-tablet dashicons dashicons-admin-settings\"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"is-size-6-mobile is-size-6-touch\">{{strings.settings_menu_item}}</span>\n\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t<li :class=\"tab === 'watermarks' ? 'is-active' : ''\">\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"changeTab('watermarks')\" class=\"is-size-6-mobile\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"icon is-size-6-mobile is-size-6-tablet dashicons dashicons-tag\"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"is-size-6-mobile is-size-6-touch\">{{strings.watermarks_menu_item}}</span>\n\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<div class=\"is-tab\" v-if=\"tab === 'dashboard' \">\n\t\t\t\t\t\t\t\t\t<div class=\"notification is-success\" v-if=\"strings.notice_just_activated.length > 0\"\n\t\t\t\t\t\t\t\t\t v-html=\"strings.notice_just_activated\"></div>\n\t\t\t\t\t\t\t\t\t<api-key-form></api-key-form>\n\t\t\t\t\t\t\t\t\t<cdn-details v-if=\"this.$store.state.userData\"></cdn-details>\n\t\t\t\t\t\t\t\t\t<hr/>\n\t\t\t\t\t\t\t\t\t<last-images :status=\"fetchStatus\"></last-images>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"is-tab\" v-if=\" tab === 'settings'\">\n\t\t\t\t\t\t\t\t\t<options></options>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"is-tab\" v-if=\" tab === 'watermarks'\">\n\t\t\t\t\t\t\t\t\t<watermarks></watermarks>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</transition>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t<div class=\"level-right\">\n\t\t\t\t\t<p class=\"level-item\"><a href=\"https://optimole.com\" target=\"_blank\">Optimole\n\t\t\t\t\t\tv{{strings.version}}</a></p>\n\t\t\t\t\t<p class=\"level-item\"><a href=\"https://optimole.com/terms/\"\n\t\t\t\t\t target=\"_blank\">{{strings.terms_menu}}</a></p>\n\t\t\t\t\t<p class=\"level-item\"><a href=\"https://optimole.com/privacy-policy/\" target=\"_blank\">{{strings.privacy_menu}}</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<p class=\"level-item\"><a :href=\"'https://speedtest.optimole.com/?url=' + home \" target=\"_blank\">{{strings.testdrive_menu}}</a>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if=\"this.$store.state.connected && this.$store.state.userData.plan === 'free' \" class=\"column is-narrow is-hidden-desktop-only is-hidden-tablet-only is-hidden-mobile\">\n\t\t\t<div class=\"card optml-upgrade\">\n\t\t\t\t<div class=\"card-header\">\n\t\t\t\t\t<h3 class=\"is-size-5 card-header-title\"><span class=\"dashicons dashicons-chart-line\"></span> {{strings.upgrade.title}}</h3>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-content\">\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li><span class=\"dashicons dashicons-yes\"></span>{{strings.upgrade.reason_1}}</li>\n\t\t\t\t\t\t<li><span class=\"dashicons dashicons-yes\"></span>{{strings.upgrade.reason_2}}</li>\n\t\t\t\t\t\t<li><span class=\"dashicons dashicons-yes\"></span>
|
18058 |
|
18059 |
/***/ }),
|
18060 |
/* 53 */
|
405 |
"use strict";
|
406 |
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
407 |
/* WEBPACK VAR INJECTION */(function(process, global, setImmediate) {/*!
|
408 |
+
* Vue.js v2.6.6
|
409 |
+
* (c) 2014-2019 Evan You
|
410 |
* Released under the MIT License.
|
411 |
*/
|
412 |
/* */
|
482 |
return n >= 0 && Math.floor(n) === n && isFinite(val)
|
483 |
}
|
484 |
|
485 |
+
function isPromise (val) {
|
486 |
+
return (
|
487 |
+
isDef(val) &&
|
488 |
+
typeof val.then === 'function' &&
|
489 |
+
typeof val.catch === 'function'
|
490 |
+
)
|
491 |
+
}
|
492 |
+
|
493 |
/**
|
494 |
* Convert a value to a string that is actually rendered.
|
495 |
*/
|
496 |
function toString (val) {
|
497 |
return val == null
|
498 |
? ''
|
499 |
+
: Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)
|
500 |
? JSON.stringify(val, null, 2)
|
501 |
: String(val)
|
502 |
}
|
772 |
'destroyed',
|
773 |
'activated',
|
774 |
'deactivated',
|
775 |
+
'errorCaptured',
|
776 |
+
'serverPrefetch'
|
777 |
];
|
778 |
|
779 |
/* */
|
876 |
|
877 |
/* */
|
878 |
|
879 |
+
/**
|
880 |
+
* unicode letters used for parsing html tags, component names and property paths.
|
881 |
+
* using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname
|
882 |
+
* skipping \u10000-\uEFFFF due to it freezing up PhantomJS
|
883 |
+
*/
|
884 |
+
var unicodeLetters = 'a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD';
|
885 |
+
|
886 |
/**
|
887 |
* Check if a string starts with $ or _
|
888 |
*/
|
906 |
/**
|
907 |
* Parse simple path.
|
908 |
*/
|
909 |
+
var bailRE = new RegExp(("[^" + unicodeLetters + ".$_\\d]"));
|
910 |
function parsePath (path) {
|
911 |
if (bailRE.test(path)) {
|
912 |
return
|
937 |
var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');
|
938 |
var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');
|
939 |
var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge;
|
940 |
+
var isPhantomJS = UA && /phantomjs/.test(UA);
|
941 |
+
var isFF = UA && UA.match(/firefox\/(\d+)/);
|
942 |
|
943 |
// Firefox has a "watch" function on Object.prototype...
|
944 |
var nativeWatch = ({}).watch;
|
1051 |
? vm.options
|
1052 |
: vm._isVue
|
1053 |
? vm.$options || vm.constructor.options
|
1054 |
+
: vm;
|
1055 |
var name = options.name || options._componentTag;
|
1056 |
var file = options.__file;
|
1057 |
if (!name && file) {
|
1146 |
}
|
1147 |
};
|
1148 |
|
1149 |
+
// The current target watcher being evaluated.
|
1150 |
+
// This is globally unique because only one watcher
|
1151 |
+
// can be evaluated at a time.
|
1152 |
Dep.target = null;
|
1153 |
var targetStack = [];
|
1154 |
|
1584 |
function mergeData (to, from) {
|
1585 |
if (!from) { return to }
|
1586 |
var key, toVal, fromVal;
|
1587 |
+
|
1588 |
+
var keys = hasSymbol
|
1589 |
+
? Reflect.ownKeys(from)
|
1590 |
+
: Object.keys(from);
|
1591 |
+
|
1592 |
for (var i = 0; i < keys.length; i++) {
|
1593 |
key = keys[i];
|
1594 |
+
// in case the object is already observed...
|
1595 |
+
if (key === '__ob__') { continue }
|
1596 |
toVal = to[key];
|
1597 |
fromVal = from[key];
|
1598 |
if (!hasOwn(to, key)) {
|
1682 |
parentVal,
|
1683 |
childVal
|
1684 |
) {
|
1685 |
+
var res = childVal
|
1686 |
? parentVal
|
1687 |
? parentVal.concat(childVal)
|
1688 |
: Array.isArray(childVal)
|
1689 |
? childVal
|
1690 |
: [childVal]
|
1691 |
+
: parentVal;
|
1692 |
+
return res
|
1693 |
+
? dedupeHooks(res)
|
1694 |
+
: res
|
1695 |
+
}
|
1696 |
+
|
1697 |
+
function dedupeHooks (hooks) {
|
1698 |
+
var res = [];
|
1699 |
+
for (var i = 0; i < hooks.length; i++) {
|
1700 |
+
if (res.indexOf(hooks[i]) === -1) {
|
1701 |
+
res.push(hooks[i]);
|
1702 |
+
}
|
1703 |
+
}
|
1704 |
+
return res
|
1705 |
}
|
1706 |
|
1707 |
LIFECYCLE_HOOKS.forEach(function (hook) {
|
1812 |
}
|
1813 |
|
1814 |
function validateComponentName (name) {
|
1815 |
+
if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + unicodeLetters + "]*$")).test(name)) {
|
1816 |
warn(
|
1817 |
'Invalid component name: "' + name + '". Component names ' +
|
1818 |
+
'should conform to valid custom element name in html5 specification.'
|
|
|
1819 |
);
|
1820 |
}
|
1821 |
if (isBuiltInTag(name) || config.isReservedTag(name)) {
|
1898 |
var dirs = options.directives;
|
1899 |
if (dirs) {
|
1900 |
for (var key in dirs) {
|
1901 |
+
var def$$1 = dirs[key];
|
1902 |
+
if (typeof def$$1 === 'function') {
|
1903 |
+
dirs[key] = { bind: def$$1, update: def$$1 };
|
1904 |
}
|
1905 |
}
|
1906 |
}
|
1936 |
normalizeProps(child, vm);
|
1937 |
normalizeInject(child, vm);
|
1938 |
normalizeDirectives(child);
|
1939 |
+
|
1940 |
// Apply extends and mixins on the child options,
|
1941 |
// but only if it is a raw options object that isn't
|
1942 |
// the result of another mergeOptions call.
|
2250 |
globalHandleError(err, vm, info);
|
2251 |
}
|
2252 |
|
2253 |
+
function invokeWithErrorHandling (
|
2254 |
+
handler,
|
2255 |
+
context,
|
2256 |
+
args,
|
2257 |
+
vm,
|
2258 |
+
info
|
2259 |
+
) {
|
2260 |
+
var res;
|
2261 |
+
try {
|
2262 |
+
res = args ? handler.apply(context, args) : handler.call(context);
|
2263 |
+
if (res && !res._isVue && isPromise(res)) {
|
2264 |
+
res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); });
|
2265 |
+
}
|
2266 |
+
} catch (e) {
|
2267 |
+
handleError(e, vm, info);
|
2268 |
+
}
|
2269 |
+
return res
|
2270 |
+
}
|
2271 |
+
|
2272 |
function globalHandleError (err, vm, info) {
|
2273 |
if (config.errorHandler) {
|
2274 |
try {
|
2275 |
return config.errorHandler.call(null, err, vm, info)
|
2276 |
} catch (e) {
|
2277 |
+
// if the user intentionally throws the original error in the handler,
|
2278 |
+
// do not log it twice
|
2279 |
+
if (e !== err) {
|
2280 |
+
logError(e, null, 'config.errorHandler');
|
2281 |
+
}
|
2282 |
}
|
2283 |
}
|
2284 |
logError(err, vm, info);
|
2298 |
|
2299 |
/* */
|
2300 |
|
2301 |
+
var isUsingMicroTask = false;
|
2302 |
+
|
2303 |
var callbacks = [];
|
2304 |
var pending = false;
|
2305 |
|
2312 |
}
|
2313 |
}
|
2314 |
|
2315 |
+
// Here we have async deferring wrappers using microtasks.
|
2316 |
+
// In 2.5 we used (macro) tasks (in combination with microtasks).
|
2317 |
+
// However, it has subtle problems when state is changed right before repaint
|
2318 |
+
// (e.g. #6813, out-in transitions).
|
2319 |
+
// Also, using (macro) tasks in event handler would cause some weird behaviors
|
2320 |
+
// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).
|
2321 |
+
// So we now use microtasks everywhere, again.
|
2322 |
+
// A major drawback of this tradeoff is that there are some scenarios
|
2323 |
+
// where microtasks have too high a priority and fire in between supposedly
|
2324 |
+
// sequential events (e.g. #4521, #6690, which have workarounds)
|
2325 |
+
// or even between bubbling of the same event (#6566).
|
2326 |
+
var timerFunc;
|
2327 |
+
|
2328 |
+
// The nextTick behavior leverages the microtask queue, which can be accessed
|
2329 |
+
// via either native Promise.then or MutationObserver.
|
2330 |
+
// MutationObserver has wider support, however it is seriously bugged in
|
2331 |
+
// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It
|
2332 |
+
// completely stops working after triggering a few times... so, if native
|
2333 |
+
// Promise is available, we will use it:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2334 |
/* istanbul ignore next, $flow-disable-line */
|
2335 |
if (typeof Promise !== 'undefined' && isNative(Promise)) {
|
2336 |
var p = Promise.resolve();
|
2337 |
+
timerFunc = function () {
|
2338 |
p.then(flushCallbacks);
|
2339 |
+
// In problematic UIWebViews, Promise.then doesn't completely break, but
|
2340 |
// it can get stuck in a weird state where callbacks are pushed into the
|
2341 |
// microtask queue but the queue isn't being flushed, until the browser
|
2342 |
// needs to do some other work, e.g. handle a timer. Therefore we can
|
2343 |
// "force" the microtask queue to be flushed by adding an empty timer.
|
2344 |
if (isIOS) { setTimeout(noop); }
|
2345 |
};
|
2346 |
+
isUsingMicroTask = true;
|
2347 |
+
} else if (!isIE && typeof MutationObserver !== 'undefined' && (
|
2348 |
+
isNative(MutationObserver) ||
|
2349 |
+
// PhantomJS and iOS 7.x
|
2350 |
+
MutationObserver.toString() === '[object MutationObserverConstructor]'
|
2351 |
+
)) {
|
2352 |
+
// Use MutationObserver where native Promise is not available,
|
2353 |
+
// e.g. PhantomJS, iOS7, Android 4.4
|
2354 |
+
// (#6466 MutationObserver is unreliable in IE11)
|
2355 |
+
var counter = 1;
|
2356 |
+
var observer = new MutationObserver(flushCallbacks);
|
2357 |
+
var textNode = document.createTextNode(String(counter));
|
2358 |
+
observer.observe(textNode, {
|
2359 |
+
characterData: true
|
2360 |
+
});
|
2361 |
+
timerFunc = function () {
|
2362 |
+
counter = (counter + 1) % 2;
|
2363 |
+
textNode.data = String(counter);
|
2364 |
+
};
|
2365 |
+
isUsingMicroTask = true;
|
2366 |
+
} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {
|
2367 |
+
// Fallback to setImmediate.
|
2368 |
+
// Techinically it leverages the (macro) task queue,
|
2369 |
+
// but it is still a better choice than setTimeout.
|
2370 |
+
timerFunc = function () {
|
2371 |
+
setImmediate(flushCallbacks);
|
2372 |
+
};
|
2373 |
} else {
|
2374 |
+
// Fallback to setTimeout.
|
2375 |
+
timerFunc = function () {
|
2376 |
+
setTimeout(flushCallbacks, 0);
|
2377 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2378 |
}
|
2379 |
|
2380 |
function nextTick (cb, ctx) {
|
2392 |
});
|
2393 |
if (!pending) {
|
2394 |
pending = true;
|
2395 |
+
timerFunc();
|
|
|
|
|
|
|
|
|
2396 |
}
|
2397 |
// $flow-disable-line
|
2398 |
if (!cb && typeof Promise !== 'undefined') {
|
2422 |
perf.measure(name, startTag, endTag);
|
2423 |
perf.clearMarks(startTag);
|
2424 |
perf.clearMarks(endTag);
|
2425 |
+
// perf.clearMeasures(name)
|
2426 |
};
|
2427 |
}
|
2428 |
}
|
2569 |
}
|
2570 |
});
|
2571 |
|
2572 |
+
function createFnInvoker (fns, vm) {
|
2573 |
function invoker () {
|
2574 |
var arguments$1 = arguments;
|
2575 |
|
2577 |
if (Array.isArray(fns)) {
|
2578 |
var cloned = fns.slice();
|
2579 |
for (var i = 0; i < cloned.length; i++) {
|
2580 |
+
invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler");
|
2581 |
}
|
2582 |
} else {
|
2583 |
// return handler return value for single handlers
|
2584 |
+
return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler")
|
2585 |
}
|
2586 |
}
|
2587 |
invoker.fns = fns;
|
2608 |
);
|
2609 |
} else if (isUndef(old)) {
|
2610 |
if (isUndef(cur.fns)) {
|
2611 |
+
cur = on[name] = createFnInvoker(cur, vm);
|
2612 |
}
|
2613 |
if (isTrue(event.once)) {
|
2614 |
cur = on[name] = createOnceHandler(event.name, cur, event.capture);
|
2819 |
|
2820 |
/* */
|
2821 |
|
2822 |
+
function initProvide (vm) {
|
2823 |
+
var provide = vm.$options.provide;
|
2824 |
+
if (provide) {
|
2825 |
+
vm._provided = typeof provide === 'function'
|
2826 |
+
? provide.call(vm)
|
2827 |
+
: provide;
|
2828 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2829 |
}
|
2830 |
|
2831 |
+
function initInjections (vm) {
|
2832 |
+
var result = resolveInject(vm.$options.inject, vm);
|
2833 |
+
if (result) {
|
2834 |
+
toggleObserving(false);
|
2835 |
+
Object.keys(result).forEach(function (key) {
|
2836 |
+
/* istanbul ignore else */
|
2837 |
+
if (process.env.NODE_ENV !== 'production') {
|
2838 |
+
defineReactive$$1(vm, key, result[key], function () {
|
2839 |
+
warn(
|
2840 |
+
"Avoid mutating an injected value directly since the changes will be " +
|
2841 |
+
"overwritten whenever the provided component re-renders. " +
|
2842 |
+
"injection being mutated: \"" + key + "\"",
|
2843 |
+
vm
|
2844 |
+
);
|
2845 |
+
});
|
2846 |
+
} else {
|
2847 |
+
defineReactive$$1(vm, key, result[key]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2848 |
}
|
2849 |
});
|
2850 |
+
toggleObserving(true);
|
2851 |
+
}
|
2852 |
+
}
|
2853 |
|
2854 |
+
function resolveInject (inject, vm) {
|
2855 |
+
if (inject) {
|
2856 |
+
// inject is :any because flow is not smart enough to figure out cached
|
2857 |
+
var result = Object.create(null);
|
2858 |
+
var keys = hasSymbol
|
2859 |
+
? Reflect.ownKeys(inject)
|
2860 |
+
: Object.keys(inject);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2861 |
|
2862 |
+
for (var i = 0; i < keys.length; i++) {
|
2863 |
+
var key = keys[i];
|
2864 |
+
// #6574 in case the inject object is observed...
|
2865 |
+
if (key === '__ob__') { continue }
|
2866 |
+
var provideKey = inject[key].from;
|
2867 |
+
var source = vm;
|
2868 |
+
while (source) {
|
2869 |
+
if (source._provided && hasOwn(source._provided, provideKey)) {
|
2870 |
+
result[key] = source._provided[provideKey];
|
2871 |
+
break
|
|
|
|
|
2872 |
}
|
2873 |
+
source = source.$parent;
|
2874 |
+
}
|
2875 |
+
if (!source) {
|
2876 |
+
if ('default' in inject[key]) {
|
2877 |
+
var provideDefault = inject[key].default;
|
2878 |
+
result[key] = typeof provideDefault === 'function'
|
2879 |
+
? provideDefault.call(vm)
|
2880 |
+
: provideDefault;
|
2881 |
+
} else if (process.env.NODE_ENV !== 'production') {
|
2882 |
+
warn(("Injection \"" + key + "\" not found"), vm);
|
|
|
2883 |
}
|
2884 |
}
|
2885 |
}
|
2886 |
+
return result
|
|
|
|
|
|
|
|
|
|
|
2887 |
}
|
2888 |
}
|
2889 |
|
2890 |
/* */
|
2891 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2892 |
|
|
|
2893 |
|
2894 |
+
/**
|
2895 |
+
* Runtime helper for resolving raw children VNodes into a slot object.
|
2896 |
+
*/
|
2897 |
+
function resolveSlots (
|
2898 |
+
children,
|
2899 |
+
context
|
2900 |
+
) {
|
2901 |
+
if (!children || !children.length) {
|
2902 |
+
return {}
|
2903 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2904 |
var slots = {};
|
|
|
|
|
|
|
2905 |
for (var i = 0, l = children.length; i < l; i++) {
|
2906 |
var child = children[i];
|
2907 |
var data = child.data;
|
2938 |
return (node.isComment && !node.asyncFactory) || node.text === ' '
|
2939 |
}
|
2940 |
|
2941 |
+
/* */
|
2942 |
+
|
2943 |
+
function normalizeScopedSlots (
|
2944 |
+
slots,
|
2945 |
+
normalSlots,
|
2946 |
+
prevSlots
|
2947 |
) {
|
2948 |
+
var res;
|
2949 |
+
if (!slots) {
|
2950 |
+
res = {};
|
2951 |
+
} else if (slots._normalized) {
|
2952 |
+
// fast path 1: child component re-render only, parent did not change
|
2953 |
+
return slots._normalized
|
2954 |
+
} else if (
|
2955 |
+
slots.$stable &&
|
2956 |
+
prevSlots &&
|
2957 |
+
prevSlots !== emptyObject &&
|
2958 |
+
Object.keys(normalSlots).length === 0
|
2959 |
+
) {
|
2960 |
+
// fast path 2: stable scoped slots w/ no normal slots to proxy,
|
2961 |
+
// only need to normalize once
|
2962 |
+
return prevSlots
|
2963 |
+
} else {
|
2964 |
+
res = {};
|
2965 |
+
for (var key in slots) {
|
2966 |
+
if (slots[key] && key[0] !== '$') {
|
2967 |
+
res[key] = normalizeScopedSlot(normalSlots, key, slots[key]);
|
2968 |
+
}
|
2969 |
}
|
2970 |
}
|
2971 |
+
// expose normal slots on scopedSlots
|
2972 |
+
for (var key$1 in normalSlots) {
|
2973 |
+
if (!(key$1 in res)) {
|
2974 |
+
res[key$1] = proxyNormalSlot(normalSlots, key$1);
|
2975 |
+
}
|
2976 |
+
}
|
2977 |
+
// avoriaz seems to mock a non-extensible $scopedSlots object
|
2978 |
+
// and when that is passed down this would cause an error
|
2979 |
+
if (slots && Object.isExtensible(slots)) {
|
2980 |
+
(slots)._normalized = res;
|
2981 |
+
}
|
2982 |
+
def(res, '$stable', slots ? !!slots.$stable : true);
|
2983 |
return res
|
2984 |
}
|
2985 |
|
2986 |
+
function normalizeScopedSlot(normalSlots, key, fn) {
|
2987 |
+
var normalized = function () {
|
2988 |
+
var res = arguments.length ? fn.apply(null, arguments) : fn({});
|
2989 |
+
res = res && typeof res === 'object' && !Array.isArray(res)
|
2990 |
+
? [res] // single vnode
|
2991 |
+
: normalizeChildren(res);
|
2992 |
+
return res && res.length === 0
|
2993 |
+
? undefined
|
2994 |
+
: res
|
2995 |
+
};
|
2996 |
+
// this is a slot using the new v-slot syntax without scope. although it is
|
2997 |
+
// compiled as a scoped slot, render fn users would expect it to be present
|
2998 |
+
// on this.$slots because the usage is semantically a normal slot.
|
2999 |
+
if (fn.proxy) {
|
3000 |
+
Object.defineProperty(normalSlots, key, {
|
3001 |
+
get: normalized,
|
3002 |
+
enumerable: true,
|
3003 |
+
configurable: true
|
3004 |
+
});
|
3005 |
+
}
|
3006 |
+
return normalized
|
3007 |
+
}
|
3008 |
|
3009 |
+
function proxyNormalSlot(slots, key) {
|
3010 |
+
return function () { return slots[key]; }
|
3011 |
+
}
|
3012 |
|
3013 |
+
/* */
|
3014 |
+
|
3015 |
+
/**
|
3016 |
+
* Runtime helper for rendering v-for lists.
|
3017 |
+
*/
|
3018 |
+
function renderList (
|
3019 |
+
val,
|
3020 |
+
render
|
3021 |
+
) {
|
3022 |
+
var ret, i, l, keys, key;
|
3023 |
+
if (Array.isArray(val) || typeof val === 'string') {
|
3024 |
+
ret = new Array(val.length);
|
3025 |
+
for (i = 0, l = val.length; i < l; i++) {
|
3026 |
+
ret[i] = render(val[i], i);
|
3027 |
+
}
|
3028 |
+
} else if (typeof val === 'number') {
|
3029 |
+
ret = new Array(val);
|
3030 |
+
for (i = 0; i < val; i++) {
|
3031 |
+
ret[i] = render(i + 1, i);
|
3032 |
+
}
|
3033 |
+
} else if (isObject(val)) {
|
3034 |
+
if (hasSymbol && val[Symbol.iterator]) {
|
3035 |
+
ret = [];
|
3036 |
+
var iterator = val[Symbol.iterator]();
|
3037 |
+
var result = iterator.next();
|
3038 |
+
while (!result.done) {
|
3039 |
+
ret.push(render(result.value, ret.length));
|
3040 |
+
result = iterator.next();
|
3041 |
+
}
|
3042 |
+
} else {
|
3043 |
+
keys = Object.keys(val);
|
3044 |
+
ret = new Array(keys.length);
|
3045 |
+
for (i = 0, l = keys.length; i < l; i++) {
|
3046 |
+
key = keys[i];
|
3047 |
+
ret[i] = render(val[key], key, i);
|
3048 |
+
}
|
3049 |
+
}
|
3050 |
+
}
|
3051 |
+
if (!isDef(ret)) {
|
3052 |
+
ret = [];
|
3053 |
}
|
3054 |
+
(ret)._isVList = true;
|
3055 |
+
return ret
|
3056 |
}
|
3057 |
|
3058 |
+
/* */
|
|
|
3059 |
|
3060 |
+
/**
|
3061 |
+
* Runtime helper for rendering <slot>
|
3062 |
+
*/
|
3063 |
+
function renderSlot (
|
3064 |
+
name,
|
3065 |
+
fallback,
|
3066 |
+
props,
|
3067 |
+
bindObject
|
3068 |
+
) {
|
3069 |
+
var scopedSlotFn = this.$scopedSlots[name];
|
3070 |
+
var nodes;
|
3071 |
+
if (scopedSlotFn) { // scoped slot
|
3072 |
+
props = props || {};
|
3073 |
+
if (bindObject) {
|
3074 |
+
if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {
|
3075 |
+
warn(
|
3076 |
+
'slot v-bind without argument expects an Object',
|
3077 |
+
this
|
3078 |
+
);
|
3079 |
+
}
|
3080 |
+
props = extend(extend({}, bindObject), props);
|
3081 |
}
|
3082 |
+
nodes = scopedSlotFn(props) || fallback;
|
3083 |
+
} else {
|
3084 |
+
nodes = this.$slots[name] || fallback;
|
3085 |
}
|
3086 |
|
3087 |
+
var target = props && props.slot;
|
3088 |
+
if (target) {
|
3089 |
+
return this.$createElement('template', { slot: target }, nodes)
|
3090 |
+
} else {
|
3091 |
+
return nodes
|
3092 |
+
}
|
3093 |
+
}
|
3094 |
|
3095 |
+
/* */
|
|
|
3096 |
|
3097 |
+
/**
|
3098 |
+
* Runtime helper for resolving filters
|
3099 |
+
*/
|
3100 |
+
function resolveFilter (id) {
|
3101 |
+
return resolveAsset(this.$options, 'filters', id, true) || identity
|
|
|
3102 |
}
|
3103 |
|
3104 |
+
/* */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3105 |
|
3106 |
+
function isKeyNotMatch (expect, actual) {
|
3107 |
+
if (Array.isArray(expect)) {
|
3108 |
+
return expect.indexOf(actual) === -1
|
3109 |
+
} else {
|
3110 |
+
return expect !== actual
|
3111 |
+
}
|
3112 |
+
}
|
3113 |
|
3114 |
+
/**
|
3115 |
+
* Runtime helper for checking keyCodes from config.
|
3116 |
+
* exposed as Vue.prototype._k
|
3117 |
+
* passing in eventKeyName as last argument separately for backwards compat
|
3118 |
+
*/
|
3119 |
+
function checkKeyCodes (
|
3120 |
+
eventKeyCode,
|
3121 |
+
key,
|
3122 |
+
builtInKeyCode,
|
3123 |
+
eventKeyName,
|
3124 |
+
builtInKeyName
|
3125 |
+
) {
|
3126 |
+
var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;
|
3127 |
+
if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {
|
3128 |
+
return isKeyNotMatch(builtInKeyName, eventKeyName)
|
3129 |
+
} else if (mappedKeyCode) {
|
3130 |
+
return isKeyNotMatch(mappedKeyCode, eventKeyCode)
|
3131 |
+
} else if (eventKeyName) {
|
3132 |
+
return hyphenate(eventKeyName) !== key
|
3133 |
+
}
|
3134 |
+
}
|
3135 |
+
|
3136 |
+
/* */
|
3137 |
+
|
3138 |
+
/**
|
3139 |
+
* Runtime helper for merging v-bind="object" into a VNode's data.
|
3140 |
+
*/
|
3141 |
+
function bindObjectProps (
|
3142 |
+
data,
|
3143 |
+
tag,
|
3144 |
+
value,
|
3145 |
+
asProp,
|
3146 |
+
isSync
|
3147 |
+
) {
|
3148 |
+
if (value) {
|
3149 |
+
if (!isObject(value)) {
|
3150 |
+
process.env.NODE_ENV !== 'production' && warn(
|
3151 |
+
'v-bind without argument expects an Object or Array value',
|
3152 |
+
this
|
3153 |
+
);
|
3154 |
+
} else {
|
3155 |
+
if (Array.isArray(value)) {
|
3156 |
+
value = toObject(value);
|
3157 |
+
}
|
3158 |
+
var hash;
|
3159 |
+
var loop = function ( key ) {
|
3160 |
+
if (
|
3161 |
+
key === 'class' ||
|
3162 |
+
key === 'style' ||
|
3163 |
+
isReservedAttribute(key)
|
3164 |
+
) {
|
3165 |
+
hash = data;
|
3166 |
+
} else {
|
3167 |
+
var type = data.attrs && data.attrs.type;
|
3168 |
+
hash = asProp || config.mustUseProp(tag, type, key)
|
3169 |
+
? data.domProps || (data.domProps = {})
|
3170 |
+
: data.attrs || (data.attrs = {});
|
3171 |
+
}
|
3172 |
+
var camelizedKey = camelize(key);
|
3173 |
+
if (!(key in hash) && !(camelizedKey in hash)) {
|
3174 |
+
hash[key] = value[key];
|
3175 |
+
|
3176 |
+
if (isSync) {
|
3177 |
+
var on = data.on || (data.on = {});
|
3178 |
+
on[("update:" + camelizedKey)] = function ($event) {
|
3179 |
+
value[key] = $event;
|
3180 |
+
};
|
3181 |
+
}
|
3182 |
+
}
|
3183 |
+
};
|
3184 |
+
|
3185 |
+
for (var key in value) loop( key );
|
3186 |
}
|
3187 |
+
}
|
3188 |
+
return data
|
3189 |
+
}
|
3190 |
+
|
3191 |
+
/* */
|
3192 |
+
|
3193 |
+
/**
|
3194 |
+
* Runtime helper for rendering static trees.
|
3195 |
+
*/
|
3196 |
+
function renderStatic (
|
3197 |
+
index,
|
3198 |
+
isInFor
|
3199 |
+
) {
|
3200 |
+
var cached = this._staticTrees || (this._staticTrees = []);
|
3201 |
+
var tree = cached[index];
|
3202 |
+
// if has already-rendered static tree and not inside v-for,
|
3203 |
+
// we can reuse the same tree.
|
3204 |
+
if (tree && !isInFor) {
|
3205 |
+
return tree
|
3206 |
+
}
|
3207 |
+
// otherwise, render a fresh tree.
|
3208 |
+
tree = cached[index] = this.$options.staticRenderFns[index].call(
|
3209 |
+
this._renderProxy,
|
3210 |
+
null,
|
3211 |
+
this // for render fns generated for functional component templates
|
3212 |
+
);
|
3213 |
+
markStatic(tree, ("__static__" + index), false);
|
3214 |
+
return tree
|
3215 |
+
}
|
3216 |
+
|
3217 |
+
/**
|
3218 |
+
* Runtime helper for v-once.
|
3219 |
+
* Effectively it means marking the node as static with a unique key.
|
3220 |
+
*/
|
3221 |
+
function markOnce (
|
3222 |
+
tree,
|
3223 |
+
index,
|
3224 |
+
key
|
3225 |
+
) {
|
3226 |
+
markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true);
|
3227 |
+
return tree
|
3228 |
+
}
|
3229 |
+
|
3230 |
+
function markStatic (
|
3231 |
+
tree,
|
3232 |
+
key,
|
3233 |
+
isOnce
|
3234 |
+
) {
|
3235 |
+
if (Array.isArray(tree)) {
|
3236 |
+
for (var i = 0; i < tree.length; i++) {
|
3237 |
+
if (tree[i] && typeof tree[i] !== 'string') {
|
3238 |
+
markStaticNode(tree[i], (key + "_" + i), isOnce);
|
3239 |
+
}
|
3240 |
}
|
3241 |
+
} else {
|
3242 |
+
markStaticNode(tree, key, isOnce);
|
3243 |
+
}
|
3244 |
+
}
|
3245 |
+
|
3246 |
+
function markStaticNode (node, key, isOnce) {
|
3247 |
+
node.isStatic = true;
|
3248 |
+
node.key = key;
|
3249 |
+
node.isOnce = isOnce;
|
3250 |
+
}
|
3251 |
+
|
3252 |
+
/* */
|
3253 |
+
|
3254 |
+
function bindObjectListeners (data, value) {
|
3255 |
+
if (value) {
|
3256 |
+
if (!isPlainObject(value)) {
|
3257 |
+
process.env.NODE_ENV !== 'production' && warn(
|
3258 |
+
'v-on without argument expects an Object value',
|
3259 |
+
this
|
3260 |
+
);
|
3261 |
+
} else {
|
3262 |
+
var on = data.on = data.on ? extend({}, data.on) : {};
|
3263 |
+
for (var key in value) {
|
3264 |
+
var existing = on[key];
|
3265 |
+
var ours = value[key];
|
3266 |
+
on[key] = existing ? [].concat(existing, ours) : ours;
|
3267 |
+
}
|
3268 |
}
|
3269 |
+
}
|
3270 |
+
return data
|
3271 |
}
|
3272 |
|
3273 |
+
/* */
|
3274 |
+
|
3275 |
+
function resolveScopedSlots (
|
3276 |
+
fns, // see flow/vnode
|
3277 |
+
hasDynamicKeys,
|
3278 |
+
res
|
3279 |
) {
|
3280 |
+
res = res || { $stable: !hasDynamicKeys };
|
3281 |
+
for (var i = 0; i < fns.length; i++) {
|
3282 |
+
var slot = fns[i];
|
3283 |
+
if (Array.isArray(slot)) {
|
3284 |
+
resolveScopedSlots(slot, hasDynamicKeys, res);
|
3285 |
+
} else if (slot) {
|
3286 |
+
// marker for reverse proxying v-slot without scope on this.$slots
|
3287 |
+
if (slot.proxy) {
|
3288 |
+
slot.fn.proxy = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3289 |
}
|
3290 |
+
res[slot.key] = slot.fn;
|
3291 |
}
|
3292 |
}
|
3293 |
+
return res
|
3294 |
+
}
|
3295 |
|
3296 |
+
/* */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3297 |
|
3298 |
+
function bindDynamicKeys (baseObj, values) {
|
3299 |
+
for (var i = 0; i < values.length; i += 2) {
|
3300 |
+
var key = values[i];
|
3301 |
+
if (typeof key === 'string' && key) {
|
3302 |
+
baseObj[values[i]] = values[i + 1];
|
3303 |
+
} else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {
|
3304 |
+
// null is a speical value for explicitly removing a binding
|
3305 |
+
warn(
|
3306 |
+
("Invalid value for dynamic directive argument (expected string or null): " + key),
|
3307 |
+
this
|
3308 |
+
);
|
3309 |
+
}
|
3310 |
+
}
|
3311 |
+
return baseObj
|
3312 |
+
}
|
3313 |
|
3314 |
+
// helper to dynamically append modifier runtime markers to event names.
|
3315 |
+
// ensure only append when value is already string, otherwise it will be cast
|
3316 |
+
// to string and cause the type check to miss.
|
3317 |
+
function prependModifier (value, symbol) {
|
3318 |
+
return typeof value === 'string' ? symbol + value : value
|
3319 |
+
}
|
3320 |
+
|
3321 |
+
/* */
|
3322 |
+
|
3323 |
+
function installRenderHelpers (target) {
|
3324 |
+
target._o = markOnce;
|
3325 |
+
target._n = toNumber;
|
3326 |
+
target._s = toString;
|
3327 |
+
target._l = renderList;
|
3328 |
+
target._t = renderSlot;
|
3329 |
+
target._q = looseEqual;
|
3330 |
+
target._i = looseIndexOf;
|
3331 |
+
target._m = renderStatic;
|
3332 |
+
target._f = resolveFilter;
|
3333 |
+
target._k = checkKeyCodes;
|
3334 |
+
target._b = bindObjectProps;
|
3335 |
+
target._v = createTextVNode;
|
3336 |
+
target._e = createEmptyVNode;
|
3337 |
+
target._u = resolveScopedSlots;
|
3338 |
+
target._g = bindObjectListeners;
|
3339 |
+
target._d = bindDynamicKeys;
|
3340 |
+
target._p = prependModifier;
|
3341 |
+
}
|
3342 |
+
|
3343 |
+
/* */
|
3344 |
+
|
3345 |
+
function FunctionalRenderContext (
|
3346 |
+
data,
|
3347 |
+
props,
|
3348 |
+
children,
|
3349 |
+
parent,
|
3350 |
+
Ctor
|
3351 |
+
) {
|
3352 |
+
var this$1 = this;
|
3353 |
+
|
3354 |
+
var options = Ctor.options;
|
3355 |
+
// ensure the createElement function in functional components
|
3356 |
+
// gets a unique context - this is necessary for correct named slot check
|
3357 |
+
var contextVm;
|
3358 |
+
if (hasOwn(parent, '_uid')) {
|
3359 |
+
contextVm = Object.create(parent);
|
3360 |
+
// $flow-disable-line
|
3361 |
+
contextVm._original = parent;
|
3362 |
} else {
|
3363 |
+
// the context vm passed in is a functional context as well.
|
3364 |
+
// in this case we want to make sure we are able to get a hold to the
|
3365 |
+
// real context instance.
|
3366 |
+
contextVm = parent;
|
3367 |
+
// $flow-disable-line
|
3368 |
+
parent = parent._original;
|
3369 |
}
|
3370 |
+
var isCompiled = isTrue(options._compiled);
|
3371 |
+
var needNormalization = !isCompiled;
|
3372 |
+
|
3373 |
+
this.data = data;
|
3374 |
+
this.props = props;
|
3375 |
+
this.children = children;
|
3376 |
+
this.parent = parent;
|
3377 |
+
this.listeners = data.on || emptyObject;
|
3378 |
+
this.injections = resolveInject(options.inject, parent);
|
3379 |
+
this.slots = function () {
|
3380 |
+
if (!this$1.$slots) {
|
3381 |
+
normalizeScopedSlots(
|
3382 |
+
data.scopedSlots,
|
3383 |
+
this$1.$slots = resolveSlots(children, parent)
|
3384 |
+
);
|
3385 |
+
}
|
3386 |
+
return this$1.$slots
|
3387 |
+
};
|
3388 |
|
3389 |
+
Object.defineProperty(this, 'scopedSlots', ({
|
3390 |
+
enumerable: true,
|
3391 |
+
get: function get () {
|
3392 |
+
return normalizeScopedSlots(data.scopedSlots, this.slots())
|
|
|
|
|
|
|
|
|
3393 |
}
|
3394 |
+
}));
|
|
|
3395 |
|
3396 |
+
// support for compiled functional template
|
3397 |
+
if (isCompiled) {
|
3398 |
+
// exposing $options for renderStatic()
|
3399 |
+
this.$options = options;
|
3400 |
+
// pre-resolve slots for renderSlot()
|
3401 |
+
this.$slots = this.slots();
|
3402 |
+
this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);
|
3403 |
+
}
|
3404 |
+
|
3405 |
+
if (options._scopeId) {
|
3406 |
+
this._c = function (a, b, c, d) {
|
3407 |
+
var vnode = createElement(contextVm, a, b, c, d, needNormalization);
|
3408 |
+
if (vnode && !Array.isArray(vnode)) {
|
3409 |
+
vnode.fnScopeId = options._scopeId;
|
3410 |
+
vnode.fnContext = parent;
|
3411 |
+
}
|
3412 |
+
return vnode
|
3413 |
+
};
|
3414 |
+
} else {
|
3415 |
+
this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };
|
3416 |
}
|
|
|
3417 |
}
|
3418 |
|
3419 |
+
installRenderHelpers(FunctionalRenderContext.prototype);
|
3420 |
+
|
3421 |
+
function createFunctionalComponent (
|
3422 |
+
Ctor,
|
3423 |
propsData,
|
3424 |
+
data,
|
3425 |
+
contextVm,
|
3426 |
+
children
|
3427 |
) {
|
3428 |
+
var options = Ctor.options;
|
3429 |
+
var props = {};
|
3430 |
+
var propOptions = options.props;
|
3431 |
+
if (isDef(propOptions)) {
|
3432 |
+
for (var key in propOptions) {
|
3433 |
+
props[key] = validateProp(key, propOptions, propsData || emptyObject);
|
3434 |
+
}
|
3435 |
+
} else {
|
3436 |
+
if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
|
3437 |
+
if (isDef(data.props)) { mergeProps(props, data.props); }
|
3438 |
}
|
3439 |
|
3440 |
+
var renderContext = new FunctionalRenderContext(
|
3441 |
+
data,
|
3442 |
+
props,
|
3443 |
+
children,
|
3444 |
+
contextVm,
|
3445 |
+
Ctor
|
|
|
3446 |
);
|
3447 |
|
3448 |
+
var vnode = options.render.call(null, renderContext._c, renderContext);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3449 |
|
3450 |
+
if (vnode instanceof VNode) {
|
3451 |
+
return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)
|
3452 |
+
} else if (Array.isArray(vnode)) {
|
3453 |
+
var vnodes = normalizeChildren(vnode) || [];
|
3454 |
+
var res = new Array(vnodes.length);
|
3455 |
+
for (var i = 0; i < vnodes.length; i++) {
|
3456 |
+
res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);
|
|
|
|
|
3457 |
}
|
3458 |
+
return res
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3459 |
}
|
3460 |
+
}
|
3461 |
|
3462 |
+
function cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {
|
3463 |
+
// #7817 clone node before setting fnContext, otherwise if the node is reused
|
3464 |
+
// (e.g. it was from a cached normal slot) the fnContext causes named slots
|
3465 |
+
// that should not be matched to match.
|
3466 |
+
var clone = cloneVNode(vnode);
|
3467 |
+
clone.fnContext = contextVm;
|
3468 |
+
clone.fnOptions = options;
|
3469 |
if (process.env.NODE_ENV !== 'production') {
|
3470 |
+
(clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;
|
3471 |
}
|
3472 |
+
if (data.slot) {
|
3473 |
+
(clone.data || (clone.data = {})).slot = data.slot;
|
3474 |
+
}
|
3475 |
+
return clone
|
3476 |
}
|
3477 |
|
3478 |
+
function mergeProps (to, from) {
|
3479 |
+
for (var key in from) {
|
3480 |
+
to[camelize(key)] = from[key];
|
3481 |
}
|
|
|
3482 |
}
|
3483 |
|
3484 |
+
/* */
|
3485 |
+
|
3486 |
+
/* */
|
3487 |
+
|
3488 |
+
/* */
|
3489 |
+
|
3490 |
+
/* */
|
3491 |
+
|
3492 |
+
// inline hooks to be invoked on component VNodes during patch
|
3493 |
+
var componentVNodeHooks = {
|
3494 |
+
init: function init (vnode, hydrating) {
|
3495 |
+
if (
|
3496 |
+
vnode.componentInstance &&
|
3497 |
+
!vnode.componentInstance._isDestroyed &&
|
3498 |
+
vnode.data.keepAlive
|
3499 |
+
) {
|
3500 |
+
// kept-alive components, treat as a patch
|
3501 |
+
var mountedNode = vnode; // work around flow
|
3502 |
+
componentVNodeHooks.prepatch(mountedNode, mountedNode);
|
3503 |
+
} else {
|
3504 |
+
var child = vnode.componentInstance = createComponentInstanceForVnode(
|
3505 |
+
vnode,
|
3506 |
+
activeInstance
|
3507 |
+
);
|
3508 |
+
child.$mount(hydrating ? vnode.elm : undefined, hydrating);
|
3509 |
}
|
3510 |
+
},
|
3511 |
+
|
3512 |
+
prepatch: function prepatch (oldVnode, vnode) {
|
3513 |
+
var options = vnode.componentOptions;
|
3514 |
+
var child = vnode.componentInstance = oldVnode.componentInstance;
|
3515 |
+
updateChildComponent(
|
3516 |
+
child,
|
3517 |
+
options.propsData, // updated props
|
3518 |
+
options.listeners, // updated listeners
|
3519 |
+
vnode, // new parent vnode
|
3520 |
+
options.children // new children
|
3521 |
+
);
|
3522 |
+
},
|
3523 |
+
|
3524 |
+
insert: function insert (vnode) {
|
3525 |
+
var context = vnode.context;
|
3526 |
+
var componentInstance = vnode.componentInstance;
|
3527 |
+
if (!componentInstance._isMounted) {
|
3528 |
+
componentInstance._isMounted = true;
|
3529 |
+
callHook(componentInstance, 'mounted');
|
3530 |
}
|
3531 |
+
if (vnode.data.keepAlive) {
|
3532 |
+
if (context._isMounted) {
|
3533 |
+
// vue-router#1212
|
3534 |
+
// During updates, a kept-alive component's child components may
|
3535 |
+
// change, so directly walking the tree here may call activated hooks
|
3536 |
+
// on incorrect children. Instead we push them into a queue which will
|
3537 |
+
// be processed after the whole patch process ended.
|
3538 |
+
queueActivatedComponent(componentInstance);
|
3539 |
+
} else {
|
3540 |
+
activateChildComponent(componentInstance, true /* direct */);
|
3541 |
+
}
|
3542 |
+
}
|
3543 |
+
},
|
3544 |
|
3545 |
+
destroy: function destroy (vnode) {
|
3546 |
+
var componentInstance = vnode.componentInstance;
|
3547 |
+
if (!componentInstance._isDestroyed) {
|
3548 |
+
if (!vnode.data.keepAlive) {
|
3549 |
+
componentInstance.$destroy();
|
3550 |
+
} else {
|
3551 |
+
deactivateChildComponent(componentInstance, true /* direct */);
|
3552 |
+
}
|
3553 |
}
|
3554 |
}
|
3555 |
+
};
|
3556 |
+
|
3557 |
+
var hooksToMerge = Object.keys(componentVNodeHooks);
|
3558 |
+
|
3559 |
+
function createComponent (
|
3560 |
+
Ctor,
|
3561 |
+
data,
|
3562 |
+
context,
|
3563 |
+
children,
|
3564 |
+
tag
|
3565 |
+
) {
|
3566 |
+
if (isUndef(Ctor)) {
|
3567 |
+
return
|
3568 |
+
}
|
3569 |
+
|
3570 |
+
var baseCtor = context.$options._base;
|
3571 |
+
|
3572 |
+
// plain options object: turn it into a constructor
|
3573 |
+
if (isObject(Ctor)) {
|
3574 |
+
Ctor = baseCtor.extend(Ctor);
|
3575 |
+
}
|
3576 |
+
|
3577 |
+
// if at this stage it's not a constructor or an async component factory,
|
3578 |
+
// reject.
|
3579 |
+
if (typeof Ctor !== 'function') {
|
3580 |
+
if (process.env.NODE_ENV !== 'production') {
|
3581 |
+
warn(("Invalid Component definition: " + (String(Ctor))), context);
|
3582 |
}
|
3583 |
+
return
|
3584 |
}
|
|
|
3585 |
|
3586 |
+
// async component
|
3587 |
+
var asyncFactory;
|
3588 |
+
if (isUndef(Ctor.cid)) {
|
3589 |
+
asyncFactory = Ctor;
|
3590 |
+
Ctor = resolveAsyncComponent(asyncFactory, baseCtor);
|
3591 |
+
if (Ctor === undefined) {
|
3592 |
+
// return a placeholder node for async component, which is rendered
|
3593 |
+
// as a comment node but preserves all the raw information for the node.
|
3594 |
+
// the information will be used for async server-rendering and hydration.
|
3595 |
+
return createAsyncPlaceholder(
|
3596 |
+
asyncFactory,
|
3597 |
+
data,
|
3598 |
+
context,
|
3599 |
+
children,
|
3600 |
+
tag
|
3601 |
+
)
|
3602 |
}
|
3603 |
}
|
|
|
|
|
|
|
|
|
|
|
3604 |
|
3605 |
+
data = data || {};
|
3606 |
|
3607 |
+
// resolve constructor options in case global mixins are applied after
|
3608 |
+
// component constructor creation
|
3609 |
+
resolveConstructorOptions(Ctor);
|
3610 |
|
3611 |
+
// transform component v-model data into props & events
|
3612 |
+
if (isDef(data.model)) {
|
3613 |
+
transformModel(Ctor.options, data);
|
3614 |
+
}
|
|
|
|
|
|
|
3615 |
|
3616 |
+
// extract props
|
3617 |
+
var propsData = extractPropsFromVNodeData(data, Ctor, tag);
|
3618 |
+
|
3619 |
+
// functional component
|
3620 |
+
if (isTrue(Ctor.options.functional)) {
|
3621 |
+
return createFunctionalComponent(Ctor, propsData, data, context, children)
|
|
|
|
|
3622 |
}
|
|
|
|
|
3623 |
|
3624 |
+
// extract listeners, since these needs to be treated as
|
3625 |
+
// child component listeners instead of DOM listeners
|
3626 |
+
var listeners = data.on;
|
3627 |
+
// replace with listeners with .native modifier
|
3628 |
+
// so it gets processed during parent component patch.
|
3629 |
+
data.on = data.nativeOn;
|
3630 |
|
3631 |
+
if (isTrue(Ctor.options.abstract)) {
|
3632 |
+
// abstract components do not keep anything
|
3633 |
+
// other than props & listeners & slot
|
|
|
|
|
|
|
|
|
|
|
|
|
3634 |
|
3635 |
+
// work around flow
|
3636 |
+
var slot = data.slot;
|
3637 |
+
data = {};
|
3638 |
+
if (slot) {
|
3639 |
+
data.slot = slot;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3640 |
}
|
3641 |
}
|
3642 |
|
3643 |
+
// install component management hooks onto the placeholder node
|
3644 |
+
installComponentHooks(data);
|
|
|
3645 |
|
3646 |
+
// return a placeholder vnode
|
3647 |
+
var name = Ctor.options.name || tag;
|
3648 |
+
var vnode = new VNode(
|
3649 |
+
("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')),
|
3650 |
+
data, undefined, undefined, undefined, context,
|
3651 |
+
{ Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },
|
3652 |
+
asyncFactory
|
3653 |
+
);
|
3654 |
|
3655 |
+
return vnode
|
3656 |
+
}
|
|
|
3657 |
|
3658 |
+
function createComponentInstanceForVnode (
|
3659 |
+
vnode, // we know it's MountedComponentVNode but flow doesn't
|
3660 |
+
parent // activeInstance in lifecycle state
|
3661 |
+
) {
|
3662 |
+
var options = {
|
3663 |
+
_isComponent: true,
|
3664 |
+
_parentVnode: vnode,
|
3665 |
+
parent: parent
|
3666 |
+
};
|
3667 |
+
// check inline-template render functions
|
3668 |
+
var inlineTemplate = vnode.data.inlineTemplate;
|
3669 |
+
if (isDef(inlineTemplate)) {
|
3670 |
+
options.render = inlineTemplate.render;
|
3671 |
+
options.staticRenderFns = inlineTemplate.staticRenderFns;
|
3672 |
}
|
3673 |
+
return new vnode.componentOptions.Ctor(options)
|
3674 |
}
|
3675 |
|
3676 |
+
function installComponentHooks (data) {
|
3677 |
+
var hooks = data.hook || (data.hook = {});
|
3678 |
+
for (var i = 0; i < hooksToMerge.length; i++) {
|
3679 |
+
var key = hooksToMerge[i];
|
3680 |
+
var existing = hooks[key];
|
3681 |
+
var toMerge = componentVNodeHooks[key];
|
3682 |
+
if (existing !== toMerge && !(existing && existing._merged)) {
|
3683 |
+
hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;
|
3684 |
}
|
3685 |
}
|
3686 |
}
|
3687 |
|
3688 |
+
function mergeHook$1 (f1, f2) {
|
3689 |
+
var merged = function (a, b) {
|
3690 |
+
// flow complains about extra args which is why we use any
|
3691 |
+
f1(a, b);
|
3692 |
+
f2(a, b);
|
3693 |
+
};
|
3694 |
+
merged._merged = true;
|
3695 |
+
return merged
|
|
|
3696 |
}
|
3697 |
|
3698 |
+
// transform component v-model info (value and callback) into
|
3699 |
+
// prop and event handler respectively.
|
3700 |
+
function transformModel (options, data) {
|
3701 |
+
var prop = (options.model && options.model.prop) || 'value';
|
3702 |
+
var event = (options.model && options.model.event) || 'input'
|
3703 |
+
;(data.attrs || (data.attrs = {}))[prop] = data.model.value;
|
3704 |
+
var on = data.on || (data.on = {});
|
3705 |
+
var existing = on[event];
|
3706 |
+
var callback = data.model.callback;
|
3707 |
+
if (isDef(existing)) {
|
3708 |
+
if (
|
3709 |
+
Array.isArray(existing)
|
3710 |
+
? existing.indexOf(callback) === -1
|
3711 |
+
: existing !== callback
|
3712 |
+
) {
|
3713 |
+
on[event] = [callback].concat(existing);
|
3714 |
+
}
|
3715 |
+
} else {
|
3716 |
+
on[event] = callback;
|
3717 |
}
|
3718 |
}
|
3719 |
|
3720 |
+
/* */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3721 |
|
3722 |
+
var SIMPLE_NORMALIZE = 1;
|
3723 |
+
var ALWAYS_NORMALIZE = 2;
|
3724 |
+
|
3725 |
+
// wrapper function for providing a more flexible interface
|
3726 |
+
// without getting yelled at by flow
|
3727 |
+
function createElement (
|
3728 |
+
context,
|
3729 |
+
tag,
|
3730 |
+
data,
|
3731 |
+
children,
|
3732 |
+
normalizationType,
|
3733 |
+
alwaysNormalize
|
3734 |
+
) {
|
3735 |
+
if (Array.isArray(data) || isPrimitive(data)) {
|
3736 |
+
normalizationType = children;
|
3737 |
+
children = data;
|
3738 |
+
data = undefined;
|
3739 |
+
}
|
3740 |
+
if (isTrue(alwaysNormalize)) {
|
3741 |
+
normalizationType = ALWAYS_NORMALIZE;
|
3742 |
}
|
3743 |
+
return _createElement(context, tag, data, children, normalizationType)
|
3744 |
}
|
3745 |
|
3746 |
+
function _createElement (
|
3747 |
+
context,
|
3748 |
+
tag,
|
3749 |
+
data,
|
3750 |
+
children,
|
3751 |
+
normalizationType
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3752 |
) {
|
3753 |
+
if (isDef(data) && isDef((data).__ob__)) {
|
3754 |
+
process.env.NODE_ENV !== 'production' && warn(
|
3755 |
+
"Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" +
|
3756 |
+
'Always create fresh vnode data objects in each render!',
|
3757 |
+
context
|
3758 |
+
);
|
3759 |
+
return createEmptyVNode()
|
3760 |
}
|
3761 |
+
// object syntax in v-bind
|
3762 |
+
if (isDef(data) && isDef(data.is)) {
|
3763 |
+
tag = data.is;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3764 |
}
|
3765 |
+
if (!tag) {
|
3766 |
+
// in case of component :is set to falsy value
|
3767 |
+
return createEmptyVNode()
|
3768 |
+
}
|
3769 |
+
// warn against non-primitive key
|
3770 |
+
if (process.env.NODE_ENV !== 'production' &&
|
3771 |
+
isDef(data) && isDef(data.key) && !isPrimitive(data.key)
|
3772 |
+
) {
|
3773 |
+
{
|
3774 |
+
warn(
|
3775 |
+
'Avoid using non-primitive value as key, ' +
|
3776 |
+
'use string/number value instead.',
|
3777 |
+
context
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3778 |
);
|
3779 |
}
|
3780 |
}
|
3781 |
+
// support single function children as default scoped slot
|
3782 |
+
if (Array.isArray(children) &&
|
3783 |
+
typeof children[0] === 'function'
|
3784 |
+
) {
|
3785 |
+
data = data || {};
|
3786 |
+
data.scopedSlots = { default: children[0] };
|
3787 |
+
children.length = 0;
|
3788 |
+
}
|
3789 |
+
if (normalizationType === ALWAYS_NORMALIZE) {
|
3790 |
+
children = normalizeChildren(children);
|
3791 |
+
} else if (normalizationType === SIMPLE_NORMALIZE) {
|
3792 |
+
children = simpleNormalizeChildren(children);
|
3793 |
+
}
|
3794 |
+
var vnode, ns;
|
3795 |
+
if (typeof tag === 'string') {
|
3796 |
+
var Ctor;
|
3797 |
+
ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);
|
3798 |
+
if (config.isReservedTag(tag)) {
|
3799 |
+
// platform built-in elements
|
3800 |
+
vnode = new VNode(
|
3801 |
+
config.parsePlatformTagName(tag), data, children,
|
3802 |
+
undefined, undefined, context
|
3803 |
+
);
|
3804 |
+
} else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {
|
3805 |
+
// component
|
3806 |
+
vnode = createComponent(Ctor, data, context, children, tag);
|
3807 |
} else {
|
3808 |
+
// unknown or unlisted namespaced elements
|
3809 |
+
// check at runtime because it may get assigned a namespace when its
|
3810 |
+
// parent normalizes children
|
3811 |
+
vnode = new VNode(
|
3812 |
+
tag, data, children,
|
3813 |
+
undefined, undefined, context
|
3814 |
+
);
|
3815 |
}
|
3816 |
+
} else {
|
3817 |
+
// direct component options / constructor
|
3818 |
+
vnode = createComponent(tag, data, context, children);
|
3819 |
}
|
3820 |
+
if (Array.isArray(vnode)) {
|
3821 |
+
return vnode
|
3822 |
+
} else if (isDef(vnode)) {
|
3823 |
+
if (isDef(ns)) { applyNS(vnode, ns); }
|
3824 |
+
if (isDef(data)) { registerDeepBindings(data); }
|
3825 |
+
return vnode
|
3826 |
+
} else {
|
3827 |
+
return createEmptyVNode()
|
3828 |
+
}
|
3829 |
+
}
|
3830 |
|
3831 |
+
function applyNS (vnode, ns, force) {
|
3832 |
+
vnode.ns = ns;
|
3833 |
+
if (vnode.tag === 'foreignObject') {
|
3834 |
+
// use default namespace inside foreignObject
|
3835 |
+
ns = undefined;
|
3836 |
+
force = true;
|
3837 |
+
}
|
3838 |
+
if (isDef(vnode.children)) {
|
3839 |
+
for (var i = 0, l = vnode.children.length; i < l; i++) {
|
3840 |
+
var child = vnode.children[i];
|
3841 |
+
if (isDef(child.tag) && (
|
3842 |
+
isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {
|
3843 |
+
applyNS(child, ns, force);
|
3844 |
+
}
|
3845 |
}
|
3846 |
}
|
3847 |
+
}
|
3848 |
|
3849 |
+
// ref #5318
|
3850 |
+
// necessary to ensure parent re-render when deep bindings like :style and
|
3851 |
+
// :class are used on slot nodes
|
3852 |
+
function registerDeepBindings (data) {
|
3853 |
+
if (isObject(data.style)) {
|
3854 |
+
traverse(data.style);
|
|
|
|
|
|
|
|
|
3855 |
}
|
3856 |
+
if (isObject(data.class)) {
|
3857 |
+
traverse(data.class);
|
3858 |
+
}
|
3859 |
+
}
|
3860 |
+
|
3861 |
+
/* */
|
3862 |
+
|
3863 |
+
function initRender (vm) {
|
3864 |
+
vm._vnode = null; // the root of the child tree
|
3865 |
+
vm._staticTrees = null; // v-once cached trees
|
3866 |
+
var options = vm.$options;
|
3867 |
+
var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree
|
3868 |
+
var renderContext = parentVnode && parentVnode.context;
|
3869 |
+
vm.$slots = resolveSlots(options._renderChildren, renderContext);
|
3870 |
+
vm.$scopedSlots = emptyObject;
|
3871 |
+
// bind the createElement fn to this instance
|
3872 |
+
// so that we get proper render context inside it.
|
3873 |
+
// args order: tag, data, children, normalizationType, alwaysNormalize
|
3874 |
+
// internal version is used by render functions compiled from templates
|
3875 |
+
vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };
|
3876 |
+
// normalization is always applied for the public version, used in
|
3877 |
+
// user-written render functions.
|
3878 |
+
vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };
|
3879 |
+
|
3880 |
+
// $attrs & $listeners are exposed for easier HOC creation.
|
3881 |
+
// they need to be reactive so that HOCs using them are always updated
|
3882 |
+
var parentData = parentVnode && parentVnode.data;
|
3883 |
|
|
|
|
|
|
|
|
|
|
|
3884 |
/* istanbul ignore else */
|
3885 |
+
if (process.env.NODE_ENV !== 'production') {
|
3886 |
+
defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {
|
3887 |
+
!isUpdatingChildComponent && warn("$attrs is readonly.", vm);
|
3888 |
+
}, true);
|
3889 |
+
defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {
|
3890 |
+
!isUpdatingChildComponent && warn("$listeners is readonly.", vm);
|
3891 |
+
}, true);
|
3892 |
} else {
|
3893 |
+
defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);
|
3894 |
+
defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);
|
3895 |
}
|
3896 |
+
}
|
3897 |
|
3898 |
+
var currentRenderingInstance = null;
|
3899 |
+
|
3900 |
+
function renderMixin (Vue) {
|
3901 |
+
// install runtime convenience helpers
|
3902 |
+
installRenderHelpers(Vue.prototype);
|
3903 |
+
|
3904 |
+
Vue.prototype.$nextTick = function (fn) {
|
3905 |
+
return nextTick(fn, this)
|
3906 |
+
};
|
3907 |
+
|
3908 |
+
Vue.prototype._render = function () {
|
3909 |
+
var vm = this;
|
3910 |
+
var ref = vm.$options;
|
3911 |
+
var render = ref.render;
|
3912 |
+
var _parentVnode = ref._parentVnode;
|
3913 |
+
|
3914 |
+
if (_parentVnode) {
|
3915 |
+
vm.$scopedSlots = normalizeScopedSlots(
|
3916 |
+
_parentVnode.data.scopedSlots,
|
3917 |
+
vm.$slots,
|
3918 |
+
vm.$scopedSlots
|
3919 |
+
);
|
3920 |
+
}
|
3921 |
+
|
3922 |
+
// set parent vnode. this allows render functions to have access
|
3923 |
+
// to the data on the placeholder node.
|
3924 |
+
vm.$vnode = _parentVnode;
|
3925 |
+
// render self
|
3926 |
+
var vnode;
|
3927 |
+
try {
|
3928 |
+
// There's no need to maintain a stack becaues all render fns are called
|
3929 |
+
// separately from one another. Nested component's render fns are called
|
3930 |
+
// when parent component is patched.
|
3931 |
+
currentRenderingInstance = vm;
|
3932 |
+
vnode = render.call(vm._renderProxy, vm.$createElement);
|
3933 |
+
} catch (e) {
|
3934 |
+
handleError(e, vm, "render");
|
3935 |
+
// return error render result,
|
3936 |
+
// or previous vnode to prevent render error causing blank component
|
3937 |
+
/* istanbul ignore else */
|
3938 |
+
if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {
|
3939 |
try {
|
3940 |
+
vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);
|
3941 |
} catch (e) {
|
3942 |
+
handleError(e, vm, "renderError");
|
3943 |
+
vnode = vm._vnode;
|
3944 |
}
|
3945 |
} else {
|
3946 |
+
vnode = vm._vnode;
|
3947 |
}
|
3948 |
+
} finally {
|
3949 |
+
currentRenderingInstance = null;
|
3950 |
}
|
3951 |
+
// if the returned array contains only a single node, allow it
|
3952 |
+
if (Array.isArray(vnode) && vnode.length === 1) {
|
3953 |
+
vnode = vnode[0];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3954 |
}
|
3955 |
+
// return empty vnode in case the render function errored out
|
3956 |
+
if (!(vnode instanceof VNode)) {
|
3957 |
+
if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {
|
3958 |
+
warn(
|
3959 |
+
'Multiple root nodes returned from render function. Render function ' +
|
3960 |
+
'should return a single root node.',
|
3961 |
+
vm
|
3962 |
+
);
|
3963 |
+
}
|
3964 |
+
vnode = createEmptyVNode();
|
3965 |
}
|
3966 |
+
// set parent
|
3967 |
+
vnode.parent = _parentVnode;
|
3968 |
+
return vnode
|
3969 |
+
};
|
3970 |
+
}
|
3971 |
|
3972 |
/* */
|
3973 |
|
3974 |
+
function ensureCtor (comp, base) {
|
3975 |
+
if (
|
3976 |
+
comp.__esModule ||
|
3977 |
+
(hasSymbol && comp[Symbol.toStringTag] === 'Module')
|
3978 |
+
) {
|
3979 |
+
comp = comp.default;
|
3980 |
+
}
|
3981 |
+
return isObject(comp)
|
3982 |
+
? base.extend(comp)
|
3983 |
+
: comp
|
3984 |
+
}
|
3985 |
|
3986 |
+
function createAsyncPlaceholder (
|
3987 |
+
factory,
|
3988 |
+
data,
|
3989 |
+
context,
|
3990 |
+
children,
|
3991 |
+
tag
|
3992 |
+
) {
|
3993 |
+
var node = createEmptyVNode();
|
3994 |
+
node.asyncFactory = factory;
|
3995 |
+
node.asyncMeta = { data: data, context: context, children: children, tag: tag };
|
3996 |
+
return node
|
3997 |
}
|
3998 |
|
3999 |
+
function resolveAsyncComponent (
|
4000 |
+
factory,
|
4001 |
+
baseCtor
|
4002 |
+
) {
|
4003 |
+
if (isTrue(factory.error) && isDef(factory.errorComp)) {
|
4004 |
+
return factory.errorComp
|
|
|
|
|
|
|
4005 |
}
|
4006 |
+
|
4007 |
+
if (isDef(factory.resolved)) {
|
4008 |
+
return factory.resolved
|
4009 |
}
|
|
|
4010 |
|
4011 |
+
if (isTrue(factory.loading) && isDef(factory.loadingComp)) {
|
4012 |
+
return factory.loadingComp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4013 |
}
|
4014 |
+
|
4015 |
+
var owner = currentRenderingInstance;
|
4016 |
+
if (isDef(factory.owners)) {
|
4017 |
+
// already pending
|
4018 |
+
factory.owners.push(owner);
|
4019 |
+
} else {
|
4020 |
+
var owners = factory.owners = [owner];
|
4021 |
+
var sync = true;
|
4022 |
+
|
4023 |
+
var forceRender = function (renderCompleted) {
|
4024 |
+
for (var i = 0, l = owners.length; i < l; i++) {
|
4025 |
+
(owners[i]).$forceUpdate();
|
4026 |
}
|
4027 |
+
|
4028 |
+
if (renderCompleted) {
|
4029 |
+
owners.length = 0;
|
4030 |
+
}
|
4031 |
+
};
|
4032 |
+
|
4033 |
+
var resolve = once(function (res) {
|
4034 |
+
// cache resolved
|
4035 |
+
factory.resolved = ensureCtor(res, baseCtor);
|
4036 |
+
// invoke callbacks only if this is not a synchronous resolve
|
4037 |
+
// (async resolves are shimmed as synchronous during SSR)
|
4038 |
+
if (!sync) {
|
4039 |
+
forceRender(true);
|
4040 |
+
} else {
|
4041 |
+
owners.length = 0;
|
4042 |
+
}
|
4043 |
+
});
|
4044 |
+
|
4045 |
+
var reject = once(function (reason) {
|
4046 |
+
process.env.NODE_ENV !== 'production' && warn(
|
4047 |
+
"Failed to resolve async component: " + (String(factory)) +
|
4048 |
+
(reason ? ("\nReason: " + reason) : '')
|
4049 |
+
);
|
4050 |
+
if (isDef(factory.errorComp)) {
|
4051 |
+
factory.error = true;
|
4052 |
+
forceRender(true);
|
4053 |
+
}
|
4054 |
+
});
|
4055 |
+
|
4056 |
+
var res = factory(resolve, reject);
|
4057 |
+
|
4058 |
+
if (isObject(res)) {
|
4059 |
+
if (isPromise(res)) {
|
4060 |
+
// () => Promise
|
4061 |
+
if (isUndef(factory.resolved)) {
|
4062 |
+
res.then(resolve, reject);
|
4063 |
+
}
|
4064 |
+
} else if (isPromise(res.component)) {
|
4065 |
+
res.component.then(resolve, reject);
|
4066 |
+
|
4067 |
+
if (isDef(res.error)) {
|
4068 |
+
factory.errorComp = ensureCtor(res.error, baseCtor);
|
4069 |
+
}
|
4070 |
+
|
4071 |
+
if (isDef(res.loading)) {
|
4072 |
+
factory.loadingComp = ensureCtor(res.loading, baseCtor);
|
4073 |
+
if (res.delay === 0) {
|
4074 |
+
factory.loading = true;
|
4075 |
+
} else {
|
4076 |
+
setTimeout(function () {
|
4077 |
+
if (isUndef(factory.resolved) && isUndef(factory.error)) {
|
4078 |
+
factory.loading = true;
|
4079 |
+
forceRender(false);
|
4080 |
+
}
|
4081 |
+
}, res.delay || 200);
|
4082 |
+
}
|
4083 |
}
|
4084 |
+
|
4085 |
+
if (isDef(res.timeout)) {
|
4086 |
+
setTimeout(function () {
|
4087 |
+
if (isUndef(factory.resolved)) {
|
4088 |
+
reject(
|
4089 |
+
process.env.NODE_ENV !== 'production'
|
4090 |
+
? ("timeout (" + (res.timeout) + "ms)")
|
4091 |
+
: null
|
4092 |
+
);
|
4093 |
+
}
|
4094 |
+
}, res.timeout);
|
4095 |
+
}
|
4096 |
+
}
|
4097 |
}
|
|
|
4098 |
|
4099 |
+
sync = false;
|
4100 |
+
// return in case resolved synchronously
|
4101 |
+
return factory.loading
|
4102 |
+
? factory.loadingComp
|
4103 |
+
: factory.resolved
|
4104 |
+
}
|
4105 |
}
|
4106 |
|
4107 |
+
/* */
|
4108 |
+
|
4109 |
+
function isAsyncPlaceholder (node) {
|
4110 |
+
return node.isComment && node.asyncFactory
|
4111 |
+
}
|
4112 |
+
|
4113 |
+
/* */
|
4114 |
+
|
4115 |
+
function getFirstComponentChild (children) {
|
4116 |
+
if (Array.isArray(children)) {
|
4117 |
+
for (var i = 0; i < children.length; i++) {
|
4118 |
+
var c = children[i];
|
4119 |
+
if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {
|
4120 |
+
return c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4121 |
}
|
4122 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4123 |
}
|
|
|
|
|
4124 |
}
|
4125 |
|
4126 |
+
/* */
|
4127 |
+
|
4128 |
+
/* */
|
4129 |
+
|
4130 |
+
function initEvents (vm) {
|
4131 |
+
vm._events = Object.create(null);
|
4132 |
+
vm._hasHookEvent = false;
|
4133 |
+
// init parent attached events
|
4134 |
+
var listeners = vm.$options._parentListeners;
|
4135 |
+
if (listeners) {
|
4136 |
+
updateComponentListeners(vm, listeners);
|
4137 |
}
|
4138 |
}
|
4139 |
|
4140 |
+
var target;
|
|
|
|
|
|
|
|
|
|
|
|
|
4141 |
|
4142 |
+
function add (event, fn) {
|
4143 |
+
target.$on(event, fn);
|
4144 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
4145 |
|
4146 |
+
function remove$1 (event, fn) {
|
4147 |
+
target.$off(event, fn);
|
4148 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
4149 |
|
4150 |
+
function createOnceHandler (event, fn) {
|
4151 |
+
var _target = target;
|
4152 |
+
return function onceHandler () {
|
4153 |
+
var res = fn.apply(null, arguments);
|
4154 |
+
if (res !== null) {
|
4155 |
+
_target.$off(event, onceHandler);
|
|
|
|
|
|
|
|
|
|
|
4156 |
}
|
4157 |
}
|
4158 |
}
|
4159 |
|
4160 |
+
function updateComponentListeners (
|
4161 |
+
vm,
|
4162 |
+
listeners,
|
4163 |
+
oldListeners
|
4164 |
) {
|
4165 |
+
target = vm;
|
4166 |
+
updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);
|
4167 |
+
target = undefined;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4168 |
}
|
4169 |
|
4170 |
+
function eventsMixin (Vue) {
|
4171 |
+
var hookRE = /^hook:/;
|
4172 |
+
Vue.prototype.$on = function (event, fn) {
|
4173 |
+
var vm = this;
|
4174 |
+
if (Array.isArray(event)) {
|
4175 |
+
for (var i = 0, l = event.length; i < l; i++) {
|
4176 |
+
vm.$on(event[i], fn);
|
4177 |
}
|
4178 |
+
} else {
|
4179 |
+
(vm._events[event] || (vm._events[event] = [])).push(fn);
|
4180 |
+
// optimize hook:event cost by using a boolean flag marked at registration
|
4181 |
+
// instead of a hash lookup
|
4182 |
+
if (hookRE.test(event)) {
|
4183 |
+
vm._hasHookEvent = true;
|
4184 |
}
|
|
|
4185 |
}
|
4186 |
+
return vm
|
4187 |
+
};
|
4188 |
|
4189 |
+
Vue.prototype.$once = function (event, fn) {
|
4190 |
+
var vm = this;
|
4191 |
+
function on () {
|
4192 |
+
vm.$off(event, on);
|
4193 |
+
fn.apply(vm, arguments);
|
4194 |
+
}
|
4195 |
+
on.fn = fn;
|
4196 |
+
vm.$on(event, on);
|
4197 |
+
return vm
|
4198 |
+
};
|
4199 |
+
|
4200 |
+
Vue.prototype.$off = function (event, fn) {
|
4201 |
+
var vm = this;
|
4202 |
+
// all
|
4203 |
+
if (!arguments.length) {
|
4204 |
+
vm._events = Object.create(null);
|
4205 |
+
return vm
|
4206 |
+
}
|
4207 |
+
// array of events
|
4208 |
+
if (Array.isArray(event)) {
|
4209 |
+
for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {
|
4210 |
+
vm.$off(event[i$1], fn);
|
4211 |
+
}
|
4212 |
+
return vm
|
4213 |
+
}
|
4214 |
+
// specific event
|
4215 |
+
var cbs = vm._events[event];
|
4216 |
+
if (!cbs) {
|
4217 |
+
return vm
|
4218 |
+
}
|
4219 |
+
if (!fn) {
|
4220 |
+
vm._events[event] = null;
|
4221 |
+
return vm
|
4222 |
+
}
|
4223 |
+
// specific handler
|
4224 |
+
var cb;
|
4225 |
+
var i = cbs.length;
|
4226 |
+
while (i--) {
|
4227 |
+
cb = cbs[i];
|
4228 |
+
if (cb === fn || cb.fn === fn) {
|
4229 |
+
cbs.splice(i, 1);
|
4230 |
+
break
|
4231 |
+
}
|
4232 |
+
}
|
4233 |
+
return vm
|
4234 |
+
};
|
4235 |
|
4236 |
+
Vue.prototype.$emit = function (event) {
|
4237 |
+
var vm = this;
|
|
|
4238 |
if (process.env.NODE_ENV !== 'production') {
|
4239 |
+
var lowerCaseEvent = event.toLowerCase();
|
4240 |
+
if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {
|
4241 |
+
tip(
|
4242 |
+
"Event \"" + lowerCaseEvent + "\" is emitted in component " +
|
4243 |
+
(formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " +
|
4244 |
+
"Note that HTML attributes are case-insensitive and you cannot use " +
|
4245 |
+
"v-on to listen to camelCase events when using in-DOM templates. " +
|
4246 |
+
"You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4247 |
);
|
4248 |
}
|
4249 |
}
|
4250 |
+
var cbs = vm._events[event];
|
4251 |
+
if (cbs) {
|
4252 |
+
cbs = cbs.length > 1 ? toArray(cbs) : cbs;
|
4253 |
+
var args = toArray(arguments, 1);
|
4254 |
+
var info = "event handler for \"" + event + "\"";
|
4255 |
+
for (var i = 0, l = cbs.length; i < l; i++) {
|
4256 |
+
invokeWithErrorHandling(cbs[i], vm, args, vm, info);
|
|
|
|
|
|
|
4257 |
}
|
|
|
|
|
4258 |
}
|
4259 |
+
return vm
|
4260 |
+
};
|
4261 |
}
|
4262 |
|
4263 |
+
/* */
|
4264 |
+
|
4265 |
+
var activeInstance = null;
|
4266 |
+
var isUpdatingChildComponent = false;
|
4267 |
+
|
4268 |
+
function setActiveInstance(vm) {
|
4269 |
+
var prevActiveInstance = activeInstance;
|
4270 |
+
activeInstance = vm;
|
4271 |
+
return function () {
|
4272 |
+
activeInstance = prevActiveInstance;
|
|
|
|
|
4273 |
}
|
|
|
4274 |
}
|
4275 |
|
4276 |
+
function initLifecycle (vm) {
|
4277 |
+
var options = vm.$options;
|
4278 |
+
|
4279 |
+
// locate first non-abstract parent
|
4280 |
+
var parent = options.parent;
|
4281 |
+
if (parent && !options.abstract) {
|
4282 |
+
while (parent.$options.abstract && parent.$parent) {
|
4283 |
+
parent = parent.$parent;
|
4284 |
+
}
|
4285 |
+
parent.$children.push(vm);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4286 |
}
|
|
|
|
|
4287 |
|
4288 |
+
vm.$parent = parent;
|
4289 |
+
vm.$root = parent ? parent.$root : vm;
|
4290 |
|
4291 |
+
vm.$children = [];
|
4292 |
+
vm.$refs = {};
|
4293 |
+
|
4294 |
+
vm._watcher = null;
|
4295 |
+
vm._inactive = null;
|
4296 |
+
vm._directInactive = false;
|
4297 |
+
vm._isMounted = false;
|
4298 |
+
vm._isDestroyed = false;
|
4299 |
+
vm._isBeingDestroyed = false;
|
4300 |
+
}
|
4301 |
+
|
4302 |
+
function lifecycleMixin (Vue) {
|
4303 |
+
Vue.prototype._update = function (vnode, hydrating) {
|
4304 |
var vm = this;
|
4305 |
+
var prevEl = vm.$el;
|
4306 |
+
var prevVnode = vm._vnode;
|
4307 |
+
var restoreActiveInstance = setActiveInstance(vm);
|
4308 |
+
vm._vnode = vnode;
|
4309 |
+
// Vue.prototype.__patch__ is injected in entry points
|
4310 |
+
// based on the rendering backend used.
|
4311 |
+
if (!prevVnode) {
|
4312 |
+
// initial render
|
4313 |
+
vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);
|
4314 |
+
} else {
|
4315 |
+
// updates
|
4316 |
+
vm.$el = vm.__patch__(prevVnode, vnode);
|
4317 |
}
|
4318 |
+
restoreActiveInstance();
|
4319 |
+
// update __vue__ reference
|
4320 |
+
if (prevEl) {
|
4321 |
+
prevEl.__vue__ = null;
|
|
|
|
|
|
|
|
|
|
|
4322 |
}
|
4323 |
+
if (vm.$el) {
|
4324 |
+
vm.$el.__vue__ = vm;
|
4325 |
+
}
|
4326 |
+
// if parent is an HOC, update its $el as well
|
4327 |
+
if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {
|
4328 |
+
vm.$parent.$el = vm.$el;
|
4329 |
}
|
4330 |
+
// updated hook is called by the scheduler to ensure that children are
|
4331 |
+
// updated in a parent's updated hook.
|
4332 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4333 |
|
4334 |
+
Vue.prototype.$forceUpdate = function () {
|
4335 |
+
var vm = this;
|
4336 |
+
if (vm._watcher) {
|
4337 |
+
vm._watcher.update();
|
4338 |
+
}
|
4339 |
+
};
|
|
|
|
|
|
|
|
|
4340 |
|
4341 |
+
Vue.prototype.$destroy = function () {
|
4342 |
+
var vm = this;
|
4343 |
+
if (vm._isBeingDestroyed) {
|
4344 |
+
return
|
4345 |
+
}
|
4346 |
+
callHook(vm, 'beforeDestroy');
|
4347 |
+
vm._isBeingDestroyed = true;
|
4348 |
+
// remove self from parent
|
4349 |
+
var parent = vm.$parent;
|
4350 |
+
if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {
|
4351 |
+
remove(parent.$children, vm);
|
4352 |
+
}
|
4353 |
+
// teardown watchers
|
4354 |
+
if (vm._watcher) {
|
4355 |
+
vm._watcher.teardown();
|
4356 |
+
}
|
4357 |
+
var i = vm._watchers.length;
|
4358 |
+
while (i--) {
|
4359 |
+
vm._watchers[i].teardown();
|
|
|
|
|
4360 |
}
|
4361 |
+
// remove reference from data ob
|
4362 |
+
// frozen object may not have observer.
|
4363 |
+
if (vm._data.__ob__) {
|
4364 |
+
vm._data.__ob__.vmCount--;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4365 |
}
|
4366 |
+
// call the last hook...
|
4367 |
+
vm._isDestroyed = true;
|
4368 |
+
// invoke destroy hooks on current rendered tree
|
4369 |
+
vm.__patch__(vm._vnode, null);
|
4370 |
+
// fire destroyed hook
|
4371 |
+
callHook(vm, 'destroyed');
|
4372 |
+
// turn off all instance listeners.
|
4373 |
+
vm.$off();
|
4374 |
+
// remove __vue__ reference
|
4375 |
+
if (vm.$el) {
|
4376 |
+
vm.$el.__vue__ = null;
|
4377 |
}
|
4378 |
+
// release circular reference (#6759)
|
4379 |
+
if (vm.$vnode) {
|
4380 |
+
vm.$vnode.parent = null;
|
|
|
|
|
|
|
4381 |
}
|
4382 |
+
};
|
|
|
|
|
|
|
|
|
|
|
4383 |
}
|
4384 |
|
4385 |
+
function mountComponent (
|
4386 |
+
vm,
|
4387 |
+
el,
|
4388 |
+
hydrating
|
|
|
|
|
|
|
|
|
|
|
|
|
4389 |
) {
|
4390 |
+
vm.$el = el;
|
4391 |
+
if (!vm.$options.render) {
|
4392 |
+
vm.$options.render = createEmptyVNode;
|
4393 |
+
if (process.env.NODE_ENV !== 'production') {
|
4394 |
+
/* istanbul ignore if */
|
4395 |
+
if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||
|
4396 |
+
vm.$options.el || el) {
|
4397 |
warn(
|
4398 |
+
'You are using the runtime-only build of Vue where the template ' +
|
4399 |
+
'compiler is not available. Either pre-compile the templates into ' +
|
4400 |
+
'render functions, or use the compiler-included build.',
|
4401 |
+
vm
|
4402 |
+
);
|
4403 |
+
} else {
|
4404 |
+
warn(
|
4405 |
+
'Failed to mount component: template or render function not defined.',
|
4406 |
+
vm
|
4407 |
);
|
4408 |
}
|
|
|
4409 |
}
|
|
|
|
|
|
|
4410 |
}
|
4411 |
+
callHook(vm, 'beforeMount');
|
4412 |
|
4413 |
+
var updateComponent;
|
4414 |
+
/* istanbul ignore if */
|
4415 |
+
if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
|
4416 |
+
updateComponent = function () {
|
4417 |
+
var name = vm._name;
|
4418 |
+
var id = vm._uid;
|
4419 |
+
var startTag = "vue-perf-start:" + id;
|
4420 |
+
var endTag = "vue-perf-end:" + id;
|
4421 |
|
4422 |
+
mark(startTag);
|
4423 |
+
var vnode = vm._render();
|
4424 |
+
mark(endTag);
|
4425 |
+
measure(("vue " + name + " render"), startTag, endTag);
|
4426 |
|
4427 |
+
mark(startTag);
|
4428 |
+
vm._update(vnode, hydrating);
|
4429 |
+
mark(endTag);
|
4430 |
+
measure(("vue " + name + " patch"), startTag, endTag);
|
4431 |
+
};
|
4432 |
+
} else {
|
4433 |
+
updateComponent = function () {
|
4434 |
+
vm._update(vm._render(), hydrating);
|
4435 |
+
};
|
4436 |
+
}
|
4437 |
|
4438 |
+
// we set this to vm._watcher inside the watcher's constructor
|
4439 |
+
// since the watcher's initial patch may call $forceUpdate (e.g. inside child
|
4440 |
+
// component's mounted hook), which relies on vm._watcher being already defined
|
4441 |
+
new Watcher(vm, updateComponent, noop, {
|
4442 |
+
before: function before () {
|
4443 |
+
if (vm._isMounted && !vm._isDestroyed) {
|
4444 |
+
callHook(vm, 'beforeUpdate');
|
4445 |
+
}
|
4446 |
+
}
|
4447 |
+
}, true /* isRenderWatcher */);
|
4448 |
+
hydrating = false;
|
4449 |
|
4450 |
+
// manually mounted instance, call mounted on self
|
4451 |
+
// mounted is called for render-created child components in its inserted hook
|
4452 |
+
if (vm.$vnode == null) {
|
4453 |
+
vm._isMounted = true;
|
4454 |
+
callHook(vm, 'mounted');
|
4455 |
}
|
4456 |
+
return vm
|
4457 |
}
|
4458 |
|
4459 |
+
function updateChildComponent (
|
4460 |
+
vm,
|
4461 |
+
propsData,
|
4462 |
+
listeners,
|
4463 |
+
parentVnode,
|
4464 |
+
renderChildren
|
|
|
|
|
|
|
|
|
|
|
4465 |
) {
|
4466 |
+
if (process.env.NODE_ENV !== 'production') {
|
4467 |
+
isUpdatingChildComponent = true;
|
|
|
|
|
|
|
|
|
|
|
4468 |
}
|
|
|
4469 |
|
4470 |
+
// determine whether component has slot children
|
4471 |
+
// we need to do this before overwriting $options._renderChildren.
|
4472 |
+
|
4473 |
+
// check if there are dynamic scopedSlots (hand-written or compiled but with
|
4474 |
+
// dynamic slot names). Static scoped slots compiled from template has the
|
4475 |
+
// "$stable" marker.
|
4476 |
+
var hasDynamicScopedSlot = !!(
|
4477 |
+
(parentVnode.data.scopedSlots && !parentVnode.data.scopedSlots.$stable) ||
|
4478 |
+
(vm.$scopedSlots !== emptyObject && !vm.$scopedSlots.$stable)
|
4479 |
+
);
|
4480 |
|
4481 |
+
// Any static slot children from the parent may have changed during parent's
|
4482 |
+
// update. Dynamic scoped slots may also have changed. In such cases, a forced
|
4483 |
+
// update is necessary to ensure correctness.
|
4484 |
+
var needsForceUpdate = !!(
|
4485 |
+
renderChildren || // has new static slots
|
4486 |
+
vm.$options._renderChildren || // has old static slots
|
4487 |
+
hasDynamicScopedSlot
|
4488 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4489 |
|
4490 |
+
vm.$options._parentVnode = parentVnode;
|
4491 |
+
vm.$vnode = parentVnode; // update vm's placeholder node without re-render
|
|
|
|
|
|
|
|
|
|
|
|
|
4492 |
|
4493 |
+
if (vm._vnode) { // update child tree's parent
|
4494 |
+
vm._vnode.parent = parentVnode;
|
4495 |
+
}
|
4496 |
+
vm.$options._renderChildren = renderChildren;
|
4497 |
+
|
4498 |
+
// update $attrs and $listeners hash
|
4499 |
+
// these are also reactive so they may trigger child update if the child
|
4500 |
+
// used them during render
|
4501 |
+
vm.$attrs = parentVnode.data.attrs || emptyObject;
|
4502 |
+
vm.$listeners = listeners || emptyObject;
|
4503 |
+
|
4504 |
+
// update props
|
4505 |
+
if (propsData && vm.$options.props) {
|
4506 |
+
toggleObserving(false);
|
4507 |
+
var props = vm._props;
|
4508 |
+
var propKeys = vm.$options._propKeys || [];
|
4509 |
+
for (var i = 0; i < propKeys.length; i++) {
|
4510 |
+
var key = propKeys[i];
|
4511 |
+
var propOptions = vm.$options.props; // wtf flow?
|
4512 |
+
props[key] = validateProp(key, propOptions, propsData, vm);
|
4513 |
}
|
4514 |
+
toggleObserving(true);
|
4515 |
+
// keep a copy of raw propsData
|
4516 |
+
vm.$options.propsData = propsData;
|
4517 |
}
|
|
|
|
|
4518 |
|
4519 |
+
// update listeners
|
4520 |
+
listeners = listeners || emptyObject;
|
4521 |
+
var oldListeners = vm.$options._parentListeners;
|
4522 |
+
vm.$options._parentListeners = listeners;
|
4523 |
+
updateComponentListeners(vm, listeners, oldListeners);
|
4524 |
|
4525 |
+
// resolve slots + force update if has children
|
4526 |
+
if (needsForceUpdate) {
|
4527 |
+
vm.$slots = resolveSlots(renderChildren, parentVnode.context);
|
4528 |
+
vm.$forceUpdate();
|
4529 |
+
}
|
4530 |
+
|
4531 |
+
if (process.env.NODE_ENV !== 'production') {
|
4532 |
+
isUpdatingChildComponent = false;
|
|
|
|
|
|
|
|
|
|
|
4533 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4534 |
}
|
4535 |
|
4536 |
+
function isInInactiveTree (vm) {
|
4537 |
+
while (vm && (vm = vm.$parent)) {
|
4538 |
+
if (vm._inactive) { return true }
|
4539 |
+
}
|
4540 |
+
return false
|
|
|
|
|
|
|
|
|
|
|
|
|
4541 |
}
|
4542 |
|
4543 |
+
function activateChildComponent (vm, direct) {
|
4544 |
+
if (direct) {
|
4545 |
+
vm._directInactive = false;
|
4546 |
+
if (isInInactiveTree(vm)) {
|
4547 |
+
return
|
|
|
|
|
|
|
|
|
|
|
4548 |
}
|
4549 |
+
} else if (vm._directInactive) {
|
4550 |
+
return
|
4551 |
+
}
|
4552 |
+
if (vm._inactive || vm._inactive === null) {
|
4553 |
+
vm._inactive = false;
|
4554 |
+
for (var i = 0; i < vm.$children.length; i++) {
|
4555 |
+
activateChildComponent(vm.$children[i]);
|
4556 |
+
}
|
4557 |
+
callHook(vm, 'activated');
|
4558 |
}
|
4559 |
}
|
4560 |
|
4561 |
+
function deactivateChildComponent (vm, direct) {
|
4562 |
+
if (direct) {
|
4563 |
+
vm._directInactive = true;
|
4564 |
+
if (isInInactiveTree(vm)) {
|
4565 |
+
return
|
4566 |
+
}
|
4567 |
+
}
|
4568 |
+
if (!vm._inactive) {
|
4569 |
+
vm._inactive = true;
|
4570 |
+
for (var i = 0; i < vm.$children.length; i++) {
|
4571 |
+
deactivateChildComponent(vm.$children[i]);
|
4572 |
+
}
|
4573 |
+
callHook(vm, 'deactivated');
|
4574 |
+
}
|
4575 |
}
|
4576 |
|
4577 |
+
function callHook (vm, hook) {
|
4578 |
+
// #7573 disable dep collection when invoking lifecycle hooks
|
4579 |
+
pushTarget();
|
4580 |
+
var handlers = vm.$options[hook];
|
4581 |
+
var info = hook + " hook";
|
4582 |
+
if (handlers) {
|
4583 |
+
for (var i = 0, j = handlers.length; i < j; i++) {
|
4584 |
+
invokeWithErrorHandling(handlers[i], vm, null, vm, info);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4585 |
}
|
4586 |
}
|
4587 |
+
if (vm._hasHookEvent) {
|
4588 |
+
vm.$emit('hook:' + hook);
|
4589 |
+
}
|
4590 |
+
popTarget();
|
4591 |
}
|
4592 |
|
4593 |
/* */
|
4594 |
|
4595 |
+
var MAX_UPDATE_COUNT = 100;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4596 |
|
4597 |
+
var queue = [];
|
4598 |
+
var activatedChildren = [];
|
4599 |
+
var has = {};
|
4600 |
+
var circular = {};
|
4601 |
+
var waiting = false;
|
4602 |
+
var flushing = false;
|
4603 |
+
var index = 0;
|
4604 |
|
4605 |
+
/**
|
4606 |
+
* Reset the scheduler's state.
|
4607 |
+
*/
|
4608 |
+
function resetSchedulerState () {
|
4609 |
+
index = queue.length = activatedChildren.length = 0;
|
4610 |
+
has = {};
|
4611 |
+
if (process.env.NODE_ENV !== 'production') {
|
4612 |
+
circular = {};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4613 |
}
|
4614 |
+
waiting = flushing = false;
|
4615 |
+
}
|
4616 |
|
4617 |
+
// Async edge case #6566 requires saving the timestamp when event listeners are
|
4618 |
+
// attached. However, calling performance.now() has a perf overhead especially
|
4619 |
+
// if the page has thousands of event listeners. Instead, we take a timestamp
|
4620 |
+
// every time the scheduler flushes and use that for all event listeners
|
4621 |
+
// attached during that flush.
|
4622 |
+
var currentFlushTimestamp = 0;
|
|
|
4623 |
|
4624 |
+
// Async edge case fix requires storing an event listener's attach timestamp.
|
4625 |
+
var getNow = Date.now;
|
|
|
|
|
|
|
|
|
|
|
|
|
4626 |
|
4627 |
+
// Determine what event timestamp the browser is using. Annoyingly, the
|
4628 |
+
// timestamp can either be hi-res (relative to page load) or low-res
|
4629 |
+
// (relative to UNIX epoch), so in order to compare time we have to use the
|
4630 |
+
// same timestamp type when saving the flush timestamp.
|
4631 |
+
if (inBrowser && getNow() > document.createEvent('Event').timeStamp) {
|
4632 |
+
// if the low-res timestamp which is bigger than the event timestamp
|
4633 |
+
// (which is evaluated AFTER) it means the event is using a hi-res timestamp,
|
4634 |
+
// and we need to use the hi-res version for event listeners as well.
|
4635 |
+
getNow = function () { return performance.now(); };
|
|
|
|
|
|
|
4636 |
}
|
4637 |
|
4638 |
+
/**
|
4639 |
+
* Flush both queues and run the watchers.
|
4640 |
+
*/
|
4641 |
+
function flushSchedulerQueue () {
|
4642 |
+
currentFlushTimestamp = getNow();
|
4643 |
+
flushing = true;
|
4644 |
+
var watcher, id;
|
4645 |
|
4646 |
+
// Sort queue before flush.
|
4647 |
+
// This ensures that:
|
4648 |
+
// 1. Components are updated from parent to child. (because parent is always
|
4649 |
+
// created before the child)
|
4650 |
+
// 2. A component's user watchers are run before its render watcher (because
|
4651 |
+
// user watchers are created before the render watcher)
|
4652 |
+
// 3. If a component is destroyed during a parent component's watcher run,
|
4653 |
+
// its watchers can be skipped.
|
4654 |
+
queue.sort(function (a, b) { return a.id - b.id; });
|
4655 |
+
|
4656 |
+
// do not cache length because more watchers might be pushed
|
4657 |
+
// as we run existing watchers
|
4658 |
+
for (index = 0; index < queue.length; index++) {
|
4659 |
+
watcher = queue[index];
|
4660 |
+
if (watcher.before) {
|
4661 |
+
watcher.before();
|
4662 |
+
}
|
4663 |
+
id = watcher.id;
|
4664 |
+
has[id] = null;
|
4665 |
+
watcher.run();
|
4666 |
+
// in dev build, check and stop circular updates.
|
4667 |
+
if (process.env.NODE_ENV !== 'production' && has[id] != null) {
|
4668 |
+
circular[id] = (circular[id] || 0) + 1;
|
4669 |
+
if (circular[id] > MAX_UPDATE_COUNT) {
|
4670 |
+
warn(
|
4671 |
+
'You may have an infinite update loop ' + (
|
4672 |
+
watcher.user
|
4673 |
+
? ("in watcher with expression \"" + (watcher.expression) + "\"")
|
4674 |
+
: "in a component render function."
|
4675 |
+
),
|
4676 |
+
watcher.vm
|
4677 |
+
);
|
4678 |
+
break
|
4679 |
+
}
|
4680 |
}
|
|
|
|
|
|
|
4681 |
}
|
4682 |
|
4683 |
+
// keep copies of post queues before resetting state
|
4684 |
+
var activatedQueue = activatedChildren.slice();
|
4685 |
+
var updatedQueue = queue.slice();
|
|
|
|
|
|
|
|
|
4686 |
|
4687 |
+
resetSchedulerState();
|
4688 |
|
4689 |
+
// call component updated and activated hooks
|
4690 |
+
callActivatedHooks(activatedQueue);
|
4691 |
+
callUpdatedHooks(updatedQueue);
|
4692 |
+
|
4693 |
+
// devtool hook
|
4694 |
+
/* istanbul ignore if */
|
4695 |
+
if (devtools && config.devtools) {
|
4696 |
+
devtools.emit('flush');
|
|
|
4697 |
}
|
4698 |
}
|
4699 |
|
4700 |
+
function callUpdatedHooks (queue) {
|
4701 |
+
var i = queue.length;
|
4702 |
+
while (i--) {
|
4703 |
+
var watcher = queue[i];
|
4704 |
+
var vm = watcher.vm;
|
4705 |
+
if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {
|
4706 |
+
callHook(vm, 'updated');
|
4707 |
+
}
|
|
|
4708 |
}
|
4709 |
+
}
|
4710 |
+
|
4711 |
+
/**
|
4712 |
+
* Queue a kept-alive component that was activated during patch.
|
4713 |
+
* The queue will be processed after the entire tree has been patched.
|
4714 |
+
*/
|
4715 |
+
function queueActivatedComponent (vm) {
|
4716 |
+
// setting _inactive to false here so that a render function can
|
4717 |
+
// rely on checking whether it's in an inactive tree (e.g. router-view)
|
4718 |
+
vm._inactive = false;
|
4719 |
+
activatedChildren.push(vm);
|
4720 |
+
}
|
4721 |
+
|
4722 |
+
function callActivatedHooks (queue) {
|
4723 |
+
for (var i = 0; i < queue.length; i++) {
|
4724 |
+
queue[i]._inactive = true;
|
4725 |
+
activateChildComponent(queue[i], true /* true */);
|
4726 |
}
|
|
|
4727 |
}
|
4728 |
|
4729 |
+
/**
|
4730 |
+
* Push a watcher into the watcher queue.
|
4731 |
+
* Jobs with duplicate IDs will be skipped unless it's
|
4732 |
+
* pushed when the queue is being flushed.
|
4733 |
+
*/
|
4734 |
+
function queueWatcher (watcher) {
|
4735 |
+
var id = watcher.id;
|
4736 |
+
if (has[id] == null) {
|
4737 |
+
has[id] = true;
|
4738 |
+
if (!flushing) {
|
4739 |
+
queue.push(watcher);
|
4740 |
+
} else {
|
4741 |
+
// if already flushing, splice the watcher based on its id
|
4742 |
+
// if already past its id, it will be run next immediately.
|
4743 |
+
var i = queue.length - 1;
|
4744 |
+
while (i > index && queue[i].id > watcher.id) {
|
4745 |
+
i--;
|
4746 |
+
}
|
4747 |
+
queue.splice(i + 1, 0, watcher);
|
4748 |
+
}
|
4749 |
+
// queue the flush
|
4750 |
+
if (!waiting) {
|
4751 |
+
waiting = true;
|
4752 |
+
|
4753 |
+
if (process.env.NODE_ENV !== 'production' && !config.async) {
|
4754 |
+
flushSchedulerQueue();
|
4755 |
+
return
|
4756 |
+
}
|
4757 |
+
nextTick(flushSchedulerQueue);
|
4758 |
+
}
|
4759 |
}
|
4760 |
}
|
4761 |
|
4762 |
/* */
|
4763 |
|
|
|
4764 |
|
|
|
4765 |
|
4766 |
+
var uid$2 = 0;
|
4767 |
|
4768 |
+
/**
|
4769 |
+
* A watcher parses an expression, collects dependencies,
|
4770 |
+
* and fires callback when the expression value changes.
|
4771 |
+
* This is used for both the $watch() api and directives.
|
4772 |
+
*/
|
4773 |
+
var Watcher = function Watcher (
|
4774 |
+
vm,
|
4775 |
+
expOrFn,
|
4776 |
+
cb,
|
4777 |
+
options,
|
4778 |
+
isRenderWatcher
|
4779 |
+
) {
|
4780 |
+
this.vm = vm;
|
4781 |
+
if (isRenderWatcher) {
|
4782 |
+
vm._watcher = this;
|
4783 |
+
}
|
4784 |
+
vm._watchers.push(this);
|
4785 |
+
// options
|
4786 |
+
if (options) {
|
4787 |
+
this.deep = !!options.deep;
|
4788 |
+
this.user = !!options.user;
|
4789 |
+
this.lazy = !!options.lazy;
|
4790 |
+
this.sync = !!options.sync;
|
4791 |
+
this.before = options.before;
|
4792 |
+
} else {
|
4793 |
+
this.deep = this.user = this.lazy = this.sync = false;
|
4794 |
+
}
|
4795 |
+
this.cb = cb;
|
4796 |
+
this.id = ++uid$2; // uid for batching
|
4797 |
+
this.active = true;
|
4798 |
+
this.dirty = this.lazy; // for lazy watchers
|
4799 |
+
this.deps = [];
|
4800 |
+
this.newDeps = [];
|
4801 |
+
this.depIds = new _Set();
|
4802 |
+
this.newDepIds = new _Set();
|
4803 |
+
this.expression = process.env.NODE_ENV !== 'production'
|
4804 |
+
? expOrFn.toString()
|
4805 |
+
: '';
|
4806 |
+
// parse expression for getter
|
4807 |
+
if (typeof expOrFn === 'function') {
|
4808 |
+
this.getter = expOrFn;
|
4809 |
+
} else {
|
4810 |
+
this.getter = parsePath(expOrFn);
|
4811 |
+
if (!this.getter) {
|
4812 |
+
this.getter = noop;
|
4813 |
+
process.env.NODE_ENV !== 'production' && warn(
|
4814 |
+
"Failed watching path: \"" + expOrFn + "\" " +
|
4815 |
+
'Watcher only accepts simple dot-delimited paths. ' +
|
4816 |
+
'For full control, use a function instead.',
|
4817 |
+
vm
|
4818 |
);
|
|
|
4819 |
}
|
4820 |
+
}
|
4821 |
+
this.value = this.lazy
|
4822 |
+
? undefined
|
4823 |
+
: this.get();
|
4824 |
+
};
|
4825 |
|
4826 |
+
/**
|
4827 |
+
* Evaluate the getter, and re-collect dependencies.
|
4828 |
+
*/
|
4829 |
+
Watcher.prototype.get = function get () {
|
4830 |
+
pushTarget(this);
|
4831 |
+
var value;
|
4832 |
+
var vm = this.vm;
|
4833 |
+
try {
|
4834 |
+
value = this.getter.call(vm, vm);
|
4835 |
+
} catch (e) {
|
4836 |
+
if (this.user) {
|
4837 |
+
handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\""));
|
4838 |
+
} else {
|
4839 |
+
throw e
|
4840 |
+
}
|
4841 |
+
} finally {
|
4842 |
+
// "touch" every property so they are all tracked as
|
4843 |
+
// dependencies for deep watching
|
4844 |
+
if (this.deep) {
|
4845 |
+
traverse(value);
|
4846 |
+
}
|
4847 |
+
popTarget();
|
4848 |
+
this.cleanupDeps();
|
4849 |
+
}
|
4850 |
+
return value
|
4851 |
+
};
|
4852 |
|
4853 |
+
/**
|
4854 |
+
* Add a dependency to this directive.
|
4855 |
+
*/
|
4856 |
+
Watcher.prototype.addDep = function addDep (dep) {
|
4857 |
+
var id = dep.id;
|
4858 |
+
if (!this.newDepIds.has(id)) {
|
4859 |
+
this.newDepIds.add(id);
|
4860 |
+
this.newDeps.push(dep);
|
4861 |
+
if (!this.depIds.has(id)) {
|
4862 |
+
dep.addSub(this);
|
4863 |
}
|
4864 |
+
}
|
4865 |
+
};
|
4866 |
+
|
4867 |
+
/**
|
4868 |
+
* Clean up for dependency collection.
|
4869 |
+
*/
|
4870 |
+
Watcher.prototype.cleanupDeps = function cleanupDeps () {
|
4871 |
+
var i = this.deps.length;
|
4872 |
+
while (i--) {
|
4873 |
+
var dep = this.deps[i];
|
4874 |
+
if (!this.newDepIds.has(dep.id)) {
|
4875 |
+
dep.removeSub(this);
|
4876 |
}
|
4877 |
+
}
|
4878 |
+
var tmp = this.depIds;
|
4879 |
+
this.depIds = this.newDepIds;
|
4880 |
+
this.newDepIds = tmp;
|
4881 |
+
this.newDepIds.clear();
|
4882 |
+
tmp = this.deps;
|
4883 |
+
this.deps = this.newDeps;
|
4884 |
+
this.newDeps = tmp;
|
4885 |
+
this.newDeps.length = 0;
|
4886 |
+
};
|
4887 |
|
4888 |
+
/**
|
4889 |
+
* Subscriber interface.
|
4890 |
+
* Will be called when a dependency changes.
|
4891 |
+
*/
|
4892 |
+
Watcher.prototype.update = function update () {
|
4893 |
+
/* istanbul ignore else */
|
4894 |
+
if (this.lazy) {
|
4895 |
+
this.dirty = true;
|
4896 |
+
} else if (this.sync) {
|
4897 |
+
this.run();
|
4898 |
+
} else {
|
4899 |
+
queueWatcher(this);
|
4900 |
+
}
|
4901 |
+
};
|
4902 |
+
|
4903 |
+
/**
|
4904 |
+
* Scheduler job interface.
|
4905 |
+
* Will be called by the scheduler.
|
4906 |
+
*/
|
4907 |
+
Watcher.prototype.run = function run () {
|
4908 |
+
if (this.active) {
|
4909 |
+
var value = this.get();
|
4910 |
+
if (
|
4911 |
+
value !== this.value ||
|
4912 |
+
// Deep watchers and watchers on Object/Arrays should fire even
|
4913 |
+
// when the value is the same, because the value may
|
4914 |
+
// have mutated.
|
4915 |
+
isObject(value) ||
|
4916 |
+
this.deep
|
4917 |
+
) {
|
4918 |
+
// set new value
|
4919 |
+
var oldValue = this.value;
|
4920 |
+
this.value = value;
|
4921 |
+
if (this.user) {
|
4922 |
+
try {
|
4923 |
+
this.cb.call(this.vm, value, oldValue);
|
4924 |
+
} catch (e) {
|
4925 |
+
handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\""));
|
4926 |
+
}
|
4927 |
} else {
|
4928 |
+
this.cb.call(this.vm, value, oldValue);
|
4929 |
}
|
4930 |
}
|
4931 |
}
|
4932 |
};
|
4933 |
|
4934 |
+
/**
|
4935 |
+
* Evaluate the value of the watcher.
|
4936 |
+
* This only gets called for lazy watchers.
|
4937 |
+
*/
|
4938 |
+
Watcher.prototype.evaluate = function evaluate () {
|
4939 |
+
this.value = this.get();
|
4940 |
+
this.dirty = false;
|
4941 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
4942 |
|
4943 |
+
/**
|
4944 |
+
* Depend on all deps collected by this watcher.
|
4945 |
+
*/
|
4946 |
+
Watcher.prototype.depend = function depend () {
|
4947 |
+
var i = this.deps.length;
|
4948 |
+
while (i--) {
|
4949 |
+
this.deps[i].depend();
|
4950 |
}
|
4951 |
+
};
|
4952 |
|
4953 |
+
/**
|
4954 |
+
* Remove self from all dependencies' subscriber list.
|
4955 |
+
*/
|
4956 |
+
Watcher.prototype.teardown = function teardown () {
|
4957 |
+
if (this.active) {
|
4958 |
+
// remove self from vm's watcher list
|
4959 |
+
// this is a somewhat expensive operation so we skip it
|
4960 |
+
// if the vm is being destroyed.
|
4961 |
+
if (!this.vm._isBeingDestroyed) {
|
4962 |
+
remove(this.vm._watchers, this);
|
4963 |
}
|
4964 |
+
var i = this.deps.length;
|
4965 |
+
while (i--) {
|
4966 |
+
this.deps[i].removeSub(this);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4967 |
}
|
4968 |
+
this.active = false;
|
4969 |
}
|
4970 |
+
};
|
4971 |
|
4972 |
+
/* */
|
|
|
|
|
|
|
|
|
4973 |
|
4974 |
+
var sharedPropertyDefinition = {
|
4975 |
+
enumerable: true,
|
4976 |
+
configurable: true,
|
4977 |
+
get: noop,
|
4978 |
+
set: noop
|
4979 |
+
};
|
4980 |
|
4981 |
+
function proxy (target, sourceKey, key) {
|
4982 |
+
sharedPropertyDefinition.get = function proxyGetter () {
|
4983 |
+
return this[sourceKey][key]
|
4984 |
+
};
|
4985 |
+
sharedPropertyDefinition.set = function proxySetter (val) {
|
4986 |
+
this[sourceKey][key] = val;
|
4987 |
+
};
|
4988 |
+
Object.defineProperty(target, key, sharedPropertyDefinition);
|
4989 |
+
}
|
4990 |
|
4991 |
+
function initState (vm) {
|
4992 |
+
vm._watchers = [];
|
4993 |
+
var opts = vm.$options;
|
4994 |
+
if (opts.props) { initProps(vm, opts.props); }
|
4995 |
+
if (opts.methods) { initMethods(vm, opts.methods); }
|
4996 |
+
if (opts.data) {
|
4997 |
+
initData(vm);
|
4998 |
+
} else {
|
4999 |
+
observe(vm._data = {}, true /* asRootData */);
|
5000 |
}
|
5001 |
+
if (opts.computed) { initComputed(vm, opts.computed); }
|
5002 |
+
if (opts.watch && opts.watch !== nativeWatch) {
|
5003 |
+
initWatch(vm, opts.watch);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5004 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5005 |
}
|
5006 |
|
5007 |
+
function initProps (vm, propsOptions) {
|
5008 |
+
var propsData = vm.$options.propsData || {};
|
5009 |
+
var props = vm._props = {};
|
5010 |
+
// cache prop keys so that future props updates can iterate using Array
|
5011 |
+
// instead of dynamic object key enumeration.
|
5012 |
+
var keys = vm.$options._propKeys = [];
|
5013 |
+
var isRoot = !vm.$parent;
|
5014 |
+
// root instance props should be converted
|
5015 |
+
if (!isRoot) {
|
5016 |
+
toggleObserving(false);
|
5017 |
+
}
|
5018 |
+
var loop = function ( key ) {
|
5019 |
+
keys.push(key);
|
5020 |
+
var value = validateProp(key, propsOptions, propsData, vm);
|
5021 |
+
/* istanbul ignore else */
|
5022 |
+
if (process.env.NODE_ENV !== 'production') {
|
5023 |
+
var hyphenatedKey = hyphenate(key);
|
5024 |
+
if (isReservedAttribute(hyphenatedKey) ||
|
5025 |
+
config.isReservedAttr(hyphenatedKey)) {
|
5026 |
+
warn(
|
5027 |
+
("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."),
|
5028 |
+
vm
|
5029 |
+
);
|
5030 |
+
}
|
5031 |
+
defineReactive$$1(props, key, value, function () {
|
5032 |
+
if (!isRoot && !isUpdatingChildComponent) {
|
5033 |
+
warn(
|
5034 |
+
"Avoid mutating a prop directly since the value will be " +
|
5035 |
+
"overwritten whenever the parent component re-renders. " +
|
5036 |
+
"Instead, use a data or computed property based on the prop's " +
|
5037 |
+
"value. Prop being mutated: \"" + key + "\"",
|
5038 |
+
vm
|
5039 |
+
);
|
5040 |
+
}
|
5041 |
+
});
|
5042 |
+
} else {
|
5043 |
+
defineReactive$$1(props, key, value);
|
5044 |
+
}
|
5045 |
+
// static props are already proxied on the component's prototype
|
5046 |
+
// during Vue.extend(). We only need to proxy props defined at
|
5047 |
+
// instantiation here.
|
5048 |
+
if (!(key in vm)) {
|
5049 |
+
proxy(vm, "_props", key);
|
5050 |
+
}
|
5051 |
};
|
5052 |
+
|
5053 |
+
for (var key in propsOptions) loop( key );
|
5054 |
+
toggleObserving(true);
|
|
|
|
|
|
|
|
|
5055 |
}
|
5056 |
|
5057 |
+
function initData (vm) {
|
5058 |
+
var data = vm.$options.data;
|
5059 |
+
data = vm._data = typeof data === 'function'
|
5060 |
+
? getData(data, vm)
|
5061 |
+
: data || {};
|
5062 |
+
if (!isPlainObject(data)) {
|
5063 |
+
data = {};
|
5064 |
+
process.env.NODE_ENV !== 'production' && warn(
|
5065 |
+
'data functions should return an object:\n' +
|
5066 |
+
'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',
|
5067 |
+
vm
|
5068 |
+
);
|
5069 |
+
}
|
5070 |
+
// proxy data on instance
|
5071 |
+
var keys = Object.keys(data);
|
5072 |
+
var props = vm.$options.props;
|
5073 |
+
var methods = vm.$options.methods;
|
5074 |
+
var i = keys.length;
|
5075 |
+
while (i--) {
|
5076 |
+
var key = keys[i];
|
5077 |
+
if (process.env.NODE_ENV !== 'production') {
|
5078 |
+
if (methods && hasOwn(methods, key)) {
|
5079 |
+
warn(
|
5080 |
+
("Method \"" + key + "\" has already been defined as a data property."),
|
5081 |
+
vm
|
5082 |
+
);
|
5083 |
+
}
|
5084 |
+
}
|
5085 |
+
if (props && hasOwn(props, key)) {
|
5086 |
+
process.env.NODE_ENV !== 'production' && warn(
|
5087 |
+
"The data property \"" + key + "\" is already declared as a prop. " +
|
5088 |
+
"Use prop default value instead.",
|
5089 |
+
vm
|
5090 |
+
);
|
5091 |
+
} else if (!isReserved(key)) {
|
5092 |
+
proxy(vm, "_data", key);
|
5093 |
}
|
5094 |
}
|
5095 |
+
// observe data
|
5096 |
+
observe(data, true /* asRootData */);
|
5097 |
}
|
5098 |
|
5099 |
+
function getData (data, vm) {
|
5100 |
+
// #7573 disable dep collection when invoking data getters
|
5101 |
+
pushTarget();
|
5102 |
+
try {
|
5103 |
+
return data.call(vm, vm)
|
5104 |
+
} catch (e) {
|
5105 |
+
handleError(e, vm, "data()");
|
5106 |
+
return {}
|
5107 |
+
} finally {
|
5108 |
+
popTarget();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5109 |
}
|
5110 |
}
|
5111 |
|
5112 |
+
var computedWatcherOptions = { lazy: true };
|
5113 |
|
5114 |
+
function initComputed (vm, computed) {
|
5115 |
+
// $flow-disable-line
|
5116 |
+
var watchers = vm._computedWatchers = Object.create(null);
|
5117 |
+
// computed properties are just getters during SSR
|
5118 |
+
var isSSR = isServerRendering();
|
5119 |
|
5120 |
+
for (var key in computed) {
|
5121 |
+
var userDef = computed[key];
|
5122 |
+
var getter = typeof userDef === 'function' ? userDef : userDef.get;
|
5123 |
+
if (process.env.NODE_ENV !== 'production' && getter == null) {
|
5124 |
+
warn(
|
5125 |
+
("Getter is missing for computed property \"" + key + "\"."),
|
5126 |
+
vm
|
5127 |
+
);
|
5128 |
+
}
|
5129 |
+
|
5130 |
+
if (!isSSR) {
|
5131 |
+
// create internal watcher for the computed property.
|
5132 |
+
watchers[key] = new Watcher(
|
5133 |
+
vm,
|
5134 |
+
getter || noop,
|
5135 |
+
noop,
|
5136 |
+
computedWatcherOptions
|
5137 |
+
);
|
5138 |
+
}
|
5139 |
+
|
5140 |
+
// component-defined computed properties are already defined on the
|
5141 |
+
// component prototype. We only need to define computed properties defined
|
5142 |
+
// at instantiation here.
|
5143 |
+
if (!(key in vm)) {
|
5144 |
+
defineComputed(vm, key, userDef);
|
5145 |
+
} else if (process.env.NODE_ENV !== 'production') {
|
5146 |
+
if (key in vm.$data) {
|
5147 |
+
warn(("The computed property \"" + key + "\" is already defined in data."), vm);
|
5148 |
+
} else if (vm.$options.props && key in vm.$options.props) {
|
5149 |
+
warn(("The computed property \"" + key + "\" is already defined as a prop."), vm);
|
5150 |
+
}
|
5151 |
+
}
|
5152 |
}
|
|
|
5153 |
}
|
5154 |
|
5155 |
+
function defineComputed (
|
5156 |
+
target,
|
5157 |
+
key,
|
5158 |
+
userDef
|
|
|
|
|
5159 |
) {
|
5160 |
+
var shouldCache = !isServerRendering();
|
5161 |
+
if (typeof userDef === 'function') {
|
5162 |
+
sharedPropertyDefinition.get = shouldCache
|
5163 |
+
? createComputedGetter(key)
|
5164 |
+
: createGetterInvoker(userDef);
|
5165 |
+
sharedPropertyDefinition.set = noop;
|
5166 |
+
} else {
|
5167 |
+
sharedPropertyDefinition.get = userDef.get
|
5168 |
+
? shouldCache && userDef.cache !== false
|
5169 |
+
? createComputedGetter(key)
|
5170 |
+
: createGetterInvoker(userDef.get)
|
5171 |
+
: noop;
|
5172 |
+
sharedPropertyDefinition.set = userDef.set || noop;
|
|
|
|
|
5173 |
}
|
|
|
5174 |
if (process.env.NODE_ENV !== 'production' &&
|
5175 |
+
sharedPropertyDefinition.set === noop) {
|
5176 |
+
sharedPropertyDefinition.set = function () {
|
|
|
5177 |
warn(
|
5178 |
+
("Computed property \"" + key + "\" was assigned to but it has no setter."),
|
5179 |
+
this
|
|
|
5180 |
);
|
5181 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5182 |
}
|
5183 |
+
Object.defineProperty(target, key, sharedPropertyDefinition);
|
5184 |
+
}
|
5185 |
+
|
5186 |
+
function createComputedGetter (key) {
|
5187 |
+
return function computedGetter () {
|
5188 |
+
var watcher = this._computedWatchers && this._computedWatchers[key];
|
5189 |
+
if (watcher) {
|
5190 |
+
if (watcher.dirty) {
|
5191 |
+
watcher.evaluate();
|
5192 |
+
}
|
5193 |
+
if (Dep.target) {
|
5194 |
+
watcher.depend();
|
5195 |
+
}
|
5196 |
+
return watcher.value
|
5197 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5198 |
}
|
5199 |
+
}
|
5200 |
+
|
5201 |
+
function createGetterInvoker(fn) {
|
5202 |
+
return function computedGetter () {
|
5203 |
+
return fn.call(this, this)
|
|
|
|
|
|
|
5204 |
}
|
5205 |
}
|
5206 |
|
5207 |
+
function initMethods (vm, methods) {
|
5208 |
+
var props = vm.$options.props;
|
5209 |
+
for (var key in methods) {
|
5210 |
+
if (process.env.NODE_ENV !== 'production') {
|
5211 |
+
if (typeof methods[key] !== 'function') {
|
5212 |
+
warn(
|
5213 |
+
"Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " +
|
5214 |
+
"Did you reference the function correctly?",
|
5215 |
+
vm
|
5216 |
+
);
|
5217 |
+
}
|
5218 |
+
if (props && hasOwn(props, key)) {
|
5219 |
+
warn(
|
5220 |
+
("Method \"" + key + "\" has already been defined as a prop."),
|
5221 |
+
vm
|
5222 |
+
);
|
5223 |
+
}
|
5224 |
+
if ((key in vm) && isReserved(key)) {
|
5225 |
+
warn(
|
5226 |
+
"Method \"" + key + "\" conflicts with an existing Vue instance method. " +
|
5227 |
+
"Avoid defining component methods that start with _ or $."
|
5228 |
+
);
|
5229 |
+
}
|
5230 |
+
}
|
5231 |
+
vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);
|
5232 |
}
|
5233 |
+
}
|
5234 |
+
|
5235 |
+
function initWatch (vm, watch) {
|
5236 |
+
for (var key in watch) {
|
5237 |
+
var handler = watch[key];
|
5238 |
+
if (Array.isArray(handler)) {
|
5239 |
+
for (var i = 0; i < handler.length; i++) {
|
5240 |
+
createWatcher(vm, key, handler[i]);
|
5241 |
}
|
5242 |
+
} else {
|
5243 |
+
createWatcher(vm, key, handler);
|
5244 |
}
|
5245 |
}
|
5246 |
}
|
5247 |
|
5248 |
+
function createWatcher (
|
5249 |
+
vm,
|
5250 |
+
expOrFn,
|
5251 |
+
handler,
|
5252 |
+
options
|
5253 |
+
) {
|
5254 |
+
if (isPlainObject(handler)) {
|
5255 |
+
options = handler;
|
5256 |
+
handler = handler.handler;
|
5257 |
}
|
5258 |
+
if (typeof handler === 'string') {
|
5259 |
+
handler = vm[handler];
|
5260 |
}
|
5261 |
+
return vm.$watch(expOrFn, handler, options)
|
5262 |
}
|
5263 |
|
5264 |
+
function stateMixin (Vue) {
|
5265 |
+
// flow somehow has problems with directly declared definition object
|
5266 |
+
// when using Object.defineProperty, so we have to procedurally build up
|
5267 |
+
// the object here.
|
5268 |
+
var dataDef = {};
|
5269 |
+
dataDef.get = function () { return this._data };
|
5270 |
+
var propsDef = {};
|
5271 |
+
propsDef.get = function () { return this._props };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5272 |
if (process.env.NODE_ENV !== 'production') {
|
5273 |
+
dataDef.set = function () {
|
5274 |
+
warn(
|
5275 |
+
'Avoid replacing instance root $data. ' +
|
5276 |
+
'Use nested data properties instead.',
|
5277 |
+
this
|
5278 |
+
);
|
5279 |
+
};
|
5280 |
+
propsDef.set = function () {
|
5281 |
+
warn("$props is readonly.", this);
|
5282 |
+
};
|
5283 |
}
|
5284 |
+
Object.defineProperty(Vue.prototype, '$data', dataDef);
|
5285 |
+
Object.defineProperty(Vue.prototype, '$props', propsDef);
|
|
|
|
|
|
|
5286 |
|
5287 |
+
Vue.prototype.$set = set;
|
5288 |
+
Vue.prototype.$delete = del;
|
|
|
5289 |
|
5290 |
+
Vue.prototype.$watch = function (
|
5291 |
+
expOrFn,
|
5292 |
+
cb,
|
5293 |
+
options
|
5294 |
+
) {
|
5295 |
var vm = this;
|
5296 |
+
if (isPlainObject(cb)) {
|
5297 |
+
return createWatcher(vm, expOrFn, cb, options)
|
|
|
|
|
|
|
|
|
5298 |
}
|
5299 |
+
options = options || {};
|
5300 |
+
options.user = true;
|
5301 |
+
var watcher = new Watcher(vm, expOrFn, cb, options);
|
5302 |
+
if (options.immediate) {
|
5303 |
+
try {
|
5304 |
+
cb.call(vm, watcher.value);
|
5305 |
+
} catch (error) {
|
5306 |
+
handleError(error, vm, ("callback for immediate watcher \"" + (watcher.expression) + "\""));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5307 |
}
|
5308 |
}
|
5309 |
+
return function unwatchFn () {
|
5310 |
+
watcher.teardown();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5311 |
}
|
|
|
|
|
|
|
5312 |
};
|
5313 |
}
|
5314 |
|
5421 |
function resolveModifiedOptions (Ctor) {
|
5422 |
var modified;
|
5423 |
var latest = Ctor.options;
|
|
|
5424 |
var sealed = Ctor.sealedOptions;
|
5425 |
for (var key in latest) {
|
5426 |
if (latest[key] !== sealed[key]) {
|
5427 |
if (!modified) { modified = {}; }
|
5428 |
+
modified[key] = latest[key];
|
5429 |
}
|
5430 |
}
|
5431 |
return modified
|
5432 |
}
|
5433 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5434 |
function Vue (options) {
|
5435 |
if (process.env.NODE_ENV !== 'production' &&
|
5436 |
!(this instanceof Vue)
|
5764 |
Vue.delete = del;
|
5765 |
Vue.nextTick = nextTick;
|
5766 |
|
5767 |
+
// 2.6 explicit observable API
|
5768 |
+
Vue.observable = function (obj) {
|
5769 |
+
observe(obj);
|
5770 |
+
return obj
|
5771 |
+
};
|
5772 |
+
|
5773 |
Vue.options = Object.create(null);
|
5774 |
ASSET_TYPES.forEach(function (type) {
|
5775 |
Vue.options[type + 's'] = Object.create(null);
|
5805 |
value: FunctionalRenderContext
|
5806 |
});
|
5807 |
|
5808 |
+
Vue.version = '2.6.6';
|
5809 |
|
5810 |
/* */
|
5811 |
|
5826 |
|
5827 |
var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');
|
5828 |
|
5829 |
+
var isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');
|
5830 |
+
|
5831 |
+
var convertEnumeratedValue = function (key, value) {
|
5832 |
+
return isFalsyAttrValue(value) || value === 'false'
|
5833 |
+
? 'false'
|
5834 |
+
// allow arbitrary string value for contenteditable
|
5835 |
+
: key === 'contenteditable' && isValidContentEditableValue(value)
|
5836 |
+
? value
|
5837 |
+
: 'true'
|
5838 |
+
};
|
5839 |
+
|
5840 |
var isBooleanAttr = makeMap(
|
5841 |
'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +
|
5842 |
'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +
|
6962 |
} else {
|
6963 |
// existing directive, update
|
6964 |
dir.oldValue = oldDir.value;
|
6965 |
+
dir.oldArg = oldDir.arg;
|
6966 |
callHook$1(dir, 'update', vnode, oldVnode);
|
6967 |
if (dir.def && dir.def.componentUpdated) {
|
6968 |
dirsWithPostpatch.push(dir);
|
7106 |
el.setAttribute(key, value);
|
7107 |
}
|
7108 |
} else if (isEnumeratedAttr(key)) {
|
7109 |
+
el.setAttribute(key, convertEnumeratedValue(key, value));
|
7110 |
} else if (isXlink(key)) {
|
7111 |
if (isFalsyAttrValue(value)) {
|
7112 |
el.removeAttributeNS(xlinkNS, getXlinkProp(key));
|
7128 |
/* istanbul ignore if */
|
7129 |
if (
|
7130 |
isIE && !isIE9 &&
|
7131 |
+
el.tagName === 'TEXTAREA' &&
|
7132 |
+
key === 'placeholder' && value !== '' && !el.__ieph
|
7133 |
) {
|
7134 |
var blocker = function (e) {
|
7135 |
e.stopImmediatePropagation();
|
7286 |
|
7287 |
/* */
|
7288 |
|
7289 |
+
|
7290 |
+
|
7291 |
+
/* eslint-disable no-unused-vars */
|
7292 |
+
function baseWarn (msg, range) {
|
7293 |
console.error(("[Vue compiler]: " + msg));
|
7294 |
}
|
7295 |
+
/* eslint-enable no-unused-vars */
|
7296 |
|
7297 |
function pluckModuleFunction (
|
7298 |
modules,
|
7303 |
: []
|
7304 |
}
|
7305 |
|
7306 |
+
function addProp (el, name, value, range, dynamic) {
|
7307 |
+
(el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));
|
7308 |
el.plain = false;
|
7309 |
}
|
7310 |
|
7311 |
+
function addAttr (el, name, value, range, dynamic) {
|
7312 |
+
var attrs = dynamic
|
7313 |
+
? (el.dynamicAttrs || (el.dynamicAttrs = []))
|
7314 |
+
: (el.attrs || (el.attrs = []));
|
7315 |
+
attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));
|
7316 |
el.plain = false;
|
7317 |
}
|
7318 |
|
7319 |
// add a raw attr (use this in preTransforms)
|
7320 |
+
function addRawAttr (el, name, value, range) {
|
7321 |
el.attrsMap[name] = value;
|
7322 |
+
el.attrsList.push(rangeSetItem({ name: name, value: value }, range));
|
7323 |
}
|
7324 |
|
7325 |
function addDirective (
|
7328 |
rawName,
|
7329 |
value,
|
7330 |
arg,
|
7331 |
+
isDynamicArg,
|
7332 |
+
modifiers,
|
7333 |
+
range
|
7334 |
) {
|
7335 |
+
(el.directives || (el.directives = [])).push(rangeSetItem({
|
7336 |
+
name: name,
|
7337 |
+
rawName: rawName,
|
7338 |
+
value: value,
|
7339 |
+
arg: arg,
|
7340 |
+
isDynamicArg: isDynamicArg,
|
7341 |
+
modifiers: modifiers
|
7342 |
+
}, range));
|
7343 |
el.plain = false;
|
7344 |
}
|
7345 |
|
7346 |
+
function prependModifierMarker (symbol, name, dynamic) {
|
7347 |
+
return dynamic
|
7348 |
+
? ("_p(" + name + ",\"" + symbol + "\")")
|
7349 |
+
: symbol + name // mark the event as captured
|
7350 |
+
}
|
7351 |
+
|
7352 |
function addHandler (
|
7353 |
el,
|
7354 |
name,
|
7355 |
value,
|
7356 |
modifiers,
|
7357 |
important,
|
7358 |
+
warn,
|
7359 |
+
range,
|
7360 |
+
dynamic
|
7361 |
) {
|
7362 |
modifiers = modifiers || emptyObject;
|
7363 |
// warn prevent and passive modifier
|
7368 |
) {
|
7369 |
warn(
|
7370 |
'passive and prevent can\'t be used together. ' +
|
7371 |
+
'Passive handler can\'t prevent default event.',
|
7372 |
+
range
|
7373 |
);
|
7374 |
}
|
7375 |
|
7376 |
// normalize click.right and click.middle since they don't actually fire
|
7377 |
// this is technically browser-specific, but at least for now browsers are
|
7378 |
// the only target envs that have right/middle clicks.
|
7379 |
+
if (modifiers.right) {
|
7380 |
+
if (dynamic) {
|
7381 |
+
name = "(" + name + ")==='click'?'contextmenu':(" + name + ")";
|
7382 |
+
} else if (name === 'click') {
|
7383 |
name = 'contextmenu';
|
7384 |
delete modifiers.right;
|
7385 |
+
}
|
7386 |
+
} else if (modifiers.middle) {
|
7387 |
+
if (dynamic) {
|
7388 |
+
name = "(" + name + ")==='click'?'mouseup':(" + name + ")";
|
7389 |
+
} else if (name === 'click') {
|
7390 |
name = 'mouseup';
|
7391 |
}
|
7392 |
}
|
7394 |
// check capture modifier
|
7395 |
if (modifiers.capture) {
|
7396 |
delete modifiers.capture;
|
7397 |
+
name = prependModifierMarker('!', name, dynamic);
|
7398 |
}
|
7399 |
if (modifiers.once) {
|
7400 |
delete modifiers.once;
|
7401 |
+
name = prependModifierMarker('~', name, dynamic);
|
7402 |
}
|
7403 |
/* istanbul ignore if */
|
7404 |
if (modifiers.passive) {
|
7405 |
delete modifiers.passive;
|
7406 |
+
name = prependModifierMarker('&', name, dynamic);
|
7407 |
}
|
7408 |
|
7409 |
var events;
|
7414 |
events = el.events || (el.events = {});
|
7415 |
}
|
7416 |
|
7417 |
+
var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range);
|
|
|
|
|
7418 |
if (modifiers !== emptyObject) {
|
7419 |
newHandler.modifiers = modifiers;
|
7420 |
}
|
7432 |
el.plain = false;
|
7433 |
}
|
7434 |
|
7435 |
+
function getRawBindingAttr (
|
7436 |
+
el,
|
7437 |
+
name
|
7438 |
+
) {
|
7439 |
+
return el.rawAttrsMap[':' + name] ||
|
7440 |
+
el.rawAttrsMap['v-bind:' + name] ||
|
7441 |
+
el.rawAttrsMap[name]
|
7442 |
+
}
|
7443 |
+
|
7444 |
function getBindingAttr (
|
7445 |
el,
|
7446 |
name,
|
7484 |
return val
|
7485 |
}
|
7486 |
|
7487 |
+
function getAndRemoveAttrByRegex (
|
7488 |
+
el,
|
7489 |
+
name
|
7490 |
+
) {
|
7491 |
+
var list = el.attrsList;
|
7492 |
+
for (var i = 0, l = list.length; i < l; i++) {
|
7493 |
+
var attr = list[i];
|
7494 |
+
if (name.test(attr.name)) {
|
7495 |
+
list.splice(i, 1);
|
7496 |
+
return attr
|
7497 |
+
}
|
7498 |
+
}
|
7499 |
+
}
|
7500 |
+
|
7501 |
+
function rangeSetItem (
|
7502 |
+
item,
|
7503 |
+
range
|
7504 |
+
) {
|
7505 |
+
if (range) {
|
7506 |
+
if (range.start != null) {
|
7507 |
+
item.start = range.start;
|
7508 |
+
}
|
7509 |
+
if (range.end != null) {
|
7510 |
+
item.end = range.end;
|
7511 |
+
}
|
7512 |
+
}
|
7513 |
+
return item
|
7514 |
+
}
|
7515 |
+
|
7516 |
/* */
|
7517 |
|
7518 |
/**
|
7687 |
if (tag === 'input' && type === 'file') {
|
7688 |
warn$1(
|
7689 |
"<" + (el.tag) + " v-model=\"" + value + "\" type=\"file\">:\n" +
|
7690 |
+
"File inputs are read only. Use a v-on:change listener instead.",
|
7691 |
+
el.rawAttrsMap['v-model']
|
7692 |
);
|
7693 |
}
|
7694 |
}
|
7714 |
"<" + (el.tag) + " v-model=\"" + value + "\">: " +
|
7715 |
"v-model is not supported on this element type. " +
|
7716 |
'If you are working with contenteditable, it\'s recommended to ' +
|
7717 |
+
'wrap a library dedicated for that purpose inside a custom component.',
|
7718 |
+
el.rawAttrsMap['v-model']
|
7719 |
);
|
7720 |
}
|
7721 |
|
7799 |
var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';
|
7800 |
warn$1(
|
7801 |
binding + "=\"" + value$1 + "\" conflicts with v-model on the same element " +
|
7802 |
+
'because the latter already expands to a value binding internally',
|
7803 |
+
el.rawAttrsMap[binding]
|
7804 |
);
|
7805 |
}
|
7806 |
}
|
7871 |
}
|
7872 |
}
|
7873 |
|
7874 |
+
// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp
|
7875 |
+
// implementation and does not fire microtasks in between event propagation, so
|
7876 |
+
// safe to exclude.
|
7877 |
+
var useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);
|
7878 |
+
|
7879 |
function add$1 (
|
7880 |
+
name,
|
7881 |
handler,
|
7882 |
capture,
|
7883 |
passive
|
7884 |
) {
|
7885 |
+
// async edge case #6566: inner click event triggers patch, event handler
|
7886 |
+
// attached to outer element during patch, and triggered again. This
|
7887 |
+
// happens because browsers fire microtask ticks between event propagation.
|
7888 |
+
// the solution is simple: we save the timestamp when a handler is attached,
|
7889 |
+
// and the handler would only fire if the event passed to it was fired
|
7890 |
+
// AFTER it was attached.
|
7891 |
+
if (useMicrotaskFix) {
|
7892 |
+
var attachedTimestamp = currentFlushTimestamp;
|
7893 |
+
var original = handler;
|
7894 |
+
handler = original._wrapper = function (e) {
|
7895 |
+
if (
|
7896 |
+
// no bubbling, should always fire.
|
7897 |
+
// this is just a safety net in case event.timeStamp is unreliable in
|
7898 |
+
// certain weird environments...
|
7899 |
+
e.target === e.currentTarget ||
|
7900 |
+
// event is fired after handler attachment
|
7901 |
+
e.timeStamp >= attachedTimestamp ||
|
7902 |
+
// #9462 bail for iOS 9 bug: event.timeStamp is 0 after history.pushState
|
7903 |
+
e.timeStamp === 0 ||
|
7904 |
+
// #9448 bail if event is fired in another document in a multi-page
|
7905 |
+
// electron/nw.js app, since event.timeStamp will be using a different
|
7906 |
+
// starting reference
|
7907 |
+
e.target.ownerDocument !== document
|
7908 |
+
) {
|
7909 |
+
return original.apply(this, arguments)
|
7910 |
+
}
|
7911 |
+
};
|
7912 |
+
}
|
7913 |
target$1.addEventListener(
|
7914 |
+
name,
|
7915 |
handler,
|
7916 |
supportsPassive
|
7917 |
? { capture: capture, passive: passive }
|
7920 |
}
|
7921 |
|
7922 |
function remove$2 (
|
7923 |
+
name,
|
7924 |
handler,
|
7925 |
capture,
|
7926 |
_target
|
7927 |
) {
|
7928 |
(_target || target$1).removeEventListener(
|
7929 |
+
name,
|
7930 |
+
handler._wrapper || handler,
|
7931 |
capture
|
7932 |
);
|
7933 |
}
|
7951 |
|
7952 |
/* */
|
7953 |
|
7954 |
+
var svgContainer;
|
7955 |
+
|
7956 |
function updateDOMProps (oldVnode, vnode) {
|
7957 |
if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {
|
7958 |
return
|
7986 |
}
|
7987 |
}
|
7988 |
|
7989 |
+
// skip the update if old and new VDOM state is the same.
|
7990 |
+
// the only exception is `value` where the DOM value may be temporarily
|
7991 |
+
// out of sync with VDOM state due to focus, composition and modifiers.
|
7992 |
+
// This also covers #4521 by skipping the unnecesarry `checked` update.
|
7993 |
+
if (key !== 'value' && cur === oldProps[key]) {
|
7994 |
+
continue
|
7995 |
+
}
|
7996 |
+
|
7997 |
if (key === 'value') {
|
7998 |
// store value as _value as well since
|
7999 |
// non-string values will be stringified
|
8003 |
if (shouldUpdateValue(elm, strCur)) {
|
8004 |
elm.value = strCur;
|
8005 |
}
|
8006 |
+
} else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {
|
8007 |
+
// IE doesn't support innerHTML for SVG elements
|
8008 |
+
svgContainer = svgContainer || document.createElement('div');
|
8009 |
+
svgContainer.innerHTML = "<svg>" + cur + "</svg>";
|
8010 |
+
var svg = svgContainer.firstChild;
|
8011 |
+
while (elm.firstChild) {
|
8012 |
+
elm.removeChild(elm.firstChild);
|
8013 |
+
}
|
8014 |
+
while (svg.firstChild) {
|
8015 |
+
elm.appendChild(svg.firstChild);
|
8016 |
+
}
|
8017 |
} else {
|
8018 |
elm[key] = cur;
|
8019 |
}
|
8045 |
var value = elm.value;
|
8046 |
var modifiers = elm._vModifiers; // injected by v-model runtime
|
8047 |
if (isDef(modifiers)) {
|
|
|
|
|
|
|
|
|
8048 |
if (modifiers.number) {
|
8049 |
return toNumber(value) !== toNumber(newVal)
|
8050 |
}
|
8139 |
if (cssVarRE.test(name)) {
|
8140 |
el.style.setProperty(name, val);
|
8141 |
} else if (importantRE.test(val)) {
|
8142 |
+
el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');
|
8143 |
} else {
|
8144 |
var normalizedName = normalize(name);
|
8145 |
if (Array.isArray(val)) {
|
9413 |
devtools.emit('init', Vue);
|
9414 |
} else if (
|
9415 |
process.env.NODE_ENV !== 'production' &&
|
9416 |
+
process.env.NODE_ENV !== 'test'
|
|
|
9417 |
) {
|
9418 |
console[console.info ? 'info' : 'log'](
|
9419 |
'Download the Vue Devtools extension for a better development experience:\n' +
|
9495 |
"class=\"" + staticClass + "\": " +
|
9496 |
'Interpolation inside attributes has been removed. ' +
|
9497 |
'Use v-bind or the colon shorthand instead. For example, ' +
|
9498 |
+
'instead of <div class="{{ val }}">, use <div :class="val">.',
|
9499 |
+
el.rawAttrsMap['class']
|
9500 |
);
|
9501 |
}
|
9502 |
}
|
9540 |
"style=\"" + staticStyle + "\": " +
|
9541 |
'Interpolation inside attributes has been removed. ' +
|
9542 |
'Use v-bind or the colon shorthand instead. For example, ' +
|
9543 |
+
'instead of <div style="{{ val }}">, use <div :style="val">.',
|
9544 |
+
el.rawAttrsMap['style']
|
9545 |
);
|
9546 |
}
|
9547 |
}
|
9612 |
|
9613 |
// Regular Expressions for parsing tags and attributes
|
9614 |
var attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
|
9615 |
+
var dynamicArgAttribute = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
|
9616 |
+
var ncname = "[a-zA-Z_][\\-\\.0-9_a-zA-Z" + unicodeLetters + "]*";
|
|
|
9617 |
var qnameCapture = "((?:" + ncname + "\\:)?" + ncname + ")";
|
9618 |
var startTagOpen = new RegExp(("^<" + qnameCapture));
|
9619 |
var startTagClose = /^\s*(\/?)>/;
|
9633 |
'"': '"',
|
9634 |
'&': '&',
|
9635 |
' ': '\n',
|
9636 |
+
'	': '\t',
|
9637 |
+
''': "'"
|
9638 |
};
|
9639 |
+
var encodedAttr = /&(?:lt|gt|quot|amp|#39);/g;
|
9640 |
+
var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g;
|
9641 |
|
9642 |
// #5992
|
9643 |
var isIgnoreNewlineTag = makeMap('pre,textarea', true);
|
9667 |
|
9668 |
if (commentEnd >= 0) {
|
9669 |
if (options.shouldKeepComment) {
|
9670 |
+
options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3);
|
9671 |
}
|
9672 |
advance(commentEnd + 3);
|
9673 |
continue
|
9727 |
rest = html.slice(textEnd);
|
9728 |
}
|
9729 |
text = html.substring(0, textEnd);
|
|
|
9730 |
}
|
9731 |
|
9732 |
if (textEnd < 0) {
|
9733 |
text = html;
|
9734 |
+
}
|
9735 |
+
|
9736 |
+
if (text) {
|
9737 |
+
advance(text.length);
|
9738 |
}
|
9739 |
|
9740 |
if (options.chars && text) {
|
9741 |
+
options.chars(text, index - text.length, index);
|
9742 |
}
|
9743 |
} else {
|
9744 |
var endTagLength = 0;
|
9767 |
if (html === last) {
|
9768 |
options.chars && options.chars(html);
|
9769 |
if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {
|
9770 |
+
options.warn(("Mal-formatted tag at end of template: \"" + html + "\""), { start: index + html.length });
|
9771 |
}
|
9772 |
break
|
9773 |
}
|
9791 |
};
|
9792 |
advance(start[0].length);
|
9793 |
var end, attr;
|
9794 |
+
while (!(end = html.match(startTagClose)) && (attr = html.match(dynamicArgAttribute) || html.match(attribute))) {
|
9795 |
+
attr.start = index;
|
9796 |
advance(attr[0].length);
|
9797 |
+
attr.end = index;
|
9798 |
match.attrs.push(attr);
|
9799 |
}
|
9800 |
if (end) {
|
9833 |
name: args[1],
|
9834 |
value: decodeAttr(value, shouldDecodeNewlines)
|
9835 |
};
|
9836 |
+
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
9837 |
+
attrs[i].start = args.start + args[0].match(/^\s*/).length;
|
9838 |
+
attrs[i].end = args.end;
|
9839 |
+
}
|
9840 |
}
|
9841 |
|
9842 |
if (!unary) {
|
9843 |
+
stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs, start: match.start, end: match.end });
|
9844 |
lastTag = tagName;
|
9845 |
}
|
9846 |
|
9875 |
options.warn
|
9876 |
) {
|
9877 |
options.warn(
|
9878 |
+
("tag <" + (stack[i].tag) + "> has no matching end tag."),
|
9879 |
+
{ start: stack[i].start }
|
9880 |
);
|
9881 |
}
|
9882 |
if (options.end) {
|
9909 |
var forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
|
9910 |
var forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/;
|
9911 |
var stripParensRE = /^\(|\)$/g;
|
9912 |
+
var dynamicArgRE = /^\[.*\]$/;
|
9913 |
|
9914 |
var argRE = /:(.*)$/;
|
9915 |
+
var bindRE = /^:|^\.|^v-bind:/;
|
9916 |
var modifierRE = /\.[^.]+/g;
|
9917 |
|
9918 |
+
var slotRE = /^v-slot(:|$)|^#/;
|
9919 |
+
|
9920 |
+
var lineBreakRE = /[\r\n]/;
|
9921 |
+
var whitespaceRE$1 = /\s+/g;
|
9922 |
+
|
9923 |
+
var invalidAttributeRE = /[\s"'<>\/=]/;
|
9924 |
+
|
9925 |
var decodeHTMLCached = cached(he.decode);
|
9926 |
|
9927 |
+
var emptySlotScopeToken = "_empty_";
|
9928 |
+
|
9929 |
// configurable state
|
9930 |
var warn$2;
|
9931 |
var delimiters;
|
9935 |
var platformIsPreTag;
|
9936 |
var platformMustUseProp;
|
9937 |
var platformGetTagNamespace;
|
9938 |
+
var maybeComponent;
|
|
|
9939 |
|
9940 |
function createASTElement (
|
9941 |
tag,
|
9947 |
tag: tag,
|
9948 |
attrsList: attrs,
|
9949 |
attrsMap: makeAttrsMap(attrs),
|
9950 |
+
rawAttrsMap: {},
|
9951 |
parent: parent,
|
9952 |
children: []
|
9953 |
}
|
9965 |
platformIsPreTag = options.isPreTag || no;
|
9966 |
platformMustUseProp = options.mustUseProp || no;
|
9967 |
platformGetTagNamespace = options.getTagNamespace || no;
|
9968 |
+
var isReservedTag = options.isReservedTag || no;
|
9969 |
+
maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };
|
9970 |
|
9971 |
transforms = pluckModuleFunction(options.modules, 'transformNode');
|
9972 |
preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');
|
9976 |
|
9977 |
var stack = [];
|
9978 |
var preserveWhitespace = options.preserveWhitespace !== false;
|
9979 |
+
var whitespaceOption = options.whitespace;
|
9980 |
var root;
|
9981 |
var currentParent;
|
9982 |
var inVPre = false;
|
9983 |
var inPre = false;
|
9984 |
var warned = false;
|
9985 |
|
9986 |
+
function warnOnce (msg, range) {
|
9987 |
if (!warned) {
|
9988 |
warned = true;
|
9989 |
+
warn$2(msg, range);
|
9990 |
}
|
9991 |
}
|
9992 |
|
9993 |
function closeElement (element) {
|
9994 |
+
trimEndingWhitespace(element);
|
9995 |
+
if (!inVPre && !element.processed) {
|
9996 |
+
element = processElement(element, options);
|
9997 |
+
}
|
9998 |
+
// tree management
|
9999 |
+
if (!stack.length && element !== root) {
|
10000 |
+
// allow root elements with v-if, v-else-if and v-else
|
10001 |
+
if (root.if && (element.elseif || element.else)) {
|
10002 |
+
if (process.env.NODE_ENV !== 'production') {
|
10003 |
+
checkRootConstraints(element);
|
10004 |
+
}
|
10005 |
+
addIfCondition(root, {
|
10006 |
+
exp: element.elseif,
|
10007 |
+
block: element
|
10008 |
+
});
|
10009 |
+
} else if (process.env.NODE_ENV !== 'production') {
|
10010 |
+
warnOnce(
|
10011 |
+
"Component template should contain exactly one root element. " +
|
10012 |
+
"If you are using v-if on multiple elements, " +
|
10013 |
+
"use v-else-if to chain them instead.",
|
10014 |
+
{ start: element.start }
|
10015 |
+
);
|
10016 |
+
}
|
10017 |
+
}
|
10018 |
+
if (currentParent && !element.forbidden) {
|
10019 |
+
if (element.elseif || element.else) {
|
10020 |
+
processIfConditions(element, currentParent);
|
10021 |
+
} else {
|
10022 |
+
if (element.slotScope) {
|
10023 |
+
// scoped slot
|
10024 |
+
// keep it in the children list so that v-else(-if) conditions can
|
10025 |
+
// find it as the prev node.
|
10026 |
+
var name = element.slotTarget || '"default"'
|
10027 |
+
;(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;
|
10028 |
+
}
|
10029 |
+
currentParent.children.push(element);
|
10030 |
+
element.parent = currentParent;
|
10031 |
+
}
|
10032 |
+
}
|
10033 |
+
|
10034 |
+
// final children cleanup
|
10035 |
+
// filter out scoped slots
|
10036 |
+
element.children = element.children.filter(function (c) { return !(c).slotScope; });
|
10037 |
+
// remove trailing whitespace node again
|
10038 |
+
trimEndingWhitespace(element);
|
10039 |
+
|
10040 |
// check pre state
|
10041 |
if (element.pre) {
|
10042 |
inVPre = false;
|
10050 |
}
|
10051 |
}
|
10052 |
|
10053 |
+
function trimEndingWhitespace (el) {
|
10054 |
+
// remove trailing whitespace node
|
10055 |
+
if (!inPre) {
|
10056 |
+
var lastNode;
|
10057 |
+
while (
|
10058 |
+
(lastNode = el.children[el.children.length - 1]) &&
|
10059 |
+
lastNode.type === 3 &&
|
10060 |
+
lastNode.text === ' '
|
10061 |
+
) {
|
10062 |
+
el.children.pop();
|
10063 |
+
}
|
10064 |
+
}
|
10065 |
+
}
|
10066 |
+
|
10067 |
+
function checkRootConstraints (el) {
|
10068 |
+
if (el.tag === 'slot' || el.tag === 'template') {
|
10069 |
+
warnOnce(
|
10070 |
+
"Cannot use <" + (el.tag) + "> as component root element because it may " +
|
10071 |
+
'contain multiple nodes.',
|
10072 |
+
{ start: el.start }
|
10073 |
+
);
|
10074 |
+
}
|
10075 |
+
if (el.attrsMap.hasOwnProperty('v-for')) {
|
10076 |
+
warnOnce(
|
10077 |
+
'Cannot use v-for on stateful component root element because ' +
|
10078 |
+
'it renders multiple elements.',
|
10079 |
+
el.rawAttrsMap['v-for']
|
10080 |
+
);
|
10081 |
+
}
|
10082 |
+
}
|
10083 |
+
|
10084 |
parseHTML(template, {
|
10085 |
warn: warn$2,
|
10086 |
expectHTML: options.expectHTML,
|
10089 |
shouldDecodeNewlines: options.shouldDecodeNewlines,
|
10090 |
shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,
|
10091 |
shouldKeepComment: options.comments,
|
10092 |
+
outputSourceRange: options.outputSourceRange,
|
10093 |
+
start: function start (tag, attrs, unary, start$1) {
|
10094 |
// check namespace.
|
10095 |
// inherit parent ns if there is one
|
10096 |
var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);
|
10106 |
element.ns = ns;
|
10107 |
}
|
10108 |
|
10109 |
+
if (process.env.NODE_ENV !== 'production') {
|
10110 |
+
if (options.outputSourceRange) {
|
10111 |
+
element.start = start$1;
|
10112 |
+
element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) {
|
10113 |
+
cumulated[attr.name] = attr;
|
10114 |
+
return cumulated
|
10115 |
+
}, {});
|
10116 |
+
}
|
10117 |
+
attrs.forEach(function (attr) {
|
10118 |
+
if (invalidAttributeRE.test(attr.name)) {
|
10119 |
+
warn$2(
|
10120 |
+
"Invalid dynamic argument expression: attribute names cannot contain " +
|
10121 |
+
"spaces, quotes, <, >, / or =.",
|
10122 |
+
{
|
10123 |
+
start: attr.start + attr.name.indexOf("["),
|
10124 |
+
end: attr.start + attr.name.length
|
10125 |
+
}
|
10126 |
+
);
|
10127 |
+
}
|
10128 |
+
});
|
10129 |
+
}
|
10130 |
+
|
10131 |
if (isForbiddenTag(element) && !isServerRendering()) {
|
10132 |
element.forbidden = true;
|
10133 |
process.env.NODE_ENV !== 'production' && warn$2(
|
10134 |
'Templates should only be responsible for mapping the state to the ' +
|
10135 |
'UI. Avoid placing tags with side-effects in your templates, such as ' +
|
10136 |
+
"<" + tag + ">" + ', as they will not be parsed.',
|
10137 |
+
{ start: element.start }
|
10138 |
);
|
10139 |
}
|
10140 |
|
10159 |
processFor(element);
|
10160 |
processIf(element);
|
10161 |
processOnce(element);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10162 |
}
|
10163 |
|
|
|
10164 |
if (!root) {
|
10165 |
root = element;
|
10166 |
+
if (process.env.NODE_ENV !== 'production') {
|
10167 |
+
checkRootConstraints(root);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10168 |
}
|
10169 |
}
|
10170 |
+
|
10171 |
if (!unary) {
|
10172 |
currentParent = element;
|
10173 |
stack.push(element);
|
10176 |
}
|
10177 |
},
|
10178 |
|
10179 |
+
end: function end (tag, start, end$1) {
|
|
|
10180 |
var element = stack[stack.length - 1];
|
|
|
|
|
|
|
|
|
10181 |
// pop stack
|
10182 |
stack.length -= 1;
|
10183 |
currentParent = stack[stack.length - 1];
|
10184 |
+
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
10185 |
+
element.end = end$1;
|
10186 |
+
}
|
10187 |
closeElement(element);
|
10188 |
},
|
10189 |
|
10190 |
+
chars: function chars (text, start, end) {
|
10191 |
if (!currentParent) {
|
10192 |
if (process.env.NODE_ENV !== 'production') {
|
10193 |
if (text === template) {
|
10194 |
warnOnce(
|
10195 |
+
'Component template requires a root element, rather than just text.',
|
10196 |
+
{ start: start }
|
10197 |
);
|
10198 |
} else if ((text = text.trim())) {
|
10199 |
warnOnce(
|
10200 |
+
("text \"" + text + "\" outside root element will be ignored."),
|
10201 |
+
{ start: start }
|
10202 |
);
|
10203 |
}
|
10204 |
}
|
10213 |
return
|
10214 |
}
|
10215 |
var children = currentParent.children;
|
10216 |
+
if (inPre || text.trim()) {
|
10217 |
+
text = isTextTag(currentParent) ? text : decodeHTMLCached(text);
|
10218 |
+
} else if (!children.length) {
|
10219 |
+
// remove the whitespace-only node right after an opening tag
|
10220 |
+
text = '';
|
10221 |
+
} else if (whitespaceOption) {
|
10222 |
+
if (whitespaceOption === 'condense') {
|
10223 |
+
// in condense mode, remove the whitespace node if it contains
|
10224 |
+
// line break, otherwise condense to a single space
|
10225 |
+
text = lineBreakRE.test(text) ? '' : ' ';
|
10226 |
+
} else {
|
10227 |
+
text = ' ';
|
10228 |
+
}
|
10229 |
+
} else {
|
10230 |
+
text = preserveWhitespace ? ' ' : '';
|
10231 |
+
}
|
10232 |
if (text) {
|
10233 |
+
if (whitespaceOption === 'condense') {
|
10234 |
+
// condense consecutive whitespaces into single space
|
10235 |
+
text = text.replace(whitespaceRE$1, ' ');
|
10236 |
+
}
|
10237 |
var res;
|
10238 |
+
var child;
|
10239 |
if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {
|
10240 |
+
child = {
|
10241 |
type: 2,
|
10242 |
expression: res.expression,
|
10243 |
tokens: res.tokens,
|
10244 |
text: text
|
10245 |
+
};
|
10246 |
} else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {
|
10247 |
+
child = {
|
10248 |
type: 3,
|
10249 |
text: text
|
10250 |
+
};
|
10251 |
+
}
|
10252 |
+
if (child) {
|
10253 |
+
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
10254 |
+
child.start = start;
|
10255 |
+
child.end = end;
|
10256 |
+
}
|
10257 |
+
children.push(child);
|
10258 |
}
|
10259 |
}
|
10260 |
},
|
10261 |
+
comment: function comment (text, start, end) {
|
10262 |
+
// adding anyting as a sibling to the root node is forbidden
|
10263 |
+
// comments should still be allowed, but ignored
|
10264 |
+
if (currentParent) {
|
10265 |
+
var child = {
|
10266 |
+
type: 3,
|
10267 |
+
text: text,
|
10268 |
+
isComment: true
|
10269 |
+
};
|
10270 |
+
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
10271 |
+
child.start = start;
|
10272 |
+
child.end = end;
|
10273 |
+
}
|
10274 |
+
currentParent.children.push(child);
|
10275 |
+
}
|
10276 |
}
|
10277 |
});
|
10278 |
return root
|
10285 |
}
|
10286 |
|
10287 |
function processRawAttrs (el) {
|
10288 |
+
var list = el.attrsList;
|
10289 |
+
var len = list.length;
|
10290 |
+
if (len) {
|
10291 |
+
var attrs = el.attrs = new Array(len);
|
10292 |
+
for (var i = 0; i < len; i++) {
|
10293 |
attrs[i] = {
|
10294 |
+
name: list[i].name,
|
10295 |
+
value: JSON.stringify(list[i].value)
|
10296 |
};
|
10297 |
+
if (list[i].start != null) {
|
10298 |
+
attrs[i].start = list[i].start;
|
10299 |
+
attrs[i].end = list[i].end;
|
10300 |
+
}
|
10301 |
}
|
10302 |
} else if (!el.pre) {
|
10303 |
// non root node in pre blocks with no attributes
|
10305 |
}
|
10306 |
}
|
10307 |
|
10308 |
+
function processElement (
|
10309 |
+
element,
|
10310 |
+
options
|
10311 |
+
) {
|
10312 |
processKey(element);
|
10313 |
|
10314 |
// determine whether this is a plain element after
|
10315 |
// removing structural attributes
|
10316 |
+
element.plain = (
|
10317 |
+
!element.key &&
|
10318 |
+
!element.scopedSlots &&
|
10319 |
+
!element.attrsList.length
|
10320 |
+
);
|
10321 |
|
10322 |
processRef(element);
|
10323 |
+
processSlotContent(element);
|
10324 |
+
processSlotOutlet(element);
|
10325 |
processComponent(element);
|
10326 |
for (var i = 0; i < transforms.length; i++) {
|
10327 |
element = transforms[i](element, options) || element;
|
10328 |
}
|
10329 |
processAttrs(element);
|
10330 |
+
return element
|
10331 |
}
|
10332 |
|
10333 |
function processKey (el) {
|
10335 |
if (exp) {
|
10336 |
if (process.env.NODE_ENV !== 'production') {
|
10337 |
if (el.tag === 'template') {
|
10338 |
+
warn$2(
|
10339 |
+
"<template> cannot be keyed. Place the key on real elements instead.",
|
10340 |
+
getRawBindingAttr(el, 'key')
|
10341 |
+
);
|
10342 |
}
|
10343 |
if (el.for) {
|
10344 |
var iterator = el.iterator2 || el.iterator1;
|
10346 |
if (iterator && iterator === exp && parent && parent.tag === 'transition-group') {
|
10347 |
warn$2(
|
10348 |
"Do not use v-for index as key on <transition-group> children, " +
|
10349 |
+
"this is the same as not using keys.",
|
10350 |
+
getRawBindingAttr(el, 'key'),
|
10351 |
+
true /* tip */
|
10352 |
);
|
10353 |
}
|
10354 |
}
|
10373 |
extend(el, res);
|
10374 |
} else if (process.env.NODE_ENV !== 'production') {
|
10375 |
warn$2(
|
10376 |
+
("Invalid v-for expression: " + exp),
|
10377 |
+
el.rawAttrsMap['v-for']
|
10378 |
);
|
10379 |
}
|
10380 |
}
|
10430 |
} else if (process.env.NODE_ENV !== 'production') {
|
10431 |
warn$2(
|
10432 |
"v-" + (el.elseif ? ('else-if="' + el.elseif + '"') : 'else') + " " +
|
10433 |
+
"used on element <" + (el.tag) + "> without corresponding v-if.",
|
10434 |
+
el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']
|
10435 |
);
|
10436 |
}
|
10437 |
}
|
10445 |
if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {
|
10446 |
warn$2(
|
10447 |
"text \"" + (children[i].text.trim()) + "\" between v-if and v-else(-if) " +
|
10448 |
+
"will be ignored.",
|
10449 |
+
children[i]
|
10450 |
);
|
10451 |
}
|
10452 |
children.pop();
|
10468 |
}
|
10469 |
}
|
10470 |
|
10471 |
+
// handle content being passed to a component as slot,
|
10472 |
+
// e.g. <template slot="xxx">, <div slot-scope="xxx">
|
10473 |
+
function processSlotContent (el) {
|
10474 |
+
var slotScope;
|
10475 |
+
if (el.tag === 'template') {
|
10476 |
+
slotScope = getAndRemoveAttr(el, 'scope');
|
10477 |
+
/* istanbul ignore if */
|
10478 |
+
if (process.env.NODE_ENV !== 'production' && slotScope) {
|
10479 |
warn$2(
|
10480 |
+
"the \"scope\" attribute for scoped slots have been deprecated and " +
|
10481 |
+
"replaced by \"slot-scope\" since 2.5. The new \"slot-scope\" attribute " +
|
10482 |
+
"can also be used on plain elements in addition to <template> to " +
|
10483 |
+
"denote scoped slots.",
|
10484 |
+
el.rawAttrsMap['scope'],
|
10485 |
+
true
|
10486 |
);
|
10487 |
}
|
10488 |
+
el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');
|
10489 |
+
} else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {
|
10490 |
+
/* istanbul ignore if */
|
10491 |
+
if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {
|
10492 |
+
warn$2(
|
10493 |
+
"Ambiguous combined usage of slot-scope and v-for on <" + (el.tag) + "> " +
|
10494 |
+
"(v-for takes higher priority). Use a wrapper <template> for the " +
|
10495 |
+
"scoped slot to make it clearer.",
|
10496 |
+
el.rawAttrsMap['slot-scope'],
|
10497 |
+
true
|
10498 |
+
);
|
10499 |
+
}
|
10500 |
+
el.slotScope = slotScope;
|
10501 |
+
}
|
10502 |
+
|
10503 |
+
// slot="xxx"
|
10504 |
+
var slotTarget = getBindingAttr(el, 'slot');
|
10505 |
+
if (slotTarget) {
|
10506 |
+
el.slotTarget = slotTarget === '""' ? '"default"' : slotTarget;
|
10507 |
+
el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']);
|
10508 |
+
// preserve slot as an attribute for native shadow DOM compat
|
10509 |
+
// only for non-scoped slots.
|
10510 |
+
if (el.tag !== 'template' && !el.slotScope) {
|
10511 |
+
addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot'));
|
10512 |
+
}
|
10513 |
+
}
|
10514 |
+
|
10515 |
+
// 2.6 v-slot syntax
|
10516 |
+
{
|
10517 |
if (el.tag === 'template') {
|
10518 |
+
// v-slot on <template>
|
10519 |
+
var slotBinding = getAndRemoveAttrByRegex(el, slotRE);
|
10520 |
+
if (slotBinding) {
|
10521 |
+
if (process.env.NODE_ENV !== 'production') {
|
10522 |
+
if (el.slotTarget || el.slotScope) {
|
10523 |
+
warn$2(
|
10524 |
+
"Unexpected mixed usage of different slot syntaxes.",
|
10525 |
+
el
|
10526 |
+
);
|
10527 |
+
}
|
10528 |
+
if (el.parent && !maybeComponent(el.parent)) {
|
10529 |
+
warn$2(
|
10530 |
+
"<template v-slot> can only appear at the root level inside " +
|
10531 |
+
"the receiving the component",
|
10532 |
+
el
|
10533 |
+
);
|
10534 |
+
}
|
10535 |
+
}
|
10536 |
+
var ref = getSlotName(slotBinding);
|
10537 |
+
var name = ref.name;
|
10538 |
+
var dynamic = ref.dynamic;
|
10539 |
+
el.slotTarget = name;
|
10540 |
+
el.slotTargetDynamic = dynamic;
|
10541 |
+
el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf
|
10542 |
}
|
10543 |
+
} else {
|
10544 |
+
// v-slot on component, denotes default slot
|
10545 |
+
var slotBinding$1 = getAndRemoveAttrByRegex(el, slotRE);
|
10546 |
+
if (slotBinding$1) {
|
10547 |
+
if (process.env.NODE_ENV !== 'production') {
|
10548 |
+
if (!maybeComponent(el)) {
|
10549 |
+
warn$2(
|
10550 |
+
"v-slot can only be used on components or <template>.",
|
10551 |
+
slotBinding$1
|
10552 |
+
);
|
10553 |
+
}
|
10554 |
+
if (el.slotScope || el.slotTarget) {
|
10555 |
+
warn$2(
|
10556 |
+
"Unexpected mixed usage of different slot syntaxes.",
|
10557 |
+
el
|
10558 |
+
);
|
10559 |
+
}
|
10560 |
+
if (el.scopedSlots) {
|
10561 |
+
warn$2(
|
10562 |
+
"To avoid scope ambiguity, the default slot should also use " +
|
10563 |
+
"<template> syntax when there are other named slots.",
|
10564 |
+
slotBinding$1
|
10565 |
+
);
|
10566 |
+
}
|
10567 |
+
}
|
10568 |
+
// add the component's children to its default slot
|
10569 |
+
var slots = el.scopedSlots || (el.scopedSlots = {});
|
10570 |
+
var ref$1 = getSlotName(slotBinding$1);
|
10571 |
+
var name$1 = ref$1.name;
|
10572 |
+
var dynamic$1 = ref$1.dynamic;
|
10573 |
+
var slotContainer = slots[name$1] = createASTElement('template', [], el);
|
10574 |
+
slotContainer.slotTarget = name$1;
|
10575 |
+
slotContainer.slotTargetDynamic = dynamic$1;
|
10576 |
+
slotContainer.children = el.children.filter(function (c) {
|
10577 |
+
if (!c.slotScope) {
|
10578 |
+
c.parent = slotContainer;
|
10579 |
+
return true
|
10580 |
+
}
|
10581 |
+
});
|
10582 |
+
slotContainer.slotScope = slotBinding$1.value || emptySlotScopeToken;
|
10583 |
+
// remove children as they are returned from scopedSlots now
|
10584 |
+
el.children = [];
|
10585 |
+
// mark el non-plain so data gets generated
|
10586 |
+
el.plain = false;
|
10587 |
}
|
|
|
10588 |
}
|
10589 |
+
}
|
10590 |
+
}
|
10591 |
+
|
10592 |
+
function getSlotName (binding) {
|
10593 |
+
var name = binding.name.replace(slotRE, '');
|
10594 |
+
if (!name) {
|
10595 |
+
if (binding.name[0] !== '#') {
|
10596 |
+
name = 'default';
|
10597 |
+
} else if (process.env.NODE_ENV !== 'production') {
|
10598 |
+
warn$2(
|
10599 |
+
"v-slot shorthand syntax requires a slot name.",
|
10600 |
+
binding
|
10601 |
+
);
|
10602 |
+
}
|
10603 |
+
}
|
10604 |
+
return dynamicArgRE.test(name)
|
10605 |
+
// dynamic [name]
|
10606 |
+
? { name: name.slice(1, -1), dynamic: true }
|
10607 |
+
// static name
|
10608 |
+
: { name: ("\"" + name + "\""), dynamic: false }
|
10609 |
+
}
|
10610 |
+
|
10611 |
+
// handle <slot/> outlets
|
10612 |
+
function processSlotOutlet (el) {
|
10613 |
+
if (el.tag === 'slot') {
|
10614 |
+
el.slotName = getBindingAttr(el, 'name');
|
10615 |
+
if (process.env.NODE_ENV !== 'production' && el.key) {
|
10616 |
+
warn$2(
|
10617 |
+
"`key` does not work on <slot> because slots are abstract outlets " +
|
10618 |
+
"and can possibly expand into multiple elements. " +
|
10619 |
+
"Use the key on a wrapping element instead.",
|
10620 |
+
getRawBindingAttr(el, 'key')
|
10621 |
+
);
|
10622 |
}
|
10623 |
}
|
10624 |
}
|
10635 |
|
10636 |
function processAttrs (el) {
|
10637 |
var list = el.attrsList;
|
10638 |
+
var i, l, name, rawName, value, modifiers, syncGen, isDynamic;
|
10639 |
for (i = 0, l = list.length; i < l; i++) {
|
10640 |
name = rawName = list[i].name;
|
10641 |
value = list[i].value;
|
10643 |
// mark element as dynamic
|
10644 |
el.hasBindings = true;
|
10645 |
// modifiers
|
10646 |
+
modifiers = parseModifiers(name.replace(dirRE, ''));
|
10647 |
+
// support .foo shorthand syntax for the .prop modifier
|
10648 |
if (modifiers) {
|
10649 |
name = name.replace(modifierRE, '');
|
10650 |
}
|
10651 |
if (bindRE.test(name)) { // v-bind
|
10652 |
name = name.replace(bindRE, '');
|
10653 |
value = parseFilters(value);
|
10654 |
+
isDynamic = dynamicArgRE.test(name);
|
10655 |
+
if (isDynamic) {
|
10656 |
+
name = name.slice(1, -1);
|
10657 |
+
}
|
10658 |
if (
|
10659 |
process.env.NODE_ENV !== 'production' &&
|
10660 |
value.trim().length === 0
|
10664 |
);
|
10665 |
}
|
10666 |
if (modifiers) {
|
10667 |
+
if (modifiers.prop && !isDynamic) {
|
|
|
10668 |
name = camelize(name);
|
10669 |
if (name === 'innerHtml') { name = 'innerHTML'; }
|
10670 |
}
|
10671 |
+
if (modifiers.camel && !isDynamic) {
|
10672 |
name = camelize(name);
|
10673 |
}
|
10674 |
if (modifiers.sync) {
|
10675 |
+
syncGen = genAssignmentCode(value, "$event");
|
10676 |
+
if (!isDynamic) {
|
10677 |
+
addHandler(
|
10678 |
+
el,
|
10679 |
+
("update:" + (camelize(name))),
|
10680 |
+
syncGen,
|
10681 |
+
null,
|
10682 |
+
false,
|
10683 |
+
warn$2,
|
10684 |
+
list[i]
|
10685 |
+
);
|
10686 |
+
if (hyphenate(name) !== camelize(name)) {
|
10687 |
+
addHandler(
|
10688 |
+
el,
|
10689 |
+
("update:" + (hyphenate(name))),
|
10690 |
+
syncGen,
|
10691 |
+
null,
|
10692 |
+
false,
|
10693 |
+
warn$2,
|
10694 |
+
list[i]
|
10695 |
+
);
|
10696 |
+
}
|
10697 |
+
} else {
|
10698 |
+
// handler w/ dynamic event name
|
10699 |
+
addHandler(
|
10700 |
+
el,
|
10701 |
+
("\"update:\"+(" + name + ")"),
|
10702 |
+
syncGen,
|
10703 |
+
null,
|
10704 |
+
false,
|
10705 |
+
warn$2,
|
10706 |
+
list[i],
|
10707 |
+
true // dynamic
|
10708 |
+
);
|
10709 |
+
}
|
10710 |
}
|
10711 |
}
|
10712 |
+
if ((modifiers && modifiers.prop) || (
|
10713 |
!el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)
|
10714 |
)) {
|
10715 |
+
addProp(el, name, value, list[i], isDynamic);
|
10716 |
} else {
|
10717 |
+
addAttr(el, name, value, list[i], isDynamic);
|
10718 |
}
|
10719 |
} else if (onRE.test(name)) { // v-on
|
10720 |
name = name.replace(onRE, '');
|
10721 |
+
isDynamic = dynamicArgRE.test(name);
|
10722 |
+
if (isDynamic) {
|
10723 |
+
name = name.slice(1, -1);
|
10724 |
+
}
|
10725 |
+
addHandler(el, name, value, modifiers, false, warn$2, list[i], isDynamic);
|
10726 |
} else { // normal directives
|
10727 |
name = name.replace(dirRE, '');
|
10728 |
// parse arg
|
10729 |
var argMatch = name.match(argRE);
|
10730 |
var arg = argMatch && argMatch[1];
|
10731 |
+
isDynamic = false;
|
10732 |
if (arg) {
|
10733 |
name = name.slice(0, -(arg.length + 1));
|
10734 |
+
if (dynamicArgRE.test(arg)) {
|
10735 |
+
arg = arg.slice(1, -1);
|
10736 |
+
isDynamic = true;
|
10737 |
+
}
|
10738 |
}
|
10739 |
+
addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]);
|
10740 |
if (process.env.NODE_ENV !== 'production' && name === 'model') {
|
10741 |
checkForAliasModel(el, value);
|
10742 |
}
|
10750 |
name + "=\"" + value + "\": " +
|
10751 |
'Interpolation inside attributes has been removed. ' +
|
10752 |
'Use v-bind or the colon shorthand instead. For example, ' +
|
10753 |
+
'instead of <div id="{{ val }}">, use <div :id="val">.',
|
10754 |
+
list[i]
|
10755 |
);
|
10756 |
}
|
10757 |
}
|
10758 |
+
addAttr(el, name, JSON.stringify(value), list[i]);
|
10759 |
// #6887 firefox doesn't update muted state if set via attribute
|
10760 |
// even immediately after element creation
|
10761 |
if (!el.component &&
|
10762 |
name === 'muted' &&
|
10763 |
platformMustUseProp(el.tag, el.attrsMap.type, name)) {
|
10764 |
+
addProp(el, name, 'true', list[i]);
|
10765 |
}
|
10766 |
}
|
10767 |
}
|
10794 |
process.env.NODE_ENV !== 'production' &&
|
10795 |
map[attrs[i].name] && !isIE && !isEdge
|
10796 |
) {
|
10797 |
+
warn$2('duplicate attribute: ' + attrs[i].name, attrs[i]);
|
10798 |
}
|
10799 |
map[attrs[i].name] = attrs[i].value;
|
10800 |
}
|
10841 |
"You are binding v-model directly to a v-for iteration alias. " +
|
10842 |
"This will not be able to modify the v-for source array because " +
|
10843 |
"writing to the alias is like modifying a function local variable. " +
|
10844 |
+
"Consider using an array of objects and use v-model on an object property instead.",
|
10845 |
+
el.rawAttrsMap['v-model']
|
10846 |
);
|
10847 |
}
|
10848 |
_el = _el.parent;
|
10931 |
|
10932 |
function text (el, dir) {
|
10933 |
if (dir.value) {
|
10934 |
+
addProp(el, 'textContent', ("_s(" + (dir.value) + ")"), dir);
|
10935 |
}
|
10936 |
}
|
10937 |
|
10939 |
|
10940 |
function html (el, dir) {
|
10941 |
if (dir.value) {
|
10942 |
+
addProp(el, 'innerHTML', ("_s(" + (dir.value) + ")"), dir);
|
10943 |
}
|
10944 |
}
|
10945 |
|
10994 |
|
10995 |
function genStaticKeys$1 (keys) {
|
10996 |
return makeMap(
|
10997 |
+
'type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' +
|
10998 |
(keys ? ',' + keys : '')
|
10999 |
)
|
11000 |
}
|
11094 |
/* */
|
11095 |
|
11096 |
var fnExpRE = /^([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/;
|
11097 |
+
var fnInvokeRE = /\([^)]*?\);*$/;
|
11098 |
var simplePathRE = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/;
|
11099 |
|
11100 |
// KeyboardEvent.keyCode aliases
|
11149 |
events,
|
11150 |
isNative
|
11151 |
) {
|
11152 |
+
var prefix = isNative ? 'nativeOn:' : 'on:';
|
11153 |
+
var staticHandlers = "";
|
11154 |
+
var dynamicHandlers = "";
|
11155 |
for (var name in events) {
|
11156 |
+
var handlerCode = genHandler(events[name]);
|
11157 |
+
if (events[name] && events[name].dynamic) {
|
11158 |
+
dynamicHandlers += name + "," + handlerCode + ",";
|
11159 |
+
} else {
|
11160 |
+
staticHandlers += "\"" + name + "\":" + handlerCode + ",";
|
11161 |
+
}
|
11162 |
+
}
|
11163 |
+
staticHandlers = "{" + (staticHandlers.slice(0, -1)) + "}";
|
11164 |
+
if (dynamicHandlers) {
|
11165 |
+
return prefix + "_d(" + staticHandlers + ",[" + (dynamicHandlers.slice(0, -1)) + "])"
|
11166 |
+
} else {
|
11167 |
+
return prefix + staticHandlers
|
11168 |
}
|
|
|
11169 |
}
|
11170 |
|
11171 |
+
function genHandler (handler) {
|
|
|
|
|
|
|
11172 |
if (!handler) {
|
11173 |
return 'function(){}'
|
11174 |
}
|
11175 |
|
11176 |
if (Array.isArray(handler)) {
|
11177 |
+
return ("[" + (handler.map(function (handler) { return genHandler(handler); }).join(',')) + "]")
|
11178 |
}
|
11179 |
|
11180 |
var isMethodPath = simplePathRE.test(handler.value);
|
11181 |
var isFunctionExpression = fnExpRE.test(handler.value);
|
11182 |
+
var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, ''));
|
11183 |
|
11184 |
if (!handler.modifiers) {
|
11185 |
if (isMethodPath || isFunctionExpression) {
|
11186 |
return handler.value
|
11187 |
}
|
11188 |
+
return ("function($event){" + (isFunctionInvocation ? ("return " + (handler.value)) : handler.value) + "}") // inline statement
|
11189 |
} else {
|
11190 |
var code = '';
|
11191 |
var genModifierCode = '';
|
11220 |
? ("return " + (handler.value) + "($event)")
|
11221 |
: isFunctionExpression
|
11222 |
? ("return (" + (handler.value) + ")($event)")
|
11223 |
+
: isFunctionInvocation
|
11224 |
+
? ("return " + (handler.value))
|
11225 |
+
: handler.value;
|
11226 |
return ("function($event){" + code + handlerCode + "}")
|
11227 |
}
|
11228 |
}
|
11229 |
|
11230 |
function genKeyFilter (keys) {
|
11231 |
+
return (
|
11232 |
+
// make sure the key filters only apply to KeyboardEvents
|
11233 |
+
// #9441: can't use 'keyCode' in $event because Chrome autofill fires fake
|
11234 |
+
// key events that do not have keyCode property...
|
11235 |
+
"if(!$event.type.indexOf('key')&&" +
|
11236 |
+
(keys.map(genFilterCode).join('&&')) + ")return null;"
|
11237 |
+
)
|
11238 |
}
|
11239 |
|
11240 |
function genFilterCode (key) {
|
11292 |
this.dataGenFns = pluckModuleFunction(options.modules, 'genData');
|
11293 |
this.directives = extend(extend({}, baseDirectives), options.directives);
|
11294 |
var isReservedTag = options.isReservedTag || no;
|
11295 |
+
this.maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };
|
11296 |
this.onceId = 0;
|
11297 |
this.staticRenderFns = [];
|
11298 |
this.pre = false;
|
11383 |
}
|
11384 |
if (!key) {
|
11385 |
process.env.NODE_ENV !== 'production' && state.warn(
|
11386 |
+
"v-once can only be used inside v-for that is keyed. ",
|
11387 |
+
el.rawAttrsMap['v-once']
|
11388 |
);
|
11389 |
return genElement(el, state)
|
11390 |
}
|
11452 |
"<" + (el.tag) + " v-for=\"" + alias + " in " + exp + "\">: component lists rendered with " +
|
11453 |
"v-for should have explicit keys. " +
|
11454 |
"See https://vuejs.org/guide/list.html#key for more info.",
|
11455 |
+
el.rawAttrsMap['v-for'],
|
11456 |
true /* tip */
|
11457 |
);
|
11458 |
}
|
11497 |
}
|
11498 |
// attributes
|
11499 |
if (el.attrs) {
|
11500 |
+
data += "attrs:" + (genProps(el.attrs)) + ",";
|
11501 |
}
|
11502 |
// DOM props
|
11503 |
if (el.props) {
|
11504 |
+
data += "domProps:" + (genProps(el.props)) + ",";
|
11505 |
}
|
11506 |
// event handlers
|
11507 |
if (el.events) {
|
11517 |
}
|
11518 |
// scoped slots
|
11519 |
if (el.scopedSlots) {
|
11520 |
+
data += (genScopedSlots(el, el.scopedSlots, state)) + ",";
|
11521 |
}
|
11522 |
// component v-model
|
11523 |
if (el.model) {
|
11531 |
}
|
11532 |
}
|
11533 |
data = data.replace(/,$/, '') + '}';
|
11534 |
+
// v-bind dynamic argument wrap
|
11535 |
+
// v-bind with dynamic arguments must be applied using the same v-bind object
|
11536 |
+
// merge helper so that class/style/mustUseProp attrs are handled correctly.
|
11537 |
+
if (el.dynamicAttrs) {
|
11538 |
+
data = "_b(" + data + ",\"" + (el.tag) + "\"," + (genProps(el.dynamicAttrs)) + ")";
|
11539 |
+
}
|
11540 |
// v-bind data wrap
|
11541 |
if (el.wrapData) {
|
11542 |
data = el.wrapData(data);
|
11565 |
}
|
11566 |
if (needRuntime) {
|
11567 |
hasRuntime = true;
|
11568 |
+
res += "{name:\"" + (dir.name) + "\",rawName:\"" + (dir.rawName) + "\"" + (dir.value ? (",value:(" + (dir.value) + "),expression:" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (",arg:" + (dir.isDynamicArg ? dir.arg : ("\"" + (dir.arg) + "\""))) : '') + (dir.modifiers ? (",modifiers:" + (JSON.stringify(dir.modifiers))) : '') + "},";
|
11569 |
}
|
11570 |
}
|
11571 |
if (hasRuntime) {
|
11578 |
if (process.env.NODE_ENV !== 'production' && (
|
11579 |
el.children.length !== 1 || ast.type !== 1
|
11580 |
)) {
|
11581 |
+
state.warn(
|
11582 |
+
'Inline-template components must have exactly one child element.',
|
11583 |
+
{ start: el.start }
|
11584 |
+
);
|
11585 |
}
|
11586 |
+
if (ast && ast.type === 1) {
|
11587 |
var inlineRenderFns = generate(ast, state.options);
|
11588 |
return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}")
|
11589 |
}
|
11590 |
}
|
11591 |
|
11592 |
function genScopedSlots (
|
11593 |
+
el,
|
11594 |
slots,
|
11595 |
state
|
11596 |
) {
|
11597 |
+
// by default scoped slots are considered "stable", this allows child
|
11598 |
+
// components with only scoped slots to skip forced updates from parent.
|
11599 |
+
// but in some cases we have to bail-out of this optimization
|
11600 |
+
// for example if the slot contains dynamic names, has v-if or v-for on them...
|
11601 |
+
var needsForceUpdate = Object.keys(slots).some(function (key) {
|
11602 |
+
var slot = slots[key];
|
11603 |
+
return (
|
11604 |
+
slot.slotTargetDynamic ||
|
11605 |
+
slot.if ||
|
11606 |
+
slot.for ||
|
11607 |
+
containsSlotChild(slot) // is passing down slot from parent which may be dynamic
|
11608 |
+
)
|
11609 |
+
});
|
11610 |
+
// OR when it is inside another scoped slot (the reactivity is disconnected)
|
11611 |
+
// #9438
|
11612 |
+
if (!needsForceUpdate) {
|
11613 |
+
var parent = el.parent;
|
11614 |
+
while (parent) {
|
11615 |
+
if (parent.slotScope && parent.slotScope !== emptySlotScopeToken) {
|
11616 |
+
needsForceUpdate = true;
|
11617 |
+
break
|
11618 |
+
}
|
11619 |
+
parent = parent.parent;
|
11620 |
+
}
|
11621 |
+
}
|
11622 |
+
|
11623 |
return ("scopedSlots:_u([" + (Object.keys(slots).map(function (key) {
|
11624 |
+
return genScopedSlot(slots[key], state)
|
11625 |
+
}).join(',')) + "]" + (needsForceUpdate ? ",true" : "") + ")")
|
11626 |
+
}
|
11627 |
+
|
11628 |
+
function containsSlotChild (el) {
|
11629 |
+
if (el.type === 1) {
|
11630 |
+
if (el.tag === 'slot') {
|
11631 |
+
return true
|
11632 |
+
}
|
11633 |
+
return el.children.some(containsSlotChild)
|
11634 |
+
}
|
11635 |
+
return false
|
11636 |
}
|
11637 |
|
11638 |
function genScopedSlot (
|
|
|
11639 |
el,
|
11640 |
state
|
11641 |
) {
|
11642 |
+
var isLegacySyntax = el.attrsMap['slot-scope'];
|
11643 |
+
if (el.if && !el.ifProcessed && !isLegacySyntax) {
|
11644 |
+
return genIf(el, state, genScopedSlot, "null")
|
11645 |
+
}
|
11646 |
if (el.for && !el.forProcessed) {
|
11647 |
+
return genFor(el, state, genScopedSlot)
|
11648 |
}
|
11649 |
+
var slotScope = el.slotScope === emptySlotScopeToken
|
11650 |
+
? ""
|
11651 |
+
: String(el.slotScope);
|
11652 |
+
var fn = "function(" + slotScope + "){" +
|
11653 |
"return " + (el.tag === 'template'
|
11654 |
+
? el.if && isLegacySyntax
|
11655 |
? ("(" + (el.if) + ")?" + (genChildren(el, state) || 'undefined') + ":undefined")
|
11656 |
: genChildren(el, state) || 'undefined'
|
11657 |
: genElement(el, state)) + "}";
|
11658 |
+
// reverse proxy v-slot without scope on this.$slots
|
11659 |
+
var reverseProxy = slotScope ? "" : ",proxy:true";
|
11660 |
+
return ("{key:" + (el.slotTarget || "\"default\"") + ",fn:" + fn + reverseProxy + "}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11661 |
}
|
11662 |
|
11663 |
function genChildren (
|
11744 |
var slotName = el.slotName || '"default"';
|
11745 |
var children = genChildren(el, state);
|
11746 |
var res = "_t(" + slotName + (children ? ("," + children) : '');
|
11747 |
+
var attrs = el.attrs || el.dynamicAttrs
|
11748 |
+
? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({
|
11749 |
+
// slot props are camelized
|
11750 |
+
name: camelize(attr.name),
|
11751 |
+
value: attr.value,
|
11752 |
+
dynamic: attr.dynamic
|
11753 |
+
}); }))
|
11754 |
+
: null;
|
11755 |
var bind$$1 = el.attrsMap['v-bind'];
|
11756 |
if ((attrs || bind$$1) && !children) {
|
11757 |
res += ",null";
|
11776 |
}
|
11777 |
|
11778 |
function genProps (props) {
|
11779 |
+
var staticProps = "";
|
11780 |
+
var dynamicProps = "";
|
11781 |
for (var i = 0; i < props.length; i++) {
|
11782 |
var prop = props[i];
|
11783 |
+
var value = transformSpecialNewlines(prop.value);
|
11784 |
+
if (prop.dynamic) {
|
11785 |
+
dynamicProps += (prop.name) + "," + value + ",";
|
11786 |
+
} else {
|
11787 |
+
staticProps += "\"" + (prop.name) + "\":" + value + ",";
|
11788 |
}
|
11789 |
}
|
11790 |
+
staticProps = "{" + (staticProps.slice(0, -1)) + "}";
|
11791 |
+
if (dynamicProps) {
|
11792 |
+
return ("_d(" + staticProps + ",[" + (dynamicProps.slice(0, -1)) + "])")
|
11793 |
+
} else {
|
11794 |
+
return staticProps
|
11795 |
+
}
|
11796 |
}
|
11797 |
|
11798 |
// #3895, #4268
|
11804 |
|
11805 |
/* */
|
11806 |
|
11807 |
+
|
11808 |
+
|
11809 |
// these keywords should not appear inside expressions, but operators like
|
11810 |
// typeof, instanceof and in are allowed
|
11811 |
var prohibitedKeywordRE = new RegExp('\\b' + (
|
11823 |
var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;
|
11824 |
|
11825 |
// detect problematic expressions in a template
|
11826 |
+
function detectErrors (ast, warn) {
|
|
|
11827 |
if (ast) {
|
11828 |
+
checkNode(ast, warn);
|
11829 |
}
|
|
|
11830 |
}
|
11831 |
|
11832 |
+
function checkNode (node, warn) {
|
11833 |
if (node.type === 1) {
|
11834 |
for (var name in node.attrsMap) {
|
11835 |
if (dirRE.test(name)) {
|
11836 |
var value = node.attrsMap[name];
|
11837 |
if (value) {
|
11838 |
+
var range = node.rawAttrsMap[name];
|
11839 |
if (name === 'v-for') {
|
11840 |
+
checkFor(node, ("v-for=\"" + value + "\""), warn, range);
|
11841 |
} else if (onRE.test(name)) {
|
11842 |
+
checkEvent(value, (name + "=\"" + value + "\""), warn, range);
|
11843 |
} else {
|
11844 |
+
checkExpression(value, (name + "=\"" + value + "\""), warn, range);
|
11845 |
}
|
11846 |
}
|
11847 |
}
|
11848 |
}
|
11849 |
if (node.children) {
|
11850 |
for (var i = 0; i < node.children.length; i++) {
|
11851 |
+
checkNode(node.children[i], warn);
|
11852 |
}
|
11853 |
}
|
11854 |
} else if (node.type === 2) {
|
11855 |
+
checkExpression(node.expression, node.text, warn, node);
|
11856 |
}
|
11857 |
}
|
11858 |
|
11859 |
+
function checkEvent (exp, text, warn, range) {
|
11860 |
var stipped = exp.replace(stripStringRE, '');
|
11861 |
var keywordMatch = stipped.match(unaryOperatorsRE);
|
11862 |
if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {
|
11863 |
+
warn(
|
11864 |
"avoid using JavaScript unary operator as property name: " +
|
11865 |
+
"\"" + (keywordMatch[0]) + "\" in expression " + (text.trim()),
|
11866 |
+
range
|
11867 |
);
|
11868 |
}
|
11869 |
+
checkExpression(exp, text, warn, range);
|
11870 |
}
|
11871 |
|
11872 |
+
function checkFor (node, text, warn, range) {
|
11873 |
+
checkExpression(node.for || '', text, warn, range);
|
11874 |
+
checkIdentifier(node.alias, 'v-for alias', text, warn, range);
|
11875 |
+
checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range);
|
11876 |
+
checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range);
|
11877 |
}
|
11878 |
|
11879 |
function checkIdentifier (
|
11880 |
ident,
|
11881 |
type,
|
11882 |
text,
|
11883 |
+
warn,
|
11884 |
+
range
|
11885 |
) {
|
11886 |
if (typeof ident === 'string') {
|
11887 |
try {
|
11888 |
new Function(("var " + ident + "=_"));
|
11889 |
} catch (e) {
|
11890 |
+
warn(("invalid " + type + " \"" + ident + "\" in expression: " + (text.trim())), range);
|
11891 |
}
|
11892 |
}
|
11893 |
}
|
11894 |
|
11895 |
+
function checkExpression (exp, text, warn, range) {
|
11896 |
try {
|
11897 |
new Function(("return " + exp));
|
11898 |
} catch (e) {
|
11899 |
var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);
|
11900 |
if (keywordMatch) {
|
11901 |
+
warn(
|
11902 |
"avoid using JavaScript keyword as property name: " +
|
11903 |
+
"\"" + (keywordMatch[0]) + "\"\n Raw expression: " + (text.trim()),
|
11904 |
+
range
|
11905 |
);
|
11906 |
} else {
|
11907 |
+
warn(
|
11908 |
"invalid expression: " + (e.message) + " in\n\n" +
|
11909 |
" " + exp + "\n\n" +
|
11910 |
+
" Raw expression: " + (text.trim()) + "\n",
|
11911 |
+
range
|
11912 |
);
|
11913 |
}
|
11914 |
}
|
11916 |
|
11917 |
/* */
|
11918 |
|
11919 |
+
var range = 2;
|
11920 |
+
|
11921 |
+
function generateCodeFrame (
|
11922 |
+
source,
|
11923 |
+
start,
|
11924 |
+
end
|
11925 |
+
) {
|
11926 |
+
if ( start === void 0 ) start = 0;
|
11927 |
+
if ( end === void 0 ) end = source.length;
|
11928 |
+
|
11929 |
+
var lines = source.split(/\r?\n/);
|
11930 |
+
var count = 0;
|
11931 |
+
var res = [];
|
11932 |
+
for (var i = 0; i < lines.length; i++) {
|
11933 |
+
count += lines[i].length + 1;
|
11934 |
+
if (count >= start) {
|
11935 |
+
for (var j = i - range; j <= i + range || end > count; j++) {
|
11936 |
+
if (j < 0 || j >= lines.length) { continue }
|
11937 |
+
res.push(("" + (j + 1) + (repeat$1(" ", 3 - String(j + 1).length)) + "| " + (lines[j])));
|
11938 |
+
var lineLength = lines[j].length;
|
11939 |
+
if (j === i) {
|
11940 |
+
// push underline
|
11941 |
+
var pad = start - (count - lineLength) + 1;
|
11942 |
+
var length = end > count ? lineLength - pad : end - start;
|
11943 |
+
res.push(" | " + repeat$1(" ", pad) + repeat$1("^", length));
|
11944 |
+
} else if (j > i) {
|
11945 |
+
if (end > count) {
|
11946 |
+
var length$1 = Math.min(end - count, lineLength);
|
11947 |
+
res.push(" | " + repeat$1("^", length$1));
|
11948 |
+
}
|
11949 |
+
count += lineLength + 1;
|
11950 |
+
}
|
11951 |
+
}
|
11952 |
+
break
|
11953 |
+
}
|
11954 |
+
}
|
11955 |
+
return res.join('\n')
|
11956 |
+
}
|
11957 |
+
|
11958 |
+
function repeat$1 (str, n) {
|
11959 |
+
var result = '';
|
11960 |
+
while (true) { // eslint-disable-line
|
11961 |
+
if (n & 1) { result += str; }
|
11962 |
+
n >>>= 1;
|
11963 |
+
if (n <= 0) { break }
|
11964 |
+
str += str;
|
11965 |
+
}
|
11966 |
+
return result
|
11967 |
+
}
|
11968 |
+
|
11969 |
+
/* */
|
11970 |
+
|
11971 |
|
11972 |
|
11973 |
function createFunction (code, errors) {
|
12023 |
// check compilation errors/tips
|
12024 |
if (process.env.NODE_ENV !== 'production') {
|
12025 |
if (compiled.errors && compiled.errors.length) {
|
12026 |
+
if (options.outputSourceRange) {
|
12027 |
+
compiled.errors.forEach(function (e) {
|
12028 |
+
warn$$1(
|
12029 |
+
"Error compiling template:\n\n" + (e.msg) + "\n\n" +
|
12030 |
+
generateCodeFrame(template, e.start, e.end),
|
12031 |
+
vm
|
12032 |
+
);
|
12033 |
+
});
|
12034 |
+
} else {
|
12035 |
+
warn$$1(
|
12036 |
+
"Error compiling template:\n\n" + template + "\n\n" +
|
12037 |
+
compiled.errors.map(function (e) { return ("- " + e); }).join('\n') + '\n',
|
12038 |
+
vm
|
12039 |
+
);
|
12040 |
+
}
|
12041 |
}
|
12042 |
if (compiled.tips && compiled.tips.length) {
|
12043 |
+
if (options.outputSourceRange) {
|
12044 |
+
compiled.tips.forEach(function (e) { return tip(e.msg, vm); });
|
12045 |
+
} else {
|
12046 |
+
compiled.tips.forEach(function (msg) { return tip(msg, vm); });
|
12047 |
+
}
|
12048 |
}
|
12049 |
}
|
12050 |
|
12090 |
var finalOptions = Object.create(baseOptions);
|
12091 |
var errors = [];
|
12092 |
var tips = [];
|
12093 |
+
|
12094 |
+
var warn = function (msg, range, tip) {
|
12095 |
(tip ? tips : errors).push(msg);
|
12096 |
};
|
12097 |
|
12098 |
if (options) {
|
12099 |
+
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
12100 |
+
// $flow-disable-line
|
12101 |
+
var leadingSpaceLength = template.match(/^\s*/)[0].length;
|
12102 |
+
|
12103 |
+
warn = function (msg, range, tip) {
|
12104 |
+
var data = { msg: msg };
|
12105 |
+
if (range) {
|
12106 |
+
if (range.start != null) {
|
12107 |
+
data.start = range.start + leadingSpaceLength;
|
12108 |
+
}
|
12109 |
+
if (range.end != null) {
|
12110 |
+
data.end = range.end + leadingSpaceLength;
|
12111 |
+
}
|
12112 |
+
}
|
12113 |
+
(tip ? tips : errors).push(data);
|
12114 |
+
};
|
12115 |
+
}
|
12116 |
// merge custom modules
|
12117 |
if (options.modules) {
|
12118 |
finalOptions.modules =
|
12133 |
}
|
12134 |
}
|
12135 |
|
12136 |
+
finalOptions.warn = warn;
|
12137 |
+
|
12138 |
+
var compiled = baseCompile(template.trim(), finalOptions);
|
12139 |
if (process.env.NODE_ENV !== 'production') {
|
12140 |
+
detectErrors(compiled.ast, warn);
|
12141 |
}
|
12142 |
compiled.errors = errors;
|
12143 |
compiled.tips = tips;
|
12249 |
}
|
12250 |
|
12251 |
var ref = compileToFunctions(template, {
|
12252 |
+
outputSourceRange: process.env.NODE_ENV !== 'production',
|
12253 |
shouldDecodeNewlines: shouldDecodeNewlines,
|
12254 |
shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,
|
12255 |
delimiters: options.delimiters,
|
14434 |
|
14435 |
|
14436 |
// module
|
14437 |
+
exports.push([module.i, "#optimole-app {\n padding: 0 30px 0 20px;\n /*! bulma.io v0.7.4 | MIT License | github.com/jgthms/bulma */\n /*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */ }\n\n@keyframes spinAround {\n from {\n transform: rotate(0deg); }\n to {\n transform: rotate(359deg); } }\n #optimole-app .delete, #optimole-app .modal-close, #optimole-app .is-unselectable, #optimole-app .button, #optimole-app .file, #optimole-app .breadcrumb, #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link,\n #optimole-app .pagination-ellipsis, #optimole-app .tabs {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n #optimole-app .select:not(.is-multiple):not(.is-loading)::after, #optimole-app .navbar-link:not(.is-arrowless)::after {\n border: 3px solid transparent;\n border-radius: 2px;\n border-right: 0;\n border-top: 0;\n content: \" \";\n display: block;\n height: 0.625em;\n margin-top: -0.4375em;\n pointer-events: none;\n position: absolute;\n top: 50%;\n transform: rotate(-45deg);\n transform-origin: center;\n width: 0.625em; }\n #optimole-app .box:not(:last-child), #optimole-app .content:not(:last-child), #optimole-app .notification:not(:last-child), #optimole-app .progress:not(:last-child), #optimole-app .table:not(:last-child), #optimole-app .table-container:not(:last-child), #optimole-app .title:not(:last-child),\n #optimole-app .subtitle:not(:last-child), #optimole-app .block:not(:last-child), #optimole-app .highlight:not(:last-child), #optimole-app .breadcrumb:not(:last-child), #optimole-app .level:not(:last-child), #optimole-app .list:not(:last-child), #optimole-app .message:not(:last-child), #optimole-app .tabs:not(:last-child) {\n margin-bottom: 1.5rem; }\n #optimole-app .delete, #optimole-app .modal-close {\n -moz-appearance: none;\n -webkit-appearance: none;\n background-color: rgba(10, 10, 10, 0.2);\n border: none;\n border-radius: 290486px;\n cursor: pointer;\n pointer-events: auto;\n display: inline-block;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n font-size: 0;\n height: 20px;\n max-height: 20px;\n max-width: 20px;\n min-height: 20px;\n min-width: 20px;\n outline: none;\n position: relative;\n vertical-align: top;\n width: 20px; }\n #optimole-app .delete::before, #optimole-app .modal-close::before, #optimole-app .delete::after, #optimole-app .modal-close::after {\n background-color: white;\n content: \"\";\n display: block;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translateX(-50%) translateY(-50%) rotate(45deg);\n transform-origin: center center; }\n #optimole-app .delete::before, #optimole-app .modal-close::before {\n height: 2px;\n width: 50%; }\n #optimole-app .delete::after, #optimole-app .modal-close::after {\n height: 50%;\n width: 2px; }\n #optimole-app .delete:hover, #optimole-app .modal-close:hover, #optimole-app .delete:focus, #optimole-app .modal-close:focus {\n background-color: rgba(10, 10, 10, 0.3); }\n #optimole-app .delete:active, #optimole-app .modal-close:active {\n background-color: rgba(10, 10, 10, 0.4); }\n #optimole-app .is-small.delete, #optimole-app .is-small.modal-close {\n height: 16px;\n max-height: 16px;\n max-width: 16px;\n min-height: 16px;\n min-width: 16px;\n width: 16px; }\n #optimole-app .is-medium.delete, #optimole-app .is-medium.modal-close {\n height: 24px;\n max-height: 24px;\n max-width: 24px;\n min-height: 24px;\n min-width: 24px;\n width: 24px; }\n #optimole-app .is-large.delete, #optimole-app .is-large.modal-close {\n height: 32px;\n max-height: 32px;\n max-width: 32px;\n min-height: 32px;\n min-width: 32px;\n width: 32px; }\n #optimole-app .button.is-loading::after, #optimole-app .select.is-loading::after, #optimole-app .control.is-loading::after, #optimole-app .loader {\n animation: spinAround 500ms infinite linear;\n border: 2px solid #dbdbdb;\n border-radius: 290486px;\n border-right-color: transparent;\n border-top-color: transparent;\n content: \"\";\n display: block;\n height: 1em;\n position: relative;\n width: 1em; }\n #optimole-app .is-overlay, #optimole-app .image.is-square img,\n #optimole-app .image.is-square .has-ratio, #optimole-app .image.is-1by1 img,\n #optimole-app .image.is-1by1 .has-ratio, #optimole-app .image.is-5by4 img,\n #optimole-app .image.is-5by4 .has-ratio, #optimole-app .image.is-4by3 img,\n #optimole-app .image.is-4by3 .has-ratio, #optimole-app .image.is-3by2 img,\n #optimole-app .image.is-3by2 .has-ratio, #optimole-app .image.is-5by3 img,\n #optimole-app .image.is-5by3 .has-ratio, #optimole-app .image.is-16by9 img,\n #optimole-app .image.is-16by9 .has-ratio, #optimole-app .image.is-2by1 img,\n #optimole-app .image.is-2by1 .has-ratio, #optimole-app .image.is-3by1 img,\n #optimole-app .image.is-3by1 .has-ratio, #optimole-app .image.is-4by5 img,\n #optimole-app .image.is-4by5 .has-ratio, #optimole-app .image.is-3by4 img,\n #optimole-app .image.is-3by4 .has-ratio, #optimole-app .image.is-2by3 img,\n #optimole-app .image.is-2by3 .has-ratio, #optimole-app .image.is-3by5 img,\n #optimole-app .image.is-3by5 .has-ratio, #optimole-app .image.is-9by16 img,\n #optimole-app .image.is-9by16 .has-ratio, #optimole-app .image.is-1by2 img,\n #optimole-app .image.is-1by2 .has-ratio, #optimole-app .image.is-1by3 img,\n #optimole-app .image.is-1by3 .has-ratio, #optimole-app .modal, #optimole-app .modal-background, #optimole-app .hero-video {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0; }\n #optimole-app .button, #optimole-app .input,\n #optimole-app .textarea, #optimole-app .select select, #optimole-app .file-cta,\n #optimole-app .file-name, #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link,\n #optimole-app .pagination-ellipsis {\n -moz-appearance: none;\n -webkit-appearance: none;\n -ms-flex-align: center;\n align-items: center;\n border: 1px solid transparent;\n border-radius: 4px;\n box-shadow: none;\n display: -ms-inline-flexbox;\n display: inline-flex;\n font-size: 1rem;\n height: 2.25em;\n -ms-flex-pack: start;\n justify-content: flex-start;\n line-height: 1.5;\n padding-bottom: calc(0.375em - 1px);\n padding-left: calc(0.625em - 1px);\n padding-right: calc(0.625em - 1px);\n padding-top: calc(0.375em - 1px);\n position: relative;\n vertical-align: top; }\n #optimole-app .button:focus, #optimole-app .input:focus,\n #optimole-app .textarea:focus, #optimole-app .select select:focus, #optimole-app .file-cta:focus,\n #optimole-app .file-name:focus, #optimole-app .pagination-previous:focus,\n #optimole-app .pagination-next:focus,\n #optimole-app .pagination-link:focus,\n #optimole-app .pagination-ellipsis:focus, #optimole-app .is-focused.button, #optimole-app .is-focused.input,\n #optimole-app .is-focused.textarea, #optimole-app .select select.is-focused, #optimole-app .is-focused.file-cta,\n #optimole-app .is-focused.file-name, #optimole-app .is-focused.pagination-previous,\n #optimole-app .is-focused.pagination-next,\n #optimole-app .is-focused.pagination-link,\n #optimole-app .is-focused.pagination-ellipsis, #optimole-app .button:active, #optimole-app .input:active,\n #optimole-app .textarea:active, #optimole-app .select select:active, #optimole-app .file-cta:active,\n #optimole-app .file-name:active, #optimole-app .pagination-previous:active,\n #optimole-app .pagination-next:active,\n #optimole-app .pagination-link:active,\n #optimole-app .pagination-ellipsis:active, #optimole-app .is-active.button, #optimole-app .is-active.input,\n #optimole-app .is-active.textarea, #optimole-app .select select.is-active, #optimole-app .is-active.file-cta,\n #optimole-app .is-active.file-name, #optimole-app .is-active.pagination-previous,\n #optimole-app .is-active.pagination-next,\n #optimole-app .is-active.pagination-link,\n #optimole-app .is-active.pagination-ellipsis {\n outline: none; }\n #optimole-app .button[disabled], #optimole-app .input[disabled],\n #optimole-app .textarea[disabled], #optimole-app .select select[disabled], #optimole-app .file-cta[disabled],\n #optimole-app .file-name[disabled], #optimole-app .pagination-previous[disabled],\n #optimole-app .pagination-next[disabled],\n #optimole-app .pagination-link[disabled],\n #optimole-app .pagination-ellipsis[disabled],\n fieldset[disabled] #optimole-app .button,\n fieldset[disabled] #optimole-app .input,\n fieldset[disabled] #optimole-app .textarea,\n fieldset[disabled] #optimole-app .select select,\n fieldset[disabled] #optimole-app .file-cta,\n fieldset[disabled] #optimole-app .file-name,\n fieldset[disabled] #optimole-app .pagination-previous,\n fieldset[disabled] #optimole-app .pagination-next,\n fieldset[disabled] #optimole-app .pagination-link,\n fieldset[disabled] #optimole-app .pagination-ellipsis {\n cursor: not-allowed; }\n #optimole-app html,\n #optimole-app body,\n #optimole-app p,\n #optimole-app ol,\n #optimole-app ul,\n #optimole-app li,\n #optimole-app dl,\n #optimole-app dt,\n #optimole-app dd,\n #optimole-app blockquote,\n #optimole-app figure,\n #optimole-app fieldset,\n #optimole-app legend,\n #optimole-app textarea,\n #optimole-app pre,\n #optimole-app iframe,\n #optimole-app hr,\n #optimole-app h1,\n #optimole-app h2,\n #optimole-app h3,\n #optimole-app h4,\n #optimole-app h5,\n #optimole-app h6 {\n margin: 0;\n padding: 0; }\n #optimole-app h1,\n #optimole-app h2,\n #optimole-app h3,\n #optimole-app h4,\n #optimole-app h5,\n #optimole-app h6 {\n font-size: 100%;\n font-weight: normal; }\n #optimole-app ul {\n list-style: none; }\n #optimole-app button,\n #optimole-app input,\n #optimole-app select,\n #optimole-app textarea {\n margin: 0; }\n #optimole-app html {\n box-sizing: border-box; }\n #optimole-app *, #optimole-app *::before, #optimole-app *::after {\n box-sizing: inherit; }\n #optimole-app img,\n #optimole-app embed,\n #optimole-app iframe,\n #optimole-app object,\n #optimole-app video {\n height: auto;\n max-width: 100%; }\n #optimole-app audio {\n max-width: 100%; }\n #optimole-app iframe {\n border: 0; }\n #optimole-app table {\n border-collapse: collapse;\n border-spacing: 0; }\n #optimole-app td,\n #optimole-app th {\n padding: 0;\n text-align: left; }\n #optimole-app html {\n background-color: white;\n font-size: 16px;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n min-width: 300px;\n overflow-x: hidden;\n overflow-y: scroll;\n text-rendering: optimizeLegibility;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n text-size-adjust: 100%; }\n #optimole-app article,\n #optimole-app aside,\n #optimole-app figure,\n #optimole-app footer,\n #optimole-app header,\n #optimole-app hgroup,\n #optimole-app section {\n display: block; }\n #optimole-app body,\n #optimole-app button,\n #optimole-app input,\n #optimole-app select,\n #optimole-app textarea {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif; }\n #optimole-app code,\n #optimole-app pre {\n -moz-osx-font-smoothing: auto;\n -webkit-font-smoothing: auto;\n font-family: monospace; }\n #optimole-app body {\n color: #4a4a4a;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5; }\n #optimole-app a {\n color: #3273dc;\n cursor: pointer;\n text-decoration: none; }\n #optimole-app a strong {\n color: currentColor; }\n #optimole-app a:hover {\n color: #363636; }\n #optimole-app code {\n background-color: whitesmoke;\n color: #ff3860;\n font-size: 0.875em;\n font-weight: normal;\n padding: 0.25em 0.5em 0.25em; }\n #optimole-app hr {\n background-color: whitesmoke;\n border: none;\n display: block;\n height: 2px;\n margin: 1.5rem 0; }\n #optimole-app img {\n height: auto;\n max-width: 100%; }\n #optimole-app input[type=\"checkbox\"],\n #optimole-app input[type=\"radio\"] {\n vertical-align: baseline; }\n #optimole-app small {\n font-size: 0.875em; }\n #optimole-app span {\n font-style: inherit;\n font-weight: inherit; }\n #optimole-app strong {\n color: #363636;\n font-weight: 700; }\n #optimole-app fieldset {\n border: none; }\n #optimole-app pre {\n -webkit-overflow-scrolling: touch;\n background-color: whitesmoke;\n color: #4a4a4a;\n font-size: 0.875em;\n overflow-x: auto;\n padding: 1.25rem 1.5rem;\n white-space: pre;\n word-wrap: normal; }\n #optimole-app pre code {\n background-color: transparent;\n color: currentColor;\n font-size: 1em;\n padding: 0; }\n #optimole-app table td,\n #optimole-app table th {\n text-align: left;\n vertical-align: top; }\n #optimole-app table th {\n color: #363636; }\n #optimole-app .is-clearfix::after {\n clear: both;\n content: \" \";\n display: table; }\n #optimole-app .is-pulled-left {\n float: left !important; }\n #optimole-app .is-pulled-right {\n float: right !important; }\n #optimole-app .is-clipped {\n overflow: hidden !important; }\n #optimole-app .is-size-1 {\n font-size: 3rem !important; }\n #optimole-app .is-size-2 {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3 {\n font-size: 2rem !important; }\n #optimole-app .is-size-4 {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5 {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6 {\n font-size: 1rem !important; }\n #optimole-app .is-size-7 {\n font-size: 0.75rem !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-size-1-mobile {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-mobile {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-mobile {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-mobile {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-mobile {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-mobile {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-mobile {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-size-1-tablet {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-tablet {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-tablet {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-tablet {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-tablet {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-tablet {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-tablet {\n font-size: 0.75rem !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-size-1-touch {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-touch {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-touch {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-touch {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-touch {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-touch {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-touch {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-size-1-desktop {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-desktop {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-desktop {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-desktop {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-desktop {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-desktop {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-desktop {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-size-1-widescreen {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-widescreen {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-widescreen {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-widescreen {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-widescreen {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-widescreen {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-widescreen {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-size-1-fullhd {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-fullhd {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-fullhd {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-fullhd {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-fullhd {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-fullhd {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-fullhd {\n font-size: 0.75rem !important; } }\n #optimole-app .has-text-centered {\n text-align: center !important; }\n #optimole-app .has-text-justified {\n text-align: justify !important; }\n #optimole-app .has-text-left {\n text-align: left !important; }\n #optimole-app .has-text-right {\n text-align: right !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-centered-mobile {\n text-align: center !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-centered-tablet {\n text-align: center !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-centered-tablet-only {\n text-align: center !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-centered-touch {\n text-align: center !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-centered-desktop {\n text-align: center !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-centered-desktop-only {\n text-align: center !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-centered-widescreen {\n text-align: center !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-centered-widescreen-only {\n text-align: center !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-centered-fullhd {\n text-align: center !important; } }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-justified-mobile {\n text-align: justify !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-justified-tablet {\n text-align: justify !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-justified-tablet-only {\n text-align: justify !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-justified-touch {\n text-align: justify !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-justified-desktop {\n text-align: justify !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-justified-desktop-only {\n text-align: justify !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-justified-widescreen {\n text-align: justify !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-justified-widescreen-only {\n text-align: justify !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-justified-fullhd {\n text-align: justify !important; } }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-left-mobile {\n text-align: left !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-left-tablet {\n text-align: left !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-left-tablet-only {\n text-align: left !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-left-touch {\n text-align: left !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-left-desktop {\n text-align: left !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-left-desktop-only {\n text-align: left !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-left-widescreen {\n text-align: left !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-left-widescreen-only {\n text-align: left !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-left-fullhd {\n text-align: left !important; } }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-right-mobile {\n text-align: right !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-right-tablet {\n text-align: right !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-right-tablet-only {\n text-align: right !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-right-touch {\n text-align: right !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-right-desktop {\n text-align: right !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-right-desktop-only {\n text-align: right !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-right-widescreen {\n text-align: right !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-right-widescreen-only {\n text-align: right !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-right-fullhd {\n text-align: right !important; } }\n #optimole-app .is-capitalized {\n text-transform: capitalize !important; }\n #optimole-app .is-lowercase {\n text-transform: lowercase !important; }\n #optimole-app .is-uppercase {\n text-transform: uppercase !important; }\n #optimole-app .is-italic {\n font-style: italic !important; }\n #optimole-app .has-text-white {\n color: white !important; }\n #optimole-app a.has-text-white:hover, #optimole-app a.has-text-white:focus {\n color: #e6e6e6 !important; }\n #optimole-app .has-background-white {\n background-color: white !important; }\n #optimole-app .has-text-black {\n color: #0a0a0a !important; }\n #optimole-app a.has-text-black:hover, #optimole-app a.has-text-black:focus {\n color: black !important; }\n #optimole-app .has-background-black {\n background-color: #0a0a0a !important; }\n #optimole-app .has-text-light {\n color: whitesmoke !important; }\n #optimole-app a.has-text-light:hover, #optimole-app a.has-text-light:focus {\n color: #dbdbdb !important; }\n #optimole-app .has-background-light {\n background-color: whitesmoke !important; }\n #optimole-app .has-text-dark {\n color: #363636 !important; }\n #optimole-app a.has-text-dark:hover, #optimole-app a.has-text-dark:focus {\n color: #1c1c1c !important; }\n #optimole-app .has-background-dark {\n background-color: #363636 !important; }\n #optimole-app .has-text-primary {\n color: #EF686B !important; }\n #optimole-app a.has-text-primary:hover, #optimole-app a.has-text-primary:focus {\n color: #ea3a3e !important; }\n #optimole-app .has-background-primary {\n background-color: #EF686B !important; }\n #optimole-app .has-text-link {\n color: #3273dc !important; }\n #optimole-app a.has-text-link:hover, #optimole-app a.has-text-link:focus {\n color: #205bbc !important; }\n #optimole-app .has-background-link {\n background-color: #3273dc !important; }\n #optimole-app .has-text-info {\n color: #5180C1 !important; }\n #optimole-app a.has-text-info:hover, #optimole-app a.has-text-info:focus {\n color: #3b67a4 !important; }\n #optimole-app .has-background-info {\n background-color: #5180C1 !important; }\n #optimole-app .has-text-success {\n color: #34a85e !important; }\n #optimole-app a.has-text-success:hover, #optimole-app a.has-text-success:focus {\n color: #288148 !important; }\n #optimole-app .has-background-success {\n background-color: #34a85e !important; }\n #optimole-app .has-text-warning {\n color: #ffdd57 !important; }\n #optimole-app a.has-text-warning:hover, #optimole-app a.has-text-warning:focus {\n color: #ffd324 !important; }\n #optimole-app .has-background-warning {\n background-color: #ffdd57 !important; }\n #optimole-app .has-text-danger {\n color: #D54222 !important; }\n #optimole-app a.has-text-danger:hover, #optimole-app a.has-text-danger:focus {\n color: #a9341b !important; }\n #optimole-app .has-background-danger {\n background-color: #D54222 !important; }\n #optimole-app .has-text-black-bis {\n color: #121212 !important; }\n #optimole-app .has-background-black-bis {\n background-color: #121212 !important; }\n #optimole-app .has-text-black-ter {\n color: #242424 !important; }\n #optimole-app .has-background-black-ter {\n background-color: #242424 !important; }\n #optimole-app .has-text-grey-darker {\n color: #363636 !important; }\n #optimole-app .has-background-grey-darker {\n background-color: #363636 !important; }\n #optimole-app .has-text-grey-dark {\n color: #4a4a4a !important; }\n #optimole-app .has-background-grey-dark {\n background-color: #4a4a4a !important; }\n #optimole-app .has-text-grey {\n color: #7a7a7a !important; }\n #optimole-app .has-background-grey {\n background-color: #7a7a7a !important; }\n #optimole-app .has-text-grey-light {\n color: #b5b5b5 !important; }\n #optimole-app .has-background-grey-light {\n background-color: #b5b5b5 !important; }\n #optimole-app .has-text-grey-lighter {\n color: #dbdbdb !important; }\n #optimole-app .has-background-grey-lighter {\n background-color: #dbdbdb !important; }\n #optimole-app .has-text-white-ter {\n color: whitesmoke !important; }\n #optimole-app .has-background-white-ter {\n background-color: whitesmoke !important; }\n #optimole-app .has-text-white-bis {\n color: #fafafa !important; }\n #optimole-app .has-background-white-bis {\n background-color: #fafafa !important; }\n #optimole-app .has-text-weight-light {\n font-weight: 300 !important; }\n #optimole-app .has-text-weight-normal {\n font-weight: 400 !important; }\n #optimole-app .has-text-weight-semibold {\n font-weight: 600 !important; }\n #optimole-app .has-text-weight-bold {\n font-weight: 700 !important; }\n #optimole-app .is-family-primary {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif !important; }\n #optimole-app .is-family-secondary {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif !important; }\n #optimole-app .is-family-sans-serif {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif !important; }\n #optimole-app .is-family-monospace {\n font-family: monospace !important; }\n #optimole-app .is-family-code {\n font-family: monospace !important; }\n #optimole-app .is-block {\n display: block !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-block-mobile {\n display: block !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-block-tablet {\n display: block !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-block-tablet-only {\n display: block !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-block-touch {\n display: block !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-block-desktop {\n display: block !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-block-desktop-only {\n display: block !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-block-widescreen {\n display: block !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-block-widescreen-only {\n display: block !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-block-fullhd {\n display: block !important; } }\n #optimole-app .is-flex {\n display: -ms-flexbox !important;\n display: flex !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-flex-mobile {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-flex-tablet {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-flex-tablet-only {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-flex-touch {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-flex-desktop {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-flex-desktop-only {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-flex-widescreen {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-flex-widescreen-only {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-flex-fullhd {\n display: -ms-flexbox !important;\n display: flex !important; } }\n #optimole-app .is-inline {\n display: inline !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-inline-mobile {\n display: inline !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-inline-tablet {\n display: inline !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-inline-tablet-only {\n display: inline !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-inline-touch {\n display: inline !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-inline-desktop {\n display: inline !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-inline-desktop-only {\n display: inline !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-inline-widescreen {\n display: inline !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-inline-widescreen-only {\n display: inline !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-inline-fullhd {\n display: inline !important; } }\n #optimole-app .is-inline-block {\n display: inline-block !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-inline-block-mobile {\n display: inline-block !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-inline-block-tablet {\n display: inline-block !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-inline-block-tablet-only {\n display: inline-block !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-inline-block-touch {\n display: inline-block !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-inline-block-desktop {\n display: inline-block !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-inline-block-desktop-only {\n display: inline-block !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-inline-block-widescreen {\n display: inline-block !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-inline-block-widescreen-only {\n display: inline-block !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-inline-block-fullhd {\n display: inline-block !important; } }\n #optimole-app .is-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-inline-flex-mobile {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-inline-flex-tablet {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-inline-flex-tablet-only {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-inline-flex-touch {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-inline-flex-desktop {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-inline-flex-desktop-only {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-inline-flex-widescreen {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-inline-flex-widescreen-only {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-inline-flex-fullhd {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n #optimole-app .is-hidden {\n display: none !important; }\n #optimole-app .is-sr-only {\n border: none !important;\n clip: rect(0, 0, 0, 0) !important;\n height: 0.01em !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n white-space: nowrap !important;\n width: 0.01em !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-hidden-mobile {\n display: none !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-hidden-tablet {\n display: none !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-hidden-tablet-only {\n display: none !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-hidden-touch {\n display: none !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-hidden-desktop {\n display: none !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-hidden-desktop-only {\n display: none !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-hidden-widescreen {\n display: none !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-hidden-widescreen-only {\n display: none !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-hidden-fullhd {\n display: none !important; } }\n #optimole-app .is-invisible {\n visibility: hidden !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-invisible-mobile {\n visibility: hidden !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-invisible-tablet {\n visibility: hidden !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-invisible-tablet-only {\n visibility: hidden !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-invisible-touch {\n visibility: hidden !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-invisible-desktop {\n visibility: hidden !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-invisible-desktop-only {\n visibility: hidden !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-invisible-widescreen {\n visibility: hidden !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-invisible-widescreen-only {\n visibility: hidden !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-invisible-fullhd {\n visibility: hidden !important; } }\n #optimole-app .is-marginless {\n margin: 0 !important; }\n #optimole-app .is-paddingless {\n padding: 0 !important; }\n #optimole-app .is-radiusless {\n border-radius: 0 !important; }\n #optimole-app .is-shadowless {\n box-shadow: none !important; }\n #optimole-app .box {\n background-color: white;\n border-radius: 6px;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n color: #4a4a4a;\n display: block;\n padding: 1.25rem; }\n #optimole-app a.box:hover, #optimole-app a.box:focus {\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #3273dc; }\n #optimole-app a.box:active {\n box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #3273dc; }\n #optimole-app .button {\n background-color: white;\n border-color: #dbdbdb;\n border-width: 1px;\n color: #363636;\n cursor: pointer;\n -ms-flex-pack: center;\n justify-content: center;\n padding-bottom: calc(0.375em - 1px);\n padding-left: 0.75em;\n padding-right: 0.75em;\n padding-top: calc(0.375em - 1px);\n text-align: center;\n white-space: nowrap; }\n #optimole-app .button strong {\n color: inherit; }\n #optimole-app .button .icon, #optimole-app .button .icon.is-small, #optimole-app .button .icon.is-medium, #optimole-app .button .icon.is-large {\n height: 1.5em;\n width: 1.5em; }\n #optimole-app .button .icon:first-child:not(:last-child) {\n margin-left: calc(-0.375em - 1px);\n margin-right: 0.1875em; }\n #optimole-app .button .icon:last-child:not(:first-child) {\n margin-left: 0.1875em;\n margin-right: calc(-0.375em - 1px); }\n #optimole-app .button .icon:first-child:last-child {\n margin-left: calc(-0.375em - 1px);\n margin-right: calc(-0.375em - 1px); }\n #optimole-app .button:hover, #optimole-app .button.is-hovered {\n border-color: #b5b5b5;\n color: #363636; }\n #optimole-app .button:focus, #optimole-app .button.is-focused {\n border-color: #3273dc;\n color: #363636; }\n #optimole-app .button:focus:not(:active), #optimole-app .button.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .button:active, #optimole-app .button.is-active {\n border-color: #4a4a4a;\n color: #363636; }\n #optimole-app .button.is-text {\n background-color: transparent;\n border-color: transparent;\n color: #4a4a4a;\n text-decoration: underline; }\n #optimole-app .button.is-text:hover, #optimole-app .button.is-text.is-hovered, #optimole-app .button.is-text:focus, #optimole-app .button.is-text.is-focused {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-text:active, #optimole-app .button.is-text.is-active {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .button.is-text[disabled],\n fieldset[disabled] #optimole-app .button.is-text {\n background-color: transparent;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-white {\n background-color: white;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white:hover, #optimole-app .button.is-white.is-hovered {\n background-color: #f9f9f9;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white:focus, #optimole-app .button.is-white.is-focused {\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white:focus:not(:active), #optimole-app .button.is-white.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }\n #optimole-app .button.is-white:active, #optimole-app .button.is-white.is-active {\n background-color: #f2f2f2;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white[disabled],\n fieldset[disabled] #optimole-app .button.is-white {\n background-color: white;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-white.is-inverted {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .button.is-white.is-inverted:hover {\n background-color: black; }\n #optimole-app .button.is-white.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-white.is-inverted {\n background-color: #0a0a0a;\n border-color: transparent;\n box-shadow: none;\n color: white; }\n #optimole-app .button.is-white.is-loading::after {\n border-color: transparent transparent #0a0a0a #0a0a0a !important; }\n #optimole-app .button.is-white.is-outlined {\n background-color: transparent;\n border-color: white;\n color: white; }\n #optimole-app .button.is-white.is-outlined:hover, #optimole-app .button.is-white.is-outlined:focus {\n background-color: white;\n border-color: white;\n color: #0a0a0a; }\n #optimole-app .button.is-white.is-outlined.is-loading::after {\n border-color: transparent transparent white white !important; }\n #optimole-app .button.is-white.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-white.is-outlined {\n background-color: transparent;\n border-color: white;\n box-shadow: none;\n color: white; }\n #optimole-app .button.is-white.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #0a0a0a;\n color: #0a0a0a; }\n #optimole-app .button.is-white.is-inverted.is-outlined:hover, #optimole-app .button.is-white.is-inverted.is-outlined:focus {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .button.is-white.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-white.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #0a0a0a;\n box-shadow: none;\n color: #0a0a0a; }\n #optimole-app .button.is-black {\n background-color: #0a0a0a;\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black:hover, #optimole-app .button.is-black.is-hovered {\n background-color: #040404;\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black:focus, #optimole-app .button.is-black.is-focused {\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black:focus:not(:active), #optimole-app .button.is-black.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }\n #optimole-app .button.is-black:active, #optimole-app .button.is-black.is-active {\n background-color: black;\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black[disabled],\n fieldset[disabled] #optimole-app .button.is-black {\n background-color: #0a0a0a;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-black.is-inverted {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-black.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-black.is-inverted {\n background-color: white;\n border-color: transparent;\n box-shadow: none;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-loading::after {\n border-color: transparent transparent white white !important; }\n #optimole-app .button.is-black.is-outlined {\n background-color: transparent;\n border-color: #0a0a0a;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-outlined:hover, #optimole-app .button.is-black.is-outlined:focus {\n background-color: #0a0a0a;\n border-color: #0a0a0a;\n color: white; }\n #optimole-app .button.is-black.is-outlined.is-loading::after {\n border-color: transparent transparent #0a0a0a #0a0a0a !important; }\n #optimole-app .button.is-black.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-black.is-outlined {\n background-color: transparent;\n border-color: #0a0a0a;\n box-shadow: none;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-inverted.is-outlined {\n background-color: transparent;\n border-color: white;\n color: white; }\n #optimole-app .button.is-black.is-inverted.is-outlined:hover, #optimole-app .button.is-black.is-inverted.is-outlined:focus {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-black.is-inverted.is-outlined {\n background-color: transparent;\n border-color: white;\n box-shadow: none;\n color: white; }\n #optimole-app .button.is-light {\n background-color: whitesmoke;\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light:hover, #optimole-app .button.is-light.is-hovered {\n background-color: #eeeeee;\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light:focus, #optimole-app .button.is-light.is-focused {\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light:focus:not(:active), #optimole-app .button.is-light.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }\n #optimole-app .button.is-light:active, #optimole-app .button.is-light.is-active {\n background-color: #e8e8e8;\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light[disabled],\n fieldset[disabled] #optimole-app .button.is-light {\n background-color: whitesmoke;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-light.is-inverted {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-inverted:hover {\n background-color: #292929; }\n #optimole-app .button.is-light.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-light.is-inverted {\n background-color: #363636;\n border-color: transparent;\n box-shadow: none;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-loading::after {\n border-color: transparent transparent #363636 #363636 !important; }\n #optimole-app .button.is-light.is-outlined {\n background-color: transparent;\n border-color: whitesmoke;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-outlined:hover, #optimole-app .button.is-light.is-outlined:focus {\n background-color: whitesmoke;\n border-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-light.is-outlined.is-loading::after {\n border-color: transparent transparent whitesmoke whitesmoke !important; }\n #optimole-app .button.is-light.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-light.is-outlined {\n background-color: transparent;\n border-color: whitesmoke;\n box-shadow: none;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #363636;\n color: #363636; }\n #optimole-app .button.is-light.is-inverted.is-outlined:hover, #optimole-app .button.is-light.is-inverted.is-outlined:focus {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-light.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #363636;\n box-shadow: none;\n color: #363636; }\n #optimole-app .button.is-dark {\n background-color: #363636;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark:hover, #optimole-app .button.is-dark.is-hovered {\n background-color: #2f2f2f;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark:focus, #optimole-app .button.is-dark.is-focused {\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark:focus:not(:active), #optimole-app .button.is-dark.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }\n #optimole-app .button.is-dark:active, #optimole-app .button.is-dark.is-active {\n background-color: #292929;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark[disabled],\n fieldset[disabled] #optimole-app .button.is-dark {\n background-color: #363636;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-dark.is-inverted {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-dark.is-inverted:hover {\n background-color: #e8e8e8; }\n #optimole-app .button.is-dark.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-dark.is-inverted {\n background-color: whitesmoke;\n border-color: transparent;\n box-shadow: none;\n color: #363636; }\n #optimole-app .button.is-dark.is-loading::after {\n border-color: transparent transparent whitesmoke whitesmoke !important; }\n #optimole-app .button.is-dark.is-outlined {\n background-color: transparent;\n border-color: #363636;\n color: #363636; }\n #optimole-app .button.is-dark.is-outlined:hover, #optimole-app .button.is-dark.is-outlined:focus {\n background-color: #363636;\n border-color: #363636;\n color: whitesmoke; }\n #optimole-app .button.is-dark.is-outlined.is-loading::after {\n border-color: transparent transparent #363636 #363636 !important; }\n #optimole-app .button.is-dark.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-dark.is-outlined {\n background-color: transparent;\n border-color: #363636;\n box-shadow: none;\n color: #363636; }\n #optimole-app .button.is-dark.is-inverted.is-outlined {\n background-color: transparent;\n border-color: whitesmoke;\n color: whitesmoke; }\n #optimole-app .button.is-dark.is-inverted.is-outlined:hover, #optimole-app .button.is-dark.is-inverted.is-outlined:focus {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-dark.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-dark.is-inverted.is-outlined {\n background-color: transparent;\n border-color: whitesmoke;\n box-shadow: none;\n color: whitesmoke; }\n #optimole-app .button.is-primary {\n background-color: #EF686B;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary:hover, #optimole-app .button.is-primary.is-hovered {\n background-color: #ee5c60;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary:focus, #optimole-app .button.is-primary.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary:focus:not(:active), #optimole-app .button.is-primary.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(239, 104, 107, 0.25); }\n #optimole-app .button.is-primary:active, #optimole-app .button.is-primary.is-active {\n background-color: #ed5154;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary[disabled],\n fieldset[disabled] #optimole-app .button.is-primary {\n background-color: #EF686B;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-primary.is-inverted {\n background-color: #fff;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-primary.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-primary.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-primary.is-outlined {\n background-color: transparent;\n border-color: #EF686B;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-outlined:hover, #optimole-app .button.is-primary.is-outlined:focus {\n background-color: #EF686B;\n border-color: #EF686B;\n color: #fff; }\n #optimole-app .button.is-primary.is-outlined.is-loading::after {\n border-color: transparent transparent #EF686B #EF686B !important; }\n #optimole-app .button.is-primary.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-primary.is-outlined {\n background-color: transparent;\n border-color: #EF686B;\n box-shadow: none;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-primary.is-inverted.is-outlined:hover, #optimole-app .button.is-primary.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-primary.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-link {\n background-color: #3273dc;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link:hover, #optimole-app .button.is-link.is-hovered {\n background-color: #276cda;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link:focus, #optimole-app .button.is-link.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link:focus:not(:active), #optimole-app .button.is-link.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .button.is-link:active, #optimole-app .button.is-link.is-active {\n background-color: #2366d1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link[disabled],\n fieldset[disabled] #optimole-app .button.is-link {\n background-color: #3273dc;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-link.is-inverted {\n background-color: #fff;\n color: #3273dc; }\n #optimole-app .button.is-link.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-link.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-link.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #3273dc; }\n #optimole-app .button.is-link.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-link.is-outlined {\n background-color: transparent;\n border-color: #3273dc;\n color: #3273dc; }\n #optimole-app .button.is-link.is-outlined:hover, #optimole-app .button.is-link.is-outlined:focus {\n background-color: #3273dc;\n border-color: #3273dc;\n color: #fff; }\n #optimole-app .button.is-link.is-outlined.is-loading::after {\n border-color: transparent transparent #3273dc #3273dc !important; }\n #optimole-app .button.is-link.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-link.is-outlined {\n background-color: transparent;\n border-color: #3273dc;\n box-shadow: none;\n color: #3273dc; }\n #optimole-app .button.is-link.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-link.is-inverted.is-outlined:hover, #optimole-app .button.is-link.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #3273dc; }\n #optimole-app .button.is-link.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-link.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-info {\n background-color: #5180C1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info:hover, #optimole-app .button.is-info.is-hovered {\n background-color: #4879be;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info:focus, #optimole-app .button.is-info.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info:focus:not(:active), #optimole-app .button.is-info.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(81, 128, 193, 0.25); }\n #optimole-app .button.is-info:active, #optimole-app .button.is-info.is-active {\n background-color: #4173b7;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info[disabled],\n fieldset[disabled] #optimole-app .button.is-info {\n background-color: #5180C1;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-info.is-inverted {\n background-color: #fff;\n color: #5180C1; }\n #optimole-app .button.is-info.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-info.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-info.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #5180C1; }\n #optimole-app .button.is-info.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-info.is-outlined {\n background-color: transparent;\n border-color: #5180C1;\n color: #5180C1; }\n #optimole-app .button.is-info.is-outlined:hover, #optimole-app .button.is-info.is-outlined:focus {\n background-color: #5180C1;\n border-color: #5180C1;\n color: #fff; }\n #optimole-app .button.is-info.is-outlined.is-loading::after {\n border-color: transparent transparent #5180C1 #5180C1 !important; }\n #optimole-app .button.is-info.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-info.is-outlined {\n background-color: transparent;\n border-color: #5180C1;\n box-shadow: none;\n color: #5180C1; }\n #optimole-app .button.is-info.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-info.is-inverted.is-outlined:hover, #optimole-app .button.is-info.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #5180C1; }\n #optimole-app .button.is-info.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-info.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-success {\n background-color: #34a85e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success:hover, #optimole-app .button.is-success.is-hovered {\n background-color: #319e59;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success:focus, #optimole-app .button.is-success.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success:focus:not(:active), #optimole-app .button.is-success.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(52, 168, 94, 0.25); }\n #optimole-app .button.is-success:active, #optimole-app .button.is-success.is-active {\n background-color: #2e9553;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success[disabled],\n fieldset[disabled] #optimole-app .button.is-success {\n background-color: #34a85e;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-success.is-inverted {\n background-color: #fff;\n color: #34a85e; }\n #optimole-app .button.is-success.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-success.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-success.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #34a85e; }\n #optimole-app .button.is-success.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-success.is-outlined {\n background-color: transparent;\n border-color: #34a85e;\n color: #34a85e; }\n #optimole-app .button.is-success.is-outlined:hover, #optimole-app .button.is-success.is-outlined:focus {\n background-color: #34a85e;\n border-color: #34a85e;\n color: #fff; }\n #optimole-app .button.is-success.is-outlined.is-loading::after {\n border-color: transparent transparent #34a85e #34a85e !important; }\n #optimole-app .button.is-success.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-success.is-outlined {\n background-color: transparent;\n border-color: #34a85e;\n box-shadow: none;\n color: #34a85e; }\n #optimole-app .button.is-success.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-success.is-inverted.is-outlined:hover, #optimole-app .button.is-success.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #34a85e; }\n #optimole-app .button.is-success.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-success.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-warning {\n background-color: #ffdd57;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning:hover, #optimole-app .button.is-warning.is-hovered {\n background-color: #ffdb4a;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning:focus, #optimole-app .button.is-warning.is-focused {\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning:focus:not(:active), #optimole-app .button.is-warning.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }\n #optimole-app .button.is-warning:active, #optimole-app .button.is-warning.is-active {\n background-color: #ffd83d;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning[disabled],\n fieldset[disabled] #optimole-app .button.is-warning {\n background-color: #ffdd57;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-warning.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-inverted:hover {\n background-color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-warning.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: transparent;\n box-shadow: none;\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-loading::after {\n border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }\n #optimole-app .button.is-warning.is-outlined {\n background-color: transparent;\n border-color: #ffdd57;\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-outlined:hover, #optimole-app .button.is-warning.is-outlined:focus {\n background-color: #ffdd57;\n border-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning.is-outlined.is-loading::after {\n border-color: transparent transparent #ffdd57 #ffdd57 !important; }\n #optimole-app .button.is-warning.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-warning.is-outlined {\n background-color: transparent;\n border-color: #ffdd57;\n box-shadow: none;\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning.is-inverted.is-outlined:hover, #optimole-app .button.is-warning.is-inverted.is-outlined:focus {\n background-color: rgba(0, 0, 0, 0.7);\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-warning.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n box-shadow: none;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-danger {\n background-color: #D54222;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger:hover, #optimole-app .button.is-danger.is-hovered {\n background-color: #ca3f20;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger:focus, #optimole-app .button.is-danger.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger:focus:not(:active), #optimole-app .button.is-danger.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(213, 66, 34, 0.25); }\n #optimole-app .button.is-danger:active, #optimole-app .button.is-danger.is-active {\n background-color: #bf3b1e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger[disabled],\n fieldset[disabled] #optimole-app .button.is-danger {\n background-color: #D54222;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-danger.is-inverted {\n background-color: #fff;\n color: #D54222; }\n #optimole-app .button.is-danger.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-danger.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-danger.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #D54222; }\n #optimole-app .button.is-danger.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-danger.is-outlined {\n background-color: transparent;\n border-color: #D54222;\n color: #D54222; }\n #optimole-app .button.is-danger.is-outlined:hover, #optimole-app .button.is-danger.is-outlined:focus {\n background-color: #D54222;\n border-color: #D54222;\n color: #fff; }\n #optimole-app .button.is-danger.is-outlined.is-loading::after {\n border-color: transparent transparent #D54222 #D54222 !important; }\n #optimole-app .button.is-danger.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-danger.is-outlined {\n background-color: transparent;\n border-color: #D54222;\n box-shadow: none;\n color: #D54222; }\n #optimole-app .button.is-danger.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-danger.is-inverted.is-outlined:hover, #optimole-app .button.is-danger.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #D54222; }\n #optimole-app .button.is-danger.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-danger.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-small {\n border-radius: 2px;\n font-size: 0.75rem; }\n #optimole-app .button.is-normal {\n font-size: 1rem; }\n #optimole-app .button.is-medium {\n font-size: 1.25rem; }\n #optimole-app .button.is-large {\n font-size: 1.5rem; }\n #optimole-app .button[disabled],\n fieldset[disabled] #optimole-app .button {\n background-color: white;\n border-color: #dbdbdb;\n box-shadow: none;\n opacity: 0.5; }\n #optimole-app .button.is-fullwidth {\n display: -ms-flexbox;\n display: flex;\n width: 100%; }\n #optimole-app .button.is-loading {\n color: transparent !important;\n pointer-events: none; }\n #optimole-app .button.is-loading::after {\n position: absolute;\n left: calc(50% - (1em / 2));\n top: calc(50% - (1em / 2));\n position: absolute !important; }\n #optimole-app .button.is-static {\n background-color: whitesmoke;\n border-color: #dbdbdb;\n color: #7a7a7a;\n box-shadow: none;\n pointer-events: none; }\n #optimole-app .button.is-rounded {\n border-radius: 290486px;\n padding-left: 1em;\n padding-right: 1em; }\n #optimole-app .buttons {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .buttons .button {\n margin-bottom: 0.5rem; }\n #optimole-app .buttons .button:not(:last-child):not(.is-fullwidth) {\n margin-right: 0.5rem; }\n #optimole-app .buttons:last-child {\n margin-bottom: -0.5rem; }\n #optimole-app .buttons:not(:last-child) {\n margin-bottom: 1rem; }\n #optimole-app .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {\n border-radius: 2px;\n font-size: 0.75rem; }\n #optimole-app .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {\n font-size: 1.25rem; }\n #optimole-app .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {\n font-size: 1.5rem; }\n #optimole-app .buttons.has-addons .button:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .buttons.has-addons .button:not(:last-child) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n margin-right: -1px; }\n #optimole-app .buttons.has-addons .button:last-child {\n margin-right: 0; }\n #optimole-app .buttons.has-addons .button:hover, #optimole-app .buttons.has-addons .button.is-hovered {\n z-index: 2; }\n #optimole-app .buttons.has-addons .button:focus, #optimole-app .buttons.has-addons .button.is-focused, #optimole-app .buttons.has-addons .button:active, #optimole-app .buttons.has-addons .button.is-active, #optimole-app .buttons.has-addons .button.is-selected {\n z-index: 3; }\n #optimole-app .buttons.has-addons .button:focus:hover, #optimole-app .buttons.has-addons .button.is-focused:hover, #optimole-app .buttons.has-addons .button:active:hover, #optimole-app .buttons.has-addons .button.is-active:hover, #optimole-app .buttons.has-addons .button.is-selected:hover {\n z-index: 4; }\n #optimole-app .buttons.has-addons .button.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n #optimole-app .buttons.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .buttons.is-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .container {\n margin: 0 auto;\n position: relative; }\n @media screen and (min-width: 1088px) {\n #optimole-app .container {\n max-width: 960px;\n width: 960px; }\n #optimole-app .container.is-fluid {\n margin-left: 64px;\n margin-right: 64px;\n max-width: none;\n width: auto; } }\n @media screen and (max-width: 1279px) {\n #optimole-app .container.is-widescreen {\n max-width: 1152px;\n width: auto; } }\n @media screen and (max-width: 1471px) {\n #optimole-app .container.is-fullhd {\n max-width: 1344px;\n width: auto; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .container {\n max-width: 1152px;\n width: 1152px; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .container {\n max-width: 1344px;\n width: 1344px; } }\n #optimole-app .content li + li {\n margin-top: 0.25em; }\n #optimole-app .content p:not(:last-child),\n #optimole-app .content dl:not(:last-child),\n #optimole-app .content ol:not(:last-child),\n #optimole-app .content ul:not(:last-child),\n #optimole-app .content blockquote:not(:last-child),\n #optimole-app .content pre:not(:last-child),\n #optimole-app .content table:not(:last-child) {\n margin-bottom: 1em; }\n #optimole-app .content h1,\n #optimole-app .content h2,\n #optimole-app .content h3,\n #optimole-app .content h4,\n #optimole-app .content h5,\n #optimole-app .content h6 {\n color: #363636;\n font-weight: 600;\n line-height: 1.125; }\n #optimole-app .content h1 {\n font-size: 2em;\n margin-bottom: 0.5em; }\n #optimole-app .content h1:not(:first-child) {\n margin-top: 1em; }\n #optimole-app .content h2 {\n font-size: 1.75em;\n margin-bottom: 0.5714em; }\n #optimole-app .content h2:not(:first-child) {\n margin-top: 1.1428em; }\n #optimole-app .content h3 {\n font-size: 1.5em;\n margin-bottom: 0.6666em; }\n #optimole-app .content h3:not(:first-child) {\n margin-top: 1.3333em; }\n #optimole-app .content h4 {\n font-size: 1.25em;\n margin-bottom: 0.8em; }\n #optimole-app .content h5 {\n font-size: 1.125em;\n margin-bottom: 0.8888em; }\n #optimole-app .content h6 {\n font-size: 1em;\n margin-bottom: 1em; }\n #optimole-app .content blockquote {\n background-color: whitesmoke;\n border-left: 5px solid #dbdbdb;\n padding: 1.25em 1.5em; }\n #optimole-app .content ol {\n list-style-position: outside;\n margin-left: 2em;\n margin-top: 1em; }\n #optimole-app .content ol:not([type]) {\n list-style-type: decimal; }\n #optimole-app .content ol:not([type]).is-lower-alpha {\n list-style-type: lower-alpha; }\n #optimole-app .content ol:not([type]).is-lower-roman {\n list-style-type: lower-roman; }\n #optimole-app .content ol:not([type]).is-upper-alpha {\n list-style-type: upper-alpha; }\n #optimole-app .content ol:not([type]).is-upper-roman {\n list-style-type: upper-roman; }\n #optimole-app .content ul {\n list-style: disc outside;\n margin-left: 2em;\n margin-top: 1em; }\n #optimole-app .content ul ul {\n list-style-type: circle;\n margin-top: 0.5em; }\n #optimole-app .content ul ul ul {\n list-style-type: square; }\n #optimole-app .content dd {\n margin-left: 2em; }\n #optimole-app .content figure {\n margin-left: 2em;\n margin-right: 2em;\n text-align: center; }\n #optimole-app .content figure:not(:first-child) {\n margin-top: 2em; }\n #optimole-app .content figure:not(:last-child) {\n margin-bottom: 2em; }\n #optimole-app .content figure img {\n display: inline-block; }\n #optimole-app .content figure figcaption {\n font-style: italic; }\n #optimole-app .content pre {\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n padding: 1.25em 1.5em;\n white-space: pre;\n word-wrap: normal; }\n #optimole-app .content sup,\n #optimole-app .content sub {\n font-size: 75%; }\n #optimole-app .content table {\n width: 100%; }\n #optimole-app .content table td,\n #optimole-app .content table th {\n border: 1px solid #dbdbdb;\n border-width: 0 0 1px;\n padding: 0.5em 0.75em;\n vertical-align: top; }\n #optimole-app .content table th {\n color: #363636;\n text-align: left; }\n #optimole-app .content table thead td,\n #optimole-app .content table thead th {\n border-width: 0 0 2px;\n color: #363636; }\n #optimole-app .content table tfoot td,\n #optimole-app .content table tfoot th {\n border-width: 2px 0 0;\n color: #363636; }\n #optimole-app .content table tbody tr:last-child td,\n #optimole-app .content table tbody tr:last-child th {\n border-bottom-width: 0; }\n #optimole-app .content.is-small {\n font-size: 0.75rem; }\n #optimole-app .content.is-medium {\n font-size: 1.25rem; }\n #optimole-app .content.is-large {\n font-size: 1.5rem; }\n #optimole-app .input,\n #optimole-app .textarea {\n background-color: white;\n border-color: #dbdbdb;\n color: #363636;\n box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);\n max-width: 100%;\n width: 100%; }\n #optimole-app .input::-moz-placeholder,\n #optimole-app .textarea::-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input::-webkit-input-placeholder,\n #optimole-app .textarea::-webkit-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input:-moz-placeholder,\n #optimole-app .textarea:-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input:-ms-input-placeholder,\n #optimole-app .textarea:-ms-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input:hover, #optimole-app .input.is-hovered,\n #optimole-app .textarea:hover,\n #optimole-app .textarea.is-hovered {\n border-color: #b5b5b5; }\n #optimole-app .input:focus, #optimole-app .input.is-focused, #optimole-app .input:active, #optimole-app .input.is-active,\n #optimole-app .textarea:focus,\n #optimole-app .textarea.is-focused,\n #optimole-app .textarea:active,\n #optimole-app .textarea.is-active {\n border-color: #3273dc;\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .input[disabled],\n fieldset[disabled] #optimole-app .input,\n #optimole-app .textarea[disabled],\n fieldset[disabled]\n #optimole-app .textarea {\n background-color: whitesmoke;\n border-color: whitesmoke;\n box-shadow: none;\n color: #7a7a7a; }\n #optimole-app .input[disabled]::-moz-placeholder,\n fieldset[disabled] #optimole-app .input::-moz-placeholder,\n #optimole-app .textarea[disabled]::-moz-placeholder,\n fieldset[disabled]\n #optimole-app .textarea::-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[disabled]::-webkit-input-placeholder,\n fieldset[disabled] #optimole-app .input::-webkit-input-placeholder,\n #optimole-app .textarea[disabled]::-webkit-input-placeholder,\n fieldset[disabled]\n #optimole-app .textarea::-webkit-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[disabled]:-moz-placeholder,\n fieldset[disabled] #optimole-app .input:-moz-placeholder,\n #optimole-app .textarea[disabled]:-moz-placeholder,\n fieldset[disabled]\n #optimole-app .textarea:-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[disabled]:-ms-input-placeholder,\n fieldset[disabled] #optimole-app .input:-ms-input-placeholder,\n #optimole-app .textarea[disabled]:-ms-input-placeholder,\n fieldset[disabled]\n #optimole-app .textarea:-ms-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[readonly],\n #optimole-app .textarea[readonly] {\n box-shadow: none; }\n #optimole-app .input.is-white,\n #optimole-app .textarea.is-white {\n border-color: white; }\n #optimole-app .input.is-white:focus, #optimole-app .input.is-white.is-focused, #optimole-app .input.is-white:active, #optimole-app .input.is-white.is-active,\n #optimole-app .textarea.is-white:focus,\n #optimole-app .textarea.is-white.is-focused,\n #optimole-app .textarea.is-white:active,\n #optimole-app .textarea.is-white.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }\n #optimole-app .input.is-black,\n #optimole-app .textarea.is-black {\n border-color: #0a0a0a; }\n #optimole-app .input.is-black:focus, #optimole-app .input.is-black.is-focused, #optimole-app .input.is-black:active, #optimole-app .input.is-black.is-active,\n #optimole-app .textarea.is-black:focus,\n #optimole-app .textarea.is-black.is-focused,\n #optimole-app .textarea.is-black:active,\n #optimole-app .textarea.is-black.is-active {\n box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }\n #optimole-app .input.is-light,\n #optimole-app .textarea.is-light {\n border-color: whitesmoke; }\n #optimole-app .input.is-light:focus, #optimole-app .input.is-light.is-focused, #optimole-app .input.is-light:active, #optimole-app .input.is-light.is-active,\n #optimole-app .textarea.is-light:focus,\n #optimole-app .textarea.is-light.is-focused,\n #optimole-app .textarea.is-light:active,\n #optimole-app .textarea.is-light.is-active {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }\n #optimole-app .input.is-dark,\n #optimole-app .textarea.is-dark {\n border-color: #363636; }\n #optimole-app .input.is-dark:focus, #optimole-app .input.is-dark.is-focused, #optimole-app .input.is-dark:active, #optimole-app .input.is-dark.is-active,\n #optimole-app .textarea.is-dark:focus,\n #optimole-app .textarea.is-dark.is-focused,\n #optimole-app .textarea.is-dark:active,\n #optimole-app .textarea.is-dark.is-active {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }\n #optimole-app .input.is-primary,\n #optimole-app .textarea.is-primary {\n border-color: #EF686B; }\n #optimole-app .input.is-primary:focus, #optimole-app .input.is-primary.is-focused, #optimole-app .input.is-primary:active, #optimole-app .input.is-primary.is-active,\n #optimole-app .textarea.is-primary:focus,\n #optimole-app .textarea.is-primary.is-focused,\n #optimole-app .textarea.is-primary:active,\n #optimole-app .textarea.is-primary.is-active {\n box-shadow: 0 0 0 0.125em rgba(239, 104, 107, 0.25); }\n #optimole-app .input.is-link,\n #optimole-app .textarea.is-link {\n border-color: #3273dc; }\n #optimole-app .input.is-link:focus, #optimole-app .input.is-link.is-focused, #optimole-app .input.is-link:active, #optimole-app .input.is-link.is-active,\n #optimole-app .textarea.is-link:focus,\n #optimole-app .textarea.is-link.is-focused,\n #optimole-app .textarea.is-link:active,\n #optimole-app .textarea.is-link.is-active {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .input.is-info,\n #optimole-app .textarea.is-info {\n border-color: #5180C1; }\n #optimole-app .input.is-info:focus, #optimole-app .input.is-info.is-focused, #optimole-app .input.is-info:active, #optimole-app .input.is-info.is-active,\n #optimole-app .textarea.is-info:focus,\n #optimole-app .textarea.is-info.is-focused,\n #optimole-app .textarea.is-info:active,\n #optimole-app .textarea.is-info.is-active {\n box-shadow: 0 0 0 0.125em rgba(81, 128, 193, 0.25); }\n #optimole-app .input.is-success,\n #optimole-app .textarea.is-success {\n border-color: #34a85e; }\n #optimole-app .input.is-success:focus, #optimole-app .input.is-success.is-focused, #optimole-app .input.is-success:active, #optimole-app .input.is-success.is-active,\n #optimole-app .textarea.is-success:focus,\n #optimole-app .textarea.is-success.is-focused,\n #optimole-app .textarea.is-success:active,\n #optimole-app .textarea.is-success.is-active {\n box-shadow: 0 0 0 0.125em rgba(52, 168, 94, 0.25); }\n #optimole-app .input.is-warning,\n #optimole-app .textarea.is-warning {\n border-color: #ffdd57; }\n #optimole-app .input.is-warning:focus, #optimole-app .input.is-warning.is-focused, #optimole-app .input.is-warning:active, #optimole-app .input.is-warning.is-active,\n #optimole-app .textarea.is-warning:focus,\n #optimole-app .textarea.is-warning.is-focused,\n #optimole-app .textarea.is-warning:active,\n #optimole-app .textarea.is-warning.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }\n #optimole-app .input.is-danger,\n #optimole-app .textarea.is-danger {\n border-color: #D54222; }\n #optimole-app .input.is-danger:focus, #optimole-app .input.is-danger.is-focused, #optimole-app .input.is-danger:active, #optimole-app .input.is-danger.is-active,\n #optimole-app .textarea.is-danger:focus,\n #optimole-app .textarea.is-danger.is-focused,\n #optimole-app .textarea.is-danger:active,\n #optimole-app .textarea.is-danger.is-active {\n box-shadow: 0 0 0 0.125em rgba(213, 66, 34, 0.25); }\n #optimole-app .input.is-small,\n #optimole-app .textarea.is-small {\n border-radius: 2px;\n font-size: 0.75rem; }\n #optimole-app .input.is-medium,\n #optimole-app .textarea.is-medium {\n font-size: 1.25rem; }\n #optimole-app .input.is-large,\n #optimole-app .textarea.is-large {\n font-size: 1.5rem; }\n #optimole-app .input.is-fullwidth,\n #optimole-app .textarea.is-fullwidth {\n display: block;\n width: 100%; }\n #optimole-app .input.is-inline,\n #optimole-app .textarea.is-inline {\n display: inline;\n width: auto; }\n #optimole-app .input.is-rounded {\n border-radius: 290486px;\n padding-left: 1em;\n padding-right: 1em; }\n #optimole-app .input.is-static {\n background-color: transparent;\n border-color: transparent;\n box-shadow: none;\n padding-left: 0;\n padding-right: 0; }\n #optimole-app .textarea {\n display: block;\n max-width: 100%;\n min-width: 100%;\n padding: 0.625em;\n resize: vertical; }\n #optimole-app .textarea:not([rows]) {\n max-height: 600px;\n min-height: 120px; }\n #optimole-app .textarea[rows] {\n height: initial; }\n #optimole-app .textarea.has-fixed-size {\n resize: none; }\n #optimole-app .checkbox,\n #optimole-app .radio {\n cursor: pointer;\n display: inline-block;\n line-height: 1.25;\n position: relative; }\n #optimole-app .checkbox input,\n #optimole-app .radio input {\n cursor: pointer; }\n #optimole-app .checkbox:hover,\n #optimole-app .radio:hover {\n color: #363636; }\n #optimole-app .checkbox[disabled],\n fieldset[disabled] #optimole-app .checkbox,\n #optimole-app .radio[disabled],\n fieldset[disabled]\n #optimole-app .radio {\n color: #7a7a7a;\n cursor: not-allowed; }\n #optimole-app .radio + .radio {\n margin-left: 0.5em; }\n #optimole-app .select {\n display: inline-block;\n max-width: 100%;\n position: relative;\n vertical-align: top; }\n #optimole-app .select:not(.is-multiple) {\n height: 2.25em; }\n #optimole-app .select:not(.is-multiple):not(.is-loading)::after {\n border-color: #3273dc;\n right: 1.125em;\n z-index: 4; }\n #optimole-app .select.is-rounded select {\n border-radius: 290486px;\n padding-left: 1em; }\n #optimole-app .select select {\n background-color: white;\n border-color: #dbdbdb;\n color: #363636;\n cursor: pointer;\n display: block;\n font-size: 1em;\n max-width: 100%;\n outline: none; }\n #optimole-app .select select::-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select::-webkit-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select:-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select:-ms-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select:hover, #optimole-app .select select.is-hovered {\n border-color: #b5b5b5; }\n #optimole-app .select select:focus, #optimole-app .select select.is-focused, #optimole-app .select select:active, #optimole-app .select select.is-active {\n border-color: #3273dc;\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .select select[disabled],\n fieldset[disabled] #optimole-app .select select {\n background-color: whitesmoke;\n border-color: whitesmoke;\n box-shadow: none;\n color: #7a7a7a; }\n #optimole-app .select select[disabled]::-moz-placeholder,\n fieldset[disabled] #optimole-app .select select::-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select[disabled]::-webkit-input-placeholder,\n fieldset[disabled] #optimole-app .select select::-webkit-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select[disabled]:-moz-placeholder,\n fieldset[disabled] #optimole-app .select select:-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select[disabled]:-ms-input-placeholder,\n fieldset[disabled] #optimole-app .select select:-ms-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select::-ms-expand {\n display: none; }\n #optimole-app .select select[disabled]:hover,\n fieldset[disabled] #optimole-app .select select:hover {\n border-color: whitesmoke; }\n #optimole-app .select select:not([multiple]) {\n padding-right: 2.5em; }\n #optimole-app .select select[multiple] {\n height: auto;\n padding: 0; }\n #optimole-app .select select[multiple] option {\n padding: 0.5em 1em; }\n #optimole-app .select:not(.is-multiple):not(.is-loading):hover::after {\n border-color: #363636; }\n #optimole-app .select.is-white:not(:hover)::after {\n border-color: white; }\n #optimole-app .select.is-white select {\n border-color: white; }\n #optimole-app .select.is-white select:hover, #optimole-app .select.is-white select.is-hovered {\n border-color: #f2f2f2; }\n #optimole-app .select.is-white select:focus, #optimole-app .select.is-white select.is-focused, #optimole-app .select.is-white select:active, #optimole-app .select.is-white select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }\n #optimole-app .select.is-black:not(:hover)::after {\n border-color: #0a0a0a; }\n #optimole-app .select.is-black select {\n border-color: #0a0a0a; }\n #optimole-app .select.is-black select:hover, #optimole-app .select.is-black select.is-hovered {\n border-color: black; }\n #optimole-app .select.is-black select:focus, #optimole-app .select.is-black select.is-focused, #optimole-app .select.is-black select:active, #optimole-app .select.is-black select.is-active {\n box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }\n #optimole-app .select.is-light:not(:hover)::after {\n border-color: whitesmoke; }\n #optimole-app .select.is-light select {\n border-color: whitesmoke; }\n #optimole-app .select.is-light select:hover, #optimole-app .select.is-light select.is-hovered {\n border-color: #e8e8e8; }\n #optimole-app .select.is-light select:focus, #optimole-app .select.is-light select.is-focused, #optimole-app .select.is-light select:active, #optimole-app .select.is-light select.is-active {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }\n #optimole-app .select.is-dark:not(:hover)::after {\n border-color: #363636; }\n #optimole-app .select.is-dark select {\n border-color: #363636; }\n #optimole-app .select.is-dark select:hover, #optimole-app .select.is-dark select.is-hovered {\n border-color: #292929; }\n #optimole-app .select.is-dark select:focus, #optimole-app .select.is-dark select.is-focused, #optimole-app .select.is-dark select:active, #optimole-app .select.is-dark select.is-active {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }\n #optimole-app .select.is-primary:not(:hover)::after {\n border-color: #EF686B; }\n #optimole-app .select.is-primary select {\n border-color: #EF686B; }\n #optimole-app .select.is-primary select:hover, #optimole-app .select.is-primary select.is-hovered {\n border-color: #ed5154; }\n #optimole-app .select.is-primary select:focus, #optimole-app .select.is-primary select.is-focused, #optimole-app .select.is-primary select:active, #optimole-app .select.is-primary select.is-active {\n box-shadow: 0 0 0 0.125em rgba(239, 104, 107, 0.25); }\n #optimole-app .select.is-link:not(:hover)::after {\n border-color: #3273dc; }\n #optimole-app .select.is-link select {\n border-color: #3273dc; }\n #optimole-app .select.is-link select:hover, #optimole-app .select.is-link select.is-hovered {\n border-color: #2366d1; }\n #optimole-app .select.is-link select:focus, #optimole-app .select.is-link select.is-focused, #optimole-app .select.is-link select:active, #optimole-app .select.is-link select.is-active {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .select.is-info:not(:hover)::after {\n border-color: #5180C1; }\n #optimole-app .select.is-info select {\n border-color: #5180C1; }\n #optimole-app .select.is-info select:hover, #optimole-app .select.is-info select.is-hovered {\n border-color: #4173b7; }\n #optimole-app .select.is-info select:focus, #optimole-app .select.is-info select.is-focused, #optimole-app .select.is-info select:active, #optimole-app .select.is-info select.is-active {\n box-shadow: 0 0 0 0.125em rgba(81, 128, 193, 0.25); }\n #optimole-app .select.is-success:not(:hover)::after {\n border-color: #34a85e; }\n #optimole-app .select.is-success select {\n border-color: #34a85e; }\n #optimole-app .select.is-success select:hover, #optimole-app .select.is-success select.is-hovered {\n border-color: #2e9553; }\n #optimole-app .select.is-success select:focus, #optimole-app .select.is-success select.is-focused, #optimole-app .select.is-success select:active, #optimole-app .select.is-success select.is-active {\n box-shadow: 0 0 0 0.125em rgba(52, 168, 94, 0.25); }\n #optimole-app .select.is-warning:not(:hover)::after {\n border-color: #ffdd57; }\n #optimole-app .select.is-warning select {\n border-color: #ffdd57; }\n #optimole-app .select.is-warning select:hover, #optimole-app .select.is-warning select.is-hovered {\n border-color: #ffd83d; }\n #optimole-app .select.is-warning select:focus, #optimole-app .select.is-warning select.is-focused, #optimole-app .select.is-warning select:active, #optimole-app .select.is-warning select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }\n #optimole-app .select.is-danger:not(:hover)::after {\n border-color: #D54222; }\n #optimole-app .select.is-danger select {\n border-color: #D54222; }\n #optimole-app .select.is-danger select:hover, #optimole-app .select.is-danger select.is-hovered {\n border-color: #bf3b1e; }\n #optimole-app .select.is-danger select:focus, #optimole-app .select.is-danger select.is-focused, #optimole-app .select.is-danger select:active, #optimole-app .select.is-danger select.is-active {\n box-shadow: 0 0 0 0.125em rgba(213, 66, 34, 0.25); }\n #optimole-app .select.is-small {\n border-radius: 2px;\n font-size: 0.75rem; }\n #optimole-app .select.is-medium {\n font-size: 1.25rem; }\n #optimole-app .select.is-large {\n font-size: 1.5rem; }\n #optimole-app .select.is-disabled::after {\n border-color: #7a7a7a; }\n #optimole-app .select.is-fullwidth {\n width: 100%; }\n #optimole-app .select.is-fullwidth select {\n width: 100%; }\n #optimole-app .select.is-loading::after {\n margin-top: 0;\n position: absolute;\n right: 0.625em;\n top: 0.625em;\n transform: none; }\n #optimole-app .select.is-loading.is-small:after {\n font-size: 0.75rem; }\n #optimole-app .select.is-loading.is-medium:after {\n font-size: 1.25rem; }\n #optimole-app .select.is-loading.is-large:after {\n font-size: 1.5rem; }\n #optimole-app .file {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: start;\n justify-content: flex-start;\n position: relative; }\n #optimole-app .file.is-white .file-cta {\n background-color: white;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .file.is-white:hover .file-cta, #optimole-app .file.is-white.is-hovered .file-cta {\n background-color: #f9f9f9;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .file.is-white:focus .file-cta, #optimole-app .file.is-white.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);\n color: #0a0a0a; }\n #optimole-app .file.is-white:active .file-cta, #optimole-app .file.is-white.is-active .file-cta {\n background-color: #f2f2f2;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .file.is-black .file-cta {\n background-color: #0a0a0a;\n border-color: transparent;\n color: white; }\n #optimole-app .file.is-black:hover .file-cta, #optimole-app .file.is-black.is-hovered .file-cta {\n background-color: #040404;\n border-color: transparent;\n color: white; }\n #optimole-app .file.is-black:focus .file-cta, #optimole-app .file.is-black.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);\n color: white; }\n #optimole-app .file.is-black:active .file-cta, #optimole-app .file.is-black.is-active .file-cta {\n background-color: black;\n border-color: transparent;\n color: white; }\n #optimole-app .file.is-light .file-cta {\n background-color: whitesmoke;\n border-color: transparent;\n color: #363636; }\n #optimole-app .file.is-light:hover .file-cta, #optimole-app .file.is-light.is-hovered .file-cta {\n background-color: #eeeeee;\n border-color: transparent;\n color: #363636; }\n #optimole-app .file.is-light:focus .file-cta, #optimole-app .file.is-light.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);\n color: #363636; }\n #optimole-app .file.is-light:active .file-cta, #optimole-app .file.is-light.is-active .file-cta {\n background-color: #e8e8e8;\n border-color: transparent;\n color: #363636; }\n #optimole-app .file.is-dark .file-cta {\n background-color: #363636;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .file.is-dark:hover .file-cta, #optimole-app .file.is-dark.is-hovered .file-cta {\n background-color: #2f2f2f;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .file.is-dark:focus .file-cta, #optimole-app .file.is-dark.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);\n color: whitesmoke; }\n #optimole-app .file.is-dark:active .file-cta, #optimole-app .file.is-dark.is-active .file-cta {\n background-color: #292929;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .file.is-primary .file-cta {\n background-color: #EF686B;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-primary:hover .file-cta, #optimole-app .file.is-primary.is-hovered .file-cta {\n background-color: #ee5c60;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-primary:focus .file-cta, #optimole-app .file.is-primary.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(239, 104, 107, 0.25);\n color: #fff; }\n #optimole-app .file.is-primary:active .file-cta, #optimole-app .file.is-primary.is-active .file-cta {\n background-color: #ed5154;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-link .file-cta {\n background-color: #3273dc;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-link:hover .file-cta, #optimole-app .file.is-link.is-hovered .file-cta {\n background-color: #276cda;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-link:focus .file-cta, #optimole-app .file.is-link.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(50, 115, 220, 0.25);\n color: #fff; }\n #optimole-app .file.is-link:active .file-cta, #optimole-app .file.is-link.is-active .file-cta {\n background-color: #2366d1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-info .file-cta {\n background-color: #5180C1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-info:hover .file-cta, #optimole-app .file.is-info.is-hovered .file-cta {\n background-color: #4879be;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-info:focus .file-cta, #optimole-app .file.is-info.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(81, 128, 193, 0.25);\n color: #fff; }\n #optimole-app .file.is-info:active .file-cta, #optimole-app .file.is-info.is-active .file-cta {\n background-color: #4173b7;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-success .file-cta {\n background-color: #34a85e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-success:hover .file-cta, #optimole-app .file.is-success.is-hovered .file-cta {\n background-color: #319e59;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-success:focus .file-cta, #optimole-app .file.is-success.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(52, 168, 94, 0.25);\n color: #fff; }\n #optimole-app .file.is-success:active .file-cta, #optimole-app .file.is-success.is-active .file-cta {\n background-color: #2e9553;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-warning .file-cta {\n background-color: #ffdd57;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-warning:hover .file-cta, #optimole-app .file.is-warning.is-hovered .file-cta {\n background-color: #ffdb4a;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-warning:focus .file-cta, #optimole-app .file.is-warning.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-warning:active .file-cta, #optimole-app .file.is-warning.is-active .file-cta {\n background-color: #ffd83d;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-danger .file-cta {\n background-color: #D54222;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-danger:hover .file-cta, #optimole-app .file.is-danger.is-hovered .file-cta {\n background-color: #ca3f20;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-danger:focus .file-cta, #optimole-app .file.is-danger.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(213, 66, 34, 0.25);\n color: #fff; }\n #optimole-app .file.is-danger:active .file-cta, #optimole-app .file.is-danger.is-active .file-cta {\n background-color: #bf3b1e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-small {\n font-size: 0.75rem; }\n #optimole-app .file.is-medium {\n font-size: 1.25rem; }\n #optimole-app .file.is-medium .file-icon .fa {\n font-size: 21px; }\n #optimole-app .file.is-large {\n font-size: 1.5rem; }\n #optimole-app .file.is-large .file-icon .fa {\n font-size: 28px; }\n #optimole-app .file.has-name .file-cta {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .file.has-name .file-name {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .file.has-name.is-empty .file-cta {\n border-radius: 4px; }\n #optimole-app .file.has-name.is-empty .file-name {\n display: none; }\n #optimole-app .file.is-boxed .file-label {\n -ms-flex-direction: column;\n flex-direction: column; }\n #optimole-app .file.is-boxed .file-cta {\n -ms-flex-direction: column;\n flex-direction: column;\n height: auto;\n padding: 1em 3em; }\n #optimole-app .file.is-boxed .file-name {\n border-width: 0 1px 1px; }\n #optimole-app .file.is-boxed .file-icon {\n height: 1.5em;\n width: 1.5em; }\n #optimole-app .file.is-boxed .file-icon .fa {\n font-size: 21px; }\n #optimole-app .file.is-boxed.is-small .file-icon .fa {\n font-size: 14px; }\n #optimole-app .file.is-boxed.is-medium .file-icon .fa {\n font-size: 28px; }\n #optimole-app .file.is-boxed.is-large .file-icon .fa {\n font-size: 35px; }\n #optimole-app .file.is-boxed.has-name .file-cta {\n border-radius: 4px 4px 0 0; }\n #optimole-app .file.is-boxed.has-name .file-name {\n border-radius: 0 0 4px 4px;\n border-width: 0 1px 1px; }\n #optimole-app .file.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .file.is-fullwidth .file-label {\n width: 100%; }\n #optimole-app .file.is-fullwidth .file-name {\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: none; }\n #optimole-app .file.is-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .file.is-right .file-cta {\n border-radius: 0 4px 4px 0; }\n #optimole-app .file.is-right .file-name {\n border-radius: 4px 0 0 4px;\n border-width: 1px 0 1px 1px;\n -ms-flex-order: -1;\n order: -1; }\n #optimole-app .file-label {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n cursor: pointer;\n -ms-flex-pack: start;\n justify-content: flex-start;\n overflow: hidden;\n position: relative; }\n #optimole-app .file-label:hover .file-cta {\n background-color: #eeeeee;\n color: #363636; }\n #optimole-app .file-label:hover .file-name {\n border-color: #d5d5d5; }\n #optimole-app .file-label:active .file-cta {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .file-label:active .file-name {\n border-color: #cfcfcf; }\n #optimole-app .file-input {\n height: 100%;\n left: 0;\n opacity: 0;\n outline: none;\n position: absolute;\n top: 0;\n width: 100%; }\n #optimole-app .file-cta,\n #optimole-app .file-name {\n border-color: #dbdbdb;\n border-radius: 4px;\n font-size: 1em;\n padding-left: 1em;\n padding-right: 1em;\n white-space: nowrap; }\n #optimole-app .file-cta {\n background-color: whitesmoke;\n color: #4a4a4a; }\n #optimole-app .file-name {\n border-color: #dbdbdb;\n border-style: solid;\n border-width: 1px 1px 1px 0;\n display: block;\n max-width: 16em;\n overflow: hidden;\n text-align: left;\n text-overflow: ellipsis; }\n #optimole-app .file-icon {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n height: 1em;\n -ms-flex-pack: center;\n justify-content: center;\n margin-right: 0.5em;\n width: 1em; }\n #optimole-app .file-icon .fa {\n font-size: 14px; }\n #optimole-app .label {\n color: #363636;\n display: block;\n font-size: 1rem;\n font-weight: 700; }\n #optimole-app .label:not(:last-child) {\n margin-bottom: 0.5em; }\n #optimole-app .label.is-small {\n font-size: 0.75rem; }\n #optimole-app .label.is-medium {\n font-size: 1.25rem; }\n #optimole-app .label.is-large {\n font-size: 1.5rem; }\n #optimole-app .help {\n display: block;\n font-size: 0.75rem;\n margin-top: 0.25rem; }\n #optimole-app .help.is-white {\n color: white; }\n #optimole-app .help.is-black {\n color: #0a0a0a; }\n #optimole-app .help.is-light {\n color: whitesmoke; }\n #optimole-app .help.is-dark {\n color: #363636; }\n #optimole-app .help.is-primary {\n color: #EF686B; }\n #optimole-app .help.is-link {\n color: #3273dc; }\n #optimole-app .help.is-info {\n color: #5180C1; }\n #optimole-app .help.is-success {\n color: #34a85e; }\n #optimole-app .help.is-warning {\n color: #ffdd57; }\n #optimole-app .help.is-danger {\n color: #D54222; }\n #optimole-app .field:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .field.has-addons {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .field.has-addons .control:not(:last-child) {\n margin-right: -1px; }\n #optimole-app .field.has-addons .control:not(:first-child):not(:last-child) .button,\n #optimole-app .field.has-addons .control:not(:first-child):not(:last-child) .input,\n #optimole-app .field.has-addons .control:not(:first-child):not(:last-child) .select select {\n border-radius: 0; }\n #optimole-app .field.has-addons .control:first-child:not(:only-child) .button,\n #optimole-app .field.has-addons .control:first-child:not(:only-child) .input,\n #optimole-app .field.has-addons .control:first-child:not(:only-child) .select select {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .field.has-addons .control:last-child:not(:only-child) .button,\n #optimole-app .field.has-addons .control:last-child:not(:only-child) .input,\n #optimole-app .field.has-addons .control:last-child:not(:only-child) .select select {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .field.has-addons .control .button:not([disabled]):hover, #optimole-app .field.has-addons .control .button:not([disabled]).is-hovered,\n #optimole-app .field.has-addons .control .input:not([disabled]):hover,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-hovered,\n #optimole-app .field.has-addons .control .select select:not([disabled]):hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-hovered {\n z-index: 2; }\n #optimole-app .field.has-addons .control .button:not([disabled]):focus, #optimole-app .field.has-addons .control .button:not([disabled]).is-focused, #optimole-app .field.has-addons .control .button:not([disabled]):active, #optimole-app .field.has-addons .control .button:not([disabled]).is-active,\n #optimole-app .field.has-addons .control .input:not([disabled]):focus,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-focused,\n #optimole-app .field.has-addons .control .input:not([disabled]):active,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-active,\n #optimole-app .field.has-addons .control .select select:not([disabled]):focus,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-focused,\n #optimole-app .field.has-addons .control .select select:not([disabled]):active,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-active {\n z-index: 3; }\n #optimole-app .field.has-addons .control .button:not([disabled]):focus:hover, #optimole-app .field.has-addons .control .button:not([disabled]).is-focused:hover, #optimole-app .field.has-addons .control .button:not([disabled]):active:hover, #optimole-app .field.has-addons .control .button:not([disabled]).is-active:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]):focus:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-focused:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]):active:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-active:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]):focus:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-focused:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]):active:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-active:hover {\n z-index: 4; }\n #optimole-app .field.has-addons .control.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n #optimole-app .field.has-addons.has-addons-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .field.has-addons.has-addons-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .field.has-addons.has-addons-fullwidth .control {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .field.is-grouped {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .field.is-grouped > .control {\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .field.is-grouped > .control:not(:last-child) {\n margin-bottom: 0;\n margin-right: 0.75rem; }\n #optimole-app .field.is-grouped > .control.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .field.is-grouped.is-grouped-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .field.is-grouped.is-grouped-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .field.is-grouped.is-grouped-multiline {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n #optimole-app .field.is-grouped.is-grouped-multiline > .control:last-child, #optimole-app .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .field.is-grouped.is-grouped-multiline:last-child {\n margin-bottom: -0.75rem; }\n #optimole-app .field.is-grouped.is-grouped-multiline:not(:last-child) {\n margin-bottom: 0; }\n @media screen and (min-width: 769px), print {\n #optimole-app .field.is-horizontal {\n display: -ms-flexbox;\n display: flex; } }\n #optimole-app .field-label .label {\n font-size: inherit; }\n @media screen and (max-width: 768px) {\n #optimole-app .field-label {\n margin-bottom: 0.5rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .field-label {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-right: 1.5rem;\n text-align: right; }\n #optimole-app .field-label.is-small {\n font-size: 0.75rem;\n padding-top: 0.375em; }\n #optimole-app .field-label.is-normal {\n padding-top: 0.375em; }\n #optimole-app .field-label.is-medium {\n font-size: 1.25rem;\n padding-top: 0.375em; }\n #optimole-app .field-label.is-large {\n font-size: 1.5rem;\n padding-top: 0.375em; } }\n #optimole-app .field-body .field .field {\n margin-bottom: 0; }\n @media screen and (min-width: 769px), print {\n #optimole-app .field-body {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 5;\n flex-grow: 5;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .field-body .field {\n margin-bottom: 0; }\n #optimole-app .field-body > .field {\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .field-body > .field:not(.is-narrow) {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n #optimole-app .field-body > .field:not(:last-child) {\n margin-right: 0.75rem; } }\n #optimole-app .control {\n box-sizing: border-box;\n clear: both;\n font-size: 1rem;\n position: relative;\n text-align: left; }\n #optimole-app .control.has-icons-left .input:focus ~ .icon,\n #optimole-app .control.has-icons-left .select:focus ~ .icon, #optimole-app .control.has-icons-right .input:focus ~ .icon,\n #optimole-app .control.has-icons-right .select:focus ~ .icon {\n color: #7a7a7a; }\n #optimole-app .control.has-icons-left .input.is-small ~ .icon,\n #optimole-app .control.has-icons-left .select.is-small ~ .icon, #optimole-app .control.has-icons-right .input.is-small ~ .icon,\n #optimole-app .control.has-icons-right .select.is-small ~ .icon {\n font-size: 0.75rem; }\n #optimole-app .control.has-icons-left .input.is-medium ~ .icon,\n #optimole-app .control.has-icons-left .select.is-medium ~ .icon, #optimole-app .control.has-icons-right .input.is-medium ~ .icon,\n #optimole-app .control.has-icons-right .select.is-medium ~ .icon {\n font-size: 1.25rem; }\n #optimole-app .control.has-icons-left .input.is-large ~ .icon,\n #optimole-app .control.has-icons-left .select.is-large ~ .icon, #optimole-app .control.has-icons-right .input.is-large ~ .icon,\n #optimole-app .control.has-icons-right .select.is-large ~ .icon {\n font-size: 1.5rem; }\n #optimole-app .control.has-icons-left .icon, #optimole-app .control.has-icons-right .icon {\n color: #dbdbdb;\n height: 2.25em;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 2.25em;\n z-index: 4; }\n #optimole-app .control.has-icons-left .input,\n #optimole-app .control.has-icons-left .select select {\n padding-left: 2.25em; }\n #optimole-app .control.has-icons-left .icon.is-left {\n left: 0; }\n #optimole-app .control.has-icons-right .input,\n #optimole-app .control.has-icons-right .select select {\n padding-right: 2.25em; }\n #optimole-app .control.has-icons-right .icon.is-right {\n right: 0; }\n #optimole-app .control.is-loading::after {\n position: absolute !important;\n right: 0.625em;\n top: 0.625em;\n z-index: 4; }\n #optimole-app .control.is-loading.is-small:after {\n font-size: 0.75rem; }\n #optimole-app .control.is-loading.is-medium:after {\n font-size: 1.25rem; }\n #optimole-app .control.is-loading.is-large:after {\n font-size: 1.5rem; }\n #optimole-app .icon {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-pack: center;\n justify-content: center;\n height: 1.5rem;\n width: 1.5rem; }\n #optimole-app .icon.is-small {\n height: 1rem;\n width: 1rem; }\n #optimole-app .icon.is-medium {\n height: 2rem;\n width: 2rem; }\n #optimole-app .icon.is-large {\n height: 3rem;\n width: 3rem; }\n #optimole-app .image {\n display: block;\n position: relative; }\n #optimole-app .image img {\n display: block;\n height: auto;\n width: 100%; }\n #optimole-app .image img.is-rounded {\n border-radius: 290486px; }\n #optimole-app .image.is-square img,\n #optimole-app .image.is-square .has-ratio, #optimole-app .image.is-1by1 img,\n #optimole-app .image.is-1by1 .has-ratio, #optimole-app .image.is-5by4 img,\n #optimole-app .image.is-5by4 .has-ratio, #optimole-app .image.is-4by3 img,\n #optimole-app .image.is-4by3 .has-ratio, #optimole-app .image.is-3by2 img,\n #optimole-app .image.is-3by2 .has-ratio, #optimole-app .image.is-5by3 img,\n #optimole-app .image.is-5by3 .has-ratio, #optimole-app .image.is-16by9 img,\n #optimole-app .image.is-16by9 .has-ratio, #optimole-app .image.is-2by1 img,\n #optimole-app .image.is-2by1 .has-ratio, #optimole-app .image.is-3by1 img,\n #optimole-app .image.is-3by1 .has-ratio, #optimole-app .image.is-4by5 img,\n #optimole-app .image.is-4by5 .has-ratio, #optimole-app .image.is-3by4 img,\n #optimole-app .image.is-3by4 .has-ratio, #optimole-app .image.is-2by3 img,\n #optimole-app .image.is-2by3 .has-ratio, #optimole-app .image.is-3by5 img,\n #optimole-app .image.is-3by5 .has-ratio, #optimole-app .image.is-9by16 img,\n #optimole-app .image.is-9by16 .has-ratio, #optimole-app .image.is-1by2 img,\n #optimole-app .image.is-1by2 .has-ratio, #optimole-app .image.is-1by3 img,\n #optimole-app .image.is-1by3 .has-ratio {\n height: 100%;\n width: 100%; }\n #optimole-app .image.is-square, #optimole-app .image.is-1by1 {\n padding-top: 100%; }\n #optimole-app .image.is-5by4 {\n padding-top: 80%; }\n #optimole-app .image.is-4by3 {\n padding-top: 75%; }\n #optimole-app .image.is-3by2 {\n padding-top: 66.6666%; }\n #optimole-app .image.is-5by3 {\n padding-top: 60%; }\n #optimole-app .image.is-16by9 {\n padding-top: 56.25%; }\n #optimole-app .image.is-2by1 {\n padding-top: 50%; }\n #optimole-app .image.is-3by1 {\n padding-top: 33.3333%; }\n #optimole-app .image.is-4by5 {\n padding-top: 125%; }\n #optimole-app .image.is-3by4 {\n padding-top: 133.3333%; }\n #optimole-app .image.is-2by3 {\n padding-top: 150%; }\n #optimole-app .image.is-3by5 {\n padding-top: 166.6666%; }\n #optimole-app .image.is-9by16 {\n padding-top: 177.7777%; }\n #optimole-app .image.is-1by2 {\n padding-top: 200%; }\n #optimole-app .image.is-1by3 {\n padding-top: 300%; }\n #optimole-app .image.is-16x16 {\n height: 16px;\n width: 16px; }\n #optimole-app .image.is-24x24 {\n height: 24px;\n width: 24px; }\n #optimole-app .image.is-32x32 {\n height: 32px;\n width: 32px; }\n #optimole-app .image.is-48x48 {\n height: 48px;\n width: 48px; }\n #optimole-app .image.is-64x64 {\n height: 64px;\n width: 64px; }\n #optimole-app .image.is-96x96 {\n height: 96px;\n width: 96px; }\n #optimole-app .image.is-128x128 {\n height: 128px;\n width: 128px; }\n #optimole-app .notification {\n background-color: whitesmoke;\n border-radius: 4px;\n padding: 1.25rem 2.5rem 1.25rem 1.5rem;\n position: relative; }\n #optimole-app .notification a:not(.button):not(.dropdown-item) {\n color: currentColor;\n text-decoration: underline; }\n #optimole-app .notification strong {\n color: currentColor; }\n #optimole-app .notification code,\n #optimole-app .notification pre {\n background: white; }\n #optimole-app .notification pre code {\n background: transparent; }\n #optimole-app .notification > .delete {\n position: absolute;\n right: 0.5rem;\n top: 0.5rem; }\n #optimole-app .notification .title,\n #optimole-app .notification .subtitle,\n #optimole-app .notification .content {\n color: currentColor; }\n #optimole-app .notification.is-white {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .notification.is-black {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .notification.is-light {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .notification.is-dark {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .notification.is-primary {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .notification.is-link {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .notification.is-info {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .notification.is-success {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .notification.is-warning {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .notification.is-danger {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .progress {\n -moz-appearance: none;\n -webkit-appearance: none;\n border: none;\n border-radius: 290486px;\n display: block;\n height: 1rem;\n overflow: hidden;\n padding: 0;\n width: 100%; }\n #optimole-app .progress::-webkit-progress-bar {\n background-color: #dbdbdb; }\n #optimole-app .progress::-webkit-progress-value {\n background-color: #4a4a4a; }\n #optimole-app .progress::-moz-progress-bar {\n background-color: #4a4a4a; }\n #optimole-app .progress::-ms-fill {\n background-color: #4a4a4a;\n border: none; }\n #optimole-app .progress:indeterminate {\n animation-duration: 1.5s;\n animation-iteration-count: infinite;\n animation-name: moveIndeterminate;\n animation-timing-function: linear;\n background-color: #dbdbdb;\n background-image: linear-gradient(to right, #4a4a4a 30%, #dbdbdb 30%);\n background-position: top left;\n background-repeat: no-repeat;\n background-size: 150% 150%; }\n #optimole-app .progress:indeterminate::-webkit-progress-bar {\n background-color: transparent; }\n #optimole-app .progress:indeterminate::-moz-progress-bar {\n background-color: transparent; }\n #optimole-app .progress.is-white::-webkit-progress-value {\n background-color: white; }\n #optimole-app .progress.is-white::-moz-progress-bar {\n background-color: white; }\n #optimole-app .progress.is-white::-ms-fill {\n background-color: white; }\n #optimole-app .progress.is-white:indeterminate {\n background-image: linear-gradient(to right, white 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-black::-webkit-progress-value {\n background-color: #0a0a0a; }\n #optimole-app .progress.is-black::-moz-progress-bar {\n background-color: #0a0a0a; }\n #optimole-app .progress.is-black::-ms-fill {\n background-color: #0a0a0a; }\n #optimole-app .progress.is-black:indeterminate {\n background-image: linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-light::-webkit-progress-value {\n background-color: whitesmoke; }\n #optimole-app .progress.is-light::-moz-progress-bar {\n background-color: whitesmoke; }\n #optimole-app .progress.is-light::-ms-fill {\n background-color: whitesmoke; }\n #optimole-app .progress.is-light:indeterminate {\n background-image: linear-gradient(to right, whitesmoke 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-dark::-webkit-progress-value {\n background-color: #363636; }\n #optimole-app .progress.is-dark::-moz-progress-bar {\n background-color: #363636; }\n #optimole-app .progress.is-dark::-ms-fill {\n background-color: #363636; }\n #optimole-app .progress.is-dark:indeterminate {\n background-image: linear-gradient(to right, #363636 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-primary::-webkit-progress-value {\n background-color: #EF686B; }\n #optimole-app .progress.is-primary::-moz-progress-bar {\n background-color: #EF686B; }\n #optimole-app .progress.is-primary::-ms-fill {\n background-color: #EF686B; }\n #optimole-app .progress.is-primary:indeterminate {\n background-image: linear-gradient(to right, #EF686B 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-link::-webkit-progress-value {\n background-color: #3273dc; }\n #optimole-app .progress.is-link::-moz-progress-bar {\n background-color: #3273dc; }\n #optimole-app .progress.is-link::-ms-fill {\n background-color: #3273dc; }\n #optimole-app .progress.is-link:indeterminate {\n background-image: linear-gradient(to right, #3273dc 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-info::-webkit-progress-value {\n background-color: #5180C1; }\n #optimole-app .progress.is-info::-moz-progress-bar {\n background-color: #5180C1; }\n #optimole-app .progress.is-info::-ms-fill {\n background-color: #5180C1; }\n #optimole-app .progress.is-info:indeterminate {\n background-image: linear-gradient(to right, #5180C1 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-success::-webkit-progress-value {\n background-color: #34a85e; }\n #optimole-app .progress.is-success::-moz-progress-bar {\n background-color: #34a85e; }\n #optimole-app .progress.is-success::-ms-fill {\n background-color: #34a85e; }\n #optimole-app .progress.is-success:indeterminate {\n background-image: linear-gradient(to right, #34a85e 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-warning::-webkit-progress-value {\n background-color: #ffdd57; }\n #optimole-app .progress.is-warning::-moz-progress-bar {\n background-color: #ffdd57; }\n #optimole-app .progress.is-warning::-ms-fill {\n background-color: #ffdd57; }\n #optimole-app .progress.is-warning:indeterminate {\n background-image: linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-danger::-webkit-progress-value {\n background-color: #D54222; }\n #optimole-app .progress.is-danger::-moz-progress-bar {\n background-color: #D54222; }\n #optimole-app .progress.is-danger::-ms-fill {\n background-color: #D54222; }\n #optimole-app .progress.is-danger:indeterminate {\n background-image: linear-gradient(to right, #D54222 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-small {\n height: 0.75rem; }\n #optimole-app .progress.is-medium {\n height: 1.25rem; }\n #optimole-app .progress.is-large {\n height: 1.5rem; }\n\n@keyframes moveIndeterminate {\n from {\n background-position: 200% 0; }\n to {\n background-position: -200% 0; } }\n #optimole-app .table {\n background-color: white;\n color: #363636; }\n #optimole-app .table td,\n #optimole-app .table th {\n border: 1px solid #dbdbdb;\n border-width: 0 0 1px;\n padding: 0.5em 0.75em;\n vertical-align: top; }\n #optimole-app .table td.is-white,\n #optimole-app .table th.is-white {\n background-color: white;\n border-color: white;\n color: #0a0a0a; }\n #optimole-app .table td.is-black,\n #optimole-app .table th.is-black {\n background-color: #0a0a0a;\n border-color: #0a0a0a;\n color: white; }\n #optimole-app .table td.is-light,\n #optimole-app .table th.is-light {\n background-color: whitesmoke;\n border-color: whitesmoke;\n color: #363636; }\n #optimole-app .table td.is-dark,\n #optimole-app .table th.is-dark {\n background-color: #363636;\n border-color: #363636;\n color: whitesmoke; }\n #optimole-app .table td.is-primary,\n #optimole-app .table th.is-primary {\n background-color: #EF686B;\n border-color: #EF686B;\n color: #fff; }\n #optimole-app .table td.is-link,\n #optimole-app .table th.is-link {\n background-color: #3273dc;\n border-color: #3273dc;\n color: #fff; }\n #optimole-app .table td.is-info,\n #optimole-app .table th.is-info {\n background-color: #5180C1;\n border-color: #5180C1;\n color: #fff; }\n #optimole-app .table td.is-success,\n #optimole-app .table th.is-success {\n background-color: #34a85e;\n border-color: #34a85e;\n color: #fff; }\n #optimole-app .table td.is-warning,\n #optimole-app .table th.is-warning {\n background-color: #ffdd57;\n border-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .table td.is-danger,\n #optimole-app .table th.is-danger {\n background-color: #D54222;\n border-color: #D54222;\n color: #fff; }\n #optimole-app .table td.is-narrow,\n #optimole-app .table th.is-narrow {\n white-space: nowrap;\n width: 1%; }\n #optimole-app .table td.is-selected,\n #optimole-app .table th.is-selected {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .table td.is-selected a,\n #optimole-app .table td.is-selected strong,\n #optimole-app .table th.is-selected a,\n #optimole-app .table th.is-selected strong {\n color: currentColor; }\n #optimole-app .table th {\n color: #363636;\n text-align: left; }\n #optimole-app .table tr.is-selected {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .table tr.is-selected a,\n #optimole-app .table tr.is-selected strong {\n color: currentColor; }\n #optimole-app .table tr.is-selected td,\n #optimole-app .table tr.is-selected th {\n border-color: #fff;\n color: currentColor; }\n #optimole-app .table thead {\n background-color: transparent; }\n #optimole-app .table thead td,\n #optimole-app .table thead th {\n border-width: 0 0 2px;\n color: #363636; }\n #optimole-app .table tfoot {\n background-color: transparent; }\n #optimole-app .table tfoot td,\n #optimole-app .table tfoot th {\n border-width: 2px 0 0;\n color: #363636; }\n #optimole-app .table tbody {\n background-color: transparent; }\n #optimole-app .table tbody tr:last-child td,\n #optimole-app .table tbody tr:last-child th {\n border-bottom-width: 0; }\n #optimole-app .table.is-bordered td,\n #optimole-app .table.is-bordered th {\n border-width: 1px; }\n #optimole-app .table.is-bordered tr:last-child td,\n #optimole-app .table.is-bordered tr:last-child th {\n border-bottom-width: 1px; }\n #optimole-app .table.is-fullwidth {\n width: 100%; }\n #optimole-app .table.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: #fafafa; }\n #optimole-app .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {\n background-color: #fafafa; }\n #optimole-app .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {\n background-color: whitesmoke; }\n #optimole-app .table.is-narrow td,\n #optimole-app .table.is-narrow th {\n padding: 0.25em 0.5em; }\n #optimole-app .table.is-striped tbody tr:not(.is-selected):nth-child(even) {\n background-color: #fafafa; }\n #optimole-app .table-container {\n -webkit-overflow-scrolling: touch;\n overflow: auto;\n overflow-y: hidden;\n max-width: 100%; }\n #optimole-app .tags {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .tags .tag {\n margin-bottom: 0.5rem; }\n #optimole-app .tags .tag:not(:last-child) {\n margin-right: 0.5rem; }\n #optimole-app .tags:last-child {\n margin-bottom: -0.5rem; }\n #optimole-app .tags:not(:last-child) {\n margin-bottom: 1rem; }\n #optimole-app .tags.are-medium .tag:not(.is-normal):not(.is-large) {\n font-size: 1rem; }\n #optimole-app .tags.are-large .tag:not(.is-normal):not(.is-medium) {\n font-size: 1.25rem; }\n #optimole-app .tags.has-addons .tag {\n margin-right: 0; }\n #optimole-app .tags.has-addons .tag:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .tags.has-addons .tag:not(:last-child) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .tags.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .tags.is-centered .tag {\n margin-right: 0.25rem;\n margin-left: 0.25rem; }\n #optimole-app .tags.is-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .tags.is-right .tag:not(:first-child) {\n margin-left: 0.5rem; }\n #optimole-app .tags.is-right .tag:not(:last-child) {\n margin-right: 0; }\n #optimole-app .tags.has-addons .tag {\n margin-right: 0; }\n #optimole-app .tags.has-addons .tag:not(:first-child) {\n margin-left: 0;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .tags.has-addons .tag:not(:last-child) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .tag:not(body) {\n -ms-flex-align: center;\n align-items: center;\n background-color: whitesmoke;\n border-radius: 4px;\n color: #4a4a4a;\n display: -ms-inline-flexbox;\n display: inline-flex;\n font-size: 0.75rem;\n height: 2em;\n -ms-flex-pack: center;\n justify-content: center;\n line-height: 1.5;\n padding-left: 0.75em;\n padding-right: 0.75em;\n white-space: nowrap; }\n #optimole-app .tag:not(body) .delete {\n margin-left: 0.25rem;\n margin-right: -0.375rem; }\n #optimole-app .tag:not(body).is-white {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .tag:not(body).is-black {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .tag:not(body).is-light {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .tag:not(body).is-dark {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .tag:not(body).is-primary {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .tag:not(body).is-link {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .tag:not(body).is-info {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .tag:not(body).is-success {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .tag:not(body).is-warning {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .tag:not(body).is-danger {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .tag:not(body).is-normal {\n font-size: 0.75rem; }\n #optimole-app .tag:not(body).is-medium {\n font-size: 1rem; }\n #optimole-app .tag:not(body).is-large {\n font-size: 1.25rem; }\n #optimole-app .tag:not(body) .icon:first-child:not(:last-child) {\n margin-left: -0.375em;\n margin-right: 0.1875em; }\n #optimole-app .tag:not(body) .icon:last-child:not(:first-child) {\n margin-left: 0.1875em;\n margin-right: -0.375em; }\n #optimole-app .tag:not(body) .icon:first-child:last-child {\n margin-left: -0.375em;\n margin-right: -0.375em; }\n #optimole-app .tag:not(body).is-delete {\n margin-left: 1px;\n padding: 0;\n position: relative;\n width: 2em; }\n #optimole-app .tag:not(body).is-delete::before, #optimole-app .tag:not(body).is-delete::after {\n background-color: currentColor;\n content: \"\";\n display: block;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translateX(-50%) translateY(-50%) rotate(45deg);\n transform-origin: center center; }\n #optimole-app .tag:not(body).is-delete::before {\n height: 1px;\n width: 50%; }\n #optimole-app .tag:not(body).is-delete::after {\n height: 50%;\n width: 1px; }\n #optimole-app .tag:not(body).is-delete:hover, #optimole-app .tag:not(body).is-delete:focus {\n background-color: #e8e8e8; }\n #optimole-app .tag:not(body).is-delete:active {\n background-color: #dbdbdb; }\n #optimole-app .tag:not(body).is-rounded {\n border-radius: 290486px; }\n #optimole-app a.tag:hover {\n text-decoration: underline; }\n #optimole-app .title,\n #optimole-app .subtitle {\n word-break: break-word; }\n #optimole-app .title em,\n #optimole-app .title span,\n #optimole-app .subtitle em,\n #optimole-app .subtitle span {\n font-weight: inherit; }\n #optimole-app .title sub,\n #optimole-app .subtitle sub {\n font-size: 0.75em; }\n #optimole-app .title sup,\n #optimole-app .subtitle sup {\n font-size: 0.75em; }\n #optimole-app .title .tag,\n #optimole-app .subtitle .tag {\n vertical-align: middle; }\n #optimole-app .title {\n color: #363636;\n font-size: 2rem;\n font-weight: 600;\n line-height: 1.125; }\n #optimole-app .title strong {\n color: inherit;\n font-weight: inherit; }\n #optimole-app .title + .highlight {\n margin-top: -0.75rem; }\n #optimole-app .title:not(.is-spaced) + .subtitle {\n margin-top: -1.25rem; }\n #optimole-app .title.is-1 {\n font-size: 3rem; }\n #optimole-app .title.is-2 {\n font-size: 2.5rem; }\n #optimole-app .title.is-3 {\n font-size: 2rem; }\n #optimole-app .title.is-4 {\n font-size: 1.5rem; }\n #optimole-app .title.is-5 {\n font-size: 1.25rem; }\n #optimole-app .title.is-6 {\n font-size: 1rem; }\n #optimole-app .title.is-7 {\n font-size: 0.75rem; }\n #optimole-app .subtitle {\n color: #4a4a4a;\n font-size: 1.25rem;\n font-weight: 400;\n line-height: 1.25; }\n #optimole-app .subtitle strong {\n color: #363636;\n font-weight: 600; }\n #optimole-app .subtitle:not(.is-spaced) + .title {\n margin-top: -1.25rem; }\n #optimole-app .subtitle.is-1 {\n font-size: 3rem; }\n #optimole-app .subtitle.is-2 {\n font-size: 2.5rem; }\n #optimole-app .subtitle.is-3 {\n font-size: 2rem; }\n #optimole-app .subtitle.is-4 {\n font-size: 1.5rem; }\n #optimole-app .subtitle.is-5 {\n font-size: 1.25rem; }\n #optimole-app .subtitle.is-6 {\n font-size: 1rem; }\n #optimole-app .subtitle.is-7 {\n font-size: 0.75rem; }\n #optimole-app .heading {\n display: block;\n font-size: 11px;\n letter-spacing: 1px;\n margin-bottom: 5px;\n text-transform: uppercase; }\n #optimole-app .highlight {\n font-weight: 400;\n max-width: 100%;\n overflow: hidden;\n padding: 0; }\n #optimole-app .highlight pre {\n overflow: auto;\n max-width: 100%; }\n #optimole-app .number {\n -ms-flex-align: center;\n align-items: center;\n background-color: whitesmoke;\n border-radius: 290486px;\n display: -ms-inline-flexbox;\n display: inline-flex;\n font-size: 1.25rem;\n height: 2em;\n -ms-flex-pack: center;\n justify-content: center;\n margin-right: 1.5rem;\n min-width: 2.5em;\n padding: 0.25rem 0.5rem;\n text-align: center;\n vertical-align: top; }\n #optimole-app .breadcrumb {\n font-size: 1rem;\n white-space: nowrap; }\n #optimole-app .breadcrumb a {\n -ms-flex-align: center;\n align-items: center;\n color: #3273dc;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0 0.75em; }\n #optimole-app .breadcrumb a:hover {\n color: #363636; }\n #optimole-app .breadcrumb li {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .breadcrumb li:first-child a {\n padding-left: 0; }\n #optimole-app .breadcrumb li.is-active a {\n color: #363636;\n cursor: default;\n pointer-events: none; }\n #optimole-app .breadcrumb li + li::before {\n color: #b5b5b5;\n content: \"/\"; }\n #optimole-app .breadcrumb ul,\n #optimole-app .breadcrumb ol {\n -ms-flex-align: start;\n align-items: flex-start;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .breadcrumb .icon:first-child {\n margin-right: 0.5em; }\n #optimole-app .breadcrumb .icon:last-child {\n margin-left: 0.5em; }\n #optimole-app .breadcrumb.is-centered ol,\n #optimole-app .breadcrumb.is-centered ul {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .breadcrumb.is-right ol,\n #optimole-app .breadcrumb.is-right ul {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .breadcrumb.is-small {\n font-size: 0.75rem; }\n #optimole-app .breadcrumb.is-medium {\n font-size: 1.25rem; }\n #optimole-app .breadcrumb.is-large {\n font-size: 1.5rem; }\n #optimole-app .breadcrumb.has-arrow-separator li + li::before {\n content: \"\\2192\"; }\n #optimole-app .breadcrumb.has-bullet-separator li + li::before {\n content: \"\\2022\"; }\n #optimole-app .breadcrumb.has-dot-separator li + li::before {\n content: \"\\B7\"; }\n #optimole-app .breadcrumb.has-succeeds-separator li + li::before {\n content: \"\\227B\"; }\n #optimole-app .card {\n background-color: white;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n color: #4a4a4a;\n max-width: 100%;\n position: relative; }\n #optimole-app .card-header {\n background-color: transparent;\n -ms-flex-align: stretch;\n align-items: stretch;\n box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .card-header-title {\n -ms-flex-align: center;\n align-items: center;\n color: #363636;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-positive: 1;\n flex-grow: 1;\n font-weight: 700;\n padding: 0.75rem; }\n #optimole-app .card-header-title.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .card-header-icon {\n -ms-flex-align: center;\n align-items: center;\n cursor: pointer;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0.75rem; }\n #optimole-app .card-image {\n display: block;\n position: relative; }\n #optimole-app .card-content {\n background-color: transparent;\n padding: 1.5rem; }\n #optimole-app .card-footer {\n background-color: transparent;\n border-top: 1px solid #dbdbdb;\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .card-footer-item {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0.75rem; }\n #optimole-app .card-footer-item:not(:last-child) {\n border-right: 1px solid #dbdbdb; }\n #optimole-app .card .media:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .dropdown {\n display: -ms-inline-flexbox;\n display: inline-flex;\n position: relative;\n vertical-align: top; }\n #optimole-app .dropdown.is-active .dropdown-menu, #optimole-app .dropdown.is-hoverable:hover .dropdown-menu {\n display: block; }\n #optimole-app .dropdown.is-right .dropdown-menu {\n left: auto;\n right: 0; }\n #optimole-app .dropdown.is-up .dropdown-menu {\n bottom: 100%;\n padding-bottom: 4px;\n padding-top: initial;\n top: auto; }\n #optimole-app .dropdown-menu {\n display: none;\n left: 0;\n min-width: 12rem;\n padding-top: 4px;\n position: absolute;\n top: 100%;\n z-index: 20; }\n #optimole-app .dropdown-content {\n background-color: white;\n border-radius: 4px;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n padding-bottom: 0.5rem;\n padding-top: 0.5rem; }\n #optimole-app .dropdown-item {\n color: #4a4a4a;\n display: block;\n font-size: 0.875rem;\n line-height: 1.5;\n padding: 0.375rem 1rem;\n position: relative; }\n #optimole-app a.dropdown-item,\n #optimole-app button.dropdown-item {\n padding-right: 3rem;\n text-align: left;\n white-space: nowrap;\n width: 100%; }\n #optimole-app a.dropdown-item:hover,\n #optimole-app button.dropdown-item:hover {\n background-color: whitesmoke;\n color: #0a0a0a; }\n #optimole-app a.dropdown-item.is-active,\n #optimole-app button.dropdown-item.is-active {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .dropdown-divider {\n background-color: #dbdbdb;\n border: none;\n display: block;\n height: 1px;\n margin: 0.5rem 0; }\n #optimole-app .level {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between; }\n #optimole-app .level code {\n border-radius: 4px; }\n #optimole-app .level img {\n display: inline-block;\n vertical-align: top; }\n #optimole-app .level.is-mobile {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .level.is-mobile .level-left,\n #optimole-app .level.is-mobile .level-right {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .level.is-mobile .level-left + .level-right {\n margin-top: 0; }\n #optimole-app .level.is-mobile .level-item:not(:last-child) {\n margin-bottom: 0;\n margin-right: 0.75rem; }\n #optimole-app .level.is-mobile .level-item:not(.is-narrow) {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n @media screen and (min-width: 769px), print {\n #optimole-app .level {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .level > .level-item:not(.is-narrow) {\n -ms-flex-positive: 1;\n flex-grow: 1; } }\n #optimole-app .level-item {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .level-item .title,\n #optimole-app .level-item .subtitle {\n margin-bottom: 0; }\n @media screen and (max-width: 768px) {\n #optimole-app .level-item:not(:last-child) {\n margin-bottom: 0.75rem; } }\n #optimole-app .level-left,\n #optimole-app .level-right {\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .level-left .level-item.is-flexible,\n #optimole-app .level-right .level-item.is-flexible {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n @media screen and (min-width: 769px), print {\n #optimole-app .level-left .level-item:not(:last-child),\n #optimole-app .level-right .level-item:not(:last-child) {\n margin-right: 0.75rem; } }\n #optimole-app .level-left {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n @media screen and (max-width: 768px) {\n #optimole-app .level-left + .level-right {\n margin-top: 1.5rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .level-left {\n display: -ms-flexbox;\n display: flex; } }\n #optimole-app .level-right {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n @media screen and (min-width: 769px), print {\n #optimole-app .level-right {\n display: -ms-flexbox;\n display: flex; } }\n #optimole-app .list {\n background-color: white;\n border-radius: 4px;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }\n #optimole-app .list-item {\n display: block;\n padding: 0.5em 1em; }\n #optimole-app .list-item:not(a) {\n color: #4a4a4a; }\n #optimole-app .list-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px; }\n #optimole-app .list-item:last-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px; }\n #optimole-app .list-item:not(:last-child) {\n border-bottom: 1px solid #dbdbdb; }\n #optimole-app .list-item.is-active {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app a.list-item {\n background-color: whitesmoke;\n cursor: pointer; }\n #optimole-app .media {\n -ms-flex-align: start;\n align-items: flex-start;\n display: -ms-flexbox;\n display: flex;\n text-align: left; }\n #optimole-app .media .content:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .media .media {\n border-top: 1px solid rgba(219, 219, 219, 0.5);\n display: -ms-flexbox;\n display: flex;\n padding-top: 0.75rem; }\n #optimole-app .media .media .content:not(:last-child),\n #optimole-app .media .media .control:not(:last-child) {\n margin-bottom: 0.5rem; }\n #optimole-app .media .media .media {\n padding-top: 0.5rem; }\n #optimole-app .media .media .media + .media {\n margin-top: 0.5rem; }\n #optimole-app .media + .media {\n border-top: 1px solid rgba(219, 219, 219, 0.5);\n margin-top: 1rem;\n padding-top: 1rem; }\n #optimole-app .media.is-large + .media {\n margin-top: 1.5rem;\n padding-top: 1.5rem; }\n #optimole-app .media-left,\n #optimole-app .media-right {\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .media-left {\n margin-right: 1rem; }\n #optimole-app .media-right {\n margin-left: 1rem; }\n #optimole-app .media-content {\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n text-align: left; }\n @media screen and (max-width: 768px) {\n #optimole-app .media-content {\n overflow-x: auto; } }\n #optimole-app .menu {\n font-size: 1rem; }\n #optimole-app .menu.is-small {\n font-size: 0.75rem; }\n #optimole-app .menu.is-medium {\n font-size: 1.25rem; }\n #optimole-app .menu.is-large {\n font-size: 1.5rem; }\n #optimole-app .menu-list {\n line-height: 1.25; }\n #optimole-app .menu-list a {\n border-radius: 2px;\n color: #4a4a4a;\n display: block;\n padding: 0.5em 0.75em; }\n #optimole-app .menu-list a:hover {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .menu-list a.is-active {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .menu-list li ul {\n border-left: 1px solid #dbdbdb;\n margin: 0.75em;\n padding-left: 0.75em; }\n #optimole-app .menu-label {\n color: #7a7a7a;\n font-size: 0.75em;\n letter-spacing: 0.1em;\n text-transform: uppercase; }\n #optimole-app .menu-label:not(:first-child) {\n margin-top: 1em; }\n #optimole-app .menu-label:not(:last-child) {\n margin-bottom: 1em; }\n #optimole-app .message {\n background-color: whitesmoke;\n border-radius: 4px;\n font-size: 1rem; }\n #optimole-app .message strong {\n color: currentColor; }\n #optimole-app .message a:not(.button):not(.tag):not(.dropdown-item) {\n color: currentColor;\n text-decoration: underline; }\n #optimole-app .message.is-small {\n font-size: 0.75rem; }\n #optimole-app .message.is-medium {\n font-size: 1.25rem; }\n #optimole-app .message.is-large {\n font-size: 1.5rem; }\n #optimole-app .message.is-white {\n background-color: white; }\n #optimole-app .message.is-white .message-header {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .message.is-white .message-body {\n border-color: white;\n color: #4d4d4d; }\n #optimole-app .message.is-black {\n background-color: #fafafa; }\n #optimole-app .message.is-black .message-header {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .message.is-black .message-body {\n border-color: #0a0a0a;\n color: #090909; }\n #optimole-app .message.is-light {\n background-color: #fafafa; }\n #optimole-app .message.is-light .message-header {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .message.is-light .message-body {\n border-color: whitesmoke;\n color: #505050; }\n #optimole-app .message.is-dark {\n background-color: #fafafa; }\n #optimole-app .message.is-dark .message-header {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .message.is-dark .message-body {\n border-color: #363636;\n color: #2a2a2a; }\n #optimole-app .message.is-primary {\n background-color: #fef6f6; }\n #optimole-app .message.is-primary .message-header {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .message.is-primary .message-body {\n border-color: #EF686B;\n color: #bd2124; }\n #optimole-app .message.is-link {\n background-color: #f6f9fe; }\n #optimole-app .message.is-link .message-header {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .message.is-link .message-body {\n border-color: #3273dc;\n color: #22509a; }\n #optimole-app .message.is-info {\n background-color: #f7fafc; }\n #optimole-app .message.is-info .message-header {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .message.is-info .message-body {\n border-color: #5180C1;\n color: #36537c; }\n #optimole-app .message.is-success {\n background-color: #f7fdf9; }\n #optimole-app .message.is-success .message-header {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .message.is-success .message-body {\n border-color: #34a85e;\n color: #1b432a; }\n #optimole-app .message.is-warning {\n background-color: #fffdf5; }\n #optimole-app .message.is-warning .message-header {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .message.is-warning .message-body {\n border-color: #ffdd57;\n color: #3b3108; }\n #optimole-app .message.is-danger {\n background-color: #fef8f6; }\n #optimole-app .message.is-danger .message-header {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .message.is-danger .message-body {\n border-color: #D54222;\n color: #8d311d; }\n #optimole-app .message-header {\n -ms-flex-align: center;\n align-items: center;\n background-color: #4a4a4a;\n border-radius: 4px 4px 0 0;\n color: #fff;\n display: -ms-flexbox;\n display: flex;\n font-weight: 700;\n -ms-flex-pack: justify;\n justify-content: space-between;\n line-height: 1.25;\n padding: 0.75em 1em;\n position: relative; }\n #optimole-app .message-header .delete {\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-left: 0.75em; }\n #optimole-app .message-header + .message-body {\n border-width: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .message-body {\n border-color: #dbdbdb;\n border-radius: 4px;\n border-style: solid;\n border-width: 0 0 0 4px;\n color: #4a4a4a;\n padding: 1.25em 1.5em; }\n #optimole-app .message-body code,\n #optimole-app .message-body pre {\n background-color: white; }\n #optimole-app .message-body pre code {\n background-color: transparent; }\n #optimole-app .modal {\n -ms-flex-align: center;\n align-items: center;\n display: none;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n position: fixed;\n z-index: 40; }\n #optimole-app .modal.is-active {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .modal-background {\n background-color: rgba(10, 10, 10, 0.86); }\n #optimole-app .modal-content,\n #optimole-app .modal-card {\n margin: 0 20px;\n max-height: calc(100vh - 160px);\n overflow: auto;\n position: relative;\n width: 100%; }\n @media screen and (min-width: 769px), print {\n #optimole-app .modal-content,\n #optimole-app .modal-card {\n margin: 0 auto;\n max-height: calc(100vh - 40px);\n width: 640px; } }\n #optimole-app .modal-close {\n background: none;\n height: 40px;\n position: fixed;\n right: 20px;\n top: 20px;\n width: 40px; }\n #optimole-app .modal-card {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n max-height: calc(100vh - 40px);\n overflow: hidden;\n -ms-overflow-y: visible; }\n #optimole-app .modal-card-head,\n #optimole-app .modal-card-foot {\n -ms-flex-align: center;\n align-items: center;\n background-color: whitesmoke;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-pack: start;\n justify-content: flex-start;\n padding: 20px;\n position: relative; }\n #optimole-app .modal-card-head {\n border-bottom: 1px solid #dbdbdb;\n border-top-left-radius: 6px;\n border-top-right-radius: 6px; }\n #optimole-app .modal-card-title {\n color: #363636;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n font-size: 1.5rem;\n line-height: 1; }\n #optimole-app .modal-card-foot {\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n border-top: 1px solid #dbdbdb; }\n #optimole-app .modal-card-foot .button:not(:last-child) {\n margin-right: 10px; }\n #optimole-app .modal-card-body {\n -webkit-overflow-scrolling: touch;\n background-color: white;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n overflow: auto;\n padding: 20px; }\n #optimole-app .navbar {\n background-color: white;\n min-height: 3.25rem;\n position: relative;\n z-index: 30; }\n #optimole-app .navbar.is-white {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-white .navbar-brand .navbar-link {\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-white .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-white .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-white .navbar-brand .navbar-link.is-active {\n background-color: #f2f2f2;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-brand .navbar-link::after {\n border-color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-burger {\n color: #0a0a0a; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-white .navbar-start > .navbar-item,\n #optimole-app .navbar.is-white .navbar-start .navbar-link,\n #optimole-app .navbar.is-white .navbar-end > .navbar-item,\n #optimole-app .navbar.is-white .navbar-end .navbar-link {\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-white .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-white .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-white .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-white .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-white .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-white .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-white .navbar-end .navbar-link.is-active {\n background-color: #f2f2f2;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-white .navbar-end .navbar-link::after {\n border-color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #f2f2f2;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-dropdown a.navbar-item.is-active {\n background-color: white;\n color: #0a0a0a; } }\n #optimole-app .navbar.is-black {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .navbar.is-black .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-black .navbar-brand .navbar-link {\n color: white; }\n #optimole-app .navbar.is-black .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-black .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-black .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-black .navbar-brand .navbar-link.is-active {\n background-color: black;\n color: white; }\n #optimole-app .navbar.is-black .navbar-brand .navbar-link::after {\n border-color: white; }\n #optimole-app .navbar.is-black .navbar-burger {\n color: white; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-black .navbar-start > .navbar-item,\n #optimole-app .navbar.is-black .navbar-start .navbar-link,\n #optimole-app .navbar.is-black .navbar-end > .navbar-item,\n #optimole-app .navbar.is-black .navbar-end .navbar-link {\n color: white; }\n #optimole-app .navbar.is-black .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-black .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-black .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-black .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-black .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-black .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-black .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-black .navbar-end .navbar-link.is-active {\n background-color: black;\n color: white; }\n #optimole-app .navbar.is-black .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-black .navbar-end .navbar-link::after {\n border-color: white; }\n #optimole-app .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: black;\n color: white; }\n #optimole-app .navbar.is-black .navbar-dropdown a.navbar-item.is-active {\n background-color: #0a0a0a;\n color: white; } }\n #optimole-app .navbar.is-light {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-light .navbar-brand .navbar-link {\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-light .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-light .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-light .navbar-brand .navbar-link.is-active {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-brand .navbar-link::after {\n border-color: #363636; }\n #optimole-app .navbar.is-light .navbar-burger {\n color: #363636; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-light .navbar-start > .navbar-item,\n #optimole-app .navbar.is-light .navbar-start .navbar-link,\n #optimole-app .navbar.is-light .navbar-end > .navbar-item,\n #optimole-app .navbar.is-light .navbar-end .navbar-link {\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-light .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-light .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-light .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-light .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-light .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-light .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-light .navbar-end .navbar-link.is-active {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-light .navbar-end .navbar-link::after {\n border-color: #363636; }\n #optimole-app .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-dropdown a.navbar-item.is-active {\n background-color: whitesmoke;\n color: #363636; } }\n #optimole-app .navbar.is-dark {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link {\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-dark .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link.is-active {\n background-color: #292929;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link::after {\n border-color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-burger {\n color: whitesmoke; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-dark .navbar-start > .navbar-item,\n #optimole-app .navbar.is-dark .navbar-start .navbar-link,\n #optimole-app .navbar.is-dark .navbar-end > .navbar-item,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link {\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-dark .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-dark .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-dark .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-dark .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-dark .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link.is-active {\n background-color: #292929;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link::after {\n border-color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #292929;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-dropdown a.navbar-item.is-active {\n background-color: #363636;\n color: whitesmoke; } }\n #optimole-app .navbar.is-primary {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-primary .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link.is-active {\n background-color: #ed5154;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-primary .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-primary .navbar-start > .navbar-item,\n #optimole-app .navbar.is-primary .navbar-start .navbar-link,\n #optimole-app .navbar.is-primary .navbar-end > .navbar-item,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-primary .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-primary .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-primary .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-primary .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-primary .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link.is-active {\n background-color: #ed5154;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #ed5154;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-dropdown a.navbar-item.is-active {\n background-color: #EF686B;\n color: #fff; } }\n #optimole-app .navbar.is-link {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-link .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-link .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-link .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-link .navbar-brand .navbar-link.is-active {\n background-color: #2366d1;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-link .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-link .navbar-start > .navbar-item,\n #optimole-app .navbar.is-link .navbar-start .navbar-link,\n #optimole-app .navbar.is-link .navbar-end > .navbar-item,\n #optimole-app .navbar.is-link .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-link .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-link .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-link .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-link .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-link .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-link .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-link .navbar-end .navbar-link.is-active {\n background-color: #2366d1;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-link .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #2366d1;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-dropdown a.navbar-item.is-active {\n background-color: #3273dc;\n color: #fff; } }\n #optimole-app .navbar.is-info {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-info .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-info .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-info .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-info .navbar-brand .navbar-link.is-active {\n background-color: #4173b7;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-info .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-info .navbar-start > .navbar-item,\n #optimole-app .navbar.is-info .navbar-start .navbar-link,\n #optimole-app .navbar.is-info .navbar-end > .navbar-item,\n #optimole-app .navbar.is-info .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-info .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-info .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-info .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-info .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-info .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-info .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-info .navbar-end .navbar-link.is-active {\n background-color: #4173b7;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-info .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #4173b7;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-dropdown a.navbar-item.is-active {\n background-color: #5180C1;\n color: #fff; } }\n #optimole-app .navbar.is-success {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-success .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-success .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-success .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-success .navbar-brand .navbar-link.is-active {\n background-color: #2e9553;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-success .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-success .navbar-start > .navbar-item,\n #optimole-app .navbar.is-success .navbar-start .navbar-link,\n #optimole-app .navbar.is-success .navbar-end > .navbar-item,\n #optimole-app .navbar.is-success .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-success .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-success .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-success .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-success .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-success .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-success .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-success .navbar-end .navbar-link.is-active {\n background-color: #2e9553;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-success .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #2e9553;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-dropdown a.navbar-item.is-active {\n background-color: #34a85e;\n color: #fff; } }\n #optimole-app .navbar.is-warning {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-warning .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link.is-active {\n background-color: #ffd83d;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link::after {\n border-color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-burger {\n color: rgba(0, 0, 0, 0.7); }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-warning .navbar-start > .navbar-item,\n #optimole-app .navbar.is-warning .navbar-start .navbar-link,\n #optimole-app .navbar.is-warning .navbar-end > .navbar-item,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-warning .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-warning .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-warning .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-warning .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-warning .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link.is-active {\n background-color: #ffd83d;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link::after {\n border-color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #ffd83d;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); } }\n #optimole-app .navbar.is-danger {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-danger .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link.is-active {\n background-color: #bf3b1e;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-danger .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-danger .navbar-start > .navbar-item,\n #optimole-app .navbar.is-danger .navbar-start .navbar-link,\n #optimole-app .navbar.is-danger .navbar-end > .navbar-item,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-danger .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-danger .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-danger .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-danger .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-danger .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link.is-active {\n background-color: #bf3b1e;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #bf3b1e;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {\n background-color: #D54222;\n color: #fff; } }\n #optimole-app .navbar > .container {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n min-height: 3.25rem;\n width: 100%; }\n #optimole-app .navbar.has-shadow {\n box-shadow: 0 2px 0 0 whitesmoke; }\n #optimole-app .navbar.is-fixed-bottom, #optimole-app .navbar.is-fixed-top {\n left: 0;\n position: fixed;\n right: 0;\n z-index: 30; }\n #optimole-app .navbar.is-fixed-bottom {\n bottom: 0; }\n #optimole-app .navbar.is-fixed-bottom.has-shadow {\n box-shadow: 0 -2px 0 0 whitesmoke; }\n #optimole-app .navbar.is-fixed-top {\n top: 0; }\n #optimole-app html.has-navbar-fixed-top,\n #optimole-app body.has-navbar-fixed-top {\n padding-top: 3.25rem; }\n #optimole-app html.has-navbar-fixed-bottom,\n #optimole-app body.has-navbar-fixed-bottom {\n padding-bottom: 3.25rem; }\n #optimole-app .navbar-brand,\n #optimole-app .navbar-tabs {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n min-height: 3.25rem; }\n #optimole-app .navbar-brand a.navbar-item:hover {\n background-color: transparent; }\n #optimole-app .navbar-tabs {\n -webkit-overflow-scrolling: touch;\n max-width: 100vw;\n overflow-x: auto;\n overflow-y: hidden; }\n #optimole-app .navbar-burger {\n color: #4a4a4a;\n cursor: pointer;\n display: block;\n height: 3.25rem;\n position: relative;\n width: 3.25rem;\n margin-left: auto; }\n #optimole-app .navbar-burger span {\n background-color: currentColor;\n display: block;\n height: 1px;\n left: calc(50% - 8px);\n position: absolute;\n transform-origin: center;\n transition-duration: 86ms;\n transition-property: background-color, opacity, transform;\n transition-timing-function: ease-out;\n width: 16px; }\n #optimole-app .navbar-burger span:nth-child(1) {\n top: calc(50% - 6px); }\n #optimole-app .navbar-burger span:nth-child(2) {\n top: calc(50% - 1px); }\n #optimole-app .navbar-burger span:nth-child(3) {\n top: calc(50% + 4px); }\n #optimole-app .navbar-burger:hover {\n background-color: rgba(0, 0, 0, 0.05); }\n #optimole-app .navbar-burger.is-active span:nth-child(1) {\n transform: translateY(5px) rotate(45deg); }\n #optimole-app .navbar-burger.is-active span:nth-child(2) {\n opacity: 0; }\n #optimole-app .navbar-burger.is-active span:nth-child(3) {\n transform: translateY(-5px) rotate(-45deg); }\n #optimole-app .navbar-menu {\n display: none; }\n #optimole-app .navbar-item,\n #optimole-app .navbar-link {\n color: #4a4a4a;\n display: block;\n line-height: 1.5;\n padding: 0.5rem 0.75rem;\n position: relative; }\n #optimole-app .navbar-item .icon:only-child,\n #optimole-app .navbar-link .icon:only-child {\n margin-left: -0.25rem;\n margin-right: -0.25rem; }\n #optimole-app a.navbar-item,\n #optimole-app .navbar-link {\n cursor: pointer; }\n #optimole-app a.navbar-item:hover, #optimole-app a.navbar-item.is-active,\n #optimole-app .navbar-link:hover,\n #optimole-app .navbar-link.is-active {\n background-color: #fafafa;\n color: #3273dc; }\n #optimole-app .navbar-item {\n display: block;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .navbar-item img {\n max-height: 1.75rem; }\n #optimole-app .navbar-item.has-dropdown {\n padding: 0; }\n #optimole-app .navbar-item.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .navbar-item.is-tab {\n border-bottom: 1px solid transparent;\n min-height: 3.25rem;\n padding-bottom: calc(0.5rem - 1px); }\n #optimole-app .navbar-item.is-tab:hover {\n background-color: transparent;\n border-bottom-color: #3273dc; }\n #optimole-app .navbar-item.is-tab.is-active {\n background-color: transparent;\n border-bottom-color: #3273dc;\n border-bottom-style: solid;\n border-bottom-width: 3px;\n color: #3273dc;\n padding-bottom: calc(0.5rem - 3px); }\n #optimole-app .navbar-content {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .navbar-link:not(.is-arrowless) {\n padding-right: 2.5em; }\n #optimole-app .navbar-link:not(.is-arrowless)::after {\n border-color: #3273dc;\n margin-top: -0.375em;\n right: 1.125em; }\n #optimole-app .navbar-dropdown {\n font-size: 0.875rem;\n padding-bottom: 0.5rem;\n padding-top: 0.5rem; }\n #optimole-app .navbar-dropdown .navbar-item {\n padding-left: 1.5rem;\n padding-right: 1.5rem; }\n #optimole-app .navbar-divider {\n background-color: whitesmoke;\n border: none;\n display: none;\n height: 2px;\n margin: 0.5rem 0; }\n @media screen and (max-width: 1087px) {\n #optimole-app .navbar > .container {\n display: block; }\n #optimole-app .navbar-brand .navbar-item,\n #optimole-app .navbar-tabs .navbar-item {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar-link::after {\n display: none; }\n #optimole-app .navbar-menu {\n background-color: white;\n box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);\n padding: 0.5rem 0; }\n #optimole-app .navbar-menu.is-active {\n display: block; }\n #optimole-app .navbar.is-fixed-bottom-touch, #optimole-app .navbar.is-fixed-top-touch {\n left: 0;\n position: fixed;\n right: 0;\n z-index: 30; }\n #optimole-app .navbar.is-fixed-bottom-touch {\n bottom: 0; }\n #optimole-app .navbar.is-fixed-bottom-touch.has-shadow {\n box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }\n #optimole-app .navbar.is-fixed-top-touch {\n top: 0; }\n #optimole-app .navbar.is-fixed-top .navbar-menu, #optimole-app .navbar.is-fixed-top-touch .navbar-menu {\n -webkit-overflow-scrolling: touch;\n max-height: calc(100vh - 3.25rem);\n overflow: auto; }\n #optimole-app html.has-navbar-fixed-top-touch,\n #optimole-app body.has-navbar-fixed-top-touch {\n padding-top: 3.25rem; }\n #optimole-app html.has-navbar-fixed-bottom-touch,\n #optimole-app body.has-navbar-fixed-bottom-touch {\n padding-bottom: 3.25rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar,\n #optimole-app .navbar-menu,\n #optimole-app .navbar-start,\n #optimole-app .navbar-end {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar {\n min-height: 3.25rem; }\n #optimole-app .navbar.is-spaced {\n padding: 1rem 2rem; }\n #optimole-app .navbar.is-spaced .navbar-start,\n #optimole-app .navbar.is-spaced .navbar-end {\n -ms-flex-align: center;\n align-items: center; }\n #optimole-app .navbar.is-spaced a.navbar-item,\n #optimole-app .navbar.is-spaced .navbar-link {\n border-radius: 4px; }\n #optimole-app .navbar.is-transparent a.navbar-item:hover, #optimole-app .navbar.is-transparent a.navbar-item.is-active,\n #optimole-app .navbar.is-transparent .navbar-link:hover,\n #optimole-app .navbar.is-transparent .navbar-link.is-active {\n background-color: transparent !important; }\n #optimole-app .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, #optimole-app .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {\n background-color: transparent !important; }\n #optimole-app .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {\n background-color: whitesmoke;\n color: #0a0a0a; }\n #optimole-app .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {\n background-color: whitesmoke;\n color: #3273dc; }\n #optimole-app .navbar-burger {\n display: none; }\n #optimole-app .navbar-item,\n #optimole-app .navbar-link {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar-item {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar-item.has-dropdown {\n -ms-flex-align: stretch;\n align-items: stretch; }\n #optimole-app .navbar-item.has-dropdown-up .navbar-link::after {\n transform: rotate(135deg) translate(0.25em, -0.25em); }\n #optimole-app .navbar-item.has-dropdown-up .navbar-dropdown {\n border-bottom: 2px solid #dbdbdb;\n border-radius: 6px 6px 0 0;\n border-top: none;\n bottom: 100%;\n box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);\n top: auto; }\n #optimole-app .navbar-item.is-active .navbar-dropdown, #optimole-app .navbar-item.is-hoverable:hover .navbar-dropdown {\n display: block; }\n .navbar.is-spaced #optimole-app .navbar-item.is-active .navbar-dropdown, #optimole-app .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced #optimole-app .navbar-item.is-hoverable:hover .navbar-dropdown, #optimole-app .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0); }\n #optimole-app .navbar-menu {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .navbar-start {\n -ms-flex-pack: start;\n justify-content: flex-start;\n margin-right: auto; }\n #optimole-app .navbar-end {\n -ms-flex-pack: end;\n justify-content: flex-end;\n margin-left: auto; }\n #optimole-app .navbar-dropdown {\n background-color: white;\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n border-top: 2px solid #dbdbdb;\n box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);\n display: none;\n font-size: 0.875rem;\n left: 0;\n min-width: 100%;\n position: absolute;\n top: 100%;\n z-index: 20; }\n #optimole-app .navbar-dropdown .navbar-item {\n padding: 0.375rem 1rem;\n white-space: nowrap; }\n #optimole-app .navbar-dropdown a.navbar-item {\n padding-right: 3rem; }\n #optimole-app .navbar-dropdown a.navbar-item:hover {\n background-color: whitesmoke;\n color: #0a0a0a; }\n #optimole-app .navbar-dropdown a.navbar-item.is-active {\n background-color: whitesmoke;\n color: #3273dc; }\n .navbar.is-spaced #optimole-app .navbar-dropdown, #optimole-app .navbar-dropdown.is-boxed {\n border-radius: 6px;\n border-top: none;\n box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n display: block;\n opacity: 0;\n pointer-events: none;\n top: calc(100% + (-4px));\n transform: translateY(-5px);\n transition-duration: 86ms;\n transition-property: opacity, transform; }\n #optimole-app .navbar-dropdown.is-right {\n left: auto;\n right: 0; }\n #optimole-app .navbar-divider {\n display: block; }\n #optimole-app .navbar > .container .navbar-brand,\n #optimole-app .container > .navbar .navbar-brand {\n margin-left: -.75rem; }\n #optimole-app .navbar > .container .navbar-menu,\n #optimole-app .container > .navbar .navbar-menu {\n margin-right: -.75rem; }\n #optimole-app .navbar.is-fixed-bottom-desktop, #optimole-app .navbar.is-fixed-top-desktop {\n left: 0;\n position: fixed;\n right: 0;\n z-index: 30; }\n #optimole-app .navbar.is-fixed-bottom-desktop {\n bottom: 0; }\n #optimole-app .navbar.is-fixed-bottom-desktop.has-shadow {\n box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }\n #optimole-app .navbar.is-fixed-top-desktop {\n top: 0; }\n #optimole-app html.has-navbar-fixed-top-desktop,\n #optimole-app body.has-navbar-fixed-top-desktop {\n padding-top: 3.25rem; }\n #optimole-app html.has-navbar-fixed-bottom-desktop,\n #optimole-app body.has-navbar-fixed-bottom-desktop {\n padding-bottom: 3.25rem; }\n #optimole-app html.has-spaced-navbar-fixed-top,\n #optimole-app body.has-spaced-navbar-fixed-top {\n padding-top: 5.25rem; }\n #optimole-app html.has-spaced-navbar-fixed-bottom,\n #optimole-app body.has-spaced-navbar-fixed-bottom {\n padding-bottom: 5.25rem; }\n #optimole-app a.navbar-item.is-active,\n #optimole-app .navbar-link.is-active {\n color: #0a0a0a; }\n #optimole-app a.navbar-item.is-active:not(:hover),\n #optimole-app .navbar-link.is-active:not(:hover) {\n background-color: transparent; }\n #optimole-app .navbar-item.has-dropdown:hover .navbar-link, #optimole-app .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #fafafa; } }\n #optimole-app .hero.is-fullheight-with-navbar {\n min-height: calc(100vh - 3.25rem); }\n #optimole-app .pagination {\n font-size: 1rem;\n margin: -0.25rem; }\n #optimole-app .pagination.is-small {\n font-size: 0.75rem; }\n #optimole-app .pagination.is-medium {\n font-size: 1.25rem; }\n #optimole-app .pagination.is-large {\n font-size: 1.5rem; }\n #optimole-app .pagination.is-rounded .pagination-previous,\n #optimole-app .pagination.is-rounded .pagination-next {\n padding-left: 1em;\n padding-right: 1em;\n border-radius: 290486px; }\n #optimole-app .pagination.is-rounded .pagination-link {\n border-radius: 290486px; }\n #optimole-app .pagination,\n #optimole-app .pagination-list {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n text-align: center; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link,\n #optimole-app .pagination-ellipsis {\n font-size: 1em;\n padding-left: 0.5em;\n padding-right: 0.5em;\n -ms-flex-pack: center;\n justify-content: center;\n margin: 0.25rem;\n text-align: center; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link {\n border-color: #dbdbdb;\n color: #363636;\n min-width: 2.25em; }\n #optimole-app .pagination-previous:hover,\n #optimole-app .pagination-next:hover,\n #optimole-app .pagination-link:hover {\n border-color: #b5b5b5;\n color: #363636; }\n #optimole-app .pagination-previous:focus,\n #optimole-app .pagination-next:focus,\n #optimole-app .pagination-link:focus {\n border-color: #3273dc; }\n #optimole-app .pagination-previous:active,\n #optimole-app .pagination-next:active,\n #optimole-app .pagination-link:active {\n box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }\n #optimole-app .pagination-previous[disabled],\n #optimole-app .pagination-next[disabled],\n #optimole-app .pagination-link[disabled] {\n background-color: #dbdbdb;\n border-color: #dbdbdb;\n box-shadow: none;\n color: #7a7a7a;\n opacity: 0.5; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next {\n padding-left: 0.75em;\n padding-right: 0.75em;\n white-space: nowrap; }\n #optimole-app .pagination-link.is-current {\n background-color: #3273dc;\n border-color: #3273dc;\n color: #fff; }\n #optimole-app .pagination-ellipsis {\n color: #b5b5b5;\n pointer-events: none; }\n #optimole-app .pagination-list {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n @media screen and (max-width: 768px) {\n #optimole-app .pagination {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .pagination-list li {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .pagination-list {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n -ms-flex-pack: start;\n justify-content: flex-start;\n -ms-flex-order: 1;\n order: 1; }\n #optimole-app .pagination-previous {\n -ms-flex-order: 2;\n order: 2; }\n #optimole-app .pagination-next {\n -ms-flex-order: 3;\n order: 3; }\n #optimole-app .pagination {\n -ms-flex-pack: justify;\n justify-content: space-between; }\n #optimole-app .pagination.is-centered .pagination-previous {\n -ms-flex-order: 1;\n order: 1; }\n #optimole-app .pagination.is-centered .pagination-list {\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-order: 2;\n order: 2; }\n #optimole-app .pagination.is-centered .pagination-next {\n -ms-flex-order: 3;\n order: 3; }\n #optimole-app .pagination.is-right .pagination-previous {\n -ms-flex-order: 1;\n order: 1; }\n #optimole-app .pagination.is-right .pagination-next {\n -ms-flex-order: 2;\n order: 2; }\n #optimole-app .pagination.is-right .pagination-list {\n -ms-flex-pack: end;\n justify-content: flex-end;\n -ms-flex-order: 3;\n order: 3; } }\n #optimole-app .panel {\n font-size: 1rem; }\n #optimole-app .panel:not(:last-child) {\n margin-bottom: 1.5rem; }\n #optimole-app .panel-heading,\n #optimole-app .panel-tabs,\n #optimole-app .panel-block {\n border-bottom: 1px solid #dbdbdb;\n border-left: 1px solid #dbdbdb;\n border-right: 1px solid #dbdbdb; }\n #optimole-app .panel-heading:first-child,\n #optimole-app .panel-tabs:first-child,\n #optimole-app .panel-block:first-child {\n border-top: 1px solid #dbdbdb; }\n #optimole-app .panel-heading {\n background-color: whitesmoke;\n border-radius: 4px 4px 0 0;\n color: #363636;\n font-size: 1.25em;\n font-weight: 300;\n line-height: 1.25;\n padding: 0.5em 0.75em; }\n #optimole-app .panel-tabs {\n -ms-flex-align: end;\n align-items: flex-end;\n display: -ms-flexbox;\n display: flex;\n font-size: 0.875em;\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .panel-tabs a {\n border-bottom: 1px solid #dbdbdb;\n margin-bottom: -1px;\n padding: 0.5em; }\n #optimole-app .panel-tabs a.is-active {\n border-bottom-color: #4a4a4a;\n color: #363636; }\n #optimole-app .panel-list a {\n color: #4a4a4a; }\n #optimole-app .panel-list a:hover {\n color: #3273dc; }\n #optimole-app .panel-block {\n -ms-flex-align: center;\n align-items: center;\n color: #363636;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: start;\n justify-content: flex-start;\n padding: 0.5em 0.75em; }\n #optimole-app .panel-block input[type=\"checkbox\"] {\n margin-right: 0.75em; }\n #optimole-app .panel-block > .control {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n width: 100%; }\n #optimole-app .panel-block.is-wrapped {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n #optimole-app .panel-block.is-active {\n border-left-color: #3273dc;\n color: #363636; }\n #optimole-app .panel-block.is-active .panel-icon {\n color: #3273dc; }\n #optimole-app a.panel-block,\n #optimole-app label.panel-block {\n cursor: pointer; }\n #optimole-app a.panel-block:hover,\n #optimole-app label.panel-block:hover {\n background-color: whitesmoke; }\n #optimole-app .panel-icon {\n display: inline-block;\n font-size: 14px;\n height: 1em;\n line-height: 1em;\n text-align: center;\n vertical-align: top;\n width: 1em;\n color: #7a7a7a;\n margin-right: 0.75em; }\n #optimole-app .panel-icon .fa {\n font-size: inherit;\n line-height: inherit; }\n #optimole-app .tabs {\n -webkit-overflow-scrolling: touch;\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n font-size: 1rem;\n -ms-flex-pack: justify;\n justify-content: space-between;\n overflow: hidden;\n overflow-x: auto;\n white-space: nowrap; }\n #optimole-app .tabs a {\n -ms-flex-align: center;\n align-items: center;\n border-bottom-color: #dbdbdb;\n border-bottom-style: solid;\n border-bottom-width: 1px;\n color: #4a4a4a;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: -1px;\n padding: 0.5em 1em;\n vertical-align: top; }\n #optimole-app .tabs a:hover {\n border-bottom-color: #363636;\n color: #363636; }\n #optimole-app .tabs li {\n display: block; }\n #optimole-app .tabs li.is-active a {\n border-bottom-color: #3273dc;\n color: #3273dc; }\n #optimole-app .tabs ul {\n -ms-flex-align: center;\n align-items: center;\n border-bottom-color: #dbdbdb;\n border-bottom-style: solid;\n border-bottom-width: 1px;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .tabs ul.is-left {\n padding-right: 0.75em; }\n #optimole-app .tabs ul.is-center {\n -ms-flex: none;\n flex: none;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0.75em;\n padding-right: 0.75em; }\n #optimole-app .tabs ul.is-right {\n -ms-flex-pack: end;\n justify-content: flex-end;\n padding-left: 0.75em; }\n #optimole-app .tabs .icon:first-child {\n margin-right: 0.5em; }\n #optimole-app .tabs .icon:last-child {\n margin-left: 0.5em; }\n #optimole-app .tabs.is-centered ul {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .tabs.is-right ul {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .tabs.is-boxed a {\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0; }\n #optimole-app .tabs.is-boxed a:hover {\n background-color: whitesmoke;\n border-bottom-color: #dbdbdb; }\n #optimole-app .tabs.is-boxed li.is-active a {\n background-color: white;\n border-color: #dbdbdb;\n border-bottom-color: transparent !important; }\n #optimole-app .tabs.is-fullwidth li {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .tabs.is-toggle a {\n border-color: #dbdbdb;\n border-style: solid;\n border-width: 1px;\n margin-bottom: 0;\n position: relative; }\n #optimole-app .tabs.is-toggle a:hover {\n background-color: whitesmoke;\n border-color: #b5b5b5;\n z-index: 2; }\n #optimole-app .tabs.is-toggle li + li {\n margin-left: -1px; }\n #optimole-app .tabs.is-toggle li:first-child a {\n border-radius: 4px 0 0 4px; }\n #optimole-app .tabs.is-toggle li:last-child a {\n border-radius: 0 4px 4px 0; }\n #optimole-app .tabs.is-toggle li.is-active a {\n background-color: #3273dc;\n border-color: #3273dc;\n color: #fff;\n z-index: 1; }\n #optimole-app .tabs.is-toggle ul {\n border-bottom: none; }\n #optimole-app .tabs.is-toggle.is-toggle-rounded li:first-child a {\n border-bottom-left-radius: 290486px;\n border-top-left-radius: 290486px;\n padding-left: 1.25em; }\n #optimole-app .tabs.is-toggle.is-toggle-rounded li:last-child a {\n border-bottom-right-radius: 290486px;\n border-top-right-radius: 290486px;\n padding-right: 1.25em; }\n #optimole-app .tabs.is-small {\n font-size: 0.75rem; }\n #optimole-app .tabs.is-medium {\n font-size: 1.25rem; }\n #optimole-app .tabs.is-large {\n font-size: 1.5rem; }\n #optimole-app .column {\n display: block;\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n padding: 0.75rem; }\n .columns.is-mobile > #optimole-app .column.is-narrow {\n -ms-flex: none;\n flex: none; }\n .columns.is-mobile > #optimole-app .column.is-full {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n .columns.is-mobile > #optimole-app .column.is-three-quarters {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n .columns.is-mobile > #optimole-app .column.is-two-thirds {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n .columns.is-mobile > #optimole-app .column.is-half {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n .columns.is-mobile > #optimole-app .column.is-one-third {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n .columns.is-mobile > #optimole-app .column.is-one-quarter {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n .columns.is-mobile > #optimole-app .column.is-one-fifth {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n .columns.is-mobile > #optimole-app .column.is-two-fifths {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n .columns.is-mobile > #optimole-app .column.is-three-fifths {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n .columns.is-mobile > #optimole-app .column.is-four-fifths {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n .columns.is-mobile > #optimole-app .column.is-offset-three-quarters {\n margin-left: 75%; }\n .columns.is-mobile > #optimole-app .column.is-offset-two-thirds {\n margin-left: 66.6666%; }\n .columns.is-mobile > #optimole-app .column.is-offset-half {\n margin-left: 50%; }\n .columns.is-mobile > #optimole-app .column.is-offset-one-third {\n margin-left: 33.3333%; }\n .columns.is-mobile > #optimole-app .column.is-offset-one-quarter {\n margin-left: 25%; }\n .columns.is-mobile > #optimole-app .column.is-offset-one-fifth {\n margin-left: 20%; }\n .columns.is-mobile > #optimole-app .column.is-offset-two-fifths {\n margin-left: 40%; }\n .columns.is-mobile > #optimole-app .column.is-offset-three-fifths {\n margin-left: 60%; }\n .columns.is-mobile > #optimole-app .column.is-offset-four-fifths {\n margin-left: 80%; }\n .columns.is-mobile > #optimole-app .column.is-1 {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n .columns.is-mobile > #optimole-app .column.is-offset-1 {\n margin-left: 8.33333%; }\n .columns.is-mobile > #optimole-app .column.is-2 {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n .columns.is-mobile > #optimole-app .column.is-offset-2 {\n margin-left: 16.66667%; }\n .columns.is-mobile > #optimole-app .column.is-3 {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n .columns.is-mobile > #optimole-app .column.is-offset-3 {\n margin-left: 25%; }\n .columns.is-mobile > #optimole-app .column.is-4 {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n .columns.is-mobile > #optimole-app .column.is-offset-4 {\n margin-left: 33.33333%; }\n .columns.is-mobile > #optimole-app .column.is-5 {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n .columns.is-mobile > #optimole-app .column.is-offset-5 {\n margin-left: 41.66667%; }\n .columns.is-mobile > #optimole-app .column.is-6 {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n .columns.is-mobile > #optimole-app .column.is-offset-6 {\n margin-left: 50%; }\n .columns.is-mobile > #optimole-app .column.is-7 {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n .columns.is-mobile > #optimole-app .column.is-offset-7 {\n margin-left: 58.33333%; }\n .columns.is-mobile > #optimole-app .column.is-8 {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n .columns.is-mobile > #optimole-app .column.is-offset-8 {\n margin-left: 66.66667%; }\n .columns.is-mobile > #optimole-app .column.is-9 {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n .columns.is-mobile > #optimole-app .column.is-offset-9 {\n margin-left: 75%; }\n .columns.is-mobile > #optimole-app .column.is-10 {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n .columns.is-mobile > #optimole-app .column.is-offset-10 {\n margin-left: 83.33333%; }\n .columns.is-mobile > #optimole-app .column.is-11 {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n .columns.is-mobile > #optimole-app .column.is-offset-11 {\n margin-left: 91.66667%; }\n .columns.is-mobile > #optimole-app .column.is-12 {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n .columns.is-mobile > #optimole-app .column.is-offset-12 {\n margin-left: 100%; }\n @media screen and (max-width: 768px) {\n #optimole-app .column.is-narrow-mobile {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full-mobile {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters-mobile {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds-mobile {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half-mobile {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third-mobile {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter-mobile {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth-mobile {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths-mobile {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths-mobile {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths-mobile {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters-mobile {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds-mobile {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half-mobile {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third-mobile {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter-mobile {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth-mobile {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths-mobile {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths-mobile {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths-mobile {\n margin-left: 80%; }\n #optimole-app .column.is-1-mobile {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1-mobile {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2-mobile {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2-mobile {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3-mobile {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3-mobile {\n margin-left: 25%; }\n #optimole-app .column.is-4-mobile {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4-mobile {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5-mobile {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5-mobile {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6-mobile {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6-mobile {\n margin-left: 50%; }\n #optimole-app .column.is-7-mobile {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7-mobile {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8-mobile {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8-mobile {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9-mobile {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9-mobile {\n margin-left: 75%; }\n #optimole-app .column.is-10-mobile {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10-mobile {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11-mobile {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11-mobile {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12-mobile {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12-mobile {\n margin-left: 100%; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .column.is-narrow, #optimole-app .column.is-narrow-tablet {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full, #optimole-app .column.is-full-tablet {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters, #optimole-app .column.is-three-quarters-tablet {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds, #optimole-app .column.is-two-thirds-tablet {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half, #optimole-app .column.is-half-tablet {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third, #optimole-app .column.is-one-third-tablet {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter, #optimole-app .column.is-one-quarter-tablet {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth, #optimole-app .column.is-one-fifth-tablet {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths, #optimole-app .column.is-two-fifths-tablet {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths, #optimole-app .column.is-three-fifths-tablet {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths, #optimole-app .column.is-four-fifths-tablet {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters, #optimole-app .column.is-offset-three-quarters-tablet {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds, #optimole-app .column.is-offset-two-thirds-tablet {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half, #optimole-app .column.is-offset-half-tablet {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third, #optimole-app .column.is-offset-one-third-tablet {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter, #optimole-app .column.is-offset-one-quarter-tablet {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth, #optimole-app .column.is-offset-one-fifth-tablet {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths, #optimole-app .column.is-offset-two-fifths-tablet {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths, #optimole-app .column.is-offset-three-fifths-tablet {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths, #optimole-app .column.is-offset-four-fifths-tablet {\n margin-left: 80%; }\n #optimole-app .column.is-1, #optimole-app .column.is-1-tablet {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1, #optimole-app .column.is-offset-1-tablet {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2, #optimole-app .column.is-2-tablet {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2, #optimole-app .column.is-offset-2-tablet {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3, #optimole-app .column.is-3-tablet {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3, #optimole-app .column.is-offset-3-tablet {\n margin-left: 25%; }\n #optimole-app .column.is-4, #optimole-app .column.is-4-tablet {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4, #optimole-app .column.is-offset-4-tablet {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5, #optimole-app .column.is-5-tablet {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5, #optimole-app .column.is-offset-5-tablet {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6, #optimole-app .column.is-6-tablet {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6, #optimole-app .column.is-offset-6-tablet {\n margin-left: 50%; }\n #optimole-app .column.is-7, #optimole-app .column.is-7-tablet {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7, #optimole-app .column.is-offset-7-tablet {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8, #optimole-app .column.is-8-tablet {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8, #optimole-app .column.is-offset-8-tablet {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9, #optimole-app .column.is-9-tablet {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9, #optimole-app .column.is-offset-9-tablet {\n margin-left: 75%; }\n #optimole-app .column.is-10, #optimole-app .column.is-10-tablet {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10, #optimole-app .column.is-offset-10-tablet {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11, #optimole-app .column.is-11-tablet {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11, #optimole-app .column.is-offset-11-tablet {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12, #optimole-app .column.is-12-tablet {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12, #optimole-app .column.is-offset-12-tablet {\n margin-left: 100%; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .column.is-narrow-touch {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full-touch {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters-touch {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds-touch {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half-touch {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third-touch {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter-touch {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth-touch {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths-touch {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths-touch {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths-touch {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters-touch {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds-touch {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half-touch {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third-touch {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter-touch {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth-touch {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths-touch {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths-touch {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths-touch {\n margin-left: 80%; }\n #optimole-app .column.is-1-touch {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1-touch {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2-touch {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2-touch {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3-touch {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3-touch {\n margin-left: 25%; }\n #optimole-app .column.is-4-touch {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4-touch {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5-touch {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5-touch {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6-touch {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6-touch {\n margin-left: 50%; }\n #optimole-app .column.is-7-touch {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7-touch {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8-touch {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8-touch {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9-touch {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9-touch {\n margin-left: 75%; }\n #optimole-app .column.is-10-touch {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10-touch {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11-touch {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11-touch {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12-touch {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12-touch {\n margin-left: 100%; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .column.is-narrow-desktop {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full-desktop {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters-desktop {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds-desktop {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half-desktop {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third-desktop {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter-desktop {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth-desktop {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths-desktop {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths-desktop {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths-desktop {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters-desktop {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds-desktop {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half-desktop {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third-desktop {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter-desktop {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth-desktop {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths-desktop {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths-desktop {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths-desktop {\n margin-left: 80%; }\n #optimole-app .column.is-1-desktop {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1-desktop {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2-desktop {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2-desktop {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3-desktop {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3-desktop {\n margin-left: 25%; }\n #optimole-app .column.is-4-desktop {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4-desktop {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5-desktop {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5-desktop {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6-desktop {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6-desktop {\n margin-left: 50%; }\n #optimole-app .column.is-7-desktop {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7-desktop {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8-desktop {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8-desktop {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9-desktop {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9-desktop {\n margin-left: 75%; }\n #optimole-app .column.is-10-desktop {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10-desktop {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11-desktop {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11-desktop {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12-desktop {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12-desktop {\n margin-left: 100%; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .column.is-narrow-widescreen {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full-widescreen {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters-widescreen {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds-widescreen {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half-widescreen {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third-widescreen {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter-widescreen {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth-widescreen {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths-widescreen {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths-widescreen {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths-widescreen {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters-widescreen {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds-widescreen {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half-widescreen {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third-widescreen {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter-widescreen {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth-widescreen {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths-widescreen {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths-widescreen {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths-widescreen {\n margin-left: 80%; }\n #optimole-app .column.is-1-widescreen {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1-widescreen {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2-widescreen {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2-widescreen {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3-widescreen {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3-widescreen {\n margin-left: 25%; }\n #optimole-app .column.is-4-widescreen {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4-widescreen {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5-widescreen {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5-widescreen {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6-widescreen {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6-widescreen {\n margin-left: 50%; }\n #optimole-app .column.is-7-widescreen {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7-widescreen {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8-widescreen {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8-widescreen {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9-widescreen {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9-widescreen {\n margin-left: 75%; }\n #optimole-app .column.is-10-widescreen {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10-widescreen {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11-widescreen {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11-widescreen {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12-widescreen {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12-widescreen {\n margin-left: 100%; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .column.is-narrow-fullhd {\n -ms-flex: none;\n flex: none; }\n #optimole-app .column.is-full-fullhd {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-three-quarters-fullhd {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-two-thirds-fullhd {\n -ms-flex: none;\n flex: none;\n width: 66.6666%; }\n #optimole-app .column.is-half-fullhd {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-one-third-fullhd {\n -ms-flex: none;\n flex: none;\n width: 33.3333%; }\n #optimole-app .column.is-one-quarter-fullhd {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-one-fifth-fullhd {\n -ms-flex: none;\n flex: none;\n width: 20%; }\n #optimole-app .column.is-two-fifths-fullhd {\n -ms-flex: none;\n flex: none;\n width: 40%; }\n #optimole-app .column.is-three-fifths-fullhd {\n -ms-flex: none;\n flex: none;\n width: 60%; }\n #optimole-app .column.is-four-fifths-fullhd {\n -ms-flex: none;\n flex: none;\n width: 80%; }\n #optimole-app .column.is-offset-three-quarters-fullhd {\n margin-left: 75%; }\n #optimole-app .column.is-offset-two-thirds-fullhd {\n margin-left: 66.6666%; }\n #optimole-app .column.is-offset-half-fullhd {\n margin-left: 50%; }\n #optimole-app .column.is-offset-one-third-fullhd {\n margin-left: 33.3333%; }\n #optimole-app .column.is-offset-one-quarter-fullhd {\n margin-left: 25%; }\n #optimole-app .column.is-offset-one-fifth-fullhd {\n margin-left: 20%; }\n #optimole-app .column.is-offset-two-fifths-fullhd {\n margin-left: 40%; }\n #optimole-app .column.is-offset-three-fifths-fullhd {\n margin-left: 60%; }\n #optimole-app .column.is-offset-four-fifths-fullhd {\n margin-left: 80%; }\n #optimole-app .column.is-1-fullhd {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .column.is-offset-1-fullhd {\n margin-left: 8.33333%; }\n #optimole-app .column.is-2-fullhd {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .column.is-offset-2-fullhd {\n margin-left: 16.66667%; }\n #optimole-app .column.is-3-fullhd {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .column.is-offset-3-fullhd {\n margin-left: 25%; }\n #optimole-app .column.is-4-fullhd {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .column.is-offset-4-fullhd {\n margin-left: 33.33333%; }\n #optimole-app .column.is-5-fullhd {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .column.is-offset-5-fullhd {\n margin-left: 41.66667%; }\n #optimole-app .column.is-6-fullhd {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .column.is-offset-6-fullhd {\n margin-left: 50%; }\n #optimole-app .column.is-7-fullhd {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .column.is-offset-7-fullhd {\n margin-left: 58.33333%; }\n #optimole-app .column.is-8-fullhd {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .column.is-offset-8-fullhd {\n margin-left: 66.66667%; }\n #optimole-app .column.is-9-fullhd {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .column.is-offset-9-fullhd {\n margin-left: 75%; }\n #optimole-app .column.is-10-fullhd {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .column.is-offset-10-fullhd {\n margin-left: 83.33333%; }\n #optimole-app .column.is-11-fullhd {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .column.is-offset-11-fullhd {\n margin-left: 91.66667%; }\n #optimole-app .column.is-12-fullhd {\n -ms-flex: none;\n flex: none;\n width: 100%; }\n #optimole-app .column.is-offset-12-fullhd {\n margin-left: 100%; } }\n #optimole-app .columns {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n margin-top: -0.75rem; }\n #optimole-app .columns:last-child {\n margin-bottom: -0.75rem; }\n #optimole-app .columns:not(:last-child) {\n margin-bottom: calc(1.5rem - 0.75rem); }\n #optimole-app .columns.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .columns.is-gapless {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0; }\n #optimole-app .columns.is-gapless > .column {\n margin: 0;\n padding: 0 !important; }\n #optimole-app .columns.is-gapless:not(:last-child) {\n margin-bottom: 1.5rem; }\n #optimole-app .columns.is-gapless:last-child {\n margin-bottom: 0; }\n #optimole-app .columns.is-mobile {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .columns.is-multiline {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n #optimole-app .columns.is-vcentered {\n -ms-flex-align: center;\n align-items: center; }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns:not(.is-desktop) {\n display: -ms-flexbox;\n display: flex; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-desktop {\n display: -ms-flexbox;\n display: flex; } }\n #optimole-app .columns.is-variable {\n --columnGap: 0.75rem;\n margin-left: calc(-1 * var(--columnGap));\n margin-right: calc(-1 * var(--columnGap)); }\n #optimole-app .columns.is-variable .column {\n padding-left: var(--columnGap);\n padding-right: var(--columnGap); }\n #optimole-app .columns.is-variable.is-0 {\n --columnGap: 0rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-0-mobile {\n --columnGap: 0rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-0-tablet {\n --columnGap: 0rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-0-tablet-only {\n --columnGap: 0rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-0-touch {\n --columnGap: 0rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-0-desktop {\n --columnGap: 0rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-0-desktop-only {\n --columnGap: 0rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-0-widescreen {\n --columnGap: 0rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-0-widescreen-only {\n --columnGap: 0rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-0-fullhd {\n --columnGap: 0rem; } }\n #optimole-app .columns.is-variable.is-1 {\n --columnGap: 0.25rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-1-mobile {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-1-tablet {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-1-tablet-only {\n --columnGap: 0.25rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-1-touch {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-1-desktop {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-1-desktop-only {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-1-widescreen {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-1-widescreen-only {\n --columnGap: 0.25rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-1-fullhd {\n --columnGap: 0.25rem; } }\n #optimole-app .columns.is-variable.is-2 {\n --columnGap: 0.5rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-2-mobile {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-2-tablet {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-2-tablet-only {\n --columnGap: 0.5rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-2-touch {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-2-desktop {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-2-desktop-only {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-2-widescreen {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-2-widescreen-only {\n --columnGap: 0.5rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-2-fullhd {\n --columnGap: 0.5rem; } }\n #optimole-app .columns.is-variable.is-3 {\n --columnGap: 0.75rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-3-mobile {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-3-tablet {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-3-tablet-only {\n --columnGap: 0.75rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-3-touch {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-3-desktop {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-3-desktop-only {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-3-widescreen {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-3-widescreen-only {\n --columnGap: 0.75rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-3-fullhd {\n --columnGap: 0.75rem; } }\n #optimole-app .columns.is-variable.is-4 {\n --columnGap: 1rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-4-mobile {\n --columnGap: 1rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-4-tablet {\n --columnGap: 1rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-4-tablet-only {\n --columnGap: 1rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-4-touch {\n --columnGap: 1rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-4-desktop {\n --columnGap: 1rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-4-desktop-only {\n --columnGap: 1rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-4-widescreen {\n --columnGap: 1rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-4-widescreen-only {\n --columnGap: 1rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-4-fullhd {\n --columnGap: 1rem; } }\n #optimole-app .columns.is-variable.is-5 {\n --columnGap: 1.25rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-5-mobile {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-5-tablet {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-5-tablet-only {\n --columnGap: 1.25rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-5-touch {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-5-desktop {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-5-desktop-only {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-5-widescreen {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-5-widescreen-only {\n --columnGap: 1.25rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-5-fullhd {\n --columnGap: 1.25rem; } }\n #optimole-app .columns.is-variable.is-6 {\n --columnGap: 1.5rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-6-mobile {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-6-tablet {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-6-tablet-only {\n --columnGap: 1.5rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-6-touch {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-6-desktop {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-6-desktop-only {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-6-widescreen {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-6-widescreen-only {\n --columnGap: 1.5rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-6-fullhd {\n --columnGap: 1.5rem; } }\n #optimole-app .columns.is-variable.is-7 {\n --columnGap: 1.75rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-7-mobile {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-7-tablet {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-7-tablet-only {\n --columnGap: 1.75rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-7-touch {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-7-desktop {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-7-desktop-only {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-7-widescreen {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-7-widescreen-only {\n --columnGap: 1.75rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-7-fullhd {\n --columnGap: 1.75rem; } }\n #optimole-app .columns.is-variable.is-8 {\n --columnGap: 2rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .columns.is-variable.is-8-mobile {\n --columnGap: 2rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .columns.is-variable.is-8-tablet {\n --columnGap: 2rem; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-8-tablet-only {\n --columnGap: 2rem; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .columns.is-variable.is-8-touch {\n --columnGap: 2rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .columns.is-variable.is-8-desktop {\n --columnGap: 2rem; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .columns.is-variable.is-8-desktop-only {\n --columnGap: 2rem; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .columns.is-variable.is-8-widescreen {\n --columnGap: 2rem; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .columns.is-variable.is-8-widescreen-only {\n --columnGap: 2rem; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .columns.is-variable.is-8-fullhd {\n --columnGap: 2rem; } }\n #optimole-app .tile {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: block;\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n min-height: -webkit-min-content;\n min-height: -moz-min-content;\n min-height: min-content; }\n #optimole-app .tile.is-ancestor {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n margin-top: -0.75rem; }\n #optimole-app .tile.is-ancestor:last-child {\n margin-bottom: -0.75rem; }\n #optimole-app .tile.is-ancestor:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .tile.is-child {\n margin: 0 !important; }\n #optimole-app .tile.is-parent {\n padding: 0.75rem; }\n #optimole-app .tile.is-vertical {\n -ms-flex-direction: column;\n flex-direction: column; }\n #optimole-app .tile.is-vertical > .tile.is-child:not(:last-child) {\n margin-bottom: 1.5rem !important; }\n @media screen and (min-width: 769px), print {\n #optimole-app .tile:not(.is-child) {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .tile.is-1 {\n -ms-flex: none;\n flex: none;\n width: 8.33333%; }\n #optimole-app .tile.is-2 {\n -ms-flex: none;\n flex: none;\n width: 16.66667%; }\n #optimole-app .tile.is-3 {\n -ms-flex: none;\n flex: none;\n width: 25%; }\n #optimole-app .tile.is-4 {\n -ms-flex: none;\n flex: none;\n width: 33.33333%; }\n #optimole-app .tile.is-5 {\n -ms-flex: none;\n flex: none;\n width: 41.66667%; }\n #optimole-app .tile.is-6 {\n -ms-flex: none;\n flex: none;\n width: 50%; }\n #optimole-app .tile.is-7 {\n -ms-flex: none;\n flex: none;\n width: 58.33333%; }\n #optimole-app .tile.is-8 {\n -ms-flex: none;\n flex: none;\n width: 66.66667%; }\n #optimole-app .tile.is-9 {\n -ms-flex: none;\n flex: none;\n width: 75%; }\n #optimole-app .tile.is-10 {\n -ms-flex: none;\n flex: none;\n width: 83.33333%; }\n #optimole-app .tile.is-11 {\n -ms-flex: none;\n flex: none;\n width: 91.66667%; }\n #optimole-app .tile.is-12 {\n -ms-flex: none;\n flex: none;\n width: 100%; } }\n #optimole-app .hero {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: justify;\n justify-content: space-between; }\n #optimole-app .hero .navbar {\n background: none; }\n #optimole-app .hero .tabs ul {\n border-bottom: none; }\n #optimole-app .hero.is-white {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .hero.is-white a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-white strong {\n color: inherit; }\n #optimole-app .hero.is-white .title {\n color: #0a0a0a; }\n #optimole-app .hero.is-white .subtitle {\n color: rgba(10, 10, 10, 0.9); }\n #optimole-app .hero.is-white .subtitle a:not(.button),\n #optimole-app .hero.is-white .subtitle strong {\n color: #0a0a0a; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-white .navbar-menu {\n background-color: white; } }\n #optimole-app .hero.is-white .navbar-item,\n #optimole-app .hero.is-white .navbar-link {\n color: rgba(10, 10, 10, 0.7); }\n #optimole-app .hero.is-white a.navbar-item:hover, #optimole-app .hero.is-white a.navbar-item.is-active,\n #optimole-app .hero.is-white .navbar-link:hover,\n #optimole-app .hero.is-white .navbar-link.is-active {\n background-color: #f2f2f2;\n color: #0a0a0a; }\n #optimole-app .hero.is-white .tabs a {\n color: #0a0a0a;\n opacity: 0.9; }\n #optimole-app .hero.is-white .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-white .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-white .tabs.is-boxed a, #optimole-app .hero.is-white .tabs.is-toggle a {\n color: #0a0a0a; }\n #optimole-app .hero.is-white .tabs.is-boxed a:hover, #optimole-app .hero.is-white .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-white .tabs.is-boxed li.is-active a, #optimole-app .hero.is-white .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-white .tabs.is-toggle li.is-active a, #optimole-app .hero.is-white .tabs.is-toggle li.is-active a:hover {\n background-color: #0a0a0a;\n border-color: #0a0a0a;\n color: white; }\n #optimole-app .hero.is-white.is-bold {\n background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-white.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); } }\n #optimole-app .hero.is-black {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .hero.is-black a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-black strong {\n color: inherit; }\n #optimole-app .hero.is-black .title {\n color: white; }\n #optimole-app .hero.is-black .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-black .subtitle a:not(.button),\n #optimole-app .hero.is-black .subtitle strong {\n color: white; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-black .navbar-menu {\n background-color: #0a0a0a; } }\n #optimole-app .hero.is-black .navbar-item,\n #optimole-app .hero.is-black .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-black a.navbar-item:hover, #optimole-app .hero.is-black a.navbar-item.is-active,\n #optimole-app .hero.is-black .navbar-link:hover,\n #optimole-app .hero.is-black .navbar-link.is-active {\n background-color: black;\n color: white; }\n #optimole-app .hero.is-black .tabs a {\n color: white;\n opacity: 0.9; }\n #optimole-app .hero.is-black .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-black .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-black .tabs.is-boxed a, #optimole-app .hero.is-black .tabs.is-toggle a {\n color: white; }\n #optimole-app .hero.is-black .tabs.is-boxed a:hover, #optimole-app .hero.is-black .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-black .tabs.is-boxed li.is-active a, #optimole-app .hero.is-black .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-black .tabs.is-toggle li.is-active a, #optimole-app .hero.is-black .tabs.is-toggle li.is-active a:hover {\n background-color: white;\n border-color: white;\n color: #0a0a0a; }\n #optimole-app .hero.is-black.is-bold {\n background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-black.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }\n #optimole-app .hero.is-light {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .hero.is-light a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-light strong {\n color: inherit; }\n #optimole-app .hero.is-light .title {\n color: #363636; }\n #optimole-app .hero.is-light .subtitle {\n color: rgba(54, 54, 54, 0.9); }\n #optimole-app .hero.is-light .subtitle a:not(.button),\n #optimole-app .hero.is-light .subtitle strong {\n color: #363636; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-light .navbar-menu {\n background-color: whitesmoke; } }\n #optimole-app .hero.is-light .navbar-item,\n #optimole-app .hero.is-light .navbar-link {\n color: rgba(54, 54, 54, 0.7); }\n #optimole-app .hero.is-light a.navbar-item:hover, #optimole-app .hero.is-light a.navbar-item.is-active,\n #optimole-app .hero.is-light .navbar-link:hover,\n #optimole-app .hero.is-light .navbar-link.is-active {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .hero.is-light .tabs a {\n color: #363636;\n opacity: 0.9; }\n #optimole-app .hero.is-light .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-light .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-light .tabs.is-boxed a, #optimole-app .hero.is-light .tabs.is-toggle a {\n color: #363636; }\n #optimole-app .hero.is-light .tabs.is-boxed a:hover, #optimole-app .hero.is-light .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-light .tabs.is-boxed li.is-active a, #optimole-app .hero.is-light .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-light .tabs.is-toggle li.is-active a, #optimole-app .hero.is-light .tabs.is-toggle li.is-active a:hover {\n background-color: #363636;\n border-color: #363636;\n color: whitesmoke; }\n #optimole-app .hero.is-light.is-bold {\n background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-light.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); } }\n #optimole-app .hero.is-dark {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-dark strong {\n color: inherit; }\n #optimole-app .hero.is-dark .title {\n color: whitesmoke; }\n #optimole-app .hero.is-dark .subtitle {\n color: rgba(245, 245, 245, 0.9); }\n #optimole-app .hero.is-dark .subtitle a:not(.button),\n #optimole-app .hero.is-dark .subtitle strong {\n color: whitesmoke; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-dark .navbar-menu {\n background-color: #363636; } }\n #optimole-app .hero.is-dark .navbar-item,\n #optimole-app .hero.is-dark .navbar-link {\n color: rgba(245, 245, 245, 0.7); }\n #optimole-app .hero.is-dark a.navbar-item:hover, #optimole-app .hero.is-dark a.navbar-item.is-active,\n #optimole-app .hero.is-dark .navbar-link:hover,\n #optimole-app .hero.is-dark .navbar-link.is-active {\n background-color: #292929;\n color: whitesmoke; }\n #optimole-app .hero.is-dark .tabs a {\n color: whitesmoke;\n opacity: 0.9; }\n #optimole-app .hero.is-dark .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-dark .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-dark .tabs.is-boxed a, #optimole-app .hero.is-dark .tabs.is-toggle a {\n color: whitesmoke; }\n #optimole-app .hero.is-dark .tabs.is-boxed a:hover, #optimole-app .hero.is-dark .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-dark .tabs.is-boxed li.is-active a, #optimole-app .hero.is-dark .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-dark .tabs.is-toggle li.is-active a, #optimole-app .hero.is-dark .tabs.is-toggle li.is-active a:hover {\n background-color: whitesmoke;\n border-color: whitesmoke;\n color: #363636; }\n #optimole-app .hero.is-dark.is-bold {\n background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-dark.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); } }\n #optimole-app .hero.is-primary {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-primary strong {\n color: inherit; }\n #optimole-app .hero.is-primary .title {\n color: #fff; }\n #optimole-app .hero.is-primary .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-primary .subtitle a:not(.button),\n #optimole-app .hero.is-primary .subtitle strong {\n color: #fff; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-primary .navbar-menu {\n background-color: #EF686B; } }\n #optimole-app .hero.is-primary .navbar-item,\n #optimole-app .hero.is-primary .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-primary a.navbar-item:hover, #optimole-app .hero.is-primary a.navbar-item.is-active,\n #optimole-app .hero.is-primary .navbar-link:hover,\n #optimole-app .hero.is-primary .navbar-link.is-active {\n background-color: #ed5154;\n color: #fff; }\n #optimole-app .hero.is-primary .tabs a {\n color: #fff;\n opacity: 0.9; }\n #optimole-app .hero.is-primary .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-primary .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-primary .tabs.is-boxed a, #optimole-app .hero.is-primary .tabs.is-toggle a {\n color: #fff; }\n #optimole-app .hero.is-primary .tabs.is-boxed a:hover, #optimole-app .hero.is-primary .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-primary .tabs.is-boxed li.is-active a, #optimole-app .hero.is-primary .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-primary .tabs.is-toggle li.is-active a, #optimole-app .hero.is-primary .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: #EF686B; }\n #optimole-app .hero.is-primary.is-bold {\n background-image: linear-gradient(141deg, #f52f54 0%, #EF686B 71%, #f58d7c 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-primary.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #f52f54 0%, #EF686B 71%, #f58d7c 100%); } }\n #optimole-app .hero.is-link {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .hero.is-link a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-link strong {\n color: inherit; }\n #optimole-app .hero.is-link .title {\n color: #fff; }\n #optimole-app .hero.is-link .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-link .subtitle a:not(.button),\n #optimole-app .hero.is-link .subtitle strong {\n color: #fff; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-link .navbar-menu {\n background-color: #3273dc; } }\n #optimole-app .hero.is-link .navbar-item,\n #optimole-app .hero.is-link .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-link a.navbar-item:hover, #optimole-app .hero.is-link a.navbar-item.is-active,\n #optimole-app .hero.is-link .navbar-link:hover,\n #optimole-app .hero.is-link .navbar-link.is-active {\n background-color: #2366d1;\n color: #fff; }\n #optimole-app .hero.is-link .tabs a {\n color: #fff;\n opacity: 0.9; }\n #optimole-app .hero.is-link .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-link .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-link .tabs.is-boxed a, #optimole-app .hero.is-link .tabs.is-toggle a {\n color: #fff; }\n #optimole-app .hero.is-link .tabs.is-boxed a:hover, #optimole-app .hero.is-link .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-link .tabs.is-boxed li.is-active a, #optimole-app .hero.is-link .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-link .tabs.is-toggle li.is-active a, #optimole-app .hero.is-link .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: #3273dc; }\n #optimole-app .hero.is-link.is-bold {\n background-image: linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-link.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%); } }\n #optimole-app .hero.is-info {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .hero.is-info a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-info strong {\n color: inherit; }\n #optimole-app .hero.is-info .title {\n color: #fff; }\n #optimole-app .hero.is-info .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-info .subtitle a:not(.button),\n #optimole-app .hero.is-info .subtitle strong {\n color: #fff; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-info .navbar-menu {\n background-color: #5180C1; } }\n #optimole-app .hero.is-info .navbar-item,\n #optimole-app .hero.is-info .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-info a.navbar-item:hover, #optimole-app .hero.is-info a.navbar-item.is-active,\n #optimole-app .hero.is-info .navbar-link:hover,\n #optimole-app .hero.is-info .navbar-link.is-active {\n background-color: #4173b7;\n color: #fff; }\n #optimole-app .hero.is-info .tabs a {\n color: #fff;\n opacity: 0.9; }\n #optimole-app .hero.is-info .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-info .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-info .tabs.is-boxed a, #optimole-app .hero.is-info .tabs.is-toggle a {\n color: #fff; }\n #optimole-app .hero.is-info .tabs.is-boxed a:hover, #optimole-app .hero.is-info .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-info .tabs.is-boxed li.is-active a, #optimole-app .hero.is-info .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-info .tabs.is-toggle li.is-active a, #optimole-app .hero.is-info .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: #5180C1; }\n #optimole-app .hero.is-info.is-bold {\n background-image: linear-gradient(141deg, #2f7bb0 0%, #5180C1 71%, #5f7acd 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-info.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #2f7bb0 0%, #5180C1 71%, #5f7acd 100%); } }\n #optimole-app .hero.is-success {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .hero.is-success a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-success strong {\n color: inherit; }\n #optimole-app .hero.is-success .title {\n color: #fff; }\n #optimole-app .hero.is-success .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-success .subtitle a:not(.button),\n #optimole-app .hero.is-success .subtitle strong {\n color: #fff; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-success .navbar-menu {\n background-color: #34a85e; } }\n #optimole-app .hero.is-success .navbar-item,\n #optimole-app .hero.is-success .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-success a.navbar-item:hover, #optimole-app .hero.is-success a.navbar-item.is-active,\n #optimole-app .hero.is-success .navbar-link:hover,\n #optimole-app .hero.is-success .navbar-link.is-active {\n background-color: #2e9553;\n color: #fff; }\n #optimole-app .hero.is-success .tabs a {\n color: #fff;\n opacity: 0.9; }\n #optimole-app .hero.is-success .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-success .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-success .tabs.is-boxed a, #optimole-app .hero.is-success .tabs.is-toggle a {\n color: #fff; }\n #optimole-app .hero.is-success .tabs.is-boxed a:hover, #optimole-app .hero.is-success .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-success .tabs.is-boxed li.is-active a, #optimole-app .hero.is-success .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-success .tabs.is-toggle li.is-active a, #optimole-app .hero.is-success .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: #34a85e; }\n #optimole-app .hero.is-success.is-bold {\n background-image: linear-gradient(141deg, #1f8a34 0%, #34a85e 71%, #34c27f 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-success.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #1f8a34 0%, #34a85e 71%, #34c27f 100%); } }\n #optimole-app .hero.is-warning {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-warning strong {\n color: inherit; }\n #optimole-app .hero.is-warning .title {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .hero.is-warning .subtitle {\n color: rgba(0, 0, 0, 0.9); }\n #optimole-app .hero.is-warning .subtitle a:not(.button),\n #optimole-app .hero.is-warning .subtitle strong {\n color: rgba(0, 0, 0, 0.7); }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-warning .navbar-menu {\n background-color: #ffdd57; } }\n #optimole-app .hero.is-warning .navbar-item,\n #optimole-app .hero.is-warning .navbar-link {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .hero.is-warning a.navbar-item:hover, #optimole-app .hero.is-warning a.navbar-item.is-active,\n #optimole-app .hero.is-warning .navbar-link:hover,\n #optimole-app .hero.is-warning .navbar-link.is-active {\n background-color: #ffd83d;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .hero.is-warning .tabs a {\n color: rgba(0, 0, 0, 0.7);\n opacity: 0.9; }\n #optimole-app .hero.is-warning .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-warning .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-warning .tabs.is-boxed a, #optimole-app .hero.is-warning .tabs.is-toggle a {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .hero.is-warning .tabs.is-boxed a:hover, #optimole-app .hero.is-warning .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-warning .tabs.is-boxed li.is-active a, #optimole-app .hero.is-warning .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-warning .tabs.is-toggle li.is-active a, #optimole-app .hero.is-warning .tabs.is-toggle li.is-active a:hover {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: rgba(0, 0, 0, 0.7);\n color: #ffdd57; }\n #optimole-app .hero.is-warning.is-bold {\n background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-warning.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); } }\n #optimole-app .hero.is-danger {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag),\n #optimole-app .hero.is-danger strong {\n color: inherit; }\n #optimole-app .hero.is-danger .title {\n color: #fff; }\n #optimole-app .hero.is-danger .subtitle {\n color: rgba(255, 255, 255, 0.9); }\n #optimole-app .hero.is-danger .subtitle a:not(.button),\n #optimole-app .hero.is-danger .subtitle strong {\n color: #fff; }\n @media screen and (max-width: 1087px) {\n #optimole-app .hero.is-danger .navbar-menu {\n background-color: #D54222; } }\n #optimole-app .hero.is-danger .navbar-item,\n #optimole-app .hero.is-danger .navbar-link {\n color: rgba(255, 255, 255, 0.7); }\n #optimole-app .hero.is-danger a.navbar-item:hover, #optimole-app .hero.is-danger a.navbar-item.is-active,\n #optimole-app .hero.is-danger .navbar-link:hover,\n #optimole-app .hero.is-danger .navbar-link.is-active {\n background-color: #bf3b1e;\n color: #fff; }\n #optimole-app .hero.is-danger .tabs a {\n color: #fff;\n opacity: 0.9; }\n #optimole-app .hero.is-danger .tabs a:hover {\n opacity: 1; }\n #optimole-app .hero.is-danger .tabs li.is-active a {\n opacity: 1; }\n #optimole-app .hero.is-danger .tabs.is-boxed a, #optimole-app .hero.is-danger .tabs.is-toggle a {\n color: #fff; }\n #optimole-app .hero.is-danger .tabs.is-boxed a:hover, #optimole-app .hero.is-danger .tabs.is-toggle a:hover {\n background-color: rgba(10, 10, 10, 0.1); }\n #optimole-app .hero.is-danger .tabs.is-boxed li.is-active a, #optimole-app .hero.is-danger .tabs.is-boxed li.is-active a:hover, #optimole-app .hero.is-danger .tabs.is-toggle li.is-active a, #optimole-app .hero.is-danger .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: #D54222; }\n #optimole-app .hero.is-danger.is-bold {\n background-image: linear-gradient(141deg, #b31311 0%, #D54222 71%, #e46c2c 100%); }\n @media screen and (max-width: 768px) {\n #optimole-app .hero.is-danger.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #b31311 0%, #D54222 71%, #e46c2c 100%); } }\n #optimole-app .hero.is-small .hero-body {\n padding-bottom: 1.5rem;\n padding-top: 1.5rem; }\n @media screen and (min-width: 769px), print {\n #optimole-app .hero.is-medium .hero-body {\n padding-bottom: 9rem;\n padding-top: 9rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .hero.is-large .hero-body {\n padding-bottom: 18rem;\n padding-top: 18rem; } }\n #optimole-app .hero.is-halfheight .hero-body, #optimole-app .hero.is-fullheight .hero-body, #optimole-app .hero.is-fullheight-with-navbar .hero-body {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .hero.is-halfheight .hero-body > .container, #optimole-app .hero.is-fullheight .hero-body > .container, #optimole-app .hero.is-fullheight-with-navbar .hero-body > .container {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .hero.is-halfheight {\n min-height: 50vh; }\n #optimole-app .hero.is-fullheight {\n min-height: 100vh; }\n #optimole-app .hero-video {\n overflow: hidden; }\n #optimole-app .hero-video video {\n left: 50%;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n top: 50%;\n transform: translate3d(-50%, -50%, 0); }\n #optimole-app .hero-video.is-transparent {\n opacity: 0.3; }\n @media screen and (max-width: 768px) {\n #optimole-app .hero-video {\n display: none; } }\n #optimole-app .hero-buttons {\n margin-top: 1.5rem; }\n @media screen and (max-width: 768px) {\n #optimole-app .hero-buttons .button {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .hero-buttons .button:not(:last-child) {\n margin-bottom: 0.75rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .hero-buttons {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .hero-buttons .button:not(:last-child) {\n margin-right: 1.5rem; } }\n #optimole-app .hero-head,\n #optimole-app .hero-foot {\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .hero-body {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n padding: 3rem 1.5rem; }\n #optimole-app .section {\n padding: 3rem 1.5rem; }\n @media screen and (min-width: 1088px) {\n #optimole-app .section.is-medium {\n padding: 9rem 1.5rem; }\n #optimole-app .section.is-large {\n padding: 18rem 1.5rem; } }\n #optimole-app .footer {\n background-color: #fafafa;\n padding: 3rem 1.5rem 6rem; }\n #optimole-app .card {\n transition: all 750ms ease-in-out;\n border: 0;\n border-radius: .1875rem;\n box-shadow: 0 1px 15px 1px rgba(39, 39, 39, 0.1); }\n #optimole-app .logo {\n margin-bottom: 10px; }\n #optimole-app .logo img {\n max-width: 180px;\n margin: 0 auto; }\n #optimole-app .vue-js-switch {\n -ms-flex-item-align: center;\n -ms-grid-row-align: center;\n align-self: center; }\n #optimole-app .api-key-control {\n padding: 0; }\n #optimole-app .api-key-field .button.is-danger {\n padding-left: 20px;\n padding-right: 20px; }\n #optimole-app .api-key-label {\n -ms-flex-item-align: center;\n -ms-grid-row-align: center;\n align-self: center;\n margin: 0.5em 10px 0.5em 0;\n font-size: 1em; }\n #optimole-app .header {\n padding: 0 1.5rem 0; }\n #optimole-app .header.level {\n margin-bottom: 0; }\n #optimole-app .account img {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px; }\n #optimole-app .account .label {\n margin-bottom: 0; }\n #optimole-app .optimized-images table td, #optimole-app .optimized-images table th {\n vertical-align: middle; }\n #optimole-app .media-diff {\n position: relative;\n margin: 0 auto; }\n #optimole-app .media-diff video, #optimole-app .media-diff img {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n #optimole-app .origin-wrapper {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n z-index: 1;\n transform: translateZ(0);\n will-change: width; }\n #optimole-app .handle {\n position: absolute;\n top: 0;\n bottom: 0;\n color: rgba(255, 255, 255, 0.8);\n background-color: rgba(255, 255, 255, 0.8);\n width: 2px;\n cursor: ew-resize;\n transform: translateX(-50%) translateZ(0);\n z-index: 2;\n will-change: left;\n left: 200px; }\n #optimole-app .cursor {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateZ(0); }\n #optimole-app .cursor .circle {\n background-color: rgba(255, 255, 255, 0.8);\n width: 24px;\n height: 24px;\n border-radius: 50%; }\n #optimole-app .no-padding-right {\n padding-right: 0px !important; }\n\n.fade-enter-active, .fade-leave-active {\n transition: opacity .5s; }\n\n.fade-enter, .fade-leave-to {\n opacity: 0; }\n\n.media_page_optimole #wpbody-content > * {\n display: none !important; }\n\n.media_page_optimole #wpbody-content > #optimole-app {\n display: block !important; }\n\n#optimole-app img.optml-image {\n float: left;\n max-width: 100px;\n width: auto;\n margin: auto; }\n\n#optimole-app img.optml-image-watermark {\n width: 50px; }\n\n.optml-ratio-feedback .emoji {\n font-size: 1.5em; }\n\n.optml-ratio-feedback {\n float: right;\n padding-right: 20px; }\n\n.optml-image-heading {\n text-align: left; }\n\nth.optml-image-ratio-heading {\n text-align: right !important;\n font-size: 150%; }\n\n@media screen and (max-width: 768px) {\n li:not(.is-active) > a > span:not(.icon) {\n visibility: hidden;\n position: absolute; }\n nav.tabs li:not(.is-active) {\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n .tabs .icon {\n margin-left: 0.5em; } }\n\n.tabs li {\n transition: flex-grow 1s ease;\n transition: flex-grow 1s ease, -ms-flex-positive 1s ease; }\n\n#optimole-app .tabs a {\n margin-bottom: -4px; }\n\n#optimole-app .optml-upgrade {\n min-width: 200px; }\n\n#optimole-app .is-tab.no-images {\n min-height: 400px; }\n\n#optimole-app .is-tab {\n min-height: 700px; }\n", ""]);
|
14438 |
|
14439 |
// exports
|
14440 |
|
14482 |
return {
|
14483 |
strings: optimoleDashboardApp.strings,
|
14484 |
home: optimoleDashboardApp.home_url,
|
14485 |
+
remove_images: optimoleDashboardApp.remove_latest_images === 'yes',
|
14486 |
fetchStatus: false,
|
14487 |
tab: 'dashboard'
|
14488 |
};
|
14522 |
// min-width: 200px;
|
14523 |
// }
|
14524 |
//
|
14525 |
+
// #optimole-app .is-tab.no-images{
|
14526 |
+
// min-height: 400px;
|
14527 |
+
// }
|
14528 |
// #optimole-app .is-tab {
|
14529 |
// min-height: 700px;
|
14530 |
// }
|
14565 |
// </ul>
|
14566 |
// </div>
|
14567 |
//
|
14568 |
+
// <div class="is-tab" v-if="tab === 'dashboard' " :class="remove_images ? 'no-images' : '' ">
|
14569 |
// <div class="notification is-success" v-if="strings.notice_just_activated.length > 0"
|
14570 |
// v-html="strings.notice_just_activated"></div>
|
14571 |
// <api-key-form></api-key-form>
|
14572 |
// <cdn-details v-if="this.$store.state.userData"></cdn-details>
|
14573 |
// <hr/>
|
14574 |
+
// <last-images :status="fetchStatus" v-if="! remove_images"></last-images>
|
14575 |
// </div>
|
14576 |
// <div class="is-tab" v-if=" tab === 'settings'">
|
14577 |
// <options></options>
|
14605 |
// <ul>
|
14606 |
// <li><span class="dashicons dashicons-yes"></span>{{strings.upgrade.reason_1}}</li>
|
14607 |
// <li><span class="dashicons dashicons-yes"></span>{{strings.upgrade.reason_2}}</li>
|
14608 |
+
// <li><span class="dashicons dashicons-yes"></span>{{strings.upgrade.reason_3}}</li>
|
14609 |
// </ul>
|
14610 |
// </div>
|
14611 |
// <div class="card-footer ">
|
14678 |
|
14679 |
|
14680 |
// module
|
14681 |
+
exports.push([module.i, "\r\n\t@media ( min-width: 769px ) {\r\n\t\t#optimole-app hr[_v-b80baa74] {\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\t}\r\n", ""]);
|
14682 |
|
14683 |
// exports
|
14684 |
|
15164 |
// <label v-if="isConnected"
|
15165 |
// class="label api-key-label has-text-grey-dark">{{strings.api_key_placeholder}}:</label>
|
15166 |
// <div class="control is-expanded api-key-control">
|
15167 |
+
// <input :type="isConnected ? 'password' : 'text'" :disabled="isConnected" name="api_key" class="input "
|
15168 |
// :class="validKey ? '' : 'is-danger'" :placeholder="strings.api_key_placeholder"
|
15169 |
// v-model="apiKey">
|
15170 |
// </div>
|
15171 |
// <div class="control">
|
15172 |
+
// <button v-if="! isConnected" class="button button is-success "
|
15173 |
// @click="connect" :class="{ 'is-loading' : this.$store.state.isConnecting }">
|
15174 |
// <span class="icon"><i class="dashicons dashicons-admin-plugins"></i></span>
|
15175 |
// <span>{{strings.connect_btn}}</span>
|
15176 |
// </button>
|
15177 |
+
// <button v-else class="button is-danger " @click="disconnect"
|
15178 |
// :class="{ 'is-loading' : this.$store.state.isConnecting }">
|
15179 |
// <span class="icon"><i class="dashicons dashicons-dismiss"></i></span>
|
15180 |
// <span>{{strings.disconnect_btn}}</span>
|
15231 |
/* 29 */
|
15232 |
/***/ (function(module, exports) {
|
15233 |
|
15234 |
+
module.exports = "\r\n\t<div>\r\n\t\t<div class=\"field has-addons api-key-field\">\r\n\t\t\t<label v-if=\"isConnected\"\r\n\t\t\t\t\tclass=\"label api-key-label has-text-grey-dark\">{{strings.api_key_placeholder}}:</label>\r\n\t\t\t<div class=\"control is-expanded api-key-control\">\r\n\t\t\t\t<input :type=\"isConnected ? 'password' : 'text'\" :disabled=\"isConnected\" name=\"api_key\" class=\"input \"\r\n\t\t\t\t\t\t:class=\"validKey ? '' : 'is-danger'\" :placeholder=\"strings.api_key_placeholder\"\r\n\t\t\t\t\t\tv-model=\"apiKey\">\r\n\t\t\t</div>\r\n\t\t\t<div class=\"control\">\r\n\t\t\t\t<button v-if=\"! isConnected\" class=\"button button is-success \"\r\n\t\t\t\t\t\t@click=\"connect\" :class=\"{ 'is-loading' : this.$store.state.isConnecting }\">\r\n\t\t\t\t\t<span class=\"icon\"><i class=\"dashicons dashicons-admin-plugins\"></i></span>\r\n\t\t\t\t\t<span>{{strings.connect_btn}}</span>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button v-else class=\"button is-danger \" @click=\"disconnect\"\r\n\t\t\t\t\t\t:class=\"{ 'is-loading' : this.$store.state.isConnecting }\">\r\n\t\t\t\t\t<span class=\"icon\"><i class=\"dashicons dashicons-dismiss\"></i></span>\r\n\t\t\t\t\t<span>{{strings.disconnect_btn}}</span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<p v-if=\"! validKey\" class=\"help is-danger\">\r\n\t\t\t{{strings.invalid_key}}\r\n\t\t</p>\r\n\t</div>\r\n";
|
15235 |
|
15236 |
/***/ }),
|
15237 |
/* 30 */
|
16287 |
|
16288 |
|
16289 |
// module
|
16290 |
+
exports.push([module.i, "\r\n\t.optml-layout-grid .grid-button.is-selected[_v-3fe3cec8] {\r\n\t\tbackground: #4a4a4a;\r\n\t}\r\n\t\r\n\t.optml-layout-grid .grid-button[_v-3fe3cec8] {\r\n\t\twidth: 50px;\r\n\t\theight: 50px;\r\n\t\tdisplay: inline-block;\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\t\tborder-radius: 9px;\r\n\t\tborder: 5px solid #4a4a4a;\r\n\t}\r\n\t\r\n\t.optml-layout-grid[_v-3fe3cec8] {\r\n\t\twidth: 200px;\r\n\t\t\r\n\t}\r\n\t#optimole-app .input.is-small.is-tiny[_v-3fe3cec8]{\r\n\t\twidth:60px;\r\n\t}\r\n", ""]);
|
16291 |
|
16292 |
// exports
|
16293 |
|
16750 |
|
16751 |
/*!
|
16752 |
* Name: vue-upload-component
|
16753 |
+
* Version: 2.8.19
|
16754 |
* Author: LianYue
|
16755 |
*/
|
16756 |
(function (global, factory) {
|
17169 |
}
|
17170 |
|
17171 |
/**
|
17172 |
+
* Gets the file name
|
17173 |
*/
|
17174 |
|
17175 |
}, {
|
17327 |
change: function change(e) {
|
17328 |
this.$parent.addInputFile(e.target);
|
17329 |
if (e.target.files) {
|
|
|
17330 |
e.target.value = '';
|
17331 |
+
if (!/safari/i.test(navigator.userAgent)) {
|
17332 |
+
e.target.type = '';
|
17333 |
+
e.target.type = 'file';
|
17334 |
+
}
|
17335 |
} else {
|
17336 |
// ie9 fix #219
|
17337 |
this.$destroy();
|
18854 |
/* 52 */
|
18855 |
/***/ (function(module, exports) {
|
18856 |
|
18857 |
+
module.exports = "\r\n\t<div class=\"columns is-desktop\">\r\n\t\t\r\n\t\t<div class=\"column \">\r\n\t\t\t<div class=\"card\">\r\n\t\t\t\t<app-header></app-header>\r\n\t\t\t\t<div class=\"card-content\">\r\n\t\t\t\t\t<div class=\"content\">\r\n\t\t\t\t\t\t<connect-layout v-if=\"! this.$store.state.connected\"></connect-layout>\r\n\t\t\t\t\t\t<transition name=\"fade\" mode=\"out-in\">\r\n\t\t\t\t\t\t\t<div v-if=\"this.$store.state.connected\">\r\n\t\t\t\t\t\t\t\t<div class=\"tabs is-left is-boxed is-medium\">\r\n\t\t\t\t\t\t\t\t\t<ul class=\"is-marginless\">\r\n\t\t\t\t\t\t\t\t\t\t<li :class=\"tab === 'dashboard' ? 'is-active' : ''\">\r\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"changeTab('dashboard')\" class=\"is-size-6-mobile\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"icon is-size-6-mobile is-size-6-tablet dashicons dashicons-admin-home\"></span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"is-size-6-mobile is-size-6-touch \">{{strings.dashboard_menu_item}}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<li :class=\"tab === 'settings' ? 'is-active' : ''\">\r\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"changeTab('settings')\" class=\"is-size-6-mobile \">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"icon is-size-6-mobile is-size-6-tablet dashicons dashicons-admin-settings\"></span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"is-size-6-mobile is-size-6-touch\">{{strings.settings_menu_item}}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t\t\t<li :class=\"tab === 'watermarks' ? 'is-active' : ''\">\r\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"changeTab('watermarks')\" class=\"is-size-6-mobile\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"icon is-size-6-mobile is-size-6-tablet dashicons dashicons-tag\"></span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"is-size-6-mobile is-size-6-touch\">{{strings.watermarks_menu_item}}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<div class=\"is-tab\" v-if=\"tab === 'dashboard' \" :class=\"remove_images ? 'no-images' : '' \">\r\n\t\t\t\t\t\t\t\t\t<div class=\"notification is-success\" v-if=\"strings.notice_just_activated.length > 0\"\r\n\t\t\t\t\t\t\t\t\t v-html=\"strings.notice_just_activated\"></div>\r\n\t\t\t\t\t\t\t\t\t<api-key-form></api-key-form>\r\n\t\t\t\t\t\t\t\t\t<cdn-details v-if=\"this.$store.state.userData\"></cdn-details>\r\n\t\t\t\t\t\t\t\t\t<hr/>\r\n\t\t\t\t\t\t\t\t\t<last-images :status=\"fetchStatus\" v-if=\"! remove_images\"></last-images>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"is-tab\" v-if=\" tab === 'settings'\">\r\n\t\t\t\t\t\t\t\t\t<options></options>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"is-tab\" v-if=\" tab === 'watermarks'\">\r\n\t\t\t\t\t\t\t\t\t<watermarks></watermarks>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</transition>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"level-right\">\r\n\t\t\t\t\t<p class=\"level-item\"><a href=\"https://optimole.com\" target=\"_blank\">Optimole\r\n\t\t\t\t\t\tv{{strings.version}}</a></p>\r\n\t\t\t\t\t<p class=\"level-item\"><a href=\"https://optimole.com/terms/\"\r\n\t\t\t\t\t target=\"_blank\">{{strings.terms_menu}}</a></p>\r\n\t\t\t\t\t<p class=\"level-item\"><a href=\"https://optimole.com/privacy-policy/\" target=\"_blank\">{{strings.privacy_menu}}</a>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<p class=\"level-item\"><a :href=\"'https://speedtest.optimole.com/?url=' + home \" target=\"_blank\">{{strings.testdrive_menu}}</a>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div v-if=\"this.$store.state.connected && this.$store.state.userData.plan === 'free' \" class=\"column is-narrow is-hidden-desktop-only is-hidden-tablet-only is-hidden-mobile\">\r\n\t\t\t<div class=\"card optml-upgrade\">\r\n\t\t\t\t<div class=\"card-header\">\r\n\t\t\t\t\t<h3 class=\"is-size-5 card-header-title\"><span class=\"dashicons dashicons-chart-line\"></span> {{strings.upgrade.title}}</h3>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"card-content\">\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li><span class=\"dashicons dashicons-yes\"></span>{{strings.upgrade.reason_1}}</li>\r\n\t\t\t\t\t\t<li><span class=\"dashicons dashicons-yes\"></span>{{strings.upgrade.reason_2}}</li>\r\n\t\t\t\t\t\t<li><span class=\"dashicons dashicons-yes\"></span>{{strings.upgrade.reason_3}}</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"card-footer \">\r\n\t\t\t\t\t<div class=\"card-footer-item\">\r\n\t\t\t\t\t<a href=\"https://optimole.com#pricing\" target=\"_blank\" class=\"button is-centered is-small is-success\"><span class=\"dashicons dashicons-external\"></span>{{strings.upgrade.cta}}</a>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n";
|
18858 |
|
18859 |
/***/ }),
|
18860 |
/* 53 */
|
assets/js/bundle.min.js
CHANGED
@@ -8,12 +8,12 @@ var _a=Object.freeze({}),za=Object.prototype.toString,Ca=h("slot,component",!0),
|
|
8 |
* https://github.com/pagekit/vue-resource
|
9 |
* Released under the MIT License.
|
10 |
*/
|
11 |
-
var st=2;o.reject=function(t){return new o(function(e,n){n(t)})},o.resolve=function(t){return new o(function(e,n){e(t)})},o.all=function(t){return new o(function(e,n){var i=0,a=[];0===t.length&&e(a);for(var r=0;r<t.length;r+=1)o.resolve(t[r]).then(function(n){return function(o){a[n]=o,(i+=1)===t.length&&e(a)}}(r),n)})},o.race=function(t){return new o(function(e,n){for(var i=0;i<t.length;i+=1)o.resolve(t[i]).then(e,n)})};var pt=o.prototype;pt.resolve=function(t){var e=this;if(e.state===st){if(t===e)throw new TypeError("Promise settled with itself.");var n=!1;try{var o=t&&t.then;if(null!==t&&"object"==typeof t&&"function"==typeof o)return void o.call(t,function(t){n||e.resolve(t),n=!0},function(t){n||e.reject(t),n=!0})}catch(t){return void(n||e.reject(t))}e.state=0,e.value=t,e.notify()}},pt.reject=function(t){var e=this;if(e.state===st){if(t===e)throw new TypeError("Promise settled with itself.");e.state=1,e.value=t,e.notify()}},pt.notify=function(){var t=this;p(function(){if(t.state!==st)for(;t.deferred.length;){var e=t.deferred.shift(),n=e[0],o=e[1],i=e[2],a=e[3];try{0===t.state?i("function"==typeof n?n.call(void 0,t.value):t.value):1===t.state&&("function"==typeof o?i(o.call(void 0,t.value)):a(t.value))}catch(t){a(t)}}})},pt.then=function(t,e){var n=this;return new o(function(o,i){n.deferred.push([t,e,o,i]),n.notify()})},pt.catch=function(t){return this.then(void 0,t)},"undefined"==typeof Promise&&(window.Promise=o),i.all=function(t,e){return new i(Promise.all(t),e)},i.resolve=function(t,e){return new i(Promise.resolve(t),e)},i.reject=function(t,e){return new i(Promise.reject(t),e)},i.race=function(t,e){return new i(Promise.race(t),e)};var lt=i.prototype;lt.bind=function(t){return this.context=t,this},lt.then=function(t,e){return t&&t.bind&&this.context&&(t=t.bind(this.context)),e&&e.bind&&this.context&&(e=e.bind(this.context)),new i(this.promise.then(t,e),this.context)},lt.catch=function(t){return t&&t.bind&&this.context&&(t=t.bind(this.context)),new i(this.promise.catch(t),this.context)},lt.finally=function(t){return this.then(function(e){return t.call(this),e},function(e){return t.call(this),Promise.reject(e)})};var ct,dt={},mt=dt.hasOwnProperty,ft=[],ut=ft.slice,ht=!1,bt="undefined"!=typeof window,vt=Array.isArray,gt=Object.assign||z;M.options={url:"",root:null,params:{}},M.transform={template:P,query:A,root:$},M.transforms=["template","query","root"],M.params=function(t){var e=[],n=encodeURIComponent;return e.add=function(t,e){u(e)&&(e=e()),null===e&&(e=""),this.push(n(t)+"="+n(e))},F(e,t),e.join("&").replace(/%20/g,"+")},M.parse=function(t){var e=document.createElement("a");return document.documentMode&&(e.href=t,t=e.href),e.href=t,{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",port:e.port,host:e.host,hostname:e.hostname,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):""}};var xt=bt&&"withCredentials"in new XMLHttpRequest,wt=function(t){var e=this;this.map={},y(t,function(t,n){return e.append(n,t)})};wt.prototype.has=function(t){return null!==Z(this.map,t)},wt.prototype.get=function(t){var e=this.map[Z(this.map,t)];return e?e.join():null},wt.prototype.getAll=function(t){return this.map[Z(this.map,t)]||[]},wt.prototype.set=function(t,e){this.map[tt(Z(this.map,t)||t)]=[l(e)]},wt.prototype.append=function(t,e){var n=this.map[Z(this.map,t)];n?n.push(l(e)):this.set(t,e)},wt.prototype.delete=function(t){delete this.map[Z(this.map,t)]},wt.prototype.deleteAll=function(){this.map={}},wt.prototype.forEach=function(t,e){var n=this;y(this.map,function(o,i){y(o,function(o){return t.call(e,o,i,n)})})};var yt=function(t,e){var n=e.url,o=e.headers,i=e.status,a=e.statusText;this.url=n,this.ok=i>=200&&i<300,this.status=i||0,this.statusText=a||"",this.headers=new wt(o),this.body=t,f(t)?this.bodyText=t:v(t)&&(this.bodyBlob=t,nt(t)&&(this.bodyText=et(t)))};yt.prototype.blob=function(){return x(this.bodyBlob)},yt.prototype.text=function(){return x(this.bodyText)},yt.prototype.json=function(){return x(this.text(),function(t){return JSON.parse(t)})},Object.defineProperty(yt.prototype,"data",{get:function(){return this.body},set:function(t){this.body=t}});var kt=function(t){this.body=null,this.params={},gt(this,t,{method:m(t.method||"GET")}),this.headers instanceof wt||(this.headers=new wt(this.headers))};kt.prototype.getUrl=function(){return M(this)},kt.prototype.getBody=function(){return this.body},kt.prototype.respondWith=function(t,e){return new yt(t,gt(e||{},{url:this.getUrl()}))};var _t={Accept:"application/json, text/plain, */*"},zt={"Content-Type":"application/json;charset=utf-8"};ot.options={},ot.headers={put:zt,post:zt,patch:zt,delete:zt,common:_t,custom:{}},ot.interceptor={before:W,method:K,jsonp:H,json:G,form:B,header:V,cors:R},ot.interceptors=["before","method","jsonp","json","form","header","cors"],["get","delete","head","jsonp"].forEach(function(t){ot[t]=function(e,n){return this(gt(n||{},{url:e,method:t}))}}),["post","put","patch"].forEach(function(t){ot[t]=function(e,n,o){return this(gt(o||{},{url:e,method:t,body:n}))}}),it.actions={get:{method:"GET"},save:{method:"POST"},query:{method:"GET"},update:{method:"PUT"},remove:{method:"DELETE"},delete:{method:"DELETE"}},"undefined"!=typeof window&&window.Vue&&window.Vue.use(rt),e.default=rt},function(t,e,n){"use strict";function o(t){return t&&t.__esModule?t:{default:t}}var i=n(3),a=o(i),r=n(10),s=o(r),p=n(53),l=o(p),c=n(58),d=o(c),m=n(59),f=o(m);a.default.use(f.default),a.default.use(d.default),window.addEventListener("load",function(){new a.default({el:"#optimole-app",store:l.default,components:{App:s.default}})})},function(t,e,n){(function(t){function o(t,e){this._id=t,this._clearFn=e}var i=void 0!==t&&t||"undefined"!=typeof self&&self||window,a=Function.prototype.apply;e.setTimeout=function(){return new o(a.call(setTimeout,i,arguments),clearTimeout)},e.setInterval=function(){return new o(a.call(setInterval,i,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(i,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(8),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(e,n(2))},function(t,e,n){(function(t,e){!function(t,n){"use strict";function o(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var o={callback:t,args:e};return l[p]=o,s(p),p++}function i(t){delete l[t]}function a(t){var e=t.callback,o=t.args;switch(o.length){case 0:e();break;case 1:e(o[0]);break;case 2:e(o[0],o[1]);break;case 3:e(o[0],o[1],o[2]);break;default:e.apply(n,o)}}function r(t){if(c)setTimeout(r,0,t);else{var e=l[t];if(e){c=!0;try{a(e)}finally{i(t),c=!1}}}}if(!t.setImmediate){var s,p=1,l={},c=!1,d=t.document,m=Object.getPrototypeOf&&Object.getPrototypeOf(t);m=m&&m.setTimeout?m:t,"[object process]"==={}.toString.call(t.process)?function(){s=function(t){e.nextTick(function(){r(t)})}}():function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?function(){var e="setImmediate$"+Math.random()+"$",n=function(n){n.source===t&&"string"==typeof n.data&&0===n.data.indexOf(e)&&r(+n.data.slice(e.length))};t.addEventListener?t.addEventListener("message",n,!1):t.attachEvent("onmessage",n),s=function(n){t.postMessage(e+n,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){r(t.data)},s=function(e){t.port2.postMessage(e)}}():d&&"onreadystatechange"in d.createElement("script")?function(){var t=d.documentElement;s=function(e){var n=d.createElement("script");n.onreadystatechange=function(){r(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():function(){s=function(t){setTimeout(r,0,t)}}(),m.setImmediate=o,m.clearImmediate=i}}("undefined"==typeof self?void 0===t?this:t:self)}).call(e,n(2),n(9))},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(t){if(c===setTimeout)return setTimeout(t,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(t,0);try{return c(t,0)}catch(e){try{return c.call(null,t,0)}catch(e){return c.call(this,t,0)}}}function a(t){if(d===clearTimeout)return clearTimeout(t);if((d===o||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(t);try{return d(t)}catch(e){try{return d.call(null,t)}catch(e){return d.call(this,t)}}}function r(){h&&f&&(h=!1,f.length?u=f.concat(u):b=-1,u.length&&s())}function s(){if(!h){var t=i(r);h=!0;for(var e=u.length;e;){for(f=u,u=[];++b<e;)f&&f[b].run();b=-1,e=u.length}f=null,h=!1,a(t)}}function p(t,e){this.fun=t,this.array=e}function l(){}var c,d,m=t.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:n}catch(t){c=n}try{d="function"==typeof clearTimeout?clearTimeout:o}catch(t){d=o}}();var f,u=[],h=!1,b=-1;m.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];u.push(new p(t,e)),1!==u.length||h||i(s)},p.prototype.run=function(){this.fun.apply(null,this.array)},m.title="browser",m.browser=!0,m.env={},m.argv=[],m.version="",m.versions={},m.on=l,m.addListener=l,m.once=l,m.off=l,m.removeListener=l,m.removeAllListeners=l,m.emit=l,m.prependListener=l,m.prependOnceListener=l,m.listeners=function(t){return[]},m.binding=function(t){throw new Error("process.binding is not supported")},m.cwd=function(){return"/"},m.chdir=function(t){throw new Error("process.chdir is not supported")},m.umask=function(){return 0}},function(t,e,n){var o,i;n(11),o=n(13),i=n(52),t.exports=o||{},t.exports.__esModule&&(t.exports=t.exports.default),i&&(("function"==typeof t.exports?t.exports.options:t.exports).template=i)},function(t,e,n){var o=n(12);"string"==typeof o&&(o=[[t.i,o,""]]);n(1)(o,{});o.locals&&(t.exports=o.locals)},function(t,e,n){e=t.exports=n(0)(),e.push([t.i,'#optimole-app {\n padding: 0 30px 0 20px;\n /*! bulma.io v0.7.4 | MIT License | github.com/jgthms/bulma */\n /*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */ }\n\n@keyframes spinAround {\n from {\n transform: rotate(0deg); }\n to {\n transform: rotate(359deg); } }\n #optimole-app .delete, #optimole-app .modal-close, #optimole-app .is-unselectable, #optimole-app .button, #optimole-app .file, #optimole-app .breadcrumb, #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link,\n #optimole-app .pagination-ellipsis, #optimole-app .tabs {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n #optimole-app .select:not(.is-multiple):not(.is-loading)::after, #optimole-app .navbar-link:not(.is-arrowless)::after {\n border: 3px solid transparent;\n border-radius: 2px;\n border-right: 0;\n border-top: 0;\n content: " ";\n display: block;\n height: 0.625em;\n margin-top: -0.4375em;\n pointer-events: none;\n position: absolute;\n top: 50%;\n transform: rotate(-45deg);\n transform-origin: center;\n width: 0.625em; }\n #optimole-app .box:not(:last-child), #optimole-app .content:not(:last-child), #optimole-app .notification:not(:last-child), #optimole-app .progress:not(:last-child), #optimole-app .table:not(:last-child), #optimole-app .table-container:not(:last-child), #optimole-app .title:not(:last-child),\n #optimole-app .subtitle:not(:last-child), #optimole-app .block:not(:last-child), #optimole-app .highlight:not(:last-child), #optimole-app .breadcrumb:not(:last-child), #optimole-app .level:not(:last-child), #optimole-app .list:not(:last-child), #optimole-app .message:not(:last-child), #optimole-app .tabs:not(:last-child) {\n margin-bottom: 1.5rem; }\n #optimole-app .delete, #optimole-app .modal-close {\n -moz-appearance: none;\n -webkit-appearance: none;\n background-color: rgba(10, 10, 10, 0.2);\n border: none;\n border-radius: 290486px;\n cursor: pointer;\n pointer-events: auto;\n display: inline-block;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n font-size: 0;\n height: 20px;\n max-height: 20px;\n max-width: 20px;\n min-height: 20px;\n min-width: 20px;\n outline: none;\n position: relative;\n vertical-align: top;\n width: 20px; }\n #optimole-app .delete::before, #optimole-app .modal-close::before, #optimole-app .delete::after, #optimole-app .modal-close::after {\n background-color: white;\n content: "";\n display: block;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translateX(-50%) translateY(-50%) rotate(45deg);\n transform-origin: center center; }\n #optimole-app .delete::before, #optimole-app .modal-close::before {\n height: 2px;\n width: 50%; }\n #optimole-app .delete::after, #optimole-app .modal-close::after {\n height: 50%;\n width: 2px; }\n #optimole-app .delete:hover, #optimole-app .modal-close:hover, #optimole-app .delete:focus, #optimole-app .modal-close:focus {\n background-color: rgba(10, 10, 10, 0.3); }\n #optimole-app .delete:active, #optimole-app .modal-close:active {\n background-color: rgba(10, 10, 10, 0.4); }\n #optimole-app .is-small.delete, #optimole-app .is-small.modal-close {\n height: 16px;\n max-height: 16px;\n max-width: 16px;\n min-height: 16px;\n min-width: 16px;\n width: 16px; }\n #optimole-app .is-medium.delete, #optimole-app .is-medium.modal-close {\n height: 24px;\n max-height: 24px;\n max-width: 24px;\n min-height: 24px;\n min-width: 24px;\n width: 24px; }\n #optimole-app .is-large.delete, #optimole-app .is-large.modal-close {\n height: 32px;\n max-height: 32px;\n max-width: 32px;\n min-height: 32px;\n min-width: 32px;\n width: 32px; }\n #optimole-app .button.is-loading::after, #optimole-app .select.is-loading::after, #optimole-app .control.is-loading::after, #optimole-app .loader {\n animation: spinAround 500ms infinite linear;\n border: 2px solid #dbdbdb;\n border-radius: 290486px;\n border-right-color: transparent;\n border-top-color: transparent;\n content: "";\n display: block;\n height: 1em;\n position: relative;\n width: 1em; }\n #optimole-app .is-overlay, #optimole-app .image.is-square img,\n #optimole-app .image.is-square .has-ratio, #optimole-app .image.is-1by1 img,\n #optimole-app .image.is-1by1 .has-ratio, #optimole-app .image.is-5by4 img,\n #optimole-app .image.is-5by4 .has-ratio, #optimole-app .image.is-4by3 img,\n #optimole-app .image.is-4by3 .has-ratio, #optimole-app .image.is-3by2 img,\n #optimole-app .image.is-3by2 .has-ratio, #optimole-app .image.is-5by3 img,\n #optimole-app .image.is-5by3 .has-ratio, #optimole-app .image.is-16by9 img,\n #optimole-app .image.is-16by9 .has-ratio, #optimole-app .image.is-2by1 img,\n #optimole-app .image.is-2by1 .has-ratio, #optimole-app .image.is-3by1 img,\n #optimole-app .image.is-3by1 .has-ratio, #optimole-app .image.is-4by5 img,\n #optimole-app .image.is-4by5 .has-ratio, #optimole-app .image.is-3by4 img,\n #optimole-app .image.is-3by4 .has-ratio, #optimole-app .image.is-2by3 img,\n #optimole-app .image.is-2by3 .has-ratio, #optimole-app .image.is-3by5 img,\n #optimole-app .image.is-3by5 .has-ratio, #optimole-app .image.is-9by16 img,\n #optimole-app .image.is-9by16 .has-ratio, #optimole-app .image.is-1by2 img,\n #optimole-app .image.is-1by2 .has-ratio, #optimole-app .image.is-1by3 img,\n #optimole-app .image.is-1by3 .has-ratio, #optimole-app .modal, #optimole-app .modal-background, #optimole-app .hero-video {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0; }\n #optimole-app .button, #optimole-app .input,\n #optimole-app .textarea, #optimole-app .select select, #optimole-app .file-cta,\n #optimole-app .file-name, #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link,\n #optimole-app .pagination-ellipsis {\n -moz-appearance: none;\n -webkit-appearance: none;\n -ms-flex-align: center;\n align-items: center;\n border: 1px solid transparent;\n border-radius: 4px;\n box-shadow: none;\n display: -ms-inline-flexbox;\n display: inline-flex;\n font-size: 1rem;\n height: 2.25em;\n -ms-flex-pack: start;\n justify-content: flex-start;\n line-height: 1.5;\n padding-bottom: calc(0.375em - 1px);\n padding-left: calc(0.625em - 1px);\n padding-right: calc(0.625em - 1px);\n padding-top: calc(0.375em - 1px);\n position: relative;\n vertical-align: top; }\n #optimole-app .button:focus, #optimole-app .input:focus,\n #optimole-app .textarea:focus, #optimole-app .select select:focus, #optimole-app .file-cta:focus,\n #optimole-app .file-name:focus, #optimole-app .pagination-previous:focus,\n #optimole-app .pagination-next:focus,\n #optimole-app .pagination-link:focus,\n #optimole-app .pagination-ellipsis:focus, #optimole-app .is-focused.button, #optimole-app .is-focused.input,\n #optimole-app .is-focused.textarea, #optimole-app .select select.is-focused, #optimole-app .is-focused.file-cta,\n #optimole-app .is-focused.file-name, #optimole-app .is-focused.pagination-previous,\n #optimole-app .is-focused.pagination-next,\n #optimole-app .is-focused.pagination-link,\n #optimole-app .is-focused.pagination-ellipsis, #optimole-app .button:active, #optimole-app .input:active,\n #optimole-app .textarea:active, #optimole-app .select select:active, #optimole-app .file-cta:active,\n #optimole-app .file-name:active, #optimole-app .pagination-previous:active,\n #optimole-app .pagination-next:active,\n #optimole-app .pagination-link:active,\n #optimole-app .pagination-ellipsis:active, #optimole-app .is-active.button, #optimole-app .is-active.input,\n #optimole-app .is-active.textarea, #optimole-app .select select.is-active, #optimole-app .is-active.file-cta,\n #optimole-app .is-active.file-name, #optimole-app .is-active.pagination-previous,\n #optimole-app .is-active.pagination-next,\n #optimole-app .is-active.pagination-link,\n #optimole-app .is-active.pagination-ellipsis {\n outline: none; }\n #optimole-app .button[disabled], #optimole-app .input[disabled],\n #optimole-app .textarea[disabled], #optimole-app .select select[disabled], #optimole-app .file-cta[disabled],\n #optimole-app .file-name[disabled], #optimole-app .pagination-previous[disabled],\n #optimole-app .pagination-next[disabled],\n #optimole-app .pagination-link[disabled],\n #optimole-app .pagination-ellipsis[disabled],\n fieldset[disabled] #optimole-app .button,\n fieldset[disabled] #optimole-app .input,\n fieldset[disabled] #optimole-app .textarea,\n fieldset[disabled] #optimole-app .select select,\n fieldset[disabled] #optimole-app .file-cta,\n fieldset[disabled] #optimole-app .file-name,\n fieldset[disabled] #optimole-app .pagination-previous,\n fieldset[disabled] #optimole-app .pagination-next,\n fieldset[disabled] #optimole-app .pagination-link,\n fieldset[disabled] #optimole-app .pagination-ellipsis {\n cursor: not-allowed; }\n #optimole-app html,\n #optimole-app body,\n #optimole-app p,\n #optimole-app ol,\n #optimole-app ul,\n #optimole-app li,\n #optimole-app dl,\n #optimole-app dt,\n #optimole-app dd,\n #optimole-app blockquote,\n #optimole-app figure,\n #optimole-app fieldset,\n #optimole-app legend,\n #optimole-app textarea,\n #optimole-app pre,\n #optimole-app iframe,\n #optimole-app hr,\n #optimole-app h1,\n #optimole-app h2,\n #optimole-app h3,\n #optimole-app h4,\n #optimole-app h5,\n #optimole-app h6 {\n margin: 0;\n padding: 0; }\n #optimole-app h1,\n #optimole-app h2,\n #optimole-app h3,\n #optimole-app h4,\n #optimole-app h5,\n #optimole-app h6 {\n font-size: 100%;\n font-weight: normal; }\n #optimole-app ul {\n list-style: none; }\n #optimole-app button,\n #optimole-app input,\n #optimole-app select,\n #optimole-app textarea {\n margin: 0; }\n #optimole-app html {\n box-sizing: border-box; }\n #optimole-app *, #optimole-app *::before, #optimole-app *::after {\n box-sizing: inherit; }\n #optimole-app img,\n #optimole-app embed,\n #optimole-app iframe,\n #optimole-app object,\n #optimole-app video {\n height: auto;\n max-width: 100%; }\n #optimole-app audio {\n max-width: 100%; }\n #optimole-app iframe {\n border: 0; }\n #optimole-app table {\n border-collapse: collapse;\n border-spacing: 0; }\n #optimole-app td,\n #optimole-app th {\n padding: 0;\n text-align: left; }\n #optimole-app html {\n background-color: white;\n font-size: 16px;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n min-width: 300px;\n overflow-x: hidden;\n overflow-y: scroll;\n text-rendering: optimizeLegibility;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n text-size-adjust: 100%; }\n #optimole-app article,\n #optimole-app aside,\n #optimole-app figure,\n #optimole-app footer,\n #optimole-app header,\n #optimole-app hgroup,\n #optimole-app section {\n display: block; }\n #optimole-app body,\n #optimole-app button,\n #optimole-app input,\n #optimole-app select,\n #optimole-app textarea {\n font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }\n #optimole-app code,\n #optimole-app pre {\n -moz-osx-font-smoothing: auto;\n -webkit-font-smoothing: auto;\n font-family: monospace; }\n #optimole-app body {\n color: #4a4a4a;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5; }\n #optimole-app a {\n color: #3273dc;\n cursor: pointer;\n text-decoration: none; }\n #optimole-app a strong {\n color: currentColor; }\n #optimole-app a:hover {\n color: #363636; }\n #optimole-app code {\n background-color: whitesmoke;\n color: #ff3860;\n font-size: 0.875em;\n font-weight: normal;\n padding: 0.25em 0.5em 0.25em; }\n #optimole-app hr {\n background-color: whitesmoke;\n border: none;\n display: block;\n height: 2px;\n margin: 1.5rem 0; }\n #optimole-app img {\n height: auto;\n max-width: 100%; }\n #optimole-app input[type="checkbox"],\n #optimole-app input[type="radio"] {\n vertical-align: baseline; }\n #optimole-app small {\n font-size: 0.875em; }\n #optimole-app span {\n font-style: inherit;\n font-weight: inherit; }\n #optimole-app strong {\n color: #363636;\n font-weight: 700; }\n #optimole-app fieldset {\n border: none; }\n #optimole-app pre {\n -webkit-overflow-scrolling: touch;\n background-color: whitesmoke;\n color: #4a4a4a;\n font-size: 0.875em;\n overflow-x: auto;\n padding: 1.25rem 1.5rem;\n white-space: pre;\n word-wrap: normal; }\n #optimole-app pre code {\n background-color: transparent;\n color: currentColor;\n font-size: 1em;\n padding: 0; }\n #optimole-app table td,\n #optimole-app table th {\n text-align: left;\n vertical-align: top; }\n #optimole-app table th {\n color: #363636; }\n #optimole-app .is-clearfix::after {\n clear: both;\n content: " ";\n display: table; }\n #optimole-app .is-pulled-left {\n float: left !important; }\n #optimole-app .is-pulled-right {\n float: right !important; }\n #optimole-app .is-clipped {\n overflow: hidden !important; }\n #optimole-app .is-size-1 {\n font-size: 3rem !important; }\n #optimole-app .is-size-2 {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3 {\n font-size: 2rem !important; }\n #optimole-app .is-size-4 {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5 {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6 {\n font-size: 1rem !important; }\n #optimole-app .is-size-7 {\n font-size: 0.75rem !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-size-1-mobile {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-mobile {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-mobile {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-mobile {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-mobile {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-mobile {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-mobile {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-size-1-tablet {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-tablet {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-tablet {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-tablet {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-tablet {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-tablet {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-tablet {\n font-size: 0.75rem !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-size-1-touch {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-touch {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-touch {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-touch {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-touch {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-touch {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-touch {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-size-1-desktop {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-desktop {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-desktop {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-desktop {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-desktop {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-desktop {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-desktop {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-size-1-widescreen {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-widescreen {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-widescreen {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-widescreen {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-widescreen {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-widescreen {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-widescreen {\n font-size: 0.75rem !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-size-1-fullhd {\n font-size: 3rem !important; }\n #optimole-app .is-size-2-fullhd {\n font-size: 2.5rem !important; }\n #optimole-app .is-size-3-fullhd {\n font-size: 2rem !important; }\n #optimole-app .is-size-4-fullhd {\n font-size: 1.5rem !important; }\n #optimole-app .is-size-5-fullhd {\n font-size: 1.25rem !important; }\n #optimole-app .is-size-6-fullhd {\n font-size: 1rem !important; }\n #optimole-app .is-size-7-fullhd {\n font-size: 0.75rem !important; } }\n #optimole-app .has-text-centered {\n text-align: center !important; }\n #optimole-app .has-text-justified {\n text-align: justify !important; }\n #optimole-app .has-text-left {\n text-align: left !important; }\n #optimole-app .has-text-right {\n text-align: right !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-centered-mobile {\n text-align: center !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-centered-tablet {\n text-align: center !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-centered-tablet-only {\n text-align: center !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-centered-touch {\n text-align: center !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-centered-desktop {\n text-align: center !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-centered-desktop-only {\n text-align: center !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-centered-widescreen {\n text-align: center !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-centered-widescreen-only {\n text-align: center !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-centered-fullhd {\n text-align: center !important; } }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-justified-mobile {\n text-align: justify !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-justified-tablet {\n text-align: justify !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-justified-tablet-only {\n text-align: justify !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-justified-touch {\n text-align: justify !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-justified-desktop {\n text-align: justify !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-justified-desktop-only {\n text-align: justify !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-justified-widescreen {\n text-align: justify !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-justified-widescreen-only {\n text-align: justify !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-justified-fullhd {\n text-align: justify !important; } }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-left-mobile {\n text-align: left !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-left-tablet {\n text-align: left !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-left-tablet-only {\n text-align: left !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-left-touch {\n text-align: left !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-left-desktop {\n text-align: left !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-left-desktop-only {\n text-align: left !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-left-widescreen {\n text-align: left !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-left-widescreen-only {\n text-align: left !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-left-fullhd {\n text-align: left !important; } }\n @media screen and (max-width: 768px) {\n #optimole-app .has-text-right-mobile {\n text-align: right !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .has-text-right-tablet {\n text-align: right !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .has-text-right-tablet-only {\n text-align: right !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .has-text-right-touch {\n text-align: right !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .has-text-right-desktop {\n text-align: right !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .has-text-right-desktop-only {\n text-align: right !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .has-text-right-widescreen {\n text-align: right !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .has-text-right-widescreen-only {\n text-align: right !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .has-text-right-fullhd {\n text-align: right !important; } }\n #optimole-app .is-capitalized {\n text-transform: capitalize !important; }\n #optimole-app .is-lowercase {\n text-transform: lowercase !important; }\n #optimole-app .is-uppercase {\n text-transform: uppercase !important; }\n #optimole-app .is-italic {\n font-style: italic !important; }\n #optimole-app .has-text-white {\n color: white !important; }\n #optimole-app a.has-text-white:hover, #optimole-app a.has-text-white:focus {\n color: #e6e6e6 !important; }\n #optimole-app .has-background-white {\n background-color: white !important; }\n #optimole-app .has-text-black {\n color: #0a0a0a !important; }\n #optimole-app a.has-text-black:hover, #optimole-app a.has-text-black:focus {\n color: black !important; }\n #optimole-app .has-background-black {\n background-color: #0a0a0a !important; }\n #optimole-app .has-text-light {\n color: whitesmoke !important; }\n #optimole-app a.has-text-light:hover, #optimole-app a.has-text-light:focus {\n color: #dbdbdb !important; }\n #optimole-app .has-background-light {\n background-color: whitesmoke !important; }\n #optimole-app .has-text-dark {\n color: #363636 !important; }\n #optimole-app a.has-text-dark:hover, #optimole-app a.has-text-dark:focus {\n color: #1c1c1c !important; }\n #optimole-app .has-background-dark {\n background-color: #363636 !important; }\n #optimole-app .has-text-primary {\n color: #EF686B !important; }\n #optimole-app a.has-text-primary:hover, #optimole-app a.has-text-primary:focus {\n color: #ea3a3e !important; }\n #optimole-app .has-background-primary {\n background-color: #EF686B !important; }\n #optimole-app .has-text-link {\n color: #3273dc !important; }\n #optimole-app a.has-text-link:hover, #optimole-app a.has-text-link:focus {\n color: #205bbc !important; }\n #optimole-app .has-background-link {\n background-color: #3273dc !important; }\n #optimole-app .has-text-info {\n color: #5180C1 !important; }\n #optimole-app a.has-text-info:hover, #optimole-app a.has-text-info:focus {\n color: #3b67a4 !important; }\n #optimole-app .has-background-info {\n background-color: #5180C1 !important; }\n #optimole-app .has-text-success {\n color: #34a85e !important; }\n #optimole-app a.has-text-success:hover, #optimole-app a.has-text-success:focus {\n color: #288148 !important; }\n #optimole-app .has-background-success {\n background-color: #34a85e !important; }\n #optimole-app .has-text-warning {\n color: #ffdd57 !important; }\n #optimole-app a.has-text-warning:hover, #optimole-app a.has-text-warning:focus {\n color: #ffd324 !important; }\n #optimole-app .has-background-warning {\n background-color: #ffdd57 !important; }\n #optimole-app .has-text-danger {\n color: #D54222 !important; }\n #optimole-app a.has-text-danger:hover, #optimole-app a.has-text-danger:focus {\n color: #a9341b !important; }\n #optimole-app .has-background-danger {\n background-color: #D54222 !important; }\n #optimole-app .has-text-black-bis {\n color: #121212 !important; }\n #optimole-app .has-background-black-bis {\n background-color: #121212 !important; }\n #optimole-app .has-text-black-ter {\n color: #242424 !important; }\n #optimole-app .has-background-black-ter {\n background-color: #242424 !important; }\n #optimole-app .has-text-grey-darker {\n color: #363636 !important; }\n #optimole-app .has-background-grey-darker {\n background-color: #363636 !important; }\n #optimole-app .has-text-grey-dark {\n color: #4a4a4a !important; }\n #optimole-app .has-background-grey-dark {\n background-color: #4a4a4a !important; }\n #optimole-app .has-text-grey {\n color: #7a7a7a !important; }\n #optimole-app .has-background-grey {\n background-color: #7a7a7a !important; }\n #optimole-app .has-text-grey-light {\n color: #b5b5b5 !important; }\n #optimole-app .has-background-grey-light {\n background-color: #b5b5b5 !important; }\n #optimole-app .has-text-grey-lighter {\n color: #dbdbdb !important; }\n #optimole-app .has-background-grey-lighter {\n background-color: #dbdbdb !important; }\n #optimole-app .has-text-white-ter {\n color: whitesmoke !important; }\n #optimole-app .has-background-white-ter {\n background-color: whitesmoke !important; }\n #optimole-app .has-text-white-bis {\n color: #fafafa !important; }\n #optimole-app .has-background-white-bis {\n background-color: #fafafa !important; }\n #optimole-app .has-text-weight-light {\n font-weight: 300 !important; }\n #optimole-app .has-text-weight-normal {\n font-weight: 400 !important; }\n #optimole-app .has-text-weight-semibold {\n font-weight: 600 !important; }\n #optimole-app .has-text-weight-bold {\n font-weight: 700 !important; }\n #optimole-app .is-family-primary {\n font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }\n #optimole-app .is-family-secondary {\n font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }\n #optimole-app .is-family-sans-serif {\n font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }\n #optimole-app .is-family-monospace {\n font-family: monospace !important; }\n #optimole-app .is-family-code {\n font-family: monospace !important; }\n #optimole-app .is-block {\n display: block !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-block-mobile {\n display: block !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-block-tablet {\n display: block !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-block-tablet-only {\n display: block !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-block-touch {\n display: block !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-block-desktop {\n display: block !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-block-desktop-only {\n display: block !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-block-widescreen {\n display: block !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-block-widescreen-only {\n display: block !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-block-fullhd {\n display: block !important; } }\n #optimole-app .is-flex {\n display: -ms-flexbox !important;\n display: flex !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-flex-mobile {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-flex-tablet {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-flex-tablet-only {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-flex-touch {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-flex-desktop {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-flex-desktop-only {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-flex-widescreen {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-flex-widescreen-only {\n display: -ms-flexbox !important;\n display: flex !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-flex-fullhd {\n display: -ms-flexbox !important;\n display: flex !important; } }\n #optimole-app .is-inline {\n display: inline !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-inline-mobile {\n display: inline !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-inline-tablet {\n display: inline !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-inline-tablet-only {\n display: inline !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-inline-touch {\n display: inline !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-inline-desktop {\n display: inline !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-inline-desktop-only {\n display: inline !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-inline-widescreen {\n display: inline !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-inline-widescreen-only {\n display: inline !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-inline-fullhd {\n display: inline !important; } }\n #optimole-app .is-inline-block {\n display: inline-block !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-inline-block-mobile {\n display: inline-block !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-inline-block-tablet {\n display: inline-block !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-inline-block-tablet-only {\n display: inline-block !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-inline-block-touch {\n display: inline-block !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-inline-block-desktop {\n display: inline-block !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-inline-block-desktop-only {\n display: inline-block !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-inline-block-widescreen {\n display: inline-block !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-inline-block-widescreen-only {\n display: inline-block !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-inline-block-fullhd {\n display: inline-block !important; } }\n #optimole-app .is-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-inline-flex-mobile {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-inline-flex-tablet {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-inline-flex-tablet-only {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-inline-flex-touch {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-inline-flex-desktop {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-inline-flex-desktop-only {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-inline-flex-widescreen {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-inline-flex-widescreen-only {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-inline-flex-fullhd {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important; } }\n #optimole-app .is-hidden {\n display: none !important; }\n #optimole-app .is-sr-only {\n border: none !important;\n clip: rect(0, 0, 0, 0) !important;\n height: 0.01em !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n white-space: nowrap !important;\n width: 0.01em !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-hidden-mobile {\n display: none !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-hidden-tablet {\n display: none !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-hidden-tablet-only {\n display: none !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-hidden-touch {\n display: none !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-hidden-desktop {\n display: none !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-hidden-desktop-only {\n display: none !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-hidden-widescreen {\n display: none !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-hidden-widescreen-only {\n display: none !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-hidden-fullhd {\n display: none !important; } }\n #optimole-app .is-invisible {\n visibility: hidden !important; }\n @media screen and (max-width: 768px) {\n #optimole-app .is-invisible-mobile {\n visibility: hidden !important; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .is-invisible-tablet {\n visibility: hidden !important; } }\n @media screen and (min-width: 769px) and (max-width: 1087px) {\n #optimole-app .is-invisible-tablet-only {\n visibility: hidden !important; } }\n @media screen and (max-width: 1087px) {\n #optimole-app .is-invisible-touch {\n visibility: hidden !important; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .is-invisible-desktop {\n visibility: hidden !important; } }\n @media screen and (min-width: 1088px) and (max-width: 1279px) {\n #optimole-app .is-invisible-desktop-only {\n visibility: hidden !important; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .is-invisible-widescreen {\n visibility: hidden !important; } }\n @media screen and (min-width: 1280px) and (max-width: 1471px) {\n #optimole-app .is-invisible-widescreen-only {\n visibility: hidden !important; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .is-invisible-fullhd {\n visibility: hidden !important; } }\n #optimole-app .is-marginless {\n margin: 0 !important; }\n #optimole-app .is-paddingless {\n padding: 0 !important; }\n #optimole-app .is-radiusless {\n border-radius: 0 !important; }\n #optimole-app .is-shadowless {\n box-shadow: none !important; }\n #optimole-app .box {\n background-color: white;\n border-radius: 6px;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n color: #4a4a4a;\n display: block;\n padding: 1.25rem; }\n #optimole-app a.box:hover, #optimole-app a.box:focus {\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #3273dc; }\n #optimole-app a.box:active {\n box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #3273dc; }\n #optimole-app .button {\n background-color: white;\n border-color: #dbdbdb;\n border-width: 1px;\n color: #363636;\n cursor: pointer;\n -ms-flex-pack: center;\n justify-content: center;\n padding-bottom: calc(0.375em - 1px);\n padding-left: 0.75em;\n padding-right: 0.75em;\n padding-top: calc(0.375em - 1px);\n text-align: center;\n white-space: nowrap; }\n #optimole-app .button strong {\n color: inherit; }\n #optimole-app .button .icon, #optimole-app .button .icon.is-small, #optimole-app .button .icon.is-medium, #optimole-app .button .icon.is-large {\n height: 1.5em;\n width: 1.5em; }\n #optimole-app .button .icon:first-child:not(:last-child) {\n margin-left: calc(-0.375em - 1px);\n margin-right: 0.1875em; }\n #optimole-app .button .icon:last-child:not(:first-child) {\n margin-left: 0.1875em;\n margin-right: calc(-0.375em - 1px); }\n #optimole-app .button .icon:first-child:last-child {\n margin-left: calc(-0.375em - 1px);\n margin-right: calc(-0.375em - 1px); }\n #optimole-app .button:hover, #optimole-app .button.is-hovered {\n border-color: #b5b5b5;\n color: #363636; }\n #optimole-app .button:focus, #optimole-app .button.is-focused {\n border-color: #3273dc;\n color: #363636; }\n #optimole-app .button:focus:not(:active), #optimole-app .button.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .button:active, #optimole-app .button.is-active {\n border-color: #4a4a4a;\n color: #363636; }\n #optimole-app .button.is-text {\n background-color: transparent;\n border-color: transparent;\n color: #4a4a4a;\n text-decoration: underline; }\n #optimole-app .button.is-text:hover, #optimole-app .button.is-text.is-hovered, #optimole-app .button.is-text:focus, #optimole-app .button.is-text.is-focused {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-text:active, #optimole-app .button.is-text.is-active {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .button.is-text[disabled],\n fieldset[disabled] #optimole-app .button.is-text {\n background-color: transparent;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-white {\n background-color: white;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white:hover, #optimole-app .button.is-white.is-hovered {\n background-color: #f9f9f9;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white:focus, #optimole-app .button.is-white.is-focused {\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white:focus:not(:active), #optimole-app .button.is-white.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }\n #optimole-app .button.is-white:active, #optimole-app .button.is-white.is-active {\n background-color: #f2f2f2;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .button.is-white[disabled],\n fieldset[disabled] #optimole-app .button.is-white {\n background-color: white;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-white.is-inverted {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .button.is-white.is-inverted:hover {\n background-color: black; }\n #optimole-app .button.is-white.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-white.is-inverted {\n background-color: #0a0a0a;\n border-color: transparent;\n box-shadow: none;\n color: white; }\n #optimole-app .button.is-white.is-loading::after {\n border-color: transparent transparent #0a0a0a #0a0a0a !important; }\n #optimole-app .button.is-white.is-outlined {\n background-color: transparent;\n border-color: white;\n color: white; }\n #optimole-app .button.is-white.is-outlined:hover, #optimole-app .button.is-white.is-outlined:focus {\n background-color: white;\n border-color: white;\n color: #0a0a0a; }\n #optimole-app .button.is-white.is-outlined.is-loading::after {\n border-color: transparent transparent white white !important; }\n #optimole-app .button.is-white.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-white.is-outlined {\n background-color: transparent;\n border-color: white;\n box-shadow: none;\n color: white; }\n #optimole-app .button.is-white.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #0a0a0a;\n color: #0a0a0a; }\n #optimole-app .button.is-white.is-inverted.is-outlined:hover, #optimole-app .button.is-white.is-inverted.is-outlined:focus {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .button.is-white.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-white.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #0a0a0a;\n box-shadow: none;\n color: #0a0a0a; }\n #optimole-app .button.is-black {\n background-color: #0a0a0a;\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black:hover, #optimole-app .button.is-black.is-hovered {\n background-color: #040404;\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black:focus, #optimole-app .button.is-black.is-focused {\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black:focus:not(:active), #optimole-app .button.is-black.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }\n #optimole-app .button.is-black:active, #optimole-app .button.is-black.is-active {\n background-color: black;\n border-color: transparent;\n color: white; }\n #optimole-app .button.is-black[disabled],\n fieldset[disabled] #optimole-app .button.is-black {\n background-color: #0a0a0a;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-black.is-inverted {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-black.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-black.is-inverted {\n background-color: white;\n border-color: transparent;\n box-shadow: none;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-loading::after {\n border-color: transparent transparent white white !important; }\n #optimole-app .button.is-black.is-outlined {\n background-color: transparent;\n border-color: #0a0a0a;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-outlined:hover, #optimole-app .button.is-black.is-outlined:focus {\n background-color: #0a0a0a;\n border-color: #0a0a0a;\n color: white; }\n #optimole-app .button.is-black.is-outlined.is-loading::after {\n border-color: transparent transparent #0a0a0a #0a0a0a !important; }\n #optimole-app .button.is-black.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-black.is-outlined {\n background-color: transparent;\n border-color: #0a0a0a;\n box-shadow: none;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-inverted.is-outlined {\n background-color: transparent;\n border-color: white;\n color: white; }\n #optimole-app .button.is-black.is-inverted.is-outlined:hover, #optimole-app .button.is-black.is-inverted.is-outlined:focus {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .button.is-black.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-black.is-inverted.is-outlined {\n background-color: transparent;\n border-color: white;\n box-shadow: none;\n color: white; }\n #optimole-app .button.is-light {\n background-color: whitesmoke;\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light:hover, #optimole-app .button.is-light.is-hovered {\n background-color: #eeeeee;\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light:focus, #optimole-app .button.is-light.is-focused {\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light:focus:not(:active), #optimole-app .button.is-light.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }\n #optimole-app .button.is-light:active, #optimole-app .button.is-light.is-active {\n background-color: #e8e8e8;\n border-color: transparent;\n color: #363636; }\n #optimole-app .button.is-light[disabled],\n fieldset[disabled] #optimole-app .button.is-light {\n background-color: whitesmoke;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-light.is-inverted {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-inverted:hover {\n background-color: #292929; }\n #optimole-app .button.is-light.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-light.is-inverted {\n background-color: #363636;\n border-color: transparent;\n box-shadow: none;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-loading::after {\n border-color: transparent transparent #363636 #363636 !important; }\n #optimole-app .button.is-light.is-outlined {\n background-color: transparent;\n border-color: whitesmoke;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-outlined:hover, #optimole-app .button.is-light.is-outlined:focus {\n background-color: whitesmoke;\n border-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-light.is-outlined.is-loading::after {\n border-color: transparent transparent whitesmoke whitesmoke !important; }\n #optimole-app .button.is-light.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-light.is-outlined {\n background-color: transparent;\n border-color: whitesmoke;\n box-shadow: none;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #363636;\n color: #363636; }\n #optimole-app .button.is-light.is-inverted.is-outlined:hover, #optimole-app .button.is-light.is-inverted.is-outlined:focus {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .button.is-light.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-light.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #363636;\n box-shadow: none;\n color: #363636; }\n #optimole-app .button.is-dark {\n background-color: #363636;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark:hover, #optimole-app .button.is-dark.is-hovered {\n background-color: #2f2f2f;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark:focus, #optimole-app .button.is-dark.is-focused {\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark:focus:not(:active), #optimole-app .button.is-dark.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }\n #optimole-app .button.is-dark:active, #optimole-app .button.is-dark.is-active {\n background-color: #292929;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .button.is-dark[disabled],\n fieldset[disabled] #optimole-app .button.is-dark {\n background-color: #363636;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-dark.is-inverted {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-dark.is-inverted:hover {\n background-color: #e8e8e8; }\n #optimole-app .button.is-dark.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-dark.is-inverted {\n background-color: whitesmoke;\n border-color: transparent;\n box-shadow: none;\n color: #363636; }\n #optimole-app .button.is-dark.is-loading::after {\n border-color: transparent transparent whitesmoke whitesmoke !important; }\n #optimole-app .button.is-dark.is-outlined {\n background-color: transparent;\n border-color: #363636;\n color: #363636; }\n #optimole-app .button.is-dark.is-outlined:hover, #optimole-app .button.is-dark.is-outlined:focus {\n background-color: #363636;\n border-color: #363636;\n color: whitesmoke; }\n #optimole-app .button.is-dark.is-outlined.is-loading::after {\n border-color: transparent transparent #363636 #363636 !important; }\n #optimole-app .button.is-dark.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-dark.is-outlined {\n background-color: transparent;\n border-color: #363636;\n box-shadow: none;\n color: #363636; }\n #optimole-app .button.is-dark.is-inverted.is-outlined {\n background-color: transparent;\n border-color: whitesmoke;\n color: whitesmoke; }\n #optimole-app .button.is-dark.is-inverted.is-outlined:hover, #optimole-app .button.is-dark.is-inverted.is-outlined:focus {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .button.is-dark.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-dark.is-inverted.is-outlined {\n background-color: transparent;\n border-color: whitesmoke;\n box-shadow: none;\n color: whitesmoke; }\n #optimole-app .button.is-primary {\n background-color: #EF686B;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary:hover, #optimole-app .button.is-primary.is-hovered {\n background-color: #ee5c60;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary:focus, #optimole-app .button.is-primary.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary:focus:not(:active), #optimole-app .button.is-primary.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(239, 104, 107, 0.25); }\n #optimole-app .button.is-primary:active, #optimole-app .button.is-primary.is-active {\n background-color: #ed5154;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-primary[disabled],\n fieldset[disabled] #optimole-app .button.is-primary {\n background-color: #EF686B;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-primary.is-inverted {\n background-color: #fff;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-primary.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-primary.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-primary.is-outlined {\n background-color: transparent;\n border-color: #EF686B;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-outlined:hover, #optimole-app .button.is-primary.is-outlined:focus {\n background-color: #EF686B;\n border-color: #EF686B;\n color: #fff; }\n #optimole-app .button.is-primary.is-outlined.is-loading::after {\n border-color: transparent transparent #EF686B #EF686B !important; }\n #optimole-app .button.is-primary.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-primary.is-outlined {\n background-color: transparent;\n border-color: #EF686B;\n box-shadow: none;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-primary.is-inverted.is-outlined:hover, #optimole-app .button.is-primary.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #EF686B; }\n #optimole-app .button.is-primary.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-primary.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-link {\n background-color: #3273dc;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link:hover, #optimole-app .button.is-link.is-hovered {\n background-color: #276cda;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link:focus, #optimole-app .button.is-link.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link:focus:not(:active), #optimole-app .button.is-link.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .button.is-link:active, #optimole-app .button.is-link.is-active {\n background-color: #2366d1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-link[disabled],\n fieldset[disabled] #optimole-app .button.is-link {\n background-color: #3273dc;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-link.is-inverted {\n background-color: #fff;\n color: #3273dc; }\n #optimole-app .button.is-link.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-link.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-link.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #3273dc; }\n #optimole-app .button.is-link.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-link.is-outlined {\n background-color: transparent;\n border-color: #3273dc;\n color: #3273dc; }\n #optimole-app .button.is-link.is-outlined:hover, #optimole-app .button.is-link.is-outlined:focus {\n background-color: #3273dc;\n border-color: #3273dc;\n color: #fff; }\n #optimole-app .button.is-link.is-outlined.is-loading::after {\n border-color: transparent transparent #3273dc #3273dc !important; }\n #optimole-app .button.is-link.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-link.is-outlined {\n background-color: transparent;\n border-color: #3273dc;\n box-shadow: none;\n color: #3273dc; }\n #optimole-app .button.is-link.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-link.is-inverted.is-outlined:hover, #optimole-app .button.is-link.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #3273dc; }\n #optimole-app .button.is-link.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-link.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-info {\n background-color: #5180C1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info:hover, #optimole-app .button.is-info.is-hovered {\n background-color: #4879be;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info:focus, #optimole-app .button.is-info.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info:focus:not(:active), #optimole-app .button.is-info.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(81, 128, 193, 0.25); }\n #optimole-app .button.is-info:active, #optimole-app .button.is-info.is-active {\n background-color: #4173b7;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-info[disabled],\n fieldset[disabled] #optimole-app .button.is-info {\n background-color: #5180C1;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-info.is-inverted {\n background-color: #fff;\n color: #5180C1; }\n #optimole-app .button.is-info.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-info.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-info.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #5180C1; }\n #optimole-app .button.is-info.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-info.is-outlined {\n background-color: transparent;\n border-color: #5180C1;\n color: #5180C1; }\n #optimole-app .button.is-info.is-outlined:hover, #optimole-app .button.is-info.is-outlined:focus {\n background-color: #5180C1;\n border-color: #5180C1;\n color: #fff; }\n #optimole-app .button.is-info.is-outlined.is-loading::after {\n border-color: transparent transparent #5180C1 #5180C1 !important; }\n #optimole-app .button.is-info.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-info.is-outlined {\n background-color: transparent;\n border-color: #5180C1;\n box-shadow: none;\n color: #5180C1; }\n #optimole-app .button.is-info.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-info.is-inverted.is-outlined:hover, #optimole-app .button.is-info.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #5180C1; }\n #optimole-app .button.is-info.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-info.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-success {\n background-color: #34a85e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success:hover, #optimole-app .button.is-success.is-hovered {\n background-color: #319e59;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success:focus, #optimole-app .button.is-success.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success:focus:not(:active), #optimole-app .button.is-success.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(52, 168, 94, 0.25); }\n #optimole-app .button.is-success:active, #optimole-app .button.is-success.is-active {\n background-color: #2e9553;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-success[disabled],\n fieldset[disabled] #optimole-app .button.is-success {\n background-color: #34a85e;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-success.is-inverted {\n background-color: #fff;\n color: #34a85e; }\n #optimole-app .button.is-success.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-success.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-success.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #34a85e; }\n #optimole-app .button.is-success.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-success.is-outlined {\n background-color: transparent;\n border-color: #34a85e;\n color: #34a85e; }\n #optimole-app .button.is-success.is-outlined:hover, #optimole-app .button.is-success.is-outlined:focus {\n background-color: #34a85e;\n border-color: #34a85e;\n color: #fff; }\n #optimole-app .button.is-success.is-outlined.is-loading::after {\n border-color: transparent transparent #34a85e #34a85e !important; }\n #optimole-app .button.is-success.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-success.is-outlined {\n background-color: transparent;\n border-color: #34a85e;\n box-shadow: none;\n color: #34a85e; }\n #optimole-app .button.is-success.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-success.is-inverted.is-outlined:hover, #optimole-app .button.is-success.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #34a85e; }\n #optimole-app .button.is-success.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-success.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-warning {\n background-color: #ffdd57;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning:hover, #optimole-app .button.is-warning.is-hovered {\n background-color: #ffdb4a;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning:focus, #optimole-app .button.is-warning.is-focused {\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning:focus:not(:active), #optimole-app .button.is-warning.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }\n #optimole-app .button.is-warning:active, #optimole-app .button.is-warning.is-active {\n background-color: #ffd83d;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning[disabled],\n fieldset[disabled] #optimole-app .button.is-warning {\n background-color: #ffdd57;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-warning.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-inverted:hover {\n background-color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-warning.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: transparent;\n box-shadow: none;\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-loading::after {\n border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }\n #optimole-app .button.is-warning.is-outlined {\n background-color: transparent;\n border-color: #ffdd57;\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-outlined:hover, #optimole-app .button.is-warning.is-outlined:focus {\n background-color: #ffdd57;\n border-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning.is-outlined.is-loading::after {\n border-color: transparent transparent #ffdd57 #ffdd57 !important; }\n #optimole-app .button.is-warning.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-warning.is-outlined {\n background-color: transparent;\n border-color: #ffdd57;\n box-shadow: none;\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-warning.is-inverted.is-outlined:hover, #optimole-app .button.is-warning.is-inverted.is-outlined:focus {\n background-color: rgba(0, 0, 0, 0.7);\n color: #ffdd57; }\n #optimole-app .button.is-warning.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-warning.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n box-shadow: none;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .button.is-danger {\n background-color: #D54222;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger:hover, #optimole-app .button.is-danger.is-hovered {\n background-color: #ca3f20;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger:focus, #optimole-app .button.is-danger.is-focused {\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger:focus:not(:active), #optimole-app .button.is-danger.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(213, 66, 34, 0.25); }\n #optimole-app .button.is-danger:active, #optimole-app .button.is-danger.is-active {\n background-color: #bf3b1e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .button.is-danger[disabled],\n fieldset[disabled] #optimole-app .button.is-danger {\n background-color: #D54222;\n border-color: transparent;\n box-shadow: none; }\n #optimole-app .button.is-danger.is-inverted {\n background-color: #fff;\n color: #D54222; }\n #optimole-app .button.is-danger.is-inverted:hover {\n background-color: #f2f2f2; }\n #optimole-app .button.is-danger.is-inverted[disabled],\n fieldset[disabled] #optimole-app .button.is-danger.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: #D54222; }\n #optimole-app .button.is-danger.is-loading::after {\n border-color: transparent transparent #fff #fff !important; }\n #optimole-app .button.is-danger.is-outlined {\n background-color: transparent;\n border-color: #D54222;\n color: #D54222; }\n #optimole-app .button.is-danger.is-outlined:hover, #optimole-app .button.is-danger.is-outlined:focus {\n background-color: #D54222;\n border-color: #D54222;\n color: #fff; }\n #optimole-app .button.is-danger.is-outlined.is-loading::after {\n border-color: transparent transparent #D54222 #D54222 !important; }\n #optimole-app .button.is-danger.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-danger.is-outlined {\n background-color: transparent;\n border-color: #D54222;\n box-shadow: none;\n color: #D54222; }\n #optimole-app .button.is-danger.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff; }\n #optimole-app .button.is-danger.is-inverted.is-outlined:hover, #optimole-app .button.is-danger.is-inverted.is-outlined:focus {\n background-color: #fff;\n color: #D54222; }\n #optimole-app .button.is-danger.is-inverted.is-outlined[disabled],\n fieldset[disabled] #optimole-app .button.is-danger.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff; }\n #optimole-app .button.is-small {\n border-radius: 2px;\n font-size: 0.75rem; }\n #optimole-app .button.is-normal {\n font-size: 1rem; }\n #optimole-app .button.is-medium {\n font-size: 1.25rem; }\n #optimole-app .button.is-large {\n font-size: 1.5rem; }\n #optimole-app .button[disabled],\n fieldset[disabled] #optimole-app .button {\n background-color: white;\n border-color: #dbdbdb;\n box-shadow: none;\n opacity: 0.5; }\n #optimole-app .button.is-fullwidth {\n display: -ms-flexbox;\n display: flex;\n width: 100%; }\n #optimole-app .button.is-loading {\n color: transparent !important;\n pointer-events: none; }\n #optimole-app .button.is-loading::after {\n position: absolute;\n left: calc(50% - (1em / 2));\n top: calc(50% - (1em / 2));\n position: absolute !important; }\n #optimole-app .button.is-static {\n background-color: whitesmoke;\n border-color: #dbdbdb;\n color: #7a7a7a;\n box-shadow: none;\n pointer-events: none; }\n #optimole-app .button.is-rounded {\n border-radius: 290486px;\n padding-left: 1em;\n padding-right: 1em; }\n #optimole-app .buttons {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .buttons .button {\n margin-bottom: 0.5rem; }\n #optimole-app .buttons .button:not(:last-child):not(.is-fullwidth) {\n margin-right: 0.5rem; }\n #optimole-app .buttons:last-child {\n margin-bottom: -0.5rem; }\n #optimole-app .buttons:not(:last-child) {\n margin-bottom: 1rem; }\n #optimole-app .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {\n border-radius: 2px;\n font-size: 0.75rem; }\n #optimole-app .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {\n font-size: 1.25rem; }\n #optimole-app .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {\n font-size: 1.5rem; }\n #optimole-app .buttons.has-addons .button:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .buttons.has-addons .button:not(:last-child) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n margin-right: -1px; }\n #optimole-app .buttons.has-addons .button:last-child {\n margin-right: 0; }\n #optimole-app .buttons.has-addons .button:hover, #optimole-app .buttons.has-addons .button.is-hovered {\n z-index: 2; }\n #optimole-app .buttons.has-addons .button:focus, #optimole-app .buttons.has-addons .button.is-focused, #optimole-app .buttons.has-addons .button:active, #optimole-app .buttons.has-addons .button.is-active, #optimole-app .buttons.has-addons .button.is-selected {\n z-index: 3; }\n #optimole-app .buttons.has-addons .button:focus:hover, #optimole-app .buttons.has-addons .button.is-focused:hover, #optimole-app .buttons.has-addons .button:active:hover, #optimole-app .buttons.has-addons .button.is-active:hover, #optimole-app .buttons.has-addons .button.is-selected:hover {\n z-index: 4; }\n #optimole-app .buttons.has-addons .button.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n #optimole-app .buttons.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .buttons.is-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .container {\n margin: 0 auto;\n position: relative; }\n @media screen and (min-width: 1088px) {\n #optimole-app .container {\n max-width: 960px;\n width: 960px; }\n #optimole-app .container.is-fluid {\n margin-left: 64px;\n margin-right: 64px;\n max-width: none;\n width: auto; } }\n @media screen and (max-width: 1279px) {\n #optimole-app .container.is-widescreen {\n max-width: 1152px;\n width: auto; } }\n @media screen and (max-width: 1471px) {\n #optimole-app .container.is-fullhd {\n max-width: 1344px;\n width: auto; } }\n @media screen and (min-width: 1280px) {\n #optimole-app .container {\n max-width: 1152px;\n width: 1152px; } }\n @media screen and (min-width: 1472px) {\n #optimole-app .container {\n max-width: 1344px;\n width: 1344px; } }\n #optimole-app .content li + li {\n margin-top: 0.25em; }\n #optimole-app .content p:not(:last-child),\n #optimole-app .content dl:not(:last-child),\n #optimole-app .content ol:not(:last-child),\n #optimole-app .content ul:not(:last-child),\n #optimole-app .content blockquote:not(:last-child),\n #optimole-app .content pre:not(:last-child),\n #optimole-app .content table:not(:last-child) {\n margin-bottom: 1em; }\n #optimole-app .content h1,\n #optimole-app .content h2,\n #optimole-app .content h3,\n #optimole-app .content h4,\n #optimole-app .content h5,\n #optimole-app .content h6 {\n color: #363636;\n font-weight: 600;\n line-height: 1.125; }\n #optimole-app .content h1 {\n font-size: 2em;\n margin-bottom: 0.5em; }\n #optimole-app .content h1:not(:first-child) {\n margin-top: 1em; }\n #optimole-app .content h2 {\n font-size: 1.75em;\n margin-bottom: 0.5714em; }\n #optimole-app .content h2:not(:first-child) {\n margin-top: 1.1428em; }\n #optimole-app .content h3 {\n font-size: 1.5em;\n margin-bottom: 0.6666em; }\n #optimole-app .content h3:not(:first-child) {\n margin-top: 1.3333em; }\n #optimole-app .content h4 {\n font-size: 1.25em;\n margin-bottom: 0.8em; }\n #optimole-app .content h5 {\n font-size: 1.125em;\n margin-bottom: 0.8888em; }\n #optimole-app .content h6 {\n font-size: 1em;\n margin-bottom: 1em; }\n #optimole-app .content blockquote {\n background-color: whitesmoke;\n border-left: 5px solid #dbdbdb;\n padding: 1.25em 1.5em; }\n #optimole-app .content ol {\n list-style-position: outside;\n margin-left: 2em;\n margin-top: 1em; }\n #optimole-app .content ol:not([type]) {\n list-style-type: decimal; }\n #optimole-app .content ol:not([type]).is-lower-alpha {\n list-style-type: lower-alpha; }\n #optimole-app .content ol:not([type]).is-lower-roman {\n list-style-type: lower-roman; }\n #optimole-app .content ol:not([type]).is-upper-alpha {\n list-style-type: upper-alpha; }\n #optimole-app .content ol:not([type]).is-upper-roman {\n list-style-type: upper-roman; }\n #optimole-app .content ul {\n list-style: disc outside;\n margin-left: 2em;\n margin-top: 1em; }\n #optimole-app .content ul ul {\n list-style-type: circle;\n margin-top: 0.5em; }\n #optimole-app .content ul ul ul {\n list-style-type: square; }\n #optimole-app .content dd {\n margin-left: 2em; }\n #optimole-app .content figure {\n margin-left: 2em;\n margin-right: 2em;\n text-align: center; }\n #optimole-app .content figure:not(:first-child) {\n margin-top: 2em; }\n #optimole-app .content figure:not(:last-child) {\n margin-bottom: 2em; }\n #optimole-app .content figure img {\n display: inline-block; }\n #optimole-app .content figure figcaption {\n font-style: italic; }\n #optimole-app .content pre {\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n padding: 1.25em 1.5em;\n white-space: pre;\n word-wrap: normal; }\n #optimole-app .content sup,\n #optimole-app .content sub {\n font-size: 75%; }\n #optimole-app .content table {\n width: 100%; }\n #optimole-app .content table td,\n #optimole-app .content table th {\n border: 1px solid #dbdbdb;\n border-width: 0 0 1px;\n padding: 0.5em 0.75em;\n vertical-align: top; }\n #optimole-app .content table th {\n color: #363636;\n text-align: left; }\n #optimole-app .content table thead td,\n #optimole-app .content table thead th {\n border-width: 0 0 2px;\n color: #363636; }\n #optimole-app .content table tfoot td,\n #optimole-app .content table tfoot th {\n border-width: 2px 0 0;\n color: #363636; }\n #optimole-app .content table tbody tr:last-child td,\n #optimole-app .content table tbody tr:last-child th {\n border-bottom-width: 0; }\n #optimole-app .content.is-small {\n font-size: 0.75rem; }\n #optimole-app .content.is-medium {\n font-size: 1.25rem; }\n #optimole-app .content.is-large {\n font-size: 1.5rem; }\n #optimole-app .input,\n #optimole-app .textarea {\n background-color: white;\n border-color: #dbdbdb;\n color: #363636;\n box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);\n max-width: 100%;\n width: 100%; }\n #optimole-app .input::-moz-placeholder,\n #optimole-app .textarea::-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input::-webkit-input-placeholder,\n #optimole-app .textarea::-webkit-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input:-moz-placeholder,\n #optimole-app .textarea:-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input:-ms-input-placeholder,\n #optimole-app .textarea:-ms-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .input:hover, #optimole-app .input.is-hovered,\n #optimole-app .textarea:hover,\n #optimole-app .textarea.is-hovered {\n border-color: #b5b5b5; }\n #optimole-app .input:focus, #optimole-app .input.is-focused, #optimole-app .input:active, #optimole-app .input.is-active,\n #optimole-app .textarea:focus,\n #optimole-app .textarea.is-focused,\n #optimole-app .textarea:active,\n #optimole-app .textarea.is-active {\n border-color: #3273dc;\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .input[disabled],\n fieldset[disabled] #optimole-app .input,\n #optimole-app .textarea[disabled],\n fieldset[disabled]\n #optimole-app .textarea {\n background-color: whitesmoke;\n border-color: whitesmoke;\n box-shadow: none;\n color: #7a7a7a; }\n #optimole-app .input[disabled]::-moz-placeholder,\n fieldset[disabled] #optimole-app .input::-moz-placeholder,\n #optimole-app .textarea[disabled]::-moz-placeholder,\n fieldset[disabled]\n #optimole-app .textarea::-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[disabled]::-webkit-input-placeholder,\n fieldset[disabled] #optimole-app .input::-webkit-input-placeholder,\n #optimole-app .textarea[disabled]::-webkit-input-placeholder,\n fieldset[disabled]\n #optimole-app .textarea::-webkit-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[disabled]:-moz-placeholder,\n fieldset[disabled] #optimole-app .input:-moz-placeholder,\n #optimole-app .textarea[disabled]:-moz-placeholder,\n fieldset[disabled]\n #optimole-app .textarea:-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[disabled]:-ms-input-placeholder,\n fieldset[disabled] #optimole-app .input:-ms-input-placeholder,\n #optimole-app .textarea[disabled]:-ms-input-placeholder,\n fieldset[disabled]\n #optimole-app .textarea:-ms-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .input[readonly],\n #optimole-app .textarea[readonly] {\n box-shadow: none; }\n #optimole-app .input.is-white,\n #optimole-app .textarea.is-white {\n border-color: white; }\n #optimole-app .input.is-white:focus, #optimole-app .input.is-white.is-focused, #optimole-app .input.is-white:active, #optimole-app .input.is-white.is-active,\n #optimole-app .textarea.is-white:focus,\n #optimole-app .textarea.is-white.is-focused,\n #optimole-app .textarea.is-white:active,\n #optimole-app .textarea.is-white.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }\n #optimole-app .input.is-black,\n #optimole-app .textarea.is-black {\n border-color: #0a0a0a; }\n #optimole-app .input.is-black:focus, #optimole-app .input.is-black.is-focused, #optimole-app .input.is-black:active, #optimole-app .input.is-black.is-active,\n #optimole-app .textarea.is-black:focus,\n #optimole-app .textarea.is-black.is-focused,\n #optimole-app .textarea.is-black:active,\n #optimole-app .textarea.is-black.is-active {\n box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }\n #optimole-app .input.is-light,\n #optimole-app .textarea.is-light {\n border-color: whitesmoke; }\n #optimole-app .input.is-light:focus, #optimole-app .input.is-light.is-focused, #optimole-app .input.is-light:active, #optimole-app .input.is-light.is-active,\n #optimole-app .textarea.is-light:focus,\n #optimole-app .textarea.is-light.is-focused,\n #optimole-app .textarea.is-light:active,\n #optimole-app .textarea.is-light.is-active {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }\n #optimole-app .input.is-dark,\n #optimole-app .textarea.is-dark {\n border-color: #363636; }\n #optimole-app .input.is-dark:focus, #optimole-app .input.is-dark.is-focused, #optimole-app .input.is-dark:active, #optimole-app .input.is-dark.is-active,\n #optimole-app .textarea.is-dark:focus,\n #optimole-app .textarea.is-dark.is-focused,\n #optimole-app .textarea.is-dark:active,\n #optimole-app .textarea.is-dark.is-active {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }\n #optimole-app .input.is-primary,\n #optimole-app .textarea.is-primary {\n border-color: #EF686B; }\n #optimole-app .input.is-primary:focus, #optimole-app .input.is-primary.is-focused, #optimole-app .input.is-primary:active, #optimole-app .input.is-primary.is-active,\n #optimole-app .textarea.is-primary:focus,\n #optimole-app .textarea.is-primary.is-focused,\n #optimole-app .textarea.is-primary:active,\n #optimole-app .textarea.is-primary.is-active {\n box-shadow: 0 0 0 0.125em rgba(239, 104, 107, 0.25); }\n #optimole-app .input.is-link,\n #optimole-app .textarea.is-link {\n border-color: #3273dc; }\n #optimole-app .input.is-link:focus, #optimole-app .input.is-link.is-focused, #optimole-app .input.is-link:active, #optimole-app .input.is-link.is-active,\n #optimole-app .textarea.is-link:focus,\n #optimole-app .textarea.is-link.is-focused,\n #optimole-app .textarea.is-link:active,\n #optimole-app .textarea.is-link.is-active {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .input.is-info,\n #optimole-app .textarea.is-info {\n border-color: #5180C1; }\n #optimole-app .input.is-info:focus, #optimole-app .input.is-info.is-focused, #optimole-app .input.is-info:active, #optimole-app .input.is-info.is-active,\n #optimole-app .textarea.is-info:focus,\n #optimole-app .textarea.is-info.is-focused,\n #optimole-app .textarea.is-info:active,\n #optimole-app .textarea.is-info.is-active {\n box-shadow: 0 0 0 0.125em rgba(81, 128, 193, 0.25); }\n #optimole-app .input.is-success,\n #optimole-app .textarea.is-success {\n border-color: #34a85e; }\n #optimole-app .input.is-success:focus, #optimole-app .input.is-success.is-focused, #optimole-app .input.is-success:active, #optimole-app .input.is-success.is-active,\n #optimole-app .textarea.is-success:focus,\n #optimole-app .textarea.is-success.is-focused,\n #optimole-app .textarea.is-success:active,\n #optimole-app .textarea.is-success.is-active {\n box-shadow: 0 0 0 0.125em rgba(52, 168, 94, 0.25); }\n #optimole-app .input.is-warning,\n #optimole-app .textarea.is-warning {\n border-color: #ffdd57; }\n #optimole-app .input.is-warning:focus, #optimole-app .input.is-warning.is-focused, #optimole-app .input.is-warning:active, #optimole-app .input.is-warning.is-active,\n #optimole-app .textarea.is-warning:focus,\n #optimole-app .textarea.is-warning.is-focused,\n #optimole-app .textarea.is-warning:active,\n #optimole-app .textarea.is-warning.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }\n #optimole-app .input.is-danger,\n #optimole-app .textarea.is-danger {\n border-color: #D54222; }\n #optimole-app .input.is-danger:focus, #optimole-app .input.is-danger.is-focused, #optimole-app .input.is-danger:active, #optimole-app .input.is-danger.is-active,\n #optimole-app .textarea.is-danger:focus,\n #optimole-app .textarea.is-danger.is-focused,\n #optimole-app .textarea.is-danger:active,\n #optimole-app .textarea.is-danger.is-active {\n box-shadow: 0 0 0 0.125em rgba(213, 66, 34, 0.25); }\n #optimole-app .input.is-small,\n #optimole-app .textarea.is-small {\n border-radius: 2px;\n font-size: 0.75rem; }\n #optimole-app .input.is-medium,\n #optimole-app .textarea.is-medium {\n font-size: 1.25rem; }\n #optimole-app .input.is-large,\n #optimole-app .textarea.is-large {\n font-size: 1.5rem; }\n #optimole-app .input.is-fullwidth,\n #optimole-app .textarea.is-fullwidth {\n display: block;\n width: 100%; }\n #optimole-app .input.is-inline,\n #optimole-app .textarea.is-inline {\n display: inline;\n width: auto; }\n #optimole-app .input.is-rounded {\n border-radius: 290486px;\n padding-left: 1em;\n padding-right: 1em; }\n #optimole-app .input.is-static {\n background-color: transparent;\n border-color: transparent;\n box-shadow: none;\n padding-left: 0;\n padding-right: 0; }\n #optimole-app .textarea {\n display: block;\n max-width: 100%;\n min-width: 100%;\n padding: 0.625em;\n resize: vertical; }\n #optimole-app .textarea:not([rows]) {\n max-height: 600px;\n min-height: 120px; }\n #optimole-app .textarea[rows] {\n height: initial; }\n #optimole-app .textarea.has-fixed-size {\n resize: none; }\n #optimole-app .checkbox,\n #optimole-app .radio {\n cursor: pointer;\n display: inline-block;\n line-height: 1.25;\n position: relative; }\n #optimole-app .checkbox input,\n #optimole-app .radio input {\n cursor: pointer; }\n #optimole-app .checkbox:hover,\n #optimole-app .radio:hover {\n color: #363636; }\n #optimole-app .checkbox[disabled],\n fieldset[disabled] #optimole-app .checkbox,\n #optimole-app .radio[disabled],\n fieldset[disabled]\n #optimole-app .radio {\n color: #7a7a7a;\n cursor: not-allowed; }\n #optimole-app .radio + .radio {\n margin-left: 0.5em; }\n #optimole-app .select {\n display: inline-block;\n max-width: 100%;\n position: relative;\n vertical-align: top; }\n #optimole-app .select:not(.is-multiple) {\n height: 2.25em; }\n #optimole-app .select:not(.is-multiple):not(.is-loading)::after {\n border-color: #3273dc;\n right: 1.125em;\n z-index: 4; }\n #optimole-app .select.is-rounded select {\n border-radius: 290486px;\n padding-left: 1em; }\n #optimole-app .select select {\n background-color: white;\n border-color: #dbdbdb;\n color: #363636;\n cursor: pointer;\n display: block;\n font-size: 1em;\n max-width: 100%;\n outline: none; }\n #optimole-app .select select::-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select::-webkit-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select:-moz-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select:-ms-input-placeholder {\n color: rgba(54, 54, 54, 0.3); }\n #optimole-app .select select:hover, #optimole-app .select select.is-hovered {\n border-color: #b5b5b5; }\n #optimole-app .select select:focus, #optimole-app .select select.is-focused, #optimole-app .select select:active, #optimole-app .select select.is-active {\n border-color: #3273dc;\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .select select[disabled],\n fieldset[disabled] #optimole-app .select select {\n background-color: whitesmoke;\n border-color: whitesmoke;\n box-shadow: none;\n color: #7a7a7a; }\n #optimole-app .select select[disabled]::-moz-placeholder,\n fieldset[disabled] #optimole-app .select select::-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select[disabled]::-webkit-input-placeholder,\n fieldset[disabled] #optimole-app .select select::-webkit-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select[disabled]:-moz-placeholder,\n fieldset[disabled] #optimole-app .select select:-moz-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select[disabled]:-ms-input-placeholder,\n fieldset[disabled] #optimole-app .select select:-ms-input-placeholder {\n color: rgba(122, 122, 122, 0.3); }\n #optimole-app .select select::-ms-expand {\n display: none; }\n #optimole-app .select select[disabled]:hover,\n fieldset[disabled] #optimole-app .select select:hover {\n border-color: whitesmoke; }\n #optimole-app .select select:not([multiple]) {\n padding-right: 2.5em; }\n #optimole-app .select select[multiple] {\n height: auto;\n padding: 0; }\n #optimole-app .select select[multiple] option {\n padding: 0.5em 1em; }\n #optimole-app .select:not(.is-multiple):not(.is-loading):hover::after {\n border-color: #363636; }\n #optimole-app .select.is-white:not(:hover)::after {\n border-color: white; }\n #optimole-app .select.is-white select {\n border-color: white; }\n #optimole-app .select.is-white select:hover, #optimole-app .select.is-white select.is-hovered {\n border-color: #f2f2f2; }\n #optimole-app .select.is-white select:focus, #optimole-app .select.is-white select.is-focused, #optimole-app .select.is-white select:active, #optimole-app .select.is-white select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }\n #optimole-app .select.is-black:not(:hover)::after {\n border-color: #0a0a0a; }\n #optimole-app .select.is-black select {\n border-color: #0a0a0a; }\n #optimole-app .select.is-black select:hover, #optimole-app .select.is-black select.is-hovered {\n border-color: black; }\n #optimole-app .select.is-black select:focus, #optimole-app .select.is-black select.is-focused, #optimole-app .select.is-black select:active, #optimole-app .select.is-black select.is-active {\n box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }\n #optimole-app .select.is-light:not(:hover)::after {\n border-color: whitesmoke; }\n #optimole-app .select.is-light select {\n border-color: whitesmoke; }\n #optimole-app .select.is-light select:hover, #optimole-app .select.is-light select.is-hovered {\n border-color: #e8e8e8; }\n #optimole-app .select.is-light select:focus, #optimole-app .select.is-light select.is-focused, #optimole-app .select.is-light select:active, #optimole-app .select.is-light select.is-active {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }\n #optimole-app .select.is-dark:not(:hover)::after {\n border-color: #363636; }\n #optimole-app .select.is-dark select {\n border-color: #363636; }\n #optimole-app .select.is-dark select:hover, #optimole-app .select.is-dark select.is-hovered {\n border-color: #292929; }\n #optimole-app .select.is-dark select:focus, #optimole-app .select.is-dark select.is-focused, #optimole-app .select.is-dark select:active, #optimole-app .select.is-dark select.is-active {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }\n #optimole-app .select.is-primary:not(:hover)::after {\n border-color: #EF686B; }\n #optimole-app .select.is-primary select {\n border-color: #EF686B; }\n #optimole-app .select.is-primary select:hover, #optimole-app .select.is-primary select.is-hovered {\n border-color: #ed5154; }\n #optimole-app .select.is-primary select:focus, #optimole-app .select.is-primary select.is-focused, #optimole-app .select.is-primary select:active, #optimole-app .select.is-primary select.is-active {\n box-shadow: 0 0 0 0.125em rgba(239, 104, 107, 0.25); }\n #optimole-app .select.is-link:not(:hover)::after {\n border-color: #3273dc; }\n #optimole-app .select.is-link select {\n border-color: #3273dc; }\n #optimole-app .select.is-link select:hover, #optimole-app .select.is-link select.is-hovered {\n border-color: #2366d1; }\n #optimole-app .select.is-link select:focus, #optimole-app .select.is-link select.is-focused, #optimole-app .select.is-link select:active, #optimole-app .select.is-link select.is-active {\n box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }\n #optimole-app .select.is-info:not(:hover)::after {\n border-color: #5180C1; }\n #optimole-app .select.is-info select {\n border-color: #5180C1; }\n #optimole-app .select.is-info select:hover, #optimole-app .select.is-info select.is-hovered {\n border-color: #4173b7; }\n #optimole-app .select.is-info select:focus, #optimole-app .select.is-info select.is-focused, #optimole-app .select.is-info select:active, #optimole-app .select.is-info select.is-active {\n box-shadow: 0 0 0 0.125em rgba(81, 128, 193, 0.25); }\n #optimole-app .select.is-success:not(:hover)::after {\n border-color: #34a85e; }\n #optimole-app .select.is-success select {\n border-color: #34a85e; }\n #optimole-app .select.is-success select:hover, #optimole-app .select.is-success select.is-hovered {\n border-color: #2e9553; }\n #optimole-app .select.is-success select:focus, #optimole-app .select.is-success select.is-focused, #optimole-app .select.is-success select:active, #optimole-app .select.is-success select.is-active {\n box-shadow: 0 0 0 0.125em rgba(52, 168, 94, 0.25); }\n #optimole-app .select.is-warning:not(:hover)::after {\n border-color: #ffdd57; }\n #optimole-app .select.is-warning select {\n border-color: #ffdd57; }\n #optimole-app .select.is-warning select:hover, #optimole-app .select.is-warning select.is-hovered {\n border-color: #ffd83d; }\n #optimole-app .select.is-warning select:focus, #optimole-app .select.is-warning select.is-focused, #optimole-app .select.is-warning select:active, #optimole-app .select.is-warning select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }\n #optimole-app .select.is-danger:not(:hover)::after {\n border-color: #D54222; }\n #optimole-app .select.is-danger select {\n border-color: #D54222; }\n #optimole-app .select.is-danger select:hover, #optimole-app .select.is-danger select.is-hovered {\n border-color: #bf3b1e; }\n #optimole-app .select.is-danger select:focus, #optimole-app .select.is-danger select.is-focused, #optimole-app .select.is-danger select:active, #optimole-app .select.is-danger select.is-active {\n box-shadow: 0 0 0 0.125em rgba(213, 66, 34, 0.25); }\n #optimole-app .select.is-small {\n border-radius: 2px;\n font-size: 0.75rem; }\n #optimole-app .select.is-medium {\n font-size: 1.25rem; }\n #optimole-app .select.is-large {\n font-size: 1.5rem; }\n #optimole-app .select.is-disabled::after {\n border-color: #7a7a7a; }\n #optimole-app .select.is-fullwidth {\n width: 100%; }\n #optimole-app .select.is-fullwidth select {\n width: 100%; }\n #optimole-app .select.is-loading::after {\n margin-top: 0;\n position: absolute;\n right: 0.625em;\n top: 0.625em;\n transform: none; }\n #optimole-app .select.is-loading.is-small:after {\n font-size: 0.75rem; }\n #optimole-app .select.is-loading.is-medium:after {\n font-size: 1.25rem; }\n #optimole-app .select.is-loading.is-large:after {\n font-size: 1.5rem; }\n #optimole-app .file {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: start;\n justify-content: flex-start;\n position: relative; }\n #optimole-app .file.is-white .file-cta {\n background-color: white;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .file.is-white:hover .file-cta, #optimole-app .file.is-white.is-hovered .file-cta {\n background-color: #f9f9f9;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .file.is-white:focus .file-cta, #optimole-app .file.is-white.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);\n color: #0a0a0a; }\n #optimole-app .file.is-white:active .file-cta, #optimole-app .file.is-white.is-active .file-cta {\n background-color: #f2f2f2;\n border-color: transparent;\n color: #0a0a0a; }\n #optimole-app .file.is-black .file-cta {\n background-color: #0a0a0a;\n border-color: transparent;\n color: white; }\n #optimole-app .file.is-black:hover .file-cta, #optimole-app .file.is-black.is-hovered .file-cta {\n background-color: #040404;\n border-color: transparent;\n color: white; }\n #optimole-app .file.is-black:focus .file-cta, #optimole-app .file.is-black.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);\n color: white; }\n #optimole-app .file.is-black:active .file-cta, #optimole-app .file.is-black.is-active .file-cta {\n background-color: black;\n border-color: transparent;\n color: white; }\n #optimole-app .file.is-light .file-cta {\n background-color: whitesmoke;\n border-color: transparent;\n color: #363636; }\n #optimole-app .file.is-light:hover .file-cta, #optimole-app .file.is-light.is-hovered .file-cta {\n background-color: #eeeeee;\n border-color: transparent;\n color: #363636; }\n #optimole-app .file.is-light:focus .file-cta, #optimole-app .file.is-light.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);\n color: #363636; }\n #optimole-app .file.is-light:active .file-cta, #optimole-app .file.is-light.is-active .file-cta {\n background-color: #e8e8e8;\n border-color: transparent;\n color: #363636; }\n #optimole-app .file.is-dark .file-cta {\n background-color: #363636;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .file.is-dark:hover .file-cta, #optimole-app .file.is-dark.is-hovered .file-cta {\n background-color: #2f2f2f;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .file.is-dark:focus .file-cta, #optimole-app .file.is-dark.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);\n color: whitesmoke; }\n #optimole-app .file.is-dark:active .file-cta, #optimole-app .file.is-dark.is-active .file-cta {\n background-color: #292929;\n border-color: transparent;\n color: whitesmoke; }\n #optimole-app .file.is-primary .file-cta {\n background-color: #EF686B;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-primary:hover .file-cta, #optimole-app .file.is-primary.is-hovered .file-cta {\n background-color: #ee5c60;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-primary:focus .file-cta, #optimole-app .file.is-primary.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(239, 104, 107, 0.25);\n color: #fff; }\n #optimole-app .file.is-primary:active .file-cta, #optimole-app .file.is-primary.is-active .file-cta {\n background-color: #ed5154;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-link .file-cta {\n background-color: #3273dc;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-link:hover .file-cta, #optimole-app .file.is-link.is-hovered .file-cta {\n background-color: #276cda;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-link:focus .file-cta, #optimole-app .file.is-link.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(50, 115, 220, 0.25);\n color: #fff; }\n #optimole-app .file.is-link:active .file-cta, #optimole-app .file.is-link.is-active .file-cta {\n background-color: #2366d1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-info .file-cta {\n background-color: #5180C1;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-info:hover .file-cta, #optimole-app .file.is-info.is-hovered .file-cta {\n background-color: #4879be;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-info:focus .file-cta, #optimole-app .file.is-info.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(81, 128, 193, 0.25);\n color: #fff; }\n #optimole-app .file.is-info:active .file-cta, #optimole-app .file.is-info.is-active .file-cta {\n background-color: #4173b7;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-success .file-cta {\n background-color: #34a85e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-success:hover .file-cta, #optimole-app .file.is-success.is-hovered .file-cta {\n background-color: #319e59;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-success:focus .file-cta, #optimole-app .file.is-success.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(52, 168, 94, 0.25);\n color: #fff; }\n #optimole-app .file.is-success:active .file-cta, #optimole-app .file.is-success.is-active .file-cta {\n background-color: #2e9553;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-warning .file-cta {\n background-color: #ffdd57;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-warning:hover .file-cta, #optimole-app .file.is-warning.is-hovered .file-cta {\n background-color: #ffdb4a;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-warning:focus .file-cta, #optimole-app .file.is-warning.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-warning:active .file-cta, #optimole-app .file.is-warning.is-active .file-cta {\n background-color: #ffd83d;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .file.is-danger .file-cta {\n background-color: #D54222;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-danger:hover .file-cta, #optimole-app .file.is-danger.is-hovered .file-cta {\n background-color: #ca3f20;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-danger:focus .file-cta, #optimole-app .file.is-danger.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(213, 66, 34, 0.25);\n color: #fff; }\n #optimole-app .file.is-danger:active .file-cta, #optimole-app .file.is-danger.is-active .file-cta {\n background-color: #bf3b1e;\n border-color: transparent;\n color: #fff; }\n #optimole-app .file.is-small {\n font-size: 0.75rem; }\n #optimole-app .file.is-medium {\n font-size: 1.25rem; }\n #optimole-app .file.is-medium .file-icon .fa {\n font-size: 21px; }\n #optimole-app .file.is-large {\n font-size: 1.5rem; }\n #optimole-app .file.is-large .file-icon .fa {\n font-size: 28px; }\n #optimole-app .file.has-name .file-cta {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .file.has-name .file-name {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .file.has-name.is-empty .file-cta {\n border-radius: 4px; }\n #optimole-app .file.has-name.is-empty .file-name {\n display: none; }\n #optimole-app .file.is-boxed .file-label {\n -ms-flex-direction: column;\n flex-direction: column; }\n #optimole-app .file.is-boxed .file-cta {\n -ms-flex-direction: column;\n flex-direction: column;\n height: auto;\n padding: 1em 3em; }\n #optimole-app .file.is-boxed .file-name {\n border-width: 0 1px 1px; }\n #optimole-app .file.is-boxed .file-icon {\n height: 1.5em;\n width: 1.5em; }\n #optimole-app .file.is-boxed .file-icon .fa {\n font-size: 21px; }\n #optimole-app .file.is-boxed.is-small .file-icon .fa {\n font-size: 14px; }\n #optimole-app .file.is-boxed.is-medium .file-icon .fa {\n font-size: 28px; }\n #optimole-app .file.is-boxed.is-large .file-icon .fa {\n font-size: 35px; }\n #optimole-app .file.is-boxed.has-name .file-cta {\n border-radius: 4px 4px 0 0; }\n #optimole-app .file.is-boxed.has-name .file-name {\n border-radius: 0 0 4px 4px;\n border-width: 0 1px 1px; }\n #optimole-app .file.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .file.is-fullwidth .file-label {\n width: 100%; }\n #optimole-app .file.is-fullwidth .file-name {\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: none; }\n #optimole-app .file.is-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .file.is-right .file-cta {\n border-radius: 0 4px 4px 0; }\n #optimole-app .file.is-right .file-name {\n border-radius: 4px 0 0 4px;\n border-width: 1px 0 1px 1px;\n -ms-flex-order: -1;\n order: -1; }\n #optimole-app .file-label {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n cursor: pointer;\n -ms-flex-pack: start;\n justify-content: flex-start;\n overflow: hidden;\n position: relative; }\n #optimole-app .file-label:hover .file-cta {\n background-color: #eeeeee;\n color: #363636; }\n #optimole-app .file-label:hover .file-name {\n border-color: #d5d5d5; }\n #optimole-app .file-label:active .file-cta {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .file-label:active .file-name {\n border-color: #cfcfcf; }\n #optimole-app .file-input {\n height: 100%;\n left: 0;\n opacity: 0;\n outline: none;\n position: absolute;\n top: 0;\n width: 100%; }\n #optimole-app .file-cta,\n #optimole-app .file-name {\n border-color: #dbdbdb;\n border-radius: 4px;\n font-size: 1em;\n padding-left: 1em;\n padding-right: 1em;\n white-space: nowrap; }\n #optimole-app .file-cta {\n background-color: whitesmoke;\n color: #4a4a4a; }\n #optimole-app .file-name {\n border-color: #dbdbdb;\n border-style: solid;\n border-width: 1px 1px 1px 0;\n display: block;\n max-width: 16em;\n overflow: hidden;\n text-align: left;\n text-overflow: ellipsis; }\n #optimole-app .file-icon {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n height: 1em;\n -ms-flex-pack: center;\n justify-content: center;\n margin-right: 0.5em;\n width: 1em; }\n #optimole-app .file-icon .fa {\n font-size: 14px; }\n #optimole-app .label {\n color: #363636;\n display: block;\n font-size: 1rem;\n font-weight: 700; }\n #optimole-app .label:not(:last-child) {\n margin-bottom: 0.5em; }\n #optimole-app .label.is-small {\n font-size: 0.75rem; }\n #optimole-app .label.is-medium {\n font-size: 1.25rem; }\n #optimole-app .label.is-large {\n font-size: 1.5rem; }\n #optimole-app .help {\n display: block;\n font-size: 0.75rem;\n margin-top: 0.25rem; }\n #optimole-app .help.is-white {\n color: white; }\n #optimole-app .help.is-black {\n color: #0a0a0a; }\n #optimole-app .help.is-light {\n color: whitesmoke; }\n #optimole-app .help.is-dark {\n color: #363636; }\n #optimole-app .help.is-primary {\n color: #EF686B; }\n #optimole-app .help.is-link {\n color: #3273dc; }\n #optimole-app .help.is-info {\n color: #5180C1; }\n #optimole-app .help.is-success {\n color: #34a85e; }\n #optimole-app .help.is-warning {\n color: #ffdd57; }\n #optimole-app .help.is-danger {\n color: #D54222; }\n #optimole-app .field:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .field.has-addons {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .field.has-addons .control:not(:last-child) {\n margin-right: -1px; }\n #optimole-app .field.has-addons .control:not(:first-child):not(:last-child) .button,\n #optimole-app .field.has-addons .control:not(:first-child):not(:last-child) .input,\n #optimole-app .field.has-addons .control:not(:first-child):not(:last-child) .select select {\n border-radius: 0; }\n #optimole-app .field.has-addons .control:first-child:not(:only-child) .button,\n #optimole-app .field.has-addons .control:first-child:not(:only-child) .input,\n #optimole-app .field.has-addons .control:first-child:not(:only-child) .select select {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .field.has-addons .control:last-child:not(:only-child) .button,\n #optimole-app .field.has-addons .control:last-child:not(:only-child) .input,\n #optimole-app .field.has-addons .control:last-child:not(:only-child) .select select {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .field.has-addons .control .button:not([disabled]):hover, #optimole-app .field.has-addons .control .button:not([disabled]).is-hovered,\n #optimole-app .field.has-addons .control .input:not([disabled]):hover,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-hovered,\n #optimole-app .field.has-addons .control .select select:not([disabled]):hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-hovered {\n z-index: 2; }\n #optimole-app .field.has-addons .control .button:not([disabled]):focus, #optimole-app .field.has-addons .control .button:not([disabled]).is-focused, #optimole-app .field.has-addons .control .button:not([disabled]):active, #optimole-app .field.has-addons .control .button:not([disabled]).is-active,\n #optimole-app .field.has-addons .control .input:not([disabled]):focus,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-focused,\n #optimole-app .field.has-addons .control .input:not([disabled]):active,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-active,\n #optimole-app .field.has-addons .control .select select:not([disabled]):focus,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-focused,\n #optimole-app .field.has-addons .control .select select:not([disabled]):active,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-active {\n z-index: 3; }\n #optimole-app .field.has-addons .control .button:not([disabled]):focus:hover, #optimole-app .field.has-addons .control .button:not([disabled]).is-focused:hover, #optimole-app .field.has-addons .control .button:not([disabled]):active:hover, #optimole-app .field.has-addons .control .button:not([disabled]).is-active:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]):focus:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-focused:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]):active:hover,\n #optimole-app .field.has-addons .control .input:not([disabled]).is-active:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]):focus:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-focused:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]):active:hover,\n #optimole-app .field.has-addons .control .select select:not([disabled]).is-active:hover {\n z-index: 4; }\n #optimole-app .field.has-addons .control.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n #optimole-app .field.has-addons.has-addons-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .field.has-addons.has-addons-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .field.has-addons.has-addons-fullwidth .control {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .field.is-grouped {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .field.is-grouped > .control {\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .field.is-grouped > .control:not(:last-child) {\n margin-bottom: 0;\n margin-right: 0.75rem; }\n #optimole-app .field.is-grouped > .control.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .field.is-grouped.is-grouped-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .field.is-grouped.is-grouped-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .field.is-grouped.is-grouped-multiline {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n #optimole-app .field.is-grouped.is-grouped-multiline > .control:last-child, #optimole-app .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .field.is-grouped.is-grouped-multiline:last-child {\n margin-bottom: -0.75rem; }\n #optimole-app .field.is-grouped.is-grouped-multiline:not(:last-child) {\n margin-bottom: 0; }\n @media screen and (min-width: 769px), print {\n #optimole-app .field.is-horizontal {\n display: -ms-flexbox;\n display: flex; } }\n #optimole-app .field-label .label {\n font-size: inherit; }\n @media screen and (max-width: 768px) {\n #optimole-app .field-label {\n margin-bottom: 0.5rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .field-label {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-right: 1.5rem;\n text-align: right; }\n #optimole-app .field-label.is-small {\n font-size: 0.75rem;\n padding-top: 0.375em; }\n #optimole-app .field-label.is-normal {\n padding-top: 0.375em; }\n #optimole-app .field-label.is-medium {\n font-size: 1.25rem;\n padding-top: 0.375em; }\n #optimole-app .field-label.is-large {\n font-size: 1.5rem;\n padding-top: 0.375em; } }\n #optimole-app .field-body .field .field {\n margin-bottom: 0; }\n @media screen and (min-width: 769px), print {\n #optimole-app .field-body {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 5;\n flex-grow: 5;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .field-body .field {\n margin-bottom: 0; }\n #optimole-app .field-body > .field {\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .field-body > .field:not(.is-narrow) {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n #optimole-app .field-body > .field:not(:last-child) {\n margin-right: 0.75rem; } }\n #optimole-app .control {\n box-sizing: border-box;\n clear: both;\n font-size: 1rem;\n position: relative;\n text-align: left; }\n #optimole-app .control.has-icons-left .input:focus ~ .icon,\n #optimole-app .control.has-icons-left .select:focus ~ .icon, #optimole-app .control.has-icons-right .input:focus ~ .icon,\n #optimole-app .control.has-icons-right .select:focus ~ .icon {\n color: #7a7a7a; }\n #optimole-app .control.has-icons-left .input.is-small ~ .icon,\n #optimole-app .control.has-icons-left .select.is-small ~ .icon, #optimole-app .control.has-icons-right .input.is-small ~ .icon,\n #optimole-app .control.has-icons-right .select.is-small ~ .icon {\n font-size: 0.75rem; }\n #optimole-app .control.has-icons-left .input.is-medium ~ .icon,\n #optimole-app .control.has-icons-left .select.is-medium ~ .icon, #optimole-app .control.has-icons-right .input.is-medium ~ .icon,\n #optimole-app .control.has-icons-right .select.is-medium ~ .icon {\n font-size: 1.25rem; }\n #optimole-app .control.has-icons-left .input.is-large ~ .icon,\n #optimole-app .control.has-icons-left .select.is-large ~ .icon, #optimole-app .control.has-icons-right .input.is-large ~ .icon,\n #optimole-app .control.has-icons-right .select.is-large ~ .icon {\n font-size: 1.5rem; }\n #optimole-app .control.has-icons-left .icon, #optimole-app .control.has-icons-right .icon {\n color: #dbdbdb;\n height: 2.25em;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 2.25em;\n z-index: 4; }\n #optimole-app .control.has-icons-left .input,\n #optimole-app .control.has-icons-left .select select {\n padding-left: 2.25em; }\n #optimole-app .control.has-icons-left .icon.is-left {\n left: 0; }\n #optimole-app .control.has-icons-right .input,\n #optimole-app .control.has-icons-right .select select {\n padding-right: 2.25em; }\n #optimole-app .control.has-icons-right .icon.is-right {\n right: 0; }\n #optimole-app .control.is-loading::after {\n position: absolute !important;\n right: 0.625em;\n top: 0.625em;\n z-index: 4; }\n #optimole-app .control.is-loading.is-small:after {\n font-size: 0.75rem; }\n #optimole-app .control.is-loading.is-medium:after {\n font-size: 1.25rem; }\n #optimole-app .control.is-loading.is-large:after {\n font-size: 1.5rem; }\n #optimole-app .icon {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-pack: center;\n justify-content: center;\n height: 1.5rem;\n width: 1.5rem; }\n #optimole-app .icon.is-small {\n height: 1rem;\n width: 1rem; }\n #optimole-app .icon.is-medium {\n height: 2rem;\n width: 2rem; }\n #optimole-app .icon.is-large {\n height: 3rem;\n width: 3rem; }\n #optimole-app .image {\n display: block;\n position: relative; }\n #optimole-app .image img {\n display: block;\n height: auto;\n width: 100%; }\n #optimole-app .image img.is-rounded {\n border-radius: 290486px; }\n #optimole-app .image.is-square img,\n #optimole-app .image.is-square .has-ratio, #optimole-app .image.is-1by1 img,\n #optimole-app .image.is-1by1 .has-ratio, #optimole-app .image.is-5by4 img,\n #optimole-app .image.is-5by4 .has-ratio, #optimole-app .image.is-4by3 img,\n #optimole-app .image.is-4by3 .has-ratio, #optimole-app .image.is-3by2 img,\n #optimole-app .image.is-3by2 .has-ratio, #optimole-app .image.is-5by3 img,\n #optimole-app .image.is-5by3 .has-ratio, #optimole-app .image.is-16by9 img,\n #optimole-app .image.is-16by9 .has-ratio, #optimole-app .image.is-2by1 img,\n #optimole-app .image.is-2by1 .has-ratio, #optimole-app .image.is-3by1 img,\n #optimole-app .image.is-3by1 .has-ratio, #optimole-app .image.is-4by5 img,\n #optimole-app .image.is-4by5 .has-ratio, #optimole-app .image.is-3by4 img,\n #optimole-app .image.is-3by4 .has-ratio, #optimole-app .image.is-2by3 img,\n #optimole-app .image.is-2by3 .has-ratio, #optimole-app .image.is-3by5 img,\n #optimole-app .image.is-3by5 .has-ratio, #optimole-app .image.is-9by16 img,\n #optimole-app .image.is-9by16 .has-ratio, #optimole-app .image.is-1by2 img,\n #optimole-app .image.is-1by2 .has-ratio, #optimole-app .image.is-1by3 img,\n #optimole-app .image.is-1by3 .has-ratio {\n height: 100%;\n width: 100%; }\n #optimole-app .image.is-square, #optimole-app .image.is-1by1 {\n padding-top: 100%; }\n #optimole-app .image.is-5by4 {\n padding-top: 80%; }\n #optimole-app .image.is-4by3 {\n padding-top: 75%; }\n #optimole-app .image.is-3by2 {\n padding-top: 66.6666%; }\n #optimole-app .image.is-5by3 {\n padding-top: 60%; }\n #optimole-app .image.is-16by9 {\n padding-top: 56.25%; }\n #optimole-app .image.is-2by1 {\n padding-top: 50%; }\n #optimole-app .image.is-3by1 {\n padding-top: 33.3333%; }\n #optimole-app .image.is-4by5 {\n padding-top: 125%; }\n #optimole-app .image.is-3by4 {\n padding-top: 133.3333%; }\n #optimole-app .image.is-2by3 {\n padding-top: 150%; }\n #optimole-app .image.is-3by5 {\n padding-top: 166.6666%; }\n #optimole-app .image.is-9by16 {\n padding-top: 177.7777%; }\n #optimole-app .image.is-1by2 {\n padding-top: 200%; }\n #optimole-app .image.is-1by3 {\n padding-top: 300%; }\n #optimole-app .image.is-16x16 {\n height: 16px;\n width: 16px; }\n #optimole-app .image.is-24x24 {\n height: 24px;\n width: 24px; }\n #optimole-app .image.is-32x32 {\n height: 32px;\n width: 32px; }\n #optimole-app .image.is-48x48 {\n height: 48px;\n width: 48px; }\n #optimole-app .image.is-64x64 {\n height: 64px;\n width: 64px; }\n #optimole-app .image.is-96x96 {\n height: 96px;\n width: 96px; }\n #optimole-app .image.is-128x128 {\n height: 128px;\n width: 128px; }\n #optimole-app .notification {\n background-color: whitesmoke;\n border-radius: 4px;\n padding: 1.25rem 2.5rem 1.25rem 1.5rem;\n position: relative; }\n #optimole-app .notification a:not(.button):not(.dropdown-item) {\n color: currentColor;\n text-decoration: underline; }\n #optimole-app .notification strong {\n color: currentColor; }\n #optimole-app .notification code,\n #optimole-app .notification pre {\n background: white; }\n #optimole-app .notification pre code {\n background: transparent; }\n #optimole-app .notification > .delete {\n position: absolute;\n right: 0.5rem;\n top: 0.5rem; }\n #optimole-app .notification .title,\n #optimole-app .notification .subtitle,\n #optimole-app .notification .content {\n color: currentColor; }\n #optimole-app .notification.is-white {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .notification.is-black {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .notification.is-light {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .notification.is-dark {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .notification.is-primary {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .notification.is-link {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .notification.is-info {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .notification.is-success {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .notification.is-warning {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .notification.is-danger {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .progress {\n -moz-appearance: none;\n -webkit-appearance: none;\n border: none;\n border-radius: 290486px;\n display: block;\n height: 1rem;\n overflow: hidden;\n padding: 0;\n width: 100%; }\n #optimole-app .progress::-webkit-progress-bar {\n background-color: #dbdbdb; }\n #optimole-app .progress::-webkit-progress-value {\n background-color: #4a4a4a; }\n #optimole-app .progress::-moz-progress-bar {\n background-color: #4a4a4a; }\n #optimole-app .progress::-ms-fill {\n background-color: #4a4a4a;\n border: none; }\n #optimole-app .progress:indeterminate {\n animation-duration: 1.5s;\n animation-iteration-count: infinite;\n animation-name: moveIndeterminate;\n animation-timing-function: linear;\n background-color: #dbdbdb;\n background-image: linear-gradient(to right, #4a4a4a 30%, #dbdbdb 30%);\n background-position: top left;\n background-repeat: no-repeat;\n background-size: 150% 150%; }\n #optimole-app .progress:indeterminate::-webkit-progress-bar {\n background-color: transparent; }\n #optimole-app .progress:indeterminate::-moz-progress-bar {\n background-color: transparent; }\n #optimole-app .progress.is-white::-webkit-progress-value {\n background-color: white; }\n #optimole-app .progress.is-white::-moz-progress-bar {\n background-color: white; }\n #optimole-app .progress.is-white::-ms-fill {\n background-color: white; }\n #optimole-app .progress.is-white:indeterminate {\n background-image: linear-gradient(to right, white 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-black::-webkit-progress-value {\n background-color: #0a0a0a; }\n #optimole-app .progress.is-black::-moz-progress-bar {\n background-color: #0a0a0a; }\n #optimole-app .progress.is-black::-ms-fill {\n background-color: #0a0a0a; }\n #optimole-app .progress.is-black:indeterminate {\n background-image: linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-light::-webkit-progress-value {\n background-color: whitesmoke; }\n #optimole-app .progress.is-light::-moz-progress-bar {\n background-color: whitesmoke; }\n #optimole-app .progress.is-light::-ms-fill {\n background-color: whitesmoke; }\n #optimole-app .progress.is-light:indeterminate {\n background-image: linear-gradient(to right, whitesmoke 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-dark::-webkit-progress-value {\n background-color: #363636; }\n #optimole-app .progress.is-dark::-moz-progress-bar {\n background-color: #363636; }\n #optimole-app .progress.is-dark::-ms-fill {\n background-color: #363636; }\n #optimole-app .progress.is-dark:indeterminate {\n background-image: linear-gradient(to right, #363636 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-primary::-webkit-progress-value {\n background-color: #EF686B; }\n #optimole-app .progress.is-primary::-moz-progress-bar {\n background-color: #EF686B; }\n #optimole-app .progress.is-primary::-ms-fill {\n background-color: #EF686B; }\n #optimole-app .progress.is-primary:indeterminate {\n background-image: linear-gradient(to right, #EF686B 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-link::-webkit-progress-value {\n background-color: #3273dc; }\n #optimole-app .progress.is-link::-moz-progress-bar {\n background-color: #3273dc; }\n #optimole-app .progress.is-link::-ms-fill {\n background-color: #3273dc; }\n #optimole-app .progress.is-link:indeterminate {\n background-image: linear-gradient(to right, #3273dc 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-info::-webkit-progress-value {\n background-color: #5180C1; }\n #optimole-app .progress.is-info::-moz-progress-bar {\n background-color: #5180C1; }\n #optimole-app .progress.is-info::-ms-fill {\n background-color: #5180C1; }\n #optimole-app .progress.is-info:indeterminate {\n background-image: linear-gradient(to right, #5180C1 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-success::-webkit-progress-value {\n background-color: #34a85e; }\n #optimole-app .progress.is-success::-moz-progress-bar {\n background-color: #34a85e; }\n #optimole-app .progress.is-success::-ms-fill {\n background-color: #34a85e; }\n #optimole-app .progress.is-success:indeterminate {\n background-image: linear-gradient(to right, #34a85e 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-warning::-webkit-progress-value {\n background-color: #ffdd57; }\n #optimole-app .progress.is-warning::-moz-progress-bar {\n background-color: #ffdd57; }\n #optimole-app .progress.is-warning::-ms-fill {\n background-color: #ffdd57; }\n #optimole-app .progress.is-warning:indeterminate {\n background-image: linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-danger::-webkit-progress-value {\n background-color: #D54222; }\n #optimole-app .progress.is-danger::-moz-progress-bar {\n background-color: #D54222; }\n #optimole-app .progress.is-danger::-ms-fill {\n background-color: #D54222; }\n #optimole-app .progress.is-danger:indeterminate {\n background-image: linear-gradient(to right, #D54222 30%, #dbdbdb 30%); }\n #optimole-app .progress.is-small {\n height: 0.75rem; }\n #optimole-app .progress.is-medium {\n height: 1.25rem; }\n #optimole-app .progress.is-large {\n height: 1.5rem; }\n\n@keyframes moveIndeterminate {\n from {\n background-position: 200% 0; }\n to {\n background-position: -200% 0; } }\n #optimole-app .table {\n background-color: white;\n color: #363636; }\n #optimole-app .table td,\n #optimole-app .table th {\n border: 1px solid #dbdbdb;\n border-width: 0 0 1px;\n padding: 0.5em 0.75em;\n vertical-align: top; }\n #optimole-app .table td.is-white,\n #optimole-app .table th.is-white {\n background-color: white;\n border-color: white;\n color: #0a0a0a; }\n #optimole-app .table td.is-black,\n #optimole-app .table th.is-black {\n background-color: #0a0a0a;\n border-color: #0a0a0a;\n color: white; }\n #optimole-app .table td.is-light,\n #optimole-app .table th.is-light {\n background-color: whitesmoke;\n border-color: whitesmoke;\n color: #363636; }\n #optimole-app .table td.is-dark,\n #optimole-app .table th.is-dark {\n background-color: #363636;\n border-color: #363636;\n color: whitesmoke; }\n #optimole-app .table td.is-primary,\n #optimole-app .table th.is-primary {\n background-color: #EF686B;\n border-color: #EF686B;\n color: #fff; }\n #optimole-app .table td.is-link,\n #optimole-app .table th.is-link {\n background-color: #3273dc;\n border-color: #3273dc;\n color: #fff; }\n #optimole-app .table td.is-info,\n #optimole-app .table th.is-info {\n background-color: #5180C1;\n border-color: #5180C1;\n color: #fff; }\n #optimole-app .table td.is-success,\n #optimole-app .table th.is-success {\n background-color: #34a85e;\n border-color: #34a85e;\n color: #fff; }\n #optimole-app .table td.is-warning,\n #optimole-app .table th.is-warning {\n background-color: #ffdd57;\n border-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .table td.is-danger,\n #optimole-app .table th.is-danger {\n background-color: #D54222;\n border-color: #D54222;\n color: #fff; }\n #optimole-app .table td.is-narrow,\n #optimole-app .table th.is-narrow {\n white-space: nowrap;\n width: 1%; }\n #optimole-app .table td.is-selected,\n #optimole-app .table th.is-selected {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .table td.is-selected a,\n #optimole-app .table td.is-selected strong,\n #optimole-app .table th.is-selected a,\n #optimole-app .table th.is-selected strong {\n color: currentColor; }\n #optimole-app .table th {\n color: #363636;\n text-align: left; }\n #optimole-app .table tr.is-selected {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .table tr.is-selected a,\n #optimole-app .table tr.is-selected strong {\n color: currentColor; }\n #optimole-app .table tr.is-selected td,\n #optimole-app .table tr.is-selected th {\n border-color: #fff;\n color: currentColor; }\n #optimole-app .table thead {\n background-color: transparent; }\n #optimole-app .table thead td,\n #optimole-app .table thead th {\n border-width: 0 0 2px;\n color: #363636; }\n #optimole-app .table tfoot {\n background-color: transparent; }\n #optimole-app .table tfoot td,\n #optimole-app .table tfoot th {\n border-width: 2px 0 0;\n color: #363636; }\n #optimole-app .table tbody {\n background-color: transparent; }\n #optimole-app .table tbody tr:last-child td,\n #optimole-app .table tbody tr:last-child th {\n border-bottom-width: 0; }\n #optimole-app .table.is-bordered td,\n #optimole-app .table.is-bordered th {\n border-width: 1px; }\n #optimole-app .table.is-bordered tr:last-child td,\n #optimole-app .table.is-bordered tr:last-child th {\n border-bottom-width: 1px; }\n #optimole-app .table.is-fullwidth {\n width: 100%; }\n #optimole-app .table.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: #fafafa; }\n #optimole-app .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {\n background-color: #fafafa; }\n #optimole-app .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {\n background-color: whitesmoke; }\n #optimole-app .table.is-narrow td,\n #optimole-app .table.is-narrow th {\n padding: 0.25em 0.5em; }\n #optimole-app .table.is-striped tbody tr:not(.is-selected):nth-child(even) {\n background-color: #fafafa; }\n #optimole-app .table-container {\n -webkit-overflow-scrolling: touch;\n overflow: auto;\n overflow-y: hidden;\n max-width: 100%; }\n #optimole-app .tags {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .tags .tag {\n margin-bottom: 0.5rem; }\n #optimole-app .tags .tag:not(:last-child) {\n margin-right: 0.5rem; }\n #optimole-app .tags:last-child {\n margin-bottom: -0.5rem; }\n #optimole-app .tags:not(:last-child) {\n margin-bottom: 1rem; }\n #optimole-app .tags.are-medium .tag:not(.is-normal):not(.is-large) {\n font-size: 1rem; }\n #optimole-app .tags.are-large .tag:not(.is-normal):not(.is-medium) {\n font-size: 1.25rem; }\n #optimole-app .tags.has-addons .tag {\n margin-right: 0; }\n #optimole-app .tags.has-addons .tag:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .tags.has-addons .tag:not(:last-child) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .tags.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .tags.is-centered .tag {\n margin-right: 0.25rem;\n margin-left: 0.25rem; }\n #optimole-app .tags.is-right {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .tags.is-right .tag:not(:first-child) {\n margin-left: 0.5rem; }\n #optimole-app .tags.is-right .tag:not(:last-child) {\n margin-right: 0; }\n #optimole-app .tags.has-addons .tag {\n margin-right: 0; }\n #optimole-app .tags.has-addons .tag:not(:first-child) {\n margin-left: 0;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n #optimole-app .tags.has-addons .tag:not(:last-child) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .tag:not(body) {\n -ms-flex-align: center;\n align-items: center;\n background-color: whitesmoke;\n border-radius: 4px;\n color: #4a4a4a;\n display: -ms-inline-flexbox;\n display: inline-flex;\n font-size: 0.75rem;\n height: 2em;\n -ms-flex-pack: center;\n justify-content: center;\n line-height: 1.5;\n padding-left: 0.75em;\n padding-right: 0.75em;\n white-space: nowrap; }\n #optimole-app .tag:not(body) .delete {\n margin-left: 0.25rem;\n margin-right: -0.375rem; }\n #optimole-app .tag:not(body).is-white {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .tag:not(body).is-black {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .tag:not(body).is-light {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .tag:not(body).is-dark {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .tag:not(body).is-primary {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .tag:not(body).is-link {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .tag:not(body).is-info {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .tag:not(body).is-success {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .tag:not(body).is-warning {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .tag:not(body).is-danger {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .tag:not(body).is-normal {\n font-size: 0.75rem; }\n #optimole-app .tag:not(body).is-medium {\n font-size: 1rem; }\n #optimole-app .tag:not(body).is-large {\n font-size: 1.25rem; }\n #optimole-app .tag:not(body) .icon:first-child:not(:last-child) {\n margin-left: -0.375em;\n margin-right: 0.1875em; }\n #optimole-app .tag:not(body) .icon:last-child:not(:first-child) {\n margin-left: 0.1875em;\n margin-right: -0.375em; }\n #optimole-app .tag:not(body) .icon:first-child:last-child {\n margin-left: -0.375em;\n margin-right: -0.375em; }\n #optimole-app .tag:not(body).is-delete {\n margin-left: 1px;\n padding: 0;\n position: relative;\n width: 2em; }\n #optimole-app .tag:not(body).is-delete::before, #optimole-app .tag:not(body).is-delete::after {\n background-color: currentColor;\n content: "";\n display: block;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translateX(-50%) translateY(-50%) rotate(45deg);\n transform-origin: center center; }\n #optimole-app .tag:not(body).is-delete::before {\n height: 1px;\n width: 50%; }\n #optimole-app .tag:not(body).is-delete::after {\n height: 50%;\n width: 1px; }\n #optimole-app .tag:not(body).is-delete:hover, #optimole-app .tag:not(body).is-delete:focus {\n background-color: #e8e8e8; }\n #optimole-app .tag:not(body).is-delete:active {\n background-color: #dbdbdb; }\n #optimole-app .tag:not(body).is-rounded {\n border-radius: 290486px; }\n #optimole-app a.tag:hover {\n text-decoration: underline; }\n #optimole-app .title,\n #optimole-app .subtitle {\n word-break: break-word; }\n #optimole-app .title em,\n #optimole-app .title span,\n #optimole-app .subtitle em,\n #optimole-app .subtitle span {\n font-weight: inherit; }\n #optimole-app .title sub,\n #optimole-app .subtitle sub {\n font-size: 0.75em; }\n #optimole-app .title sup,\n #optimole-app .subtitle sup {\n font-size: 0.75em; }\n #optimole-app .title .tag,\n #optimole-app .subtitle .tag {\n vertical-align: middle; }\n #optimole-app .title {\n color: #363636;\n font-size: 2rem;\n font-weight: 600;\n line-height: 1.125; }\n #optimole-app .title strong {\n color: inherit;\n font-weight: inherit; }\n #optimole-app .title + .highlight {\n margin-top: -0.75rem; }\n #optimole-app .title:not(.is-spaced) + .subtitle {\n margin-top: -1.25rem; }\n #optimole-app .title.is-1 {\n font-size: 3rem; }\n #optimole-app .title.is-2 {\n font-size: 2.5rem; }\n #optimole-app .title.is-3 {\n font-size: 2rem; }\n #optimole-app .title.is-4 {\n font-size: 1.5rem; }\n #optimole-app .title.is-5 {\n font-size: 1.25rem; }\n #optimole-app .title.is-6 {\n font-size: 1rem; }\n #optimole-app .title.is-7 {\n font-size: 0.75rem; }\n #optimole-app .subtitle {\n color: #4a4a4a;\n font-size: 1.25rem;\n font-weight: 400;\n line-height: 1.25; }\n #optimole-app .subtitle strong {\n color: #363636;\n font-weight: 600; }\n #optimole-app .subtitle:not(.is-spaced) + .title {\n margin-top: -1.25rem; }\n #optimole-app .subtitle.is-1 {\n font-size: 3rem; }\n #optimole-app .subtitle.is-2 {\n font-size: 2.5rem; }\n #optimole-app .subtitle.is-3 {\n font-size: 2rem; }\n #optimole-app .subtitle.is-4 {\n font-size: 1.5rem; }\n #optimole-app .subtitle.is-5 {\n font-size: 1.25rem; }\n #optimole-app .subtitle.is-6 {\n font-size: 1rem; }\n #optimole-app .subtitle.is-7 {\n font-size: 0.75rem; }\n #optimole-app .heading {\n display: block;\n font-size: 11px;\n letter-spacing: 1px;\n margin-bottom: 5px;\n text-transform: uppercase; }\n #optimole-app .highlight {\n font-weight: 400;\n max-width: 100%;\n overflow: hidden;\n padding: 0; }\n #optimole-app .highlight pre {\n overflow: auto;\n max-width: 100%; }\n #optimole-app .number {\n -ms-flex-align: center;\n align-items: center;\n background-color: whitesmoke;\n border-radius: 290486px;\n display: -ms-inline-flexbox;\n display: inline-flex;\n font-size: 1.25rem;\n height: 2em;\n -ms-flex-pack: center;\n justify-content: center;\n margin-right: 1.5rem;\n min-width: 2.5em;\n padding: 0.25rem 0.5rem;\n text-align: center;\n vertical-align: top; }\n #optimole-app .breadcrumb {\n font-size: 1rem;\n white-space: nowrap; }\n #optimole-app .breadcrumb a {\n -ms-flex-align: center;\n align-items: center;\n color: #3273dc;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0 0.75em; }\n #optimole-app .breadcrumb a:hover {\n color: #363636; }\n #optimole-app .breadcrumb li {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .breadcrumb li:first-child a {\n padding-left: 0; }\n #optimole-app .breadcrumb li.is-active a {\n color: #363636;\n cursor: default;\n pointer-events: none; }\n #optimole-app .breadcrumb li + li::before {\n color: #b5b5b5;\n content: "/"; }\n #optimole-app .breadcrumb ul,\n #optimole-app .breadcrumb ol {\n -ms-flex-align: start;\n align-items: flex-start;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n #optimole-app .breadcrumb .icon:first-child {\n margin-right: 0.5em; }\n #optimole-app .breadcrumb .icon:last-child {\n margin-left: 0.5em; }\n #optimole-app .breadcrumb.is-centered ol,\n #optimole-app .breadcrumb.is-centered ul {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .breadcrumb.is-right ol,\n #optimole-app .breadcrumb.is-right ul {\n -ms-flex-pack: end;\n justify-content: flex-end; }\n #optimole-app .breadcrumb.is-small {\n font-size: 0.75rem; }\n #optimole-app .breadcrumb.is-medium {\n font-size: 1.25rem; }\n #optimole-app .breadcrumb.is-large {\n font-size: 1.5rem; }\n #optimole-app .breadcrumb.has-arrow-separator li + li::before {\n content: "\\2192"; }\n #optimole-app .breadcrumb.has-bullet-separator li + li::before {\n content: "\\2022"; }\n #optimole-app .breadcrumb.has-dot-separator li + li::before {\n content: "\\B7"; }\n #optimole-app .breadcrumb.has-succeeds-separator li + li::before {\n content: "\\227B"; }\n #optimole-app .card {\n background-color: white;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n color: #4a4a4a;\n max-width: 100%;\n position: relative; }\n #optimole-app .card-header {\n background-color: transparent;\n -ms-flex-align: stretch;\n align-items: stretch;\n box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .card-header-title {\n -ms-flex-align: center;\n align-items: center;\n color: #363636;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-positive: 1;\n flex-grow: 1;\n font-weight: 700;\n padding: 0.75rem; }\n #optimole-app .card-header-title.is-centered {\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .card-header-icon {\n -ms-flex-align: center;\n align-items: center;\n cursor: pointer;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0.75rem; }\n #optimole-app .card-image {\n display: block;\n position: relative; }\n #optimole-app .card-content {\n background-color: transparent;\n padding: 1.5rem; }\n #optimole-app .card-footer {\n background-color: transparent;\n border-top: 1px solid #dbdbdb;\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .card-footer-item {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0.75rem; }\n #optimole-app .card-footer-item:not(:last-child) {\n border-right: 1px solid #dbdbdb; }\n #optimole-app .card .media:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .dropdown {\n display: -ms-inline-flexbox;\n display: inline-flex;\n position: relative;\n vertical-align: top; }\n #optimole-app .dropdown.is-active .dropdown-menu, #optimole-app .dropdown.is-hoverable:hover .dropdown-menu {\n display: block; }\n #optimole-app .dropdown.is-right .dropdown-menu {\n left: auto;\n right: 0; }\n #optimole-app .dropdown.is-up .dropdown-menu {\n bottom: 100%;\n padding-bottom: 4px;\n padding-top: initial;\n top: auto; }\n #optimole-app .dropdown-menu {\n display: none;\n left: 0;\n min-width: 12rem;\n padding-top: 4px;\n position: absolute;\n top: 100%;\n z-index: 20; }\n #optimole-app .dropdown-content {\n background-color: white;\n border-radius: 4px;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n padding-bottom: 0.5rem;\n padding-top: 0.5rem; }\n #optimole-app .dropdown-item {\n color: #4a4a4a;\n display: block;\n font-size: 0.875rem;\n line-height: 1.5;\n padding: 0.375rem 1rem;\n position: relative; }\n #optimole-app a.dropdown-item,\n #optimole-app button.dropdown-item {\n padding-right: 3rem;\n text-align: left;\n white-space: nowrap;\n width: 100%; }\n #optimole-app a.dropdown-item:hover,\n #optimole-app button.dropdown-item:hover {\n background-color: whitesmoke;\n color: #0a0a0a; }\n #optimole-app a.dropdown-item.is-active,\n #optimole-app button.dropdown-item.is-active {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .dropdown-divider {\n background-color: #dbdbdb;\n border: none;\n display: block;\n height: 1px;\n margin: 0.5rem 0; }\n #optimole-app .level {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between; }\n #optimole-app .level code {\n border-radius: 4px; }\n #optimole-app .level img {\n display: inline-block;\n vertical-align: top; }\n #optimole-app .level.is-mobile {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .level.is-mobile .level-left,\n #optimole-app .level.is-mobile .level-right {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .level.is-mobile .level-left + .level-right {\n margin-top: 0; }\n #optimole-app .level.is-mobile .level-item:not(:last-child) {\n margin-bottom: 0;\n margin-right: 0.75rem; }\n #optimole-app .level.is-mobile .level-item:not(.is-narrow) {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n @media screen and (min-width: 769px), print {\n #optimole-app .level {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .level > .level-item:not(.is-narrow) {\n -ms-flex-positive: 1;\n flex-grow: 1; } }\n #optimole-app .level-item {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-pack: center;\n justify-content: center; }\n #optimole-app .level-item .title,\n #optimole-app .level-item .subtitle {\n margin-bottom: 0; }\n @media screen and (max-width: 768px) {\n #optimole-app .level-item:not(:last-child) {\n margin-bottom: 0.75rem; } }\n #optimole-app .level-left,\n #optimole-app .level-right {\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .level-left .level-item.is-flexible,\n #optimole-app .level-right .level-item.is-flexible {\n -ms-flex-positive: 1;\n flex-grow: 1; }\n @media screen and (min-width: 769px), print {\n #optimole-app .level-left .level-item:not(:last-child),\n #optimole-app .level-right .level-item:not(:last-child) {\n margin-right: 0.75rem; } }\n #optimole-app .level-left {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n @media screen and (max-width: 768px) {\n #optimole-app .level-left + .level-right {\n margin-top: 1.5rem; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .level-left {\n display: -ms-flexbox;\n display: flex; } }\n #optimole-app .level-right {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n @media screen and (min-width: 769px), print {\n #optimole-app .level-right {\n display: -ms-flexbox;\n display: flex; } }\n #optimole-app .list {\n background-color: white;\n border-radius: 4px;\n box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }\n #optimole-app .list-item {\n display: block;\n padding: 0.5em 1em; }\n #optimole-app .list-item:not(a) {\n color: #4a4a4a; }\n #optimole-app .list-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px; }\n #optimole-app .list-item:last-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px; }\n #optimole-app .list-item:not(:last-child) {\n border-bottom: 1px solid #dbdbdb; }\n #optimole-app .list-item.is-active {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app a.list-item {\n background-color: whitesmoke;\n cursor: pointer; }\n #optimole-app .media {\n -ms-flex-align: start;\n align-items: flex-start;\n display: -ms-flexbox;\n display: flex;\n text-align: left; }\n #optimole-app .media .content:not(:last-child) {\n margin-bottom: 0.75rem; }\n #optimole-app .media .media {\n border-top: 1px solid rgba(219, 219, 219, 0.5);\n display: -ms-flexbox;\n display: flex;\n padding-top: 0.75rem; }\n #optimole-app .media .media .content:not(:last-child),\n #optimole-app .media .media .control:not(:last-child) {\n margin-bottom: 0.5rem; }\n #optimole-app .media .media .media {\n padding-top: 0.5rem; }\n #optimole-app .media .media .media + .media {\n margin-top: 0.5rem; }\n #optimole-app .media + .media {\n border-top: 1px solid rgba(219, 219, 219, 0.5);\n margin-top: 1rem;\n padding-top: 1rem; }\n #optimole-app .media.is-large + .media {\n margin-top: 1.5rem;\n padding-top: 1.5rem; }\n #optimole-app .media-left,\n #optimole-app .media-right {\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .media-left {\n margin-right: 1rem; }\n #optimole-app .media-right {\n margin-left: 1rem; }\n #optimole-app .media-content {\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n text-align: left; }\n @media screen and (max-width: 768px) {\n #optimole-app .media-content {\n overflow-x: auto; } }\n #optimole-app .menu {\n font-size: 1rem; }\n #optimole-app .menu.is-small {\n font-size: 0.75rem; }\n #optimole-app .menu.is-medium {\n font-size: 1.25rem; }\n #optimole-app .menu.is-large {\n font-size: 1.5rem; }\n #optimole-app .menu-list {\n line-height: 1.25; }\n #optimole-app .menu-list a {\n border-radius: 2px;\n color: #4a4a4a;\n display: block;\n padding: 0.5em 0.75em; }\n #optimole-app .menu-list a:hover {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .menu-list a.is-active {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .menu-list li ul {\n border-left: 1px solid #dbdbdb;\n margin: 0.75em;\n padding-left: 0.75em; }\n #optimole-app .menu-label {\n color: #7a7a7a;\n font-size: 0.75em;\n letter-spacing: 0.1em;\n text-transform: uppercase; }\n #optimole-app .menu-label:not(:first-child) {\n margin-top: 1em; }\n #optimole-app .menu-label:not(:last-child) {\n margin-bottom: 1em; }\n #optimole-app .message {\n background-color: whitesmoke;\n border-radius: 4px;\n font-size: 1rem; }\n #optimole-app .message strong {\n color: currentColor; }\n #optimole-app .message a:not(.button):not(.tag):not(.dropdown-item) {\n color: currentColor;\n text-decoration: underline; }\n #optimole-app .message.is-small {\n font-size: 0.75rem; }\n #optimole-app .message.is-medium {\n font-size: 1.25rem; }\n #optimole-app .message.is-large {\n font-size: 1.5rem; }\n #optimole-app .message.is-white {\n background-color: white; }\n #optimole-app .message.is-white .message-header {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .message.is-white .message-body {\n border-color: white;\n color: #4d4d4d; }\n #optimole-app .message.is-black {\n background-color: #fafafa; }\n #optimole-app .message.is-black .message-header {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .message.is-black .message-body {\n border-color: #0a0a0a;\n color: #090909; }\n #optimole-app .message.is-light {\n background-color: #fafafa; }\n #optimole-app .message.is-light .message-header {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .message.is-light .message-body {\n border-color: whitesmoke;\n color: #505050; }\n #optimole-app .message.is-dark {\n background-color: #fafafa; }\n #optimole-app .message.is-dark .message-header {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .message.is-dark .message-body {\n border-color: #363636;\n color: #2a2a2a; }\n #optimole-app .message.is-primary {\n background-color: #fef6f6; }\n #optimole-app .message.is-primary .message-header {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .message.is-primary .message-body {\n border-color: #EF686B;\n color: #bd2124; }\n #optimole-app .message.is-link {\n background-color: #f6f9fe; }\n #optimole-app .message.is-link .message-header {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .message.is-link .message-body {\n border-color: #3273dc;\n color: #22509a; }\n #optimole-app .message.is-info {\n background-color: #f7fafc; }\n #optimole-app .message.is-info .message-header {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .message.is-info .message-body {\n border-color: #5180C1;\n color: #36537c; }\n #optimole-app .message.is-success {\n background-color: #f7fdf9; }\n #optimole-app .message.is-success .message-header {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .message.is-success .message-body {\n border-color: #34a85e;\n color: #1b432a; }\n #optimole-app .message.is-warning {\n background-color: #fffdf5; }\n #optimole-app .message.is-warning .message-header {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .message.is-warning .message-body {\n border-color: #ffdd57;\n color: #3b3108; }\n #optimole-app .message.is-danger {\n background-color: #fef8f6; }\n #optimole-app .message.is-danger .message-header {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .message.is-danger .message-body {\n border-color: #D54222;\n color: #8d311d; }\n #optimole-app .message-header {\n -ms-flex-align: center;\n align-items: center;\n background-color: #4a4a4a;\n border-radius: 4px 4px 0 0;\n color: #fff;\n display: -ms-flexbox;\n display: flex;\n font-weight: 700;\n -ms-flex-pack: justify;\n justify-content: space-between;\n line-height: 1.25;\n padding: 0.75em 1em;\n position: relative; }\n #optimole-app .message-header .delete {\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-left: 0.75em; }\n #optimole-app .message-header + .message-body {\n border-width: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n #optimole-app .message-body {\n border-color: #dbdbdb;\n border-radius: 4px;\n border-style: solid;\n border-width: 0 0 0 4px;\n color: #4a4a4a;\n padding: 1.25em 1.5em; }\n #optimole-app .message-body code,\n #optimole-app .message-body pre {\n background-color: white; }\n #optimole-app .message-body pre code {\n background-color: transparent; }\n #optimole-app .modal {\n -ms-flex-align: center;\n align-items: center;\n display: none;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n position: fixed;\n z-index: 40; }\n #optimole-app .modal.is-active {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .modal-background {\n background-color: rgba(10, 10, 10, 0.86); }\n #optimole-app .modal-content,\n #optimole-app .modal-card {\n margin: 0 20px;\n max-height: calc(100vh - 160px);\n overflow: auto;\n position: relative;\n width: 100%; }\n @media screen and (min-width: 769px), print {\n #optimole-app .modal-content,\n #optimole-app .modal-card {\n margin: 0 auto;\n max-height: calc(100vh - 40px);\n width: 640px; } }\n #optimole-app .modal-close {\n background: none;\n height: 40px;\n position: fixed;\n right: 20px;\n top: 20px;\n width: 40px; }\n #optimole-app .modal-card {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n max-height: calc(100vh - 40px);\n overflow: hidden;\n -ms-overflow-y: visible; }\n #optimole-app .modal-card-head,\n #optimole-app .modal-card-foot {\n -ms-flex-align: center;\n align-items: center;\n background-color: whitesmoke;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-pack: start;\n justify-content: flex-start;\n padding: 20px;\n position: relative; }\n #optimole-app .modal-card-head {\n border-bottom: 1px solid #dbdbdb;\n border-top-left-radius: 6px;\n border-top-right-radius: 6px; }\n #optimole-app .modal-card-title {\n color: #363636;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n font-size: 1.5rem;\n line-height: 1; }\n #optimole-app .modal-card-foot {\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n border-top: 1px solid #dbdbdb; }\n #optimole-app .modal-card-foot .button:not(:last-child) {\n margin-right: 10px; }\n #optimole-app .modal-card-body {\n -webkit-overflow-scrolling: touch;\n background-color: white;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n overflow: auto;\n padding: 20px; }\n #optimole-app .navbar {\n background-color: white;\n min-height: 3.25rem;\n position: relative;\n z-index: 30; }\n #optimole-app .navbar.is-white {\n background-color: white;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-white .navbar-brand .navbar-link {\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-white .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-white .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-white .navbar-brand .navbar-link.is-active {\n background-color: #f2f2f2;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-brand .navbar-link::after {\n border-color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-burger {\n color: #0a0a0a; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-white .navbar-start > .navbar-item,\n #optimole-app .navbar.is-white .navbar-start .navbar-link,\n #optimole-app .navbar.is-white .navbar-end > .navbar-item,\n #optimole-app .navbar.is-white .navbar-end .navbar-link {\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-white .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-white .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-white .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-white .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-white .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-white .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-white .navbar-end .navbar-link.is-active {\n background-color: #f2f2f2;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-white .navbar-end .navbar-link::after {\n border-color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #f2f2f2;\n color: #0a0a0a; }\n #optimole-app .navbar.is-white .navbar-dropdown a.navbar-item.is-active {\n background-color: white;\n color: #0a0a0a; } }\n #optimole-app .navbar.is-black {\n background-color: #0a0a0a;\n color: white; }\n #optimole-app .navbar.is-black .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-black .navbar-brand .navbar-link {\n color: white; }\n #optimole-app .navbar.is-black .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-black .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-black .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-black .navbar-brand .navbar-link.is-active {\n background-color: black;\n color: white; }\n #optimole-app .navbar.is-black .navbar-brand .navbar-link::after {\n border-color: white; }\n #optimole-app .navbar.is-black .navbar-burger {\n color: white; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-black .navbar-start > .navbar-item,\n #optimole-app .navbar.is-black .navbar-start .navbar-link,\n #optimole-app .navbar.is-black .navbar-end > .navbar-item,\n #optimole-app .navbar.is-black .navbar-end .navbar-link {\n color: white; }\n #optimole-app .navbar.is-black .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-black .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-black .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-black .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-black .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-black .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-black .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-black .navbar-end .navbar-link.is-active {\n background-color: black;\n color: white; }\n #optimole-app .navbar.is-black .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-black .navbar-end .navbar-link::after {\n border-color: white; }\n #optimole-app .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: black;\n color: white; }\n #optimole-app .navbar.is-black .navbar-dropdown a.navbar-item.is-active {\n background-color: #0a0a0a;\n color: white; } }\n #optimole-app .navbar.is-light {\n background-color: whitesmoke;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-light .navbar-brand .navbar-link {\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-light .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-light .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-light .navbar-brand .navbar-link.is-active {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-brand .navbar-link::after {\n border-color: #363636; }\n #optimole-app .navbar.is-light .navbar-burger {\n color: #363636; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-light .navbar-start > .navbar-item,\n #optimole-app .navbar.is-light .navbar-start .navbar-link,\n #optimole-app .navbar.is-light .navbar-end > .navbar-item,\n #optimole-app .navbar.is-light .navbar-end .navbar-link {\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-light .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-light .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-light .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-light .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-light .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-light .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-light .navbar-end .navbar-link.is-active {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-light .navbar-end .navbar-link::after {\n border-color: #363636; }\n #optimole-app .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #e8e8e8;\n color: #363636; }\n #optimole-app .navbar.is-light .navbar-dropdown a.navbar-item.is-active {\n background-color: whitesmoke;\n color: #363636; } }\n #optimole-app .navbar.is-dark {\n background-color: #363636;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link {\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-dark .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link.is-active {\n background-color: #292929;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-brand .navbar-link::after {\n border-color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-burger {\n color: whitesmoke; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-dark .navbar-start > .navbar-item,\n #optimole-app .navbar.is-dark .navbar-start .navbar-link,\n #optimole-app .navbar.is-dark .navbar-end > .navbar-item,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link {\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-dark .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-dark .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-dark .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-dark .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-dark .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link.is-active {\n background-color: #292929;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-dark .navbar-end .navbar-link::after {\n border-color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #292929;\n color: whitesmoke; }\n #optimole-app .navbar.is-dark .navbar-dropdown a.navbar-item.is-active {\n background-color: #363636;\n color: whitesmoke; } }\n #optimole-app .navbar.is-primary {\n background-color: #EF686B;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-primary .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link.is-active {\n background-color: #ed5154;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-primary .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-primary .navbar-start > .navbar-item,\n #optimole-app .navbar.is-primary .navbar-start .navbar-link,\n #optimole-app .navbar.is-primary .navbar-end > .navbar-item,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-primary .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-primary .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-primary .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-primary .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-primary .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link.is-active {\n background-color: #ed5154;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-primary .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #ed5154;\n color: #fff; }\n #optimole-app .navbar.is-primary .navbar-dropdown a.navbar-item.is-active {\n background-color: #EF686B;\n color: #fff; } }\n #optimole-app .navbar.is-link {\n background-color: #3273dc;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-link .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-link .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-link .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-link .navbar-brand .navbar-link.is-active {\n background-color: #2366d1;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-link .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-link .navbar-start > .navbar-item,\n #optimole-app .navbar.is-link .navbar-start .navbar-link,\n #optimole-app .navbar.is-link .navbar-end > .navbar-item,\n #optimole-app .navbar.is-link .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-link .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-link .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-link .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-link .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-link .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-link .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-link .navbar-end .navbar-link.is-active {\n background-color: #2366d1;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-link .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #2366d1;\n color: #fff; }\n #optimole-app .navbar.is-link .navbar-dropdown a.navbar-item.is-active {\n background-color: #3273dc;\n color: #fff; } }\n #optimole-app .navbar.is-info {\n background-color: #5180C1;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-info .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-info .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-info .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-info .navbar-brand .navbar-link.is-active {\n background-color: #4173b7;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-info .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-info .navbar-start > .navbar-item,\n #optimole-app .navbar.is-info .navbar-start .navbar-link,\n #optimole-app .navbar.is-info .navbar-end > .navbar-item,\n #optimole-app .navbar.is-info .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-info .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-info .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-info .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-info .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-info .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-info .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-info .navbar-end .navbar-link.is-active {\n background-color: #4173b7;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-info .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #4173b7;\n color: #fff; }\n #optimole-app .navbar.is-info .navbar-dropdown a.navbar-item.is-active {\n background-color: #5180C1;\n color: #fff; } }\n #optimole-app .navbar.is-success {\n background-color: #34a85e;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-success .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-success .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-success .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-success .navbar-brand .navbar-link.is-active {\n background-color: #2e9553;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-success .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-success .navbar-start > .navbar-item,\n #optimole-app .navbar.is-success .navbar-start .navbar-link,\n #optimole-app .navbar.is-success .navbar-end > .navbar-item,\n #optimole-app .navbar.is-success .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-success .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-success .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-success .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-success .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-success .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-success .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-success .navbar-end .navbar-link.is-active {\n background-color: #2e9553;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-success .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #2e9553;\n color: #fff; }\n #optimole-app .navbar.is-success .navbar-dropdown a.navbar-item.is-active {\n background-color: #34a85e;\n color: #fff; } }\n #optimole-app .navbar.is-warning {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-warning .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link.is-active {\n background-color: #ffd83d;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-brand .navbar-link::after {\n border-color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-burger {\n color: rgba(0, 0, 0, 0.7); }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-warning .navbar-start > .navbar-item,\n #optimole-app .navbar.is-warning .navbar-start .navbar-link,\n #optimole-app .navbar.is-warning .navbar-end > .navbar-item,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link {\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-warning .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-warning .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-warning .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-warning .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-warning .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link.is-active {\n background-color: #ffd83d;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-warning .navbar-end .navbar-link::after {\n border-color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #ffd83d;\n color: rgba(0, 0, 0, 0.7); }\n #optimole-app .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {\n background-color: #ffdd57;\n color: rgba(0, 0, 0, 0.7); } }\n #optimole-app .navbar.is-danger {\n background-color: #D54222;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-brand > .navbar-item,\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-brand > a.navbar-item:hover, #optimole-app .navbar.is-danger .navbar-brand > a.navbar-item.is-active,\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link:hover,\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link.is-active {\n background-color: #bf3b1e;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-brand .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-danger .navbar-burger {\n color: #fff; }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar.is-danger .navbar-start > .navbar-item,\n #optimole-app .navbar.is-danger .navbar-start .navbar-link,\n #optimole-app .navbar.is-danger .navbar-end > .navbar-item,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link {\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-start > a.navbar-item:hover, #optimole-app .navbar.is-danger .navbar-start > a.navbar-item.is-active,\n #optimole-app .navbar.is-danger .navbar-start .navbar-link:hover,\n #optimole-app .navbar.is-danger .navbar-start .navbar-link.is-active,\n #optimole-app .navbar.is-danger .navbar-end > a.navbar-item:hover,\n #optimole-app .navbar.is-danger .navbar-end > a.navbar-item.is-active,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link:hover,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link.is-active {\n background-color: #bf3b1e;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-start .navbar-link::after,\n #optimole-app .navbar.is-danger .navbar-end .navbar-link::after {\n border-color: #fff; }\n #optimole-app .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,\n #optimole-app .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #bf3b1e;\n color: #fff; }\n #optimole-app .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {\n background-color: #D54222;\n color: #fff; } }\n #optimole-app .navbar > .container {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n min-height: 3.25rem;\n width: 100%; }\n #optimole-app .navbar.has-shadow {\n box-shadow: 0 2px 0 0 whitesmoke; }\n #optimole-app .navbar.is-fixed-bottom, #optimole-app .navbar.is-fixed-top {\n left: 0;\n position: fixed;\n right: 0;\n z-index: 30; }\n #optimole-app .navbar.is-fixed-bottom {\n bottom: 0; }\n #optimole-app .navbar.is-fixed-bottom.has-shadow {\n box-shadow: 0 -2px 0 0 whitesmoke; }\n #optimole-app .navbar.is-fixed-top {\n top: 0; }\n #optimole-app html.has-navbar-fixed-top,\n #optimole-app body.has-navbar-fixed-top {\n padding-top: 3.25rem; }\n #optimole-app html.has-navbar-fixed-bottom,\n #optimole-app body.has-navbar-fixed-bottom {\n padding-bottom: 3.25rem; }\n #optimole-app .navbar-brand,\n #optimole-app .navbar-tabs {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n min-height: 3.25rem; }\n #optimole-app .navbar-brand a.navbar-item:hover {\n background-color: transparent; }\n #optimole-app .navbar-tabs {\n -webkit-overflow-scrolling: touch;\n max-width: 100vw;\n overflow-x: auto;\n overflow-y: hidden; }\n #optimole-app .navbar-burger {\n color: #4a4a4a;\n cursor: pointer;\n display: block;\n height: 3.25rem;\n position: relative;\n width: 3.25rem;\n margin-left: auto; }\n #optimole-app .navbar-burger span {\n background-color: currentColor;\n display: block;\n height: 1px;\n left: calc(50% - 8px);\n position: absolute;\n transform-origin: center;\n transition-duration: 86ms;\n transition-property: background-color, opacity, transform;\n transition-timing-function: ease-out;\n width: 16px; }\n #optimole-app .navbar-burger span:nth-child(1) {\n top: calc(50% - 6px); }\n #optimole-app .navbar-burger span:nth-child(2) {\n top: calc(50% - 1px); }\n #optimole-app .navbar-burger span:nth-child(3) {\n top: calc(50% + 4px); }\n #optimole-app .navbar-burger:hover {\n background-color: rgba(0, 0, 0, 0.05); }\n #optimole-app .navbar-burger.is-active span:nth-child(1) {\n transform: translateY(5px) rotate(45deg); }\n #optimole-app .navbar-burger.is-active span:nth-child(2) {\n opacity: 0; }\n #optimole-app .navbar-burger.is-active span:nth-child(3) {\n transform: translateY(-5px) rotate(-45deg); }\n #optimole-app .navbar-menu {\n display: none; }\n #optimole-app .navbar-item,\n #optimole-app .navbar-link {\n color: #4a4a4a;\n display: block;\n line-height: 1.5;\n padding: 0.5rem 0.75rem;\n position: relative; }\n #optimole-app .navbar-item .icon:only-child,\n #optimole-app .navbar-link .icon:only-child {\n margin-left: -0.25rem;\n margin-right: -0.25rem; }\n #optimole-app a.navbar-item,\n #optimole-app .navbar-link {\n cursor: pointer; }\n #optimole-app a.navbar-item:hover, #optimole-app a.navbar-item.is-active,\n #optimole-app .navbar-link:hover,\n #optimole-app .navbar-link.is-active {\n background-color: #fafafa;\n color: #3273dc; }\n #optimole-app .navbar-item {\n display: block;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .navbar-item img {\n max-height: 1.75rem; }\n #optimole-app .navbar-item.has-dropdown {\n padding: 0; }\n #optimole-app .navbar-item.is-expanded {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .navbar-item.is-tab {\n border-bottom: 1px solid transparent;\n min-height: 3.25rem;\n padding-bottom: calc(0.5rem - 1px); }\n #optimole-app .navbar-item.is-tab:hover {\n background-color: transparent;\n border-bottom-color: #3273dc; }\n #optimole-app .navbar-item.is-tab.is-active {\n background-color: transparent;\n border-bottom-color: #3273dc;\n border-bottom-style: solid;\n border-bottom-width: 3px;\n color: #3273dc;\n padding-bottom: calc(0.5rem - 3px); }\n #optimole-app .navbar-content {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .navbar-link:not(.is-arrowless) {\n padding-right: 2.5em; }\n #optimole-app .navbar-link:not(.is-arrowless)::after {\n border-color: #3273dc;\n margin-top: -0.375em;\n right: 1.125em; }\n #optimole-app .navbar-dropdown {\n font-size: 0.875rem;\n padding-bottom: 0.5rem;\n padding-top: 0.5rem; }\n #optimole-app .navbar-dropdown .navbar-item {\n padding-left: 1.5rem;\n padding-right: 1.5rem; }\n #optimole-app .navbar-divider {\n background-color: whitesmoke;\n border: none;\n display: none;\n height: 2px;\n margin: 0.5rem 0; }\n @media screen and (max-width: 1087px) {\n #optimole-app .navbar > .container {\n display: block; }\n #optimole-app .navbar-brand .navbar-item,\n #optimole-app .navbar-tabs .navbar-item {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar-link::after {\n display: none; }\n #optimole-app .navbar-menu {\n background-color: white;\n box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);\n padding: 0.5rem 0; }\n #optimole-app .navbar-menu.is-active {\n display: block; }\n #optimole-app .navbar.is-fixed-bottom-touch, #optimole-app .navbar.is-fixed-top-touch {\n left: 0;\n position: fixed;\n right: 0;\n z-index: 30; }\n #optimole-app .navbar.is-fixed-bottom-touch {\n bottom: 0; }\n #optimole-app .navbar.is-fixed-bottom-touch.has-shadow {\n box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }\n #optimole-app .navbar.is-fixed-top-touch {\n top: 0; }\n #optimole-app .navbar.is-fixed-top .navbar-menu, #optimole-app .navbar.is-fixed-top-touch .navbar-menu {\n -webkit-overflow-scrolling: touch;\n max-height: calc(100vh - 3.25rem);\n overflow: auto; }\n #optimole-app html.has-navbar-fixed-top-touch,\n #optimole-app body.has-navbar-fixed-top-touch {\n padding-top: 3.25rem; }\n #optimole-app html.has-navbar-fixed-bottom-touch,\n #optimole-app body.has-navbar-fixed-bottom-touch {\n padding-bottom: 3.25rem; } }\n @media screen and (min-width: 1088px) {\n #optimole-app .navbar,\n #optimole-app .navbar-menu,\n #optimole-app .navbar-start,\n #optimole-app .navbar-end {\n -ms-flex-align: stretch;\n align-items: stretch;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar {\n min-height: 3.25rem; }\n #optimole-app .navbar.is-spaced {\n padding: 1rem 2rem; }\n #optimole-app .navbar.is-spaced .navbar-start,\n #optimole-app .navbar.is-spaced .navbar-end {\n -ms-flex-align: center;\n align-items: center; }\n #optimole-app .navbar.is-spaced a.navbar-item,\n #optimole-app .navbar.is-spaced .navbar-link {\n border-radius: 4px; }\n #optimole-app .navbar.is-transparent a.navbar-item:hover, #optimole-app .navbar.is-transparent a.navbar-item.is-active,\n #optimole-app .navbar.is-transparent .navbar-link:hover,\n #optimole-app .navbar.is-transparent .navbar-link.is-active {\n background-color: transparent !important; }\n #optimole-app .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, #optimole-app .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {\n background-color: transparent !important; }\n #optimole-app .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {\n background-color: whitesmoke;\n color: #0a0a0a; }\n #optimole-app .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {\n background-color: whitesmoke;\n color: #3273dc; }\n #optimole-app .navbar-burger {\n display: none; }\n #optimole-app .navbar-item,\n #optimole-app .navbar-link {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar-item {\n display: -ms-flexbox;\n display: flex; }\n #optimole-app .navbar-item.has-dropdown {\n -ms-flex-align: stretch;\n align-items: stretch; }\n #optimole-app .navbar-item.has-dropdown-up .navbar-link::after {\n transform: rotate(135deg) translate(0.25em, -0.25em); }\n #optimole-app .navbar-item.has-dropdown-up .navbar-dropdown {\n border-bottom: 2px solid #dbdbdb;\n border-radius: 6px 6px 0 0;\n border-top: none;\n bottom: 100%;\n box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);\n top: auto; }\n #optimole-app .navbar-item.is-active .navbar-dropdown, #optimole-app .navbar-item.is-hoverable:hover .navbar-dropdown {\n display: block; }\n .navbar.is-spaced #optimole-app .navbar-item.is-active .navbar-dropdown, #optimole-app .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced #optimole-app .navbar-item.is-hoverable:hover .navbar-dropdown, #optimole-app .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0); }\n #optimole-app .navbar-menu {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n #optimole-app .navbar-start {\n -ms-flex-pack: start;\n justify-content: flex-start;\n margin-right: auto; }\n #optimole-app .navbar-end {\n -ms-flex-pack: end;\n justify-content: flex-end;\n margin-left: auto; }\n #optimole-app .navbar-dropdown {\n background-color: white;\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n border-top: 2px solid #dbdbdb;\n box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);\n display: none;\n font-size: 0.875rem;\n left: 0;\n min-width: 100%;\n position: absolute;\n top: 100%;\n z-index: 20; }\n #optimole-app .navbar-dropdown .navbar-item {\n padding: 0.375rem 1rem;\n white-space: nowrap; }\n #optimole-app .navbar-dropdown a.navbar-item {\n padding-right: 3rem; }\n #optimole-app .navbar-dropdown a.navbar-item:hover {\n background-color: whitesmoke;\n color: #0a0a0a; }\n #optimole-app .navbar-dropdown a.navbar-item.is-active {\n background-color: whitesmoke;\n color: #3273dc; }\n .navbar.is-spaced #optimole-app .navbar-dropdown, #optimole-app .navbar-dropdown.is-boxed {\n border-radius: 6px;\n border-top: none;\n box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);\n display: block;\n opacity: 0;\n pointer-events: none;\n top: calc(100% + (-4px));\n transform: translateY(-5px);\n transition-duration: 86ms;\n transition-property: opacity, transform; }\n #optimole-app .navbar-dropdown.is-right {\n left: auto;\n right: 0; }\n #optimole-app .navbar-divider {\n display: block; }\n #optimole-app .navbar > .container .navbar-brand,\n #optimole-app .container > .navbar .navbar-brand {\n margin-left: -.75rem; }\n #optimole-app .navbar > .container .navbar-menu,\n #optimole-app .container > .navbar .navbar-menu {\n margin-right: -.75rem; }\n #optimole-app .navbar.is-fixed-bottom-desktop, #optimole-app .navbar.is-fixed-top-desktop {\n left: 0;\n position: fixed;\n right: 0;\n z-index: 30; }\n #optimole-app .navbar.is-fixed-bottom-desktop {\n bottom: 0; }\n #optimole-app .navbar.is-fixed-bottom-desktop.has-shadow {\n box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }\n #optimole-app .navbar.is-fixed-top-desktop {\n top: 0; }\n #optimole-app html.has-navbar-fixed-top-desktop,\n #optimole-app body.has-navbar-fixed-top-desktop {\n padding-top: 3.25rem; }\n #optimole-app html.has-navbar-fixed-bottom-desktop,\n #optimole-app body.has-navbar-fixed-bottom-desktop {\n padding-bottom: 3.25rem; }\n #optimole-app html.has-spaced-navbar-fixed-top,\n #optimole-app body.has-spaced-navbar-fixed-top {\n padding-top: 5.25rem; }\n #optimole-app html.has-spaced-navbar-fixed-bottom,\n #optimole-app body.has-spaced-navbar-fixed-bottom {\n padding-bottom: 5.25rem; }\n #optimole-app a.navbar-item.is-active,\n #optimole-app .navbar-link.is-active {\n color: #0a0a0a; }\n #optimole-app a.navbar-item.is-active:not(:hover),\n #optimole-app .navbar-link.is-active:not(:hover) {\n background-color: transparent; }\n #optimole-app .navbar-item.has-dropdown:hover .navbar-link, #optimole-app .navbar-item.has-dropdown.is-active .navbar-link {\n background-color: #fafafa; } }\n #optimole-app .hero.is-fullheight-with-navbar {\n min-height: calc(100vh - 3.25rem); }\n #optimole-app .pagination {\n font-size: 1rem;\n margin: -0.25rem; }\n #optimole-app .pagination.is-small {\n font-size: 0.75rem; }\n #optimole-app .pagination.is-medium {\n font-size: 1.25rem; }\n #optimole-app .pagination.is-large {\n font-size: 1.5rem; }\n #optimole-app .pagination.is-rounded .pagination-previous,\n #optimole-app .pagination.is-rounded .pagination-next {\n padding-left: 1em;\n padding-right: 1em;\n border-radius: 290486px; }\n #optimole-app .pagination.is-rounded .pagination-link {\n border-radius: 290486px; }\n #optimole-app .pagination,\n #optimole-app .pagination-list {\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n text-align: center; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link,\n #optimole-app .pagination-ellipsis {\n font-size: 1em;\n padding-left: 0.5em;\n padding-right: 0.5em;\n -ms-flex-pack: center;\n justify-content: center;\n margin: 0.25rem;\n text-align: center; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next,\n #optimole-app .pagination-link {\n border-color: #dbdbdb;\n color: #363636;\n min-width: 2.25em; }\n #optimole-app .pagination-previous:hover,\n #optimole-app .pagination-next:hover,\n #optimole-app .pagination-link:hover {\n border-color: #b5b5b5;\n color: #363636; }\n #optimole-app .pagination-previous:focus,\n #optimole-app .pagination-next:focus,\n #optimole-app .pagination-link:focus {\n border-color: #3273dc; }\n #optimole-app .pagination-previous:active,\n #optimole-app .pagination-next:active,\n #optimole-app .pagination-link:active {\n box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }\n #optimole-app .pagination-previous[disabled],\n #optimole-app .pagination-next[disabled],\n #optimole-app .pagination-link[disabled] {\n background-color: #dbdbdb;\n border-color: #dbdbdb;\n box-shadow: none;\n color: #7a7a7a;\n opacity: 0.5; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next {\n padding-left: 0.75em;\n padding-right: 0.75em;\n white-space: nowrap; }\n #optimole-app .pagination-link.is-current {\n background-color: #3273dc;\n border-color: #3273dc;\n color: #fff; }\n #optimole-app .pagination-ellipsis {\n color: #b5b5b5;\n pointer-events: none; }\n #optimole-app .pagination-list {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n @media screen and (max-width: 768px) {\n #optimole-app .pagination {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n #optimole-app .pagination-previous,\n #optimole-app .pagination-next {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; }\n #optimole-app .pagination-list li {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1; } }\n @media screen and (min-width: 769px), print {\n #optimole-app .pagination-list {\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-negative: 1;\n flex-shrink: 1;\n -ms-flex-pack: start;\n justify-content: flex-start;\n -ms-flex-order: 1;\n order: 1; }\n #optimole-app .pagination-previous {\n -ms-flex-order: 2;\n order: 2; }\n #optimole-app .pagination-next {\n -ms-flex-order: 3;\n order: 3; }\n #optimole-app .pagination {\n -ms-flex-pack: justify;\n justify-content: space-between; }\n #optimole-app .pagination.is-centered .pagination-previous {\n -ms-flex-order: 1;\n order: 1; }\n #optimole-app .pagination.is-centered .pagination-list {\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-order: 2;\n order: 2; }\n #optimole-app .pagination.is-centered .pagination-next {\n -ms-flex-order: 3;\n order: 3; }\n #optimole-app .pagination.is-right .pagination-previous {\n -ms-flex-order: 1;\n order: 1; }\n #optimole-app .pag
|
8 |
* https://github.com/pagekit/vue-resource
|
9 |
* Released under the MIT License.
|
10 |
*/
|
|