diff --git a/Audit trail.mpr b/Audit trail.mpr index 2dd9f79..4ca8c84 100644 Binary files a/Audit trail.mpr and b/Audit trail.mpr differ diff --git a/javasource/unittesting/RemoteApiServlet.java b/javasource/unittesting/RemoteApiServlet.java index 22e22a1..9bddadb 100644 --- a/javasource/unittesting/RemoteApiServlet.java +++ b/javasource/unittesting/RemoteApiServlet.java @@ -6,7 +6,7 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.IOUtils; -import org.apache.http.auth.InvalidCredentialsException; +import org.apache.hc.client5.http.auth.InvalidCredentialsException; import com.mendix.core.Core; import com.mendix.core.CoreException; import com.mendix.externalinterface.connector.RequestHandler; diff --git a/javasource/unittesting/TestManager.java b/javasource/unittesting/TestManager.java index 9c1c688..4a169b7 100644 --- a/javasource/unittesting/TestManager.java +++ b/javasource/unittesting/TestManager.java @@ -20,6 +20,7 @@ import org.junit.Test; import org.junit.runner.Description; import org.junit.runner.JUnitCore; +import org.junit.runner.Request; import org.junit.runners.JUnit4; import org.junit.runners.model.FrameworkMethod; import org.junit.runners.model.InitializationError; @@ -58,18 +59,18 @@ public AssertionException(String message) } static final String CLOUD_SECURITY_ERROR = "Unable to find JUnit test classes or methods. \n\n"; - + private static TestManager instance; public static ILogNode LOG = Core.getLogger("UnitTestRunner"); - + private static final Map emptyArguments = new HashMap(); private static final Map[]> classCache = new HashMap[]>(); - + private IContext setupContext; private String lastStep; - - + + public static TestManager instance() { @@ -94,7 +95,7 @@ private static Class[] getUnitTestClasses(TestSuite testRun) throws ZipExcept public synchronized void runTest(IContext context, UnitTest unitTest) throws ClassNotFoundException, CoreException { TestSuite testSuite = unitTest.getUnitTest_TestSuite(); - + /** * Is Mf */ @@ -112,17 +113,23 @@ public synchronized void runTest(IContext context, UnitTest unitTest) throws Cla * Is java */ else { - - Class test = Class.forName(unitTest.getName().split("/")[0]); + String[] parts = unitTest.getName().split("/"); + Request request; + if (parts.length == 1) // class-scale test run + request = Request.aClass(Class.forName(parts[0])); + else if (parts.length == 2) // method-scale test run + request = Request.method(Class.forName(parts[0]), parts[1]); + else + throw new CoreException("Invalid test specification: " + unitTest.getName() + "\nTest method run should be defined in either form $testClass or $testClass/$testMethod."); JUnitCore junit = new JUnitCore(); junit.addListener(new UnitTestRunListener(context, testSuite)); - junit.run(test); + junit.run(request); } } - private void runMfSetup(TestSuite testSuite) + private void runMfSetup(TestSuite testSuite) { if (Core.getMicroflowNames().contains(testSuite.getModule() + ".Setup")) { try { @@ -130,9 +137,9 @@ private void runMfSetup(TestSuite testSuite) if (testSuite.getAutoRollbackMFs()) { setupContext = Core.createSystemContext(); setupContext.startTransaction(); - Core.execute(setupContext, testSuite.getModule() + ".Setup", emptyArguments); + Core.microflowCall(testSuite.getModule() + ".Setup").execute(setupContext); } else { - Core.execute(Core.createSystemContext(), testSuite.getModule() + ".Setup", emptyArguments); + Core.microflowCall(testSuite.getModule() + ".Setup").execute(Core.createSystemContext()); } } catch(Exception e) { @@ -142,7 +149,7 @@ private void runMfSetup(TestSuite testSuite) } } - private void runMfTearDown(TestSuite testSuite) + private void runMfTearDown(TestSuite testSuite) { IContext tearDownContext = setupContext; if (Core.getMicroflowNames().contains(testSuite.getModule() + ".TearDown")) { @@ -155,7 +162,7 @@ private void runMfTearDown(TestSuite testSuite) if (testSuite.getAutoRollbackMFs()) { tearDownContext.startTransaction(); } - Core.execute(tearDownContext, testSuite.getModule() + ".TearDown", emptyArguments); + Core.microflowCall(testSuite.getModule() + ".TearDown").execute(tearDownContext); } catch (Exception e) { @@ -163,26 +170,26 @@ private void runMfTearDown(TestSuite testSuite) throw new RuntimeException(e); } } - - // Either we had a teardown a teardown or + + // Either we had a teardown a teardown or if (testSuite.getAutoRollbackMFs() && tearDownContext != null) { tearDownContext.rollbackTransAction(); } - + // Make sure we clean setupContext after running this test/suite setupContext = null; } - + public synchronized void runTestSuites() throws CoreException { LOG.info("Starting testrun on all suites"); - + //Context without transaction! IContext context = Core.createSystemContext(); - + List testsuites = Core.retrieveXPathQuery(context,"//" +TestSuite.entityName); - + for(IMendixObject suite : testsuites) { - suite.setValue(context, TestSuite.MemberNames.Result.toString(), null);; + suite.setValue(context, TestSuite.MemberNames.Result.toString(), null);; } Core.commit(context, testsuites); @@ -205,12 +212,12 @@ public synchronized boolean runTestSuite(IContext context, TestSuite testSuite) testSuite.setTestFailedCount(0L); testSuite.setResult(UnitTestResult._1_Running); testSuite.commit(); - + for(UnitTest test : XPath.create(context, UnitTest.class).eq(UnitTest.MemberNames.UnitTest_TestSuite, testSuite).all()) { test.setResult(null); test.commit(); } - + long start = System.currentTimeMillis(); /** @@ -225,39 +232,39 @@ public synchronized boolean runTestSuite(IContext context, TestSuite testSuite) catch(Exception e) { LOG.error(CLOUD_SECURITY_ERROR + e.getMessage(), e); } - + if (clazzez != null && clazzez.length > 0) { JUnitCore junit = new JUnitCore(); junit.addListener(new UnitTestRunListener(context, testSuite)); - + junit.run(clazzez); } } - /** + /** * Run microflow tests - * + * */ try { runMfSetup(testSuite); - + List mfnames = findMicroflowUnitTests(testSuite); - + for (String mf : mfnames){ - if (!runMicroflowTest(mf, getUnitTest(context, testSuite, mf, true), testSuite)) + if (!runMicroflowTest(mf, getUnitTest(context, testSuite, mf, true), testSuite)) { testSuite.setTestFailedCount(testSuite.getTestFailedCount() + 1); testSuite.commit(); } } - + } finally { runMfTearDown(testSuite); } - - /** + + /** * Aggregate */ testSuite.setLastRunTime((System.currentTimeMillis() - start) / 1000); @@ -279,14 +286,14 @@ public List findMicroflowUnitTests(TestSuite testRun) if(testRun.getPrefix2() == null) { testRun.setPrefix2("UT_"); } - - + + String basename1 = (testRun.getModule() + "." + testRun.getPrefix1()).toLowerCase(); String basename2 = (testRun.getModule() + "." + testRun.getPrefix2()).toLowerCase(); - + //Find microflownames - for (String mf : Core.getMicroflowNames()) - if (mf.toLowerCase().startsWith(basename1) || mf.toLowerCase().startsWith(basename2)) + for (String mf : Core.getMicroflowNames()) + if (mf.toLowerCase().startsWith(basename1) || mf.toLowerCase().startsWith(basename2)) mfnames.add(mf); //Sort microflow names @@ -297,23 +304,23 @@ public List findMicroflowUnitTests(TestSuite testRun) private boolean runMicroflowTest(String mf, UnitTest test) throws CoreException { - /** + /** * Prepare... */ TestSuite testSuite = test.getUnitTest_TestSuite(); return runMicroflowTest(mf, test, testSuite); } - + private boolean runMicroflowTest(String mf, UnitTest test, TestSuite testSuite) throws CoreException { - /** + /** * Prepare... */ LOG.info("Starting unittest for microflow " + mf); reportStep("Starting microflow test '" + mf + "'"); - + test.setResult(UnitTestResult._1_Running); test.setName(mf); test.setResultMessage(""); @@ -323,19 +330,19 @@ private boolean runMicroflowTest(String mf, UnitTest test, TestSuite testSuite) test.setResultMessage("Unable to start test '" + mf + "', microflow has parameters"); test.setResult(UnitTestResult._2_Failed); } - else if (Core.getReturnType(mf).getType() != IDataType.DataTypeEnum.Boolean && + else if (Core.getReturnType(mf).getType() != IDataType.DataTypeEnum.Boolean && Core.getReturnType(mf).getType() != IDataType.DataTypeEnum.String && Core.getReturnType(mf).getType() != IDataType.DataTypeEnum.Nothing) { - + test.setResultMessage("Unable to start test '" + mf + "', microflow should return either a boolean or a string or nothing at all"); - + test.setResult(UnitTestResult._2_Failed); } commitSilent(test); IContext mfContext = null; - + if (testSuite.getAutoRollbackMFs()) { if (Core.getMicroflowNames().contains(testSuite.getModule() + ".Setup")) mfContext = setupContext.clone(); @@ -345,22 +352,24 @@ else if (Core.getReturnType(mf).getType() != IDataType.DataTypeEnum.Boolean && } else { mfContext = Core.createSystemContext(); } - + long start = System.currentTimeMillis(); try { - Object resultObject = Core.execute(mfContext, mf, emptyArguments); - + Object resultObject = Core.microflowCall(mf).execute(mfContext); + start = System.currentTimeMillis() - start; boolean res = resultObject == null || Boolean.TRUE.equals(resultObject) || "".equals(resultObject); - + test.setResult(res ? UnitTestResult._3_Success : UnitTestResult._2_Failed); - + if (res) { test.setResultMessage("Microflow completed successfully"); + } else if (resultObject instanceof String) { + test.setResultMessage((String)resultObject); } - + return res; } catch(Exception e) { @@ -374,7 +383,7 @@ else if (Core.getReturnType(mf).getType() != IDataType.DataTypeEnum.Boolean && else test.setResultMessage("Exception: " + e.getMessage() + "\n\n" + ExceptionUtils.getStackTrace(e)); return false; - + } finally { if (testSuite.getAutoRollbackMFs()) @@ -433,26 +442,26 @@ private UnitTest getUnitTest(IContext context, TestSuite testSuite, String name, /** - * - * + * + * * Find runabble classes - * + * * https://github.com/ddopson/java-class-enumerator/blob/master/src/pro/ddopson/ClassEnumerator.java - * + * */ private static Class loadClass(String className) { try { return TestManager.instance().getClass().getClassLoader().loadClass(className); - } + } catch (ClassNotFoundException e) { throw new RuntimeException("Unexpected ClassNotFoundException loading class '" + className + "'"); } } - private static void processProjectJar(File projectJar, String pkgname, ArrayList> classes) throws IOException { + private static void processProjectJar(File projectJar, String pkgname, ArrayList> classes) throws IOException { // Get the list of the files contained in the package - + ZipFile zipFile = new ZipFile(projectJar); Enumeration entries = zipFile.entries(); while(entries.hasMoreElements()){ @@ -460,7 +469,7 @@ private static void processProjectJar(File projectJar, String pkgname, ArrayList String fileName = zipEntry.getName(); String className = null; - + if (fileName.startsWith(pkgname) && fileName.endsWith(".class")) { fileName = fileName.replace("/", "."); // removes the .class extension @@ -477,7 +486,7 @@ private static void processProjectJar(File projectJar, String pkgname, ArrayList private static boolean isProperUnitTest(Class clazz) { - for (Method m : clazz.getMethods()) + for (Method m : clazz.getMethods()) if (m.getAnnotation(org.junit.Test.class) != null) return true; @@ -497,9 +506,9 @@ public static ArrayList> getClassesForPackage(String path /*Package pkg // Get a File object containing the classes. This file is expected to be located at [deploymentdir]/model/bundles/project.jar File projectjar = new File(Core.getConfiguration().getBasePath() + File.separator + "model" + File.separator + "bundles" + File.separator + "project.jar"); - + processProjectJar(projectjar, pkgname, classes); - + return classes; } @@ -517,7 +526,7 @@ public synchronized void findAllTests(IContext context) throws CoreException { Set modules = new HashSet(); for(String name : Core.getMicroflowNames()) modules.add(name.split("\\.")[0]); - + /* * Update modules */ @@ -525,7 +534,7 @@ public synchronized void findAllTests(IContext context) throws CoreException { TestSuite testSuite = XPath.create(context, TestSuite.class).findOrCreate(TestSuite.MemberNames.Module, module); updateUnitTestList(context, testSuite); } - + /* * Remove all modules without tests */ @@ -544,30 +553,30 @@ public synchronized void updateUnitTestList(IContext context, TestSuite testSuit test.set_dirty(true); test.commit(); } - + /* * Find microflow tests */ - for (String mf : findMicroflowUnitTests(testSuite)) { + for (String mf : findMicroflowUnitTests(testSuite)) { UnitTest test = getUnitTest(context, testSuite, mf, true); test.set_dirty(false); test.setUnitTest_TestSuite(testSuite); test.commit(); } - + if(unittesting.proxies.constants.Constants.getFindJUnitTests()) { /* * Find Junit tests */ - for (String jtest : findJUnitTests(testSuite)) { + for (String jtest : findJUnitTests(testSuite)) { UnitTest test = getUnitTest(context, testSuite, jtest, false); test.set_dirty(false); test.setUnitTest_TestSuite(testSuite); test.commit(); } } - + /* * Delete dirty tests */ @@ -576,44 +585,44 @@ public synchronized void updateUnitTestList(IContext context, TestSuite testSuit .all()) { test.delete(); } - + /* * Update count */ testSuite.setTestCount(XPath.create(context, UnitTest.class).eq(UnitTest.MemberNames.UnitTest_TestSuite, testSuite).count()); testSuite.commit(); - + } catch(Exception e) { LOG.error("Failed to update unit test list: " + e.getMessage(), e); } - + } public List findJUnitTests(TestSuite testSuite) { - List junitTests = new ArrayList(); + List junitTests = new ArrayList(); try { Class[] clazzez = getUnitTestClasses(testSuite); - if (clazzez != null && clazzez.length > 0) { + if (clazzez != null && clazzez.length > 0) { for (Class clazz : clazzez) { - + //From https://github.com/KentBeck/junit/blob/master/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java method computeTestMethods try { List methods = new JUnit4(clazz).getTestClass().getAnnotatedMethods(Test.class); - - if (methods != null && !methods.isEmpty()) + + if (methods != null && !methods.isEmpty()) for (FrameworkMethod method: methods) junitTests.add(clazz.getName() + "/" + method.getName()); } catch(InitializationError e2) { StringBuilder errors = new StringBuilder(); - + for(Throwable cause : e2.getCauses()) errors.append("\n").append(cause.getMessage()); - + LOG.error("Failed to recognize class '" + clazz + "' as unitTestClass: " + errors.toString()); } } @@ -630,4 +639,4 @@ public String getLastReportedStep() { //MWE: this system is problematic weird if used from multiple simultanously used threads.. return lastStep; } -} \ No newline at end of file +} diff --git a/theme/.prettierrc b/theme/.prettierrc deleted file mode 100644 index a46f75f..0000000 --- a/theme/.prettierrc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "singleQuote": false, - "printWidth": 120, - "proseWrap": "always", - "tabWidth": 4, - "useTabs": false, - "trailingComma": "all", - "bracketSpacing": true, - "semi": true, - "arrowParens": "avoid" -} diff --git a/theme/.stylelintrc b/theme/.stylelintrc deleted file mode 100644 index 62c30a6..0000000 --- a/theme/.stylelintrc +++ /dev/null @@ -1,32 +0,0 @@ -{ - "extends": "stylelint-config-standard", - "rules": { - "indentation": 4, - "string-quotes": "double", - "no-duplicate-selectors": true, - "color-hex-case": "upper", - "color-hex-length": "short", - "selector-combinator-space-after": "always", - "selector-attribute-operator-space-before": "always", - "selector-attribute-operator-space-after": "always", - "selector-attribute-brackets-space-inside": "always", - "declaration-block-trailing-semicolon": "always", - "declaration-colon-space-before": "never", - "declaration-colon-space-after": "always", - "number-leading-zero": "never", - "function-url-quotes": "always", - "font-family-name-quotes": "always-unless-keyword", - "comment-whitespace-inside": "always", - "comment-empty-line-before": "always", - "rule-empty-line-before": "always-multi-line", - "selector-pseudo-element-colon-notation": "single", - "media-feature-range-operator-space-after": "always", - "media-feature-colon-space-after": "always", - "no-descending-specificity": null, - "declaration-colon-newline-after": null, - "value-list-comma-newline-after": null, - "at-rule-no-unknown": [true, { - "ignoreAtRules": ["function", "if", "each", "include", "mixin"] - }] - } -} diff --git a/theme/LICENSE b/theme/LICENSE deleted file mode 100644 index 476061e..0000000 --- a/theme/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 Mendix - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/theme/README.md b/theme/README.md deleted file mode 100644 index e07d8b5..0000000 --- a/theme/README.md +++ /dev/null @@ -1,87 +0,0 @@ -# Mendix Atlas UI - -Mendix Atlas UI is the foundation of making beautiful apps with Mendix. For more information about the framework go to -[here](https://atlas.mendix.com/). - -#### Structure - -Mendix is capable of creating beautiful and user-friendly UI. Our Atlas UI framework demonstrates some of its -possibilities. Here you will find a basic overview of our framework. - -``` -theme/ -├── styles/ -| ├── native/ -| | ├── ts/ // Will not be in the Atlas UI Resources module -| | ├── js/ -| | ├── app/ -| | | ├── _custom-variables.js -| | | └── _custom.js -| | ├── core/ -| |     |   ├── base/ -| |     |   ├── helpers/ -| | | ├── widgets/ -| |    |  | _variables.js -| |    |  └── manifest.json -| | ├── ui_resources/ -| |     |   └── atlas_ui_resources/ -| |     |   ├── buildingblocks/ -| |     |   └── layouts/ -| | └── main.js -| └── web/ -| ├── css/ -| │ ├── * all output files -| └── sass/ -| ├── app/ -| | ├── _custom-variables.scss -| | └── _custom.scss -| ├── core/ -|       |   ├── _legacy/ -|       |   ├── base/ -|       |   ├── helpers/ -| | ├── widgets/ -| | ├── widgetscustom/ -|      |   | _variables.scss -|      |  └── manifest.json -| ├── ui_resources/ -|       |   └── atlas_ui_resources/ -|       |   ├── buildingblocks/ -|       |   └── layouts/ -| └── main.scss -├── * index files -├── * assets -├── * settings*.json (Design Properties) -└── styles.js -``` - -#### App - -The app folder contains all custom styling. We recommend users to only use this directory for any custom styling. - -When you want to customize something, you should first check if you can accomplish your goal by changing variables. -These variables can be found in _styles/web/sass/core/variables.scss_ or _styles/native/core/variables.js_. If you want -to change any core variable, copy it to _../app/\_custom-variables.(scss|js)_ and change it there. It will then -overwrite the core variable. This will make updating Atlas UI much easier in the future. - -#### Core - -The core folder is the heart of Atlas UI. This folder includes base styling, widget styling & additional helper classes. -The core widget styling is split in to two parts. The widget folder includes the default widget styling, as it will look -out of the box. The helpers folder will include design properties and extra classes to change that default styling. - -#### UI Resources - -THe UI Resources folder will contain any styling related to Building Blocks, Page Templates and Layouts. - -Building blocks are created with Widgets. For example _cards_ or _headers_ are building blocks. A building block could -be an image, a title, and a button, assembled together into one UI block. - -Page Templates are created with Building Blocks and Widgets. Page Templates are an example of how a page could look -like. - -Layouts are created with widgets. They are mainly used for navigation or user experiences which need to be consistent -between pages. - -## License - -MIT diff --git a/theme/com.mendix.charts.json b/theme/com.mendix.charts.json deleted file mode 100644 index 0967ef4..0000000 --- a/theme/com.mendix.charts.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/theme/components.json b/theme/components.json deleted file mode 100644 index df42ffa..0000000 --- a/theme/components.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "files": { - "css": ["styles/web/css/main.css"], - "js": ["mxclientsystem/mxui/mxui.js"] - }, - "cachebust": "{{cachebust}}" -} diff --git a/theme/index-phone-preview.html b/theme/index-phone-preview.html deleted file mode 100644 index e64a7da..0000000 --- a/theme/index-phone-preview.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - Mendix - Phone preview - - {{themecss}} - {{appicons}} - - - - -
-
- -
- This is not a simulator but just a resized view surrounded with an image to give an impression of - what the app might look like on a phone. -
-
-
- - - - diff --git a/theme/index-rtl.html b/theme/index-rtl.html deleted file mode 100644 index 4b74063..0000000 --- a/theme/index-rtl.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - Mendix - - - - {{themecss}} - {{appicons}} - - - -
- - - - diff --git a/theme/index-tablet-preview.html b/theme/index-tablet-preview.html deleted file mode 100644 index a311e25..0000000 --- a/theme/index-tablet-preview.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - Mendix - Tablet preview - - {{themecss}} - {{appicons}} - - - - -
-
- -
- This is not a simulator but just a resized view surrounded with an image to give an impression of - what the app might look like on a tablet. -
-
-
- - - - diff --git a/theme/native/custom-variables.js b/theme/native/custom-variables.js new file mode 100644 index 0000000..e7e9f97 --- /dev/null +++ b/theme/native/custom-variables.js @@ -0,0 +1,558 @@ +import { Appearance, Platform } from "react-native"; +import { adjustFont, anyColorToRgbString, setContrastScale } from "../../themesource/atlas_core/native/api"; +import "./exclusion-variables"; +/* + +==> You can find a copy of the core variables below. (From styles/native/core/variables.js) +==> You can freely change any value in this file. +==> DO NOT change the core variable file (or any other file in core), as that makes updating Atlas a lot harder in the future. + +*/ +// == Global variables +// ## Variables to be used during styling +// -------------------------------------------------------------------------------------------------------------------// +// Brand Styles +export const brand = { + primary: "#264AE5", + success: "#3CB33D", + warning: "#ECA51C", + danger: "#E33F4E", + info: "#0086D9", + primaryLight: "#F3F5FF", + successLight: "#F1FCF1", + warningLight: "#FFF9E6", + dangerLight: "#FFEEF0", + infoLight: "#ECF9FF" +}; +// +// Dark Mode - Inherits OS theme if possible +export const darkMode = Appearance.getColorScheme() === "dark"; +// +// Background Colors +export const backgroundDefaults = { + primaryLight: "#FFF", + primaryDark: "#0A1325", + secondaryLight: "#F8F8F8", + secondaryDark: "#161F30" +}; +export const background = { + primary: darkMode ? backgroundDefaults.primaryDark : backgroundDefaults.primaryLight, + secondary: darkMode ? backgroundDefaults.secondaryDark : backgroundDefaults.secondaryLight, + brandPrimary: brand.primary, + brandSuccess: brand.success, + brandWarning: brand.warning, + brandDanger: brand.danger, + brandInfo: brand.info +}; +// +// Contrast (Gray) colors based on background.primary +export const contrast = { + highest: setContrastScale(0.95, background.primary), + higher: setContrastScale(0.8, background.primary), + high: setContrastScale(0.65, background.primary), + regular: setContrastScale(0.5, background.primary), + low: setContrastScale(0.35, background.primary), + lower: setContrastScale(0.2, background.primary), + lowest: setContrastScale(0.05, background.primary) +}; +// +// Border Style +export const border = { + color: darkMode ? "#3B4251" : "#CED0D3", + width: 1, + radiusSmall: 4, + radiusLarge: 8, + radiusLargest: 9999 +}; +// +// Font Styles +export const fontDefaults = { + colorTitleDark: "#0A1326", + colorTitleLight: "#FDFDFD", + colorParagraphDark: "#6C717E", + colorParagraphLight: "#E7E7E9", + colorDisabledDark: "#9DA1A8", + colorDisabledLight: "#9DA1A8" +}; +export const font = { + size: adjustFont(14), + sizeSmallest: adjustFont(10), + sizeSmall: adjustFont(12), + sizeLarge: adjustFont(16), + sizeLargest: adjustFont(18), + sizeH1: adjustFont(40), + sizeH2: adjustFont(34), + sizeH3: adjustFont(28), + sizeH4: adjustFont(24), + sizeH5: adjustFont(20), + sizeH6: adjustFont(16), + lineHeight: adjustFont(14) * 1.5, + lineHeightSmallest: adjustFont(10) * 1.5, + lineHeightSmall: adjustFont(12) * 1.5, + lineHeightLarge: adjustFont(16) * 1.5, + lineHeightLargest: adjustFont(18) * 1.5, + lineHeightH1: adjustFont(40) * 1.5, + lineHeightH2: adjustFont(34) * 1.5, + lineHeightH3: adjustFont(28) * 1.5, + lineHeightH4: adjustFont(24) * 1.5, + lineHeightH5: adjustFont(20) * 1.5, + lineHeightH6: adjustFont(16) * 1.5, + colorTitle: darkMode ? fontDefaults.colorTitleLight : fontDefaults.colorTitleDark, + colorParagraph: darkMode ? fontDefaults.colorParagraphLight : fontDefaults.colorParagraphDark, + colorDisabled: darkMode ? fontDefaults.colorDisabledLight : fontDefaults.colorDisabledDark, + weightLight: "100", + weightNormal: "normal", + weightSemiBold: "600", + weightBold: "bold", + family: Platform.select({ ios: "System", android: "normal" }) +}; +// +// Spacing +export const spacing = { + smallest: 2, + smaller: 4, + small: 8, + regular: 16, + large: 24, + larger: 32, + largest: 40 +}; +// +// Button Styles +export const button = { + // Start default styles + container: { + rippleColor: contrast.lowest, + borderRadius: border.radiusLarge, + minWidth: 48, + minHeight: 48, + paddingVertical: spacing.small, + paddingHorizontal: spacing.small + }, + containerDisabled: { + borderColor: border.color, + backgroundColor: border.color + }, + icon: { + size: font.sizeSmall + }, + iconDisabled: { + color: font.colorDisabled + }, + caption: { + fontSize: font.sizeSmall, + fontWeight: font.weightBold + }, + captionDisabled: { + color: font.colorDisabled + }, + // End default styles + header: { + color: contrast.highest, + borderColor: "transparent", + backgroundColor: "transparent", + fontSize: font.sizeSmall, + fontSizeIcon: font.sizeSmall, + paddingLeft: 0, + paddingRight: 10 + }, + primary: { + color: "#FFF", + borderColor: brand.primary, + backgroundColor: brand.primary + }, + secondary: { + color: brand.primary, + borderColor: brand.primary, + backgroundColor: "transparent", + inversedColor: "#FFF" + }, + success: { + color: "#FFF", + borderColor: brand.success, + backgroundColor: brand.success + }, + warning: { + color: "#FFF", + borderColor: brand.warning, + backgroundColor: brand.warning + }, + danger: { + color: "#FFF", + borderColor: brand.danger, + backgroundColor: brand.danger + } +}; +// +// Input Styles +export const input = { + label: { + numberOfLines: 1, + color: font.colorTitle, + fontSize: font.sizeSmall, + textAlign: "left" + }, + labelDisabled: { + color: font.colorTitle + }, + input: { + color: font.colorTitle, + borderColor: contrast.lower, + backgroundColor: background.primary, + selectionColor: contrast.lower, + placeholderTextColor: contrast.low, + fontSize: font.size, + lineHeight: font.lineHeight, + borderWidth: border.width, + borderRadius: border.radiusLarge, + minWidth: 48, + minHeight: 48, + paddingVertical: spacing.small, + paddingHorizontal: spacing.small + }, + inputContainer: { + underlayColor: `rgba(${anyColorToRgbString(contrast.low)},0.4)` + }, + inputDisabled: { + color: font.colorDisabled, + borderColor: border.color, + backgroundColor: background.secondary + }, + inputError: { + color: brand.danger, + borderColor: brand.danger, + placeholderTextColor: brand.danger, + backgroundColor: brand.dangerLight + }, + validationMessage: { + color: brand.danger, + fontSize: font.size + }, + // Only used for the DropDown & ReferenceSelector + valueContainer: { + rippleColor: contrast.lowest + }, + itemContainer: { + maxWidth: 500, + paddingVertical: 12, + paddingHorizontal: spacing.regular, + backgroundColor: background.primary + }, + item: { + color: font.colorTitle, + fontSize: font.size + }, + selectedItemContainer: { + borderWidth: border.width, + borderRadius: border.radiusLarge, + borderColor: brand.primary, + backgroundColor: "transparent" + }, + selectedItem: { + color: font.colorTitle, + fontSize: font.size + } +}; +export const image = { + image: { + small: 24, + medium: 40, + large: 56, + larger: 72 + }, + imageDisabled: { + opacity: 0.6 + }, + icon: 16 +}; +// +// Navigation Styles +export const navigation = { + statusBar: { + backgroundColor: background.primary, + barStyle: darkMode ? "light-content" : "dark-content" + }, + topBar: { + backgroundColor: brand.primary, + backButtonColor: "#FFF", + titleColor: "#FFF", + titleFontSize: font.sizeH6 + }, + bottomBar: { + color: contrast.high, + selectedTextColor: brand.primary, + selectedIconColor: brand.primary, + backgroundColor: background.primary, + fontSize: font.sizeSmall, + iconSize: font.sizeSmall + }, + progressOverlay: { + color: font.colorTitle, + activityIndicatorColor: font.colorTitle, + backgroundColor: "rgba(0, 0, 0, 0.5)", + containerBackgroundColor: background.secondary, + fontSize: font.size, + borderRadius: border.radiusSmall, + elevation: 1.5, + shadowColor: "#000", + shadowOpacity: 0.1, + shadowRadius: 10 // Only for iOS + } +}; +// +// Container Styles +export const container = { + containerDisabled: { + opacity: 0.6 + } +}; +// +// Badge Styles +export const badge = { + fontWeight: font.weightNormal, + borderRadius: border.radiusLarge, + paddingVertical: spacing.smaller, + paddingHorizontal: spacing.small, + default: { + color: contrast.higher, + backgroundColor: contrast.lowest + }, + primary: { + color: brand.primary, + backgroundColor: brand.primaryLight + }, + success: { + color: brand.success, + backgroundColor: brand.successLight + }, + warning: { + color: brand.warning, + backgroundColor: brand.warningLight + }, + danger: { + color: brand.danger, + backgroundColor: brand.dangerLight + } +}; +// +// Tabcontainer Styles +export const tabContainer = { + tabBar: { + pressColor: contrast.lower, + backgroundColor: brand.primary + }, + tab: { + paddingVertical: 12 + }, + indicator: { + backgroundColor: fontDefaults.colorTitleLight, + height: Platform.select({ ios: 2, android: 2 }) + }, + label: { + color: fontDefaults.colorTitleLight, + fontSize: font.size, + fontWeight: font.weightSemiBold, + textTransform: "capitalize" + }, + activeLabel: { + color: fontDefaults.colorTitleLight, + fontSize: font.size, + fontWeight: font.weightSemiBold, + textTransform: "capitalize" + }, + badgeContainer: { + borderRadius: border.radiusLargest, + backgroundColor: badge.default.backgroundColor, + paddingVertical: spacing.smallest, + paddingHorizontal: spacing.small, + marginLeft: 8 + }, + badgeCaption: { + fontSize: font.size, + color: badge.default.color, + fontWeight: badge.fontWeight + } +}; +// +// ListView Styles +export const listView = { + listItemDisabled: { + opacity: 0.6 + }, + border: { + color: border.color, + width: border.width + } +}; +// +// Layoutgrid Styles +export const layoutGrid = { + gutterSize: 16 +}; +// +// +// Floating Action Button Styles +export const floatingActionButton = { + container: { + margin: 30 + }, + button: { + size: 50, + rippleColor: contrast.lowest, + borderColor: brand.primary, + backgroundColor: brand.primary + }, + buttonIcon: { + size: font.sizeLarge, + color: contrast.lowest + }, + secondaryButton: { + size: 30, + backgroundColor: background.secondary + }, + secondaryButtonIcon: { + size: font.sizeSmall, + color: contrast.high + }, + secondaryButtonCaption: { + color: contrast.high, + fontSize: font.sizeSmall + }, + secondaryButtonCaptionContainer: { + backgroundColor: background.primary + } +}; +// +// Intro Screen Styles +export const introScreen = { + fullscreenContainer: { + backgroundColor: background.primary + }, + popupContainer: { + paddingVertical: 150, + paddingHorizontal: 50, + backgroundColor: "rgba(0, 0, 0, 0.5)" + }, + pagination: { + text: { + color: font.colorTitle, + fontSize: font.size + }, + dotStyle: { + size: spacing.small, + backgroundColor: contrast.lower + }, + activeDotStyle: { + size: spacing.small, + backgroundColor: font.colorTitle + } + }, + button: { + icon: { + color: font.colorTitle, + size: button.icon.size + }, + caption: { + color: font.colorTitle, + fontSize: button.caption.fontSize, + fontWeight: font.weightBold, + textTransform: "uppercase", + paddingHorizontal: spacing.smallest + } + }, + buttonPaginationAbove: { + container: { + paddingVertical: spacing.regular, + backgroundColor: button.primary.backgroundColor + } + } +}; +// +// List View Swipe Styles +export const listViewSwipe = { + leftAction: { + panelSize: 160, + panelSizeSmall: 80, + panelSizeLarge: 240, + backgroundColor: background.primary + }, + rightAction: { + panelSize: 160, + panelSizeSmall: 80, + panelSizeLarge: 240, + backgroundColor: background.primary + } +}; +// +// Progress Bar Styles +export const progressBar = { + bar: { + height: 8, + heightSmall: 4, + heightLarge: 12, + backgroundColor: contrast.lowest + }, + fill: { + backgroundColor: brand.primary + } +}; +// +// Progress Circle Styles +export const progressCircle = { + circle: { + size: 64 + }, + fill: { + width: 4, + lineCapRounded: true, + backgroundColor: brand.primary + }, + text: { + color: contrast.regular, + fontSize: font.size, + fontWeight: font.weightSemiBold + } +}; +// +// Rating Styles +export const rating = { + containerDisabled: { + opacity: 0.5 + }, + icon: { + size: 24, + color: contrast.lower, + selectedColor: brand.warning + } +}; +// +// (Range)Slider styles +export const slider = { + track: { + height: 4, + backgroundColor: contrast.lowest + }, + trackDisabled: { + backgroundColor: contrast.lower, + opacity: 0.4 + }, + highlight: { + backgroundColor: brand.primary + }, + highlightDisabled: { + backgroundColor: brand.primary + }, + marker: { + size: 24, + borderColor: contrast.lowest, + backgroundColor: background.secondary + }, + markerActive: { + size: 32 + }, + markerDisabled: { + size: 24, + borderColor: contrast.lowest, + backgroundColor: background.secondary + } +}; diff --git a/theme/native/exclusion-variables.js b/theme/native/exclusion-variables.js new file mode 100644 index 0000000..1571114 --- /dev/null +++ b/theme/native/exclusion-variables.js @@ -0,0 +1,101 @@ +// == Variables to exclude files +// ## Reduce the amount of files imported from the Atlas_Core module +// -------------------------------------------------------------------------------------------------------------------// +// Activity Indicator +export const excludeActivityIndicator = false; +export const excludeActivityIndicatorHelpers = false; +// Animation +export const excludeAnimation = false; +// Background Image +export const excludeBackgroundImage = false; +// Badge +export const excludeBadge = false; +export const excludeBadgeHelpers = false; +// Bottom Sheet +export const excludeBottomSheet = false; +// Buttons +export const excludeButtons = false; +export const excludeButtonsHelpers = false; +// Carousel +export const excludeCarousel = false; +// CheckBox +export const excludeCheckBox = false; +// Color Picker +export const excludeColorPicker = false; +// Container +export const excludeContainer = false; +// Date Picker +export const excludeDatePicker = false; +// Drop Down +export const excludeDropDown = false; +// Feedback +export const excludeFeedback = false; +// Floating Action Button +export const excludeFAB = false; +export const excludeFABHelpers = false; +// Image +export const excludeImage = false; +export const excludeImageHelpers = false; +// Intro Screen +export const excludeIntroScreen = false; +export const excludeIntroScreenHelpers = false; +// Layout Grid +export const excludeLayoutGrid = false; +// Line Chart +export const excludeLineChart = false; +export const excludeLineChartHelpers = false; +// Bar Chart +export const excludeBarChart = false; +export const excludeBarChartHelpers = false; +// List View +export const excludeListView = false; +export const excludeListViewHelpers = false; +// List View Swipe +export const excludeListViewSwipe = false; +export const excludeListViewSwipeHelpers = false; +// Maps +export const excludeMaps = false; +export const excludeMapsHelpers = false; +// Page Title +export const excludePageTitle = false; +// Progress Bar +export const excludeProgressBar = false; +export const excludeProgressBarHelpers = false; +// Progress Circle +export const excludeProgressCircle = false; +export const excludeProgressCircleHelpers = false; +// Pop Up Menu +export const excludePopUpMenu = false; +// QR Code +export const excludeQRCode = false; +// Range Slider +export const excludeRangeSlider = false; +export const excludeRangeSliderHelpers = false; +// Rating +export const excludeRating = false; +// Reference Selector +export const excludeReferenceSelector = false; +// Safe Area View +export const excludeSafeAreaView = false; +// Slider +export const excludeSlider = false; +export const excludeSliderHelpers = false; +// Tab Container +export const excludeTabContainer = false; +export const excludeTabContainerHelpers = false; +// Text Area +export const excludeTextArea = false; +// Text Box +export const excludeTextBox = false; +export const excludeTextBoxHelpers = false; +// Toggle Buttons +export const excludeToggleButtons = false; +// Typography +export const excludeTypography = false; +export const excludeTypographyHelpers = false; +// VideoPlayer +export const excludeVideoPlayer = false; +// Web View +export const excludeWebView = false; +// Helper Classes +export const excludeHelpers = false; diff --git a/theme/native/main.js b/theme/native/main.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/theme/native/main.js @@ -0,0 +1 @@ +export {}; diff --git a/theme/package-lock.json b/theme/package-lock.json deleted file mode 100644 index c51fdd4..0000000 --- a/theme/package-lock.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "atlas-ui-framework", - "version": "2.5.3", - "lockfileVersion": 1 -} diff --git a/theme/package.json b/theme/package.json deleted file mode 100644 index 5ea8b05..0000000 --- a/theme/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "atlas-ui-framework", - "version": "2.6.0", - "description": "Mendix Atlas UI is the foundation of making beautiful apps with Mendix. For more information about the framework go to https://atlas.mendix.com.", - "main": "", - "scripts": { - "bump:patch": "node ./scripts/bump-patch.js", - "bump:minor": "node ./scripts/bump-minor.js", - "bump:major": "node ./scripts/bump-major.js" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/mendix/Atlas-UI-Framework.git" - }, - "author": "Mendix", - "license": "MIT", - "bugs": { - "url": "https://github.com/mendix/Atlas-UI-Framework/issues" - }, - "homepage": "https://github.com/mendix/Atlas-UI-Framework#readme", - "devDependencies": {}, - "dependencies": {} -} \ No newline at end of file diff --git a/theme/resources/phone.png b/theme/resources/phone.png deleted file mode 100644 index 5146217..0000000 Binary files a/theme/resources/phone.png and /dev/null differ diff --git a/theme/resources/tablet.png b/theme/resources/tablet.png deleted file mode 100644 index a1aa0bf..0000000 Binary files a/theme/resources/tablet.png and /dev/null differ diff --git a/theme/scripts/bump-major.js b/theme/scripts/bump-major.js deleted file mode 100644 index 2bb584e..0000000 --- a/theme/scripts/bump-major.js +++ /dev/null @@ -1,12 +0,0 @@ -const { getVersionFilePaths, readVersionFiles } = require("./lib/readFile.js"); -const { writeVersionFiles } = require("./lib/writeFile.js"); - -(() => { - const paths = getVersionFilePaths(); - const files = readVersionFiles(paths); - const versionNumbers = files.pkg.version.split("."); - const majorNumber = Number(versionNumbers[1]) + 1; - const majorVersion = majorNumber + "." + 0 + "." + 0; - files.pkg.version = files.manifest.ts.version = files.manifest.js.version = files.manifest.sass.version = majorVersion; - writeVersionFiles(files, paths); -})(); diff --git a/theme/scripts/bump-minor.js b/theme/scripts/bump-minor.js deleted file mode 100644 index e4e9ac3..0000000 --- a/theme/scripts/bump-minor.js +++ /dev/null @@ -1,12 +0,0 @@ -const { getVersionFilePaths, readVersionFiles } = require("./lib/readFile.js"); -const { writeVersionFiles } = require("./lib/writeFile.js"); - -(() => { - const paths = getVersionFilePaths(); - const files = readVersionFiles(paths); - const versionNumbers = files.pkg.version.split("."); - const minorNumber = Number(versionNumbers[1]) + 1; - const minorVersion = versionNumbers[0] + "." + minorNumber + "." + 0; - files.pkg.version = files.manifest.ts.version = files.manifest.js.version = files.manifest.sass.version = minorVersion; - writeVersionFiles(files, paths); -})(); diff --git a/theme/scripts/bump-patch.js b/theme/scripts/bump-patch.js deleted file mode 100644 index 52e7baa..0000000 --- a/theme/scripts/bump-patch.js +++ /dev/null @@ -1,12 +0,0 @@ -const { getVersionFilePaths, readVersionFiles } = require("./lib/readFile.js"); -const { writeVersionFiles } = require("./lib/writeFile.js"); - -(() => { - const paths = getVersionFilePaths(); - const files = readVersionFiles(paths); - const versionNumbers = files.pkg.version.split("."); - const patchedNumber = Number(versionNumbers[2]) + 1; - const patchedVersion = versionNumbers[0] + "." + versionNumbers[1] + "." + patchedNumber; - files.pkg.version = files.manifest.ts.version = files.manifest.js.version = files.manifest.sass.version = patchedVersion; - writeVersionFiles(files, paths); -})(); diff --git a/theme/scripts/lib/readFile.js b/theme/scripts/lib/readFile.js deleted file mode 100644 index 50f0a8c..0000000 --- a/theme/scripts/lib/readFile.js +++ /dev/null @@ -1,20 +0,0 @@ -const path = require("path"); - -module.exports.getVersionFilePaths = () => ({ - pkg: path.join(process.cwd(), "package.json"), - manifest: { - ts: path.join(process.cwd(), "styles", "native", "ts", "core", "manifest.json"), - js: path.join(process.cwd(), "styles", "native", "js", "core", "manifest.json"), - sass: path.join(process.cwd(), "styles", "web", "sass", "core", "manifest.json"), - }, -}); - -module.exports.readVersionFiles = paths => ({ - pkg: require(paths.pkg), - manifest: { - ts: require(paths.manifest.ts), - js: require(paths.manifest.js), - sass: require(paths.manifest.sass), - }, -}); - diff --git a/theme/scripts/lib/writeFile.js b/theme/scripts/lib/writeFile.js deleted file mode 100644 index fb35779..0000000 --- a/theme/scripts/lib/writeFile.js +++ /dev/null @@ -1,8 +0,0 @@ -const fs = require("fs"); - -module.exports.writeVersionFiles = (files, paths) => { - fs.writeFileSync(paths.pkg, JSON.stringify(files.pkg, null, 4)); - fs.writeFileSync(paths.manifest.js, JSON.stringify(files.manifest.js, null, 4)); - fs.writeFileSync(paths.manifest.ts, JSON.stringify(files.manifest.ts, null, 4)); - fs.writeFileSync(paths.manifest.sass, JSON.stringify(files.manifest.sass, null, 4)); -}; diff --git a/theme/settings-native.json b/theme/settings-native.json deleted file mode 100644 index acee597..0000000 --- a/theme/settings-native.json +++ /dev/null @@ -1,1747 +0,0 @@ -{ - "designProperties": { - "Document": [ - { - "name": "Spacing top", - "type": "Dropdown", - "description": "The spacing above this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerTopSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerTopMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerTopLarger" - } - ] - }, - { - "name": "Spacing bottom", - "type": "Dropdown", - "description": "The spacing below this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerBottomSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerBottomMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerBottomLarger" - } - ] - }, - { - "name": "Spacing left", - "type": "Dropdown", - "description": "The spacing to the left of this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerLeftSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerLeftMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerLeftLarger" - } - ] - }, - { - "name": "Spacing right", - "type": "Dropdown", - "description": "The spacing to the right of this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerRightSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerRightMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerRightLarger" - } - ] - }, - { - "name": "Background color", - "type": "Dropdown", - "description": "Change the background color of the container.", - "options": [ - { - "name": "Primary", - "class": "backgroundPrimary" - }, - { - "name": "Secondary", - "class": "backgroundSecondary" - }, - { - "name": "Brand Primary", - "class": "backgroundBrandPrimary" - }, - { - "name": "Brand Success", - "class": "backgroundBrandSuccess" - }, - { - "name": "Brand Warning", - "class": "backgroundBrandWarning" - }, - { - "name": "Brand Danger", - "class": "backgroundBrandDanger" - } - ] - }, - { - "name": "Render children horizontal", - "type": "Toggle", - "description": "Determines the direction in which children are rendered.", - "class": "flexRow" - }, - { - "name": "Wrap children", - "type": "Toggle", - "description": "Determines if children can flow into multiple lines if they hit the end of the container.", - "class": "flexWrap" - }, - { - "name": "Align children", - "type": "Dropdown", - "description": "Align children in the opposite direction.", - "options": [ - { - "name": "Start", - "class": "alignChildrenStart" - }, - { - "name": "Center", - "class": "alignChildrenCenter" - }, - { - "name": "End", - "class": "alignChildrenEnd" - }, - { - "name": "Stretch", - "class": "alignChildrenStretch" - }, - { - "name": "Baseline", - "class": "alignChildrenBaseline" - } - ] - }, - { - "name": "Justify content", - "type": "Dropdown", - "description": "Justify content in the active direction.", - "options": [ - { - "name": "Start", - "class": "justifyContentStart" - }, - { - "name": "Center", - "class": "justifyContentCenter" - }, - { - "name": "End", - "class": "justifyContentEnd" - }, - { - "name": "Space between", - "class": "justifyContentSpaceBetween" - }, - { - "name": "Space around", - "class": "justifyContentSpaceAround" - }, - { - "name": "Space evenly", - "class": "justifyContentSpaceEvenly" - } - ] - } - ], - "Page": [ - { - "name": "Hide header bottom border", - "type": "Toggle", - "description": "Hide the bottom border (iOS) and elevation (Android) of the header.", - "class": "pageHeaderBorderNone" - } - ], - "Widget": [ - { - "name": "Spacing top", - "type": "Dropdown", - "description": "The spacing above this element.", - "options": [ - { - "name": "Smallest", - "class": "spacingOuterTopSmallest" - }, - { - "name": "Small", - "class": "spacingOuterTopSmaller" - }, - { - "name": "Medium", - "class": "spacingOuterTopMedium" - }, - { - "name": "Large", - "class": "spacingOuterTopLarger" - }, - { - "name": "Largest", - "class": "spacingOuterTopLargest" - } - ] - }, - { - "name": "Spacing bottom", - "type": "Dropdown", - "description": "The spacing below this element.", - "options": [ - { - "name": "Smallest", - "class": "spacingOuterBottomSmallest" - }, - { - "name": "Small", - "class": "spacingOuterBottomSmaller" - }, - { - "name": "Medium", - "class": "spacingOuterBottomMedium" - }, - { - "name": "Large", - "class": "spacingOuterBottomLarger" - }, - { - "name": "Largest", - "class": "spacingOuterBottomLargest" - } - ] - }, - { - "name": "Spacing left", - "type": "Dropdown", - "description": "The spacing to the left of this element.", - "options": [ - { - "name": "Smallest", - "class": "spacingOuterLeftSmallest" - }, - { - "name": "Small", - "class": "spacingOuterLeftSmaller" - }, - { - "name": "Medium", - "class": "spacingOuterLeftMedium" - }, - { - "name": "Large", - "class": "spacingOuterLeftLarger" - }, - { - "name": "Largest", - "class": "spacingOuterLeftLargest" - } - ] - }, - { - "name": "Spacing right", - "type": "Dropdown", - "description": "The spacing to the right of this element.", - "options": [ - { - "name": "Smallest", - "class": "spacingOuterRightSmallest" - }, - { - "name": "Small", - "class": "spacingOuterRightSmaller" - }, - { - "name": "Medium", - "class": "spacingOuterRightMedium" - }, - { - "name": "Large", - "class": "spacingOuterRightLarger" - }, - { - "name": "Largest", - "class": "spacingOuterRightLargest" - } - ] - } - ], - "DivContainer": [ - { - "name": "Spacing top", - "type": "Dropdown", - "description": "The spacing above this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerTopSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerTopMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerTopLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterTopSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterTopMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterTopLarger" - } - ] - }, - { - "name": "Spacing bottom", - "type": "Dropdown", - "description": "The spacing below this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerBottomSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerBottomMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerBottomLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterBottomSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterBottomMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterBottomLarger" - } - ] - }, - { - "name": "Spacing left", - "type": "Dropdown", - "description": "The spacing to the left of this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerLeftSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerLeftMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerLeftLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterLeftSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterLeftMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterLeftLarger" - } - ] - }, - { - "name": "Spacing right", - "type": "Dropdown", - "description": "The spacing to the right of this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerRightSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerRightMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerRightLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterRightSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterRightMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterRightLarger" - } - ] - }, - { - "name": "Size", - "type": "Dropdown", - "description": "Change the size of the widget relative to its sibling(s).", - "options": [ - { - "name": "Maximum space", - "class": "flexMain" - }, - { - "name": "Minimum space", - "class": "flexItem" - } - ] - }, - { - "name": "Background color", - "type": "Dropdown", - "description": "Change the background color of the container.", - "options": [ - { - "name": "Primary", - "class": "backgroundPrimary" - }, - { - "name": "Secondary", - "class": "backgroundSecondary" - }, - { - "name": "Brand Primary", - "class": "backgroundBrandPrimary" - }, - { - "name": "Brand Success", - "class": "backgroundBrandSuccess" - }, - { - "name": "Brand Warning", - "class": "backgroundBrandWarning" - }, - { - "name": "Brand Danger", - "class": "backgroundBrandDanger" - } - ] - }, - { - "name": "Align", - "type": "Dropdown", - "description": "Aligns the element. This overrides 'Align children' of the parent.", - "options": [ - { - "name": "Start", - "class": "alignSelfStart" - }, - { - "name": "Center", - "class": "alignSelfCenter" - }, - { - "name": "End", - "class": "alignSelfEnd" - }, - { - "name": "Stretch", - "class": "alignSelfStretch" - }, - { - "name": "Baseline", - "class": "alignSelfBaseline" - } - ] - }, - { - "name": "Render children horizontal", - "type": "Toggle", - "description": "Determines the direction in which children are rendered.", - "class": "flexRow" - }, - { - "name": "Wrap children", - "type": "Toggle", - "description": "Determines if children can flow into multiple lines if they hit the end of the container.", - "class": "flexWrap" - }, - { - "name": "Align children", - "type": "Dropdown", - "description": "Align children in the opposite direction.", - "options": [ - { - "name": "Start", - "class": "alignChildrenStart" - }, - { - "name": "Center", - "class": "alignChildrenCenter" - }, - { - "name": "End", - "class": "alignChildrenEnd" - }, - { - "name": "Stretch", - "class": "alignChildrenStretch" - }, - { - "name": "Baseline", - "class": "alignChildrenBaseline" - } - ] - }, - { - "name": "Justify content", - "type": "Dropdown", - "description": "Justify content in the active direction.", - "options": [ - { - "name": "Start", - "class": "justifyContentStart" - }, - { - "name": "Center", - "class": "justifyContentCenter" - }, - { - "name": "End", - "class": "justifyContentEnd" - }, - { - "name": "Space between", - "class": "justifyContentSpaceBetween" - }, - { - "name": "Space around", - "class": "justifyContentSpaceAround" - }, - { - "name": "Space evenly", - "class": "justifyContentSpaceEvenly" - } - ] - } - ], - "ScrollContainer": [ - { - "name": "Spacing top", - "type": "Dropdown", - "description": "The spacing above this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerTopSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerTopMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerTopLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterTopSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterTopMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterTopLarger" - } - ] - }, - { - "name": "Spacing bottom", - "type": "Dropdown", - "description": "The spacing below this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerBottomSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerBottomMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerBottomLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterBottomSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterBottomMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterBottomLarger" - } - ] - }, - { - "name": "Spacing left", - "type": "Dropdown", - "description": "The spacing to the left of this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerLeftSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerLeftMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerLeftLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterLeftSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterLeftMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterLeftLarger" - } - ] - }, - { - "name": "Spacing right", - "type": "Dropdown", - "description": "The spacing to the right of this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerRightSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerRightMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerRightLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterRightSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterRightMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterRightLarger" - } - ] - }, - { - "name": "Size", - "type": "Dropdown", - "description": "Change the size of the widget relative to its sibling(s).", - "options": [ - { - "name": "Maximum space", - "class": "flexMain" - }, - { - "name": "Minimum space", - "class": "flexItem" - } - ] - }, - { - "name": "Background color", - "type": "Dropdown", - "description": "Change the background color of the container.", - "options": [ - { - "name": "Primary", - "class": "backgroundPrimary" - }, - { - "name": "Secondary", - "class": "backgroundSecondary" - }, - { - "name": "Brand Primary", - "class": "backgroundBrandPrimary" - }, - { - "name": "Brand Success", - "class": "backgroundBrandSuccess" - }, - { - "name": "Brand Warning", - "class": "backgroundBrandWarning" - }, - { - "name": "Brand Danger", - "class": "backgroundBrandDanger" - } - ] - }, - { - "name": "Align", - "type": "Dropdown", - "description": "Aligns the element. This overrides 'Align children' of the parent.", - "options": [ - { - "name": "Start", - "class": "alignSelfStart" - }, - { - "name": "Center", - "class": "alignSelfCenter" - }, - { - "name": "End", - "class": "alignSelfEnd" - }, - { - "name": "Stretch", - "class": "alignSelfStretch" - }, - { - "name": "Baseline", - "class": "alignSelfBaseline" - } - ] - }, - { - "name": "Render children horizontal", - "type": "Toggle", - "description": "Determines the direction in which children are rendered.", - "class": "flexRow" - }, - { - "name": "Wrap children", - "type": "Toggle", - "description": "Determines if children can flow into multiple lines if they hit the end of the container.", - "class": "flexWrap" - }, - { - "name": "Align children", - "type": "Dropdown", - "description": "Align children in the opposite direction.", - "options": [ - { - "name": "Start", - "class": "alignChildrenStart" - }, - { - "name": "Center", - "class": "alignChildrenCenter" - }, - { - "name": "End", - "class": "alignChildrenEnd" - }, - { - "name": "Stretch", - "class": "alignChildrenStretch" - }, - { - "name": "Baseline", - "class": "alignChildrenBaseline" - } - ] - }, - { - "name": "Justify content", - "type": "Dropdown", - "description": "Justify content in the active direction.", - "options": [ - { - "name": "Start", - "class": "justifyContentStart" - }, - { - "name": "Center", - "class": "justifyContentCenter" - }, - { - "name": "End", - "class": "justifyContentEnd" - }, - { - "name": "Space between", - "class": "justifyContentSpaceBetween" - }, - { - "name": "Space around", - "class": "justifyContentSpaceAround" - } - ] - } - ], - "ActionButton": [ - { - "name": "Button style", - "type": "Dropdown", - "description": "Style of the button", - "options": [ - { - "name": "Secondary", - "class": "btnSecondary" - }, - { - "name": "Success", - "class": "btnSuccess" - }, - { - "name": "Warning", - "class": "btnWarning" - }, - { - "name": "Danger", - "class": "btnDanger" - }, - { - "name": "Inversed", - "class": "btnPrimaryInversed" - } - ] - }, - { - "name": "Align", - "type": "Dropdown", - "description": "Aligns the element. This overrides 'Align children' of the parent.", - "options": [ - { - "name": "Start", - "class": "alignSelfStart" - }, - { - "name": "Center", - "class": "alignSelfCenter" - }, - { - "name": "End", - "class": "alignSelfEnd" - }, - { - "name": "Stretch", - "class": "alignSelfStretch" - }, - { - "name": "Baseline", - "class": "alignSelfBaseline" - } - ] - } - ], - "Image": [ - { - "name": "Avatar", - "type": "Toggle", - "description": "Create an avatar image.", - "class": "avatar" - } - ], - "DynamicImage": [ - { - "name": "Avatar", - "type": "Toggle", - "description": "Create an avatar image.", - "class": "avatar" - } - ], - "DynamicText": [ - { - "name": "Color", - "type": "Dropdown", - "description": "Change the color of text.", - "options": [ - { - "name": "Brand primary", - "class": "textPrimary" - }, - { - "name": "Brand success", - "class": "textSuccess" - }, - { - "name": "Brand warning", - "class": "textWarning" - }, - { - "name": "Brand danger", - "class": "textDanger" - }, - { - "name": "White", - "class": "textWhite" - }, - { - "name": "Contrast lowest", - "class": "textContrastLowest" - }, - { - "name": "Contrast lower", - "class": "textContrastLower" - }, - { - "name": "Contrast low", - "class": "textContrastLow" - }, - { - "name": "Contrast default", - "class": "textContrastDefault" - }, - { - "name": "Contrast high", - "class": "textContrastHigh" - }, - { - "name": "Contrast higher", - "class": "textContrastHigher" - }, - { - "name": "Contrast highest", - "class": "textContrastHighest" - } - ] - }, - { - "name": "Size", - "type": "Dropdown", - "description": "Make the text smaller or larger.", - "options": [ - { - "name": "Small", - "class": "textSmall" - }, - { - "name": "Large", - "class": "textLarge" - } - ] - }, - { - "name": "Weight", - "type": "Dropdown", - "description": "Emphasize the text with a heavier or lighter font weight", - "options": [ - { - "name": "Light", - "class": "textLight" - }, - { - "name": "Default", - "class": "textNormal" - }, - { - "name": "Semibold", - "class": "textSemiBold" - }, - { - "name": "Bold", - "class": "textBold" - } - ] - }, - { - "name": "Alignment", - "type": "Dropdown", - "description": "Align the text.", - "options": [ - { - "name": "Left", - "class": "textLeft" - }, - { - "name": "Center", - "class": "textCenter" - }, - { - "name": "Right", - "class": "textRight" - } - ] - } - ], - "ListView": [ - { - "name": "List item divider", - "type": "Dropdown", - "description": "Give each list item a border.", - "options": [ - { - "name": "Vertical", - "class": "listItemBorderBottom" - }, - { - "name": "Horizontal", - "class": "listItemBorderRight" - } - ] - } - ], - "TabContainer": [ - { - "name": "Tab bar scroll", - "type": "Toggle", - "description": "Enable horizontal scroll for the tab bar.", - "class": "tabContainerScroll" - } - ], - "TextBox": [ - { - "name": "Capitalize", - "type": "Dropdown", - "description": "Change the capitalization of the input.", - "options": [ - { - "name": "None", - "class": "textInputCapitalizeNone" - }, - { - "name": "Characters", - "class": "textInputCapitalizeCharacters" - }, - { - "name": "Words", - "class": "textInputCapitalizeWords" - }, - { - "name": "Sentences", - "class": "textInputCapitalizeSentences" - } - ] - } - ], - "TextArea": [ - { - "name": "Capitalize", - "type": "Dropdown", - "description": "Change the capitalization of the input.", - "options": [ - { - "name": "None", - "class": "textInputCapitalizeNone" - }, - { - "name": "Characters", - "class": "textInputCapitalizeCharacters" - }, - { - "name": "Words", - "class": "textInputCapitalizeWords" - }, - { - "name": "Sentences", - "class": "textInputCapitalizeSentences" - } - ] - } - ], - "com.mendix.widget.native.activityindicator.ActivityIndicator": [ - { - "name": "Activity indicator style", - "type": "Dropdown", - "description": "Style of the Activity indicator.", - "options": [ - { - "name": "Success", - "class": "activityIndicatorSuccess" - }, - { - "name": "Warning", - "class": "activityIndicatorWarning" - }, - { - "name": "Danger", - "class": "activityIndicatorDanger" - } - ] - } - ], - "com.mendix.widget.native.animation.Animation": [ - { - "name": "Spacing top", - "type": "Dropdown", - "description": "The spacing above this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerTopSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerTopMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerTopLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterTopSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterTopMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterTopLarger" - } - ] - }, - { - "name": "Spacing bottom", - "type": "Dropdown", - "description": "The spacing below this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerBottomSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerBottomMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerBottomLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterBottomSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterBottomMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterBottomLarger" - } - ] - }, - { - "name": "Spacing left", - "type": "Dropdown", - "description": "The spacing to the left of this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerLeftSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerLeftMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerLeftLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterLeftSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterLeftMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterLeftLarger" - } - ] - }, - { - "name": "Spacing right", - "type": "Dropdown", - "description": "The spacing to the right of this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerRightSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerRightMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerRightLarger" - }, - { - "name": "Outer small", - "class": "spacingOuterRightSmaller" - }, - { - "name": "Outer medium", - "class": "spacingOuterRightMedium" - }, - { - "name": "Outer large", - "class": "spacingOuterRightLarger" - } - ] - }, - { - "name": "Size", - "type": "Dropdown", - "description": "Change the size of the widget relative to its sibling(s).", - "options": [ - { - "name": "Maximum space", - "class": "flexMain" - }, - { - "name": "Minimum space", - "class": "flexItem" - } - ] - }, - { - "name": "Background color", - "type": "Dropdown", - "description": "Change the background color of the container.", - "options": [ - { - "name": "Primary", - "class": "backgroundPrimary" - }, - { - "name": "Secondary", - "class": "backgroundSecondary" - }, - { - "name": "Brand Primary", - "class": "backgroundBrandPrimary" - }, - { - "name": "Brand Success", - "class": "backgroundBrandSuccess" - }, - { - "name": "Brand Warning", - "class": "backgroundBrandWarning" - }, - { - "name": "Brand Danger", - "class": "backgroundBrandDanger" - } - ] - }, - { - "name": "Align", - "type": "Dropdown", - "description": "Aligns the element. This overrides 'Align children' of the parent.", - "options": [ - { - "name": "Stretch", - "class": "alignSelfStretch" - }, - { - "name": "Start", - "class": "alignSelfStart" - }, - { - "name": "Center", - "class": "alignSelfCenter" - }, - { - "name": "End", - "class": "alignSelfEnd" - } - ] - }, - { - "name": "Render children horizontal", - "type": "Toggle", - "description": "Determines the direction in which children are rendered.", - "class": "flexRow" - }, - { - "name": "Wrap children", - "type": "Toggle", - "description": "Determines if children can flow into multiple lines if they hit the end of the container.", - "class": "flexWrap" - }, - { - "name": "Align children", - "type": "Dropdown", - "description": "Align children in the opposite direction.", - "options": [ - { - "name": "Start", - "class": "alignChildrenStart" - }, - { - "name": "Center", - "class": "alignChildrenCenter" - }, - { - "name": "End", - "class": "alignChildrenEnd" - }, - { - "name": "Stretch", - "class": "alignChildrenStretch" - } - ] - }, - { - "name": "Justify children", - "type": "Dropdown", - "description": "Justify children in the active direction.", - "options": [ - { - "name": "Center", - "class": "justifyChildrenCenter" - }, - { - "name": "End", - "class": "justifyChildrenEnd" - }, - { - "name": "Space between", - "class": "justifyChildrenSpaceBetween" - }, - { - "name": "Space around", - "class": "justifyChildrenSpaceAround" - } - ] - } - ], - "com.mendix.widget.native.badge.Badge": [ - { - "name": "Badge style", - "type": "Dropdown", - "description": "Style of the Badge.", - "options": [ - { - "name": "Primary", - "class": "badgePrimary" - }, - { - "name": "Success", - "class": "badgeSuccess" - }, - { - "name": "Warning", - "class": "badgeWarning" - }, - { - "name": "Danger", - "class": "badgeDanger" - } - ] - } - ], - "com.mendix.widget.native.floatingactionbutton.FloatingActionButton": [ - { - "name": "Style", - "type": "Dropdown", - "description": "Style of the Floating Action Button.", - "options": [ - { - "name": "Success", - "class": "floatingActionButtonSuccess" - }, - { - "name": "Warning", - "class": "floatingActionButtonWarning" - }, - { - "name": "Danger", - "class": "floatingActionButtonDanger" - } - ] - } - ], - "com.mendix.widget.native.listviewswipe.ListViewSwipe": [ - { - "name": "Panel size", - "type": "Dropdown", - "description": "Size of the left and right panel.", - "options": [ - { - "name": "Small", - "class": "listViewSwipeSmallPanels" - }, - { - "name": "Large", - "class": "listViewSwipeLargePanels" - } - ] - } - ], - "com.mendix.widget.native.maps.Maps": [ - { - "name": "Maps size", - "type": "Dropdown", - "description": "Size of the maps.", - "options": [ - { - "name": "Square", - "class": "mapsSquare" - }, - { - "name": "Maximum space", - "class": "mapsMaxSpace" - } - ] - }, - { - "name": "Maps marker style", - "type": "Dropdown", - "description": "Style of the marker.", - "options": [ - { - "name": "Success", - "class": "mapsSuccess" - }, - { - "name": "Warning", - "class": "mapsWarning" - }, - { - "name": "Danger", - "class": "mapsDanger" - } - ] - } - ], - "com.mendix.widget.native.progressbar.ProgressBar": [ - { - "name": "Progress bar style", - "type": "Dropdown", - "description": "Style of the progress bar.", - "options": [ - { - "name": "Success", - "class": "progressBarSuccess" - }, - { - "name": "Warning", - "class": "progressBarWarning" - }, - { - "name": "Danger", - "class": "progressBarDanger" - } - ] - }, - { - "name": "Progress bar size", - "type": "Dropdown", - "description": "Size of the progress bar.", - "options": [ - { - "name": "Small", - "class": "progressBarSmall" - }, - { - "name": "Large", - "class": "progressBarLarge" - } - ] - } - ], - "com.mendix.widget.native.progresscircle.ProgressCircle": [ - { - "name": "Progress circle style", - "type": "Dropdown", - "description": "Style of the progress circle.", - "options": [ - { - "name": "Success", - "class": "progressCircleSuccess" - }, - { - "name": "Warning", - "class": "progressCircleWarning" - }, - { - "name": "Danger", - "class": "progressCircleDanger" - } - ] - } - ], - "com.mendix.widget.native.rangeslider.RangeSlider": [ - { - "name": "Range Slider style", - "type": "Dropdown", - "description": "Style of the range slider.", - "options": [ - { - "name": "Success", - "class": "rangeSliderSuccess" - }, - { - "name": "Warning", - "class": "rangeSliderWarning" - }, - { - "name": "Danger", - "class": "rangeSliderDanger" - } - ] - } - ], - "com.mendix.widget.native.safeareaview.SafeAreaView": [ - { - "name": "Spacing top", - "type": "Dropdown", - "description": "The spacing above this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerTopSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerTopMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerTopLarger" - } - ] - }, - { - "name": "Spacing bottom", - "type": "Dropdown", - "description": "The spacing below this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerBottomSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerBottomMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerBottomLarger" - } - ] - }, - { - "name": "Spacing left", - "type": "Dropdown", - "description": "The spacing to the left of this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerLeftSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerLeftMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerLeftLarger" - } - ] - }, - { - "name": "Spacing right", - "type": "Dropdown", - "description": "The spacing to the right of this element.", - "options": [ - { - "name": "Inner small", - "class": "spacingInnerRightSmaller" - }, - { - "name": "Inner medium", - "class": "spacingInnerRightMedium" - }, - { - "name": "Inner large", - "class": "spacingInnerRightLarger" - } - ] - }, - { - "name": "Background color", - "type": "Dropdown", - "description": "Change the background color of the container.", - "options": [ - { - "name": "Primary", - "class": "backgroundPrimary" - }, - { - "name": "Secondary", - "class": "backgroundSecondary" - }, - { - "name": "Brand Primary", - "class": "backgroundBrandPrimary" - }, - { - "name": "Brand Success", - "class": "backgroundBrandSuccess" - }, - { - "name": "Brand Warning", - "class": "backgroundBrandWarning" - }, - { - "name": "Brand Danger", - "class": "backgroundBrandDanger" - } - ] - }, - { - "name": "Render children horizontal", - "type": "Toggle", - "description": "Determines the direction in which children are rendered.", - "class": "flexRow" - }, - { - "name": "Wrap children", - "type": "Toggle", - "description": "Determines if children can flow into multiple lines if they hit the end of the container.", - "class": "flexWrap" - }, - { - "name": "Align children", - "type": "Dropdown", - "description": "Align children in the opposite direction.", - "options": [ - { - "name": "Start", - "class": "alignChildrenStart" - }, - { - "name": "Center", - "class": "alignChildrenCenter" - }, - { - "name": "End", - "class": "alignChildrenEnd" - }, - { - "name": "Stretch", - "class": "alignChildrenStretch" - }, - { - "name": "Baseline", - "class": "alignChildrenBaseline" - } - ] - }, - { - "name": "Justify content", - "type": "Dropdown", - "description": "Justify content in the active direction.", - "options": [ - { - "name": "Start", - "class": "justifyContentStart" - }, - { - "name": "Center", - "class": "justifyContentCenter" - }, - { - "name": "End", - "class": "justifyContentEnd" - }, - { - "name": "Space between", - "class": "justifyContentSpaceBetween" - }, - { - "name": "Space around", - "class": "justifyContentSpaceAround" - }, - { - "name": "Space evenly", - "class": "justifyContentSpaceEvenly" - } - ] - } - ], - "com.mendix.widget.native.slider.Slider": [ - { - "name": "Slider style", - "type": "Dropdown", - "description": "Style of the slider.", - "options": [ - { - "name": "Success", - "class": "sliderSuccess" - }, - { - "name": "Warning", - "class": "sliderWarning" - }, - { - "name": "Danger", - "class": "sliderDanger" - } - ] - } - ] - } -} diff --git a/theme/settings.json b/theme/settings.json deleted file mode 100644 index f616bed..0000000 --- a/theme/settings.json +++ /dev/null @@ -1,753 +0,0 @@ -{ - "pageTemplates": "WebModeler", - "cssFiles": [ - "styles/web/css/main.css" - ], - "designProperties": { - "Widget": [ - { - "name": "Spacing top", - "type": "Dropdown", - "description": "The spacing above this element.", - "options": [ - { - "name": "None", - "class": "spacing-outer-top-none" - }, - { - "name": "Small", - "class": "spacing-outer-top" - }, - { - "name": "Medium", - "class": "spacing-outer-top-medium" - }, - { - "name": "Large", - "class": "spacing-outer-top-large" - } - ] - }, - { - "name": "Spacing bottom", - "type": "Dropdown", - "description": "The spacing below this element.", - "options": [ - { - "name": "None", - "class": "spacing-outer-bottom-none" - }, - { - "name": "Small", - "class": "spacing-outer-bottom" - }, - { - "name": "Medium", - "class": "spacing-outer-bottom-medium" - }, - { - "name": "Large", - "class": "spacing-outer-bottom-large" - } - ] - }, - { - "name": "Spacing left", - "type": "Dropdown", - "description": "The spacing to the left of this element.", - "options": [ - { - "name": "None", - "class": "spacing-outer-left-none" - }, - { - "name": "Small", - "class": "spacing-outer-left" - }, - { - "name": "Medium", - "class": "spacing-outer-left-medium" - }, - { - "name": "Large", - "class": "spacing-outer-left-large" - } - ] - }, - { - "name": "Spacing right", - "type": "Dropdown", - "description": "The spacing to the right of this element.", - "options": [ - { - "name": "None", - "class": "spacing-outer-right-none" - }, - { - "name": "Small", - "class": "spacing-outer-right" - }, - { - "name": "Medium", - "class": "spacing-outer-right-medium" - }, - { - "name": "Large", - "class": "spacing-outer-right-large" - } - ] - }, - { - "name": "Align self", - "oldNames": [ - "Align Self" - ], - "type": "Dropdown", - "description": "Float the element to the left or to the right.", - "options": [ - { - "name": "Left", - "class": "pull-left" - }, - { - "name": "Right", - "class": "pull-right" - } - ] - }, - { - "name": "Hide on phone", - "oldNames": [ - "Hide On Phone" - ], - "type": "Toggle", - "description": "Hide element on phone.", - "class": "hide-phone" - }, - { - "name": "Hide on tablet", - "oldNames": [ - "Hide On Tablet" - ], - "type": "Toggle", - "description": "Hide element on tablet.", - "class": "hide-tablet" - }, - { - "name": "Hide on desktop", - "oldNames": [ - "Hide On Desktop" - ], - "type": "Toggle", - "description": "Hide element on desktop.", - "class": "hide-desktop" - } - ], - "DivContainer": [ - { - "name": "Align content", - "type": "Dropdown", - "description": "Align content of this element left, right or center it. Align elements inside the container as a row or as a column.", - "options": [ - { - "name": "Left align as a row", - "oldNames": [ - "Left align as row" - ], - "class": "row-left" - }, - { - "name": "Center align as a row", - "oldNames": [ - "Center align as row" - ], - "class": "row-center" - }, - { - "name": "Right align as a row", - "oldNames": [ - "Right align as row" - ], - "class": "row-right" - }, - { - "name": "Left align as a column", - "oldNames": [ - "Left align as column" - ], - "class": "col-left" - }, - { - "name": "Center align as a column", - "oldNames": [ - "Center align as column" - ], - "class": "col-center" - }, - { - "name": "Right align as a column", - "oldNames": [ - "Right align as column" - ], - "class": "col-right" - } - ] - }, - { - "name": "Background color", - "type": "Dropdown", - "description": "Change the background color of the container.", - "options": [ - { - "name": "Brand Default", - "oldNames": [ - "Default" - ], - "class": "background-default" - }, - { - "name": "Brand Primary", - "oldNames": [ - "Primary" - ], - "class": "background-primary" - }, - { - "name": "Brand Inverse", - "oldNames": [ - "Inverse" - ], - "class": "background-inverse" - }, - { - "name": "Brand Info", - "oldNames": [ - "Info" - ], - "class": "background-info" - }, - { - "name": "Brand Success", - "oldNames": [ - "Success" - ], - "class": "background-success" - }, - { - "name": "Brand Warning", - "oldNames": [ - "Warning" - ], - "class": "background-warning" - }, - { - "name": "Brand Danger", - "oldNames": [ - "Danger" - ], - "class": "background-danger" - }, - { - "name": "Background Default", - "class": "background-main" - }, - { - "name": "Background Dashboard", - "class": "background-secondary" - } - ] - } - ], - "Button": [ - { - "name": "Size", - "type": "Dropdown", - "description": "Size of the buttons", - "options": [ - { - "name": "Small", - "class": "btn-sm" - }, - { - "name": "Large", - "class": "btn-lg" - } - ] - }, - { - "name": "Full width", - "type": "Toggle", - "description": "Extend the button to the full width of the container it is placed in.", - "class": "btn-block" - }, - { - "name": "Border", - "oldNames": [ - "Bordered" - ], - "type": "Toggle", - "description": "Style the button with a transparent background, a colored border, and colored text.", - "class": "btn-bordered" - }, - { - "name": "Align icon", - "type": "Dropdown", - "description": "Place the icon to the right or on top of the button.", - "options": [ - { - "name": "Right", - "class": "btn-icon-right" - }, - { - "name": "Top", - "class": "btn-icon-top" - } - ] - } - ], - "ListView": [ - { - "name": "Style", - "type": "Dropdown", - "description": "Change the appearance of rows in the list view.", - "options": [ - { - "name": "Striped", - "class": "listview-striped" - }, - { - "name": "Bordered", - "class": "listview-bordered" - }, - { - "name": "Lined", - "class": "listview-lined" - }, - { - "name": "No Styling", - "class": "listview-stylingless" - } - ] - }, - { - "name": "Hover style", - "type": "Toggle", - "description": "Highlight a row when hovering over it. Only useful when the row is clickable.", - "class": "listview-hover" - }, - { - "name": "Row Size", - "type": "Dropdown", - "description": "Change the row spacing of the list view.", - "options": [ - { - "name": "Small", - "class": "listview-sm" - }, - { - "name": "Large", - "class": "listview-lg" - } - ] - } - ], - "DataGrid": [ - { - "name": "Style", - "type": "Dropdown", - "description": "Choose one of the following styles to change the appearance of the data grid.", - "options": [ - { - "name": "Striped", - "class": "datagrid-striped" - }, - { - "name": "Bordered", - "class": "datagrid-bordered" - }, - { - "name": "Lined", - "class": "datagrid-lined" - } - ] - }, - { - "name": "Hover style", - "type": "Toggle", - "description": "Enable data grid hover to make the rows hoverable.", - "class": "datagrid-hover" - }, - { - "name": "Row size", - "type": "Dropdown", - "description": "Increase or decrease the row spacing of the data grid row.", - "options": [ - { - "name": "Small", - "class": "datagrid-sm" - }, - { - "name": "Large", - "class": "datagrid-lg" - } - ] - } - ], - "TemplateGrid": [ - { - "name": "Style", - "type": "Dropdown", - "description": "Choose one of the following styles to change the appearance of the template grid.", - "options": [ - { - "name": "Striped", - "class": "templategrid-striped" - }, - { - "name": "Bordered", - "class": "templategrid-bordered" - }, - { - "name": "Lined", - "class": "templategrid-lined" - }, - { - "name": "No styling", - "class": "templategrid-stylingless" - } - ] - }, - { - "name": "Hover style", - "type": "Toggle", - "description": "Enable template grid hover to make the rows hoverable.", - "class": "templategrid-hover" - } - ], - "GroupBox": [ - { - "name": "Style", - "type": "Dropdown", - "description": "Choose one of the following styles to change the appearance of the groupbox.", - "options": [ - { - "name": "Brand Default", - "oldNames": [ - "Default" - ], - "class": "groupbox-default" - }, - { - "name": "Brand Primary", - "oldNames": [ - "Primary" - ], - "class": "groupbox-primary" - }, - { - "name": "Brand Inverse", - "oldNames": [ - "Inverse" - ], - "class": "groupbox-inverse" - }, - { - "name": "Brand Info", - "oldNames": [ - "Info" - ], - "class": "groupbox-info" - }, - { - "name": "Brand Success", - "oldNames": [ - "Success" - ], - "class": "groupbox-success" - }, - { - "name": "Brand Warning", - "oldNames": [ - "Warning" - ], - "class": "groupbox-warning" - }, - { - "name": "Brand Danger", - "oldNames": [ - "Danger" - ], - "class": "groupbox-danger" - }, - { - "name": "Transparent", - "class": "groupbox-transparent" - } - ] - }, - { - "name": "Callout style", - "type": "Toggle", - "description": "Enable the groupbox callout functionality to highlight the importance of the groupbox.", - "class": "groupbox-callout" - } - ], - "StaticImageViewer": [ - { - "name": "Style", - "type": "Dropdown", - "description": "Choose the style of your image.", - "options": [ - { - "name": "Rounded", - "class": "img-rounded" - }, - { - "name": "Thumbnail", - "class": "img-thumbnail" - }, - { - "name": "Circle", - "class": "img-circle" - } - ] - }, - { - "name": "Center", - "type": "Toggle", - "description": "Align the image in the center of an element.", - "class": "img-center" - } - ], - "DynamicImageViewer": [ - { - "name": "Style", - "type": "Dropdown", - "description": "Choose the style of your image.", - "options": [ - { - "name": "Rounded", - "class": "img-rounded" - }, - { - "name": "Thumbnail", - "class": "img-thumbnail" - }, - { - "name": "Circle", - "class": "img-circle" - } - ] - }, - { - "name": "Center", - "type": "Toggle", - "description": "Align the image in the center of an element.", - "class": "img-center" - } - ], - "Label": [ - { - "name": "Style", - "type": "Dropdown", - "description": "Change the appearance of a label.", - "options": [ - { - "name": "Brand Default", - "oldNames": [ - "Default" - ], - "class": "label-default" - }, - { - "name": "Brand Primary", - "oldNames": [ - "Primary" - ], - "class": "label-primary" - }, - { - "name": "Brand Inverse", - "oldNames": [ - "Inverse" - ], - "class": "label-inverse" - }, - { - "name": "Brand Info", - "oldNames": [ - "Info" - ], - "class": "label-info" - }, - { - "name": "Brand Success", - "oldNames": [ - "Success" - ], - "class": "label-success" - }, - { - "name": "Brand Warning", - "oldNames": [ - "Warning" - ], - "class": "label-warning" - }, - { - "name": "Brand Danger", - "oldNames": [ - "Danger" - ], - "class": "label-danger" - } - ] - } - ], - "DynamicText": [ - { - "name": "Font Weight", - "oldNames": [ - "Weight" - ], - "type": "Dropdown", - "description": "Emphasize the text with a heavier or lighter font weight", - "options": [ - { - "name": "Light", - "class": "text-light" - }, - { - "name": "Normal", - "class": "text-normal" - }, - { - "name": "Semibold", - "class": "text-semibold" - }, - { - "name": "Bold", - "class": "text-bold" - } - ] - }, - { - "name": "Color", - "type": "Dropdown", - "description": "Change the color of text.", - "options": [ - { - "name": "Header color", - "class": "text-header" - }, - { - "name": "Detail color", - "class": "text-detail" - }, - { - "name": "Brand Default", - "oldNames": [ - "Default" - ], - "class": "text-default" - }, - { - "name": "Brand Primary", - "oldNames": [ - "Primary" - ], - "class": "text-primary" - }, - { - "name": "Brand Inverse", - "oldNames": [ - "Inverse" - ], - "class": "text-inverse" - }, - { - "name": "Brand Info", - "oldNames": [ - "Info" - ], - "class": "text-info" - }, - { - "name": "Brand Success", - "oldNames": [ - "Success" - ], - "class": "text-success" - }, - { - "name": "Brand Warning", - "oldNames": [ - "Warning" - ], - "class": "text-warning" - }, - { - "name": "Brand Danger", - "oldNames": [ - "Danger" - ], - "class": "text-danger" - } - ] - }, - { - "name": "Alignment", - "type": "Dropdown", - "description": "Align the text.", - "options": [ - { - "name": "Left", - "class": "text-left d-block" - }, - { - "name": "Center", - "class": "text-center d-block" - }, - { - "name": "Right", - "class": "text-right d-block" - } - ] - }, - { - "name": "Transform", - "type": "Dropdown", - "description": "Change the letter case of the text.", - "options": [ - { - "name": "Lowercase", - "class": "text-lowercase" - }, - { - "name": "Uppercase", - "class": "text-uppercase" - }, - { - "name": "Capitalize", - "class": "text-capitalize" - } - ] - }, - { - "name": "Wrap options", - "type": "Dropdown", - "description": "Break long words and sentences into multiple lines.", - "options": [ - { - "name": "Wrap", - "class": "text-break" - }, - { - "name": "No Wrap", - "class": "text-nowrap" - } - ] - } - ] - } -} diff --git a/theme/styles.js b/theme/styles.js deleted file mode 100644 index 5836d58..0000000 --- a/theme/styles.js +++ /dev/null @@ -1,12 +0,0 @@ -import * as custom from "./styles/native/app/custom"; -import mergeobjects from "./styles/native/core/helpers/_functions/mergeobjects"; -import * as main from "./styles/native/main"; - -Object.keys(custom).forEach(key => { - if (main[key]) { - Object.assign(main[key], mergeobjects(main[key], custom[key])); - delete custom[key]; - } -}); - -module.exports = { ...main, ...custom }; diff --git a/theme/styles/native/app/custom-variables.js b/theme/styles/native/app/custom-variables.js deleted file mode 100644 index 69b7f3b..0000000 --- a/theme/styles/native/app/custom-variables.js +++ /dev/null @@ -1,257 +0,0 @@ -import { NativeModules, Platform } from "react-native"; -import adjustFont from "../core/helpers/_functions/adjustfont"; -import { anyColorToRgbString, setColorBasedOnBackground, setContrastScale, } from "../core/helpers/_functions/convertcolors"; -/* - -==> You can find a copy of the core variables below. (From styles/native/core/variables.js) -==> You can freely change any value in this file. -==> DO NOT change the core variable file (or any other file in core), as that makes updating Atlas a lot harder in the future. - -*/ -//== Global variables -//## Variables to be used during styling -//-------------------------------------------------------------------------------------------------------------------// -// Brand Style -export const brand = { - primary: "#0595DB", - success: "#76CA02", - warning: "#f99b1d", - danger: "#ed1c24", - primaryLight: `rgba(${anyColorToRgbString("#0595DB")}, 0.14)`, - successLight: `rgba(${anyColorToRgbString("#76CA02")}, 0.14)`, - warningLight: `rgba(${anyColorToRgbString("#f99b1d")}, 0.14)`, - dangerLight: `rgba(${anyColorToRgbString("#ed1c24")}, 0.14)`, -}; -// -// Dark Mode - Inherits OS theme if possible -export const darkMode = NativeModules && NativeModules.RNDarkMode && NativeModules.RNDarkMode.initialMode - ? NativeModules.RNDarkMode.initialMode === "dark" - : false; -// -// Background Colors -const backgroundColor = darkMode ? "#000" : "#FFF"; -const backgroundSecondaryContrast = darkMode ? 0.11 : 0.03; -// -export const background = { - primary: backgroundColor, - secondary: setContrastScale(backgroundSecondaryContrast, backgroundColor), - gray: "#c6c6cc", - brandPrimary: brand.primary, - brandSuccess: brand.success, - brandWarning: brand.warning, - brandDanger: brand.danger, -}; -// -// Contrast (Gray) colors based on background.primary -export const contrast = { - highest: setContrastScale(0.95, background.primary), - higher: setContrastScale(0.8, background.primary), - high: setContrastScale(0.65, background.primary), - regular: setContrastScale(0.5, background.primary), - low: setContrastScale(0.35, background.primary), - lower: setContrastScale(0.2, background.primary), - lowest: setContrastScale(0.05, background.primary), -}; -// -// Border Style -export const border = { - color: setContrastScale(0.17, background.primary), - width: 1, - radius: 5, -}; -// -// Font Styles -export const font = { - size: adjustFont(14), - sizeSmall: adjustFont(12), - sizeLarge: adjustFont(18), - sizeH1: adjustFont(31), - sizeH2: adjustFont(26), - sizeH3: adjustFont(24), - sizeH4: adjustFont(18), - sizeH5: adjustFont(14), - sizeH6: adjustFont(12), - color: setColorBasedOnBackground(background.primary), - weightLight: "100", - weightNormal: "normal", - weightSemiBold: "600", - weightBold: "bold", - family: Platform.select({ ios: "System", android: "normal" }), -}; -// -// Spacing -export const spacing = { - smallest: 5, - smaller: 10, - small: 15, - regular: 20, - large: 25, - larger: 30, - largest: 40, -}; -// -// Button Styles -export const button = { - fontSize: font.sizeSmall, - fontSizeLarge: font.size, - fontWeight: font.weightBold, - fontSizeIcon: font.sizeSmall, - fontSizeIconLarge: font.size, - borderRadius: border.radius, - paddingVertical: spacing.smaller, - paddingHorizontal: spacing.regular, - header: { - color: contrast.highest, - borderColor: "transparent", - backgroundColor: "transparent", - fontSize: font.sizeSmall, - fontSizeIcon: font.sizeSmall, - paddingLeft: 0, - paddingRight: 10, - }, - primary: { - color: "#FFF", - borderColor: brand.primary, - backgroundColor: brand.primary, - }, - secondary: { - color: brand.primary, - borderColor: brand.primary, - backgroundColor: "transparent", - inversedColor: "#FFF", - }, - success: { - color: "#FFF", - borderColor: brand.success, - backgroundColor: brand.success, - }, - warning: { - color: "#FFF", - borderColor: brand.warning, - backgroundColor: brand.warning, - }, - danger: { - color: "#FFF", - borderColor: brand.danger, - backgroundColor: brand.danger, - }, -}; -// -// Input Styles -export const input = { - // Colors - color: font.color, - errorColor: brand.danger, - labelColor: font.color, - borderColor: contrast.lower, - backgroundColor: background.primary, - disabledBackgroundColor: contrast.lowest, - selectionColor: contrast.lower, - placeholderTextColor: contrast.regular, - underlineColorAndroid: "transparent", - // Sizes - fontSize: font.size, - fontFamily: font.family, - borderWidth: border.width, - borderRadius: border.radius, - // Alignment - textAlign: "left", - paddingHorizontal: spacing.smaller, - paddingVertical: spacing.small, -}; -// -// Navigation Styles -export const navigation = { - statusBar: { - backgroundColor: background.primary, - barStyle: darkMode ? "light-content" : "dark-content", - }, - topBar: { - backgroundColor: background.primary, - backButtonColor: contrast.highest, - titleColor: contrast.highest, - titleFontSize: Platform.select({ android: font.sizeH4, ios: font.sizeH5 }), - }, - bottomBar: { - color: contrast.high, - selectedTextColor: contrast.high, - selectedIconColor: brand.primary, - backgroundColor: background.primary, - fontSize: font.sizeSmall, - iconSize: font.sizeSmall, - }, - progressOverlay: { - color: font.color, - activityIndicatorColor: font.color, - backgroundColor: `rgba(0, 0, 0, 0.5)`, - containerBackgroundColor: background.secondary, - shadowColor: "#000", - fontSize: font.size, - }, -}; -// -// Tabcontainer Styles -export const tabContainer = { - tabBar: { - pressColor: contrast.lower, - backgroundColor: background.primary, - }, - indicator: { - backgroundColor: brand.primary, - height: Platform.select({ ios: 2, android: 2 }), - }, - label: { - color: contrast.highest, - fontWeight: font.weightBold, - textTransform: "uppercase", - }, - activeLabel: { - color: brand.primary, - fontWeight: font.weightBold, - textTransform: "uppercase", - }, -}; -// -// ListView Styles -export const listView = { - border: { - color: border.color, - width: border.width, - }, -}; -// -// Layoutgrid Styles -export const layoutGrid = { - gutterSize: 15, -}; -// -// -//== Pluggable Widgets -//-------------------------------------------------------------------------------------------------------------------// -// Badge Styles -export const badge = { - fontWeight: font.weightBold, - borderRadius: 30, - paddingVertical: 3, - paddingHorizontal: spacing.smaller, - default: { - color: contrast.higher, - backgroundColor: contrast.lower, - }, - primary: { - color: brand.primary, - backgroundColor: brand.primaryLight, - }, - success: { - color: brand.success, - backgroundColor: brand.successLight, - }, - warning: { - color: brand.warning, - backgroundColor: brand.warningLight, - }, - danger: { - color: brand.danger, - backgroundColor: brand.dangerLight, - }, -}; diff --git a/theme/styles/native/app/custom.js b/theme/styles/native/app/custom.js deleted file mode 100644 index 0b5d839..0000000 --- a/theme/styles/native/app/custom.js +++ /dev/null @@ -1,2 +0,0 @@ -import { } from "../core/variables"; - diff --git a/theme/styles/native/core/helpers/_functions/shadeblendconvert.js b/theme/styles/native/core/helpers/_functions/shadeblendconvert.js deleted file mode 100644 index 3e5544a..0000000 --- a/theme/styles/native/core/helpers/_functions/shadeblendconvert.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Blend two colors or add a shade to color - * Colors can be: - * HEX => (#FFFFFF / #FFF) - * RGB => rgb(255,255,255) - * RGBA => rgba(255,255,255, 0.8) - * - * Usage: - * shade => shadeBlendConvert(-0.5, "#FFF") // Makes #FFF 50% darker - * shade => shadeBlendConvert(0.5, "#000") // Makes #000 50% lighter - * shade => shadeBlendConvert(0.5, "#000", "c") // Makes #000 50% lighter and converts HEX to RGB - * blend => shadeBlendConvert(0.2, "rgb(0,0,0)", "rgb(0,200,0)") // rgb(0,0,0) + rgb(0,200,0) + 20% Blend will become rgb(0,40,0) - * blend => shadeBlendConvert(-0.2, "rgb(0,0,0)", "rgb(0,200,0)") // rgb(0,0,0) + rgb(0,200,0) + -20% Blend will become rgb(0,160,0) - * blend => shadeBlendConvert(0.75, "rgb(200,60,20)", "#67DAF0") // rgb(200,60,20) + #67DAF0 + 75% Blend will become #7fb3b9 - * - * - * @param {number} c Amount of change. Value between -1 and 1 - * @param {string} fromValue HEX / RGB / RGBA Color - * @param {string} toValue HEX / RGB / RGBA Color to blend with. If (to === 'c') return value will be RGB Color - * - * @return {string} Returns HEX color or RGB color if parameter to === 'c' - * - */ -export function shadeBlendConvert(c, fromValue, toValue = undefined) { - if (typeof c != "number" || - c < -1 || - c > 1 || - typeof fromValue != "string" || - (fromValue[0] != "r" && fromValue[0] != "#") || - (toValue && typeof toValue != "string")) - return "red"; //ErrorCheck - const sbcRip = (value) => { - const l = value.length, RGB = []; - if (l > 9) { - const d = value.split(","); - if (d.length < 3 || d.length > 4) - return null; //ErrorCheck - (RGB[0] = i(d[0].split("(")[1])), - (RGB[1] = i(d[1])), - (RGB[2] = i(d[2])), - (RGB[3] = d[3] ? parseFloat(d[3]) : -1); - } - else { - let hex = ""; - if (l == 8 || l == 6 || l < 4) - return null; //ErrorCheck - if (l == 4 || l == 5) - hex = "#" + value[1] + value[1] + value[2] + value[2] + value[3] + value[3] + (l > 4 ? value[4] + "" + value[4] : ""); //3 or 4 digit - let d = i(hex.slice(1), 16); - RGB[0] = (d >> 16) & 255; - RGB[1] = (d >> 8) & 255; - RGB[2] = d & 255; - RGB[3] = -1; - if (l == 9 || l == 5) { - RGB[3] = r((RGB[2] / 255) * 10000) / 10000; - RGB[2] = RGB[1]; - RGB[1] = RGB[0]; - RGB[0] = (d >> 24) & 255; - } - } - return RGB; - }; - let i = parseInt, r = Math.round, th = fromValue.length > 9, h = typeof toValue == "string" ? (toValue.length > 9 ? true : toValue == "c" ? !th : false) : th, b = c < 0, p = b ? c * -1 : c, to = toValue && toValue != "c" ? toValue : b ? "#000000" : "#FFFFFF", f = sbcRip(fromValue), t = sbcRip(to); - if (!f || !t) - return "red"; //ErrorCheck - if (h) - return ("rgb" + - (f[3] > -1 || t[3] > -1 ? "a(" : "(") + - r((t[0] - f[0]) * p + f[0]) + - "," + - r((t[1] - f[1]) * p + f[1]) + - "," + - r((t[2] - f[2]) * p + f[2]) + - (f[3] < 0 && t[3] < 0 - ? ")" - : "," + - (f[3] > -1 && t[3] > -1 ? r(((t[3] - f[3]) * p + f[3]) * 10000) / 10000 : t[3] < 0 ? f[3] : t[3]) + - ")")); - else - return ("#" + - (0x100000000 + - r((t[0] - f[0]) * p + f[0]) * 0x1000000 + - r((t[1] - f[1]) * p + f[1]) * 0x10000 + - r((t[2] - f[2]) * p + f[2]) * 0x100 + - (f[3] > -1 && t[3] > -1 - ? r(((t[3] - f[3]) * p + f[3]) * 255) - : t[3] > -1 - ? r(t[3] * 255) - : f[3] > -1 - ? r(f[3] * 255) - : 255)) - .toString(16) - .slice(1, f[3] > -1 || t[3] > -1 ? undefined : -2)); -} diff --git a/theme/styles/native/core/helpers/helperclasses.js b/theme/styles/native/core/helpers/helperclasses.js deleted file mode 100644 index ba2516a..0000000 --- a/theme/styles/native/core/helpers/helperclasses.js +++ /dev/null @@ -1,73 +0,0 @@ -import { Platform } from "react-native"; -import { background, border } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -*/ -// Hide on Android -export const hideOnAndroid = { - container: { - display: Platform.select({ ios: "flex", android: "none" }), - }, -}; -// Hide on iOS -export const hideOnIos = { - container: { - display: Platform.select({ ios: "none", android: "flex" }), - }, -}; -// -//== Background Colors -export const backgroundPrimary = { - container: { - backgroundColor: background.primary, - }, -}; -export const backgroundSecondary = { - container: { - backgroundColor: background.secondary, - }, -}; -export const backgroundBrandPrimary = { - container: { - backgroundColor: background.brandPrimary, - }, -}; -export const backgroundBrandSuccess = { - container: { - backgroundColor: background.brandSuccess, - }, -}; -export const backgroundBrandWarning = { - container: { - backgroundColor: background.brandWarning, - }, -}; -export const backgroundBrandDanger = { - container: { - backgroundColor: background.brandDanger, - }, -}; -export const backgroundGray = { - container: { - backgroundColor: background.gray, - }, -}; -// -// borders -export const borderTop = { - container: { - borderColor: border.color, - borderTopWidth: border.width, - }, -}; -export const borderBottom = { - container: { - borderColor: border.color, - borderBottomWidth: border.width, - }, -}; diff --git a/theme/styles/native/core/helpers/images.js b/theme/styles/native/core/helpers/images.js deleted file mode 100644 index e3903e8..0000000 --- a/theme/styles/native/core/helpers/images.js +++ /dev/null @@ -1,55 +0,0 @@ -import { border } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Image - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// -// -//== Extra Classes -//## Helper classes to change the look and feel of the widget -//-------------------------------------------------------------------------------------------------------------------// -// Image Sizes -export const thumbnail = { - image: { - width: "100%", - height: "auto", - aspectRatio: 1, - borderRadius: border.radius, - }, -}; -export const avatarSmall = { - image: { - width: 60, - height: 60, - borderRadius: 30, - }, -}; -export const avatarMedium = { - image: { - width: 80, - height: 80, - borderRadius: 40, - }, -}; -export const avatarLarge = { - image: { - width: 120, - height: 120, - borderRadius: 60, - }, -}; -export const inputIcon = { - image: { - width: 30, - height: 30, - }, -}; diff --git a/theme/styles/native/core/helpers/progressbar.js b/theme/styles/native/core/helpers/progressbar.js deleted file mode 100644 index 4421d56..0000000 --- a/theme/styles/native/core/helpers/progressbar.js +++ /dev/null @@ -1,58 +0,0 @@ -import { Platform } from "react-native"; -import { anyColorToRgbString } from "./_functions/convertcolors"; -import { brand } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Progress Bar - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Progress Bar Color -export const progressBarSuccess = { - bar: { - borderColor: Platform.select({ ios: brand.success }), - backgroundColor: Platform.select({ android: `rgba(${anyColorToRgbString(brand.success)},0.2)` }), - }, - fill: { - backgroundColor: brand.success, - }, -}; -export const progressBarWarning = { - bar: { - borderColor: Platform.select({ ios: brand.warning }), - backgroundColor: Platform.select({ android: `rgba(${anyColorToRgbString(brand.warning)},0.2)` }), - }, - fill: { - backgroundColor: brand.warning, - }, -}; -export const progressBarDanger = { - bar: { - borderColor: Platform.select({ ios: brand.danger }), - backgroundColor: Platform.select({ android: `rgba(${anyColorToRgbString(brand.danger)},0.2)` }), - }, - fill: { - backgroundColor: brand.danger, - }, -}; -// -// Progress Bar Size -export const progressBarSmall = { - bar: { - height: 3, - borderRadius: Platform.select({ ios: 2 }), - }, -}; -export const progressBarLarge = { - bar: { - height: 10, - borderRadius: Platform.select({ ios: 8 }), - }, -}; diff --git a/theme/styles/native/core/helpers/typography.js b/theme/styles/native/core/helpers/typography.js deleted file mode 100644 index c2eccf3..0000000 --- a/theme/styles/native/core/helpers/typography.js +++ /dev/null @@ -1,150 +0,0 @@ -import { brand, contrast, font } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Text - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Text Colors -export const textPrimary = { - text: { - color: brand.primary, - }, -}; -export const textSuccess = { - text: { - color: brand.success, - }, -}; -export const textWarning = { - text: { - color: brand.warning, - }, -}; -export const textDanger = { - text: { - color: brand.danger, - }, -}; -export const textWhite = { - text: { - color: "#FFF", - }, -}; -// -export const textContrastLowest = { - text: { - color: contrast.lowest, - }, -}; -export const textContrastLower = { - text: { - color: contrast.lower, - }, -}; -export const textContrastLow = { - text: { - color: contrast.low, - }, -}; -export const textContrastDefault = { - text: { - color: contrast.regular, - }, -}; -export const textContrastHigh = { - text: { - color: contrast.high, - }, -}; -export const textContrastHigher = { - text: { - color: contrast.higher, - }, -}; -export const textContrastHighest = { - text: { - color: contrast.highest, - }, -}; -// -// Text Alignment -export const textLeft = { - text: { - textAlign: "left", - }, -}; -export const textCenter = { - text: { - textAlign: "center", - }, -}; -export const textRight = { - text: { - textAlign: "right", - }, -}; -// -// Text Weights -export const textLight = { - text: { - fontWeight: font.weightLight, - }, -}; -export const textNormal = { - text: { - fontWeight: font.weightNormal, - }, -}; -export const textSemiBold = { - text: { - fontWeight: font.weightSemiBold, - }, -}; -export const textBold = { - text: { - fontWeight: font.weightBold, - }, -}; -// -// Text Sizes -export const textSmall = { - text: { - fontSize: font.sizeSmall, - lineHeight: font.sizeSmall + 2, - }, -}; -export const textLarge = { - text: { - fontSize: font.sizeLarge, - lineHeight: font.sizeLarge + 2, - }, -}; -// -//== Extra Classes -//## Helper classes to change the look and feel of the widget -//-------------------------------------------------------------------------------------------------------------------// -// -// Text Transformations -export const textLowercase = { - text: { - textTransform: "lowercase", - }, -}; -export const textUppercase = { - text: { - textTransform: "uppercase", - }, -}; -export const textCapitalize = { - text: { - textTransform: "capitalize", - }, -}; diff --git a/theme/styles/native/core/variables.js b/theme/styles/native/core/variables.js deleted file mode 100644 index e98b374..0000000 --- a/theme/styles/native/core/variables.js +++ /dev/null @@ -1,264 +0,0 @@ -import { Platform } from "react-native"; -import * as custom from "../app/custom-variables"; -import adjustFont, { height, width } from "./helpers/_functions/adjustfont"; -import { anyColorToRgbString, setColorBasedOnBackground, setContrastScale } from "./helpers/_functions/convertcolors"; -import merge from "./helpers/_functions/mergeobjects"; -// -// -//== Global variables -//## Variables to be used during styling -//-------------------------------------------------------------------------------------------------------------------// -// System defined read-only values -export const deviceHeight = height; -export const deviceWidth = width; -// -// Brand Style -let brand = { - primary: "#0595DB", - success: "#76CA02", - warning: "#f99b1d", - danger: "#ed1c24", - primaryLight: `rgba(${anyColorToRgbString("#0595DB")}, 0.14)`, - successLight: `rgba(${anyColorToRgbString("#76CA02")}, 0.14)`, - warningLight: `rgba(${anyColorToRgbString("#f99b1d")}, 0.14)`, - dangerLight: `rgba(${anyColorToRgbString("#ed1c24")}, 0.14)`, -}; -brand = merge(brand, custom.brand || {}); -// -// Background colors -let background = { - primary: "#FFF", - secondary: setContrastScale(0.03, "#FFF"), - gray: "#c6c6cc", - brandPrimary: brand.primary, - brandSuccess: brand.success, - brandWarning: brand.warning, - brandDanger: brand.danger, -}; -background = merge(background, custom.background || {}); -// -// Contrast (Gray) colors based on background.primary -let contrast = { - highest: setContrastScale(0.95, background.primary), - higher: setContrastScale(0.8, background.primary), - high: setContrastScale(0.65, background.primary), - regular: setContrastScale(0.5, background.primary), - low: setContrastScale(0.35, background.primary), - lower: setContrastScale(0.2, background.primary), - lowest: setContrastScale(0.05, background.primary), -}; -contrast = merge(contrast, custom.contrast || {}); -// -// Border Style -let border = { - color: setContrastScale(0.17, background.primary), - width: 1, - radius: 5, -}; -border = merge(border, custom.border || {}); -// -// Font Styles -let font = { - size: adjustFont(14), - sizeSmall: adjustFont(12), - sizeLarge: adjustFont(18), - sizeH1: adjustFont(31), - sizeH2: adjustFont(26), - sizeH3: adjustFont(24), - sizeH4: adjustFont(18), - sizeH5: adjustFont(14), - sizeH6: adjustFont(12), - color: setColorBasedOnBackground(background.primary), - weightLight: "100", - weightNormal: "normal", - weightSemiBold: "600", - weightBold: "bold", - family: Platform.select({ ios: "System", android: "normal" }), -}; -font = merge(font, custom.font || {}); -// -// Spacing -let spacing = { - smallest: 5, - smaller: 10, - small: 15, - regular: 20, - large: 25, - larger: 30, - largest: 40, -}; -spacing = merge(spacing, custom.spacing || {}); -// -// Button Styles -let button = { - fontSize: font.sizeSmall, - fontSizeLarge: font.size, - fontWeight: font.weightBold, - fontSizeIcon: font.sizeSmall, - fontSizeIconLarge: font.size, - borderRadius: border.radius, - paddingVertical: spacing.smaller, - paddingHorizontal: spacing.regular, - header: { - color: contrast.highest, - borderColor: "transparent", - backgroundColor: "transparent", - fontSize: font.sizeSmall, - fontSizeIcon: font.sizeSmall, - paddingLeft: 0, - paddingRight: 10, - }, - primary: { - color: "#FFF", - borderColor: brand.primary, - backgroundColor: brand.primary, - }, - secondary: { - color: brand.primary, - borderColor: brand.primary, - backgroundColor: "transparent", - inversedColor: "#FFF", - }, - success: { - color: "#FFF", - borderColor: brand.success, - backgroundColor: brand.success, - }, - warning: { - color: "#FFF", - borderColor: brand.warning, - backgroundColor: brand.warning, - }, - danger: { - color: "#FFF", - borderColor: brand.danger, - backgroundColor: brand.danger, - }, -}; -button = merge(button, custom.button || {}); -// -//Input Styles -let input = { - // Colors - color: font.color, - errorColor: brand.danger, - labelColor: font.color, - borderColor: contrast.lower, - backgroundColor: background.primary, - disabledBackgroundColor: contrast.lowest, - selectionColor: contrast.lower, - placeholderTextColor: contrast.regular, - underlineColorAndroid: "transparent", - // Sizes - fontSize: font.size, - fontFamily: font.family, - borderWidth: border.width, - borderRadius: border.radius, - // Alignment - textAlign: "left", - paddingHorizontal: spacing.smaller, - paddingVertical: spacing.small, -}; -input = merge(input, custom.input || {}); -// -// Navigation Styles -let navigation = { - statusBar: { - backgroundColor: background.primary, - barStyle: custom.darkMode ? "light-content" : "dark-content", - }, - topBar: { - backgroundColor: background.primary, - backButtonColor: contrast.highest, - titleColor: contrast.highest, - titleFontSize: Platform.select({ android: font.sizeH4, ios: font.sizeH5 }), - }, - bottomBar: { - color: contrast.high, - selectedTextColor: contrast.high, - selectedIconColor: brand.primary, - backgroundColor: background.primary, - fontSize: font.sizeSmall, - iconSize: font.sizeSmall, - }, - progressOverlay: { - color: font.color, - activityIndicatorColor: font.color, - backgroundColor: `rgba(0, 0, 0, 0.5)`, - containerBackgroundColor: background.secondary, - shadowColor: "#000", - fontSize: font.size, - }, -}; -navigation = merge(navigation, custom.navigation || {}); -// -// Tabcontainer Styles -let tabContainer = { - tabBar: { - pressColor: contrast.lower, - backgroundColor: background.primary, - }, - indicator: { - backgroundColor: brand.primary, - height: Platform.select({ ios: 2, android: 2 }), - }, - label: { - color: contrast.highest, - fontWeight: font.weightBold, - textTransform: "uppercase", - }, - activeLabel: { - color: brand.primary, - fontWeight: font.weightBold, - textTransform: "uppercase", - }, -}; -tabContainer = merge(tabContainer, custom.tabContainer || {}); -// -// Listview Styles -let listView = { - border: { - color: border.color, - width: border.width, - }, -}; -listView = merge(listView, custom.listView || {}); -// -// Layoutgrid Styles -let layoutGrid = { - gutterSize: 15, -}; -layoutGrid = merge(layoutGrid, custom.layoutGrid || {}); -// -//## Pluggable Widgets -//-------------------------------------------------------------------------------------------------------------------// -// Badge Styles -let badge = { - fontWeight: font.weightBold, - borderRadius: 30, - paddingVertical: 3, - paddingHorizontal: spacing.smaller, - default: { - color: contrast.higher, - backgroundColor: contrast.lower, - }, - primary: { - color: brand.primary, - backgroundColor: brand.primaryLight, - }, - success: { - color: brand.success, - backgroundColor: brand.successLight, - }, - warning: { - color: brand.warning, - backgroundColor: brand.warningLight, - }, - danger: { - color: brand.danger, - backgroundColor: brand.dangerLight, - }, -}; -badge = merge(badge, custom.badge || {}); -// -export { brand, background, border, contrast, font, spacing, button, input, navigation, tabContainer, listView, layoutGrid, badge, }; diff --git a/theme/styles/native/core/widgets/datepicker.js b/theme/styles/native/core/widgets/datepicker.js deleted file mode 100644 index 357054b..0000000 --- a/theme/styles/native/core/widgets/datepicker.js +++ /dev/null @@ -1,90 +0,0 @@ -import { NativeModules } from "react-native"; -import { darkMode } from "../../app/custom-variables"; -import { font, input } from "../variables"; -import { TextBox, TextBoxVertical } from "./textbox"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Date Picker - - Default Class For Mendix Date Picker Widget -========================================================================== */ -// Font color of native iOS datepicker can not be changed. -// To fix this we change the background color of the picker if OS theme is dark and app theme is light (And the other way around). -const isOSDarkMode = NativeModules && NativeModules.RNDarkMode && NativeModules.RNDarkMode.initialMode && NativeModules.RNDarkMode.initialMode === "dark"; -const pickerBackgroundColor = !darkMode && isOSDarkMode ? - "rgba(0, 0, 0, 1)" : - darkMode && !isOSDarkMode ? "rgba(255, 255, 255, 1)" : input.backgroundColor; -// -export const DatePicker = { - container: { - // All ViewStyle properties are allowed - ...TextBox.container, - }, - label: { - // numberOfLines and all TextStyle properties are allowed - ...TextBox.label, - }, - pickerIOS: { - // All ViewStyle properties are allowed - backgroundColor: pickerBackgroundColor, - }, - pickerBackdropIOS: { - // All ViewStyle properties are allowed - }, - pickerTopIOS: { - // All ViewStyle properties are allowed - backgroundColor: pickerBackgroundColor, - }, - value: { - // All TextStyle properties are allowed - color: input.color, - borderColor: input.borderColor, - backgroundColor: input.backgroundColor, - fontSize: input.fontSize, - fontFamily: font.family, - borderWidth: input.borderWidth, - borderRadius: input.borderRadius, - paddingHorizontal: input.paddingHorizontal, - paddingVertical: input.paddingVertical, - }, - valueDisabled: { - // All TextStyle properties are allowed - backgroundColor: input.disabledBackgroundColor, - }, - placeholder: { - // All TextStyle properties are allowed - color: input.placeholderTextColor, - }, - placeholderDisabled: { - // All TextStyle properties are allowed - }, - validationMessage: { - // All TextStyle properties are allowed - ...TextBox.validationMessage, - }, -}; -export const DatePickerVertical = { - container: TextBoxVertical.container, - label: TextBoxVertical.label, - value: { - color: input.color, - borderColor: input.borderColor, - backgroundColor: input.backgroundColor, - fontSize: input.fontSize, - fontFamily: font.family, - borderRadius: input.borderRadius, - borderWidth: input.borderWidth, - paddingHorizontal: input.paddingHorizontal, - paddingVertical: input.paddingVertical, - }, - placeholder: { - color: input.placeholderTextColor, - }, - validationMessage: TextBoxVertical.validationMessage, -}; diff --git a/theme/styles/native/core/widgets/dropdown.js b/theme/styles/native/core/widgets/dropdown.js deleted file mode 100644 index e13e371..0000000 --- a/theme/styles/native/core/widgets/dropdown.js +++ /dev/null @@ -1,106 +0,0 @@ -import { border, contrast, font, input } from "../variables"; -import { TextBox, TextBoxVertical } from "./textbox"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Drop Down - - Default Class For Mendix Drop Down Widget -========================================================================== */ -export const DropDown = { - container: { - // All ViewStyle properties are allowed - ...TextBox.container, - }, - label: { - // numberOfLines and all TextStyle properties are allowed - ...TextBox.label, - }, - value: { - // All TextStyle properties & placeholderTextColor are allowed - color: input.color, - borderColor: input.borderColor, - backgroundColor: input.backgroundColor, - fontSize: input.fontSize, - fontFamily: input.fontFamily, - borderWidth: input.borderWidth, - borderRadius: input.borderRadius, - paddingHorizontal: input.paddingHorizontal, - paddingVertical: input.paddingVertical, - placeholderTextColor: input.placeholderTextColor, - }, - valueDisabled: { - // All TextStyle properties are allowed - backgroundColor: input.disabledBackgroundColor, - }, - validationMessage: { - // All TextStyle properties are allowed - ...TextBox.validationMessage, - }, - /* New dropdown styles start */ - valueContainer: { - // All ViewStyle properties & rippleColor are allowed - }, - menuWrapper: { - // All ViewStyle properties are allowed - borderRadius: border.radius, - shadowColor: "#000", - shadowOpacity: 0.2, - shadowRadius: 10, - elevation: 16, - }, - itemContainer: { - // All ViewStyle properties are allowed - maxWidth: 500, - paddingVertical: 6, - paddingHorizontal: 16, - }, - item: { - // All TextStlye properties are allowed - }, - selectedItem: { - // All TextStlye properties are allowed - fontWeight: font.weightBold, - }, - selectedItemContainer: { - // All ViewStyle properties are allowed - backgroundColor: contrast.lowest, - }, - /* New dropdown styles end */ - useUniformDesign: true, - /* Old dropdown styles start */ - pickerIOS: { - // All ViewStyle properties are allowed - backgroundColor: input.backgroundColor, - }, - pickerItemIOS: { - // All TextStyle properties are allowed - }, - pickerBackdropIOS: { - // All ViewStyle properties are allowed - }, - pickerTopIOS: { - // All ViewStyle properties are allowed - backgroundColor: input.backgroundColor, - }, -}; -export const DropDownVertical = { - container: TextBoxVertical.container, - label: TextBoxVertical.label, - value: DropDown.value, - validationMessage: TextBoxVertical.validationMessage, - valueContainer: DropDown.valueContainer, - menuWrapper: DropDown.menuWrapper, - itemContainer: DropDown.itemContainer, - item: DropDown.item, - useUniformDesign: DropDown.useUniformDesign, - pickerIOS: DropDown.pickerIOS, - pickerItemIOS: DropDown.pickerItemIOS, - pickerBackdropIOS: DropDown.pickerBackdropIOS, - pickerTopIOS: DropDown.pickerTopIOS, -}; diff --git a/theme/styles/native/core/widgets/referenceselector.js b/theme/styles/native/core/widgets/referenceselector.js deleted file mode 100644 index cd2ce79..0000000 --- a/theme/styles/native/core/widgets/referenceselector.js +++ /dev/null @@ -1,110 +0,0 @@ -import { border, contrast, font, input } from "../variables"; -import { DropDown } from "./dropdown"; -import { TextBox, TextBoxVertical } from "./textbox"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Reference Selector - - Default Class For Mendix Reference Selector Widget -========================================================================== */ -export const ReferenceSelector = { - container: { - // All ViewStyle properties are allowed - ...TextBox.container, - }, - label: { - // numberOfLines and all TextStyle properties are allowed - ...TextBox.label, - }, - value: { - // All TextStyle properties & placeholderTextColor are allowed - color: input.color, - borderColor: input.borderColor, - backgroundColor: input.backgroundColor, - fontSize: input.fontSize, - fontFamily: input.fontFamily, - borderWidth: input.borderWidth, - borderRadius: input.borderRadius, - overflow: "hidden", - paddingHorizontal: input.paddingHorizontal, - paddingVertical: input.paddingVertical, - placeholderTextColor: input.placeholderTextColor, - }, - valueDisabled: { - // All TextStyle properties are allowed - backgroundColor: input.disabledBackgroundColor, - }, - validationMessage: { - // All TextStyle properties are allowed - ...TextBox.validationMessage, - }, - /* New dropdown styles start */ - valueContainer: { - // All ViewStyle properties & rippleColor are allowed - }, - menuWrapper: { - // All ViewStyle properties are allowed - borderRadius: border.radius, - shadowColor: "#000", - shadowOpacity: 0.2, - shadowRadius: 10, - elevation: 16, - }, - itemContainer: { - // All ViewStyle properties are allowed - maxWidth: 500, - paddingVertical: 6, - paddingHorizontal: 16, - backgroundColor: input.backgroundColor, - }, - item: { - // All TextStlye properties are allowed - color: input.color, - }, - selectedItem: { - // All TextStlye properties are allowed - fontWeight: font.weightBold, - }, - selectedItemContainer: { - // All ViewStyle properties are allowed - backgroundColor: contrast.lowest, - }, - /* New dropdown styles end */ - useUniformDesign: true, - /* Old dropdown styles start */ - pickerIOS: { - // All ViewStyle properties are allowed - backgroundColor: input.backgroundColor, - }, - pickerItemIOS: { - // All TextStyle properties are allowed - }, - pickerBackdropIOS: { - // All ViewStyle properties are allowed - }, - pickerTopIOS: { - // All ViewStyle properties are allowed - backgroundColor: input.backgroundColor, - }, -}; -export const ReferenceSelectorVertical = { - container: TextBoxVertical.container, - label: TextBoxVertical.label, - value: DropDown.value, - validationMessage: TextBoxVertical.validationMessage, - valueContainer: DropDown.valueContainer, - menuWrapper: DropDown.menuWrapper, - itemContainer: DropDown.itemContainer, - item: DropDown.item, - useUniformDesign: DropDown.useUniformDesign, - pickerIOS: DropDown.pickerIOS, - pickerItemIOS: DropDown.pickerItemIOS, - pickerBackdropIOS: DropDown.pickerBackdropIOS, - pickerTopIOS: DropDown.pickerTopIOS, -}; diff --git a/theme/styles/native/core/widgets/slider.js b/theme/styles/native/core/widgets/slider.js deleted file mode 100644 index 13ad91c..0000000 --- a/theme/styles/native/core/widgets/slider.js +++ /dev/null @@ -1,96 +0,0 @@ -import { Platform } from "react-native"; -import { background, border, brand, contrast, font, input } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Slider - - Default Class For Mendix Slider Widget -========================================================================== */ -export const com_mendix_widget_native_slider_Slider = { - container: { - // All ViewStyle properties are allowed - alignSelf: "stretch", - }, - track: { - // All ViewStyle properties are allowed - backgroundColor: contrast.lower, - }, - trackDisabled: { - // All ViewStyle properties are allowed - backgroundColor: contrast.lower, - opacity: Platform.select({ ios: 0.4 }), - }, - highlight: { - // All ViewStyle properties are allowed - backgroundColor: brand.primary, - }, - highlightDisabled: { - // All ViewStyle properties are allowed - backgroundColor: Platform.select({ ios: brand.primary, android: contrast.low }), - }, - marker: { - // All ViewStyle properties are allowed - backgroundColor: background.secondary, - ...Platform.select({ - ios: { - width: 30, - height: 30, - shadowColor: "#000", - shadowOpacity: 0.2, - borderColor: contrast.lowest, - shadowOffset: { width: 0, height: 1 }, - }, - android: { - width: 20, - height: 20, - borderRadius: 10, - elevation: 3, - borderColor: border.color, - }, - }), - }, - markerActive: { - // All ViewStyle properties are allowed - ...Platform.select({ - android: { - borderWidth: 0, - width: 34, - height: 34, - borderRadius: 17, - }, - }), - }, - markerDisabled: { - // All ViewStyle properties are allowed - ...Platform.select({ - ios: { - borderColor: contrast.lowest, - backgroundColor: background.secondary, - shadowColor: "#000", - shadowOpacity: 0.2, - shadowOffset: { width: 0, height: 1 }, - }, - android: { - marginTop: 1, - borderColor: background.primary, - backgroundColor: contrast.low, - borderWidth: 3, - width: 14, - height: 14, - borderRadius: 7, - }, - }), - }, - validationMessage: { - // All TextStyle properties are allowed - color: input.errorColor, - fontSize: font.size, - fontFamily: font.family, - }, -}; diff --git a/theme/styles/native/core/widgets/textbox.js b/theme/styles/native/core/widgets/textbox.js deleted file mode 100644 index 05fb232..0000000 --- a/theme/styles/native/core/widgets/textbox.js +++ /dev/null @@ -1,84 +0,0 @@ -import { font, input, spacing } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Text Box - - Default Class For Mendix Text Box Widget -========================================================================== */ -export const TextBox = { - container: { - // All ViewStyle properties are allowed - }, - label: { - // numberOfLines and all TextStyle properties are allowed - numberOfLines: 1, - color: input.labelColor, - fontSize: input.fontSize, - fontFamily: font.family, - textAlign: input.textAlign, - marginRight: spacing.small, - }, - input: { - // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed - color: input.color, - borderColor: input.borderColor, - backgroundColor: input.backgroundColor, - selectionColor: input.selectionColor, - placeholderTextColor: input.placeholderTextColor, - fontSize: input.fontSize, - fontFamily: input.fontFamily, - borderWidth: input.borderWidth, - borderRadius: input.borderRadius, - paddingHorizontal: input.paddingHorizontal, - paddingVertical: input.paddingVertical, - }, - inputDisabled: { - // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed - backgroundColor: input.disabledBackgroundColor, - }, - inputError: { - // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed - color: input.errorColor, - borderColor: input.errorColor, - placeholderTextColor: input.errorColor, - underlineColorAndroid: input.underlineColorAndroid, - }, - validationMessage: { - // All TextStyle properties are allowed - color: input.errorColor, - fontSize: font.size, - fontFamily: font.family, - }, -}; -export const TextBoxVertical = { - container: {}, - label: { - numberOfLines: 1, - color: input.labelColor, - fontSize: input.fontSize, - fontFamily: font.family, - textAlign: input.textAlign, - marginBottom: spacing.smallest, - }, - input: { - color: input.color, - borderColor: input.borderColor, - backgroundColor: input.backgroundColor, - selectionColor: input.selectionColor, - placeholderTextColor: input.placeholderTextColor, - fontSize: input.fontSize, - fontFamily: input.fontFamily, - borderRadius: input.borderRadius, - borderWidth: input.borderWidth, - paddingHorizontal: input.paddingHorizontal, - paddingVertical: input.paddingVertical, - }, - inputError: TextBox.inputError, - validationMessage: TextBox.validationMessage, -}; diff --git a/theme/styles/native/main.js b/theme/styles/native/main.js deleted file mode 100644 index 2bee9c0..0000000 --- a/theme/styles/native/main.js +++ /dev/null @@ -1,80 +0,0 @@ -//================================== CORE ==================================\\ -// -// -// Base -export * from "./core/base/flex"; -export * from "./core/base/spacing"; -// -// -// Components -export * from "./core/widgets/activityindicator"; -export * from "./core/helpers/activityindicator"; -export * from "./core/widgets/animation"; -export * from "./core/widgets/backgroundimage"; -export * from "./core/widgets/badge"; -export * from "./core/helpers/badge"; -export * from "./core/widgets/bottomsheet"; -export * from "./core/widgets/buttons"; -export * from "./core/helpers/buttons"; -export * from "./core/widgets/carousel"; -export * from "./core/widgets/checkbox"; -export * from "./core/widgets/colorpicker"; -export * from "./core/widgets/container"; -export * from "./core/widgets/datepicker"; -export * from "./core/widgets/dropdown"; -export * from "./core/widgets/feedback"; -export * from "./core/widgets/floatingactionbutton"; -export * from "./core/helpers/floatingactionbutton"; -export * from "./core/widgets/images"; -export * from "./core/helpers/images"; -export * from "./core/widgets/introscreen"; -export * from "./core/widgets/layoutgrid"; -export * from "./core/widgets/listviews"; -export * from "./core/helpers/listviews"; -export * from "./core/widgets/listviewswipe"; -export * from "./core/helpers/listviewswipe"; -export * from "./core/widgets/maps"; -export * from "./core/helpers/maps"; -export * from "./core/widgets/navigation"; -export * from "./core/widgets/pagetitle"; -export * from "./core/widgets/progressbar"; -export * from "./core/helpers/progressbar"; -export * from "./core/widgets/progresscircle"; -export * from "./core/helpers/progresscircle"; -export * from "./core/widgets/popupmenu"; -export * from "./core/widgets/qrcode"; -export * from "./core/widgets/rangeslider"; -export * from "./core/helpers/rangeslider"; -export * from "./core/widgets/rating"; -export * from "./core/widgets/referenceselector"; -export * from "./core/widgets/safeareaview"; -export * from "./core/widgets/slider"; -export * from "./core/helpers/slider"; -export * from "./core/widgets/tabcontainer"; -export * from "./core/helpers/tabcontainer"; -export * from "./core/widgets/textarea"; -export * from "./core/widgets/textbox"; -export * from "./core/helpers/textbox"; -export * from "./core/widgets/togglebuttons"; -export * from "./core/widgets/typography"; -export * from "./core/helpers/typography"; -export * from "./core/widgets/videoplayer"; -export * from "./core/widgets/webview"; -export * from "./core/helpers/helperclasses"; -// -// -//================================= CUSTOM =================================\\ -// -// Layouts -export * from "./ui_resources/atlas_ui_resources/layouts/layout"; -// -// -// Page Templates -export * from "./ui_resources/atlas_ui_resources/pagetemplates/page"; -export * from "./ui_resources/atlas_ui_resources/pagetemplates/maps"; -export * from "./ui_resources/atlas_ui_resources/pagetemplates/inspectiondetails"; -// -// -// Building blocks -export * from "./ui_resources/atlas_ui_resources/buildingblocks/card"; -export * from "./ui_resources/atlas_ui_resources/buildingblocks/header"; diff --git a/theme/styles/native/ui_resources/atlas_ui_resources/buildingblocks/card.js b/theme/styles/native/ui_resources/atlas_ui_resources/buildingblocks/card.js deleted file mode 100644 index 0722052..0000000 --- a/theme/styles/native/ui_resources/atlas_ui_resources/buildingblocks/card.js +++ /dev/null @@ -1,100 +0,0 @@ -import { Platform } from "react-native"; -import { background, border, contrast, spacing } from "../../../core/variables"; -/* -========================================================================== - Cards - -========================================================================== -*/ -export const card = { - container: { - borderRadius: border.radius, - backgroundColor: background.primary, - marginBottom: spacing.regular, - ...Platform.select({ - android: { - borderWidth: 1, - borderColor: contrast.lowest, - }, - }), - elevation: 1.5, - shadowColor: "#000", - shadowOpacity: 0.1, - shadowRadius: 10, - shadowOffset: { - width: 0, - height: 2, - }, - }, -}; -// -//== Elements -//-------------------------------------------------------------------------------------------------------------------// -export const cardImage = { - container: { - overflow: "hidden", - borderTopLeftRadius: border.radius, - borderTopRightRadius: border.radius, - }, - image: { - width: "100%", - height: 200, - resizeMode: "cover", - }, -}; -export const cardImageFull = { - container: { - ...cardImage.container, - borderBottomLeftRadius: border.radius, - borderBottomRightRadius: border.radius, - }, - image: { - width: "100%", - height: 300, - resizeMode: "cover", - }, -}; -export const cardBody = { - container: { - position: "absolute", - end: 0, - start: 0, - bottom: 0, - backgroundColor: "transparent", - }, -}; -// -//== Variations -//-------------------------------------------------------------------------------------------------------------------// -// Card Action -export const cardAction = { - container: { - maxWidth: "100%", - aspectRatio: 1, - borderWidth: 1, - borderColor: border.color, - borderRadius: border.radius, - padding: spacing.regular, - alignItems: "center", - }, -}; -export const cardActionImage = { - image: { - maxHeight: 70, - resizeMode: "contain", - }, -}; -// -//-------------------------------------------------------------------------------------------------------------------// -// Card Payment -export const cardPaymentImage = { - container: { - flex: -1, - maxHeight: 250, - }, - image: { - width: "100%", - maxHeight: 250, - resizeMode: "contain", - }, -}; diff --git a/theme/styles/native/ui_resources/atlas_ui_resources/buildingblocks/header.js b/theme/styles/native/ui_resources/atlas_ui_resources/buildingblocks/header.js deleted file mode 100644 index b073f16..0000000 --- a/theme/styles/native/ui_resources/atlas_ui_resources/buildingblocks/header.js +++ /dev/null @@ -1,55 +0,0 @@ -import { Platform } from "react-native"; -import { background, border, contrast, spacing } from "../../../core/variables"; -/* -========================================================================== - Cards - -========================================================================== -*/ -export const header = { - container: { - borderRadius: border.radius, - backgroundColor: background.primary, - marginBottom: spacing.regular, - ...Platform.select({ - android: { - borderWidth: 1, - borderColor: contrast.lowest, - }, - }), - }, -}; -// -//== Elements -//-------------------------------------------------------------------------------------------------------------------// -export const headerImageFull = { - container: { - overflow: "hidden", - }, - image: { - width: "100%", - height: 250, - resizeMode: "cover", - }, -}; -export const headerImageOverlay = { - container: { - zIndex: 10, - width: "100%", - height: "100%", - position: "absolute", - backgroundColor: "rgba(0,0,0,0.4)", - }, -}; -export const headerBody = { - container: { - bottom: 0, - zIndex: 11, - width: "100%", - position: "absolute", - backgroundColor: "transparent", - }, -}; -// -//== Variations -//-------------------------------------------------------------------------------------------------------------------// diff --git a/theme/styles/native/ui_resources/atlas_ui_resources/pagetemplates/inspectiondetails.js b/theme/styles/native/ui_resources/atlas_ui_resources/pagetemplates/inspectiondetails.js deleted file mode 100644 index 05f9fe9..0000000 --- a/theme/styles/native/ui_resources/atlas_ui_resources/pagetemplates/inspectiondetails.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -========================================================================== - Inspection details - -========================================================================== -*/ -//== Elements -//-------------------------------------------------------------------------------------------------------------------// -export const carouselCardImage = { - container: { - borderRadius: 10, - overflow: "hidden", - }, - image: { - width: "100%", - height: "100%", - }, -}; -export const carouselFullWidthImage = { - container: {}, - image: { - width: "100%", - height: "100%", - }, -}; -// -//== Variations -//-------------------------------------------------------------------------------------------------------------------// -// diff --git a/theme/styles/native/ui_resources/atlas_ui_resources/pagetemplates/maps.js b/theme/styles/native/ui_resources/atlas_ui_resources/pagetemplates/maps.js deleted file mode 100644 index d90d887..0000000 --- a/theme/styles/native/ui_resources/atlas_ui_resources/pagetemplates/maps.js +++ /dev/null @@ -1,71 +0,0 @@ -import { background, border, contrast, spacing } from "../../../core/variables.js"; -/* -========================================================================== - Maps - -========================================================================== -*/ -// -//== Elements -//-------------------------------------------------------------------------------------------------------------------// -export const mapsBackground = { - container: { - position: "absolute", - height: "100%", - width: "100%", - zIndex: 0, - }, -}; -export const mapsFooter = { - container: { - bottom: 0, - position: "absolute", - }, -}; -export const mapsFooterSendLocation = { - container: { - flex: 1, - alignSelf: "flex-end", - backgroundColor: background.primary, - padding: spacing.regular, - margin: spacing.regular, - borderRadius: border.radius, - elevation: 4, - shadowColor: contrast.lower, - shadowOpacity: 0.8, - shadowRadius: 8, - shadowOffset: { - width: 0, - height: 2, - }, - }, -}; -export const mapsList = { - container: { - paddingHorizontal: spacing.regular, - }, -}; -export const mapsListItemImage = { - container: { - backgroundColor: background.primary, - borderRadius: border.radius, - marginVertical: spacing.regular, - marginLeft: spacing.smallest, - marginRight: spacing.regular, - elevation: 4, - shadowColor: contrast.lower, - shadowOpacity: 0.8, - shadowRadius: 8, - shadowOffset: { - width: 0, - height: 2, - }, - }, - image: { - borderRadius: border.radius, - }, -}; -// -//== Variations -//-------------------------------------------------------------------------------------------------------------------// -// diff --git a/theme/styles/native/ui_resources/atlas_ui_resources/pagetemplates/page.js b/theme/styles/native/ui_resources/atlas_ui_resources/pagetemplates/page.js deleted file mode 100644 index 12ab558..0000000 --- a/theme/styles/native/ui_resources/atlas_ui_resources/pagetemplates/page.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -========================================================================== - Page - -========================================================================== -*/ -//== Elements -//-------------------------------------------------------------------------------------------------------------------// -// -//== Variations -//-------------------------------------------------------------------------------------------------------------------// -// -export const pageHeaderBorderNone = { - sidebar: { - // All ViewStyle properties are allowed - }, - statusBar: { - // Only backgroundColor and barStyle are allowed - }, - header: { - container: { - // All ViewStyle properties are allowed - elevation: 0, - borderBottomWidth: undefined, - }, - title: { - // All TextStyle properties are allowed - }, - backButtonText: { - // All TextStyle properties are allowed - }, - backButtonIcon: { - // All ImageStyle properties are allowed - }, - }, - container: { - // All ViewStyle properties are allowed - }, -}; diff --git a/theme/styles/web/css/fonts/glyphicons-halflings-regular.eot b/theme/styles/web/css/fonts/glyphicons-halflings-regular.eot deleted file mode 100644 index b93a495..0000000 Binary files a/theme/styles/web/css/fonts/glyphicons-halflings-regular.eot and /dev/null differ diff --git a/theme/styles/web/css/fonts/glyphicons-halflings-regular.svg b/theme/styles/web/css/fonts/glyphicons-halflings-regular.svg deleted file mode 100644 index 94fb549..0000000 --- a/theme/styles/web/css/fonts/glyphicons-halflings-regular.svg +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/theme/styles/web/css/fonts/glyphicons-halflings-regular.ttf b/theme/styles/web/css/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 1413fc6..0000000 Binary files a/theme/styles/web/css/fonts/glyphicons-halflings-regular.ttf and /dev/null differ diff --git a/theme/styles/web/css/main.css b/theme/styles/web/css/main.css deleted file mode 100644 index 97102fb..0000000 --- a/theme/styles/web/css/main.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v3.3.4 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700");@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700");@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700");html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{margin:0.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type='button'],input[type='reset'],input[type='submit']{-webkit-appearance:button;cursor:pointer}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type='checkbox'],input[type='radio']{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type='number']::-webkit-inner-spin-button,input[type='number']::-webkit-outer-spin-button{height:auto}input[type='search']{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type='search']::-webkit-search-cancel-button,input[type='search']::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:0.35em 0.625em 0.75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{color:#000 !important;text-shadow:none !important;background:transparent !important;-webkit-box-shadow:none !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^='#']:after,a[href^='javascript:']:after{content:''}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url("./fonts/glyphicons-halflings-regular.eot");src:url("./fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("./fonts/glyphicons-halflings-regular.woff2") format("woff2"),url("./fonts/glyphicons-halflings-regular.woff") format("woff"),url("./fonts/glyphicons-halflings-regular.ttf") format("truetype"),url("./fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:'\2a'}.glyphicon-plus:before{content:'\2b'}.glyphicon-euro:before,.glyphicon-eur:before{content:'\20ac'}.glyphicon-minus:before{content:'\2212'}.glyphicon-cloud:before{content:'\2601'}.glyphicon-envelope:before{content:'\2709'}.glyphicon-pencil:before{content:'\270f'}.glyphicon-glass:before{content:'\e001'}.glyphicon-music:before{content:'\e002'}.glyphicon-search:before{content:'\e003'}.glyphicon-heart:before{content:'\e005'}.glyphicon-star:before{content:'\e006'}.glyphicon-star-empty:before{content:'\e007'}.glyphicon-user:before{content:'\e008'}.glyphicon-film:before{content:'\e009'}.glyphicon-th-large:before{content:'\e010'}.glyphicon-th:before{content:'\e011'}.glyphicon-th-list:before{content:'\e012'}.glyphicon-ok:before{content:'\e013'}.glyphicon-remove:before{content:'\e014'}.glyphicon-zoom-in:before{content:'\e015'}.glyphicon-zoom-out:before{content:'\e016'}.glyphicon-off:before{content:'\e017'}.glyphicon-signal:before{content:'\e018'}.glyphicon-cog:before{content:'\e019'}.glyphicon-trash:before{content:'\e020'}.glyphicon-home:before{content:'\e021'}.glyphicon-file:before{content:'\e022'}.glyphicon-time:before{content:'\e023'}.glyphicon-road:before{content:'\e024'}.glyphicon-download-alt:before{content:'\e025'}.glyphicon-download:before{content:'\e026'}.glyphicon-upload:before{content:'\e027'}.glyphicon-inbox:before{content:'\e028'}.glyphicon-play-circle:before{content:'\e029'}.glyphicon-repeat:before{content:'\e030'}.glyphicon-refresh:before{content:'\e031'}.glyphicon-list-alt:before{content:'\e032'}.glyphicon-lock:before{content:'\e033'}.glyphicon-flag:before{content:'\e034'}.glyphicon-headphones:before{content:'\e035'}.glyphicon-volume-off:before{content:'\e036'}.glyphicon-volume-down:before{content:'\e037'}.glyphicon-volume-up:before{content:'\e038'}.glyphicon-qrcode:before{content:'\e039'}.glyphicon-barcode:before{content:'\e040'}.glyphicon-tag:before{content:'\e041'}.glyphicon-tags:before{content:'\e042'}.glyphicon-book:before{content:'\e043'}.glyphicon-bookmark:before{content:'\e044'}.glyphicon-print:before{content:'\e045'}.glyphicon-camera:before{content:'\e046'}.glyphicon-font:before{content:'\e047'}.glyphicon-bold:before{content:'\e048'}.glyphicon-italic:before{content:'\e049'}.glyphicon-text-height:before{content:'\e050'}.glyphicon-text-width:before{content:'\e051'}.glyphicon-align-left:before{content:'\e052'}.glyphicon-align-center:before{content:'\e053'}.glyphicon-align-right:before{content:'\e054'}.glyphicon-align-justify:before{content:'\e055'}.glyphicon-list:before{content:'\e056'}.glyphicon-indent-left:before{content:'\e057'}.glyphicon-indent-right:before{content:'\e058'}.glyphicon-facetime-video:before{content:'\e059'}.glyphicon-picture:before{content:'\e060'}.glyphicon-map-marker:before{content:'\e062'}.glyphicon-adjust:before{content:'\e063'}.glyphicon-tint:before{content:'\e064'}.glyphicon-edit:before{content:'\e065'}.glyphicon-share:before{content:'\e066'}.glyphicon-check:before{content:'\e067'}.glyphicon-move:before{content:'\e068'}.glyphicon-step-backward:before{content:'\e069'}.glyphicon-fast-backward:before{content:'\e070'}.glyphicon-backward:before{content:'\e071'}.glyphicon-play:before{content:'\e072'}.glyphicon-pause:before{content:'\e073'}.glyphicon-stop:before{content:'\e074'}.glyphicon-forward:before{content:'\e075'}.glyphicon-fast-forward:before{content:'\e076'}.glyphicon-step-forward:before{content:'\e077'}.glyphicon-eject:before{content:'\e078'}.glyphicon-chevron-left:before{content:'\e079'}.glyphicon-chevron-right:before{content:'\e080'}.glyphicon-plus-sign:before{content:'\e081'}.glyphicon-minus-sign:before{content:'\e082'}.glyphicon-remove-sign:before{content:'\e083'}.glyphicon-ok-sign:before{content:'\e084'}.glyphicon-question-sign:before{content:'\e085'}.glyphicon-info-sign:before{content:'\e086'}.glyphicon-screenshot:before{content:'\e087'}.glyphicon-remove-circle:before{content:'\e088'}.glyphicon-ok-circle:before{content:'\e089'}.glyphicon-ban-circle:before{content:'\e090'}.glyphicon-arrow-left:before{content:'\e091'}.glyphicon-arrow-right:before{content:'\e092'}.glyphicon-arrow-up:before{content:'\e093'}.glyphicon-arrow-down:before{content:'\e094'}.glyphicon-share-alt:before{content:'\e095'}.glyphicon-resize-full:before{content:'\e096'}.glyphicon-resize-small:before{content:'\e097'}.glyphicon-exclamation-sign:before{content:'\e101'}.glyphicon-gift:before{content:'\e102'}.glyphicon-leaf:before{content:'\e103'}.glyphicon-fire:before{content:'\e104'}.glyphicon-eye-open:before{content:'\e105'}.glyphicon-eye-close:before{content:'\e106'}.glyphicon-warning-sign:before{content:'\e107'}.glyphicon-plane:before{content:'\e108'}.glyphicon-calendar:before{content:'\e109'}.glyphicon-random:before{content:'\e110'}.glyphicon-comment:before{content:'\e111'}.glyphicon-magnet:before{content:'\e112'}.glyphicon-chevron-up:before{content:'\e113'}.glyphicon-chevron-down:before{content:'\e114'}.glyphicon-retweet:before{content:'\e115'}.glyphicon-shopping-cart:before{content:'\e116'}.glyphicon-folder-close:before{content:'\e117'}.glyphicon-folder-open:before{content:'\e118'}.glyphicon-resize-vertical:before{content:'\e119'}.glyphicon-resize-horizontal:before{content:'\e120'}.glyphicon-hdd:before{content:'\e121'}.glyphicon-bullhorn:before{content:'\e122'}.glyphicon-bell:before{content:'\e123'}.glyphicon-certificate:before{content:'\e124'}.glyphicon-thumbs-up:before{content:'\e125'}.glyphicon-thumbs-down:before{content:'\e126'}.glyphicon-hand-right:before{content:'\e127'}.glyphicon-hand-left:before{content:'\e128'}.glyphicon-hand-up:before{content:'\e129'}.glyphicon-hand-down:before{content:'\e130'}.glyphicon-circle-arrow-right:before{content:'\e131'}.glyphicon-circle-arrow-left:before{content:'\e132'}.glyphicon-circle-arrow-up:before{content:'\e133'}.glyphicon-circle-arrow-down:before{content:'\e134'}.glyphicon-globe:before{content:'\e135'}.glyphicon-wrench:before{content:'\e136'}.glyphicon-tasks:before{content:'\e137'}.glyphicon-filter:before{content:'\e138'}.glyphicon-briefcase:before{content:'\e139'}.glyphicon-fullscreen:before{content:'\e140'}.glyphicon-dashboard:before{content:'\e141'}.glyphicon-paperclip:before{content:'\e142'}.glyphicon-heart-empty:before{content:'\e143'}.glyphicon-link:before{content:'\e144'}.glyphicon-phone:before{content:'\e145'}.glyphicon-pushpin:before{content:'\e146'}.glyphicon-usd:before{content:'\e148'}.glyphicon-gbp:before{content:'\e149'}.glyphicon-sort:before{content:'\e150'}.glyphicon-sort-by-alphabet:before{content:'\e151'}.glyphicon-sort-by-alphabet-alt:before{content:'\e152'}.glyphicon-sort-by-order:before{content:'\e153'}.glyphicon-sort-by-order-alt:before{content:'\e154'}.glyphicon-sort-by-attributes:before{content:'\e155'}.glyphicon-sort-by-attributes-alt:before{content:'\e156'}.glyphicon-unchecked:before{content:'\e157'}.glyphicon-expand:before{content:'\e158'}.glyphicon-collapse-down:before{content:'\e159'}.glyphicon-collapse-up:before{content:'\e160'}.glyphicon-log-in:before{content:'\e161'}.glyphicon-flash:before{content:'\e162'}.glyphicon-log-out:before{content:'\e163'}.glyphicon-new-window:before{content:'\e164'}.glyphicon-record:before{content:'\e165'}.glyphicon-save:before{content:'\e166'}.glyphicon-open:before{content:'\e167'}.glyphicon-saved:before{content:'\e168'}.glyphicon-import:before{content:'\e169'}.glyphicon-export:before{content:'\e170'}.glyphicon-send:before{content:'\e171'}.glyphicon-floppy-disk:before{content:'\e172'}.glyphicon-floppy-saved:before{content:'\e173'}.glyphicon-floppy-remove:before{content:'\e174'}.glyphicon-floppy-save:before{content:'\e175'}.glyphicon-floppy-open:before{content:'\e176'}.glyphicon-credit-card:before{content:'\e177'}.glyphicon-transfer:before{content:'\e178'}.glyphicon-cutlery:before{content:'\e179'}.glyphicon-header:before{content:'\e180'}.glyphicon-compressed:before{content:'\e181'}.glyphicon-earphone:before{content:'\e182'}.glyphicon-phone-alt:before{content:'\e183'}.glyphicon-tower:before{content:'\e184'}.glyphicon-stats:before{content:'\e185'}.glyphicon-sd-video:before{content:'\e186'}.glyphicon-hd-video:before{content:'\e187'}.glyphicon-subtitles:before{content:'\e188'}.glyphicon-sound-stereo:before{content:'\e189'}.glyphicon-sound-dolby:before{content:'\e190'}.glyphicon-sound-5-1:before{content:'\e191'}.glyphicon-sound-6-1:before{content:'\e192'}.glyphicon-sound-7-1:before{content:'\e193'}.glyphicon-copyright-mark:before{content:'\e194'}.glyphicon-registration-mark:before{content:'\e195'}.glyphicon-cloud-download:before{content:'\e197'}.glyphicon-cloud-upload:before{content:'\e198'}.glyphicon-tree-conifer:before{content:'\e199'}.glyphicon-tree-deciduous:before{content:'\e200'}.glyphicon-cd:before{content:'\e201'}.glyphicon-save-file:before{content:'\e202'}.glyphicon-open-file:before{content:'\e203'}.glyphicon-level-up:before{content:'\e204'}.glyphicon-copy:before{content:'\e205'}.glyphicon-paste:before{content:'\e206'}.glyphicon-alert:before{content:'\e209'}.glyphicon-equalizer:before{content:'\e210'}.glyphicon-king:before{content:'\e211'}.glyphicon-queen:before{content:'\e212'}.glyphicon-pawn:before{content:'\e213'}.glyphicon-bishop:before{content:'\e214'}.glyphicon-knight:before{content:'\e215'}.glyphicon-baby-formula:before{content:'\e216'}.glyphicon-tent:before{content:'\26fa'}.glyphicon-blackboard:before{content:'\e218'}.glyphicon-bed:before{content:'\e219'}.glyphicon-apple:before{content:'\f8ff'}.glyphicon-erase:before{content:'\e221'}.glyphicon-hourglass:before{content:'\231b'}.glyphicon-lamp:before{content:'\e223'}.glyphicon-duplicate:before{content:'\e224'}.glyphicon-piggy-bank:before{content:'\e225'}.glyphicon-scissors:before{content:'\e226'}.glyphicon-bitcoin:before{content:'\e227'}.glyphicon-btc:before{content:'\e227'}.glyphicon-xbt:before{content:'\e227'}.glyphicon-yen:before{content:'\00a5'}.glyphicon-jpy:before{content:'\00a5'}.glyphicon-ruble:before{content:'\20bd'}.glyphicon-rub:before{content:'\20bd'}.glyphicon-scale:before{content:'\e230'}.glyphicon-ice-lolly:before{content:'\e231'}.glyphicon-ice-lolly-tasted:before{content:'\e232'}.glyphicon-education:before{content:'\e233'}.glyphicon-option-horizontal:before{content:'\e234'}.glyphicon-option-vertical:before{content:'\e235'}.glyphicon-menu-hamburger:before{content:'\e236'}.glyphicon-modal-window:before{content:'\e237'}.glyphicon-oil:before{content:'\e238'}.glyphicon-grain:before{content:'\e239'}.glyphicon-sunglasses:before{content:'\e240'}.glyphicon-text-size:before{content:'\e241'}.glyphicon-text-color:before{content:'\e242'}.glyphicon-text-background:before{content:'\e243'}.glyphicon-object-align-top:before{content:'\e244'}.glyphicon-object-align-bottom:before{content:'\e245'}.glyphicon-object-align-horizontal:before{content:'\e246'}.glyphicon-object-align-left:before{content:'\e247'}.glyphicon-object-align-vertical:before{content:'\e248'}.glyphicon-object-align-right:before{content:'\e249'}.glyphicon-triangle-right:before{content:'\e250'}.glyphicon-triangle-left:before{content:'\e251'}.glyphicon-triangle-bottom:before{content:'\e252'}.glyphicon-triangle-top:before{content:'\e253'}.glyphicon-console:before{content:'\e254'}.glyphicon-superscript:before{content:'\e255'}.glyphicon-subscript:before{content:'\e256'}.glyphicon-menu-left:before{content:'\e257'}.glyphicon-menu-right:before{content:'\e258'}.glyphicon-menu-down:before{content:'\e259'}.glyphicon-menu-up:before{content:'\e260'}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role='button']{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width: 768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:0.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width: 768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo, Monaco, Consolas, 'Courier New', monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*='col-']{position:static;display:table-column;float:none}table td[class*='col-'],table th[class*='col-']{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:0.01%;overflow-x:auto}@media screen and (max-width: 767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type='search']{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type='radio'],input[type='checkbox']{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type='file']{display:block}input[type='range']{display:block;width:100%}select[multiple],select[size]{height:auto}input[type='file']:focus,input[type='radio']:focus,input[type='checkbox']:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type='radio'],.radio-inline input[type='radio'],.checkbox input[type='checkbox'],.checkbox-inline input[type='checkbox']{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type='radio'][disabled],input[type='checkbox'][disabled],input[type='radio'].disabled,input[type='checkbox'].disabled,fieldset[disabled] input[type='radio'],fieldset[disabled] input[type='checkbox']{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static,.form-group div[class*='textBox']>.control-label,.form-group div[class*='textArea']>.control-label,.form-group div[class*='datePicker']>.control-label{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-group div[class*='textBox']>.input-lg.control-label,.form-group div[class*='textArea']>.input-lg.control-label,.form-group div[class*='datePicker']>.input-lg.control-label,.form-control-static.input-sm,.form-group div[class*='textBox']>.input-sm.control-label,.form-group div[class*='textArea']>.input-sm.control-label,.form-group div[class*='datePicker']>.input-sm.control-label{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}textarea.form-group-sm .form-control,select[multiple].form-group-sm .form-control{height:auto}.form-group-sm .form-control-static,.form-group-sm .form-group div[class*='textBox']>.control-label,.form-group .form-group-sm div[class*='textBox']>.control-label,.form-group-sm .form-group div[class*='textArea']>.control-label,.form-group .form-group-sm div[class*='textArea']>.control-label,.form-group-sm .form-group div[class*='datePicker']>.control-label,.form-group .form-group-sm div[class*='datePicker']>.control-label{height:30px;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}textarea.form-group-lg .form-control,select[multiple].form-group-lg .form-control{height:auto}.form-group-lg .form-control-static,.form-group-lg .form-group div[class*='textBox']>.control-label,.form-group .form-group-lg div[class*='textBox']>.control-label,.form-group-lg .form-group div[class*='textArea']>.control-label,.form-group .form-group-lg div[class*='textArea']>.control-label,.form-group-lg .form-group div[class*='datePicker']>.control-label,.form-group .form-group-lg div[class*='datePicker']>.control-label{height:46px;min-height:38px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label ~ .form-control-feedback{top:25px}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width: 768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static,.form-inline .form-group div[class*='textBox']>.control-label,.form-group .form-inline div[class*='textBox']>.control-label,.form-inline .form-group div[class*='textArea']>.control-label,.form-group .form-inline div[class*='textArea']>.control-label,.form-inline .form-group div[class*='datePicker']>.control-label,.form-group .form-inline div[class*='datePicker']>.control-label{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type='radio'],.form-inline .checkbox input[type='checkbox']{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width: 768px){.form-horizontal .form-group-lg .control-label{padding-top:14.333333px}}@media (min-width: 768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:0.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary,.datagrid-fullsearch.mx-grid .mx-grid-search-button{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:hover,.datagrid-fullsearch.mx-grid .mx-grid-search-button:hover,.btn-primary:focus,.datagrid-fullsearch.mx-grid .mx-grid-search-button:focus,.btn-primary.focus,.datagrid-fullsearch.mx-grid .focus.mx-grid-search-button,.btn-primary:active,.datagrid-fullsearch.mx-grid .mx-grid-search-button:active,.btn-primary.active,.datagrid-fullsearch.mx-grid .active.mx-grid-search-button,.open>.dropdown-toggle.btn-primary,.datagrid-fullsearch.mx-grid .open>.dropdown-toggle.mx-grid-search-button{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.datagrid-fullsearch.mx-grid .mx-grid-search-button:active,.btn-primary.active,.datagrid-fullsearch.mx-grid .active.mx-grid-search-button,.open>.dropdown-toggle.btn-primary,.datagrid-fullsearch.mx-grid .open>.dropdown-toggle.mx-grid-search-button{background-image:none}.btn-primary.disabled,.datagrid-fullsearch.mx-grid .disabled.mx-grid-search-button,.btn-primary[disabled],.datagrid-fullsearch.mx-grid .mx-grid-search-button[disabled],fieldset[disabled] .btn-primary,fieldset[disabled] .datagrid-fullsearch.mx-grid .mx-grid-search-button,.datagrid-fullsearch.mx-grid fieldset[disabled] .mx-grid-search-button,.btn-primary.disabled:hover,.datagrid-fullsearch.mx-grid .disabled.mx-grid-search-button:hover,.btn-primary[disabled]:hover,.datagrid-fullsearch.mx-grid .mx-grid-search-button[disabled]:hover,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .datagrid-fullsearch.mx-grid .mx-grid-search-button:hover,.datagrid-fullsearch.mx-grid fieldset[disabled] .mx-grid-search-button:hover,.btn-primary.disabled:focus,.datagrid-fullsearch.mx-grid .disabled.mx-grid-search-button:focus,.btn-primary[disabled]:focus,.datagrid-fullsearch.mx-grid .mx-grid-search-button[disabled]:focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .datagrid-fullsearch.mx-grid .mx-grid-search-button:focus,.datagrid-fullsearch.mx-grid fieldset[disabled] .mx-grid-search-button:focus,.btn-primary.disabled.focus,.datagrid-fullsearch.mx-grid .disabled.focus.mx-grid-search-button,.btn-primary[disabled].focus,.datagrid-fullsearch.mx-grid .mx-grid-search-button[disabled].focus,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .datagrid-fullsearch.mx-grid .focus.mx-grid-search-button,.datagrid-fullsearch.mx-grid fieldset[disabled] .focus.mx-grid-search-button,.btn-primary.disabled:active,.datagrid-fullsearch.mx-grid .disabled.mx-grid-search-button:active,.btn-primary[disabled]:active,.datagrid-fullsearch.mx-grid .mx-grid-search-button[disabled]:active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .datagrid-fullsearch.mx-grid .mx-grid-search-button:active,.datagrid-fullsearch.mx-grid fieldset[disabled] .mx-grid-search-button:active,.btn-primary.disabled.active,.datagrid-fullsearch.mx-grid .disabled.active.mx-grid-search-button,.btn-primary[disabled].active,.datagrid-fullsearch.mx-grid .mx-grid-search-button[disabled].active,fieldset[disabled] .btn-primary.active,fieldset[disabled] .datagrid-fullsearch.mx-grid .active.mx-grid-search-button,.datagrid-fullsearch.mx-grid fieldset[disabled] .active.mx-grid-search-button{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge,.datagrid-fullsearch.mx-grid .mx-grid-search-button .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:normal;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type='submit'].btn-block,input[type='reset'].btn-block,input[type='button'].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:'';border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width: 768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle='buttons']>.btn input[type='radio'],[data-toggle='buttons']>.btn-group>.btn input[type='radio'],[data-toggle='buttons']>.btn input[type='checkbox'],[data-toggle='buttons']>.btn-group>.btn input[type='checkbox']{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*='col-']{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type='radio'],.input-group-addon input[type='checkbox']{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width: 768px){.navbar{border-radius:4px}}@media (min-width: 768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width: 768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width: 480px) and (orientation: landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width: 768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width: 768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width: 768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width: 768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width: 767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width: 768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media (min-width: 768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static,.navbar-form .form-group div[class*='textBox']>.control-label,.form-group .navbar-form div[class*='textBox']>.control-label,.navbar-form .form-group div[class*='textArea']>.control-label,.form-group .navbar-form div[class*='textArea']>.control-label,.navbar-form .form-group div[class*='datePicker']>.control-label,.form-group .navbar-form div[class*='datePicker']>.control-label{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type='radio'],.navbar-form .checkbox input[type='checkbox']{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width: 767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width: 768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width: 768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width: 768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right ~ .navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width: 767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width: 767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:'/\00a0'}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:0.2em 0.6em 0.3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:0.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:0.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:0.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:transparent;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out;-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%)}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:0.5}.modal-header{min-height:16.42857143px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width: 992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:12px;font-weight:normal;line-height:1.4;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:0.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;font-weight:normal;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:'';border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:' ';border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:' ';border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:' ';border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:' ';border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d), (-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.next,.carousel-inner>.item.active.right{left:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{left:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{left:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);filter:alpha(opacity=50);opacity:0.5}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:0.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width: 768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:' '}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width: 767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width: 767px){.visible-xs-block{display:block !important}}@media (max-width: 767px){.visible-xs-inline{display:inline !important}}@media (max-width: 767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-block{display:block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline{display:inline !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-block{display:block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline{display:inline !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width: 1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width: 1200px){.visible-lg-block{display:block !important}}@media (min-width: 1200px){.visible-lg-inline{display:inline !important}}@media (min-width: 1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width: 767px){.hidden-xs{display:none !important}}@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none !important}}@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none !important}}@media (min-width: 1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}[dir='rtl'] .flip.text-left{text-align:right}[dir='rtl'] .flip.text-right{text-align:left}[dir='rtl'] .list-unstyled{padding-right:0;padding-left:initial}[dir='rtl'] .list-inline{padding-right:0;padding-left:initial;margin-right:-5px;margin-left:0}[dir='rtl'] dd{margin-right:0;margin-left:initial}@media (min-width: 768px){[dir='rtl'] .dl-horizontal dt{float:right;clear:right;text-align:left}[dir='rtl'] .dl-horizontal dd{margin-right:180px;margin-left:0}}[dir='rtl'] blockquote{border-right:5px solid #eeeeee;border-left:0}[dir='rtl'] .blockquote-reverse,[dir='rtl'] blockquote.pull-left{padding-left:15px;padding-right:0;border-left:5px solid #eeeeee;border-right:0;text-align:left}[dir='rtl'] .col-xs-1,[dir='rtl'] .col-sm-1,[dir='rtl'] .col-md-1,[dir='rtl'] .col-lg-1,[dir='rtl'] .col-xs-2,[dir='rtl'] .col-sm-2,[dir='rtl'] .col-md-2,[dir='rtl'] .col-lg-2,[dir='rtl'] .col-xs-3,[dir='rtl'] .col-sm-3,[dir='rtl'] .col-md-3,[dir='rtl'] .col-lg-3,[dir='rtl'] .col-xs-4,[dir='rtl'] .col-sm-4,[dir='rtl'] .col-md-4,[dir='rtl'] .col-lg-4,[dir='rtl'] .col-xs-5,[dir='rtl'] .col-sm-5,[dir='rtl'] .col-md-5,[dir='rtl'] .col-lg-5,[dir='rtl'] .col-xs-6,[dir='rtl'] .col-sm-6,[dir='rtl'] .col-md-6,[dir='rtl'] .col-lg-6,[dir='rtl'] .col-xs-7,[dir='rtl'] .col-sm-7,[dir='rtl'] .col-md-7,[dir='rtl'] .col-lg-7,[dir='rtl'] .col-xs-8,[dir='rtl'] .col-sm-8,[dir='rtl'] .col-md-8,[dir='rtl'] .col-lg-8,[dir='rtl'] .col-xs-9,[dir='rtl'] .col-sm-9,[dir='rtl'] .col-md-9,[dir='rtl'] .col-lg-9,[dir='rtl'] .col-xs-10,[dir='rtl'] .col-sm-10,[dir='rtl'] .col-md-10,[dir='rtl'] .col-lg-10,[dir='rtl'] .col-xs-11,[dir='rtl'] .col-sm-11,[dir='rtl'] .col-md-11,[dir='rtl'] .col-lg-11,[dir='rtl'] .col-xs-12,[dir='rtl'] .col-sm-12,[dir='rtl'] .col-md-12,[dir='rtl'] .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}[dir='rtl'] .col-xs-1,[dir='rtl'] .col-xs-2,[dir='rtl'] .col-xs-3,[dir='rtl'] .col-xs-4,[dir='rtl'] .col-xs-5,[dir='rtl'] .col-xs-6,[dir='rtl'] .col-xs-7,[dir='rtl'] .col-xs-8,[dir='rtl'] .col-xs-9,[dir='rtl'] .col-xs-10,[dir='rtl'] .col-xs-11,[dir='rtl'] .col-xs-12{float:right}[dir='rtl'] .col-xs-12{width:100%}[dir='rtl'] .col-xs-11{width:91.66666667%}[dir='rtl'] .col-xs-10{width:83.33333333%}[dir='rtl'] .col-xs-9{width:75%}[dir='rtl'] .col-xs-8{width:66.66666667%}[dir='rtl'] .col-xs-7{width:58.33333333%}[dir='rtl'] .col-xs-6{width:50%}[dir='rtl'] .col-xs-5{width:41.66666667%}[dir='rtl'] .col-xs-4{width:33.33333333%}[dir='rtl'] .col-xs-3{width:25%}[dir='rtl'] .col-xs-2{width:16.66666667%}[dir='rtl'] .col-xs-1{width:8.33333333%}[dir='rtl'] .col-xs-pull-12{left:100%;right:auto}[dir='rtl'] .col-xs-pull-11{left:91.66666667%;right:auto}[dir='rtl'] .col-xs-pull-10{left:83.33333333%;right:auto}[dir='rtl'] .col-xs-pull-9{left:75%;right:auto}[dir='rtl'] .col-xs-pull-8{left:66.66666667%;right:auto}[dir='rtl'] .col-xs-pull-7{left:58.33333333%;right:auto}[dir='rtl'] .col-xs-pull-6{left:50%;right:auto}[dir='rtl'] .col-xs-pull-5{left:41.66666667%;right:auto}[dir='rtl'] .col-xs-pull-4{left:33.33333333%;right:auto}[dir='rtl'] .col-xs-pull-3{left:25%;right:auto}[dir='rtl'] .col-xs-pull-2{left:16.66666667%;right:auto}[dir='rtl'] .col-xs-pull-1{left:8.33333333%;right:auto}[dir='rtl'] .col-xs-pull-0{left:auto;right:auto}[dir='rtl'] .col-xs-push-12{right:100%;left:0}[dir='rtl'] .col-xs-push-11{right:91.66666667%;left:0}[dir='rtl'] .col-xs-push-10{right:83.33333333%;left:0}[dir='rtl'] .col-xs-push-9{right:75%;left:0}[dir='rtl'] .col-xs-push-8{right:66.66666667%;left:0}[dir='rtl'] .col-xs-push-7{right:58.33333333%;left:0}[dir='rtl'] .col-xs-push-6{right:50%;left:0}[dir='rtl'] .col-xs-push-5{right:41.66666667%;left:0}[dir='rtl'] .col-xs-push-4{right:33.33333333%;left:0}[dir='rtl'] .col-xs-push-3{right:25%;left:0}[dir='rtl'] .col-xs-push-2{right:16.66666667%;left:0}[dir='rtl'] .col-xs-push-1{right:8.33333333%;left:0}[dir='rtl'] .col-xs-push-0{right:auto;left:0}[dir='rtl'] .col-xs-offset-12{margin-right:100%;margin-left:0}[dir='rtl'] .col-xs-offset-11{margin-right:91.66666667%;margin-left:0}[dir='rtl'] .col-xs-offset-10{margin-right:83.33333333%;margin-left:0}[dir='rtl'] .col-xs-offset-9{margin-right:75%;margin-left:0}[dir='rtl'] .col-xs-offset-8{margin-right:66.66666667%;margin-left:0}[dir='rtl'] .col-xs-offset-7{margin-right:58.33333333%;margin-left:0}[dir='rtl'] .col-xs-offset-6{margin-right:50%;margin-left:0}[dir='rtl'] .col-xs-offset-5{margin-right:41.66666667%;margin-left:0}[dir='rtl'] .col-xs-offset-4{margin-right:33.33333333%;margin-left:0}[dir='rtl'] .col-xs-offset-3{margin-right:25%;margin-left:0}[dir='rtl'] .col-xs-offset-2{margin-right:16.66666667%;margin-left:0}[dir='rtl'] .col-xs-offset-1{margin-right:8.33333333%;margin-left:0}[dir='rtl'] .col-xs-offset-0{margin-right:0%;margin-left:0}@media (min-width: 768px){[dir='rtl'] .col-sm-1,[dir='rtl'] .col-sm-2,[dir='rtl'] .col-sm-3,[dir='rtl'] .col-sm-4,[dir='rtl'] .col-sm-5,[dir='rtl'] .col-sm-6,[dir='rtl'] .col-sm-7,[dir='rtl'] .col-sm-8,[dir='rtl'] .col-sm-9,[dir='rtl'] .col-sm-10,[dir='rtl'] .col-sm-11,[dir='rtl'] .col-sm-12{float:right}[dir='rtl'] .col-sm-12{width:100%}[dir='rtl'] .col-sm-11{width:91.66666667%}[dir='rtl'] .col-sm-10{width:83.33333333%}[dir='rtl'] .col-sm-9{width:75%}[dir='rtl'] .col-sm-8{width:66.66666667%}[dir='rtl'] .col-sm-7{width:58.33333333%}[dir='rtl'] .col-sm-6{width:50%}[dir='rtl'] .col-sm-5{width:41.66666667%}[dir='rtl'] .col-sm-4{width:33.33333333%}[dir='rtl'] .col-sm-3{width:25%}[dir='rtl'] .col-sm-2{width:16.66666667%}[dir='rtl'] .col-sm-1{width:8.33333333%}[dir='rtl'] .col-sm-pull-12{left:100%;right:auto}[dir='rtl'] .col-sm-pull-11{left:91.66666667%;right:auto}[dir='rtl'] .col-sm-pull-10{left:83.33333333%;right:auto}[dir='rtl'] .col-sm-pull-9{left:75%;right:auto}[dir='rtl'] .col-sm-pull-8{left:66.66666667%;right:auto}[dir='rtl'] .col-sm-pull-7{left:58.33333333%;right:auto}[dir='rtl'] .col-sm-pull-6{left:50%;right:auto}[dir='rtl'] .col-sm-pull-5{left:41.66666667%;right:auto}[dir='rtl'] .col-sm-pull-4{left:33.33333333%;right:auto}[dir='rtl'] .col-sm-pull-3{left:25%;right:auto}[dir='rtl'] .col-sm-pull-2{left:16.66666667%;right:auto}[dir='rtl'] .col-sm-pull-1{left:8.33333333%;right:auto}[dir='rtl'] .col-sm-pull-0{left:auto;right:auto}[dir='rtl'] .col-sm-push-12{right:100%;left:0}[dir='rtl'] .col-sm-push-11{right:91.66666667%;left:0}[dir='rtl'] .col-sm-push-10{right:83.33333333%;left:0}[dir='rtl'] .col-sm-push-9{right:75%;left:0}[dir='rtl'] .col-sm-push-8{right:66.66666667%;left:0}[dir='rtl'] .col-sm-push-7{right:58.33333333%;left:0}[dir='rtl'] .col-sm-push-6{right:50%;left:0}[dir='rtl'] .col-sm-push-5{right:41.66666667%;left:0}[dir='rtl'] .col-sm-push-4{right:33.33333333%;left:0}[dir='rtl'] .col-sm-push-3{right:25%;left:0}[dir='rtl'] .col-sm-push-2{right:16.66666667%;left:0}[dir='rtl'] .col-sm-push-1{right:8.33333333%;left:0}[dir='rtl'] .col-sm-push-0{right:auto;left:0}[dir='rtl'] .col-sm-offset-12{margin-right:100%;margin-left:0}[dir='rtl'] .col-sm-offset-11{margin-right:91.66666667%;margin-left:0}[dir='rtl'] .col-sm-offset-10{margin-right:83.33333333%;margin-left:0}[dir='rtl'] .col-sm-offset-9{margin-right:75%;margin-left:0}[dir='rtl'] .col-sm-offset-8{margin-right:66.66666667%;margin-left:0}[dir='rtl'] .col-sm-offset-7{margin-right:58.33333333%;margin-left:0}[dir='rtl'] .col-sm-offset-6{margin-right:50%;margin-left:0}[dir='rtl'] .col-sm-offset-5{margin-right:41.66666667%;margin-left:0}[dir='rtl'] .col-sm-offset-4{margin-right:33.33333333%;margin-left:0}[dir='rtl'] .col-sm-offset-3{margin-right:25%;margin-left:0}[dir='rtl'] .col-sm-offset-2{margin-right:16.66666667%;margin-left:0}[dir='rtl'] .col-sm-offset-1{margin-right:8.33333333%;margin-left:0}[dir='rtl'] .col-sm-offset-0{margin-right:0%;margin-left:0}}@media (min-width: 992px){[dir='rtl'] .col-md-1,[dir='rtl'] .col-md-2,[dir='rtl'] .col-md-3,[dir='rtl'] .col-md-4,[dir='rtl'] .col-md-5,[dir='rtl'] .col-md-6,[dir='rtl'] .col-md-7,[dir='rtl'] .col-md-8,[dir='rtl'] .col-md-9,[dir='rtl'] .col-md-10,[dir='rtl'] .col-md-11,[dir='rtl'] .col-md-12{float:right}[dir='rtl'] .col-md-12{width:100%}[dir='rtl'] .col-md-11{width:91.66666667%}[dir='rtl'] .col-md-10{width:83.33333333%}[dir='rtl'] .col-md-9{width:75%}[dir='rtl'] .col-md-8{width:66.66666667%}[dir='rtl'] .col-md-7{width:58.33333333%}[dir='rtl'] .col-md-6{width:50%}[dir='rtl'] .col-md-5{width:41.66666667%}[dir='rtl'] .col-md-4{width:33.33333333%}[dir='rtl'] .col-md-3{width:25%}[dir='rtl'] .col-md-2{width:16.66666667%}[dir='rtl'] .col-md-1{width:8.33333333%}[dir='rtl'] .col-md-pull-12{left:100%;right:auto}[dir='rtl'] .col-md-pull-11{left:91.66666667%;right:auto}[dir='rtl'] .col-md-pull-10{left:83.33333333%;right:auto}[dir='rtl'] .col-md-pull-9{left:75%;right:auto}[dir='rtl'] .col-md-pull-8{left:66.66666667%;right:auto}[dir='rtl'] .col-md-pull-7{left:58.33333333%;right:auto}[dir='rtl'] .col-md-pull-6{left:50%;right:auto}[dir='rtl'] .col-md-pull-5{left:41.66666667%;right:auto}[dir='rtl'] .col-md-pull-4{left:33.33333333%;right:auto}[dir='rtl'] .col-md-pull-3{left:25%;right:auto}[dir='rtl'] .col-md-pull-2{left:16.66666667%;right:auto}[dir='rtl'] .col-md-pull-1{left:8.33333333%;right:auto}[dir='rtl'] .col-md-pull-0{left:auto;right:auto}[dir='rtl'] .col-md-push-12{right:100%;left:0}[dir='rtl'] .col-md-push-11{right:91.66666667%;left:0}[dir='rtl'] .col-md-push-10{right:83.33333333%;left:0}[dir='rtl'] .col-md-push-9{right:75%;left:0}[dir='rtl'] .col-md-push-8{right:66.66666667%;left:0}[dir='rtl'] .col-md-push-7{right:58.33333333%;left:0}[dir='rtl'] .col-md-push-6{right:50%;left:0}[dir='rtl'] .col-md-push-5{right:41.66666667%;left:0}[dir='rtl'] .col-md-push-4{right:33.33333333%;left:0}[dir='rtl'] .col-md-push-3{right:25%;left:0}[dir='rtl'] .col-md-push-2{right:16.66666667%;left:0}[dir='rtl'] .col-md-push-1{right:8.33333333%;left:0}[dir='rtl'] .col-md-push-0{right:auto;left:0}[dir='rtl'] .col-md-offset-12{margin-right:100%;margin-left:0}[dir='rtl'] .col-md-offset-11{margin-right:91.66666667%;margin-left:0}[dir='rtl'] .col-md-offset-10{margin-right:83.33333333%;margin-left:0}[dir='rtl'] .col-md-offset-9{margin-right:75%;margin-left:0}[dir='rtl'] .col-md-offset-8{margin-right:66.66666667%;margin-left:0}[dir='rtl'] .col-md-offset-7{margin-right:58.33333333%;margin-left:0}[dir='rtl'] .col-md-offset-6{margin-right:50%;margin-left:0}[dir='rtl'] .col-md-offset-5{margin-right:41.66666667%;margin-left:0}[dir='rtl'] .col-md-offset-4{margin-right:33.33333333%;margin-left:0}[dir='rtl'] .col-md-offset-3{margin-right:25%;margin-left:0}[dir='rtl'] .col-md-offset-2{margin-right:16.66666667%;margin-left:0}[dir='rtl'] .col-md-offset-1{margin-right:8.33333333%;margin-left:0}[dir='rtl'] .col-md-offset-0{margin-right:0%;margin-left:0}}@media (min-width: 1200px){[dir='rtl'] .col-lg-1,[dir='rtl'] .col-lg-2,[dir='rtl'] .col-lg-3,[dir='rtl'] .col-lg-4,[dir='rtl'] .col-lg-5,[dir='rtl'] .col-lg-6,[dir='rtl'] .col-lg-7,[dir='rtl'] .col-lg-8,[dir='rtl'] .col-lg-9,[dir='rtl'] .col-lg-10,[dir='rtl'] .col-lg-11,[dir='rtl'] .col-lg-12{float:right}[dir='rtl'] .col-lg-12{width:100%}[dir='rtl'] .col-lg-11{width:91.66666667%}[dir='rtl'] .col-lg-10{width:83.33333333%}[dir='rtl'] .col-lg-9{width:75%}[dir='rtl'] .col-lg-8{width:66.66666667%}[dir='rtl'] .col-lg-7{width:58.33333333%}[dir='rtl'] .col-lg-6{width:50%}[dir='rtl'] .col-lg-5{width:41.66666667%}[dir='rtl'] .col-lg-4{width:33.33333333%}[dir='rtl'] .col-lg-3{width:25%}[dir='rtl'] .col-lg-2{width:16.66666667%}[dir='rtl'] .col-lg-1{width:8.33333333%}[dir='rtl'] .col-lg-pull-12{left:100%;right:auto}[dir='rtl'] .col-lg-pull-11{left:91.66666667%;right:auto}[dir='rtl'] .col-lg-pull-10{left:83.33333333%;right:auto}[dir='rtl'] .col-lg-pull-9{left:75%;right:auto}[dir='rtl'] .col-lg-pull-8{left:66.66666667%;right:auto}[dir='rtl'] .col-lg-pull-7{left:58.33333333%;right:auto}[dir='rtl'] .col-lg-pull-6{left:50%;right:auto}[dir='rtl'] .col-lg-pull-5{left:41.66666667%;right:auto}[dir='rtl'] .col-lg-pull-4{left:33.33333333%;right:auto}[dir='rtl'] .col-lg-pull-3{left:25%;right:auto}[dir='rtl'] .col-lg-pull-2{left:16.66666667%;right:auto}[dir='rtl'] .col-lg-pull-1{left:8.33333333%;right:auto}[dir='rtl'] .col-lg-pull-0{left:auto;right:auto}[dir='rtl'] .col-lg-push-12{right:100%;left:0}[dir='rtl'] .col-lg-push-11{right:91.66666667%;left:0}[dir='rtl'] .col-lg-push-10{right:83.33333333%;left:0}[dir='rtl'] .col-lg-push-9{right:75%;left:0}[dir='rtl'] .col-lg-push-8{right:66.66666667%;left:0}[dir='rtl'] .col-lg-push-7{right:58.33333333%;left:0}[dir='rtl'] .col-lg-push-6{right:50%;left:0}[dir='rtl'] .col-lg-push-5{right:41.66666667%;left:0}[dir='rtl'] .col-lg-push-4{right:33.33333333%;left:0}[dir='rtl'] .col-lg-push-3{right:25%;left:0}[dir='rtl'] .col-lg-push-2{right:16.66666667%;left:0}[dir='rtl'] .col-lg-push-1{right:8.33333333%;left:0}[dir='rtl'] .col-lg-push-0{right:auto;left:0}[dir='rtl'] .col-lg-offset-12{margin-right:100%;margin-left:0}[dir='rtl'] .col-lg-offset-11{margin-right:91.66666667%;margin-left:0}[dir='rtl'] .col-lg-offset-10{margin-right:83.33333333%;margin-left:0}[dir='rtl'] .col-lg-offset-9{margin-right:75%;margin-left:0}[dir='rtl'] .col-lg-offset-8{margin-right:66.66666667%;margin-left:0}[dir='rtl'] .col-lg-offset-7{margin-right:58.33333333%;margin-left:0}[dir='rtl'] .col-lg-offset-6{margin-right:50%;margin-left:0}[dir='rtl'] .col-lg-offset-5{margin-right:41.66666667%;margin-left:0}[dir='rtl'] .col-lg-offset-4{margin-right:33.33333333%;margin-left:0}[dir='rtl'] .col-lg-offset-3{margin-right:25%;margin-left:0}[dir='rtl'] .col-lg-offset-2{margin-right:16.66666667%;margin-left:0}[dir='rtl'] .col-lg-offset-1{margin-right:8.33333333%;margin-left:0}[dir='rtl'] .col-lg-offset-0{margin-right:0%;margin-left:0}}[dir='rtl'] caption{text-align:right}[dir='rtl'] th:not(.mx-left-aligned){text-align:right}@media screen and (max-width: 767px){[dir='rtl'] .table-responsive>.table-bordered{border:0}[dir='rtl'] .table-responsive>.table-bordered>thead>tr>th:first-child,[dir='rtl'] .table-responsive>.table-bordered>tbody>tr>th:first-child,[dir='rtl'] .table-responsive>.table-bordered>tfoot>tr>th:first-child,[dir='rtl'] .table-responsive>.table-bordered>thead>tr>td:first-child,[dir='rtl'] .table-responsive>.table-bordered>tbody>tr>td:first-child,[dir='rtl'] .table-responsive>.table-bordered>tfoot>tr>td:first-child{border-right:0;border-left:initial}[dir='rtl'] .table-responsive>.table-bordered>thead>tr>th:last-child,[dir='rtl'] .table-responsive>.table-bordered>tbody>tr>th:last-child,[dir='rtl'] .table-responsive>.table-bordered>tfoot>tr>th:last-child,[dir='rtl'] .table-responsive>.table-bordered>thead>tr>td:last-child,[dir='rtl'] .table-responsive>.table-bordered>tbody>tr>td:last-child,[dir='rtl'] .table-responsive>.table-bordered>tfoot>tr>td:last-child{border-left:0;border-right:initial}}[dir='rtl'] .radio label,[dir='rtl'] .checkbox label{padding-right:20px;padding-left:initial}[dir='rtl'] .radio input[type='radio'],[dir='rtl'] .radio-inline input[type='radio'],[dir='rtl'] .checkbox input[type='checkbox'],[dir='rtl'] .checkbox-inline input[type='checkbox']{margin-right:-20px;margin-left:auto}[dir='rtl'] .radio-inline,[dir='rtl'] .checkbox-inline{padding-right:20px;padding-left:0}[dir='rtl'] .radio-inline+.radio-inline,[dir='rtl'] .checkbox-inline+.checkbox-inline{margin-right:10px;margin-left:0}[dir='rtl'] .has-feedback .form-control{padding-left:42.5px;padding-right:12px}[dir='rtl'] .form-control-feedback{left:0;right:auto}@media (min-width: 768px){[dir='rtl'] .form-inline label{padding-right:0;padding-left:initial}[dir='rtl'] .form-inline .radio input[type='radio'],[dir='rtl'] .form-inline .checkbox input[type='checkbox']{margin-right:0;margin-left:auto}}@media (min-width: 768px){[dir='rtl'] .form-horizontal .control-label{text-align:left}}[dir='rtl'] .form-horizontal .has-feedback .form-control-feedback{left:15px;right:auto}[dir='rtl'] .caret{margin-right:2px;margin-left:0}[dir='rtl'] .dropdown-menu{right:0;left:auto;float:left;text-align:right}[dir='rtl'] .dropdown-menu.pull-right{left:0;right:auto;float:right}[dir='rtl'] .dropdown-menu-right{left:auto;right:0}[dir='rtl'] .dropdown-menu-left{left:0;right:auto}@media (min-width: 768px){[dir='rtl'] .navbar-right .dropdown-menu{left:auto;right:0}[dir='rtl'] .navbar-right .dropdown-menu-left{left:0;right:auto}}[dir='rtl'] .btn-group>.btn,[dir='rtl'] .btn-group-vertical>.btn{float:right}[dir='rtl'] .btn-group .btn+.btn,[dir='rtl'] .btn-group .btn+.btn-group,[dir='rtl'] .btn-group .btn-group+.btn,[dir='rtl'] .btn-group .btn-group+.btn-group{margin-right:-1px;margin-left:0px}[dir='rtl'] .btn-toolbar{margin-right:-5px;margin-left:0px}[dir='rtl'] .btn-toolbar .btn-group,[dir='rtl'] .btn-toolbar .input-group{float:right}[dir='rtl'] .btn-toolbar>.btn,[dir='rtl'] .btn-toolbar>.btn-group,[dir='rtl'] .btn-toolbar>.input-group{margin-right:5px;margin-left:0px}[dir='rtl'] .btn-group>.btn:first-child{margin-right:0}[dir='rtl'] .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}[dir='rtl'] .btn-group>.btn:last-child:not(:first-child),[dir='rtl'] .btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}[dir='rtl'] .btn-group>.btn-group{float:right}[dir='rtl'] .btn-group.btn-group-justified>.btn,[dir='rtl'] .btn-group.btn-group-justified>.btn-group{float:none}[dir='rtl'] .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}[dir='rtl'] .btn-group>.btn-group:first-child>.btn:last-child,[dir='rtl'] .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}[dir='rtl'] .btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}[dir='rtl'] .btn .caret{margin-right:0}[dir='rtl'] .btn-group-vertical>.btn+.btn,[dir='rtl'] .btn-group-vertical>.btn+.btn-group,[dir='rtl'] .btn-group-vertical>.btn-group+.btn,[dir='rtl'] .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-right:0}[dir='rtl'] .input-group .form-control{float:right}[dir='rtl'] .input-group .form-control:first-child,[dir='rtl'] .input-group-addon:first-child,[dir='rtl'] .input-group-btn:first-child>.btn,[dir='rtl'] .input-group-btn:first-child>.btn-group>.btn,[dir='rtl'] .input-group-btn:first-child>.dropdown-toggle,[dir='rtl'] .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),[dir='rtl'] .input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}[dir='rtl'] .input-group-addon:first-child{border-left:0px;border-right:1px solid}[dir='rtl'] .input-group .form-control:last-child,[dir='rtl'] .input-group-addon:last-child,[dir='rtl'] .input-group-btn:last-child>.btn,[dir='rtl'] .input-group-btn:last-child>.btn-group>.btn,[dir='rtl'] .input-group-btn:last-child>.dropdown-toggle,[dir='rtl'] .input-group-btn:first-child>.btn:not(:first-child),[dir='rtl'] .input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}[dir='rtl'] .input-group-addon:last-child{border-left-width:1px;border-left-style:solid;border-right:0px}[dir='rtl'] .input-group-btn>.btn+.btn{margin-right:-1px;margin-left:auto}[dir='rtl'] .input-group-btn:first-child>.btn,[dir='rtl'] .input-group-btn:first-child>.btn-group{margin-left:-1px;margin-right:auto}[dir='rtl'] .input-group-btn:last-child>.btn,[dir='rtl'] .input-group-btn:last-child>.btn-group{margin-right:-1px;margin-left:auto}[dir='rtl'] .nav{padding-right:0;padding-left:initial}[dir='rtl'] .nav-tabs>li{float:right}[dir='rtl'] .nav-tabs>li>a{margin-left:auto;margin-right:-2px;border-radius:4px 4px 0 0}[dir='rtl'] .nav-pills>li{float:right}[dir='rtl'] .nav-pills>li>a{border-radius:4px}[dir='rtl'] .nav-pills>li+li{margin-right:2px;margin-left:auto}[dir='rtl'] .nav-stacked>li{float:none}[dir='rtl'] .nav-stacked>li+li{margin-right:0;margin-left:auto}[dir='rtl'] .nav-justified>.dropdown .dropdown-menu{right:auto}[dir='rtl'] .nav-tabs-justified>li>a{margin-left:0;margin-right:auto}@media (min-width: 768px){[dir='rtl'] .nav-tabs-justified>li>a{border-radius:4px 4px 0 0}}@media (min-width: 768px){[dir='rtl'] .navbar-header{float:right}}[dir='rtl'] .navbar-collapse{padding-right:15px;padding-left:15px}[dir='rtl'] .navbar-brand{float:right}@media (min-width: 768px){[dir='rtl'] .navbar>.container .navbar-brand,[dir='rtl'] .navbar>.container-fluid .navbar-brand{margin-right:-15px;margin-left:auto}}[dir='rtl'] .navbar-toggle{float:left;margin-left:15px;margin-right:auto}@media (max-width: 767px){[dir='rtl'] .navbar-nav .open .dropdown-menu>li>a,[dir='rtl'] .navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 25px 5px 15px}}@media (min-width: 768px){[dir='rtl'] .navbar-nav{float:right}[dir='rtl'] .navbar-nav>li{float:right}}@media (min-width: 768px){[dir='rtl'] .navbar-left.flip{float:right !important}[dir='rtl'] .navbar-right:last-child{margin-left:-15px;margin-right:auto}[dir='rtl'] .navbar-right.flip{float:left !important;margin-left:-15px;margin-right:auto}[dir='rtl'] .navbar-right .dropdown-menu{left:0;right:auto}}@media (min-width: 768px){[dir='rtl'] .navbar-text{float:right}[dir='rtl'] .navbar-text.navbar-right:last-child{margin-left:0;margin-right:auto}}[dir='rtl'] .pagination{padding-right:0}[dir='rtl'] .pagination>li>a,[dir='rtl'] .pagination>li>span{float:right;margin-right:-1px;margin-left:0px}[dir='rtl'] .pagination>li:first-child>a,[dir='rtl'] .pagination>li:first-child>span{margin-left:0;border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}[dir='rtl'] .pagination>li:last-child>a,[dir='rtl'] .pagination>li:last-child>span{margin-right:-1px;border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}[dir='rtl'] .pager{padding-right:0;padding-left:initial}[dir='rtl'] .pager .next>a,[dir='rtl'] .pager .next>span{float:left}[dir='rtl'] .pager .previous>a,[dir='rtl'] .pager .previous>span{float:right}[dir='rtl'] .nav-pills>li>a>.badge{margin-left:0px;margin-right:3px}[dir='rtl'] .list-group-item>.badge{float:left}[dir='rtl'] .list-group-item>.badge+.badge{margin-left:5px;margin-right:auto}[dir='rtl'] .alert-dismissable,[dir='rtl'] .alert-dismissible{padding-left:35px;padding-right:15px}[dir='rtl'] .alert-dismissable .close,[dir='rtl'] .alert-dismissible .close{right:auto;left:-21px}[dir='rtl'] .progress-bar{float:right}[dir='rtl'] .media>.pull-left{margin-right:10px}[dir='rtl'] .media>.pull-left.flip{margin-right:0;margin-left:10px}[dir='rtl'] .media>.pull-right{margin-left:10px}[dir='rtl'] .media>.pull-right.flip{margin-left:0;margin-right:10px}[dir='rtl'] .media-right,[dir='rtl'] .media>.pull-right{padding-right:10px;padding-left:initial}[dir='rtl'] .media-left,[dir='rtl'] .media>.pull-left{padding-left:10px;padding-right:initial}[dir='rtl'] .media-list{padding-right:0;padding-left:initial;list-style:none}[dir='rtl'] .list-group{padding-right:0;padding-left:initial}[dir='rtl'] .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,[dir='rtl'] .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,[dir='rtl'] .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,[dir='rtl'] .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,[dir='rtl'] .panel>.table:first-child>thead:first-child>tr:first-child th:first-child,[dir='rtl'] .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,[dir='rtl'] .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,[dir='rtl'] .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-right-radius:3px;border-top-left-radius:0}[dir='rtl'] .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,[dir='rtl'] .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,[dir='rtl'] .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,[dir='rtl'] .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,[dir='rtl'] .panel>.table:first-child>thead:first-child>tr:first-child th:last-child,[dir='rtl'] .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,[dir='rtl'] .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,[dir='rtl'] .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-left-radius:3px;border-top-right-radius:0}[dir='rtl'] .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,[dir='rtl'] .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,[dir='rtl'] .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,[dir='rtl'] .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,[dir='rtl'] .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,[dir='rtl'] .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,[dir='rtl'] .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,[dir='rtl'] .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px;border-top-right-radius:0}[dir='rtl'] .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,[dir='rtl'] .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,[dir='rtl'] .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,[dir='rtl'] .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,[dir='rtl'] .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,[dir='rtl'] .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,[dir='rtl'] .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,[dir='rtl'] .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px;border-top-left-radius:0}[dir='rtl'] .panel>.table-bordered>thead>tr>th:first-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>thead>tr>th:first-child,[dir='rtl'] .panel>.table-bordered>tbody>tr>th:first-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,[dir='rtl'] .panel>.table-bordered>tfoot>tr>th:first-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,[dir='rtl'] .panel>.table-bordered>thead>tr>td:first-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,[dir='rtl'] .panel>.table-bordered>tbody>tr>td:first-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,[dir='rtl'] .panel>.table-bordered>tfoot>tr>td:first-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-right:0;border-left:none}[dir='rtl'] .panel>.table-bordered>thead>tr>th:last-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>thead>tr>th:last-child,[dir='rtl'] .panel>.table-bordered>tbody>tr>th:last-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,[dir='rtl'] .panel>.table-bordered>tfoot>tr>th:last-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,[dir='rtl'] .panel>.table-bordered>thead>tr>td:last-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,[dir='rtl'] .panel>.table-bordered>tbody>tr>td:last-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,[dir='rtl'] .panel>.table-bordered>tfoot>tr>td:last-child,[dir='rtl'] .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:none;border-left:0}[dir='rtl'] .embed-responsive .embed-responsive-item,[dir='rtl'] .embed-responsive iframe,[dir='rtl'] .embed-responsive embed,[dir='rtl'] .embed-responsive object{right:0;left:auto}[dir='rtl'] .close{float:left}[dir='rtl'] .modal-footer{text-align:left}[dir='rtl'] .modal-footer.flip{text-align:right}[dir='rtl'] .modal-footer .btn+.btn{margin-left:auto;margin-right:5px}[dir='rtl'] .modal-footer .btn-group .btn+.btn{margin-right:-1px;margin-left:auto}[dir='rtl'] .modal-footer .btn-block+.btn-block{margin-right:0;margin-left:auto}[dir='rtl'] .popover{left:auto;text-align:right}[dir='rtl'] .popover.top>.arrow{right:50%;left:auto;margin-right:-11px;margin-left:auto}[dir='rtl'] .popover.top>.arrow:after{margin-right:-10px;margin-left:auto}[dir='rtl'] .popover.bottom>.arrow{right:50%;left:auto;margin-right:-11px;margin-left:auto}[dir='rtl'] .popover.bottom>.arrow:after{margin-right:-10px;margin-left:auto}[dir='rtl'] .carousel-control{right:0;bottom:0}[dir='rtl'] .carousel-control.left{right:auto;left:0;background-image:-webkit-linear-gradient(left, color-stop(rgba(0,0,0,0.5) 0%), color-stop(rgba(0,0,0,0.0001) 100%));background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}[dir='rtl'] .carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, color-stop(rgba(0,0,0,0.0001) 0%), color-stop(rgba(0,0,0,0.5) 100%));background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}[dir='rtl'] .carousel-control .icon-prev,[dir='rtl'] .carousel-control .glyphicon-chevron-left{left:50%;right:auto;margin-right:-10px}[dir='rtl'] .carousel-control .icon-next,[dir='rtl'] .carousel-control .glyphicon-chevron-right{right:50%;left:auto;margin-left:-10px}[dir='rtl'] .carousel-indicators{right:50%;left:0;margin-right:-30%;margin-left:0;padding-left:0}@media screen and (min-width: 768px){[dir='rtl'] .carousel-control .glyphicon-chevron-left,[dir='rtl'] .carousel-control .icon-prev{margin-left:0;margin-right:-15px}[dir='rtl'] .carousel-control .glyphicon-chevron-right,[dir='rtl'] .carousel-control .icon-next{margin-left:0;margin-right:-15px}[dir='rtl'] .carousel-caption{left:20%;right:20%;padding-bottom:30px}}[dir='rtl'] .pull-right.flip{float:left !important}[dir='rtl'] .pull-left.flip{float:right !important}.dijitReset{margin:0;border:0;padding:0;font:inherit;line-height:normal;color:inherit}.dj_a11y .dijitReset{-moz-appearance:none}.dijitInline{display:inline-block;border:0;padding:0;vertical-align:middle}table.dijitInline{display:inline-table;box-sizing:content-box;-moz-box-sizing:content-box}.dijitHidden{position:absolute;visibility:hidden}.dijitHidden *{visibility:hidden !important}.dijitVisible{display:block !important;position:relative;visibility:visible}.dj_ie6 .dijitComboBox .dijitInputContainer,.dijitInputContainer{overflow:hidden;float:none !important;position:relative}.dj_ie7 .dijitInputContainer{float:left !important;clear:left;display:inline-block !important}.dj_ie .dijitSelect input,.dj_ie input.dijitTextBox,.dj_ie .dijitTextBox input{font-size:100%}.dijitSelect .dijitButtonText{float:left;vertical-align:top}TABLE.dijitSelect{padding:0 !important;border-collapse:separate}.dijitTextBox .dijitSpinnerButtonContainer,.dijitTextBox .dijitArrowButtonContainer,.dijitValidationTextBox .dijitValidationContainer{float:right;text-align:center}.dijitSelect input.dijitInputField,.dijitTextBox input.dijitInputField{padding-left:0 !important;padding-right:0 !important}.dijitValidationTextBox .dijitValidationContainer{display:none}.dijitTeeny{font-size:1px;line-height:1px}.dijitOffScreen{position:absolute !important;left:-10000px !important;top:-10000px !important}.dijitPopup{position:absolute;background-color:transparent;margin:0;border:0;padding:0;-webkit-overflow-scrolling:touch}.dijitPositionOnly{padding:0 !important;border:0 !important;background-color:transparent !important;background-image:none !important;height:auto !important;width:auto !important}.dijitNonPositionOnly{float:none !important;position:static !important;margin:0 0 0 0 !important;vertical-align:middle !important}.dijitBackgroundIframe{position:absolute;left:0;top:0;width:100%;height:100%;z-index:-1;border:0;padding:0;margin:0}.dijitDisplayNone{display:none !important}.dijitContainer{overflow:hidden}.dj_a11y .dijitIcon,.dj_a11y div.dijitArrowButtonInner,.dj_a11y span.dijitArrowButtonInner,.dj_a11y img.dijitArrowButtonInner,.dj_a11y .dijitCalendarIncrementControl,.dj_a11y .dijitTreeExpando{display:none}.dijitSpinner div.dijitArrowButtonInner{display:block}.dj_a11y .dijitA11ySideArrow{display:inline !important;cursor:pointer}.dj_a11y .dijitCalendarDateLabel{padding:1px;border:0px !important}.dj_a11y .dijitCalendarSelectedDate .dijitCalendarDateLabel{border-style:solid !important;border-width:1px !important;padding:0}.dj_a11y .dijitCalendarDateTemplate{padding-bottom:0.1em !important;border:0px !important}.dj_a11y .dijitButtonNode{border:black outset medium !important;padding:0 !important}.dj_a11y .dijitArrowButton{padding:0 !important}.dj_a11y .dijitButtonContents{margin:0.15em}.dj_a11y .dijitTextBoxReadOnly .dijitInputField,.dj_a11y .dijitTextBoxReadOnly .dijitButtonNode{border-style:outset !important;border-width:medium !important;border-color:#999 !important;color:#999 !important}.dijitButtonNode *{vertical-align:middle}.dijitSelect .dijitArrowButtonInner,.dijitButtonNode .dijitArrowButtonInner{background:no-repeat center;width:12px;height:12px;direction:ltr}.dijitLeft{background-position:left top;background-repeat:no-repeat}.dijitStretch{white-space:nowrap;background-repeat:repeat-x}.dijitRight{background-position:right top;background-repeat:no-repeat}.dj_gecko .dj_a11y .dijitButtonDisabled .dijitButtonNode{opacity:0.5}.dijitToggleButton,.dijitButton,.dijitDropDownButton,.dijitComboButton{margin:0.2em;vertical-align:middle}.dijitButtonContents{display:block}td.dijitButtonContents{display:table-cell}.dijitButtonNode img{vertical-align:middle}.dijitToolbar .dijitComboButton{border-collapse:separate}.dijitToolbar .dijitToggleButton,.dijitToolbar .dijitButton,.dijitToolbar .dijitDropDownButton,.dijitToolbar .dijitComboButton{margin:0}.dijitToolbar .dijitButtonContents{padding:1px 2px}.dj_webkit .dijitToolbar .dijitDropDownButton{padding-left:0.3em}.dj_gecko .dijitToolbar .dijitButtonNode::-moz-focus-inner{padding:0}.dijitSelect{border:1px solid gray}.dijitButtonNode{border:1px solid gray;margin:0;line-height:normal;vertical-align:middle;text-align:center;white-space:nowrap}.dj_webkit .dijitSpinner .dijitSpinnerButtonContainer{line-height:inherit}.dijitTextBox .dijitButtonNode{border-width:0}.dijitSelect,.dijitSelect *,.dijitButtonNode,.dijitButtonNode *{cursor:pointer;-webkit-tap-highlight-color:transparent}.dj_ie .dijitButtonNode{zoom:1}.dj_ie .dijitButtonNode button{overflow:visible}div.dijitArrowButton{float:right}.dijitTextBox{border:solid black 1px;width:15em;vertical-align:middle}.dijitTextBoxReadOnly,.dijitTextBoxDisabled{color:gray}.dj_safari .dijitTextBoxDisabled input{color:#B0B0B0}.dj_safari textarea.dijitTextAreaDisabled{color:#333}.dj_gecko .dijitTextBoxReadOnly input.dijitInputField,.dj_gecko .dijitTextBoxDisabled input{-moz-user-input:none}.dijitPlaceHolder{color:#AAAAAA;font-style:italic;position:absolute;top:0;left:0;white-space:nowrap;pointer-events:none}.dijitTimeTextBox{width:8em}.dijitTextBox input:focus{outline:none}.dijitTextBoxFocused{outline:5px -webkit-focus-ring-color}.dijitSelect input,.dijitTextBox input{float:left}.dj_ie6 input.dijitTextBox,.dj_ie6 .dijitTextBox input{float:none}.dijitInputInner{border:0 !important;background-color:transparent !important;width:100% !important;padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important}.dj_a11y .dijitTextBox input{margin:0 !important}.dijitValidationTextBoxError input.dijitValidationInner,.dijitSelect input,.dijitTextBox input.dijitArrowButtonInner{text-indent:-2em !important;direction:ltr !important;text-align:left !important;height:auto !important}.dj_ie .dijitSelect input,.dj_ie .dijitTextBox input,.dj_ie input.dijitTextBox{overflow-y:visible;line-height:normal}.dijitSelect .dijitSelectLabel span{line-height:100%}.dj_ie .dijitSelect .dijitSelectLabel{line-height:normal}.dj_ie6 .dijitSelect .dijitSelectLabel,.dj_ie7 .dijitSelect .dijitSelectLabel,.dj_ie8 .dijitSelect .dijitSelectLabel,.dj_iequirks .dijitSelect .dijitSelectLabel,.dijitSelect td,.dj_ie6 .dijitSelect input,.dj_iequirks .dijitSelect input,.dj_ie6 .dijitSelect .dijitValidationContainer,.dj_ie6 .dijitTextBox input,.dj_ie6 input.dijitTextBox,.dj_iequirks .dijitTextBox input.dijitValidationInner,.dj_iequirks .dijitTextBox input.dijitArrowButtonInner,.dj_iequirks .dijitTextBox input.dijitSpinnerButtonInner,.dj_iequirks .dijitTextBox input.dijitInputInner,.dj_iequirks input.dijitTextBox{line-height:100%}.dj_a11y input.dijitValidationInner,.dj_a11y input.dijitArrowButtonInner{text-indent:0 !important;width:1em !important;color:black !important}.dijitValidationTextBoxError .dijitValidationContainer{display:inline;cursor:default}.dijitSpinner .dijitSpinnerButtonContainer,.dijitComboBox .dijitArrowButtonContainer{border-width:0 0 0 1px !important}.dj_a11y .dijitSelect .dijitArrowButtonContainer,.dijitToolbar .dijitComboBox .dijitArrowButtonContainer{border-width:0 !important}.dijitComboBoxMenu{list-style-type:none}.dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode{border-width:0}.dj_ie .dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode{clear:both}.dj_ie .dijitToolbar .dijitComboBox{vertical-align:middle}.dijitTextBox .dijitSpinnerButtonContainer{width:1em;position:relative !important;overflow:hidden}.dijitSpinner .dijitSpinnerButtonInner{width:1em;visibility:hidden !important;overflow-x:hidden}.dijitComboBox .dijitButtonNode,.dijitSpinnerButtonContainer .dijitButtonNode{border-width:0}.dj_a11y .dijitSpinnerButtonContainer .dijitButtonNode{border-width:0px !important;border-style:solid !important}.dj_a11y .dijitTextBox .dijitSpinnerButtonContainer,.dj_a11y .dijitSpinner .dijitArrowButtonInner,.dj_a11y .dijitSpinnerButtonContainer input{width:1em !important}.dj_a11y .dijitSpinner .dijitArrowButtonInner{margin:0 auto !important}.dj_ie .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField{padding-left:0.3em !important;padding-right:0.3em !important;margin-left:0.3em !important;margin-right:0.3em !important;width:1.4em !important}.dj_ie7 .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField{padding-left:0 !important;padding-right:0 !important;width:1em !important}.dj_ie6 .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField{margin-left:0.1em !important;margin-right:0.1em !important;width:1em !important}.dj_iequirks .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField{margin-left:0 !important;margin-right:0 !important;width:2em !important}.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton{padding:0;position:absolute !important;right:0;float:none;height:50%;width:100%;bottom:auto;left:0;right:auto}.dj_iequirks .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton{width:auto}.dj_a11y .dijitSpinnerButtonContainer .dijitArrowButton{overflow:visible !important}.dijitSpinner .dijitSpinnerButtonContainer .dijitDownArrowButton{top:50%;border-top-width:1px !important}.dijitSpinner .dijitSpinnerButtonContainer .dijitUpArrowButton{top:0}.dijitSpinner .dijitArrowButtonInner{margin:auto;overflow-x:hidden;height:100% !important}.dj_iequirks .dijitSpinner .dijitArrowButtonInner{height:auto !important}.dijitSpinner .dijitArrowButtonInner .dijitInputField{-moz-transform:scale(0.5);-moz-transform-origin:center top;-webkit-transform:scale(0.5);-webkit-transform-origin:center top;-o-transform:scale(0.5);-o-transform-origin:center top;transform:scale(0.5);transform-origin:left top;padding-top:0;padding-bottom:0;padding-left:0 !important;padding-right:0 !important;width:100%;visibility:hidden}.dj_ie .dijitSpinner .dijitArrowButtonInner .dijitInputField{zoom:50%}.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButtonInner{overflow:hidden}.dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton{width:100%}.dj_iequirks .dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton{width:1em}.dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField{vertical-align:top;visibility:visible}.dj_a11y .dijitSpinnerButtonContainer{width:1em}.dijitCheckBox,.dijitRadio,.dijitCheckBoxInput{padding:0;border:0;width:16px;height:16px;background-position:center center;background-repeat:no-repeat;overflow:hidden}.dijitCheckBox input,.dijitRadio input{margin:0;padding:0;display:block}.dijitCheckBoxInput{opacity:0}.dj_ie .dijitCheckBoxInput{filter:alpha(opacity=0)}.dj_a11y .dijitCheckBox,.dj_a11y .dijitRadio{width:auto !important;height:auto !important}.dj_a11y .dijitCheckBoxInput{opacity:1;filter:none;width:auto;height:auto}.dj_a11y .dijitFocusedLabel{border:1px dotted;outline:0px !important}.dijitProgressBar{z-index:0}.dijitProgressBarEmpty{position:relative;overflow:hidden;border:1px solid black;z-index:0}.dijitProgressBarFull{position:absolute;overflow:hidden;z-index:-1;top:0;width:100%}.dj_ie6 .dijitProgressBarFull{height:1.6em}.dijitProgressBarTile{position:absolute;overflow:hidden;top:0;left:0;bottom:0;right:0;margin:0;padding:0;width:100%;height:auto;background-color:#aaa;background-attachment:fixed}.dj_a11y .dijitProgressBarTile{border-width:2px;border-style:solid;background-color:transparent !important}.dj_ie6 .dijitProgressBarTile{position:static;height:1.6em}.dijitProgressBarIndeterminateHighContrastImage{display:none}.dj_a11y .dijitProgressBarIndeterminate .dijitProgressBarIndeterminateHighContrastImage{display:block;position:absolute;top:0;bottom:0;margin:0;padding:0;width:100%;height:auto}.dijitProgressBarLabel{display:block;position:static;width:100%;text-align:center;background-color:transparent !important}.dijitTooltip{position:absolute;z-index:2000;display:block;left:0;top:-10000px;overflow:visible}.dijitTooltipContainer{border:solid black 2px;background:#b8b5b5;color:black;font-size:small}.dijitTooltipFocusNode{padding:2px 2px 2px 2px}.dijitTooltipConnector{position:absolute}.dj_a11y .dijitTooltipConnector{display:none}.dijitTooltipData{display:none}.dijitLayoutContainer{position:relative;display:block;overflow:hidden}.dijitAlignTop,.dijitAlignBottom,.dijitAlignLeft,.dijitAlignRight{position:absolute;overflow:hidden}body .dijitAlignClient{position:absolute}.dijitBorderContainer,.dijitBorderContainerNoGutter{position:relative;overflow:hidden;z-index:0}.dijitBorderContainerPane,.dijitBorderContainerNoGutterPane{position:absolute !important;z-index:2}.dijitBorderContainer>.dijitTextArea{resize:none}.dijitGutter{position:absolute;font-size:1px}.dijitSplitter{position:absolute;overflow:hidden;z-index:10;background-color:#fff;border-color:gray;border-style:solid;border-width:0}.dj_ie .dijitSplitter{z-index:1}.dijitSplitterActive{z-index:11 !important}.dijitSplitterCover{position:absolute;z-index:-1;top:0;left:0;width:100%;height:100%}.dijitSplitterCoverActive{z-index:3 !important}.dj_ie .dijitSplitterCover{background:white;opacity:0}.dj_ie6 .dijitSplitterCover,.dj_ie7 .dijitSplitterCover,.dj_ie8 .dijitSplitterCover{filter:alpha(opacity=0)}.dijitSplitterH{height:7px;border-top:1px;border-bottom:1px;cursor:row-resize;-webkit-tap-highlight-color:transparent}.dijitSplitterV{width:7px;border-left:1px;border-right:1px;cursor:col-resize;-webkit-tap-highlight-color:transparent}.dijitSplitContainer{position:relative;overflow:hidden;display:block}.dijitSplitPane{position:absolute}.dijitSplitContainerSizerH,.dijitSplitContainerSizerV{position:absolute;font-size:1px;background-color:ThreeDFace;border:1px solid;border-color:ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;margin:0}.dijitSplitContainerSizerH .thumb,.dijitSplitterV .dijitSplitterThumb{overflow:hidden;position:absolute;top:49%}.dijitSplitContainerSizerV .thumb,.dijitSplitterH .dijitSplitterThumb{position:absolute;left:49%}.dijitSplitterShadow,.dijitSplitContainerVirtualSizerH,.dijitSplitContainerVirtualSizerV{font-size:1px;background-color:ThreeDShadow;-moz-opacity:0.5;opacity:0.5;filter:Alpha(Opacity=50);margin:0}.dijitSplitContainerSizerH,.dijitSplitContainerVirtualSizerH{cursor:col-resize}.dijitSplitContainerSizerV,.dijitSplitContainerVirtualSizerV{cursor:row-resize}.dj_a11y .dijitSplitterH{border-top:1px solid #d3d3d3 !important;border-bottom:1px solid #d3d3d3 !important}.dj_a11y .dijitSplitterV{border-left:1px solid #d3d3d3 !important;border-right:1px solid #d3d3d3 !important}.dijitContentPane{display:block;overflow:auto;-webkit-overflow-scrolling:touch}.dijitContentPaneSingleChild{overflow:hidden}.dijitContentPaneLoading .dijitIconLoading,.dijitContentPaneError .dijitIconError{margin-right:9px}.dijitTitlePane{display:block;overflow:hidden}.dijitFieldset{border:1px solid gray}.dijitTitlePaneTitle,.dijitFieldsetTitle{cursor:pointer;-webkit-tap-highlight-color:transparent}.dijitTitlePaneTitleFixedOpen,.dijitTitlePaneTitleFixedClosed,.dijitFieldsetTitleFixedOpen,.dijitFieldsetTitleFixedClosed{cursor:default}.dijitTitlePaneTitle *{vertical-align:middle}.dijitTitlePane .dijitArrowNodeInner,.dijitFieldset .dijitArrowNodeInner{display:none}.dj_a11y .dijitTitlePane .dijitArrowNodeInner,.dj_a11y .dijitFieldset .dijitArrowNodeInner{display:inline;font-family:monospace}.dj_a11y .dijitTitlePane .dijitArrowNode,.dj_a11y .dijitFieldset .dijitArrowNode{display:none}.dijitTitlePaneTitleFixedOpen .dijitArrowNode,.dijitTitlePaneTitleFixedOpen .dijitArrowNodeInner,.dijitTitlePaneTitleFixedClosed .dijitArrowNode,.dijitTitlePaneTitleFixedClosed .dijitArrowNodeInner,.dijitFieldsetTitleFixedOpen .dijitArrowNode,.dijitFieldsetTitleFixedOpen .dijitArrowNodeInner,.dijitFieldsetTitleFixedClosed .dijitArrowNode,.dijitFieldsetTitleFixedClosed .dijitArrowNodeInner{display:none !important}.dj_ie6 .dijitTitlePaneContentOuter,.dj_ie6 .dijitTitlePane .dijitTitlePaneTitle{zoom:1}.dijitColorPalette{border:1px solid #999;background:#fff;position:relative}.dijitColorPalette .dijitPaletteTable{padding:2px 3px 3px 3px;position:relative;overflow:hidden;outline:0;border-collapse:separate}.dj_ie6 .dijitColorPalette .dijitPaletteTable,.dj_ie7 .dijitColorPalette .dijitPaletteTable,.dj_iequirks .dijitColorPalette .dijitPaletteTable{padding:0;margin:2px 3px 3px 3px}.dijitColorPalette .dijitPaletteCell{font-size:1px;vertical-align:middle;text-align:center;background:none}.dijitColorPalette .dijitPaletteImg{padding:1px;border:1px solid #999;margin:2px 1px;cursor:default;font-size:1px}.dj_gecko .dijitColorPalette .dijitPaletteImg{padding-bottom:0}.dijitColorPalette .dijitColorPaletteSwatch{width:14px;height:12px}.dijitPaletteTable td{padding:0}.dijitColorPalette .dijitPaletteCell:hover .dijitPaletteImg{border:1px solid #000}.dijitColorPalette .dijitPaletteCell:active .dijitPaletteImg,.dijitColorPalette .dijitPaletteTable .dijitPaletteCellSelected .dijitPaletteImg{border:2px solid #000;margin:1px 0}.dj_a11y .dijitColorPalette .dijitPaletteTable,.dj_a11y .dijitColorPalette .dijitPaletteTable *{background-color:transparent !important}.dijitAccordionContainer{border:1px solid #b7b7b7;border-top:0 !important}.dijitAccordionTitle{cursor:pointer;-webkit-tap-highlight-color:transparent}.dijitAccordionTitleSelected{cursor:default}.dijitAccordionTitle .arrowTextUp,.dijitAccordionTitle .arrowTextDown{display:none;font-size:0.65em;font-weight:normal !important}.dj_a11y .dijitAccordionTitle .arrowTextUp,.dj_a11y .dijitAccordionTitleSelected .arrowTextDown{display:inline}.dj_a11y .dijitAccordionTitleSelected .arrowTextUp{display:none}.dijitAccordionChildWrapper{overflow:hidden}.dijitCalendarContainer table{width:auto;clear:both}.dijitCalendarContainer th,.dijitCalendarContainer td{padding:0;vertical-align:middle}.dijitCalendarMonthContainer{text-align:center}.dijitCalendarDecrementArrow{float:left}.dijitCalendarIncrementArrow{float:right}.dijitCalendarYearLabel{white-space:nowrap}.dijitCalendarNextYear{margin:0 0 0 0.55em}.dijitCalendarPreviousYear{margin:0 0.55em 0 0}.dijitCalendarIncrementControl{vertical-align:middle}.dijitCalendarIncrementControl,.dijitCalendarDateTemplate,.dijitCalendarMonthLabel,.dijitCalendarPreviousYear,.dijitCalendarNextYear{cursor:pointer;-webkit-tap-highlight-color:transparent}.dijitCalendarDisabledDate{color:gray;text-decoration:line-through;cursor:default}.dijitSpacer{position:relative;height:1px;overflow:hidden;visibility:hidden}.dijitCalendarMonthMenu .dijitCalendarMonthLabel{text-align:center}.dijitMenu{border:1px solid black;background-color:white}.dijitMenuTable{border-collapse:collapse;border-width:0;background-color:white}.dj_webkit .dijitMenuTable td[colspan="2"]{border-right:hidden}.dijitMenuItem{text-align:left;white-space:nowrap;padding:.1em .2em;cursor:pointer;-webkit-tap-highlight-color:transparent}.dijitMenuItem:focus{outline:none}.dijitMenuPassive .dijitMenuItemHover,.dijitMenuItemSelected{background-color:black;color:white}.dijitMenuItemIcon,.dijitMenuExpand{background-repeat:no-repeat}.dijitMenuItemDisabled *{opacity:0.5;cursor:default}.dj_ie .dj_a11y .dijitMenuItemDisabled,.dj_ie .dj_a11y .dijitMenuItemDisabled *,.dj_ie .dijitMenuItemDisabled *{color:gray;filter:alpha(opacity=35)}.dijitMenuItemLabel{vertical-align:middle}.dj_a11y .dijitMenuItemSelected{border:1px dotted black !important}.dj_a11y .dijitMenuItemSelected .dijitMenuItemLabel{border-width:1px;border-style:solid}.dj_ie8 .dj_a11y .dijitMenuItemLabel{position:static}.dijitMenuExpandA11y{display:none}.dj_a11y .dijitMenuExpandA11y{display:inline}.dijitMenuSeparator td{border:0;padding:0}.dijitMenuSeparatorTop{height:50%;margin:0;margin-top:3px;font-size:1px}.dijitMenuSeparatorBottom{height:50%;margin:0;margin-bottom:3px;font-size:1px}.dijitMenuItemIconChar{display:none;visibility:hidden}.dj_a11y .dijitMenuItemIconChar{display:inline}.dijitCheckedMenuItemChecked .dijitMenuItemIconChar,.dijitRadioMenuItemChecked .dijitMenuItemIconChar{visibility:visible}.dj_ie .dj_a11y .dijitMenuBar .dijitMenuItem{margin:0}.dijitStackController .dijitToggleButtonChecked *{cursor:default}.dijitTabContainer{z-index:0;overflow:visible}.dj_ie6 .dijitTabContainer{overflow:hidden}.dijitTabContainerNoLayout{width:100%}.dijitTabContainerBottom-tabs,.dijitTabContainerTop-tabs,.dijitTabContainerLeft-tabs,.dijitTabContainerRight-tabs{z-index:1;overflow:visible !important}.dijitTabController{z-index:1}.dijitTabContainerBottom-container,.dijitTabContainerTop-container,.dijitTabContainerLeft-container,.dijitTabContainerRight-container{z-index:0;overflow:hidden;border:1px solid black}.nowrapTabStrip{width:50000px;display:block;position:relative;text-align:left;z-index:1}.dijitTabListWrapper{overflow:hidden;z-index:1}.dj_a11y .tabStripButton img{display:none}.dijitTabContainerTop-tabs{border-bottom:1px solid black}.dijitTabContainerTop-container{border-top:0}.dijitTabContainerLeft-tabs{border-right:1px solid black;float:left}.dijitTabContainerLeft-container{border-left:0}.dijitTabContainerBottom-tabs{border-top:1px solid black}.dijitTabContainerBottom-container{border-bottom:0}.dijitTabContainerRight-tabs{border-left:1px solid black;float:left}.dijitTabContainerRight-container{border-right:0}div.dijitTabDisabled,.dj_ie div.dijitTabDisabled{cursor:auto}.dijitTab{position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap;z-index:3}.dijitTab *{vertical-align:middle}.dijitTabChecked{cursor:default}.dijitTabContainerTop-tabs .dijitTab{top:1px}.dijitTabContainerBottom-tabs .dijitTab{top:-1px}.dijitTabContainerLeft-tabs .dijitTab{left:1px}.dijitTabContainerRight-tabs .dijitTab{left:-1px}.dijitTabContainerTop-tabs .dijitTab,.dijitTabContainerBottom-tabs .dijitTab{display:inline-block}.tabStripButton{z-index:12}.dijitTabButtonDisabled .tabStripButton{display:none}.dijitTabCloseButton{margin-left:1em}.dijitTabCloseText{display:none}.dijitTab .tabLabel{min-height:15px;display:inline-block}.dijitNoIcon{display:none}.dj_ie6 .dijitTab .dijitNoIcon{display:inline;height:15px;width:1px}.dj_a11y .dijitTabCloseButton{background-image:none !important;width:auto !important;height:auto !important}.dj_a11y .dijitTabCloseText{display:inline}.dijitTabPane,.dijitStackContainer-child,.dijitAccordionContainer-child{border:none !important}.dijitInlineEditBoxDisplayMode{border:1px solid transparent;cursor:text}.dj_a11y .dijitInlineEditBoxDisplayMode,.dj_ie6 .dijitInlineEditBoxDisplayMode{border:none}.dijitInlineEditBoxDisplayModeHover,.dj_a11y .dijitInlineEditBoxDisplayModeHover,.dj_ie6 .dijitInlineEditBoxDisplayModeHover{background-color:#e2ebf2;border:solid 1px black}.dijitInlineEditBoxDisplayModeDisabled{cursor:default}.dijitTree{overflow:auto;-webkit-tap-highlight-color:transparent}.dijitTreeContainer{float:left}.dijitTreeIndent{width:19px}.dijitTreeRow,.dijitTreeContent{white-space:nowrap}.dj_ie .dijitTreeLabel:focus{outline:1px dotted black}.dijitTreeRow img{vertical-align:middle}.dijitTreeContent{cursor:default}.dijitExpandoText{display:none}.dj_a11y .dijitExpandoText{display:inline;padding-left:10px;padding-right:10px;font-family:monospace;border-style:solid;border-width:thin;cursor:pointer}.dijitTreeLabel{margin:0 4px}.dijitDialog{position:absolute;z-index:999;overflow:hidden}.dijitDialogTitleBar{cursor:move}.dijitDialogFixed .dijitDialogTitleBar{cursor:default}.dijitDialogCloseIcon{cursor:pointer;-webkit-tap-highlight-color:transparent}.dijitDialogPaneContent{-webkit-overflow-scrolling:touch}.dijitDialogUnderlayWrapper{position:absolute;left:0;top:0;z-index:998;display:none;background:transparent !important}.dijitDialogUnderlay{background:#eee;opacity:0.5}.dj_ie .dijitDialogUnderlay{filter:alpha(opacity=50)}.dj_a11y .dijitSpinnerButtonContainer,.dj_a11y .dijitDialog{opacity:1 !important;background-color:white !important}.dijitDialog .closeText{display:none;position:absolute}.dj_a11y .dijitDialog .closeText{display:inline}.dijitSliderMoveable{z-index:99;position:absolute !important;display:block;vertical-align:middle}.dijitSliderMoveableH{right:0}.dijitSliderMoveableV{right:50%}.dj_a11y div.dijitSliderImageHandle,.dijitSliderImageHandle{margin:0;padding:0;position:relative !important;border:8px solid gray;width:0;height:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.dj_iequirks .dj_a11y .dijitSliderImageHandle{font-size:0}.dj_ie7 .dijitSliderImageHandle{overflow:hidden}.dj_ie7 .dj_a11y .dijitSliderImageHandle{overflow:visible}.dj_a11y .dijitSliderFocused .dijitSliderImageHandle{border:4px solid #000;height:8px;width:8px}.dijitSliderImageHandleV{top:-8px;right:-50%}.dijitSliderImageHandleH{left:50%;top:-5px;vertical-align:top}.dijitSliderBar{border-style:solid;border-color:black;cursor:pointer;-webkit-tap-highlight-color:transparent}.dijitSliderBarContainerV{position:relative;height:100%;z-index:1}.dijitSliderBarContainerH{position:relative;z-index:1}.dijitSliderBarH{height:4px;border-width:1px 0}.dijitSliderBarV{width:4px;border-width:0 1px}.dijitSliderProgressBar{background-color:red;z-index:1}.dijitSliderProgressBarV{position:static !important;height:0;vertical-align:top;text-align:left}.dijitSliderProgressBarH{position:absolute !important;width:0;vertical-align:middle;overflow:visible}.dijitSliderRemainingBar{overflow:hidden;background-color:transparent;z-index:1}.dijitSliderRemainingBarV{height:100%;text-align:left}.dijitSliderRemainingBarH{width:100% !important}.dijitSliderBumper{overflow:hidden;z-index:1}.dijitSliderBumperV{width:4px;height:8px;border-width:0 1px}.dijitSliderBumperH{width:8px;height:4px;border-width:1px 0}.dijitSliderBottomBumper,.dijitSliderLeftBumper{background-color:red}.dijitSliderTopBumper,.dijitSliderRightBumper{background-color:transparent}.dijitSliderDecoration{text-align:center}.dijitSliderDecorationC,.dijitSliderDecorationV{position:relative}.dijitSliderDecorationH{width:100%}.dijitSliderDecorationV{height:100%;white-space:nowrap}.dijitSliderButton{font-family:monospace;margin:0;padding:0;display:block}.dj_a11y .dijitSliderButtonInner{visibility:visible !important}.dijitSliderButtonContainer{text-align:center;height:0}.dijitSliderButtonContainer *{cursor:pointer;-webkit-tap-highlight-color:transparent}.dijitSlider .dijitButtonNode{padding:0;display:block}.dijitRuleContainer{position:relative;overflow:visible}.dijitRuleContainerV{height:100%;line-height:0;float:left;text-align:left}.dj_opera .dijitRuleContainerV{line-height:2%}.dj_ie .dijitRuleContainerV{line-height:normal}.dj_gecko .dijitRuleContainerV{margin:0 0 1px 0}.dijitRuleMark{position:absolute;border:1px solid black;line-height:0;height:100%}.dijitRuleMarkH{width:0;border-top-width:0 !important;border-bottom-width:0 !important;border-left-width:0 !important}.dijitRuleLabelContainer{position:absolute}.dijitRuleLabelContainerH{text-align:center;display:inline-block}.dijitRuleLabelH{position:relative;left:-50%}.dijitRuleLabelV{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dijitRuleMarkV{height:0;border-right-width:0 !important;border-bottom-width:0 !important;border-left-width:0 !important;width:100%;left:0}.dj_ie .dijitRuleLabelContainerV{margin-top:-.55em}.dj_a11y .dijitSliderReadOnly,.dj_a11y .dijitSliderDisabled{opacity:0.6}.dj_ie .dj_a11y .dijitSliderReadOnly .dijitSliderBar,.dj_ie .dj_a11y .dijitSliderDisabled .dijitSliderBar{filter:alpha(opacity=40)}.dj_a11y .dijitSlider .dijitSliderButtonContainer div{font-family:monospace;font-size:1em;line-height:1em;height:auto;width:auto;margin:0 4px}.dj_a11y .dijitButtonContents .dijitButtonText,.dj_a11y .dijitTab .tabLabel{display:inline !important}.dj_a11y .dijitSelect .dijitButtonText{display:inline-block !important}.dijitTextArea{width:100%;overflow-y:auto}.dijitTextArea[cols]{width:auto}.dj_ie .dijitTextAreaCols{width:auto}.dijitExpandingTextArea{resize:none}.dijitToolbarSeparator{height:18px;width:5px;padding:0 1px;margin:0}.dijitIEFixedToolbar{position:absolute;top:expression(eval((document.documentElement||document.body).scrollTop))}.dijitEditor{display:block}.dijitEditorDisabled,.dijitEditorReadOnly{color:gray}.dijitTimePicker{background-color:white}.dijitTimePickerItem{cursor:pointer;-webkit-tap-highlight-color:transparent}.dijitTimePickerItemHover{background-color:gray;color:white}.dijitTimePickerItemSelected{font-weight:bold;color:#333;background-color:#b7cdee}.dijitTimePickerItemDisabled{color:gray;text-decoration:line-through}.dijitTimePickerItemInner{text-align:center;border:0;padding:2px 8px 2px 8px}.dijitTimePickerTick,.dijitTimePickerMarker{border-bottom:1px solid gray}.dijitTimePicker .dijitDownArrowButton{border-top:none !important}.dijitTimePickerTick{color:#CCC}.dijitTimePickerMarker{color:black;background-color:#CCC}.dj_a11y .dijitTimePickerItemSelected .dijitTimePickerItemInner{border:solid 4px black}.dj_a11y .dijitTimePickerItemHover .dijitTimePickerItemInner{border:dashed 4px black}.dijitToggleButtonIconChar{display:none !important}.dj_a11y .dijitToggleButton .dijitToggleButtonIconChar{display:inline !important;visibility:hidden}.dj_ie6 .dijitToggleButtonIconChar,.dj_ie6 .tabStripButton .dijitButtonText{font-family:"Arial Unicode MS"}.dj_a11y .dijitToggleButtonChecked .dijitToggleButtonIconChar{display:inline !important;visibility:visible !important}.dijitArrowButtonChar{display:none !important}.dj_a11y .dijitArrowButtonChar{display:inline !important}.dj_a11y .dijitDropDownButton .dijitArrowButtonInner,.dj_a11y .dijitComboButton .dijitArrowButtonInner{display:none !important}.dj_a11y .dijitSelect{border-collapse:separate !important;border-width:1px;border-style:solid}.dj_ie .dijitSelect{vertical-align:middle}.dj_ie6 .dijitSelect .dijitValidationContainer,.dj_ie8 .dijitSelect .dijitButtonText{vertical-align:top}.dj_ie6 .dijitTextBox .dijitInputContainer,.dj_iequirks .dijitTextBox .dijitInputContainer,.dj_ie6 .dijitTextBox .dijitArrowButtonInner,.dj_ie6 .dijitSpinner .dijitSpinnerButtonInner,.dijitSelect .dijitSelectLabel{vertical-align:baseline}.dijitNumberTextBox{text-align:left;direction:ltr}.dijitNumberTextBox .dijitInputInner{text-align:inherit}.dijitNumberTextBox input.dijitInputInner,.dijitCurrencyTextBox input.dijitInputInner,.dijitSpinner input.dijitInputInner{text-align:right}.dj_ie8 .dijitNumberTextBox input.dijitInputInner,.dj_ie9 .dijitNumberTextBox input.dijitInputInner,.dj_ie8 .dijitCurrencyTextBox input.dijitInputInner,.dj_ie9 .dijitCurrencyTextBox input.dijitInputInner,.dj_ie8 .dijitSpinner input.dijitInputInner,.dj_ie9 .dijitSpinner input.dijitInputInner{padding-right:1px !important}.dijitToolbar .dijitSelect{margin:0}.dj_webkit .dijitToolbar .dijitSelect{padding-left:0.3em}.dijitSelect .dijitButtonContents{padding:0;white-space:nowrap;text-align:left;border-style:none solid none none;border-width:1px}.dijitSelectFixedWidth .dijitButtonContents{width:100%}.dijitSelectMenu .dijitMenuItemIcon{display:none}.dj_ie6 .dijitSelectMenu .dijitMenuItemLabel,.dj_ie7 .dijitSelectMenu .dijitMenuItemLabel{position:static}.dijitSelectLabel *{vertical-align:baseline}.dijitSelectSelectedOption *{font-weight:bold}.dijitSelectMenu{border-width:1px}.dijitForceStatic{position:static !important}.dijitReadOnly *,.dijitDisabled *,.dijitReadOnly,.dijitDisabled{cursor:default}.dojoDndItem{padding:2px;-webkit-touch-callout:none;-webkit-user-select:none}.dojoDndHorizontal .dojoDndItem{display:inline-block}.dojoDndItemBefore,.dojoDndItemAfter{border:0px solid #369}.dojoDndItemBefore{border-width:2px 0 0 0;padding:0 2px 2px 2px}.dojoDndItemAfter{border-width:0 0 2px 0;padding:2px 2px 0 2px}.dojoDndHorizontal .dojoDndItemBefore{border-width:0 0 0 2px;padding:2px 2px 2px 0}.dojoDndHorizontal .dojoDndItemAfter{border-width:0 2px 0 0;padding:2px 0 2px 2px}.dojoDndItemOver{cursor:pointer}.dj_gecko .dijitArrowButtonInner INPUT,.dj_gecko INPUT.dijitArrowButtonInner{-moz-user-focus:ignore}.dijitFocused .dijitMenuItemShortcutKey{text-decoration:underline}.dijitBorderContainer{height:350px}.dijitTooltipContainer{background:#fff;border:1px solid #ccc;border-radius:6px}.dijitContentPane{box-sizing:content-box;overflow:auto !important}.mx-dataview-content,.mx-scrollcontainer-wrapper:not(.mx-scrollcontainer-nested),.mx-tabcontainer-content,.mx-grid-content{-webkit-overflow-scrolling:touch}html,body,#content{height:100%}#content>.mx-page{width:100%;min-height:100%}.mx-left-aligned{text-align:left}.mx-right-aligned{text-align:right}.mx-center-aligned{text-align:center}.mx-table{width:100%}.mx-table th,.mx-table td{padding:8px;vertical-align:top}.mx-table th.nopadding,.mx-table td.nopadding{padding:0}.mx-offscreen{position:relative;height:0;overflow:hidden}.mx-ie-event-shield{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.mx-swipe-navigation-progress{position:absolute;height:54px;width:54px;top:calc(50% - 27px);left:calc(50% - 27px);background:url(data:image/gif;base64,R0lGODlhNgA2APMAAP///wAAAHh4eBwcHA4ODtjY2FRUVNzc3MTExEhISIqKigAAAAAAAAAAAAAAAAAAACH5BAkKAAAAIf4aQ3JlYXRlZCB3aXRoIGFqYXhsb2FkLmluZm8AIf8LTkVUU0NBUEUyLjADAQAAACwAAAAANgA2AAAEyxDISau9OOvNu/9gKI5kySEJQSSI6UqKKhPKWyLz3NpimqsJnug3E4aIMiPI9wsqPTjiTlkwqAwFTCxXexYGs0H2ggJOLYLBQDCy5gwmwYx9JJrAssHQXsKr9CFuM3AlcjJ0IAd+BAMHLmlrJAduBo5Pl5iZmpucnZ6fcWqImJCjaHOZhiqmFIuAl64ZsZizF6oErEK3uROlm76gwcLDxMXGx8XAj6Iku4+oIrUk0h/U0WEjznHQIsqhkcjB3sncxdbC5+Llyczh7k8RACH5BAkKAAAALAAAAAA2ADYAAATMEMhJq7046827/2AojmRpnmVhEIRRoGcxsOzwwuRKswZO7jvfCEgTinS7nhF0mNEGhwsiwUoglpSDzhC1KIiKkWAwEJgQRNYVJNiZSdR0IuSsldJFUJ0wuOMJIW00byNxRHOBZIQjaGlrWBxfQGGQHlNVj5Wam5ydnp9LY2WboosWgiymQqgEqhN7fZCwGbOyO7EXrK44uhqlpIqgwsPExcbHyMe/KMsivSbPdLcntdJP1NPObifRiaPMwcnCzcrbyNXG6MXdxuTi7z4RACH5BAkKAAAALAAAAAA2ADYAAATOEMhJq7046827/2AojmRpnmiqAsIwCKspEDQBx+NQEwOe7z1faFa7CUGt11FYMNAMBVLSSCroaoPocEcVOXcEg+hKC5LAtTHQhKaJiLRu6LsTv13y0IHMOyw9B18Gfn+FhoeIiYoZCAk0CQiLFgpoChlTRwhtBJEWcDZCjm0JF3xmMZtuFqZCqQQXn3koomiksHiZm52SAJRglrwTjY+7wcbHyMnKE5gozW9cJ7E/WCesatUm11tF0tEjzzK4y4nhxtPI28bqwejI5uTxJhEAIfkECQoAAAAsAAAAADYANgAABMsQyEmrvTjrzbv/YCiOZGmeaKoCwjAIqykQNAHH41ATA57vPV9oVrsJQa3XcYlKGmWuJ3InFRFp1Y6uFixtaV3Ql3cahz9X2ymd7ThTb6Z8Tq/b7/i8vGCgGQoacUIFZoAXbEd9OwQGGGZHizWOQJCRBBiIQoo7jZhRSwdmB3oUB4oGo6Sqq6ytMQgJNAkIrAqRCiOCIwiWBLRTRSWxlgkhjyS9NMaUyMlDVMK9xUOfJbyWv3q2i7hLuhWwstlCmavH5syr5erVru44EQAh+QQJCgAAACwAAAAANgA2AAAEzBDISau9OOvNu/9gKI5kaZ5oqgLCMAirKRA0AcfjUBMDnu89X2hWuwlBrddxiUoaZa4ncicVEWnVjq4WLG1pXdCXdxqHP1fbKZ3tOFNvpnxOr9vv+LweE1/2L2x+VBlmS4UYh0KJFoFHjXxRcn97lJWWl5iZcgUGNAYFJJMiBWagQ4MlnTsEBiKLIqs1rkAmsTRWqCSqO61WkRkICTQJCBcHZgdHCrEKxqoGyUIItgTFesK2CXvUt3rcBHvYsdp607bWesurzZXBw+giEQAh+QQJCgAAACwAAAAANgA2AAAEzBDISau9OOvNu/9gKI5kaZ5oqgLCMAirKRA0AcfjUBMDnu89X2hWuwlBrddxiUoaZa4ncicVEWnVjq4WLG1pXdCXdxqHP1fbKZ3tOFNvpnxOr9vv+LweE1/2L2x+VBlmS4UYh0KJFoFHjXxRcn97lJWWl5gSCAk0CQiWCjs0CpQIojWfJZMdnKcECaqDIK41XkAhtDS2XCGtp7Akjx6mrqnBkSKhoqQXBQY0BgVLm53GFQVm0pTPogaVtN+uldw73pQHZgeWB9wG6pkoEQAh+QQJCgAAACwAAAAANgA2AAAEzBDISau9OOvNu/9gKI5kaZ5oqgLCMAirKRA0AcfjUBMDnu89X2hWuwlBrddxiUoaZa4ncicVEWnVjq4WLG1pXdCXdxqHP1fbKZ3tOFNvpnxOr9vvKUSClkDgLQo7NAp/EwiCNX5CcRZ7iAQJi1QXjzVCZpSVBJdAF46IkT5sF4ePiqJRGYGChIWGjn2usrO0tXYFBjQGBbQFZrxQSiK5ggYykyGVJpjJj8udIcQ7xiWjIQdmB2upIwfEBtq2Hoyz1rPM59DlyLTk4u8pEQAh+QQJCgAAACwAAAAANgA2AAAEzBDISau9OOvNu/9gKI5kaZ5oqgLCMAirKRA0AcfjUBMDnu89X2hWuwkRCVoCoWm9hBLFjqaAdhDTGrPkNH6SWUKCu/N2wrWSrhb8oGlqYAicHZOINDMHG97eXXodUlNVVldgS4aKi4yNjo8FBjQGBY8XBWs0A5VQXRmSUwadZRhoUJk8pWGnchegO6JCeDYYB6gDB1aeGQegBrmWwcLDxMXGx1yAKbsis4Egzj9sJ7fSmtStQ6Qy283KKMzIjeHE0cbV59nl3cXk4u8oEQA7)}input[type="checkbox"]{margin:9px 0}.mx-checkbox input[type="checkbox"]{margin-left:0;margin-right:8px;position:static}.form-vertical .form-group.mx-checkbox input[type="checkbox"]{display:block}.form-vertical .form-group.mx-checkbox.label-after input[type="checkbox"]{display:inline-block}.form-horizontal .form-group.no-columns{padding-left:15px;padding-right:15px}.mx-radiobuttons.inline .radio{display:inline-block;margin-right:20px}.mx-radiobuttons .radio input[type="radio"]{position:static;margin-right:8px;margin-left:0}.mx-radiobuttons .radio label{padding-left:0}.alert{margin-top:8px;margin-bottom:10px;white-space:pre-line}.mx-compound-control{display:flex}.mx-compound-control button{margin-left:5px}[dir="rtl"] .mx-compound-control button{margin-left:0;margin-right:5px}.mx-tooltip{margin:10px}.mx-tooltip-content{width:400px;overflow-y:auto}.mx-tooltip-prepare{height:24px;padding:8px;background:transparent url(data:image/gif;base64,R0lGODlhGAAYAMQdAKXZ8nfF64TL7QuX3Fe45zaq4hOb3fL6/fr9/rri9dXt+ZrU8Cym4Umy5cHl9uPz+2K86Oj1/Nzw+rDd9M3q+JDQ72rA6iOi3+34/ECu48jo9x2f3gWV2////wAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUJFNkU4NEZCNEVDMTFFODk3MDBBNUU1RUM4Qjg3QTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUJFNkU4NTBCNEVDMTFFODk3MDBBNUU1RUM4Qjg3QTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFQkU2RTg0REI0RUMxMUU4OTcwMEE1RTVFQzhCODdBNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFQkU2RTg0RUI0RUMxMUU4OTcwMEE1RTVFQzhCODdBNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6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) no-repeat scroll center center}.mx-tooltip-content .table th,.mx-tooltip-content .table td{padding:2px 8px}.mx-tabcontainer-pane{height:100%}.mx-tabcontainer-content.loading{min-height:48px;background:url(data:image/gif;base64,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) no-repeat center center;background-size:32px 32px}.mx-tabcontainer-tabs{margin-bottom:8px}.mx-tabcontainer-tabs li{position:relative}.mx-tabcontainer-indicator{position:absolute;background:#f2dede;border-radius:8px;color:#b94a48;top:0px;right:-5px;width:16px;height:16px;line-height:16px;text-align:center;vertical-align:middle;font-size:10px;font-weight:600;z-index:1}.mx-grid{padding:8px;overflow:hidden}.mx-grid-controlbar,.mx-grid-searchbar{display:flex;justify-content:space-between;flex-wrap:wrap}.mx-grid-controlbar .mx-button,.mx-grid-search-controls .mx-button{margin-bottom:8px}.mx-grid-search-controls .mx-button+.mx-button,.mx-grid-controlbar .mx-button+.mx-button{margin-left:0.3em}[dir="rtl"] .mx-grid-search-controls .mx-button+.mx-button,[dir="rtl"] .mx-grid-controlbar .mx-button+.mx-button{margin-left:0;margin-right:0.3em}.mx-grid-pagingbar,.mx-grid-search-controls{display:flex;white-space:nowrap;align-items:baseline;margin-left:auto}.mx-grid-toolbar,.mx-grid-search-inputs{margin-right:5px;flex:1}[dir="rtl"] .mx-grid-toolbar,[dir="rtl"] .mx-grid-search-inputs{margin-left:5px;margin-right:0px}[dir="rtl"] .mx-grid-pagingbar,[dir="rtl"] .mx-grid-search-controls{margin-left:0px;margin-right:auto}.mx-grid-paging-status{padding:0 8px 5px}.mx-grid-search-item{display:inline-block;vertical-align:top;margin-bottom:8px}.mx-grid-search-label{width:110px;padding:0 5px;text-align:right;display:inline-block;vertical-align:top;overflow:hidden}[dir="rtl"] .mx-grid-search-label{text-align:left}.mx-grid-search-input{width:150px;padding:0 5px;display:inline-block;vertical-align:top}.mx-grid-search-message{flex-basis:100%}.mx-dataview .mx-grid{border:1px solid #ddd;border-radius:3px}.mx-calendar{z-index:1000}.mx-calendar-month-dropdown-options{position:absolute}.mx-calendar,.mx-calendar-month-dropdown{user-select:none}.mx-calendar-month-current{display:inline-block}.mx-calendar-month-spacer{position:relative;height:0px;overflow:hidden;visibility:hidden}.mx-calendar,.mx-calendar-month-dropdown-options{border:1px solid lightgrey;background-color:white}.mx-datagrid tr{cursor:pointer}.mx-datagrid tr.mx-datagrid-row-empty{cursor:default}.mx-datagrid table{width:100%;max-width:100%;table-layout:fixed;margin-bottom:0}.mx-datagrid th,.mx-datagrid td{padding:8px;line-height:1.42857143;vertical-align:bottom;border:1px solid #ddd}.mx-datagrid th{position:relative;border-bottom-width:2px}.mx-datagrid-head-caption{overflow:hidden;white-space:nowrap}.mx-datagrid-sort-icon{float:right;padding-left:5px}[dir="rtl"] .mx-datagrid-sort-icon{float:left;padding:0 5px 0 0}.mx-datagrid-column-resizer{position:absolute;top:0;left:-6px;width:10px;height:100%;cursor:col-resize}[dir="rtl"] .mx-datagrid-column-resizer{left:auto;right:-6px}.mx-datagrid tbody tr:first-child td{border-top:none}.mx-datagrid tbody .selected td{background-color:#eee}.mx-datagrid-data-wrapper{overflow:hidden;white-space:nowrap}.mx-datagrid tbody img{max-width:16px;max-height:16px}.mx-datagrid input,.mx-datagrid select,.mx-datagrid textarea{cursor:auto}.mx-datagrid tfoot th,.mx-datagrid tfoot td{padding:3px 8px}.mx-datagrid tfoot th{border-top:1px solid #ddd}.mx-datagrid.mx-content-loading .mx-content-loader{display:inline-block;width:90%;animation:placeholderGradient 1s linear infinite;border-radius:4px;background:#F5F5F5;background:repeating-linear-gradient(to right, #f5f5f5 0%, #f5f5f5 5%, #F9F9F9 50%, #f5f5f5 95%, #f5f5f5 100%);background-size:200px 100px;animation-fill-mode:both}@keyframes placeholderGradient{0%{background-position:100px 0}100%{background-position:-100px 0}}.mx-datagrid-table-resizing th,.mx-datagrid-table-resizing td{cursor:col-resize !important}.mx-templategrid-content-wrapper{display:table;width:100%;border-collapse:collapse;box-sizing:border-box}.mx-templategrid-row{display:table-row}.mx-templategrid-item{padding:5px;display:table-cell;border:1px solid #ddd;cursor:pointer;box-sizing:border-box}.mx-templategrid-empty{display:table-cell}.mx-templategrid-item.selected{background-color:#f5f5f5}.mx-templategrid-item .mx-table th,.mx-templategrid-item .mx-table td{padding:2px 8px}.mx-scrollcontainer-horizontal{width:100%;display:table;table-layout:fixed}.mx-scrollcontainer-horizontal>div{display:table-cell;vertical-align:top}.mx-scrollcontainer-nested{padding:0}.mx-scrollcontainer-fixed>.mx-scrollcontainer-middle>.mx-scrollcontainer-wrapper,.mx-scrollcontainer-fixed>.mx-scrollcontainer-left>.mx-scrollcontainer-wrapper,.mx-scrollcontainer-fixed>.mx-scrollcontainer-center>.mx-scrollcontainer-wrapper,.mx-scrollcontainer-fixed>.mx-scrollcontainer-right>.mx-scrollcontainer-wrapper{overflow:auto}.mx-scrollcontainer-move-in{transition:left 250ms ease-out}.mx-scrollcontainer-move-out{transition:left 250ms ease-in}.mx-scrollcontainer-shrink .mx-scrollcontainer-toggleable{transition-property:width}.mx-scrollcontainer-toggleable{background-color:#fff}.mx-scrollcontainer-push{position:relative}.mx-scrollcontainer-shrink>.mx-scrollcontainer-toggleable{overflow:hidden}.mx-scrollcontainer-push.mx-scrollcontainer-open>div,.mx-scrollcontainer-slide.mx-scrollcontainer-open>div{pointer-events:none}.mx-scrollcontainer-push.mx-scrollcontainer-open>.mx-scrollcontainer-toggleable,.mx-scrollcontainer-slide.mx-scrollcontainer-open>.mx-scrollcontainer-toggleable{pointer-events:auto}.mx-navbar-item img,.mx-navbar-subitem img{height:16px}.mx-navigationtree .navbar-inner{padding-left:0;padding-right:0}.mx-navigationtree ul{list-style:none}.mx-navigationtree ul li{border-bottom:1px solid #dfe6ea}.mx-navigationtree li:last-child{border-style:none}.mx-navigationtree a{display:block;padding:5px 10px;color:#777;text-shadow:0 1px 0 #fff;text-decoration:none}.mx-navigationtree a.active{color:#FFF;text-shadow:none;background:#3498DB;border-radius:3px}.mx-navigationtree .mx-navigationtree-collapsed ul{display:none}.mx-navigationtree ul{margin:0;padding:0}.mx-navigationtree ul li{padding:5px 0}.mx-navigationtree ul li ul{padding:0;margin-left:10px}.mx-navigationtree ul li ul li{margin-left:8px;padding:5px 0}[dir="rtl"] .mx-navigationtree ul li ul li{margin-left:auto;margin-right:8px}.mx-navigationtree ul li ul li ul li{font-size:10px;padding-top:3px;padding-bottom:3px}.mx-navigationtree ul li ul li ul li img{vertical-align:top}.mx-link img,.mx-button img{height:16px}.mx-link{padding:6px 12px;display:inline-block}.mx-groupbox{margin-bottom:10px}.mx-groupbox-header{margin:0;padding:10px 15px;color:#eee;background:#333;font-size:inherit;line-height:inherit;border-radius:4px 4px 0 0}.mx-groupbox-collapsible>.mx-groupbox-header{cursor:pointer}.mx-groupbox.collapsed>.mx-groupbox-header{border-radius:4px}.mx-groupbox-body{padding:8px;border:1px solid #ddd;border-radius:4px}.mx-groupbox.collapsed>.mx-groupbox-body{display:none}.mx-groupbox-header+.mx-groupbox-body{border-top:none;border-radius:0 0 4px 4px}.mx-groupbox-collapse-icon{float:right}[dir="rtl"] .mx-groupbox-collapse-icon{float:left}.mx-dataview{position:relative}.mx-dataview-controls{padding:19px 20px 12px;background-color:#f5f5f5;border-top:1px solid #eee}.mx-dataview-controls .mx-button{margin-bottom:8px}.mx-dataview-controls .mx-button+.mx-button{margin-left:0.3em}.mx-dataview-message{background:#fff;position:absolute;top:0;right:0;bottom:0;left:0}.mx-dataview-message>div{display:table;width:100%;height:100%}.mx-dataview-message>div>p{display:table-cell;text-align:center;vertical-align:middle}.mx-window-view .mx-window-body{padding:0}.mx-window-view .mx-window-body>.mx-dataview>.mx-dataview-content,.mx-window-view .mx-window-body>.mx-placeholder>.mx-dataview>.mx-dataview-content{padding:15px}.mx-window-view .mx-window-body>.mx-dataview>.mx-dataview-controls,.mx-window-view .mx-window-body>.mx-placeholder>.mx-dataview>.mx-dataview-controls{border-radius:0px 0px 6px 6px}.mx-dialog{position:fixed;left:auto;right:auto;padding:0;width:500px;margin:0}.mx-dialog-header{cursor:move}.mx-dialog-body{overflow:auto}.mx-window{position:fixed;left:auto;right:auto;padding:0;width:600px;margin:0}.mx-window-content{height:100%;overflow:hidden}.mx-window-active .mx-window-header{background-color:#f5f5f5;border-radius:6px 6px 0 0}.mx-window-header{cursor:move}.mx-window-body{overflow:auto}.mx-dropdown-list *{cursor:pointer}.mx-dropdown-list img{width:35px;vertical-align:middle;margin-right:10px}[dir="rtl"] .mx-dropdown-list img{margin-left:10px;margin-right:auto}.mx-dropdown-list{padding:0;list-style:none}.mx-dropdown-list>li{padding:5px 10px 10px;border:1px #ddd;border-style:solid solid none;background-color:#fff}.mx-dropdown-list>li:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.mx-dropdown-list>li:last-child{border-bottom-style:solid;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mx-dropdown-list-striped>li:nth-child(2n+1){background:#f9f9f9}.mx-dropdown-list>li:hover{background:#f5f5f5}.mx-header{position:relative;padding:9px;background:#333;text-align:center}.mx-header-center{display:inline-block;color:#eee;line-height:30px}body[dir="ltr"] .mx-header-left,body[dir="rtl"] .mx-header-right{position:absolute;top:9px;left:9px}body[dir="ltr"] .mx-header-right,body[dir="rtl"] .mx-header-left{position:absolute;top:9px;right:9px}.mx-title{margin-bottom:0px;margin-top:0px}.mx-listview{padding:8px}.mx-listview>ul{padding:0px;list-style:none}.mx-listview-clickable>ul>li{cursor:pointer}.mx-listview-empty{color:#999;text-align:center}.mx-listview .mx-listview-loading{padding:10px;line-height:0;text-align:center}.mx-listview-searchbar{display:flex;margin-bottom:10px}.mx-listview-searchbar>input{width:100%}.mx-listview-searchbar>button{margin-left:5px}[dir="rtl"] .mx-listview-searchbar>button{margin-left:0;margin-right:5px}.mx-listview-selection{display:table-cell;vertical-align:middle;padding:0 15px 0 5px}[dir="rtl"] .mx-listview-selection{padding:0 5px 0 15px}.mx-listview-selectable .mx-listview-content{display:table-cell;vertical-align:middle;width:100%}.mx-listview .selected{background:#def}.mx-listview .mx-table th,.mx-listview .mx-table td{padding:2px}.mx-login .form-control{margin-top:10px}.mx-menubar{padding:8px}.mx-menubar-icon{height:16px}.mx-menubar-more-icon{display:inline-block;width:16px;height:16px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKNJREFUeNpi/P//P8NgAUwMgwiMOmbUMaOOGXXMqGNGHTPYHMOCTfDs2bMeQKoOiI1BXCBuMjY23kFrdYzoTQigRm8gtQWLG0OBBqyhlTpc0dSOIxTraKwOq2PUcWhWp7E6rI65iUPzTRqrw+qYGhyam2isDtMxwES1CUgFAfFxqBCIDkJPbNRWhzU3jRZ6o44ZdcyoY0YdM+qYUccMUscABBgAUXpEjE/Bs/IAAAAASUVORK5CYII=) no-repeat center center;background-size:16px 16px;vertical-align:middle}.mx-navigationlist{padding:8px}.mx-navigationlist li:hover,.mx-navigationlist li:focus,.mx-navigationlist li.active{color:#FFF;background-color:#3498DB}.mx-navigationlist *{cursor:pointer}.mx-navigationlist .table th,.mx-navigationlist .table td{padding:2px}.mx-progress{position:fixed;top:30%;left:0;right:0;margin:auto;width:250px;max-width:90%;background:#333;opacity:0.8;z-index:5000;border-radius:4px;padding:20px 15px;transition:opacity 0.4s ease-in-out}.mx-progress-hidden{opacity:0}.mx-progress-message{color:#fff;text-align:center;margin-bottom:15px}.mx-progress-empty .mx-progress-message{display:none}.mx-progress-indicator{width:70px;height:10px;margin:auto;background:url(data:image/gif;base64,R0lGODlhRgAKAMQAADo6OoGBgVpaWnBwcI6OjqysrFJSUmRkZD8/P0xMTM7Ozqenp1hYWF1dXUhISHJycoeHh0tLS1dXV6ioqM/Pz2VlZT09PTc3N0BAQIWFhdbW1lxcXK2trUFBQTMzMwAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQEDAAAACwAAAAARgAKAAAFk6DnXRaGWZeorqSJrnB7prAqv7V40x7Q/UBAzgf8CWvE4hGWDA6LxhEUyNNNf1XpNXu5drhektcCs4zL55X5SlaPMV4MDH6Vr+hTuwoP1Yv4RSZxc4N3hXuHf3FrU20qjFCOIpBFkh6UQJaYPyhhMZ4soDaiVls9U0srTVFIqE9QqSqrHUs7OTolM7cjuTg5trfAIQAh+QQEDAAAACwAAAAACgAKAAAFJKDnHYWiFIfoQVrrQqMra+TslnZr5trJo7wUawYTVQoUCkoUAgAh+QQEDAAAACwAAAAAGQAKAAAFWaDnMcSyEJKorkehKMWhPlxtP6sKaXwPeRKbkMPIHXpIzYEwtBFyhWSvsGjWFjmFlKeoWrEr7VbBtD5X0W2BYSUat0oPbYjLeXbJn4g0mRCKdiIVBRQUMSIhACH5BAQMAAAALAAAAAAoAAoAAAWKoOclQxAMkaiuDLEshLTOR6EoxaE2We83M9GDQyw+gh6IZsmEeCK+aCYxkxSvHAaNydUcBlLfYEbAFgmzQpdZCIR7gdnCTFzMFOulwv2Or+Z0dit4eQpgb2MrZXRoK2p5BQlvUzMMdFlbeTo8UkBBQ1hHQUpdTiIkJgNUSB4tExMEWqwVBRQUOSIhACH5BAQMAAAALAAAAAA3AAoAAAW8oOchhiAYiKiuyRAEQ7TODLEshDSvR6EohYPKsSkaHTtPI8NsNpIPjnT6SEI02CxkZOxuUqtIc5xJzCTTNIcxO2TfmoPBazTMBuTmYEZQTwkzBXBZBQJ0RQIzAXlMATMLflILMwqDWAqGh4kri4yOK5CRkyuVlgpzh3YreIx7K32RgCuClgUIh18zCYxlNJFrbZZxHkReSDtLZE87UWpVO1dwWyIYJSdgSS0vA2ZJHjUTEwRs3hUFFBRBIiEAIfkEBAwAAAAsAAAAAEYACgAABfCg510WhlmXqK6IIQgGss7JEARDNK8MsSwEyU51KCgUhYMK0Gk6AUPHZkp1DBuZrLYxfHC+4McQoimbISOnupNiUd8b2SqirWcSMwl4z2HMDmaBGgcWa04WMwZwVAYzA3ZaAzMEfGAEMwWCZgUYhk0YMwKLUwIzAZBZATMLlV8LMwqaZQqdnqAroqOlK6eoqiusra8rsbIKhZ6IK4qjjSuPqJIrlK2XK5myBReebDMIo3E0qHczDK19f7KDHkxrUDtScFY7WHZcO158YjtkgmgiJEygGCICgwsYcobUuDEAD8EeEyYQ8EOwQgEKFJKICAEAIfkEBAwAAAAsDwAAADcACgAABbqg510WhlmXqK6IIQgGss7JEARDNK8MsSwEiQrQKRoBO49jw2w6ko2MdNpIPjjY7GNk7HZSrKZ4I1tFpuhMYibJujkMi9domRnGTcNskJ4OZgRvWQQYc0UYMwJ4TAIzAX1SATMLglgLhYaIK4qLjSuPkJIrlJULcoZ1K3eLeit8kH8rgZUEF4ZfMwiLZDSQajMMlXAeRF5IO0tjTztRaVU7V29bIiQmKEkiGC4wZUk1NwNr2D0TEwQMIiEAIfkEBAwAAAAsHgAAACgACgAABYeg510WhlmXqK6IIQgGss7JEARDpAJd7wMzkWNDLDqCnkZmyWyMfNBOilWsbmSrCHObSViiPsvMYC0aZgMuc4AB9zAzQZkomAXUy0DbDV/J53Urd3gBX25iK2RzZytpeAMXblIzCHNXNHhdHjxRQEFDVkdBSlxOIiQmKEgiGC4wWEg1NwMJIiEAIfkEBAwAAAAsLQAAABkACgAABVWg510WhlmXqK6IIQgGogJdbQOr6mx874y2YCfF6hk3CIvQZskZjj0DZlnD5ARQnmBKta6wWYGS2lw9s4YLdZhDZJEemhCX8+yOPxHJhKqrMC4wMh4hACH5BAQMAAAALDwAAAAKAAoAAAUioOddFoZZl+gBXesCoyt35OyWdmvm3cmjvBRrBhORTChRCAA7)}.mx-reload-notification{position:fixed;z-index:1001;top:0;width:100%;padding:1rem;border:1px solid #048acd;background-color:#0494dc;box-shadow:0 5px 20px rgba(1,37,55,0.16);color:white;text-align:center;font-size:14px}.mx-resizer-n,.mx-resizer-s{position:absolute;left:0;width:100%;height:10px}.mx-resizer-n{top:-5px;cursor:n-resize}.mx-resizer-s{bottom:-5px;cursor:s-resize}.mx-resizer-e,.mx-resizer-w{position:absolute;top:0;width:10px;height:100%}.mx-resizer-e{right:-5px;cursor:e-resize}.mx-resizer-w{left:-5px;cursor:w-resize}.mx-resizer-nw,.mx-resizer-ne,.mx-resizer-sw,.mx-resizer-se{position:absolute;width:20px;height:20px}.mx-resizer-nw,.mx-resizer-ne{top:-5px}.mx-resizer-sw,.mx-resizer-se{bottom:-5px}.mx-resizer-nw,.mx-resizer-sw{left:-5px}.mx-resizer-ne,.mx-resizer-se{right:-5px}.mx-resizer-nw{cursor:nw-resize}.mx-resizer-ne{cursor:ne-resize}.mx-resizer-sw{cursor:sw-resize}.mx-resizer-se{cursor:se-resize}.mx-text{white-space:pre-line}.mx-textarea textarea{resize:none;overflow-y:hidden}.mx-textarea .mx-textarea-noresize{height:auto;resize:vertical;overflow-y:auto}.mx-textarea .mx-textarea-counter{font-size:smaller}.mx-textarea .form-control-static,.mx-textarea .form-group div[class*='textBox']>.control-label,.form-group .mx-textarea div[class*='textBox']>.control-label,.mx-textarea .form-group div[class*='textArea']>.control-label,.form-group .mx-textarea div[class*='textArea']>.control-label,.mx-textarea .form-group div[class*='datePicker']>.control-label,.form-group .mx-textarea div[class*='datePicker']>.control-label{white-space:pre-line}.mx-underlay{position:fixed;top:0;width:100%;height:100%;z-index:1000;opacity:0.5;background-color:#333}.mx-imagezoom{position:absolute;display:table;width:100%;height:100%;background-color:#999}.mx-imagezoom-wrapper{display:table-cell;text-align:center;vertical-align:middle}.mx-imagezoom-image{max-width:none}.mx-dropdown li{padding:3px 20px;cursor:pointer}.mx-dropdown label{padding:0;color:#333;white-space:nowrap;cursor:pointer}.mx-dropdown input{margin:0;vertical-align:middle;cursor:pointer}.mx-dropdown .selected{background:#f8f8f8}.mx-demouserswitcher{position:fixed;top:0;right:0;width:360px;height:100%;z-index:20000;box-shadow:-1px 0 5px rgba(28,59,86,0.2)}.mx-demouserswitcher-content{padding:80px 40px 20px;height:100%;color:#387ea2;font-size:14px;overflow:auto;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOgAAABgCAYAAAAXSj7NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0MzkwOTREMDQ2NEYxMUU0QTQ4MUI5NTNGMUQ3QzE5NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0MzkwOTREMTQ2NEYxMUU0QTQ4MUI5NTNGMUQ3QzE5NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc0REMyMUZGNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc0REMyMjAwNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g1tRlwAAEFFJREFUeNrsnYl3VcUdx2du8rJDIJCwCgjVarVosVXc6jnWnnpIQlJWl6OCrPYfkh1ciuwlLFo5tT3lVJRVEUUERQQJS4CQQEjCS970+52Z93ITDGuS98j7/Tjz7r2/e999ZO587m9+M7+Z0cNXbsqKaTNeKVVolKmOKbX39EsVKl1EV62IKK3wB5uHcYg/33yC4x2m/E2jRESSLMGJl8uvYrsHiduhSA+mUwaYihlRM3HGOuzuZX4g/Rlpit68NFuKh0jSDYgxzlAMW7WpCBb06RjNiDYHzk6vPJZ2mbFp+a+JLCxoHrbnoVptymedlWIiknRAKUNXVQ0DoOMAqIJ2X830ypPpB+myQl/lHY3DKLZbTfnsL6WoiCQdUMrgVVVjAehIaGMxZXaen/7Xc2mZMZuXVmLzqFI2f/YB2o9M2eyoFBmRpAJKKVm98RFoRwBQFsgdgLQ+TSEdB0BLsZsBQGuwv86UzTkjxUYkqYBSildvHAdAh2G3CRZ1R+20SQ3pCemSgdiUAdBRALQF+9uQdgNUaeUVSR6glAGr//E4NoMAaAN80x110yY1pW1GbVlCv/R3/vAQ9jeZsrlXpAiJdKcENzjP7hdU7VQ+0hN91qyPpGtGwf+swobdMZeQHkD6m96y6H4pQiJJs6DeikZgQR+HBS1ClbfWaPPZ5alTWtPXki4usFVeZR5wCvafmo9N6byrUpxEehxQSv81G3IAKCA1hQD0HPZ3XUljSB2oi57B5nkAilqIuYD9jYD0uBQpkR4HlFK4ZkMeAB0PQPMB6NlWZXY3T50aS3NIiwHoiwB0jHL9MbuQPhFrKtLjgFLgg+YD0PGgMg+AnsF2TzTNIbWZuHUhqrzq9/6w1jYglc7/UYqXSI8CSilYu44W9CkAymrvKfine1unTDMC6cIh2PwJ6VcAlPmxF9b1X2bC/CYpZiI9BiglD5C2urjdbABaDdU+gTRsTY2zptq2+P4TkH4jOSPSY4BSsteuLQCgTwPQLBxWwz/dZ6ZMF0gtpAtKsHkBgMa7YY4A2g/NhLdqJXdEegRQSoSQasPWzAgAPUVLCkhjkq0+cz9c8AQ2TyL1Uy5scjvSDoDaKrkj0u2AUjLWrWG/4FMAlOMnz+COe8zklwTSNkiZLxMA6CNexS6ZjwDpEckdkW4H1EOaD0Cfwm4O7sjxk4RUrEQ7UN++jy8ypHu96jukjwHqBckdkW4F1N5o3WqGA47HHfOUDQ80u83klwXSa0F9Fps/IPVVdryp+sxXe6W1V6T7AE1Aqg39rnwfXbMLkMoYymshzcXmL8qON7XCoPv/IO0FqOIeiHQPoPaG61flOQthaCHq8As7zaRXmiWrfxHUUb7aG2/t5cCEbeKfinQboB7SHN8X2B+/wHGknwNSGZrVOai/xeYxpFFe9ZNiyOCEtyS2VwDtnq5Lvf6DLFvotOGAZ/hXBpC+ekmy/Ib+KWEt8arDSP8GqKcldwTQ7oA0E7/AQc6DfT/gbkB6XrL9upBq5UIGCWqhckH4jET6L0CtkRwSQLv+Rzas5Nw+nD4lpoLYF6bytWrJ+huCCjdBvaDagvA9qBqgzhdQBdCuhvTv7KgfAUD5gwcB6VHJ/psClY1tz3kf1T4yb1G3A1SZs1cA7VJIxwLQkd4gHHWgvi7xu7cEqn4sZFHpo34KUKUxSQDtoh/c+N4QV22zv3tKafWFqXhdAhpuGtQFBPWPoaovs5KA/g/piCmdLy88AfSOIWXwOAMasgDoRezvMhVvSF/prYHKYIenke4DoIO8mlXenTj7lSmdJwEiAuidQPpuvvWrNFsqDcPcdgLSenkkt5GXWxc8Y0FVyrsPmn3OXAxqF0CVri0B9LYhpQXl8gq0AC2KY0orZsjM7bcPKhvixmJvjFfRdTio2L0lE5oJoLf9n6h6h32lw/1UId8C0h/k0dwJqAtpSTnp+EMhLau/u5EOmNK5EpgvgN4ypHjzG1dF0+ok9vebiTOl8ejOQGWgA0fOjMDRCK++Cp/1ALZfmrK5JySXBNBbgHTFYMURHlpFAGidrZpNnNkoj6krYF3EyCSm+1XikWuuXMelFfebsjniqwqgNwVpHgBl5FF/+7ZXZo+Z+KaEB3YdqMUA9FFvVe/xag5xo1vxFXSHZJlFAfT6/6lNKzIBJgvREO+XHgSkEnnU1fm8ZTGHuT3SwVdlFfgQfVWko6Z8trgZAmhnoC5H4TEjvF9abf3S8lkt8ti6HFTOmzRW2UWh9Ji2KjAHkutvlWsJPoa8F1gF0I6QLhtiC49WWQC0wfql5bPEX+o2WJf0A6D0VUcrO3+Sjp9qxP53OEdgf0CNRl6UAmgC0lyUE1rTYmX79swBVL2kBbK7833zEuS3/o1yA8kdrK64wEfVdDkYC3zYTJwpL8x0BrStwCylX3qPLyXHUV6+NmXiI/VQ3hfh80Fk/RhnXROWlQ/jFI6PYI8NTT+bihkyr1I6AuoLCnxSwypYgDJyGft7TdkcCRHs6RqN0mxgYvINTAnr2oz9Y8q1Ch81FW+ckxxLI0B91avA+6UDUCr4tv4GkB6Tx5kMWJdrVwW2jUts0BsRsq684hL0P9kajwO3xlS+JiNuejOgoQYNxvHG+/I4bw873GVtzmQ+k6oVuT4WeLSHdWAoMIIfDOQ/oWLBz6wOQ1ctsz72UkAdpIs5lQobMjhFSCOAZQibVKtSBth3+3rLOsqHG7oJ0WJB/ArWgGo8rKdwLV+0Z2Q+5V4CqIc0R7l+vEHeETqKl/UhUzpXGpBS7VltfI/DDIcD0OHKNvjpUaGzcT825sMQAas+Ax0D/WsCpevSbZnLXgFoCNRwwD2b/r8ApHWCRQo/sw0raUqLLbRKDwWMjMce1ubHJqBlq+BVD2oNdBfwxQsZSnMFgwtXpk5pEkDvCkgXcQTHQ64BiW9iw766703pPGmYuFue4foPMqzvaqdr1SWAkdXiYoDZz4NqoSXZGR7kDGMHqddCV09Li/2LgdFs3edxPa66cnZ65V0RXPHkiu2Z+LvztVF9eh2giYe8dZGbRdC9fi8qNiCVzpPumLtYMtatyfKgMuC/CDAWAdAixa3ROQ5eDzC3Rsctb9weN0F3OXAhjA2EFse0vE3aTq6um3CuURtN/zeK/WbtfOSr0MVC92o+9OqL7fp6H35/W4D/U7ZO/LoOsM0CZNhq6DlCS0ewzcV1OdDx/5uDq7Gv8qDLg47V/wJt21O0nb+x1wLqIUXVyTyg7AK6dsQGV7qGNZ0vHem9TPqsWc/C3Q9QFaLQsxZVCPg4wVpfHPfVdkEvlUFoA1911iGI45+BrVbGwVYJtPW1sFtd+F60BSFA7dZC1naX0HUd7hfSaRsthxeIUfX6+cWf27PGfxodP8JWu72Y1btziWvtOWNLffw64//FdHw/Zr8Ti9/xmu+07ceviYX0Hfdjfr8V+63t9PG/MP6yMSrxVzNlX/bW1OpoRb9ULbl1117byXHiCYZfZp3pO57roLvz1861KnMT14R15gbXmc7upa/z3c7OdaJva8W9wbXtfFB1nSquugkLmgNdQUCLpTQtVW7gLG+ut1qwaLBuRsPaqYjdV5pfhSXUGaF70ZIHHQBl8bwaArRVW8tLBDQtNMMjo9ZSG1psZ7lxdaNm74NRsOiaseaXvTW3xTkzLV6vzQX7ASlns2fkC6tEz6rMxu+RB0dUNEdaetNHmny6ayRIm0cTzatB+lTZiBb7kuMseM+pSFOxlFsRATR1QN2Pzx3KdY67VcEzm8apzOZsKQ4iKdeO0psbiW74x3+4gFVehqTR54CPYDjW8biZ8JZ0yYgIoCkCKWdo54iMIb41ohbpa0B6UYqHiACaOqByXl5a0/ianBwQ/i1AleB7EQE0dUB9mzG9I+MeK9J3ivPxSLVXRABNGUg53vRBZUPNrLDv9KCscC0igKYWqEOVnYvH9p1SznpQZQ4eEQE0hUBlnykjkfK8f8oZAg4DVBloLCKApgikjLp6SCVCBrkam/oe6UeAKlNQigigKQIqA7DZfzrEq2hFj9CqAlQJwhcRQFME1BLvn5Z4FccjssX3pLT4igigqQMqG5LYLTPQqy55UE8LqCICaOqASt+U8+wM8Kp6X/U9JaCKCKCpA+po758WtVlUfdiBOl8yW0QATRFQ6Z8OdaDqeNWXrb7VAFUak0QE0NQBVQ8JVX25YvgPyqjjpnS+DBYXEUBTA9QFI71FdY1JhquHqx+ZAKpM0iwigKYIqIR0BACNz+RAK3qCy/mZ0nkNkkMiAmgqZPzWBQR0lEoE5NsZzxiMz3U3awCrZJKIAJoCoDIy6V6/bklcLnlQTwJU8VMFUJHkg7qQsb7soqFljXfRRH319ydTOvey5JIAKpIasDLgYbiHVflumvNIx7j6lymbK900AqhICoBaqNqW7XNibHA+p2M5AVDFqgqgIskHdZFfxVoNBqADQ2dqPazVpmyOdNUIoCJJf2BbFtE/vcf5qbrAq9mQdNr7q+dM2Wx5qAKoSPJhXUw/lf2qg0JaLm1QDUt70pTPlqlDBVCRFAA111tVVH/1AO+rUhj4cBI6wDpL/FUBVCT5sC7hUovDuH6mcssuqlCw/ikmwCrrpAqgIkl/uJuXDFRuOXnCWhA602BhNYorvtWZiW9KZgmgIsmFdSlh9eNU7cK28Wow16LkdKJnFEMMJ86UyCUBVCS5sC4rsrAaOwSuMLSILgMgzuH4DM6dNRUzrkhuCaAiySwAm5ah6qvZClyswpFLbY1MNThmEP95U/GG9LUKoCLJg3U544EBqy7x1jU3AaxD9qIH9jyOak3l61IdFkBFklY4qlb0dVbVdt2E+1qJa8wBqxkjfIHJVL4mE3gLoCLJgfUdrsZO33WAbRVOhBwm/FcUpKAe2NZ6S4utvmwmvSKZJ4CK9HjB2fguge3nrSvBLQGgrpmp7aqoA9Va2jogXGcmv9wouSeAivQ4sO/BlAZ9AWh/HPb38BZ0qBZTohZWZ2XrsV8PfYOZMl2G0AmgIj1auDasjIRg7QcQ6dPmhqrFYX/2CmGFDWZI4qVA6UsENzp1akwAFRHpqQK3/oMsfHKcK1NfGzRhVJ84rIG/LnDgmsAFUjRkuLVvGjKMjYJqgL6xbtrkqAAqItLdhXDdanKZj70+gQtJxFb3IbiBBzfDXwtAPcBW3xK4eYabAqO5bfRAN2u36lwz9M2nX6q4K63w+BXbAwFUJGUlsnatBnA5AC4/wwKs8gEot3mBqypHEha3PbiJSjT1gZvbCdBqzkUchY7HUW3XeNVRf75FG81uIuOONe8YZfUb32vtcO+WQ6++2A6ch9/fxp/M1CZ+lf3M0O5rEfwmVRFtT+lMfGTaY6PpBmTioiyv53GWMjpb2/MCqMhdKoVrNmQ6UFUuAMixWwduFgp3No5zoM8KPFtxbOMw6w7Vav1LkJvQ90J63ckLoQOg7V4Uv6Tv7D4AlPsxAVSk18vQVVW0SrBIOstbs4i3ZhFvhePWjDXpwB3rwFo5o7C1+jBEsJTWIoZ1xlnhdoC2atfx1ILftFt3bPVxq22tubfaUa+/CkCbd874Y/T/AgwA2Mi7HdAe+ikAAAAASUVORK5CYII=) top right no-repeat #1b3149;background-attachment:local}.mx-demouserswitcher ul{padding:0;margin-top:25px;list-style-type:none;border-top:1px solid #496076}.mx-demouserswitcher a{display:block;padding:10px 0;color:#387ea2;border-bottom:1px solid #496076}.mx-demouserswitcher h2{margin:20px 0 5px;color:#5bc4fe;font-size:28px}.mx-demouserswitcher h3{margin:0 0 2px;color:#5bc4fe;font-size:18px;font-weight:normal;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mx-demouserswitcher .active h3{color:#11efdb}.mx-demouserswitcher p{margin-bottom:0}.mx-demouserswitcher-toggle{position:absolute;top:25%;left:-35px;width:35px;height:38px;margin-top:-40px;cursor:pointer;border-top-left-radius:3px;border-bottom-left-radius:3px;box-shadow:-1px 0 5px rgba(28,59,86,0.2);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NERDMjFGRDQ2NEMxMUU0QTQ4MUI5NTNGMUQ3QzE5NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NERDMjFGRTQ2NEMxMUU0QTQ4MUI5NTNGMUQ3QzE5NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc0REMyMUZCNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc0REMyMUZDNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1ZovNAAAAWdJREFUeNqM1M0rRFEYx/E7Y5qIQpOUbIiymQWysBgvJVJK2VgryZQtKSULZelPsB0LZaNZjJUNK1FskJqUvCS3NAsZc3zP9NziOOfeeepTc8/c8+vc8xZTSnmOakEGKdzgDBXXy54OMsSwjpL6W9cYsrxfZWvcUu7y0VdLUCc+VXgd2oLixpfOIOmF17TtHTOozYuupCxAaNB9DUEfeDUbE8bzEXxZerP00l8hh3LUiHTIMr6N9j2ksYoihv/1deyLSVzKKm1jEW+WfZV2Lf8gskjIcwcWpOM++pHCFPLosgWtoCyd7jCPOjzhGHHLyDPY1achaJhDxRj6rBwJXUuoN0IG8IIv7OiGBjxadvAITuT3rex6c0SbKASflnUcBT3JTThAjyWkGUVsBEEFR5CerzXpNIacrFIrJnCBB3muBvkhB1TP27hM/Lvx3zl6gxHqu6c74kiU8IxGjKJdLrrT3xfdjwADAJaMxP2bvD2BAAAAAElFTkSuQmCC) center center no-repeat #1b3149}.mx-master-detail-screen{top:0;left:0;overflow:auto;width:100%;height:100%;position:absolute;background-color:white;will-change:transform}.mx-master-detail-screen .mx-master-detail-details{padding:15px}.mx-master-detail-screen-header{position:relative;overflow:auto;border-bottom:1px solid #ccc;background-color:#f7f7f7}.mx-master-detail-screen-header-caption{text-align:center;font-size:17px;line-height:24px;font-weight:600}.mx-master-detail-screen-header-close{position:absolute;left:0;top:0;height:100%;width:50px;border:none;background:transparent;color:#007aff}body[dir="rtl"] .mx-master-detail-screen-header-close{right:0;left:auto}.mx-master-detail-screen-header-close::before{content:"\2039";font-size:52px;line-height:24px}.mx-master-detail-content-fix{height:100vh;overflow:hidden}.mx-master-detail-content-hidden{transform:translateX(-200%)}body[dir="rtl"] .mx-master-detail-content-hidden{transform:translateX(200%)}.reportingReport{padding:5px;border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.reportingReportParameter th{text-align:right}.reportingDateRange table{width:100%;table-layout:fixed}.reportingDateRange th{padding:5px;text-align:right;background-color:#eee}.reportingDateRange td{padding:5px}.mx-reportmatrix table{width:100%;max-width:100%;table-layout:fixed;margin-bottom:0}.mx-reportmatrix th,.mx-reportmatrix td{padding:8px;line-height:1.42857143;vertical-align:bottom;border:1px solid #ddd}.mx-reportmatrix tbody tr:first-child td{border-top:none}.mx-reportmatrix tbody tr:nth-child(2n+1) td{background-color:#f9f9f9}.mx-reportmatrix tbody img{max-width:16px;max-height:16px}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.dijitInline{zoom:1;display:inline;vertical-align:auto}.dj_ie6 .dijitComboBox .dijitInputContainer,.dijitInputContainer{zoom:1}.dijitRight{display:inline}.dijitButtonNode{vertical-align:auto}.dijitTextBox{overflow:hidden}.dijitPlaceHolder{filter:""}.dijitValidationTextBoxError input.dijitValidationInner,.dijitSelect input,.dijitTextBox input.dijitArrowButtonInner{text-indent:0 !important;letter-spacing:-5em !important;text-align:right !important}.dj_a11y input.dijitValidationInner,.dj_a11y input.dijitArrowButtonInner{text-align:left !important}.dijitSpinner .dijitSpinnerButtonContainer .dijitUpArrowButton{bottom:50%}.dijitTabContainerTop-tabs .dijitTab,.dijitTabContainerBottom-tabs .dijitTab{zoom:1;display:inline}.dojoDndHorizontal .dojoDndItem{display:inline}}@keyframes slideInUp{from{visibility:visible;transform:translate3d(0, 100%, 0)}to{transform:translate3d(0, 0, 0)}}.animated{animation-duration:0.4s;animation-fill-mode:both}.slideInUp{animation-name:slideInUp}@keyframes slideInDown{from{visibility:visible;transform:translate3d(0, -100%, 0)}to{transform:translate3d(0, 0, 0)}}.slideInDown{animation-name:slideInDown}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{animation-name:fadeIn}.flexcontainer{display:flex;overflow:hidden;flex:1;flex-direction:row}.flexcontainer .flexitem{margin-right:15px}.flexcontainer .flexitem:last-child{margin-right:0}.flexcontainer .flexitem-main{overflow:hidden;flex:1}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-center{align-items:center !important;justify-content:center !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.justify-content-stretch{justify-content:stretch !important}.align-children-start{align-items:flex-start !important}.align-children-end{align-items:flex-end !important}.align-children-center{align-items:center !important}.align-children-baseline{align-items:baseline !important}.align-children-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.flexitem-1{flex:1 1 1%}.flexitem-2{flex:2 2 1%}.flexitem-3{flex:3 3 1%}.flexitem-4{flex:4 4 1%}.flexitem-5{flex:5 5 1%}.flexitem-6{flex:6 6 1%}.flexitem-7{flex:7 7 1%}.flexitem-8{flex:8 8 1%}.flexitem-9{flex:9 9 1%}.flexitem-10{flex:10 10 1%}.flexitem-11{flex:11 11 1%}.flexitem-12{flex:12 12 1%}.spacing-inner-none{padding:0 !important}.spacing-inner-top-none{padding-top:0 !important}.spacing-inner-right-none{padding-right:0 !important}.spacing-inner-bottom-none{padding-bottom:0 !important}.spacing-inner-left-none{padding-left:0 !important}.spacing-outer-none{margin:0 !important}.spacing-outer-top-none{margin-top:0 !important}.spacing-outer-right-none{margin-right:0 !important}.spacing-outer-bottom-none{margin-bottom:0 !important}.spacing-outer-left-none{margin-left:0 !important}.spacing-inner{padding:5px !important}.spacing-inner-top{padding-top:5px !important}.spacing-inner-right{padding-right:5px !important}.spacing-inner-bottom{padding-bottom:5px !important}.spacing-inner-left{padding-left:5px !important}.spacing-outer{margin:5px !important}.spacing-outer-top{margin-top:5px !important}.spacing-outer-right{margin-right:5px !important}.spacing-outer-bottom{margin-bottom:5px !important}.spacing-outer-left{margin-left:5px !important}@media (max-width: 767px){.spacing-inner-medium{padding:15px !important}}@media (min-width: 768px){.spacing-inner-medium{padding:15px !important}}@media (min-width: 992px){.spacing-inner-medium{padding:15px !important}}@media (max-width: 767px){.spacing-inner-top-medium{padding-top:15px !important}}@media (min-width: 768px){.spacing-inner-top-medium{padding-top:15px !important}}@media (min-width: 992px){.spacing-inner-top-medium{padding-top:15px !important}}@media (max-width: 767px){.spacing-inner-right-medium{padding-right:15px !important}}@media (min-width: 768px){.spacing-inner-right-medium{padding-right:15px !important}}@media (min-width: 992px){.spacing-inner-right-medium{padding-right:15px !important}}@media (max-width: 767px){.spacing-inner-bottom-medium{padding-bottom:15px !important}}@media (min-width: 768px){.spacing-inner-bottom-medium{padding-bottom:15px !important}}@media (min-width: 992px){.spacing-inner-bottom-medium{padding-bottom:15px !important}}@media (max-width: 767px){.spacing-inner-left-medium{padding-left:15px !important}}@media (min-width: 768px){.spacing-inner-left-medium{padding-left:15px !important}}@media (min-width: 992px){.spacing-inner-left-medium{padding-left:15px !important}}@media (max-width: 767px){.spacing-outer-medium{margin:15px !important}}@media (min-width: 768px){.spacing-outer-medium{margin:15px !important}}@media (min-width: 992px){.spacing-outer-medium{margin:15px !important}}@media (max-width: 767px){.spacing-outer-top-medium{margin-top:15px !important}}@media (min-width: 768px){.spacing-outer-top-medium{margin-top:15px !important}}@media (min-width: 992px){.spacing-outer-top-medium{margin-top:15px !important}}@media (max-width: 767px){.spacing-outer-right-medium{margin-right:15px !important}}@media (min-width: 768px){.spacing-outer-right-medium{margin-right:15px !important}}@media (min-width: 992px){.spacing-outer-right-medium{margin-right:15px !important}}@media (max-width: 767px){.spacing-outer-bottom-medium{margin-bottom:15px !important}}@media (min-width: 768px){.spacing-outer-bottom-medium{margin-bottom:15px !important}}@media (min-width: 992px){.spacing-outer-bottom-medium{margin-bottom:15px !important}}@media (max-width: 767px){.spacing-outer-left-medium{margin-left:15px !important}}@media (min-width: 768px){.spacing-outer-left-medium{margin-left:15px !important}}@media (min-width: 992px){.spacing-outer-left-medium{margin-left:15px !important}}@media (max-width: 767px){.spacing-inner-large{padding:15px !important}}@media (min-width: 768px){.spacing-inner-large{padding:30px !important}}@media (min-width: 992px){.spacing-inner-large{padding:30px !important}}@media (max-width: 767px){.spacing-inner-top-large{padding-top:15px !important}}@media (min-width: 768px){.spacing-inner-top-large{padding-top:30px !important}}@media (min-width: 992px){.spacing-inner-top-large{padding-top:30px !important}}@media (max-width: 767px){.spacing-inner-right-large{padding-right:15px !important}}@media (min-width: 768px){.spacing-inner-right-large{padding-right:30px !important}}@media (min-width: 992px){.spacing-inner-right-large{padding-right:30px !important}}@media (max-width: 767px){.spacing-inner-bottom-large{padding-bottom:15px !important}}@media (min-width: 768px){.spacing-inner-bottom-large{padding-bottom:30px !important}}@media (min-width: 992px){.spacing-inner-bottom-large{padding-bottom:30px !important}}@media (max-width: 767px){.spacing-inner-left-large{padding-left:15px !important}}@media (min-width: 768px){.spacing-inner-left-large{padding-left:30px !important}}@media (min-width: 992px){.spacing-inner-left-large{padding-left:30px !important}}@media (max-width: 767px){.spacing-outer-large{margin:15px !important}}@media (min-width: 768px){.spacing-outer-large{margin:30px !important}}@media (min-width: 992px){.spacing-outer-large{margin:30px !important}}@media (max-width: 767px){.spacing-outer-top-large{margin-top:15px !important}}@media (min-width: 768px){.spacing-outer-top-large{margin-top:30px !important}}@media (min-width: 992px){.spacing-outer-top-large{margin-top:30px !important}}@media (max-width: 767px){.spacing-outer-right-large{margin-right:15px !important}}@media (min-width: 768px){.spacing-outer-right-large{margin-right:30px !important}}@media (min-width: 992px){.spacing-outer-right-large{margin-right:30px !important}}@media (max-width: 767px){.spacing-outer-bottom-large{margin-bottom:15px !important}}@media (min-width: 768px){.spacing-outer-bottom-large{margin-bottom:30px !important}}@media (min-width: 992px){.spacing-outer-bottom-large{margin-bottom:30px !important}}@media (max-width: 767px){.spacing-outer-left-large{margin-left:15px !important}}@media (min-width: 768px){.spacing-outer-left-large{margin-left:30px !important}}@media (min-width: 992px){.spacing-outer-left-large{margin-left:30px !important}}@media (max-width: 767px){.spacing-inner-layout{padding:15px 15px 15px 15px !important}}@media (min-width: 768px){.spacing-inner-layout{padding:30px 30px 30px 30px !important}}@media (min-width: 992px){.spacing-inner-layout{padding:30px 30px 30px 30px !important}}@media (max-width: 767px){.spacing-inner-top-layout{padding-top:15px !important}}@media (min-width: 768px){.spacing-inner-top-layout{padding-top:30px !important}}@media (min-width: 992px){.spacing-inner-top-layout{padding-top:30px !important}}@media (max-width: 767px){.spacing-inner-right-layout{padding-right:15px !important}}@media (min-width: 768px){.spacing-inner-right-layout{padding-right:30px !important}}@media (min-width: 992px){.spacing-inner-right-layout{padding-right:30px !important}}@media (max-width: 767px){.spacing-inner-bottom-layout{padding-bottom:15px !important}}@media (min-width: 768px){.spacing-inner-bottom-layout{padding-bottom:30px !important}}@media (min-width: 992px){.spacing-inner-bottom-layout{padding-bottom:30px !important}}@media (max-width: 767px){.spacing-inner-left-layout{padding-left:15px !important}}@media (min-width: 768px){.spacing-inner-left-layout{padding-left:30px !important}}@media (min-width: 992px){.spacing-inner-left-layout{padding-left:30px !important}}@media (max-width: 767px){.spacing-outer-layout{margin:15px 15px 15px 15px !important}}@media (min-width: 768px){.spacing-outer-layout{margin:30px 30px 30px 30px !important}}@media (min-width: 992px){.spacing-outer-layout{margin:30px 30px 30px 30px !important}}@media (max-width: 767px){.spacing-outer-top-layout{margin-top:15px !important}}@media (min-width: 768px){.spacing-outer-top-layout{margin-top:30px !important}}@media (min-width: 992px){.spacing-outer-top-layout{margin-top:30px !important}}@media (max-width: 767px){.spacing-outer-right-layout{margin-right:15px !important}}@media (min-width: 768px){.spacing-outer-right-layout{margin-right:30px !important}}@media (min-width: 992px){.spacing-outer-right-layout{margin-right:30px !important}}@media (max-width: 767px){.spacing-outer-bottom-layout{margin-bottom:15px !important}}@media (min-width: 768px){.spacing-outer-bottom-layout{margin-bottom:30px !important}}@media (min-width: 992px){.spacing-outer-bottom-layout{margin-bottom:30px !important}}@media (max-width: 767px){.spacing-outer-left-layout{margin-left:15px !important}}@media (min-width: 768px){.spacing-outer-left-layout{margin-left:30px !important}}@media (min-width: 992px){.spacing-outer-left-layout{margin-left:30px !important}}.mx-scrollcontainer .mx-placeholder{width:100%;height:100%}@media (max-width: 767px){.mx-scrollcontainer .mx-placeholder .mx-layoutgrid,.mx-scrollcontainer .mx-placeholder .mx-layoutgrid-fluid{padding:15px 15px 15px 15px}}@media (min-width: 768px){.mx-scrollcontainer .mx-placeholder .mx-layoutgrid,.mx-scrollcontainer .mx-placeholder .mx-layoutgrid-fluid{padding:30px 30px 30px 30px}}@media (min-width: 992px){.mx-scrollcontainer .mx-placeholder .mx-layoutgrid,.mx-scrollcontainer .mx-placeholder .mx-layoutgrid-fluid{padding:30px 30px 30px 30px}}.mx-scrollcontainer .mx-placeholder .mx-layoutgrid .mx-layoutgrid,.mx-scrollcontainer .mx-placeholder .mx-layoutgrid .mx-layoutgrid-fluid,.mx-scrollcontainer .mx-placeholder .mx-layoutgrid-fluid .mx-layoutgrid,.mx-scrollcontainer .mx-placeholder .mx-layoutgrid-fluid .mx-layoutgrid-fluid{padding:0}html{height:100%}body{min-height:100%;color:#555;background-color:#fff;font-family:"Open Sans",sans-serif;font-size:14px;font-weight:normal;line-height:1.42857}a{-moz-transition:0.25s;-o-transition:0.25s;-webkit-transition:0.25s;transition:0.25s;color:#0595DB;-webkit-backface-visibility:hidden}a:hover{text-decoration:underline;color:#036290}a:focus{outline:thin dotted}a:active,a:hover{outline:0}input:focus,button:focus,.mx-link:focus{outline:0}div[tabindex]{outline:0}.disabled,[disabled]{cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;filter:alpha(opacity=65)}body{height:100%}.loginpage{display:flex;height:100%}.loginpage-logo{position:absolute;top:30px;right:30px;width:120px}.loginpage-left{display:none}.loginpage-right{display:flex;flex:1;flex-direction:column;justify-content:space-around}.loginpage-formwrapper{width:400px;margin:0 auto}.loginpage-form .alert{display:none}.loginpage-form .btn{border-radius:40px}.loginpage-form .form-group{width:100%;align-items:center}.loginpage-form .form-group .control-label{flex:4;margin-bottom:0;font-size:14px;font-weight:500}.loginpage-form .form-group .inputwrapper{flex:8;position:relative;width:100%}.loginpage-form .form-group .inputwrapper .glyphicon{position:absolute;top:50%;left:10px;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.loginpage-form .form-group .inputwrapper .glyphicon:before{-webkit-transition:color 0.4s;-moz-transition:color 0.4s;-o-transition:color 0.4s;transition:color 0.4s}.loginpage-form .form-group .inputwrapper .glyphicon-eye-open:hover,.loginpage-form .form-group .inputwrapper .glyphicon-eye-close:hover{cursor:pointer;color:#0595DB}.loginpage-form .form-group .inputwrapper .form-control{padding:8px 10px 8px 45px}.loginpage-form .form-group .inputwrapper .form-control:focus ~ .glyphicon:before{color:#0595DB}.loginpage-alternativelabel{display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:25px 0px}.loginpage-alternativelabel hr{flex:1;margin:20px 0 20px 10px;border:0;border-color:#d8d8d8;border-top:1px solid #eeeeee}.loginpage-signin{color:#555555}@media screen and (min-width: 1200px){.loginpage-logo{width:150px}.loginpage-left{position:relative;display:block;flex:1;width:100%;height:100%}.loginpage-image{height:100%;animation:makePointer 1s ease-out both;background:left/cover no-repeat url("../../../resources/work-do-more.jpeg");background:left/cover no-repeat linear-gradient(to right, rgba(5,149,219,0.9) 0%, rgba(5,149,219,0.6) 100%),left/cover no-repeat url("../../../resources/work-do-more.jpeg");background:left/cover no-repeat -moz-linear-gradient(left, rgba(5,149,219,0.9) 0%, rgba(5,149,219,0.6) 100%),left/cover no-repeat url("../../../resources/work-do-more.jpeg");background:left/cover no-repeat -webkit-gradient(linear, left bottom, right bottom, color-stop(0%, rgba(5,149,219,0.9)), color-stop(100%, rgba(5,149,219,0.6))),left/cover no-repeat url("../../../resources/work-do-more.jpeg");background:left/cover no-repeat -webkit-linear-gradient(left, rgba(5,149,219,0.9) 0%, rgba(5,149,219,0.6) 100%),left/cover no-repeat url("../../../resources/work-do-more.jpeg");background:left/cover no-repeat -o-linear-gradient(left, rgba(5,149,219,0.9) 0%, rgba(5,149,219,0.6) 100%),left/cover no-repeat url("../../../resources/work-do-more.jpeg");background:left/cover no-repeat -ms-linear-gradient(left, rgba(5,149,219,0.9) 0%, rgba(5,149,219,0.6) 100%),left/cover no-repeat url("../../../resources/work-do-more.jpeg");-webkit-clip-path:polygon(0% 0%, 100% 0, 100% 50%, 100% 100%, 0% 100%);clip-path:polygon(0% 0%, 100% 0, 100% 50%, 100% 100%, 0% 100%)}.loginpage-formwrapper{width:400px}}@keyframes makePointer{100%{-webkit-clip-path:polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%);clip-path:polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%)}}@-webkit-keyframes makePointer{100%{-webkit-clip-path:polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%);clip-path:polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%)}}.form-control{display:flex;flex:1;min-width:50px;height:auto;padding:8px 10px;transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;color:#555;border:1px solid #D7D7D7;border-radius:4px;background-color:#fff;background-image:none;box-shadow:none;font-size:14px;line-height:1.42857;appearance:none;-moz-appearance:none;-webkit-appearance:none}.form-control:not([readonly]):focus{border-color:#0595DB;outline:0;background-color:#fff;box-shadow:none}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{opacity:1;background-color:#EEEEEE}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}.form-control-lined{border:0;border-bottom:1px solid #D7D7D7;border-radius:0;background-color:transparent}.form-control-lined:focus{background-color:transparent}.form-control-static,.form-group div[class*='textBox']>.control-label,.form-group div[class*='textArea']>.control-label,.form-group div[class*='datePicker']>.control-label{overflow:hidden;flex:1;min-height:auto;padding:8px 10px;border-bottom:1px solid #F0F0EE;font-size:14px;line-height:1.42857}.form-control-static+.control-label,.form-group div[class*='textBox']>.control-label+.control-label,.form-group div[class*='textArea']>.control-label+.control-label,.form-group div[class*='datePicker']>.control-label+.control-label{margin-left:8px}select.form-control{padding-right:30px;background-image:url("data:image/svg+xml;utf8,");background-repeat:no-repeat;background-position:calc(100% - 10px) center;appearance:none;-moz-appearance:none;-webkit-appearance:none}.form-control.mx-selectbox{align-items:center;flex-direction:row-reverse;justify-content:space-between}.mx-textarea .control-label{height:auto}textarea.form-control{flex-basis:auto}.mx-compound-control{display:flex;flex:1;flex-wrap:wrap;max-width:100%}.mx-compound-control .mx-validation-message{flex-basis:100%;margin-top:5px}.form-group{display:flex;flex-direction:row;margin-bottom:15px}.form-group>div[class*='col-']{display:flex;align-items:center;flex-wrap:wrap}.form-group>[class*='col-']{padding-right:15px;padding-left:15px}.form-group .control-label{overflow:hidden;margin-bottom:5px;text-overflow:ellipsis;color:#666;font-size:14px;font-weight:600}.form-group .mx-validation-message{flex-basis:100%}.form-group.no-columns:not(.label-after){flex-direction:column}.form-group.label-after .form-control-static,.form-group.label-after div[class*='textBox']>.control-label,.form-group.label-after div[class*='textArea']>.control-label,.form-group.label-after div[class*='datePicker']>.control-label{flex:unset}.form-group.label-after .control-label{margin-bottom:0}.mx-dateinput,.mx-referenceselector,.mx-referencesetselector{flex:1}.dj_webkit.dj_ios .form-control{transform:translateZ(0)}@media only screen and (min-width: 768px){.form-horizontal .control-label{margin-bottom:0;padding-top:8px;padding-bottom:8px;line-height:1.42857}}@media only screen and (max-width: 767px){.form-group{flex-direction:column}}@media only screen and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 0){input[type='date'],input[type='time'],input[type='datetime-local'],input[type='month']{line-height:1}input[type='time']:not(.has-value):before,input[type='date']:not(.has-value):before,input[type='month']:not(.has-value):before,input[type='datetime-local']:not(.has-value):before{margin-right:0.5em;content:attr(placeholder) !important;color:#AAAAAA}input[type='time'].has-value:before,input[type='date'].has-value:before,input[type='month'].has-value:before,input[type='datetime-local'].has-value:before{content:'' !important}}@media (-ms-high-contrast: none), (-ms-high-contrast: active){.form-group{display:block}}[dir='rtl'] select.form-control{padding-right:30px;padding-left:0;background-position:10px center}.alert{margin-top:0;padding:15px;border:0;border-radius:4px}.alert-bordered{border:1px solid}.alert-success{color:#477901;border-color:#538d01;background-color:#e4f4cc}.alert-info{color:#2b6a94;border-color:#327bad;background-color:#daeffd}.alert-warning{color:#955d11;border-color:#ae6d14;background-color:#feebd2}.alert-danger{color:#8e1116;border-color:#a61419;background-color:#fbd2d3}.has-error .alert{margin-top:8px;margin-bottom:0}.background-main{background-color:#fff !important}.background-secondary{background-color:#F5F8FD !important}.background-default{background-color:#ddd !important}.background-default-darker{background-color:#858585 !important}.background-default-dark{background-color:#9b9b9b !important}.background-default-light{background-color:#ebebeb !important}.background-default-lighter{background-color:#f8f8f8 !important}.background-inverse{background-color:#252C36 !important}.background-inverse-darker{background-color:#161a20 !important}.background-inverse-dark{background-color:#1a1f26 !important}.background-inverse-light{background-color:#7c8086 !important}.background-inverse-lighter{background-color:#d3d5d7 !important}.background-primary{background-color:#0595DB !important}.background-primary-darker{background-color:#035983 !important}.background-primary-dark{background-color:#046899 !important}.background-primary-light{background-color:#69bfe9 !important}.background-primary-lighter{background-color:#cdeaf8 !important}.background-info{background-color:#48B0F7 !important}.background-info-darker{background-color:#2b6a94 !important}.background-info-dark{background-color:#327bad !important}.background-info-light{background-color:#91d0fa !important}.background-info-lighter{background-color:#daeffd !important}.background-success{background-color:#76CA02 !important}.background-success-darker{background-color:#477901 !important}.background-success-dark{background-color:#538d01 !important}.background-success-light{background-color:#addf67 !important}.background-success-lighter{background-color:#e4f4cc !important}.background-warning{background-color:#F99B1D !important}.background-warning-darker{background-color:#955d11 !important}.background-warning-dark{background-color:#ae6d14 !important}.background-warning-light{background-color:#fbc377 !important}.background-warning-lighter{background-color:#feebd2 !important}.background-danger{background-color:#ED1C24 !important}.background-danger-darker{background-color:#8e1116 !important}.background-danger-dark{background-color:#a61419 !important}.background-danger-light{background-color:#f4777c !important}.background-danger-lighter{background-color:#fbd2d3 !important}.background-brand-gradient{background-image:linear-gradient(152deg, #0CC7F0 0%, #087ECC 51%, #077AC9 55%, #0659B9 78%) !important}.btn,.mx-button{display:inline-block;margin-bottom:0;padding:0.6em 1em;cursor:pointer;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;text-align:center;vertical-align:middle;white-space:nowrap;color:#0595DB;border:1px solid #ddd;border-radius:4px;background-color:#fff;background-image:none;box-shadow:none;text-shadow:none;font-size:14px;line-height:1.42857}.btn:hover,.btn:focus,.btn:active,.btn:active:focus,.mx-button:hover,.mx-button:focus,.mx-button:active,.mx-button:active:focus{outline:none;box-shadow:none}.btn[aria-disabled],.mx-button[aria-disabled]{cursor:not-allowed;pointer-events:none;opacity:0.65;filter:alpha(opacity=65)}.mx-link{padding:0;color:#0595DB}.mx-link[aria-disabled='true']{cursor:not-allowed;pointer-events:none;opacity:0.65;filter:alpha(opacity=65)}.btn img,.mx-button img,.mx-link img{height:18px;margin-right:5px;vertical-align:text-top}.profile-phone .btn:active,.profile-phone .mx-link:active{-webkit-transform:translateY(1px);transform:translateY(1px)}.btn,.btn-default{color:#0595DB;border-color:#ddd;background-color:#fff}.btn:hover,.btn:focus,.btn:active,.btn.active,.open>.btn.dropdown-toggle,.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#0595DB;border-color:#ddd;background-color:#ddd}.btn:active,.btn.active,.open>.btn.dropdown-toggle,.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn.disabled,.btn.disabled:hover,.btn.disabled:focus,.btn.disabled:active,.btn.disabled.active,.btn[disabled],.btn[disabled]:hover,.btn[disabled]:focus,.btn[disabled]:active,.btn[disabled].active,.btn[aria-disabled],.btn[aria-disabled]:hover,.btn[aria-disabled]:focus,.btn[aria-disabled]:active,.btn[aria-disabled].active,.btn fieldset[disabled],.btn fieldset[disabled]:hover,.btn fieldset[disabled]:focus,.btn fieldset[disabled]:active,.btn fieldset[disabled].active,.btn-default.disabled,.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled:active,.btn-default.disabled.active,.btn-default[disabled],.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled]:active,.btn-default[disabled].active,.btn-default[aria-disabled],.btn-default[aria-disabled]:hover,.btn-default[aria-disabled]:focus,.btn-default[aria-disabled]:active,.btn-default[aria-disabled].active,.btn-default fieldset[disabled],.btn-default fieldset[disabled]:hover,.btn-default fieldset[disabled]:focus,.btn-default fieldset[disabled]:active,.btn-default fieldset[disabled].active{border-color:#ddd;background-color:#fff}.btn.btn-bordered,.btn-default.btn-bordered{background-color:transparent}.btn.btn-bordered:hover,.btn.btn-bordered:focus,.btn.btn-bordered:active,.btn.btn-bordered.active,.open>.btn.btn-bordered.dropdown-toggle,.btn-default.btn-bordered:hover,.btn-default.btn-bordered:focus,.btn-default.btn-bordered:active,.btn-default.btn-bordered.active,.open>.btn-default.btn-bordered.dropdown-toggle{color:#0595DB;border-color:#ddd;background-color:#ddd}.btn.btn-link,.btn-default.btn-link{text-decoration:none;border-color:transparent;background-color:transparent}.btn.btn-link:hover,.btn-default.btn-link:hover{border-color:#eee;background-color:#eee}.btn-primary,.datagrid-fullsearch.mx-grid .mx-grid-search-button{color:#fff;border-color:#0595DB;background-color:#0595DB}.btn-primary:hover,.datagrid-fullsearch.mx-grid .mx-grid-search-button:hover,.btn-primary:focus,.datagrid-fullsearch.mx-grid .mx-grid-search-button:focus,.btn-primary:active,.datagrid-fullsearch.mx-grid .mx-grid-search-button:active,.btn-primary.active,.datagrid-fullsearch.mx-grid .active.mx-grid-search-button,.open>.btn-primary.dropdown-toggle,.datagrid-fullsearch.mx-grid .open>.dropdown-toggle.mx-grid-search-button{color:#fff;border-color:#0477af;background-color:#0477af}.btn-primary:active,.datagrid-fullsearch.mx-grid .mx-grid-search-button:active,.btn-primary.active,.datagrid-fullsearch.mx-grid .active.mx-grid-search-button,.open>.btn-primary.dropdown-toggle,.datagrid-fullsearch.mx-grid .open>.dropdown-toggle.mx-grid-search-button{background-image:none}.btn-primary.disabled,.datagrid-fullsearch.mx-grid .disabled.mx-grid-search-button,.btn-primary.disabled:hover,.datagrid-fullsearch.mx-grid .disabled.mx-grid-search-button:hover,.btn-primary.disabled:focus,.datagrid-fullsearch.mx-grid .disabled.mx-grid-search-button:focus,.btn-primary.disabled:active,.datagrid-fullsearch.mx-grid .disabled.mx-grid-search-button:active,.btn-primary.disabled.active,.datagrid-fullsearch.mx-grid .disabled.active.mx-grid-search-button,.btn-primary[disabled],.datagrid-fullsearch.mx-grid .mx-grid-search-button[disabled],.btn-primary[disabled]:hover,.datagrid-fullsearch.mx-grid .mx-grid-search-button[disabled]:hover,.btn-primary[disabled]:focus,.datagrid-fullsearch.mx-grid .mx-grid-search-button[disabled]:focus,.btn-primary[disabled]:active,.datagrid-fullsearch.mx-grid .mx-grid-search-button[disabled]:active,.btn-primary[disabled].active,.datagrid-fullsearch.mx-grid .mx-grid-search-button[disabled].active,.btn-primary[aria-disabled],.datagrid-fullsearch.mx-grid .mx-grid-search-button[aria-disabled],.btn-primary[aria-disabled]:hover,.datagrid-fullsearch.mx-grid .mx-grid-search-button[aria-disabled]:hover,.btn-primary[aria-disabled]:focus,.datagrid-fullsearch.mx-grid .mx-grid-search-button[aria-disabled]:focus,.btn-primary[aria-disabled]:active,.datagrid-fullsearch.mx-grid .mx-grid-search-button[aria-disabled]:active,.btn-primary[aria-disabled].active,.datagrid-fullsearch.mx-grid .mx-grid-search-button[aria-disabled].active,.btn-primary fieldset[disabled],.datagrid-fullsearch.mx-grid .mx-grid-search-button fieldset[disabled],.btn-primary fieldset[disabled]:hover,.datagrid-fullsearch.mx-grid .mx-grid-search-button fieldset[disabled]:hover,.btn-primary fieldset[disabled]:focus,.datagrid-fullsearch.mx-grid .mx-grid-search-button fieldset[disabled]:focus,.btn-primary fieldset[disabled]:active,.datagrid-fullsearch.mx-grid .mx-grid-search-button fieldset[disabled]:active,.btn-primary fieldset[disabled].active,.datagrid-fullsearch.mx-grid .mx-grid-search-button fieldset[disabled].active{border-color:#0595DB;background-color:#0595DB}.btn-primary.btn-bordered,.datagrid-fullsearch.mx-grid .btn-bordered.mx-grid-search-button{background-color:transparent;color:#0595DB}.btn-primary.btn-bordered:hover,.datagrid-fullsearch.mx-grid .btn-bordered.mx-grid-search-button:hover,.btn-primary.btn-bordered:focus,.datagrid-fullsearch.mx-grid .btn-bordered.mx-grid-search-button:focus,.btn-primary.btn-bordered:active,.datagrid-fullsearch.mx-grid .btn-bordered.mx-grid-search-button:active,.btn-primary.btn-bordered.active,.datagrid-fullsearch.mx-grid .btn-bordered.active.mx-grid-search-button,.open>.btn-primary.btn-bordered.dropdown-toggle,.datagrid-fullsearch.mx-grid .open>.btn-bordered.dropdown-toggle.mx-grid-search-button{color:#fff;border-color:#0595DB;background-color:#0595DB}.btn-primary.btn-link,.datagrid-fullsearch.mx-grid .btn-link.mx-grid-search-button{text-decoration:none;border-color:transparent;background-color:transparent;color:#0595DB}.btn-primary.btn-link:hover,.datagrid-fullsearch.mx-grid .btn-link.mx-grid-search-button:hover{border-color:#eee;background-color:#eee}.btn-inverse{color:#fff;border-color:#252C36;background-color:#252C36}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.open>.btn-inverse.dropdown-toggle{color:#fff;border-color:#51565e;background-color:#51565e}.btn-inverse:active,.btn-inverse.active,.open>.btn-inverse.dropdown-toggle{background-image:none}.btn-inverse.disabled,.btn-inverse.disabled:hover,.btn-inverse.disabled:focus,.btn-inverse.disabled:active,.btn-inverse.disabled.active,.btn-inverse[disabled],.btn-inverse[disabled]:hover,.btn-inverse[disabled]:focus,.btn-inverse[disabled]:active,.btn-inverse[disabled].active,.btn-inverse[aria-disabled],.btn-inverse[aria-disabled]:hover,.btn-inverse[aria-disabled]:focus,.btn-inverse[aria-disabled]:active,.btn-inverse[aria-disabled].active,.btn-inverse fieldset[disabled],.btn-inverse fieldset[disabled]:hover,.btn-inverse fieldset[disabled]:focus,.btn-inverse fieldset[disabled]:active,.btn-inverse fieldset[disabled].active{border-color:#252C36;background-color:#252C36}.btn-inverse.btn-bordered{background-color:transparent;color:#252C36}.btn-inverse.btn-bordered:hover,.btn-inverse.btn-bordered:focus,.btn-inverse.btn-bordered:active,.btn-inverse.btn-bordered.active,.open>.btn-inverse.btn-bordered.dropdown-toggle{color:#fff;border-color:#252C36;background-color:#252C36}.btn-inverse.btn-link{text-decoration:none;border-color:transparent;background-color:transparent;color:#252C36}.btn-inverse.btn-link:hover{border-color:#eee;background-color:#eee}.btn-success{color:#fff;border-color:#76CA02;background-color:#76CA02}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;border-color:#5ea202;background-color:#5ea202}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled,.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled:active,.btn-success.disabled.active,.btn-success[disabled],.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled]:active,.btn-success[disabled].active,.btn-success[aria-disabled],.btn-success[aria-disabled]:hover,.btn-success[aria-disabled]:focus,.btn-success[aria-disabled]:active,.btn-success[aria-disabled].active,.btn-success fieldset[disabled],.btn-success fieldset[disabled]:hover,.btn-success fieldset[disabled]:focus,.btn-success fieldset[disabled]:active,.btn-success fieldset[disabled].active{border-color:#76CA02;background-color:#76CA02}.btn-success.btn-bordered{background-color:transparent;color:#76CA02}.btn-success.btn-bordered:hover,.btn-success.btn-bordered:focus,.btn-success.btn-bordered:active,.btn-success.btn-bordered.active,.open>.btn-success.btn-bordered.dropdown-toggle{color:#fff;border-color:#76CA02;background-color:#76CA02}.btn-success.btn-link{text-decoration:none;border-color:transparent;background-color:transparent;color:#76CA02}.btn-success.btn-link:hover{border-color:#eee;background-color:#eee}.btn-info{color:#fff;border-color:#48B0F7;background-color:#48B0F7}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;border-color:#3a8dc6;background-color:#3a8dc6}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled:active,.btn-info.disabled.active,.btn-info[disabled],.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled]:active,.btn-info[disabled].active,.btn-info[aria-disabled],.btn-info[aria-disabled]:hover,.btn-info[aria-disabled]:focus,.btn-info[aria-disabled]:active,.btn-info[aria-disabled].active,.btn-info fieldset[disabled],.btn-info fieldset[disabled]:hover,.btn-info fieldset[disabled]:focus,.btn-info fieldset[disabled]:active,.btn-info fieldset[disabled].active{border-color:#48B0F7;background-color:#48B0F7}.btn-info.btn-bordered{background-color:transparent;color:#48B0F7}.btn-info.btn-bordered:hover,.btn-info.btn-bordered:focus,.btn-info.btn-bordered:active,.btn-info.btn-bordered.active,.open>.btn-info.btn-bordered.dropdown-toggle{color:#fff;border-color:#48B0F7;background-color:#48B0F7}.btn-info.btn-link{text-decoration:none;border-color:transparent;background-color:transparent;color:#48B0F7}.btn-info.btn-link:hover{border-color:#eee;background-color:#eee}.btn-warning{color:#fff;border-color:#F99B1D;background-color:#F99B1D}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;border-color:#c77c17;background-color:#c77c17}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled:active,.btn-warning.disabled.active,.btn-warning[disabled],.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled]:active,.btn-warning[disabled].active,.btn-warning[aria-disabled],.btn-warning[aria-disabled]:hover,.btn-warning[aria-disabled]:focus,.btn-warning[aria-disabled]:active,.btn-warning[aria-disabled].active,.btn-warning fieldset[disabled],.btn-warning fieldset[disabled]:hover,.btn-warning fieldset[disabled]:focus,.btn-warning fieldset[disabled]:active,.btn-warning fieldset[disabled].active{border-color:#F99B1D;background-color:#F99B1D}.btn-warning.btn-bordered{background-color:transparent;color:#F99B1D}.btn-warning.btn-bordered:hover,.btn-warning.btn-bordered:focus,.btn-warning.btn-bordered:active,.btn-warning.btn-bordered.active,.open>.btn-warning.btn-bordered.dropdown-toggle{color:#fff;border-color:#F99B1D;background-color:#F99B1D}.btn-warning.btn-link{text-decoration:none;border-color:transparent;background-color:transparent;color:#F99B1D}.btn-warning.btn-link:hover{border-color:#eee;background-color:#eee}.btn-danger{color:#fff;border-color:#ED1C24;background-color:#ED1C24}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;border-color:#be161d;background-color:#be161d}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled:active,.btn-danger.disabled.active,.btn-danger[disabled],.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled]:active,.btn-danger[disabled].active,.btn-danger[aria-disabled],.btn-danger[aria-disabled]:hover,.btn-danger[aria-disabled]:focus,.btn-danger[aria-disabled]:active,.btn-danger[aria-disabled].active,.btn-danger fieldset[disabled],.btn-danger fieldset[disabled]:hover,.btn-danger fieldset[disabled]:focus,.btn-danger fieldset[disabled]:active,.btn-danger fieldset[disabled].active{border-color:#ED1C24;background-color:#ED1C24}.btn-danger.btn-bordered{background-color:transparent;color:#ED1C24}.btn-danger.btn-bordered:hover,.btn-danger.btn-bordered:focus,.btn-danger.btn-bordered:active,.btn-danger.btn-bordered.active,.open>.btn-danger.btn-bordered.dropdown-toggle{color:#fff;border-color:#ED1C24;background-color:#ED1C24}.btn-danger.btn-link{text-decoration:none;border-color:transparent;background-color:transparent;color:#ED1C24}.btn-danger.btn-link:hover{border-color:#eee;background-color:#eee}.btn-lg{font-size:16px}.btn-lg img{height:calc(12px + 4px)}.btn-sm{font-size:12px}.btn-sm img{height:calc(12px + 4px)}.btn-image{padding:0;vertical-align:middle;border-style:none;background-color:transparent}.btn-image img{display:block;height:auto}.btn-image:hover,.btn-image:focus{background-color:transparent}.btn-icon>img,.btn-icon>.glyphicon{margin:0}.btn-icon-right>img,.btn-icon-right>.glyphicon{float:right;margin-left:5px}.btn-icon-top{padding-right:0;padding-left:0}.btn-icon-top>img,.btn-icon-top>.glyphicon{display:block;margin:0 0 5px 0}.mx-checkbox.label-after{flex-wrap:wrap}.mx-checkbox.label-after .control-label{padding:0}input[type="checkbox"]{position:relative !important;width:16px;height:16px;margin:0 !important;cursor:pointer;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;-webkit-user-select:none;user-select:none;appearance:none;-moz-appearance:none;-webkit-appearance:none}input[type='checkbox']::-ms-check{color:#D7D7D7;border-color:#D7D7D7;border-radius:4px;background-color:#fff}input[type='checkbox']:focus::-ms-check,input[type='checkbox']:checked::-ms-check{color:#0595DB;border-color:#0595DB;background-color:#fff}input[type='checkbox']:before,input[type='checkbox']:after{position:absolute;display:block;transition:all 0.3s ease}input[type='checkbox']:before{width:100%;height:100%;content:'';border:1px solid #D7D7D7;border-radius:4px;background-color:transparent}input[type='checkbox']:after{width:8px;height:4px;margin:5px 4px;transform:rotate(-45deg);pointer-events:none;border:2px solid #FFFFFF;border-top:0;border-right:0}input[type='checkbox']:not(:disabled):not(:checked):hover:after{content:'';border-color:#D7D7D7}input[type='checkbox']:checked:before{border-color:#0595DB;background-color:#0595DB}input[type='checkbox']:checked:after{content:''}input[type='checkbox']:disabled:before{background-color:#eee}input[type='checkbox']:checked:disabled:before{border-color:transparent;background-color:rgba(5,149,219,0.4)}input[type='checkbox']:disabled:after,input[type='checkbox']:checked:disabled:after{border-color:#eee}input[type='checkbox']+.control-label{margin-left:8px}.mx-grid{padding:0px;border:0;border-radius:0}.mx-grid .mx-grid-controlbar{margin:10px 0}.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button{padding:6px;color:#888;border-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button:hover{color:#0595DB;border-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-grid-paging-status{padding:0 8px 8px}.mx-grid .mx-grid-searchbar{margin:10px 0}.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-label{vertical-align:middle}.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-label label{padding-top:5px}.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input{display:inline-flex}.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input .form-control{height:28px;font-size:11px}.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input select.form-control{padding:3px;vertical-align:middle}.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input .mx-button{height:28px;padding-top:2px;padding-bottom:2px}.mx-dataview .mx-grid{border:0}.mx-datagrid table{border-width:0;background-color:transparent}.mx-datagrid table th{border-style:solid;border-color:#D7D7D7;border-top-width:0;border-right:0;border-bottom-width:1px;border-left:0;background-color:rgba(0,0,0,0);padding:15px 15px 15px 15px;vertical-align:middle}.mx-datagrid table th .mx-datagrid-head-caption{white-space:normal}.mx-datagrid table tbody tr td{-webkit-transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);-moz-transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);-o-transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);transform-style:initial;padding:15px 15px 15px 15px;vertical-align:middle;border-width:0;border-color:#D7D7D7;border-bottom-width:1px;border-bottom-style:solid;background-color:#fff}.mx-datagrid table tbody tr td:focus{outline:none}.mx-datagrid table tbody tr td .mx-datagrid-data-wrapper{text-overflow:ellipsis}.mx-datagrid table tbody tr.selected td,.mx-datagrid table tbody tr.selected:hover td{color:#555;background-color:#f3f3f3 !important}.mx-datagrid table tfoot>tr>th{padding:15px 15px 15px 15px;border-width:0;background-color:#D7D7D7}.mx-datagrid table tfoot>tr>td{padding:15px 15px 15px 15px;border-width:0;background-color:#fff;font-weight:bold}.mx-datagrid table *:focus{outline:0}.datagrid-striped.mx-datagrid table th{border-width:0}.datagrid-striped.mx-datagrid table tbody tr td{border-top-width:0}.datagrid-striped.mx-datagrid table tbody tr:nth-child(odd) td{background-color:#fbfbfb}.datagrid-bordered.mx-datagrid table{border:1px solid}.datagrid-bordered.mx-datagrid table th{border:1px solid #D7D7D7}.datagrid-bordered.mx-datagrid table tbody tr td{border:1px solid #D7D7D7}.datagrid-bordered.mx-datagrid tfoot>tr>th{border-width:0;background-color:#D7D7D7}.datagrid-bordered.mx-datagrid tfoot>tr>td{border-width:1px}.datagrid-transparent.mx-datagrid table{background-color:transparent}.datagrid-transparent.mx-datagrid table tbody tr:nth-of-type(odd){background-color:transparent}.datagrid-transparent.mx-datagrid table tbody tr td{background-color:transparent}.datagrid-hover.mx-datagrid table tbody tr:hover td{background-color:#f7f7f7 !important}.datagrid-hover.mx-datagrid table tbody tr.selected:hover td{background-color:#ebebeb !important}.datagrid-lg.mx-datagrid table th{padding:30px 30px 30px 30px}.datagrid-lg.mx-datagrid table tbody tr td{padding:30px 30px 30px 30px}.datagrid-sm.mx-datagrid table th{padding:7.5px 7.5px 7.5px 7.5px}.datagrid-sm.mx-datagrid table tbody tr td{padding:7.5px 7.5px 7.5px 7.5px}.datagrid-fullsearch.mx-grid .mx-grid-reset-button{display:none}.datagrid-fullsearch.mx-grid .mx-grid-search-item{display:block}.datagrid-fullsearch.mx-grid .mx-grid-search-label{display:none}.datagrid-fullsearch.mx-grid .mx-grid-searchbar .mx-grid-search-controls{position:absolute;right:0}.datagrid-fullsearch.mx-grid .mx-grid-searchbar .mx-grid-search-input{width:80%;padding-left:0}.datagrid-fullsearch.mx-grid .mx-grid-searchbar .mx-grid-search-input .btn,.datagrid-fullsearch.mx-grid .mx-grid-searchbar .mx-grid-search-input .form-control{height:35px;font-size:12px}.mx-dataview .mx-dataview-controls{clear:both;margin-top:10px;padding:8px 0;border-top:1px solid #D7D7D7;border-radius:0;background-color:rgba(0,0,0,0)}.mx-dataview .mx-dataview-controls .mx-button{margin-right:0.3em;margin-bottom:0}.mx-dataview .mx-dataview-controls .mx-button:last-child{margin-right:0}.mx-dataview>.mx-dataview-content>.mx-container-nested>.row{margin-right:0;margin-left:0}.mx-dataview .mx-dataview-message{color:#555;background:#fff}.mx-calendar{z-index:10010 !important;padding:10px;font-size:12px;background:#fff;border-radius:4px;border:1px solid #D7D7D7;box-shadow:0 2px 10px 0 rgba(0,0,0,0.06)}.mx-calendar .mx-calendar-month-header{display:flex;flex-direction:row;justify-content:space-between;margin:0 3px 10px 3px}.mx-calendar .mx-calendar-month-next,.mx-calendar .mx-calendar-month-previous,.mx-calendar .mx-calendar-month-dropdown{border:0;cursor:pointer;background:transparent}.mx-calendar .mx-calendar-month-next:hover,.mx-calendar .mx-calendar-month-previous:hover{color:#0595DB}.mx-calendar .mx-calendar-month-dropdown{display:flex;align-items:center;justify-content:center;position:relative}.mx-calendar .mx-calendar-month-dropdown .mx-calendar-month-current:first-child{margin-right:10px}.mx-calendar th{color:#0595DB}.mx-calendar th,.mx-calendar td{width:35px;height:35px;text-align:center}.mx-calendar td{color:#555}.mx-calendar td:hover{cursor:pointer;border-radius:50%;color:#0595DB;background-color:#ddd}.mx-calendar .mx-calendar-day-month-next,.mx-calendar .mx-calendar-day-month-previous{color:#c8c8c8}.mx-calendar .mx-calendar-day-selected,.mx-calendar .mx-calendar-day-selected:hover{color:#fff;border-radius:50%;background:#0595DB}.mx-calendar .mx-calendar-year-switcher{text-align:center;margin-top:10px;color:#7dd2fc}.mx-calendar .mx-calendar-year-switcher span.mx-calendar-year-selected{color:#0595DB;margin-left:10px;margin-right:10px}.mx-calendar .mx-calendar-year-switcher span:hover{cursor:pointer;text-decoration:underline;background-color:transparent}.mx-calendar-month-dropdown-options{z-index:10020 !important;position:absolute;top:25px;padding:2px 10px;border-radius:4px;background-color:#fff}.mx-calendar-month-dropdown-options div{cursor:pointer;font-size:12px;padding:2px 0}.mx-calendar-month-dropdown-options div:hover,.mx-calendar-month-dropdown-options div:focus{color:#0595DB}.mx-header{z-index:100;display:flex;width:100%;height:45px;padding:0;text-align:initial;color:#555;border-bottom:1px solid #D7D7D7;background-color:#fff;box-shadow:0 1px 4px 0 rgba(0,0,0,0.14)}.mx-header div.mx-header-left,.mx-header div.mx-header-right{position:relative;top:initial;right:initial;left:initial;display:flex;align-items:center;width:25%;height:100%}.mx-header div.mx-header-left .mx-placeholder,.mx-header div.mx-header-right .mx-placeholder{display:flex;align-items:center;height:100%}.mx-header div.mx-header-left .mx-placeholder{order:1}.mx-header div.mx-header-left .mx-placeholder .mx-placeholder{justify-content:flex-start}.mx-header div.mx-header-center{overflow:hidden;flex:1;order:2;text-align:center}.mx-header div.mx-header-center .mx-title{overflow:hidden;width:100%;margin:0;text-overflow:ellipsis;color:#555;font-size:17px;line-height:45px}.mx-header div.mx-header-right{order:3}.mx-header div.mx-header-right .mx-placeholder{justify-content:flex-end}.mx-header .mx-link{display:flex;align-items:center;height:100%;-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;text-decoration:none}.mx-header .mx-link .glyphicon{top:0;font-size:23px}.mx-header .mx-link:active{-webkit-transform:translateY(1px);transform:translateY(1px);color:#036290}.mx-header .mx-link,.mx-header .btn,.mx-header img{padding:0 8px}.mx-header .mx-sidebartoggle{font-size:24px;line-height:45px}.mx-header .mx-sidebartoggle img{height:20px}body[dir='rtl'] .mx-header-left{order:3}body[dir='rtl'] .mx-header-right{order:1}.mx-glyphicon:before{display:inline-block;margin-top:-0.2em;margin-right:0.4555555em;vertical-align:middle;font-family:"Glyphicons Halflings";font-weight:normal;font-style:normal;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mx-groupbox{margin:0}.mx-groupbox>.mx-groupbox-header{margin:0;color:#555;border-width:1px 1px 0 1px;border-style:solid;border-color:#ddd;background:#ddd;font-size:14px}.mx-groupbox>.mx-groupbox-header .mx-groupbox-collapse-icon{margin-top:0.1em}.mx-groupbox>.mx-groupbox-body{padding:10px 15px;border-width:1px;border-style:solid;border-color:#ddd;background-color:#FFFFFF}.mx-groupbox .mx-groupbox-header+.mx-groupbox-body{border-top:none}.groupbox-default>.mx-groupbox-header{color:#555;border-color:#ddd;background:#ddd}.groupbox-default>.mx-groupbox-body{border-color:#ddd}.groupbox-primary>.mx-groupbox-header{color:#fff;border-color:#0595DB;background:#0595DB}.groupbox-primary>.mx-groupbox-body{border-color:#0595DB}.groupbox-inverse>.mx-groupbox-header{color:#fff;border-color:#252C36;background:#252C36}.groupbox-inverse>.mx-groupbox-body{border-color:#252C36}.groupbox-success>.mx-groupbox-header{color:#fff;border-color:#76CA02;background:#76CA02}.groupbox-success>.mx-groupbox-body{border-color:#76CA02}.groupbox-info>.mx-groupbox-header{color:#fff;border-color:#48B0F7;background:#48B0F7}.groupbox-info>.mx-groupbox-body{border-color:#48B0F7}.groupbox-warning>.mx-groupbox-header{color:#fff;border-color:#F99B1D;background:#F99B1D}.groupbox-warning>.mx-groupbox-body{border-color:#F99B1D}.groupbox-danger>.mx-groupbox-header{color:#fff;border-color:#ED1C24;background:#ED1C24}.groupbox-danger>.mx-groupbox-body{border-color:#ED1C24}.groupbox-white>.mx-groupbox-header{color:#555;border-color:#fff;background:#fff}.groupbox-white>.mx-groupbox-body{border-color:#fff}.groupbox-transparent{border-bottom:1px solid #D7D7D7}.groupbox-transparent>.mx-groupbox-header{padding:15px 0;color:#222;border-style:none;background:transparent;font-size:16px;font-weight:600}.groupbox-transparent .mx-groupbox-body{padding:15px 0;border-style:none;background-color:transparent}.groupbox-transparent .mx-groupbox-collapse-icon{color:#0595DB}.groupbox-h1>.mx-groupbox-header{font-size:31px}.groupbox-h2>.mx-groupbox-header{font-size:26px}.groupbox-h3>.mx-groupbox-header{font-size:24px}.groupbox-h4>.mx-groupbox-header{font-size:18px}.groupbox-h5>.mx-groupbox-header{font-size:14px}.groupbox-h6>.mx-groupbox-header{font-size:12px}.groupbox-callout>.mx-groupbox-header,.groupbox-callout>.mx-groupbox-body{border:0;background-color:#daeffd}.groupbox-callout .mx-groupbox-header+.mx-groupbox-body{padding-top:0}.groupbox-info.groupbox-callout>.mx-groupbox-header,.groupbox-info.groupbox-callout>.mx-groupbox-body{background-color:#daeffd}.groupbox-info.groupbox-callout>.mx-groupbox-header{color:#48B0F7}.groupbox-success.groupbox-callout>.mx-groupbox-header,.groupbox-success.groupbox-callout>.mx-groupbox-body{background-color:#e4f4cc}.groupbox-success.groupbox-callout>.mx-groupbox-header{color:#76CA02}.groupbox-warning.groupbox-callout>.mx-groupbox-header,.groupbox-warning.groupbox-callout>.mx-groupbox-body{background-color:#feebd2}.groupbox-warning.groupbox-callout>.mx-groupbox-header{color:#F99B1D}.groupbox-danger.groupbox-callout>.mx-groupbox-header,.groupbox-danger.groupbox-callout>.mx-groupbox-body{background-color:#fbd2d3}.groupbox-danger.groupbox-callout>.mx-groupbox-header{color:#ED1C24}img.img-rounded,.img-rounded img{border-radius:6px}img.img-thumbnail,.img-thumbnail img{display:inline-block;max-width:100%;height:auto;padding:4px;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;border:1px solid #ddd;border-radius:4px;background-color:#FFFFFF;line-height:1.42857}img.img-circle,.img-circle img{border-radius:50%}img.img-auto,.img-auto img{width:auto !important;max-width:100% !important;height:auto !important;max-height:100% !important}img.img-center,.img-center img{margin-right:auto !important;margin-left:auto !important}.label{display:inline-block;padding:0.2em 0.6em 0.3em;text-align:center;vertical-align:baseline;white-space:nowrap;color:#ffffff;border-radius:0.25em;font-size:100%;line-height:1;margin:0}.label .form-control-static,.label .form-group div[class*='textBox']>.control-label,.form-group .label div[class*='textBox']>.control-label,.label .form-group div[class*='textArea']>.control-label,.form-group .label div[class*='textArea']>.control-label,.label .form-group div[class*='datePicker']>.control-label,.form-group .label div[class*='datePicker']>.control-label{all:unset;font-weight:normal}.label-default{color:#555;background-color:#ddd}.label-primary{color:#fff;background-color:#0595DB}.label-success{color:#fff;background-color:#76CA02}.label-inverse{color:#fff;background-color:#252C36}.label-info{color:#fff;background-color:#48B0F7}.label-warning{color:#fff;background-color:#F99B1D}.label-danger{color:#fff;background-color:#ED1C24}.mx-listview{padding:0}.mx-listview .mx-listview-searchbar{margin-bottom:15px}.mx-listview .mx-listview-searchbar .btn{width:auto}.mx-listview>.btn{width:100%;margin:10px auto}.mx-listview>ul{margin:0}.mx-listview>ul .mx-listview-empty{border-style:none;background-color:transparent}.mx-listview>ul>li{-webkit-transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);-moz-transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);-o-transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);transform-style:initial;padding:15px 15px 15px 15px;border-width:1px 0 0 0;border-style:solid;border-color:#D7D7D7;background-color:#fff}.mx-listview>ul>li:first-child{border-radius:0}.mx-listview>ul>li:last-child{border-bottom:1px solid #D7D7D7;border-radius:0}.mx-listview>ul>li:focus,.mx-listview>ul>li:active{outline:0;background-color:#f7f7f7}.mx-listview>ul>li.selected{background-color:#f3f3f3}.mx-listview .mx-layoutgrid{padding-top:0 !important;padding-bottom:0 !important}.profile-phone .mx-listview .mx-listview-searchbar{margin-bottom:3px;background:#FFFFFF;box-shadow:0 1px 4px 0 rgba(0,0,0,0.14)}.profile-phone .mx-listview .mx-listview-searchbar input{padding:14px 15px;color:#555555;border-style:none;border-radius:0;box-shadow:none}.profile-phone .mx-listview .mx-listview-searchbar .btn{padding:14px 15px;color:inherit;border-style:none}.profile-phone .mx-listview>ul>li:first-child{border-top:none}.listview-bordered.mx-listview>ul>li{border:1px solid #D7D7D7;border-top:0}.listview-bordered.mx-listview>ul>li:first-child{border-top:1px solid #D7D7D7;border-radius:0}.listview-bordered.mx-listview>ul>li:last-child{border-radius:0}.listview-striped.mx-listview>ul>li:nth-child(2n+1){background-color:#fbfbfb}.listview-seperated.mx-listview>ul>li{margin-bottom:15px;border-width:1px;border-style:solid;border-radius:4px}.listview-stylingless.mx-listview>ul>li{padding:0;cursor:default;border:0;background-color:transparent}.listview-stylingless.mx-listview>ul>li:hover,.listview-stylingless.mx-listview>ul>li:focus,.listview-stylingless.mx-listview>ul>li:active{background-color:transparent}.listview-stylingless.mx-listview>ul>li.selected{background-color:transparent !important}.listview-stylingless.mx-listview>ul>li.selected:hover,.listview-stylingless.mx-listview>ul>li.selected:focus,.listview-stylingless.mx-listview>ul>li.selected:active{background-color:transparent !important}.listview-hover.mx-listview>ul>li:hover,.listview-hover.mx-listview>ul>li:focus,.listview-hover.mx-listview>ul>li:active{background-color:#f7f7f7 !important}.listview-hover.mx-listview>ul>li.selected:hover,.listview-hover.mx-listview>ul>li.selected:focus,.listview-hover.mx-listview>ul>li.selected:active{background-color:#ebebeb !important}.listview-lg.mx-listview>ul>li{padding:30px 30px 30px 30px}.listview-sm.mx-listview>ul>li{padding:7.5px 7.5px 7.5px 7.5px}.mx-listview[class*='lv-col']{overflow:hidden}.mx-listview[class*='lv-col']>ul{display:block;margin-right:-15px;margin-left:-15px}.mx-listview[class*='lv-col']>ul::before,.mx-listview[class*='lv-col']>ul::after{display:table;clear:both;content:' '}.mx-listview[class*='lv-col']>ul>li{position:relative;display:block;float:left;min-height:1px;padding-right:15px;padding-left:15px;border:0}@media (max-width: 991px){.mx-listview[class*='lv-col']>ul>li{width:100% !important}}.mx-listview[class*='lv-col']>ul>li>.mx-dataview{overflow:hidden}.mx-listview[class*='lv-col'].lv-col-xs-12>ul>li{width:100% !important}.mx-listview[class*='lv-col'].lv-col-xs-11>ul>li{width:91.66666667% !important}.mx-listview[class*='lv-col'].lv-col-xs-10>ul>li{width:83.33333333% !important}.mx-listview[class*='lv-col'].lv-col-xs-9>ul>li{width:75% !important}.mx-listview[class*='lv-col'].lv-col-xs-8>ul>li{width:66.66666667% !important}.mx-listview[class*='lv-col'].lv-col-xs-7>ul>li{width:58.33333333% !important}.mx-listview[class*='lv-col'].lv-col-xs-6>ul>li{width:50% !important}.mx-listview[class*='lv-col'].lv-col-xs-5>ul>li{width:41.66666667% !important}.mx-listview[class*='lv-col'].lv-col-xs-4>ul>li{width:33.33333333% !important}.mx-listview[class*='lv-col'].lv-col-xs-3>ul>li{width:25% !important}.mx-listview[class*='lv-col'].lv-col-xs-2>ul>li{width:16.66666667% !important}.mx-listview[class*='lv-col'].lv-col-xs-1>ul>li{width:8.33333333% !important}@media (min-width: 768px){.mx-listview[class*='lv-col'].lv-col-sm-12>ul>li{width:100% !important}.mx-listview[class*='lv-col'].lv-col-sm-11>ul>li{width:91.66666667% !important}.mx-listview[class*='lv-col'].lv-col-sm-10>ul>li{width:83.33333333% !important}.mx-listview[class*='lv-col'].lv-col-sm-9>ul>li{width:75% !important}.mx-listview[class*='lv-col'].lv-col-sm-8>ul>li{width:66.66666667% !important}.mx-listview[class*='lv-col'].lv-col-sm-7>ul>li{width:58.33333333% !important}.mx-listview[class*='lv-col'].lv-col-sm-6>ul>li{width:50% !important}.mx-listview[class*='lv-col'].lv-col-sm-5>ul>li{width:41.66666667% !important}.mx-listview[class*='lv-col'].lv-col-sm-4>ul>li{width:33.33333333% !important}.mx-listview[class*='lv-col'].lv-col-sm-3>ul>li{width:25% !important}.mx-listview[class*='lv-col'].lv-col-sm-2>ul>li{width:16.66666667% !important}.mx-listview[class*='lv-col'].lv-col-sm-1>ul>li{width:8.33333333% !important}}@media (min-width: 992px){.mx-listview[class*='lv-col'].lv-col-md-12>ul>li{width:100% !important}.mx-listview[class*='lv-col'].lv-col-md-11>ul>li{width:91.66666667% !important}.mx-listview[class*='lv-col'].lv-col-md-10>ul>li{width:83.33333333% !important}.mx-listview[class*='lv-col'].lv-col-md-9>ul>li{width:75% !important}.mx-listview[class*='lv-col'].lv-col-md-8>ul>li{width:66.66666667% !important}.mx-listview[class*='lv-col'].lv-col-md-7>ul>li{width:58.33333333% !important}.mx-listview[class*='lv-col'].lv-col-md-6>ul>li{width:50% !important}.mx-listview[class*='lv-col'].lv-col-md-5>ul>li{width:41.66666667% !important}.mx-listview[class*='lv-col'].lv-col-md-4>ul>li{width:33.33333333% !important}.mx-listview[class*='lv-col'].lv-col-md-3>ul>li{width:25% !important}.mx-listview[class*='lv-col'].lv-col-md-2>ul>li{width:16.66666667% !important}.mx-listview[class*='lv-col'].lv-col-md-1>ul>li{width:16.66666667% !important}}@media (min-width: 1200px){.mx-listview[class*='lv-col'].lv-col-lg-12>ul>li{width:100% !important}.mx-listview[class*='lv-col'].lv-col-lg-11>ul>li{width:91.66666667% !important}.mx-listview[class*='lv-col'].lv-col-lg-10>ul>li{width:83.33333333% !important}.mx-listview[class*='lv-col'].lv-col-lg-9>ul>li{width:75% !important}.mx-listview[class*='lv-col'].lv-col-lg-8>ul>li{width:66.66666667% !important}.mx-listview[class*='lv-col'].lv-col-lg-7>ul>li{width:58.33333333% !important}.mx-listview[class*='lv-col'].lv-col-lg-6>ul>li{width:50% !important}.mx-listview[class*='lv-col'].lv-col-lg-5>ul>li{width:41.66666667% !important}.mx-listview[class*='lv-col'].lv-col-lg-4>ul>li{width:33.33333333% !important}.mx-listview[class*='lv-col'].lv-col-lg-3>ul>li{width:25% !important}.mx-listview[class*='lv-col'].lv-col-lg-2>ul>li{width:16.66666667% !important}.mx-listview[class*='lv-col'].lv-col-lg-1>ul>li{width:8.33333333% !important}}.modal-dialog .modal-content{border:1px solid #D7D7D7;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,0.2)}.modal-dialog .modal-content .modal-header{padding:15px 20px;border-bottom-color:#D7D7D7;border-radius:0;background-color:rgba(0,0,0,0)}.modal-dialog .modal-content .modal-header h4{margin:0;color:#555;font-size:16px;font-weight:bold}.modal-dialog .modal-content .modal-header .close{margin-top:-3px;opacity:1;color:#555;text-shadow:none;filter:alpha(opacity=100)}.modal-dialog .modal-content .modal-body{padding:20px}.modal-dialog .modal-content .modal-footer{display:flex;justify-content:flex-end;margin-top:0;padding:20px;border-style:none}.mx-window.mx-window-view .mx-window-body{overflow:hidden;padding:0}.mx-window.mx-window-view .mx-window-body>.mx-dataview>.mx-dataview-content,.mx-window.mx-window-view .mx-window-body>.mx-placeholder>.mx-dataview>.mx-dataview-content{padding:20px}.mx-window.mx-window-view .mx-window-body>.mx-dataview>.mx-dataview-controls,.mx-window.mx-window-view .mx-window-body>.mx-placeholder>.mx-dataview>.mx-dataview-controls{display:flex;justify-content:flex-end;margin:0;padding:20px;text-align:left;border-top:1px solid #D7D7D7}.mx-window .mx-dataview-controls{padding-bottom:0}.mx-window .mx-layoutgrid{padding-right:0;padding-left:0}.mx-login .modal-body{padding:0 15px}.mx-login .modal-content input{height:56px;padding:12px 12px;border:1px solid #EEEEEE;background:#EEEEEE;box-shadow:none;font-size:16px}.mx-login .modal-content input:focus{border-color:#66AFE9}.mx-login .modal-header,.mx-login .modal-footer{border:0}.mx-login button{font-size:16px}.mx-login h4{color:#AAAAAA;font-size:20px;font-weight:bold}.mx-navbar{margin:0;border-style:none;border-radius:0;background-color:#252C36}.mx-navbar ul.nav{margin:0}.mx-navbar ul.nav>li.mx-navbar-item>a{display:flex;align-items:center;min-height:60px;padding:5px 15px;vertical-align:middle;color:#fff;border-radius:0;font-size:14px;font-weight:normal}.mx-navbar ul.nav>li.mx-navbar-item>a .caret{border-top-color:#fff;border-bottom-color:#fff}.mx-navbar ul.nav>li.mx-navbar-item>a:hover,.mx-navbar ul.nav>li.mx-navbar-item>a:focus,.mx-navbar ul.nav>li.mx-navbar-item>a.active{text-decoration:none;color:#fff;background-color:#2d3642}.mx-navbar ul.nav>li.mx-navbar-item>a:hover .caret,.mx-navbar ul.nav>li.mx-navbar-item>a:focus .caret,.mx-navbar ul.nav>li.mx-navbar-item>a.active .caret{border-top-color:#fff;border-bottom-color:#fff}.mx-navbar ul.nav>li.mx-navbar-item>a.active{color:#fff;background-color:#36404e}.mx-navbar ul.nav>li.mx-navbar-item>a .mx-navbar-submenu::before{position:absolute;top:-9px;left:15px;width:0;height:0;content:'';-webkit-transform:rotate(360deg);transform:rotate(360deg);border-width:0 9px 9px 9px;border-style:solid;border-color:transparent transparent #2d3642 transparent}.mx-navbar ul.nav>li.mx-navbar-item>a img{width:20px;height:auto;margin-right:0.5em}.mx-navbar ul.nav>li.mx-navbar-item>a .glyphicon{top:0;margin-right:0.5em;vertical-align:middle;font-size:20px}.mx-navbar ul.nav>.mx-navbar-item.active a{color:#fff}.mx-navbar ul.nav>.mx-navbar-item>a:hover,.mx-navbar ul.nav>.mx-navbar-item>a:focus,.mx-navbar ul.nav>.mx-navbar-item.open>a,.mx-navbar ul.nav>.mx-navbar-item.open>a:hover,.mx-navbar ul.nav>.mx-navbar-item.open>a:focus{text-decoration:none;color:#fff;background-color:#2d3642}.mx-navbar ul.nav>.mx-navbar-item>a:hover .caret,.mx-navbar ul.nav>.mx-navbar-item>a:focus .caret,.mx-navbar ul.nav>.mx-navbar-item.open>a .caret,.mx-navbar ul.nav>.mx-navbar-item.open>a:hover .caret,.mx-navbar ul.nav>.mx-navbar-item.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.mx-navbar ul.nav>.mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem.active a{color:#0595DB;background-color:#1d222a}.mx-navbar ul.nav>.mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem.active a .caret{border-top-color:#0595DB;border-bottom-color:#0595DB}@media (max-width: 768px){.mx-navbar ul.nav>li.mx-navbar-item>a{padding:10px 20px}.mx-navbar .mx-navbar-item.open .dropdown-menu{padding:0;border-radius:0;background-color:#1d222a}.mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a{padding:10px 20px;color:#AAA;border-radius:0;font-size:12px;font-weight:normal}.mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a:hover,.mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a:focus{color:#0595DB;background-color:#1d222a}.mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a.active{color:#0595DB;background-color:#1d222a}}.mx-navbar:focus{outline:0}.region-topbar .mx-navbar{background-color:#fff}.region-topbar .mx-navbar ul.nav>li.mx-navbar-item>a{color:#555;font-size:14px}.region-topbar .mx-navbar ul.nav>li.mx-navbar-item>a .caret{border-top-color:#555;border-bottom-color:#555}.region-topbar .mx-navbar ul.nav>li.mx-navbar-item>a:hover,.region-topbar .mx-navbar ul.nav>li.mx-navbar-item>a:focus,.region-topbar .mx-navbar ul.nav>li.mx-navbar-item>a.active{color:#555;background-color:#f5f5f5}.region-topbar .mx-navbar ul.nav>li.mx-navbar-item>a:hover .caret,.region-topbar .mx-navbar ul.nav>li.mx-navbar-item>a:focus .caret,.region-topbar .mx-navbar ul.nav>li.mx-navbar-item>a.active .caret{border-top-color:#555;border-bottom-color:#555}.region-topbar .mx-navbar ul.nav>li.mx-navbar-item>a.active{color:#555;background-color:#ebebeb}.region-topbar .mx-navbar ul.nav>li.mx-navbar-item>a .mx-navbar-submenu::before{border-color:transparent transparent #D7D7D7 transparent}.region-topbar .mx-navbar ul.nav>li.mx-navbar-item>a .glyphicon{font-size:1.2em}.region-topbar .mx-navbar ul.nav>.mx-navbar-item>a:hover,.region-topbar .mx-navbar ul.nav>.mx-navbar-item>a:focus,.region-topbar .mx-navbar ul.nav>.mx-navbar-item.active a,.region-topbar .mx-navbar ul.nav>.mx-navbar-item.open>a,.region-topbar .mx-navbar ul.nav>.mx-navbar-item.open>a:hover,.region-topbar .mx-navbar ul.nav>.mx-navbar-item.open>a:focus{color:#555;background-color:#f5f5f5}.region-topbar .mx-navbar ul.nav>.mx-navbar-item>a:hover .caret,.region-topbar .mx-navbar ul.nav>.mx-navbar-item>a:focus .caret,.region-topbar .mx-navbar ul.nav>.mx-navbar-item.active a .caret,.region-topbar .mx-navbar ul.nav>.mx-navbar-item.open>a .caret,.region-topbar .mx-navbar ul.nav>.mx-navbar-item.open>a:hover .caret,.region-topbar .mx-navbar ul.nav>.mx-navbar-item.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}.region-topbar .mx-navbar ul.nav>.mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem.active a{color:#0595DB;background-color:#fff}.region-topbar .mx-navbar ul.nav>.mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem.active a .caret{border-top-color:#0595DB;border-bottom-color:#0595DB}@media (max-width: 768px){.region-topbar .mx-navbar .mx-navbar-item.open .dropdown-menu{background-color:#fff}.region-topbar .mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a{color:#AAA;font-size:12px}.region-topbar .mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a:hover,.region-topbar .mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a:focus{color:#0595DB;background-color:#fff}.region-topbar .mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a.active{color:#0595DB;background-color:#fff}}.region-sidebar .mx-navbar{background-color:#252C36}.region-sidebar .mx-navbar ul.nav>li.mx-navbar-item>a{color:#fff;font-size:14px}.region-sidebar .mx-navbar ul.nav>li.mx-navbar-item>a .caret{border-top-color:#fff;border-bottom-color:#fff}.region-sidebar .mx-navbar ul.nav>li.mx-navbar-item>a:hover,.region-sidebar .mx-navbar ul.nav>li.mx-navbar-item>a:focus,.region-sidebar .mx-navbar ul.nav>li.mx-navbar-item>a.active{color:#fff;background-color:#2d3642}.region-sidebar .mx-navbar ul.nav>li.mx-navbar-item>a:hover .caret,.region-sidebar .mx-navbar ul.nav>li.mx-navbar-item>a:focus .caret,.region-sidebar .mx-navbar ul.nav>li.mx-navbar-item>a.active .caret{border-top-color:#fff;border-bottom-color:#fff}.region-sidebar .mx-navbar ul.nav>li.mx-navbar-item>a.active{color:#fff;background-color:#36404e}.region-sidebar .mx-navbar ul.nav>li.mx-navbar-item>a .mx-navbar-submenu::before{border-color:transparent transparent #2d3642 transparent}.region-sidebar .mx-navbar ul.nav>li.mx-navbar-item>a .glyphicon{font-size:20px}.region-sidebar .mx-navbar ul.nav>.mx-navbar-item>a:hover,.region-sidebar .mx-navbar ul.nav>.mx-navbar-item>a:focus,.region-sidebar .mx-navbar ul.nav>.mx-navbar-item.active a,.region-sidebar .mx-navbar ul.nav>.mx-navbar-item.open>a,.region-sidebar .mx-navbar ul.nav>.mx-navbar-item.open>a:hover,.region-sidebar .mx-navbar ul.nav>.mx-navbar-item.open>a:focus{color:#fff;background-color:#2d3642}.region-sidebar .mx-navbar ul.nav>.mx-navbar-item>a:hover .caret,.region-sidebar .mx-navbar ul.nav>.mx-navbar-item>a:focus .caret,.region-sidebar .mx-navbar ul.nav>.mx-navbar-item.active a .caret,.region-sidebar .mx-navbar ul.nav>.mx-navbar-item.open>a .caret,.region-sidebar .mx-navbar ul.nav>.mx-navbar-item.open>a:hover .caret,.region-sidebar .mx-navbar ul.nav>.mx-navbar-item.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.region-sidebar .mx-navbar ul.nav>.mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem.active a{color:#0595DB;background-color:#1d222a}.region-sidebar .mx-navbar ul.nav>.mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem.active a .caret{border-top-color:#0595DB;border-bottom-color:#0595DB}@media (max-width: 768px){.region-sidebar .mx-navbar .mx-navbar-item.open .dropdown-menu{background-color:#fff}.region-sidebar .mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a{color:#AAA;font-size:12px}.region-sidebar .mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a:hover,.region-sidebar .mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a:focus{color:#0595DB;background-color:#1d222a}.region-sidebar .mx-navbar .mx-navbar-item.open .dropdown-menu>li.mx-navbar-subitem>a.active{color:#0595DB;background-color:#1d222a}}.mx-navigationlist{margin:0;padding:0;list-style:none}.mx-navigationlist li.mx-navigationlist-item{-webkit-transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);-moz-transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);-o-transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);transition:all .3s 0s cubic-bezier(0.4, 0, 0.2, 1);transform-style:initial;padding:15px 15px 15px 15px;border-width:1px;border-style:none none solid none;border-color:#D7D7D7;border-radius:0;background-color:#fff}.mx-navigationlist li.mx-navigationlist-item:hover,.mx-navigationlist li.mx-navigationlist-item:focus{color:inherit;background-color:#f7f7f7}.mx-navigationlist li.mx-navigationlist-item.active{color:inherit;background-color:#f3f3f3}.mx-navigationtree{background-color:#252C36}.mx-navigationtree .navbar-inner>ul{margin:0;padding-left:0}.mx-navigationtree .navbar-inner>ul>li{padding:0;border-style:none}.mx-navigationtree .navbar-inner>ul>li>a{display:flex;align-items:center;height:60px;padding:5px 15px;color:#fff;border-bottom:1px solid #2d3642;border-radius:0;background-color:#252C36;text-shadow:none;font-size:14px;font-weight:normal}.mx-navigationtree .navbar-inner>ul>li>a .caret{border-top-color:#fff;border-bottom-color:#fff}.mx-navigationtree .navbar-inner>ul>li>a img{width:20px;height:auto;margin-right:0.5em}.mx-navigationtree .navbar-inner>ul>li>a .glyphicon{top:0;margin-right:0.5em;vertical-align:middle;font-size:20px}.mx-navigationtree .navbar-inner>ul>li a:hover,.mx-navigationtree .navbar-inner>ul>li a:focus,.mx-navigationtree .navbar-inner>ul>li a.active{text-decoration:none;color:#fff;background-color:#2d3642}.mx-navigationtree .navbar-inner>ul>li a:hover .caret,.mx-navigationtree .navbar-inner>ul>li a:focus .caret,.mx-navigationtree .navbar-inner>ul>li a.active .caret{border-top-color:#fff;border-bottom-color:#fff}.mx-navigationtree .navbar-inner>ul>li a.active{color:#fff;border-left-color:#fff;background-color:#36404e}.mx-navigationtree li.mx-navigationtree-has-items>ul{margin:0;padding-left:0;background-color:#1d222a}.mx-navigationtree li.mx-navigationtree-has-items>ul li{margin:0;padding:0;border:0}.mx-navigationtree li.mx-navigationtree-has-items>ul li a{padding:12px 20px 12px 25px;text-decoration:none;color:#AAA;border:0;background-color:#1d222a;text-shadow:none;font-size:12px;font-weight:normal}.mx-navigationtree li.mx-navigationtree-has-items>ul li a:hover,.mx-navigationtree li.mx-navigationtree-has-items>ul li a:focus,.mx-navigationtree li.mx-navigationtree-has-items>ul li a.active{color:#0595DB;outline:0;background-color:#1d222a}.mx-navigationtree li.mx-navigationtree-has-items>ul li a.active{color:#0595DB;border:0;background-color:#1d222a}.mx-navigationtree:focus{outline:0}.region-topbar .mx-navigationtree{background-color:#fff}.region-topbar .mx-navigationtree .navbar-inner>ul>li>a{color:#555;border-color:#D7D7D7;background-color:#fff;font-size:14px}.region-topbar .mx-navigationtree .navbar-inner>ul>li>a .caret{border-top-color:#555;border-bottom-color:#555}.region-topbar .mx-navigationtree .navbar-inner>ul>li>a .glyphicon{font-size:1.2em}.region-topbar .mx-navigationtree .navbar-inner>ul>li a:hover,.region-topbar .mx-navigationtree .navbar-inner>ul>li a:focus,.region-topbar .mx-navigationtree .navbar-inner>ul>li a.active{color:#555;background-color:#f5f5f5}.region-topbar .mx-navigationtree .navbar-inner>ul>li a:hover .caret,.region-topbar .mx-navigationtree .navbar-inner>ul>li a:focus .caret,.region-topbar .mx-navigationtree .navbar-inner>ul>li a.active .caret{border-top-color:#555;border-bottom-color:#555}.region-topbar .mx-navigationtree .navbar-inner>ul>li a.active{color:#555;border-left-color:#555;background-color:#ebebeb}.region-topbar .mx-navigationtree li.mx-navigationtree-has-items>ul{background-color:#fff}.region-topbar .mx-navigationtree li.mx-navigationtree-has-items>ul li a{color:#AAA;background-color:#fff;font-size:12px}.region-topbar .mx-navigationtree li.mx-navigationtree-has-items>ul li a:hover,.region-topbar .mx-navigationtree li.mx-navigationtree-has-items>ul li a:focus,.region-topbar .mx-navigationtree li.mx-navigationtree-has-items>ul li a.active{color:#0595DB;background-color:#fff}.region-topbar .mx-navigationtree li.mx-navigationtree-has-items>ul li a.active{color:#0595DB;background-color:#fff}.region-sidebar .mx-navigationtree{background-color:#252C36}.region-sidebar .mx-navigationtree .navbar-inner>ul>li>a{color:#fff;border-color:#2d3642;background-color:#252C36;font-size:14px}.region-sidebar .mx-navigationtree .navbar-inner>ul>li>a .caret{border-top-color:#fff;border-bottom-color:#fff}.region-sidebar .mx-navigationtree .navbar-inner>ul>li>a .glyphicon{font-size:20px}.region-sidebar .mx-navigationtree .navbar-inner>ul>li a:hover,.region-sidebar .mx-navigationtree .navbar-inner>ul>li a:focus,.region-sidebar .mx-navigationtree .navbar-inner>ul>li a.active{color:#fff;background-color:#2d3642}.region-sidebar .mx-navigationtree .navbar-inner>ul>li a:hover .caret,.region-sidebar .mx-navigationtree .navbar-inner>ul>li a:focus .caret,.region-sidebar .mx-navigationtree .navbar-inner>ul>li a.active .caret{border-top-color:#fff;border-bottom-color:#fff}.region-sidebar .mx-navigationtree .navbar-inner>ul>li a.active{color:#fff;border-left-color:#fff;background-color:#36404e}.region-sidebar .mx-navigationtree li.mx-navigationtree-has-items>ul{background-color:#1d222a}.region-sidebar .mx-navigationtree li.mx-navigationtree-has-items>ul li a{color:#AAA;background-color:#1d222a;font-size:12px}.region-sidebar .mx-navigationtree li.mx-navigationtree-has-items>ul li a:hover,.region-sidebar .mx-navigationtree li.mx-navigationtree-has-items>ul li a:focus,.region-sidebar .mx-navigationtree li.mx-navigationtree-has-items>ul li a.active{color:#0595DB;background-color:#1d222a}.region-sidebar .mx-navigationtree li.mx-navigationtree-has-items>ul li a.active{color:#0595DB;background-color:#1d222a}.nav-content-center-text-icons.mx-navigationtree .navbar-inner ul a{flex-direction:column;justify-content:center}.nav-content-center-text-icons.mx-navigationtree .navbar-inner ul a .glyphicon{margin:0 0 5px 0}.nav-content-center.mx-navigationtree .navbar-inner ul a{justify-content:center}.mx-menubar{padding:0;background-color:#252C36}.mx-menubar ul.mx-menubar-list{display:flex;width:100%;min-height:50px}.mx-menubar ul.mx-menubar-list li.mx-menubar-item{margin:0}.mx-menubar ul.mx-menubar-list li.mx-menubar-item>a{display:flex;overflow:hidden;align-items:center;justify-content:center;height:100%;padding:5px 15px;white-space:nowrap;color:#fff;border-radius:0;font-size:14px;font-weight:normal}.mx-menubar ul.mx-menubar-list li.mx-menubar-item>a img{margin-right:0.5em}.mx-menubar ul.mx-menubar-list li.mx-menubar-item>a .glyphicon{top:-1px;margin-right:0.5em;vertical-align:middle;font-size:20px}.mx-menubar ul.mx-menubar-list li.mx-menubar-item a:hover,.mx-menubar ul.mx-menubar-list li.mx-menubar-item a:focus,.mx-menubar ul.mx-menubar-list li.mx-menubar-item:hover a,.mx-menubar ul.mx-menubar-list li.mx-menubar-item:focus a,.mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a{text-decoration:none;color:#fff;background-color:#2d3642}.mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a{color:#fff;background-color:#36404e}.mx-menubar:focus{outline:0}.mx-menubar-vertical{background-color:#252C36}.mx-menubar-vertical ul.mx-menubar-list{display:flex}.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item{display:block}.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a{border-bottom:1px solid #2d3642}.mx-menubar-horizontal{box-shadow:2px 0 4px 0 rgba(0,0,0,0.14)}.mx-menubar-horizontal ul.mx-menubar-list li.mx-menubar-item{width:auto}.mx-menubar-horizontal ul.mx-menubar-list li.mx-menubar-item a{width:100%}.mx-menubar-horizontal.menubar-col-6 ul.mx-menubar-list li.mx-menubar-item{width:50%}.mx-menubar-horizontal.menubar-col-4 ul.mx-menubar-list li.mx-menubar-item{width:33.33333333%}.mx-menubar-horizontal.menubar-col-3 ul.mx-menubar-list li.mx-menubar-item{width:25%}.mx-menubar-horizontal.menubar-col-2 ul.mx-menubar-list li.mx-menubar-item{width:20%}.region-topbar .mx-menubar{background-color:#fff}.region-topbar .mx-menubar ul.mx-menubar-list li.mx-menubar-item a{color:#555;font-size:14px}.region-topbar .mx-menubar ul.mx-menubar-list li.mx-menubar-item a .glyphicon{font-size:1.2em}.region-topbar .mx-menubar ul.mx-menubar-list li.mx-menubar-item a:hover,.region-topbar .mx-menubar ul.mx-menubar-list li.mx-menubar-item a:focus,.region-topbar .mx-menubar ul.mx-menubar-list li.mx-menubar-item:hover a,.region-topbar .mx-menubar ul.mx-menubar-list li.mx-menubar-item:focus a,.region-topbar .mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a{color:#555;background-color:#f5f5f5}.region-topbar .mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a{color:#555;background-color:#ebebeb}.region-topbar .mx-menubar-vertical{background-color:#fff}.region-topbar .mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a{height:60px;border-color:#D7D7D7}.region-sidebar .mx-menubar{background-color:#252C36}.region-sidebar .mx-menubar ul.mx-menubar-list li.mx-menubar-item a{color:#fff;font-size:14px}.region-sidebar .mx-menubar ul.mx-menubar-list li.mx-menubar-item a .glyphicon{font-size:20px}.region-sidebar .mx-menubar ul.mx-menubar-list li.mx-menubar-item a:hover,.region-sidebar .mx-menubar ul.mx-menubar-list li.mx-menubar-item a:focus,.region-sidebar .mx-menubar ul.mx-menubar-list li.mx-menubar-item:hover a,.region-sidebar .mx-menubar ul.mx-menubar-list li.mx-menubar-item:focus a,.region-sidebar .mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a{color:#fff;background-color:#2d3642}.region-sidebar .mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a{color:#fff;background-color:#36404e}.region-sidebar .mx-menubar-vertical{background-color:#252C36}.region-sidebar .mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a{border-color:#2d3642}@supports (padding-bottom: env(safe-area-inset-bottom)){.mx-menubar{padding-bottom:env(safe-area-inset-bottom)}}.bottom-nav-text-icons.mx-menubar ul.mx-menubar-list li.mx-menubar-item a{flex-direction:column;padding:8px 8px 6px 8px;line-height:normal;font-size:11px}.bottom-nav-text-icons.mx-menubar ul.mx-menubar-list li.mx-menubar-item a .glyphicon{display:block;margin:0 0 5px 0;font-size:18px}.bottom-nav-text-icons.mx-menubar ul.mx-menubar-list li.mx-menubar-item a img{display:block;height:18px;margin:0 0 5px 0}.mx-radiobuttons.inline .mx-radiogroup{display:flex;flex-direction:row}.mx-radiobuttons.inline .mx-radiogroup .radio{margin:0 20px 0 0}.mx-radiobuttons .radio:last-child{margin-bottom:0}.radio{display:flex !important;align-items:center;margin-top:0}input[type='radio']{position:relative !important;width:16px;height:16px;margin:0;cursor:pointer;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;-webkit-user-select:none;user-select:none;appearance:none;-moz-appearance:none;-webkit-appearance:none}input[type='radio']::-ms-check{color:#D7D7D7;border-color:#D7D7D7;background-color:#fff}input[type='radio']:focus::-ms-check,input[type='radio']:checked::-ms-check{color:#0595DB;border-color:#0595DB;background-color:#fff}input[type='radio']:before,input[type='radio']:after{position:absolute;display:block;transition:all 0.3s ease-in-out;border-radius:50%}input[type='radio']:before{width:100%;height:100%;content:'';border:1px solid #D7D7D7;background-color:transparent}input[type='radio']:after{top:50%;left:50%;width:50%;height:50%;transform:translate(-50%, -50%);pointer-events:none;background-color:#0595DB}input[type='radio']:not(:checked):after{transform:translate(-50%, -50%) scale(0);opacity:0}input[type='radio']:not(:disabled):not(:checked):hover:after{background-color:#D7D7D7}input[type='radio']:checked:after,input[type='radio']:not(:disabled):not(:checked):hover:after{content:'';transform:translate(-50%, -50%) scale(1);opacity:1}input[type='radio']:checked:before{border-color:#0595DB;background-color:#fff}input[type='radio']:disabled:before{background-color:#eee}input[type='radio']:checked:disabled:before{border-color:rgba(5,149,219,0.4)}input[type='radio']:checked:disabled:after{background-color:rgba(5,149,219,0.4)}input[type='radio']+label{margin-left:8px}.mx-tabcontainer .mx-tabcontainer-tabs{margin-bottom:20px;border-color:#D7D7D7}.mx-tabcontainer .mx-tabcontainer-tabs>li>a{margin-right:0;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;color:#888;font-weight:normal}.mx-tabcontainer .mx-tabcontainer-tabs>li>a:hover,.mx-tabcontainer .mx-tabcontainer-tabs>li>a:focus{background-color:#e4e4e4}.mx-tabcontainer .mx-tabcontainer-tabs>li.active>a,.mx-tabcontainer .mx-tabcontainer-tabs>li.active>a:hover,.mx-tabcontainer .mx-tabcontainer-tabs>li.active>a:focus{color:#555;border:1px solid #D7D7D7;border-bottom-color:transparent;background-color:#fff}.tab-mobile.mx-tabcontainer>.mx-tabcontainer-tabs{margin:0;text-align:center;border-style:none;background-color:#0595DB}.tab-mobile.mx-tabcontainer>.mx-tabcontainer-tabs li{display:table-cell;float:none;width:1%;margin:0;text-align:center;border-style:none;border-radius:0}.tab-mobile.mx-tabcontainer>.mx-tabcontainer-tabs li a{padding:15px;text-transform:uppercase;color:#FFFFFF;border-width:0 1px 0 0;border-style:solid;border-color:rgba(255,255,255,0.3);border-radius:0;font-size:12px;font-weight:normal}.tab-mobile.mx-tabcontainer>.mx-tabcontainer-tabs li a:hover,.tab-mobile.mx-tabcontainer>.mx-tabcontainer-tabs li a:focus{background-color:inherit}.tab-mobile.mx-tabcontainer>.mx-tabcontainer-tabs li:last-child a{border-right:none}.tab-mobile.mx-tabcontainer>.mx-tabcontainer-tabs li.active>a,.tab-mobile.mx-tabcontainer>.mx-tabcontainer-tabs li.active>a:hover,.tab-mobile.mx-tabcontainer>.mx-tabcontainer-tabs li.active>a:focus{color:#FFFFFF;border-style:none;border-radius:0;background-color:#0477af}.tab-pills.mx-tabcontainer>.mx-tabcontainer-tabs{border:0}.tab-pills.mx-tabcontainer>.mx-tabcontainer-tabs>li>a{margin-right:2px;color:#888;border:1px solid #D7D7D7;border-radius:4px}.tab-pills.mx-tabcontainer>.mx-tabcontainer-tabs>li>a:hover,.tab-pills.mx-tabcontainer>.mx-tabcontainer-tabs>li>a:focus{background-color:#e4e4e4}.tab-pills.mx-tabcontainer>.mx-tabcontainer-tabs>li.active>a,.tab-pills.mx-tabcontainer>.mx-tabcontainer-tabs>li.active>a:hover,.tab-pills.mx-tabcontainer>.mx-tabcontainer-tabs>li.active>a:focus{color:#FFFFFF;border-color:#0595DB;background-color:#0595DB}.tab-lined.mx-tabcontainer>.mx-tabcontainer-tabs{border-width:3px}.tab-lined.mx-tabcontainer>.mx-tabcontainer-tabs li{margin-right:30px;margin-bottom:-3px}.tab-lined.mx-tabcontainer>.mx-tabcontainer-tabs li>a{padding:10px 0;color:#888;border:0;border-style:solid;border-color:transparent;border-bottom-width:3px;border-radius:0}.tab-lined.mx-tabcontainer>.mx-tabcontainer-tabs li>a:hover,.tab-lined.mx-tabcontainer>.mx-tabcontainer-tabs li>a:focus{color:#888;border:0;border-color:transparent;background:transparent}.tab-lined.mx-tabcontainer>.mx-tabcontainer-tabs li.active>a,.tab-lined.mx-tabcontainer>.mx-tabcontainer-tabs li.active>a:hover,.tab-lined.mx-tabcontainer>.mx-tabcontainer-tabs li.active>a:focus{color:#0595DB;border:0;border-bottom:3px solid #0595DB;background-color:transparent}.tab-justified.mx-tabcontainer>.mx-tabcontainer-tabs{width:100%;border-bottom:0}.tab-justified.mx-tabcontainer>.mx-tabcontainer-tabs>li{display:table-cell;float:none;width:1%;margin:0}@media (max-width: 767px){.tab-justified.mx-tabcontainer>.mx-tabcontainer-tabs>li{display:block;width:100%}}.tab-justified.mx-tabcontainer>.mx-tabcontainer-tabs>li>a{text-align:center;border-bottom:1px solid #D7D7D7}.tab-justified.mx-tabcontainer>.mx-tabcontainer-tabs>li.active>a{border-bottom-color:transparent;border-radius:4px}@media (max-width: 767px){.tab-justified.mx-tabcontainer>.mx-tabcontainer-tabs>li.active>a{border-bottom-color:#D7D7D7}}.tab-bordered.mx-tabcontainer>.mx-tabcontainer-tabs{margin:0}.tab-bordered.mx-tabcontainer>.mx-tabcontainer-content{padding:10px;border-width:0 1px 1px 1px;border-style:solid;border-color:#D7D7D7;background-color:#FFFFFF}.tab-wizard.mx-tabcontainer>.mx-tabcontainer-tabs{position:relative;display:flex;justify-content:space-between;border-style:none}.tab-wizard.mx-tabcontainer>.mx-tabcontainer-tabs::before{position:absolute;top:16px;display:block;width:100%;height:1px;content:"";background-color:#D7D7D7}.tab-wizard.mx-tabcontainer>.mx-tabcontainer-tabs>li{position:relative;float:none;width:100%;text-align:center}.tab-wizard.mx-tabcontainer>.mx-tabcontainer-tabs>li>a{width:33px;height:33px;margin:auto;padding:0;text-align:center;color:#ddd;border:1px solid #D7D7D7;border-radius:100%;background-color:#FFFFFF;font-size:18px;font-weight:bold;line-height:33px}.tab-wizard.mx-tabcontainer>.mx-tabcontainer-tabs>li.active>a,.tab-wizard.mx-tabcontainer>.mx-tabcontainer-tabs>li.active>a:hover,.tab-wizard.mx-tabcontainer>.mx-tabcontainer-tabs>li.active>a:focus{color:#FFFFFF;border-color:#0595DB;background-color:#0595DB}th{font-weight:bold}html body .mx-page table.mx-table th.nopadding,html body .mx-page table.mx-table td.nopadding{padding:0}table.mx-table>tbody>tr>th{padding:8px 8px 8px 8px}table.mx-table>tbody>tr>th s *{color:#666;font-weight:bold;font-weight:600}table.mx-table>tbody>tr>th>label{padding-top:7px;padding-bottom:6px}table.mx-table>tbody>tr>td{padding:8px 8px 8px 8px}table.mx-table>tbody>tr>td>div>label,table.mx-table>tbody>tr>td .mx-referenceselector-input-wrapper label{padding-top:7px;padding-bottom:6px}.mx-templategrid table.mx-table>tbody>tr>th,.mx-templategrid table.mx-table>tbody>tr>td{padding:8px 8px 8px 8px}.mx-list table.mx-table>tbody>tr>th,.mx-list table.mx-table>tbody>tr>td{padding:8px 8px 8px 8px}table.table-lined.mx-table>tbody>tr>td{border-width:1px 0;border-style:solid;border-color:#D7D7D7}table.table-bordered.mx-table>tbody>tr>th,table.table-bordered.mx-table>tbody>tr>td{border-width:1px;border-style:solid;border-color:#D7D7D7}table.table-compact.mx-table>tbody>tr>th,table.table-compact.mx-table>tbody>tr>td{padding-top:2px;padding-bottom:2px}table.table-sideless.mx-table>tbody>tr>td,table.table-sideless.mx-table>tbody>tr>th{padding-right:0}table.table-sideless.mx-table>tbody>tr>th:first-child,table.table-sideless.mx-table>tbody>tr>td:first-child{padding-left:0}table.table-spaceless.mx-table>tbody>tr>th,table.table-spaceless.mx-table>tbody>tr>td{padding:0}table.table-vertical.mx-table>tbody>tr>th{padding-bottom:0}table.table-vertical.mx-table>tbody>tr>th>label{padding:0}table.table-vertical.mx-table>tbody>tr>th>div>label{padding:0}table.table-align-vertical-middle.mx-table>tbody>tr>th,table.table-align-vertical-middle.mx-table>tbody>tr>td{vertical-align:middle}table.table-label-compact.mx-table>tbody>tr>th>label,table.table-label-compact.mx-table>tbody>tr>td>label{margin:0;padding:0}table.table-label-compact.mx-table>tbody>tr>th>div>label,table.table-label-compact.mx-table>tbody>tr>th .mx-referenceselector-input-wrapper label,table.table-label-compact.mx-table>tbody>tr>td>div>label,table.table-label-compact.mx-table>tbody>tr>td .mx-referenceselector-input-wrapper label{margin:0;padding:0}table.table-row-s.mx-table>tbody>tr>th,table.table-row-s.mx-table>tbody>tr>td{height:55px}table.table-row-m.mx-table>tbody>tr>th,table.table-row-m.mx-table>tbody>tr>td{height:70px}table.table-row-l.mx-table>tbody>tr>th,table.table-row-l.mx-table>tbody>tr>td{height:120px}table.table-fixed{table-layout:fixed}.mx-templategrid .mx-templategrid-content-wrapper{table-layout:fixed}.mx-templategrid .mx-templategrid-item{padding:15px 15px 15px 15px;cursor:default;background-color:#fff}.mx-templategrid .mx-templategrid-item:hover{background-color:transparent}.mx-templategrid .mx-templategrid-item.selected{background-color:#f3f3f3 !important}.mx-templategrid .mx-layoutgrid{padding-top:0 !important;padding-bottom:0 !important}.templategrid-selectable.mx-templategrid .mx-templategrid-item{cursor:pointer}.templategrid-lined.mx-templategrid .mx-grid-content{border-top-width:2px;border-top-style:solid;border-top-color:#D7D7D7}.templategrid-lined.mx-templategrid .mx-templategrid-item{border-top:1px solid #D7D7D7;border-right:none;border-bottom:1px solid #D7D7D7;border-left:none}.templategrid-striped.mx-templategrid .mx-templategrid-row:nth-child(odd) .mx-templategrid-item{background-color:#F9F9F9}.templategrid-stylingless.mx-templategrid .mx-templategrid-item{padding:0;cursor:default;border:0;background-color:transparent}.templategrid-stylingless.mx-templategrid .mx-templategrid-item:hover{background-color:transparent}.templategrid-stylingless.mx-templategrid .mx-templategrid-item.selected{background-color:transparent !important}.templategrid-stylingless.mx-templategrid .mx-templategrid-item.selected:hover{background-color:transparent !important}.templategrid-transparent.mx-templategrid .mx-templategrid-item{border:0;background-color:transparent}.templategrid-hover.mx-templategrid .mx-templategrid-item:hover{background-color:#f7f7f7 !important}.templategrid-hover.mx-templategrid .mx-templategrid-item.selected{background-color:#f3f3f3 !important}.templategrid-hover.mx-templategrid .mx-templategrid-item.selected:hover{background-color:#ebebeb !important}.templategrid-lg.mx-templategrid .mx-templategrid-item{padding:30px 30px 30px 30px}.templategrid-sm.mx-templategrid .mx-templategrid-item{padding:7.5px 7.5px 7.5px 7.5px}.mx-templategrid[class*="tg-col"]{overflow:hidden}.mx-templategrid[class*="tg-col"] .mx-templategrid-content-wrapper{display:block}.mx-templategrid[class*="tg-col"] .mx-templategrid-row{display:block;margin-right:-15px;margin-left:-15px}.mx-templategrid[class*="tg-col"] .mx-templategrid-row::before,.mx-templategrid[class*="tg-col"] .mx-templategrid-row::after{display:table;clear:both;content:" "}.mx-templategrid[class*="tg-col"] .mx-templategrid-item{position:relative;display:block;float:left;min-height:1px;padding-right:15px;padding-left:15px;border:0}@media (max-width: 992px){.mx-templategrid[class*="tg-col"] .mx-templategrid-item{width:100% !important}}.mx-templategrid[class*="tg-col"] .mx-templategrid-item .mx-dataview{overflow:hidden}.mx-templategrid[class*="tg-col"].tg-col-xs-12 .mx-templategrid-item{width:100% !important}.mx-templategrid[class*="tg-col"].tg-col-xs-11 .mx-templategrid-item{width:91.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-xs-10 .mx-templategrid-item{width:83.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-xs-9 .mx-templategrid-item{width:75% !important}.mx-templategrid[class*="tg-col"].tg-col-xs-8 .mx-templategrid-item{width:66.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-xs-7 .mx-templategrid-item{width:58.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-xs-6 .mx-templategrid-item{width:50% !important}.mx-templategrid[class*="tg-col"].tg-col-xs-5 .mx-templategrid-item{width:41.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-xs-4 .mx-templategrid-item{width:33.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-xs-3 .mx-templategrid-item{width:25% !important}.mx-templategrid[class*="tg-col"].tg-col-xs-2 .mx-templategrid-item{width:16.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-xs-1 .mx-templategrid-item{width:8.33333333% !important}@media (min-width: 768px){.mx-templategrid[class*="tg-col"].tg-col-sm-12 .mx-templategrid-item{width:100% !important}.mx-templategrid[class*="tg-col"].tg-col-sm-11 .mx-templategrid-item{width:91.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-sm-10 .mx-templategrid-item{width:83.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-sm-9 .mx-templategrid-item{width:75% !important}.mx-templategrid[class*="tg-col"].tg-col-sm-8 .mx-templategrid-item{width:66.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-sm-7 .mx-templategrid-item{width:58.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-sm-6 .mx-templategrid-item{width:50% !important}.mx-templategrid[class*="tg-col"].tg-col-sm-5 .mx-templategrid-item{width:41.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-sm-4 .mx-templategrid-item{width:33.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-sm-3 .mx-templategrid-item{width:25% !important}.mx-templategrid[class*="tg-col"].tg-col-sm-2 .mx-templategrid-item{width:16.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-sm-1 .mx-templategrid-item{width:8.33333333% !important}}@media (min-width: 992px){.mx-templategrid[class*="tg-col"].tg-col-md-12 .mx-templategrid-item{width:100% !important}.mx-templategrid[class*="tg-col"].tg-col-md-11 .mx-templategrid-item{width:91.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-md-10 .mx-templategrid-item{width:83.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-md-9 .mx-templategrid-item{width:75% !important}.mx-templategrid[class*="tg-col"].tg-col-md-8 .mx-templategrid-item{width:66.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-md-7 .mx-templategrid-item{width:58.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-md-6 .mx-templategrid-item{width:50% !important}.mx-templategrid[class*="tg-col"].tg-col-md-5 .mx-templategrid-item{width:41.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-md-4 .mx-templategrid-item{width:33.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-md-3 .mx-templategrid-item{width:25% !important}.mx-templategrid[class*="tg-col"].tg-col-md-2 .mx-templategrid-item{width:16.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-md-1 .mx-templategrid-item{width:8.33333333% !important}}@media (min-width: 1200px){.mx-templategrid[class*="tg-col"].tg-col-lg-12 .mx-templategrid-item{width:100% !important}.mx-templategrid[class*="tg-col"].tg-col-lg-11 .mx-templategrid-item{width:91.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-lg-10 .mx-templategrid-item{width:83.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-lg-9 .mx-templategrid-item{width:75% !important}.mx-templategrid[class*="tg-col"].tg-col-lg-8 .mx-templategrid-item{width:66.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-lg-7 .mx-templategrid-item{width:58.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-lg-6 .mx-templategrid-item{width:50% !important}.mx-templategrid[class*="tg-col"].tg-col-lg-5 .mx-templategrid-item{width:41.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-lg-4 .mx-templategrid-item{width:33.33333333% !important}.mx-templategrid[class*="tg-col"].tg-col-lg-3 .mx-templategrid-item{width:25% !important}.mx-templategrid[class*="tg-col"].tg-col-lg-2 .mx-templategrid-item{width:16.66666667% !important}.mx-templategrid[class*="tg-col"].tg-col-lg-1 .mx-templategrid-item{width:8.33333333% !important}}p{line-height:1.78571}label{padding-top:0}.mx-title{margin:15px 0 30px 0;color:#17347B;font-size:31px;font-weight:normal}h1,.h1,.h1>*{font-size:31px}h2,.h2,.h2>*{font-size:26px}h3,.h3,.h3>*{font-size:24px}h4,.h4,.h4>*{font-size:18px}h5,.h5,.h5>*{font-size:14px}h6,.h6,.h6>*{font-size:12px}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin:15px 0 30px 0;color:#17347B;font-weight:normal;line-height:1.3}.text-small{font-size:12px !important}.text-large{font-size:16px !important}.text-light,.text-light>*,.text-light label{font-weight:100 !important}.text-normal,.text-normal>*,.text-normal label{font-weight:normal !important}.text-semibold,.text-semibold>*,.text-semibold label{font-weight:600 !important}.text-bold,.text-bold>*,.text-bold label{font-weight:bold !important}.text-default,.text-default:hover{color:#555 !important}.text-primary,.text-primary:hover{color:#0595DB !important}.text-info,.text-info:hover{color:#48B0F7 !important}.text-success,.text-success:hover{color:#76CA02 !important}.text-warning,.text-warning:hover{color:#F99B1D !important}.text-danger,.text-danger:hover{color:#ED1C24 !important}.text-header{color:#17347B !important}.text-detail{color:#888 !important}.text-white{color:#ffffff}.text-left{text-align:left !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-justify{text-align:justify !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-break{word-break:break-all !important;word-break:break-word !important;-ms-word-break:break-all !important;-webkit-hyphens:auto !important;-moz-hyphens:auto !important;hyphens:auto !important}.text-nowrap{white-space:nowrap !important}.text-nowrap{overflow:hidden !important;max-width:100% !important;white-space:nowrap !important;text-overflow:ellipsis !important}.mx-layoutgrid{width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.row::before,.row::after{content:normal}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width: 576px){.mx-layoutgrid-fixed{max-width:540px}}@media (min-width: 768px){.mx-layoutgrid-fixed{max-width:720px}}@media (min-width: 992px){.mx-layoutgrid-fixed{max-width:960px}}@media (min-width: 1200px){.mx-layoutgrid-fixed{max-width:1140px}}@media (min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.mx-progress{color:#555;background:#F5F8FD}.mx-progress .mx-progress-message{color:#555}.mx-progress .mx-progress-indicator{position:relative;overflow:hidden;width:100%;max-width:100%;height:2px;margin:auto;padding:0;border-radius:0;background:#eee}.mx-progress .mx-progress-indicator:before,.mx-progress .mx-progress-indicator:after{position:absolute;top:0;left:0;display:block;width:50%;height:2px;content:"";transform:translate3d(-100%, 0, 0);background:#0595DB}.mx-progress .mx-progress-indicator::before{animation:loader 2s infinite}.mx-progress .mx-progress-indicator::after{animation:loader 2s -2s infinite}@keyframes loader{0%{transform:translate3d(-100%, 0, 0)}100%{transform:translate3d(200%, 0, 0)}}.d-none{display:none !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.show,.d-block{display:block !important}.table,.d-table{display:table !important}.table-row,.d-table-row{display:table-row !important}.table-cell,.d-table-cell{display:table-cell !important}.hide,.hidden{display:none !important;visibility:hidden !important}.invisible{visibility:hidden !important}.display-ie8-only:not([attr*=""]){display:none !important;padding:0 !important}.list-nostyle ul{margin:0 !important;padding:0 !important}.list-nostyle ul li{list-style-type:none !important}.nowrap,.nowrap *{overflow:hidden !important;white-space:nowrap !important;text-overflow:ellipsis !important}.table{display:table !important}.table-row{display:table-row !important}.table-cell{display:table-cell !important}.pull-left{float:left !important}.pull-right{float:right !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.row-left{display:flex !important;align-items:center !important;flex-flow:row !important;justify-content:flex-start !important}.row-center{display:flex !important;align-items:center !important;flex-flow:row !important;justify-content:center !important}.row-right{display:flex !important;align-items:center !important;flex-flow:row !important;justify-content:flex-end !important}.col-left{display:flex !important;align-items:flex-start !important;flex-direction:column !important;justify-content:center !important}.col-center{display:flex !important;align-items:center !important;flex-direction:column !important;justify-content:center !important}.col-right{display:flex !important;align-items:flex-end !important;flex-direction:column !important;justify-content:center !important}@media (max-width: 767px){.hide-phone{display:none !important}}@media (min-width: 768px) and (max-width: 991px){.hide-tablet{display:none !important}}@media (min-width: 992px){.hide-desktop{display:none !important}}@media (max-width: 575px){.hide-xs,.hidden-xs,.d-xs-none{display:none !important}.d-xs-flex{display:flex !important}.d-xs-inline-flex{display:inline-flex !important}.d-xs-inline{display:inline !important}.d-xs-inline-block{display:inline-block !important}.d-xs-block{display:block !important}.d-xs-table{display:table !important}.d-xs-table-row{display:table-row !important}.d-xs-table-cell{display:table-cell !important}}@media (min-width: 576px) and (max-width: 767px){.hide-sm,.hidden-sm,.d-sm-none{display:none !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}}@media (min-width: 768px) and (max-width: 991px){.hide-md,.hidden-md,.d-md-none{display:none !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}}@media (min-width: 992px) and (max-width: 1200px){.hide-lg,.hidden-lg,.d-lg-none{display:none !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}}@media (min-width: 1200px){.hide-xl,.hidden-xl,.d-xl-none{display:none !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}}.mx-tooltip .dijitTooltipContainer{border-width:1px;border-color:#888;border-radius:4px;background:#ffffff;box-shadow:0 6px 12px rgba(0,0,0,0.175)}.mx-tooltip .dijitTooltipContainer .mx-tooltip-content{padding:10px}.mx-tooltip .dijitTooltipContainer .form-group{margin-bottom:5px}.mx-tooltip .dijitTooltipConnector{width:0;height:0;margin-left:-10px;border-width:10px 10px 10px 0;border-style:solid;border-color:transparent;border-right-color:#888}.dijitBorderContainer{padding:5px;background-color:#fcfcfc}.dijitBorderContainer .dijitSplitterV,.dijitBorderContainer .dijitGutterV{width:5px;border:0;background:#fcfcfc}.dijitBorderContainer .dijitSplitterH,.dijitBorderContainer .dijitGutterH{height:5px;border:0;background:#fcfcfc}.dijitBorderContainer .dijitSplitterH .dijitSplitterThumb{top:2px;width:19px;height:1px;background:#b0b0b0}.dijitBorderContainer .dijitSplitterV .dijitSplitterThumb{left:2px;width:1px;height:19px;background:#b0b0b0}.dijitBorderContainer .dijitSplitContainer-child,.dijitBorderContainer .dijitBorderContainer-child{border:1px solid #cccccc}.dijitBorderContainer .dijitBorderContainer-dijitTabContainerTop,.dijitBorderContainer .dijitBorderContainer-dijitTabContainerBottom,.dijitBorderContainer .dijitBorderContainer-dijitTabContainerLeft,.dijitBorderContainer .dijitBorderContainer-dijitTabContainerRight{border:none}.dijitBorderContainer .dijitBorderContainer-dijitBorderContainer{padding:0;border:none}.dijitBorderContainer .dijitSplitterActive{margin:0;opacity:0.6;background-color:#aaaaaa;background-image:none;font-size:1px;filter:alpha(opacity=60)}.dijitBorderContainer .dijitSplitContainer-dijitContentPane,.dijitBorderContainer .dijitBorderContainer-dijitContentPane{padding:5px;background-color:#ffffff}.dijitMenuPopup{margin-top:10px}.dijitMenuPopup .dijitMenu{display:block;width:200px !important;margin-top:0;padding:12px 10px;border-radius:3px;background:#252C36}.dijitMenuPopup .dijitMenu:after{position:absolute;bottom:100%;left:20px;width:0;height:0;margin-left:-10px;content:' ';pointer-events:none;border:medium solid transparent;border-width:10px;border-bottom-color:#252C36}.dijitMenuPopup .dijitMenu .dijitMenuItem{background:transparent}.dijitMenuPopup .dijitMenu .dijitMenuItem .dijitMenuItemLabel{display:block;overflow:hidden;width:180px !important;padding:10px;text-overflow:ellipsis;color:#ffffff;border-radius:3px}.dijitMenuPopup .dijitMenu .dijitMenuItem.dijitMenuItemHover{background:none}.dijitMenuPopup .dijitMenu .dijitMenuItem.dijitMenuItemHover .dijitMenuItemLabel{background:#0595DB}.dijitMenuPopup .dijitMenu .tg_newlabelmenuitem .dijitMenuItemLabel{font-weight:bold}.dijitMenuPopup .dijitMenu .dijitMenuSeparator td{padding:0;border-bottom-width:3px}.dijitMenuPopup .dijitMenu .dijitMenuSeparator .dijitMenuSeparatorIconCell>div{margin:0}div.widget-progress-bar .progress-bar-default{background-color:#ddd}div.widget-progress-bar .progress-bar-primary{background-color:#0595DB}div.widget-progress-bar .progress-bar-success{background-color:#76CA02}div.widget-progress-bar .progress-bar-info{background-color:#48B0F7}div.widget-progress-bar .progress-bar-warning{background-color:#F99B1D}div.widget-progress-bar .progress-bar-danger{background-color:#ED1C24}div.widget-progress-bar .progress-bar-inverse{background-color:#252C36}div.widget-progress-bar-alert.widget-progress-bar-text-contrast .progress-bar{color:#8e1116}div.widget-progress-bar-text-contrast .progress-bar{color:#555}path.widget-progress-circle-path{stroke:#0595DB}.widget-progress-circle-primary path.widget-progress-circle-path{stroke:#0595DB}.widget-progress-circle-primary .progressbar-text{color:#0595DB !important}.widget-progress-circle-info path.widget-progress-circle-path{stroke:#48B0F7}.widget-progress-circle-info .progressbar-text{color:#48B0F7 !important}.widget-progress-circle-success path.widget-progress-circle-path{stroke:#76CA02}.widget-progress-circle-success .progressbar-text{color:#76CA02 !important}.widget-progress-circle-warning path.widget-progress-circle-path{stroke:#F99B1D}.widget-progress-circle-warning .progressbar-text{color:#F99B1D !important}.widget-progress-circle-danger path.widget-progress-circle-path{stroke:#ED1C24}.widget-progress-circle-danger .progressbar-text{color:#ED1C24 !important}.widget-progress-circle-inverse path.widget-progress-circle-path{stroke:#252C36}.widget-progress-circle-inverse .progressbar-text{color:#252C36 !important}div.widget-range-slider .rc-slider-handle,div.widget-range-slider .rc-slider-dot-active{border-color:#ddd}div.widget-range-slider .rc-slider-handle:active,div.widget-range-slider .rc-slider-dot-active:active{border-color:#ddd;box-shadow:none}div.widget-range-slider .rc-slider-handle:hover,div.widget-range-slider .rc-slider-dot-active:hover{border-color:#ddd}div.widget-range-slider.has-error .rc-slider-track,div.widget-range-slider.has-error .rc-slider-rail{background-color:#ED1C24}div.widget-range-slider-primary .rc-slider-track{background-color:#0595DB}div.widget-range-slider-info .rc-slider-track{background-color:#48B0F7}div.widget-range-slider-success .rc-slider-track{background-color:#76CA02}div.widget-range-slider-warning .rc-slider-track{background-color:#F99B1D}div.widget-range-slider-danger .rc-slider-track{background-color:#ED1C24}div.widget-range-slider-inverse .rc-slider-track{background-color:#252C36}div.widget-slider .rc-slider-handle,div.widget-slider .rc-slider-dot-active{border-color:#ddd}div.widget-slider .rc-slider-handle:active,div.widget-slider .rc-slider-dot-active:active{border-color:#ddd}div.widget-slider .rc-slider-handle:hover,div.widget-slider .rc-slider-dot-active:hover{border-color:#ddd}div.widget-slider.has-error .rc-slider-track,div.widget-slider.has-error .rc-slider-rail{background-color:#ED1C24}div.widget-slider-primary .rc-slider-track{background-color:#0595DB}div.widget-slider-info .rc-slider-track{background-color:#48B0F7}div.widget-slider-success .rc-slider-track{background-color:#76CA02}div.widget-slider-warning .rc-slider-track{background-color:#F99B1D}div.widget-slider-danger .rc-slider-track{background-color:#ED1C24}div.widget-slider-inverse .rc-slider-track{background-color:#252C36}span.widget-star-rating-full-default{color:#ddd}span.widget-star-rating-full-primary{color:#0595DB}span.widget-star-rating-full-success{color:#76CA02}span.widget-star-rating-full-info{color:#48B0F7}span.widget-star-rating-full-warning{color:#F99B1D}span.widget-star-rating-full-danger{color:#ED1C24}span.widget-star-rating-full-inverse{color:#252C36}.widget-switch-btn-wrapper:focus{outline:1px solid #0595DB}div.widget-switch.iOS .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-default{border-color:#64bd63;background-color:#64bd63;box-shadow:#64bd63 0 0 0 16px inset}div.widget-switch.iOS .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-success{border-color:#76CA02;background-color:#76CA02;box-shadow:#76CA02 0 0 0 16px inset}div.widget-switch.iOS .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-info{border-color:#48B0F7;background-color:#48B0F7;box-shadow:#48B0F7 0 0 0 16px inset}div.widget-switch.iOS .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-primary{border-color:#0595DB;background-color:#0595DB;box-shadow:#0595DB 0 0 0 16px inset}div.widget-switch.iOS .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-warning{border-color:#F99B1D;background-color:#F99B1D;box-shadow:#F99B1D 0 0 0 16px inset}div.widget-switch.iOS .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-danger{border-color:#ED1C24;background-color:#ED1C24;box-shadow:#ED1C24 0 0 0 16px inset}div.widget-switch.iOS .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-inverse{border-color:#252C36;background-color:#252C36;box-shadow:#252C36 0 0 0 16px inset}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-default{background-color:#92cec7}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-default .widget-switch-btn{background:#6FBEB5}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-success{background-color:#94fd03}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-success .widget-switch-btn{background:#76CA02}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-info{background-color:#79c5f9}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-info .widget-switch-btn{background:#48B0F7}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-primary{background-color:#19b0fa}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-primary .widget-switch-btn{background:#0595DB}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-warning{background-color:#fab14f}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-warning .widget-switch-btn{background:#F99B1D}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-danger{background-color:#f14b52}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-danger .widget-switch-btn{background:#ED1C24}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-inverse{background-color:#3a4554}div.widget-switch.android .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-inverse .widget-switch-btn{background:#252C36}div.widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-default{border-color:#64bd63;background-color:#64bd63;box-shadow:#64bd63 0 0 0 16px inset}div.widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-success{border-color:#76CA02;background-color:#76CA02;box-shadow:#76CA02 0 0 0 16px inset}div.widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-info{border-color:#48B0F7;background-color:#48B0F7;box-shadow:#48B0F7 0 0 0 16px inset}div.widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-primary{border-color:#0595DB;background-color:#0595DB;box-shadow:#0595DB 0 0 0 16px inset}div.widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-warning{border-color:#F99B1D;background-color:#F99B1D;box-shadow:#F99B1D 0 0 0 16px inset}div.widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-danger{border-color:#ED1C24;background-color:#ED1C24;box-shadow:#ED1C24 0 0 0 16px inset}div.widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-inverse{border-color:#252C36;background-color:#252C36;box-shadow:#252C36 0 0 0 16px inset}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-default{background-color:#92cec7}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-default .widget-switch-btn{background:#6FBEB5}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-success{background-color:#94fd03}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-success .widget-switch-btn{background:#76CA02}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-info{background-color:#79c5f9}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-info .widget-switch-btn{background:#48B0F7}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-primary{background-color:#19b0fa}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-primary .widget-switch-btn{background:#0595DB}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-warning{background-color:#fab14f}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-warning .widget-switch-btn{background:#F99B1D}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-danger{background-color:#f14b52}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-danger .widget-switch-btn{background:#ED1C24}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-inverse{background-color:#3a4554}html div.dj_android .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-inverse .widget-switch-btn{background:#252C36}html div.dj_ios .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-default{border-color:#64bd63;background-color:#64bd63;box-shadow:#64bd63 0 0 0 16px inset}html div.dj_ios .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-success{border-color:#76CA02;background-color:#76CA02;box-shadow:#76CA02 0 0 0 16px inset}html div.dj_ios .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-info{border-color:#48B0F7;background-color:#48B0F7;box-shadow:#48B0F7 0 0 0 16px inset}html div.dj_ios .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-primary{border-color:#0595DB;background-color:#0595DB;box-shadow:#0595DB 0 0 0 16px inset}html div.dj_ios .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-warning{border-color:#F99B1D;background-color:#F99B1D;box-shadow:#F99B1D 0 0 0 16px inset}html div.dj_ios .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-danger{border-color:#ED1C24;background-color:#ED1C24;box-shadow:#ED1C24 0 0 0 16px inset}html div.dj_ios .widget-switch.auto .widget-switch-btn-wrapper.checked.widget-switch-btn-wrapper-inverse{border-color:#252C36;background-color:#252C36;box-shadow:#252C36 0 0 0 16px inset}.breadcrumb{margin:0;padding:0;border-radius:0;background-color:transparent;font-size:14px}.breadcrumb-item{display:inline-block;margin:0}.breadcrumb-item:last-child{color:#555}.breadcrumb-item:last-child a{text-decoration:none}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:10px;padding-left:10px;content:"/";color:#888}.breadcrumb-large{font-size:24px}.breadcrumb-underline{padding-bottom:15px;border-bottom:1px solid #D7D7D7}.card{padding:30px;border:1px solid #D7D7D7;border-radius:4px;background-color:#FFFFFF}.card-title{margin-top:0}.cardaction .card-image .glyphicon{font-size:58px}.cardmetrics .card-title{margin-bottom:0}.cardmetrics .card-image{width:100px;height:auto}.cardmetrics .card-image.btn{width:100px;height:100px;padding:0;cursor:default;pointer-events:none;font-size:40px}.cardmetrics .card-counter{margin:0;font-size:64px}.cardinfo .card-text{margin-bottom:30px}.textwithicon{overflow:hidden;max-width:100%;margin-bottom:15px;text-overflow:ellipsis}.textwithicon .textwithicon-icon,.textwithicon .textwithicon-text{display:inline-block;vertical-align:middle}.textwithicon .textwithicon-icon{margin-right:15px;padding:0;color:#0595DB;border:0;background:transparent;font-size:23px}.socialprofiles .socialprofiles-title{display:block;margin-bottom:10px;font-weight:bold}.socialprofiles .socialprofiles-button{width:24px;height:24px;margin-right:15px;padding:0;border-radius:24px}.socialprofiles .socialprofiles-button .glyphicon{margin:0}.cardtabs{padding:0}.cardtabs-tabs{margin:0}.cardtabs-tabs ul.mx-tabcontainer-tabs{display:flex;margin:0;background-color:#f7f7f7}.cardtabs-tabs ul.mx-tabcontainer-tabs li{flex:1 1 auto;text-align:center}.cardtabs-tabs ul.mx-tabcontainer-tabs li a,.cardtabs-tabs ul.mx-tabcontainer-tabs li a:hover,.cardtabs-tabs ul.mx-tabcontainer-tabs li a:focus{border-top-width:0;border-right-width:1px;border-left-width:0}.cardtabs-tabs ul.mx-tabcontainer-tabs li:first-child a{border-radius:4px 0 0 0}.cardtabs-tabs ul.mx-tabcontainer-tabs li:last-child a{border-radius:0 4px 0 0}@media (max-width: 767px){.cardtabs-tabs .mx-tabcontainer-pane{padding:15px}}@media (min-width: 768px){.cardtabs-tabs .mx-tabcontainer-pane{padding:30px}}@media (min-width: 992px){.cardtabs-tabs .mx-tabcontainer-pane{padding:30px}}.cardproduct,.cardproduct2,.cardproduct3{padding:0}.cardproduct-header{position:relative;overflow:hidden;height:200px}.cardproduct-header .card-image{position:absolute;top:0;left:0;width:100%;height:auto}.cardproduct-overlay{position:absolute;bottom:0;left:0;width:100%;padding:20px 30px;background:rgba(0,0,0,0.6)}.cardproduct-overlay-category,.cardproduct-overlay-title{margin:0;color:#FFFFFF}.cardproduct-footer .col{padding:20px 30px}.cardproduct-footer .col .widget-star-rating-font{font-size:20px}.cardproduct-name{margin:0}.cardproduct-btn{display:flex;align-items:center;height:100%;padding:30px;border-left:1px solid #D7D7D7}.cardproduct2 .cardproduct-header::after{position:absolute;bottom:0;left:0;display:block;width:100%;padding:20px 30px;content:"";background:rgba(0,0,0,0.6);background:-moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(250,250,250,0) 2%, rgba(0,0,0,0.99) 99%, #000 100%);background:-webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(250,250,250,0) 2%, rgba(0,0,0,0.99) 99%, #000 100%);background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(250,250,250,0) 2%, rgba(0,0,0,0.99) 99%, #000 100%)}.cardproduct3 .cardproduct-header{height:320px}.cardproduct3 .cardproduct-header img{width:100%;height:100%;object-fit:cover}.cardproduct3 .cardproduct-overlay{min-height:100px;padding:30px;background:-moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(250,250,250,0) 8%, rgba(0,0,0,0.99) 121%, #000 100%);background:-webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(250,250,250,0) 8%, rgba(0,0,0,0.99) 121%, #000 100%);background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(250,250,250,0) 8%, rgba(0,0,0,0.99) 121%, #000 100%);font-size:14px}.cardstatus{padding:20px}.cardstatus .card-linkicon{font-size:30px}.cardstatus .cardstatus-status{margin-bottom:5px}.cardprogress-state{width:80px;height:80px;padding:0;cursor:default;pointer-events:none;border-radius:100%;font-size:28px}.cardhighlight{border-top:4px solid #0595DB}.cardchat{overflow:hidden;padding:0}.cardchat .chat{height:400px}@media screen and (max-width: 991px){.widget-charts:not([height]),.widget-charts-line:not([height]){padding-bottom:80% !important}}@media screen and (max-width: 1199px){.cardprogress .cardprogress-state{width:60px;height:60px;font-size:24px}}.chat{display:flex;flex-direction:column;height:100%;background-color:#F5F8FD}.chat-content{display:flex;overflow:auto;flex:1;flex-direction:column;justify-content:flex-end}.chat-content .chat-list{position:relative;overflow:auto}.chat-content .chat-list ul{display:flex;flex-direction:column-reverse;margin-bottom:15px}.chat-content .chat-list li{padding:15px 30px;animation:fadeIn 0.2s;background-color:transparent;animation-fill-mode:both}.chat-content .chat-list li,.chat-content .chat-list li:last-child{border:0}.chat-content .chat-list .mx-listview-loadMore{position:absolute;top:0;right:0;left:0;display:block;width:50%;margin:15px auto;color:#FFFFFF;background-color:#0595DB;box-shadow:0 2px 20px 0 rgba(0,0,0,0.05)}.chat-message{display:flex}.chat-avatar{margin:0 20px 0 0;border-radius:50%}.chat-message-content{display:inline-flex;flex-direction:column}.chat-message-balloon{position:relative;display:flex;flex-direction:column;padding:10px 15px;border-radius:5px;background-color:#fff}.chat-message-balloon::after{position:absolute;top:10px;right:100%;width:0;height:0;content:'';border:10px solid transparent;border-top:0;border-right-color:#fff;border-left:0}.chat-message-time{padding-top:2px}.chat-message-time .form-control-static,.chat-message-time .form-group div[class*='textBox']>.control-label,.form-group .chat-message-time div[class*='textBox']>.control-label,.chat-message-time .form-group div[class*='textArea']>.control-label,.form-group .chat-message-time div[class*='textArea']>.control-label,.chat-message-time .form-group div[class*='datePicker']>.control-label,.form-group .chat-message-time div[class*='datePicker']>.control-label{border:0}.chat-footer{z-index:1;padding:15px;background-color:#fff;box-shadow:0 2px 20px 0 rgba(0,0,0,0.05)}.chat-input{display:flex}.chat-input .chat-textbox{flex:1;margin-right:30px;margin-bottom:0}.chat-input .chat-textbox .form-control{border:0}.chat-message-self{justify-content:flex-end}.chat-message-self .chat-avatar{margin:0 0 0 20px}.chat-message-self .chat-message-balloon{background-color:#cdeaf8}.chat-message-self .chat-message-balloon::after{left:100%;border:10px solid transparent;border-top:0;border-right:0;border-left-color:#cdeaf8}.chat-message-self .chat-message-time{text-align:right}.controlgroup .btn,.controlgroup .btn-group{margin-right:5px;margin-bottom:5px}.controlgroup .btn:last-child,.controlgroup .btn-group:last-child{margin-right:0}.controlgroup .btn .btn,.controlgroup .btn-group .btn{margin-right:0;margin-bottom:0}.controlgroup .btn-group .btn+.btn{margin-left:-1px}.fullpageblock{position:relative;height:100%;min-height:100%}.fullpageblock .fullheight{height:100% !important}.fullpageblock .fullheight>.mx-dataview-content{height:inherit !important}.fullpageblock .fullpage-overlay{position:absolute;z-index:10;bottom:0;left:0;width:100%}.pageheader{border-bottom:1px solid #D7D7D7;background:#F5F8FD}.mx-scrollcontainer .mx-placeholder .mx-layoutgrid .pageheader{background:transparent}@media (max-width: 767px){.mx-scrollcontainer .mx-placeholder .mx-layoutgrid .pageheader{margin-bottom:15px}}@media (min-width: 768px){.mx-scrollcontainer .mx-placeholder .mx-layoutgrid .pageheader{margin-bottom:30px}}@media (min-width: 992px){.mx-scrollcontainer .mx-placeholder .mx-layoutgrid .pageheader{margin-bottom:30px}}@media (max-width: 767px){.mx-scrollcontainer .mx-placeholder .mx-layoutgrid .pageheader{padding-bottom:15px}}@media (min-width: 768px){.mx-scrollcontainer .mx-placeholder .mx-layoutgrid .pageheader{padding-bottom:30px}}@media (min-width: 992px){.mx-scrollcontainer .mx-placeholder .mx-layoutgrid .pageheader{padding-bottom:30px}}.pageheader-type{margin:0}.pageheader-title{margin:0}.pageheader-subtitle{margin:0}.pageheaderwithsearch .pageheader-title{margin-bottom:1em}.heroheader{border-bottom:1px solid #D7D7D7;background:#F5F8FD}.heroheader-title{margin:0 0 10px 0}.heroheader-subtitle{margin:0;padding:0 15px}.heroheader-subtitle::before{display:block;max-width:330px;height:1px;margin:auto auto 10px auto;content:"";background-color:#e1e1e1}.heroheader1{background-image:linear-gradient(152deg, #0CC7F0 0%, #087ECC 51%, #077AC9 55%, #0659B9 78%)}.heroheader1 .heroheader-title{margin-bottom:10px;color:#FFFFFF}.heroheader1 .heroheader-subtitle{padding:0;color:#FFFFFF}.heroheader1 .heroheader-subtitle::before{display:none}.heroheadermap{padding:0 !important}.heroheadermap-controls{padding:30px;background:#F5F8FD}.heroheaderproduct{position:relative;overflow:hidden;height:300px;background-color:#000000}.heroheaderproduct .heroheaderproduct-backgroundimage{position:absolute;z-index:0;top:0;width:100%;opacity:0.7;filter:blur(5px)}.heroheaderproduct .heroheaderproduct-overlay{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%, -50%)}.heroheaderexpense .heroheaderexpense-title{font-size:72px}.heroheaderexpense .heroheaderexpense-type{align-items:center}.heroheaderexpense .heroheaderexpense-type::before{flex-grow:1;height:1px;margin-right:10px;content:"";background-color:#D2D2D2}.formblock-title{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #D7D7D7}.masterdetail .masterdetail-master .controlgroup{margin-bottom:15px}@media (max-width: 992px) and (max-width: 767px){.masterdetail .masterdetail-master{margin-bottom:15px}}@media (max-width: 992px) and (min-width: 768px){.masterdetail .masterdetail-master{margin-bottom:30px}}@media (max-width: 992px) and (min-width: 992px){.masterdetail .masterdetail-master{margin-bottom:30px}}@media (min-width: 992px){.masterdetail .masterdetail-master{border-right:1px solid #D7D7D7}.masterdetail .masterdetail-master .mx-listview-searchbar{margin:15px}.masterdetail .masterdetail-master .controlgroup{padding:15px;border-bottom:1px solid #D7D7D7}}@media (min-width: 992px) and (max-width: 767px){.masterdetail .masterdetail-detail{padding:15px 15px 15px 15px}}@media (min-width: 992px) and (min-width: 768px){.masterdetail .masterdetail-detail{padding:30px 30px 30px 30px}}@media (min-width: 992px) and (min-width: 992px){.masterdetail .masterdetail-detail{padding:30px 30px 30px 30px}}@media (max-width: 767px){.masterdetailvertical .masterdetail-master{margin-bottom:15px}}@media (min-width: 768px){.masterdetailvertical .masterdetail-master{margin-bottom:30px}}@media (min-width: 992px){.masterdetailvertical .masterdetail-master{margin-bottom:30px}}@media (max-width: 767px){.masterdetailvertical .masterdetail-detail{padding-top:15px}}@media (min-width: 768px){.masterdetailvertical .masterdetail-detail{padding-top:30px}}@media (min-width: 992px){.masterdetailvertical .masterdetail-detail{padding-top:30px}}.wizard{display:flex;justify-content:space-between}.wizard .wizard-step{position:relative;width:100%;text-align:center}.wizard .wizard-step::before{position:absolute;z-index:-1;top:30px;display:block;width:100%;height:2px;content:"";background-color:#D7D7D7}.wizard .wizard-step .wizard-step-number{width:60px;height:60px;border-color:#D7D7D7;border-radius:50%;background-color:#FFFFFF;font-size:20px}.wizard .wizard-step .wizard-step-text{display:block;margin-top:15px}.wizard .wizard-step-active .wizard-step-number{color:#FFFFFF;border-color:#0595DB;background-color:#0595DB}.wizard .wizard-step-active .wizard-step-text{color:#0595DB}.wizard .wizard-step-visited .wizard-step-number{color:#FFFFFF;border-color:#76CA02;background-color:#76CA02}.wizardprogress{display:flex;justify-content:space-between}.wizardprogress .wizard-step-text{width:100%}.wizardprogress .wizard-step{position:relative;width:100%;height:50px;margin-left:-25px;padding-left:25px;border:1px solid #D7D7D7;background:#FFFFFF}.wizardprogress .wizard-step a{display:block;overflow:hidden;width:100%;height:100%;padding:14px;white-space:nowrap;text-decoration:none;text-overflow:ellipsis;color:#555}.wizardprogress .wizard-step::before,.wizardprogress .wizard-step::after{position:absolute;z-index:1;left:100%;margin-left:-25px;content:" ";border-style:solid;border-color:transparent}.wizardprogress .wizard-step::after{top:1px;border-width:24px;border-left-color:#FFFFFF}.wizardprogress .wizard-step::before{top:0;border-width:25px;border-left-color:#D7D7D7}.wizardprogress .wizard-step:first-child{margin-left:0;padding-left:0;border-radius:5px 0 0 5px}.wizardprogress .wizard-step:last-child{border-radius:0 5px 5px 0}.wizardprogress .wizard-step:last-child::before,.wizardprogress .wizard-step:last-child::after{display:none}.wizardprogress .wizard-step-active{background:#0595DB}.wizardprogress .wizard-step-active a{text-decoration:none;color:#FFFFFF}.wizardprogress .wizard-step-active::after{border-left-color:#0595DB}.wizardprogress .wizard-step-visited a{color:#0595DB}.timeline .timeline-header{display:inline-block;width:110px;padding:8px;text-align:center;border:1px solid #D7D7D7;border-radius:30px}.timeline-itemwrapper.mx-listview{margin-bottom:0;margin-left:55px;padding:30px 0;border-left:1px solid #D7D7D7}.timeline-itemwrapper.mx-listview>ul>li{position:relative;padding-left:30px}.timeline-itemwrapper.mx-listview>ul>li::before{position:absolute;top:5px;left:-5px;display:block;width:10px;height:10px;content:'';border-radius:50%;background-color:#0595DB}.timeline-itemwrapper.mx-listview li+li{margin-top:30px}.timeline2 .timeline-itemwrapper.mx-listview>ul>li{padding-left:15px}.layout-atlas .toggle-btn>.glyphicon{margin:0}.layout-atlas .region-sidebar{background-color:#252C36}.layout-atlas .region-sidebar .mx-navigationtree .navbar-inner>ul>li>a{padding:0 15px}.layout-atlas .region-sidebar .mx-navigationtree .navbar-inner>ul>li>a .glyphicon{margin-right:10px}.layout-atlas .region-sidebar .toggle-btn{border-color:transparent;border-radius:0;background:transparent}.layout-atlas .region-topbar{position:relative;z-index:1;min-height:60px;border-bottom:1px solid #D7D7D7;background-color:#fff;box-shadow:0 1px 4px 0 rgba(0,0,0,0.14)}.layout-atlas .region-topbar::before{z-index:1;display:block;width:100%;height:4px;content:"";background-color:#0595DB}.layout-atlas .region-topbar .topbar-content{display:flex;align-items:center;min-height:60px}.layout-atlas .region-topbar .toggle-btn{margin-right:15px;padding:5px}.layout-atlas .region-topbar .navbar-brand{display:inline-block;float:none;height:auto;padding:0;line-height:inherit}.layout-atlas .region-topbar .navbar-brand img{display:inline-block;width:auto;height:30px}.layout-atlas .region-topbar .navbar-brand a{margin-left:5px;color:#D7D7D7;font-size:20px}.layout-atlas .region-topbar .navbar-brand a:hover,.layout-atlas .region-topbar .navbar-brand a:focus{text-decoration:none}.layout-atlas .region-topbar .mx-navbar{display:inline-block;margin-left:15px;vertical-align:middle;background:transparent}.layout-atlas .region-topbar .mx-navbar>.mx-navbar-item>a{margin-top:5px;padding:0 20px}.layout-atlas-phone .region-topbar{min-height:45px;border-style:none;background-color:#fff}.layout-atlas-phone .region-topbar::before{display:none}@media (min-width: 768px){.layout-atlas-responsive-default .mx-scrollcontainer:not(.mx-scrollcontainer-open)>.region-sidebar{width:60px !important}.layout-atlas-responsive-default .mx-scrollcontainer:not(.mx-scrollcontainer-open)>.region-sidebar .mx-scrollcontainer-wrapper>.mx-navigationtree ul li.mx-navigationtree-has-items:hover a{background-color:#1d222a}.layout-atlas-responsive-default .mx-scrollcontainer:not(.mx-scrollcontainer-open)>.region-sidebar .mx-scrollcontainer-wrapper>.mx-navigationtree ul li.mx-navigationtree-has-items:hover ul{position:absolute;z-index:100;top:0;bottom:0;left:60px;display:block;overflow-y:auto;min-width:200px;padding-top:10px}.layout-atlas-responsive-default .mx-scrollcontainer:not(.mx-scrollcontainer-open)>.region-sidebar .mx-scrollcontainer-wrapper>.mx-navigationtree ul li.mx-navigationtree-collapsed ul,.layout-atlas-responsive-default .mx-scrollcontainer:not(.mx-scrollcontainer-open)>.region-sidebar .mx-scrollcontainer-wrapper>.mx-navigationtree ul li.mx-navigationtree-has-items ul{display:none}}.layout-atlas-responsive-default .mx-scrollcontainer-slide:not(.mx-scrollcontainer-open)>.region-sidebar{overflow:hidden}.layout-atlas-responsive-default .mx-scrollcontainer-slide.mx-scrollcontainer-open>.region-sidebar{width:60px !important}.layout-atlas-responsive-default .mx-scrollcontainer-slide.mx-scrollcontainer-open>.region-sidebar>.mx-scrollcontainer-wrapper{position:relative}.layout-atlas-responsive-default .mx-scrollcontainer-slide .region-sidebar>.mx-scrollcontainer-wrapper{z-index:2;left:0 !important;background-color:inherit}@media (max-width: 767px){.layout-atlas-responsive-default .mx-scrollcontainer-open:not(.mx-scrollcontainer-slide){width:1100px}.layout-atlas-responsive-default .mx-scrollcontainer-slide .toggle-btn{display:inline-block !important}}.layout-atlas-responsive-default .mx-scrollcontainer-slide:not(.mx-scrollcontainer-open)>.region-sidebar,.layout-atlas-responsive-default .mx-scrollcontainer-push:not(.mx-scrollcontainer-open)>.region-sidebar{visibility:hidden}.layout-atlas-responsive-default .region-sidebar .toggle-btn{width:60px;height:60px;border-color:transparent;border-radius:0;background:transparent}.layout-atlas-responsive-default .region-sidebar .mx-scrollcontainer-wrapper>.mx-navigationtree .navbar-inner>ul>li>a{height:60px}.layout-atlas-responsive-default .region-sidebar .mx-scrollcontainer-wrapper>.mx-navigationtree .navbar-inner>ul>li>a .glyphicon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:-5px;padding:10px;border-radius:3px}.layout-atlas-responsive-default .region-sidebar .mx-scrollcontainer-wrapper>.mx-navigationtree .navbar-inner>ul>li>a.active .glyphicon{background:#0595DB}.layout-atlas-responsive-default .region-topbar .toggle-btn,.layout-atlas-responsive-topbar .region-topbar .toggle-btn{display:none}@media (max-width: 767px){.layout-atlas-responsive-default .region-topbar .toggle-btn,.layout-atlas-responsive-topbar .region-topbar .toggle-btn{display:inline-block}}.profile-tablet .mx-scrollcontainer:not(.mx-scrollcontainer-open)>.region-sidebar{overflow-y:hidden}.profile-tablet .mx-scrollcontainer:not(.mx-scrollcontainer-open)>.region-sidebar .mx-scrollcontainer-wrapper{overflow:visible}.devicephone{width:420px;height:992px;margin:auto;padding:120px 40px;background:url(../../../resources/phone.png) no-repeat center center}.devicephone .deviceframe,.devicephone .deviceshadowwrapper{border-radius:40px}.devicetablet{width:1210px;height:1000px;margin:auto;padding:120px 100px;background:url(../../../resources/tablet.png) no-repeat center center}.devicetablet .deviceframe,.devicetablet .deviceshadowwrapper{border-radius:20px}.deviceframe{width:100%;height:100%;border:none}.deviceshadowwrapper{position:relative;width:100%;height:100%}.deviceshadow{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;content:'';pointer-events:none;box-shadow:inset 10px 0 10px -10px black, inset -10px 0 10px -10px black}.devicedisclaimer{margin-top:80px;padding:10px;text-align:center;color:#888;border-top:1px solid #D7D7D7;font-size:12px;line-height:20px} - -/*# sourceMappingURL=main.css.map */ diff --git a/theme/styles/web/css/main.css.map b/theme/styles/web/css/main.css.map deleted file mode 100644 index e487837..0000000 --- a/theme/styles/web/css/main.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"main.css","sources":["main.scss","core/_legacy/bootstrap/_bootstrap.scss","core/_legacy/bootstrap/_bootstrap-rtl.scss","core/_legacy/_mxui.scss","app/_custom-variables.scss","core/_variables.scss","core/base/mixins/_animations.scss","core/base/mixins/_spacing.scss","core/base/mixins/_layout-spacing.scss","core/base/mixins/_buttons.scss","core/base/mixins/_groupbox.scss","core/base/_animation.scss","core/base/_flex.scss","core/base/_spacing.scss","core/base/_reset.scss","core/base/_base.scss","core/base/_login.scss","core/widgets/_inputs.scss","core/widgets/_alerts.scss","core/helpers/_alerts.scss","core/helpers/_backgrounds.scss","core/widgets/_buttons.scss","core/helpers/_buttons.scss","core/widgets/_checkbox.scss","core/widgets/_grid.scss","core/widgets/_datagrids.scss","core/helpers/_datagrids.scss","core/widgets/_dataview.scss","core/widgets/_datepicker.scss","core/widgets/_header.scss","core/widgets/_glyphicons.scss","core/widgets/_groupbox.scss","core/helpers/_groupbox.scss","core/helpers/_images.scss","core/widgets/_labels.scss","core/helpers/_labels.scss","core/widgets/_listview.scss","core/helpers/_listview.scss","core/widgets/_modals.scss","core/widgets/_navigationbar.scss","core/helpers/_navigationbar.scss","core/widgets/_navigationlist.scss","core/widgets/_navigationtree.scss","core/helpers/_navigationtree.scss","core/widgets/_simplemenubar.scss","core/helpers/_simplemenubar.scss","core/widgets/_radiobuttons.scss","core/widgets/_tabcontainer.scss","core/helpers/_tabcontainer.scss","core/widgets/_tables.scss","core/helpers/_tables.scss","core/widgets/_templategrids.scss","core/helpers/_templategrids.scss","core/widgets/_typography.scss","core/helpers/_typography.scss","core/widgets/_layoutgrid.scss","core/widgets/_progress.scss","core/helpers/_helperclasses.scss","core/widgetscustom/_dijit-widgets.scss","core/widgetscustom/_progress-bar-theme.scss","core/widgetscustom/_progress-circle-theme.scss","core/widgetscustom/_range-slider-theme.scss","core/widgetscustom/_slider-theme.scss","core/widgetscustom/_star-rating-theme.scss","core/widgetscustom/_switchwidget.scss","ui_resources/atlas_ui_resources/buildingblocks/_breadcrumb.scss","ui_resources/atlas_ui_resources/buildingblocks/_card.scss","ui_resources/atlas_ui_resources/buildingblocks/_chat.scss","ui_resources/atlas_ui_resources/buildingblocks/_controlgroup.scss","ui_resources/atlas_ui_resources/buildingblocks/_pageblocks.scss","ui_resources/atlas_ui_resources/buildingblocks/_pageheader.scss","ui_resources/atlas_ui_resources/buildingblocks/_heroheader.scss","ui_resources/atlas_ui_resources/buildingblocks/_formblock.scss","ui_resources/atlas_ui_resources/buildingblocks/_master-detail.scss","ui_resources/atlas_ui_resources/buildingblocks/_userprofile.scss","ui_resources/atlas_ui_resources/buildingblocks/_wizard.scss","ui_resources/atlas_ui_resources/buildingblocks/_timeline.scss","ui_resources/atlas_ui_resources/layouts/_layout-atlas.scss","ui_resources/atlas_ui_resources/layouts/_layout-atlas-phone.scss","ui_resources/atlas_ui_resources/layouts/_layout-atlas-responsive.scss","ui_resources/atlas_ui_resources/layouts/_layout-atlas-tablet.scss","ui_resources/atlas_ui_resources/layouts/_layout-atlas-device-wrapper.scss","app/_custom.scss"],"sourcesContent":["// Utilities\n@import 'core/_legacy/bootstrap/bootstrap';\n@import 'core/_legacy/bootstrap/bootstrap-rtl';\n@import 'core/_legacy/mxui';\n\n// Custom variables\n@import 'app/custom-variables';\n\n//================================== CORE ==================================\\\\\n\n// Default variables\n@import 'core/variables';\n\n// Base\n@import 'core/base/mixins/animations';\n@import 'core/base/mixins/spacing';\n@import 'core/base/mixins/layout-spacing';\n@import 'core/base/mixins/buttons';\n@import 'core/base/mixins/groupbox';\n@import 'core/base/animation';\n@import 'core/base/flex';\n@import 'core/base/spacing';\n@import 'core/base/reset';\n@import 'core/base/base';\n@import 'core/base/login';\n\n// Widgets\n@import 'core/widgets/inputs';\n@import 'core/widgets/alerts';\n@import 'core/helpers/alerts';\n@import 'core/helpers/backgrounds';\n@import 'core/widgets/buttons';\n@import 'core/helpers/buttons';\n@import 'core/widgets/checkbox';\n@import 'core/widgets/grid';\n@import 'core/widgets/datagrids';\n@import 'core/helpers/datagrids';\n@import 'core/widgets/dataview';\n@import 'core/widgets/datepicker';\n@import 'core/widgets/header';\n@import 'core/widgets/glyphicons';\n@import 'core/widgets/groupbox';\n@import 'core/helpers/groupbox';\n@import 'core/helpers/images';\n@import 'core/widgets/labels';\n@import 'core/helpers/labels';\n@import 'core/widgets/listview';\n@import 'core/helpers/listview';\n@import 'core/widgets/modals';\n@import 'core/widgets/navigationbar';\n@import 'core/helpers/navigationbar';\n@import 'core/widgets/navigationlist';\n@import 'core/widgets/navigationtree';\n@import 'core/helpers/navigationtree';\n@import 'core/widgets/simplemenubar';\n@import 'core/helpers/simplemenubar';\n@import 'core/widgets/radiobuttons';\n@import 'core/widgets/tabcontainer';\n@import 'core/helpers/tabcontainer';\n@import 'core/widgets/tables';\n@import 'core/helpers/tables';\n@import 'core/widgets/templategrids';\n@import 'core/helpers/templategrids';\n@import 'core/widgets/typography';\n@import 'core/helpers/typography';\n@import 'core/widgets/layoutgrid';\n@import 'core/widgets/progress';\n@import 'core/helpers/helperclasses';\n\n// Custom widgets\n@import 'core/widgetscustom/dijit-widgets';\n@import 'core/widgetscustom/progress-bar-theme';\n@import 'core/widgetscustom/progress-circle-theme';\n@import 'core/widgetscustom/range-slider-theme';\n@import 'core/widgetscustom/slider-theme';\n@import 'core/widgetscustom/star-rating-theme';\n@import 'core/widgetscustom/switchwidget';\n\n//================================= CUSTOM =================================\\\\\n\n// Building blocks\n@import 'ui_resources/atlas_ui_resources/buildingblocks/breadcrumb';\n@import 'ui_resources/atlas_ui_resources/buildingblocks/card';\n@import 'ui_resources/atlas_ui_resources/buildingblocks/chat';\n@import 'ui_resources/atlas_ui_resources/buildingblocks/controlgroup';\n@import 'ui_resources/atlas_ui_resources/buildingblocks/pageblocks';\n@import 'ui_resources/atlas_ui_resources/buildingblocks/pageheader';\n@import 'ui_resources/atlas_ui_resources/buildingblocks/heroheader';\n@import 'ui_resources/atlas_ui_resources/buildingblocks/formblock';\n@import 'ui_resources/atlas_ui_resources/buildingblocks/master-detail';\n@import 'ui_resources/atlas_ui_resources/buildingblocks/userprofile';\n@import 'ui_resources/atlas_ui_resources/buildingblocks/wizard';\n@import 'ui_resources/atlas_ui_resources/buildingblocks/timeline';\n\n// Layouts\n@import 'ui_resources/atlas_ui_resources/layouts/layout-atlas';\n@import 'ui_resources/atlas_ui_resources/layouts/layout-atlas-phone';\n@import 'ui_resources/atlas_ui_resources/layouts/layout-atlas-responsive';\n@import 'ui_resources/atlas_ui_resources/layouts/layout-atlas-tablet';\n@import 'ui_resources/atlas_ui_resources/layouts/layout-atlas-device-wrapper';\n\n// Custom\n@import 'app/custom';\n","/*!\n * Bootstrap v3.3.4 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\nhtml {\n font-family: sans-serif;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n margin: 0.67em 0;\n font-size: 2em;\n}\nmark {\n color: #000;\n background: #ff0;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n height: 0;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n margin: 0;\n font: inherit;\n color: inherit;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type='button'],\ninput[type='reset'],\ninput[type='submit'] {\n -webkit-appearance: button;\n cursor: pointer;\n}\n//button[disabled],\n//html input[disabled] {\n// cursor: default;\n//}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type='checkbox'],\ninput[type='radio'] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type='number']::-webkit-inner-spin-button,\ninput[type='number']::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type='search'] {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n -webkit-appearance: textfield;\n}\ninput[type='search']::-webkit-search-cancel-button,\ninput[type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n padding: 0.35em 0.625em 0.75em;\n margin: 0 2px;\n border: 1px solid #c0c0c0;\n}\nlegend {\n padding: 0;\n border: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-spacing: 0;\n border-collapse: collapse;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: ' (' attr(href) ')';\n }\n abbr[title]:after {\n content: ' (' attr(title) ')';\n }\n a[href^='#']:after,\n a[href^='javascript:']:after {\n content: '';\n }\n pre,\n blockquote {\n border: 1px solid #999;\n\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n select {\n background: #fff !important;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n\n src: url('./fonts/glyphicons-halflings-regular.eot');\n src: url('./fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),\n url('./fonts/glyphicons-halflings-regular.woff2') format('woff2'),\n url('./fonts/glyphicons-halflings-regular.woff') format('woff'),\n url('./fonts/glyphicons-halflings-regular.ttf') format('truetype'),\n url('./fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: '\\2a';\n}\n.glyphicon-plus:before {\n content: '\\2b';\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: '\\20ac';\n}\n.glyphicon-minus:before {\n content: '\\2212';\n}\n.glyphicon-cloud:before {\n content: '\\2601';\n}\n.glyphicon-envelope:before {\n content: '\\2709';\n}\n.glyphicon-pencil:before {\n content: '\\270f';\n}\n.glyphicon-glass:before {\n content: '\\e001';\n}\n.glyphicon-music:before {\n content: '\\e002';\n}\n.glyphicon-search:before {\n content: '\\e003';\n}\n.glyphicon-heart:before {\n content: '\\e005';\n}\n.glyphicon-star:before {\n content: '\\e006';\n}\n.glyphicon-star-empty:before {\n content: '\\e007';\n}\n.glyphicon-user:before {\n content: '\\e008';\n}\n.glyphicon-film:before {\n content: '\\e009';\n}\n.glyphicon-th-large:before {\n content: '\\e010';\n}\n.glyphicon-th:before {\n content: '\\e011';\n}\n.glyphicon-th-list:before {\n content: '\\e012';\n}\n.glyphicon-ok:before {\n content: '\\e013';\n}\n.glyphicon-remove:before {\n content: '\\e014';\n}\n.glyphicon-zoom-in:before {\n content: '\\e015';\n}\n.glyphicon-zoom-out:before {\n content: '\\e016';\n}\n.glyphicon-off:before {\n content: '\\e017';\n}\n.glyphicon-signal:before {\n content: '\\e018';\n}\n.glyphicon-cog:before {\n content: '\\e019';\n}\n.glyphicon-trash:before {\n content: '\\e020';\n}\n.glyphicon-home:before {\n content: '\\e021';\n}\n.glyphicon-file:before {\n content: '\\e022';\n}\n.glyphicon-time:before {\n content: '\\e023';\n}\n.glyphicon-road:before {\n content: '\\e024';\n}\n.glyphicon-download-alt:before {\n content: '\\e025';\n}\n.glyphicon-download:before {\n content: '\\e026';\n}\n.glyphicon-upload:before {\n content: '\\e027';\n}\n.glyphicon-inbox:before {\n content: '\\e028';\n}\n.glyphicon-play-circle:before {\n content: '\\e029';\n}\n.glyphicon-repeat:before {\n content: '\\e030';\n}\n.glyphicon-refresh:before {\n content: '\\e031';\n}\n.glyphicon-list-alt:before {\n content: '\\e032';\n}\n.glyphicon-lock:before {\n content: '\\e033';\n}\n.glyphicon-flag:before {\n content: '\\e034';\n}\n.glyphicon-headphones:before {\n content: '\\e035';\n}\n.glyphicon-volume-off:before {\n content: '\\e036';\n}\n.glyphicon-volume-down:before {\n content: '\\e037';\n}\n.glyphicon-volume-up:before {\n content: '\\e038';\n}\n.glyphicon-qrcode:before {\n content: '\\e039';\n}\n.glyphicon-barcode:before {\n content: '\\e040';\n}\n.glyphicon-tag:before {\n content: '\\e041';\n}\n.glyphicon-tags:before {\n content: '\\e042';\n}\n.glyphicon-book:before {\n content: '\\e043';\n}\n.glyphicon-bookmark:before {\n content: '\\e044';\n}\n.glyphicon-print:before {\n content: '\\e045';\n}\n.glyphicon-camera:before {\n content: '\\e046';\n}\n.glyphicon-font:before {\n content: '\\e047';\n}\n.glyphicon-bold:before {\n content: '\\e048';\n}\n.glyphicon-italic:before {\n content: '\\e049';\n}\n.glyphicon-text-height:before {\n content: '\\e050';\n}\n.glyphicon-text-width:before {\n content: '\\e051';\n}\n.glyphicon-align-left:before {\n content: '\\e052';\n}\n.glyphicon-align-center:before {\n content: '\\e053';\n}\n.glyphicon-align-right:before {\n content: '\\e054';\n}\n.glyphicon-align-justify:before {\n content: '\\e055';\n}\n.glyphicon-list:before {\n content: '\\e056';\n}\n.glyphicon-indent-left:before {\n content: '\\e057';\n}\n.glyphicon-indent-right:before {\n content: '\\e058';\n}\n.glyphicon-facetime-video:before {\n content: '\\e059';\n}\n.glyphicon-picture:before {\n content: '\\e060';\n}\n.glyphicon-map-marker:before {\n content: '\\e062';\n}\n.glyphicon-adjust:before {\n content: '\\e063';\n}\n.glyphicon-tint:before {\n content: '\\e064';\n}\n.glyphicon-edit:before {\n content: '\\e065';\n}\n.glyphicon-share:before {\n content: '\\e066';\n}\n.glyphicon-check:before {\n content: '\\e067';\n}\n.glyphicon-move:before {\n content: '\\e068';\n}\n.glyphicon-step-backward:before {\n content: '\\e069';\n}\n.glyphicon-fast-backward:before {\n content: '\\e070';\n}\n.glyphicon-backward:before {\n content: '\\e071';\n}\n.glyphicon-play:before {\n content: '\\e072';\n}\n.glyphicon-pause:before {\n content: '\\e073';\n}\n.glyphicon-stop:before {\n content: '\\e074';\n}\n.glyphicon-forward:before {\n content: '\\e075';\n}\n.glyphicon-fast-forward:before {\n content: '\\e076';\n}\n.glyphicon-step-forward:before {\n content: '\\e077';\n}\n.glyphicon-eject:before {\n content: '\\e078';\n}\n.glyphicon-chevron-left:before {\n content: '\\e079';\n}\n.glyphicon-chevron-right:before {\n content: '\\e080';\n}\n.glyphicon-plus-sign:before {\n content: '\\e081';\n}\n.glyphicon-minus-sign:before {\n content: '\\e082';\n}\n.glyphicon-remove-sign:before {\n content: '\\e083';\n}\n.glyphicon-ok-sign:before {\n content: '\\e084';\n}\n.glyphicon-question-sign:before {\n content: '\\e085';\n}\n.glyphicon-info-sign:before {\n content: '\\e086';\n}\n.glyphicon-screenshot:before {\n content: '\\e087';\n}\n.glyphicon-remove-circle:before {\n content: '\\e088';\n}\n.glyphicon-ok-circle:before {\n content: '\\e089';\n}\n.glyphicon-ban-circle:before {\n content: '\\e090';\n}\n.glyphicon-arrow-left:before {\n content: '\\e091';\n}\n.glyphicon-arrow-right:before {\n content: '\\e092';\n}\n.glyphicon-arrow-up:before {\n content: '\\e093';\n}\n.glyphicon-arrow-down:before {\n content: '\\e094';\n}\n.glyphicon-share-alt:before {\n content: '\\e095';\n}\n.glyphicon-resize-full:before {\n content: '\\e096';\n}\n.glyphicon-resize-small:before {\n content: '\\e097';\n}\n.glyphicon-exclamation-sign:before {\n content: '\\e101';\n}\n.glyphicon-gift:before {\n content: '\\e102';\n}\n.glyphicon-leaf:before {\n content: '\\e103';\n}\n.glyphicon-fire:before {\n content: '\\e104';\n}\n.glyphicon-eye-open:before {\n content: '\\e105';\n}\n.glyphicon-eye-close:before {\n content: '\\e106';\n}\n.glyphicon-warning-sign:before {\n content: '\\e107';\n}\n.glyphicon-plane:before {\n content: '\\e108';\n}\n.glyphicon-calendar:before {\n content: '\\e109';\n}\n.glyphicon-random:before {\n content: '\\e110';\n}\n.glyphicon-comment:before {\n content: '\\e111';\n}\n.glyphicon-magnet:before {\n content: '\\e112';\n}\n.glyphicon-chevron-up:before {\n content: '\\e113';\n}\n.glyphicon-chevron-down:before {\n content: '\\e114';\n}\n.glyphicon-retweet:before {\n content: '\\e115';\n}\n.glyphicon-shopping-cart:before {\n content: '\\e116';\n}\n.glyphicon-folder-close:before {\n content: '\\e117';\n}\n.glyphicon-folder-open:before {\n content: '\\e118';\n}\n.glyphicon-resize-vertical:before {\n content: '\\e119';\n}\n.glyphicon-resize-horizontal:before {\n content: '\\e120';\n}\n.glyphicon-hdd:before {\n content: '\\e121';\n}\n.glyphicon-bullhorn:before {\n content: '\\e122';\n}\n.glyphicon-bell:before {\n content: '\\e123';\n}\n.glyphicon-certificate:before {\n content: '\\e124';\n}\n.glyphicon-thumbs-up:before {\n content: '\\e125';\n}\n.glyphicon-thumbs-down:before {\n content: '\\e126';\n}\n.glyphicon-hand-right:before {\n content: '\\e127';\n}\n.glyphicon-hand-left:before {\n content: '\\e128';\n}\n.glyphicon-hand-up:before {\n content: '\\e129';\n}\n.glyphicon-hand-down:before {\n content: '\\e130';\n}\n.glyphicon-circle-arrow-right:before {\n content: '\\e131';\n}\n.glyphicon-circle-arrow-left:before {\n content: '\\e132';\n}\n.glyphicon-circle-arrow-up:before {\n content: '\\e133';\n}\n.glyphicon-circle-arrow-down:before {\n content: '\\e134';\n}\n.glyphicon-globe:before {\n content: '\\e135';\n}\n.glyphicon-wrench:before {\n content: '\\e136';\n}\n.glyphicon-tasks:before {\n content: '\\e137';\n}\n.glyphicon-filter:before {\n content: '\\e138';\n}\n.glyphicon-briefcase:before {\n content: '\\e139';\n}\n.glyphicon-fullscreen:before {\n content: '\\e140';\n}\n.glyphicon-dashboard:before {\n content: '\\e141';\n}\n.glyphicon-paperclip:before {\n content: '\\e142';\n}\n.glyphicon-heart-empty:before {\n content: '\\e143';\n}\n.glyphicon-link:before {\n content: '\\e144';\n}\n.glyphicon-phone:before {\n content: '\\e145';\n}\n.glyphicon-pushpin:before {\n content: '\\e146';\n}\n.glyphicon-usd:before {\n content: '\\e148';\n}\n.glyphicon-gbp:before {\n content: '\\e149';\n}\n.glyphicon-sort:before {\n content: '\\e150';\n}\n.glyphicon-sort-by-alphabet:before {\n content: '\\e151';\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: '\\e152';\n}\n.glyphicon-sort-by-order:before {\n content: '\\e153';\n}\n.glyphicon-sort-by-order-alt:before {\n content: '\\e154';\n}\n.glyphicon-sort-by-attributes:before {\n content: '\\e155';\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: '\\e156';\n}\n.glyphicon-unchecked:before {\n content: '\\e157';\n}\n.glyphicon-expand:before {\n content: '\\e158';\n}\n.glyphicon-collapse-down:before {\n content: '\\e159';\n}\n.glyphicon-collapse-up:before {\n content: '\\e160';\n}\n.glyphicon-log-in:before {\n content: '\\e161';\n}\n.glyphicon-flash:before {\n content: '\\e162';\n}\n.glyphicon-log-out:before {\n content: '\\e163';\n}\n.glyphicon-new-window:before {\n content: '\\e164';\n}\n.glyphicon-record:before {\n content: '\\e165';\n}\n.glyphicon-save:before {\n content: '\\e166';\n}\n.glyphicon-open:before {\n content: '\\e167';\n}\n.glyphicon-saved:before {\n content: '\\e168';\n}\n.glyphicon-import:before {\n content: '\\e169';\n}\n.glyphicon-export:before {\n content: '\\e170';\n}\n.glyphicon-send:before {\n content: '\\e171';\n}\n.glyphicon-floppy-disk:before {\n content: '\\e172';\n}\n.glyphicon-floppy-saved:before {\n content: '\\e173';\n}\n.glyphicon-floppy-remove:before {\n content: '\\e174';\n}\n.glyphicon-floppy-save:before {\n content: '\\e175';\n}\n.glyphicon-floppy-open:before {\n content: '\\e176';\n}\n.glyphicon-credit-card:before {\n content: '\\e177';\n}\n.glyphicon-transfer:before {\n content: '\\e178';\n}\n.glyphicon-cutlery:before {\n content: '\\e179';\n}\n.glyphicon-header:before {\n content: '\\e180';\n}\n.glyphicon-compressed:before {\n content: '\\e181';\n}\n.glyphicon-earphone:before {\n content: '\\e182';\n}\n.glyphicon-phone-alt:before {\n content: '\\e183';\n}\n.glyphicon-tower:before {\n content: '\\e184';\n}\n.glyphicon-stats:before {\n content: '\\e185';\n}\n.glyphicon-sd-video:before {\n content: '\\e186';\n}\n.glyphicon-hd-video:before {\n content: '\\e187';\n}\n.glyphicon-subtitles:before {\n content: '\\e188';\n}\n.glyphicon-sound-stereo:before {\n content: '\\e189';\n}\n.glyphicon-sound-dolby:before {\n content: '\\e190';\n}\n.glyphicon-sound-5-1:before {\n content: '\\e191';\n}\n.glyphicon-sound-6-1:before {\n content: '\\e192';\n}\n.glyphicon-sound-7-1:before {\n content: '\\e193';\n}\n.glyphicon-copyright-mark:before {\n content: '\\e194';\n}\n.glyphicon-registration-mark:before {\n content: '\\e195';\n}\n.glyphicon-cloud-download:before {\n content: '\\e197';\n}\n.glyphicon-cloud-upload:before {\n content: '\\e198';\n}\n.glyphicon-tree-conifer:before {\n content: '\\e199';\n}\n.glyphicon-tree-deciduous:before {\n content: '\\e200';\n}\n.glyphicon-cd:before {\n content: '\\e201';\n}\n.glyphicon-save-file:before {\n content: '\\e202';\n}\n.glyphicon-open-file:before {\n content: '\\e203';\n}\n.glyphicon-level-up:before {\n content: '\\e204';\n}\n.glyphicon-copy:before {\n content: '\\e205';\n}\n.glyphicon-paste:before {\n content: '\\e206';\n}\n.glyphicon-alert:before {\n content: '\\e209';\n}\n.glyphicon-equalizer:before {\n content: '\\e210';\n}\n.glyphicon-king:before {\n content: '\\e211';\n}\n.glyphicon-queen:before {\n content: '\\e212';\n}\n.glyphicon-pawn:before {\n content: '\\e213';\n}\n.glyphicon-bishop:before {\n content: '\\e214';\n}\n.glyphicon-knight:before {\n content: '\\e215';\n}\n.glyphicon-baby-formula:before {\n content: '\\e216';\n}\n.glyphicon-tent:before {\n content: '\\26fa';\n}\n.glyphicon-blackboard:before {\n content: '\\e218';\n}\n.glyphicon-bed:before {\n content: '\\e219';\n}\n.glyphicon-apple:before {\n content: '\\f8ff';\n}\n.glyphicon-erase:before {\n content: '\\e221';\n}\n.glyphicon-hourglass:before {\n content: '\\231b';\n}\n.glyphicon-lamp:before {\n content: '\\e223';\n}\n.glyphicon-duplicate:before {\n content: '\\e224';\n}\n.glyphicon-piggy-bank:before {\n content: '\\e225';\n}\n.glyphicon-scissors:before {\n content: '\\e226';\n}\n.glyphicon-bitcoin:before {\n content: '\\e227';\n}\n.glyphicon-btc:before {\n content: '\\e227';\n}\n.glyphicon-xbt:before {\n content: '\\e227';\n}\n.glyphicon-yen:before {\n content: '\\00a5';\n}\n.glyphicon-jpy:before {\n content: '\\00a5';\n}\n.glyphicon-ruble:before {\n content: '\\20bd';\n}\n.glyphicon-rub:before {\n content: '\\20bd';\n}\n.glyphicon-scale:before {\n content: '\\e230';\n}\n.glyphicon-ice-lolly:before {\n content: '\\e231';\n}\n.glyphicon-ice-lolly-tasted:before {\n content: '\\e232';\n}\n.glyphicon-education:before {\n content: '\\e233';\n}\n.glyphicon-option-horizontal:before {\n content: '\\e234';\n}\n.glyphicon-option-vertical:before {\n content: '\\e235';\n}\n.glyphicon-menu-hamburger:before {\n content: '\\e236';\n}\n.glyphicon-modal-window:before {\n content: '\\e237';\n}\n.glyphicon-oil:before {\n content: '\\e238';\n}\n.glyphicon-grain:before {\n content: '\\e239';\n}\n.glyphicon-sunglasses:before {\n content: '\\e240';\n}\n.glyphicon-text-size:before {\n content: '\\e241';\n}\n.glyphicon-text-color:before {\n content: '\\e242';\n}\n.glyphicon-text-background:before {\n content: '\\e243';\n}\n.glyphicon-object-align-top:before {\n content: '\\e244';\n}\n.glyphicon-object-align-bottom:before {\n content: '\\e245';\n}\n.glyphicon-object-align-horizontal:before {\n content: '\\e246';\n}\n.glyphicon-object-align-left:before {\n content: '\\e247';\n}\n.glyphicon-object-align-vertical:before {\n content: '\\e248';\n}\n.glyphicon-object-align-right:before {\n content: '\\e249';\n}\n.glyphicon-triangle-right:before {\n content: '\\e250';\n}\n.glyphicon-triangle-left:before {\n content: '\\e251';\n}\n.glyphicon-triangle-bottom:before {\n content: '\\e252';\n}\n.glyphicon-triangle-top:before {\n content: '\\e253';\n}\n.glyphicon-console:before {\n content: '\\e254';\n}\n.glyphicon-superscript:before {\n content: '\\e255';\n}\n.glyphicon-subscript:before {\n content: '\\e256';\n}\n.glyphicon-menu-left:before {\n content: '\\e257';\n}\n.glyphicon-menu-right:before {\n content: '\\e258';\n}\n.glyphicon-menu-down:before {\n content: '\\e259';\n}\n.glyphicon-menu-up:before {\n content: '\\e260';\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n display: inline-block;\n max-width: 100%;\n height: auto;\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role='button'] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n margin-left: -5px;\n list-style: none;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n overflow: hidden;\n clear: left;\n text-align: right;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n//.col-xs-1,\n//.col-sm-1,\n//.col-md-1,\n//.col-lg-1,\n//.col-xs-2,\n//.col-sm-2,\n//.col-md-2,\n//.col-lg-2,\n//.col-xs-3,\n//.col-sm-3,\n//.col-md-3,\n//.col-lg-3,\n//.col-xs-4,\n//.col-sm-4,\n//.col-md-4,\n//.col-lg-4,\n//.col-xs-5,\n//.col-sm-5,\n//.col-md-5,\n//.col-lg-5,\n//.col-xs-6,\n//.col-sm-6,\n//.col-md-6,\n//.col-lg-6,\n//.col-xs-7,\n//.col-sm-7,\n//.col-md-7,\n//.col-lg-7,\n//.col-xs-8,\n//.col-sm-8,\n//.col-md-8,\n//.col-lg-8,\n//.col-xs-9,\n//.col-sm-9,\n//.col-md-9,\n//.col-lg-9,\n//.col-xs-10,\n//.col-sm-10,\n//.col-md-10,\n//.col-lg-10,\n//.col-xs-11,\n//.col-sm-11,\n//.col-md-11,\n//.col-lg-11,\n//.col-xs-12,\n//.col-sm-12,\n//.col-md-12,\n//.col-lg-12 {\n// position: relative;\n// min-height: 1px;\n// padding-right: 15px;\n// padding-left: 15px;\n//}\n//.col-xs-1,\n//.col-xs-2,\n//.col-xs-3,\n//.col-xs-4,\n//.col-xs-5,\n//.col-xs-6,\n//.col-xs-7,\n//.col-xs-8,\n//.col-xs-9,\n//.col-xs-10,\n//.col-xs-11,\n//.col-xs-12 {\n// float: left;\n//}\n//.col-xs-12 {\n// width: 100%;\n//}\n//.col-xs-11 {\n// width: 91.66666667%;\n//}\n//.col-xs-10 {\n// width: 83.33333333%;\n//}\n//.col-xs-9 {\n// width: 75%;\n//}\n//.col-xs-8 {\n// width: 66.66666667%;\n//}\n//.col-xs-7 {\n// width: 58.33333333%;\n//}\n//.col-xs-6 {\n// width: 50%;\n//}\n//.col-xs-5 {\n// width: 41.66666667%;\n//}\n//.col-xs-4 {\n// width: 33.33333333%;\n//}\n//.col-xs-3 {\n// width: 25%;\n//}\n//.col-xs-2 {\n// width: 16.66666667%;\n//}\n//.col-xs-1 {\n// width: 8.33333333%;\n//}\n//.col-xs-pull-12 {\n// right: 100%;\n//}\n//.col-xs-pull-11 {\n// right: 91.66666667%;\n//}\n//.col-xs-pull-10 {\n// right: 83.33333333%;\n//}\n//.col-xs-pull-9 {\n// right: 75%;\n//}\n//.col-xs-pull-8 {\n// right: 66.66666667%;\n//}\n//.col-xs-pull-7 {\n// right: 58.33333333%;\n//}\n//.col-xs-pull-6 {\n// right: 50%;\n//}\n//.col-xs-pull-5 {\n// right: 41.66666667%;\n//}\n//.col-xs-pull-4 {\n// right: 33.33333333%;\n//}\n//.col-xs-pull-3 {\n// right: 25%;\n//}\n//.col-xs-pull-2 {\n// right: 16.66666667%;\n//}\n//.col-xs-pull-1 {\n// right: 8.33333333%;\n//}\n//.col-xs-pull-0 {\n// right: auto;\n//}\n//.col-xs-push-12 {\n// left: 100%;\n//}\n//.col-xs-push-11 {\n// left: 91.66666667%;\n//}\n//.col-xs-push-10 {\n// left: 83.33333333%;\n//}\n//.col-xs-push-9 {\n// left: 75%;\n//}\n//.col-xs-push-8 {\n// left: 66.66666667%;\n//}\n//.col-xs-push-7 {\n// left: 58.33333333%;\n//}\n//.col-xs-push-6 {\n// left: 50%;\n//}\n//.col-xs-push-5 {\n// left: 41.66666667%;\n//}\n//.col-xs-push-4 {\n// left: 33.33333333%;\n//}\n//.col-xs-push-3 {\n// left: 25%;\n//}\n//.col-xs-push-2 {\n// left: 16.66666667%;\n//}\n//.col-xs-push-1 {\n// left: 8.33333333%;\n//}\n//.col-xs-push-0 {\n// left: auto;\n//}\n//.col-xs-offset-12 {\n// margin-left: 100%;\n//}\n//.col-xs-offset-11 {\n// margin-left: 91.66666667%;\n//}\n//.col-xs-offset-10 {\n// margin-left: 83.33333333%;\n//}\n//.col-xs-offset-9 {\n// margin-left: 75%;\n//}\n//.col-xs-offset-8 {\n// margin-left: 66.66666667%;\n//}\n//.col-xs-offset-7 {\n// margin-left: 58.33333333%;\n//}\n//.col-xs-offset-6 {\n// margin-left: 50%;\n//}\n//.col-xs-offset-5 {\n// margin-left: 41.66666667%;\n//}\n//.col-xs-offset-4 {\n// margin-left: 33.33333333%;\n//}\n//.col-xs-offset-3 {\n// margin-left: 25%;\n//}\n//.col-xs-offset-2 {\n// margin-left: 16.66666667%;\n//}\n//.col-xs-offset-1 {\n// margin-left: 8.33333333%;\n//}\n//.col-xs-offset-0 {\n// margin-left: 0;\n//}\n//@media (min-width: 768px) {\n// .col-sm-1,\n// .col-sm-2,\n// .col-sm-3,\n// .col-sm-4,\n// .col-sm-5,\n// .col-sm-6,\n// .col-sm-7,\n// .col-sm-8,\n// .col-sm-9,\n// .col-sm-10,\n// .col-sm-11,\n// .col-sm-12 {\n// float: left;\n// }\n// .col-sm-12 {\n// width: 100%;\n// }\n// .col-sm-11 {\n// width: 91.66666667%;\n// }\n// .col-sm-10 {\n// width: 83.33333333%;\n// }\n// .col-sm-9 {\n// width: 75%;\n// }\n// .col-sm-8 {\n// width: 66.66666667%;\n// }\n// .col-sm-7 {\n// width: 58.33333333%;\n// }\n// .col-sm-6 {\n// width: 50%;\n// }\n// .col-sm-5 {\n// width: 41.66666667%;\n// }\n// .col-sm-4 {\n// width: 33.33333333%;\n// }\n// .col-sm-3 {\n// width: 25%;\n// }\n// .col-sm-2 {\n// width: 16.66666667%;\n// }\n// .col-sm-1 {\n// width: 8.33333333%;\n// }\n// .col-sm-pull-12 {\n// right: 100%;\n// }\n// .col-sm-pull-11 {\n// right: 91.66666667%;\n// }\n// .col-sm-pull-10 {\n// right: 83.33333333%;\n// }\n// .col-sm-pull-9 {\n// right: 75%;\n// }\n// .col-sm-pull-8 {\n// right: 66.66666667%;\n// }\n// .col-sm-pull-7 {\n// right: 58.33333333%;\n// }\n// .col-sm-pull-6 {\n// right: 50%;\n// }\n// .col-sm-pull-5 {\n// right: 41.66666667%;\n// }\n// .col-sm-pull-4 {\n// right: 33.33333333%;\n// }\n// .col-sm-pull-3 {\n// right: 25%;\n// }\n// .col-sm-pull-2 {\n// right: 16.66666667%;\n// }\n// .col-sm-pull-1 {\n// right: 8.33333333%;\n// }\n// .col-sm-pull-0 {\n// right: auto;\n// }\n// .col-sm-push-12 {\n// left: 100%;\n// }\n// .col-sm-push-11 {\n// left: 91.66666667%;\n// }\n// .col-sm-push-10 {\n// left: 83.33333333%;\n// }\n// .col-sm-push-9 {\n// left: 75%;\n// }\n// .col-sm-push-8 {\n// left: 66.66666667%;\n// }\n// .col-sm-push-7 {\n// left: 58.33333333%;\n// }\n// .col-sm-push-6 {\n// left: 50%;\n// }\n// .col-sm-push-5 {\n// left: 41.66666667%;\n// }\n// .col-sm-push-4 {\n// left: 33.33333333%;\n// }\n// .col-sm-push-3 {\n// left: 25%;\n// }\n// .col-sm-push-2 {\n// left: 16.66666667%;\n// }\n// .col-sm-push-1 {\n// left: 8.33333333%;\n// }\n// .col-sm-push-0 {\n// left: auto;\n// }\n// .col-sm-offset-12 {\n// margin-left: 100%;\n// }\n// .col-sm-offset-11 {\n// margin-left: 91.66666667%;\n// }\n// .col-sm-offset-10 {\n// margin-left: 83.33333333%;\n// }\n// .col-sm-offset-9 {\n// margin-left: 75%;\n// }\n// .col-sm-offset-8 {\n// margin-left: 66.66666667%;\n// }\n// .col-sm-offset-7 {\n// margin-left: 58.33333333%;\n// }\n// .col-sm-offset-6 {\n// margin-left: 50%;\n// }\n// .col-sm-offset-5 {\n// margin-left: 41.66666667%;\n// }\n// .col-sm-offset-4 {\n// margin-left: 33.33333333%;\n// }\n// .col-sm-offset-3 {\n// margin-left: 25%;\n// }\n// .col-sm-offset-2 {\n// margin-left: 16.66666667%;\n// }\n// .col-sm-offset-1 {\n// margin-left: 8.33333333%;\n// }\n// .col-sm-offset-0 {\n// margin-left: 0;\n// }\n//}\n//@media (min-width: 992px) {\n// .col-md-1,\n// .col-md-2,\n// .col-md-3,\n// .col-md-4,\n// .col-md-5,\n// .col-md-6,\n// .col-md-7,\n// .col-md-8,\n// .col-md-9,\n// .col-md-10,\n// .col-md-11,\n// .col-md-12 {\n// float: left;\n// }\n// .col-md-12 {\n// width: 100%;\n// }\n// .col-md-11 {\n// width: 91.66666667%;\n// }\n// .col-md-10 {\n// width: 83.33333333%;\n// }\n// .col-md-9 {\n// width: 75%;\n// }\n// .col-md-8 {\n// width: 66.66666667%;\n// }\n// .col-md-7 {\n// width: 58.33333333%;\n// }\n// .col-md-6 {\n// width: 50%;\n// }\n// .col-md-5 {\n// width: 41.66666667%;\n// }\n// .col-md-4 {\n// width: 33.33333333%;\n// }\n// .col-md-3 {\n// width: 25%;\n// }\n// .col-md-2 {\n// width: 16.66666667%;\n// }\n// .col-md-1 {\n// width: 8.33333333%;\n// }\n// .col-md-pull-12 {\n// right: 100%;\n// }\n// .col-md-pull-11 {\n// right: 91.66666667%;\n// }\n// .col-md-pull-10 {\n// right: 83.33333333%;\n// }\n// .col-md-pull-9 {\n// right: 75%;\n// }\n// .col-md-pull-8 {\n// right: 66.66666667%;\n// }\n// .col-md-pull-7 {\n// right: 58.33333333%;\n// }\n// .col-md-pull-6 {\n// right: 50%;\n// }\n// .col-md-pull-5 {\n// right: 41.66666667%;\n// }\n// .col-md-pull-4 {\n// right: 33.33333333%;\n// }\n// .col-md-pull-3 {\n// right: 25%;\n// }\n// .col-md-pull-2 {\n// right: 16.66666667%;\n// }\n// .col-md-pull-1 {\n// right: 8.33333333%;\n// }\n// .col-md-pull-0 {\n// right: auto;\n// }\n// .col-md-push-12 {\n// left: 100%;\n// }\n// .col-md-push-11 {\n// left: 91.66666667%;\n// }\n// .col-md-push-10 {\n// left: 83.33333333%;\n// }\n// .col-md-push-9 {\n// left: 75%;\n// }\n// .col-md-push-8 {\n// left: 66.66666667%;\n// }\n// .col-md-push-7 {\n// left: 58.33333333%;\n// }\n// .col-md-push-6 {\n// left: 50%;\n// }\n// .col-md-push-5 {\n// left: 41.66666667%;\n// }\n// .col-md-push-4 {\n// left: 33.33333333%;\n// }\n// .col-md-push-3 {\n// left: 25%;\n// }\n// .col-md-push-2 {\n// left: 16.66666667%;\n// }\n// .col-md-push-1 {\n// left: 8.33333333%;\n// }\n// .col-md-push-0 {\n// left: auto;\n// }\n// .col-md-offset-12 {\n// margin-left: 100%;\n// }\n// .col-md-offset-11 {\n// margin-left: 91.66666667%;\n// }\n// .col-md-offset-10 {\n// margin-left: 83.33333333%;\n// }\n// .col-md-offset-9 {\n// margin-left: 75%;\n// }\n// .col-md-offset-8 {\n// margin-left: 66.66666667%;\n// }\n// .col-md-offset-7 {\n// margin-left: 58.33333333%;\n// }\n// .col-md-offset-6 {\n// margin-left: 50%;\n// }\n// .col-md-offset-5 {\n// margin-left: 41.66666667%;\n// }\n// .col-md-offset-4 {\n// margin-left: 33.33333333%;\n// }\n// .col-md-offset-3 {\n// margin-left: 25%;\n// }\n// .col-md-offset-2 {\n// margin-left: 16.66666667%;\n// }\n// .col-md-offset-1 {\n// margin-left: 8.33333333%;\n// }\n// .col-md-offset-0 {\n// margin-left: 0;\n// }\n//}\n//@media (min-width: 1200px) {\n// .col-lg-1,\n// .col-lg-2,\n// .col-lg-3,\n// .col-lg-4,\n// .col-lg-5,\n// .col-lg-6,\n// .col-lg-7,\n// .col-lg-8,\n// .col-lg-9,\n// .col-lg-10,\n// .col-lg-11,\n// .col-lg-12 {\n// float: left;\n// }\n// .col-lg-12 {\n// width: 100%;\n// }\n// .col-lg-11 {\n// width: 91.66666667%;\n// }\n// .col-lg-10 {\n// width: 83.33333333%;\n// }\n// .col-lg-9 {\n// width: 75%;\n// }\n// .col-lg-8 {\n// width: 66.66666667%;\n// }\n// .col-lg-7 {\n// width: 58.33333333%;\n// }\n// .col-lg-6 {\n// width: 50%;\n// }\n// .col-lg-5 {\n// width: 41.66666667%;\n// }\n// .col-lg-4 {\n// width: 33.33333333%;\n// }\n// .col-lg-3 {\n// width: 25%;\n// }\n// .col-lg-2 {\n// width: 16.66666667%;\n// }\n// .col-lg-1 {\n// width: 8.33333333%;\n// }\n// .col-lg-pull-12 {\n// right: 100%;\n// }\n// .col-lg-pull-11 {\n// right: 91.66666667%;\n// }\n// .col-lg-pull-10 {\n// right: 83.33333333%;\n// }\n// .col-lg-pull-9 {\n// right: 75%;\n// }\n// .col-lg-pull-8 {\n// right: 66.66666667%;\n// }\n// .col-lg-pull-7 {\n// right: 58.33333333%;\n// }\n// .col-lg-pull-6 {\n// right: 50%;\n// }\n// .col-lg-pull-5 {\n// right: 41.66666667%;\n// }\n// .col-lg-pull-4 {\n// right: 33.33333333%;\n// }\n// .col-lg-pull-3 {\n// right: 25%;\n// }\n// .col-lg-pull-2 {\n// right: 16.66666667%;\n// }\n// .col-lg-pull-1 {\n// right: 8.33333333%;\n// }\n// .col-lg-pull-0 {\n// right: auto;\n// }\n// .col-lg-push-12 {\n// left: 100%;\n// }\n// .col-lg-push-11 {\n// left: 91.66666667%;\n// }\n// .col-lg-push-10 {\n// left: 83.33333333%;\n// }\n// .col-lg-push-9 {\n// left: 75%;\n// }\n// .col-lg-push-8 {\n// left: 66.66666667%;\n// }\n// .col-lg-push-7 {\n// left: 58.33333333%;\n// }\n// .col-lg-push-6 {\n// left: 50%;\n// }\n// .col-lg-push-5 {\n// left: 41.66666667%;\n// }\n// .col-lg-push-4 {\n// left: 33.33333333%;\n// }\n// .col-lg-push-3 {\n// left: 25%;\n// }\n// .col-lg-push-2 {\n// left: 16.66666667%;\n// }\n// .col-lg-push-1 {\n// left: 8.33333333%;\n// }\n// .col-lg-push-0 {\n// left: auto;\n// }\n// .col-lg-offset-12 {\n// margin-left: 100%;\n// }\n// .col-lg-offset-11 {\n// margin-left: 91.66666667%;\n// }\n// .col-lg-offset-10 {\n// margin-left: 83.33333333%;\n// }\n// .col-lg-offset-9 {\n// margin-left: 75%;\n// }\n// .col-lg-offset-8 {\n// margin-left: 66.66666667%;\n// }\n// .col-lg-offset-7 {\n// margin-left: 58.33333333%;\n// }\n// .col-lg-offset-6 {\n// margin-left: 50%;\n// }\n// .col-lg-offset-5 {\n// margin-left: 41.66666667%;\n// }\n// .col-lg-offset-4 {\n// margin-left: 33.33333333%;\n// }\n// .col-lg-offset-3 {\n// margin-left: 25%;\n// }\n// .col-lg-offset-2 {\n// margin-left: 16.66666667%;\n// }\n// .col-lg-offset-1 {\n// margin-left: 8.33333333%;\n// }\n// .col-lg-offset-0 {\n// margin-left: 0;\n// }\n//}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*='col-'] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*='col-'],\ntable th[class*='col-'] {\n position: static;\n display: table-cell;\n float: none;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type='search'] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type='radio'],\ninput[type='checkbox'] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type='file'] {\n display: block;\n}\ninput[type='range'] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type='file']:focus,\ninput[type='radio']:focus,\ninput[type='checkbox']:focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n}\n//.form-control {\n// display: block;\n// width: 100%;\n// height: 34px;\n// padding: 6px 12px;\n// font-size: 14px;\n// line-height: 1.42857143;\n// color: #555;\n// background-color: #fff;\n// background-image: none;\n// border: 1px solid #ccc;\n// border-radius: 4px;\n// -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n// box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n// -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;\n// -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n// transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n//}\n//.form-control:focus {\n// border-color: #66afe9;\n// outline: 0;\n// -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\n// box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\n//}\n//.form-control::-moz-placeholder {\n// color: #999;\n// opacity: 1;\n//}\n//.form-control:-ms-input-placeholder {\n// color: #999;\n//}\n//.form-control::-webkit-input-placeholder {\n// color: #999;\n//}\n//.form-control[disabled],\n//.form-control[readonly],\n//fieldset[disabled] .form-control {\n// background-color: #eee;\n// opacity: 1;\n//}\n//.form-control[disabled],\n//fieldset[disabled] .form-control {\n// cursor: not-allowed;\n//}\n//textarea.form-control {\n// height: auto;\n//}\n//input[type='search'] {\n// -webkit-appearance: none;\n//}\n// @media screen and (-webkit-min-device-pixel-ratio: 0) {\n// input[type='date'],\n// input[type='time'],\n// input[type='datetime-local'],\n// input[type='month'] {\n// line-height: 34px;\n// }\n// input[type='date'].input-sm,\n// input[type='time'].input-sm,\n// input[type='datetime-local'].input-sm,\n// input[type='month'].input-sm,\n// .input-group-sm input[type='date'],\n// .input-group-sm input[type='time'],\n// .input-group-sm input[type='datetime-local'],\n// .input-group-sm input[type='month'] {\n// line-height: 30px;\n// }\n// input[type='date'].input-lg,\n// input[type='time'].input-lg,\n// input[type='datetime-local'].input-lg,\n// input[type='month'].input-lg,\n// .input-group-lg input[type='date'],\n// .input-group-lg input[type='time'],\n// .input-group-lg input[type='datetime-local'],\n// .input-group-lg input[type='month'] {\n// line-height: 46px;\n// }\n// }\n//.form-group {\n// margin-bottom: 15px;\n//}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type='radio'],\n.radio-inline input[type='radio'],\n.checkbox input[type='checkbox'],\n.checkbox-inline input[type='checkbox'] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type='radio'][disabled],\ninput[type='checkbox'][disabled],\ninput[type='radio'].disabled,\ninput[type='checkbox'].disabled,\nfieldset[disabled] input[type='radio'],\nfieldset[disabled] input[type='checkbox'] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.form-group-sm .form-control {\n height: 30px;\n line-height: 30px;\n}\ntextarea.form-group-sm .form-control,\nselect[multiple].form-group-sm .form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.form-group-lg .form-control {\n height: 46px;\n line-height: 46px;\n}\ntextarea.form-group-lg .form-control,\nselect[multiple].form-group-lg .form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type='radio'],\n .form-inline .checkbox input[type='checkbox'] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 14.333333px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n }\n}\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n font-size: 14px;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n pointer-events: none;\n cursor: not-allowed;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n opacity: 0.65;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus,\n.btn-default.focus,\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:hover,\n.btn-primary:focus,\n.btn-primary.focus,\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:hover,\n.btn-success:focus,\n.btn-success.focus,\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:hover,\n.btn-info:focus,\n.btn-info.focus,\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:hover,\n.btn-warning:focus,\n.btn-warning.focus,\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:hover,\n.btn-danger:focus,\n.btn-danger.focus,\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: normal;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type='submit'].btn-block,\ninput[type='reset'].btn-block,\ninput[type='button'].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n -webkit-transition-duration: 0.35s;\n -o-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: '';\n border-top: 0;\n border-bottom: 4px solid;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle='buttons'] > .btn input[type='radio'],\n[data-toggle='buttons'] > .btn-group > .btn input[type='radio'],\n[data-toggle='buttons'] > .btn input[type='checkbox'],\n[data-toggle='buttons'] > .btn-group > .btn input[type='checkbox'] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*='col-'] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555;\n text-align: center;\n background-color: #eee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type='radio'],\n.input-group-addon input[type='checkbox'] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.nav > li.disabled > a {\n color: #777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eee #eee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n -webkit-overflow-scrolling: touch;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-top: 8px;\n margin-right: 15px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-top: 8px;\n margin-right: -15px;\n margin-bottom: 8px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type='radio'],\n .navbar-form .checkbox input[type='checkbox'] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: '/\\00a0';\n}\n.breadcrumb > .active {\n color: #777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n color: #23527c;\n background-color: #eee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 2;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n background-color: #777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding: 30px 15px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding: 48px 0;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-image: -o-linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-image: -o-linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-image: -o-linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-image: -o-linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-image: -o-linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\na.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #eee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\na.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\na.list-group-item-success.active:hover,\na.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\na.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\na.list-group-item-info.active:hover,\na.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\na.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\na.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n -webkit-appearance: none;\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n outline: 0;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n min-height: 16.42857143px;\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n font-size: 12px;\n font-weight: normal;\n line-height: 1.4;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n text-decoration: none;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n font-size: 14px;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n white-space: normal;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n content: '';\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: ' ';\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: ' ';\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: ' ';\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: ' ';\n border-right-width: 0;\n border-left-color: #fff;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000;\n perspective: 1000;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n left: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n left: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n left: 0;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -webkit-gradient(\n linear,\n left top,\n right top,\n from(rgba(0, 0, 0, 0.5)),\n to(rgba(0, 0, 0, 0.0001))\n );\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -webkit-gradient(\n linear,\n left top,\n right top,\n from(rgba(0, 0, 0, 0.0001)),\n to(rgba(0, 0, 0, 0.5))\n );\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n filter: alpha(opacity=90);\n outline: 0;\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n margin-top: -10px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -15px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -15px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -15px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: ' ';\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n","/*******************************************************************************\n * bootstrap-rtl (version 3.3.4)\n * Author: Morteza Ansarinia (http://github.com/morteza)\n * Created on: August 13,2015\n * Project: bootstrap-rtl\n * Copyright: Unlicensed Public Domain\n *******************************************************************************/\n\n[dir='rtl'] {\n .flip.text-left {\n text-align: right;\n }\n .flip.text-right {\n text-align: left;\n }\n .list-unstyled {\n padding-right: 0;\n padding-left: initial;\n }\n .list-inline {\n padding-right: 0;\n padding-left: initial;\n margin-right: -5px;\n margin-left: 0;\n }\n dd {\n margin-right: 0;\n margin-left: initial;\n }\n @media (min-width: 768px) {\n .dl-horizontal dt {\n float: right;\n clear: right;\n text-align: left;\n }\n .dl-horizontal dd {\n margin-right: 180px;\n margin-left: 0;\n }\n }\n blockquote {\n border-right: 5px solid #eeeeee;\n border-left: 0;\n }\n .blockquote-reverse,\n blockquote.pull-left {\n padding-left: 15px;\n padding-right: 0;\n border-left: 5px solid #eeeeee;\n border-right: 0;\n text-align: left;\n }\n .col-xs-1,\n .col-sm-1,\n .col-md-1,\n .col-lg-1,\n .col-xs-2,\n .col-sm-2,\n .col-md-2,\n .col-lg-2,\n .col-xs-3,\n .col-sm-3,\n .col-md-3,\n .col-lg-3,\n .col-xs-4,\n .col-sm-4,\n .col-md-4,\n .col-lg-4,\n .col-xs-5,\n .col-sm-5,\n .col-md-5,\n .col-lg-5,\n .col-xs-6,\n .col-sm-6,\n .col-md-6,\n .col-lg-6,\n .col-xs-7,\n .col-sm-7,\n .col-md-7,\n .col-lg-7,\n .col-xs-8,\n .col-sm-8,\n .col-md-8,\n .col-lg-8,\n .col-xs-9,\n .col-sm-9,\n .col-md-9,\n .col-lg-9,\n .col-xs-10,\n .col-sm-10,\n .col-md-10,\n .col-lg-10,\n .col-xs-11,\n .col-sm-11,\n .col-md-11,\n .col-lg-11,\n .col-xs-12,\n .col-sm-12,\n .col-md-12,\n .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n }\n .col-xs-1,\n .col-xs-2,\n .col-xs-3,\n .col-xs-4,\n .col-xs-5,\n .col-xs-6,\n .col-xs-7,\n .col-xs-8,\n .col-xs-9,\n .col-xs-10,\n .col-xs-11,\n .col-xs-12 {\n float: right;\n }\n .col-xs-12 {\n width: 100%;\n }\n .col-xs-11 {\n width: 91.66666667%;\n }\n .col-xs-10 {\n width: 83.33333333%;\n }\n .col-xs-9 {\n width: 75%;\n }\n .col-xs-8 {\n width: 66.66666667%;\n }\n .col-xs-7 {\n width: 58.33333333%;\n }\n .col-xs-6 {\n width: 50%;\n }\n .col-xs-5 {\n width: 41.66666667%;\n }\n .col-xs-4 {\n width: 33.33333333%;\n }\n .col-xs-3 {\n width: 25%;\n }\n .col-xs-2 {\n width: 16.66666667%;\n }\n .col-xs-1 {\n width: 8.33333333%;\n }\n .col-xs-pull-12 {\n left: 100%;\n right: auto;\n }\n .col-xs-pull-11 {\n left: 91.66666667%;\n right: auto;\n }\n .col-xs-pull-10 {\n left: 83.33333333%;\n right: auto;\n }\n .col-xs-pull-9 {\n left: 75%;\n right: auto;\n }\n .col-xs-pull-8 {\n left: 66.66666667%;\n right: auto;\n }\n .col-xs-pull-7 {\n left: 58.33333333%;\n right: auto;\n }\n .col-xs-pull-6 {\n left: 50%;\n right: auto;\n }\n .col-xs-pull-5 {\n left: 41.66666667%;\n right: auto;\n }\n .col-xs-pull-4 {\n left: 33.33333333%;\n right: auto;\n }\n .col-xs-pull-3 {\n left: 25%;\n right: auto;\n }\n .col-xs-pull-2 {\n left: 16.66666667%;\n right: auto;\n }\n .col-xs-pull-1 {\n left: 8.33333333%;\n right: auto;\n }\n .col-xs-pull-0 {\n left: auto;\n right: auto;\n }\n .col-xs-push-12 {\n right: 100%;\n left: 0;\n }\n .col-xs-push-11 {\n right: 91.66666667%;\n left: 0;\n }\n .col-xs-push-10 {\n right: 83.33333333%;\n left: 0;\n }\n .col-xs-push-9 {\n right: 75%;\n left: 0;\n }\n .col-xs-push-8 {\n right: 66.66666667%;\n left: 0;\n }\n .col-xs-push-7 {\n right: 58.33333333%;\n left: 0;\n }\n .col-xs-push-6 {\n right: 50%;\n left: 0;\n }\n .col-xs-push-5 {\n right: 41.66666667%;\n left: 0;\n }\n .col-xs-push-4 {\n right: 33.33333333%;\n left: 0;\n }\n .col-xs-push-3 {\n right: 25%;\n left: 0;\n }\n .col-xs-push-2 {\n right: 16.66666667%;\n left: 0;\n }\n .col-xs-push-1 {\n right: 8.33333333%;\n left: 0;\n }\n .col-xs-push-0 {\n right: auto;\n left: 0;\n }\n .col-xs-offset-12 {\n margin-right: 100%;\n margin-left: 0;\n }\n .col-xs-offset-11 {\n margin-right: 91.66666667%;\n margin-left: 0;\n }\n .col-xs-offset-10 {\n margin-right: 83.33333333%;\n margin-left: 0;\n }\n .col-xs-offset-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .col-xs-offset-8 {\n margin-right: 66.66666667%;\n margin-left: 0;\n }\n .col-xs-offset-7 {\n margin-right: 58.33333333%;\n margin-left: 0;\n }\n .col-xs-offset-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .col-xs-offset-5 {\n margin-right: 41.66666667%;\n margin-left: 0;\n }\n .col-xs-offset-4 {\n margin-right: 33.33333333%;\n margin-left: 0;\n }\n .col-xs-offset-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .col-xs-offset-2 {\n margin-right: 16.66666667%;\n margin-left: 0;\n }\n .col-xs-offset-1 {\n margin-right: 8.33333333%;\n margin-left: 0;\n }\n .col-xs-offset-0 {\n margin-right: 0%;\n margin-left: 0;\n }\n @media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: right;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n left: 100%;\n right: auto;\n }\n .col-sm-pull-11 {\n left: 91.66666667%;\n right: auto;\n }\n .col-sm-pull-10 {\n left: 83.33333333%;\n right: auto;\n }\n .col-sm-pull-9 {\n left: 75%;\n right: auto;\n }\n .col-sm-pull-8 {\n left: 66.66666667%;\n right: auto;\n }\n .col-sm-pull-7 {\n left: 58.33333333%;\n right: auto;\n }\n .col-sm-pull-6 {\n left: 50%;\n right: auto;\n }\n .col-sm-pull-5 {\n left: 41.66666667%;\n right: auto;\n }\n .col-sm-pull-4 {\n left: 33.33333333%;\n right: auto;\n }\n .col-sm-pull-3 {\n left: 25%;\n right: auto;\n }\n .col-sm-pull-2 {\n left: 16.66666667%;\n right: auto;\n }\n .col-sm-pull-1 {\n left: 8.33333333%;\n right: auto;\n }\n .col-sm-pull-0 {\n left: auto;\n right: auto;\n }\n .col-sm-push-12 {\n right: 100%;\n left: 0;\n }\n .col-sm-push-11 {\n right: 91.66666667%;\n left: 0;\n }\n .col-sm-push-10 {\n right: 83.33333333%;\n left: 0;\n }\n .col-sm-push-9 {\n right: 75%;\n left: 0;\n }\n .col-sm-push-8 {\n right: 66.66666667%;\n left: 0;\n }\n .col-sm-push-7 {\n right: 58.33333333%;\n left: 0;\n }\n .col-sm-push-6 {\n right: 50%;\n left: 0;\n }\n .col-sm-push-5 {\n right: 41.66666667%;\n left: 0;\n }\n .col-sm-push-4 {\n right: 33.33333333%;\n left: 0;\n }\n .col-sm-push-3 {\n right: 25%;\n left: 0;\n }\n .col-sm-push-2 {\n right: 16.66666667%;\n left: 0;\n }\n .col-sm-push-1 {\n right: 8.33333333%;\n left: 0;\n }\n .col-sm-push-0 {\n right: auto;\n left: 0;\n }\n .col-sm-offset-12 {\n margin-right: 100%;\n margin-left: 0;\n }\n .col-sm-offset-11 {\n margin-right: 91.66666667%;\n margin-left: 0;\n }\n .col-sm-offset-10 {\n margin-right: 83.33333333%;\n margin-left: 0;\n }\n .col-sm-offset-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .col-sm-offset-8 {\n margin-right: 66.66666667%;\n margin-left: 0;\n }\n .col-sm-offset-7 {\n margin-right: 58.33333333%;\n margin-left: 0;\n }\n .col-sm-offset-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .col-sm-offset-5 {\n margin-right: 41.66666667%;\n margin-left: 0;\n }\n .col-sm-offset-4 {\n margin-right: 33.33333333%;\n margin-left: 0;\n }\n .col-sm-offset-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .col-sm-offset-2 {\n margin-right: 16.66666667%;\n margin-left: 0;\n }\n .col-sm-offset-1 {\n margin-right: 8.33333333%;\n margin-left: 0;\n }\n .col-sm-offset-0 {\n margin-right: 0%;\n margin-left: 0;\n }\n }\n @media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: right;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n left: 100%;\n right: auto;\n }\n .col-md-pull-11 {\n left: 91.66666667%;\n right: auto;\n }\n .col-md-pull-10 {\n left: 83.33333333%;\n right: auto;\n }\n .col-md-pull-9 {\n left: 75%;\n right: auto;\n }\n .col-md-pull-8 {\n left: 66.66666667%;\n right: auto;\n }\n .col-md-pull-7 {\n left: 58.33333333%;\n right: auto;\n }\n .col-md-pull-6 {\n left: 50%;\n right: auto;\n }\n .col-md-pull-5 {\n left: 41.66666667%;\n right: auto;\n }\n .col-md-pull-4 {\n left: 33.33333333%;\n right: auto;\n }\n .col-md-pull-3 {\n left: 25%;\n right: auto;\n }\n .col-md-pull-2 {\n left: 16.66666667%;\n right: auto;\n }\n .col-md-pull-1 {\n left: 8.33333333%;\n right: auto;\n }\n .col-md-pull-0 {\n left: auto;\n right: auto;\n }\n .col-md-push-12 {\n right: 100%;\n left: 0;\n }\n .col-md-push-11 {\n right: 91.66666667%;\n left: 0;\n }\n .col-md-push-10 {\n right: 83.33333333%;\n left: 0;\n }\n .col-md-push-9 {\n right: 75%;\n left: 0;\n }\n .col-md-push-8 {\n right: 66.66666667%;\n left: 0;\n }\n .col-md-push-7 {\n right: 58.33333333%;\n left: 0;\n }\n .col-md-push-6 {\n right: 50%;\n left: 0;\n }\n .col-md-push-5 {\n right: 41.66666667%;\n left: 0;\n }\n .col-md-push-4 {\n right: 33.33333333%;\n left: 0;\n }\n .col-md-push-3 {\n right: 25%;\n left: 0;\n }\n .col-md-push-2 {\n right: 16.66666667%;\n left: 0;\n }\n .col-md-push-1 {\n right: 8.33333333%;\n left: 0;\n }\n .col-md-push-0 {\n right: auto;\n left: 0;\n }\n .col-md-offset-12 {\n margin-right: 100%;\n margin-left: 0;\n }\n .col-md-offset-11 {\n margin-right: 91.66666667%;\n margin-left: 0;\n }\n .col-md-offset-10 {\n margin-right: 83.33333333%;\n margin-left: 0;\n }\n .col-md-offset-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .col-md-offset-8 {\n margin-right: 66.66666667%;\n margin-left: 0;\n }\n .col-md-offset-7 {\n margin-right: 58.33333333%;\n margin-left: 0;\n }\n .col-md-offset-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .col-md-offset-5 {\n margin-right: 41.66666667%;\n margin-left: 0;\n }\n .col-md-offset-4 {\n margin-right: 33.33333333%;\n margin-left: 0;\n }\n .col-md-offset-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .col-md-offset-2 {\n margin-right: 16.66666667%;\n margin-left: 0;\n }\n .col-md-offset-1 {\n margin-right: 8.33333333%;\n margin-left: 0;\n }\n .col-md-offset-0 {\n margin-right: 0%;\n margin-left: 0;\n }\n }\n @media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: right;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n left: 100%;\n right: auto;\n }\n .col-lg-pull-11 {\n left: 91.66666667%;\n right: auto;\n }\n .col-lg-pull-10 {\n left: 83.33333333%;\n right: auto;\n }\n .col-lg-pull-9 {\n left: 75%;\n right: auto;\n }\n .col-lg-pull-8 {\n left: 66.66666667%;\n right: auto;\n }\n .col-lg-pull-7 {\n left: 58.33333333%;\n right: auto;\n }\n .col-lg-pull-6 {\n left: 50%;\n right: auto;\n }\n .col-lg-pull-5 {\n left: 41.66666667%;\n right: auto;\n }\n .col-lg-pull-4 {\n left: 33.33333333%;\n right: auto;\n }\n .col-lg-pull-3 {\n left: 25%;\n right: auto;\n }\n .col-lg-pull-2 {\n left: 16.66666667%;\n right: auto;\n }\n .col-lg-pull-1 {\n left: 8.33333333%;\n right: auto;\n }\n .col-lg-pull-0 {\n left: auto;\n right: auto;\n }\n .col-lg-push-12 {\n right: 100%;\n left: 0;\n }\n .col-lg-push-11 {\n right: 91.66666667%;\n left: 0;\n }\n .col-lg-push-10 {\n right: 83.33333333%;\n left: 0;\n }\n .col-lg-push-9 {\n right: 75%;\n left: 0;\n }\n .col-lg-push-8 {\n right: 66.66666667%;\n left: 0;\n }\n .col-lg-push-7 {\n right: 58.33333333%;\n left: 0;\n }\n .col-lg-push-6 {\n right: 50%;\n left: 0;\n }\n .col-lg-push-5 {\n right: 41.66666667%;\n left: 0;\n }\n .col-lg-push-4 {\n right: 33.33333333%;\n left: 0;\n }\n .col-lg-push-3 {\n right: 25%;\n left: 0;\n }\n .col-lg-push-2 {\n right: 16.66666667%;\n left: 0;\n }\n .col-lg-push-1 {\n right: 8.33333333%;\n left: 0;\n }\n .col-lg-push-0 {\n right: auto;\n left: 0;\n }\n .col-lg-offset-12 {\n margin-right: 100%;\n margin-left: 0;\n }\n .col-lg-offset-11 {\n margin-right: 91.66666667%;\n margin-left: 0;\n }\n .col-lg-offset-10 {\n margin-right: 83.33333333%;\n margin-left: 0;\n }\n .col-lg-offset-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .col-lg-offset-8 {\n margin-right: 66.66666667%;\n margin-left: 0;\n }\n .col-lg-offset-7 {\n margin-right: 58.33333333%;\n margin-left: 0;\n }\n .col-lg-offset-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .col-lg-offset-5 {\n margin-right: 41.66666667%;\n margin-left: 0;\n }\n .col-lg-offset-4 {\n margin-right: 33.33333333%;\n margin-left: 0;\n }\n .col-lg-offset-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .col-lg-offset-2 {\n margin-right: 16.66666667%;\n margin-left: 0;\n }\n .col-lg-offset-1 {\n margin-right: 8.33333333%;\n margin-left: 0;\n }\n .col-lg-offset-0 {\n margin-right: 0%;\n margin-left: 0;\n }\n }\n caption {\n text-align: right;\n }\n th:not(.mx-left-aligned) {\n text-align: right;\n }\n @media screen and (max-width: 767px) {\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-right: 0;\n border-left: initial;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-left: 0;\n border-right: initial;\n }\n }\n .radio label,\n .checkbox label {\n padding-right: 20px;\n padding-left: initial;\n }\n .radio input[type='radio'],\n .radio-inline input[type='radio'],\n .checkbox input[type='checkbox'],\n .checkbox-inline input[type='checkbox'] {\n margin-right: -20px;\n margin-left: auto;\n }\n .radio-inline,\n .checkbox-inline {\n padding-right: 20px;\n padding-left: 0;\n }\n .radio-inline + .radio-inline,\n .checkbox-inline + .checkbox-inline {\n margin-right: 10px;\n margin-left: 0;\n }\n .has-feedback .form-control {\n padding-left: 42.5px;\n padding-right: 12px;\n }\n .form-control-feedback {\n left: 0;\n right: auto;\n }\n @media (min-width: 768px) {\n .form-inline label {\n padding-right: 0;\n padding-left: initial;\n }\n .form-inline .radio input[type='radio'],\n .form-inline .checkbox input[type='checkbox'] {\n margin-right: 0;\n margin-left: auto;\n }\n }\n @media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: left;\n }\n }\n .form-horizontal .has-feedback .form-control-feedback {\n left: 15px;\n right: auto;\n }\n .caret {\n margin-right: 2px;\n margin-left: 0;\n }\n .dropdown-menu {\n right: 0;\n left: auto;\n float: left;\n text-align: right;\n }\n .dropdown-menu.pull-right {\n left: 0;\n right: auto;\n float: right;\n }\n .dropdown-menu-right {\n left: auto;\n right: 0;\n }\n .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n @media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n }\n .btn-group > .btn,\n .btn-group-vertical > .btn {\n float: right;\n }\n .btn-group .btn + .btn,\n .btn-group .btn + .btn-group,\n .btn-group .btn-group + .btn,\n .btn-group .btn-group + .btn-group {\n margin-right: -1px;\n margin-left: 0px;\n }\n .btn-toolbar {\n margin-right: -5px;\n margin-left: 0px;\n }\n .btn-toolbar .btn-group,\n .btn-toolbar .input-group {\n float: right;\n }\n .btn-toolbar > .btn,\n .btn-toolbar > .btn-group,\n .btn-toolbar > .input-group {\n margin-right: 5px;\n margin-left: 0px;\n }\n .btn-group > .btn:first-child {\n margin-right: 0;\n }\n .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n .btn-group > .btn:last-child:not(:first-child),\n .btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n .btn-group > .btn-group {\n float: right;\n }\n .btn-group.btn-group-justified > .btn,\n .btn-group.btn-group-justified > .btn-group {\n float: none;\n }\n .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n }\n .btn-group > .btn-group:first-child > .btn:last-child,\n .btn-group > .btn-group:first-child > .dropdown-toggle {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n .btn-group > .btn-group:last-child > .btn:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n .btn .caret {\n margin-right: 0;\n }\n .btn-group-vertical > .btn + .btn,\n .btn-group-vertical > .btn + .btn-group,\n .btn-group-vertical > .btn-group + .btn,\n .btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-right: 0;\n }\n .input-group .form-control {\n float: right;\n }\n .input-group .form-control:first-child,\n .input-group-addon:first-child,\n .input-group-btn:first-child > .btn,\n .input-group-btn:first-child > .btn-group > .btn,\n .input-group-btn:first-child > .dropdown-toggle,\n .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n .input-group-addon:first-child {\n border-left: 0px;\n border-right: 1px solid;\n }\n .input-group .form-control:last-child,\n .input-group-addon:last-child,\n .input-group-btn:last-child > .btn,\n .input-group-btn:last-child > .btn-group > .btn,\n .input-group-btn:last-child > .dropdown-toggle,\n .input-group-btn:first-child > .btn:not(:first-child),\n .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n .input-group-addon:last-child {\n border-left-width: 1px;\n border-left-style: solid;\n border-right: 0px;\n }\n .input-group-btn > .btn + .btn {\n margin-right: -1px;\n margin-left: auto;\n }\n .input-group-btn:first-child > .btn,\n .input-group-btn:first-child > .btn-group {\n margin-left: -1px;\n margin-right: auto;\n }\n .input-group-btn:last-child > .btn,\n .input-group-btn:last-child > .btn-group {\n margin-right: -1px;\n margin-left: auto;\n }\n .nav {\n padding-right: 0;\n padding-left: initial;\n }\n .nav-tabs > li {\n float: right;\n }\n .nav-tabs > li > a {\n margin-left: auto;\n margin-right: -2px;\n border-radius: 4px 4px 0 0;\n }\n .nav-pills > li {\n float: right;\n }\n .nav-pills > li > a {\n border-radius: 4px;\n }\n .nav-pills > li + li {\n margin-right: 2px;\n margin-left: auto;\n }\n .nav-stacked > li {\n float: none;\n }\n .nav-stacked > li + li {\n margin-right: 0;\n margin-left: auto;\n }\n .nav-justified > .dropdown .dropdown-menu {\n right: auto;\n }\n .nav-tabs-justified > li > a {\n margin-left: 0;\n margin-right: auto;\n }\n @media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-radius: 4px 4px 0 0;\n }\n }\n @media (min-width: 768px) {\n .navbar-header {\n float: right;\n }\n }\n .navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n }\n .navbar-brand {\n float: right;\n }\n @media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-right: -15px;\n margin-left: auto;\n }\n }\n .navbar-toggle {\n float: left;\n margin-left: 15px;\n margin-right: auto;\n }\n @media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 25px 5px 15px;\n }\n }\n @media (min-width: 768px) {\n .navbar-nav {\n float: right;\n }\n .navbar-nav > li {\n float: right;\n }\n }\n @media (min-width: 768px) {\n .navbar-left.flip {\n float: right !important;\n }\n .navbar-right:last-child {\n margin-left: -15px;\n margin-right: auto;\n }\n .navbar-right.flip {\n float: left !important;\n margin-left: -15px;\n margin-right: auto;\n }\n .navbar-right .dropdown-menu {\n left: 0;\n right: auto;\n }\n }\n @media (min-width: 768px) {\n .navbar-text {\n float: right;\n }\n .navbar-text.navbar-right:last-child {\n margin-left: 0;\n margin-right: auto;\n }\n }\n .pagination {\n padding-right: 0;\n }\n .pagination > li > a,\n .pagination > li > span {\n float: right;\n margin-right: -1px;\n margin-left: 0px;\n }\n .pagination > li:first-child > a,\n .pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n .pagination > li:last-child > a,\n .pagination > li:last-child > span {\n margin-right: -1px;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n .pager {\n padding-right: 0;\n padding-left: initial;\n }\n .pager .next > a,\n .pager .next > span {\n float: left;\n }\n .pager .previous > a,\n .pager .previous > span {\n float: right;\n }\n .nav-pills > li > a > .badge {\n margin-left: 0px;\n margin-right: 3px;\n }\n .list-group-item > .badge {\n float: left;\n }\n .list-group-item > .badge + .badge {\n margin-left: 5px;\n margin-right: auto;\n }\n .alert-dismissable,\n .alert-dismissible {\n padding-left: 35px;\n padding-right: 15px;\n }\n .alert-dismissable .close,\n .alert-dismissible .close {\n right: auto;\n left: -21px;\n }\n .progress-bar {\n float: right;\n }\n .media > .pull-left {\n margin-right: 10px;\n }\n .media > .pull-left.flip {\n margin-right: 0;\n margin-left: 10px;\n }\n .media > .pull-right {\n margin-left: 10px;\n }\n .media > .pull-right.flip {\n margin-left: 0;\n margin-right: 10px;\n }\n .media-right,\n .media > .pull-right {\n padding-right: 10px;\n padding-left: initial;\n }\n .media-left,\n .media > .pull-left {\n padding-left: 10px;\n padding-right: initial;\n }\n .media-list {\n padding-right: 0;\n padding-left: initial;\n list-style: none;\n }\n .list-group {\n padding-right: 0;\n padding-left: initial;\n }\n .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 0;\n }\n .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 0;\n }\n .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n border-top-right-radius: 0;\n }\n .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n border-top-left-radius: 0;\n }\n .panel > .table-bordered > thead > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n .panel > .table-bordered > tbody > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .panel > .table-bordered > tfoot > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .panel > .table-bordered > thead > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n .panel > .table-bordered > tbody > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .panel > .table-bordered > tfoot > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-right: 0;\n border-left: none;\n }\n .panel > .table-bordered > thead > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n .panel > .table-bordered > tbody > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .panel > .table-bordered > tfoot > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .panel > .table-bordered > thead > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n .panel > .table-bordered > tbody > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .panel > .table-bordered > tfoot > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: none;\n border-left: 0;\n }\n .embed-responsive .embed-responsive-item,\n .embed-responsive iframe,\n .embed-responsive embed,\n .embed-responsive object {\n right: 0;\n left: auto;\n }\n .close {\n float: left;\n }\n .modal-footer {\n text-align: left;\n }\n .modal-footer.flip {\n text-align: right;\n }\n .modal-footer .btn + .btn {\n margin-left: auto;\n margin-right: 5px;\n }\n .modal-footer .btn-group .btn + .btn {\n margin-right: -1px;\n margin-left: auto;\n }\n .modal-footer .btn-block + .btn-block {\n margin-right: 0;\n margin-left: auto;\n }\n .popover {\n left: auto;\n text-align: right;\n }\n .popover.top > .arrow {\n right: 50%;\n left: auto;\n margin-right: -11px;\n margin-left: auto;\n }\n .popover.top > .arrow:after {\n margin-right: -10px;\n margin-left: auto;\n }\n .popover.bottom > .arrow {\n right: 50%;\n left: auto;\n margin-right: -11px;\n margin-left: auto;\n }\n .popover.bottom > .arrow:after {\n margin-right: -10px;\n margin-left: auto;\n }\n .carousel-control {\n right: 0;\n bottom: 0;\n }\n .carousel-control.left {\n right: auto;\n left: 0;\n background-image: -webkit-linear-gradient(\n left,\n color-stop(rgba(0, 0, 0, 0.5) 0%),\n color-stop(rgba(0, 0, 0, 0.0001) 100%)\n );\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n }\n .carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(\n left,\n color-stop(rgba(0, 0, 0, 0.0001) 0%),\n color-stop(rgba(0, 0, 0, 0.5) 100%)\n );\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n }\n .carousel-control .icon-prev,\n .carousel-control .glyphicon-chevron-left {\n left: 50%;\n right: auto;\n margin-right: -10px;\n }\n .carousel-control .icon-next,\n .carousel-control .glyphicon-chevron-right {\n right: 50%;\n left: auto;\n margin-left: -10px;\n }\n .carousel-indicators {\n right: 50%;\n left: 0;\n margin-right: -30%;\n margin-left: 0;\n padding-left: 0;\n }\n @media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: 0;\n margin-right: -15px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-left: 0;\n margin-right: -15px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n }\n .pull-right.flip {\n float: left !important;\n }\n .pull-left.flip {\n float: right !important;\n }\n}\n","/* @preserve\n Copyright (c) 2005-2016, Mendix bv. All rights reserved.\n See mxclientsystem/licenses.txt for third party licenses that apply.\n*/\n\n\n/*\n\tEssential styles that themes can inherit.\n\tIn other words, works but doesn't look great.\n*/\n\n\n\n/****\n\t\tGENERIC PIECES\n ****/\n\n .dijitReset {\n\t/* Use this style to null out padding, margin, border in your template elements\n\t\tso that page specific styles don't break them.\n\t\t- Use in all TABLE, TR and TD tags.\n\t*/\n\tmargin:0;\n\tborder:0;\n\tpadding:0;\n\tfont: inherit;\n\tline-height:normal;\n\tcolor: inherit;\n}\n.dj_a11y .dijitReset {\n\t-moz-appearance: none; /* remove predefined high-contrast styling in Firefox */\n}\n\n.dijitInline {\n\t/* To inline block elements.\n\t\tSimilar to InlineBox below, but this has fewer side-effects in Moz.\n\t\tAlso, apparently works on a DIV as well as a FIELDSET.\n\t*/\n\tdisplay:inline-block;\t\t\t/* webkit and FF3 */\n\tborder:0;\n\tpadding:0;\n\tvertical-align:middle;\n}\n\ntable.dijitInline {\n\t/* To inline tables with a given width set */\n\tdisplay:inline-table;\n\tbox-sizing: content-box; -moz-box-sizing: content-box;\n}\n\n.dijitHidden {\n\t/* To hide unselected panes in StackContainer etc. */\n\tposition: absolute; /* remove from normal document flow to simulate display: none */\n\tvisibility: hidden; /* hide element from view, but don't break scrolling, see #18612 */\n}\n.dijitHidden * {\n\tvisibility: hidden !important; /* hide visibility:visible descendants of class=dijitHidden nodes, see #18799 */\n}\n\n.dijitVisible {\n\t/* To show selected pane in StackContainer etc. */\n\tdisplay: block !important;\t/* override user's display:none setting via style setting or indirectly via class */\n\tposition: relative;\t\t\t/* to support setting width/height, see #2033 */\n\tvisibility: visible;\n}\n\n.dj_ie6 .dijitComboBox .dijitInputContainer,\n.dijitInputContainer {\n\t/* for positioning of placeHolder */\n\toverflow: hidden;\n\tfloat: none !important; /* needed to squeeze the INPUT in */\n\tposition: relative;\n}\n.dj_ie7 .dijitInputContainer {\n\tfloat: left !important; /* needed by IE to squeeze the INPUT in */\n\tclear: left;\n\tdisplay: inline-block !important; /* to fix wrong text alignment in textdir=rtl text box */\n}\n\n.dj_ie .dijitSelect input,\n.dj_ie input.dijitTextBox,\n.dj_ie .dijitTextBox input {\n\tfont-size: 100%;\n}\n.dijitSelect .dijitButtonText {\n\tfloat: left;\n\tvertical-align: top;\n}\nTABLE.dijitSelect {\n\tpadding: 0 !important; /* messes up border alignment */\n\tborder-collapse: separate; /* so jsfiddle works with Normalized CSS checked */\n}\n.dijitTextBox .dijitSpinnerButtonContainer,\n.dijitTextBox .dijitArrowButtonContainer,\n.dijitValidationTextBox .dijitValidationContainer {\n\tfloat: right;\n\ttext-align: center;\n}\n.dijitSelect input.dijitInputField,\n.dijitTextBox input.dijitInputField {\n\t/* override unreasonable user styling of buttons and icons */\n\tpadding-left: 0 !important;\n\tpadding-right: 0 !important;\n}\n.dijitValidationTextBox .dijitValidationContainer {\n\tdisplay: none;\n}\n\n.dijitTeeny {\n\tfont-size:1px;\n\tline-height:1px;\n}\n\n.dijitOffScreen { /* these class attributes should supersede any inline positioning style */\n\tposition: absolute !important;\n\tleft: -10000px !important;\n\ttop: -10000px !important;\n}\n\n/*\n * Popup items have a wrapper div (dijitPopup)\n * with the real popup inside, and maybe an iframe too\n */\n.dijitPopup {\n\tposition: absolute;\n\tbackground-color: transparent;\n\tmargin: 0;\n\tborder: 0;\n\tpadding: 0;\n\t-webkit-overflow-scrolling: touch;\n}\n\n.dijitPositionOnly {\n\t/* Null out all position-related properties */\n\tpadding: 0 !important;\n\tborder: 0 !important;\n\tbackground-color: transparent !important;\n\tbackground-image: none !important;\n\theight: auto !important;\n\twidth: auto !important;\n}\n\n.dijitNonPositionOnly {\n\t/* Null position-related properties */\n\tfloat: none !important;\n\tposition: static !important;\n\tmargin: 0 0 0 0 !important;\n\tvertical-align: middle !important;\n}\n\n.dijitBackgroundIframe {\n\t/* iframe used to prevent problems with PDF or other applets overlaying menus etc */\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: -1;\n\tborder: 0;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.dijitDisplayNone {\n\t/* hide something. Use this as a class rather than element.style so another class can override */\n\tdisplay:none !important;\n}\n\n.dijitContainer {\n\t/* for all layout containers */\n\toverflow: hidden;\t/* need on IE so something can be reduced in size, and so scrollbars aren't temporarily displayed when resizing */\n}\n\n/****\n\t\tA11Y\n ****/\n.dj_a11y .dijitIcon,\n.dj_a11y div.dijitArrowButtonInner, /* is this only for Spinner? if so, it should be deleted */\n.dj_a11y span.dijitArrowButtonInner,\n.dj_a11y img.dijitArrowButtonInner,\n.dj_a11y .dijitCalendarIncrementControl,\n.dj_a11y .dijitTreeExpando {\n\t/* hide icon nodes in high contrast mode; when necessary they will be replaced by character equivalents\n\t * exception for input.dijitArrowButtonInner, because the icon and character are controlled by the same node */\n\tdisplay: none;\n}\n.dijitSpinner div.dijitArrowButtonInner {\n\tdisplay: block; /* override previous rule */\n}\n\n.dj_a11y .dijitA11ySideArrow {\n\tdisplay: inline !important; /* display text instead */\n\tcursor: pointer;\n}\n\n/*\n * Since we can't use shading in a11y mode, and since the underline indicates today's date,\n * use a border to show the selected date.\n * Avoid screen jitter when switching selected date by compensating for the selected node's\n * border w/padding on other nodes.\n */\n.dj_a11y .dijitCalendarDateLabel {\n\tpadding: 1px;\n\tborder: 0px !important;\n}\n.dj_a11y .dijitCalendarSelectedDate .dijitCalendarDateLabel {\n\tborder-style: solid !important;\n\tborder-width: 1px !important;\n\tpadding: 0;\n}\n.dj_a11y .dijitCalendarDateTemplate {\n\tpadding-bottom: 0.1em !important;\t/* otherwise bottom border doesn't appear on IE */\n\tborder: 0px !important;\n}\n.dj_a11y .dijitButtonNode {\n\tborder: black outset medium !important;\n\n\t/* In claro, hovering a toolbar button reduces padding and adds a border.\n\t * Not needed in a11y mode since Toolbar buttons always have a border.\n\t */\n\tpadding: 0 !important;\n}\n.dj_a11y .dijitArrowButton {\n\tpadding: 0 !important;\n}\n\n.dj_a11y .dijitButtonContents {\n\tmargin: 0.15em; /* Margin needed to make focus outline visible */\n}\n\n.dj_a11y .dijitTextBoxReadOnly .dijitInputField,\n.dj_a11y .dijitTextBoxReadOnly .dijitButtonNode {\n\tborder-style: outset!important;\n\tborder-width: medium!important;\n\tborder-color: #999 !important;\n\tcolor:#999 !important;\n}\n\n/* button inner contents - labels, icons etc. */\n.dijitButtonNode * {\n\tvertical-align: middle;\n}\n.dijitSelect .dijitArrowButtonInner,\n.dijitButtonNode .dijitArrowButtonInner {\n\t/* the arrow icon node */\n\tbackground: no-repeat center;\n\twidth: 12px;\n\theight: 12px;\n\tdirection: ltr; /* needed by IE/RTL */\n}\n\n/****\n\t3-element borders: ( dijitLeft + dijitStretch + dijitRight )\n\tThese were added for rounded corners on dijit.form.*Button but never actually used.\n ****/\n\n.dijitLeft {\n\t/* Left part of a 3-element border */\n\tbackground-position:left top;\n\tbackground-repeat:no-repeat;\n}\n\n.dijitStretch {\n\t/* Middle (stretchy) part of a 3-element border */\n\twhite-space:nowrap;\t\t\t/* MOW: move somewhere else */\n\tbackground-repeat:repeat-x;\n}\n\n.dijitRight {\n\t/* Right part of a 3-element border */\n\tbackground-position:right top;\n\tbackground-repeat:no-repeat;\n}\n\n/* Buttons */\n.dj_gecko .dj_a11y .dijitButtonDisabled .dijitButtonNode {\n\topacity: 0.5;\n}\n\n.dijitToggleButton,\n.dijitButton,\n.dijitDropDownButton,\n.dijitComboButton {\n\t/* outside of button */\n\tmargin: 0.2em;\n\tvertical-align: middle;\n}\n\n.dijitButtonContents {\n\tdisplay: block;\t\t/* to make focus border rectangular */\n}\ntd.dijitButtonContents {\n\tdisplay: table-cell;\t/* but don't affect Select, ComboButton */\n}\n\n.dijitButtonNode img {\n\t/* make text and images line up cleanly */\n\tvertical-align:middle;\n\t/*margin-bottom:.2em;*/\n}\n\n.dijitToolbar .dijitComboButton {\n\t/* because Toolbar only draws a border around the hovered thing */\n\tborder-collapse: separate;\n}\n\n.dijitToolbar .dijitToggleButton,\n.dijitToolbar .dijitButton,\n.dijitToolbar .dijitDropDownButton,\n.dijitToolbar .dijitComboButton {\n\tmargin: 0;\n}\n\n.dijitToolbar .dijitButtonContents {\n\t/* just because it used to be this way */\n\tpadding: 1px 2px;\n}\n\n\n.dj_webkit .dijitToolbar .dijitDropDownButton {\n\tpadding-left: 0.3em;\n}\n.dj_gecko .dijitToolbar .dijitButtonNode::-moz-focus-inner {\n\tpadding:0;\n}\n\n.dijitSelect {\n\tborder:1px solid gray;\n}\n.dijitButtonNode {\n\t/* Node that is acting as a button -- may or may not be a BUTTON element */\n\tborder:1px solid gray;\n\tmargin:0;\n\tline-height:normal;\n\tvertical-align: middle;\n\ttext-align:center;\n\twhite-space: nowrap;\n}\n.dj_webkit .dijitSpinner .dijitSpinnerButtonContainer {\n\t/* apparent WebKit bug where messing with the font coupled with line-height:normal X 2 (dijitReset & dijitButtonNode)\n\tcan be different than just a single line-height:normal, visible in InlineEditBox/Spinner */\n\tline-height:inherit;\n}\n.dijitTextBox .dijitButtonNode {\n\tborder-width: 0;\n}\n\n.dijitSelect,\n.dijitSelect *,\n.dijitButtonNode,\n.dijitButtonNode * {\n\tcursor: pointer;\n\t-webkit-tap-highlight-color: transparent;\n}\n\n.dj_ie .dijitButtonNode {\n\t/* ensure hasLayout */\n\tzoom: 1;\n}\n\n.dj_ie .dijitButtonNode button {\n\t/*\n\t\tdisgusting hack to get rid of spurious padding around button elements\n\t\ton IE. MSIE is truly the web's boat anchor.\n\t*/\n\toverflow: visible;\n}\n\ndiv.dijitArrowButton {\n\tfloat: right;\n}\n\n/******\n\tTextBox related.\n\tEverything that has an \n*******/\n\n.dijitTextBox {\n\tborder: solid black 1px;\n\twidth: 15em;\t/* need to set default size on outer node since inner nodes say and . user can override */\n\tvertical-align: middle;\n}\n\n.dijitTextBoxReadOnly,\n.dijitTextBoxDisabled {\n\tcolor: gray;\n}\n.dj_safari .dijitTextBoxDisabled input {\n\tcolor: #B0B0B0; /* because Safari lightens disabled input/textarea no matter what color you specify */\n}\n.dj_safari textarea.dijitTextAreaDisabled {\n\tcolor: #333; /* because Safari lightens disabled input/textarea no matter what color you specify */\n}\n.dj_gecko .dijitTextBoxReadOnly input.dijitInputField, /* disable arrow and validation presentation inputs but allow real input for text selection */\n.dj_gecko .dijitTextBoxDisabled input {\n\t-moz-user-input: none; /* prevent focus of disabled textbox buttons */\n}\n\n.dijitPlaceHolder {\n\t/* hint text that appears in a textbox until user starts typing */\n\tcolor: #AAAAAA;\n\tfont-style: italic;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twhite-space: nowrap;\n\tpointer-events: none; /* so cut/paste context menu shows up when right clicking */\n}\n\n.dijitTimeTextBox {\n\twidth: 8em;\n}\n\n/* rules for webkit to deal with fuzzy blue focus border */\n.dijitTextBox input:focus {\n\toutline: none;\t/* blue fuzzy line looks wrong on combobox or something w/validation icon showing */\n}\n.dijitTextBoxFocused {\n\toutline: 5px -webkit-focus-ring-color;\n}\n\n.dijitSelect input,\n.dijitTextBox input {\n\tfloat: left; /* needed by IE to remove secret margin */\n}\n.dj_ie6 input.dijitTextBox,\n.dj_ie6 .dijitTextBox input {\n\tfloat: none;\n}\n.dijitInputInner {\n\t/* for when an is embedded inside an inline-block
with a size and border */\n\tborder:0 !important;\n\tbackground-color:transparent !important;\n\twidth:100% !important;\n\t/* IE dislikes horizontal tweaking combined with width:100% so punish everyone for consistency */\n\tpadding-left: 0 !important;\n\tpadding-right: 0 !important;\n\tmargin-left: 0 !important;\n\tmargin-right: 0 !important;\n}\n.dj_a11y .dijitTextBox input {\n\tmargin: 0 !important;\n}\n.dijitValidationTextBoxError input.dijitValidationInner,\n.dijitSelect input,\n.dijitTextBox input.dijitArrowButtonInner {\n\t/* used to display arrow icon/validation icon, or in arrow character in high contrast mode.\n\t * The css below is a trick to hide the character in non-high-contrast mode\n\t */\n\ttext-indent: -2em !important;\n\tdirection: ltr !important;\n\ttext-align: left !important;\n\theight: auto !important;\n}\n.dj_ie .dijitSelect input,\n.dj_ie .dijitTextBox input,\n.dj_ie input.dijitTextBox {\n\toverflow-y: visible; /* inputs need help expanding when padding is added or line-height is adjusted */\n\tline-height: normal; /* strict mode */\n}\n.dijitSelect .dijitSelectLabel span {\n\tline-height: 100%;\n}\n.dj_ie .dijitSelect .dijitSelectLabel {\n\tline-height: normal;\n}\n.dj_ie6 .dijitSelect .dijitSelectLabel,\n.dj_ie7 .dijitSelect .dijitSelectLabel,\n.dj_ie8 .dijitSelect .dijitSelectLabel,\n.dj_iequirks .dijitSelect .dijitSelectLabel,\n.dijitSelect td,\n.dj_ie6 .dijitSelect input,\n.dj_iequirks .dijitSelect input,\n.dj_ie6 .dijitSelect .dijitValidationContainer,\n.dj_ie6 .dijitTextBox input,\n.dj_ie6 input.dijitTextBox,\n.dj_iequirks .dijitTextBox input.dijitValidationInner,\n.dj_iequirks .dijitTextBox input.dijitArrowButtonInner,\n.dj_iequirks .dijitTextBox input.dijitSpinnerButtonInner,\n.dj_iequirks .dijitTextBox input.dijitInputInner,\n.dj_iequirks input.dijitTextBox {\n\tline-height: 100%; /* IE7 problem where the icon is vertically way too low w/o this */\n}\n.dj_a11y input.dijitValidationInner,\n.dj_a11y input.dijitArrowButtonInner {\n\t/* (in high contrast mode) revert rules from above so character displays */\n\ttext-indent: 0 !important;\n\twidth: 1em !important;\n\tcolor: black !important;\n}\n.dijitValidationTextBoxError .dijitValidationContainer {\n\tdisplay: inline;\n\tcursor: default;\n}\n\n/* ComboBox & Spinner */\n\n.dijitSpinner .dijitSpinnerButtonContainer,\n.dijitComboBox .dijitArrowButtonContainer {\n\t/* dividing line between input area and up/down button(s) for ComboBox and Spinner */\n\tborder-width: 0 0 0 1px !important; /* !important needed due to wayward \".theme .dijitButtonNode\" rules */\n}\n.dj_a11y .dijitSelect .dijitArrowButtonContainer,\n.dijitToolbar .dijitComboBox .dijitArrowButtonContainer {\n\t/* overrides above rule plus mirror-image rule in dijit_rtl.css to have no divider when ComboBox in Toolbar */\n\tborder-width: 0 !important;\n}\n\n.dijitComboBoxMenu {\n\t/* Drop down menu is implemented as
  • ... but we don't want circles before each item */\n\tlist-style-type: none;\n}\n.dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode {\n\t/* dividing line between input area and up/down button(s) for ComboBox and Spinner */\n\tborder-width: 0;\n}\n.dj_ie .dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode {\n\tclear: both; /* IE workaround */\n}\n\n.dj_ie .dijitToolbar .dijitComboBox {\n\t/* make combobox buttons align properly with other buttons in a toolbar */\n\tvertical-align: middle;\n}\n\n/* Spinner */\n\n.dijitTextBox .dijitSpinnerButtonContainer {\n\twidth: 1em;\n\tposition: relative !important;\n\toverflow: hidden;\n}\n.dijitSpinner .dijitSpinnerButtonInner {\n\twidth:1em;\n\tvisibility:hidden !important; /* just a sizing element */\n\toverflow-x:hidden;\n}\n.dijitComboBox .dijitButtonNode,\n.dijitSpinnerButtonContainer .dijitButtonNode {\n\tborder-width: 0;\n}\n.dj_a11y .dijitSpinnerButtonContainer .dijitButtonNode {\n\tborder-width: 0px !important;\n\tborder-style: solid !important;\n}\n.dj_a11y .dijitTextBox .dijitSpinnerButtonContainer,\n.dj_a11y .dijitSpinner .dijitArrowButtonInner,\n.dj_a11y .dijitSpinnerButtonContainer input {\n\twidth: 1em !important;\n}\n.dj_a11y .dijitSpinner .dijitArrowButtonInner {\n\tmargin: 0 auto !important; /* should auto-center */\n}\n.dj_ie .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {\n\tpadding-left: 0.3em !important;\n\tpadding-right: 0.3em !important;\n\tmargin-left: 0.3em !important;\n\tmargin-right: 0.3em !important;\n\twidth: 1.4em !important;\n}\n.dj_ie7 .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {\n\tpadding-left: 0 !important; /* manually center INPUT: character is .5em and total width = 1em */\n\tpadding-right: 0 !important;\n\twidth: 1em !important;\n}\n.dj_ie6 .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {\n\tmargin-left: 0.1em !important;\n\tmargin-right: 0.1em !important;\n\twidth: 1em !important;\n}\n.dj_iequirks .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {\n\tmargin-left: 0 !important;\n\tmargin-right: 0 !important;\n\twidth: 2em !important;\n}\n.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {\n\t/* note: .dijitInputLayoutContainer makes this rule override .dijitArrowButton settings\n\t * for dijit.form.Button\n\t */\n\tpadding: 0;\n\tposition: absolute !important;\n\tright: 0;\n\tfloat: none;\n\theight: 50%;\n\twidth: 100%;\n\tbottom: auto;\n\tleft: 0;\n\tright: auto;\n}\n.dj_iequirks .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {\n\twidth: auto;\n}\n.dj_a11y .dijitSpinnerButtonContainer .dijitArrowButton {\n\toverflow: visible !important;\n}\n.dijitSpinner .dijitSpinnerButtonContainer .dijitDownArrowButton {\n\ttop: 50%;\n\tborder-top-width: 1px !important;\n}\n.dijitSpinner .dijitSpinnerButtonContainer .dijitUpArrowButton {\n\ttop: 0;\n}\n.dijitSpinner .dijitArrowButtonInner {\n\tmargin: auto;\n\toverflow-x: hidden;\n\theight: 100% !important;\n}\n.dj_iequirks .dijitSpinner .dijitArrowButtonInner {\n\theight: auto !important;\n}\n.dijitSpinner .dijitArrowButtonInner .dijitInputField {\n\t-moz-transform: scale(0.5);\n\t-moz-transform-origin: center top;\n\t-webkit-transform: scale(0.5);\n\t-webkit-transform-origin: center top;\n\t-o-transform: scale(0.5);\n\t-o-transform-origin: center top;\n\ttransform: scale(0.5);\n\ttransform-origin: left top;\n\tpadding-top: 0;\n\tpadding-bottom: 0;\n\tpadding-left: 0 !important;\n\tpadding-right: 0 !important;\n\twidth: 100%;\n\tvisibility: hidden;\n}\n.dj_ie .dijitSpinner .dijitArrowButtonInner .dijitInputField {\n\tzoom: 50%; /* emulate transform: scale(0.5) */\n}\n.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButtonInner {\n\toverflow: hidden;\n}\n\n.dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {\n\twidth: 100%;\n}\n.dj_iequirks .dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {\n\twidth: 1em; /* matches .dj_a11y .dijitTextBox .dijitSpinnerButtonContainer rule - 100% is the whole screen width in quirks */\n}\n.dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {\n\tvertical-align:top;\n\tvisibility: visible;\n}\n.dj_a11y .dijitSpinnerButtonContainer {\n\twidth: 1em;\n}\n\n/****\n\t\tdijit.form.CheckBox\n \t &\n \t\tdijit.form.RadioButton\n ****/\n\n.dijitCheckBox,\n.dijitRadio,\n.dijitCheckBoxInput {\n\tpadding: 0;\n\tborder: 0;\n\twidth: 16px;\n\theight: 16px;\n\tbackground-position:center center;\n\tbackground-repeat:no-repeat;\n\toverflow: hidden;\n}\n\n.dijitCheckBox input,\n.dijitRadio input {\n\tmargin: 0;\n\tpadding: 0;\n\tdisplay: block;\n}\n\n.dijitCheckBoxInput {\n\t/* place the actual input on top, but invisible */\n\topacity: 0;\n}\n\n.dj_ie .dijitCheckBoxInput {\n\tfilter: alpha(opacity=0);\n}\n\n.dj_a11y .dijitCheckBox,\n.dj_a11y .dijitRadio {\n\t/* in a11y mode we display the native checkbox (not the icon), so don't restrict the size */\n\twidth: auto !important;\n\theight: auto !important;\n}\n.dj_a11y .dijitCheckBoxInput {\n\topacity: 1;\n\tfilter: none;\n\twidth: auto;\n\theight: auto;\n}\n\n.dj_a11y .dijitFocusedLabel {\n\t/* for checkboxes or radio buttons in high contrast mode, use border rather than outline to indicate focus (outline does not work in FF)*/\n\tborder: 1px dotted;\n\toutline: 0px !important;\n}\n\n/****\n\t\tdijit.ProgressBar\n ****/\n\n.dijitProgressBar {\n z-index: 0; /* so z-index settings below have no effect outside of the ProgressBar */\n}\n.dijitProgressBarEmpty {\n\t/* outer container and background of the bar that's not finished yet*/\n\tposition:relative;overflow:hidden;\n\tborder:1px solid black; \t/* a11y: border necessary for high-contrast mode */\n\tz-index:0;\t\t\t/* establish a stacking context for this progress bar */\n}\n\n.dijitProgressBarFull {\n\t/* outer container for background of bar that is finished */\n\tposition:absolute;\n\toverflow:hidden;\n\tz-index:-1;\n\ttop:0;\n\twidth:100%;\n}\n.dj_ie6 .dijitProgressBarFull {\n\theight:1.6em;\n}\n\n.dijitProgressBarTile {\n\t/* inner container for finished portion */\n\tposition:absolute;\n\toverflow:hidden;\n\ttop:0;\n\tleft:0;\n\tbottom:0;\n\tright:0;\n\tmargin:0;\n\tpadding:0;\n\twidth: 100%; /* needed for IE/quirks */\n\theight:auto;\n\tbackground-color:#aaa;\n\tbackground-attachment: fixed;\n}\n\n.dj_a11y .dijitProgressBarTile {\n\t/* a11y: The border provides visibility in high-contrast mode */\n\tborder-width:2px;\n\tborder-style:solid;\n\tbackground-color:transparent !important;\n}\n\n.dj_ie6 .dijitProgressBarTile {\n\t/* width:auto works in IE6 with position:static but not position:absolute */\n\tposition:static;\n\t/* height:auto or 100% does not work in IE6 */\n\theight:1.6em;\n}\n\n.dijitProgressBarIndeterminate .dijitProgressBarTile {\n\t/* animated gif for 'indeterminate' mode */\n}\n\n.dijitProgressBarIndeterminateHighContrastImage {\n\tdisplay:none;\n}\n\n.dj_a11y .dijitProgressBarIndeterminate .dijitProgressBarIndeterminateHighContrastImage {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tbottom:0;\n\tmargin:0;\n\tpadding:0;\n\twidth:100%;\n\theight:auto;\n}\n\n.dijitProgressBarLabel {\n\tdisplay:block;\n\tposition:static;\n\twidth:100%;\n\ttext-align:center;\n\tbackground-color:transparent !important;\n}\n\n/****\n\t\tdijit.Tooltip\n ****/\n\n.dijitTooltip {\n\tposition: absolute;\n\tz-index: 2000;\n\tdisplay: block;\n\t/* make visible but off screen */\n\tleft: 0;\n\ttop: -10000px;\n\toverflow: visible;\n}\n\n.dijitTooltipContainer {\n\tborder: solid black 2px;\n\tbackground: #b8b5b5;\n\tcolor: black;\n\tfont-size: small;\n}\n\n.dijitTooltipFocusNode {\n\tpadding: 2px 2px 2px 2px;\n}\n\n.dijitTooltipConnector {\n\tposition: absolute;\n}\n.dj_a11y .dijitTooltipConnector {\n\tdisplay: none;\t/* won't show b/c it's background-image; hide to avoid border gap */\n}\n\n.dijitTooltipData {\n\tdisplay:none;\n}\n\n/* Layout widgets. This is essential CSS to make layout work (it isn't \"styling\" CSS)\n make sure that the position:absolute in dijitAlign* overrides other classes */\n\n.dijitLayoutContainer {\n\tposition: relative;\n\tdisplay: block;\n\toverflow: hidden;\n}\n\n.dijitAlignTop,\n.dijitAlignBottom,\n.dijitAlignLeft,\n.dijitAlignRight {\n\tposition: absolute;\n\toverflow: hidden;\n}\n\nbody .dijitAlignClient { position: absolute; }\n\n/*\n * BorderContainer\n *\n * .dijitBorderContainer is a stylized layout where panes have border and margin.\n * .dijitBorderContainerNoGutter is a raw layout.\n */\n.dijitBorderContainer, .dijitBorderContainerNoGutter {\n\tposition:relative;\n\toverflow: hidden;\n z-index: 0; /* so z-index settings below have no effect outside of the BorderContainer */\n}\n\n.dijitBorderContainerPane,\n.dijitBorderContainerNoGutterPane {\n\tposition: absolute !important;\t/* !important to override position:relative in dijitTabContainer etc. */\n\tz-index: 2;\t\t/* above the splitters so that off-by-one browser errors don't cover up border of pane */\n}\n\n.dijitBorderContainer > .dijitTextArea {\n\t/* On Safari, for SimpleTextArea inside a BorderContainer,\n\t\tdon't want to display the grip to resize */\n\tresize: none;\n}\n\n.dijitGutter {\n\t/* gutter is just a place holder for empty space between panes in BorderContainer */\n\tposition: absolute;\n\tfont-size: 1px;\t\t/* needed by IE6 even though div is empty, otherwise goes to 15px */\n}\n\n/* SplitContainer\n\n\t'V' == container that splits vertically (up/down)\n\t'H' = horizontal (left/right)\n*/\n\n.dijitSplitter {\n\tposition: absolute;\n\toverflow: hidden;\n\tz-index: 10;\t\t/* above the panes so that splitter focus is visible on FF, see #7583*/\n\tbackground-color: #fff;\n\tborder-color: gray;\n\tborder-style: solid;\n\tborder-width: 0;\n}\n.dj_ie .dijitSplitter {\n\tz-index: 1;\t/* behind the panes so that pane borders aren't obscured see test_Gui.html/[14392] */\n}\n\n.dijitSplitterActive {\n\tz-index: 11 !important;\n}\n\n.dijitSplitterCover {\n\tposition:absolute;\n\tz-index:-1;\n\ttop:0;\n\tleft:0;\n\twidth:100%;\n\theight:100%;\n}\n\n.dijitSplitterCoverActive {\n\tz-index:3 !important;\n}\n\n/* #6945: stop mouse events */\n.dj_ie .dijitSplitterCover {\n\tbackground: white;\n\topacity: 0;\n}\n.dj_ie6 .dijitSplitterCover,\n.dj_ie7 .dijitSplitterCover,\n.dj_ie8 .dijitSplitterCover {\n\tfilter: alpha(opacity=0);\n}\n\n.dijitSplitterH {\n\theight: 7px;\n\tborder-top:1px;\n\tborder-bottom:1px;\n\tcursor: row-resize;\n\t-webkit-tap-highlight-color: transparent;\n}\n.dijitSplitterV {\n\twidth: 7px;\n\tborder-left:1px;\n\tborder-right:1px;\n\tcursor: col-resize;\n\t-webkit-tap-highlight-color: transparent;\n}\n.dijitSplitContainer {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: block;\n}\n\n.dijitSplitPane {\n\tposition: absolute;\n}\n\n.dijitSplitContainerSizerH,\n.dijitSplitContainerSizerV {\n\tposition:absolute;\n\tfont-size: 1px;\n\tbackground-color: ThreeDFace;\n\tborder: 1px solid;\n\tborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\n\tmargin: 0;\n}\n\n.dijitSplitContainerSizerH .thumb, .dijitSplitterV .dijitSplitterThumb {\n\toverflow:hidden;\n\tposition:absolute;\n\ttop:49%;\n}\n\n.dijitSplitContainerSizerV .thumb, .dijitSplitterH .dijitSplitterThumb {\n\tposition:absolute;\n\tleft:49%;\n}\n\n.dijitSplitterShadow,\n.dijitSplitContainerVirtualSizerH,\n.dijitSplitContainerVirtualSizerV {\n\tfont-size: 1px;\n\tbackground-color: ThreeDShadow;\n\t-moz-opacity: 0.5;\n\topacity: 0.5;\n\tfilter: Alpha(Opacity=50);\n\tmargin: 0;\n}\n\n.dijitSplitContainerSizerH, .dijitSplitContainerVirtualSizerH {\n\tcursor: col-resize;\n}\n\n.dijitSplitContainerSizerV, .dijitSplitContainerVirtualSizerV {\n\tcursor: row-resize;\n}\n\n.dj_a11y .dijitSplitterH {\n\tborder-top:1px solid #d3d3d3 !important;\n\tborder-bottom:1px solid #d3d3d3 !important;\n}\n.dj_a11y .dijitSplitterV {\n\tborder-left:1px solid #d3d3d3 !important;\n\tborder-right:1px solid #d3d3d3 !important;\n}\n\n/* ContentPane */\n\n.dijitContentPane {\n\tdisplay: block;\n\toverflow: auto;\t/* if we don't have this (or overflow:hidden), then Widget.resizeTo() doesn't make sense for ContentPane */\n\t-webkit-overflow-scrolling: touch;\n}\n\n.dijitContentPaneSingleChild {\n\t/*\n\t * if the ContentPane holds a single layout widget child which is being sized to match the content pane,\n\t * then the ContentPane should never get a scrollbar (but it does due to browser bugs, see #9449\n\t */\n\toverflow: hidden;\n}\n\n.dijitContentPaneLoading .dijitIconLoading,\n.dijitContentPaneError .dijitIconError {\n\tmargin-right: 9px;\n}\n\n/* TitlePane and Fieldset */\n\n.dijitTitlePane {\n\tdisplay: block;\n\toverflow: hidden;\n}\n.dijitFieldset {\n\tborder: 1px solid gray;\n}\n.dijitTitlePaneTitle, .dijitFieldsetTitle {\n\tcursor: pointer;\n\t-webkit-tap-highlight-color: transparent;\n}\n.dijitTitlePaneTitleFixedOpen, .dijitTitlePaneTitleFixedClosed,\n.dijitFieldsetTitleFixedOpen, .dijitFieldsetTitleFixedClosed {\n\t/* TitlePane or Fieldset that cannot be toggled */\n\tcursor: default;\n}\n.dijitTitlePaneTitle * {\n\tvertical-align: middle;\n}\n.dijitTitlePane .dijitArrowNodeInner, .dijitFieldset .dijitArrowNodeInner {\n\t/* normally, hide arrow text in favor of icon */\n\tdisplay: none;\n}\n.dj_a11y .dijitTitlePane .dijitArrowNodeInner, .dj_a11y .dijitFieldset .dijitArrowNodeInner {\n\t/* ... except in a11y mode, then show text arrow */\n\tdisplay: inline;\n\tfont-family: monospace;\t\t/* because - and + are different widths */\n}\n.dj_a11y .dijitTitlePane .dijitArrowNode, .dj_a11y .dijitFieldset .dijitArrowNode {\n\t/* ... and hide icon (TODO: just point dijitIcon class on the icon, and it hides automatically) */\n\tdisplay: none;\n}\n.dijitTitlePaneTitleFixedOpen .dijitArrowNode, .dijitTitlePaneTitleFixedOpen .dijitArrowNodeInner,\n.dijitTitlePaneTitleFixedClosed .dijitArrowNode, .dijitTitlePaneTitleFixedClosed .dijitArrowNodeInner,\n.dijitFieldsetTitleFixedOpen .dijitArrowNode, .dijitFieldsetTitleFixedOpen .dijitArrowNodeInner,\n.dijitFieldsetTitleFixedClosed .dijitArrowNode, .dijitFieldsetTitleFixedClosed .dijitArrowNodeInner {\n\t/* don't show the open close icon or text arrow; it makes the user think the pane is closable */\n\tdisplay: none !important;\t/* !important to override above a11y rules to show text arrow */\n}\n\n.dj_ie6 .dijitTitlePaneContentOuter,\n.dj_ie6 .dijitTitlePane .dijitTitlePaneTitle {\n\t/* force hasLayout to ensure borders etc, show up */\n\tzoom: 1;\n}\n\n/* Color Palette\n * Sizes designed so that table cell positions match icons in underlying image,\n * which appear at 20x20 intervals.\n */\n\n.dijitColorPalette {\n\tborder: 1px solid #999;\n\tbackground: #fff;\n\tposition: relative;\n}\n\n.dijitColorPalette .dijitPaletteTable {\n\t/* Table that holds the palette cells, and overlays image file with color swatches.\n\t * padding/margin to align table with image.\n\t */\n\tpadding: 2px 3px 3px 3px;\n\tposition: relative;\n\toverflow: hidden;\n\toutline: 0;\n\tborder-collapse: separate;\n}\n.dj_ie6 .dijitColorPalette .dijitPaletteTable,\n.dj_ie7 .dijitColorPalette .dijitPaletteTable,\n.dj_iequirks .dijitColorPalette .dijitPaletteTable {\n\t/* using padding above so that focus border isn't cutoff on moz/webkit,\n\t * but using margin on IE because padding doesn't seem to work\n\t */\n\tpadding: 0;\n\tmargin: 2px 3px 3px 3px;\n}\n\n.dijitColorPalette .dijitPaletteCell {\n\t/* in the */\n\tfont-size: 1px;\n\tvertical-align: middle;\n\ttext-align: center;\n\tbackground: none;\n}\n.dijitColorPalette .dijitPaletteImg {\n\t/* Called dijitPaletteImg for back-compat, this actually wraps the color swatch with a border and padding */\n\tpadding: 1px;\t\t/* white area between gray border and color swatch */\n\tborder: 1px solid #999;\n\tmargin: 2px 1px;\n\tcursor: default;\n\tfont-size: 1px;\t\t/* prevent from getting bigger just to hold a character */\n}\n.dj_gecko .dijitColorPalette .dijitPaletteImg {\n\tpadding-bottom: 0;\t/* workaround rendering glitch on FF, it adds an extra pixel at the bottom */\n}\n.dijitColorPalette .dijitColorPaletteSwatch {\n\t/* the actual part where the color is */\n\twidth: 14px;\n\theight: 12px;\n}\n.dijitPaletteTable td {\n\t\tpadding: 0;\n}\n.dijitColorPalette .dijitPaletteCell:hover .dijitPaletteImg {\n\t/* hovered color swatch */\n\tborder: 1px solid #000;\n}\n\n.dijitColorPalette .dijitPaletteCell:active .dijitPaletteImg,\n.dijitColorPalette .dijitPaletteTable .dijitPaletteCellSelected .dijitPaletteImg {\n\tborder: 2px solid #000;\n\tmargin: 1px 0;\t/* reduce margin to compensate for increased border */\n}\n\n\n.dj_a11y .dijitColorPalette .dijitPaletteTable,\n.dj_a11y .dijitColorPalette .dijitPaletteTable * {\n\t/* table cells are to catch events, but the swatches are in the PaletteImg behind the table */\n\tbackground-color: transparent !important;\n}\n\n/* AccordionContainer */\n\n.dijitAccordionContainer {\n\tborder:1px solid #b7b7b7;\n\tborder-top:0 !important;\n}\n.dijitAccordionTitle {\n\tcursor: pointer;\n\t-webkit-tap-highlight-color: transparent;\n}\n.dijitAccordionTitleSelected {\n\tcursor: default;\n}\n\n/* images off, high-contrast mode styles */\n.dijitAccordionTitle .arrowTextUp,\n.dijitAccordionTitle .arrowTextDown {\n\tdisplay: none;\n\tfont-size: 0.65em;\n\tfont-weight: normal !important;\n}\n\n.dj_a11y .dijitAccordionTitle .arrowTextUp,\n.dj_a11y .dijitAccordionTitleSelected .arrowTextDown {\n\tdisplay: inline;\n}\n\n.dj_a11y .dijitAccordionTitleSelected .arrowTextUp {\n\tdisplay: none;\n}\n\n.dijitAccordionChildWrapper {\n\t/* this is the node whose height is adjusted */\n\toverflow: hidden;\n}\n\n/* Calendar */\n\n.dijitCalendarContainer table {\n\twidth: auto;\t/* in case user has specified a width for the TABLE nodes, see #10553 */\n\tclear: both; /* clear margin created for left/right month arrows; needed on IE10 for CalendarLite */\n}\n.dijitCalendarContainer th, .dijitCalendarContainer td {\n\tpadding: 0;\n\tvertical-align: middle;\n}\n\n.dijitCalendarMonthContainer {\n\ttext-align: center;\n}\n.dijitCalendarDecrementArrow {\n\tfloat: left;\n}\n.dijitCalendarIncrementArrow {\n\tfloat: right;\n}\n\n.dijitCalendarYearLabel {\n white-space: nowrap; /* make sure previous, current, and next year appear on same row */\n}\n\n.dijitCalendarNextYear {\n\tmargin:0 0 0 0.55em;\n}\n\n.dijitCalendarPreviousYear {\n\tmargin:0 0.55em 0 0;\n}\n\n.dijitCalendarIncrementControl {\n\tvertical-align: middle;\n}\n\n.dijitCalendarIncrementControl,\n.dijitCalendarDateTemplate,\n.dijitCalendarMonthLabel,\n.dijitCalendarPreviousYear,\n.dijitCalendarNextYear {\n\tcursor: pointer;\n\t-webkit-tap-highlight-color: transparent;\n}\n\n.dijitCalendarDisabledDate {\n\tcolor: gray;\n\ttext-decoration: line-through;\n\tcursor: default;\n}\n\n.dijitSpacer {\n\t/* don't display it, but make it affect the width */\n \tposition: relative;\n \theight: 1px;\n \toverflow: hidden;\n \tvisibility: hidden;\n}\n\n/* Styling for month drop down list */\n\n.dijitCalendarMonthMenu .dijitCalendarMonthLabel {\n\ttext-align:center;\n}\n\n/* Menu */\n\n.dijitMenu {\n\tborder:1px solid black;\n\tbackground-color:white;\n}\n.dijitMenuTable {\n\tborder-collapse:collapse;\n\tborder-width:0;\n\tbackground-color:white;\n}\n\n/* workaround for webkit bug #8427, remove this when it is fixed upstream */\n.dj_webkit .dijitMenuTable td[colspan=\"2\"]{\n\tborder-right:hidden;\n}\n\n.dijitMenuItem {\n\ttext-align: left;\n\twhite-space: nowrap;\n\tpadding:.1em .2em;\n\tcursor:pointer;\n\t-webkit-tap-highlight-color: transparent;\n}\n\n/*\nNo need to show a focus border since it's obvious from the shading, and there's a .dj_a11y .dijitMenuItemSelected\nrule below that handles the high contrast case when there's no shading.\nHiding the focus border also works around webkit bug https://code.google.com/p/chromium/issues/detail?id=125779.\n*/\n.dijitMenuItem:focus {\n\toutline: none\n}\n\n.dijitMenuPassive .dijitMenuItemHover,\n.dijitMenuItemSelected {\n\t/*\n\t * dijitMenuItemHover refers to actual mouse over\n\t * dijitMenuItemSelected is used after a menu has been \"activated\" by\n\t * clicking it, tabbing into it, or being opened from a parent menu,\n\t * and denotes that the menu item has focus or that focus is on a child\n\t * menu\n\t */\n\tbackground-color:black;\n\tcolor:white;\n}\n\n.dijitMenuItemIcon, .dijitMenuExpand {\n\tbackground-repeat: no-repeat;\n}\n\n.dijitMenuItemDisabled * {\n\t/* for a disabled menu item, just set it to mostly transparent */\n\topacity:0.5;\n\tcursor:default;\n}\n.dj_ie .dj_a11y .dijitMenuItemDisabled,\n.dj_ie .dj_a11y .dijitMenuItemDisabled *,\n.dj_ie .dijitMenuItemDisabled * {\n\tcolor: gray;\n\tfilter: alpha(opacity=35);\n}\n\n.dijitMenuItemLabel {\n\tvertical-align: middle;\n}\n\n.dj_a11y .dijitMenuItemSelected {\n\tborder: 1px dotted black !important;\t/* for 2.0 use outline instead, to prevent jitter */\n}\n\n.dj_a11y .dijitMenuItemSelected .dijitMenuItemLabel {\n\tborder-width: 1px;\n\tborder-style: solid;\n}\n.dj_ie8 .dj_a11y .dijitMenuItemLabel {\n\tposition:static;\n}\n\n.dijitMenuExpandA11y {\n\tdisplay: none;\n}\n.dj_a11y .dijitMenuExpandA11y {\n\tdisplay: inline;\n}\n\n.dijitMenuSeparator td {\n\tborder: 0;\n\tpadding: 0;\n}\n\n/* separator can be two pixels -- set border of either one to 0 to have only one */\n.dijitMenuSeparatorTop {\n\theight: 50%;\n\tmargin: 0;\n\tmargin-top:3px;\n\tfont-size: 1px;\n}\n\n.dijitMenuSeparatorBottom {\n\theight: 50%;\n\tmargin: 0;\n\tmargin-bottom:3px;\n\tfont-size: 1px;\n}\n\n/* CheckedMenuItem and RadioMenuItem */\n.dijitMenuItemIconChar {\n\tdisplay: none;\t\t/* don't display except in high contrast mode */\n\tvisibility: hidden;\t/* for high contrast mode when menuitem is unchecked: leave space for when it is checked */\n}\n.dj_a11y .dijitMenuItemIconChar {\n\tdisplay: inline;\t/* display character in high contrast mode, since icon doesn't show */\n}\n.dijitCheckedMenuItemChecked .dijitMenuItemIconChar,\n.dijitRadioMenuItemChecked .dijitMenuItemIconChar {\n\tvisibility: visible; /* menuitem is checked */\n}\n.dj_ie .dj_a11y .dijitMenuBar .dijitMenuItem {\n\t/* so bottom border of MenuBar appears on IE7 in high-contrast mode */\n\tmargin: 0;\n}\n\n/* StackContainer */\n\n.dijitStackController .dijitToggleButtonChecked * {\n\tcursor: default;\t/* because pressing it has no effect */\n}\n\n/***\nTabContainer\n\nMain class hierarchy:\n\n.dijitTabContainer - the whole TabContainer\n .dijitTabController / .dijitTabListContainer-top - wrapper for tab buttons, scroll buttons\n\t .dijitTabListWrapper / .dijitTabContainerTopStrip - outer wrapper for tab buttons (normal width)\n\t\t.nowrapTabStrip / .dijitTabContainerTop-tabs - inner wrapper for tab buttons (50K width)\n .dijitTabPaneWrapper - wrapper for content panes, has all borders except the one between content and tabs\n***/\n\n.dijitTabContainer {\n z-index: 0; /* so z-index settings below have no effect outside of the TabContainer */\n overflow: visible; /* prevent off-by-one-pixel errors from hiding bottom border (opposite tab labels) */\n}\n.dj_ie6 .dijitTabContainer {\n /* workaround IE6 problem when tall content overflows TabContainer, see editor/test_FullScreen.html */\n overflow: hidden;\n\n}\n.dijitTabContainerNoLayout {\n\twidth: 100%;\t/* otherwise ScrollingTabController goes to 50K pixels wide */\n}\n\n.dijitTabContainerBottom-tabs,\n.dijitTabContainerTop-tabs,\n.dijitTabContainerLeft-tabs,\n.dijitTabContainerRight-tabs {\n z-index: 1;\n\toverflow: visible !important; /* so tabs can cover up border adjacent to container */\n}\n\n.dijitTabController {\n z-index: 1;\n}\n.dijitTabContainerBottom-container,\n.dijitTabContainerTop-container,\n.dijitTabContainerLeft-container,\n.dijitTabContainerRight-container {\n\tz-index:0;\n\toverflow: hidden;\n\tborder: 1px solid black;\n}\n.nowrapTabStrip {\n\twidth: 50000px;\n\tdisplay: block;\n\tposition: relative;\n text-align: left; /* just in case ancestor has non-standard setting */\n z-index: 1;\n}\n.dijitTabListWrapper {\n\toverflow: hidden;\n z-index: 1;\n}\n\n.dj_a11y .tabStripButton img {\n\t/* hide the icons (or rather the empty space where they normally appear) because text will appear instead */\n\tdisplay: none;\n}\n\n.dijitTabContainerTop-tabs {\n\tborder-bottom: 1px solid black;\n}\n.dijitTabContainerTop-container {\n\tborder-top: 0;\n}\n\n.dijitTabContainerLeft-tabs {\n\tborder-right: 1px solid black;\n\tfloat: left; /* needed for IE7 RTL mode */\n}\n.dijitTabContainerLeft-container {\n\tborder-left: 0;\n}\n\n.dijitTabContainerBottom-tabs {\n\tborder-top: 1px solid black;\n}\n.dijitTabContainerBottom-container {\n\tborder-bottom: 0;\n}\n\n.dijitTabContainerRight-tabs {\n\tborder-left: 1px solid black;\n\tfloat: left; /* needed for IE7 RTL mode */\n}\n.dijitTabContainerRight-container {\n\tborder-right: 0;\n}\n\ndiv.dijitTabDisabled, .dj_ie div.dijitTabDisabled {\n\tcursor: auto;\n}\n\n.dijitTab {\n\tposition:relative;\n\tcursor:pointer;\n\t-webkit-tap-highlight-color: transparent;\n\twhite-space:nowrap;\n\tz-index:3;\n}\n.dijitTab * {\n\t/* make tab icons and close icon line up w/text */\n\tvertical-align: middle;\n}\n.dijitTabChecked {\n\tcursor: default;\t/* because clicking will have no effect */\n}\n\n.dijitTabContainerTop-tabs .dijitTab {\n\ttop: 1px;\t/* to overlap border on .dijitTabContainerTop-tabs */\n}\n.dijitTabContainerBottom-tabs .dijitTab {\n\ttop: -1px;\t/* to overlap border on .dijitTabContainerBottom-tabs */\n}\n.dijitTabContainerLeft-tabs .dijitTab {\n\tleft: 1px;\t/* to overlap border on .dijitTabContainerLeft-tabs */\n}\n.dijitTabContainerRight-tabs .dijitTab {\n\tleft: -1px;\t/* to overlap border on .dijitTabContainerRight-tabs */\n}\n\n\n.dijitTabContainerTop-tabs .dijitTab,\n.dijitTabContainerBottom-tabs .dijitTab {\n\t/* Inline-block */\n\tdisplay:inline-block;\t\t\t/* webkit and FF3 */\n}\n\n.tabStripButton {\n\tz-index: 12;\n}\n\n.dijitTabButtonDisabled .tabStripButton {\n\tdisplay: none;\n}\n\n\n.dijitTabCloseButton {\n\tmargin-left: 1em;\n}\n\n.dijitTabCloseText {\n\tdisplay:none;\n}\n\n.dijitTab .tabLabel {\n\t/* make sure tabs w/close button and w/out close button are same height, even w/small (<15px) font.\n\t * assumes <=15px height for close button icon.\n\t */\n\tmin-height: 15px;\n\tdisplay: inline-block;\n}\n.dijitNoIcon {\n\t/* applied to / node when there is no icon specified */\n\tdisplay: none;\n}\n.dj_ie6 .dijitTab .dijitNoIcon {\n\t/* because min-height (on .tabLabel, above) doesn't work on IE6 */\n\tdisplay: inline;\n\theight: 15px;\n\twidth: 1px;\n}\n\n/* images off, high-contrast mode styles */\n\n.dj_a11y .dijitTabCloseButton {\n\tbackground-image: none !important;\n\twidth: auto !important;\n\theight: auto !important;\n}\n\n.dj_a11y .dijitTabCloseText {\n\tdisplay: inline;\n}\n\n.dijitTabPane,\n.dijitStackContainer-child,\n.dijitAccordionContainer-child {\n\t/* children of TabContainer, StackContainer, and AccordionContainer shouldn't have borders\n\t * b/c a border is already there from the TabContainer/StackContainer/AccordionContainer itself.\n\t */\n border: none !important;\n}\n\n/* InlineEditBox */\n.dijitInlineEditBoxDisplayMode {\n\tborder: 1px solid transparent;\t/* so keyline (border) on hover can appear without screen jump */\n\tcursor: text;\n}\n\n.dj_a11y .dijitInlineEditBoxDisplayMode,\n.dj_ie6 .dijitInlineEditBoxDisplayMode {\n\t/* except that IE6 doesn't support transparent borders, nor does high contrast mode */\n\tborder: none;\n}\n\n.dijitInlineEditBoxDisplayModeHover,\n.dj_a11y .dijitInlineEditBoxDisplayModeHover,\n.dj_ie6 .dijitInlineEditBoxDisplayModeHover {\n\t/* An InlineEditBox in view mode (click this to edit the text) */\n\tbackground-color: #e2ebf2;\n\tborder: solid 1px black;\n}\n\n.dijitInlineEditBoxDisplayModeDisabled {\n\tcursor: default;\n}\n\n/* Tree */\n.dijitTree {\n\toverflow: auto;\t/* for scrollbars when Tree has a height setting, and to prevent wrapping around float elements, see #11491 */\n\t-webkit-tap-highlight-color: transparent;\n}\n\n.dijitTreeContainer {\n\tfloat: left;\t/* for correct highlighting during horizontal scroll, see #16132 */\n}\n\n.dijitTreeIndent {\n\t/* amount to indent each tree node (relative to parent node) */\n\twidth: 19px;\n}\n\n.dijitTreeRow, .dijitTreeContent {\n\twhite-space: nowrap;\n}\n\n.dj_ie .dijitTreeLabel:focus {\n\t/* workaround IE9 behavior where down arrowing through TreeNodes doesn't show focus outline */\n\toutline: 1px dotted black;\n}\n\n.dijitTreeRow img {\n\t/* make the expando and folder icons line up with the label */\n\tvertical-align: middle;\n}\n\n.dijitTreeContent {\n cursor: default;\n}\n\n.dijitExpandoText {\n\tdisplay: none;\n}\n\n.dj_a11y .dijitExpandoText {\n\tdisplay: inline;\n\tpadding-left: 10px;\n\tpadding-right: 10px;\n\tfont-family: monospace;\n\tborder-style: solid;\n\tborder-width: thin;\n\tcursor: pointer;\n}\n\n.dijitTreeLabel {\n\tmargin: 0 4px;\n}\n\n/* Dialog */\n\n.dijitDialog {\n\tposition: absolute;\n\tz-index: 999;\n\toverflow: hidden;\t/* override overflow: auto; from ContentPane to make dragging smoother */\n}\n\n.dijitDialogTitleBar {\n\tcursor: move;\n}\n.dijitDialogFixed .dijitDialogTitleBar {\n\tcursor:default;\n}\n.dijitDialogCloseIcon {\n\tcursor: pointer;\n\t-webkit-tap-highlight-color: transparent;\n}\n.dijitDialogPaneContent {\n\t-webkit-overflow-scrolling: touch;\n}\n.dijitDialogUnderlayWrapper {\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tz-index: 998;\n\tdisplay: none;\n\tbackground: transparent !important;\n}\n\n.dijitDialogUnderlay {\n\tbackground: #eee;\n\topacity: 0.5;\n}\n\n.dj_ie .dijitDialogUnderlay {\n\tfilter: alpha(opacity=50);\n}\n\n/* images off, high-contrast mode styles */\n.dj_a11y .dijitSpinnerButtonContainer,\n.dj_a11y .dijitDialog {\n\topacity: 1 !important;\n\tbackground-color: white !important;\n}\n\n.dijitDialog .closeText {\n\tdisplay:none;\n\t/* for the onhover border in high contrast on IE: */\n\tposition:absolute;\n}\n\n.dj_a11y .dijitDialog .closeText {\n\tdisplay:inline;\n}\n\n/* Slider */\n\n.dijitSliderMoveable {\n\tz-index:99;\n\tposition:absolute !important;\n\tdisplay:block;\n\tvertical-align:middle;\n}\n\n.dijitSliderMoveableH {\n\tright:0;\n}\n.dijitSliderMoveableV {\n\tright:50%;\n}\n\n.dj_a11y div.dijitSliderImageHandle,\n.dijitSliderImageHandle {\n\tmargin:0;\n\tpadding:0;\n\tposition:relative !important;\n\tborder:8px solid gray;\n\twidth:0;\n\theight:0;\n\tcursor: pointer;\n\t-webkit-tap-highlight-color: transparent;\n}\n.dj_iequirks .dj_a11y .dijitSliderImageHandle {\n\tfont-size: 0;\n}\n.dj_ie7 .dijitSliderImageHandle {\n\toverflow: hidden; /* IE7 workaround to make slider handle VISIBLE in non-a11y mode */\n}\n.dj_ie7 .dj_a11y .dijitSliderImageHandle {\n\toverflow: visible; /* IE7 workaround to make slider handle VISIBLE in a11y mode */\n}\n.dj_a11y .dijitSliderFocused .dijitSliderImageHandle {\n\tborder:4px solid #000;\n\theight:8px;\n\twidth:8px;\n}\n\n.dijitSliderImageHandleV {\n\ttop:-8px;\n\tright: -50%;\n}\n\n.dijitSliderImageHandleH {\n\tleft:50%;\n\ttop:-5px;\n\tvertical-align:top;\n}\n\n.dijitSliderBar {\n\tborder-style:solid;\n\tborder-color:black;\n\tcursor: pointer;\n\t-webkit-tap-highlight-color: transparent;\n}\n\n.dijitSliderBarContainerV {\n\tposition:relative;\n\theight:100%;\n\tz-index:1;\n}\n\n.dijitSliderBarContainerH {\n\tposition:relative;\n\tz-index:1;\n}\n\n.dijitSliderBarH {\n\theight:4px;\n\tborder-width:1px 0;\n}\n\n.dijitSliderBarV {\n\twidth:4px;\n\tborder-width:0 1px;\n}\n\n.dijitSliderProgressBar {\n\tbackground-color:red;\n\tz-index:1;\n}\n\n.dijitSliderProgressBarV {\n\tposition:static !important;\n\theight:0;\n\tvertical-align:top;\n\ttext-align:left;\n}\n\n.dijitSliderProgressBarH {\n\tposition:absolute !important;\n\twidth:0;\n\tvertical-align:middle;\n\toverflow:visible;\n}\n\n.dijitSliderRemainingBar {\n\toverflow:hidden;\n\tbackground-color:transparent;\n\tz-index:1;\n}\n\n.dijitSliderRemainingBarV {\n\theight:100%;\n\ttext-align:left;\n}\n\n.dijitSliderRemainingBarH {\n\twidth:100% !important;\n}\n\n/* the slider bumper is the space consumed by the slider handle when it hangs over an edge */\n.dijitSliderBumper {\n\toverflow:hidden;\n\tz-index:1;\n}\n\n.dijitSliderBumperV {\n\twidth:4px;\n\theight:8px;\n\tborder-width:0 1px;\n}\n\n.dijitSliderBumperH {\n\twidth:8px;\n\theight:4px;\n\tborder-width:1px 0;\n}\n\n.dijitSliderBottomBumper,\n.dijitSliderLeftBumper {\n\tbackground-color:red;\n}\n\n.dijitSliderTopBumper,\n.dijitSliderRightBumper {\n\tbackground-color:transparent;\n}\n\n.dijitSliderDecoration {\n\ttext-align:center;\n}\n\n.dijitSliderDecorationC,\n.dijitSliderDecorationV {\n\tposition: relative; /* needed for IE+quirks+RTL+vertical (rendering bug) but add everywhere for custom styling consistency but this messes up IE horizontal sliders */\n}\n\n.dijitSliderDecorationH {\n\twidth: 100%;\n}\n\n.dijitSliderDecorationV {\n\theight: 100%;\n\twhite-space: nowrap;\n}\n\n.dijitSliderButton {\n\tfont-family:monospace;\n\tmargin:0;\n\tpadding:0;\n\tdisplay:block;\n}\n\n.dj_a11y .dijitSliderButtonInner {\n\tvisibility:visible !important;\n}\n\n.dijitSliderButtonContainer {\n\ttext-align:center;\n\theight:0;\t/* ??? */\n}\n.dijitSliderButtonContainer * {\n\tcursor: pointer;\n\t-webkit-tap-highlight-color: transparent;\n}\n\n.dijitSlider .dijitButtonNode {\n\tpadding:0;\n\tdisplay:block;\n}\n\n.dijitRuleContainer {\n\tposition:relative;\n\toverflow:visible;\n}\n\n.dijitRuleContainerV {\n\theight:100%;\n\tline-height:0;\n\tfloat:left;\n\ttext-align:left;\n}\n\n.dj_opera .dijitRuleContainerV {\n\tline-height:2%;\n}\n\n.dj_ie .dijitRuleContainerV {\n\tline-height:normal;\n}\n\n.dj_gecko .dijitRuleContainerV {\n\tmargin:0 0 1px 0; /* mozilla bug workaround for float:left,height:100% block elements */\n}\n\n.dijitRuleMark {\n\tposition:absolute;\n\tborder:1px solid black;\n\tline-height:0;\n\theight:100%;\n}\n\n.dijitRuleMarkH {\n\twidth:0;\n\tborder-top-width:0 !important;\n\tborder-bottom-width:0 !important;\n\tborder-left-width:0 !important;\n}\n\n.dijitRuleLabelContainer {\n\tposition:absolute;\n}\n\n.dijitRuleLabelContainerH {\n\ttext-align:center;\n\tdisplay:inline-block;\n}\n\n.dijitRuleLabelH {\n\tposition:relative;\n\tleft:-50%;\n}\n\n.dijitRuleLabelV {\n\t/* so that long labels don't overflow to multiple rows, or overwrite slider itself */\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.dijitRuleMarkV {\n\theight:0;\n\tborder-right-width:0 !important;\n\tborder-bottom-width:0 !important;\n\tborder-left-width:0 !important;\n\twidth:100%;\n\tleft:0;\n}\n\n.dj_ie .dijitRuleLabelContainerV {\n\tmargin-top:-.55em;\n}\n\n.dj_a11y .dijitSliderReadOnly,\n.dj_a11y .dijitSliderDisabled {\n\topacity:0.6;\n}\n.dj_ie .dj_a11y .dijitSliderReadOnly .dijitSliderBar,\n.dj_ie .dj_a11y .dijitSliderDisabled .dijitSliderBar {\n\tfilter: alpha(opacity=40);\n}\n\n/* + and - Slider buttons: override theme settings to display icons */\n.dj_a11y .dijitSlider .dijitSliderButtonContainer div {\n\tfont-family: monospace; /* otherwise hyphen is larger and more vertically centered */\n\tfont-size: 1em;\n\tline-height: 1em;\n\theight: auto;\n\twidth: auto;\n\tmargin: 0 4px;\n}\n\n/* Icon-only buttons (often in toolbars) still display the text in high-contrast mode */\n.dj_a11y .dijitButtonContents .dijitButtonText,\n.dj_a11y .dijitTab .tabLabel {\n\tdisplay: inline !important;\n}\n.dj_a11y .dijitSelect .dijitButtonText {\n\tdisplay: inline-block !important;\n}\n\n/* TextArea, SimpleTextArea */\n.dijitTextArea {\n\twidth:100%;\n\toverflow-y: auto;\t/* w/out this IE's SimpleTextArea goes to overflow: scroll */\n}\n.dijitTextArea[cols] {\n\twidth:auto; /* SimpleTextArea cols */\n}\n.dj_ie .dijitTextAreaCols {\n\twidth:auto;\n}\n\n.dijitExpandingTextArea {\n\t/* for auto exanding textarea (called Textarea currently, rename for 2.0) don't want to display the grip to resize */\n\tresize: none;\n}\n\n\n/* Toolbar\n * Note that other toolbar rules (for objects in toolbars) are scattered throughout this file.\n */\n\n.dijitToolbarSeparator {\n\theight: 18px;\n\twidth: 5px;\n\tpadding: 0 1px;\n\tmargin: 0;\n}\n\n/* Editor */\n.dijitIEFixedToolbar {\n\tposition:absolute;\n\t/* top:0; */\n\ttop: expression(eval((document.documentElement||document.body).scrollTop));\n}\n\n.dijitEditor {\n\tdisplay: block;\t/* prevents glitch on FF with InlineEditBox, see #8404 */\n}\n\n.dijitEditorDisabled,\n.dijitEditorReadOnly {\n\tcolor: gray;\n}\n\n/* TimePicker */\n\n.dijitTimePicker {\n\tbackground-color: white;\n}\n.dijitTimePickerItem {\n\tcursor:pointer;\n\t-webkit-tap-highlight-color: transparent;\n}\n.dijitTimePickerItemHover {\n\tbackground-color:gray;\n\tcolor:white;\n}\n.dijitTimePickerItemSelected {\n\tfont-weight:bold;\n\tcolor:#333;\n\tbackground-color:#b7cdee;\n}\n.dijitTimePickerItemDisabled {\n\tcolor:gray;\n\ttext-decoration:line-through;\n}\n\n.dijitTimePickerItemInner {\n\ttext-align:center;\n\tborder:0;\n\tpadding:2px 8px 2px 8px;\n}\n\n.dijitTimePickerTick,\n.dijitTimePickerMarker {\n\tborder-bottom:1px solid gray;\n}\n\n.dijitTimePicker .dijitDownArrowButton {\n\tborder-top: none !important;\n}\n\n.dijitTimePickerTick {\n\tcolor:#CCC;\n}\n\n.dijitTimePickerMarker {\n\tcolor:black;\n\tbackground-color:#CCC;\n}\n\n.dj_a11y .dijitTimePickerItemSelected .dijitTimePickerItemInner {\n\tborder: solid 4px black;\n}\n.dj_a11y .dijitTimePickerItemHover .dijitTimePickerItemInner {\n\tborder: dashed 4px black;\n}\n\n\n.dijitToggleButtonIconChar {\n\t/* character (instead of icon) to show that ToggleButton is checked */\n\tdisplay:none !important;\n}\n.dj_a11y .dijitToggleButton .dijitToggleButtonIconChar {\n\tdisplay:inline !important;\n\tvisibility:hidden;\n}\n.dj_ie6 .dijitToggleButtonIconChar, .dj_ie6 .tabStripButton .dijitButtonText {\n\tfont-family: \"Arial Unicode MS\";\t/* otherwise the a11y character (checkmark, arrow, etc.) appears as a box */\n}\n.dj_a11y .dijitToggleButtonChecked .dijitToggleButtonIconChar {\n\tdisplay: inline !important; /* In high contrast mode, display the check symbol */\n\tvisibility:visible !important;\n}\n\n.dijitArrowButtonChar {\n\tdisplay:none !important;\n}\n.dj_a11y .dijitArrowButtonChar {\n\tdisplay:inline !important;\n}\n\n.dj_a11y .dijitDropDownButton .dijitArrowButtonInner,\n.dj_a11y .dijitComboButton .dijitArrowButtonInner {\n\tdisplay:none !important;\n}\n\n/* Select */\n.dj_a11y .dijitSelect {\n\tborder-collapse: separate !important;\n\tborder-width: 1px;\n\tborder-style: solid;\n}\n.dj_ie .dijitSelect {\n\tvertical-align: middle; /* Set this back for what we hack in dijit inline */\n}\n.dj_ie6 .dijitSelect .dijitValidationContainer,\n.dj_ie8 .dijitSelect .dijitButtonText {\n\tvertical-align: top;\n}\n.dj_ie6 .dijitTextBox .dijitInputContainer,\n.dj_iequirks .dijitTextBox .dijitInputContainer,\n.dj_ie6 .dijitTextBox .dijitArrowButtonInner,\n.dj_ie6 .dijitSpinner .dijitSpinnerButtonInner,\n.dijitSelect .dijitSelectLabel {\n\tvertical-align: baseline;\n}\n\n.dijitNumberTextBox {\n\ttext-align: left;\n\tdirection: ltr;\n}\n\n.dijitNumberTextBox .dijitInputInner {\n\ttext-align: inherit; /* input */\n}\n\n.dijitNumberTextBox input.dijitInputInner,\n.dijitCurrencyTextBox input.dijitInputInner,\n.dijitSpinner input.dijitInputInner {\n\ttext-align: right;\n}\n\n.dj_ie8 .dijitNumberTextBox input.dijitInputInner, .dj_ie9 .dijitNumberTextBox input.dijitInputInner,\n.dj_ie8 .dijitCurrencyTextBox input.dijitInputInner, .dj_ie9 .dijitCurrencyTextBox input.dijitInputInner,\n.dj_ie8 .dijitSpinner input.dijitInputInner, .dj_ie9 .dijitSpinner input.dijitInputInner {\n\t/* workaround bug where caret invisible in empty textboxes */\n\tpadding-right: 1px !important;\n}\n\n.dijitToolbar .dijitSelect {\n\tmargin: 0;\n}\n.dj_webkit .dijitToolbar .dijitSelect {\n\tpadding-left: 0.3em;\n}\n.dijitSelect .dijitButtonContents {\n\tpadding: 0;\n\twhite-space: nowrap;\n\ttext-align: left;\n\tborder-style: none solid none none;\n\tborder-width: 1px;\n}\n.dijitSelectFixedWidth .dijitButtonContents {\n\twidth: 100%;\n}\n\n.dijitSelectMenu .dijitMenuItemIcon {\n\t/* avoid blank area in left side of menu (since we have no icons) */\n\tdisplay:none;\n}\n.dj_ie6 .dijitSelectMenu .dijitMenuItemLabel,\n.dj_ie7 .dijitSelectMenu .dijitMenuItemLabel {\n\t/* Set back to static due to bug in ie6/ie7 - See Bug #9651 */\n\tposition: static;\n}\n\n/* Fix the baseline of our label (for multi-size font elements) */\n.dijitSelectLabel *\n{\n\tvertical-align: baseline;\n}\n\n/* Styling for the currently-selected option (rich text can mess this up) */\n.dijitSelectSelectedOption * {\n\tfont-weight: bold;\n}\n\n/* Fix the styling of the dropdown menu to be more combobox-like */\n.dijitSelectMenu {\n\tborder-width: 1px;\n}\n\n/* Used in cases, such as FullScreen plugin, when we need to force stuff to static positioning. */\n.dijitForceStatic {\n\tposition: static !important;\n}\n\n/**** Disabled cursor *****/\n.dijitReadOnly *,\n.dijitDisabled *,\n.dijitReadOnly,\n.dijitDisabled {\n\t/* a region the user would be able to click on, but it's disabled */\n\tcursor: default;\n}\n\n/* Drag and Drop */\n.dojoDndItem {\n padding: 2px; /* will be replaced by border during drag over (dojoDndItemBefore, dojoDndItemAfter) */\n\n\t/* Prevent magnifying-glass text selection icon to appear on mobile webkit as it causes a touchout event */\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none; /* Disable selection/Copy of UIWebView */\n}\n.dojoDndHorizontal .dojoDndItem {\n /* make contents of horizontal container be side by side, rather than vertical */\n display: inline-block;\n}\n\n.dojoDndItemBefore,\n.dojoDndItemAfter {\n\tborder: 0px solid #369;\n}\n.dojoDndItemBefore {\n border-width: 2px 0 0 0;\n padding: 0 2px 2px 2px;\n}\n.dojoDndItemAfter {\n border-width: 0 0 2px 0;\n padding: 2px 2px 0 2px;\n}\n.dojoDndHorizontal .dojoDndItemBefore {\n border-width: 0 0 0 2px;\n padding: 2px 2px 2px 0;\n}\n.dojoDndHorizontal .dojoDndItemAfter {\n border-width: 0 2px 0 0;\n padding: 2px 0 2px 2px;\n}\n\n.dojoDndItemOver {\n\tcursor:pointer;\n}\n.dj_gecko .dijitArrowButtonInner INPUT,\n.dj_gecko INPUT.dijitArrowButtonInner {\n\t-moz-user-focus:ignore;\n}\n.dijitFocused .dijitMenuItemShortcutKey {\n\ttext-decoration: underline;\n}\n\n/* Dijit custom styling */\n.dijitBorderContainer {\n height: 350px;\n}\n.dijitTooltipContainer {\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 6px;\n}\n.dijitContentPane {\n box-sizing: content-box;\n overflow: auto !important; /* Widgets like the data grid pass their scroll\n offset to the parent if there is not enough room to display a scroll bar\n in the widget itself, so do not hide the overflow. */\n}\n\n/* Global Bootstrap changes */\n\n/* Client defaults and helpers */\n.mx-dataview-content, .mx-scrollcontainer-wrapper:not(.mx-scrollcontainer-nested), .mx-tabcontainer-content, .mx-grid-content {\n -webkit-overflow-scrolling: touch;\n}\nhtml, body, #content {\n height: 100%;\n}\n#content > .mx-page {\n width: 100%;\n min-height: 100%;\n}\n\n.mx-left-aligned {\n text-align: left;\n}\n.mx-right-aligned {\n text-align: right;\n}\n.mx-center-aligned {\n text-align: center;\n}\n\n.mx-table {\n width: 100%;\n}\n.mx-table th,\n.mx-table td {\n padding: 8px;\n vertical-align: top;\n}\n.mx-table th.nopadding,\n.mx-table td.nopadding {\n\tpadding: 0;\n}\n\n.mx-offscreen {\n /* When position relative is not set IE doesn't properly render when this class is removed\n * with the effect that elements are not displayed or are not clickable.\n */\n position: relative;\n height: 0;\n overflow: hidden;\n}\n\n.mx-ie-event-shield {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n}\n\n.mx-swipe-navigation-progress {\n position: absolute;\n height: 54px;\n width: 54px;\n top: calc(50% - 27px);\n left: calc(50% - 27px);\n background: url(data:image/gif;base64,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);\n}\n\n\n/* Bacause we use checkboxes without labels, align them with other widgets. */\ninput[type=\"checkbox\"] {\n margin: 9px 0;\n}\n\n.mx-checkbox input[type=\"checkbox\"] {\n margin-left: 0;\n margin-right: 8px;\n position: static;\n}\n\n.form-vertical .form-group.mx-checkbox input[type=\"checkbox\"] {\n display: block;\n}\n\n.form-vertical .form-group.mx-checkbox.label-after input[type=\"checkbox\"] {\n display: inline-block;\n}\n\n.form-horizontal .form-group.no-columns {\n padding-left: 15px;\n padding-right: 15px;\n}\n\n.mx-radiobuttons.inline .radio {\n display: inline-block;\n margin-right: 20px;\n}\n\n.mx-radiobuttons .radio input[type=\"radio\"] {\n /* Reset bootstrap rules */\n position: static;\n margin-right: 8px;\n margin-left: 0;\n}\n\n.mx-radiobuttons .radio label {\n /* Reset bootstrap rules */\n padding-left: 0;\n}\n\n.alert {\n margin-top: 8px;\n margin-bottom: 10px;\n white-space: pre-line;\n}\n\n.mx-compound-control {\n display: flex;\n}\n\n.mx-compound-control button {\n margin-left: 5px;\n}\n\n[dir=\"rtl\"] .mx-compound-control button {\n margin-left: 0;\n margin-right: 5px;\n}\n\n.mx-tooltip {\n margin: 10px;\n}\n.mx-tooltip-content {\n width: 400px;\n overflow-y: auto;\n}\n.mx-tooltip-prepare {\n height: 24px;\n padding: 8px;\n background: transparent url(data:image/gif;base64,R0lGODlhGAAYAMQdAKXZ8nfF64TL7QuX3Fe45zaq4hOb3fL6/fr9/rri9dXt+ZrU8Cym4Umy5cHl9uPz+2K86Oj1/Nzw+rDd9M3q+JDQ72rA6iOi3+34/ECu48jo9x2f3gWV2////wAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUJFNkU4NEZCNEVDMTFFODk3MDBBNUU1RUM4Qjg3QTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUJFNkU4NTBCNEVDMTFFODk3MDBBNUU1RUM4Qjg3QTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFQkU2RTg0REI0RUMxMUU4OTcwMEE1RTVFQzhCODdBNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFQkU2RTg0RUI0RUMxMUU4OTcwMEE1RTVFQzhCODdBNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6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) no-repeat scroll center center;\n}\n.mx-tooltip-content .table th,\n.mx-tooltip-content .table td {\n padding: 2px 8px;\n}\n\n.mx-tabcontainer-pane {\n height: 100%;\n}\n.mx-tabcontainer-content.loading {\n min-height: 48px;\n background: url(data:image/gif;base64,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) no-repeat center center;\n background-size: 32px 32px;\n}\n.mx-tabcontainer-tabs {\n margin-bottom: 8px;\n}\n.mx-tabcontainer-tabs li {\n position: relative;\n}\n.mx-tabcontainer-indicator {\n position: absolute;\n background: #f2dede;\n border-radius: 8px;\n color: #b94a48;\n top: 0px;\n right: -5px;\n width: 16px;\n height: 16px;\n line-height: 16px;\n text-align: center;\n vertical-align: middle;\n font-size: 10px;\n font-weight: 600;\n z-index: 1; /* indicator should not hide behind other tab */\n}\n\n/* base structure */\n.mx-grid {\n padding: 8px;\n overflow: hidden; /* to prevent any margin from escaping grid and foobaring our size calculations */\n}\n.mx-grid-controlbar, .mx-grid-searchbar {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n}\n.mx-grid-controlbar .mx-button,\n.mx-grid-search-controls .mx-button {\n margin-bottom: 8px;\n}\n\n.mx-grid-search-controls .mx-button + .mx-button,\n.mx-grid-controlbar .mx-button + .mx-button {\n margin-left: 0.3em;\n}\n\n[dir=\"rtl\"] .mx-grid-search-controls .mx-button + .mx-button,\n[dir=\"rtl\"] .mx-grid-controlbar .mx-button + .mx-button {\n margin-left: 0;\n margin-right: 0.3em;\n}\n\n.mx-grid-pagingbar,\n.mx-grid-search-controls {\n display: flex;\n white-space: nowrap;\n align-items: baseline;\n margin-left: auto;\n}\n\n.mx-grid-toolbar, .mx-grid-search-inputs {\n margin-right: 5px;\n flex: 1;\n}\n\n[dir=\"rtl\"] .mx-grid-toolbar,\n[dir=\"rtl\"] .mx-grid-search-inputs {\n margin-left: 5px;\n margin-right: 0px;\n}\n[dir=\"rtl\"] .mx-grid-pagingbar,\n[dir=\"rtl\"] .mx-grid-search-controls {\n margin-left: 0px;\n margin-right: auto;\n}\n\n.mx-grid-paging-status {\n padding: 0 8px 5px;\n}\n\n/* search fields */\n.mx-grid-search-item {\n display: inline-block;\n vertical-align: top;\n margin-bottom: 8px;\n}\n.mx-grid-search-label {\n width: 110px;\n padding: 0 5px;\n text-align: right;\n display: inline-block;\n vertical-align: top;\n overflow: hidden;\n}\n[dir=\"rtl\"] .mx-grid-search-label {\n text-align: left;\n}\n.mx-grid-search-input {\n width: 150px;\n padding: 0 5px;\n display: inline-block;\n vertical-align: top;\n}\n.mx-grid-search-message {\n flex-basis: 100%;\n}\n\n/* widget combinations */\n.mx-dataview .mx-grid {\n border: 1px solid #ddd;\n border-radius: 3px;\n}\n\n.mx-calendar {\n z-index: 1000;\n}\n\n.mx-calendar-month-dropdown-options {\n position: absolute;\n}\n\n.mx-calendar, .mx-calendar-month-dropdown {\n user-select: none;\n}\n\n.mx-calendar-month-current {\n display: inline-block;\n}\n\n.mx-calendar-month-spacer {\n position: relative;\n height: 0px;\n overflow: hidden;\n visibility: hidden;\n}\n\n.mx-calendar, .mx-calendar-month-dropdown-options {\n border: 1px solid lightgrey;\n background-color: white;\n}\n\n.mx-datagrid tr {\n cursor: pointer;\n}\n\n.mx-datagrid tr.mx-datagrid-row-empty {\n cursor: default;\n}\n\n.mx-datagrid table {\n width: 100%;\n max-width: 100%;\n table-layout: fixed;\n margin-bottom: 0;\n}\n\n.mx-datagrid th, .mx-datagrid td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: bottom;\n border: 1px solid #ddd;\n}\n\n/* head */\n.mx-datagrid th {\n position: relative; /* Required for the positioning of the column resizers */\n border-bottom-width: 2px;\n}\n.mx-datagrid-head-caption {\n overflow: hidden;\n white-space: nowrap;\n}\n.mx-datagrid-sort-icon {\n float: right;\n padding-left: 5px;\n}\n[dir=\"rtl\"] .mx-datagrid-sort-icon {\n float: left;\n padding: 0 5px 0 0;\n}\n.mx-datagrid-column-resizer {\n position: absolute;\n top: 0;\n left: -6px;\n width: 10px;\n height: 100%;\n cursor: col-resize;\n}\n[dir=\"rtl\"] .mx-datagrid-column-resizer {\n left: auto;\n right: -6px;\n}\n\n/* body */\n.mx-datagrid tbody tr:first-child td {\n border-top: none;\n}\n//.mx-datagrid tbody tr:nth-child(2n+1) td {\n// background-color: #f9f9f9;\n//}\n.mx-datagrid tbody .selected td {\n background-color: #eee;\n}\n.mx-datagrid-data-wrapper {\n overflow: hidden;\n white-space: nowrap;\n}\n.mx-datagrid tbody img {\n max-width: 16px;\n max-height: 16px;\n}\n.mx-datagrid input,\n.mx-datagrid select,\n.mx-datagrid textarea {\n cursor: auto;\n}\n\n/* foot */\n.mx-datagrid tfoot th,\n.mx-datagrid tfoot td {\n padding: 3px 8px;\n}\n.mx-datagrid tfoot th {\n border-top: 1px solid #ddd;\n}\n.mx-datagrid.mx-content-loading .mx-content-loader {\n display: inline-block;\n width: 90%;\n animation: placeholderGradient 1s linear infinite;\n border-radius: 4px;\n background: #F5F5F5;\n background: repeating-linear-gradient(to right, #F5F5F5 0%, #F5F5F5 5%, #F9F9F9 50%, #F5F5F5 95%, #F5F5F5 100%);\n background-size: 200px 100px;\n animation-fill-mode: both;\n}\n@keyframes placeholderGradient {\n 0% { background-position: 100px 0; }\n 100% { background-position: -100px 0; }\n}\n\n.mx-datagrid-table-resizing th,\n.mx-datagrid-table-resizing td {\n cursor: col-resize !important;\n}\n\n.mx-templategrid-content-wrapper {\n display: table;\n width: 100%;\n border-collapse: collapse;\n box-sizing: border-box;\n}\n.mx-templategrid-row {\n display: table-row;\n}\n.mx-templategrid-item {\n padding: 5px;\n display: table-cell;\n border: 1px solid #ddd;\n cursor: pointer;\n box-sizing: border-box;\n}\n.mx-templategrid-empty {\n display: table-cell;\n}\n.mx-templategrid-item.selected {\n background-color: #f5f5f5;\n}\n.mx-templategrid-item .mx-table th,\n.mx-templategrid-item .mx-table td {\n padding: 2px 8px;\n}\n\n.mx-scrollcontainer-horizontal {\n width: 100%;\n display: table;\n table-layout: fixed;\n}\n.mx-scrollcontainer-horizontal > div {\n display: table-cell;\n vertical-align: top;\n}\n//.mx-scrollcontainer-wrapper {\n// padding: 10px;\n//}\n.mx-scrollcontainer-nested {\n padding: 0;\n}\n.mx-scrollcontainer-fixed > .mx-scrollcontainer-middle > .mx-scrollcontainer-wrapper,\n.mx-scrollcontainer-fixed > .mx-scrollcontainer-left > .mx-scrollcontainer-wrapper,\n.mx-scrollcontainer-fixed > .mx-scrollcontainer-center > .mx-scrollcontainer-wrapper,\n.mx-scrollcontainer-fixed > .mx-scrollcontainer-right > .mx-scrollcontainer-wrapper {\n overflow: auto;\n}\n\n.mx-scrollcontainer-move-in {\n transition: left 250ms ease-out;\n}\n.mx-scrollcontainer-move-out {\n transition: left 250ms ease-in;\n}\n.mx-scrollcontainer-shrink .mx-scrollcontainer-toggleable {\n transition-property: width;\n}\n\n.mx-scrollcontainer-toggleable {\n background-color: #fff;\n}\n//.mx-scrollcontainer-slide > .mx-scrollcontainer-toggleable > .mx-scrollcontainer-wrapper {\n// position: relative;\n// z-index: 1;\n// background-color: inherit;\n//}\n.mx-scrollcontainer-push {\n position: relative;\n}\n.mx-scrollcontainer-shrink > .mx-scrollcontainer-toggleable {\n overflow: hidden;\n}\n.mx-scrollcontainer-push.mx-scrollcontainer-open > div,\n.mx-scrollcontainer-slide.mx-scrollcontainer-open > div {\n pointer-events: none;\n}\n.mx-scrollcontainer-push.mx-scrollcontainer-open > .mx-scrollcontainer-toggleable,\n.mx-scrollcontainer-slide.mx-scrollcontainer-open > .mx-scrollcontainer-toggleable {\n pointer-events: auto;\n}\n\n.mx-navbar-item img,\n.mx-navbar-subitem img {\n height: 16px;\n}\n\n\n.mx-navigationtree .navbar-inner {\n padding-left: 0;\n padding-right: 0;\n}\n.mx-navigationtree ul {\n list-style: none;\n}\n.mx-navigationtree ul li {\n border-bottom: 1px solid #dfe6ea;\n}\n.mx-navigationtree li:last-child {\n border-style: none;\n}\n.mx-navigationtree a {\n display: block;\n padding: 5px 10px;\n color: #777;\n text-shadow: 0 1px 0 #fff;\n text-decoration: none;\n}\n.mx-navigationtree a.active {\n color: #FFF;\n text-shadow: none;\n background: #3498DB;\n border-radius: 3px;\n}\n.mx-navigationtree .mx-navigationtree-collapsed ul {\n display: none;\n}\n.mx-navigationtree ul {\n margin: 0;\n padding: 0;\n}\n.mx-navigationtree ul li {\n padding: 5px 0;\n}\n.mx-navigationtree ul li ul {\n padding: 0;\n margin-left: 10px;\n}\n.mx-navigationtree ul li ul li {\n margin-left: 8px;\n padding: 5px 0;\n}\n[dir=\"rtl\"] .mx-navigationtree ul li ul li {\n margin-left: auto;\n margin-right: 8px;\n}\n.mx-navigationtree ul li ul li ul li {\n font-size: 10px;\n padding-top: 3px;\n padding-bottom: 3px;\n}\n.mx-navigationtree ul li ul li ul li img {\n vertical-align: top;\n}\n\n.mx-link img,\n.mx-button img {\n height: 16px;\n}\n.mx-link {\n padding: 6px 12px;\n display: inline-block;\n}\n\n.mx-groupbox {\n margin-bottom: 10px;\n}\n.mx-groupbox-header {\n margin: 0;\n padding: 10px 15px;\n color: #eee;\n background: #333;\n font-size: inherit;\n line-height: inherit;\n border-radius: 4px 4px 0 0;\n}\n.mx-groupbox-collapsible > .mx-groupbox-header {\n cursor: pointer;\n}\n.mx-groupbox.collapsed > .mx-groupbox-header {\n border-radius: 4px;\n}\n.mx-groupbox-body {\n padding: 8px;\n border: 1px solid #ddd;\n border-radius: 4px;\n}\n.mx-groupbox.collapsed > .mx-groupbox-body {\n display: none;\n}\n.mx-groupbox-header + .mx-groupbox-body {\n border-top: none;\n border-radius: 0 0 4px 4px;\n}\n.mx-groupbox-collapse-icon {\n float: right;\n}\n[dir=\"rtl\"] .mx-groupbox-collapse-icon {\n float: left;\n}\n\n.mx-dataview {\n position: relative;\n}\n.mx-dataview-controls {\n padding: 19px 20px 12px;\n background-color: #f5f5f5;\n border-top: 1px solid #eee;\n}\n\n.mx-dataview-controls .mx-button {\n margin-bottom: 8px;\n}\n\n.mx-dataview-controls .mx-button + .mx-button {\n margin-left: 0.3em;\n}\n\n.mx-dataview-message {\n background: #fff;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n.mx-dataview-message > div {\n display: table;\n width: 100%;\n height: 100%;\n}\n.mx-dataview-message > div > p {\n display: table-cell;\n text-align: center;\n vertical-align: middle;\n}\n\n/* Top-level data view in window is a special case, handle it as such. */\n.mx-window-view .mx-window-body {\n padding: 0;\n}\n.mx-window-view .mx-window-body > .mx-dataview > .mx-dataview-content,\n.mx-window-view .mx-window-body > .mx-placeholder > .mx-dataview > .mx-dataview-content {\n padding: 15px;\n}\n.mx-window-view .mx-window-body > .mx-dataview > .mx-dataview-controls,\n.mx-window-view .mx-window-body > .mx-placeholder > .mx-dataview > .mx-dataview-controls {\n border-radius: 0px 0px 6px 6px;\n}\n\n.mx-dialog {\n position: fixed;\n left: auto;\n right: auto;\n padding: 0;\n width: 500px;\n /* If the margin is set to auto, IE9 reports the calculated value of the\n * margin as the actual value. Other browsers will just report 0. Eliminate\n * this difference by setting margin to 0 for every browser. */\n margin: 0;\n}\n.mx-dialog-header {\n cursor: move;\n}\n.mx-dialog-body {\n overflow: auto;\n}\n\n.mx-window {\n position: fixed;\n left: auto;\n right: auto;\n padding: 0;\n width: 600px;\n /* If the margin is set to auto, IE9 reports the calculated value of the\n * margin as the actual value. Other browsers will just report 0. Eliminate\n * this difference by setting margin to 0 for every browser. */\n margin: 0;\n}\n.mx-window-content {\n height: 100%;\n overflow: hidden;\n}\n.mx-window-active .mx-window-header {\n background-color: #f5f5f5;\n border-radius: 6px 6px 0 0;\n}\n.mx-window-header {\n cursor: move;\n}\n.mx-window-body {\n overflow: auto;\n}\n\n.mx-dropdown-list * {\n cursor: pointer;\n}\n.mx-dropdown-list img {\n width: 35px;\n vertical-align: middle;\n margin-right: 10px;\n}\n[dir=\"rtl\"] .mx-dropdown-list img {\n margin-left: 10px;\n margin-right: auto;\n}\n\n.mx-dropdown-list {\n padding: 0;\n list-style: none;\n}\n.mx-dropdown-list > li {\n padding: 5px 10px 10px;\n border: 1px #ddd;\n border-style: solid solid none;\n background-color: #fff;\n}\n.mx-dropdown-list > li:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.mx-dropdown-list > li:last-child {\n border-bottom-style: solid;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.mx-dropdown-list-striped > li:nth-child(2n+1) {\n background: #f9f9f9;\n}\n.mx-dropdown-list > li:hover {\n background: #f5f5f5;\n}\n\n.mx-header {\n position: relative;\n padding: 9px;\n background: #333;\n text-align: center;\n}\n.mx-header-center {\n display: inline-block;\n color: #eee;\n line-height: 30px; /* height of buttons */\n}\nbody[dir=\"ltr\"] .mx-header-left,\nbody[dir=\"rtl\"] .mx-header-right {\n position: absolute;\n top: 9px;\n left: 9px;\n}\nbody[dir=\"ltr\"] .mx-header-right,\nbody[dir=\"rtl\"] .mx-header-left {\n position: absolute;\n top: 9px;\n right: 9px;\n}\n\n.mx-title {\n margin-bottom: 0px;\n margin-top: 0px;\n}\n\n.mx-listview {\n padding: 8px;\n}\n.mx-listview > ul {\n padding: 0px;\n list-style: none;\n}\n// .mx-listview > ul > li {\n// padding: 5px 10px 10px;\n// border: 1px #ddd;\n// border-style: solid solid none;\n// background-color: #fff;\n// outline: none;\n// }\n// .mx-listview > ul > li:first-child {\n// border-top-left-radius: 4px;\n// border-top-right-radius: 4px;\n// }\n// .mx-listview > ul > li:last-child {\n// border-bottom-style: solid;\n// border-bottom-left-radius: 4px;\n// border-bottom-right-radius: 4px;\n// }\n//.mx-listview li:nth-child(2n+1) {\n// background: #f9f9f9;\n//}\n//.mx-listview li:nth-child(2n+1):hover {\n// background: #f5f5f5;\n//}\n.mx-listview > ul > li.selected {\n// background: #eee;\n}\n.mx-listview-clickable > ul > li {\n cursor: pointer;\n}\n.mx-listview-empty {\n color: #999;\n text-align: center;\n}\n.mx-listview .mx-listview-loading {\n padding: 10px;\n line-height: 0;\n text-align: center;\n}\n.mx-listview-searchbar {\n display: flex;\n margin-bottom: 10px;\n}\n.mx-listview-searchbar > input {\n width: 100%;\n}\n.mx-listview-searchbar > button {\n margin-left: 5px;\n}\n[dir=\"rtl\"] .mx-listview-searchbar > button {\n margin-left: 0;\n margin-right: 5px;\n}\n.mx-listview-selection {\n display: table-cell;\n vertical-align: middle;\n padding: 0 15px 0 5px;\n}\n[dir=\"rtl\"] .mx-listview-selection {\n padding: 0 5px 0 15px;\n}\n.mx-listview-selectable .mx-listview-content {\n display: table-cell;\n vertical-align: middle;\n width: 100%;\n}\n.mx-listview .selected {\n background: #def;\n}\n.mx-listview .mx-table th,\n.mx-listview .mx-table td {\n padding: 2px;\n}\n\n.mx-login .form-control {\n margin-top: 10px;\n}\n\n.mx-menubar {\n padding: 8px;\n}\n.mx-menubar-icon {\n height: 16px;\n}\n.mx-menubar-more-icon {\n display: inline-block;\n width: 16px;\n height: 16px;\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKNJREFUeNpi/P//P8NgAUwMgwiMOmbUMaOOGXXMqGNGHTPYHMOCTfDs2bMeQKoOiI1BXCBuMjY23kFrdYzoTQigRm8gtQWLG0OBBqyhlTpc0dSOIxTraKwOq2PUcWhWp7E6rI65iUPzTRqrw+qYGhyam2isDtMxwES1CUgFAfFxqBCIDkJPbNRWhzU3jRZ6o44ZdcyoY0YdM+qYUccMUscABBgAUXpEjE/Bs/IAAAAASUVORK5CYII=) no-repeat center center;\n background-size: 16px 16px;\n vertical-align: middle;\n}\n\n.mx-navigationlist {\n padding: 8px;\n}\n.mx-navigationlist li:hover,\n.mx-navigationlist li:focus,\n.mx-navigationlist li.active {\n color: #FFF;\n background-color: #3498DB;\n}\n.mx-navigationlist * {\n cursor: pointer;\n}\n.mx-navigationlist .table th,\n.mx-navigationlist .table td {\n padding: 2px;\n}\n\n.mx-progress {\n position: fixed;\n top: 30%;\n left: 0;\n right: 0;\n margin: auto;\n width: 250px;\n max-width: 90%;\n background: #333;\n opacity: 0.8;\n z-index: 5000;\n border-radius: 4px;\n padding: 20px 15px;\n transition: opacity 0.4s ease-in-out;\n}\n.mx-progress-hidden {\n opacity: 0;\n}\n.mx-progress-message {\n color: #fff;\n text-align: center;\n margin-bottom: 15px;\n}\n.mx-progress-empty .mx-progress-message {\n display: none;\n}\n.mx-progress-indicator {\n width: 70px;\n height: 10px;\n margin: auto;\n background: url(data:image/gif;base64,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);\n}\n\n.mx-reload-notification {\n position: fixed;\n z-index: 1001;\n top: 0;\n width: 100%;\n padding: 1rem;\n\n border: 1px solid hsl(200, 96%, 41%);\n background-color: hsl(200, 96%, 44%);\n\n box-shadow: 0 5px 20px rgba(1, 37, 55, 0.16);\n color: white;\n\n text-align: center;\n font-size: 14px;\n}\n\n.mx-resizer-n,\n.mx-resizer-s {\n position: absolute;\n left: 0;\n width: 100%;\n height: 10px;\n}\n.mx-resizer-n {\n top: -5px;\n cursor: n-resize;\n}\n.mx-resizer-s {\n bottom: -5px;\n cursor: s-resize;\n}\n\n.mx-resizer-e,\n.mx-resizer-w {\n position: absolute;\n top: 0;\n width: 10px;\n height: 100%;\n}\n.mx-resizer-e {\n right: -5px;\n cursor: e-resize;\n}\n.mx-resizer-w {\n left: -5px;\n cursor: w-resize;\n}\n\n.mx-resizer-nw,\n.mx-resizer-ne,\n.mx-resizer-sw,\n.mx-resizer-se {\n position: absolute;\n width: 20px;\n height: 20px;\n}\n\n.mx-resizer-nw,\n.mx-resizer-ne {\n top: -5px;\n}\n.mx-resizer-sw,\n.mx-resizer-se {\n bottom: -5px;\n}\n.mx-resizer-nw,\n.mx-resizer-sw {\n left: -5px;\n}\n.mx-resizer-ne,\n.mx-resizer-se {\n right: -5px;\n}\n\n.mx-resizer-nw {\n cursor: nw-resize;\n}\n.mx-resizer-ne {\n cursor: ne-resize;\n}\n.mx-resizer-sw {\n cursor: sw-resize;\n}\n.mx-resizer-se {\n cursor: se-resize;\n}\n\n.mx-text {\n white-space: pre-line;\n}\n\n.mx-textarea textarea {\n resize: none;\n overflow-y: hidden;\n}\n.mx-textarea .mx-textarea-noresize {\n height: auto;\n resize: vertical;\n overflow-y: auto;\n}\n.mx-textarea .mx-textarea-counter {\n font-size: smaller;\n}\n.mx-textarea .form-control-static {\n white-space: pre-line;\n}\n\n.mx-underlay {\n position: fixed;\n top: 0;\n width: 100%;\n height: 100%;\n z-index: 1000;\n opacity: 0.5;\n background-color: #333;\n}\n\n.mx-imagezoom {\n position: absolute;\n display: table;\n width: 100%;\n height: 100%;\n background-color: #999;\n}\n.mx-imagezoom-wrapper {\n display: table-cell;\n text-align: center;\n vertical-align: middle;\n}\n.mx-imagezoom-image {\n max-width: none;\n}\n\n.mx-dropdown li {\n padding: 3px 20px;\n cursor: pointer;\n}\n.mx-dropdown label {\n padding: 0;\n color: #333;\n white-space: nowrap;\n cursor: pointer;\n}\n.mx-dropdown input {\n margin: 0;\n vertical-align: middle;\n cursor: pointer;\n}\n.mx-dropdown .selected {\n background: #f8f8f8;\n}\n//.mx-selectbox {\n// text-align: left;\n//}\n//.mx-selectbox-caret-wrapper {\n// float: right;\n// height: 100%;\n//}\n\n.mx-demouserswitcher {\n position: fixed;\n top: 0;\n right: 0;\n width: 360px;\n height: 100%;\n z-index: 20000;\n box-shadow: -1px 0 5px rgba(28,59,86,.2);\n}\n.mx-demouserswitcher-content {\n padding: 80px 40px 20px;\n height: 100%;\n color: #387ea2;\n font-size: 14px;\n overflow: auto;\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOgAAABgCAYAAAAXSj7NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0MzkwOTREMDQ2NEYxMUU0QTQ4MUI5NTNGMUQ3QzE5NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0MzkwOTREMTQ2NEYxMUU0QTQ4MUI5NTNGMUQ3QzE5NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc0REMyMUZGNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc0REMyMjAwNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g1tRlwAAEFFJREFUeNrsnYl3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) top right no-repeat #1b3149;\n /* background-attachement local is not supported on IE8\n * when this is part of background the complete background is ignored */\n background-attachment: local;\n}\n.mx-demouserswitcher ul {\n padding: 0;\n margin-top: 25px;\n list-style-type: none;\n border-top: 1px solid #496076;\n}\n.mx-demouserswitcher a {\n display: block;\n padding: 10px 0;\n color: #387ea2;\n border-bottom: 1px solid #496076;\n}\n.mx-demouserswitcher h2 {\n margin: 20px 0 5px;\n color: #5bc4fe;\n font-size: 28px;\n}\n.mx-demouserswitcher h3 {\n margin: 0 0 2px;\n color: #5bc4fe;\n font-size: 18px;\n font-weight: normal;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mx-demouserswitcher .active h3 {\n color: #11efdb;\n}\n.mx-demouserswitcher p {\n margin-bottom: 0;\n}\n.mx-demouserswitcher-toggle {\n position: absolute;\n top: 25%;\n left: -35px;\n width: 35px;\n height: 38px;\n margin-top: -40px;\n cursor: pointer;\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n box-shadow: -1px 0 5px rgba(28,59,86,.2);\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NERDMjFGRDQ2NEMxMUU0QTQ4MUI5NTNGMUQ3QzE5NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NERDMjFGRTQ2NEMxMUU0QTQ4MUI5NTNGMUQ3QzE5NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc0REMyMUZCNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc0REMyMUZDNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1ZovNAAAAWdJREFUeNqM1M0rRFEYx/E7Y5qIQpOUbIiymQWysBgvJVJK2VgryZQtKSULZelPsB0LZaNZjJUNK1FskJqUvCS3NAsZc3zP9NziOOfeeepTc8/c8+vc8xZTSnmOakEGKdzgDBXXy54OMsSwjpL6W9cYsrxfZWvcUu7y0VdLUCc+VXgd2oLixpfOIOmF17TtHTOozYuupCxAaNB9DUEfeDUbE8bzEXxZerP00l8hh3LUiHTIMr6N9j2ksYoihv/1deyLSVzKKm1jEW+WfZV2Lf8gskjIcwcWpOM++pHCFPLosgWtoCyd7jCPOjzhGHHLyDPY1achaJhDxRj6rBwJXUuoN0IG8IIv7OiGBjxadvAITuT3rex6c0SbKASflnUcBT3JTThAjyWkGUVsBEEFR5CerzXpNIacrFIrJnCBB3muBvkhB1TP27hM/Lvx3zl6gxHqu6c74kiU8IxGjKJdLrrT3xfdjwADAJaMxP2bvD2BAAAAAElFTkSuQmCC) center center no-repeat #1b3149;\n}\n\n/* master details screen for mobile */\n.mx-master-detail-screen {\n top: 0;\n left: 0;\n overflow: auto;\n width: 100%;\n height: 100%;\n position: absolute;\n background-color: white;\n will-change: transform;\n}\n\n.mx-master-detail-screen .mx-master-detail-details {\n padding: 15px;\n}\n\n.mx-master-detail-screen-header {\n position: relative;\n overflow: auto;\n border-bottom: 1px solid #ccc;\n background-color: #f7f7f7;\n}\n\n.mx-master-detail-screen-header-caption {\n text-align: center;\n font-size: 17px;\n line-height: 24px;\n font-weight: 600;\n}\n\n.mx-master-detail-screen-header-close {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n width: 50px;\n border: none;\n background: transparent;\n color: #007aff;\n}\n\nbody[dir=\"rtl\"] .mx-master-detail-screen-header-close {\n right: 0;\n left: auto;\n}\n\n.mx-master-detail-screen-header-close::before {\n content: \"\\2039\";\n font-size: 52px;\n line-height: 24px;\n}\n\n/* classes for content page */\n.mx-master-detail-content-fix {\n height: 100vh;\n overflow: hidden;\n}\n\n.mx-master-detail-content-hidden {\n transform: translateX(-200%);\n}\n\nbody[dir=\"rtl\"] .mx-master-detail-content-hidden {\n transform: translateX(200%);\n}\n.reportingReport {\n padding: 5px;\n border: 1px solid #ddd;\n -webkit-border-radius: 3px;\n -moz-border-radius: 3px;\n border-radius: 3px;\n}\n\n.reportingReportParameter th {\n text-align: right;\n}\n\n.reportingDateRange table {\n width: 100%;\n table-layout: fixed;\n}\n.reportingDateRange th {\n padding: 5px;\n text-align: right;\n background-color: #eee;\n}\n.reportingDateRange td {\n padding: 5px;\n}\n\n.mx-reportmatrix table {\n width: 100%;\n max-width: 100%;\n table-layout: fixed;\n margin-bottom: 0;\n}\n\n.mx-reportmatrix th, .mx-reportmatrix td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: bottom;\n border: 1px solid #ddd;\n}\n\n.mx-reportmatrix tbody tr:first-child td {\n border-top: none;\n}\n\n.mx-reportmatrix tbody tr:nth-child(2n+1) td {\n background-color: #f9f9f9;\n}\n\n.mx-reportmatrix tbody img {\n max-width: 16px;\n max-height: 16px;\n}\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .dijitInline {\n zoom: 1; /* set hasLayout:true to mimic inline-block */\n display:inline; /* don't use .dj_ie since that increases the priority */\n vertical-align: auto;\t/* makes TextBox,Button line up w/native counterparts on IE6 */\n }\n\n .dj_ie6 .dijitComboBox .dijitInputContainer,\n .dijitInputContainer {\n zoom: 1;\n }\n\n .dijitRight {\n /* Right part of a 3-element border */\n display:inline;\t\t\t\t/* IE7 sizes to outer size w/o this */\n }\n\n .dijitButtonNode {\n vertical-align: auto;\n }\n\n .dijitTextBox {\n overflow: hidden; /* #6027, #6067 */\n }\n\n .dijitPlaceHolder {\n filter: \"\"; /* make this show up in IE6 after the rendering of the widget */\n }\n\n .dijitValidationTextBoxError input.dijitValidationInner,\n .dijitSelect input,\n .dijitTextBox input.dijitArrowButtonInner {\n text-indent: 0 !important;\n letter-spacing: -5em !important;\n text-align: right !important;\n }\n\n .dj_a11y input.dijitValidationInner,\n .dj_a11y input.dijitArrowButtonInner {\n text-align: left !important;\n }\n\n .dijitSpinner .dijitSpinnerButtonContainer .dijitUpArrowButton {\n bottom: 50%;\t/* otherwise (on some machines) top arrow icon too close to splitter border (IE6/7) */\n }\n\n .dijitTabContainerTop-tabs .dijitTab,\n .dijitTabContainerBottom-tabs .dijitTab {\n zoom: 1; /* set hasLayout:true to mimic inline-block */\n display:inline; /* don't use .dj_ie since that increases the priority */\n }\n\n .dojoDndHorizontal .dojoDndItem {\n /* make contents of horizontal container be side by side, rather than vertical */\n display: inline;\n }\n}\n\n\n\n/* WARNING: IE9 limits nested imports to three levels deep: http://jorgealbaladejo.com/2011/05/28/internet-explorer-limits-nested-import-css-statements */\n\n/* dijit base */\n\n/* mendix base */\n\n/* widgets */\n\n/* reporting */\n\n\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9kb2pvL2Rpaml0L3RoZW1lcy9kaWppdC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS9iYXNlLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL2Zvcm1zLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9Ub29sdGlwLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9UYWJDb250YWluZXIuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L19HcmlkLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9DYWxlbmRhci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvRGF0YUdyaWQuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L1RlbXBsYXRlR3JpZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvU2Nyb2xsQ29udGFpbmVyLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9OYXZiYXIuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L05hdmlnYXRpb25UcmVlLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9CdXR0b24uY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L0dyb3VwQm94LmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9EYXRhVmlldy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvRGlhbG9nLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9XaW5kb3cuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L0Ryb3BEb3duLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9IZWFkZXIuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L1RpdGxlLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9MaXN0Vmlldy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvTG9naW5EaWFsb2cuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L01lbnVCYXIuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L05hdmlnYXRpb25MaXN0LmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9Qcm9ncmVzcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvUmVsb2FkTm90aWZpY2F0aW9uLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9SZXNpemFibGUuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L1RleHQuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L1RleHRBcmVhLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9VbmRlcmxheS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvSW1hZ2Vab29tLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9TZWxlY3RCb3guY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L0RlbW9Vc2VyU3dpdGNoZXIuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L01hc3RlckRldGFpbC5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVwb3J0aW5nL3VpL3dpZGdldC9SZXBvcnQuY3NzIiwid2VicGFjazovLy8uL3JlcG9ydGluZy91aS93aWRnZXQvUmVwb3J0UGFyYW1ldGVyLmNzcyIsIndlYnBhY2s6Ly8vLi9yZXBvcnRpbmcvdWkvd2lkZ2V0L0RhdGVSYW5nZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVwb3J0aW5nL3VpL3dpZGdldC9SZXBvcnRNYXRyaXguY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvbXh1aS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QixVQUFVO0FBQ1YsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEI7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjs7QUFFQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0Esa0NBQWtDO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEM7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCO0FBQ2hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CLGFBQWE7QUFDYjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxzQkFBc0I7QUFDdEI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkIsd0JBQXdCO0FBQ3hCLFdBQVc7QUFDWDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHlDQUF5QztBQUN4RDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdCQUF3QixvQkFBb0I7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjs7QUFFQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQ7QUFDakQsMEJBQTBCO0FBQzFCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsYUFBYTtBQUNiLGFBQWEsd0RBQXdEO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0JBQXdCO0FBQ3hCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQjtBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUI7O0FBRWpCO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdnNFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQzs7O0FDOUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUN6REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmOztBQzdCQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3JGQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQzFCQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDhCQUE4QjtBQUN0QyxVQUFVLCtCQUErQjtBQUN6Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUN0R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN6QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyREE7QUFDQTtBQUNBO0FBQ0E7OztBQ0hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdkRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ25DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUMvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDeEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3RCQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDN0VBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7O0FDYkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DOztBQy9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3JFQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDeEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQzs7QUMvREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDO0FDaEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ05BO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7O0FDekJBOztBQUVBOztBQUVBOztBQUVBOztBQUVBIiwiZmlsZSI6Im14dWkvdWkvbXh1aS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuXHRFc3NlbnRpYWwgc3R5bGVzIHRoYXQgdGhlbWVzIGNhbiBpbmhlcml0LlxuXHRJbiBvdGhlciB3b3Jkcywgd29ya3MgYnV0IGRvZXNuJ3QgbG9vayBncmVhdC5cbiovXG5cblxuXG4vKioqKlxuXHRcdEdFTkVSSUMgUElFQ0VTXG4gKioqKi9cblxuLmRpaml0UmVzZXQge1xuXHQvKiBVc2UgdGhpcyBzdHlsZSB0byBudWxsIG91dCBwYWRkaW5nLCBtYXJnaW4sIGJvcmRlciBpbiB5b3VyIHRlbXBsYXRlIGVsZW1lbnRzXG5cdFx0c28gdGhhdCBwYWdlIHNwZWNpZmljIHN0eWxlcyBkb24ndCBicmVhayB0aGVtLlxuXHRcdC0gVXNlIGluIGFsbCBUQUJMRSwgVFIgYW5kIFREIHRhZ3MuXG5cdCovXG5cdG1hcmdpbjowO1xuXHRib3JkZXI6MDtcblx0cGFkZGluZzowO1xuXHRmb250OiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDpub3JtYWw7XG5cdGNvbG9yOiBpbmhlcml0O1xufVxuLmRqX2ExMXkgLmRpaml0UmVzZXQge1xuXHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8qIHJlbW92ZSBwcmVkZWZpbmVkIGhpZ2gtY29udHJhc3Qgc3R5bGluZyBpbiBGaXJlZm94ICovXG59XG5cbi5kaWppdElubGluZSB7XG5cdC8qICBUbyBpbmxpbmUgYmxvY2sgZWxlbWVudHMuXG5cdFx0U2ltaWxhciB0byBJbmxpbmVCb3ggYmVsb3csIGJ1dCB0aGlzIGhhcyBmZXdlciBzaWRlLWVmZmVjdHMgaW4gTW96LlxuXHRcdEFsc28sIGFwcGFyZW50bHkgd29ya3Mgb24gYSBESVYgYXMgd2VsbCBhcyBhIEZJRUxEU0VULlxuXHQqL1xuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcdFx0XHQvKiB3ZWJraXQgYW5kIEZGMyAqL1xuXHQjem9vbTogMTsgLyogc2V0IGhhc0xheW91dDp0cnVlIHRvIG1pbWljIGlubGluZS1ibG9jayAqL1xuXHQjZGlzcGxheTppbmxpbmU7IC8qIGRvbid0IHVzZSAuZGpfaWUgc2luY2UgdGhhdCBpbmNyZWFzZXMgdGhlIHByaW9yaXR5ICovXG5cdGJvcmRlcjowO1xuXHRwYWRkaW5nOjA7XG5cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0I3ZlcnRpY2FsLWFsaWduOiBhdXRvO1x0LyogbWFrZXMgVGV4dEJveCxCdXR0b24gbGluZSB1cCB3L25hdGl2ZSBjb3VudGVycGFydHMgb24gSUU2ICovXG59XG5cbnRhYmxlLmRpaml0SW5saW5lIHtcblx0LyogVG8gaW5saW5lIHRhYmxlcyB3aXRoIGEgZ2l2ZW4gd2lkdGggc2V0ICovXG5cdGRpc3BsYXk6aW5saW5lLXRhYmxlO1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLmRpaml0SGlkZGVuIHtcblx0LyogVG8gaGlkZSB1bnNlbGVjdGVkIHBhbmVzIGluIFN0YWNrQ29udGFpbmVyIGV0Yy4gKi9cblx0cG9zaXRpb246IGFic29sdXRlOyAvKiByZW1vdmUgZnJvbSBub3JtYWwgZG9jdW1lbnQgZmxvdyB0byBzaW11bGF0ZSBkaXNwbGF5OiBub25lICovXG5cdHZpc2liaWxpdHk6IGhpZGRlbjsgLyogaGlkZSBlbGVtZW50IGZyb20gdmlldywgYnV0IGRvbid0IGJyZWFrIHNjcm9sbGluZywgc2VlICMxODYxMiAqL1xufVxuLmRpaml0SGlkZGVuICoge1xuXHR2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgLyogaGlkZSB2aXNpYmlsaXR5OnZpc2libGUgZGVzY2VuZGFudHMgb2YgY2xhc3M9ZGlqaXRIaWRkZW4gbm9kZXMsIHNlZSAjMTg3OTkgKi9cbn1cblxuLmRpaml0VmlzaWJsZSB7XG5cdC8qIFRvIHNob3cgc2VsZWN0ZWQgcGFuZSBpbiBTdGFja0NvbnRhaW5lciBldGMuICovXG5cdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHQvKiBvdmVycmlkZSB1c2VyJ3MgZGlzcGxheTpub25lIHNldHRpbmcgdmlhIHN0eWxlIHNldHRpbmcgb3IgaW5kaXJlY3RseSB2aWEgY2xhc3MgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1x0XHRcdC8qIHRvIHN1cHBvcnQgc2V0dGluZyB3aWR0aC9oZWlnaHQsIHNlZSAjMjAzMyAqL1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uZGpfaWU2IC5kaWppdENvbWJvQm94IC5kaWppdElucHV0Q29udGFpbmVyLFxuLmRpaml0SW5wdXRDb250YWluZXIge1xuXHQvKiBmb3IgcG9zaXRpb25pbmcgb2YgcGxhY2VIb2xkZXIgKi9cblx0I3pvb206IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IC8qIG5lZWRlZCB0byBzcXVlZXplIHRoZSBJTlBVVCBpbiAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZGpfaWU3IC5kaWppdElucHV0Q29udGFpbmVyIHtcblx0ZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgLyogbmVlZGVkIGJ5IElFIHRvIHNxdWVlemUgdGhlIElOUFVUIGluICovXG5cdGNsZWFyOiBsZWZ0O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgLyogdG8gZml4IHdyb25nIHRleHQgYWxpZ25tZW50IGluIHRleHRkaXI9cnRsIHRleHQgYm94ICovXG59XG5cbi5kal9pZSAuZGlqaXRTZWxlY3QgaW5wdXQsXG4uZGpfaWUgaW5wdXQuZGlqaXRUZXh0Qm94LFxuLmRqX2llIC5kaWppdFRleHRCb3ggaW5wdXQge1xuXHRmb250LXNpemU6IDEwMCU7XG59XG4uZGlqaXRTZWxlY3QgLmRpaml0QnV0dG9uVGV4dCB7XG5cdGZsb2F0OiBsZWZ0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuVEFCTEUuZGlqaXRTZWxlY3Qge1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IC8qIG1lc3NlcyB1cCBib3JkZXIgYWxpZ25tZW50ICovXG5cdGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IC8qIHNvIGpzZmlkZGxlIHdvcmtzIHdpdGggTm9ybWFsaXplZCBDU1MgY2hlY2tlZCAqL1xufVxuLmRpaml0VGV4dEJveCAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyLFxuLmRpaml0VGV4dEJveCAuZGlqaXRBcnJvd0J1dHRvbkNvbnRhaW5lcixcbi5kaWppdFZhbGlkYXRpb25UZXh0Qm94IC5kaWppdFZhbGlkYXRpb25Db250YWluZXIge1xuXHRmbG9hdDogcmlnaHQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5kaWppdFNlbGVjdCBpbnB1dC5kaWppdElucHV0RmllbGQsXG4uZGlqaXRUZXh0Qm94IGlucHV0LmRpaml0SW5wdXRGaWVsZCB7XG5cdC8qIG92ZXJyaWRlIHVucmVhc29uYWJsZSB1c2VyIHN0eWxpbmcgb2YgYnV0dG9ucyBhbmQgaWNvbnMgKi9cblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbi5kaWppdFZhbGlkYXRpb25UZXh0Qm94IC5kaWppdFZhbGlkYXRpb25Db250YWluZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uZGlqaXRUZWVueSB7XG5cdGZvbnQtc2l6ZToxcHg7XG5cdGxpbmUtaGVpZ2h0OjFweDtcbn1cblxuLmRpaml0T2ZmU2NyZWVuIHsgLyogdGhlc2UgY2xhc3MgYXR0cmlidXRlcyBzaG91bGQgc3VwZXJzZWRlIGFueSBpbmxpbmUgcG9zaXRpb25pbmcgc3R5bGUgKi9cblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdGxlZnQ6IC0xMDAwMHB4ICFpbXBvcnRhbnQ7XG5cdHRvcDogLTEwMDAwcHggIWltcG9ydGFudDtcbn1cblxuLypcbiAqIFBvcHVwIGl0ZW1zIGhhdmUgYSB3cmFwcGVyIGRpdiAoZGlqaXRQb3B1cClcbiAqIHdpdGggdGhlIHJlYWwgcG9wdXAgaW5zaWRlLCBhbmQgbWF5YmUgYW4gaWZyYW1lIHRvb1xuICovXG4uZGlqaXRQb3B1cCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdG1hcmdpbjogMDtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5kaWppdFBvc2l0aW9uT25seSB7XG5cdC8qIE51bGwgb3V0IGFsbCBwb3NpdGlvbi1yZWxhdGVkIHByb3BlcnRpZXMgKi9cblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDAgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmRpaml0Tm9uUG9zaXRpb25Pbmx5IHtcblx0LyogTnVsbCBwb3NpdGlvbi1yZWxhdGVkIHByb3BlcnRpZXMgKi9cblx0ZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcblx0cG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDAgMCAwIDAgIWltcG9ydGFudDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xufVxuXG4uZGlqaXRCYWNrZ3JvdW5kSWZyYW1lIHtcblx0LyogaWZyYW1lIHVzZWQgdG8gcHJldmVudCBwcm9ibGVtcyB3aXRoIFBERiBvciBvdGhlciBhcHBsZXRzIG92ZXJsYXlpbmcgbWVudXMgZXRjICovXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAtMTtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi5kaWppdERpc3BsYXlOb25lIHtcblx0LyogaGlkZSBzb21ldGhpbmcuICBVc2UgdGhpcyBhcyBhIGNsYXNzIHJhdGhlciB0aGFuIGVsZW1lbnQuc3R5bGUgc28gYW5vdGhlciBjbGFzcyBjYW4gb3ZlcnJpZGUgKi9cblx0ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG59XG5cbi5kaWppdENvbnRhaW5lciB7XG5cdC8qIGZvciBhbGwgbGF5b3V0IGNvbnRhaW5lcnMgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcdC8qIG5lZWQgb24gSUUgc28gc29tZXRoaW5nIGNhbiBiZSByZWR1Y2VkIGluIHNpemUsIGFuZCBzbyBzY3JvbGxiYXJzIGFyZW4ndCB0ZW1wb3JhcmlseSBkaXNwbGF5ZWQgd2hlbiByZXNpemluZyAqL1xufVxuXG4vKioqKlxuXHRcdEExMVlcbiAqKioqL1xuLmRqX2ExMXkgLmRpaml0SWNvbixcbi5kal9hMTF5IGRpdi5kaWppdEFycm93QnV0dG9uSW5uZXIsIC8qIGlzIHRoaXMgb25seSBmb3IgU3Bpbm5lcj8gIGlmIHNvLCBpdCBzaG91bGQgYmUgZGVsZXRlZCAqL1xuLmRqX2ExMXkgc3Bhbi5kaWppdEFycm93QnV0dG9uSW5uZXIsXG4uZGpfYTExeSBpbWcuZGlqaXRBcnJvd0J1dHRvbklubmVyLFxuLmRqX2ExMXkgLmRpaml0Q2FsZW5kYXJJbmNyZW1lbnRDb250cm9sLFxuLmRqX2ExMXkgLmRpaml0VHJlZUV4cGFuZG8ge1xuXHQvKiBoaWRlIGljb24gbm9kZXMgaW4gaGlnaCBjb250cmFzdCBtb2RlOyB3aGVuIG5lY2Vzc2FyeSB0aGV5IHdpbGwgYmUgcmVwbGFjZWQgYnkgY2hhcmFjdGVyIGVxdWl2YWxlbnRzXG5cdCAqIGV4Y2VwdGlvbiBmb3IgaW5wdXQuZGlqaXRBcnJvd0J1dHRvbklubmVyLCBiZWNhdXNlIHRoZSBpY29uIGFuZCBjaGFyYWN0ZXIgYXJlIGNvbnRyb2xsZWQgYnkgdGhlIHNhbWUgbm9kZSAqL1xuXHRkaXNwbGF5OiBub25lO1xufVxuLmRpaml0U3Bpbm5lciBkaXYuZGlqaXRBcnJvd0J1dHRvbklubmVyIHtcblx0ZGlzcGxheTogYmxvY2s7IC8qIG92ZXJyaWRlIHByZXZpb3VzIHJ1bGUgKi9cbn1cblxuLmRqX2ExMXkgLmRpaml0QTExeVNpZGVBcnJvdyB7XG5cdGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyAvKiBkaXNwbGF5IHRleHQgaW5zdGVhZCAqL1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qXG4gKiBTaW5jZSB3ZSBjYW4ndCB1c2Ugc2hhZGluZyBpbiBhMTF5IG1vZGUsIGFuZCBzaW5jZSB0aGUgdW5kZXJsaW5lIGluZGljYXRlcyB0b2RheSdzIGRhdGUsXG4gKiB1c2UgYSBib3JkZXIgdG8gc2hvdyB0aGUgc2VsZWN0ZWQgZGF0ZS5cbiAqIEF2b2lkIHNjcmVlbiBqaXR0ZXIgd2hlbiBzd2l0Y2hpbmcgc2VsZWN0ZWQgZGF0ZSBieSBjb21wZW5zYXRpbmcgZm9yIHRoZSBzZWxlY3RlZCBub2RlJ3NcbiAqIGJvcmRlciB3L3BhZGRpbmcgb24gb3RoZXIgbm9kZXMuXG4gKi9cbi5kal9hMTF5IC5kaWppdENhbGVuZGFyRGF0ZUxhYmVsIHtcblx0cGFkZGluZzogMXB4O1xuXHRib3JkZXI6IDBweCAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0Q2FsZW5kYXJTZWxlY3RlZERhdGUgLmRpaml0Q2FsZW5kYXJEYXRlTGFiZWwge1xuXHRib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XG5cdGJvcmRlci13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDA7XG59XG4uZGpfYTExeSAuZGlqaXRDYWxlbmRhckRhdGVUZW1wbGF0ZSB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjFlbSAhaW1wb3J0YW50O1x0Lyogb3RoZXJ3aXNlIGJvdHRvbSBib3JkZXIgZG9lc24ndCBhcHBlYXIgb24gSUUgKi9cblx0Ym9yZGVyOiAwcHggIWltcG9ydGFudDtcbn1cbi5kal9hMTF5IC5kaWppdEJ1dHRvbk5vZGUge1xuXHRib3JkZXI6IGJsYWNrIG91dHNldCBtZWRpdW0gIWltcG9ydGFudDtcblxuXHQvKiBJbiBjbGFybywgaG92ZXJpbmcgYSB0b29sYmFyIGJ1dHRvbiByZWR1Y2VzIHBhZGRpbmcgYW5kIGFkZHMgYSBib3JkZXIuXG5cdCAqIE5vdCBuZWVkZWQgaW4gYTExeSBtb2RlIHNpbmNlIFRvb2xiYXIgYnV0dG9ucyBhbHdheXMgaGF2ZSBhIGJvcmRlci5cblx0ICovXG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi5kal9hMTF5IC5kaWppdEFycm93QnV0dG9uIHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uZGpfYTExeSAuZGlqaXRCdXR0b25Db250ZW50cyB7XG5cdG1hcmdpbjogMC4xNWVtOyAvKiBNYXJnaW4gbmVlZGVkIHRvIG1ha2UgZm9jdXMgb3V0bGluZSB2aXNpYmxlICovXG59XG5cbi5kal9hMTF5IC5kaWppdFRleHRCb3hSZWFkT25seSAuZGlqaXRJbnB1dEZpZWxkLFxuLmRqX2ExMXkgLmRpaml0VGV4dEJveFJlYWRPbmx5IC5kaWppdEJ1dHRvbk5vZGUge1xuXHRib3JkZXItc3R5bGU6IG91dHNldCFpbXBvcnRhbnQ7XG5cdGJvcmRlci13aWR0aDogbWVkaXVtIWltcG9ydGFudDtcblx0Ym9yZGVyLWNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiM5OTkgIWltcG9ydGFudDtcbn1cblxuLyogYnV0dG9uIGlubmVyIGNvbnRlbnRzIC0gbGFiZWxzLCBpY29ucyBldGMuICovXG4uZGlqaXRCdXR0b25Ob2RlICoge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmRpaml0U2VsZWN0IC5kaWppdEFycm93QnV0dG9uSW5uZXIsXG4uZGlqaXRCdXR0b25Ob2RlIC5kaWppdEFycm93QnV0dG9uSW5uZXIge1xuXHQvKiB0aGUgYXJyb3cgaWNvbiBub2RlICovXG5cdGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXI7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGRpcmVjdGlvbjogbHRyOyAvKiBuZWVkZWQgYnkgSUUvUlRMICovXG59XG5cbi8qKioqXG5cdDMtZWxlbWVudCBib3JkZXJzOiAgKCBkaWppdExlZnQgKyBkaWppdFN0cmV0Y2ggKyBkaWppdFJpZ2h0IClcblx0VGhlc2Ugd2VyZSBhZGRlZCBmb3Igcm91bmRlZCBjb3JuZXJzIG9uIGRpaml0LmZvcm0uKkJ1dHRvbiBidXQgbmV2ZXIgYWN0dWFsbHkgdXNlZC5cbiAqKioqL1xuXG4uZGlqaXRMZWZ0IHtcblx0LyogTGVmdCBwYXJ0IG9mIGEgMy1lbGVtZW50IGJvcmRlciAqL1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOmxlZnQgdG9wO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG59XG5cbi5kaWppdFN0cmV0Y2gge1xuXHQvKiBNaWRkbGUgKHN0cmV0Y2h5KSBwYXJ0IG9mIGEgMy1lbGVtZW50IGJvcmRlciAqL1xuXHR3aGl0ZS1zcGFjZTpub3dyYXA7XHRcdFx0LyogTU9XOiBtb3ZlIHNvbWV3aGVyZSBlbHNlICovXG5cdGJhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O1xufVxuXG4uZGlqaXRSaWdodCB7XG5cdC8qIFJpZ2h0IHBhcnQgb2YgYSAzLWVsZW1lbnQgYm9yZGVyICovXG5cdCNkaXNwbGF5OmlubGluZTtcdFx0XHRcdC8qIElFNyBzaXplcyB0byBvdXRlciBzaXplIHcvbyB0aGlzICovXG5cdGJhY2tncm91bmQtcG9zaXRpb246cmlnaHQgdG9wO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG59XG5cbi8qIEJ1dHRvbnMgKi9cbi5kal9nZWNrbyAuZGpfYTExeSAuZGlqaXRCdXR0b25EaXNhYmxlZCAuZGlqaXRCdXR0b25Ob2RlIHtcblx0b3BhY2l0eTogMC41O1xufVxuXG4uZGlqaXRUb2dnbGVCdXR0b24sXG4uZGlqaXRCdXR0b24sXG4uZGlqaXREcm9wRG93bkJ1dHRvbixcbi5kaWppdENvbWJvQnV0dG9uIHtcblx0Lyogb3V0c2lkZSBvZiBidXR0b24gKi9cblx0bWFyZ2luOiAwLjJlbTtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmRpaml0QnV0dG9uQ29udGVudHMge1xuXHRkaXNwbGF5OiBibG9jaztcdFx0LyogdG8gbWFrZSBmb2N1cyBib3JkZXIgcmVjdGFuZ3VsYXIgKi9cbn1cbnRkLmRpaml0QnV0dG9uQ29udGVudHMge1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1x0LyogYnV0IGRvbid0IGFmZmVjdCBTZWxlY3QsIENvbWJvQnV0dG9uICovXG59XG5cbi5kaWppdEJ1dHRvbk5vZGUgaW1nIHtcblx0LyogbWFrZSB0ZXh0IGFuZCBpbWFnZXMgbGluZSB1cCBjbGVhbmx5ICovXG5cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0LyptYXJnaW4tYm90dG9tOi4yZW07Ki9cbn1cblxuLmRpaml0VG9vbGJhciAuZGlqaXRDb21ib0J1dHRvbiB7XG5cdC8qIGJlY2F1c2UgVG9vbGJhciBvbmx5IGRyYXdzIGEgYm9yZGVyIGFyb3VuZCB0aGUgaG92ZXJlZCB0aGluZyAqL1xuXHRib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xufVxuXG4uZGlqaXRUb29sYmFyIC5kaWppdFRvZ2dsZUJ1dHRvbixcbi5kaWppdFRvb2xiYXIgLmRpaml0QnV0dG9uLFxuLmRpaml0VG9vbGJhciAuZGlqaXREcm9wRG93bkJ1dHRvbixcbi5kaWppdFRvb2xiYXIgLmRpaml0Q29tYm9CdXR0b24ge1xuXHRtYXJnaW46IDA7XG59XG5cbi5kaWppdFRvb2xiYXIgLmRpaml0QnV0dG9uQ29udGVudHMge1xuXHQvKiBqdXN0IGJlY2F1c2UgaXQgdXNlZCB0byBiZSB0aGlzIHdheSAqL1xuXHRwYWRkaW5nOiAxcHggMnB4O1xufVxuXG5cbi5kal93ZWJraXQgLmRpaml0VG9vbGJhciAuZGlqaXREcm9wRG93bkJ1dHRvbiB7XG5cdHBhZGRpbmctbGVmdDogMC4zZW07XG59XG4uZGpfZ2Vja28gLmRpaml0VG9vbGJhciAuZGlqaXRCdXR0b25Ob2RlOjotbW96LWZvY3VzLWlubmVyIHtcblx0cGFkZGluZzowO1xufVxuXG4uZGlqaXRTZWxlY3Qge1xuXHRib3JkZXI6MXB4IHNvbGlkIGdyYXk7XG59XG4uZGlqaXRCdXR0b25Ob2RlIHtcblx0LyogTm9kZSB0aGF0IGlzIGFjdGluZyBhcyBhIGJ1dHRvbiAtLSBtYXkgb3IgbWF5IG5vdCBiZSBhIEJVVFRPTiBlbGVtZW50ICovXG5cdGJvcmRlcjoxcHggc29saWQgZ3JheTtcblx0bWFyZ2luOjA7XG5cdGxpbmUtaGVpZ2h0Om5vcm1hbDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0I3ZlcnRpY2FsLWFsaWduOiBhdXRvO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5kal93ZWJraXQgLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIHtcblx0LyogYXBwYXJlbnQgV2ViS2l0IGJ1ZyB3aGVyZSBtZXNzaW5nIHdpdGggdGhlIGZvbnQgY291cGxlZCB3aXRoIGxpbmUtaGVpZ2h0Om5vcm1hbCBYIDIgKGRpaml0UmVzZXQgJiBkaWppdEJ1dHRvbk5vZGUpXG5cdGNhbiBiZSBkaWZmZXJlbnQgdGhhbiBqdXN0IGEgc2luZ2xlIGxpbmUtaGVpZ2h0Om5vcm1hbCwgdmlzaWJsZSBpbiBJbmxpbmVFZGl0Qm94L1NwaW5uZXIgKi9cblx0bGluZS1oZWlnaHQ6aW5oZXJpdDtcbn1cbi5kaWppdFRleHRCb3ggLmRpaml0QnV0dG9uTm9kZSB7XG5cdGJvcmRlci13aWR0aDogMDtcbn1cblxuLmRpaml0U2VsZWN0LFxuLmRpaml0U2VsZWN0ICosXG4uZGlqaXRCdXR0b25Ob2RlLFxuLmRpaml0QnV0dG9uTm9kZSAqIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZGpfaWUgLmRpaml0QnV0dG9uTm9kZSB7XG5cdC8qIGVuc3VyZSBoYXNMYXlvdXQgKi9cblx0em9vbTogMTtcbn1cblxuLmRqX2llIC5kaWppdEJ1dHRvbk5vZGUgYnV0dG9uIHtcblx0Lypcblx0XHRkaXNndXN0aW5nIGhhY2sgdG8gZ2V0IHJpZCBvZiBzcHVyaW91cyBwYWRkaW5nIGFyb3VuZCBidXR0b24gZWxlbWVudHNcblx0XHRvbiBJRS4gTVNJRSBpcyB0cnVseSB0aGUgd2ViJ3MgYm9hdCBhbmNob3IuXG5cdCovXG5cdG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5kaXYuZGlqaXRBcnJvd0J1dHRvbiB7XG5cdGZsb2F0OiByaWdodDtcbn1cblxuLyoqKioqKlxuXHRUZXh0Qm94IHJlbGF0ZWQuXG5cdEV2ZXJ5dGhpbmcgdGhhdCBoYXMgYW4gPGlucHV0PlxuKioqKioqKi9cblxuLmRpaml0VGV4dEJveCB7XG5cdGJvcmRlcjogc29saWQgYmxhY2sgMXB4O1xuXHQjb3ZlcmZsb3c6IGhpZGRlbjsgLyogIzYwMjcsICM2MDY3ICovXG5cdHdpZHRoOiAxNWVtO1x0LyogbmVlZCB0byBzZXQgZGVmYXVsdCBzaXplIG9uIG91dGVyIG5vZGUgc2luY2UgaW5uZXIgbm9kZXMgc2F5IDxpbnB1dCBzdHlsZT1cIndpZHRoOjEwMCVcIj4gYW5kIDx0ZCB3aWR0aD0xMDAlPi4gIHVzZXIgY2FuIG92ZXJyaWRlICovXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5kaWppdFRleHRCb3hSZWFkT25seSxcbi5kaWppdFRleHRCb3hEaXNhYmxlZCB7XG5cdGNvbG9yOiBncmF5O1xufVxuLmRqX3NhZmFyaSAuZGlqaXRUZXh0Qm94RGlzYWJsZWQgaW5wdXQge1xuXHRjb2xvcjogI0IwQjBCMDsgLyogYmVjYXVzZSBTYWZhcmkgbGlnaHRlbnMgZGlzYWJsZWQgaW5wdXQvdGV4dGFyZWEgbm8gbWF0dGVyIHdoYXQgY29sb3IgeW91IHNwZWNpZnkgKi9cbn1cbi5kal9zYWZhcmkgdGV4dGFyZWEuZGlqaXRUZXh0QXJlYURpc2FibGVkIHtcblx0Y29sb3I6ICMzMzM7IC8qIGJlY2F1c2UgU2FmYXJpIGxpZ2h0ZW5zIGRpc2FibGVkIGlucHV0L3RleHRhcmVhIG5vIG1hdHRlciB3aGF0IGNvbG9yIHlvdSBzcGVjaWZ5ICovXG59XG4uZGpfZ2Vja28gLmRpaml0VGV4dEJveFJlYWRPbmx5IGlucHV0LmRpaml0SW5wdXRGaWVsZCwgLyogZGlzYWJsZSBhcnJvdyBhbmQgdmFsaWRhdGlvbiBwcmVzZW50YXRpb24gaW5wdXRzIGJ1dCBhbGxvdyByZWFsIGlucHV0IGZvciB0ZXh0IHNlbGVjdGlvbiAqL1xuLmRqX2dlY2tvIC5kaWppdFRleHRCb3hEaXNhYmxlZCBpbnB1dCB7XG5cdC1tb3otdXNlci1pbnB1dDogbm9uZTsgLyogcHJldmVudCBmb2N1cyBvZiBkaXNhYmxlZCB0ZXh0Ym94IGJ1dHRvbnMgKi9cbn1cblxuLmRpaml0UGxhY2VIb2xkZXIge1xuXHQvKiBoaW50IHRleHQgdGhhdCBhcHBlYXJzIGluIGEgdGV4dGJveCB1bnRpbCB1c2VyIHN0YXJ0cyB0eXBpbmcgKi9cblx0Y29sb3I6ICNBQUFBQUE7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdCNmaWx0ZXI6IFwiXCI7IC8qIG1ha2UgdGhpcyBzaG93IHVwIGluIElFNiBhZnRlciB0aGUgcmVuZGVyaW5nIG9mIHRoZSB3aWRnZXQgKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7ICAgLyogc28gY3V0L3Bhc3RlIGNvbnRleHQgbWVudSBzaG93cyB1cCB3aGVuIHJpZ2h0IGNsaWNraW5nICovXG59XG5cbi5kaWppdFRpbWVUZXh0Qm94IHtcblx0d2lkdGg6IDhlbTtcbn1cblxuLyogcnVsZXMgZm9yIHdlYmtpdCB0byBkZWFsIHdpdGggZnV6enkgYmx1ZSBmb2N1cyBib3JkZXIgKi9cbi5kaWppdFRleHRCb3ggaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1x0LyogYmx1ZSBmdXp6eSBsaW5lIGxvb2tzIHdyb25nIG9uIGNvbWJvYm94IG9yIHNvbWV0aGluZyB3L3ZhbGlkYXRpb24gaWNvbiBzaG93aW5nICovXG59XG4uZGlqaXRUZXh0Qm94Rm9jdXNlZCB7XG5cdG91dGxpbmU6IDVweCAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbi5kaWppdFNlbGVjdCBpbnB1dCxcbi5kaWppdFRleHRCb3ggaW5wdXQge1xuXHRmbG9hdDogbGVmdDsgLyogbmVlZGVkIGJ5IElFIHRvIHJlbW92ZSBzZWNyZXQgbWFyZ2luICovXG59XG4uZGpfaWU2IGlucHV0LmRpaml0VGV4dEJveCxcbi5kal9pZTYgLmRpaml0VGV4dEJveCBpbnB1dCB7XG5cdGZsb2F0OiBub25lO1xufVxuLmRpaml0SW5wdXRJbm5lciB7XG5cdC8qIGZvciB3aGVuIGFuIDxpbnB1dD4gaXMgZW1iZWRkZWQgaW5zaWRlIGFuIGlubGluZS1ibG9jayA8ZGl2PiB3aXRoIGEgc2l6ZSBhbmQgYm9yZGVyICovXG5cdGJvcmRlcjowICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHQvKiBJRSBkaXNsaWtlcyBob3Jpem9udGFsIHR3ZWFraW5nIGNvbWJpbmVkIHdpdGggd2lkdGg6MTAwJSBzbyBwdW5pc2ggZXZlcnlvbmUgZm9yIGNvbnNpc3RlbmN5ICovXG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0VGV4dEJveCBpbnB1dCB7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuLmRpaml0VmFsaWRhdGlvblRleHRCb3hFcnJvciBpbnB1dC5kaWppdFZhbGlkYXRpb25Jbm5lcixcbi5kaWppdFNlbGVjdCBpbnB1dCxcbi5kaWppdFRleHRCb3ggaW5wdXQuZGlqaXRBcnJvd0J1dHRvbklubmVyIHtcblx0LyogPGlucHV0PiB1c2VkIHRvIGRpc3BsYXkgYXJyb3cgaWNvbi92YWxpZGF0aW9uIGljb24sIG9yIGluIGFycm93IGNoYXJhY3RlciBpbiBoaWdoIGNvbnRyYXN0IG1vZGUuXG5cdCAqIFRoZSBjc3MgYmVsb3cgaXMgYSB0cmljayB0byBoaWRlIHRoZSBjaGFyYWN0ZXIgaW4gbm9uLWhpZ2gtY29udHJhc3QgbW9kZVxuXHQgKi9cblx0dGV4dC1pbmRlbnQ6IC0yZW0gIWltcG9ydGFudDtcblx0ZGlyZWN0aW9uOiBsdHIgIWltcG9ydGFudDtcblx0dGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0I3RleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7XG5cdCNsZXR0ZXItc3BhY2luZzogLTVlbSAhaW1wb3J0YW50O1xuXHQjdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5kal9pZSAuZGlqaXRTZWxlY3QgaW5wdXQsXG4uZGpfaWUgLmRpaml0VGV4dEJveCBpbnB1dCxcbi5kal9pZSBpbnB1dC5kaWppdFRleHRCb3gge1xuXHRvdmVyZmxvdy15OiB2aXNpYmxlOyAvKiBpbnB1dHMgbmVlZCBoZWxwIGV4cGFuZGluZyB3aGVuIHBhZGRpbmcgaXMgYWRkZWQgb3IgbGluZS1oZWlnaHQgaXMgYWRqdXN0ZWQgKi9cblx0bGluZS1oZWlnaHQ6IG5vcm1hbDsgLyogc3RyaWN0IG1vZGUgKi9cbn1cbi5kaWppdFNlbGVjdCAuZGlqaXRTZWxlY3RMYWJlbCBzcGFuIHtcblx0bGluZS1oZWlnaHQ6IDEwMCU7XG59XG4uZGpfaWUgLmRpaml0U2VsZWN0IC5kaWppdFNlbGVjdExhYmVsIHtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cbi5kal9pZTYgLmRpaml0U2VsZWN0IC5kaWppdFNlbGVjdExhYmVsLFxuLmRqX2llNyAuZGlqaXRTZWxlY3QgLmRpaml0U2VsZWN0TGFiZWwsXG4uZGpfaWU4IC5kaWppdFNlbGVjdCAuZGlqaXRTZWxlY3RMYWJlbCxcbi5kal9pZXF1aXJrcyAuZGlqaXRTZWxlY3QgLmRpaml0U2VsZWN0TGFiZWwsXG4uZGlqaXRTZWxlY3QgdGQsXG4uZGpfaWU2IC5kaWppdFNlbGVjdCBpbnB1dCxcbi5kal9pZXF1aXJrcyAuZGlqaXRTZWxlY3QgaW5wdXQsXG4uZGpfaWU2IC5kaWppdFNlbGVjdCAuZGlqaXRWYWxpZGF0aW9uQ29udGFpbmVyLFxuLmRqX2llNiAuZGlqaXRUZXh0Qm94IGlucHV0LFxuLmRqX2llNiBpbnB1dC5kaWppdFRleHRCb3gsXG4uZGpfaWVxdWlya3MgLmRpaml0VGV4dEJveCBpbnB1dC5kaWppdFZhbGlkYXRpb25Jbm5lcixcbi5kal9pZXF1aXJrcyAuZGlqaXRUZXh0Qm94IGlucHV0LmRpaml0QXJyb3dCdXR0b25Jbm5lcixcbi5kal9pZXF1aXJrcyAuZGlqaXRUZXh0Qm94IGlucHV0LmRpaml0U3Bpbm5lckJ1dHRvbklubmVyLFxuLmRqX2llcXVpcmtzIC5kaWppdFRleHRCb3ggaW5wdXQuZGlqaXRJbnB1dElubmVyLFxuLmRqX2llcXVpcmtzIGlucHV0LmRpaml0VGV4dEJveCB7XG5cdGxpbmUtaGVpZ2h0OiAxMDAlOyAvKiBJRTcgcHJvYmxlbSB3aGVyZSB0aGUgaWNvbiBpcyB2ZXJ0aWNhbGx5IHdheSB0b28gbG93IHcvbyB0aGlzICovXG59XG4uZGpfYTExeSBpbnB1dC5kaWppdFZhbGlkYXRpb25Jbm5lcixcbi5kal9hMTF5IGlucHV0LmRpaml0QXJyb3dCdXR0b25Jbm5lciB7XG5cdC8qIChpbiBoaWdoIGNvbnRyYXN0IG1vZGUpIHJldmVydCBydWxlcyBmcm9tIGFib3ZlIHNvIGNoYXJhY3RlciBkaXNwbGF5cyAqL1xuXHR0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMWVtICFpbXBvcnRhbnQ7XG5cdCN0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xufVxuLmRpaml0VmFsaWRhdGlvblRleHRCb3hFcnJvciAuZGlqaXRWYWxpZGF0aW9uQ29udGFpbmVyIHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIENvbWJvQm94ICYgU3Bpbm5lciAqL1xuXG4uZGlqaXRTcGlubmVyIC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIsXG4uZGlqaXRDb21ib0JveCAuZGlqaXRBcnJvd0J1dHRvbkNvbnRhaW5lciB7XG5cdC8qIGRpdmlkaW5nIGxpbmUgYmV0d2VlbiBpbnB1dCBhcmVhIGFuZCB1cC9kb3duIGJ1dHRvbihzKSBmb3IgQ29tYm9Cb3ggYW5kIFNwaW5uZXIgKi9cblx0Ym9yZGVyLXdpZHRoOiAwIDAgMCAxcHggIWltcG9ydGFudDsgLyogIWltcG9ydGFudCBuZWVkZWQgZHVlIHRvIHdheXdhcmQgXCIudGhlbWUgLmRpaml0QnV0dG9uTm9kZVwiIHJ1bGVzICovXG59XG4uZGpfYTExeSAuZGlqaXRTZWxlY3QgLmRpaml0QXJyb3dCdXR0b25Db250YWluZXIsXG4uZGlqaXRUb29sYmFyIC5kaWppdENvbWJvQm94IC5kaWppdEFycm93QnV0dG9uQ29udGFpbmVyIHtcblx0Lyogb3ZlcnJpZGVzIGFib3ZlIHJ1bGUgcGx1cyBtaXJyb3ItaW1hZ2UgcnVsZSBpbiBkaWppdF9ydGwuY3NzIHRvIGhhdmUgbm8gZGl2aWRlciB3aGVuIENvbWJvQm94IGluIFRvb2xiYXIgKi9cblx0Ym9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5kaWppdENvbWJvQm94TWVudSB7XG5cdC8qIERyb3AgZG93biBtZW51IGlzIGltcGxlbWVudGVkIGFzIDx1bD4gPGxpLz4gPGxpLz4gLi4uIGJ1dCB3ZSBkb24ndCB3YW50IGNpcmNsZXMgYmVmb3JlIGVhY2ggaXRlbSAqL1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4uZGlqaXRTcGlubmVyIC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIgLmRpaml0QnV0dG9uTm9kZSB7XG5cdC8qIGRpdmlkaW5nIGxpbmUgYmV0d2VlbiBpbnB1dCBhcmVhIGFuZCB1cC9kb3duIGJ1dHRvbihzKSBmb3IgQ29tYm9Cb3ggYW5kIFNwaW5uZXIgKi9cblx0Ym9yZGVyLXdpZHRoOiAwO1xufVxuLmRqX2llIC5kal9hMTF5IC5kaWppdFNwaW5uZXIgLmRpaml0U3Bpbm5lckJ1dHRvbkNvbnRhaW5lciAuZGlqaXRCdXR0b25Ob2RlIHtcblx0Y2xlYXI6IGJvdGg7IC8qIElFIHdvcmthcm91bmQgKi9cbn1cblxuLmRqX2llIC5kaWppdFRvb2xiYXIgLmRpaml0Q29tYm9Cb3gge1xuXHQvKiBtYWtlIGNvbWJvYm94IGJ1dHRvbnMgYWxpZ24gcHJvcGVybHkgd2l0aCBvdGhlciBidXR0b25zIGluIGEgdG9vbGJhciAqL1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBTcGlubmVyICovXG5cbi5kaWppdFRleHRCb3ggLmRpaml0U3Bpbm5lckJ1dHRvbkNvbnRhaW5lciB7XG5cdHdpZHRoOiAxZW07XG5cdHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uSW5uZXIge1xuXHR3aWR0aDoxZW07XG5cdHZpc2liaWxpdHk6aGlkZGVuICFpbXBvcnRhbnQ7IC8qIGp1c3QgYSBzaXppbmcgZWxlbWVudCAqL1xuXHRvdmVyZmxvdy14OmhpZGRlbjtcbn1cbi5kaWppdENvbWJvQm94IC5kaWppdEJ1dHRvbk5vZGUsXG4uZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIC5kaWppdEJ1dHRvbk5vZGUge1xuXHRib3JkZXItd2lkdGg6IDA7XG59XG4uZGpfYTExeSAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIC5kaWppdEJ1dHRvbk5vZGUge1xuXHRib3JkZXItd2lkdGg6IDBweCAhaW1wb3J0YW50O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XG59XG4uZGpfYTExeSAuZGlqaXRUZXh0Qm94IC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIsXG4uZGpfYTExeSAuZGlqaXRTcGlubmVyIC5kaWppdEFycm93QnV0dG9uSW5uZXIsXG4uZGpfYTExeSAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIGlucHV0IHtcblx0d2lkdGg6IDFlbSAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIHtcblx0bWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsgLyogc2hvdWxkIGF1dG8tY2VudGVyICovXG59XG4uZGpfaWUgLmRqX2ExMXkgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIC5kaWppdElucHV0RmllbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDAuM2VtICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctcmlnaHQ6IDAuM2VtICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1sZWZ0OiAwLjNlbSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tcmlnaHQ6IDAuM2VtICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxLjRlbSAhaW1wb3J0YW50O1xufVxuLmRqX2llNyAuZGpfYTExeSAuZGlqaXRTcGlubmVyIC5kaWppdEFycm93QnV0dG9uSW5uZXIgLmRpaml0SW5wdXRGaWVsZCB7XG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyAvKiBtYW51YWxseSBjZW50ZXIgSU5QVVQ6IGNoYXJhY3RlciBpcyAuNWVtIGFuZCB0b3RhbCB3aWR0aCA9IDFlbSAqL1xuXHRwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxZW0gIWltcG9ydGFudDtcbn1cbi5kal9pZTYgLmRqX2ExMXkgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIC5kaWppdElucHV0RmllbGQge1xuXHRtYXJnaW4tbGVmdDogMC4xZW0gIWltcG9ydGFudDtcblx0bWFyZ2luLXJpZ2h0OiAwLjFlbSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMWVtICFpbXBvcnRhbnQ7XG59XG4uZGpfaWVxdWlya3MgLmRqX2ExMXkgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIC5kaWppdElucHV0RmllbGQge1xuXHRtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcblx0d2lkdGg6IDJlbSAhaW1wb3J0YW50O1xufVxuLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIC5kaWppdEFycm93QnV0dG9uIHtcblx0Lyogbm90ZTogLmRpaml0SW5wdXRMYXlvdXRDb250YWluZXIgbWFrZXMgdGhpcyBydWxlIG92ZXJyaWRlIC5kaWppdEFycm93QnV0dG9uIHNldHRpbmdzXG5cdCAqIGZvciBkaWppdC5mb3JtLkJ1dHRvblxuXHQgKi9cblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHJpZ2h0OiAwO1xuXHRmbG9hdDogbm9uZTtcblx0aGVpZ2h0OiA1MCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3R0b206IGF1dG87XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiBhdXRvO1xufVxuLmRqX2llcXVpcmtzIC5kaWppdFNwaW5uZXIgLmRpaml0U3Bpbm5lckJ1dHRvbkNvbnRhaW5lciAuZGlqaXRBcnJvd0J1dHRvbiB7XG5cdHdpZHRoOiBhdXRvO1xufVxuLmRqX2ExMXkgLmRpaml0U3Bpbm5lckJ1dHRvbkNvbnRhaW5lciAuZGlqaXRBcnJvd0J1dHRvbiB7XG5cdG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4uZGlqaXRTcGlubmVyIC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIgLmRpaml0RG93bkFycm93QnV0dG9uIHtcblx0dG9wOiA1MCU7XG5cdGJvcmRlci10b3Atd2lkdGg6IDFweCAhaW1wb3J0YW50O1xufVxuLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIC5kaWppdFVwQXJyb3dCdXR0b24ge1xuXHQjYm90dG9tOiA1MCU7XHQvKiBvdGhlcndpc2UgKG9uIHNvbWUgbWFjaGluZXMpIHRvcCBhcnJvdyBpY29uIHRvbyBjbG9zZSB0byBzcGxpdHRlciBib3JkZXIgKElFNi83KSAqL1xuXHR0b3A6IDA7XG59XG4uZGlqaXRTcGlubmVyIC5kaWppdEFycm93QnV0dG9uSW5uZXIge1xuXHRtYXJnaW46IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG4uZGpfaWVxdWlya3MgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIHtcblx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4uZGlqaXRTcGlubmVyIC5kaWppdEFycm93QnV0dG9uSW5uZXIgLmRpaml0SW5wdXRGaWVsZCB7XG5cdC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuXHQtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG5cdC1vLXRyYW5zZm9ybTogc2NhbGUoMC41KTtcblx0LW8tdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcblx0cGFkZGluZy10b3A6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLmRqX2llIC5kaWppdFNwaW5uZXIgLmRpaml0QXJyb3dCdXR0b25Jbm5lciAuZGlqaXRJbnB1dEZpZWxkIHtcblx0em9vbTogNTAlOyAvKiBlbXVsYXRlIHRyYW5zZm9ybTogc2NhbGUoMC41KSAqL1xufVxuLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIC5kaWppdEFycm93QnV0dG9uSW5uZXIge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGpfYTExeSAuZGlqaXRTcGlubmVyIC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIgLmRpaml0QXJyb3dCdXR0b24ge1xuXHR3aWR0aDogMTAwJTtcbn1cbi5kal9pZXF1aXJrcyAuZGpfYTExeSAuZGlqaXRTcGlubmVyIC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIgLmRpaml0QXJyb3dCdXR0b24ge1xuXHR3aWR0aDogMWVtOyAvKiBtYXRjaGVzIC5kal9hMTF5IC5kaWppdFRleHRCb3ggLmRpaml0U3Bpbm5lckJ1dHRvbkNvbnRhaW5lciBydWxlIC0gMTAwJSBpcyB0aGUgd2hvbGUgc2NyZWVuIHdpZHRoIGluIHF1aXJrcyAqL1xufVxuLmRqX2ExMXkgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIC5kaWppdElucHV0RmllbGQge1xuXHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uZGpfYTExeSAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIHtcblx0d2lkdGg6IDFlbTtcbn1cblxuLyoqKipcblx0XHRkaWppdC5mb3JtLkNoZWNrQm94XG4gXHQgJlxuICBcdFx0ZGlqaXQuZm9ybS5SYWRpb0J1dHRvblxuICoqKiovXG5cbi5kaWppdENoZWNrQm94LFxuLmRpaml0UmFkaW8sXG4uZGlqaXRDaGVja0JveElucHV0IHtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRpaml0Q2hlY2tCb3ggaW5wdXQsXG4uZGlqaXRSYWRpbyBpbnB1dCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5kaWppdENoZWNrQm94SW5wdXQge1xuXHQvKiBwbGFjZSB0aGUgYWN0dWFsIGlucHV0IG9uIHRvcCwgYnV0IGludmlzaWJsZSAqL1xuXHRvcGFjaXR5OiAwO1xufVxuXG4uZGpfaWUgLmRpaml0Q2hlY2tCb3hJbnB1dCB7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cblxuLmRqX2ExMXkgLmRpaml0Q2hlY2tCb3gsXG4uZGpfYTExeSAuZGlqaXRSYWRpbyB7XG5cdC8qIGluIGExMXkgbW9kZSB3ZSBkaXNwbGF5IHRoZSBuYXRpdmUgY2hlY2tib3ggKG5vdCB0aGUgaWNvbiksIHNvIGRvbid0IHJlc3RyaWN0IHRoZSBzaXplICovXG5cdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0Q2hlY2tCb3hJbnB1dCB7XG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogbm9uZTtcblx0d2lkdGg6IGF1dG87XG5cdGhlaWdodDogYXV0bztcbn1cblxuLmRqX2ExMXkgLmRpaml0Rm9jdXNlZExhYmVsIHtcblx0LyogZm9yIGNoZWNrYm94ZXMgb3IgcmFkaW8gYnV0dG9ucyBpbiBoaWdoIGNvbnRyYXN0IG1vZGUsIHVzZSBib3JkZXIgcmF0aGVyIHRoYW4gb3V0bGluZSB0byBpbmRpY2F0ZSBmb2N1cyAob3V0bGluZSBkb2VzIG5vdCB3b3JrIGluIEZGKSovXG5cdGJvcmRlcjogMXB4IGRvdHRlZDtcblx0b3V0bGluZTogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqXG5cdFx0ZGlqaXQuUHJvZ3Jlc3NCYXJcbiAqKioqL1xuXG4uZGlqaXRQcm9ncmVzc0JhciB7XG4gICAgei1pbmRleDogMDsgLyogc28gei1pbmRleCBzZXR0aW5ncyBiZWxvdyBoYXZlIG5vIGVmZmVjdCBvdXRzaWRlIG9mIHRoZSBQcm9ncmVzc0JhciAqL1xufVxuLmRpaml0UHJvZ3Jlc3NCYXJFbXB0eSB7XG5cdC8qIG91dGVyIGNvbnRhaW5lciBhbmQgYmFja2dyb3VuZCBvZiB0aGUgYmFyIHRoYXQncyBub3QgZmluaXNoZWQgeWV0Ki9cblx0cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO1xuXHRib3JkZXI6MXB4IHNvbGlkIGJsYWNrOyBcdC8qIGExMXk6IGJvcmRlciBuZWNlc3NhcnkgZm9yIGhpZ2gtY29udHJhc3QgbW9kZSAqL1xuXHR6LWluZGV4OjA7XHRcdFx0LyogZXN0YWJsaXNoIGEgc3RhY2tpbmcgY29udGV4dCBmb3IgdGhpcyBwcm9ncmVzcyBiYXIgKi9cbn1cblxuLmRpaml0UHJvZ3Jlc3NCYXJGdWxsIHtcblx0Lyogb3V0ZXIgY29udGFpbmVyIGZvciBiYWNrZ3JvdW5kIG9mIGJhciB0aGF0IGlzIGZpbmlzaGVkICovXG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdHotaW5kZXg6LTE7XG5cdHRvcDowO1xuXHR3aWR0aDoxMDAlO1xufVxuLmRqX2llNiAuZGlqaXRQcm9ncmVzc0JhckZ1bGwge1xuXHRoZWlnaHQ6MS42ZW07XG59XG5cbi5kaWppdFByb2dyZXNzQmFyVGlsZSB7XG5cdC8qIGlubmVyIGNvbnRhaW5lciBmb3IgZmluaXNoZWQgcG9ydGlvbiAqL1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHR0b3A6MDtcblx0bGVmdDowO1xuXHRib3R0b206MDtcblx0cmlnaHQ6MDtcblx0bWFyZ2luOjA7XG5cdHBhZGRpbmc6MDtcblx0d2lkdGg6IDEwMCU7ICAgIC8qIG5lZWRlZCBmb3IgSUUvcXVpcmtzICovXG5cdGhlaWdodDphdXRvO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiNhYWE7XG5cdGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG59XG5cbi5kal9hMTF5IC5kaWppdFByb2dyZXNzQmFyVGlsZSB7XG5cdC8qIGExMXk6ICBUaGUgYm9yZGVyIHByb3ZpZGVzIHZpc2liaWxpdHkgaW4gaGlnaC1jb250cmFzdCBtb2RlICovXG5cdGJvcmRlci13aWR0aDoycHg7XG5cdGJvcmRlci1zdHlsZTpzb2xpZDtcblx0YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uZGpfaWU2IC5kaWppdFByb2dyZXNzQmFyVGlsZSB7XG5cdC8qIHdpZHRoOmF1dG8gd29ya3MgaW4gSUU2IHdpdGggcG9zaXRpb246c3RhdGljIGJ1dCBub3QgcG9zaXRpb246YWJzb2x1dGUgKi9cblx0cG9zaXRpb246c3RhdGljO1xuXHQvKiBoZWlnaHQ6YXV0byBvciAxMDAlIGRvZXMgbm90IHdvcmsgaW4gSUU2ICovXG5cdGhlaWdodDoxLjZlbTtcbn1cblxuLmRpaml0UHJvZ3Jlc3NCYXJJbmRldGVybWluYXRlIC5kaWppdFByb2dyZXNzQmFyVGlsZSB7XG5cdC8qIGFuaW1hdGVkIGdpZiBmb3IgJ2luZGV0ZXJtaW5hdGUnIG1vZGUgKi9cbn1cblxuLmRpaml0UHJvZ3Jlc3NCYXJJbmRldGVybWluYXRlSGlnaENvbnRyYXN0SW1hZ2Uge1xuXHRkaXNwbGF5Om5vbmU7XG59XG5cbi5kal9hMTF5IC5kaWppdFByb2dyZXNzQmFySW5kZXRlcm1pbmF0ZSAuZGlqaXRQcm9ncmVzc0JhckluZGV0ZXJtaW5hdGVIaWdoQ29udHJhc3RJbWFnZSB7XG5cdGRpc3BsYXk6YmxvY2s7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR0b3A6MDtcblx0Ym90dG9tOjA7XG5cdG1hcmdpbjowO1xuXHRwYWRkaW5nOjA7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDphdXRvO1xufVxuXG4uZGlqaXRQcm9ncmVzc0JhckxhYmVsIHtcblx0ZGlzcGxheTpibG9jaztcblx0cG9zaXRpb246c3RhdGljO1xuXHR3aWR0aDoxMDAlO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKioqKlxuXHRcdGRpaml0LlRvb2x0aXBcbiAqKioqL1xuXG4uZGlqaXRUb29sdGlwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAyMDAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0LyogbWFrZSB2aXNpYmxlIGJ1dCBvZmYgc2NyZWVuICovXG5cdGxlZnQ6IDA7XG5cdHRvcDogLTEwMDAwcHg7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uZGlqaXRUb29sdGlwQ29udGFpbmVyIHtcblx0Ym9yZGVyOiBzb2xpZCBibGFjayAycHg7XG5cdGJhY2tncm91bmQ6ICNiOGI1YjU7XG5cdGNvbG9yOiBibGFjaztcblx0Zm9udC1zaXplOiBzbWFsbDtcbn1cblxuLmRpaml0VG9vbHRpcEZvY3VzTm9kZSB7XG5cdHBhZGRpbmc6IDJweCAycHggMnB4IDJweDtcbn1cblxuLmRpaml0VG9vbHRpcENvbm5lY3RvciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5kal9hMTF5IC5kaWppdFRvb2x0aXBDb25uZWN0b3Ige1xuXHRkaXNwbGF5OiBub25lO1x0Lyogd29uJ3Qgc2hvdyBiL2MgaXQncyBiYWNrZ3JvdW5kLWltYWdlOyBoaWRlIHRvIGF2b2lkIGJvcmRlciBnYXAgKi9cbn1cblxuLmRpaml0VG9vbHRpcERhdGEge1xuXHRkaXNwbGF5Om5vbmU7XG59XG5cbi8qIExheW91dCB3aWRnZXRzLiBUaGlzIGlzIGVzc2VudGlhbCBDU1MgdG8gbWFrZSBsYXlvdXQgd29yayAoaXQgaXNuJ3QgXCJzdHlsaW5nXCIgQ1NTKVxuICAgbWFrZSBzdXJlIHRoYXQgdGhlIHBvc2l0aW9uOmFic29sdXRlIGluIGRpaml0QWxpZ24qIG92ZXJyaWRlcyBvdGhlciBjbGFzc2VzICovXG5cbi5kaWppdExheW91dENvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kaWppdEFsaWduVG9wLFxuLmRpaml0QWxpZ25Cb3R0b20sXG4uZGlqaXRBbGlnbkxlZnQsXG4uZGlqaXRBbGlnblJpZ2h0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5ib2R5IC5kaWppdEFsaWduQ2xpZW50IHsgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi8qXG4gKiBCb3JkZXJDb250YWluZXJcbiAqXG4gKiAuZGlqaXRCb3JkZXJDb250YWluZXIgaXMgYSBzdHlsaXplZCBsYXlvdXQgd2hlcmUgcGFuZXMgaGF2ZSBib3JkZXIgYW5kIG1hcmdpbi5cbiAqIC5kaWppdEJvcmRlckNvbnRhaW5lck5vR3V0dGVyIGlzIGEgcmF3IGxheW91dC5cbiAqL1xuLmRpaml0Qm9yZGVyQ29udGFpbmVyLCAuZGlqaXRCb3JkZXJDb250YWluZXJOb0d1dHRlciB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDA7IC8qIHNvIHotaW5kZXggc2V0dGluZ3MgYmVsb3cgaGF2ZSBubyBlZmZlY3Qgb3V0c2lkZSBvZiB0aGUgQm9yZGVyQ29udGFpbmVyICovXG59XG5cbi5kaWppdEJvcmRlckNvbnRhaW5lclBhbmUsXG4uZGlqaXRCb3JkZXJDb250YWluZXJOb0d1dHRlclBhbmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcdC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgcG9zaXRpb246cmVsYXRpdmUgaW4gZGlqaXRUYWJDb250YWluZXIgZXRjLiAqL1xuXHR6LWluZGV4OiAyO1x0XHQvKiBhYm92ZSB0aGUgc3BsaXR0ZXJzIHNvIHRoYXQgb2ZmLWJ5LW9uZSBicm93c2VyIGVycm9ycyBkb24ndCBjb3ZlciB1cCBib3JkZXIgb2YgcGFuZSAqL1xufVxuXG4uZGlqaXRCb3JkZXJDb250YWluZXIgPiAuZGlqaXRUZXh0QXJlYSB7XG5cdC8qIE9uIFNhZmFyaSwgZm9yIFNpbXBsZVRleHRBcmVhIGluc2lkZSBhIEJvcmRlckNvbnRhaW5lcixcblx0XHRkb24ndCB3YW50IHRvIGRpc3BsYXkgdGhlIGdyaXAgdG8gcmVzaXplICovXG5cdHJlc2l6ZTogbm9uZTtcbn1cblxuLmRpaml0R3V0dGVyIHtcblx0LyogZ3V0dGVyIGlzIGp1c3QgYSBwbGFjZSBob2xkZXIgZm9yIGVtcHR5IHNwYWNlIGJldHdlZW4gcGFuZXMgaW4gQm9yZGVyQ29udGFpbmVyICovXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Zm9udC1zaXplOiAxcHg7XHRcdC8qIG5lZWRlZCBieSBJRTYgZXZlbiB0aG91Z2ggZGl2IGlzIGVtcHR5LCBvdGhlcndpc2UgZ29lcyB0byAxNXB4ICovXG59XG5cbi8qIFNwbGl0Q29udGFpbmVyXG5cblx0J1YnID09IGNvbnRhaW5lciB0aGF0IHNwbGl0cyB2ZXJ0aWNhbGx5ICh1cC9kb3duKVxuXHQnSCcgPSBob3Jpem9udGFsIChsZWZ0L3JpZ2h0KVxuKi9cblxuLmRpaml0U3BsaXR0ZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHotaW5kZXg6IDEwO1x0XHQvKiBhYm92ZSB0aGUgcGFuZXMgc28gdGhhdCBzcGxpdHRlciBmb2N1cyBpcyB2aXNpYmxlIG9uIEZGLCBzZWUgIzc1ODMqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRib3JkZXItY29sb3I6IGdyYXk7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci13aWR0aDogMDtcbn1cbi5kal9pZSAuZGlqaXRTcGxpdHRlciB7XG5cdHotaW5kZXg6IDE7XHQvKiBiZWhpbmQgdGhlIHBhbmVzIHNvIHRoYXQgcGFuZSBib3JkZXJzIGFyZW4ndCBvYnNjdXJlZCBzZWUgdGVzdF9HdWkuaHRtbC9bMTQzOTJdICovXG59XG5cbi5kaWppdFNwbGl0dGVyQWN0aXZlIHtcblx0ei1pbmRleDogMTEgIWltcG9ydGFudDtcbn1cblxuLmRpaml0U3BsaXR0ZXJDb3ZlciB7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR6LWluZGV4Oi0xO1xuXHR0b3A6MDtcblx0bGVmdDowO1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6MTAwJTtcbn1cblxuLmRpaml0U3BsaXR0ZXJDb3ZlckFjdGl2ZSB7XG5cdHotaW5kZXg6MyAhaW1wb3J0YW50O1xufVxuXG4vKiAjNjk0NTogc3RvcCBtb3VzZSBldmVudHMgKi9cbi5kal9pZSAuZGlqaXRTcGxpdHRlckNvdmVyIHtcblx0YmFja2dyb3VuZDogd2hpdGU7XG5cdG9wYWNpdHk6IDA7XG59XG4uZGpfaWU2IC5kaWppdFNwbGl0dGVyQ292ZXIsXG4uZGpfaWU3IC5kaWppdFNwbGl0dGVyQ292ZXIsXG4uZGpfaWU4IC5kaWppdFNwbGl0dGVyQ292ZXIge1xuXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG5cbi5kaWppdFNwbGl0dGVySCB7XG5cdGhlaWdodDogN3B4O1xuXHRib3JkZXItdG9wOjFweDtcblx0Ym9yZGVyLWJvdHRvbToxcHg7XG5cdGN1cnNvcjogcm93LXJlc2l6ZTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5kaWppdFNwbGl0dGVyViB7XG5cdHdpZHRoOiA3cHg7XG5cdGJvcmRlci1sZWZ0OjFweDtcblx0Ym9yZGVyLXJpZ2h0OjFweDtcblx0Y3Vyc29yOiBjb2wtcmVzaXplO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmRpaml0U3BsaXRDb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZGlqaXRTcGxpdFBhbmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5kaWppdFNwbGl0Q29udGFpbmVyU2l6ZXJILFxuLmRpaml0U3BsaXRDb250YWluZXJTaXplclYge1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0Zm9udC1zaXplOiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IFRocmVlREZhY2U7XG5cdGJvcmRlcjogMXB4IHNvbGlkO1xuXHRib3JkZXItY29sb3I6IFRocmVlREhpZ2hsaWdodCBUaHJlZURTaGFkb3cgVGhyZWVEU2hhZG93IFRocmVlREhpZ2hsaWdodDtcblx0bWFyZ2luOiAwO1xufVxuXG4uZGlqaXRTcGxpdENvbnRhaW5lclNpemVySCAudGh1bWIsIC5kaWppdFNwbGl0dGVyViAuZGlqaXRTcGxpdHRlclRodW1iIHtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0dG9wOjQ5JTtcbn1cblxuLmRpaml0U3BsaXRDb250YWluZXJTaXplclYgLnRodW1iLCAuZGlqaXRTcGxpdHRlckggLmRpaml0U3BsaXR0ZXJUaHVtYiB7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRsZWZ0OjQ5JTtcbn1cblxuLmRpaml0U3BsaXR0ZXJTaGFkb3csXG4uZGlqaXRTcGxpdENvbnRhaW5lclZpcnR1YWxTaXplckgsXG4uZGlqaXRTcGxpdENvbnRhaW5lclZpcnR1YWxTaXplclYge1xuXHRmb250LXNpemU6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogVGhyZWVEU2hhZG93O1xuXHQtbW96LW9wYWNpdHk6IDAuNTtcblx0b3BhY2l0eTogMC41O1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXHRtYXJnaW46IDA7XG59XG5cbi5kaWppdFNwbGl0Q29udGFpbmVyU2l6ZXJILCAuZGlqaXRTcGxpdENvbnRhaW5lclZpcnR1YWxTaXplckgge1xuXHRjdXJzb3I6IGNvbC1yZXNpemU7XG59XG5cbi5kaWppdFNwbGl0Q29udGFpbmVyU2l6ZXJWLCAuZGlqaXRTcGxpdENvbnRhaW5lclZpcnR1YWxTaXplclYge1xuXHRjdXJzb3I6IHJvdy1yZXNpemU7XG59XG5cbi5kal9hMTF5IC5kaWppdFNwbGl0dGVySCB7XG5cdGJvcmRlci10b3A6MXB4IHNvbGlkICNkM2QzZDMgIWltcG9ydGFudDtcblx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2QzZDNkMyAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0U3BsaXR0ZXJWIHtcblx0Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkM2QzZDMgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZDNkM2QzICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvbnRlbnRQYW5lICovXG5cbi5kaWppdENvbnRlbnRQYW5lIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBhdXRvO1x0LyogaWYgd2UgZG9uJ3QgaGF2ZSB0aGlzIChvciBvdmVyZmxvdzpoaWRkZW4pLCB0aGVuIFdpZGdldC5yZXNpemVUbygpIGRvZXNuJ3QgbWFrZSBzZW5zZSBmb3IgQ29udGVudFBhbmUgKi9cblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uZGlqaXRDb250ZW50UGFuZVNpbmdsZUNoaWxkIHtcblx0Lypcblx0ICogaWYgdGhlIENvbnRlbnRQYW5lIGhvbGRzIGEgc2luZ2xlIGxheW91dCB3aWRnZXQgY2hpbGQgd2hpY2ggaXMgYmVpbmcgc2l6ZWQgdG8gbWF0Y2ggdGhlIGNvbnRlbnQgcGFuZSxcblx0ICogdGhlbiB0aGUgQ29udGVudFBhbmUgc2hvdWxkIG5ldmVyIGdldCBhIHNjcm9sbGJhciAoYnV0IGl0IGRvZXMgZHVlIHRvIGJyb3dzZXIgYnVncywgc2VlICM5NDQ5XG5cdCAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGlqaXRDb250ZW50UGFuZUxvYWRpbmcgLmRpaml0SWNvbkxvYWRpbmcsXG4uZGlqaXRDb250ZW50UGFuZUVycm9yIC5kaWppdEljb25FcnJvciB7XG5cdG1hcmdpbi1yaWdodDogOXB4O1xufVxuXG4vKiBUaXRsZVBhbmUgYW5kIEZpZWxkc2V0ICovXG5cbi5kaWppdFRpdGxlUGFuZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuLmRpaml0RmllbGRzZXQge1xuXHRib3JkZXI6IDFweCBzb2xpZCBncmF5O1xufVxuLmRpaml0VGl0bGVQYW5lVGl0bGUsIC5kaWppdEZpZWxkc2V0VGl0bGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZGlqaXRUaXRsZVBhbmVUaXRsZUZpeGVkT3BlbiwgLmRpaml0VGl0bGVQYW5lVGl0bGVGaXhlZENsb3NlZCxcbi5kaWppdEZpZWxkc2V0VGl0bGVGaXhlZE9wZW4sIC5kaWppdEZpZWxkc2V0VGl0bGVGaXhlZENsb3NlZCB7XG5cdC8qIFRpdGxlUGFuZSBvciBGaWVsZHNldCB0aGF0IGNhbm5vdCBiZSB0b2dnbGVkICovXG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cbi5kaWppdFRpdGxlUGFuZVRpdGxlICoge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmRpaml0VGl0bGVQYW5lIC5kaWppdEFycm93Tm9kZUlubmVyLCAuZGlqaXRGaWVsZHNldCAuZGlqaXRBcnJvd05vZGVJbm5lciB7XG5cdC8qIG5vcm1hbGx5LCBoaWRlIGFycm93IHRleHQgaW4gZmF2b3Igb2YgaWNvbiAqL1xuXHRkaXNwbGF5OiBub25lO1xufVxuLmRqX2ExMXkgLmRpaml0VGl0bGVQYW5lIC5kaWppdEFycm93Tm9kZUlubmVyLCAuZGpfYTExeSAuZGlqaXRGaWVsZHNldCAuZGlqaXRBcnJvd05vZGVJbm5lciB7XG5cdC8qIC4uLiBleGNlcHQgaW4gYTExeSBtb2RlLCB0aGVuIHNob3cgdGV4dCBhcnJvdyAqL1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XHRcdC8qIGJlY2F1c2UgLSBhbmQgKyBhcmUgZGlmZmVyZW50IHdpZHRocyAqL1xufVxuLmRqX2ExMXkgLmRpaml0VGl0bGVQYW5lIC5kaWppdEFycm93Tm9kZSwgLmRqX2ExMXkgLmRpaml0RmllbGRzZXQgLmRpaml0QXJyb3dOb2RlIHtcblx0LyogLi4uIGFuZCBoaWRlIGljb24gKFRPRE86IGp1c3QgcG9pbnQgZGlqaXRJY29uIGNsYXNzIG9uIHRoZSBpY29uLCBhbmQgaXQgaGlkZXMgYXV0b21hdGljYWxseSkgKi9cblx0ZGlzcGxheTogbm9uZTtcbn1cbi5kaWppdFRpdGxlUGFuZVRpdGxlRml4ZWRPcGVuIC5kaWppdEFycm93Tm9kZSwgLmRpaml0VGl0bGVQYW5lVGl0bGVGaXhlZE9wZW4gLmRpaml0QXJyb3dOb2RlSW5uZXIsXG4uZGlqaXRUaXRsZVBhbmVUaXRsZUZpeGVkQ2xvc2VkIC5kaWppdEFycm93Tm9kZSwgLmRpaml0VGl0bGVQYW5lVGl0bGVGaXhlZENsb3NlZCAuZGlqaXRBcnJvd05vZGVJbm5lcixcbi5kaWppdEZpZWxkc2V0VGl0bGVGaXhlZE9wZW4gLmRpaml0QXJyb3dOb2RlLCAuZGlqaXRGaWVsZHNldFRpdGxlRml4ZWRPcGVuIC5kaWppdEFycm93Tm9kZUlubmVyLFxuLmRpaml0RmllbGRzZXRUaXRsZUZpeGVkQ2xvc2VkIC5kaWppdEFycm93Tm9kZSwgLmRpaml0RmllbGRzZXRUaXRsZUZpeGVkQ2xvc2VkIC5kaWppdEFycm93Tm9kZUlubmVyIHtcblx0LyogZG9uJ3Qgc2hvdyB0aGUgb3BlbiBjbG9zZSBpY29uIG9yIHRleHQgYXJyb3c7IGl0IG1ha2VzIHRoZSB1c2VyIHRoaW5rIHRoZSBwYW5lIGlzIGNsb3NhYmxlICovXG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcdC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgYWJvdmUgYTExeSBydWxlcyB0byBzaG93IHRleHQgYXJyb3cgKi9cbn1cblxuLmRqX2llNiAuZGlqaXRUaXRsZVBhbmVDb250ZW50T3V0ZXIsXG4uZGpfaWU2IC5kaWppdFRpdGxlUGFuZSAuZGlqaXRUaXRsZVBhbmVUaXRsZSB7XG5cdC8qIGZvcmNlIGhhc0xheW91dCB0byBlbnN1cmUgYm9yZGVycyBldGMsIHNob3cgdXAgKi9cblx0em9vbTogMTtcbn1cblxuLyogQ29sb3IgUGFsZXR0ZVxuICogU2l6ZXMgZGVzaWduZWQgc28gdGhhdCB0YWJsZSBjZWxsIHBvc2l0aW9ucyBtYXRjaCBpY29ucyBpbiB1bmRlcmx5aW5nIGltYWdlLFxuICogd2hpY2ggYXBwZWFyIGF0IDIweDIwIGludGVydmFscy5cbiAqL1xuXG4uZGlqaXRDb2xvclBhbGV0dGUge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kaWppdENvbG9yUGFsZXR0ZSAuZGlqaXRQYWxldHRlVGFibGUge1xuXHQvKiBUYWJsZSB0aGF0IGhvbGRzIHRoZSBwYWxldHRlIGNlbGxzLCBhbmQgb3ZlcmxheXMgaW1hZ2UgZmlsZSB3aXRoIGNvbG9yIHN3YXRjaGVzLlxuXHQgKiBwYWRkaW5nL21hcmdpbiB0byBhbGlnbiB0YWJsZSB3aXRoIGltYWdlLlxuXHQgKi9cblx0cGFkZGluZzogMnB4IDNweCAzcHggM3B4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG91dGxpbmU6IDA7XG5cdGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG59XG4uZGpfaWU2IC5kaWppdENvbG9yUGFsZXR0ZSAuZGlqaXRQYWxldHRlVGFibGUsXG4uZGpfaWU3IC5kaWppdENvbG9yUGFsZXR0ZSAuZGlqaXRQYWxldHRlVGFibGUsXG4uZGpfaWVxdWlya3MgLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVUYWJsZSB7XG5cdC8qIHVzaW5nIHBhZGRpbmcgYWJvdmUgc28gdGhhdCBmb2N1cyBib3JkZXIgaXNuJ3QgY3V0b2ZmIG9uIG1vei93ZWJraXQsXG5cdCAqIGJ1dCB1c2luZyBtYXJnaW4gb24gSUUgYmVjYXVzZSBwYWRkaW5nIGRvZXNuJ3Qgc2VlbSB0byB3b3JrXG5cdCAqL1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDJweCAzcHggM3B4IDNweDtcbn1cblxuLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVDZWxsIHtcblx0LyogPHRkPiBpbiB0aGUgPHRhYmxlPiAqL1xuXHRmb250LXNpemU6IDFweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xufVxuLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVJbWcge1xuXHQvKiBDYWxsZWQgZGlqaXRQYWxldHRlSW1nIGZvciBiYWNrLWNvbXBhdCwgdGhpcyBhY3R1YWxseSB3cmFwcyB0aGUgY29sb3Igc3dhdGNoIHdpdGggYSBib3JkZXIgYW5kIHBhZGRpbmcgKi9cblx0cGFkZGluZzogMXB4O1x0XHQvKiB3aGl0ZSBhcmVhIGJldHdlZW4gZ3JheSBib3JkZXIgYW5kIGNvbG9yIHN3YXRjaCAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuXHRtYXJnaW46IDJweCAxcHg7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0Zm9udC1zaXplOiAxcHg7XHRcdC8qIHByZXZlbnQgPHNwYW4+IGZyb20gZ2V0dGluZyBiaWdnZXIganVzdCB0byBob2xkIGEgY2hhcmFjdGVyICovXG59XG4uZGpfZ2Vja28gLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVJbWcge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcdC8qIHdvcmthcm91bmQgcmVuZGVyaW5nIGdsaXRjaCBvbiBGRiwgaXQgYWRkcyBhbiBleHRyYSBwaXhlbCBhdCB0aGUgYm90dG9tICovXG59XG4uZGlqaXRDb2xvclBhbGV0dGUgLmRpaml0Q29sb3JQYWxldHRlU3dhdGNoIHtcblx0LyogdGhlIGFjdHVhbCBwYXJ0IHdoZXJlIHRoZSBjb2xvciBpcyAqL1xuXHR3aWR0aDogMTRweDtcblx0aGVpZ2h0OiAxMnB4O1xufVxuLmRpaml0UGFsZXR0ZVRhYmxlIHRkIHtcblx0XHRwYWRkaW5nOiAwO1xufVxuLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVDZWxsOmhvdmVyIC5kaWppdFBhbGV0dGVJbWcge1xuXHQvKiBob3ZlcmVkIGNvbG9yIHN3YXRjaCAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xufVxuXG4uZGlqaXRDb2xvclBhbGV0dGUgLmRpaml0UGFsZXR0ZUNlbGw6YWN0aXZlIC5kaWppdFBhbGV0dGVJbWcsXG4uZGlqaXRDb2xvclBhbGV0dGUgLmRpaml0UGFsZXR0ZVRhYmxlIC5kaWppdFBhbGV0dGVDZWxsU2VsZWN0ZWQgLmRpaml0UGFsZXR0ZUltZyB7XG5cdGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG5cdG1hcmdpbjogMXB4IDA7XHQvKiByZWR1Y2UgbWFyZ2luIHRvIGNvbXBlbnNhdGUgZm9yIGluY3JlYXNlZCBib3JkZXIgKi9cbn1cblxuXG4uZGpfYTExeSAuZGlqaXRDb2xvclBhbGV0dGUgLmRpaml0UGFsZXR0ZVRhYmxlLFxuLmRqX2ExMXkgLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVUYWJsZSAqIHtcblx0LyogdGFibGUgY2VsbHMgYXJlIHRvIGNhdGNoIGV2ZW50cywgYnV0IHRoZSBzd2F0Y2hlcyBhcmUgaW4gdGhlIFBhbGV0dGVJbWcgYmVoaW5kIHRoZSB0YWJsZSAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBBY2NvcmRpb25Db250YWluZXIgKi9cblxuLmRpaml0QWNjb3JkaW9uQ29udGFpbmVyIHtcblx0Ym9yZGVyOjFweCBzb2xpZCAjYjdiN2I3O1xuXHRib3JkZXItdG9wOjAgIWltcG9ydGFudDtcbn1cbi5kaWppdEFjY29yZGlvblRpdGxlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmRpaml0QWNjb3JkaW9uVGl0bGVTZWxlY3RlZCB7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogaW1hZ2VzIG9mZiwgaGlnaC1jb250cmFzdCBtb2RlIHN0eWxlcyAqL1xuLmRpaml0QWNjb3JkaW9uVGl0bGUgLmFycm93VGV4dFVwLFxuLmRpaml0QWNjb3JkaW9uVGl0bGUgLmFycm93VGV4dERvd24ge1xuXHRkaXNwbGF5OiBub25lO1xuXHRmb250LXNpemU6IDAuNjVlbTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uZGpfYTExeSAuZGlqaXRBY2NvcmRpb25UaXRsZSAuYXJyb3dUZXh0VXAsXG4uZGpfYTExeSAuZGlqaXRBY2NvcmRpb25UaXRsZVNlbGVjdGVkIC5hcnJvd1RleHREb3duIHtcblx0ZGlzcGxheTogaW5saW5lO1xufVxuXG4uZGpfYTExeSAuZGlqaXRBY2NvcmRpb25UaXRsZVNlbGVjdGVkIC5hcnJvd1RleHRVcCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kaWppdEFjY29yZGlvbkNoaWxkV3JhcHBlciB7XG5cdC8qIHRoaXMgaXMgdGhlIG5vZGUgd2hvc2UgaGVpZ2h0IGlzIGFkanVzdGVkICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIENhbGVuZGFyICovXG5cbi5kaWppdENhbGVuZGFyQ29udGFpbmVyIHRhYmxlIHtcblx0d2lkdGg6IGF1dG87XHQvKiBpbiBjYXNlIHVzZXIgaGFzIHNwZWNpZmllZCBhIHdpZHRoIGZvciB0aGUgVEFCTEUgbm9kZXMsIHNlZSAjMTA1NTMgKi9cblx0Y2xlYXI6IGJvdGg7ICAgIC8qIGNsZWFyIG1hcmdpbiBjcmVhdGVkIGZvciBsZWZ0L3JpZ2h0IG1vbnRoIGFycm93czsgbmVlZGVkIG9uIElFMTAgZm9yIENhbGVuZGFyTGl0ZSAqL1xufVxuLmRpaml0Q2FsZW5kYXJDb250YWluZXIgdGgsIC5kaWppdENhbGVuZGFyQ29udGFpbmVyIHRkIHtcblx0cGFkZGluZzogMDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmRpaml0Q2FsZW5kYXJNb250aENvbnRhaW5lciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5kaWppdENhbGVuZGFyRGVjcmVtZW50QXJyb3cge1xuXHRmbG9hdDogbGVmdDtcbn1cbi5kaWppdENhbGVuZGFySW5jcmVtZW50QXJyb3cge1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cbi5kaWppdENhbGVuZGFyWWVhckxhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAgICAvKiBtYWtlIHN1cmUgcHJldmlvdXMsIGN1cnJlbnQsIGFuZCBuZXh0IHllYXIgYXBwZWFyIG9uIHNhbWUgcm93ICovXG59XG5cbi5kaWppdENhbGVuZGFyTmV4dFllYXIge1xuXHRtYXJnaW46MCAwIDAgMC41NWVtO1xufVxuXG4uZGlqaXRDYWxlbmRhclByZXZpb3VzWWVhciB7XG5cdG1hcmdpbjowIDAuNTVlbSAwIDA7XG59XG5cbi5kaWppdENhbGVuZGFySW5jcmVtZW50Q29udHJvbCB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5kaWppdENhbGVuZGFySW5jcmVtZW50Q29udHJvbCxcbi5kaWppdENhbGVuZGFyRGF0ZVRlbXBsYXRlLFxuLmRpaml0Q2FsZW5kYXJNb250aExhYmVsLFxuLmRpaml0Q2FsZW5kYXJQcmV2aW91c1llYXIsXG4uZGlqaXRDYWxlbmRhck5leHRZZWFyIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZGlqaXRDYWxlbmRhckRpc2FibGVkRGF0ZSB7XG5cdGNvbG9yOiBncmF5O1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uZGlqaXRTcGFjZXIge1xuXHQvKiBkb24ndCBkaXNwbGF5IGl0LCBidXQgbWFrZSBpdCBhZmZlY3QgdGhlIHdpZHRoICovXG4gIFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICBcdGhlaWdodDogMXB4O1xuICBcdG92ZXJmbG93OiBoaWRkZW47XG4gIFx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBTdHlsaW5nIGZvciBtb250aCBkcm9wIGRvd24gbGlzdCAqL1xuXG4uZGlqaXRDYWxlbmRhck1vbnRoTWVudSAuZGlqaXRDYWxlbmRhck1vbnRoTGFiZWwge1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcbn1cblxuLyogTWVudSAqL1xuXG4uZGlqaXRNZW51IHtcblx0Ym9yZGVyOjFweCBzb2xpZCBibGFjaztcblx0YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbn1cbi5kaWppdE1lbnVUYWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtcblx0Ym9yZGVyLXdpZHRoOjA7XG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG59XG5cbi8qIHdvcmthcm91bmQgZm9yIHdlYmtpdCBidWcgIzg0MjcsIHJlbW92ZSB0aGlzIHdoZW4gaXQgaXMgZml4ZWQgdXBzdHJlYW0gKi9cbi5kal93ZWJraXQgLmRpaml0TWVudVRhYmxlIHRkW2NvbHNwYW49XCIyXCJde1xuXHRib3JkZXItcmlnaHQ6aGlkZGVuO1xufVxuXG4uZGlqaXRNZW51SXRlbSB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHBhZGRpbmc6LjFlbSAuMmVtO1xuXHRjdXJzb3I6cG9pbnRlcjtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbk5vIG5lZWQgdG8gc2hvdyBhIGZvY3VzIGJvcmRlciBzaW5jZSBpdCdzIG9idmlvdXMgZnJvbSB0aGUgc2hhZGluZywgYW5kIHRoZXJlJ3MgYSAuZGpfYTExeSAuZGlqaXRNZW51SXRlbVNlbGVjdGVkXG5ydWxlIGJlbG93IHRoYXQgaGFuZGxlcyB0aGUgaGlnaCBjb250cmFzdCBjYXNlIHdoZW4gdGhlcmUncyBubyBzaGFkaW5nLlxuSGlkaW5nIHRoZSBmb2N1cyBib3JkZXIgYWxzbyB3b3JrcyBhcm91bmQgd2Via2l0IGJ1ZyBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTI1Nzc5LlxuKi9cbi5kaWppdE1lbnVJdGVtOmZvY3VzIHtcblx0b3V0bGluZTogbm9uZVxufVxuXG4uZGlqaXRNZW51UGFzc2l2ZSAuZGlqaXRNZW51SXRlbUhvdmVyLFxuLmRpaml0TWVudUl0ZW1TZWxlY3RlZCB7XG5cdC8qXG5cdCAqIGRpaml0TWVudUl0ZW1Ib3ZlciByZWZlcnMgdG8gYWN0dWFsIG1vdXNlIG92ZXJcblx0ICogZGlqaXRNZW51SXRlbVNlbGVjdGVkIGlzIHVzZWQgYWZ0ZXIgYSBtZW51IGhhcyBiZWVuIFwiYWN0aXZhdGVkXCIgYnlcblx0ICogY2xpY2tpbmcgaXQsIHRhYmJpbmcgaW50byBpdCwgb3IgYmVpbmcgb3BlbmVkIGZyb20gYSBwYXJlbnQgbWVudSxcblx0ICogYW5kIGRlbm90ZXMgdGhhdCB0aGUgbWVudSBpdGVtIGhhcyBmb2N1cyBvciB0aGF0IGZvY3VzIGlzIG9uIGEgY2hpbGRcblx0ICogbWVudVxuXHQgKi9cblx0YmFja2dyb3VuZC1jb2xvcjpibGFjaztcblx0Y29sb3I6d2hpdGU7XG59XG5cbi5kaWppdE1lbnVJdGVtSWNvbiwgLmRpaml0TWVudUV4cGFuZCB7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5kaWppdE1lbnVJdGVtRGlzYWJsZWQgKiB7XG5cdC8qIGZvciBhIGRpc2FibGVkIG1lbnUgaXRlbSwganVzdCBzZXQgaXQgdG8gbW9zdGx5IHRyYW5zcGFyZW50ICovXG5cdG9wYWNpdHk6MC41O1xuXHRjdXJzb3I6ZGVmYXVsdDtcbn1cbi5kal9pZSAuZGpfYTExeSAuZGlqaXRNZW51SXRlbURpc2FibGVkLFxuLmRqX2llIC5kal9hMTF5IC5kaWppdE1lbnVJdGVtRGlzYWJsZWQgKixcbi5kal9pZSAuZGlqaXRNZW51SXRlbURpc2FibGVkICoge1xuXHRjb2xvcjogZ3JheTtcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTM1KTtcbn1cblxuLmRpaml0TWVudUl0ZW1MYWJlbCB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5kal9hMTF5IC5kaWppdE1lbnVJdGVtU2VsZWN0ZWQge1xuXHRib3JkZXI6IDFweCBkb3R0ZWQgYmxhY2sgIWltcG9ydGFudDtcdC8qIGZvciAyLjAgdXNlIG91dGxpbmUgaW5zdGVhZCwgdG8gcHJldmVudCBqaXR0ZXIgKi9cbn1cblxuLmRqX2ExMXkgLmRpaml0TWVudUl0ZW1TZWxlY3RlZCAuZGlqaXRNZW51SXRlbUxhYmVsIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4uZGpfaWU4IC5kal9hMTF5IC5kaWppdE1lbnVJdGVtTGFiZWwge1xuXHRwb3NpdGlvbjpzdGF0aWM7XG59XG5cbi5kaWppdE1lbnVFeHBhbmRBMTF5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi5kal9hMTF5IC5kaWppdE1lbnVFeHBhbmRBMTF5IHtcblx0ZGlzcGxheTogaW5saW5lO1xufVxuXG4uZGlqaXRNZW51U2VwYXJhdG9yIHRkIHtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBzZXBhcmF0b3IgY2FuIGJlIHR3byBwaXhlbHMgLS0gc2V0IGJvcmRlciBvZiBlaXRoZXIgb25lIHRvIDAgdG8gaGF2ZSBvbmx5IG9uZSAqL1xuLmRpaml0TWVudVNlcGFyYXRvclRvcCB7XG5cdGhlaWdodDogNTAlO1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi10b3A6M3B4O1xuXHRmb250LXNpemU6IDFweDtcbn1cblxuLmRpaml0TWVudVNlcGFyYXRvckJvdHRvbSB7XG5cdGhlaWdodDogNTAlO1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi1ib3R0b206M3B4O1xuXHRmb250LXNpemU6IDFweDtcbn1cblxuLyogQ2hlY2tlZE1lbnVJdGVtIGFuZCBSYWRpb01lbnVJdGVtICovXG4uZGlqaXRNZW51SXRlbUljb25DaGFyIHtcblx0ZGlzcGxheTogbm9uZTtcdFx0LyogZG9uJ3QgZGlzcGxheSBleGNlcHQgaW4gaGlnaCBjb250cmFzdCBtb2RlICovXG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcdC8qIGZvciBoaWdoIGNvbnRyYXN0IG1vZGUgd2hlbiBtZW51aXRlbSBpcyB1bmNoZWNrZWQ6IGxlYXZlIHNwYWNlIGZvciB3aGVuIGl0IGlzIGNoZWNrZWQgKi9cbn1cbi5kal9hMTF5IC5kaWppdE1lbnVJdGVtSWNvbkNoYXIge1xuXHRkaXNwbGF5OiBpbmxpbmU7XHQvKiBkaXNwbGF5IGNoYXJhY3RlciBpbiBoaWdoIGNvbnRyYXN0IG1vZGUsIHNpbmNlIGljb24gZG9lc24ndCBzaG93ICovXG59XG4uZGlqaXRDaGVja2VkTWVudUl0ZW1DaGVja2VkIC5kaWppdE1lbnVJdGVtSWNvbkNoYXIsXG4uZGlqaXRSYWRpb01lbnVJdGVtQ2hlY2tlZCAuZGlqaXRNZW51SXRlbUljb25DaGFyIHtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTsgLyogbWVudWl0ZW0gaXMgY2hlY2tlZCAqL1xufVxuLmRqX2llIC5kal9hMTF5IC5kaWppdE1lbnVCYXIgLmRpaml0TWVudUl0ZW0ge1xuXHQvKiBzbyBib3R0b20gYm9yZGVyIG9mIE1lbnVCYXIgYXBwZWFycyBvbiBJRTcgaW4gaGlnaC1jb250cmFzdCBtb2RlICovXG5cdG1hcmdpbjogMDtcbn1cblxuLyogU3RhY2tDb250YWluZXIgKi9cblxuLmRpaml0U3RhY2tDb250cm9sbGVyIC5kaWppdFRvZ2dsZUJ1dHRvbkNoZWNrZWQgKiB7XG5cdGN1cnNvcjogZGVmYXVsdDtcdC8qIGJlY2F1c2UgcHJlc3NpbmcgaXQgaGFzIG5vIGVmZmVjdCAqL1xufVxuXG4vKioqXG5UYWJDb250YWluZXJcblxuTWFpbiBjbGFzcyBoaWVyYXJjaHk6XG5cbi5kaWppdFRhYkNvbnRhaW5lciAtIHRoZSB3aG9sZSBUYWJDb250YWluZXJcbiAgIC5kaWppdFRhYkNvbnRyb2xsZXIgLyAuZGlqaXRUYWJMaXN0Q29udGFpbmVyLXRvcCAtIHdyYXBwZXIgZm9yIHRhYiBidXR0b25zLCBzY3JvbGwgYnV0dG9uc1xuXHQgLmRpaml0VGFiTGlzdFdyYXBwZXIgLyAuZGlqaXRUYWJDb250YWluZXJUb3BTdHJpcCAtIG91dGVyIHdyYXBwZXIgZm9yIHRhYiBidXR0b25zIChub3JtYWwgd2lkdGgpXG5cdFx0Lm5vd3JhcFRhYlN0cmlwIC8gLmRpaml0VGFiQ29udGFpbmVyVG9wLXRhYnMgLSBpbm5lciB3cmFwcGVyIGZvciB0YWIgYnV0dG9ucyAoNTBLIHdpZHRoKVxuICAgLmRpaml0VGFiUGFuZVdyYXBwZXIgLSB3cmFwcGVyIGZvciBjb250ZW50IHBhbmVzLCBoYXMgYWxsIGJvcmRlcnMgZXhjZXB0IHRoZSBvbmUgYmV0d2VlbiBjb250ZW50IGFuZCB0YWJzXG4qKiovXG5cbi5kaWppdFRhYkNvbnRhaW5lciB7XG4gICAgei1pbmRleDogMDsgLyogc28gei1pbmRleCBzZXR0aW5ncyBiZWxvdyBoYXZlIG5vIGVmZmVjdCBvdXRzaWRlIG9mIHRoZSBUYWJDb250YWluZXIgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogcHJldmVudCBvZmYtYnktb25lLXBpeGVsIGVycm9ycyBmcm9tIGhpZGluZyBib3R0b20gYm9yZGVyIChvcHBvc2l0ZSB0YWIgbGFiZWxzKSAqL1xufVxuLmRqX2llNiAuZGlqaXRUYWJDb250YWluZXIge1xuICAgIC8qIHdvcmthcm91bmQgSUU2IHByb2JsZW0gd2hlbiB0YWxsIGNvbnRlbnQgb3ZlcmZsb3dzIFRhYkNvbnRhaW5lciwgc2VlIGVkaXRvci90ZXN0X0Z1bGxTY3JlZW4uaHRtbCAqL1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxufVxuLmRpaml0VGFiQ29udGFpbmVyTm9MYXlvdXQge1xuXHR3aWR0aDogMTAwJTtcdC8qIG90aGVyd2lzZSBTY3JvbGxpbmdUYWJDb250cm9sbGVyIGdvZXMgdG8gNTBLIHBpeGVscyB3aWRlICovXG59XG5cbi5kaWppdFRhYkNvbnRhaW5lckJvdHRvbS10YWJzLFxuLmRpaml0VGFiQ29udGFpbmVyVG9wLXRhYnMsXG4uZGlqaXRUYWJDb250YWluZXJMZWZ0LXRhYnMsXG4uZGlqaXRUYWJDb250YWluZXJSaWdodC10YWJzIHtcbiAgICB6LWluZGV4OiAxO1xuXHRvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyAgLyogc28gdGFicyBjYW4gY292ZXIgdXAgYm9yZGVyIGFkamFjZW50IHRvIGNvbnRhaW5lciAqL1xufVxuXG4uZGlqaXRUYWJDb250cm9sbGVyIHtcbiAgICB6LWluZGV4OiAxO1xufVxuLmRpaml0VGFiQ29udGFpbmVyQm90dG9tLWNvbnRhaW5lcixcbi5kaWppdFRhYkNvbnRhaW5lclRvcC1jb250YWluZXIsXG4uZGlqaXRUYWJDb250YWluZXJMZWZ0LWNvbnRhaW5lcixcbi5kaWppdFRhYkNvbnRhaW5lclJpZ2h0LWNvbnRhaW5lciB7XG5cdHotaW5kZXg6MDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7XG59XG4ubm93cmFwVGFiU3RyaXAge1xuXHR3aWR0aDogNTAwMDBweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyAgLyoganVzdCBpbiBjYXNlIGFuY2VzdG9yIGhhcyBub24tc3RhbmRhcmQgc2V0dGluZyAqL1xuICAgIHotaW5kZXg6IDE7XG59XG4uZGlqaXRUYWJMaXN0V3JhcHBlciB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcbn1cblxuLmRqX2ExMXkgLnRhYlN0cmlwQnV0dG9uIGltZyB7XG5cdC8qIGhpZGUgdGhlIGljb25zIChvciByYXRoZXIgdGhlIGVtcHR5IHNwYWNlIHdoZXJlIHRoZXkgbm9ybWFsbHkgYXBwZWFyKSBiZWNhdXNlIHRleHQgd2lsbCBhcHBlYXIgaW5zdGVhZCAqL1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uZGlqaXRUYWJDb250YWluZXJUb3AtdGFicyB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbn1cbi5kaWppdFRhYkNvbnRhaW5lclRvcC1jb250YWluZXIge1xuXHRib3JkZXItdG9wOiAwO1xufVxuXG4uZGlqaXRUYWJDb250YWluZXJMZWZ0LXRhYnMge1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBibGFjaztcblx0ZmxvYXQ6IGxlZnQ7ICAgIC8qIG5lZWRlZCBmb3IgSUU3IFJUTCBtb2RlICovXG59XG4uZGlqaXRUYWJDb250YWluZXJMZWZ0LWNvbnRhaW5lciB7XG5cdGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uZGlqaXRUYWJDb250YWluZXJCb3R0b20tdGFicyB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcbn1cbi5kaWppdFRhYkNvbnRhaW5lckJvdHRvbS1jb250YWluZXIge1xuXHRib3JkZXItYm90dG9tOiAwO1xufVxuXG4uZGlqaXRUYWJDb250YWluZXJSaWdodC10YWJzIHtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCBibGFjaztcblx0ZmxvYXQ6IGxlZnQ7ICAgIC8qIG5lZWRlZCBmb3IgSUU3IFJUTCBtb2RlICovXG59XG4uZGlqaXRUYWJDb250YWluZXJSaWdodC1jb250YWluZXIge1xuXHRib3JkZXItcmlnaHQ6IDA7XG59XG5cbmRpdi5kaWppdFRhYkRpc2FibGVkLCAuZGpfaWUgZGl2LmRpaml0VGFiRGlzYWJsZWQge1xuXHRjdXJzb3I6IGF1dG87XG59XG5cbi5kaWppdFRhYiB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRjdXJzb3I6cG9pbnRlcjtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0d2hpdGUtc3BhY2U6bm93cmFwO1xuXHR6LWluZGV4OjM7XG59XG4uZGlqaXRUYWIgKiB7XG5cdC8qIG1ha2UgdGFiIGljb25zIGFuZCBjbG9zZSBpY29uIGxpbmUgdXAgdy90ZXh0ICovXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uZGlqaXRUYWJDaGVja2VkIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1x0LyogYmVjYXVzZSBjbGlja2luZyB3aWxsIGhhdmUgbm8gZWZmZWN0ICovXG59XG5cbi5kaWppdFRhYkNvbnRhaW5lclRvcC10YWJzIC5kaWppdFRhYiB7XG5cdHRvcDogMXB4O1x0LyogdG8gb3ZlcmxhcCBib3JkZXIgb24gLmRpaml0VGFiQ29udGFpbmVyVG9wLXRhYnMgKi9cbn1cbi5kaWppdFRhYkNvbnRhaW5lckJvdHRvbS10YWJzIC5kaWppdFRhYiB7XG5cdHRvcDogLTFweDtcdC8qIHRvIG92ZXJsYXAgYm9yZGVyIG9uIC5kaWppdFRhYkNvbnRhaW5lckJvdHRvbS10YWJzICovXG59XG4uZGlqaXRUYWJDb250YWluZXJMZWZ0LXRhYnMgLmRpaml0VGFiIHtcblx0bGVmdDogMXB4O1x0LyogdG8gb3ZlcmxhcCBib3JkZXIgb24gLmRpaml0VGFiQ29udGFpbmVyTGVmdC10YWJzICovXG59XG4uZGlqaXRUYWJDb250YWluZXJSaWdodC10YWJzIC5kaWppdFRhYiB7XG5cdGxlZnQ6IC0xcHg7XHQvKiB0byBvdmVybGFwIGJvcmRlciBvbiAuZGlqaXRUYWJDb250YWluZXJSaWdodC10YWJzICovXG59XG5cblxuLmRpaml0VGFiQ29udGFpbmVyVG9wLXRhYnMgLmRpaml0VGFiLFxuLmRpaml0VGFiQ29udGFpbmVyQm90dG9tLXRhYnMgLmRpaml0VGFiIHtcblx0LyogSW5saW5lLWJsb2NrICovXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1x0XHRcdC8qIHdlYmtpdCBhbmQgRkYzICovXG5cdCN6b29tOiAxOyAvKiBzZXQgaGFzTGF5b3V0OnRydWUgdG8gbWltaWMgaW5saW5lLWJsb2NrICovXG5cdCNkaXNwbGF5OmlubGluZTsgLyogZG9uJ3QgdXNlIC5kal9pZSBzaW5jZSB0aGF0IGluY3JlYXNlcyB0aGUgcHJpb3JpdHkgKi9cbn1cblxuLnRhYlN0cmlwQnV0dG9uIHtcblx0ei1pbmRleDogMTI7XG59XG5cbi5kaWppdFRhYkJ1dHRvbkRpc2FibGVkIC50YWJTdHJpcEJ1dHRvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLmRpaml0VGFiQ2xvc2VCdXR0b24ge1xuXHRtYXJnaW4tbGVmdDogMWVtO1xufVxuXG4uZGlqaXRUYWJDbG9zZVRleHQge1xuXHRkaXNwbGF5Om5vbmU7XG59XG5cbi5kaWppdFRhYiAudGFiTGFiZWwge1xuXHQvKiBtYWtlIHN1cmUgdGFicyB3L2Nsb3NlIGJ1dHRvbiBhbmQgdy9vdXQgY2xvc2UgYnV0dG9uIGFyZSBzYW1lIGhlaWdodCwgZXZlbiB3L3NtYWxsICg8MTVweCkgZm9udC5cblx0ICogYXNzdW1lcyA8PTE1cHggaGVpZ2h0IGZvciBjbG9zZSBidXR0b24gaWNvbi5cblx0ICovXG5cdG1pbi1oZWlnaHQ6IDE1cHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5kaWppdE5vSWNvbiB7XG5cdC8qIGFwcGxpZWQgdG8gPGltZz4vPHNwYW4+IG5vZGUgd2hlbiB0aGVyZSBpcyBubyBpY29uIHNwZWNpZmllZCAqL1xuXHRkaXNwbGF5OiBub25lO1xufVxuLmRqX2llNiAuZGlqaXRUYWIgLmRpaml0Tm9JY29uIHtcblx0LyogYmVjYXVzZSBtaW4taGVpZ2h0IChvbiAudGFiTGFiZWwsIGFib3ZlKSBkb2Vzbid0IHdvcmsgb24gSUU2ICovXG5cdGRpc3BsYXk6IGlubGluZTtcblx0aGVpZ2h0OiAxNXB4O1xuXHR3aWR0aDogMXB4O1xufVxuXG4vKiBpbWFnZXMgb2ZmLCBoaWdoLWNvbnRyYXN0IG1vZGUgc3R5bGVzICovXG5cbi5kal9hMTF5IC5kaWppdFRhYkNsb3NlQnV0dG9uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuXHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmRqX2ExMXkgLmRpaml0VGFiQ2xvc2VUZXh0IHtcblx0ZGlzcGxheTogaW5saW5lO1xufVxuXG4uZGlqaXRUYWJQYW5lLFxuLmRpaml0U3RhY2tDb250YWluZXItY2hpbGQsXG4uZGlqaXRBY2NvcmRpb25Db250YWluZXItY2hpbGQge1xuXHQvKiBjaGlsZHJlbiBvZiBUYWJDb250YWluZXIsIFN0YWNrQ29udGFpbmVyLCBhbmQgQWNjb3JkaW9uQ29udGFpbmVyIHNob3VsZG4ndCBoYXZlIGJvcmRlcnNcblx0ICogYi9jIGEgYm9yZGVyIGlzIGFscmVhZHkgdGhlcmUgZnJvbSB0aGUgVGFiQ29udGFpbmVyL1N0YWNrQ29udGFpbmVyL0FjY29yZGlvbkNvbnRhaW5lciBpdHNlbGYuXG5cdCAqL1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBJbmxpbmVFZGl0Qm94ICovXG4uZGlqaXRJbmxpbmVFZGl0Qm94RGlzcGxheU1vZGUge1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcdC8qIHNvIGtleWxpbmUgKGJvcmRlcikgb24gaG92ZXIgY2FuIGFwcGVhciB3aXRob3V0IHNjcmVlbiBqdW1wICovXG5cdGN1cnNvcjogdGV4dDtcbn1cblxuLmRqX2ExMXkgLmRpaml0SW5saW5lRWRpdEJveERpc3BsYXlNb2RlLFxuLmRqX2llNiAuZGlqaXRJbmxpbmVFZGl0Qm94RGlzcGxheU1vZGUge1xuXHQvKiBleGNlcHQgdGhhdCBJRTYgZG9lc24ndCBzdXBwb3J0IHRyYW5zcGFyZW50IGJvcmRlcnMsIG5vciBkb2VzIGhpZ2ggY29udHJhc3QgbW9kZSAqL1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5kaWppdElubGluZUVkaXRCb3hEaXNwbGF5TW9kZUhvdmVyLFxuLmRqX2ExMXkgLmRpaml0SW5saW5lRWRpdEJveERpc3BsYXlNb2RlSG92ZXIsXG4uZGpfaWU2IC5kaWppdElubGluZUVkaXRCb3hEaXNwbGF5TW9kZUhvdmVyIHtcblx0LyogQW4gSW5saW5lRWRpdEJveCBpbiB2aWV3IG1vZGUgKGNsaWNrIHRoaXMgdG8gZWRpdCB0aGUgdGV4dCkgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogI2UyZWJmMjtcblx0Ym9yZGVyOiBzb2xpZCAxcHggYmxhY2s7XG59XG5cbi5kaWppdElubGluZUVkaXRCb3hEaXNwbGF5TW9kZURpc2FibGVkIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiBUcmVlICovXG4uZGlqaXRUcmVlIHtcblx0b3ZlcmZsb3c6IGF1dG87XHQvKiBmb3Igc2Nyb2xsYmFycyB3aGVuIFRyZWUgaGFzIGEgaGVpZ2h0IHNldHRpbmcsIGFuZCB0byBwcmV2ZW50IHdyYXBwaW5nIGFyb3VuZCBmbG9hdCBlbGVtZW50cywgc2VlICMxMTQ5MSAqL1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZGlqaXRUcmVlQ29udGFpbmVyIHtcblx0ZmxvYXQ6IGxlZnQ7XHQvKiBmb3IgY29ycmVjdCBoaWdobGlnaHRpbmcgZHVyaW5nIGhvcml6b250YWwgc2Nyb2xsLCBzZWUgIzE2MTMyICovXG59XG5cbi5kaWppdFRyZWVJbmRlbnQge1xuXHQvKiBhbW91bnQgdG8gaW5kZW50IGVhY2ggdHJlZSBub2RlIChyZWxhdGl2ZSB0byBwYXJlbnQgbm9kZSkgKi9cblx0d2lkdGg6IDE5cHg7XG59XG5cbi5kaWppdFRyZWVSb3csIC5kaWppdFRyZWVDb250ZW50IHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmRqX2llIC5kaWppdFRyZWVMYWJlbDpmb2N1cyB7XG5cdC8qIHdvcmthcm91bmQgSUU5IGJlaGF2aW9yIHdoZXJlIGRvd24gYXJyb3dpbmcgdGhyb3VnaCBUcmVlTm9kZXMgZG9lc24ndCBzaG93IGZvY3VzIG91dGxpbmUgKi9cblx0b3V0bGluZTogMXB4IGRvdHRlZCBibGFjaztcbn1cblxuLmRpaml0VHJlZVJvdyBpbWcge1xuXHQvKiBtYWtlIHRoZSBleHBhbmRvIGFuZCBmb2xkZXIgaWNvbnMgbGluZSB1cCB3aXRoIHRoZSBsYWJlbCAqL1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZGlqaXRUcmVlQ29udGVudCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uZGlqaXRFeHBhbmRvVGV4dCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kal9hMTF5IC5kaWppdEV4cGFuZG9UZXh0IHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci13aWR0aDogdGhpbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZGlqaXRUcmVlTGFiZWwge1xuXHRtYXJnaW46IDAgNHB4O1xufVxuXG4vKiBEaWFsb2cgKi9cblxuLmRpaml0RGlhbG9nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiA5OTk7XG5cdG92ZXJmbG93OiBoaWRkZW47XHQvKiBvdmVycmlkZSBvdmVyZmxvdzogYXV0bzsgZnJvbSBDb250ZW50UGFuZSB0byBtYWtlIGRyYWdnaW5nIHNtb290aGVyICovXG59XG5cbi5kaWppdERpYWxvZ1RpdGxlQmFyIHtcblx0Y3Vyc29yOiBtb3ZlO1xufVxuLmRpaml0RGlhbG9nRml4ZWQgLmRpaml0RGlhbG9nVGl0bGVCYXIge1xuXHRjdXJzb3I6ZGVmYXVsdDtcbn1cbi5kaWppdERpYWxvZ0Nsb3NlSWNvbiB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5kaWppdERpYWxvZ1BhbmVDb250ZW50IHtcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLmRpaml0RGlhbG9nVW5kZXJsYXlXcmFwcGVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdHotaW5kZXg6IDk5ODtcblx0ZGlzcGxheTogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLmRpaml0RGlhbG9nVW5kZXJsYXkge1xuXHRiYWNrZ3JvdW5kOiAjZWVlO1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi5kal9pZSAuZGlqaXREaWFsb2dVbmRlcmxheSB7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG59XG5cbi8qIGltYWdlcyBvZmYsIGhpZ2gtY29udHJhc3QgbW9kZSBzdHlsZXMgKi9cbi5kal9hMTF5IC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIsXG4uZGpfYTExeSAuZGlqaXREaWFsb2cge1xuXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5kaWppdERpYWxvZyAuY2xvc2VUZXh0IHtcblx0ZGlzcGxheTpub25lO1xuXHQvKiBmb3IgdGhlIG9uaG92ZXIgYm9yZGVyIGluIGhpZ2ggY29udHJhc3Qgb24gSUU6ICovXG5cdHBvc2l0aW9uOmFic29sdXRlO1xufVxuXG4uZGpfYTExeSAuZGlqaXREaWFsb2cgLmNsb3NlVGV4dCB7XG5cdGRpc3BsYXk6aW5saW5lO1xufVxuXG4vKiBTbGlkZXIgKi9cblxuLmRpaml0U2xpZGVyTW92ZWFibGUge1xuXHR6LWluZGV4Ojk5O1xuXHRwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRkaXNwbGF5OmJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG59XG5cbi5kaWppdFNsaWRlck1vdmVhYmxlSCB7XG5cdHJpZ2h0OjA7XG59XG4uZGlqaXRTbGlkZXJNb3ZlYWJsZVYge1xuXHRyaWdodDo1MCU7XG59XG5cbi5kal9hMTF5IGRpdi5kaWppdFNsaWRlckltYWdlSGFuZGxlLFxuLmRpaml0U2xpZGVySW1hZ2VIYW5kbGUge1xuXHRtYXJnaW46MDtcblx0cGFkZGluZzowO1xuXHRwb3NpdGlvbjpyZWxhdGl2ZSAhaW1wb3J0YW50O1xuXHRib3JkZXI6OHB4IHNvbGlkIGdyYXk7XG5cdHdpZHRoOjA7XG5cdGhlaWdodDowO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZGpfaWVxdWlya3MgLmRqX2ExMXkgLmRpaml0U2xpZGVySW1hZ2VIYW5kbGUge1xuXHRmb250LXNpemU6IDA7XG59XG4uZGpfaWU3IC5kaWppdFNsaWRlckltYWdlSGFuZGxlIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogSUU3IHdvcmthcm91bmQgdG8gbWFrZSBzbGlkZXIgaGFuZGxlIFZJU0lCTEUgaW4gbm9uLWExMXkgbW9kZSAqL1xufVxuLmRqX2llNyAuZGpfYTExeSAuZGlqaXRTbGlkZXJJbWFnZUhhbmRsZSB7XG5cdG92ZXJmbG93OiB2aXNpYmxlOyAvKiBJRTcgd29ya2Fyb3VuZCB0byBtYWtlIHNsaWRlciBoYW5kbGUgVklTSUJMRSBpbiBhMTF5IG1vZGUgKi9cbn1cbi5kal9hMTF5IC5kaWppdFNsaWRlckZvY3VzZWQgLmRpaml0U2xpZGVySW1hZ2VIYW5kbGUge1xuXHRib3JkZXI6NHB4IHNvbGlkICMwMDA7XG5cdGhlaWdodDo4cHg7XG5cdHdpZHRoOjhweDtcbn1cblxuLmRpaml0U2xpZGVySW1hZ2VIYW5kbGVWIHtcblx0dG9wOi04cHg7XG5cdHJpZ2h0OiAtNTAlO1xufVxuXG4uZGlqaXRTbGlkZXJJbWFnZUhhbmRsZUgge1xuXHRsZWZ0OjUwJTtcblx0dG9wOi01cHg7XG5cdHZlcnRpY2FsLWFsaWduOnRvcDtcbn1cblxuLmRpaml0U2xpZGVyQmFyIHtcblx0Ym9yZGVyLXN0eWxlOnNvbGlkO1xuXHRib3JkZXItY29sb3I6YmxhY2s7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmRpaml0U2xpZGVyQmFyQ29udGFpbmVyViB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRoZWlnaHQ6MTAwJTtcblx0ei1pbmRleDoxO1xufVxuXG4uZGlqaXRTbGlkZXJCYXJDb250YWluZXJIIHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHotaW5kZXg6MTtcbn1cblxuLmRpaml0U2xpZGVyQmFySCB7XG5cdGhlaWdodDo0cHg7XG5cdGJvcmRlci13aWR0aDoxcHggMDtcbn1cblxuLmRpaml0U2xpZGVyQmFyViB7XG5cdHdpZHRoOjRweDtcblx0Ym9yZGVyLXdpZHRoOjAgMXB4O1xufVxuXG4uZGlqaXRTbGlkZXJQcm9ncmVzc0JhciB7XG5cdGJhY2tncm91bmQtY29sb3I6cmVkO1xuXHR6LWluZGV4OjE7XG59XG5cbi5kaWppdFNsaWRlclByb2dyZXNzQmFyViB7XG5cdHBvc2l0aW9uOnN0YXRpYyAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6MDtcblx0dmVydGljYWwtYWxpZ246dG9wO1xuXHR0ZXh0LWFsaWduOmxlZnQ7XG59XG5cbi5kaWppdFNsaWRlclByb2dyZXNzQmFySCB7XG5cdHBvc2l0aW9uOmFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHdpZHRoOjA7XG5cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0b3ZlcmZsb3c6dmlzaWJsZTtcbn1cblxuLmRpaml0U2xpZGVyUmVtYWluaW5nQmFyIHtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuXHR6LWluZGV4OjE7XG59XG5cbi5kaWppdFNsaWRlclJlbWFpbmluZ0JhclYge1xuXHRoZWlnaHQ6MTAwJTtcblx0dGV4dC1hbGlnbjpsZWZ0O1xufVxuXG4uZGlqaXRTbGlkZXJSZW1haW5pbmdCYXJIIHtcblx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xufVxuXG4vKiB0aGUgc2xpZGVyIGJ1bXBlciBpcyB0aGUgc3BhY2UgY29uc3VtZWQgYnkgdGhlIHNsaWRlciBoYW5kbGUgd2hlbiBpdCBoYW5ncyBvdmVyIGFuIGVkZ2UgKi9cbi5kaWppdFNsaWRlckJ1bXBlciB7XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0ei1pbmRleDoxO1xufVxuXG4uZGlqaXRTbGlkZXJCdW1wZXJWIHtcblx0d2lkdGg6NHB4O1xuXHRoZWlnaHQ6OHB4O1xuXHRib3JkZXItd2lkdGg6MCAxcHg7XG59XG5cbi5kaWppdFNsaWRlckJ1bXBlckgge1xuXHR3aWR0aDo4cHg7XG5cdGhlaWdodDo0cHg7XG5cdGJvcmRlci13aWR0aDoxcHggMDtcbn1cblxuLmRpaml0U2xpZGVyQm90dG9tQnVtcGVyLFxuLmRpaml0U2xpZGVyTGVmdEJ1bXBlciB7XG5cdGJhY2tncm91bmQtY29sb3I6cmVkO1xufVxuXG4uZGlqaXRTbGlkZXJUb3BCdW1wZXIsXG4uZGlqaXRTbGlkZXJSaWdodEJ1bXBlciB7XG5cdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG59XG5cbi5kaWppdFNsaWRlckRlY29yYXRpb24ge1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcbn1cblxuLmRpaml0U2xpZGVyRGVjb3JhdGlvbkMsXG4uZGlqaXRTbGlkZXJEZWNvcmF0aW9uViB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogbmVlZGVkIGZvciBJRStxdWlya3MrUlRMK3ZlcnRpY2FsIChyZW5kZXJpbmcgYnVnKSBidXQgYWRkIGV2ZXJ5d2hlcmUgZm9yIGN1c3RvbSBzdHlsaW5nIGNvbnNpc3RlbmN5IGJ1dCB0aGlzIG1lc3NlcyB1cCBJRSBob3Jpem9udGFsIHNsaWRlcnMgKi9cbn1cblxuLmRpaml0U2xpZGVyRGVjb3JhdGlvbkgge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmRpaml0U2xpZGVyRGVjb3JhdGlvblYge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kaWppdFNsaWRlckJ1dHRvbiB7XG5cdGZvbnQtZmFtaWx5Om1vbm9zcGFjZTtcblx0bWFyZ2luOjA7XG5cdHBhZGRpbmc6MDtcblx0ZGlzcGxheTpibG9jaztcbn1cblxuLmRqX2ExMXkgLmRpaml0U2xpZGVyQnV0dG9uSW5uZXIge1xuXHR2aXNpYmlsaXR5OnZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmRpaml0U2xpZGVyQnV0dG9uQ29udGFpbmVyIHtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGhlaWdodDowO1x0LyogPz8/ICovXG59XG4uZGlqaXRTbGlkZXJCdXR0b25Db250YWluZXIgKiB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmRpaml0U2xpZGVyIC5kaWppdEJ1dHRvbk5vZGUge1xuXHRwYWRkaW5nOjA7XG5cdGRpc3BsYXk6YmxvY2s7XG59XG5cbi5kaWppdFJ1bGVDb250YWluZXIge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0b3ZlcmZsb3c6dmlzaWJsZTtcbn1cblxuLmRpaml0UnVsZUNvbnRhaW5lclYge1xuXHRoZWlnaHQ6MTAwJTtcblx0bGluZS1oZWlnaHQ6MDtcblx0ZmxvYXQ6bGVmdDtcblx0dGV4dC1hbGlnbjpsZWZ0O1xufVxuXG4uZGpfb3BlcmEgLmRpaml0UnVsZUNvbnRhaW5lclYge1xuXHRsaW5lLWhlaWdodDoyJTtcbn1cblxuLmRqX2llIC5kaWppdFJ1bGVDb250YWluZXJWIHtcblx0bGluZS1oZWlnaHQ6bm9ybWFsO1xufVxuXG4uZGpfZ2Vja28gLmRpaml0UnVsZUNvbnRhaW5lclYge1xuXHRtYXJnaW46MCAwIDFweCAwOyAvKiBtb3ppbGxhIGJ1ZyB3b3JrYXJvdW5kIGZvciBmbG9hdDpsZWZ0LGhlaWdodDoxMDAlIGJsb2NrIGVsZW1lbnRzICovXG59XG5cbi5kaWppdFJ1bGVNYXJrIHtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdGJvcmRlcjoxcHggc29saWQgYmxhY2s7XG5cdGxpbmUtaGVpZ2h0OjA7XG5cdGhlaWdodDoxMDAlO1xufVxuXG4uZGlqaXRSdWxlTWFya0gge1xuXHR3aWR0aDowO1xuXHRib3JkZXItdG9wLXdpZHRoOjAgIWltcG9ydGFudDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDowICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOjAgIWltcG9ydGFudDtcbn1cblxuLmRpaml0UnVsZUxhYmVsQ29udGFpbmVyIHtcblx0cG9zaXRpb246YWJzb2x1dGU7XG59XG5cbi5kaWppdFJ1bGVMYWJlbENvbnRhaW5lckgge1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG59XG5cbi5kaWppdFJ1bGVMYWJlbEgge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0bGVmdDotNTAlO1xufVxuXG4uZGlqaXRSdWxlTGFiZWxWIHtcblx0Lyogc28gdGhhdCBsb25nIGxhYmVscyBkb24ndCBvdmVyZmxvdyB0byBtdWx0aXBsZSByb3dzLCBvciBvdmVyd3JpdGUgc2xpZGVyIGl0c2VsZiAqL1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRpaml0UnVsZU1hcmtWIHtcblx0aGVpZ2h0OjA7XG5cdGJvcmRlci1yaWdodC13aWR0aDowICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6MCAhaW1wb3J0YW50O1xuXHRib3JkZXItbGVmdC13aWR0aDowICFpbXBvcnRhbnQ7XG5cdHdpZHRoOjEwMCU7XG5cdGxlZnQ6MDtcbn1cblxuLmRqX2llIC5kaWppdFJ1bGVMYWJlbENvbnRhaW5lclYge1xuXHRtYXJnaW4tdG9wOi0uNTVlbTtcbn1cblxuLmRqX2ExMXkgLmRpaml0U2xpZGVyUmVhZE9ubHksXG4uZGpfYTExeSAuZGlqaXRTbGlkZXJEaXNhYmxlZCB7XG5cdG9wYWNpdHk6MC42O1xufVxuLmRqX2llIC5kal9hMTF5IC5kaWppdFNsaWRlclJlYWRPbmx5IC5kaWppdFNsaWRlckJhcixcbi5kal9pZSAuZGpfYTExeSAuZGlqaXRTbGlkZXJEaXNhYmxlZCAuZGlqaXRTbGlkZXJCYXIge1xuXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApO1xufVxuXG4vKiArIGFuZCAtIFNsaWRlciBidXR0b25zOiBvdmVycmlkZSB0aGVtZSBzZXR0aW5ncyB0byBkaXNwbGF5IGljb25zICovXG4uZGpfYTExeSAuZGlqaXRTbGlkZXIgLmRpaml0U2xpZGVyQnV0dG9uQ29udGFpbmVyIGRpdiB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IC8qIG90aGVyd2lzZSBoeXBoZW4gaXMgbGFyZ2VyIGFuZCBtb3JlIHZlcnRpY2FsbHkgY2VudGVyZWQgKi9cblx0Zm9udC1zaXplOiAxZW07XG5cdGxpbmUtaGVpZ2h0OiAxZW07XG5cdGhlaWdodDogYXV0bztcblx0d2lkdGg6IGF1dG87XG5cdG1hcmdpbjogMCA0cHg7XG59XG5cbi8qIEljb24tb25seSBidXR0b25zIChvZnRlbiBpbiB0b29sYmFycykgc3RpbGwgZGlzcGxheSB0aGUgdGV4dCBpbiBoaWdoLWNvbnRyYXN0IG1vZGUgKi9cbi5kal9hMTF5IC5kaWppdEJ1dHRvbkNvbnRlbnRzIC5kaWppdEJ1dHRvblRleHQsXG4uZGpfYTExeSAuZGlqaXRUYWIgLnRhYkxhYmVsIHtcblx0ZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG59XG4uZGpfYTExeSAuZGlqaXRTZWxlY3QgLmRpaml0QnV0dG9uVGV4dCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4vKiBUZXh0QXJlYSwgU2ltcGxlVGV4dEFyZWEgKi9cbi5kaWppdFRleHRBcmVhIHtcblx0d2lkdGg6MTAwJTtcblx0b3ZlcmZsb3cteTogYXV0bztcdC8qIHcvb3V0IHRoaXMgSUUncyBTaW1wbGVUZXh0QXJlYSBnb2VzIHRvIG92ZXJmbG93OiBzY3JvbGwgKi9cbn1cbi5kaWppdFRleHRBcmVhW2NvbHNdIHtcblx0d2lkdGg6YXV0bzsgLyogU2ltcGxlVGV4dEFyZWEgY29scyAqL1xufVxuLmRqX2llIC5kaWppdFRleHRBcmVhQ29scyB7XG5cdHdpZHRoOmF1dG87XG59XG5cbi5kaWppdEV4cGFuZGluZ1RleHRBcmVhIHtcblx0LyogZm9yIGF1dG8gZXhhbmRpbmcgdGV4dGFyZWEgKGNhbGxlZCBUZXh0YXJlYSBjdXJyZW50bHksIHJlbmFtZSBmb3IgMi4wKSBkb24ndCB3YW50IHRvIGRpc3BsYXkgdGhlIGdyaXAgdG8gcmVzaXplICovXG5cdHJlc2l6ZTogbm9uZTtcbn1cblxuXG4vKiBUb29sYmFyXG4gKiBOb3RlIHRoYXQgb3RoZXIgdG9vbGJhciBydWxlcyAoZm9yIG9iamVjdHMgaW4gdG9vbGJhcnMpIGFyZSBzY2F0dGVyZWQgdGhyb3VnaG91dCB0aGlzIGZpbGUuXG4gKi9cblxuLmRpaml0VG9vbGJhclNlcGFyYXRvciB7XG5cdGhlaWdodDogMThweDtcblx0d2lkdGg6IDVweDtcblx0cGFkZGluZzogMCAxcHg7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogRWRpdG9yICovXG4uZGlqaXRJRUZpeGVkVG9vbGJhciB7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHQvKiB0b3A6MDsgKi9cblx0dG9wOiBleHByZXNzaW9uKGV2YWwoKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8ZG9jdW1lbnQuYm9keSkuc2Nyb2xsVG9wKSk7XG59XG5cbi5kaWppdEVkaXRvciB7XG5cdGRpc3BsYXk6IGJsb2NrO1x0LyogcHJldmVudHMgZ2xpdGNoIG9uIEZGIHdpdGggSW5saW5lRWRpdEJveCwgc2VlICM4NDA0ICovXG59XG5cbi5kaWppdEVkaXRvckRpc2FibGVkLFxuLmRpaml0RWRpdG9yUmVhZE9ubHkge1xuXHRjb2xvcjogZ3JheTtcbn1cblxuLyogVGltZVBpY2tlciAqL1xuXG4uZGlqaXRUaW1lUGlja2VyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uZGlqaXRUaW1lUGlja2VySXRlbSB7XG5cdGN1cnNvcjpwb2ludGVyO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmRpaml0VGltZVBpY2tlckl0ZW1Ib3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6Z3JheTtcblx0Y29sb3I6d2hpdGU7XG59XG4uZGlqaXRUaW1lUGlja2VySXRlbVNlbGVjdGVkIHtcblx0Zm9udC13ZWlnaHQ6Ym9sZDtcblx0Y29sb3I6IzMzMztcblx0YmFja2dyb3VuZC1jb2xvcjojYjdjZGVlO1xufVxuLmRpaml0VGltZVBpY2tlckl0ZW1EaXNhYmxlZCB7XG5cdGNvbG9yOmdyYXk7XG5cdHRleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2g7XG59XG5cbi5kaWppdFRpbWVQaWNrZXJJdGVtSW5uZXIge1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0Ym9yZGVyOjA7XG5cdHBhZGRpbmc6MnB4IDhweCAycHggOHB4O1xufVxuXG4uZGlqaXRUaW1lUGlja2VyVGljayxcbi5kaWppdFRpbWVQaWNrZXJNYXJrZXIge1xuXHRib3JkZXItYm90dG9tOjFweCBzb2xpZCBncmF5O1xufVxuXG4uZGlqaXRUaW1lUGlja2VyIC5kaWppdERvd25BcnJvd0J1dHRvbiB7XG5cdGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmRpaml0VGltZVBpY2tlclRpY2sge1xuXHRjb2xvcjojQ0NDO1xufVxuXG4uZGlqaXRUaW1lUGlja2VyTWFya2VyIHtcblx0Y29sb3I6YmxhY2s7XG5cdGJhY2tncm91bmQtY29sb3I6I0NDQztcbn1cblxuLmRqX2ExMXkgLmRpaml0VGltZVBpY2tlckl0ZW1TZWxlY3RlZCAuZGlqaXRUaW1lUGlja2VySXRlbUlubmVyIHtcblx0Ym9yZGVyOiBzb2xpZCA0cHggYmxhY2s7XG59XG4uZGpfYTExeSAuZGlqaXRUaW1lUGlja2VySXRlbUhvdmVyIC5kaWppdFRpbWVQaWNrZXJJdGVtSW5uZXIge1xuXHRib3JkZXI6IGRhc2hlZCA0cHggYmxhY2s7XG59XG5cblxuLmRpaml0VG9nZ2xlQnV0dG9uSWNvbkNoYXIge1xuXHQvKiBjaGFyYWN0ZXIgKGluc3RlYWQgb2YgaWNvbikgdG8gc2hvdyB0aGF0IFRvZ2dsZUJ1dHRvbiBpcyBjaGVja2VkICovXG5cdGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0VG9nZ2xlQnV0dG9uIC5kaWppdFRvZ2dsZUJ1dHRvbkljb25DaGFyIHtcblx0ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDtcblx0dmlzaWJpbGl0eTpoaWRkZW47XG59XG4uZGpfaWU2IC5kaWppdFRvZ2dsZUJ1dHRvbkljb25DaGFyLCAuZGpfaWU2IC50YWJTdHJpcEJ1dHRvbiAuZGlqaXRCdXR0b25UZXh0IHtcblx0Zm9udC1mYW1pbHk6IFwiQXJpYWwgVW5pY29kZSBNU1wiO1x0Lyogb3RoZXJ3aXNlIHRoZSBhMTF5IGNoYXJhY3RlciAoY2hlY2ttYXJrLCBhcnJvdywgZXRjLikgYXBwZWFycyBhcyBhIGJveCAqL1xufVxuLmRqX2ExMXkgLmRpaml0VG9nZ2xlQnV0dG9uQ2hlY2tlZCAuZGlqaXRUb2dnbGVCdXR0b25JY29uQ2hhciB7XG5cdGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyAvKiBJbiBoaWdoIGNvbnRyYXN0IG1vZGUsIGRpc3BsYXkgdGhlIGNoZWNrIHN5bWJvbCAqL1xuXHR2aXNpYmlsaXR5OnZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmRpaml0QXJyb3dCdXR0b25DaGFyIHtcblx0ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG59XG4uZGpfYTExeSAuZGlqaXRBcnJvd0J1dHRvbkNoYXIge1xuXHRkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O1xufVxuXG4uZGpfYTExeSAuZGlqaXREcm9wRG93bkJ1dHRvbiAuZGlqaXRBcnJvd0J1dHRvbklubmVyLFxuLmRqX2ExMXkgLmRpaml0Q29tYm9CdXR0b24gLmRpaml0QXJyb3dCdXR0b25Jbm5lciB7XG5cdGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBTZWxlY3QgKi9cbi5kal9hMTF5IC5kaWppdFNlbGVjdCB7XG5cdGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4uZGpfaWUgLmRpaml0U2VsZWN0IHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogU2V0IHRoaXMgYmFjayBmb3Igd2hhdCB3ZSBoYWNrIGluIGRpaml0IGlubGluZSAqL1xufVxuLmRqX2llNiAuZGlqaXRTZWxlY3QgLmRpaml0VmFsaWRhdGlvbkNvbnRhaW5lcixcbi5kal9pZTggLmRpaml0U2VsZWN0IC5kaWppdEJ1dHRvblRleHQge1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLmRqX2llNiAuZGlqaXRUZXh0Qm94IC5kaWppdElucHV0Q29udGFpbmVyLFxuLmRqX2llcXVpcmtzIC5kaWppdFRleHRCb3ggLmRpaml0SW5wdXRDb250YWluZXIsXG4uZGpfaWU2IC5kaWppdFRleHRCb3ggLmRpaml0QXJyb3dCdXR0b25Jbm5lcixcbi5kal9pZTYgLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uSW5uZXIsXG4uZGlqaXRTZWxlY3QgLmRpaml0U2VsZWN0TGFiZWwge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi5kaWppdE51bWJlclRleHRCb3gge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRkaXJlY3Rpb246IGx0cjtcbn1cblxuLmRpaml0TnVtYmVyVGV4dEJveCAuZGlqaXRJbnB1dElubmVyIHtcblx0dGV4dC1hbGlnbjogaW5oZXJpdDsgLyogaW5wdXQgKi9cbn1cblxuLmRpaml0TnVtYmVyVGV4dEJveCBpbnB1dC5kaWppdElucHV0SW5uZXIsXG4uZGlqaXRDdXJyZW5jeVRleHRCb3ggaW5wdXQuZGlqaXRJbnB1dElubmVyLFxuLmRpaml0U3Bpbm5lciBpbnB1dC5kaWppdElucHV0SW5uZXIge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmRqX2llOCAuZGlqaXROdW1iZXJUZXh0Qm94IGlucHV0LmRpaml0SW5wdXRJbm5lciwgLmRqX2llOSAuZGlqaXROdW1iZXJUZXh0Qm94IGlucHV0LmRpaml0SW5wdXRJbm5lcixcbi5kal9pZTggLmRpaml0Q3VycmVuY3lUZXh0Qm94IGlucHV0LmRpaml0SW5wdXRJbm5lciwgLmRqX2llOSAuZGlqaXRDdXJyZW5jeVRleHRCb3ggaW5wdXQuZGlqaXRJbnB1dElubmVyLFxuLmRqX2llOCAuZGlqaXRTcGlubmVyIGlucHV0LmRpaml0SW5wdXRJbm5lciwgLmRqX2llOSAuZGlqaXRTcGlubmVyIGlucHV0LmRpaml0SW5wdXRJbm5lciB7XG5cdC8qIHdvcmthcm91bmQgYnVnIHdoZXJlIGNhcmV0IGludmlzaWJsZSBpbiBlbXB0eSB0ZXh0Ym94ZXMgKi9cblx0cGFkZGluZy1yaWdodDogMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kaWppdFRvb2xiYXIgLmRpaml0U2VsZWN0IHtcblx0bWFyZ2luOiAwO1xufVxuLmRqX3dlYmtpdCAuZGlqaXRUb29sYmFyIC5kaWppdFNlbGVjdCB7XG5cdHBhZGRpbmctbGVmdDogMC4zZW07XG59XG4uZGlqaXRTZWxlY3QgLmRpaml0QnV0dG9uQ29udGVudHMge1xuXHRwYWRkaW5nOiAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRib3JkZXItc3R5bGU6IG5vbmUgc29saWQgbm9uZSBub25lO1xuXHRib3JkZXItd2lkdGg6IDFweDtcbn1cbi5kaWppdFNlbGVjdEZpeGVkV2lkdGggLmRpaml0QnV0dG9uQ29udGVudHMge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmRpaml0U2VsZWN0TWVudSAuZGlqaXRNZW51SXRlbUljb24ge1xuXHQvKiBhdm9pZCBibGFuayBhcmVhIGluIGxlZnQgc2lkZSBvZiBtZW51IChzaW5jZSB3ZSBoYXZlIG5vIGljb25zKSAqL1xuXHRkaXNwbGF5Om5vbmU7XG59XG4uZGpfaWU2IC5kaWppdFNlbGVjdE1lbnUgLmRpaml0TWVudUl0ZW1MYWJlbCxcbi5kal9pZTcgLmRpaml0U2VsZWN0TWVudSAuZGlqaXRNZW51SXRlbUxhYmVsIHtcblx0LyogU2V0IGJhY2sgdG8gc3RhdGljIGR1ZSB0byBidWcgaW4gaWU2L2llNyAtIFNlZSBCdWcgIzk2NTEgKi9cblx0cG9zaXRpb246IHN0YXRpYztcbn1cblxuLyogRml4IHRoZSBiYXNlbGluZSBvZiBvdXIgbGFiZWwgKGZvciBtdWx0aS1zaXplIGZvbnQgZWxlbWVudHMpICovXG4uZGlqaXRTZWxlY3RMYWJlbCAqXG57XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogU3R5bGluZyBmb3IgdGhlIGN1cnJlbnRseS1zZWxlY3RlZCBvcHRpb24gKHJpY2ggdGV4dCBjYW4gbWVzcyB0aGlzIHVwKSAqL1xuLmRpaml0U2VsZWN0U2VsZWN0ZWRPcHRpb24gKiB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBGaXggdGhlIHN0eWxpbmcgb2YgdGhlIGRyb3Bkb3duIG1lbnUgdG8gYmUgbW9yZSBjb21ib2JveC1saWtlICovXG4uZGlqaXRTZWxlY3RNZW51IHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG59XG5cbi8qIFVzZWQgaW4gY2FzZXMsIHN1Y2ggYXMgRnVsbFNjcmVlbiBwbHVnaW4sIHdoZW4gd2UgbmVlZCB0byBmb3JjZSBzdHVmZiB0byBzdGF0aWMgcG9zaXRpb25pbmcuICovXG4uZGlqaXRGb3JjZVN0YXRpYyB7XG5cdHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbn1cblxuLyoqKiogRGlzYWJsZWQgY3Vyc29yICoqKioqL1xuLmRpaml0UmVhZE9ubHkgKixcbi5kaWppdERpc2FibGVkICosXG4uZGlqaXRSZWFkT25seSxcbi5kaWppdERpc2FibGVkIHtcblx0LyogYSByZWdpb24gdGhlIHVzZXIgd291bGQgYmUgYWJsZSB0byBjbGljayBvbiwgYnV0IGl0J3MgZGlzYWJsZWQgKi9cblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiBEcmFnIGFuZCBEcm9wICovXG4uZG9qb0RuZEl0ZW0ge1xuICAgIHBhZGRpbmc6IDJweDsgIC8qIHdpbGwgYmUgcmVwbGFjZWQgYnkgYm9yZGVyIGR1cmluZyBkcmFnIG92ZXIgKGRvam9EbmRJdGVtQmVmb3JlLCBkb2pvRG5kSXRlbUFmdGVyKSAqL1xuXG5cdC8qIFByZXZlbnQgbWFnbmlmeWluZy1nbGFzcyB0ZXh0IHNlbGVjdGlvbiBpY29uIHRvIGFwcGVhciBvbiBtb2JpbGUgd2Via2l0IGFzIGl0IGNhdXNlcyBhIHRvdWNob3V0IGV2ZW50ICovXG5cdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogRGlzYWJsZSBzZWxlY3Rpb24vQ29weSBvZiBVSVdlYlZpZXcgKi9cbn1cbi5kb2pvRG5kSG9yaXpvbnRhbCAuZG9qb0RuZEl0ZW0ge1xuICAgIC8qIG1ha2UgY29udGVudHMgb2YgaG9yaXpvbnRhbCBjb250YWluZXIgYmUgc2lkZSBieSBzaWRlLCByYXRoZXIgdGhhbiB2ZXJ0aWNhbCAqL1xuICAgICNkaXNwbGF5OiBpbmxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZG9qb0RuZEl0ZW1CZWZvcmUsXG4uZG9qb0RuZEl0ZW1BZnRlciB7XG5cdGJvcmRlcjogMHB4IHNvbGlkICMzNjk7XG59XG4uZG9qb0RuZEl0ZW1CZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogMnB4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDAgMnB4IDJweCAycHg7XG59XG4uZG9qb0RuZEl0ZW1BZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMnB4IDA7XG4gICAgcGFkZGluZzogMnB4IDJweCAwIDJweDtcbn1cbi5kb2pvRG5kSG9yaXpvbnRhbCAuZG9qb0RuZEl0ZW1CZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogMCAwIDAgMnB4O1xuICAgIHBhZGRpbmc6IDJweCAycHggMnB4IDA7XG59XG4uZG9qb0RuZEhvcml6b250YWwgLmRvam9EbmRJdGVtQWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogMCAycHggMCAwO1xuICAgIHBhZGRpbmc6IDJweCAwIDJweCAycHg7XG59XG5cbi5kb2pvRG5kSXRlbU92ZXIge1xuXHRjdXJzb3I6cG9pbnRlcjtcbn1cbi5kal9nZWNrbyAuZGlqaXRBcnJvd0J1dHRvbklubmVyIElOUFVULFxuLmRqX2dlY2tvIElOUFVULmRpaml0QXJyb3dCdXR0b25Jbm5lciB7XG5cdC1tb3otdXNlci1mb2N1czppZ25vcmU7XG59XG4uZGlqaXRGb2N1c2VkIC5kaWppdE1lbnVJdGVtU2hvcnRjdXRLZXkge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiIsIi8qIERpaml0IGN1c3RvbSBzdHlsaW5nICovXG4uZGlqaXRCb3JkZXJDb250YWluZXIge1xuICAgIGhlaWdodDogMzUwcHg7XG59XG4uZGlqaXRUb29sdGlwQ29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuLmRpaml0Q29udGVudFBhbmUge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7IC8qIFdpZGdldHMgbGlrZSB0aGUgZGF0YSBncmlkIHBhc3MgdGhlaXIgc2Nyb2xsXG4gICAgb2Zmc2V0IHRvIHRoZSBwYXJlbnQgaWYgdGhlcmUgaXMgbm90IGVub3VnaCByb29tIHRvIGRpc3BsYXkgYSBzY3JvbGwgYmFyXG4gICAgaW4gdGhlIHdpZGdldCBpdHNlbGYsIHNvIGRvIG5vdCBoaWRlIHRoZSBvdmVyZmxvdy4gKi9cbn1cblxuLyogR2xvYmFsIEJvb3RzdHJhcCBjaGFuZ2VzICovXG5cbi8qIENsaWVudCBkZWZhdWx0cyBhbmQgaGVscGVycyAqL1xuLm14LWRhdGF2aWV3LWNvbnRlbnQsIC5teC1zY3JvbGxjb250YWluZXItd3JhcHBlcjpub3QoLm14LXNjcm9sbGNvbnRhaW5lci1uZXN0ZWQpLCAubXgtdGFiY29udGFpbmVyLWNvbnRlbnQsIC5teC1ncmlkLWNvbnRlbnQge1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbmh0bWwsIGJvZHksICNjb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4jY29udGVudCA+IC5teC1wYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG4ubXgtbGVmdC1hbGlnbmVkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLm14LXJpZ2h0LWFsaWduZWQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm14LWNlbnRlci1hbGlnbmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ubXgtdGFibGUgdGgsXG4ubXgtdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLm14LXRhYmxlIHRoLm5vcGFkZGluZyxcbi5teC10YWJsZSB0ZC5ub3BhZGRpbmcge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ubXgtb2Zmc2NyZWVuIHtcbiAgICAvKiBXaGVuIHBvc2l0aW9uIHJlbGF0aXZlIGlzIG5vdCBzZXQgSUUgZG9lc24ndCBwcm9wZXJseSByZW5kZXIgd2hlbiB0aGlzIGNsYXNzIGlzIHJlbW92ZWRcbiAgICAgKiB3aXRoIHRoZSBlZmZlY3QgdGhhdCBlbGVtZW50cyBhcmUgbm90IGRpc3BsYXllZCBvciBhcmUgbm90IGNsaWNrYWJsZS5cbiAgICAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm14LWllLWV2ZW50LXNoaWVsZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbn1cblxuLm14LXN3aXBlLW5hdmlnYXRpb24tcHJvZ3Jlc3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDI3cHgpO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjdweCk7XG4gICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaE5nQTJBUE1BQVAvLy93QUFBSGg0ZUJ3Y0hBNE9EdGpZMkZSVVZOemMzTVRFeEVoSVNJcUtpZ0FBQUFBQUFBQUFBQUFBQUFBQUFDSDVCQWtLQUFBQUlmNGFRM0psWVhSbFpDQjNhWFJvSUdGcVlYaHNiMkZrTG1sdVptOEFJZjhMVGtWVVUwTkJVRVV5TGpBREFRQUFBQ3dBQUFBQU5nQTJBQUFFeXhESVNhdTlPT3ZOdS85Z0tJNWt5U0VKUVNTSTZVcUtLaFBLV3lMejNOcGltcXNKbnVnM0U0YUlNaVBJOXdzcVBUamlUbGt3cUF3RlRDeFhleFlHczBIMmdnSk9MWUxCUURDeTVnd213WXg5SkpyQXNzSFFYc0tyOUNGdU0zQWxjakowSUFkK0JBTUhMbWxySkFkdUJvNVBsNWlabXB1Y25aNmZjV3FJbUpDamFIT1poaXFtRkl1QWw2NFpzWml6RjZvRXJFSzN1Uk9sbTc2Z3djTER4TVhHeDhYQWo2SWt1NCtvSXJVazBoL1UwV0Vqem5IUUlzcWhrY2pCM3NuY3hkYkM1K0xseWN6aDdrOFJBQ0g1QkFrS0FBQUFMQUFBQUFBMkFEWUFBQVRNRU1oSnE3MDQ2ODI3LzJBb2ptUnBubVZoRUlSUm9HY3hzT3p3d3VSS3N3Wk83anZmQ0VnVGluUzduaEYwbU5FR2h3c2l3VW9nbHBTRHpoQzFLSWlLa1dBd0VKZ1FSTllWSk5pWlNkUjBJdVNzbGRKRlVKMHd1T01KSVcwMGJ5TnhSSE9CWklRamFHbHJXQnhmUUdHUUhsTlZqNVdhbTV5ZG5wOUxZMldib29zV2dpeW1RcWdFcWhON2ZaQ3dHYk95TzdFWHJLNDR1aHFscElxZ3dzUEV4Y2JIeU1lL0tNc2l2U2JQZExjbnRkSlAxTlBPYmlmUmlhUE13Y25DemNyYnlOWEc2TVhkeHVUaTd6NFJBQ0g1QkFrS0FBQUFMQUFBQUFBMkFEWUFBQVRPRU1oSnE3MDQ2ODI3LzJBb2ptUnBubWlxQXNJd0NLc3BFRFFCeCtOUUV3T2U3ejFmYUZhN0NVR3QxMUZZTU5BTUJWTFNTQ3JvYW9Qb2NFY1ZPWGNFZytoS0M1TEF0VEhRaEthSmlMUnU2THNUdjEzeTBJSE1PeXc5QjE4R2ZuK0Zob2VJaVlvWkNBazBDUWlMRmdwb0NobFRSd2h0QkpFV2NEWkNqbTBKRjN4bU1adHVGcVpDcVFRWG4za29vbWlrc0hpWm01MlNBSlJnbHJ3VGpZKzd3Y2JIeU1uS0U1Z296VzljSjdFL1dDZXNhdFVtMTF0RjB0RWp6eks0eTRuaHh0UEkyOGJxd2VqSTV1VHhKaEVBSWZrRUNRb0FBQUFzQUFBQUFEWUFOZ0FBQk1zUXlFbXJ2VGpyemJ2L1lDaU9aR21lYUtvQ3dqQUlxeWtRTkFISDQxQVRBNTd2UFY5b1Zyc0pRYTNYY1lsS0dtV3VKM0luRlJGcDFZNnVGaXh0YVYzUWwzY2FoejlYMnltZDdUaFRiNlo4VHEvYjcvaTh2R0NnR1FvYWNVSUZab0FYYkVkOU93UUdHR1pIaXpXT1FKQ1JCQmlJUW9vN2paaFJTd2RtQjNvVUI0b0dvNlNxcTZ5dE1RZ0pOQWtJckFxUkNpT0NJd2lXQkxSVFJTV3hsZ2toanlTOU5NYVV5TWxEVk1LOXhVT2ZKYnlXdjNxMmk3aEx1aFd3c3RsQ21hdkg1c3lyNWVyVnJ1NDRFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2ditMd2VFMS8yTDJ4K1ZCbG1TNFVZaDBLSkZvRkhqWHhSY245N2xKV1dsNWlaY2dVR05BWUZKSk1pQldhZ1E0TWxuVHNFQmlLTElxczFya0Ftc1RSV3FDU3FPNjFXa1JrSUNUUUpDQmNIWmdkSENyRUt4cW9HeVVJSXRnVEZlc0syQ1h2VXQzcmNCSHZZc2RwNjA3Yldlc3VyelpYQncrZ2lFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2ditMd2VFMS8yTDJ4K1ZCbG1TNFVZaDBLSkZvRkhqWHhSY245N2xKV1dsNWdTQ0FrMENRaVdDanMwQ3BRSW9qV2ZKWk1kbktjRUNhcURJSzQxWGtBaHREUzJYQ0d0cDdBa2p4Nm1ycW5Ca1NLaG9xUVhCUVkwQmdWTG01M0dGUVZtMHBUUG9nYVZ0Tit1bGR3NzNwUUhaZ2VXQjl3RzZwa29FUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2dktVU0Nsa0RnTFFvN05BcC9Fd2lDTlg1Q2NSWjdpQVFKaTFRWGp6VkNacFNWQkpkQUY0NklrVDVzRjRlUGlxSlJHWUdDaElXR2puMnVzck8wdFhZRkJqUUdCYlFGWnJ4UVNpSzVnZ1l5a3lHVkpwakpqOHVkSWNRN3hpV2pJUWRtQjJ1cEl3ZkVCdHEySG95ejFyUE01OURseUxUazR1OHBFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3a1JDVm9Db1dtOWhCTEZqcWFBZGhEVEdyUGtOSDZTV1VLQ3UvTjJ3cldTcmhiOG9HbHFZQWljSFpPSU5ETUhHOTdlWFhvZFVsTlZWbGRnUzRhS2k0eU5qbzhGQmpRR0JZOFhCV3MwQTVWUVhSbVNVd2FkWlJob1VKazhwV0duY2hlZ082SkNlRFlZQjZnREIxYWVHUWVnQnJtV3djTER4TVhHeDF5QUtic2lzNEVnemo5c0o3ZlNtdFN0UTZReTI4M0tLTXpJamVIRTBjYlY1OW5sM2NYazR1OG9FUUE3KTtcbn1cblxuIiwiLyogQmFjYXVzZSB3ZSB1c2UgY2hlY2tib3hlcyB3aXRob3V0IGxhYmVscywgYWxpZ24gdGhlbSB3aXRoIG90aGVyIHdpZGdldHMuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbjogOXB4IDA7XG59XG5cbi5teC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi5mb3JtLXZlcnRpY2FsIC5mb3JtLWdyb3VwLm14LWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mb3JtLXZlcnRpY2FsIC5mb3JtLWdyb3VwLm14LWNoZWNrYm94LmxhYmVsLWFmdGVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLm5vLWNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4ubXgtcmFkaW9idXR0b25zLmlubGluZSAucmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5teC1yYWRpb2J1dHRvbnMgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgLyogUmVzZXQgYm9vdHN0cmFwIHJ1bGVzICovXG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm14LXJhZGlvYnV0dG9ucyAucmFkaW8gbGFiZWwge1xuICAgIC8qIFJlc2V0IGJvb3RzdHJhcCBydWxlcyAqL1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmFsZXJ0IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG59XG5cbi5teC1jb21wb3VuZC1jb250cm9sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubXgtY29tcG91bmQtY29udHJvbCBidXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm14LWNvbXBvdW5kLWNvbnRyb2wgYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbiIsIi5teC10b29sdGlwIHtcbiAgICBtYXJnaW46IDEwcHg7XG59XG4ubXgtdG9vbHRpcC1jb250ZW50IHtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5teC10b29sdGlwLXByZXBhcmUge1xuICAgIGhlaWdodDogMjRweDtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEdBQVlBTVFkQUtYWjhuZkY2NFRMN1F1WDNGZTQ1emFxNGhPYjNmTDYvZnI5L3JyaTlkWHQrWnJVOEN5bTRVbXk1Y0hsOXVQeisySzg2T2oxL056dytyRGQ5TTNxK0pEUTcyckE2aU9pMyszNC9FQ3U0OGpvOXgyZjNnV1YyLy8vL3dBQUFBQUFBQ0gvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoL3d0WVRWQWdSR0YwWVZoTlVEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVFF3SURjNUxqRTJNRFExTVN3Z01qQXhOeTh3TlM4d05pMHdNVG93T0RveU1TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRnZ0tFMWhZMmx1ZEc5emFDa2lJSGh0Y0UxTk9rbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZSVUpGTmtVNE5FWkNORVZETVRGRk9EazNNREJCTlVVMVJVTTRRamczUVRVaUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNlJVSkZOa1U0TlRCQ05FVkRNVEZGT0RrM01EQkJOVVUxUlVNNFFqZzNRVFVpUGlBOGVHMXdUVTA2UkdWeWFYWmxaRVp5YjIwZ2MzUlNaV1k2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwRlFrVTJSVGcwUkVJMFJVTXhNVVU0T1Rjd01FRTFSVFZGUXpoQ09EZEJOU0lnYzNSU1pXWTZaRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRHBGUWtVMlJUZzBSVUkwUlVNeE1VVTRPVGN3TUVFMVJUVkZRemhDT0RkQk5TSXZQaUE4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRnUEM5eVpHWTZVa1JHUGlBOEwzZzZlRzF3YldWMFlUNGdQRDk0Y0dGamEyVjBJR1Z1WkQwaWNpSS9QZ0gvL3YzOCsvcjUrUGYyOWZUejh2SHc3Kzd0N092cTZlam41dVhrNCtMaDROL2UzZHpiMnRuWTE5YlYxTlBTMGREUHpzM015OHJKeU1mR3hjVER3c0hBdjc2OXZMdTZ1YmkzdHJXMHM3S3hzSyt1cmF5cnFxbW9wNmFscEtPaW9hQ2ZucDJjbTVxWm1KZVdsWlNUa3BHUWo0Nk5qSXVLaVlpSGhvV0VnNEtCZ0g5K2ZYeDdlbmw0ZDNaMWRITnljWEJ2Ym0xc2EycHBhR2RtWldSalltRmdYMTVkWEZ0YVdWaFhWbFZVVTFKUlVFOU9UVXhMU2tsSVIwWkZSRU5DUVVBL1BqMDhPem81T0RjMk5UUXpNakV3THk0dExDc3FLU2duSmlVa0l5SWhJQjhlSFJ3Ykdoa1lGeFlWRkJNU0VSQVBEZzBNQ3dvSkNBY0dCUVFEQWdFQUFDSDVCQVVFQUIwQUxBQUFBQUFZQUJnQUFBVWNZQ2VPWkdtZWFLcXViT3UrY0N6UGRHM2ZlSzd2Zk8vL3dPQXJCQUFoK1FRRkJBQWRBQ3dBQUFBQUFRQUJBQUFGQTJBWEFnQWgrUVFGQkFBZEFDd1VBQXdBQVFBQ0FBQUZBeURUaEFBaCtRUUZCQUFkQUN3VEFBc0FBZ0FHQUFBRkMyQVhkRnhuZE1UUU1WMElBQ0g1QkFVRUFCMEFMQkVBQ3dBRUFBZ0FBQVVSWUNjMllpbHlvcldkVm1jTnA4aTBYUWdBSWZrRUJRUUFIUUFzRHdBT0FBWUFCZ0FBQlE5Z0ozYUJNWjRqaDQ0V0I0bkZjSVlBSWZrRUNRUUFIUUFzRFFBUEFBZ0FCZ0FBQlJGZ0o0NGRSSGJCcVlvcEdRd2NPUmhxQ0FBaCtRUUpCQUFkQUN3QUFBQUFHQUFZQUFBRkxXQW5qbVJwbm1pcXJtenJ2bkFzejNSdDMzaXVrOEpnRHdRYlIyaWhCVGlOV1c4WTR6aDlHaGxnUnkyRkFBQWgrUVFKQkFBZEFDd0FBQUFBR0FBWUFBQUZNMkFuam1ScG5taXFybXpydm5Bc3ozUnQzMmh6YzN0U0M3emFZT2VvY1NBMFlNWlZJUWtHd1JhUVE2VjJpaklBYnFzS0FRQWgrUVFKQkFBZEFDd0FBQUFBR0FBWUFBQUZObUFuam1ScG5taXFybXpydm5Bc3ozUnQzMmh6Yy90VVY3eWFJV01MMGppRVZRVUZMS3dDSEVPcFlqQ3lNcHlzbGloYjRMNnJFQUFoK1FRSkJBQWRBQ3dBQUFBQUdBQVlBQUFGT21BbmptUnBubWlxcm16cnZuQXN6M1J0MzJoemN6dFFWN3phcG1BTG1vQXNqZzdGTUI0NWpGV0RzeWxWTnM1VmdjUHRFbU8rQ202c0NnRUFJZmtFQ1FRQUhRQXNBQUFBQUJnQUdBQUFCVDlnSjQ1a2FaNW9xcTVzNjc1d0xNOTBiZDhvY1hPQ3plMm14c2ExWVp4K0xRN2cxRUNxT0prVWc3TkljWXlxNXJDMGdicW1uSENZc1lRdGU3aDBLZ1FBSWZrRUNRUUFIUUFzQUFBQUFCZ0FHQUFBQlVSZ0o0NWthWjVvcXE1czY3NXdMTTkwYmQ4b1lRWXdKNVNjbmluNElwSVlGOWNsV1ZvWVY1ekZLZk5FY1RLcFN4WElURkc3SXkyMnhlQ1l6eGNwVFBxajRONm9FQUFoK1FRSkJBQWRBQ3dBQUFBQUdBQVlBQUFGU21BbmptUnBubWlxcm16cnZuQXN6M1ROYm5iQXdZUzV2NXdBcWZKekZVZEhWckt6WWJnWU9OK2t4YW1jQ2dQV29KRGFaRk9EYUtyQWNaWVlIRzVydzJtN04xWllSUmkzMlZjaEFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVlBZQ2VPWkdtZWFLcXViT3UrY0N6UDVVYlFJb2QzZ3I3N3JodkpBbXh4TEtVaVM5bmhURjVNQThQRk1KaDZMbzdneEJpd0JsUFV4cHNhYkZZTVRwaVVYcXNFQm81OGJ0akN0aGI3YnI4S0FRQWgrUVFKQkFBZEFDd0FBQUFBR0FBWUFBQUZVMkFuam1ScG5taXFybXpydmpETFhERXBjRFZwWlBtSTk1MGJVUFJ6UVVxUVlvdHpKQ2xaejhsenhabVVEQVZYd1hDYW9yeWRDM2Rsb0tFTTQzTWFkZUZrU3dXT2VSVXdjTzU0UXlBbU9BcUdnQzBoQUNINUJBVUVBQjBBTEFBQUFBQVlBQmdBQUFWWFlDZU9aR21lYUtxdWJMdHVsbnNhaG14dXRVMEduRjRPRFIrcEp4VHhpaUpDemhYNzJRYUVIZEUxSFZWWkhNQXY0OG9NVE1jV0ozRENzUXliMUdBNSs2bzJIRzRwdzBtekFnTU9aNURmazIwQlVYOUloQzBoQUNINUJBa0VBQjBBTEFJQUF3QVVBQk1BQUFVL1lDZUsxdENNYUpweWhPcU93L2JPOUd6VmM0dnY5YzJuc2w5QVpQaDFpajZqY3JRUW5YYlBEc1E0SFFWcFYxUld0VTFGUjE5WDlWZ1VqV20rWkNvRUFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVmJZQ2VPWkdtZWFLcU9GckdpeE1CeHpHc2FuR3VidzdhZkJ0K3ZST0FNVGJsanlhaGtNWnVkaG5BWEtFbUhtOFp5K0JRdHVpL09ZcWw3RlUvZ1ZQSTJUVzBNcVo1cU0xamh5cU1pM0R6amJEWjllRFlRRFZwalVJZy9JUUFoK1FRSkJBQWRBQ3dBQUFBQUdBQVlBQUFGWUdBbmptUnBubWlxaWxXWFpjUnFFaHczWE5jZ2t3WUg3U2ZPQlhneURJa2xHdExrVzVZNFRoSkJGeFZsamtCQjZZcThaRXBVWUpnRkpYSmFwT1lPVXBhMlY1eVl5U2k3R0ZKQzFlVmRWSlBZZHpJME5qZ0ROWEpFQkYrSVZZMUFJUUFoK1FRSkJBQWRBQ3dBQUFBQUdBQVlBQUFGWldBbmptUnBubWlxaWtKWEZNUnFOaHhuTUlWUngvTEFXYWFBck1OaERGRUQ0M0hHV1o1K3pwS2dHUzBacXFTQ2Npa2NhWjA0RXVHNk5QQkcxR01hRFJ4YTFpS2F1bkZLeWhpRFZGSEZnSnQ4YlNSdmVUSTBOZ3dNT2h4MFRnUXZIUzFZa2xFaEFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVm1ZQ2VPWkdtZWFLcUtRY01VeldwbUhMZDF4VlpuY2pjTUFWUGdwMXB3Q2lyR0RUVkE5azZad1JQRm1aNENWV3Vwc2RTT1h0cmdWMXRna0xqV1RZeVVmYlpISExFTU81UDJCanhUVTFhd240NHFCVzhtQzBSQ2hpczBOZ1U1TzFZdFptdGVrNU1oQUNINUJBa0VBQjBBTEFBQUFBQVlBQmdBQUFWbllDZU9aR21lYUtxS1FYWmQyV29XSEhkMURWTVhjc1VOSjRHQnMrTHdVclFLeWlpam5RcEFXY2R3NGdTa3FBQVJlM0p4VDdkdngwS0NmYjBqTk5aTTJtTGRJeXRXTzR2S0JzY1NjK1ZjNXA5d1ZYWWtBUU9CS0RRMkdTNDdYeTB2SFZkaWs1UWlJUUFoK1FRRkJBQWRBQ3dBQUFBQUdBQVlBQUFGYm1BbmptUnBubWlxaWxheGJjVnFNaHpIZEExdHl3Sm5uQUlEUjZEaVpGUVpUc29vUzU0WVAxbkhjQ3NOcFNJbHlhTEZjZ0trUWhWcjJwQkZpOUttY1c2WVIrSXpJMGJxU3UxWm9qZFJnbUtwSjB3clRpaUNLSVFvUFZFbFFYZ29PZ3dOT1RWalVpMW1kR2VhbXlVaEFDSDVCQVVFQUIwQUxBSUFBZ0FVQUJRQUFBVmJZQ2VPa01HZG5BR05MSWx5dy9DdWJjZWNXWjJkVEhzYk5aYXBKNEtrZ2kwVDdZU3NNWTI1Sm10WDRraWRKdXVWaFJwc1dUTFlkeFRXamsrbXNTZ0ZIVk03ekcvY0NMd3FSei9wMElmVDhZSkdYV1VjTkVoVktDbzFJUUFoK1FRRkJBQWRBQ3dCQUFFQUZnQVdBQUFGWjJBbmptUFZCV1NxbmdaSGNnYTZqc2JyMG5OMTEyVEZjNmFVNnpZYnBtckVXY2ZGTzRrRXloSFUyYWsxbzlYc0VydHlCYm1xWUpKN1E0MnhMaG00MlBsaVRUc3QxeXBTYzZkcUpGa3VHazVWQWtZcE9pSlhiVDlLVnh4Smhpb0JMUytOVVNaMktpRUFJZmtFQ1FRQUhRQXNBUUFCQUJZQUZnQUFCV3BnSjQ2aWxWMVgxazFrUzE2Y3kxMHUyY1MxeURVMU0zSUVFZ0hYOGRsR3dWcXl3L3ZsY2tSYVovbE1TbVBFcDY0VHM0aW8ycVJKcXoyUm42aHpMcVd1cWI1dEtyWTk3MGpCU3BHVTI5Nk9tbE01UzRBaVJseFVReU9HTmxreWhDNHdNbnRrSmlncUxDNGhBQ0g1QkFrRUFCMEFMQUFBQUFBWUFCZ0FBQVYrWUNlT1pHbWVwVlZjVjlaTjZMbHhkRTF2OGRqWWZOM0VEQnVFQkxFeFRqdmE4RlNrL1VxMW5DaEttbkdXdVNadVJKVjJ1aGFsbDh1eGlESzBNZG5WdWFUVlg4NUY1T2JBNC9NTzJnNm5zZU5ZVWsxbVUyOWVYUjFXZ1NoYUpBdUlLSkFkU1ZlTVBpZEJrRTAwUnlpVVBaZFNWajFiYWhZWkxCbUVkM0FoQUNINUJBa0VBQjBBTEFBQUFBQVlBQmdBQUFXQllDZU9aR21lcFZWY1Y5Rk42TGx4ZEUxdjhkallmTjNFakpyQlpLZ3hUanRhVE9BejFYS2lKMm5HRVVDakhOeUlOcngyaXB5UlJlbnRNRGtXVVlGY3ByazZGN2FYZGhIRncrVU9YUzIvdXJkVlpXY2tYR1ZnVTMweE55UUxVamsxQ3lWSmdTZG5IRDhtUVlVa0FtQWNSeWlUUFUxUVZEMWFaU29zQldsNXJoMGhBQ0g1QkFrRUFCMEFMQUFBQUFBWUFCZ0FBQVdDWUNlT1pHbWVwVlZjVjlGTjZMbHhkRTF2OGRqWWZOM0VqTnJGZEtreFRqdk9JRGVnL1VxMFphN1Q1SlJtMXFub1JxSU50WjFpdG1PaGdVYzBpNmhnUG5kb3JuRDc3QldKM1cvT2x6MEd3OUY5VXdCcEloTjFZSGNqV0hRY09GMUtXbFVtU1FNQU1WVlBKVUdISXdCaUhFY29TVDAybVRGWVBZNW5LaXd1TUhodUlRQWgrUVFKQkFBZEFDd0FBQUFBR0FBWUFBQUZlbUFuam1ScG5xV1ZNVXlHdmhjbnovTDFqZzJ0ejgxYnpLNVNabFk0NVRpR20wSFdLOG1TdDg2U1U0cFJvNklhU1JiRURxOGRpd3k3NVZoRVgvS0lLMktNMVIwWm8vMVd5OUYxTWpzTDF2ZjNYaklUSTFaMkhEWmxVRXA1SWtlS0oxTk5KVCtBSTE4Y1JTaEhPelNTTUp5SGNHRXJMUjJEb25BaEFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVjlZQ2VPWkdtZVpkQXdUSU8rRnlmUDh2V09CRDFjMTBBVHI4SU1Zb0xNQ3FjY3h3YVRBVXUxbXlqR0tWR2xvMmlXUThSMmpGVlJRT2JkQmtRTnpxQXM4bzBZUzNZbnhoREJtV1Y2ZHMzMnVUcGpZV1ZrVzExWVlDUlhYbHBiZUUyQ09Jd25WRThsUWpLR0kyQWNTQzg2UEQ0elhsUTBrbGhuTEg5eWNpRUFJZmtFQ1FRQUhRQXNBQUFBQUJnQUdBQUFCWDFnSjQ1a2FaNWwwQlJGZzc0TUo4OHk4NDRFZlhYWlJST3ZqR3h3RWd4a21WT09rd3pLZ0NYa1RTVGtsR0xFcWVob0c4bTBwSzhvSUFaM1pBRlJnN016ZDN5akF0UE40eFJFY25yOUxtTFQ0V05sWUdoZUhBSnVnbGhtWEZGelUxVW1TMDBvVlZBbFZWa2xSbEl2T2hrOU5HQXhORE5kWmlvZExYcDZJUUFoK1FRSkJBQWRBQ3dBQUFBQUdBQVlBQUFGZ0dBbmptUnBucVhRRkZrbm9HakJ6ZlJjd0NORUR4M1JaUU1hQk5hWWJWQ2JXZU9rNCtCNnM5UE05K3hFU2JKanRaTzhqYTViQUZqQTRXMUZ3WmVJMHpyL25LSU1oK3BteCtGdWdoM2FQc3ZwWlc0ZFFTUmdXNFpaWjEwbFUxVjZlRG1OTUk5REprVWNXaVpKa0ZJekF4aytRRUpWTWpVMFhtY3ZHYUNDclIwaEFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVjZZQ2VPWkdtZXBkQmxHWUcrR1NmUGN2YU8xcnk1UWJmTmxoZEJWa0FWWks2VDdOWUpMRTJ5SHJQekhNV0swODdSTnFwbXF3TE9KanY2cVVTY0pIbG81WkJKSEc1TVNuWnkyZThPSGoxK203dHViMTVYWkZzbFVWK0JKRG1LS0U0Y1FTWkRIRmdtUjJrM09qd0VQMTR3TkRSY1pDb3NIV2Q1YnlFQUlma0VDUVFBSFFBc0FBQUFBQmdBR0FBQUJYcGdKNDVrYVo1bDFXVk5wNkpueHMzMG5NRmpRQmR1RnhTMEFJd3dHeFpSbkFGT05PQUlTOGRsSnlxU0VhUWk0bTFFbFVZckhCNVdCQ1J4eG1hSXFNRjVqY0d0RGh2TmpVK2ZZOTBJTEI2WHVXZG9WRlpqV2xDQlhvaG1Ta3ROZUNSRUhGY25rWk1uT2pNOEtqOUJVakkxTkZ0b0VBMHRiblJqSVFBaCtRUUpCQUFkQUN3QUFBQUFHQUFZQUFBRmdHQW5qbVJwbmlaRWRCYnFObHdzeDQwN0NyR3hkbE5IR0RHQkM4SVp1QUlEam90anNJbUF3bExST1VxV1lBR3FLTUNwalpqYUVaREUyWVU3U3BFbGZhNXdXajcydVN3aXlNTjBFYWR5N3JoSEMzZGFIQXRmVFdkakkxaGhYRjVmUmxwV0ptQk9pU2xGV1NkSUhCQXVPRXc3UFQ4eFdqQXpNbzVoRml0d2ZYMGhBQ0g1QkFrRUFCMEFMQUFBQUFBWUFCZ0FBQVYxWUNlT1pHbWVwa1YwQWVvU1hDekhxeXRXOFVWTzNSWGJIWTdCWnVCWVRqZ2QwSGNTQWtmRkV1dzVXbkJxSW82UzJ1T1FPQzF1ZGhUd2lqc1RzR2g2RG1MTlozaTVIUXpYei9PUjlzd2NzYmxYSlU1VVVTVkpUejRWS0VJTEtBdEZSeWc0ZXlNOFBuQTJNRE15V0Z3QkJDc0FkR0loQUNINUJBa0VBQjBBTEFBQUFBQVlBQmdBQUFWellDZU9aR21lWmdCMUFlb1NBeWZQQStHU2NWWldHVGZjQWM3bGR1RzBUaHpkclZQZ25BYkRwZWp5SXhHYzBoSEhOaG9vczUxTVZZUUZrMGRCcy9ZSUtaczVxN082QXhlbDUyNU9SVjF4ZTlWaVZtNVNXeVZRWUZSSUJWSk5LRUZSS0VWSEtEazdQV00zTURNMFhHWXFjWE5xSVFBaCtRUUpCQUFkQUN3QUFBQUFHQUFZQUFBRmQyQW5qbVJwbm1iUVdkMkVvdERBY1lZeEQ5QkxEZ05oRWp4ZGdKUFJaVGlxRThlbkUzRk9nMkpUbEJtVVl0TmRidFRMam9Da3AzY2s3Z2pLWTQ1Z1pCaXpSNWEydTJOZ09lZWQ4Z1R0NWJoRVhXTmdPMjQ0SlZGZVZTWUxTMU1FZkdGU0tFZE5QRXdrUUZaVE1UTTFOMXRqYXl4L2VGa2hBQ0g1QkFrRUFCMEFMQUFBQUFBWUFCZ0FBQVZvWUNlT1pHbWVwdEFGYU50WkJtY3dUR3hZN21nWXA3QzdBZzdFQmVHMGpMa1ZzbVFZSmpzUUhnbjIxT0YwVlpKVXRNd3VmVm1kU3NRSWswZUJzcG5CRW0yejcyNjFheGhYd1NNcTNOU3NSazl5UnloQlRpaEZkaWMvS1lvNU1ESTBObVlkS20yU1dTRUFJZmtFQ1FRQUhRQXNBQUFBQUJnQUdBQUFCV3hnSjQ1a2FaNW0xUVZvdXhvYzB6UU1aN0N1YURBb1k3Z1ZUazRnUkJWekhjN0VaQkFnUllJZktjQjdpcW9qcVZWSE9tNlBGZXlXb1JJMXRxT3pDSWZ1cUsvdERubmt0WG9OaTdaMjFXYXdkVTVQVVNkMUxZVWlRWUVvUkRrN1BYc3RBVEF5TkRaL1ZwZHhUeUVBSWZrRUNRUUFIUUFzQUFBQUFCZ0FHQUFBQldOZ0o0NWthWjVtMVFsbzJ3V2IwWFJRWTJ5Qk8yN3oyV3c2ZzY0alJCa2NRK0xFQkV5S21xTkF6emw5T2tsUTRuVlVGRldwcXRWMkJCa0p5bU8wZDl5cGRxL3ZyRE1yM1g2MThOUGJaVmlhRm50NkN5NDhLRDlKTURJME5qaGpLaXhzV3lFQUlma0VDUVFBSFFBc0FBQUFBQmdBR0FBQUJWaGdKNDVrYVo3bTBnbG91MjdGMmxuRjVwSTJhdVV0M3dNb24wc29JZzVMQXN1dHBNUXRUYjdZa3lRVk5hZldFUXRMMnNxNDN5ejQycWxpemNhYmtMeGtkOUxCRTd5VUJzeUxhcmYxUG9JcFdUVmdJaXdxZ2xnaEFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVlpZQ2VPWkdtZXA5QUJhTnN4aE5xcGpPeSt0c25jeGQzMUtLQlBTTnI1UnNaUjdyaE1Ia1ZPd3BQVUlDMmZyT21wSXVKcVI5N1pWenlTZnF2SXNaTThiV3JYSXFKTFRxS2I3TVdyU0FCSHdUb0xZbjArWGdwalV5RUFJZmtFQ1FRQUhRQXNBQUFBQUJnQUdBQUFCVkZnSjQ1a2FaNW5oYTVqWm9sSloyVXNTYVBBdlJKMXg2Ty9YdERXSTVZQVJaS3FsVFNLWHMxb2JTSmFTcSttbUlpSzVjcXVVSkd1T2NhYXlqVzBMemtzdFUvdmtwclpxOUNRSFdURzJ1U2JleUVBSWZrRUNRUUFIUUFzQUFBQUFCZ0FHQUFBQlVsZ0o0NWthWjVuaGE0anBJcE9CN0Vrd2Rwc1FIYzYydSsvMms0NExNcU1MZVF1cHV4TVJJdW05QlNGVGErZGwyaW01R0pMdUdLWUZNeXR5dEt4U2IzeWlpcnU0clA2WllVQUFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVTVZQ2VPWkdtZUo0Q3VZMUNxS2l1Nk1ydlVkNjJiOU43dnRaOFBTQ3dtUkxHaU1yVkVKWnZMMzdNcGxGV2hwWnpOaW0zeGxxcGpseFVDQUNINUJBa0VBQjBBTEFBQUFBQVlBQmdBQUFVM1lDZU9aR21lNklTdTRtSzY3RmpGTkoyc2Q2M0g4MTdEUHFCdlNDeUtWRVdrY1lrUzZweE1VUys2azFCWDAxT1dCWVhxbE5kVENBQWgrUVFKQkFBZEFDd0FBQUFBR0FBWUFBQUZMR0Fuam1ScG5taXFvdFBxdm5Bc3oySkxxL2F0Ny96cDlNRGdLQmNqQ284OHhVdXBNNmFjVHRnUGFRb0JBQ0g1QkFVRUFCMEFMQUFBQUFBWUFCZ0FBQVVqWUNlT1pHbWVhS3F1Yk91K2NMeFNjbTNmZUk3VGV0L3p2cUJ3eUFLV2pDOGtNUVFBT3c9PSkgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyO1xufVxuLm14LXRvb2x0aXAtY29udGVudCAudGFibGUgdGgsXG4ubXgtdG9vbHRpcC1jb250ZW50IC50YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbn1cbiIsIi5teC10YWJjb250YWluZXItcGFuZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLm14LXRhYmNvbnRhaW5lci1jb250ZW50LmxvYWRpbmcge1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaE5nQTJBUE1BQVAvLy93QUFBSGg0ZUJ3Y0hBNE9EdGpZMkZSVVZOemMzTVRFeEVoSVNJcUtpZ0FBQUFBQUFBQUFBQUFBQUFBQUFDSDVCQWtLQUFBQUlmNGFRM0psWVhSbFpDQjNhWFJvSUdGcVlYaHNiMkZrTG1sdVptOEFJZjhMVGtWVVUwTkJVRVV5TGpBREFRQUFBQ3dBQUFBQU5nQTJBQUFFeXhESVNhdTlPT3ZOdS85Z0tJNWt5U0VKUVNTSTZVcUtLaFBLV3lMejNOcGltcXNKbnVnM0U0YUlNaVBJOXdzcVBUamlUbGt3cUF3RlRDeFhleFlHczBIMmdnSk9MWUxCUURDeTVnd213WXg5SkpyQXNzSFFYc0tyOUNGdU0zQWxjakowSUFkK0JBTUhMbWxySkFkdUJvNVBsNWlabXB1Y25aNmZjV3FJbUpDamFIT1poaXFtRkl1QWw2NFpzWml6RjZvRXJFSzN1Uk9sbTc2Z3djTER4TVhHeDhYQWo2SWt1NCtvSXJVazBoL1UwV0Vqem5IUUlzcWhrY2pCM3NuY3hkYkM1K0xseWN6aDdrOFJBQ0g1QkFrS0FBQUFMQUFBQUFBMkFEWUFBQVRNRU1oSnE3MDQ2ODI3LzJBb2ptUnBubVZoRUlSUm9HY3hzT3p3d3VSS3N3Wk83anZmQ0VnVGluUzduaEYwbU5FR2h3c2l3VW9nbHBTRHpoQzFLSWlLa1dBd0VKZ1FSTllWSk5pWlNkUjBJdVNzbGRKRlVKMHd1T01KSVcwMGJ5TnhSSE9CWklRamFHbHJXQnhmUUdHUUhsTlZqNVdhbTV5ZG5wOUxZMldib29zV2dpeW1RcWdFcWhON2ZaQ3dHYk95TzdFWHJLNDR1aHFscElxZ3dzUEV4Y2JIeU1lL0tNc2l2U2JQZExjbnRkSlAxTlBPYmlmUmlhUE13Y25DemNyYnlOWEc2TVhkeHVUaTd6NFJBQ0g1QkFrS0FBQUFMQUFBQUFBMkFEWUFBQVRPRU1oSnE3MDQ2ODI3LzJBb2ptUnBubWlxQXNJd0NLc3BFRFFCeCtOUUV3T2U3ejFmYUZhN0NVR3QxMUZZTU5BTUJWTFNTQ3JvYW9Qb2NFY1ZPWGNFZytoS0M1TEF0VEhRaEthSmlMUnU2THNUdjEzeTBJSE1PeXc5QjE4R2ZuK0Zob2VJaVlvWkNBazBDUWlMRmdwb0NobFRSd2h0QkpFV2NEWkNqbTBKRjN4bU1adHVGcVpDcVFRWG4za29vbWlrc0hpWm01MlNBSlJnbHJ3VGpZKzd3Y2JIeU1uS0U1Z296VzljSjdFL1dDZXNhdFVtMTF0RjB0RWp6eks0eTRuaHh0UEkyOGJxd2VqSTV1VHhKaEVBSWZrRUNRb0FBQUFzQUFBQUFEWUFOZ0FBQk1zUXlFbXJ2VGpyemJ2L1lDaU9aR21lYUtvQ3dqQUlxeWtRTkFISDQxQVRBNTd2UFY5b1Zyc0pRYTNYY1lsS0dtV3VKM0luRlJGcDFZNnVGaXh0YVYzUWwzY2FoejlYMnltZDdUaFRiNlo4VHEvYjcvaTh2R0NnR1FvYWNVSUZab0FYYkVkOU93UUdHR1pIaXpXT1FKQ1JCQmlJUW9vN2paaFJTd2RtQjNvVUI0b0dvNlNxcTZ5dE1RZ0pOQWtJckFxUkNpT0NJd2lXQkxSVFJTV3hsZ2toanlTOU5NYVV5TWxEVk1LOXhVT2ZKYnlXdjNxMmk3aEx1aFd3c3RsQ21hdkg1c3lyNWVyVnJ1NDRFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2ditMd2VFMS8yTDJ4K1ZCbG1TNFVZaDBLSkZvRkhqWHhSY245N2xKV1dsNWlaY2dVR05BWUZKSk1pQldhZ1E0TWxuVHNFQmlLTElxczFya0Ftc1RSV3FDU3FPNjFXa1JrSUNUUUpDQmNIWmdkSENyRUt4cW9HeVVJSXRnVEZlc0syQ1h2VXQzcmNCSHZZc2RwNjA3Yldlc3VyelpYQncrZ2lFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2ditMd2VFMS8yTDJ4K1ZCbG1TNFVZaDBLSkZvRkhqWHhSY245N2xKV1dsNWdTQ0FrMENRaVdDanMwQ3BRSW9qV2ZKWk1kbktjRUNhcURJSzQxWGtBaHREUzJYQ0d0cDdBa2p4Nm1ycW5Ca1NLaG9xUVhCUVkwQmdWTG01M0dGUVZtMHBUUG9nYVZ0Tit1bGR3NzNwUUhaZ2VXQjl3RzZwa29FUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2dktVU0Nsa0RnTFFvN05BcC9Fd2lDTlg1Q2NSWjdpQVFKaTFRWGp6VkNacFNWQkpkQUY0NklrVDVzRjRlUGlxSlJHWUdDaElXR2puMnVzck8wdFhZRkJqUUdCYlFGWnJ4UVNpSzVnZ1l5a3lHVkpwakpqOHVkSWNRN3hpV2pJUWRtQjJ1cEl3ZkVCdHEySG95ejFyUE01OURseUxUazR1OHBFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3a1JDVm9Db1dtOWhCTEZqcWFBZGhEVEdyUGtOSDZTV1VLQ3UvTjJ3cldTcmhiOG9HbHFZQWljSFpPSU5ETUhHOTdlWFhvZFVsTlZWbGRnUzRhS2k0eU5qbzhGQmpRR0JZOFhCV3MwQTVWUVhSbVNVd2FkWlJob1VKazhwV0duY2hlZ082SkNlRFlZQjZnREIxYWVHUWVnQnJtV3djTER4TVhHeDF5QUtic2lzNEVnemo5c0o3ZlNtdFN0UTZReTI4M0tLTXpJamVIRTBjYlY1OW5sM2NYazR1OG9FUUE3KSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMycHggMzJweDtcbn1cbi5teC10YWJjb250YWluZXItdGFicyB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLm14LXRhYmNvbnRhaW5lci10YWJzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubXgtdGFiY29udGFpbmVyLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICNmMmRlZGU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGNvbG9yOiAjYjk0YTQ4O1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiAtNXB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB6LWluZGV4OiAxOyAvKiBpbmRpY2F0b3Igc2hvdWxkIG5vdCBoaWRlIGJlaGluZCBvdGhlciB0YWIgKi9cbn1cbiIsIi8qIGJhc2Ugc3RydWN0dXJlICovXG4ubXgtZ3JpZCB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIHRvIHByZXZlbnQgYW55IG1hcmdpbiBmcm9tIGVzY2FwaW5nIGdyaWQgYW5kIGZvb2JhcmluZyBvdXIgc2l6ZSBjYWxjdWxhdGlvbnMgKi9cbn1cbi5teC1ncmlkLWNvbnRyb2xiYXIsIC5teC1ncmlkLXNlYXJjaGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuLm14LWdyaWQtY29udHJvbGJhciAubXgtYnV0dG9uLFxuLm14LWdyaWQtc2VhcmNoLWNvbnRyb2xzIC5teC1idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLm14LWdyaWQtc2VhcmNoLWNvbnRyb2xzIC5teC1idXR0b24gKyAubXgtYnV0dG9uLFxuLm14LWdyaWQtY29udHJvbGJhciAubXgtYnV0dG9uICsgLm14LWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuM2VtO1xufVxuXG5bZGlyPVwicnRsXCJdIC5teC1ncmlkLXNlYXJjaC1jb250cm9scyAubXgtYnV0dG9uICsgLm14LWJ1dHRvbixcbltkaXI9XCJydGxcIl0gLm14LWdyaWQtY29udHJvbGJhciAubXgtYnV0dG9uICsgLm14LWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjNlbTtcbn1cblxuLm14LWdyaWQtcGFnaW5nYmFyLFxuLm14LWdyaWQtc2VhcmNoLWNvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ubXgtZ3JpZC10b29sYmFyLCAubXgtZ3JpZC1zZWFyY2gtaW5wdXRzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmbGV4OiAxO1xufVxuXG5bZGlyPVwicnRsXCJdIC5teC1ncmlkLXRvb2xiYXIsXG5bZGlyPVwicnRsXCJdIC5teC1ncmlkLXNlYXJjaC1pbnB1dHMge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5bZGlyPVwicnRsXCJdIC5teC1ncmlkLXBhZ2luZ2JhcixcbltkaXI9XCJydGxcIl0gLm14LWdyaWQtc2VhcmNoLWNvbnRyb2xzIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLm14LWdyaWQtcGFnaW5nLXN0YXR1cyB7XG4gICAgcGFkZGluZzogMCA4cHggNXB4O1xufVxuXG4vKiBzZWFyY2ggZmllbGRzICovXG4ubXgtZ3JpZC1zZWFyY2gtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLm14LWdyaWQtc2VhcmNoLWxhYmVsIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbltkaXI9XCJydGxcIl0gLm14LWdyaWQtc2VhcmNoLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLm14LWdyaWQtc2VhcmNoLWlucHV0IHtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ubXgtZ3JpZC1zZWFyY2gtbWVzc2FnZSB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbn1cblxuLyogd2lkZ2V0IGNvbWJpbmF0aW9ucyAqL1xuLm14LWRhdGF2aWV3IC5teC1ncmlkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbiIsIi5teC1jYWxlbmRhciB7XG4gICAgei1pbmRleDogMTAwMDtcbn1cblxuLm14LWNhbGVuZGFyLW1vbnRoLWRyb3Bkb3duLW9wdGlvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLm14LWNhbGVuZGFyLCAubXgtY2FsZW5kYXItbW9udGgtZHJvcGRvd24ge1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubXgtY2FsZW5kYXItbW9udGgtY3VycmVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubXgtY2FsZW5kYXItbW9udGgtc3BhY2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5teC1jYWxlbmRhciwgLm14LWNhbGVuZGFyLW1vbnRoLWRyb3Bkb3duLW9wdGlvbnMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbiIsIi5teC1kYXRhZ3JpZCB0ciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXgtZGF0YWdyaWQgdHIubXgtZGF0YWdyaWQtcm93LWVtcHR5IHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5teC1kYXRhZ3JpZCB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm14LWRhdGFncmlkIHRoLCAubXgtZGF0YWdyaWQgdGQge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG59XG5cbi8qIGhlYWQgKi9cbi5teC1kYXRhZ3JpZCB0aCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBSZXF1aXJlZCBmb3IgdGhlIHBvc2l0aW9uaW5nIG9mIHRoZSBjb2x1bW4gcmVzaXplcnMgKi9cbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG59XG4ubXgtZGF0YWdyaWQtaGVhZC1jYXB0aW9uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubXgtZGF0YWdyaWQtc29ydC1pY29uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5bZGlyPVwicnRsXCJdIC5teC1kYXRhZ3JpZC1zb3J0LWljb24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcbn1cbi5teC1kYXRhZ3JpZC1jb2x1bW4tcmVzaXplciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtNnB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG59XG5bZGlyPVwicnRsXCJdIC5teC1kYXRhZ3JpZC1jb2x1bW4tcmVzaXplciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTZweDtcbn1cblxuLyogYm9keSAqL1xuLm14LWRhdGFncmlkIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xufVxuLm14LWRhdGFncmlkIHRib2R5IHRyOm50aC1jaGlsZCgybisxKSB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbn1cbi5teC1kYXRhZ3JpZCB0Ym9keSAuc2VsZWN0ZWQgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG4ubXgtZGF0YWdyaWQtZGF0YS13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubXgtZGF0YWdyaWQgdGJvZHkgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE2cHg7XG4gICAgbWF4LWhlaWdodDogMTZweDtcbn1cbi5teC1kYXRhZ3JpZCBpbnB1dCxcbi5teC1kYXRhZ3JpZCBzZWxlY3QsXG4ubXgtZGF0YWdyaWQgdGV4dGFyZWEge1xuICAgIGN1cnNvcjogYXV0bztcbn1cblxuLyogZm9vdCAqL1xuLm14LWRhdGFncmlkIHRmb290IHRoLFxuLm14LWRhdGFncmlkIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xufVxuLm14LWRhdGFncmlkIHRmb290IHRoIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbn1cbi5teC1kYXRhZ3JpZC5teC1jb250ZW50LWxvYWRpbmcgLm14LWNvbnRlbnQtbG9hZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBhbmltYXRpb246IHBsYWNlaG9sZGVyR3JhZGllbnQgMXMgbGluZWFyIGluZmluaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjRjVGNUY1O1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNGNUY1RjUgMCUsICNGNUY1RjUgNSUsICNGOUY5RjkgNTAlLCAjRjVGNUY1IDk1JSwgI0Y1RjVGNSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMHB4IDEwMHB4O1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyR3JhZGllbnQge1xuICAgIDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwcHggMDsgfVxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggMDsgfVxufVxuXG4ubXgtZGF0YWdyaWQtdGFibGUtcmVzaXppbmcgdGgsXG4ubXgtZGF0YWdyaWQtdGFibGUtcmVzaXppbmcgdGQge1xuICAgIGN1cnNvcjogY29sLXJlc2l6ZSAhaW1wb3J0YW50O1xufVxuIiwiLm14LXRlbXBsYXRlZ3JpZC1jb250ZW50LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5teC10ZW1wbGF0ZWdyaWQtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG4ubXgtdGVtcGxhdGVncmlkLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ubXgtdGVtcGxhdGVncmlkLWVtcHR5IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuLm14LXRlbXBsYXRlZ3JpZC1pdGVtLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuLm14LXRlbXBsYXRlZ3JpZC1pdGVtIC5teC10YWJsZSB0aCxcbi5teC10ZW1wbGF0ZWdyaWQtaXRlbSAubXgtdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG59XG4iLCIubXgtc2Nyb2xsY29udGFpbmVyLWhvcml6b250YWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG4ubXgtc2Nyb2xsY29udGFpbmVyLWhvcml6b250YWwgPiBkaXYge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5teC1zY3JvbGxjb250YWluZXItd3JhcHBlciB7XG4gICAgcGFkZGluZzogMTBweDtcbn1cbi5teC1zY3JvbGxjb250YWluZXItbmVzdGVkIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuLm14LXNjcm9sbGNvbnRhaW5lci1maXhlZCA+IC5teC1zY3JvbGxjb250YWluZXItbWlkZGxlID4gLm14LXNjcm9sbGNvbnRhaW5lci13cmFwcGVyLFxuLm14LXNjcm9sbGNvbnRhaW5lci1maXhlZCA+IC5teC1zY3JvbGxjb250YWluZXItbGVmdCA+IC5teC1zY3JvbGxjb250YWluZXItd3JhcHBlcixcbi5teC1zY3JvbGxjb250YWluZXItZml4ZWQgPiAubXgtc2Nyb2xsY29udGFpbmVyLWNlbnRlciA+IC5teC1zY3JvbGxjb250YWluZXItd3JhcHBlcixcbi5teC1zY3JvbGxjb250YWluZXItZml4ZWQgPiAubXgtc2Nyb2xsY29udGFpbmVyLXJpZ2h0ID4gLm14LXNjcm9sbGNvbnRhaW5lci13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLm14LXNjcm9sbGNvbnRhaW5lci1tb3ZlLWluIHtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDI1MG1zIGVhc2Utb3V0O1xufVxuLm14LXNjcm9sbGNvbnRhaW5lci1tb3ZlLW91dCB7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAyNTBtcyBlYXNlLWluO1xufVxuLm14LXNjcm9sbGNvbnRhaW5lci1zaHJpbmsgLm14LXNjcm9sbGNvbnRhaW5lci10b2dnbGVhYmxlIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aDtcbn1cblxuLm14LXNjcm9sbGNvbnRhaW5lci10b2dnbGVhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm14LXNjcm9sbGNvbnRhaW5lci1zbGlkZSA+IC5teC1zY3JvbGxjb250YWluZXItdG9nZ2xlYWJsZSA+IC5teC1zY3JvbGxjb250YWluZXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cbi5teC1zY3JvbGxjb250YWluZXItcHVzaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm14LXNjcm9sbGNvbnRhaW5lci1zaHJpbmsgPiAubXgtc2Nyb2xsY29udGFpbmVyLXRvZ2dsZWFibGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4ubXgtc2Nyb2xsY29udGFpbmVyLXB1c2gubXgtc2Nyb2xsY29udGFpbmVyLW9wZW4gPiBkaXYsXG4ubXgtc2Nyb2xsY29udGFpbmVyLXNsaWRlLm14LXNjcm9sbGNvbnRhaW5lci1vcGVuID4gZGl2IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5teC1zY3JvbGxjb250YWluZXItcHVzaC5teC1zY3JvbGxjb250YWluZXItb3BlbiA+IC5teC1zY3JvbGxjb250YWluZXItdG9nZ2xlYWJsZSxcbi5teC1zY3JvbGxjb250YWluZXItc2xpZGUubXgtc2Nyb2xsY29udGFpbmVyLW9wZW4gPiAubXgtc2Nyb2xsY29udGFpbmVyLXRvZ2dsZWFibGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuIiwiLm14LW5hdmJhci1pdGVtIGltZyxcbi5teC1uYXZiYXItc3ViaXRlbSBpbWcge1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuIiwiLm14LW5hdmlnYXRpb250cmVlIC5uYXZiYXItaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLm14LW5hdmlnYXRpb250cmVlIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm14LW5hdmlnYXRpb250cmVlIHVsIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RmZTZlYTtcbn1cbi5teC1uYXZpZ2F0aW9udHJlZSBsaTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG4ubXgtbmF2aWdhdGlvbnRyZWUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubXgtbmF2aWdhdGlvbnRyZWUgYS5hY3RpdmUge1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICMzNDk4REI7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLm14LW5hdmlnYXRpb250cmVlIC5teC1uYXZpZ2F0aW9udHJlZS1jb2xsYXBzZWQgdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ubXgtbmF2aWdhdGlvbnRyZWUgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuLm14LW5hdmlnYXRpb250cmVlIHVsIGxpIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbn1cbi5teC1uYXZpZ2F0aW9udHJlZSB1bCBsaSB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbi5teC1uYXZpZ2F0aW9udHJlZSB1bCBsaSB1bCBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbn1cbltkaXI9XCJydGxcIl0gLm14LW5hdmlnYXRpb250cmVlIHVsIGxpIHVsIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cbi5teC1uYXZpZ2F0aW9udHJlZSB1bCBsaSB1bCBsaSB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcbn1cbi5teC1uYXZpZ2F0aW9udHJlZSB1bCBsaSB1bCBsaSB1bCBsaSBpbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4iLCIubXgtbGluayBpbWcsXG4ubXgtYnV0dG9uIGltZyB7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuLm14LWxpbmsge1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiIsIi5teC1ncm91cGJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5teC1ncm91cGJveC1oZWFkZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgY29sb3I6ICNlZWU7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG4ubXgtZ3JvdXBib3gtY29sbGFwc2libGUgPiAubXgtZ3JvdXBib3gtaGVhZGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubXgtZ3JvdXBib3guY29sbGFwc2VkID4gLm14LWdyb3VwYm94LWhlYWRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLm14LWdyb3VwYm94LWJvZHkge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5teC1ncm91cGJveC5jb2xsYXBzZWQgPiAubXgtZ3JvdXBib3gtYm9keSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5teC1ncm91cGJveC1oZWFkZXIgKyAubXgtZ3JvdXBib3gtYm9keSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbn1cbi5teC1ncm91cGJveC1jb2xsYXBzZS1pY29uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5bZGlyPVwicnRsXCJdIC5teC1ncm91cGJveC1jb2xsYXBzZS1pY29uIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cbiIsIi5teC1kYXRhdmlldyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm14LWRhdGF2aWV3LWNvbnRyb2xzIHtcbiAgICBwYWRkaW5nOiAxOXB4IDIwcHggMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xufVxuXG4ubXgtZGF0YXZpZXctY29udHJvbHMgLm14LWJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ubXgtZGF0YXZpZXctY29udHJvbHMgLm14LWJ1dHRvbiArIC5teC1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbn1cblxuLm14LWRhdGF2aWV3LW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cbi5teC1kYXRhdmlldy1tZXNzYWdlID4gZGl2IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4ubXgtZGF0YXZpZXctbWVzc2FnZSA+IGRpdiA+IHAge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIFRvcC1sZXZlbCBkYXRhIHZpZXcgaW4gd2luZG93IGlzIGEgc3BlY2lhbCBjYXNlLCBoYW5kbGUgaXQgYXMgc3VjaC4gKi9cbi5teC13aW5kb3ctdmlldyAubXgtd2luZG93LWJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG59XG4ubXgtd2luZG93LXZpZXcgLm14LXdpbmRvdy1ib2R5ID4gLm14LWRhdGF2aWV3ID4gLm14LWRhdGF2aWV3LWNvbnRlbnQsXG4ubXgtd2luZG93LXZpZXcgLm14LXdpbmRvdy1ib2R5ID4gLm14LXBsYWNlaG9sZGVyID4gLm14LWRhdGF2aWV3ID4gLm14LWRhdGF2aWV3LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDE1cHg7XG59XG4ubXgtd2luZG93LXZpZXcgLm14LXdpbmRvdy1ib2R5ID4gLm14LWRhdGF2aWV3ID4gLm14LWRhdGF2aWV3LWNvbnRyb2xzLFxuLm14LXdpbmRvdy12aWV3IC5teC13aW5kb3ctYm9keSA+IC5teC1wbGFjZWhvbGRlciA+IC5teC1kYXRhdmlldyA+IC5teC1kYXRhdmlldy1jb250cm9scyB7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCA2cHggNnB4O1xufVxuIiwiLm14LWRpYWxvZyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogNTAwcHg7XG4gICAgLyogSWYgdGhlIG1hcmdpbiBpcyBzZXQgdG8gYXV0bywgSUU5IHJlcG9ydHMgdGhlIGNhbGN1bGF0ZWQgdmFsdWUgb2YgdGhlXG4gICAgICogbWFyZ2luIGFzIHRoZSBhY3R1YWwgdmFsdWUuIE90aGVyIGJyb3dzZXJzIHdpbGwganVzdCByZXBvcnQgMC4gRWxpbWluYXRlXG4gICAgICogdGhpcyBkaWZmZXJlbmNlIGJ5IHNldHRpbmcgbWFyZ2luIHRvIDAgZm9yIGV2ZXJ5IGJyb3dzZXIuICovXG4gICAgbWFyZ2luOiAwO1xufVxuLm14LWRpYWxvZy1oZWFkZXIge1xuICAgIGN1cnNvcjogbW92ZTtcbn1cbi5teC1kaWFsb2ctYm9keSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG4iLCIubXgtd2luZG93IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICAvKiBJZiB0aGUgbWFyZ2luIGlzIHNldCB0byBhdXRvLCBJRTkgcmVwb3J0cyB0aGUgY2FsY3VsYXRlZCB2YWx1ZSBvZiB0aGVcbiAgICAgKiBtYXJnaW4gYXMgdGhlIGFjdHVhbCB2YWx1ZS4gT3RoZXIgYnJvd3NlcnMgd2lsbCBqdXN0IHJlcG9ydCAwLiBFbGltaW5hdGVcbiAgICAgKiB0aGlzIGRpZmZlcmVuY2UgYnkgc2V0dGluZyBtYXJnaW4gdG8gMCBmb3IgZXZlcnkgYnJvd3Nlci4gKi9cbiAgICBtYXJnaW46IDA7XG59XG4ubXgtd2luZG93LWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm14LXdpbmRvdy1hY3RpdmUgLm14LXdpbmRvdy1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7XG59XG4ubXgtd2luZG93LWhlYWRlciB7XG4gICAgY3Vyc29yOiBtb3ZlO1xufVxuLm14LXdpbmRvdy1ib2R5IHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cbiIsIi5teC1kcm9wZG93bi1saXN0ICoge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5teC1kcm9wZG93bi1saXN0IGltZyB7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5bZGlyPVwicnRsXCJdIC5teC1kcm9wZG93bi1saXN0IGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ubXgtZHJvcGRvd24tbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm14LWRyb3Bkb3duLWxpc3QgPiBsaSB7XG4gICAgcGFkZGluZzogNXB4IDEwcHggMTBweDtcbiAgICBib3JkZXI6IDFweCAjZGRkO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQgc29saWQgbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm14LWRyb3Bkb3duLWxpc3QgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG59XG4ubXgtZHJvcGRvd24tbGlzdCA+IGxpOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xufVxuLm14LWRyb3Bkb3duLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1jaGlsZCgybisxKSB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbn1cbi5teC1kcm9wZG93bi1saXN0ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG59XG4iLCIubXgtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogOXB4O1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm14LWhlYWRlci1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogI2VlZTtcbiAgICBsaW5lLWhlaWdodDogMzBweDsgLyogaGVpZ2h0IG9mIGJ1dHRvbnMgKi9cbn1cbmJvZHlbZGlyPVwibHRyXCJdIC5teC1oZWFkZXItbGVmdCxcbmJvZHlbZGlyPVwicnRsXCJdIC5teC1oZWFkZXItcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDlweDtcbiAgICBsZWZ0OiA5cHg7XG59XG5ib2R5W2Rpcj1cImx0clwiXSAubXgtaGVhZGVyLXJpZ2h0LFxuYm9keVtkaXI9XCJydGxcIl0gLm14LWhlYWRlci1sZWZ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA5cHg7XG4gICAgcmlnaHQ6IDlweDtcbn1cbiIsIi5teC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbn1cbiIsIi5teC1saXN0dmlldyB7XG4gICAgcGFkZGluZzogOHB4O1xufVxuLm14LWxpc3R2aWV3ID4gdWwge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm14LWxpc3R2aWV3ID4gdWwgPiBsaSB7XG4gICAgcGFkZGluZzogNXB4IDEwcHggMTBweDtcbiAgICBib3JkZXI6IDFweCAjZGRkO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQgc29saWQgbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG4ubXgtbGlzdHZpZXcgPiB1bCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbn1cbi5teC1saXN0dmlldyA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG59XG4ubXgtbGlzdHZpZXcgbGk6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xufVxuLm14LWxpc3R2aWV3IGxpOm50aC1jaGlsZCgybisxKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbn1cbi5teC1saXN0dmlldyA+IHVsID4gbGkuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG59XG4ubXgtbGlzdHZpZXctY2xpY2thYmxlIHVsICoge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5teC1saXN0dmlldy1lbXB0eSB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm14LWxpc3R2aWV3IC5teC1saXN0dmlldy1sb2FkaW5nIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5teC1saXN0dmlldy1zZWFyY2hiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5teC1saXN0dmlldy1zZWFyY2hiYXIgPiBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ubXgtbGlzdHZpZXctc2VhcmNoYmFyID4gYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuW2Rpcj1cInJ0bFwiXSAubXgtbGlzdHZpZXctc2VhcmNoYmFyID4gYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5teC1saXN0dmlldy1zZWxlY3Rpb24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAwIDE1cHggMCA1cHg7XG59XG5bZGlyPVwicnRsXCJdIC5teC1saXN0dmlldy1zZWxlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgNXB4IDAgMTVweDtcbn1cbi5teC1saXN0dmlldy1zZWxlY3RhYmxlIC5teC1saXN0dmlldy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ubXgtbGlzdHZpZXcgLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGVmO1xufVxuLm14LWxpc3R2aWV3IC5teC10YWJsZSB0aCxcbi5teC1saXN0dmlldyAubXgtdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDJweDtcbn1cbiIsIi5teC1sb2dpbiAuZm9ybS1jb250cm9sIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuIiwiLm14LW1lbnViYXIge1xuICAgIHBhZGRpbmc6IDhweDtcbn1cbi5teC1tZW51YmFyLWljb24ge1xuICAgIGhlaWdodDogMTZweDtcbn1cbi5teC1tZW51YmFyLW1vcmUtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDTUFBQUFqQ0FZQUFBQWUyYk5aQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFLTkpSRUZVZU5waS9QLy9QOE5nQVV3TWd3aU1PbWJVTWFPT0dYWE1xR05HSFRQWUhNT0NUZkRzMmJNZVFLb09pSTFCWENCdU1qWTIza0ZyZFl6b1RRaWdSbThndFFXTEcwT0JCcXlobFRwYzBkU09JeFRyYUt3T3EyUFVjV2hXcDdFNnJJNjVpVVB6VFJxcncrcVlHaHlhbTJpc0R0TXh3RVMxQ1VnRkFmRnhxQkNJRGtKUGJOUldoelUzalJaNm80NFpkY3lvWTBZZE0rcVlVY2NNVXNjQUJCZ0FVWHBFakUvQnMvSUFBQUFBU1VWT1JLNUNZSUk9KSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiLm14LW5hdmlnYXRpb25saXN0IHtcbiAgICBwYWRkaW5nOiA4cHg7XG59XG4ubXgtbmF2aWdhdGlvbmxpc3QgbGk6aG92ZXIsXG4ubXgtbmF2aWdhdGlvbmxpc3QgbGk6Zm9jdXMsXG4ubXgtbmF2aWdhdGlvbmxpc3QgbGkuYWN0aXZlIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5OERCO1xufVxuLm14LW5hdmlnYXRpb25saXN0ICoge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5teC1uYXZpZ2F0aW9ubGlzdCAudGFibGUgdGgsXG4ubXgtbmF2aWdhdGlvbmxpc3QgLnRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAycHg7XG59XG4iLCIubXgtcHJvZ3Jlc3Mge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDMwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgei1pbmRleDogNTAwMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogMjBweCAxNXB4O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluLW91dDtcbn1cbi5teC1wcm9ncmVzcy1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG59XG4ubXgtcHJvZ3Jlc3MtbWVzc2FnZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4ubXgtcHJvZ3Jlc3MtZW1wdHkgLm14LXByb2dyZXNzLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ubXgtcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhSZ0FLQU1RQUFEbzZPb0dCZ1ZwYVduQndjSTZPanF5c3JGSlNVbVJrWkQ4L1AweE1UTTdPenFlbnAxaFlXRjFkWFVoSVNISnljb2VIaDB0TFMxZFhWNmlvcU0vUHoyVmxaVDA5UFRjM04wQkFRSVdGaGRiVzFseGNYSzJ0clVGQlFUTXpNd0FBQUNIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUVEQUFBQUN3QUFBQUFSZ0FLQUFBRms2RG5YUmFHV1plb3JxU0pybkI3cHJBcXY3VjQweDdRL1VCQXpnZjhDV3ZFNGhHV0RBNkx4aEVVeU5OTmYxWHBOWHU1ZHJoZWt0Y0NzNHpMNTVYNVNsYVBNVjRNREg2VnIraFR1d29QMVl2NFJTWnhjNE4zaFh1SGYzRnJVMjBxakZDT0lwQkZraDZVUUphWVB5aGhNWjRzb0RhaVZsczlVMHNyVFZGSXFFOVFxU3FySFVzN09Ub2xNN2NqdVRnNXRyZkFJUUFoK1FRRURBQUFBQ3dBQUFBQUNnQUtBQUFGSktEbkhZV2lGSWZvUVZyclFxTXJhK1RzbG5acjV0ckpvN3dVYXdZVFZRb1VDa29VQWdBaCtRUUVEQUFBQUN3QUFBQUFHUUFLQUFBRldhRG5NY1N5RUpLb3JrZWhLTVdoUGx4dFA2c0thWHdQZVJLYmtNUElIWHBJellFd3RCRnloV1N2c0dqV0ZqbUZsS2VvV3JFcjdWYkJ0RDVYMFcyQllTVWF0MG9QYllqTGVYYkpuNGcwbVJDS2RpSVZCUlFVTVNJaEFDSDVCQVFNQUFBQUxBQUFBQUFvQUFvQUFBV0tvT2NsUXhBTWthaXVETEVzaExUT1I2RW94YUUyV2U4M005R0RReXcrZ2g2SVpzbUVlQ0srYUNZeGt4U3ZIQWFOeWRVY0JsTGZZRWJBRmdtelFwZFpDSVI3Z2RuQ1RGek1GT3Vsd3YyT3IrWjBkaXQ0ZVFwZ2IyTXJaWFJvSzJwNUJRbHZVek1NZEZsYmVUbzhVa0JCUTFoSFFVcGRUaUlrSmdOVVNCNHRFeE1FV3F3VkJSUVVPU0loQUNINUJBUU1BQUFBTEFBQUFBQTNBQW9BQUFXOG9PY2hoaUFZaUtpdXlSQUVRN1RPRExFc2hEU3ZSNkVvaFlQS3NTa2FIVHRQSThOc05wSVBqblQ2U0VJMDJDeGtaT3h1VXF0SWM1eEp6Q1RUTkljeE8yVGZtb1BCYXpUTUJ1VG1ZRVpRVHdrekJYQlpCUUowUlFJekFYbE1BVE1MZmxJTE13cURXQXFHaDRrcmk0eU9LNUNSa3l1VmxncHpoM1lyZUl4N0szMlJnQ3VDbGdVSWgxOHpDWXhsTkpGcmJaWnhIa1JlU0R0TFpFODdVV3BWTzFkd1d5SVlKU2RnU1MwdkEyWkpIalVURXdSczNoVUZGQlJCSWlFQUlma0VCQXdBQUFBc0FBQUFBRVlBQ2dBQUJmQ2c1MTBXaGxtWHFLNklJUWdHc3M3SkVBUkROSzhNc1N3RXlVNTFLQ2dVaFlNSzBHazZBVVBIWmtwMURCdVpyTFl4ZkhDKzRNY1FvaW1iSVNPbnVwTmlVZDhiMlNxaXJXY1NNd2w0ejJITURtYUJHZ2NXYTA0V013WndWQVl6QTNaYUF6TUVmR0FFTXdXQ1pnVVloazBZTXdLTFV3SXpBWkJaQVRNTGxWOExNd3FhWlFxZG5xQXJvcU9sSzZlb3FpdXNyYThyc2JJS2haNklLNHFqalN1UHFKSXJsSzJYSzVteUJSZWViRE1JbzNFMHFIY3pESzE5ZjdLREhreHJVRHRTY0ZZN1dIWmNPMTU4WWp0a2dtZ2lKRXlnR0NJQ2d3c1ljb2JVdURFQUQ4RWVFeVlROEVPd1FnRUtGSktJQ0FFQUlma0VCQXdBQUFBc0R3QUFBRGNBQ2dBQUJicWc1MTBXaGxtWHFLNklJUWdHc3M3SkVBUkROSzhNc1N3RWlRclFLUm9CTzQ5ancydzZrbzJNZE5wSVBqalk3R05rN0haU3JLWjRJMXRGcHVoTVlpYkp1amtNaTlkb21SbkdUY05za0o0T1pnUnZXUVFZYzBVWU13SjRUQUl6QVgxU0FUTUxnbGdMaFlhSUs0cUxqU3VQa0pJcmxKVUxjb1oxSzNlTGVpdDhrSDhyZ1pVRUY0WmZNd2lMWkRTUWFqTU1sWEFlUkY1SU8wdGpUenRSYVZVN1YyOWJJaVFtS0VraUdDNHdaVWsxTndOcjJEMFRFd1FNSWlFQUlma0VCQXdBQUFBc0hnQUFBQ2dBQ2dBQUJZZWc1MTBXaGxtWHFLNklJUWdHc3M3SkVBUkRwQUpkN3dNemtXTkRMRHFDbmtabXlXeU1mTkJPaWxXc2JtU3JDSE9iU1ZpaVBzdk1ZQzBhWmdNdWM0QUI5ekF6UVprb21BWFV5MERiRFYvSjUzVXJkM2dCWDI1aUsyUnpaeXRwZUFNWGJsSXpDSE5YTkhoZEhqeFJRRUZEVmtkQlNseE9JaVFtS0VnaUdDNHdXRWcxTndNSklpRUFJZmtFQkF3QUFBQXNMUUFBQUJrQUNnQUFCVldnNTEwV2hsbVhxSzZJSVFnR29nSmRiUU9yNm14ODc0eTJZQ2ZGNmhrM0NJdlFac2taamowRFpsbkQ1QVJRbm1CS3RhNndXWUdTMmx3OXM0WUxkWmhEWkpFZW1oQ1g4K3lPUHhISmhLcXJNQzR3TWg0aEFDSDVCQVFNQUFBQUxEd0FBQUFLQUFvQUFBVWlvT2RkRm9aWmwrZ0JYZXNDb3l0MzVPeVdkbXZtM2NtanZCUnJCaE9SVENoUkNBQTcpO1xufVxuIiwiLm14LXJlbG9hZC1ub3RpZmljYXRpb24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMDAxO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgaHNsKDIwMCwgOTYlLCA0MSUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMDAsIDk2JSwgNDQlKTtcblxuICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgxLCAzNywgNTUsIDAuMTYpO1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG4iLCIubXgtcmVzaXplci1uLFxuLm14LXJlc2l6ZXItcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMHB4O1xufVxuLm14LXJlc2l6ZXItbiB7XG4gICAgdG9wOiAtNXB4O1xuICAgIGN1cnNvcjogbi1yZXNpemU7XG59XG4ubXgtcmVzaXplci1zIHtcbiAgICBib3R0b206IC01cHg7XG4gICAgY3Vyc29yOiBzLXJlc2l6ZTtcbn1cblxuLm14LXJlc2l6ZXItZSxcbi5teC1yZXNpemVyLXcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLm14LXJlc2l6ZXItZSB7XG4gICAgcmlnaHQ6IC01cHg7XG4gICAgY3Vyc29yOiBlLXJlc2l6ZTtcbn1cbi5teC1yZXNpemVyLXcge1xuICAgIGxlZnQ6IC01cHg7XG4gICAgY3Vyc29yOiB3LXJlc2l6ZTtcbn1cblxuLm14LXJlc2l6ZXItbncsXG4ubXgtcmVzaXplci1uZSxcbi5teC1yZXNpemVyLXN3LFxuLm14LXJlc2l6ZXItc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5teC1yZXNpemVyLW53LFxuLm14LXJlc2l6ZXItbmUge1xuICAgIHRvcDogLTVweDtcbn1cbi5teC1yZXNpemVyLXN3LFxuLm14LXJlc2l6ZXItc2Uge1xuICAgIGJvdHRvbTogLTVweDtcbn1cbi5teC1yZXNpemVyLW53LFxuLm14LXJlc2l6ZXItc3cge1xuICAgIGxlZnQ6IC01cHg7XG59XG4ubXgtcmVzaXplci1uZSxcbi5teC1yZXNpemVyLXNlIHtcbiAgICByaWdodDogLTVweDtcbn1cblxuLm14LXJlc2l6ZXItbncge1xuICAgIGN1cnNvcjogbnctcmVzaXplO1xufVxuLm14LXJlc2l6ZXItbmUge1xuICAgIGN1cnNvcjogbmUtcmVzaXplO1xufVxuLm14LXJlc2l6ZXItc3cge1xuICAgIGN1cnNvcjogc3ctcmVzaXplO1xufVxuLm14LXJlc2l6ZXItc2Uge1xuICAgIGN1cnNvcjogc2UtcmVzaXplO1xufVxuIiwiLm14LXRleHQge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbn1cbiIsIi5teC10ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiBub25lO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cbi5teC10ZXh0YXJlYSAubXgtdGV4dGFyZWEtbm9yZXNpemUge1xuICAgIGhlaWdodDogYXV0bztcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG4ubXgtdGV4dGFyZWEgLm14LXRleHRhcmVhLWNvdW50ZXIge1xuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcbn1cbi5teC10ZXh0YXJlYSAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xufVxuIiwiLm14LXVuZGVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xufVxuIiwiLm14LWltYWdlem9vbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xufVxuLm14LWltYWdlem9vbS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLm14LWltYWdlem9vbS1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuIiwiLm14LWRyb3Bkb3duIGxpIHtcbiAgICBwYWRkaW5nOiAzcHggMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubXgtZHJvcGRvd24gbGFiZWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubXgtZHJvcGRvd24gaW5wdXQge1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5teC1kcm9wZG93biAuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG4ubXgtc2VsZWN0Ym94IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLm14LXNlbGVjdGJveC1jYXJldC13cmFwcGVyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuIiwiLm14LWRlbW91c2Vyc3dpdGNoZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMzYwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDIwMDAwO1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCA1cHggcmdiYSgyOCw1OSw4NiwuMik7XG59XG4ubXgtZGVtb3VzZXJzd2l0Y2hlci1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA4MHB4IDQwcHggMjBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6ICMzODdlYTI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU9nQUFBQmdDQVlBQUFBWFNqN05BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlScFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TXkxak1ERXhJRFkyTGpFME5UWTJNU3dnTWpBeE1pOHdNaTh3TmkweE5EbzFOam95TnlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVOVE5pQW9UV0ZqYVc1MGIzTm9LU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8wTXprd09UUkVNRFEyTkVZeE1VVTBRVFE0TVVJNU5UTkdNVVEzUXpFNU55SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzBNemt3T1RSRU1UUTJORVl4TVVVMFFUUTRNVUk1TlROR01VUTNRekU1TnlJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qYzBSRU15TVVaR05EWTBRekV4UlRSQk5EZ3hRamsxTTBZeFJEZERNVGszSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pjMFJFTXlNakF3TkRZMFF6RXhSVFJCTkRneFFqazFNMFl4UkRkRE1UazNJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrZzF0Umx3QUFFRkZKUkVGVWVOcnNuWWwzVmNVZHgyZHU4ckpESUpDd0NnalZhclZvc1ZYYzZqbldubnBJUWxKV2w2T0NyUFlma2gxY2l1d2xMRm81dFQzbFZKUlZFVVVFUlFRSlM0Q1FRRWpDUzk3MCs1Mlo5M0lUREd1Uzk4ajcvVGp6N3IyL2U5OTlaTzU4N205K003K1owY05YYnNxS2FUTmVLVlZvbEttT0tiWDM5RXNWS2wxRVY2MklLSzN3QjV1SGNZZy8zM3lDNHgybS9FMmpSRVNTTE1HSmw4dXZZcnNIaWR1aFNBK21Vd2FZaWhsUk0zSEdPdXp1Wlg0Zy9SbHBpdDY4TkZ1S2gwalNEWWd4emxBTVc3V3BDQmIwNlJqTmlEWUh6azZ2UEpaMm1iRnArYStKTEN4b0hyYm5vVnB0eW1lZGxXSWlrblJBS1VOWFZRMERvT01BcUlKMlg4MzB5cFBwQitteVFsL2xIWTNES0xaYlRmbnNMNldvaUNRZFVNcmdWVlZqQWVoSWFHTXhaWGFlbi83WGMybVpNWnVYVm1MenFGSTJmL1lCMm85TTJleW9GQm1ScEFKS0tWbTk4UkZvUndCUUZzZ2RnTFErVFNFZEIwQkxzWnNCUUd1d3Y4NlV6VGtqeFVZa3FZQlNpbGR2SEFkQWgyRzNDUloxUisyMFNRM3BDZW1TZ2RpVUFkQlJBTFFGKzl1UWRnTlVhZVVWU1I2Z2xBR3IvL0U0Tm9NQWFBTjgweDExMHlZMXBXMUdiVmxDdi9SMy92QVE5amVac3JsWHBBaUpkS2NFTnpqUDdoZFU3VlErMGhOOTFxeVBwR3RHd2Yrc3dvYmRNWmVRSGtENm05Nnk2SDRwUWlKSnM2RGVpa1pnUVIrSEJTMUNsYmZXYVBQWjVhbFRXdFBYa2k0dXNGVmVaUjV3Q3ZhZm1vOU42YnlyVXB4RWVoeFFTdjgxRzNJQUtDQTFoUUQwSFBaM1hVbGpTQjJvaTU3QjVua0FpbHFJdVlEOWpZRDB1QlFwa1I0SGxGSzRaa01lQUIwUFFQTUI2TmxXWlhZM1Q1MGFTM05JaXdIb2l3QjBqSEw5TWJ1UVBoRnJLdExqZ0ZMZ2crWUQwUEdnTWcrQW5zRjJUelROSWJXWnVIVWhxcnpxOS82dzFqWWdsYzcvVVlxWFNJOENTaWxZdTQ0VzlDa0F5bXJ2S2ZpbmUxdW5URE1DNmNJaDJQd0o2VmNBbFBteEY5YjFYMmJDL0NZcFppSTlCaWdsRDVDMnVyamRiQUJhRGRVK2dUUnNUWTJ6cHRxMitQNFRrSDRqT1NQU1k0QlNzdGV1TFFDZ1R3UFFMQnhXd3ovZFo2Wk1GMGd0cEF0S3NIa0JnTWE3WVk0QTJnL05oTGRxSlhkRWVnUlFTb1NRYXNQV3pBZ0FQVVZMQ2toamtxMCtjejljOEFRMlR5TDFVeTVzY2p2U0RvRGFLcmtqMHUyQVVqTFdyV0cvNEZNQWxPTW56K0NPZTh6a2x3VFNOa2laTHhNQTZDTmV4UzZaandEcEVja2RrVzRIMUVPYUQwQ2Z3bTRPN3NqeGs0UlVyRVE3VU4rK2p5OHlwSHU5Nmp1a2p3SHFCY2tka1c0RjFONW8zV3FHQTQ3SEhmT1VEUTgwdTgza2x3WFNhMEY5RnBzL0lQVlZkcnlwK3N4WGU2VzFWNlQ3QUUxQXFnMzlybndmWGJNTGtNb1l5bXNoemNYbUw4cU9ON1hDb1B2L0lPMEZxT0llaUhRUG9QYUc2MWZsT1F0aGFDSHE4QXM3emFSWG1pV3JmeEhVVWI3YUcyL3Q1Y0NFYmVLZmluUWJvQjdTSE44WDJCKy93SEdrbndOU0daclZPYWkveGVZeHBGRmU5Wk5peU9DRXR5UzJWd0R0bnE1THZmNkRMRnZvdE9HQVovaFhCcEMrZWtteS9JYitLV0V0OGFyRFNQOEdxS2NsZHdUUTdvQTBFNy9BUWM2RGZUL2dia0I2WHJMOXVwQnE1VUlHQ1dxaGNrSDRqRVQ2TDBDdGtSd1NRTHYrUnphczVOdytuRDRscG9MWUY2Ynl0V3JKK2h1Q0NqZEJ2YURhZ3ZBOXFCcWd6aGRRQmRDdWh2VHY3S2dmQVVENWd3Y0I2VkhKL3BzQ2xZMXR6M2tmMVQ0eWIxRzNBMVNaczFjQTdWSkl4d0xRa2Q0Z0hIV2d2aTd4dTdjRXFuNHNaRkhwbzM0S1VLVXhTUUR0b2gvYytONFFWMjJ6djN0S2FmV0ZxWGhkQWhwdUd0UUZCUFdQb2FvdnM1S0EvZy9waUNtZEx5ODhBZlNPSVdYd09BTWFzZ0RvUmV6dk1oVnZTRi9wcllIS1lJZW5rZTREb0lPOG1sWGVuVGo3bFNtZEp3RWlBdWlkUVBwdXZ2V3JORnNxRGNQY2RnTFNlbmtrdDVHWFd4YzhZMEZWeXJzUG1uM09YQXhxRjBDVnJpMEI5TFlocFFYbDhncTBBQzJLWTBvclpzak03YmNQS2h2aXhtSnZqRmZSZFRpbzJMMGxFNW9Kb0xmOW42aDZoMzJsdy8xVUlkOEMwaC9rMGR3SnFBdHBTVG5wK0VNaExhdS91NUVPbU5LNUVwZ3ZnTjR5cEhqekcxZEYwK29rOXZlYmlUT2w4ZWpPUUdXZ0EwZk9qTURSQ0srK0NwLzFBTFpmbXJLNUp5U1hCTkJiZ0hURllNVVJIbHBGQUdpZHJacE5uTmtvajZrcllGM0V5Q1NtKzFYaWtXdXVYTWVsRmZlYnNqbmlxd3FnTndWcEhnQmw1RkYvKzdaWFpvK1orS2FFQjNZZHFNVUE5RkZ2VmUveGFnNXhvMXZ4RlhTSFpKbEZBZlQ2LzZsTkt6SUJKZ3ZSRU8rWEhnU2tFbm5VMWZtOFpUR0h1VDNTd1ZkbEZmZ1FmVldrbzZaOHRyZ1pBbWhub0M1SDRURWp2RjlhYmYzUzhsa3Q4dGk2SEZUT216UlcyVVdoOUppMktqQUhrdXR2bFdzSlBvYThGMWdGMEk2UUxodGlDNDlXV1FDMHdmcWw1YlBFWCtvMldKZjBBNkQwVlVjck8zK1NqcDlxeFA1M09FZGdmMENOUmw2VUFtZ0MwbHlVRTFyVFltWDc5c3dCVkwya0JiSzc4MzN6RXVTMy9vMXlBOGtkcks2NHdFZlZkRGtZQzN6WVRKd3BMOHgwQnJTdHdDeWxYM3FQTHlYSFVWNitObVhpSS9WUTNoZmg4MEZrL1JoblhST1dsUS9qRkk2UFlJOE5UVCtiaWhreXIxSTZBdW9MQ254U3d5cFlnREp5R2Z0N1Rka2NDUkhzNlJxTjBteGdZdklOVEFucjJvejlZOHExQ2g4MUZXK2NreHhMSTBCOTFhdkErNlVEVUNyNHR2NEdrQjZUeDVrTVdKZHJWd1cyalV0czBCc1JzcTY4NGhMMFA5a2Fqd08zeGxTK0ppTnVlak9nb1FZTnh2SEcrL0k0Ync4NzNHVnR6bVErazZvVnVUNFdlTFNIZFdBb01JSWZET1Evb1dMQno2d09RMWN0c3o3MlVrQWRwSXM1bFFvYk1qaEZTQ09BWlFpYlZLdFNCdGgzKzNyTE9zcUhHN29KMFdKQi9BcldnR284cktkd0xWKzBaMlErNVY0Q3FJYzBSN2wrdkVIZUVUcUtsL1VoVXpwWEdwQlM3Vmx0ZkkvRERJY0QwT0hLTnZqcFVhR3pjVDgyNXNNUUFhcytBeDBEL1dzQ3BldlNiWm5MWGdGb0NOUnd3RDJiL3I4QXBIV0NSUW8vc3cwcmFVcUxMYlJLRHdXTWpNY2UxdWJISnFCbHErQlZEMm9OZEJmd3hRc1pTbk1GZ3d0WHBrNXBFa0R2Q2tnWGNRVEhRNjRCaVc5aXc3NjY3MDNwUEdtWXVGdWU0Zm9QTXF6dmFxZHIxU1dBa2RYaVlvRFp6NE5xb1NYWkdSN2tER01IcWRkQ1YwOUxpLzJMZ2RGczNlZHhQYTY2Y25aNjVWMFJYUEhraXUyWitMdnp0VkY5ZWgyZ2lZZThkWkdiUmRDOWZpOHFOaUNWenBQdW1MdFlNdGF0eWZLZ011Qy9DREFXQWRBaXhhM1JPUTVlRHpDM1JzY3RiOXdlTjBGM09YQWhqQTJFRnNlMHZFM2FUcTZ1bTNDdVVSdE4vemVLL1didGZPU3IwTVZDOTJvKzlPcUw3ZnA2SDM1L1c0RC9VN1pPL0xvT3NNMENaTmhxNkRsQ1MwZXd6Y1YxT2REeC81dURxN0d2OHFETGc0N1Yvd0p0MjFPMG5iK3gxd0xxSVVYVnlUeWc3QUs2ZHNRR1Y3cUdOWjB2SGVtOVRQcXNXYy9DM1E5UUZhTFFzeFpWQ1BnNHdWcGZIUGZWZGtFdmxVRm9BMTkxMWlHSTQ1K0JyVmJHd1ZZSnRQVzFzRnRkK0Y2MEJTRkE3ZFpDMW5hWDBIVWQ3aGZTYVJzdGh4ZUlVZlg2K2NXZjI3UEdmeG9kUDhKV3U3MlkxYnR6aVd2dE9XTkxmZnc2NC8vRmRIdy9acjhUaTkveG11KzA3Y2V2aVlYMEhmZGpmcjhWKzYzdDlQRy9NUDZ5TVNyeFZ6TmxYL2JXMU9wb1JiOVVMYmwxMTE3YnlYSGlDWVpmWnAzcE81N3JvTHZ6MTg2MUtuTVQxNFIxNWdiWG1jN3VwYS96M2M3T2RhSnZhOFc5d2JYdGZGQjFuU3F1dWdrTG1nTmRRVUNMcFRRdFZXN2dMRyt1dDFxd2FMQnVSc1BhcVlqZFY1cGZoU1hVR2FGNzBaSUhIUUJsOGJ3YUFyUlZXOHRMQkRRdE5NTWpvOVpTRzFwc1o3bHhkYU5tNzROUnNPaWFzZWFYdlRXM3hUa3pMVjZ2elFYN0FTbG5zMmZrQzZ0RXo2ck14dStSQjBkVU5FZGFldE5IbW55NmF5UkltMGNUemF0QitsVFppQmI3a3VNc2VNK3BTRk94bEZzUkFUUjFRTjJQengzS2RZNjdWY0V6bThhcHpPWnNLUTRpS2RlTzBwc2JpVzc0eDMrNGdGVmVocVRSNTRDUFlEalc4YmlaOEpaMHlZZ0lvQ2tDS1dkbzU0aU1JYjQxb2hicGEwQjZVWXFIaUFDYU9xQnlYbDVhMC9pYW5Cd1EvaTFBbGVCN0VRRTBkVUI5bXpHOUkrTWVLOUozaXZQeFNMVlhSQUJOR1VnNTN2UkJaVVBOckxEdjlLQ3NjQzBpZ0tZV3FFT1ZuWXZIOXAxU3pucFFaUTRlRVFFMGhVQmxueWtqa2ZLOGY4b1pBZzREVkJsb0xDS0FwZ2lrakxwNlNDVkNCcmthbS9vZTZVZUFLbE5RaWdpZ0tRSXFBN0RaZnpyRXEyaEZqOUNxQWxRSndoY1JRRk1FMUJMdm41WjRGY2Nqc3NYM3BMVDRpZ2lncVFNcUc1TFlMVFBRcXk1NVVFOExxQ0lDYU9xQVN0K1U4K3dNOEtwNlgvVTlKYUNLQ0tDcEErcG83NThXdFZsVWZkaUJPbDh5VzBRQVRSRlE2WjhPZGFEcWVOV1hyYjdWQUZVYWswUUUwTlFCVlE4SlZYMjVZdmdQeXFqanBuUytEQllYRVVCVEE5UUZJNzFGZFkxSmhxdUhxeCtaQUtwTTBpd2lnS1lJcUlSMEJBQ056K1JBSzNxQ3kvbVowbmtOa2tNaUFtZ3FaUHpXQlFSMGxFb0U1TnNaenhpTXozVTNhd0NyWkpLSUFKb0NvREl5NlY2L2JrbGNMbmxRVHdKVThWTUZVSkhrZzdxUXNiN3NvcUZsalhmUlJIMzE5eWRUT3ZleTVKSUFLcElhc0RMZ1liaUhWZmx1bXZOSXg3ajZseW1iSzkwMEFxaElDb0JhcU5xVzdYTmliSEErcDJNNUFWREZxZ3FnSXNrSGRaRmZ4Vm9OQnFBRFEyZHFQYXpWcG15T2ROVUlvQ0pKZjJCYkZ0RS92Y2Y1cWJyQXE5bVFkTnI3cStkTTJXeDVxQUtvU1BKaFhVdy9sZjJxZzBKYUxtMVFEVXQ3MHBUUGxxbERCVkNSRkFBMTExdFZWSC8xQU8rclVoajRjQkk2d0RwTC9GVUJWQ1Q1c0M3aFVvdkR1SDZtY3NzdXFsQ3cvaWttd0NycnBBcWdJa2wvdUp1WERGUnVPWG5DV2hBNjAyQmhOWW9ydnRXWmlXOUtaZ21nSXNtRmRTbGg5ZU5VN2NLMjhXb3cxNkxrZEtKbkZFTU1KODZVeUNVQlZDUzVzQzRyc3JBYU93U3VNTFNJTGdNZ3p1SDRETTZkTlJVenJraHVDYUFpeVN3QW01YWg2cXZaQ2x5c3dwRkxiWTFNTlRobUVQOTVVL0dHOUxVS29DTEpnM1U1NDRFQnF5N3gxalUzQWF4RDlxSUg5anlPYWszbDYxSWRGa0JGa2xZNHFsYjBkVmJWZHQyRSsxcUphOHdCcXhramZJSEpWTDRtRTNnTG9DTEpnZlVkcnNaTzMzV0FiUlZPaEJ3bS9GY1VwS0FlMk5aNlM0dXR2bXdtdlNLWko0Q0s5SGpCMmZndWdlM25yU3ZCTFFHZ3JwbXA3YXFvQTlWYTJqb2dYR2Ntdjl3b3VTZUFpdlE0c08vQmxBWjlBV2gvSFBiMzhCWjBxQlpUb2haV1oyWHJzVjhQZllPWk1sMkcwQW1nSWoxYXVEYXNqSVJnN1FjUTZkUG1ocXJGWVgvMkNtR0ZEV1pJNHFWQTZVc0VOenAxYWt3QUZSSHBxUUszL29Nc2ZIS2NLMU5mR3pSaFZKODRySUcvTG5EZ21zQUZValJrdUxWdkdqS01qWUpxZ0w2eGJ0cmtxQUFxSXRMZGhYRGRhbktaajcwK2dRdEp4RmIzSWJpQkJ6ZkRYd3RBUGNCVzN4SzRlWWFiQXFPNWJmUkFOMnUzNmx3ejlNMm5YNnE0SzYzdytCWGJBd0ZVSkdVbHNuYXRCbkE1QUM0L3d3S3M4Z0VvdDNtQnF5cEhFaGEzUGJpSlNqVDFnWnZiQ2RCcXprVWNoWTdIVVczWGVOVlJmNzVGRzgxdUl1T09OZThZWmZVYjMydnRjTytXUTYrKzJBNmNoOS9meHAvTTFDWitsZjNNME81ckVmd21WUkZ0VCtsTWZHVGFZNlBwQm1UaW9peXY1M0dXTWpwYjIvTUNxTWhkS29Wck5tUTZVRlV1QU1peFd3ZHVGZ3AzTm81em9NOEtQRnR4Yk9NdzZ3N1ZhdjFMa0p2UTkwSjYzY2tMb1FPZzdWNFV2NlR2N0Q0QWxQc3hBVlNrMTh2UVZWVzBTckJJT3N0YnM0aTNaaEZ2aGVQV2pEWHB3QjNyd0ZvNW83QzErakJFc0pUV0lvWjF4bG5oZG9DMmF0ZngxSUxmdEZ0M2JQVnhxMjJ0dWJmYVVhKy9Da0NiZDg3NFkvVC9BZ3dBMk1pN0hkQWUraWtBQUFBQVNVVk9SSzVDWUlJPSkgdG9wIHJpZ2h0IG5vLXJlcGVhdCAjMWIzMTQ5O1xuICAgIC8qIGJhY2tncm91bmQtYXR0YWNoZW1lbnQgbG9jYWwgaXMgbm90IHN1cHBvcnRlZCBvbiBJRThcbiAgICAgKiB3aGVuIHRoaXMgaXMgcGFydCBvZiBiYWNrZ3JvdW5kIHRoZSBjb21wbGV0ZSBiYWNrZ3JvdW5kIGlzIGlnbm9yZWQgKi9cbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsO1xufVxuLm14LWRlbW91c2Vyc3dpdGNoZXIgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0OTYwNzY7XG59XG4ubXgtZGVtb3VzZXJzd2l0Y2hlciBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgY29sb3I6ICMzODdlYTI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0OTYwNzY7XG59XG4ubXgtZGVtb3VzZXJzd2l0Y2hlciBoMiB7XG4gICAgbWFyZ2luOiAyMHB4IDAgNXB4O1xuICAgIGNvbG9yOiAjNWJjNGZlO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbn1cbi5teC1kZW1vdXNlcnN3aXRjaGVyIGgzIHtcbiAgICBtYXJnaW46IDAgMCAycHg7XG4gICAgY29sb3I6ICM1YmM0ZmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLm14LWRlbW91c2Vyc3dpdGNoZXIgLmFjdGl2ZSBoMyB7XG4gICAgY29sb3I6ICMxMWVmZGI7XG59XG4ubXgtZGVtb3VzZXJzd2l0Y2hlciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm14LWRlbW91c2Vyc3dpdGNoZXItdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyNSU7XG4gICAgbGVmdDogLTM1cHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIG1hcmdpbi10b3A6IC00MHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCA1cHggcmdiYSgyOCw1OSw4NiwuMik7XG4gICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBU0NBWUFBQUJXem81WEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVJwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNeTFqTURFeElEWTJMakUwTlRZMk1Td2dNakF4TWk4d01pOHdOaTB4TkRvMU5qb3lOeUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5UTmlBb1RXRmphVzUwYjNOb0tTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzNORVJETWpGR1JEUTJORU14TVVVMFFUUTRNVUk1TlROR01VUTNRekU1TnlJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvM05FUkRNakZHUlRRMk5FTXhNVVUwUVRRNE1VSTVOVE5HTVVRM1F6RTVOeUkrSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pjMFJFTXlNVVpDTkRZMFF6RXhSVFJCTkRneFFqazFNMFl4UkRkRE1UazNJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPamMwUkVNeU1VWkRORFkwUXpFeFJUUkJORGd4UWprMU0wWXhSRGRETVRrM0lpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCsxWm92TkFBQUFXZEpSRUZVZU5xTTFNMHJSRkVZeC9FN1k1cUlRcE9VYklpeW1RV3lzQmd2SlZKSzJWZ3J5WlF0S1NVTFplbFBzQjBMWmFOWmpKVU5LMUZza0pxVXZDUzNOQXNaYzN6UDlOemlPT2ZlZWVwVGM4L2M4K3ZjOHhaVFNubU9ha0VHS2R6Z0RCWFh5NTRPTXNTd2pwTDZXOWNZc3J4ZlpXdmNVdTd5MFZkTFVDYytWWGdkMm9MaXhwZk9JT21GMTdUdEhUT296WXV1cEN4QWFOQjlEVUVmZURVYkU4YnpFWHhaZXJQMDBsOGhoM0xVaUhUSU1yNk45ajJrc1lvaWh2LzFkZXlMU1Z6S0ttMWpFVytXZlpWMkxmOGdza2pJY3djV3BPTSsrcEhDRlBMb3NnV3RvQ3lkN2pDUE9qemhHSEhMeURQWTFhY2hhSmhEeFJqNnJCd0pYVXVvTjBJRzhJSXY3T2lHQmp4YWR2QUlUdVQzcmV4NmMwU2JLQVNmbG5VY0JUM0pUVGhBanlXa0dVVnNCRUVGUjVDZXJ6WHBOSWFjckZJckpuQ0JCM211QnZraEIxVFAyN2hNL0x2eDN6bDZneEhxdTZjNzRraVU4SXhHaktKZExyclQzeGZkandBREFKYU14UDJidkQyQkFBQUFBRWxGVGtTdVFtQ0MpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICMxYjMxNDk7XG59XG4iLCIvKiBtYXN0ZXIgZGV0YWlscyBzY3JlZW4gZm9yIG1vYmlsZSAqL1xuLm14LW1hc3Rlci1kZXRhaWwtc2NyZWVuIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG5cbi5teC1tYXN0ZXItZGV0YWlsLXNjcmVlbiAubXgtbWFzdGVyLWRldGFpbC1kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuXG4ubXgtbWFzdGVyLWRldGFpbC1zY3JlZW4taGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbn1cblxuLm14LW1hc3Rlci1kZXRhaWwtc2NyZWVuLWhlYWRlci1jYXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5teC1tYXN0ZXItZGV0YWlsLXNjcmVlbi1oZWFkZXItY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMDA3YWZmO1xufVxuXG5ib2R5W2Rpcj1cInJ0bFwiXSAubXgtbWFzdGVyLWRldGFpbC1zY3JlZW4taGVhZGVyLWNsb3NlIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4ubXgtbWFzdGVyLWRldGFpbC1zY3JlZW4taGVhZGVyLWNsb3NlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDM5XCI7XG4gICAgZm9udC1zaXplOiA1MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4vKiBjbGFzc2VzIGZvciBjb250ZW50IHBhZ2UgKi9cbi5teC1tYXN0ZXItZGV0YWlsLWNvbnRlbnQtZml4IHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5teC1tYXN0ZXItZGV0YWlsLWNvbnRlbnQtaGlkZGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMCUpO1xufVxuXG5ib2R5W2Rpcj1cInJ0bFwiXSAubXgtbWFzdGVyLWRldGFpbC1jb250ZW50LWhpZGRlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMCUpO1xufSIsIi5yZXBvcnRpbmdSZXBvcnQge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbiIsIi5yZXBvcnRpbmdSZXBvcnRQYXJhbWV0ZXIgdGgge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuIiwiLnJlcG9ydGluZ0RhdGVSYW5nZSB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cbi5yZXBvcnRpbmdEYXRlUmFuZ2UgdGgge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xufVxuLnJlcG9ydGluZ0RhdGVSYW5nZSB0ZCB7XG4gICAgcGFkZGluZzogNXB4O1xufVxuIiwiLm14LXJlcG9ydG1hdHJpeCB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm14LXJlcG9ydG1hdHJpeCB0aCwgLm14LXJlcG9ydG1hdHJpeCB0ZCB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbn1cblxuLm14LXJlcG9ydG1hdHJpeCB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLm14LXJlcG9ydG1hdHJpeCB0Ym9keSB0cjpudGgtY2hpbGQoMm4rMSkgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG59XG5cbi5teC1yZXBvcnRtYXRyaXggdGJvZHkgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE2cHg7XG4gICAgbWF4LWhlaWdodDogMTZweDtcbn1cbiIsIi8qIFdBUk5JTkc6IElFOSBsaW1pdHMgbmVzdGVkIGltcG9ydHMgdG8gdGhyZWUgbGV2ZWxzIGRlZXA6IGh0dHA6Ly9qb3JnZWFsYmFsYWRlam8uY29tLzIwMTEvMDUvMjgvaW50ZXJuZXQtZXhwbG9yZXItbGltaXRzLW5lc3RlZC1pbXBvcnQtY3NzLXN0YXRlbWVudHMgKi9cblxuLyogZGlqaXQgYmFzZSAqL1xuXG4vKiBtZW5kaXggYmFzZSAqL1xuXG4vKiB3aWRnZXRzICovXG5cbi8qIHJlcG9ydGluZyAqL1xuIl0sInNvdXJjZVJvb3QiOiIifQ==*/\n","//== Gray Shades\n//## Different gray shades to be used for our variables and components\n$gray-darker: #222222;\n$gray-dark: #333333;\n$gray: #555555;\n$gray-light: #888888;\n$gray-primary: #D7D7D7;\n$gray-lighter: #EEEEEE;\n\n//== Step 1: Brand Colors\n$brand-default: #DDDDDD;\n$brand-primary: #0595DB;\n$brand-inverse: #252C36;\n$brand-info: #48B0F7;\n$brand-success: #76CA02;\n$brand-warning: #F99B1D;\n$brand-danger: #ED1C24;\n\n// Used for other variables\n$default-border-color: $gray-primary;\n\n//== Step 3: Typography\n$font-family-import: \"https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700\";\n@if $font-family-import != false {\n // Only import, if the import is set\n @import url($font-family-import);\n}\n$font-family-base: \"Open Sans\", sans-serif;\n$font-base-size: 14px;\n$font-base-color: #555555;\n$link-color: $brand-primary;\n$font-size-h1: 31px;\n$font-size-h2: 26px;\n$font-size-h3: 24px;\n$font-size-h4: 18px;\n$font-color-detail: $gray-light;\n$font-color-headers: #17347B;\n\n//== Step 2: UI Customization\n\n// Topbar\n$topbar-bg: #FFFFFF;\n$navtopbar-border-color: $default-border-color;\n$topbar-border-color: $navtopbar-border-color;\n$topbar-minimalheight: 60px;\n$navtopbar-color: $font-base-color;\n$navbar-brand-name: $default-border-color;\n$brand-logo: false;\n$brand-logo-height: 30px;\n$brand-logo-width: 30px;\n\n// Sidebar\n$sidebar-bg: $brand-inverse;\n$navsidebar-color: #FFFFFF;\n$navsidebar-color-hover: $navsidebar-color;\n\n// Backgrounds\n$bg-color: #FFFFFF;\n$bg-color-secondary: #F5F8FD;\n\n// == Old variables used in theme customizer to the new lib variables\n$font-size-default: $font-base-size;\n$font-color-default: $font-base-color;\n$border-color-default: $default-border-color;\n$font-color-header:\t\t\t\t $font-color-headers;\n\n\n//== Settings\n//## Enable or disable your desired framework features\n// Use of !important\n$important-flex: true; // ./base/flex.scss\n$important-spacing: true; // ./base/spacing.scss\n$important-helpers: true; // ./helpers/helperclasses.scss\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n//\n// ██████╗ █████╗ ███████╗██╗ ██████╗\n// ██╔══██╗██╔══██╗██╔════╝██║██╔════╝\n// ██████╔╝███████║███████╗██║██║\n// ██╔══██╗██╔══██║╚════██║██║██║\n// ██████╔╝██║ ██║███████║██║╚██████╗\n// ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═════╝\n//\n\n\n//== Gray Shades\n//## Different gray shades to be used for our variables and components\n$gray-darker: #222 !default;\n$gray-dark: #333 !default;\n$gray: #555 !default;\n$gray-light: #888 !default;\n$gray-primary: #d7d7d7 !default;\n$gray-lighter: #eee !default;\n\n\n//== Step 1: Brand Colors\n$brand-default: #DDDDDD !default;\n$brand-primary: #0595DB !default;\n$brand-inverse: #252C36 !default;\n$brand-info: #48B0F7 !default;\n$brand-success: #76CA02 !default;\n$brand-warning: #f99b1d !default;\n$brand-danger: #ed1c24 !default;\n\n$brand-logo:\t\t\t\t\t\t\tfalse !default;\n$brand-logo-height:\t\t\t\t\t\t26px !default;\n$brand-logo-width:\t\t\t\t\t\t26px !default; // Only used for CSS brand logo\n\n\n\n\n\n//== Step 2: UI Customization\n\n// Default Font Size & Color\n$font-size-default: 14px !default;\n$font-color-default: #555 !default;\n\n// Global Border Color\n$border-color-default: $gray-primary !default;\n$border-radius-default: 4px !default;\n\n// Topbar\n$topbar-bg: #FFF !default;\n$topbar-minimalheight: 60px !default;\n$topbar-border-color: $border-color-default !default;\n\n// Topbar mobile\n$m-header-height: \t45px !default;\n$m-header-bg: $topbar-bg !default;\n$m-header-color: #555 !default;\n$m-header-title-size: 17px !default;\n\n\n// Sidebar\n$sidebar-bg: $brand-inverse !default;\n\n// Navbar Brand Name / For your company, product, or project name (used in layouts/base/)\n$navbar-brand-name: $font-color-default !default;\n\n// Background Colors\n$bg-color: #FFF !default;\n$bg-color-secondary: #F5F8FD !default; // Background color that is used for specific page templates background\n\n// Default Link Color\n$link-color: $brand-primary !default;\n$link-hover-color: darken($link-color, 15%) !default;\n\n\n\n\n\n//\n// █████╗ ██████╗ ██╗ ██╗ █████╗ ███╗ ██╗ ██████╗███████╗██████╗\n// ██╔══██╗██╔══██╗██║ ██║██╔══██╗████╗ ██║██╔════╝██╔════╝██╔══██╗\n// ███████║██║ ██║██║ ██║███████║██╔██╗ ██║██║ █████╗ ██║ ██║\n// ██╔══██║██║ ██║╚██╗ ██╔╝██╔══██║██║╚██╗██║██║ ██╔══╝ ██║ ██║\n// ██║ ██║██████╔╝ ╚████╔╝ ██║ ██║██║ ╚████║╚██████╗███████╗██████╔╝\n// ╚═╝ ╚═╝╚═════╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝\n//\n\n\n//== Typography\n//## Change your font family, weight, line-height, headings and more (used in components/typography)\n\n// Font Family Import (Used for google font plugin in theme creater https://ux.mendix.com/theme-creator.html)\n$font-family-import: \"https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700\" !default;\n@if $font-family-import != false {\n // Only import, if the import is set\n @import url($font-family-import);\n}\n\n// Font Family / False = fallback from Bootstrap (Helvetica Neue)\n$font-family-base: 'Open Sans', sans-serif !default;\n\n// Font Sizes\n$font-size-large: 16px !default;\n$font-size-small: 12px !default;\n\n// Font Weights\n$font-weight-light: 100 !default;\n$font-weight-normal: normal !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: bold !default;\n\n// Font Size Headers\n$font-size-h1: 31px !default;\n$font-size-h2: 26px !default;\n$font-size-h3: 24px !default;\n$font-size-h4: 18px !default;\n$font-size-h5: $font-size-default !default;\n$font-size-h6: 12px !default;\n\n// Font Weight Headers\n$font-weight-header: $font-weight-normal !default;\n\n// Line Height\n$line-height-base: 1.428571429 !default;\n\n// Spacing\n$font-header-margin:\t\t\t\t\t15px 0 30px 0 !default;\n\n// Text Colors\n$font-color-header:\t\t\t\t #17347B !default;\n$font-color-detail: $gray-light !default;\n\n\n\n\n\n//== Navigation\n//## Used in components/navigation\n\n// Default Navigation styling\n$navigation-item-height: 60px !default;\n$navigation-item-padding: 5px 15px !default;\n\n$navigation-font-size: $font-size-default !default;\n$navigation-sub-font-size: $font-size-small !default;\n$navigation-glyph-size: 20px !default; // For glyphicons that you can select in the Mendix Modeler\n\n$navigation-bg: $brand-inverse !default;\n$navigation-bg-hover: lighten($navigation-bg, 4) !default;\n$navigation-bg-active: lighten($navigation-bg, 8) !default;\n$navigation-color: #FFF !default;\n$navigation-color-hover: #FFF !default;\n$navigation-color-active: #FFF !default;\n\n$navigation-sub-bg: darken($navigation-bg, 4) !default;\n$navigation-sub-bg-hover: $navigation-sub-bg !default;\n$navigation-sub-bg-active: $navigation-sub-bg !default;\n$navigation-sub-color: #AAA !default;\n$navigation-sub-color-hover: $brand-primary !default;\n$navigation-sub-color-active: $brand-primary !default;\n\n$navigation-border-color: $navigation-bg-hover !default;\n\n// Navigation Sidebar\n$navsidebar-font-size: $font-size-default !default;\n$navsidebar-sub-font-size: $font-size-small !default;\n$navsidebar-glyph-size: 20px !default; // For glyphicons that you can select in the Mendix Modeler\n\n$navsidebar-bg: $sidebar-bg !default;\n$navsidebar-bg-hover: lighten($navsidebar-bg, 4) !default;\n$navsidebar-bg-active: lighten($navsidebar-bg, 8) !default;\n$navsidebar-color: #FFF !default;\n$navsidebar-color-hover: #FFF !default;\n$navsidebar-color-active: #FFF !default;\n\n$navsidebar-sub-bg: darken($navsidebar-bg, 4) !default;\n$navsidebar-sub-bg-hover: $navsidebar-sub-bg !default;\n$navsidebar-sub-bg-active: $navsidebar-sub-bg !default;\n$navsidebar-sub-color: #AAA !default;\n$navsidebar-sub-color-hover: $brand-primary !default;\n$navsidebar-sub-color-active: $brand-primary !default;\n\n$navsidebar-border-color: $navsidebar-bg-hover !default;\n\n// Navigation topbar\n$navtopbar-font-size: $font-size-default !default;\n$navtopbar-sub-font-size: $font-size-small !default;\n$navtopbar-glyph-size: 1.2em !default; // For glyphicons that you can select in the Mendix Modeler\n\n$navtopbar-bg: $topbar-bg !default;\n$navtopbar-bg-hover: darken($navtopbar-bg, 4) !default;\n$navtopbar-bg-active: darken($navtopbar-bg, 8) !default;\n$navtopbar-color: $font-color-default !default;\n$navtopbar-color-hover: $navtopbar-color !default;\n$navtopbar-color-active: $navtopbar-color !default;\n\n$navtopbar-sub-bg: lighten($navtopbar-bg, 4) !default;\n$navtopbar-sub-bg-hover: $navtopbar-sub-bg !default;\n$navtopbar-sub-bg-active: $navtopbar-sub-bg !default;\n$navtopbar-sub-color: #AAA !default;\n$navtopbar-sub-color-hover: $brand-primary !default;\n$navtopbar-sub-color-active: $brand-primary !default;\n\n//## Used in layouts/base\n$navtopbar-border-color: $topbar-border-color !default;\n\n\n\n\n//== Form\n//## Used in components/inputs\n\n// Values that can be used default | lined\n$form-input-style: default !default;\n\n// Form Label\n$form-label-color: #666 !default;\n$form-label-size: $font-size-default !default;\n$form-label-weight: $font-weight-semibold !default;\n$form-label-gutter: 8px !default;\n\n// Form Input dimensions\n$form-input-height: auto !default;\n$form-input-padding-y: 8px !default;\n$form-input-padding-x: 10px !default;\n$form-input-font-size: $form-label-size !default;\n$form-input-line-height: $line-height-base !default;\n$form-input-border-radius: $border-radius-default !default;\n\n// Form Input styling\n$form-input-bg: #FFF !default;\n$form-input-bg-focus: #FFF !default;\n$form-input-bg-hover: $gray-primary !default;\n$form-input-bg-disabled: $gray-lighter !default;\n$form-input-color: $font-color-default !default;\n$form-input-focus-color: $form-input-color !default;\n$form-input-disabled-color: $form-input-color !default;\n$form-input-placeholder-color: $gray-light !default;\n$form-input-border-color: $border-color-default !default;\n$form-input-border-focus-color: $brand-primary !default;\n\n// Form Input Static styling\n$form-input-static-border-color:\t\t#F0F0EE !default;\n\n// Form Group\n$form-group-margin-bottom: 15px !default;\n$form-group-gutter: 15px !default;\n\n\n\n\n//== Buttons\n//## Define background-color, border-color and text. Used in components/buttons\n\n// Default button style\n$btn-font-size: 14px !default;\n$btn-bordered: false !default; // Default value false, set to true if you want this effect\n$btn-border-radius: $border-radius-default !default;\n\n// Button Background Color\n$btn-default-bg: #FFF !default;\n$btn-inverse-bg: $brand-inverse !default;\n$btn-primary-bg: $brand-primary !default;\n$btn-info-bg: $brand-info !default;\n$btn-success-bg: $brand-success !default;\n$btn-warning-bg: $brand-warning !default;\n$btn-danger-bg: $brand-danger !default;\n\n// Button Border Color\n$btn-default-border-color: $brand-default !default;\n$btn-inverse-border-color: $btn-inverse-bg !default;\n$btn-primary-border-color: $btn-primary-bg !default;\n$btn-info-border-color: $btn-info-bg !default;\n$btn-success-border-color: $btn-success-bg !default;\n$btn-warning-border-color: $btn-warning-bg !default;\n$btn-danger-border-color: $btn-danger-bg !default;\n\n// Button Text Color\n$btn-default-color: $brand-primary !default;\n$btn-inverse-color: #FFF !default;\n$btn-primary-color: #FFF !default;\n$btn-info-color: #FFF !default;\n$btn-success-color: #FFF !default;\n$btn-warning-color: #FFF !default;\n$btn-danger-color: #FFF !default;\n\n// Button Background Color\n$btn-default-bg-hover: $btn-default-border-color !default;\n$btn-inverse-bg-hover: mix($btn-inverse-bg, white, 80%) !default;\n$btn-primary-bg-hover: mix($btn-primary-bg, black, 80%) !default;\n$btn-info-bg-hover: mix($btn-info-bg, black, 80%) !default;\n$btn-success-bg-hover: mix($btn-success-bg, black, 80%) !default;\n$btn-warning-bg-hover: mix($btn-warning-bg, black, 80%) !default;\n$btn-danger-bg-hover: mix($btn-danger-bg, black, 80%) !default;\n$btn-link-bg-hover: $gray-lighter !default;\n\n\n\n\n//== Header blocks\n//## Define look and feel over multible building blocks that serve as header\n$header-bg-color: $bg-color-secondary !default;\n$header-text-color: #FFF !default;\n$header-text-color-detail: rgba(0,0,0, 0.2) !default;\n\n\n\n\n\n//\n// ███████╗██╗ ██╗██████╗ ███████╗██████╗ ████████╗\n// ██╔════╝╚██╗██╔╝██╔══██╗██╔════╝██╔══██╗╚══██╔══╝\n// █████╗ ╚███╔╝ ██████╔╝█████╗ ██████╔╝ ██║\n// ██╔══╝ ██╔██╗ ██╔═══╝ ██╔══╝ ██╔══██╗ ██║\n// ███████╗██╔╝ ██╗██║ ███████╗██║ ██║ ██║\n// ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═╝\n//\n\n//== Color variations\n//## These variations are used to support several other variables and components\n\n// Color variations\n$color-default-darker: mix($brand-default, black, 60%) !default;\n$color-default-dark: mix($brand-default, black, 70%) !default;\n$color-default-light: mix($brand-default, white, 60%) !default;\n$color-default-lighter: mix($brand-default, white, 20%) !default;\n\n$color-inverse-darker: mix($brand-inverse, black, 60%) !default;\n$color-inverse-dark: mix($brand-inverse, black, 70%) !default;\n$color-inverse-light: mix($brand-inverse, white, 60%) !default;\n$color-inverse-lighter: mix($brand-inverse, white, 20%) !default;\n\n$color-primary-darker: mix($brand-primary, black, 60%) !default;\n$color-primary-dark: mix($brand-primary, black, 70%) !default;\n$color-primary-light: mix($brand-primary, white, 60%) !default;\n$color-primary-lighter: mix($brand-primary, white, 20%) !default;\n\n$color-info-darker: mix($brand-info, black, 60%) !default;\n$color-info-dark: mix($brand-info, black, 70%) !default;\n$color-info-light: mix($brand-info, white, 60%) !default;\n$color-info-lighter: mix($brand-info, white, 20%) !default;\n\n$color-success-darker: mix($brand-success, black, 60%) !default;\n$color-success-dark: mix($brand-success, black, 70%) !default;\n$color-success-light: mix($brand-success, white, 60%) !default;\n$color-success-lighter: mix($brand-success, white, 20%) !default;\n\n$color-warning-darker: mix($brand-warning, black, 60%) !default;\n$color-warning-dark: mix($brand-warning, black, 70%) !default;\n$color-warning-light: mix($brand-warning, white, 60%) !default;\n$color-warning-lighter: mix($brand-warning, white, 20%) !default;\n\n$color-danger-darker: mix($brand-danger, black, 60%) !default;\n$color-danger-dark: mix($brand-danger, black, 70%) !default;\n$color-danger-light: mix($brand-danger, white, 60%) !default;\n$color-danger-lighter: mix($brand-danger, white, 20%) !default;\n\n$brand-gradient: linear-gradient(152deg, #0CC7F0 0%, #087ECC 51%, #077AC9 55%, #0659B9 78%) !default;\n\n\n//== Grids\n//## Used for Datagrid, Templategrid, Listview & Tables (see components folder)\n\n// Default Border Colors\n$grid-border-color: $border-color-default !default;\n\n// Spacing\n// Default\n$grid-padding-top: 15px !default;\n$grid-padding-right: 15px !default;\n$grid-padding-bottom: 15px !default;\n$grid-padding-left: 15px !default;\n\n// Listview\n$listview-padding-top: 15px !default;\n$listview-padding-right: 15px !default;\n$listview-padding-bottom: 15px !default;\n$listview-padding-left: 15px !default;\n\n// Background Colors\n$grid-bg: #FFF !default;\n$grid-bg-header: transparent !default; // Grid Headers\n$grid-bg-hover: mix($grid-border-color, #FFF, 20%) !default;\n$grid-bg-selected: mix($grid-border-color, #FFF, 30%) !default;\n$grid-bg-selected-hover: mix($grid-border-color, #FFF, 50%) !default;\n\n// Striped Background Color\n$grid-bg-striped: mix($grid-border-color, #FFF, 10%) !default;\n\n// Background Footer Color\n$grid-footer-bg: $gray-primary !default;\n\n// Text Color\n$grid-selected-color: $font-color-default !default;\n\n// Paging Colors\n$grid-paging-bg: transparent !default;\n$grid-paging-bg-hover: transparent !default;\n$grid-paging-border-color: transparent !default;\n$grid-paging-border-color-hover: transparent !default;\n$grid-paging-color: $gray-light !default;\n$grid-paging-color-hover: $brand-primary !default;\n\n\n\n\n//== Tabs\n//## Default variables for Tab Container Widget (used in components/tabcontainer)\n\n// Text Color\n$tabs-color: $font-color-detail !default;\n$tabs-color-active: $font-color-default !default;\n$tabs-lined-color-active: $brand-primary !default;\n\n// Border Color\n$tabs-border-color: $border-color-default !default;\n$tabs-lined-border-color: $brand-primary !default;\n\n// Background Color\n$tabs-bg: #FFF !default;\n$tabs-bg-hover: lighten($tabs-border-color,5) !default;\n$tabs-bg-active: $brand-primary !default;\n\n\n\n\n//== Modals\n//## Default Mendix Modal, Blocking Modal and Login Modal (used in components/modals)\n\n// Background Color\n$modal-header-bg: transparent !default;\n\n// Border Color\n$modal-header-border-color: $border-color-default !default;\n\n// Text Color\n$modal-header-color: $font-color-default !default;\n\n\n\n\n//== Dataview\n//## Default variables for Dataview Widget (used in components/dataview)\n\n// Controls\n$dataview-controls-bg: transparent !default;\n$dataview-controls-border-color: $border-color-default !default;\n\n// Empty Message\n$dataview-emptymessage-bg: $bg-color !default;\n$dataview-emptymessage-color: $font-color-default !default;\n\n\n\n\n//== Alerts\n//## Default Bootstrap alerts, not a widget in the Modeler (used in components/alerts)\n\n// Background Color\n$alert-info-bg: $color-info-lighter !default;\n$alert-success-bg: $color-success-lighter !default;\n$alert-warning-bg: $color-warning-lighter !default;\n$alert-danger-bg: $color-danger-lighter !default;\n\n// Text Color\n$alert-info-color: $color-info-darker !default;\n$alert-success-color: $color-success-darker !default;\n$alert-warning-color: $color-warning-darker !default;\n$alert-danger-color: $color-danger-darker !default;\n\n// Border Color\n$alert-info-border-color: $color-info-dark !default;\n$alert-success-border-color: $color-success-dark !default;\n$alert-warning-border-color: $color-warning-dark !default;\n$alert-danger-border-color: $color-danger-dark !default;\n\n\n\n\n//== Labels\n//## Default Bootstrap Labels, not a widget in the Modeler (used in components/labels)\n\n// Background Color\n$label-default-bg: $brand-default !default;\n$label-primary-bg: $brand-primary !default;\n$label-info-bg: $brand-info !default;\n$label-inverse-bg: $brand-inverse !default;\n$label-success-bg: $brand-success !default;\n$label-warning-bg: $brand-warning !default;\n$label-danger-bg: $brand-danger !default;\n\n// Border Color\n$label-default-border-color: $brand-default !default;\n$label-primary-border-color: $brand-primary !default;\n$label-info-border-color: $brand-info !default;\n$label-success-border-color: $brand-success !default;\n$label-warning-border-color: $brand-warning !default;\n$label-danger-border-color: $brand-danger !default;\n\n// Text Color\n$label-default-color: $font-color-default !default;\n$label-primary-color: #FFF !default;\n$label-info-color: #FFF !default;\n$label-inverse-color: #FFF !default;\n$label-success-color: #FFF !default;\n$label-warning-color: #FFF !default;\n$label-danger-color: #FFF !default;\n\n\n\n\n//== Groupbox\n//## Default variables for Groupbox Widget (used in components/groupbox)\n\n// Background Color\n$groupbox-default-bg: $brand-default !default;\n$groupbox-inverse-bg: $brand-inverse !default;\n$groupbox-primary-bg: $brand-primary !default;\n$groupbox-info-bg: $brand-info !default;\n$groupbox-success-bg: $brand-success !default;\n$groupbox-warning-bg: $brand-warning !default;\n$groupbox-danger-bg: $brand-danger !default;\n$groupbox-white-bg: #FFF !default;\n\n// Text Color\n$groupbox-default-color: $font-color-default !default;\n$groupbox-inverse-color: #FFF !default;\n$groupbox-primary-color: #FFF !default;\n$groupbox-info-color: #FFF !default;\n$groupbox-success-color: #FFF !default;\n$groupbox-warning-color: #FFF !default;\n$groupbox-danger-color: #FFF !default;\n$groupbox-white-color: $font-color-default !default;\n\n\n\n\n//== Callout (groupbox) Colors\n//## Extended variables for Groupbox Widget (used in components/groupbox)\n\n// Text and Border Color\n$callout-default-color: $font-color-default !default;\n$callout-info-color: $brand-info !default;\n$callout-success-color: $brand-success !default;\n$callout-warning-color: $brand-warning !default;\n$callout-danger-color: $brand-danger !default;\n\n// Background Color\n$callout-default-bg: $color-default-lighter!default;\n$callout-info-bg: $color-info-lighter !default;\n$callout-success-bg: $color-success-lighter !default;\n$callout-warning-bg: $color-warning-lighter !default;\n$callout-danger-bg: $color-danger-lighter !default;\n\n\n\n\n\n//== Spacing\n//## Advanced layout options (used in base/mixins/default-spacing)\n\n// Small spacing\n$spacing-small: 5px !default;\n\n// Medium spacing\n$spacing-medium: 15px !default;\n$t-spacing-medium: 15px !default;\n$m-spacing-medium: 15px !default;\n\n// Large spacing\n$spacing-large: 30px !default;\n$t-spacing-large: 30px !default;\n$m-spacing-large: 15px !default;\n\n// Layout spacing\n$layout-spacing-top: 30px !default;\n$layout-spacing-right: 30px !default;\n$layout-spacing-bottom: 30px !default;\n$layout-spacing-left: 30px !default;\n\n$t-layout-spacing-top: 30px !default;\n$t-layout-spacing-right: 30px !default;\n$t-layout-spacing-bottom: 30px !default;\n$t-layout-spacing-left: 30px !default;\n\n$m-layout-spacing-top: 15px !default;\n$m-layout-spacing-right: 15px !default;\n$m-layout-spacing-bottom: 15px !default;\n$m-layout-spacing-left: 15px !default;\n\n// Combined layout spacing\n$layout-spacing: $layout-spacing-top $layout-spacing-right $layout-spacing-bottom $layout-spacing-left !default;\n$m-layout-spacing: $m-layout-spacing-top $m-layout-spacing-right $m-layout-spacing-bottom $m-layout-spacing-left !default;\n$t-layout-spacing: $t-layout-spacing-top $t-layout-spacing-right $t-layout-spacing-bottom $t-layout-spacing-left !default;\n\n// Gutter size\n$gutter-size: 15px !default;\n\n\n\n\n\n//== Tables\n//## Table spacing options (used in components/tables)\n\n$padding-table-cell-top: 8px !default;\n$padding-table-cell-bottom: 8px !default;\n$padding-table-cell-left: 8px !default;\n$padding-table-cell-right: 8px !default;\n\n\n\n\n//== Media queries breakpoints\n//## Define the breakpoints at which your layout will change, adapting to different screen sizes.\n\n$screen-xs: 480px !default;\n$screen-sm: 576px !default;\n$screen-md: 768px !default;\n$screen-lg: 992px !default;\n$screen-xl: 1200px !default;\n\n// So media queries don't overlap when required, provide a maximum (used for max-width)\n$screen-xs-max: ($screen-sm - 1) !default;\n$screen-sm-max: ($screen-md - 1) !default;\n$screen-md-max: ($screen-lg - 1) !default;\n$screen-lg-max: ($screen-xl - 1) !default;\n\n\n//== Settings\n//## Enable or disable your desired framework features\n// Use of !important\n$important-flex: true !default; // ./base/flex.scss\n$important-spacing: true !default; // ./base/spacing.scss\n$important-helpers: true !default; // ./helpers/helperclasses.scss\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n@mixin transition(\n $style: initial,\n $delay: 0s,\n $duration: 0.3s,\n $property: all,\n $timing-fucntion: cubic-bezier(0.4, 0, 0.2, 1)\n) {\n -webkit-transition: $property $duration $delay $timing-fucntion;\n -moz-transition: $property $duration $delay $timing-fucntion;\n -o-transition: $property $duration $delay $timing-fucntion;\n transition: $property $duration $delay $timing-fucntion;\n transform-style: $style;\n}\n\n@mixin ripple($color: #000, $transparency: 10%, $scale: 10) {\n position: relative;\n overflow: hidden;\n transform: translate3d(0, 0, 0);\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n pointer-events: none;\n background-image: radial-gradient(circle, $color $transparency, transparent $transparency);\n background-repeat: no-repeat;\n background-position: 50%;\n -webkit-transform: scale($scale, $scale);\n transform: scale($scale, $scale);\n opacity: 0;\n -webkit-transition: transform 0.5s, opacity 1s;\n -moz-transition: transform 0.5s, opacity 1s;\n -o-transition: transform 0.5s, opacity 1s;\n transition: transform 0.5s, opacity 1s;\n }\n\n &:active:after {\n -webkit-transform: scale(0, 0);\n transform: scale(0, 0);\n opacity: 0.1;\n transition: 0s;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n@mixin get-responsive-spacing-large($type: padding, $direction: all, $is_important: false) {\n $suffix: '';\n $dash: '-'; // Otherwise it will be interpreted as a minus symbol. Needed for the Gonzales PE version: 3.4.7 compiler (used by the Webmodeler)\n\n @if $is_important != false {\n $suffix: ' !important';\n }\n @if $direction==all {\n @media (max-width: $screen-sm-max) {\n #{$type}: #{$m-spacing-large}#{$suffix};\n }\n @media (min-width: $screen-md) {\n #{$type}: #{$t-spacing-large}#{$suffix};\n }\n @media (min-width: $screen-lg) {\n #{$type}: #{$spacing-large}#{$suffix};\n }\n } @else {\n @media (max-width: $screen-sm-max) {\n #{$type}#{$dash}#{$direction}: #{$m-spacing-large}#{$suffix};\n }\n @media (min-width: $screen-md) {\n #{$type}#{$dash}#{$direction}: #{$t-spacing-large}#{$suffix};\n }\n @media (min-width: $screen-lg) {\n #{$type}#{$dash}#{$direction}: #{$spacing-large}#{$suffix};\n }\n }\n}\n\n@mixin get-responsive-spacing-medium($type: padding, $direction: all, $is_important: false) {\n $suffix: '';\n $dash: '-'; // Otherwise it will be interpreted as a minus symbol. Needed for the Gonzales PE version: 3.4.7 compiler (used by the Webmodeler)\n\n @if $is_important != false {\n $suffix: ' !important';\n }\n @if $direction==all {\n @media (max-width: $screen-sm-max) {\n #{$type}: #{$m-spacing-medium}#{$suffix};\n }\n @media (min-width: $screen-md) {\n #{$type}: #{$t-spacing-medium}#{$suffix};\n }\n @media (min-width: $screen-lg) {\n #{$type}: #{$spacing-medium}#{$suffix};\n }\n } @else {\n @media (max-width: $screen-sm-max) {\n #{$type}#{$dash}#{$direction}: #{$m-spacing-medium}#{$suffix};\n }\n @media (min-width: $screen-md) {\n #{$type}#{$dash}#{$direction}: #{$t-spacing-medium}#{$suffix};\n }\n @media (min-width: $screen-lg) {\n #{$type}#{$dash}#{$direction}: #{$spacing-medium}#{$suffix};\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n@mixin layout-spacing($type: padding, $direction: all, $device: responsive, $is_important: false) {\n $suffix: '';\n @if $is_important != false {\n $suffix: ' !important';\n }\n @if $device==responsive {\n @if $direction==all {\n @media (max-width: $screen-sm-max) {\n #{$type}: #{$m-layout-spacing}#{$suffix};\n }\n @media (min-width: $screen-md) {\n #{$type}: #{$t-layout-spacing}#{$suffix};\n }\n @media (min-width: $screen-lg) {\n #{$type}: #{$layout-spacing}#{$suffix};\n }\n } @else if $direction==top {\n @media (max-width: $screen-sm-max) {\n #{$type}-top: #{$m-layout-spacing-top}#{$suffix};\n }\n @media (min-width: $screen-md) {\n #{$type}-top: #{$t-layout-spacing-top}#{$suffix};\n }\n @media (min-width: $screen-lg) {\n #{$type}-top: #{$layout-spacing-top}#{$suffix};\n }\n } @else if $direction==right {\n @media (max-width: $screen-sm-max) {\n #{$type}-right: #{$m-layout-spacing-right}#{$suffix};\n }\n @media (min-width: $screen-md) {\n #{$type}-right: #{$t-layout-spacing-right}#{$suffix};\n }\n @media (min-width: $screen-lg) {\n #{$type}-right: #{$layout-spacing-right}#{$suffix};\n }\n } @else if $direction==bottom {\n @media (max-width: $screen-sm-max) {\n #{$type}-bottom: #{$m-layout-spacing-bottom}#{$suffix};\n }\n @media (min-width: $screen-md) {\n #{$type}-bottom: #{$t-layout-spacing-bottom}#{$suffix};\n }\n @media (min-width: $screen-lg) {\n #{$type}-bottom: #{$layout-spacing-bottom}#{$suffix};\n }\n } @else if $direction==left {\n @media (max-width: $screen-sm-max) {\n #{$type}-left: #{$m-layout-spacing-left}#{$suffix};\n }\n @media (min-width: $screen-md) {\n #{$type}-left: #{$t-layout-spacing-left}#{$suffix};\n }\n @media (min-width: $screen-lg) {\n #{$type}-left: #{$layout-spacing-left}#{$suffix};\n }\n }\n } @else if $device==tablet {\n @if $direction==all {\n #{$type}: #{$t-layout-spacing}#{$suffix};\n } @else if $direction==top {\n #{$type}-top: #{$t-layout-spacing-top}#{$suffix};\n } @else if $direction==right {\n #{$type}-right: #{$t-layout-spacing-right}#{$suffix};\n } @else if $direction==bottom {\n #{$type}-bottom: #{$t-layout-spacing-bottom}#{$suffix};\n } @else if $direction==left {\n #{$type}-left: #{$t-layout-spacing-left}#{$suffix};\n }\n } @else if $device==mobile {\n @if $direction==all {\n #{$type}: #{$m-layout-spacing}#{$suffix};\n } @else if $direction==top {\n #{$type}-top: #{$m-layout-spacing-top}#{$suffix};\n } @else if $direction==right {\n #{$type}-right: #{$m-layout-spacing-right}#{$suffix};\n } @else if $direction==bottom {\n #{$type}-bottom: #{$m-layout-spacing-bottom}#{$suffix};\n } @else if $direction==left {\n #{$type}-left: #{$m-layout-spacing-left}#{$suffix};\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n@mixin button-variant($color, $background, $border, $hover) {\n color: $color;\n border-color: $border;\n background-color: $background;\n\n &:hover,\n &:focus,\n &:active,\n &.active,\n .open > &.dropdown-toggle {\n color: $color;\n border-color: $hover;\n background-color: $hover;\n }\n &:active,\n &.active,\n .open > &.dropdown-toggle {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n &[aria-disabled],\n fieldset[disabled] {\n &,\n &:hover,\n &:focus,\n &:active,\n &.active {\n border-color: $border;\n background-color: $background;\n }\n }\n // Button bordered\n &.btn-bordered {\n background-color: transparent;\n @if $color != $btn-default-color {\n color: $border;\n }\n\n &:hover,\n &:focus,\n &:active,\n &.active,\n .open > &.dropdown-toggle {\n color: $color;\n border-color: $border;\n background-color: $border;\n }\n }\n // Button as link\n &.btn-link {\n text-decoration: none;\n border-color: transparent;\n background-color: transparent;\n @if $color != $btn-default-color {\n color: $background;\n }\n\n &:hover {\n border-color: $btn-link-bg-hover;\n background-color: $btn-link-bg-hover;\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n@mixin groupbox-variant($color, $background) {\n > .mx-groupbox-header {\n color: $color;\n border-color: $background;\n background: $background;\n }\n > .mx-groupbox-body {\n border-color: $background;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n@keyframes slideInUp {\n from {\n visibility: visible;\n transform: translate3d(0, 100%, 0);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.animated {\n animation-duration: 0.4s;\n animation-fill-mode: both;\n}\n\n.slideInUp {\n animation-name: slideInUp;\n}\n\n@keyframes slideInDown {\n from {\n visibility: visible;\n transform: translate3d(0, -100%, 0);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.slideInDown {\n animation-name: slideInDown;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n.fadeIn {\n animation-name: fadeIn;\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Flex\n\n Flex classes\n========================================================================== */\n$important-flex-value: if($important-flex, ' !important', '');\n\n// Flex layout\n.flexcontainer {\n display: flex;\n overflow: hidden;\n flex: 1;\n flex-direction: row;\n\n .flexitem {\n margin-right: $gutter-size;\n\n &:last-child {\n margin-right: 0;\n }\n }\n\n .flexitem-main {\n overflow: hidden;\n flex: 1;\n }\n}\n\n// These classes define the order of the children\n.flex-row {\n flex-direction: row #{$important-flex-value};\n}\n\n.flex-column {\n flex-direction: column #{$important-flex-value};\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse #{$important-flex-value};\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse #{$important-flex-value};\n}\n\n.flex-wrap {\n flex-wrap: wrap #{$important-flex-value};\n}\n\n.flex-nowrap {\n flex-wrap: nowrap #{$important-flex-value};\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse #{$important-flex-value};\n}\n\n// Align children in both directions\n.flex-center {\n align-items: center #{$important-flex-value};\n justify-content: center #{$important-flex-value};\n}\n\n// These classes define the alignment of the children\n.justify-content-start {\n justify-content: flex-start #{$important-flex-value};\n}\n\n.justify-content-end {\n justify-content: flex-end #{$important-flex-value};\n}\n\n.justify-content-center {\n justify-content: center #{$important-flex-value};\n}\n\n.justify-content-between {\n justify-content: space-between #{$important-flex-value};\n}\n\n.justify-content-around {\n justify-content: space-around #{$important-flex-value};\n}\n\n.justify-content-evenly {\n // Not Supported in IE11\n justify-content: space-evenly #{$important-flex-value};\n}\n\n.justify-content-stretch {\n justify-content: stretch #{$important-flex-value};\n}\n\n/// These classes define the alignment of the children in the cross-direction\n.align-children-start {\n align-items: flex-start #{$important-flex-value};\n}\n\n.align-children-end {\n align-items: flex-end #{$important-flex-value};\n}\n\n.align-children-center {\n align-items: center #{$important-flex-value};\n}\n\n.align-children-baseline {\n align-items: baseline #{$important-flex-value};\n}\n\n.align-children-stretch {\n align-items: stretch #{$important-flex-value};\n}\n\n/// These classes define the alignment of the rows of children in the cross-direction\n.align-content-start {\n align-content: flex-start #{$important-flex-value};\n}\n\n.align-content-end {\n align-content: flex-end #{$important-flex-value};\n}\n\n.align-content-center {\n align-content: center #{$important-flex-value};\n}\n\n.align-content-between {\n align-content: space-between #{$important-flex-value};\n}\n\n.align-content-around {\n align-content: space-around #{$important-flex-value};\n}\n\n.align-content-stretch {\n align-content: stretch #{$important-flex-value};\n}\n\n/// These classes allow the default alignment to be overridden for individual items\n.align-self-auto {\n align-self: auto #{$important-flex-value};\n}\n\n.align-self-start {\n align-self: flex-start #{$important-flex-value};\n}\n\n.align-self-end {\n align-self: flex-end #{$important-flex-value};\n}\n\n.align-self-center {\n align-self: center #{$important-flex-value};\n}\n\n.align-self-baseline {\n align-self: baseline #{$important-flex-value};\n}\n\n.align-self-stretch {\n align-self: stretch #{$important-flex-value};\n}\n\n/// These classes define the percentage of available free space within a flex container a flex item will take.\n@mixin flex-items($number) {\n @for $i from 1 through $number {\n .flexitem-#{$i} {\n flex: #{$i} #{$i} 1%;\n }\n }\n}\n\n@include flex-items($number: 12);\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Spacing\n\n Spacing classes\n========================================================================== */\n$important-spacing-value: if($important-spacing, ' !important', '');\n\n// Spacing none\n.spacing-inner-none {\n padding: 0 #{$important-spacing-value};\n}\n\n.spacing-inner-top-none {\n padding-top: 0 #{$important-spacing-value};\n}\n\n.spacing-inner-right-none {\n padding-right: 0 #{$important-spacing-value};\n}\n\n.spacing-inner-bottom-none {\n padding-bottom: 0 #{$important-spacing-value};\n}\n\n.spacing-inner-left-none {\n padding-left: 0 #{$important-spacing-value};\n}\n\n.spacing-outer-none {\n margin: 0 #{$important-spacing-value};\n}\n\n.spacing-outer-top-none {\n margin-top: 0 #{$important-spacing-value};\n}\n\n.spacing-outer-right-none {\n margin-right: 0 #{$important-spacing-value};\n}\n\n.spacing-outer-bottom-none {\n margin-bottom: 0 #{$important-spacing-value};\n}\n\n.spacing-outer-left-none {\n margin-left: 0 #{$important-spacing-value};\n}\n\n// Spacing small\n.spacing-inner {\n padding: $spacing-small #{$important-spacing-value};\n}\n\n.spacing-inner-top {\n padding-top: $spacing-small #{$important-spacing-value};\n}\n\n.spacing-inner-right {\n padding-right: $spacing-small #{$important-spacing-value};\n}\n\n.spacing-inner-bottom {\n padding-bottom: $spacing-small #{$important-spacing-value};\n}\n\n.spacing-inner-left {\n padding-left: $spacing-small #{$important-spacing-value};\n}\n\n.spacing-outer {\n margin: $spacing-small #{$important-spacing-value};\n}\n\n.spacing-outer-top {\n margin-top: $spacing-small #{$important-spacing-value};\n}\n\n.spacing-outer-right {\n margin-right: $spacing-small #{$important-spacing-value};\n}\n\n.spacing-outer-bottom {\n margin-bottom: $spacing-small #{$important-spacing-value};\n}\n\n.spacing-outer-left {\n margin-left: $spacing-small #{$important-spacing-value};\n}\n\n// Spacing Medium\n.spacing-inner-medium {\n @include get-responsive-spacing-medium($type: padding, $direction: all, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-top-medium {\n @include get-responsive-spacing-medium($type: padding, $direction: top, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-right-medium {\n @include get-responsive-spacing-medium($type: padding, $direction: right, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-bottom-medium {\n @include get-responsive-spacing-medium($type: padding, $direction: bottom, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-left-medium {\n @include get-responsive-spacing-medium($type: padding, $direction: left, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-medium {\n @include get-responsive-spacing-medium($type: margin, $direction: all, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-top-medium {\n @include get-responsive-spacing-medium($type: margin, $direction: top, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-right-medium {\n @include get-responsive-spacing-medium($type: margin, $direction: right, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-bottom-medium {\n @include get-responsive-spacing-medium($type: margin, $direction: bottom, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-left-medium {\n @include get-responsive-spacing-medium($type: margin, $direction: left, $is_important: #{$important-spacing-value});\n}\n\n// Spacing Large\n.spacing-inner-large {\n @include get-responsive-spacing-large($type: padding, $direction: all, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-top-large {\n @include get-responsive-spacing-large($type: padding, $direction: top, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-right-large {\n @include get-responsive-spacing-large($type: padding, $direction: right, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-bottom-large {\n @include get-responsive-spacing-large($type: padding, $direction: bottom, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-left-large {\n @include get-responsive-spacing-large($type: padding, $direction: left, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-large {\n @include get-responsive-spacing-large($type: margin, $direction: all, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-top-large {\n @include get-responsive-spacing-large($type: margin, $direction: top, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-right-large {\n @include get-responsive-spacing-large($type: margin, $direction: right, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-bottom-large {\n @include get-responsive-spacing-large($type: margin, $direction: bottom, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-left-large {\n @include get-responsive-spacing-large($type: margin, $direction: left, $is_important: #{$important-spacing-value});\n}\n\n// Spacing layouts\n.spacing-inner-layout {\n @include layout-spacing($type: padding, $direction: all, $device: responsive, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-top-layout {\n @include layout-spacing($type: padding, $direction: top, $device: responsive, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-right-layout {\n @include layout-spacing($type: padding, $direction: right, $device: responsive, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-bottom-layout {\n @include layout-spacing($type: padding, $direction: bottom, $device: responsive, $is_important: #{$important-spacing-value});\n}\n\n.spacing-inner-left-layout {\n @include layout-spacing($type: padding, $direction: left, $device: responsive, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-layout {\n @include layout-spacing($type: margin, $direction: all, $device: responsive, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-top-layout {\n @include layout-spacing($type: margin, $direction: top, $device: responsive, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-right-layout {\n @include layout-spacing($type: margin, $direction: right, $device: responsive, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-bottom-layout {\n @include layout-spacing($type: margin, $direction: bottom, $device: responsive, $is_important: #{$important-spacing-value});\n}\n\n.spacing-outer-left-layout {\n @include layout-spacing($type: margin, $direction: left, $device: responsive, $is_important: #{$important-spacing-value});\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n// Basic styling Scroll container\n// .mx-scrollcontainer {\n// .mx-scrollcontainer-wrapper {\n// padding: 0;\n// // Convert width to max-width when in scroll container to make sure you dont get scrollbars\n// .mx-layoutgrid-fixed {\n// width: 100%;\n// margin: auto;\n// @media (min-width: $screen-md) {\n// max-width: 750px;\n// }\n// @media (min-width: $screen-lg) {\n// max-width: 970px;\n// }\n// @media (min-width: $screen-xl) {\n// max-width: 1170px;\n// }\n// }\n// }\n// }\n\n.mx-scrollcontainer .mx-placeholder {\n width: 100%;\n height: 100%;\n .mx-layoutgrid,\n .mx-layoutgrid-fluid {\n @include layout-spacing($type: padding, $direction: all, $device: responsive);\n .mx-layoutgrid,\n .mx-layoutgrid-fluid {\n padding: 0;\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Base\n\n Default settings\n========================================================================== */\nhtml {\n height: 100%;\n}\n\nbody {\n min-height: 100%;\n color: $font-color-default;\n background-color: $bg-color;\n font-family: $font-family-base;\n font-size: $font-size-default;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n}\n\na {\n -moz-transition: 0.25s;\n -o-transition: 0.25s;\n -webkit-transition: 0.25s;\n transition: 0.25s;\n color: $link-color;\n -webkit-backface-visibility: hidden;\n}\n\na:hover {\n text-decoration: underline;\n color: $link-hover-color;\n}\n\n// Address `outline` inconsistency between Chrome and other browsers.\na:focus {\n outline: thin dotted;\n}\n\n// Improve readability when focused and also mouse hovered in all browsers\na:active,\na:hover {\n outline: 0;\n}\n\n// Removes large blue border in chrome on focus and active states\ninput:focus,\nbutton:focus,\n.mx-link:focus {\n outline: 0;\n}\n\n// Removes large blue border for tabindexes from widgets\ndiv[tabindex] {\n outline: 0;\n}\n\n// Disabled State\n.disabled,\n[disabled] {\n cursor: not-allowed;\n // opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n filter: alpha(opacity=65);\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\nbody {\n height: 100%;\n}\n\n.loginpage {\n display: flex;\n height: 100%;\n}\n.loginpage-logo {\n position: absolute;\n top: 30px;\n right: 30px;\n width: 120px;\n}\n\n.loginpage-left {\n display: none;\n}\n\n.loginpage-right {\n display: flex;\n flex: 1;\n flex-direction: column;\n justify-content: space-around;\n}\n.loginpage-formwrapper {\n width: 400px;\n margin: 0 auto;\n}\n// Form\n.loginpage-form {\n .alert {\n display: none;\n }\n\n .btn {\n border-radius: 40px;\n }\n\n // Form label + input\n .form-group {\n width: 100%;\n align-items: center;\n\n .control-label {\n flex: 4;\n margin-bottom: 0;\n font-size: $font-size-default;\n font-weight: 500;\n }\n\n .inputwrapper {\n flex: 8;\n position: relative;\n width: 100%;\n\n .glyphicon {\n &:before {\n -webkit-transition: color 0.4s;\n -moz-transition: color 0.4s;\n -o-transition: color 0.4s;\n transition: color 0.4s;\n }\n\n position: absolute;\n top: 50%;\n left: $form-input-padding-x;\n -webkit-transform: translateY(-50%);\n -moz-transform: translateY(-50%);\n -ms-transform: translateY(-50%);\n -o-transform: translateY(-50%);\n transform: translateY(-50%);\n\n &-eye-open:hover,\n &-eye-close:hover {\n cursor: pointer;\n color: $brand-primary;\n }\n }\n\n .form-control {\n padding: $form-input-padding-y $form-input-padding-x $form-input-padding-y 45px;\n }\n\n .form-control:focus ~ .glyphicon:before {\n color: $brand-primary;\n }\n }\n }\n}\n// Divider - only on login-with-sso.html\n.loginpage-alternativelabel {\n display: flex;\n align-items: center;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n margin: 25px 0px;\n\n hr {\n flex: 1;\n margin: 20px 0 20px 10px;\n border: 0;\n border-color: #d8d8d8;\n border-top: 1px solid #eeeeee;\n }\n}\n\n.loginpage-signin {\n color: #555555;\n}\n\n// Show only on wide screens\n@media screen and (min-width: $screen-xl) {\n .loginpage-logo {\n width: 150px;\n }\n\n .loginpage-left {\n position: relative;\n display: block;\n flex: 1;\n width: 100%;\n height: 100%;\n }\n // Image and clipping mask\n .loginpage-image {\n height: 100%;\n animation: makePointer 1s ease-out both;\n background: left / cover no-repeat url('../../../resources/work-do-more.jpeg'); // Microsoft EDGE\n background: left / cover no-repeat\n linear-gradient(to right, rgba($brand-primary, 0.9) 0%, rgba($brand-primary, 0.6) 100%),\n left / cover no-repeat url('../../../resources/work-do-more.jpeg');\n background: left / cover no-repeat -moz-linear-gradient(left, rgba($brand-primary, 0.9) 0%, rgba(\n $brand-primary,\n 0.6\n )\n 100%),\n left / cover no-repeat url('../../../resources/work-do-more.jpeg');\n background: left / cover no-repeat -webkit-gradient(linear, left bottom, right bottom, color-stop(0%, rgba($brand-primary, 0.9)), color-stop(100%, rgba($brand-primary, 0.6))),\n left / cover no-repeat url('../../../resources/work-do-more.jpeg');\n background: left / cover no-repeat -webkit-linear-gradient(left, rgba($brand-primary, 0.9) 0%, rgba(\n $brand-primary,\n 0.6\n )\n 100%),\n left / cover no-repeat url('../../../resources/work-do-more.jpeg');\n background: left / cover no-repeat -o-linear-gradient(left, rgba($brand-primary, 0.9) 0%, rgba(\n $brand-primary,\n 0.6\n )\n 100%),\n left / cover no-repeat url('../../../resources/work-do-more.jpeg');\n background: left / cover no-repeat -ms-linear-gradient(left, rgba($brand-primary, 0.9) 0%, rgba(\n $brand-primary,\n 0.6\n )\n 100%),\n left / cover no-repeat url('../../../resources/work-do-more.jpeg');\n -webkit-clip-path: polygon(0% 0%, 100% 0, 100% 50%, 100% 100%, 0% 100%);\n clip-path: polygon(0% 0%, 100% 0, 100% 50%, 100% 100%, 0% 100%);\n }\n\n .loginpage-formwrapper {\n width: 400px;\n }\n}\n\n// Animate image clipping mask\n@keyframes makePointer {\n 100% {\n -webkit-clip-path: polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%);\n clip-path: polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%);\n }\n}\n@-webkit-keyframes makePointer {\n 100% {\n -webkit-clip-path: polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%);\n clip-path: polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%);\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Inputs\n\n The form-control class style all inputs\n========================================================================== */\n.form-control {\n display: flex;\n flex: 1;\n min-width: 50px;\n height: $form-input-height;\n padding: $form-input-padding-y $form-input-padding-x;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n color: $form-input-color;\n border: 1px solid $form-input-border-color;\n border-radius: $form-input-border-radius;\n background-color: $form-input-bg;\n background-image: none;\n box-shadow: none;\n font-size: $form-input-font-size;\n line-height: $form-input-line-height;\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n @if $form-input-style==lined {\n @extend .form-control-lined;\n }\n}\n\n.form-control:not([readonly]):focus {\n border-color: $form-input-border-focus-color;\n outline: 0;\n background-color: $form-input-bg-focus;\n box-shadow: none;\n}\n\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n opacity: 1;\n background-color: #EEEEEE;\n}\n\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\n\n// Lined\n.form-control-lined {\n border: 0;\n border-bottom: 1px solid $form-input-border-color;\n border-radius: 0;\n background-color: transparent;\n\n &:focus {\n background-color: transparent;\n }\n}\n\n// Read only form control class\n.form-control-static {\n overflow: hidden;\n flex: 1;\n min-height: auto;\n padding: $form-input-padding-y $form-input-padding-x;\n border-bottom: 1px solid $form-input-static-border-color;\n font-size: $form-input-font-size;\n line-height: $form-input-line-height;\n\n & + .control-label {\n margin-left: $form-label-gutter;\n }\n}\n\n// Dropdown input widget\nselect.form-control {\n $arrow: \"data:image/svg+xml;utf8,\";\n padding-right: 30px;\n background-image: url($arrow);\n background-repeat: no-repeat;\n background-position: calc(100% - #{$form-input-padding-x}) center;\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n.form-control.mx-selectbox {\n align-items: center;\n flex-direction: row-reverse;\n justify-content: space-between;\n}\n\n// Not editable textarea, textarea will be rendered as a label\n.mx-textarea .control-label {\n height: auto;\n}\n\ntextarea.form-control {\n flex-basis: auto;\n}\n\n.mx-compound-control {\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n max-width: 100%;\n\n .mx-validation-message {\n flex-basis: 100%;\n margin-top: 5px;\n }\n}\n\n// Form Group\n.form-group {\n display: flex;\n flex-direction: row;\n margin-bottom: $form-group-margin-bottom;\n\n & > div[class*='col-'] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n\n & > [class*='col-'] {\n padding-right: $form-group-gutter;\n padding-left: $form-group-gutter;\n }\n\n // Alignment content\n div[class*='textBox'] > .control-label,\n div[class*='textArea'] > .control-label,\n div[class*='datePicker'] > .control-label {\n @extend .form-control-static;\n }\n\n // Label\n .control-label {\n overflow: hidden;\n margin-bottom: 5px;\n text-overflow: ellipsis;\n color: $form-label-color;\n font-size: $form-label-size;\n font-weight: $form-label-weight;\n }\n\n .mx-validation-message {\n flex-basis: 100%;\n }\n\n &.no-columns:not(.label-after) {\n flex-direction: column;\n }\n}\n\n.form-group.label-after {\n .form-control-static {\n flex: unset;\n }\n\n .control-label {\n margin-bottom: 0;\n }\n}\n\n.mx-dateinput,\n.mx-referenceselector,\n.mx-referencesetselector {\n flex: 1;\n}\n\n// Targets only webkit iOS devices\n.dj_webkit.dj_ios .form-control {\n transform: translateZ(0);\n}\n\n@media only screen and (min-width: $screen-md) {\n .form-horizontal {\n .control-label {\n margin-bottom: 0;\n padding-top: $form-input-padding-y;\n padding-bottom: $form-input-padding-y;\n line-height: $form-input-line-height;\n }\n }\n}\n\n@media only screen and (max-width: $screen-sm-max) {\n .form-group {\n flex-direction: column;\n }\n}\n\n@media only screen and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 0) {\n // Fixes alignment bug on iPads / iPhones where datefield is not aligned vertically\n input[type='date'],\n input[type='time'],\n input[type='datetime-local'],\n input[type='month'] {\n line-height: 1;\n }\n // Fix shrinking of date inputs because inability of setting a placeholder\n input[type='time']:not(.has-value):before,\n input[type='date']:not(.has-value):before,\n input[type='month']:not(.has-value):before,\n input[type='datetime-local']:not(.has-value):before {\n margin-right: 0.5em;\n content: attr(placeholder) !important;\n color: #AAAAAA;\n }\n input[type='time'].has-value:before,\n input[type='date'].has-value:before,\n input[type='month'].has-value:before,\n input[type='datetime-local'].has-value:before {\n content: '' !important;\n }\n}\n\n@media (-ms-high-contrast: none), (-ms-high-contrast: active) {\n // Target IE10+\n .form-group {\n display: block;\n }\n}\n\n[dir='rtl'] {\n // Dropdown input widget\n select.form-control {\n padding-right: 30px;\n padding-left: 0;\n background-position: #{$form-input-padding-x} center;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Alerts\n\n Default Bootstrap Alert boxes. Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages\n========================================================================== */\n\n.alert {\n margin-top: 0; // want to align it with padding of a page\n padding: 15px;\n border: 0;\n border-radius: 4px;\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Alerts\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n========================================================================== */\n.alert-bordered {\n border: 1px solid;\n}\n\n// Color variations\n.alert-success {\n color: $alert-success-color;\n border-color: $alert-success-border-color;\n background-color: $alert-success-bg;\n}\n\n.alert-info {\n color: $alert-info-color;\n border-color: $alert-info-border-color;\n background-color: $alert-info-bg;\n}\n\n.alert-warning {\n color: $alert-warning-color;\n border-color: $alert-warning-border-color;\n background-color: $alert-warning-bg;\n}\n\n.alert-danger {\n color: $alert-danger-color;\n border-color: $alert-danger-border-color;\n background-color: $alert-danger-bg;\n}\n\n//== State\n//## Styling when component is in certain state\n//-------------------------------------------------------------------------------------------------------------------//\n.has-error .alert {\n margin-top: 8px;\n margin-bottom: 0;\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Backgrounds\n\n Different background components, all managed by variables\n========================================================================== */\n\n.background-main {\n background-color: $bg-color !important;\n}\n\n.background-secondary {\n background-color: $bg-color-secondary !important;\n}\n\n.background-default {\n background-color: $brand-default !important;\n}\n\n.background-default-darker {\n background-color: $color-default-darker !important;\n}\n\n.background-default-dark {\n background-color: $color-default-dark !important;\n}\n\n.background-default-light {\n background-color: $color-default-light !important;\n}\n\n.background-default-lighter {\n background-color: $color-default-lighter !important;\n}\n\n.background-inverse {\n background-color: $brand-inverse !important;\n}\n\n.background-inverse-darker {\n background-color: $color-inverse-darker !important;\n}\n\n.background-inverse-dark {\n background-color: $color-inverse-dark !important;\n}\n\n.background-inverse-light {\n background-color: $color-inverse-light !important;\n}\n\n.background-inverse-lighter {\n background-color: $color-inverse-lighter !important;\n}\n\n.background-primary {\n background-color: $brand-primary !important;\n}\n\n.background-primary-darker {\n background-color: $color-primary-darker !important;\n}\n\n.background-primary-dark {\n background-color: $color-primary-dark !important;\n}\n\n.background-primary-light {\n background-color: $color-primary-light !important;\n}\n\n.background-primary-lighter {\n background-color: $color-primary-lighter !important;\n}\n\n.background-info {\n background-color: $brand-info !important;\n}\n\n.background-info-darker {\n background-color: $color-info-darker !important;\n}\n\n.background-info-dark {\n background-color: $color-info-dark !important;\n}\n\n.background-info-light {\n background-color: $color-info-light !important;\n}\n\n.background-info-lighter {\n background-color: $color-info-lighter !important;\n}\n\n.background-success {\n background-color: $brand-success !important;\n}\n\n.background-success-darker {\n background-color: $color-success-darker !important;\n}\n\n.background-success-dark {\n background-color: $color-success-dark !important;\n}\n\n.background-success-light {\n background-color: $color-success-light !important;\n}\n\n.background-success-lighter {\n background-color: $color-success-lighter !important;\n}\n\n.background-warning {\n background-color: $brand-warning !important;\n}\n\n.background-warning-darker {\n background-color: $color-warning-darker !important;\n}\n\n.background-warning-dark {\n background-color: $color-warning-dark !important;\n}\n\n.background-warning-light {\n background-color: $color-warning-light !important;\n}\n\n.background-warning-lighter {\n background-color: $color-warning-lighter !important;\n}\n\n.background-danger {\n background-color: $brand-danger !important;\n}\n\n.background-danger-darker {\n background-color: $color-danger-darker !important;\n}\n\n.background-danger-dark {\n background-color: $color-danger-dark !important;\n}\n\n.background-danger-light {\n background-color: $color-danger-light !important;\n}\n\n.background-danger-lighter {\n background-color: $color-danger-lighter !important;\n}\n\n.background-brand-gradient {\n background-image: $brand-gradient !important;\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Buttons\n\n Default Bootstrap and Mendix Buttons\n========================================================================== */\n\n.btn,\n.mx-button {\n display: inline-block;\n margin-bottom: 0;\n padding: 0.6em 1em;\n cursor: pointer;\n -moz-user-select: none;\n -ms-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n -moz-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n -webkit-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n text-align: center;\n vertical-align: middle;\n white-space: nowrap;\n color: $btn-default-color;\n border: 1px solid $btn-default-border-color;\n border-radius: $btn-border-radius;\n background-color: $btn-default-bg;\n background-image: none;\n box-shadow: none;\n text-shadow: none;\n font-size: $btn-font-size;\n line-height: $line-height-base;\n\n &:hover,\n &:focus,\n &:active,\n &:active:focus {\n outline: none;\n box-shadow: none;\n }\n\n &[aria-disabled] {\n cursor: not-allowed;\n pointer-events: none;\n opacity: 0.65;\n filter: alpha(opacity=65);\n }\n\n @if $btn-bordered != false {\n @extend .btn-bordered;\n }\n}\n\n// Mendix button link\n.mx-link {\n padding: 0;\n color: $link-color;\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n pointer-events: none;\n opacity: 0.65;\n filter: alpha(opacity=65);\n }\n}\n\n// Images and icons in buttons\n.btn,\n.mx-button,\n.mx-link {\n img {\n //height: auto; // MXUI override who set the height on 16px default\n height: $font-size-default + 4px;\n margin-right: 5px;\n vertical-align: text-top;\n }\n}\n\n//== Phone specific\n//-------------------------------------------------------------------------------------------------------------------//\n.profile-phone {\n .btn,\n .mx-link {\n &:active {\n -webkit-transform: translateY(1px);\n transform: translateY(1px);\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Buttons\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n========================================================================== */\n// Color variations\n.btn,\n.btn-default {\n @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border-color, $btn-default-bg-hover);\n}\n\n.btn-primary {\n @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border-color, $btn-primary-bg-hover);\n}\n\n.btn-inverse {\n @include button-variant($btn-inverse-color, $btn-inverse-bg, $btn-inverse-border-color, $btn-inverse-bg-hover);\n}\n\n.btn-success {\n @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border-color, $btn-success-bg-hover);\n}\n\n.btn-info {\n @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border-color, $btn-info-bg-hover);\n}\n\n.btn-warning {\n @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border-color, $btn-warning-bg-hover);\n}\n\n.btn-danger {\n @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border-color, $btn-danger-bg-hover);\n}\n\n// Button Sizes\n.btn-lg {\n font-size: $font-size-large;\n img {\n height: calc(#{$font-size-small} + 4px);\n }\n}\n\n.btn-sm {\n font-size: $font-size-small;\n img {\n height: calc(#{$font-size-small} + 4px);\n }\n}\n\n// Button Image\n.btn-image {\n padding: 0;\n vertical-align: middle;\n border-style: none;\n background-color: transparent;\n img {\n display: block; // or else the button doesn't get a width\n height: auto; // Image set height\n }\n &:hover,\n &:focus {\n background-color: transparent;\n }\n}\n\n// Icon buttons\n.btn-icon {\n & > img,\n & > .glyphicon {\n margin: 0;\n }\n}\n\n.btn-icon-right {\n & > img,\n & > .glyphicon {\n float: right;\n margin-left: 5px;\n }\n}\n\n.btn-icon-top {\n padding-right: 0;\n padding-left: 0;\n & > img,\n & > .glyphicon {\n display: block;\n margin: 0 0 5px 0;\n }\n}\n\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Checkbox\n\n Default Mendix Checkbox Widget\n========================================================================== */\n\n.mx-checkbox.label-after {\n flex-wrap: wrap;\n\n .control-label {\n padding: 0;\n }\n}\n\ninput[type='checkbox'] {\n position: relative !important; //Remove after mxui merge\n width: 16px;\n height: 16px;\n margin: 0 !important; // Remove after mxui merge\n cursor: pointer;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n\n\n &::-ms-check {\n color: $form-input-border-color;\n border-color: $form-input-border-color;\n border-radius: $form-input-border-radius;\n background-color: $form-input-bg;\n }\n\n &:focus::-ms-check,\n &:checked::-ms-check {\n color: $form-input-border-focus-color;\n border-color: $form-input-border-focus-color;\n background-color: $form-input-bg-focus;\n }\n\n &:before,\n &:after {\n position: absolute;\n display: block;\n transition: all 0.3s ease;\n }\n\n &:before {\n // Checkbox\n width: 100%;\n height: 100%;\n content: '';\n border: 1px solid $form-input-border-color;\n border-radius: $form-input-border-radius;\n background-color: transparent;\n }\n\n &:after {\n // Checkmark\n width: 8px;\n height: 4px;\n margin: 5px 4px;\n transform: rotate(-45deg);\n pointer-events: none;\n border: 2px solid #FFFFFF;\n border-top: 0;\n border-right: 0;\n }\n\n &:not(:disabled):not(:checked):hover:after {\n content: '';\n border-color: $form-input-bg-hover; // color of checkmark on hover\n }\n\n &:checked:before {\n border-color: $form-input-border-focus-color;\n background-color: $form-input-border-focus-color;\n }\n\n &:checked:after {\n content: '';\n }\n\n &:disabled:before {\n background-color: $form-input-bg-disabled;\n }\n\n &:checked:disabled:before {\n border-color: transparent;\n background-color: rgba($form-input-border-focus-color, 0.4);\n }\n\n &:disabled:after,\n &:checked:disabled:after {\n border-color: $form-input-bg-disabled;\n }\n\n & + .control-label {\n margin-left: $form-label-gutter;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Grid\n\n Default Mendix Grid (used for Mendix Datagrid)\n========================================================================== */\n\n.mx-grid {\n padding: 0px;\n border: 0;\n border-radius: 0;\n .mx-grid-controlbar {\n margin: 10px 0;\n /* Paging */\n .mx-grid-pagingbar {\n /* Buttons */\n .mx-button {\n padding: 6px;\n color: $grid-paging-color;\n border-color: $grid-paging-border-color;\n background-color: $grid-paging-bg;\n &:hover {\n color: $grid-paging-color-hover;\n border-color: $grid-paging-border-color-hover;\n background-color: $grid-paging-bg-hover;\n }\n }\n /* Text Paging .. to .. to .. */\n .mx-grid-paging-status {\n padding: 0 8px 8px;\n }\n }\n }\n .mx-grid-searchbar {\n margin: 10px 0;\n .mx-grid-search-item {\n .mx-grid-search-label {\n vertical-align: middle;\n label {\n padding-top: 5px;\n }\n }\n .mx-grid-search-input {\n display: inline-flex;\n .form-control {\n height: 28px;\n font-size: 11px;\n }\n select.form-control {\n padding: 3px;\n vertical-align: middle;\n }\n .mx-button {\n height: 28px;\n padding-top: 2px;\n padding-bottom: 2px;\n }\n }\n }\n }\n}\n\n// Remove default border from grid inside a Mendix Dataview\n.mx-dataview .mx-grid {\n border: 0;\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Datagrid Default\n\n Default Mendix Datagrid Widget. The datagrid shows a list of objects in a grid\n========================================================================== */\n\n.mx-datagrid {\n table {\n border-width: 0;\n background-color: transparent;\n /* Table header */\n th {\n border-style: solid;\n border-color: $grid-border-color;\n border-top-width: 0;\n border-right: 0;\n border-bottom-width: 1px;\n border-left: 0;\n background-color: $grid-bg-header;\n padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left;\n vertical-align: middle;\n .mx-datagrid-head-caption {\n white-space: normal;\n }\n }\n /* Table Body */\n tbody tr {\n td {\n @include transition();\n padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left;\n vertical-align: middle;\n border-width: 0;\n border-color: $grid-border-color;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n background-color: $grid-bg;\n &:focus {\n outline: none;\n }\n /* Text without spaces */\n .mx-datagrid-data-wrapper {\n text-overflow: ellipsis;\n }\n }\n &.selected td,\n &.selected:hover td {\n color: $grid-selected-color;\n background-color: $grid-bg-selected !important;\n }\n }\n /* Table Footer */\n tfoot {\n > tr > th {\n padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left;\n border-width: 0;\n background-color: $grid-footer-bg;\n }\n > tr > td {\n padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left;\n border-width: 0;\n background-color: $grid-bg;\n font-weight: $font-weight-bold;\n }\n }\n & *:focus {\n outline: 0;\n }\n }\n}","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Datagrid Default\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n========================================================================== */\n// Striped style\n.datagrid-striped.mx-datagrid {\n table {\n th {\n border-width: 0;\n }\n\n tbody tr {\n td {\n border-top-width: 0;\n }\n\n &:nth-child(odd) td {\n background-color: $grid-bg-striped;\n }\n }\n }\n}\n\n// Bordered style\n.datagrid-bordered.mx-datagrid {\n table {\n border: 1px solid;\n\n th {\n border: 1px solid $grid-border-color;\n }\n\n tbody tr {\n td {\n border: 1px solid $grid-border-color;\n }\n }\n }\n\n tfoot {\n > tr > th {\n border-width: 0;\n background-color: $grid-footer-bg;\n }\n\n > tr > td {\n border-width: 1px;\n }\n }\n}\n\n// Transparent style so you can see the background\n.datagrid-transparent.mx-datagrid {\n table {\n background-color: transparent;\n\n tbody tr {\n &:nth-of-type(odd) {\n background-color: transparent;\n }\n\n td {\n background-color: transparent;\n }\n }\n }\n}\n\n// Hover style activated\n.datagrid-hover.mx-datagrid {\n table {\n tbody tr {\n &:hover td {\n background-color: $grid-bg-hover !important;\n }\n\n &.selected:hover td {\n background-color: $grid-bg-selected-hover !important;\n }\n }\n }\n}\n\n// Datagrid Row Sizes\n.datagrid-lg.mx-datagrid {\n table {\n th {\n padding: ($grid-padding-top * 2) ($grid-padding-right * 2) ($grid-padding-bottom * 2) ($grid-padding-left * 2);\n }\n\n tbody tr {\n td {\n padding: ($grid-padding-top * 2) ($grid-padding-right * 2) ($grid-padding-bottom * 2) ($grid-padding-left * 2);\n }\n }\n }\n}\n\n.datagrid-sm.mx-datagrid {\n table {\n th {\n padding: ($grid-padding-top / 2) ($grid-padding-right / 2) ($grid-padding-bottom / 2) ($grid-padding-left / 2);\n }\n\n tbody tr {\n td {\n padding: ($grid-padding-top / 2) ($grid-padding-right / 2) ($grid-padding-bottom / 2) ($grid-padding-left/ 2);\n }\n }\n }\n}\n\n// Datagrid Full Search\n// Default Mendix Datagrid Widget with adjusted search field. Only 1 search field is allowed\n.datagrid-fullsearch.mx-grid {\n .mx-grid-search-button {\n @extend .btn-primary;\n }\n\n .mx-grid-reset-button {\n display: none;\n }\n\n .mx-grid-search-item {\n display: block;\n }\n\n .mx-grid-search-label {\n display: none;\n }\n\n .mx-grid-searchbar {\n .mx-grid-search-controls {\n position: absolute;\n right: 0;\n }\n\n .mx-grid-search-input {\n width: 80%;\n padding-left: 0;\n\n .btn,\n .form-control {\n height: 35px;\n font-size: 12px;\n }\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Dataview\n\n Default Mendix Dataview Widget. The data view is used for showing the contents of exactly one object\n========================================================================== */\n\n.mx-dataview {\n /* Control bar */\n .mx-dataview-controls {\n // Needed to clear the bootstrap columns (get float: left)\n clear: both;\n margin-top: 10px;\n padding: 8px 0;\n border-top: 1px solid $dataview-controls-border-color;\n border-radius: 0;\n background-color: $dataview-controls-bg;\n /* Buttons */\n .mx-button {\n margin-right: 0.3em;\n margin-bottom: 0;\n &:last-child {\n margin-right: 0;\n }\n }\n }\n /* Dataview-content gives problems for nexted layout grid containers */\n > .mx-dataview-content > .mx-container-nested {\n > .row {\n margin-right: 0;\n margin-left: 0;\n }\n }\n /* Dataview empty message */\n .mx-dataview-message {\n color: $dataview-emptymessage-color;\n background: $dataview-emptymessage-bg;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Date Picker\n \n Default Mendix Date Picker Widget.\n========================================================================== */\n\n.mx-calendar {\n /* (must be higher than popup z-index) */\n z-index: 10010 !important;\n padding: 10px;\n font-size: 12px;\n background: $bg-color;\n border-radius: $border-radius-default;\n border: 1px solid $border-color-default;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.06);\n .mx-calendar-month-header {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n margin: 0 3px 10px 3px;\n }\n .mx-calendar-month-next,\n .mx-calendar-month-previous,\n .mx-calendar-month-dropdown {\n border: 0;\n cursor: pointer;\n background: transparent;\n }\n .mx-calendar-month-next,\n .mx-calendar-month-previous {\n &:hover {\n color: $brand-primary;\n }\n }\n .mx-calendar-month-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n .mx-calendar-month-current:first-child {\n margin-right: 10px;\n }\n }\n th {\n color: $brand-primary;\n }\n th,\n td {\n width: 35px;\n height: 35px;\n text-align: center;\n }\n td {\n color: $font-color-default;\n\n &:hover {\n cursor: pointer;\n border-radius: 50%;\n color: $brand-primary;\n background-color: $brand-default;\n }\n }\n .mx-calendar-day-month-next,\n .mx-calendar-day-month-previous {\n color: lighten($font-color-default, 45%);\n }\n .mx-calendar-day-selected,\n .mx-calendar-day-selected:hover {\n color: #fff;\n border-radius: 50%;\n background: $brand-primary;\n }\n\n //\n\n .mx-calendar-year-switcher {\n text-align: center;\n margin-top: 10px;\n color: lighten($brand-primary, 30%);\n span.mx-calendar-year-selected {\n color: $brand-primary;\n margin-left: 10px;\n margin-right: 10px;\n }\n span:hover {\n cursor: pointer;\n text-decoration: underline;\n background-color: transparent;\n }\n }\n}\n\n.mx-calendar-month-dropdown-options {\n /* (must be higher than popup z-index) */\n z-index: 10020 !important;\n position: absolute;\n top: 25px;\n padding: 2px 10px;\n border-radius: $border-radius-default;\n background-color: $bg-color;\n div {\n cursor: pointer;\n font-size: 12px;\n padding: 2px 0;\n &:hover,\n &:focus {\n color: $brand-primary;\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Header\n\n Default Mendix Mobile Header\n========================================================================== */\n\n.mx-header {\n z-index: 100;\n display: flex;\n width: 100%;\n height: $m-header-height;\n padding: 0;\n text-align: initial;\n color: $m-header-color;\n border-bottom: 1px solid $border-color-default;\n background-color: $m-header-bg;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.14);\n\n // Reset mxui\n div.mx-header-left,\n div.mx-header-right {\n position: relative;\n top: initial;\n right: initial;\n left: initial;\n display: flex;\n align-items: center;\n width: 25%;\n height: 100%;\n .mx-placeholder {\n display: flex;\n align-items: center;\n height: 100%;\n }\n }\n\n div.mx-header-left .mx-placeholder {\n order: 1;\n .mx-placeholder {\n justify-content: flex-start;\n }\n }\n div.mx-header-center {\n overflow: hidden;\n flex: 1;\n order: 2;\n text-align: center;\n\n .mx-title {\n overflow: hidden;\n width: 100%;\n margin: 0;\n text-overflow: ellipsis;\n color: $m-header-color;\n font-size: $m-header-title-size;\n line-height: $m-header-height;\n }\n }\n div.mx-header-right {\n order: 3;\n .mx-placeholder {\n justify-content: flex-end;\n }\n }\n\n // Content magic\n .mx-link {\n display: flex;\n align-items: center;\n height: 100%;\n -webkit-transition: all 0.2s;\n -moz-transition: all 0.2s;\n transition: all 0.2s;\n text-decoration: none;\n .glyphicon {\n top: 0;\n font-size: 23px;\n }\n &:active {\n -webkit-transform: translateY(1px);\n transform: translateY(1px);\n color: $link-hover-color;\n }\n }\n\n .mx-link,\n .btn,\n img {\n padding: 0 8px;\n }\n\n .mx-sidebartoggle {\n font-size: 24px;\n line-height: $m-header-height;\n img {\n height: 20px;\n }\n }\n}\n\n// RTL support\nbody[dir='rtl'] {\n .mx-header-left {\n order: 3;\n }\n .mx-header-right {\n order: 1;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Glyphicons\n\n Default Mendix Glyphicons\n========================================================================== */\n\n.mx-glyphicon {\n &:before {\n display: inline-block;\n margin-top: -0.2em;\n margin-right: 0.4555555em;\n vertical-align: middle;\n font-family: \"Glyphicons Halflings\";\n font-weight: $font-weight-normal;\n font-style: normal;\n line-height: inherit;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Groupbox\n\n Default Mendix Groupboxes\n========================================================================== */\n\n.mx-groupbox {\n margin: 0;\n > .mx-groupbox-header {\n margin: 0;\n color: $groupbox-default-color;\n border-width: 1px 1px 0 1px;\n border-style: solid;\n border-color: $groupbox-default-bg;\n background: $groupbox-default-bg;\n font-size: $font-size-h5;\n .mx-groupbox-collapse-icon {\n margin-top: 0.1em;\n }\n }\n > .mx-groupbox-body {\n padding: 10px 15px;\n border-width: 1px;\n border-style: solid;\n border-color: $groupbox-default-bg;\n background-color: #FFFFFF;\n }\n .mx-groupbox-header + .mx-groupbox-body {\n border-top: none;\n }\n &.collapsed > .mx-groupbox-header {\n }\n}","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Groupbox\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n========================================================================== */\n// Color variations\n.groupbox-default {\n @include groupbox-variant($groupbox-default-color, $groupbox-default-bg);\n}\n\n.groupbox-primary {\n @include groupbox-variant($groupbox-primary-color, $groupbox-primary-bg);\n}\n\n.groupbox-inverse {\n @include groupbox-variant($groupbox-inverse-color, $groupbox-inverse-bg);\n}\n\n// Success appears as green\n.groupbox-success {\n @include groupbox-variant($groupbox-success-color, $groupbox-success-bg);\n}\n\n// Info appears as blue-green\n.groupbox-info {\n @include groupbox-variant($groupbox-info-color, $groupbox-info-bg);\n}\n\n// Warning appears as orange\n.groupbox-warning {\n @include groupbox-variant($groupbox-warning-color, $groupbox-warning-bg);\n}\n\n// Danger and error appear as red\n.groupbox-danger {\n @include groupbox-variant($groupbox-danger-color, $groupbox-danger-bg);\n}\n\n// white appears as full white\n.groupbox-white {\n @include groupbox-variant($groupbox-white-color, $groupbox-white-bg);\n}\n\n.groupbox-transparent {\n border-bottom: 1px solid $border-color-default;\n > .mx-groupbox-header {\n padding: 15px 0;\n color: $gray-darker;\n border-style: none;\n background: transparent;\n font-size: 16px;\n font-weight: $font-weight-semibold;\n }\n .mx-groupbox-body {\n padding: 15px 0;\n border-style: none;\n background-color: transparent;\n }\n .mx-groupbox-collapse-icon {\n color: $brand-primary;\n }\n}\n\n// Header options\n.groupbox-h1 > .mx-groupbox-header {\n font-size: $font-size-h1;\n}\n\n.groupbox-h2 > .mx-groupbox-header {\n font-size: $font-size-h2;\n}\n\n.groupbox-h3 > .mx-groupbox-header {\n font-size: $font-size-h3;\n}\n\n.groupbox-h4 > .mx-groupbox-header {\n font-size: $font-size-h4;\n}\n\n.groupbox-h5 > .mx-groupbox-header {\n font-size: $font-size-h5;\n}\n\n.groupbox-h6 > .mx-groupbox-header {\n font-size: $font-size-h6;\n}\n\n// Callout Look and Feel\n.groupbox-callout {\n > .mx-groupbox-header,\n > .mx-groupbox-body {\n border: 0;\n background-color: $callout-info-bg;\n }\n .mx-groupbox-header + .mx-groupbox-body {\n padding-top: 0;\n }\n}\n\n.groupbox-info.groupbox-callout {\n > .mx-groupbox-header,\n > .mx-groupbox-body {\n background-color: $callout-info-bg;\n }\n > .mx-groupbox-header {\n color: $callout-info-color;\n }\n}\n\n.groupbox-success.groupbox-callout {\n > .mx-groupbox-header,\n > .mx-groupbox-body {\n background-color: $callout-success-bg;\n }\n > .mx-groupbox-header {\n color: $callout-success-color;\n }\n}\n\n.groupbox-warning.groupbox-callout {\n > .mx-groupbox-header,\n > .mx-groupbox-body {\n background-color: $callout-warning-bg;\n }\n > .mx-groupbox-header {\n color: $callout-warning-color;\n }\n}\n\n.groupbox-danger.groupbox-callout {\n > .mx-groupbox-header,\n > .mx-groupbox-body {\n background-color: $callout-danger-bg;\n }\n > .mx-groupbox-header {\n color: $callout-danger-color;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Images\n\n Default Mendix Image Widgets\n========================================================================== */\n\nimg.img-rounded,\n.img-rounded img {\n border-radius: 6px;\n}\n\nimg.img-thumbnail,\n.img-thumbnail img {\n display: inline-block;\n max-width: 100%;\n height: auto;\n padding: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n border: 1px solid $brand-default;\n border-radius: 4px;\n background-color: #FFFFFF;\n line-height: $line-height-base;\n}\n\nimg.img-circle,\n.img-circle img {\n border-radius: 50%;\n}\n\nimg.img-auto,\n.img-auto img {\n width: auto !important;\n max-width: 100% !important;\n height: auto !important;\n max-height: 100% !important;\n}\n\nimg.img-center,\n.img-center img {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Labels\n\n Default labels combined with Bootstrap labels\n========================================================================== */\n\n.label {\n display: inline-block;\n padding: 0.2em 0.6em 0.3em;\n text-align: center;\n vertical-align: baseline;\n white-space: nowrap;\n color: #ffffff;\n border-radius: 0.25em;\n font-size: 100%;\n line-height: 1;\n margin: 0;\n\n .form-control-static {\n all: unset;\n font-weight: $font-weight-normal;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Labels\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n========================================================================== */\n// Color variations\n.label-default {\n color: $label-default-color;\n background-color: $label-default-bg;\n}\n\n.label-primary {\n color: $label-primary-color;\n background-color: $label-primary-bg;\n}\n\n.label-success {\n color: $label-success-color;\n background-color: $label-success-bg;\n}\n\n.label-inverse {\n color: $label-inverse-color;\n background-color: $label-inverse-bg;\n}\n\n.label-info {\n color: $label-info-color;\n background-color: $label-info-bg;\n}\n\n.label-warning {\n color: $label-warning-color;\n background-color: $label-warning-bg;\n}\n\n.label-danger {\n color: $label-danger-color;\n background-color: $label-danger-bg;\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Listview\n\n Default Mendix Listview Widget. The list view shows a list of objects arranged vertically. Each object is shown using a template\n========================================================================== */\n.mx-listview {\n // Remove widget padding\n padding: 0;\n /* Clear search button (overrides load more button stying) */\n // Search bar\n .mx-listview-searchbar {\n margin-bottom: $gutter-size;\n\n .btn {\n width: auto;\n }\n }\n\n /* Load more button */\n & > .btn {\n width: 100%;\n margin: 10px auto;\n }\n\n & > ul {\n margin: 0;\n\n .mx-listview-empty {\n border-style: none;\n background-color: transparent;\n }\n\n & > li {\n @include transition();\n padding: $listview-padding-top $listview-padding-right $listview-padding-bottom $listview-padding-left;\n border-width: 1px 0 0 0;\n border-style: solid;\n border-color: $grid-border-color;\n background-color: $grid-bg;\n\n &:first-child {\n border-radius: 0; // Reset mxui listview style\n }\n\n &:last-child {\n border-bottom: 1px solid $grid-border-color;\n border-radius: 0; // Reset mxui listview style\n }\n\n &:focus,\n &:active {\n outline: 0;\n background-color: $grid-bg-hover;\n }\n\n &.selected {\n background-color: $grid-bg-selected;\n }\n }\n }\n\n .mx-layoutgrid {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n}\n\n//== Phone specific\n//-------------------------------------------------------------------------------------------------------------------//\n.profile-phone .mx-listview {\n .mx-listview-searchbar {\n margin-bottom: 3px;\n background: #FFFFFF;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.14);\n\n input {\n padding: 14px 15px;\n color: #555555;\n border-style: none;\n border-radius: 0;\n box-shadow: none;\n }\n\n .btn {\n padding: 14px 15px;\n color: inherit;\n border-style: none;\n }\n }\n\n & > ul > li {\n &:first-child {\n border-top: none;\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Listview\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n========================================================================== */\n// Bordered\n.listview-bordered.mx-listview {\n & > ul > li {\n border: 1px solid $grid-border-color;\n border-top: 0;\n\n &:first-child {\n border-top: 1px solid $grid-border-color;\n border-radius: 0;\n }\n\n &:last-child {\n border-radius: 0;\n }\n }\n}\n\n// Striped\n.listview-striped.mx-listview {\n & > ul > li:nth-child(2n + 1) {\n background-color: $grid-bg-striped;\n }\n}\n\n// Items as seperated blocks\n.listview-seperated.mx-listview {\n & > ul > li {\n margin-bottom: $gutter-size;\n border-width: 1px;\n border-style: solid;\n border-radius: $border-radius-default;\n }\n}\n\n// Remove all styling\n.listview-stylingless.mx-listview {\n & > ul > li {\n padding: 0;\n cursor: default;\n border: 0;\n background-color: transparent;\n\n &:hover,\n &:focus,\n &:active {\n background-color: transparent;\n }\n\n &.selected {\n background-color: transparent !important;\n\n &:hover,\n &:focus,\n &:active {\n background-color: transparent !important;\n }\n }\n }\n}\n\n// Hover style activated\n.listview-hover.mx-listview {\n & > ul > li {\n &:hover,\n &:focus,\n &:active {\n background-color: $grid-bg-hover !important;\n }\n\n &.selected {\n &:hover,\n &:focus,\n &:active {\n background-color: $grid-bg-selected-hover !important;\n }\n }\n }\n}\n\n// Templategrid Row Sizes\n.listview-lg.mx-listview {\n & > ul > li {\n padding: ($grid-padding-top * 2) ($grid-padding-right * 2) ($grid-padding-bottom * 2) ($grid-padding-left * 2);\n }\n}\n\n.listview-sm.mx-listview {\n & > ul > li {\n padding: ($grid-padding-top / 2) ($grid-padding-right / 2) ($grid-padding-bottom / 2) ($grid-padding-left / 2);\n }\n}\n\n// Bootstrap columns\n.mx-listview[class*='lv-col'] {\n overflow: hidden; // For if it is not in a layout, to prevent scrollbars\n & > ul {\n display: block; // normal a table\n margin-right: -1 * $gutter-size;\n margin-left: -1 * $gutter-size;\n\n &::before,\n &::after {\n // clearfix\n display: table;\n clear: both;\n content: ' ';\n }\n\n & > li {\n // bootstrap col\n position: relative;\n display: block; // normal a table\n float: left;\n min-height: 1px;\n padding-right: $gutter-size;\n padding-left: $gutter-size;\n border: 0;\n @media (max-width: $screen-md-max) {\n width: 100% !important;\n }\n\n & > .mx-dataview {\n overflow: hidden;\n }\n }\n }\n\n &.lv-col-xs-12 > ul > li {\n width: 100% !important;\n }\n\n &.lv-col-xs-11 > ul > li {\n width: 91.66666667% !important;\n }\n\n &.lv-col-xs-10 > ul > li {\n width: 83.33333333% !important;\n }\n\n &.lv-col-xs-9 > ul > li {\n width: 75% !important;\n }\n\n &.lv-col-xs-8 > ul > li {\n width: 66.66666667% !important;\n }\n\n &.lv-col-xs-7 > ul > li {\n width: 58.33333333% !important;\n }\n\n &.lv-col-xs-6 > ul > li {\n width: 50% !important;\n }\n\n &.lv-col-xs-5 > ul > li {\n width: 41.66666667% !important;\n }\n\n &.lv-col-xs-4 > ul > li {\n width: 33.33333333% !important;\n }\n\n &.lv-col-xs-3 > ul > li {\n width: 25% !important;\n }\n\n &.lv-col-xs-2 > ul > li {\n width: 16.66666667% !important;\n }\n\n &.lv-col-xs-1 > ul > li {\n width: 8.33333333% !important;\n }\n\n @media (min-width: $screen-md) {\n &.lv-col-sm-12 > ul > li {\n width: 100% !important;\n }\n &.lv-col-sm-11 > ul > li {\n width: 91.66666667% !important;\n }\n &.lv-col-sm-10 > ul > li {\n width: 83.33333333% !important;\n }\n &.lv-col-sm-9 > ul > li {\n width: 75% !important;\n }\n &.lv-col-sm-8 > ul > li {\n width: 66.66666667% !important;\n }\n &.lv-col-sm-7 > ul > li {\n width: 58.33333333% !important;\n }\n &.lv-col-sm-6 > ul > li {\n width: 50% !important;\n }\n &.lv-col-sm-5 > ul > li {\n width: 41.66666667% !important;\n }\n &.lv-col-sm-4 > ul > li {\n width: 33.33333333% !important;\n }\n &.lv-col-sm-3 > ul > li {\n width: 25% !important;\n }\n &.lv-col-sm-2 > ul > li {\n width: 16.66666667% !important;\n }\n &.lv-col-sm-1 > ul > li {\n width: 8.33333333% !important;\n }\n }\n @media (min-width: $screen-lg) {\n &.lv-col-md-12 > ul > li {\n width: 100% !important;\n }\n &.lv-col-md-11 > ul > li {\n width: 91.66666667% !important;\n }\n &.lv-col-md-10 > ul > li {\n width: 83.33333333% !important;\n }\n &.lv-col-md-9 > ul > li {\n width: 75% !important;\n }\n &.lv-col-md-8 > ul > li {\n width: 66.66666667% !important;\n }\n &.lv-col-md-7 > ul > li {\n width: 58.33333333% !important;\n }\n &.lv-col-md-6 > ul > li {\n width: 50% !important;\n }\n &.lv-col-md-5 > ul > li {\n width: 41.66666667% !important;\n }\n &.lv-col-md-4 > ul > li {\n width: 33.33333333% !important;\n }\n &.lv-col-md-3 > ul > li {\n width: 25% !important;\n }\n &.lv-col-md-2 > ul > li {\n width: 16.66666667% !important;\n }\n &.lv-col-md-1 > ul > li {\n width: 16.66666667% !important;\n }\n }\n @media (min-width: $screen-xl) {\n &.lv-col-lg-12 > ul > li {\n width: 100% !important;\n }\n &.lv-col-lg-11 > ul > li {\n width: 91.66666667% !important;\n }\n &.lv-col-lg-10 > ul > li {\n width: 83.33333333% !important;\n }\n &.lv-col-lg-9 > ul > li {\n width: 75% !important;\n }\n &.lv-col-lg-8 > ul > li {\n width: 66.66666667% !important;\n }\n &.lv-col-lg-7 > ul > li {\n width: 58.33333333% !important;\n }\n &.lv-col-lg-6 > ul > li {\n width: 50% !important;\n }\n &.lv-col-lg-5 > ul > li {\n width: 41.66666667% !important;\n }\n &.lv-col-lg-4 > ul > li {\n width: 33.33333333% !important;\n }\n &.lv-col-lg-3 > ul > li {\n width: 25% !important;\n }\n &.lv-col-lg-2 > ul > li {\n width: 16.66666667% !important;\n }\n &.lv-col-lg-1 > ul > li {\n width: 8.33333333% !important;\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Modals\n\n Default Mendix Modals. Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults\n========================================================================== */\n.modal-dialog {\n .modal-content {\n border: 1px solid $modal-header-border-color;\n border-radius: 4px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n\n .modal-header {\n padding: 15px 20px;\n border-bottom-color: $modal-header-border-color;\n border-radius: 0; // Because of the class .mx-window-active in mxui.css\n background-color: $modal-header-bg;\n\n h4 {\n margin: 0;\n color: $modal-header-color;\n font-size: 16px;\n font-weight: $font-weight-bold;\n }\n\n .close {\n margin-top: -3px;\n opacity: 1;\n /* For IE8 and earlier */\n color: $modal-header-color;\n text-shadow: none;\n filter: alpha(opacity=100);\n }\n }\n\n .modal-body {\n padding: 20px;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n margin-top: 0;\n padding: 20px;\n border-style: none;\n }\n }\n}\n\n// Default Mendix Window Modal\n.mx-window {\n // If popup direct child is a dataview it gets the class mx-window-view\n &.mx-window-view .mx-window-body {\n overflow: hidden; // hide second scrollbar in edit page\n padding: 0;\n // Dataview in popup\n > .mx-dataview > .mx-dataview-content,\n > .mx-placeholder > .mx-dataview > .mx-dataview-content {\n padding: 20px;\n }\n\n > .mx-dataview > .mx-dataview-controls,\n > .mx-placeholder > .mx-dataview > .mx-dataview-controls {\n display: flex;\n justify-content: flex-end;\n margin: 0;\n padding: 20px;\n text-align: left;\n border-top: 1px solid $modal-header-border-color;\n }\n }\n\n .mx-dataview-controls {\n padding-bottom: 0;\n }\n\n .mx-layoutgrid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Login modal\n.mx-login {\n .modal-body {\n padding: 0 15px;\n }\n\n .modal-content {\n input {\n height: 56px;\n padding: 12px 12px;\n border: 1px solid #EEEEEE;\n background: #EEEEEE;\n box-shadow: none;\n font-size: 16px;\n\n &:focus {\n border-color: #66AFE9;\n }\n }\n }\n\n .modal-header,\n .modal-footer {\n border: 0;\n }\n\n button {\n font-size: 16px;\n }\n\n h4 {\n color: #AAAAAA;\n font-size: 20px;\n font-weight: $font-weight-bold;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Navigation\n\n Default Mendix Navigation Bar\n========================================================================== */\n.mx-navbar {\n margin: 0;\n border-style: none;\n border-radius: 0;\n background-color: $navigation-bg;\n\n ul.nav {\n margin: 0; // weird -margin if screen gets small (bootstrap)\n\n /* Navigation item */\n & > li.mx-navbar-item > a {\n display: flex;\n align-items: center;\n min-height: $topbar-minimalheight;\n padding: $navigation-item-padding;\n vertical-align: middle;\n color: $navigation-color;\n border-radius: 0;\n font-size: $navigation-font-size;\n font-weight: $font-weight-normal;\n\n /* Dropdown arrow */\n .caret {\n border-top-color: $navigation-color;\n border-bottom-color: $navigation-color;\n }\n\n &:hover,\n &:focus,\n &.active {\n text-decoration: none;\n color: $navigation-color-hover;\n background-color: $navigation-bg-hover;\n\n .caret {\n border-top-color: $navigation-color-active;\n border-bottom-color: $navigation-color-active;\n }\n }\n\n &.active {\n color: $navigation-color-active;\n background-color: $navigation-bg-active;\n }\n\n /* Dropdown */\n .mx-navbar-submenu::before {\n position: absolute;\n top: -9px;\n left: 15px;\n width: 0;\n height: 0;\n content: '';\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n border-width: 0 9px 9px 9px;\n border-style: solid;\n border-color: transparent transparent $navigation-border-color transparent;\n }\n\n // Image\n img {\n width: 20px; // Default size (so it looks good)\n height: auto;\n margin-right: 0.5em;\n }\n\n .glyphicon {\n top: 0;\n margin-right: 0.5em;\n vertical-align: middle;\n font-size: $navigation-glyph-size;\n }\n }\n\n & > .mx-navbar-item.active a {\n color: $navigation-color-active;\n }\n\n /* When hovering or the dropdown is open */\n & > .mx-navbar-item > a:hover,\n & > .mx-navbar-item > a:focus,\n & > .mx-navbar-item.open > a,\n & > .mx-navbar-item.open > a:hover,\n & > .mx-navbar-item.open > a:focus {\n text-decoration: none;\n color: $navigation-color-hover;\n background-color: $navigation-bg-hover;\n\n .caret {\n border-top-color: $navigation-color-hover;\n border-bottom-color: $navigation-color-hover;\n }\n }\n\n & > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a {\n color: $navigation-sub-color-active;\n background-color: $navigation-sub-bg-active;\n\n .caret {\n border-top-color: $navigation-sub-color-active;\n border-bottom-color: $navigation-sub-color-active;\n }\n }\n }\n @media (max-width: $screen-md) {\n ul.nav > li.mx-navbar-item > a {\n padding: 10px 20px;\n }\n .mx-navbar-item.open .dropdown-menu {\n padding: 0;\n border-radius: 0;\n background-color: $navigation-sub-bg;\n\n & > li.mx-navbar-subitem > a {\n padding: 10px 20px;\n color: $navigation-sub-color;\n border-radius: 0;\n font-size: $navigation-sub-font-size;\n font-weight: $font-weight-normal;\n\n &:hover,\n &:focus {\n color: $navigation-sub-color-hover;\n background-color: $navigation-sub-bg-hover;\n }\n\n &.active {\n color: $navigation-sub-color-active;\n background-color: $navigation-sub-bg-active;\n }\n }\n }\n }\n\n /* remove focus */\n &:focus {\n outline: 0;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Navigation\n\n//== Regions\n//## Behavior in the different regions\n========================================================================== */\n// When used in topbar\n.region-topbar {\n .mx-navbar {\n background-color: $navtopbar-bg;\n ul.nav {\n /* Navigation item */\n & > li.mx-navbar-item > a {\n color: $navtopbar-color;\n font-size: $navtopbar-font-size;\n\n /* Dropdown arrow */\n .caret {\n border-top-color: $navtopbar-color;\n border-bottom-color: $navtopbar-color;\n }\n &:hover,\n &:focus,\n &.active {\n color: $navtopbar-color-hover;\n background-color: $navtopbar-bg-hover;\n .caret {\n border-top-color: $navtopbar-color-active;\n border-bottom-color: $navtopbar-color-active;\n }\n }\n &.active {\n color: $navtopbar-color-active;\n background-color: $navtopbar-bg-active;\n }\n\n /* Dropdown */\n .mx-navbar-submenu::before {\n border-color: transparent transparent $navtopbar-border-color transparent;\n }\n\n // Image\n .glyphicon {\n font-size: $navtopbar-glyph-size;\n }\n }\n\n /* When hovering or the dropdown is open */\n & > .mx-navbar-item > a:hover,\n & > .mx-navbar-item > a:focus,\n & > .mx-navbar-item.active a,\n & > .mx-navbar-item.open > a,\n & > .mx-navbar-item.open > a:hover,\n & > .mx-navbar-item.open > a:focus {\n color: $navtopbar-color-hover;\n background-color: $navtopbar-bg-hover;\n .caret {\n border-top-color: $navtopbar-color-hover;\n border-bottom-color: $navtopbar-color-hover;\n }\n }\n & > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a {\n color: $navtopbar-sub-color-active;\n background-color: $navtopbar-sub-bg-active;\n .caret {\n border-top-color: $navtopbar-sub-color-active;\n border-bottom-color: $navtopbar-sub-color-active;\n }\n }\n }\n @media (max-width: $screen-md) {\n ul.nav > li.mx-navbar-item > a {\n }\n .mx-navbar-item.open .dropdown-menu {\n background-color: $navtopbar-sub-bg;\n & > li.mx-navbar-subitem > a {\n color: $navtopbar-sub-color;\n font-size: $navtopbar-sub-font-size;\n &:hover,\n &:focus {\n color: $navtopbar-sub-color-hover;\n background-color: $navtopbar-sub-bg-hover;\n }\n &.active {\n color: $navtopbar-sub-color-active;\n background-color: $navtopbar-sub-bg-active;\n }\n }\n }\n }\n }\n}\n\n// When used in sidebar\n.region-sidebar {\n .mx-navbar {\n background-color: $navsidebar-bg;\n ul.nav {\n /* Navigation item */\n & > li.mx-navbar-item > a {\n color: $navsidebar-color;\n font-size: $navsidebar-font-size;\n\n /* Dropdown arrow */\n .caret {\n border-top-color: $navsidebar-color;\n border-bottom-color: $navsidebar-color;\n }\n &:hover,\n &:focus,\n &.active {\n color: $navsidebar-color-hover;\n background-color: $navsidebar-bg-hover;\n .caret {\n border-top-color: $navsidebar-color-active;\n border-bottom-color: $navsidebar-color-active;\n }\n }\n &.active {\n color: $navsidebar-color-active;\n background-color: $navsidebar-bg-active;\n }\n\n /* Dropdown */\n .mx-navbar-submenu::before {\n border-color: transparent transparent $navsidebar-border-color transparent;\n }\n\n // Image\n .glyphicon {\n font-size: $navsidebar-glyph-size;\n }\n }\n\n /* When hovering or the dropdown is open */\n & > .mx-navbar-item > a:hover,\n & > .mx-navbar-item > a:focus,\n & > .mx-navbar-item.active a,\n & > .mx-navbar-item.open > a,\n & > .mx-navbar-item.open > a:hover,\n & > .mx-navbar-item.open > a:focus {\n color: $navsidebar-color-hover;\n background-color: $navsidebar-bg-hover;\n .caret {\n border-top-color: $navsidebar-color-hover;\n border-bottom-color: $navsidebar-color-hover;\n }\n }\n & > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a {\n color: $navsidebar-sub-color-active;\n background-color: $navsidebar-sub-bg-active;\n .caret {\n border-top-color: $navsidebar-sub-color-active;\n border-bottom-color: $navsidebar-sub-color-active;\n }\n }\n }\n @media (max-width: $screen-md) {\n ul.nav > li.mx-navbar-item > a {\n }\n .mx-navbar-item.open .dropdown-menu {\n background-color: $navtopbar-sub-bg;\n & > li.mx-navbar-subitem > a {\n color: $navsidebar-sub-color;\n font-size: $navsidebar-sub-font-size;\n &:hover,\n &:focus {\n color: $navsidebar-sub-color-hover;\n background-color: $navsidebar-sub-bg-hover;\n }\n &.active {\n color: $navsidebar-sub-color-active;\n background-color: $navsidebar-sub-bg-active;\n }\n }\n }\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Navigation List\n \n Default Mendix Navigation List Widget. A navigation list can be used to attach an action to an entire row. Such a row is called a navigation list item\n========================================================================== */\n.mx-navigationlist {\n margin: 0;\n padding: 0;\n list-style: none;\n \n li.mx-navigationlist-item {\n @include transition();\n padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left;\n border-width: 1px;\n border-style: none none solid none;\n border-color: $grid-border-color;\n border-radius: 0;\n background-color: $grid-bg;\n\n &:hover,\n &:focus {\n color: inherit;\n background-color: $grid-bg-hover;\n }\n\n &.active {\n color: inherit;\n background-color: $grid-bg-selected;\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Navigation\n\n Default Mendix Navigation Tree\n========================================================================== */\n.mx-navigationtree {\n background-color: $navigation-bg;\n\n /* Every navigation item */\n .navbar-inner > ul {\n margin: 0;\n padding-left: 0;\n & > li {\n padding: 0;\n border-style: none;\n & > a {\n display: flex;\n align-items: center;\n height: $navigation-item-height;\n padding: $navigation-item-padding;\n color: $navigation-color;\n border-bottom: 1px solid $navigation-border-color;\n border-radius: 0;\n background-color: $navigation-bg;\n text-shadow: none;\n font-size: $navigation-font-size;\n font-weight: $font-weight-normal;\n .caret {\n border-top-color: $navigation-color;\n border-bottom-color: $navigation-color;\n }\n img {\n width: 20px; // Default size\n height: auto;\n margin-right: 0.5em;\n }\n .glyphicon {\n top: 0;\n margin-right: 0.5em;\n vertical-align: middle;\n font-size: $navigation-glyph-size;\n }\n }\n a:hover,\n a:focus,\n a.active {\n text-decoration: none;\n color: $navigation-color-hover;\n background-color: $navigation-bg-hover;\n .caret {\n border-top-color: $navigation-color-active;\n border-bottom-color: $navigation-color-active;\n }\n }\n a.active {\n color: $navigation-color-active;\n border-left-color: $navigation-color-active;\n background-color: $navigation-bg-active;\n }\n }\n }\n\n /* Sub navigation item specific */\n li.mx-navigationtree-has-items {\n & > ul {\n margin: 0;\n padding-left: 0;\n background-color: $navigation-sub-bg;\n li {\n margin: 0;\n padding: 0;\n border: 0;\n a {\n padding: 12px 20px 12px 25px;\n text-decoration: none;\n color: $navigation-sub-color;\n border: 0;\n background-color: $navigation-sub-bg;\n text-shadow: none;\n font-size: $navigation-sub-font-size;\n font-weight: $font-weight-normal;\n\n &:hover,\n &:focus,\n &.active {\n color: $navigation-sub-color-hover;\n outline: 0;\n background-color: $navigation-sub-bg-hover;\n }\n &.active {\n color: $navigation-sub-color-active;\n border: 0;\n background-color: $navigation-sub-bg-active;\n }\n }\n }\n }\n }\n\n /* remove focus */\n &:focus {\n outline: 0;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Navigation\n\n//== Regions\n//## Behavior in the different regions\n========================================================================== */\n// When used in topbar\n.region-topbar {\n .mx-navigationtree {\n background-color: $navtopbar-bg;\n .navbar-inner > ul {\n & > li {\n & > a {\n color: $navtopbar-color;\n border-color: $navtopbar-border-color;\n background-color: $navtopbar-bg;\n font-size: $navtopbar-font-size;\n .caret {\n border-top-color: $navtopbar-color;\n border-bottom-color: $navtopbar-color;\n }\n\n .glyphicon {\n font-size: $navtopbar-glyph-size;\n }\n }\n a:hover,\n a:focus,\n a.active {\n color: $navtopbar-color-hover;\n background-color: $navtopbar-bg-hover;\n .caret {\n border-top-color: $navtopbar-color-active;\n border-bottom-color: $navtopbar-color-active;\n }\n }\n a.active {\n color: $navtopbar-color-active;\n border-left-color: $navtopbar-color-active;\n background-color: $navtopbar-bg-active;\n }\n }\n }\n\n /* Sub navigation item specific */\n li.mx-navigationtree-has-items {\n & > ul {\n background-color: $navtopbar-sub-bg;\n li {\n a {\n color: $navtopbar-sub-color;\n background-color: $navtopbar-sub-bg;\n font-size: $navtopbar-sub-font-size;\n &:hover,\n &:focus,\n &.active {\n color: $navtopbar-sub-color-hover;\n background-color: $navtopbar-sub-bg-hover;\n }\n &.active {\n color: $navtopbar-sub-color-active;\n background-color: $navtopbar-sub-bg-active;\n }\n }\n }\n }\n }\n }\n}\n\n// When used in sidebar\n.region-sidebar {\n .mx-navigationtree {\n background-color: $navsidebar-bg;\n .navbar-inner > ul {\n & > li {\n & > a {\n color: $navsidebar-color;\n border-color: $navsidebar-border-color;\n background-color: $navsidebar-bg;\n font-size: $navsidebar-font-size;\n .caret {\n border-top-color: $navsidebar-color;\n border-bottom-color: $navsidebar-color;\n }\n\n .glyphicon {\n font-size: $navsidebar-glyph-size;\n }\n }\n a:hover,\n a:focus,\n a.active {\n color: $navsidebar-color-hover;\n background-color: $navsidebar-bg-hover;\n .caret {\n border-top-color: $navsidebar-color-active;\n border-bottom-color: $navsidebar-color-active;\n }\n }\n a.active {\n color: $navsidebar-color-active;\n border-left-color: $navsidebar-color-active;\n background-color: $navsidebar-bg-active;\n }\n }\n }\n\n /* Sub navigation item specific */\n li.mx-navigationtree-has-items {\n & > ul {\n background-color: $navsidebar-sub-bg;\n li {\n a {\n color: $navsidebar-sub-color;\n background-color: $navsidebar-sub-bg;\n font-size: $navsidebar-sub-font-size;\n &:hover,\n &:focus,\n &.active {\n color: $navsidebar-sub-color-hover;\n background-color: $navsidebar-sub-bg-hover;\n }\n &.active {\n color: $navsidebar-sub-color-active;\n background-color: $navsidebar-sub-bg-active;\n }\n }\n }\n }\n }\n }\n}\n\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n//-------------------------------------------------------------------------------------------------------------------//\n// Content Centerd text and icons\n.nav-content-center-text-icons.mx-navigationtree {\n .navbar-inner ul {\n a {\n flex-direction: column;\n justify-content: center;\n .glyphicon {\n margin: 0 0 5px 0;\n }\n }\n }\n}\n\n// Content Centerd icons only\n.nav-content-center.mx-navigationtree {\n .navbar-inner ul {\n a {\n justify-content: center;\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Navigation\n\n Default Mendix Simple Menu Bar\n========================================================================== */\n.mx-menubar {\n padding: 0;\n background-color: $navigation-bg;\n\n ul.mx-menubar-list {\n display: flex;\n width: 100%;\n min-height: 50px;\n\n li.mx-menubar-item {\n margin: 0;\n\n > a {\n display: flex;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: $navigation-item-padding;\n white-space: nowrap;\n color: $navigation-color;\n border-radius: 0;\n font-size: $navigation-font-size;\n font-weight: $font-weight-normal;\n\n img {\n margin-right: 0.5em;\n }\n\n .glyphicon {\n top: -1px;\n margin-right: 0.5em;\n vertical-align: middle;\n font-size: $navigation-glyph-size;\n }\n }\n\n a:hover,\n a:focus,\n &:hover a,\n &:focus a,\n &.active a {\n text-decoration: none;\n color: $navigation-color-hover;\n background-color: $navigation-bg-hover;\n }\n\n &.active a {\n color: $navigation-color-active;\n background-color: $navigation-bg-active;\n }\n }\n }\n\n /* remove focus */\n &:focus {\n outline: 0;\n }\n}\n\n// Vertical variation specifics\n.mx-menubar-vertical {\n background-color: $navigation-bg;\n\n ul.mx-menubar-list {\n display: flex;\n\n li.mx-menubar-item {\n display: block;\n\n a {\n border-bottom: 1px solid $navigation-border-color;\n }\n }\n }\n}\n\n// Horizontal variation specifics\n.mx-menubar-horizontal {\n box-shadow: 2px 0 4px 0 rgba(0, 0, 0, 0.14);\n\n ul.mx-menubar-list {\n li.mx-menubar-item {\n width: auto;\n\n a {\n width: 100%;\n }\n }\n }\n\n /* Two menu items */\n &.menubar-col-6 ul.mx-menubar-list li.mx-menubar-item {\n width: 50%;\n }\n\n /* Three menu items */\n &.menubar-col-4 ul.mx-menubar-list li.mx-menubar-item {\n width: 33.33333333%;\n }\n\n /* Four menu items */\n &.menubar-col-3 ul.mx-menubar-list li.mx-menubar-item {\n width: 25%;\n }\n\n /* Five menu items */\n &.menubar-col-2 ul.mx-menubar-list li.mx-menubar-item {\n width: 20%;\n }\n}\n\n//== Regions\n//## Behavior in the different regions\n//-------------------------------------------------------------------------------------------------------------------//\n// When used in topbar\n.region-topbar {\n .mx-menubar {\n background-color: $navtopbar-bg;\n\n ul.mx-menubar-list {\n li.mx-menubar-item {\n a {\n color: $navtopbar-color;\n font-size: $navtopbar-font-size;\n\n .glyphicon {\n font-size: $navtopbar-glyph-size;\n }\n }\n\n a:hover,\n a:focus,\n &:hover a,\n &:focus a,\n &.active a {\n color: $navtopbar-color-hover;\n background-color: $navtopbar-bg-hover;\n }\n\n &.active a {\n color: $navtopbar-color-active;\n background-color: $navtopbar-bg-active;\n }\n }\n }\n }\n\n // Vertical variation specifics\n .mx-menubar-vertical {\n background-color: $navtopbar-bg;\n\n ul.mx-menubar-list {\n li.mx-menubar-item {\n a {\n height: $navigation-item-height;\n border-color: $navtopbar-border-color;\n }\n }\n }\n }\n}\n\n// When used in sidebar\n.region-sidebar {\n .mx-menubar {\n background-color: $navsidebar-bg;\n\n ul.mx-menubar-list {\n li.mx-menubar-item {\n a {\n color: $navsidebar-color;\n font-size: $navsidebar-font-size;\n\n .glyphicon {\n font-size: $navsidebar-glyph-size;\n }\n }\n\n a:hover,\n a:focus,\n &:hover a,\n &:focus a,\n &.active a {\n color: $navsidebar-color-hover;\n background-color: $navsidebar-bg-hover;\n }\n\n &.active a {\n color: $navsidebar-color-active;\n background-color: $navsidebar-bg-active;\n }\n }\n }\n }\n\n // Vertical variation specifics\n .mx-menubar-vertical {\n background-color: $navsidebar-bg;\n\n ul.mx-menubar-list {\n li.mx-menubar-item {\n a {\n border-color: $navsidebar-border-color;\n }\n }\n }\n }\n}\n\n@supports (padding-bottom: env(safe-area-inset-bottom)) {\n .mx-menubar {\n padding-bottom: env(safe-area-inset-bottom);\n }\n}","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Navigation\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n========================================================================== */\n// Center text and icons\n.bottom-nav-text-icons.mx-menubar {\n ul.mx-menubar-list {\n li.mx-menubar-item {\n a {\n flex-direction: column;\n padding: 8px 8px 6px 8px;\n line-height: normal;\n font-size: 11px;\n .glyphicon {\n display: block;\n margin: 0 0 5px 0;\n font-size: 18px;\n }\n img {\n display: block;\n height: 18px;\n margin: 0 0 5px 0;\n }\n }\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Radio Buttons\n\n Default Mendix Radio Button Widget\n========================================================================== */\n.mx-radiobuttons.inline .mx-radiogroup {\n display: flex;\n flex-direction: row;\n\n .radio {\n margin: 0 20px 0 0;\n }\n}\n\n.mx-radiobuttons .radio:last-child {\n margin-bottom: 0;\n}\n\n.radio {\n display: flex !important; // Remove after mxui merge\n align-items: center;\n margin-top: 0;\n}\n\ninput[type='radio'] {\n position: relative !important; // Remove after mxui merge\n width: 16px;\n height: 16px;\n margin: 0;\n cursor: pointer;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n\n &::-ms-check {\n color: $form-input-border-color;\n border-color: $form-input-border-color;\n background-color: $form-input-bg;\n }\n\n &:focus::-ms-check,\n &:checked::-ms-check {\n color: $form-input-border-focus-color;\n border-color: $form-input-border-focus-color;\n background-color: $form-input-bg-focus;\n }\n\n &:before,\n &:after {\n position: absolute;\n display: block;\n transition: all 0.3s ease-in-out;\n border-radius: 50%;\n }\n\n &:before {\n width: 100%;\n height: 100%;\n content: '';\n border: 1px solid $form-input-border-color;\n background-color: transparent;\n }\n\n &:after {\n top: 50%;\n left: 50%;\n width: 50%;\n height: 50%;\n transform: translate(-50%, -50%);\n pointer-events: none;\n background-color: $form-input-border-focus-color;\n }\n\n &:not(:checked):after {\n transform: translate(-50%, -50%) scale(0);\n opacity: 0;\n }\n\n &:not(:disabled):not(:checked):hover:after {\n background-color: $form-input-bg-hover;\n }\n\n &:checked:after,\n &:not(:disabled):not(:checked):hover:after {\n content: '';\n transform: translate(-50%, -50%) scale(1);\n opacity: 1;\n }\n\n &:checked:before {\n border-color: $form-input-border-focus-color;\n background-color: $form-input-bg;\n }\n\n &:disabled:before {\n background-color: $form-input-bg-disabled;\n }\n\n &:checked:disabled:before {\n border-color: rgba($form-input-border-focus-color, 0.4);\n }\n\n &:checked:disabled:after {\n background-color: rgba($form-input-border-focus-color, 0.4);\n }\n\n & + label {\n margin-left: $form-label-gutter;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Tab Container\n\n Default Mendix Tab Container Widget. Tab containers are used to show information categorized into multiple tab pages.\n This can be very useful if the amount of information that has to be displayed is larger than the amount of space on the screen\n========================================================================== */\n\n.mx-tabcontainer {\n .mx-tabcontainer-tabs {\n margin-bottom: 20px;\n border-color: $tabs-border-color;\n & > li > a {\n margin-right: 0;\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n color: $tabs-color;\n font-weight: $font-weight-normal;\n &:hover,\n &:focus {\n background-color: $tabs-bg-hover;\n }\n }\n & > li.active > a,\n & > li.active > a:hover,\n & > li.active > a:focus {\n color: $tabs-color-active;\n border: 1px solid $tabs-border-color;\n border-bottom-color: transparent;\n background-color: $tabs-bg;\n }\n }\n}\n\n// Tab Styling Specific for mobile\n.tab-mobile.mx-tabcontainer {\n & > .mx-tabcontainer-tabs {\n margin: 0;\n text-align: center;\n border-style: none;\n background-color: $brand-primary;\n li {\n display: table-cell;\n float: none;\n width: 1%;\n margin: 0;\n text-align: center;\n border-style: none;\n border-radius: 0;\n a {\n padding: 15px;\n text-transform: uppercase;\n color: #FFFFFF;\n border-width: 0 1px 0 0;\n border-style: solid;\n border-color: rgba(255, 255, 255, 0.3);\n border-radius: 0;\n font-size: 12px;\n font-weight: $font-weight-normal;\n &:hover,\n &:focus {\n background-color: inherit;\n }\n }\n &:last-child a {\n border-right: none;\n }\n &.active > a,\n &.active > a:hover,\n &.active > a:focus {\n color: #FFFFFF;\n border-style: none;\n border-radius: 0;\n background-color: mix($brand-primary, #000000, 80%);\n }\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Tab Container\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n========================================================================== */\n// Style as pills\n.tab-pills.mx-tabcontainer {\n & > .mx-tabcontainer-tabs {\n border: 0;\n & > li > a {\n margin-right: 2px;\n color: $tabs-color;\n border: 1px solid $tabs-border-color;\n border-radius: 4px;\n &:hover,\n &:focus {\n background-color: $tabs-bg-hover;\n }\n }\n & > li.active > a,\n & > li.active > a:hover,\n & > li.active > a:focus {\n color: #FFFFFF;\n border-color: $tabs-bg-active;\n background-color: $tabs-bg-active;\n }\n }\n}\n\n// Style with lines\n.tab-lined.mx-tabcontainer {\n & > .mx-tabcontainer-tabs {\n border-width: 3px;\n li {\n margin-right: 30px;\n margin-bottom: -3px;\n & > a {\n padding: 10px 0;\n color: $tabs-color;\n border: 0;\n border-style: solid;\n border-color: transparent;\n border-bottom-width: 3px;\n border-radius: 0;\n &:hover,\n &:focus {\n color: $tabs-color;\n border: 0;\n border-color: transparent;\n background: transparent;\n }\n }\n &.active > a,\n &.active > a:hover,\n &.active > a:focus {\n color: $tabs-lined-color-active;\n border: 0;\n border-bottom: 3px solid $tabs-lined-border-color;\n background-color: transparent;\n }\n }\n }\n}\n\n// Justified style\n// Lets your tabs take 100% of the width\n.tab-justified.mx-tabcontainer {\n & > .mx-tabcontainer-tabs {\n width: 100%;\n border-bottom: 0;\n & > li {\n display: table-cell;\n float: none;\n width: 1%;\n margin: 0;\n @media (max-width: $screen-sm-max) {\n display: block;\n width: 100%;\n }\n & > a {\n text-align: center;\n border-bottom: 1px solid $tabs-border-color;\n }\n }\n & > li.active > a {\n border-bottom-color: transparent;\n border-radius: 4px;\n @media (max-width: $screen-sm-max) {\n border-bottom-color: $tabs-border-color;\n }\n }\n }\n}\n\n// Bordered\n.tab-bordered.mx-tabcontainer {\n & > .mx-tabcontainer-tabs {\n margin: 0;\n }\n & > .mx-tabcontainer-content {\n padding: 10px;\n border-width: 0 1px 1px 1px;\n border-style: solid;\n border-color: $tabs-border-color;\n background-color: #FFFFFF;\n }\n}\n\n// Wizard\n.tab-wizard.mx-tabcontainer {\n & > .mx-tabcontainer-tabs {\n position: relative;\n display: flex;\n justify-content: space-between;\n border-style: none;\n\n &::before {\n position: absolute;\n top: 16px;\n display: block;\n width: 100%;\n height: 1px;\n content: \"\";\n background-color: $tabs-border-color;\n }\n & > li {\n position: relative;\n float: none;\n width: 100%;\n text-align: center;\n & > a {\n width: 33px;\n height: 33px;\n margin: auto;\n padding: 0;\n text-align: center;\n color: $brand-default;\n border: 1px solid $tabs-border-color;\n border-radius: 100%;\n background-color: #FFFFFF;\n font-size: 18px;\n font-weight: bold;\n line-height: 33px;\n }\n &.active {\n & > a,\n & > a:hover,\n & > a:focus {\n color: #FFFFFF;\n border-color: $tabs-bg-active;\n background-color: $tabs-bg-active;\n }\n }\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Tables\n\n Default Mendix Table Widget. Tables can be used to lend structure to a page. They contain a number of rows (tr) and columns, the intersection of which is called a cell (td). Each cell can contain widgets\n========================================================================== */\n\nth {\n font-weight: $font-weight-bold;\n}\n\nhtml body .mx-page table.mx-table {\n th,\n td {\n &.nopadding {\n padding: 0;\n }\n }\n}\n\ntable.mx-table {\n > tbody {\n /* Table row */\n > tr {\n /* Table header */\n > th {\n padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom $padding-table-cell-left;s\n * {\n color: $form-label-color;\n font-weight: $font-weight-bold;\n font-weight: $form-label-weight;\n }\n > label {\n padding-top: 7px;\n padding-bottom: 6px; // Aligns label in the middle if there is no input field next to it.\n }\n }\n /* Table cells */\n > td {\n padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom $padding-table-cell-left;\n > div > label,\n .mx-referenceselector-input-wrapper label {\n padding-top: 7px;\n padding-bottom: 6px; // Aligns label in the middle if there is no input field next to it.\n }\n }\n }\n }\n}\n\n// Default Mendix Table Widget inside TemplateGrid\n.mx-templategrid table.mx-table {\n > tbody {\n > tr {\n > th,\n > td {\n padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom $padding-table-cell-left;\n }\n }\n }\n}\n\n// Default Mendix Table Widget inside Listview\n.mx-list table.mx-table {\n > tbody {\n > tr {\n > th,\n > td {\n padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom $padding-table-cell-left;\n }\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Tables\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n========================================================================== */\n// Lined\ntable.table-lined.mx-table {\n > tbody {\n // Table row\n > tr {\n // Table header\n // Table data\n > td {\n border-width: 1px 0;\n border-style: solid;\n border-color: $grid-border-color;\n }\n }\n }\n}\n\n// Bordered\ntable.table-bordered.mx-table {\n > tbody {\n // Table row\n > tr {\n // Table header\n // Table data\n > th,\n > td {\n border-width: 1px;\n border-style: solid;\n border-color: $grid-border-color;\n }\n }\n }\n}\n\n// Makes table compact\ntable.table-compact.mx-table {\n > tbody {\n // Table row\n > tr {\n // Table header\n // Table data\n > th,\n > td {\n padding-top: 2px;\n padding-bottom: 2px;\n }\n }\n }\n}\n\n// Remove padding on sides\ntable.table-sideless.mx-table {\n > tbody {\n // Table row\n > tr {\n // Table header\n // Table data\n > td,\n > th {\n padding-right: 0;\n }\n > th:first-child,\n > td:first-child {\n padding-left: 0;\n }\n }\n }\n}\n\n// Remove all padding\ntable.table-spaceless.mx-table {\n > tbody {\n // Table row\n > tr {\n // Table header\n // Table data\n > th,\n > td {\n padding: 0;\n }\n }\n }\n}\n\n// Tables Vertical\n// Will remove unwanted paddings\ntable.table-vertical.mx-table {\n > tbody {\n // Table row\n > tr {\n // Table header\n > th {\n padding-bottom: 0;\n > label {\n padding: 0;\n }\n > div > label {\n padding: 0;\n }\n }\n }\n }\n}\n\n// Align content in middle\ntable.table-align-vertical-middle.mx-table {\n > tbody {\n // Table row\n > tr {\n // Table header\n // Table data\n > th,\n > td {\n vertical-align: middle;\n }\n }\n }\n}\n\n// Compact labels\ntable.table-label-compact.mx-table {\n > tbody {\n // Table row\n > tr {\n // Table header\n // Table data\n > th,\n > td {\n > label {\n margin: 0;\n padding: 0;\n }\n > div > label,\n .mx-referenceselector-input-wrapper label {\n margin: 0;\n padding: 0;\n }\n }\n }\n }\n}\n\n$height-row-s: 55px;\n$height-row-m: 70px;\n$height-row-l: 120px;\n// Small rows\ntable.table-row-s.mx-table {\n > tbody {\n // Table row\n > tr {\n // Table header\n // Table data\n > th,\n > td {\n height: $height-row-s;\n }\n }\n }\n}\n\n// Medium rows\ntable.table-row-m.mx-table {\n > tbody {\n // Table row\n > tr {\n // Table header\n // Table data\n > th,\n > td {\n height: $height-row-m;\n }\n }\n }\n}\n\n// Large rows\ntable.table-row-l.mx-table {\n > tbody {\n // Table row\n > tr {\n // Table header\n // Table data\n > th,\n > td {\n height: $height-row-l;\n }\n }\n }\n}\n\n// Makes the columns fixed\ntable.table-fixed {\n table-layout: fixed;\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Templategrid\n\n Default Mendix Templategrid Widget. The template grid shows a list of objects in a tile view. For example, a template grid can show a list of products. The template grid has a lot in common with the data grid. The main difference is that the objects are shown in templates (a sort of small data view) instead of rows\n========================================================================== */\n\n.mx-templategrid {\n .mx-templategrid-content-wrapper {\n table-layout: fixed;\n }\n .mx-templategrid-item {\n padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left;\n cursor: default;\n background-color: $grid-bg;\n &:hover {\n background-color: transparent;\n }\n &.selected {\n background-color: $grid-bg-selected !important;\n }\n }\n .mx-layoutgrid {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n}","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n/* ==========================================================================\n Templategrid\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n========================================================================== */\n// Make sure your content looks selectable\n.templategrid-selectable.mx-templategrid {\n .mx-templategrid-item {\n cursor: pointer;\n }\n}\n\n// Lined\n.templategrid-lined.mx-templategrid {\n .mx-grid-content {\n border-top-width: 2px;\n border-top-style: solid;\n border-top-color: $grid-border-color;\n }\n\n .mx-templategrid-item {\n border-top: 1px solid $grid-border-color;\n border-right: none;\n border-bottom: 1px solid $grid-border-color;\n border-left: none;\n }\n}\n\n// Striped\n.templategrid-striped.mx-templategrid {\n .mx-templategrid-row:nth-child(odd) .mx-templategrid-item {\n background-color: #F9F9F9;\n }\n}\n\n// Stylingless\n.templategrid-stylingless.mx-templategrid {\n .mx-templategrid-item {\n padding: 0;\n cursor: default;\n border: 0;\n background-color: transparent;\n\n &:hover {\n background-color: transparent;\n }\n\n &.selected {\n background-color: transparent !important;\n\n &:hover {\n background-color: transparent !important;\n }\n }\n }\n}\n\n// Transparent items\n.templategrid-transparent.mx-templategrid {\n .mx-templategrid-item {\n border: 0;\n background-color: transparent;\n }\n}\n\n// Hover\n.templategrid-hover.mx-templategrid {\n .mx-templategrid-item {\n &:hover {\n background-color: $grid-bg-hover !important;\n }\n\n &.selected {\n background-color: $grid-bg-selected !important;\n\n &:hover {\n background-color: $grid-bg-selected-hover !important;\n }\n }\n }\n}\n\n// Templategrid Row Sizes\n.templategrid-lg.mx-templategrid {\n .mx-templategrid-item {\n padding: ($grid-padding-top * 2) ($grid-padding-right * 2) ($grid-padding-bottom * 2) ($grid-padding-left * 2);\n }\n}\n\n.templategrid-sm.mx-templategrid {\n .mx-templategrid-item {\n padding: ($grid-padding-top / 2) ($grid-padding-right / 2) ($grid-padding-bottom / 2) ($grid-padding-left / 2);\n }\n}\n\n// Templategrid Layoutgrid styles\n.mx-templategrid[class*=\"tg-col\"] {\n overflow: hidden; // For if it is not in a layout, to prevent scrollbars\n .mx-templategrid-content-wrapper {\n display: block;\n }\n\n .mx-templategrid-row {\n display: block;\n margin-right: -1 * $gutter-size;\n margin-left: -1 * $gutter-size;\n\n &::before,\n &::after {\n // clearfix\n display: table;\n clear: both;\n content: \" \";\n }\n }\n\n .mx-templategrid-item {\n // bootstrap col\n position: relative;\n display: block;\n float: left;\n min-height: 1px;\n padding-right: $gutter-size;\n padding-left: $gutter-size;\n border: 0;\n @media (max-width: 992px) {\n width: 100% !important;\n }\n\n .mx-dataview {\n overflow: hidden;\n }\n }\n\n &.tg-col-xs-12 .mx-templategrid-item {\n width: 100% !important;\n }\n\n &.tg-col-xs-11 .mx-templategrid-item {\n width: 91.66666667% !important;\n }\n\n &.tg-col-xs-10 .mx-templategrid-item {\n width: 83.33333333% !important;\n }\n\n &.tg-col-xs-9 .mx-templategrid-item {\n width: 75% !important;\n }\n\n &.tg-col-xs-8 .mx-templategrid-item {\n width: 66.66666667% !important;\n }\n\n &.tg-col-xs-7 .mx-templategrid-item {\n width: 58.33333333% !important;\n }\n\n &.tg-col-xs-6 .mx-templategrid-item {\n width: 50% !important;\n }\n\n &.tg-col-xs-5 .mx-templategrid-item {\n width: 41.66666667% !important;\n }\n\n &.tg-col-xs-4 .mx-templategrid-item {\n width: 33.33333333% !important;\n }\n\n &.tg-col-xs-3 .mx-templategrid-item {\n width: 25% !important;\n }\n\n &.tg-col-xs-2 .mx-templategrid-item {\n width: 16.66666667% !important;\n }\n\n &.tg-col-xs-1 .mx-templategrid-item {\n width: 8.33333333% !important;\n }\n\n @media (min-width: 768px) {\n &.tg-col-sm-12 .mx-templategrid-item {\n width: 100% !important;\n }\n &.tg-col-sm-11 .mx-templategrid-item {\n width: 91.66666667% !important;\n }\n &.tg-col-sm-10 .mx-templategrid-item {\n width: 83.33333333% !important;\n }\n &.tg-col-sm-9 .mx-templategrid-item {\n width: 75% !important;\n }\n &.tg-col-sm-8 .mx-templategrid-item {\n width: 66.66666667% !important;\n }\n &.tg-col-sm-7 .mx-templategrid-item {\n width: 58.33333333% !important;\n }\n &.tg-col-sm-6 .mx-templategrid-item {\n width: 50% !important;\n }\n &.tg-col-sm-5 .mx-templategrid-item {\n width: 41.66666667% !important;\n }\n &.tg-col-sm-4 .mx-templategrid-item {\n width: 33.33333333% !important;\n }\n &.tg-col-sm-3 .mx-templategrid-item {\n width: 25% !important;\n }\n &.tg-col-sm-2 .mx-templategrid-item {\n width: 16.66666667% !important;\n }\n &.tg-col-sm-1 .mx-templategrid-item {\n width: 8.33333333% !important;\n }\n }\n @media (min-width: 992px) {\n &.tg-col-md-12 .mx-templategrid-item {\n width: 100% !important;\n }\n &.tg-col-md-11 .mx-templategrid-item {\n width: 91.66666667% !important;\n }\n &.tg-col-md-10 .mx-templategrid-item {\n width: 83.33333333% !important;\n }\n &.tg-col-md-9 .mx-templategrid-item {\n width: 75% !important;\n }\n &.tg-col-md-8 .mx-templategrid-item {\n width: 66.66666667% !important;\n }\n &.tg-col-md-7 .mx-templategrid-item {\n width: 58.33333333% !important;\n }\n &.tg-col-md-6 .mx-templategrid-item {\n width: 50% !important;\n }\n &.tg-col-md-5 .mx-templategrid-item {\n width: 41.66666667% !important;\n }\n &.tg-col-md-4 .mx-templategrid-item {\n width: 33.33333333% !important;\n }\n &.tg-col-md-3 .mx-templategrid-item {\n width: 25% !important;\n }\n &.tg-col-md-2 .mx-templategrid-item {\n width: 16.66666667% !important;\n }\n &.tg-col-md-1 .mx-templategrid-item {\n width: 8.33333333% !important;\n }\n }\n @media (min-width: 1200px) {\n &.tg-col-lg-12 .mx-templategrid-item {\n width: 100% !important;\n }\n &.tg-col-lg-11 .mx-templategrid-item {\n width: 91.66666667% !important;\n }\n &.tg-col-lg-10 .mx-templategrid-item {\n width: 83.33333333% !important;\n }\n &.tg-col-lg-9 .mx-templategrid-item {\n width: 75% !important;\n }\n &.tg-col-lg-8 .mx-templategrid-item {\n width: 66.66666667% !important;\n }\n &.tg-col-lg-7 .mx-templategrid-item {\n width: 58.33333333% !important;\n }\n &.tg-col-lg-6 .mx-templategrid-item {\n width: 50% !important;\n }\n &.tg-col-lg-5 .mx-templategrid-item {\n width: 41.66666667% !important;\n }\n &.tg-col-lg-4 .mx-templategrid-item {\n width: 33.33333333% !important;\n }\n &.tg-col-lg-3 .mx-templategrid-item {\n width: 25% !important;\n }\n &.tg-col-lg-2 .mx-templategrid-item {\n width: 16.66666667% !important;\n }\n &.tg-col-lg-1 .mx-templategrid-item {\n width: 8.33333333% !important;\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Typography\n========================================================================== */\n\np {\n line-height: $line-height-base * 1.25;\n}\n\nlabel {\n padding-top: 0;\n}\n\n.mx-title {\n margin: $font-header-margin;\n color: $font-color-header;\n font-size: $font-size-h1;\n font-weight: $font-weight-header;\n}\n\nh1,\n.h1,\n.h1 > * {\n font-size: $font-size-h1;\n}\n\nh2,\n.h2,\n.h2 > * {\n font-size: $font-size-h2;\n}\n\nh3,\n.h3,\n.h3 > * {\n font-size: $font-size-h3;\n}\n\nh4,\n.h4,\n.h4 > * {\n font-size: $font-size-h4;\n}\n\nh5,\n.h5,\n.h5 > * {\n font-size: $font-size-h5;\n}\n\nh6,\n.h6,\n.h6 > * {\n font-size: $font-size-h6;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n margin: $font-header-margin;\n color: $font-color-header;\n font-weight: $font-weight-header;\n line-height: 1.3;\n}","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Typography\n\n//== Design Properties\n//## Helper classes to change the look and feel of the component\n========================================================================== */\n// Text size\n.text-small {\n font-size: $font-size-small !important;\n}\n\n.text-large {\n font-size: $font-size-large !important;\n}\n\n// Text Weights\n.text-light,\n.text-light > *,\n.text-light label {\n font-weight: $font-weight-light !important;\n}\n\n.text-normal,\n.text-normal > *,\n.text-normal label {\n font-weight: $font-weight-normal !important;\n}\n\n.text-semibold,\n.text-semibold > *,\n.text-semibold label {\n font-weight: $font-weight-semibold !important;\n}\n\n.text-bold,\n.text-bold > *,\n.text-bold label {\n font-weight: $font-weight-bold !important;\n}\n\n// Color variations\n.text-default,\n.text-default:hover {\n color: $font-color-default !important;\n}\n\n.text-primary,\n.text-primary:hover {\n color: $brand-primary !important;\n}\n\n.text-info,\n.text-info:hover {\n color: $brand-info !important;\n}\n\n.text-success,\n.text-success:hover {\n color: $brand-success !important;\n}\n\n.text-warning,\n.text-warning:hover {\n color: $brand-warning !important;\n}\n\n.text-danger,\n.text-danger:hover {\n color: $brand-danger !important;\n}\n\n.text-header {\n color: $font-color-header !important;\n}\n\n.text-detail {\n color: $font-color-detail !important;\n}\n\n.text-white {\n color: #ffffff;\n}\n\n// Alignment options\n.text-left {\n text-align: left !important;\n}\n.text-center {\n text-align: center !important;\n}\n.text-right {\n text-align: right !important;\n}\n.text-justify {\n text-align: justify !important;\n}\n\n// Transform options\n.text-lowercase {\n text-transform: lowercase !important;\n}\n.text-uppercase {\n text-transform: uppercase !important;\n}\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n// Wrap options\n.text-break {\n word-break: break-all !important;\n word-break: break-word !important;\n -ms-word-break: break-all !important;\n -webkit-hyphens: auto !important;\n -moz-hyphens: auto !important;\n hyphens: auto !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-nowrap {\n overflow: hidden !important;\n max-width: 100% !important;\n white-space: nowrap !important;\n text-overflow: ellipsis !important;\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Layout Grid\n\n Default Bootstrap containers\n========================================================================== */\n.mx-layoutgrid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n padding-right: $gutter-size;\n padding-left: $gutter-size;\n}\n\n// Row\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter-size;\n margin-left: -$gutter-size;\n\n &::before,\n &::after {\n content: normal;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n// Columns\n.col-1,\n.col-2,\n.col-3,\n.col-4,\n.col-5,\n.col-6,\n.col-7,\n.col-8,\n.col-9,\n.col-10,\n.col-11,\n.col-12,\n.col,\n.col-auto,\n.col-sm-1,\n.col-sm-2,\n.col-sm-3,\n.col-sm-4,\n.col-sm-5,\n.col-sm-6,\n.col-sm-7,\n.col-sm-8,\n.col-sm-9,\n.col-sm-10,\n.col-sm-11,\n.col-sm-12,\n.col-sm,\n.col-sm-auto,\n.col-md-1,\n.col-md-2,\n.col-md-3,\n.col-md-4,\n.col-md-5,\n.col-md-6,\n.col-md-7,\n.col-md-8,\n.col-md-9,\n.col-md-10,\n.col-md-11,\n.col-md-12,\n.col-md,\n.col-md-auto,\n.col-lg-1,\n.col-lg-2,\n.col-lg-3,\n.col-lg-4,\n.col-lg-5,\n.col-lg-6,\n.col-lg-7,\n.col-lg-8,\n.col-lg-9,\n.col-lg-10,\n.col-lg-11,\n.col-lg-12,\n.col-lg,\n.col-lg-auto,\n.col-xl-1,\n.col-xl-2,\n.col-xl-3,\n.col-xl-4,\n.col-xl-5,\n.col-xl-6,\n.col-xl-7,\n.col-xl-8,\n.col-xl-9,\n.col-xl-10,\n.col-xl-11,\n.col-xl-12,\n.col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: $gutter-size;\n padding-left: $gutter-size;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n// Responsiveness\n@media (min-width: $screen-sm) {\n .mx-layoutgrid-fixed {\n max-width: 540px;\n }\n}\n\n@media (min-width: $screen-md) {\n .mx-layoutgrid-fixed {\n max-width: 720px;\n }\n}\n\n@media (min-width: $screen-lg) {\n .mx-layoutgrid-fixed {\n max-width: 960px;\n }\n}\n\n@media (min-width: $screen-xl) {\n .mx-layoutgrid-fixed {\n max-width: 1140px;\n }\n}\n\n@media (min-width: $screen-sm) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: $screen-md) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: $screen-lg) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: $screen-xl) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Progress\n\n Default Mendix Progress Widget.\n========================================================================== */\n\n.mx-progress {\n color: $font-color-default;\n background: $bg-color-secondary;\n\n .mx-progress-message {\n color: $font-color-default;\n }\n\n .mx-progress-indicator {\n position: relative;\n overflow: hidden;\n width: 100%;\n max-width: 100%;\n height: 2px;\n margin: auto;\n padding: 0;\n border-radius: 0;\n background: $gray-lighter;\n\n &:before,\n &:after {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n width: 50%;\n height: 2px;\n content: \"\";\n transform: translate3d(-100%, 0, 0);\n background: $brand-primary;\n }\n\n &::before {\n animation: loader 2s infinite;\n }\n\n &::after {\n animation: loader 2s -2s infinite;\n }\n }\n}\n\n\n@keyframes loader {\n 0% {\n transform: translate3d(-100%, 0, 0);\n }\n 100% {\n transform: translate3d(200%, 0, 0);\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* ==========================================================================\n Helpers\n\n Default Mendix Helpers\n========================================================================== */\n$important-helpers-value: if($important-helpers, ' !important', '');\n\n// Display properties\n.d-none {\n display: none #{$important-helpers-value};\n}\n\n.d-flex {\n display: flex #{$important-helpers-value};\n}\n\n.d-inline-flex {\n display: inline-flex #{$important-helpers-value};\n}\n\n.d-inline {\n display: inline #{$important-helpers-value};\n}\n\n.d-inline-block {\n display: inline-block #{$important-helpers-value};\n}\n\n.show,\n.d-block {\n display: block #{$important-helpers-value};\n}\n\n.table,\n.d-table {\n display: table #{$important-helpers-value};\n}\n\n.table-row,\n.d-table-row {\n display: table-row #{$important-helpers-value};\n}\n\n.table-cell,\n.d-table-cell {\n display: table-cell #{$important-helpers-value};\n}\n\n.hide,\n.hidden {\n display: none #{$important-helpers-value};\n visibility: hidden #{$important-helpers-value};\n}\n\n.invisible {\n visibility: hidden #{$important-helpers-value};\n}\n\n.display-ie8-only:not([attr*=\"\"]) {\n display: none #{$important-helpers-value};\n padding: 0 #{$important-helpers-value};\n}\n\n.list-nostyle {\n ul {\n margin: 0 #{$important-helpers-value};\n padding: 0 #{$important-helpers-value};\n\n li {\n list-style-type: none #{$important-helpers-value};\n }\n }\n}\n\n.nowrap,\n.nowrap * {\n overflow: hidden #{$important-helpers-value};\n // Star for inside an element, IE8 span > a\n white-space: nowrap #{$important-helpers-value};\n text-overflow: ellipsis #{$important-helpers-value};\n}\n\n// Render DIV as Table Cells\n.table {\n display: table #{$important-helpers-value};\n}\n\n.table-row {\n display: table-row #{$important-helpers-value};\n}\n\n.table-cell {\n display: table-cell #{$important-helpers-value};\n}\n\n// Quick floats\n.pull-left {\n float: left #{$important-helpers-value};\n}\n\n.pull-right {\n float: right #{$important-helpers-value};\n}\n\n// Align options\n.align-top {\n vertical-align: top #{$important-helpers-value};\n}\n\n.align-middle {\n vertical-align: middle #{$important-helpers-value};\n}\n\n.align-bottom {\n vertical-align: bottom #{$important-helpers-value};\n}\n\n// Flex alignments\n.row-left {\n display: flex #{$important-helpers-value};\n align-items: center #{$important-helpers-value};\n flex-flow: row #{$important-helpers-value};\n justify-content: flex-start #{$important-helpers-value};\n}\n\n.row-center {\n display: flex #{$important-helpers-value};\n align-items: center #{$important-helpers-value};\n flex-flow: row #{$important-helpers-value};\n justify-content: center #{$important-helpers-value};\n}\n\n.row-right {\n display: flex #{$important-helpers-value};\n align-items: center #{$important-helpers-value};\n flex-flow: row #{$important-helpers-value};\n justify-content: flex-end #{$important-helpers-value};\n}\n\n.col-left {\n display: flex #{$important-helpers-value};\n align-items: flex-start #{$important-helpers-value};\n flex-direction: column #{$important-helpers-value};\n justify-content: center #{$important-helpers-value};\n}\n\n.col-center {\n display: flex #{$important-helpers-value};\n align-items: center #{$important-helpers-value};\n flex-direction: column #{$important-helpers-value};\n justify-content: center #{$important-helpers-value};\n}\n\n.col-right {\n display: flex #{$important-helpers-value};\n align-items: flex-end #{$important-helpers-value};\n flex-direction: column #{$important-helpers-value};\n justify-content: center #{$important-helpers-value};\n}\n\n// Media\n@media (max-width: $screen-sm-max) {\n .hide-phone {\n display: none #{$important-helpers-value};\n }\n}\n\n@media (min-width: $screen-md) and (max-width: $screen-md-max) {\n .hide-tablet {\n display: none #{$important-helpers-value};\n }\n}\n\n@media (min-width: $screen-lg) {\n .hide-desktop {\n display: none #{$important-helpers-value};\n }\n}\n\n\n@media (max-width: $screen-xs-max) {\n .hide-xs,\n .hidden-xs,\n .d-xs-none {\n display: none #{$important-helpers-value};\n }\n .d-xs-flex {\n display: flex #{$important-helpers-value};\n }\n .d-xs-inline-flex {\n display: inline-flex #{$important-helpers-value};\n }\n .d-xs-inline {\n display: inline #{$important-helpers-value};\n }\n .d-xs-inline-block {\n display: inline-block #{$important-helpers-value};\n }\n .d-xs-block {\n display: block #{$important-helpers-value};\n }\n .d-xs-table {\n display: table #{$important-helpers-value};\n }\n .d-xs-table-row {\n display: table-row #{$important-helpers-value};\n }\n .d-xs-table-cell {\n display: table-cell #{$important-helpers-value};\n }\n}\n\n@media (min-width: $screen-sm) and (max-width: $screen-sm-max) {\n .hide-sm,\n .hidden-sm,\n .d-sm-none {\n display: none #{$important-helpers-value};\n }\n .d-sm-flex {\n display: flex #{$important-helpers-value};\n }\n .d-sm-inline-flex {\n display: inline-flex #{$important-helpers-value};\n }\n .d-sm-inline {\n display: inline #{$important-helpers-value};\n }\n .d-sm-inline-block {\n display: inline-block #{$important-helpers-value};\n }\n .d-sm-block {\n display: block #{$important-helpers-value};\n }\n .d-sm-table {\n display: table #{$important-helpers-value};\n }\n .d-sm-table-row {\n display: table-row #{$important-helpers-value};\n }\n .d-sm-table-cell {\n display: table-cell #{$important-helpers-value};\n }\n}\n\n@media (min-width: $screen-md) and (max-width: $screen-md-max) {\n .hide-md,\n .hidden-md,\n .d-md-none {\n display: none #{$important-helpers-value};\n }\n .d-md-flex {\n display: flex #{$important-helpers-value};\n }\n .d-md-inline-flex {\n display: inline-flex #{$important-helpers-value};\n }\n .d-md-inline {\n display: inline #{$important-helpers-value};\n }\n .d-md-inline-block {\n display: inline-block #{$important-helpers-value};\n }\n .d-md-block {\n display: block #{$important-helpers-value};\n }\n .d-md-table {\n display: table #{$important-helpers-value};\n }\n .d-md-table-row {\n display: table-row #{$important-helpers-value};\n }\n .d-md-table-cell {\n display: table-cell #{$important-helpers-value};\n }\n}\n\n@media (min-width: $screen-lg) and (max-width: $screen-xl) {\n .hide-lg,\n .hidden-lg,\n .d-lg-none {\n display: none #{$important-helpers-value};\n }\n .d-lg-flex {\n display: flex #{$important-helpers-value};\n }\n .d-lg-inline-flex {\n display: inline-flex #{$important-helpers-value};\n }\n .d-lg-inline {\n display: inline #{$important-helpers-value};\n }\n .d-lg-inline-block {\n display: inline-block #{$important-helpers-value};\n }\n .d-lg-block {\n display: block #{$important-helpers-value};\n }\n .d-lg-table {\n display: table #{$important-helpers-value};\n }\n .d-lg-table-row {\n display: table-row #{$important-helpers-value};\n }\n .d-lg-table-cell {\n display: table-cell #{$important-helpers-value};\n }\n}\n\n@media (min-width: $screen-xl) {\n .hide-xl,\n .hidden-xl,\n .d-xl-none {\n display: none #{$important-helpers-value};\n }\n .d-xl-flex {\n display: flex #{$important-helpers-value};\n }\n .d-xl-inline-flex {\n display: inline-flex #{$important-helpers-value};\n }\n .d-xl-inline {\n display: inline #{$important-helpers-value};\n }\n .d-xl-inline-block {\n display: inline-block #{$important-helpers-value};\n }\n .d-xl-block {\n display: block #{$important-helpers-value};\n }\n .d-xl-table {\n display: table #{$important-helpers-value};\n }\n .d-xl-table-row {\n display: table-row #{$important-helpers-value};\n }\n .d-xl-table-cell {\n display: table-cell #{$important-helpers-value};\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/*\n* Mendix Documentation\n* Special styles for presenting components\n*/\n\n/*\n* Dijit Widgets\n*\n* Default Dojo Dijit Widgets\n*/\n\n/*\n * Dijit Tooltip Widget\n *\n * Default tooltip used for Mendix widgets\n */\n\n.mx-tooltip {\n .dijitTooltipContainer {\n border-width: 1px;\n border-color: $gray-light;\n border-radius: 4px;\n background: #ffffff;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n .mx-tooltip-content {\n padding: 10px;\n }\n .form-group {\n margin-bottom: 5px;\n }\n }\n .dijitTooltipConnector {\n width: 0;\n height: 0;\n margin-left: -10px;\n border-width: 10px 10px 10px 0;\n border-style: solid;\n border-color: transparent;\n border-right-color: $gray-light;\n }\n}\n\n/*\n * Dijit Border Container\n *\n * Used in Mendix as split pane containers\n */\n\n.dijitBorderContainer {\n padding: 5px;\n background-color: #fcfcfc;\n .dijitSplitterV,\n .dijitGutterV {\n width: 5px;\n border: 0;\n background: #fcfcfc;\n }\n .dijitSplitterH,\n .dijitGutterH {\n height: 5px;\n border: 0;\n background: #fcfcfc;\n }\n .dijitSplitterH {\n .dijitSplitterThumb {\n top: 2px;\n width: 19px;\n height: 1px;\n background: #b0b0b0;\n }\n }\n .dijitSplitterV {\n .dijitSplitterThumb {\n left: 2px;\n width: 1px;\n height: 19px;\n background: #b0b0b0;\n }\n }\n .dijitSplitContainer-child,\n .dijitBorderContainer-child {\n border: 1px solid #cccccc;\n }\n .dijitBorderContainer-dijitTabContainerTop,\n .dijitBorderContainer-dijitTabContainerBottom,\n .dijitBorderContainer-dijitTabContainerLeft,\n .dijitBorderContainer-dijitTabContainerRight {\n border: none;\n }\n .dijitBorderContainer-dijitBorderContainer {\n padding: 0;\n border: none;\n }\n .dijitSplitterActive {\n /* For IE8 and earlier */\n margin: 0;\n opacity: 0.6;\n background-color: #aaaaaa;\n background-image: none;\n font-size: 1px;\n filter: alpha(opacity=60);\n }\n .dijitSplitContainer-dijitContentPane,\n .dijitBorderContainer-dijitContentPane {\n padding: 5px;\n background-color: #ffffff;\n }\n}\n\n/*\n * Dijit Menu Popup\n *\n * Used in datepickers and calendar widgets\n */\n\n.dijitMenuPopup {\n margin-top: 10px;\n .dijitMenu {\n display: block;\n width: 200px !important;\n margin-top: 0; // No top margin because there is no parent with margin bottom\n padding: 12px 10px;\n border-radius: 3px;\n background: $brand-inverse;\n &:after {\n position: absolute;\n bottom: 100%;\n left: 20px;\n width: 0;\n height: 0;\n margin-left: -10px;\n content: ' ';\n pointer-events: none;\n border: medium solid transparent;\n border-width: 10px;\n border-bottom-color: $brand-inverse;\n }\n // Menu item\n .dijitMenuItem {\n background: transparent;\n .dijitMenuItemLabel {\n display: block;\n overflow: hidden;\n width: 180px !important;\n padding: 10px;\n text-overflow: ellipsis;\n color: #ffffff;\n border-radius: 3px;\n }\n // Hover\n &.dijitMenuItemHover {\n background: none;\n .dijitMenuItemLabel {\n background: $brand-primary;\n }\n }\n }\n // New label\n .tg_newlabelmenuitem {\n .dijitMenuItemLabel {\n font-weight: $font-weight-bold;\n }\n }\n // Seperator\n .dijitMenuSeparator {\n td {\n padding: 0;\n border-bottom-width: 3px;\n }\n .dijitMenuSeparatorIconCell {\n > div {\n margin: 0; //override dijit styling\n }\n }\n }\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* Based on https://github.com/mendixlabs/star-rating/blob/v1.1.1/src/ui/StarRating.scss */\ndiv.widget-progress-bar .progress-bar-default {\n background-color: $brand-default;\n}\n\ndiv.widget-progress-bar .progress-bar-primary {\n background-color: $brand-primary;\n}\n\ndiv.widget-progress-bar .progress-bar-success {\n background-color: $brand-success;\n}\n\ndiv.widget-progress-bar .progress-bar-info {\n background-color: $brand-info;\n}\n\ndiv.widget-progress-bar .progress-bar-warning {\n background-color: $brand-warning;\n}\n\ndiv.widget-progress-bar .progress-bar-danger {\n background-color: $brand-danger;\n}\n\ndiv.widget-progress-bar .progress-bar-inverse {\n background-color: $brand-inverse;\n}\n\ndiv.widget-progress-bar-alert.widget-progress-bar-text-contrast .progress-bar {\n color: $color-danger-darker;\n}\n\ndiv.widget-progress-bar-text-contrast .progress-bar {\n color: $font-color-default;\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n/* Based on https://github.com/mendixlabs/progress-circle/tree/master/src/ui/_progress-circle-theme.scss */\npath.widget-progress-circle-path {\n stroke: $brand-primary;\n}\n\n.widget-progress-circle-primary {\n path.widget-progress-circle-path {\n stroke: $brand-primary;\n }\n .progressbar-text {\n color: $brand-primary !important;\n }\n}\n\n.widget-progress-circle-info {\n path.widget-progress-circle-path {\n stroke: $brand-info;\n }\n .progressbar-text {\n color: $brand-info !important;\n }\n}\n\n.widget-progress-circle-success {\n path.widget-progress-circle-path {\n stroke: $brand-success;\n }\n .progressbar-text {\n color: $brand-success !important;\n }\n}\n\n.widget-progress-circle-warning {\n path.widget-progress-circle-path {\n stroke: $brand-warning;\n }\n .progressbar-text {\n color: $brand-warning !important;\n }\n}\n\n.widget-progress-circle-danger {\n path.widget-progress-circle-path {\n stroke: $brand-danger;\n }\n .progressbar-text {\n color: $brand-danger !important;\n }\n}\n\n.widget-progress-circle-inverse {\n path.widget-progress-circle-path {\n stroke: $brand-inverse;\n }\n .progressbar-text {\n color: $brand-inverse !important;\n }\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n// Based on https://github.com/mendixlabs/range-slider/tree/master/src/ui/_range-slider-theme.scss\n\ndiv.widget-range-slider {\n .rc-slider-handle,\n .rc-slider-dot-active {\n border-color: $brand-default;\n\n &:active {\n border-color: $brand-default;\n box-shadow: none;\n }\n\n &:hover {\n border-color: $brand-default;\n }\n }\n\n &.has-error {\n .rc-slider-track,\n .rc-slider-rail {\n background-color: $brand-danger;\n }\n }\n}\n\ndiv.widget-range-slider-primary .rc-slider-track {\n background-color: $brand-primary;\n}\n\ndiv.widget-range-slider-info .rc-slider-track {\n background-color: $brand-info;\n}\n\ndiv.widget-range-slider-success .rc-slider-track {\n background-color: $brand-success;\n}\n\ndiv.widget-range-slider-warning .rc-slider-track {\n background-color: $brand-warning;\n}\n\ndiv.widget-range-slider-danger .rc-slider-track {\n background-color: $brand-danger;\n}\n\ndiv.widget-range-slider-inverse .rc-slider-track {\n background-color: $brand-inverse;\n}\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n// Based on https://github.com/mendixlabs/slider/tree/master/src/ui/_slider-theme.scss\n\ndiv.widget-slider {\n .rc-slider-handle,\n .rc-slider-dot-active {\n border-color: $brand-default;\n &:active {\n border-color: $brand-default;\n }\n &:hover {\n border-color: $brand-default;\n }\n }\n\n &.has-error {\n .rc-slider-track,\n .rc-slider-rail {\n background-color: $brand-danger;\n }\n }\n}\n\ndiv.widget-slider-primary .rc-slider-track {\n background-color: $brand-primary;\n}\n\ndiv.widget-slider-info .rc-slider-track {\n background-color: $brand-info;\n}\n\ndiv.widget-slider-success .rc-slider-track {\n background-color: $brand-success;\n}\n\ndiv.widget-slider-warning .rc-slider-track {\n background-color: $brand-warning;\n}\n\ndiv.widget-slider-danger .rc-slider-track {\n background-color: $brand-danger;\n}\n\ndiv.widget-slider-inverse .rc-slider-track {\n background-color: $brand-inverse;\n}\n","//\r\n// DISCLAIMER:\r\n// Do not change this file because it is core styling.\r\n// Customizing core files will make updating Atlas much more difficult in the future.\r\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\r\n//\r\n\r\n/* Based on https://github.com/mendixlabs/star-rating/blob/v1.1.1/src/ui/StarRating.scss */\r\nspan.widget-star-rating-full-default {\r\n color: $brand-default;\r\n}\r\n\r\nspan.widget-star-rating-full-primary {\r\n color: $brand-primary;\r\n}\r\n\r\nspan.widget-star-rating-full-success {\r\n color: $brand-success;\r\n}\r\n\r\nspan.widget-star-rating-full-info {\r\n color: $brand-info;\r\n}\r\n\r\nspan.widget-star-rating-full-warning {\r\n color: $brand-warning;\r\n}\r\n\r\nspan.widget-star-rating-full-danger {\r\n color: $brand-danger;\r\n}\r\n\r\nspan.widget-star-rating-full-inverse {\r\n color: $brand-inverse;\r\n}\r\n","//\n// DISCLAIMER:\n// Do not change this file because it is core styling.\n// Customizing core files will make updating Atlas much more difficult in the future.\n// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten.\n//\n\n$default-android-color: #6FBEB5;\n$default-ios-color: rgb(100, 189, 99);\n\n@mixin bootstrap-style-ios($brand-style) {\n border-color: $brand-style;\n background-color: $brand-style;\n box-shadow: $brand-style 0 0 0 16px inset;\n}\n\n@mixin bootstrap-style-android($brand-style) {\n background-color: lighten($brand-style, 10%);\n}\n\n@mixin ios {\n .widget-switch-btn-wrapper {\n &.checked {\n &.widget-switch-btn-wrapper-default {\n @include bootstrap-style-ios($default-ios-color);\n }\n\n &.widget-switch-btn-wrapper-success {\n @include bootstrap-style-ios($brand-success);\n }\n\n &.widget-switch-btn-wrapper-info {\n @include bootstrap-style-ios($brand-info);\n }\n\n &.widget-switch-btn-wrapper-primary {\n @include bootstrap-style-ios($brand-primary);\n }\n\n &.widget-switch-btn-wrapper-warning {\n @include bootstrap-style-ios($brand-warning);\n }\n\n &.widget-switch-btn-wrapper-danger {\n @include bootstrap-style-ios($brand-danger);\n }\n\n &.widget-switch-btn-wrapper-inverse {\n @include bootstrap-style-ios($brand-inverse);\n }\n }\n }\n}\n\n@mixin android {\n .widget-switch-btn-wrapper {\n &.checked {\n &.widget-switch-btn-wrapper-default {\n @include bootstrap-style-android($default-android-color);\n\n .widget-switch-btn {\n background: $default-android-color;\n }\n }\n\n &.widget-switch-btn-wrapper-success {\n @include bootstrap-style-android($brand-success);\n\n .widget-switch-btn {\n background: $brand-success;\n }\n }\n\n &.widget-switch-btn-wrapper-info {\n @include bootstrap-style-android($brand-info);\n\n .widget-switch-btn {\n background: $brand-info;\n }\n }\n\n &.widget-switch-btn-wrapper-primary {\n @include bootstrap-style-android($brand-primary);\n\n .widget-switch-btn {\n background: $brand-primary;\n }\n }\n\n &.widget-switch-btn-wrapper-warning {\n @include bootstrap-style-android($brand-warning);\n\n .widget-switch-btn {\n background: $brand-warning;\n }\n }\n\n &.widget-switch-btn-wrapper-danger {\n @include bootstrap-style-android($brand-danger);\n\n .widget-switch-btn {\n background: $brand-danger;\n }\n }\n\n &.widget-switch-btn-wrapper-inverse {\n @include bootstrap-style-android($brand-inverse);\n\n .widget-switch-btn {\n background: $brand-inverse;\n }\n }\n }\n }\n}\n\n.widget-switch-btn-wrapper {\n &:focus {\n outline: 1px solid $brand-primary;\n }\n}\n\ndiv {\n &.widget-switch {\n &.iOS {\n @include ios;\n }\n\n &.android {\n @include android;\n }\n\n &.auto {\n @include ios;\n }\n }\n}\n\nhtml {\n div {\n &.dj_android {\n .widget-switch {\n &.auto {\n @include android;\n }\n }\n }\n\n &.dj_ios {\n .widget-switch {\n &.auto {\n @include ios;\n }\n }\n }\n }\n}\n","/* ==========================================================================\n Breadcrumbs\n\n========================================================================== */\n.breadcrumb {\n //reset\n margin: 0;\n padding: 0;\n border-radius: 0;\n background-color: transparent;\n font-size: $font-size-default;\n}\n\n//== Elements\n//-------------------------------------------------------------------------------------------------------------------//\n.breadcrumb-item {\n display: inline-block;\n margin: 0;\n &:last-child {\n color: $font-color-default;\n a {\n text-decoration: none;\n }\n }\n}\n.breadcrumb-item + .breadcrumb-item {\n &::before {\n display: inline-block;\n padding-right: 10px;\n padding-left: 10px;\n content: \"/\";\n color: $gray-light;\n }\n}\n\n//== Variations \n//-------------------------------------------------------------------------------------------------------------------//\n.breadcrumb-large {\n font-size: $font-size-h3;\n}\n.breadcrumb-underline {\n padding-bottom: $gutter-size;\n border-bottom: 1px solid $border-color-default;\n}\n","/* ==========================================================================\n Cards\n\n========================================================================== */\n.card {\n padding: 30px;\n border: 1px solid $border-color-default;\n border-radius: $border-radius-default;\n background-color: #FFFFFF;\n}\n\n//== Elements\n//-------------------------------------------------------------------------------------------------------------------//\n.card-title {\n margin-top: 0;\n}\n\n//== Variations\n//-------------------------------------------------------------------------------------------------------------------//\n.cardaction {\n .card-image {\n .glyphicon {\n font-size: 58px;\n }\n }\n}\n\n.cardmetrics {\n .card-title {\n margin-bottom: 0;\n }\n\n .figurecontent {\n }\n\n .card-image {\n width: 100px;\n height: auto;\n // If btn\n &.btn {\n width: 100px;\n height: 100px;\n padding: 0;\n cursor: default;\n pointer-events: none;\n font-size: 40px;\n }\n }\n\n .card-counter {\n margin: 0;\n font-size: 64px;\n }\n\n .card-morebutton {\n }\n}\n\n.cardinfo {\n .card-text {\n margin-bottom: $spacing-large;\n }\n}\n\n// Used in card info\n.textwithicon {\n overflow: hidden;\n max-width: 100%;\n margin-bottom: 15px;\n text-overflow: ellipsis;\n\n .textwithicon-icon,\n .textwithicon-text {\n display: inline-block;\n vertical-align: middle;\n }\n\n .textwithicon-icon {\n margin-right: 15px;\n padding: 0;\n color: $brand-primary; // class .text-primary\n border: 0;\n background: transparent;\n font-size: 23px;\n }\n\n .textwithicon-text {\n }\n}\n\n// Used in card info\n.socialprofiles {\n .socialprofiles-title {\n display: block;\n margin-bottom: 10px;\n font-weight: bold; // class text-bold\n }\n\n .socialprofiles-button {\n width: 24px;\n height: 24px;\n margin-right: 15px;\n padding: 0;\n border-radius: 24px;\n\n .glyphicon {\n margin: 0;\n }\n }\n}\n\n\n.cardtabs {\n padding: 0;\n}\n\n.cardtabs-tabs {\n margin: 0;\n\n ul.mx-tabcontainer-tabs {\n display: flex;\n margin: 0;\n background-color: mix($tabs-border-color, #FFFFFF, 20%);\n\n li {\n flex: 1 1 auto;\n text-align: center;\n\n a,\n a:hover,\n a:focus {\n border-top-width: 0;\n border-right-width: 1px;\n border-left-width: 0;\n }\n\n &:first-child a {\n border-radius: $border-radius-default 0 0 0;\n }\n\n &:last-child a {\n border-radius: 0 $border-radius-default 0 0;\n }\n }\n }\n\n .mx-tabcontainer-pane {\n @include get-responsive-spacing-large($type: padding, $direction: all);\n }\n}\n\n.carduser {\n .card-controls {\n }\n\n .card-title {\n }\n\n .card-detail {\n }\n}\n\n.cardgraph {\n .card-title {\n }\n}\n\n.cardchart {\n .card-title {\n }\n}\n\n.cardproduct {\n padding: 0;\n\n}\n\n.cardproduct-header {\n position: relative;\n overflow: hidden;\n height: 200px;\n\n .card-image {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: auto;\n }\n\n}\n\n.cardproduct-overlay {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n padding: 20px 30px;\n background: rgba(0, 0, 0, 0.60);\n\n}\n\n.cardproduct-overlay-category,\n.cardproduct-overlay-title {\n margin: 0;\n color: #FFFFFF;\n}\n\n.cardproduct-footer .col {\n padding: 20px 30px;\n\n .widget-star-rating-font {\n font-size: 20px;\n }\n}\n\n.cardproduct-name {\n margin: 0;\n}\n\n.cardproduct-btn {\n display: flex;\n align-items: center;\n height: 100%;\n padding: 30px;\n border-left: 1px solid $border-color-default;\n}\n\n.cardproduct2 {\n @extend .cardproduct;\n\n .cardproduct-header {\n &::after {\n position: absolute;\n bottom: 0;\n left: 0;\n display: block;\n width: 100%;\n padding: 20px 30px;\n content: \"\";\n background: rgba(0, 0, 0, 0.60);\n background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 2%, rgba(0, 0, 0, 0.99) 99%, rgba(0, 0, 0, 1) 100%);\n background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 2%, rgba(0, 0, 0, 0.99) 99%, rgba(0, 0, 0, 1) 100%);\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 2%, rgba(0, 0, 0, 0.99) 99%, rgba(0, 0, 0, 1) 100%);\n }\n }\n}\n\n\n.cardproduct3 {\n @extend .cardproduct;\n\n .cardproduct-header {\n height: 320px;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n }\n\n .cardproduct-overlay {\n min-height: 100px;\n padding: 30px;\n background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 8%, rgba(0, 0, 0, 0.99) 121%, rgba(0, 0, 0, 1) 100%);\n background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 8%, rgba(0, 0, 0, 0.99) 121%, rgba(0, 0, 0, 1) 100%);\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 8%, rgba(0, 0, 0, 0.99) 121%, rgba(0, 0, 0, 1) 100%);\n font-size: $font-size-default;\n }\n}\n\n.cardshopping {\n}\n\n.carduserlist {\n}\n\n.cardstatus {\n padding: 20px;\n\n .card-linkicon {\n font-size: 30px;\n }\n\n .cardstatus-status {\n margin-bottom: 5px;\n }\n}\n\n.cardpayment {\n}\n\n.cardprogress {\n}\n\n.cardprogress-state {\n width: 80px;\n height: 80px;\n padding: 0;\n cursor: default;\n pointer-events: none;\n border-radius: 100%;\n font-size: 28px;\n}\n\n.cardhighlight {\n border-top: 4px solid $brand-primary;\n}\n\n.cardchat {\n overflow: hidden;\n padding: 0;\n\n .chat {\n height: 400px;\n }\n}\n\n@media screen and (max-width: $screen-md-max) {\n .widget-charts:not([height]),\n .widget-charts-line:not([height]) {\n padding-bottom: 80% !important;\n }\n}\n\n\n@media screen and (max-width: $screen-lg-max) {\n .cardprogress {\n .cardprogress-state {\n width: 60px;\n height: 60px;\n font-size: 24px;\n }\n }\n}\n","/* ==========================================================================\n Chats\n\n========================================================================== */\n.chat {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: $bg-color-secondary;\n}\n\n//== Elements\n//-------------------------------------------------------------------------------------------------------------------//\n.chat-content {\n display: flex;\n overflow: auto;\n flex: 1;\n flex-direction: column;\n justify-content: flex-end;\n\n .chat-list {\n position: relative;\n overflow: auto;\n\n ul {\n display: flex;\n flex-direction: column-reverse;\n margin-bottom: $m-spacing-large;\n }\n\n li {\n padding: 15px 30px;\n animation: fadeIn 0.2s;\n background-color: transparent;\n animation-fill-mode: both;\n\n &,\n &:last-child {\n border: 0;\n }\n }\n\n .mx-listview-loadMore {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n display: block;\n width: 50%;\n margin: 15px auto;\n color: #FFFFFF;\n background-color: $brand-primary;\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.05);\n }\n }\n}\n\n\n.chat-message {\n display: flex;\n}\n\n.chat-avatar {\n margin: 0 20px 0 0;\n border-radius: 50%;\n}\n\n.chat-message-content {\n display: inline-flex;\n flex-direction: column;\n}\n\n.chat-message-balloon {\n position: relative;\n display: flex;\n flex-direction: column;\n padding: 10px 15px;\n border-radius: 5px;\n background-color: $bg-color;\n\n &::after {\n position: absolute;\n top: 10px;\n right: 100%;\n width: 0;\n height: 0;\n content: '';\n border: 10px solid transparent;\n border-top: 0;\n border-right-color: $bg-color;\n border-left: 0;\n }\n}\n\n.chat-message-time {\n padding-top: 2px;\n\n .form-control-static {\n border: 0;\n }\n}\n\n.chat-footer {\n z-index: 1;\n padding: $m-spacing-large;\n background-color: $bg-color;\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.05);\n}\n\n.chat-input {\n display: flex;\n\n .chat-textbox {\n flex: 1;\n margin-right: $spacing-large;\n margin-bottom: 0;\n\n .form-control {\n border: 0;\n }\n }\n}\n\n//== Variations\n//-------------------------------------------------------------------------------------------------------------------//\n.chat-message-self {\n justify-content: flex-end;\n\n .chat-avatar {\n margin: 0 0 0 20px;\n }\n\n .chat-message-balloon {\n background-color: $color-primary-lighter;\n\n &::after {\n left: 100%;\n border: 10px solid transparent;\n border-top: 0;\n border-right: 0;\n border-left-color: $color-primary-lighter;\n }\n }\n\n .chat-message-time {\n text-align: right;\n }\n}\n","/* ==========================================================================\n Control Group\n \n A group of buttons next to eachother\n========================================================================== */\n.controlgroup {\n .btn,\n .btn-group {\n margin-right: $spacing-small;\n margin-bottom: $spacing-small;\n\n &:last-child {\n margin-right: 0;\n }\n .btn {\n margin-right: 0;\n margin-bottom: 0;\n }\n }\n .btn-group {\n .btn + .btn {\n margin-left: -1px;\n }\n }\n}\n","/* ==========================================================================\n Full page blocks\n\n Blocks that take up the full width and height\n========================================================================== */\n\n.fullpageblock {\n position: relative;\n height: 100%;\n min-height: 100%;\n\n // Helper to make it fullheight\n .fullheight {\n height: 100% !important;\n\n & > .mx-dataview-content {\n height: inherit !important;\n }\n }\n\n .fullpage-overlay {\n position: absolute;\n z-index: 10;\n bottom: 0;\n left: 0;\n width: 100%;\n }\n}\n","/* ==========================================================================\n Pageheader\n========================================================================== */\n\n//== Default\n//-------------------------------------------------------------------------------------------------------------------//\n.pageheader {\n border-bottom: 1px solid $border-color-default;\n background: $header-bg-color;\n}\n\n// Check if it is part of a inner layoutgrid\n.mx-scrollcontainer .mx-placeholder .mx-layoutgrid .pageheader {\n @include get-responsive-spacing-large($type: margin, $direction: bottom);\n @include get-responsive-spacing-large($type: padding, $direction: bottom);\n background: transparent;\n}\n\n//== Elements\n//-------------------------------------------------------------------------------------------------------------------//\n.pageheader-type {\n margin: 0;\n}\n\n.pageheader-title {\n margin: 0;\n}\n\n.pageheader-subtitle {\n margin: 0;\n}\n\n//== Variations\n//-------------------------------------------------------------------------------------------------------------------//\n.pageheaderwithcontrols {\n .controlgroup {\n }\n}\n\n.pageheaderwithimage {\n .pageheader-image {\n }\n .figurecontent {\n }\n}\n\n.pageheaderwithimageandcontrols {\n}\n\n.pageheaderwithsearch {\n .pageheader-title {\n margin-bottom: 1em;\n }\n}\n\n.pageheaderwithbreadcrumb {\n .breadcrumb {\n }\n}\n","/* ==========================================================================\n Pageheader\n\n========================================================================== */\n.heroheader {\n border-bottom: 1px solid $border-color-default;\n background: $header-bg-color;\n}\n\n//== Elements\n//-------------------------------------------------------------------------------------------------------------------//\n.heroheader-title {\n margin: 0 0 10px 0;\n}\n\n.heroheader-subtitle {\n margin: 0;\n padding: 0 15px;\n\n &::before {\n display: block;\n max-width: 330px;\n height: 1px;\n margin: auto auto 10px auto;\n content: \"\";\n background-color: lighten($border-color-default, 4);\n }\n}\n\n//== Variations\n//-------------------------------------------------------------------------------------------------------------------//\n.heroheader1 {\n background-image: $brand-gradient;\n\n .heroheader-title {\n margin-bottom: 10px;\n color: #FFFFFF;\n }\n\n .heroheader-subtitle {\n padding: 0;\n color: #FFFFFF;\n\n &::before {\n display: none;\n }\n }\n}\n\n.heroheadermap {\n padding: 0 !important;\n}\n\n.heroheadermap-controls {\n padding: $spacing-large;\n background: $header-bg-color;\n}\n\n.heroheaderproduct {\n position: relative;\n overflow: hidden;\n height: 300px;\n background-color: #000000;\n\n .heroheaderproduct-backgroundimage {\n position: absolute;\n z-index: 0;\n top: 0;\n width: 100%;\n opacity: 0.7;\n filter: blur(5px);\n }\n\n .heroheaderproduct-overlay {\n position: absolute;\n z-index: 1;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n}\n\n.heroheaderexpense {\n .heroheaderexpense-title {\n font-size: 72px;\n }\n\n .heroheaderexpense-type {\n align-items: center;\n\n &::before {\n flex-grow: 1;\n height: 1px;\n margin-right: 10px;\n content: \"\";\n background-color: #D2D2D2;\n }\n }\n}\n","/* ==========================================================================\n Form Block\n\n Used in default forms\n========================================================================== */\n.formblock {\n}\n\n//== Elements\n//-------------------------------------------------------------------------------------------------------------------//\n.formblock-title {\n margin-bottom: $gutter-size;\n padding-bottom: $gutter-size;\n border-bottom: 1px solid $border-color-default;\n}\n","/* ==========================================================================\n Master Detail\n\n A list with a listening dataview\n========================================================================== */\n.masterdetail {\n .masterdetail-master {\n .controlgroup {\n margin-bottom: $gutter-size;\n }\n\n @media (max-width: $screen-lg) {\n @include layout-spacing($type: margin, $direction: bottom, $device: responsive);\n }\n\n @media (min-width: $screen-lg) {\n border-right: 1px solid $border-color-default;\n\n .mx-listview-searchbar {\n margin: $gutter-size;\n }\n .controlgroup {\n padding: $gutter-size;\n border-bottom: 1px solid $border-color-default;\n }\n }\n }\n\n .masterdetail-detail {\n @media (min-width: $screen-lg) {\n @include layout-spacing($type: padding, $direction: all, $device: responsive);\n }\n }\n}\n\n//== Variations\n//-------------------------------------------------------------------------------------------------------------------//\n.masterdetailvertical {\n .masterdetail-master {\n @include layout-spacing($type: margin, $direction: bottom, $device: responsive);\n }\n\n .masterdetail-detail {\n @include layout-spacing($type: padding, $direction: top, $device: responsive);\n }\n}\n","/* ==========================================================================\n User profile blocks\n -\n========================================================================== */\n.userprofile {\n .userprofile-img {\n }\n .userprofile-title {\n }\n .userprofile-subtitle {\n }\n}","$wizard-step-number-size: 60px;\n$wizard-step-height: 50px;\n\n.wizard {\n display: flex;\n justify-content: space-between;\n .wizard-step {\n position: relative;\n width: 100%;\n text-align: center;\n &::before {\n position: absolute;\n z-index: -1;\n top: $wizard-step-number-size / 2;\n display: block;\n width: 100%;\n height: 2px;\n content: \"\";\n background-color: $border-color-default;\n }\n .wizard-step-number {\n width: $wizard-step-number-size;\n height: $wizard-step-number-size;\n border-color: $border-color-default;\n border-radius: 50%;\n background-color: #FFFFFF;\n font-size: 20px;\n }\n .wizard-step-text {\n display: block;\n margin-top: 15px;\n }\n }\n\n\n // States\n .wizard-step-active {\n .wizard-step-number {\n color: #FFFFFF;\n border-color: $brand-primary;\n background-color: $brand-primary;\n }\n .wizard-step-text {\n color: $brand-primary;\n }\n }\n .wizard-step-visited {\n .wizard-step-number {\n color: #FFFFFF;\n border-color: $brand-success;\n background-color: $brand-success;\n }\n .wizard-step-text {\n }\n }\n}\n\n.wizardprogress {\n display: flex;\n justify-content: space-between;\n\n .wizard-step-text {\n width: 100%;\n }\n\n .wizard-step {\n position: relative;\n width: 100%;\n height: $wizard-step-height;\n margin-left: 0 - ($wizard-step-height / 2);\n padding-left: ($wizard-step-height / 2);\n border: 1px solid $border-color-default;\n background: #FFFFFF;\n\n a {\n display: block;\n overflow: hidden;\n width: 100%;\n height: 100%;\n padding: 14px;\n white-space: nowrap;\n text-decoration: none;\n text-overflow: ellipsis;\n color: $font-color-default;\n }\n &::before,\n &::after {\n position: absolute;\n z-index: 1;\n left: 100%;\n margin-left: 0 - ($wizard-step-height / 2);\n content: \" \";\n border-style: solid;\n border-color: transparent;\n }\n &::after {\n top: 1px;\n border-width: (($wizard-step-height / 2) - 1);\n border-left-color: #FFFFFF;\n }\n &::before {\n top: 0;\n border-width: $wizard-step-height / 2;\n border-left-color: $border-color-default;\n }\n\n &:first-child {\n margin-left: 0;\n padding-left: 0;\n border-radius: 5px 0 0 5px;\n }\n\n &:last-child {\n border-radius: 0 5px 5px 0;\n &::before,\n &::after {\n display: none;\n }\n }\n }\n // States\n .wizard-step-active {\n background: $brand-primary;\n a {\n text-decoration: none;\n color: #FFFFFF;\n }\n &::after {\n border-left-color: $brand-primary;\n }\n }\n .wizard-step-visited {\n a {\n color: $link-color;\n }\n }\n}\n","// Timeline\n.timeline {\n .timeline-header {\n display: inline-block;\n width: 110px;\n padding: 8px;\n text-align: center;\n border: 1px solid $border-color-default;\n border-radius: 30px;\n }\n}\n.timeline-itemwrapper.mx-listview {\n margin-bottom: 0;\n margin-left: 55px;\n padding: $spacing-large 0;\n border-left: 1px solid $border-color-default;\n & > ul > li {\n position: relative;\n padding-left: ($gutter-size * 2);\n\n &::before {\n position: absolute;\n top: 5px;\n left: -5px;\n display: block;\n width: 10px;\n height: 10px;\n content: '';\n border-radius: 50%;\n background-color: $brand-primary;\n }\n }\n li + li {\n margin-top: $spacing-large;\n }\n}\n\n//== Variations\n//-------------------------------------------------------------------------------------------------------------------//\n.timeline2 {\n .timeline-itemwrapper.mx-listview {\n & > ul > li {\n padding-left: $gutter-size;\n }\n }\n}\n","/* ==========================================================================\n Atlas layout\n \n The core stucture of all atlas layouts\n========================================================================== */\n.layout-atlas {\n // Toggle button\n .toggle-btn > .glyphicon {\n margin: 0;\n }\n\n // Sidebar\n .region-sidebar {\n background-color: $navsidebar-bg;\n\n .mx-navigationtree .navbar-inner > ul > li > a {\n padding: 0 15px;\n\n .glyphicon {\n margin-right: 10px;\n }\n }\n .toggle-btn {\n border-color: transparent;\n border-radius: 0;\n background: transparent;\n }\n }\n\n // Topbar\n .region-topbar {\n position: relative;\n z-index: 1; // Show dropshadow\n min-height: $topbar-minimalheight;\n border-bottom: 1px solid $navtopbar-border-color;\n background-color: $navtopbar-bg;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.14);\n\n &::before {\n z-index: 1;\n display: block;\n width: 100%;\n height: 4px;\n content: \"\";\n background-color: $brand-primary;\n }\n // Topbar Content\n .topbar-content {\n display: flex;\n align-items: center;\n min-height: $topbar-minimalheight;\n }\n\n // Toggle btn\n .toggle-btn {\n margin-right: 15px;\n padding: 5px;\n }\n\n // For your company, product, or project name\n .navbar-brand {\n display: inline-block;\n // reset bootstrap\n float: none;\n height: auto;\n padding: 0;\n line-height: inherit;\n\n img {\n display: inline-block;\n @if $brand-logo !=false {\n width: 0;\n height: 0;\n padding: ($brand-logo-height / 2) ($brand-logo-width / 2);\n background-image: url($brand-logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: $brand-logo-width;\n } @else {\n width: auto;\n height: $brand-logo-height;\n }\n }\n\n a {\n margin-left: 5px;\n color: $navbar-brand-name;\n font-size: 20px;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n }\n }\n\n .mx-navbar {\n display: inline-block;\n margin-left: $gutter-size;\n vertical-align: middle;\n background: transparent;\n\n & > .mx-navbar-item {\n & > a {\n margin-top: 5px;\n padding: 0 20px;\n }\n }\n }\n }\n}\n","/* ==========================================================================\n Atlas layout\n \n Extra styling for phone layouts\n========================================================================== */\n.layout-atlas-phone {\n .region-topbar {\n min-height: $m-header-height;\n border-style: none;\n background-color: $m-header-bg;\n\n &::before {\n display: none;\n }\n }\n}\n","/* ==========================================================================\n Atlas layout\n\n Extra styling for responsive layouts\n========================================================================== */\n.layout-atlas-responsive-default {\n $sidebar-width: 60px;\n\n @media (min-width: $screen-md) {\n .mx-scrollcontainer:not(.mx-scrollcontainer-open) > .region-sidebar {\n width: $sidebar-width !important;\n\n .mx-scrollcontainer-wrapper > .mx-navigationtree ul li {\n &.mx-navigationtree-has-items:hover {\n a {\n background-color: $navsidebar-sub-bg;\n }\n\n ul {\n position: absolute;\n z-index: 100;\n top: 0;\n bottom: 0;\n left: $sidebar-width;\n display: block;\n overflow-y: auto;\n min-width: 200px;\n padding-top: 10px;\n }\n }\n\n &.mx-navigationtree-collapsed,\n &.mx-navigationtree-has-items {\n ul {\n display: none;\n }\n }\n }\n }\n }\n\n\n .mx-scrollcontainer-slide {\n &:not(.mx-scrollcontainer-open) > .region-sidebar {\n overflow: hidden;\n }\n\n &.mx-scrollcontainer-open > .region-sidebar {\n width: $sidebar-width !important;\n\n & > .mx-scrollcontainer-wrapper {\n position: relative;\n }\n }\n\n .region-sidebar > .mx-scrollcontainer-wrapper {\n z-index: 2;\n left: 0 !important;\n background-color: inherit;\n }\n }\n\n // Push aside for mobile\n @media (max-width: $screen-sm-max) {\n .mx-scrollcontainer-open:not(.mx-scrollcontainer-slide) {\n width: 1100px;\n }\n\n .mx-scrollcontainer-slide .toggle-btn {\n display: inline-block !important;\n }\n }\n \n .mx-scrollcontainer-slide,\n .mx-scrollcontainer-push {\n &:not(.mx-scrollcontainer-open) > .region-sidebar {\n visibility: hidden;\n }\n }\n\n // Sidebar\n .region-sidebar {\n .toggle-btn {\n width: $sidebar-width;\n height: 60px;\n border-color: transparent;\n border-radius: 0;\n background: transparent;\n }\n\n .mx-scrollcontainer-wrapper > .mx-navigationtree {\n .navbar-inner > ul > li {\n & > a {\n height: $sidebar-width;\n // Glyph icon\n .glyphicon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n margin-left: -5px;\n padding: 10px;\n border-radius: 3px;\n }\n\n &.active {\n .glyphicon {\n background: $brand-primary;\n }\n }\n }\n }\n }\n }\n\n // Topbar\n .region-topbar {\n }\n}\n\n// Topbar variant\n.layout-atlas-responsive-topbar {\n}\n\n// All responsive layouts\n.layout-atlas-responsive-default,\n.layout-atlas-responsive-topbar {\n // Topbar\n .region-topbar {\n .toggle-btn {\n display: none;\n\n @media (max-width: $screen-sm-max) {\n display: inline-block;\n }\n }\n }\n}\n\n// Fix Safari issue of sidebar disappearing\n.profile-tablet {\n .mx-scrollcontainer:not(.mx-scrollcontainer-open) > .region-sidebar {\n overflow-y: hidden;\n\n .mx-scrollcontainer-wrapper {\n overflow: visible;\n }\n }\n}\n","/* ==========================================================================\n Atlas layout\n \n Extra styling for tablet layouts\n========================================================================== */\n.layout-atlas-tablet {\n // tablet\n}\n",".devicephone {\n width: 420px;\n height: 992px;\n margin: auto;\n padding: 120px 40px;\n background: url(../../../resources/phone.png) no-repeat center center;\n\n .deviceframe,\n .deviceshadowwrapper {\n border-radius: 40px;\n }\n}\n\n.devicetablet {\n width: 1210px;\n height: 1000px;\n margin: auto;\n padding: 120px 100px;\n background: url(../../../resources/tablet.png) no-repeat center center;\n\n .deviceframe,\n .deviceshadowwrapper {\n border-radius: 20px;\n }\n}\n\n.deviceframe {\n width: 100%;\n height: 100%;\n border: none;\n}\n.deviceshadowwrapper {\n position: relative;\n width: 100%;\n height: 100%;\n}\n.deviceshadow {\n position: absolute;\n z-index: 2;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n content: '';\n pointer-events: none;\n box-shadow: inset 10px 0 10px -10px black, inset -10px 0 10px -10px black;\n}\n.devicedisclaimer {\n margin-top: 80px;\n padding: 10px;\n text-align: center;\n color: $gray-light;\n border-top: 1px solid $border-color-default;\n font-size: 12px;\n line-height: 20px;\n}\n","@import \"custom-variables\";\n"],"names":[],"mappings":"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B,CAAG,iBAAiB,AAAC,CACpC,UAAU,CAAE,IAAI,CACnB,ACtBL,AtBNI,iBsBMa,CtBNX,mBAAmB,AAAC,CAClB,KAAK,CNoBuC,IAAO,CMnBnD,YAAY,CNAgC,IAAO,CMCnD,UAAU,CNDkC,IAAO,CMEtD,AsBEL,AtBDI,iBsBCa,CtBDX,iBAAiB,AAAC,CAChB,YAAY,CNJgC,IAAO,CMKtD,AsBGL,AtBVI,iBsBUa,CtBVX,mBAAmB,AAAC,CAClB,KAAK,CL4gB2B,IAAI,CK3gBpC,YAAY,CNCgC,OAAO,CMAnD,UAAU,CNAkC,OAAO,CMCtD,AsBML,AtBLI,iBsBKa,CtBLX,iBAAiB,AAAC,CAChB,YAAY,CNHgC,OAAO,CMItD,AsBOL,AtBdI,iBsBca,CtBdX,mBAAmB,AAAC,CAClB,KAAK,CL2gB2B,IAAI,CK1gBpC,YAAY,CNEgC,OAAO,CMDnD,UAAU,CNCkC,OAAO,CMAtD,AsBUL,AtBTI,iBsBSa,CtBTX,iBAAiB,AAAC,CAChB,YAAY,CNFgC,OAAO,CMGtD,AsBYL,AtBnBI,iBsBmBa,CtBnBX,mBAAmB,AAAC,CAClB,KAAK,CL8gB2B,IAAI,CK7gBpC,YAAY,CNIgC,OAAO,CMHnD,UAAU,CNGkC,OAAO,CMFtD,AsBeL,AtBdI,iBsBca,CtBdX,iBAAiB,AAAC,CAChB,YAAY,CNAgC,OAAO,CMCtD,AsBiBL,AtBxBI,csBwBU,CtBxBR,mBAAmB,AAAC,CAClB,KAAK,CL6gB2B,IAAI,CK5gBpC,YAAY,CNGgC,OAAO,CMFnD,UAAU,CNEkC,OAAO,CMDtD,AsBoBL,AtBnBI,csBmBU,CtBnBR,iBAAiB,AAAC,CAChB,YAAY,CNDgC,OAAO,CMEtD,AsBsBL,AtB7BI,iBsB6Ba,CtB7BX,mBAAmB,AAAC,CAClB,KAAK,CL+gB2B,IAAI,CK9gBpC,YAAY,CNKgC,OAAO,CMJnD,UAAU,CNIkC,OAAO,CMHtD,AsByBL,AtBxBI,iBsBwBa,CtBxBX,iBAAiB,AAAC,CAChB,YAAY,CNCgC,OAAO,CMAtD,AsB2BL,AtBlCI,gBsBkCY,CtBlCV,mBAAmB,AAAC,CAClB,KAAK,CLghB2B,IAAI,CK/gBp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"} \ No newline at end of file diff --git a/theme/styles/web/sass/app/_custom-variables.scss b/theme/styles/web/sass/app/_custom-variables.scss deleted file mode 100644 index a47c7e0..0000000 --- a/theme/styles/web/sass/app/_custom-variables.scss +++ /dev/null @@ -1,73 +0,0 @@ -//== Gray Shades -//## Different gray shades to be used for our variables and components -$gray-darker: #222222; -$gray-dark: #333333; -$gray: #555555; -$gray-light: #888888; -$gray-primary: #D7D7D7; -$gray-lighter: #EEEEEE; - -//== Step 1: Brand Colors -$brand-default: #DDDDDD; -$brand-primary: #0595DB; -$brand-inverse: #252C36; -$brand-info: #48B0F7; -$brand-success: #76CA02; -$brand-warning: #F99B1D; -$brand-danger: #ED1C24; - -// Used for other variables -$default-border-color: $gray-primary; - -//== Step 3: Typography -$font-family-import: "https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700"; -@if $font-family-import != false { - // Only import, if the import is set - @import url($font-family-import); -} -$font-family-base: "Open Sans", sans-serif; -$font-base-size: 14px; -$font-base-color: #555555; -$link-color: $brand-primary; -$font-size-h1: 31px; -$font-size-h2: 26px; -$font-size-h3: 24px; -$font-size-h4: 18px; -$font-color-detail: $gray-light; -$font-color-headers: #17347B; - -//== Step 2: UI Customization - -// Topbar -$topbar-bg: #FFFFFF; -$navtopbar-border-color: $default-border-color; -$topbar-border-color: $navtopbar-border-color; -$topbar-minimalheight: 60px; -$navtopbar-color: $font-base-color; -$navbar-brand-name: $default-border-color; -$brand-logo: false; -$brand-logo-height: 30px; -$brand-logo-width: 30px; - -// Sidebar -$sidebar-bg: $brand-inverse; -$navsidebar-color: #FFFFFF; -$navsidebar-color-hover: $navsidebar-color; - -// Backgrounds -$bg-color: #FFFFFF; -$bg-color-secondary: #F5F8FD; - -// == Old variables used in theme customizer to the new lib variables -$font-size-default: $font-base-size; -$font-color-default: $font-base-color; -$border-color-default: $default-border-color; -$font-color-header: $font-color-headers; - - -//== Settings -//## Enable or disable your desired framework features -// Use of !important -$important-flex: true; // ./base/flex.scss -$important-spacing: true; // ./base/spacing.scss -$important-helpers: true; // ./helpers/helperclasses.scss diff --git a/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.eot b/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.eot deleted file mode 100644 index b93a495..0000000 Binary files a/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.eot and /dev/null differ diff --git a/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.svg b/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.svg deleted file mode 100644 index 94fb549..0000000 --- a/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.svg +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.ttf b/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 1413fc6..0000000 Binary files a/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.ttf and /dev/null differ diff --git a/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.woff b/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.woff deleted file mode 100644 index 9e61285..0000000 Binary files a/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.woff and /dev/null differ diff --git a/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.woff2 b/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.woff2 deleted file mode 100644 index 64539b5..0000000 Binary files a/theme/styles/web/sass/core/_legacy/bootstrap/fonts/glyphicons-halflings-regular.woff2 and /dev/null differ diff --git a/theme/styles/web/sass/core/_variables.scss b/theme/styles/web/sass/core/_variables.scss deleted file mode 100644 index 03c2ac1..0000000 --- a/theme/styles/web/sass/core/_variables.scss +++ /dev/null @@ -1,641 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -// -// ██████╗ █████╗ ███████╗██╗ ██████╗ -// ██╔══██╗██╔══██╗██╔════╝██║██╔════╝ -// ██████╔╝███████║███████╗██║██║ -// ██╔══██╗██╔══██║╚════██║██║██║ -// ██████╔╝██║ ██║███████║██║╚██████╗ -// ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═════╝ -// - - -//== Gray Shades -//## Different gray shades to be used for our variables and components -$gray-darker: #222 !default; -$gray-dark: #333 !default; -$gray: #555 !default; -$gray-light: #888 !default; -$gray-primary: #d7d7d7 !default; -$gray-lighter: #eee !default; - - -//== Step 1: Brand Colors -$brand-default: #DDDDDD !default; -$brand-primary: #0595DB !default; -$brand-inverse: #252C36 !default; -$brand-info: #48B0F7 !default; -$brand-success: #76CA02 !default; -$brand-warning: #f99b1d !default; -$brand-danger: #ed1c24 !default; - -$brand-logo: false !default; -$brand-logo-height: 26px !default; -$brand-logo-width: 26px !default; // Only used for CSS brand logo - - - - - -//== Step 2: UI Customization - -// Default Font Size & Color -$font-size-default: 14px !default; -$font-color-default: #555 !default; - -// Global Border Color -$border-color-default: $gray-primary !default; -$border-radius-default: 4px !default; - -// Topbar -$topbar-bg: #FFF !default; -$topbar-minimalheight: 60px !default; -$topbar-border-color: $border-color-default !default; - -// Topbar mobile -$m-header-height: 45px !default; -$m-header-bg: $topbar-bg !default; -$m-header-color: #555 !default; -$m-header-title-size: 17px !default; - - -// Sidebar -$sidebar-bg: $brand-inverse !default; - -// Navbar Brand Name / For your company, product, or project name (used in layouts/base/) -$navbar-brand-name: $font-color-default !default; - -// Background Colors -$bg-color: #FFF !default; -$bg-color-secondary: #F5F8FD !default; // Background color that is used for specific page templates background - -// Default Link Color -$link-color: $brand-primary !default; -$link-hover-color: darken($link-color, 15%) !default; - - - - - -// -// █████╗ ██████╗ ██╗ ██╗ █████╗ ███╗ ██╗ ██████╗███████╗██████╗ -// ██╔══██╗██╔══██╗██║ ██║██╔══██╗████╗ ██║██╔════╝██╔════╝██╔══██╗ -// ███████║██║ ██║██║ ██║███████║██╔██╗ ██║██║ █████╗ ██║ ██║ -// ██╔══██║██║ ██║╚██╗ ██╔╝██╔══██║██║╚██╗██║██║ ██╔══╝ ██║ ██║ -// ██║ ██║██████╔╝ ╚████╔╝ ██║ ██║██║ ╚████║╚██████╗███████╗██████╔╝ -// ╚═╝ ╚═╝╚═════╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ -// - - -//== Typography -//## Change your font family, weight, line-height, headings and more (used in components/typography) - -// Font Family Import (Used for google font plugin in theme creater https://ux.mendix.com/theme-creator.html) -$font-family-import: "https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" !default; -@if $font-family-import != false { - // Only import, if the import is set - @import url($font-family-import); -} - -// Font Family / False = fallback from Bootstrap (Helvetica Neue) -$font-family-base: 'Open Sans', sans-serif !default; - -// Font Sizes -$font-size-large: 16px !default; -$font-size-small: 12px !default; - -// Font Weights -$font-weight-light: 100 !default; -$font-weight-normal: normal !default; -$font-weight-semibold: 600 !default; -$font-weight-bold: bold !default; - -// Font Size Headers -$font-size-h1: 31px !default; -$font-size-h2: 26px !default; -$font-size-h3: 24px !default; -$font-size-h4: 18px !default; -$font-size-h5: $font-size-default !default; -$font-size-h6: 12px !default; - -// Font Weight Headers -$font-weight-header: $font-weight-normal !default; - -// Line Height -$line-height-base: 1.428571429 !default; - -// Spacing -$font-header-margin: 15px 0 30px 0 !default; - -// Text Colors -$font-color-header: #17347B !default; -$font-color-detail: $gray-light !default; - - - - - -//== Navigation -//## Used in components/navigation - -// Default Navigation styling -$navigation-item-height: 60px !default; -$navigation-item-padding: 5px 15px !default; - -$navigation-font-size: $font-size-default !default; -$navigation-sub-font-size: $font-size-small !default; -$navigation-glyph-size: 20px !default; // For glyphicons that you can select in the Mendix Modeler - -$navigation-bg: $brand-inverse !default; -$navigation-bg-hover: lighten($navigation-bg, 4) !default; -$navigation-bg-active: lighten($navigation-bg, 8) !default; -$navigation-color: #FFF !default; -$navigation-color-hover: #FFF !default; -$navigation-color-active: #FFF !default; - -$navigation-sub-bg: darken($navigation-bg, 4) !default; -$navigation-sub-bg-hover: $navigation-sub-bg !default; -$navigation-sub-bg-active: $navigation-sub-bg !default; -$navigation-sub-color: #AAA !default; -$navigation-sub-color-hover: $brand-primary !default; -$navigation-sub-color-active: $brand-primary !default; - -$navigation-border-color: $navigation-bg-hover !default; - -// Navigation Sidebar -$navsidebar-font-size: $font-size-default !default; -$navsidebar-sub-font-size: $font-size-small !default; -$navsidebar-glyph-size: 20px !default; // For glyphicons that you can select in the Mendix Modeler - -$navsidebar-bg: $sidebar-bg !default; -$navsidebar-bg-hover: lighten($navsidebar-bg, 4) !default; -$navsidebar-bg-active: lighten($navsidebar-bg, 8) !default; -$navsidebar-color: #FFF !default; -$navsidebar-color-hover: #FFF !default; -$navsidebar-color-active: #FFF !default; - -$navsidebar-sub-bg: darken($navsidebar-bg, 4) !default; -$navsidebar-sub-bg-hover: $navsidebar-sub-bg !default; -$navsidebar-sub-bg-active: $navsidebar-sub-bg !default; -$navsidebar-sub-color: #AAA !default; -$navsidebar-sub-color-hover: $brand-primary !default; -$navsidebar-sub-color-active: $brand-primary !default; - -$navsidebar-border-color: $navsidebar-bg-hover !default; - -// Navigation topbar -$navtopbar-font-size: $font-size-default !default; -$navtopbar-sub-font-size: $font-size-small !default; -$navtopbar-glyph-size: 1.2em !default; // For glyphicons that you can select in the Mendix Modeler - -$navtopbar-bg: $topbar-bg !default; -$navtopbar-bg-hover: darken($navtopbar-bg, 4) !default; -$navtopbar-bg-active: darken($navtopbar-bg, 8) !default; -$navtopbar-color: $font-color-default !default; -$navtopbar-color-hover: $navtopbar-color !default; -$navtopbar-color-active: $navtopbar-color !default; - -$navtopbar-sub-bg: lighten($navtopbar-bg, 4) !default; -$navtopbar-sub-bg-hover: $navtopbar-sub-bg !default; -$navtopbar-sub-bg-active: $navtopbar-sub-bg !default; -$navtopbar-sub-color: #AAA !default; -$navtopbar-sub-color-hover: $brand-primary !default; -$navtopbar-sub-color-active: $brand-primary !default; - -//## Used in layouts/base -$navtopbar-border-color: $topbar-border-color !default; - - - - -//== Form -//## Used in components/inputs - -// Values that can be used default | lined -$form-input-style: default !default; - -// Form Label -$form-label-color: #666 !default; -$form-label-size: $font-size-default !default; -$form-label-weight: $font-weight-semibold !default; -$form-label-gutter: 8px !default; - -// Form Input dimensions -$form-input-height: auto !default; -$form-input-padding-y: 8px !default; -$form-input-padding-x: 10px !default; -$form-input-font-size: $form-label-size !default; -$form-input-line-height: $line-height-base !default; -$form-input-border-radius: $border-radius-default !default; - -// Form Input styling -$form-input-bg: #FFF !default; -$form-input-bg-focus: #FFF !default; -$form-input-bg-hover: $gray-primary !default; -$form-input-bg-disabled: $gray-lighter !default; -$form-input-color: $font-color-default !default; -$form-input-focus-color: $form-input-color !default; -$form-input-disabled-color: $form-input-color !default; -$form-input-placeholder-color: $gray-light !default; -$form-input-border-color: $border-color-default !default; -$form-input-border-focus-color: $brand-primary !default; - -// Form Input Static styling -$form-input-static-border-color: #F0F0EE !default; - -// Form Group -$form-group-margin-bottom: 15px !default; -$form-group-gutter: 15px !default; - - - - -//== Buttons -//## Define background-color, border-color and text. Used in components/buttons - -// Default button style -$btn-font-size: 14px !default; -$btn-bordered: false !default; // Default value false, set to true if you want this effect -$btn-border-radius: $border-radius-default !default; - -// Button Background Color -$btn-default-bg: #FFF !default; -$btn-inverse-bg: $brand-inverse !default; -$btn-primary-bg: $brand-primary !default; -$btn-info-bg: $brand-info !default; -$btn-success-bg: $brand-success !default; -$btn-warning-bg: $brand-warning !default; -$btn-danger-bg: $brand-danger !default; - -// Button Border Color -$btn-default-border-color: $brand-default !default; -$btn-inverse-border-color: $btn-inverse-bg !default; -$btn-primary-border-color: $btn-primary-bg !default; -$btn-info-border-color: $btn-info-bg !default; -$btn-success-border-color: $btn-success-bg !default; -$btn-warning-border-color: $btn-warning-bg !default; -$btn-danger-border-color: $btn-danger-bg !default; - -// Button Text Color -$btn-default-color: $brand-primary !default; -$btn-inverse-color: #FFF !default; -$btn-primary-color: #FFF !default; -$btn-info-color: #FFF !default; -$btn-success-color: #FFF !default; -$btn-warning-color: #FFF !default; -$btn-danger-color: #FFF !default; - -// Button Background Color -$btn-default-bg-hover: $btn-default-border-color !default; -$btn-inverse-bg-hover: mix($btn-inverse-bg, white, 80%) !default; -$btn-primary-bg-hover: mix($btn-primary-bg, black, 80%) !default; -$btn-info-bg-hover: mix($btn-info-bg, black, 80%) !default; -$btn-success-bg-hover: mix($btn-success-bg, black, 80%) !default; -$btn-warning-bg-hover: mix($btn-warning-bg, black, 80%) !default; -$btn-danger-bg-hover: mix($btn-danger-bg, black, 80%) !default; -$btn-link-bg-hover: $gray-lighter !default; - - - - -//== Header blocks -//## Define look and feel over multible building blocks that serve as header -$header-bg-color: $bg-color-secondary !default; -$header-text-color: #FFF !default; -$header-text-color-detail: rgba(0,0,0, 0.2) !default; - - - - - -// -// ███████╗██╗ ██╗██████╗ ███████╗██████╗ ████████╗ -// ██╔════╝╚██╗██╔╝██╔══██╗██╔════╝██╔══██╗╚══██╔══╝ -// █████╗ ╚███╔╝ ██████╔╝█████╗ ██████╔╝ ██║ -// ██╔══╝ ██╔██╗ ██╔═══╝ ██╔══╝ ██╔══██╗ ██║ -// ███████╗██╔╝ ██╗██║ ███████╗██║ ██║ ██║ -// ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ -// - -//== Color variations -//## These variations are used to support several other variables and components - -// Color variations -$color-default-darker: mix($brand-default, black, 60%) !default; -$color-default-dark: mix($brand-default, black, 70%) !default; -$color-default-light: mix($brand-default, white, 60%) !default; -$color-default-lighter: mix($brand-default, white, 20%) !default; - -$color-inverse-darker: mix($brand-inverse, black, 60%) !default; -$color-inverse-dark: mix($brand-inverse, black, 70%) !default; -$color-inverse-light: mix($brand-inverse, white, 60%) !default; -$color-inverse-lighter: mix($brand-inverse, white, 20%) !default; - -$color-primary-darker: mix($brand-primary, black, 60%) !default; -$color-primary-dark: mix($brand-primary, black, 70%) !default; -$color-primary-light: mix($brand-primary, white, 60%) !default; -$color-primary-lighter: mix($brand-primary, white, 20%) !default; - -$color-info-darker: mix($brand-info, black, 60%) !default; -$color-info-dark: mix($brand-info, black, 70%) !default; -$color-info-light: mix($brand-info, white, 60%) !default; -$color-info-lighter: mix($brand-info, white, 20%) !default; - -$color-success-darker: mix($brand-success, black, 60%) !default; -$color-success-dark: mix($brand-success, black, 70%) !default; -$color-success-light: mix($brand-success, white, 60%) !default; -$color-success-lighter: mix($brand-success, white, 20%) !default; - -$color-warning-darker: mix($brand-warning, black, 60%) !default; -$color-warning-dark: mix($brand-warning, black, 70%) !default; -$color-warning-light: mix($brand-warning, white, 60%) !default; -$color-warning-lighter: mix($brand-warning, white, 20%) !default; - -$color-danger-darker: mix($brand-danger, black, 60%) !default; -$color-danger-dark: mix($brand-danger, black, 70%) !default; -$color-danger-light: mix($brand-danger, white, 60%) !default; -$color-danger-lighter: mix($brand-danger, white, 20%) !default; - -$brand-gradient: linear-gradient(152deg, #0CC7F0 0%, #087ECC 51%, #077AC9 55%, #0659B9 78%) !default; - - -//== Grids -//## Used for Datagrid, Templategrid, Listview & Tables (see components folder) - -// Default Border Colors -$grid-border-color: $border-color-default !default; - -// Spacing -// Default -$grid-padding-top: 15px !default; -$grid-padding-right: 15px !default; -$grid-padding-bottom: 15px !default; -$grid-padding-left: 15px !default; - -// Listview -$listview-padding-top: 15px !default; -$listview-padding-right: 15px !default; -$listview-padding-bottom: 15px !default; -$listview-padding-left: 15px !default; - -// Background Colors -$grid-bg: #FFF !default; -$grid-bg-header: transparent !default; // Grid Headers -$grid-bg-hover: mix($grid-border-color, #FFF, 20%) !default; -$grid-bg-selected: mix($grid-border-color, #FFF, 30%) !default; -$grid-bg-selected-hover: mix($grid-border-color, #FFF, 50%) !default; - -// Striped Background Color -$grid-bg-striped: mix($grid-border-color, #FFF, 10%) !default; - -// Background Footer Color -$grid-footer-bg: $gray-primary !default; - -// Text Color -$grid-selected-color: $font-color-default !default; - -// Paging Colors -$grid-paging-bg: transparent !default; -$grid-paging-bg-hover: transparent !default; -$grid-paging-border-color: transparent !default; -$grid-paging-border-color-hover: transparent !default; -$grid-paging-color: $gray-light !default; -$grid-paging-color-hover: $brand-primary !default; - - - - -//== Tabs -//## Default variables for Tab Container Widget (used in components/tabcontainer) - -// Text Color -$tabs-color: $font-color-detail !default; -$tabs-color-active: $font-color-default !default; -$tabs-lined-color-active: $brand-primary !default; - -// Border Color -$tabs-border-color: $border-color-default !default; -$tabs-lined-border-color: $brand-primary !default; - -// Background Color -$tabs-bg: #FFF !default; -$tabs-bg-hover: lighten($tabs-border-color,5) !default; -$tabs-bg-active: $brand-primary !default; - - - - -//== Modals -//## Default Mendix Modal, Blocking Modal and Login Modal (used in components/modals) - -// Background Color -$modal-header-bg: transparent !default; - -// Border Color -$modal-header-border-color: $border-color-default !default; - -// Text Color -$modal-header-color: $font-color-default !default; - - - - -//== Dataview -//## Default variables for Dataview Widget (used in components/dataview) - -// Controls -$dataview-controls-bg: transparent !default; -$dataview-controls-border-color: $border-color-default !default; - -// Empty Message -$dataview-emptymessage-bg: $bg-color !default; -$dataview-emptymessage-color: $font-color-default !default; - - - - -//== Alerts -//## Default Bootstrap alerts, not a widget in the Modeler (used in components/alerts) - -// Background Color -$alert-info-bg: $color-info-lighter !default; -$alert-success-bg: $color-success-lighter !default; -$alert-warning-bg: $color-warning-lighter !default; -$alert-danger-bg: $color-danger-lighter !default; - -// Text Color -$alert-info-color: $color-info-darker !default; -$alert-success-color: $color-success-darker !default; -$alert-warning-color: $color-warning-darker !default; -$alert-danger-color: $color-danger-darker !default; - -// Border Color -$alert-info-border-color: $color-info-dark !default; -$alert-success-border-color: $color-success-dark !default; -$alert-warning-border-color: $color-warning-dark !default; -$alert-danger-border-color: $color-danger-dark !default; - - - - -//== Labels -//## Default Bootstrap Labels, not a widget in the Modeler (used in components/labels) - -// Background Color -$label-default-bg: $brand-default !default; -$label-primary-bg: $brand-primary !default; -$label-info-bg: $brand-info !default; -$label-inverse-bg: $brand-inverse !default; -$label-success-bg: $brand-success !default; -$label-warning-bg: $brand-warning !default; -$label-danger-bg: $brand-danger !default; - -// Border Color -$label-default-border-color: $brand-default !default; -$label-primary-border-color: $brand-primary !default; -$label-info-border-color: $brand-info !default; -$label-success-border-color: $brand-success !default; -$label-warning-border-color: $brand-warning !default; -$label-danger-border-color: $brand-danger !default; - -// Text Color -$label-default-color: $font-color-default !default; -$label-primary-color: #FFF !default; -$label-info-color: #FFF !default; -$label-inverse-color: #FFF !default; -$label-success-color: #FFF !default; -$label-warning-color: #FFF !default; -$label-danger-color: #FFF !default; - - - - -//== Groupbox -//## Default variables for Groupbox Widget (used in components/groupbox) - -// Background Color -$groupbox-default-bg: $brand-default !default; -$groupbox-inverse-bg: $brand-inverse !default; -$groupbox-primary-bg: $brand-primary !default; -$groupbox-info-bg: $brand-info !default; -$groupbox-success-bg: $brand-success !default; -$groupbox-warning-bg: $brand-warning !default; -$groupbox-danger-bg: $brand-danger !default; -$groupbox-white-bg: #FFF !default; - -// Text Color -$groupbox-default-color: $font-color-default !default; -$groupbox-inverse-color: #FFF !default; -$groupbox-primary-color: #FFF !default; -$groupbox-info-color: #FFF !default; -$groupbox-success-color: #FFF !default; -$groupbox-warning-color: #FFF !default; -$groupbox-danger-color: #FFF !default; -$groupbox-white-color: $font-color-default !default; - - - - -//== Callout (groupbox) Colors -//## Extended variables for Groupbox Widget (used in components/groupbox) - -// Text and Border Color -$callout-default-color: $font-color-default !default; -$callout-info-color: $brand-info !default; -$callout-success-color: $brand-success !default; -$callout-warning-color: $brand-warning !default; -$callout-danger-color: $brand-danger !default; - -// Background Color -$callout-default-bg: $color-default-lighter!default; -$callout-info-bg: $color-info-lighter !default; -$callout-success-bg: $color-success-lighter !default; -$callout-warning-bg: $color-warning-lighter !default; -$callout-danger-bg: $color-danger-lighter !default; - - - - - -//== Spacing -//## Advanced layout options (used in base/mixins/default-spacing) - -// Small spacing -$spacing-small: 5px !default; - -// Medium spacing -$spacing-medium: 15px !default; -$t-spacing-medium: 15px !default; -$m-spacing-medium: 15px !default; - -// Large spacing -$spacing-large: 30px !default; -$t-spacing-large: 30px !default; -$m-spacing-large: 15px !default; - -// Layout spacing -$layout-spacing-top: 30px !default; -$layout-spacing-right: 30px !default; -$layout-spacing-bottom: 30px !default; -$layout-spacing-left: 30px !default; - -$t-layout-spacing-top: 30px !default; -$t-layout-spacing-right: 30px !default; -$t-layout-spacing-bottom: 30px !default; -$t-layout-spacing-left: 30px !default; - -$m-layout-spacing-top: 15px !default; -$m-layout-spacing-right: 15px !default; -$m-layout-spacing-bottom: 15px !default; -$m-layout-spacing-left: 15px !default; - -// Combined layout spacing -$layout-spacing: $layout-spacing-top $layout-spacing-right $layout-spacing-bottom $layout-spacing-left !default; -$m-layout-spacing: $m-layout-spacing-top $m-layout-spacing-right $m-layout-spacing-bottom $m-layout-spacing-left !default; -$t-layout-spacing: $t-layout-spacing-top $t-layout-spacing-right $t-layout-spacing-bottom $t-layout-spacing-left !default; - -// Gutter size -$gutter-size: 15px !default; - - - - - -//== Tables -//## Table spacing options (used in components/tables) - -$padding-table-cell-top: 8px !default; -$padding-table-cell-bottom: 8px !default; -$padding-table-cell-left: 8px !default; -$padding-table-cell-right: 8px !default; - - - - -//== Media queries breakpoints -//## Define the breakpoints at which your layout will change, adapting to different screen sizes. - -$screen-xs: 480px !default; -$screen-sm: 576px !default; -$screen-md: 768px !default; -$screen-lg: 992px !default; -$screen-xl: 1200px !default; - -// So media queries don't overlap when required, provide a maximum (used for max-width) -$screen-xs-max: ($screen-sm - 1) !default; -$screen-sm-max: ($screen-md - 1) !default; -$screen-md-max: ($screen-lg - 1) !default; -$screen-lg-max: ($screen-xl - 1) !default; - - -//== Settings -//## Enable or disable your desired framework features -// Use of !important -$important-flex: true !default; // ./base/flex.scss -$important-spacing: true !default; // ./base/spacing.scss -$important-helpers: true !default; // ./helpers/helperclasses.scss diff --git a/theme/styles/web/sass/core/base/_spacing.scss b/theme/styles/web/sass/core/base/_spacing.scss deleted file mode 100644 index 4d020f9..0000000 --- a/theme/styles/web/sass/core/base/_spacing.scss +++ /dev/null @@ -1,217 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// -/* ========================================================================== - Spacing - - Spacing classes -========================================================================== */ -$important-spacing-value: if($important-spacing, ' !important', ''); - -// Spacing none -.spacing-inner-none { - padding: 0 #{$important-spacing-value}; -} - -.spacing-inner-top-none { - padding-top: 0 #{$important-spacing-value}; -} - -.spacing-inner-right-none { - padding-right: 0 #{$important-spacing-value}; -} - -.spacing-inner-bottom-none { - padding-bottom: 0 #{$important-spacing-value}; -} - -.spacing-inner-left-none { - padding-left: 0 #{$important-spacing-value}; -} - -.spacing-outer-none { - margin: 0 #{$important-spacing-value}; -} - -.spacing-outer-top-none { - margin-top: 0 #{$important-spacing-value}; -} - -.spacing-outer-right-none { - margin-right: 0 #{$important-spacing-value}; -} - -.spacing-outer-bottom-none { - margin-bottom: 0 #{$important-spacing-value}; -} - -.spacing-outer-left-none { - margin-left: 0 #{$important-spacing-value}; -} - -// Spacing small -.spacing-inner { - padding: $spacing-small #{$important-spacing-value}; -} - -.spacing-inner-top { - padding-top: $spacing-small #{$important-spacing-value}; -} - -.spacing-inner-right { - padding-right: $spacing-small #{$important-spacing-value}; -} - -.spacing-inner-bottom { - padding-bottom: $spacing-small #{$important-spacing-value}; -} - -.spacing-inner-left { - padding-left: $spacing-small #{$important-spacing-value}; -} - -.spacing-outer { - margin: $spacing-small #{$important-spacing-value}; -} - -.spacing-outer-top { - margin-top: $spacing-small #{$important-spacing-value}; -} - -.spacing-outer-right { - margin-right: $spacing-small #{$important-spacing-value}; -} - -.spacing-outer-bottom { - margin-bottom: $spacing-small #{$important-spacing-value}; -} - -.spacing-outer-left { - margin-left: $spacing-small #{$important-spacing-value}; -} - -// Spacing Medium -.spacing-inner-medium { - @include get-responsive-spacing-medium($type: padding, $direction: all, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-top-medium { - @include get-responsive-spacing-medium($type: padding, $direction: top, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-right-medium { - @include get-responsive-spacing-medium($type: padding, $direction: right, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-bottom-medium { - @include get-responsive-spacing-medium($type: padding, $direction: bottom, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-left-medium { - @include get-responsive-spacing-medium($type: padding, $direction: left, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-medium { - @include get-responsive-spacing-medium($type: margin, $direction: all, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-top-medium { - @include get-responsive-spacing-medium($type: margin, $direction: top, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-right-medium { - @include get-responsive-spacing-medium($type: margin, $direction: right, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-bottom-medium { - @include get-responsive-spacing-medium($type: margin, $direction: bottom, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-left-medium { - @include get-responsive-spacing-medium($type: margin, $direction: left, $is_important: #{$important-spacing-value}); -} - -// Spacing Large -.spacing-inner-large { - @include get-responsive-spacing-large($type: padding, $direction: all, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-top-large { - @include get-responsive-spacing-large($type: padding, $direction: top, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-right-large { - @include get-responsive-spacing-large($type: padding, $direction: right, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-bottom-large { - @include get-responsive-spacing-large($type: padding, $direction: bottom, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-left-large { - @include get-responsive-spacing-large($type: padding, $direction: left, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-large { - @include get-responsive-spacing-large($type: margin, $direction: all, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-top-large { - @include get-responsive-spacing-large($type: margin, $direction: top, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-right-large { - @include get-responsive-spacing-large($type: margin, $direction: right, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-bottom-large { - @include get-responsive-spacing-large($type: margin, $direction: bottom, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-left-large { - @include get-responsive-spacing-large($type: margin, $direction: left, $is_important: #{$important-spacing-value}); -} - -// Spacing layouts -.spacing-inner-layout { - @include layout-spacing($type: padding, $direction: all, $device: responsive, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-top-layout { - @include layout-spacing($type: padding, $direction: top, $device: responsive, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-right-layout { - @include layout-spacing($type: padding, $direction: right, $device: responsive, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-bottom-layout { - @include layout-spacing($type: padding, $direction: bottom, $device: responsive, $is_important: #{$important-spacing-value}); -} - -.spacing-inner-left-layout { - @include layout-spacing($type: padding, $direction: left, $device: responsive, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-layout { - @include layout-spacing($type: margin, $direction: all, $device: responsive, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-top-layout { - @include layout-spacing($type: margin, $direction: top, $device: responsive, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-right-layout { - @include layout-spacing($type: margin, $direction: right, $device: responsive, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-bottom-layout { - @include layout-spacing($type: margin, $direction: bottom, $device: responsive, $is_important: #{$important-spacing-value}); -} - -.spacing-outer-left-layout { - @include layout-spacing($type: margin, $direction: left, $device: responsive, $is_important: #{$important-spacing-value}); -} diff --git a/theme/styles/web/sass/core/helpers/_alerts.scss b/theme/styles/web/sass/core/helpers/_alerts.scss deleted file mode 100644 index 69fdab1..0000000 --- a/theme/styles/web/sass/core/helpers/_alerts.scss +++ /dev/null @@ -1,49 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Alerts - -//== Design Properties -//## Helper classes to change the look and feel of the component -========================================================================== */ -.alert-bordered { - border: 1px solid; -} - -// Color variations -.alert-success { - color: $alert-success-color; - border-color: $alert-success-border-color; - background-color: $alert-success-bg; -} - -.alert-info { - color: $alert-info-color; - border-color: $alert-info-border-color; - background-color: $alert-info-bg; -} - -.alert-warning { - color: $alert-warning-color; - border-color: $alert-warning-border-color; - background-color: $alert-warning-bg; -} - -.alert-danger { - color: $alert-danger-color; - border-color: $alert-danger-border-color; - background-color: $alert-danger-bg; -} - -//== State -//## Styling when component is in certain state -//-------------------------------------------------------------------------------------------------------------------// -.has-error .alert { - margin-top: 8px; - margin-bottom: 0; -} diff --git a/theme/styles/web/sass/core/helpers/_backgrounds.scss b/theme/styles/web/sass/core/helpers/_backgrounds.scss deleted file mode 100644 index 8c4a57b..0000000 --- a/theme/styles/web/sass/core/helpers/_backgrounds.scss +++ /dev/null @@ -1,164 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Backgrounds - - Different background components, all managed by variables -========================================================================== */ - -.background-main { - background-color: $bg-color !important; -} - -.background-secondary { - background-color: $bg-color-secondary !important; -} - -.background-default { - background-color: $brand-default !important; -} - -.background-default-darker { - background-color: $color-default-darker !important; -} - -.background-default-dark { - background-color: $color-default-dark !important; -} - -.background-default-light { - background-color: $color-default-light !important; -} - -.background-default-lighter { - background-color: $color-default-lighter !important; -} - -.background-inverse { - background-color: $brand-inverse !important; -} - -.background-inverse-darker { - background-color: $color-inverse-darker !important; -} - -.background-inverse-dark { - background-color: $color-inverse-dark !important; -} - -.background-inverse-light { - background-color: $color-inverse-light !important; -} - -.background-inverse-lighter { - background-color: $color-inverse-lighter !important; -} - -.background-primary { - background-color: $brand-primary !important; -} - -.background-primary-darker { - background-color: $color-primary-darker !important; -} - -.background-primary-dark { - background-color: $color-primary-dark !important; -} - -.background-primary-light { - background-color: $color-primary-light !important; -} - -.background-primary-lighter { - background-color: $color-primary-lighter !important; -} - -.background-info { - background-color: $brand-info !important; -} - -.background-info-darker { - background-color: $color-info-darker !important; -} - -.background-info-dark { - background-color: $color-info-dark !important; -} - -.background-info-light { - background-color: $color-info-light !important; -} - -.background-info-lighter { - background-color: $color-info-lighter !important; -} - -.background-success { - background-color: $brand-success !important; -} - -.background-success-darker { - background-color: $color-success-darker !important; -} - -.background-success-dark { - background-color: $color-success-dark !important; -} - -.background-success-light { - background-color: $color-success-light !important; -} - -.background-success-lighter { - background-color: $color-success-lighter !important; -} - -.background-warning { - background-color: $brand-warning !important; -} - -.background-warning-darker { - background-color: $color-warning-darker !important; -} - -.background-warning-dark { - background-color: $color-warning-dark !important; -} - -.background-warning-light { - background-color: $color-warning-light !important; -} - -.background-warning-lighter { - background-color: $color-warning-lighter !important; -} - -.background-danger { - background-color: $brand-danger !important; -} - -.background-danger-darker { - background-color: $color-danger-darker !important; -} - -.background-danger-dark { - background-color: $color-danger-dark !important; -} - -.background-danger-light { - background-color: $color-danger-light !important; -} - -.background-danger-lighter { - background-color: $color-danger-lighter !important; -} - -.background-brand-gradient { - background-image: $brand-gradient !important; -} diff --git a/theme/styles/web/sass/core/helpers/_buttons.scss b/theme/styles/web/sass/core/helpers/_buttons.scss deleted file mode 100644 index 87c8985..0000000 --- a/theme/styles/web/sass/core/helpers/_buttons.scss +++ /dev/null @@ -1,100 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Buttons - -//== Design Properties -//## Helper classes to change the look and feel of the component -========================================================================== */ -// Color variations -.btn, -.btn-default { - @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border-color, $btn-default-bg-hover); -} - -.btn-primary { - @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border-color, $btn-primary-bg-hover); -} - -.btn-inverse { - @include button-variant($btn-inverse-color, $btn-inverse-bg, $btn-inverse-border-color, $btn-inverse-bg-hover); -} - -.btn-success { - @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border-color, $btn-success-bg-hover); -} - -.btn-info { - @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border-color, $btn-info-bg-hover); -} - -.btn-warning { - @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border-color, $btn-warning-bg-hover); -} - -.btn-danger { - @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border-color, $btn-danger-bg-hover); -} - -// Button Sizes -.btn-lg { - font-size: $font-size-large; - img { - height: calc(#{$font-size-small} + 4px); - } -} - -.btn-sm { - font-size: $font-size-small; - img { - height: calc(#{$font-size-small} + 4px); - } -} - -// Button Image -.btn-image { - padding: 0; - vertical-align: middle; - border-style: none; - background-color: transparent; - img { - display: block; // or else the button doesn't get a width - height: auto; // Image set height - } - &:hover, - &:focus { - background-color: transparent; - } -} - -// Icon buttons -.btn-icon { - & > img, - & > .glyphicon { - margin: 0; - } -} - -.btn-icon-right { - & > img, - & > .glyphicon { - float: right; - margin-left: 5px; - } -} - -.btn-icon-top { - padding-right: 0; - padding-left: 0; - & > img, - & > .glyphicon { - display: block; - margin: 0 0 5px 0; - } -} - diff --git a/theme/styles/web/sass/core/helpers/_datagrids.scss b/theme/styles/web/sass/core/helpers/_datagrids.scss deleted file mode 100644 index f37c889..0000000 --- a/theme/styles/web/sass/core/helpers/_datagrids.scss +++ /dev/null @@ -1,157 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// -/* ========================================================================== - Datagrid Default - -//== Design Properties -//## Helper classes to change the look and feel of the component -========================================================================== */ -// Striped style -.datagrid-striped.mx-datagrid { - table { - th { - border-width: 0; - } - - tbody tr { - td { - border-top-width: 0; - } - - &:nth-child(odd) td { - background-color: $grid-bg-striped; - } - } - } -} - -// Bordered style -.datagrid-bordered.mx-datagrid { - table { - border: 1px solid; - - th { - border: 1px solid $grid-border-color; - } - - tbody tr { - td { - border: 1px solid $grid-border-color; - } - } - } - - tfoot { - > tr > th { - border-width: 0; - background-color: $grid-footer-bg; - } - - > tr > td { - border-width: 1px; - } - } -} - -// Transparent style so you can see the background -.datagrid-transparent.mx-datagrid { - table { - background-color: transparent; - - tbody tr { - &:nth-of-type(odd) { - background-color: transparent; - } - - td { - background-color: transparent; - } - } - } -} - -// Hover style activated -.datagrid-hover.mx-datagrid { - table { - tbody tr { - &:hover td { - background-color: $grid-bg-hover !important; - } - - &.selected:hover td { - background-color: $grid-bg-selected-hover !important; - } - } - } -} - -// Datagrid Row Sizes -.datagrid-lg.mx-datagrid { - table { - th { - padding: ($grid-padding-top * 2) ($grid-padding-right * 2) ($grid-padding-bottom * 2) ($grid-padding-left * 2); - } - - tbody tr { - td { - padding: ($grid-padding-top * 2) ($grid-padding-right * 2) ($grid-padding-bottom * 2) ($grid-padding-left * 2); - } - } - } -} - -.datagrid-sm.mx-datagrid { - table { - th { - padding: ($grid-padding-top / 2) ($grid-padding-right / 2) ($grid-padding-bottom / 2) ($grid-padding-left / 2); - } - - tbody tr { - td { - padding: ($grid-padding-top / 2) ($grid-padding-right / 2) ($grid-padding-bottom / 2) ($grid-padding-left/ 2); - } - } - } -} - -// Datagrid Full Search -// Default Mendix Datagrid Widget with adjusted search field. Only 1 search field is allowed -.datagrid-fullsearch.mx-grid { - .mx-grid-search-button { - @extend .btn-primary; - } - - .mx-grid-reset-button { - display: none; - } - - .mx-grid-search-item { - display: block; - } - - .mx-grid-search-label { - display: none; - } - - .mx-grid-searchbar { - .mx-grid-search-controls { - position: absolute; - right: 0; - } - - .mx-grid-search-input { - width: 80%; - padding-left: 0; - - .btn, - .form-control { - height: 35px; - font-size: 12px; - } - } - } -} diff --git a/theme/styles/web/sass/core/helpers/_groupbox.scss b/theme/styles/web/sass/core/helpers/_groupbox.scss deleted file mode 100644 index 2e71036..0000000 --- a/theme/styles/web/sass/core/helpers/_groupbox.scss +++ /dev/null @@ -1,147 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Groupbox - -//== Design Properties -//## Helper classes to change the look and feel of the component -========================================================================== */ -// Color variations -.groupbox-default { - @include groupbox-variant($groupbox-default-color, $groupbox-default-bg); -} - -.groupbox-primary { - @include groupbox-variant($groupbox-primary-color, $groupbox-primary-bg); -} - -.groupbox-inverse { - @include groupbox-variant($groupbox-inverse-color, $groupbox-inverse-bg); -} - -// Success appears as green -.groupbox-success { - @include groupbox-variant($groupbox-success-color, $groupbox-success-bg); -} - -// Info appears as blue-green -.groupbox-info { - @include groupbox-variant($groupbox-info-color, $groupbox-info-bg); -} - -// Warning appears as orange -.groupbox-warning { - @include groupbox-variant($groupbox-warning-color, $groupbox-warning-bg); -} - -// Danger and error appear as red -.groupbox-danger { - @include groupbox-variant($groupbox-danger-color, $groupbox-danger-bg); -} - -// white appears as full white -.groupbox-white { - @include groupbox-variant($groupbox-white-color, $groupbox-white-bg); -} - -.groupbox-transparent { - border-bottom: 1px solid $border-color-default; - > .mx-groupbox-header { - padding: 15px 0; - color: $gray-darker; - border-style: none; - background: transparent; - font-size: 16px; - font-weight: $font-weight-semibold; - } - .mx-groupbox-body { - padding: 15px 0; - border-style: none; - background-color: transparent; - } - .mx-groupbox-collapse-icon { - color: $brand-primary; - } -} - -// Header options -.groupbox-h1 > .mx-groupbox-header { - font-size: $font-size-h1; -} - -.groupbox-h2 > .mx-groupbox-header { - font-size: $font-size-h2; -} - -.groupbox-h3 > .mx-groupbox-header { - font-size: $font-size-h3; -} - -.groupbox-h4 > .mx-groupbox-header { - font-size: $font-size-h4; -} - -.groupbox-h5 > .mx-groupbox-header { - font-size: $font-size-h5; -} - -.groupbox-h6 > .mx-groupbox-header { - font-size: $font-size-h6; -} - -// Callout Look and Feel -.groupbox-callout { - > .mx-groupbox-header, - > .mx-groupbox-body { - border: 0; - background-color: $callout-info-bg; - } - .mx-groupbox-header + .mx-groupbox-body { - padding-top: 0; - } -} - -.groupbox-info.groupbox-callout { - > .mx-groupbox-header, - > .mx-groupbox-body { - background-color: $callout-info-bg; - } - > .mx-groupbox-header { - color: $callout-info-color; - } -} - -.groupbox-success.groupbox-callout { - > .mx-groupbox-header, - > .mx-groupbox-body { - background-color: $callout-success-bg; - } - > .mx-groupbox-header { - color: $callout-success-color; - } -} - -.groupbox-warning.groupbox-callout { - > .mx-groupbox-header, - > .mx-groupbox-body { - background-color: $callout-warning-bg; - } - > .mx-groupbox-header { - color: $callout-warning-color; - } -} - -.groupbox-danger.groupbox-callout { - > .mx-groupbox-header, - > .mx-groupbox-body { - background-color: $callout-danger-bg; - } - > .mx-groupbox-header { - color: $callout-danger-color; - } -} diff --git a/theme/styles/web/sass/core/helpers/_helperclasses.scss b/theme/styles/web/sass/core/helpers/_helperclasses.scss deleted file mode 100644 index b76b778..0000000 --- a/theme/styles/web/sass/core/helpers/_helperclasses.scss +++ /dev/null @@ -1,346 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Helpers - - Default Mendix Helpers -========================================================================== */ -$important-helpers-value: if($important-helpers, ' !important', ''); - -// Display properties -.d-none { - display: none #{$important-helpers-value}; -} - -.d-flex { - display: flex #{$important-helpers-value}; -} - -.d-inline-flex { - display: inline-flex #{$important-helpers-value}; -} - -.d-inline { - display: inline #{$important-helpers-value}; -} - -.d-inline-block { - display: inline-block #{$important-helpers-value}; -} - -.show, -.d-block { - display: block #{$important-helpers-value}; -} - -.table, -.d-table { - display: table #{$important-helpers-value}; -} - -.table-row, -.d-table-row { - display: table-row #{$important-helpers-value}; -} - -.table-cell, -.d-table-cell { - display: table-cell #{$important-helpers-value}; -} - -.hide, -.hidden { - display: none #{$important-helpers-value}; - visibility: hidden #{$important-helpers-value}; -} - -.invisible { - visibility: hidden #{$important-helpers-value}; -} - -.display-ie8-only:not([attr*=""]) { - display: none #{$important-helpers-value}; - padding: 0 #{$important-helpers-value}; -} - -.list-nostyle { - ul { - margin: 0 #{$important-helpers-value}; - padding: 0 #{$important-helpers-value}; - - li { - list-style-type: none #{$important-helpers-value}; - } - } -} - -.nowrap, -.nowrap * { - overflow: hidden #{$important-helpers-value}; - // Star for inside an element, IE8 span > a - white-space: nowrap #{$important-helpers-value}; - text-overflow: ellipsis #{$important-helpers-value}; -} - -// Render DIV as Table Cells -.table { - display: table #{$important-helpers-value}; -} - -.table-row { - display: table-row #{$important-helpers-value}; -} - -.table-cell { - display: table-cell #{$important-helpers-value}; -} - -// Quick floats -.pull-left { - float: left #{$important-helpers-value}; -} - -.pull-right { - float: right #{$important-helpers-value}; -} - -// Align options -.align-top { - vertical-align: top #{$important-helpers-value}; -} - -.align-middle { - vertical-align: middle #{$important-helpers-value}; -} - -.align-bottom { - vertical-align: bottom #{$important-helpers-value}; -} - -// Flex alignments -.row-left { - display: flex #{$important-helpers-value}; - align-items: center #{$important-helpers-value}; - flex-flow: row #{$important-helpers-value}; - justify-content: flex-start #{$important-helpers-value}; -} - -.row-center { - display: flex #{$important-helpers-value}; - align-items: center #{$important-helpers-value}; - flex-flow: row #{$important-helpers-value}; - justify-content: center #{$important-helpers-value}; -} - -.row-right { - display: flex #{$important-helpers-value}; - align-items: center #{$important-helpers-value}; - flex-flow: row #{$important-helpers-value}; - justify-content: flex-end #{$important-helpers-value}; -} - -.col-left { - display: flex #{$important-helpers-value}; - align-items: flex-start #{$important-helpers-value}; - flex-direction: column #{$important-helpers-value}; - justify-content: center #{$important-helpers-value}; -} - -.col-center { - display: flex #{$important-helpers-value}; - align-items: center #{$important-helpers-value}; - flex-direction: column #{$important-helpers-value}; - justify-content: center #{$important-helpers-value}; -} - -.col-right { - display: flex #{$important-helpers-value}; - align-items: flex-end #{$important-helpers-value}; - flex-direction: column #{$important-helpers-value}; - justify-content: center #{$important-helpers-value}; -} - -// Media -@media (max-width: $screen-sm-max) { - .hide-phone { - display: none #{$important-helpers-value}; - } -} - -@media (min-width: $screen-md) and (max-width: $screen-md-max) { - .hide-tablet { - display: none #{$important-helpers-value}; - } -} - -@media (min-width: $screen-lg) { - .hide-desktop { - display: none #{$important-helpers-value}; - } -} - - -@media (max-width: $screen-xs-max) { - .hide-xs, - .hidden-xs, - .d-xs-none { - display: none #{$important-helpers-value}; - } - .d-xs-flex { - display: flex #{$important-helpers-value}; - } - .d-xs-inline-flex { - display: inline-flex #{$important-helpers-value}; - } - .d-xs-inline { - display: inline #{$important-helpers-value}; - } - .d-xs-inline-block { - display: inline-block #{$important-helpers-value}; - } - .d-xs-block { - display: block #{$important-helpers-value}; - } - .d-xs-table { - display: table #{$important-helpers-value}; - } - .d-xs-table-row { - display: table-row #{$important-helpers-value}; - } - .d-xs-table-cell { - display: table-cell #{$important-helpers-value}; - } -} - -@media (min-width: $screen-sm) and (max-width: $screen-sm-max) { - .hide-sm, - .hidden-sm, - .d-sm-none { - display: none #{$important-helpers-value}; - } - .d-sm-flex { - display: flex #{$important-helpers-value}; - } - .d-sm-inline-flex { - display: inline-flex #{$important-helpers-value}; - } - .d-sm-inline { - display: inline #{$important-helpers-value}; - } - .d-sm-inline-block { - display: inline-block #{$important-helpers-value}; - } - .d-sm-block { - display: block #{$important-helpers-value}; - } - .d-sm-table { - display: table #{$important-helpers-value}; - } - .d-sm-table-row { - display: table-row #{$important-helpers-value}; - } - .d-sm-table-cell { - display: table-cell #{$important-helpers-value}; - } -} - -@media (min-width: $screen-md) and (max-width: $screen-md-max) { - .hide-md, - .hidden-md, - .d-md-none { - display: none #{$important-helpers-value}; - } - .d-md-flex { - display: flex #{$important-helpers-value}; - } - .d-md-inline-flex { - display: inline-flex #{$important-helpers-value}; - } - .d-md-inline { - display: inline #{$important-helpers-value}; - } - .d-md-inline-block { - display: inline-block #{$important-helpers-value}; - } - .d-md-block { - display: block #{$important-helpers-value}; - } - .d-md-table { - display: table #{$important-helpers-value}; - } - .d-md-table-row { - display: table-row #{$important-helpers-value}; - } - .d-md-table-cell { - display: table-cell #{$important-helpers-value}; - } -} - -@media (min-width: $screen-lg) and (max-width: $screen-xl) { - .hide-lg, - .hidden-lg, - .d-lg-none { - display: none #{$important-helpers-value}; - } - .d-lg-flex { - display: flex #{$important-helpers-value}; - } - .d-lg-inline-flex { - display: inline-flex #{$important-helpers-value}; - } - .d-lg-inline { - display: inline #{$important-helpers-value}; - } - .d-lg-inline-block { - display: inline-block #{$important-helpers-value}; - } - .d-lg-block { - display: block #{$important-helpers-value}; - } - .d-lg-table { - display: table #{$important-helpers-value}; - } - .d-lg-table-row { - display: table-row #{$important-helpers-value}; - } - .d-lg-table-cell { - display: table-cell #{$important-helpers-value}; - } -} - -@media (min-width: $screen-xl) { - .hide-xl, - .hidden-xl, - .d-xl-none { - display: none #{$important-helpers-value}; - } - .d-xl-flex { - display: flex #{$important-helpers-value}; - } - .d-xl-inline-flex { - display: inline-flex #{$important-helpers-value}; - } - .d-xl-inline { - display: inline #{$important-helpers-value}; - } - .d-xl-inline-block { - display: inline-block #{$important-helpers-value}; - } - .d-xl-block { - display: block #{$important-helpers-value}; - } - .d-xl-table { - display: table #{$important-helpers-value}; - } - .d-xl-table-row { - display: table-row #{$important-helpers-value}; - } - .d-xl-table-cell { - display: table-cell #{$important-helpers-value}; - } -} diff --git a/theme/styles/web/sass/core/helpers/_images.scss b/theme/styles/web/sass/core/helpers/_images.scss deleted file mode 100644 index 7a65cc6..0000000 --- a/theme/styles/web/sass/core/helpers/_images.scss +++ /dev/null @@ -1,52 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Images - - Default Mendix Image Widgets -========================================================================== */ - -img.img-rounded, -.img-rounded img { - border-radius: 6px; -} - -img.img-thumbnail, -.img-thumbnail img { - display: inline-block; - max-width: 100%; - height: auto; - padding: 4px; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - border: 1px solid $brand-default; - border-radius: 4px; - background-color: #FFFFFF; - line-height: $line-height-base; -} - -img.img-circle, -.img-circle img { - border-radius: 50%; -} - -img.img-auto, -.img-auto img { - width: auto !important; - max-width: 100% !important; - height: auto !important; - max-height: 100% !important; -} - -img.img-center, -.img-center img { - margin-right: auto !important; - margin-left: auto !important; -} diff --git a/theme/styles/web/sass/core/helpers/_labels.scss b/theme/styles/web/sass/core/helpers/_labels.scss deleted file mode 100644 index ef798ba..0000000 --- a/theme/styles/web/sass/core/helpers/_labels.scss +++ /dev/null @@ -1,48 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Labels - -//== Design Properties -//## Helper classes to change the look and feel of the component -========================================================================== */ -// Color variations -.label-default { - color: $label-default-color; - background-color: $label-default-bg; -} - -.label-primary { - color: $label-primary-color; - background-color: $label-primary-bg; -} - -.label-success { - color: $label-success-color; - background-color: $label-success-bg; -} - -.label-inverse { - color: $label-inverse-color; - background-color: $label-inverse-bg; -} - -.label-info { - color: $label-info-color; - background-color: $label-info-bg; -} - -.label-warning { - color: $label-warning-color; - background-color: $label-warning-bg; -} - -.label-danger { - color: $label-danger-color; - background-color: $label-danger-bg; -} diff --git a/theme/styles/web/sass/core/helpers/_listview.scss b/theme/styles/web/sass/core/helpers/_listview.scss deleted file mode 100644 index f56a4f3..0000000 --- a/theme/styles/web/sass/core/helpers/_listview.scss +++ /dev/null @@ -1,302 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// -/* ========================================================================== - Listview - -//== Design Properties -//## Helper classes to change the look and feel of the component -========================================================================== */ -// Bordered -.listview-bordered.mx-listview { - & > ul > li { - border: 1px solid $grid-border-color; - border-top: 0; - - &:first-child { - border-top: 1px solid $grid-border-color; - border-radius: 0; - } - - &:last-child { - border-radius: 0; - } - } -} - -// Striped -.listview-striped.mx-listview { - & > ul > li:nth-child(2n + 1) { - background-color: $grid-bg-striped; - } -} - -// Items as seperated blocks -.listview-seperated.mx-listview { - & > ul > li { - margin-bottom: $gutter-size; - border-width: 1px; - border-style: solid; - border-radius: $border-radius-default; - } -} - -// Remove all styling -.listview-stylingless.mx-listview { - & > ul > li { - padding: 0; - cursor: default; - border: 0; - background-color: transparent; - - &:hover, - &:focus, - &:active { - background-color: transparent; - } - - &.selected { - background-color: transparent !important; - - &:hover, - &:focus, - &:active { - background-color: transparent !important; - } - } - } -} - -// Hover style activated -.listview-hover.mx-listview { - & > ul > li { - &:hover, - &:focus, - &:active { - background-color: $grid-bg-hover !important; - } - - &.selected { - &:hover, - &:focus, - &:active { - background-color: $grid-bg-selected-hover !important; - } - } - } -} - -// Templategrid Row Sizes -.listview-lg.mx-listview { - & > ul > li { - padding: ($grid-padding-top * 2) ($grid-padding-right * 2) ($grid-padding-bottom * 2) ($grid-padding-left * 2); - } -} - -.listview-sm.mx-listview { - & > ul > li { - padding: ($grid-padding-top / 2) ($grid-padding-right / 2) ($grid-padding-bottom / 2) ($grid-padding-left / 2); - } -} - -// Bootstrap columns -.mx-listview[class*='lv-col'] { - overflow: hidden; // For if it is not in a layout, to prevent scrollbars - & > ul { - display: block; // normal a table - margin-right: -1 * $gutter-size; - margin-left: -1 * $gutter-size; - - &::before, - &::after { - // clearfix - display: table; - clear: both; - content: ' '; - } - - & > li { - // bootstrap col - position: relative; - display: block; // normal a table - float: left; - min-height: 1px; - padding-right: $gutter-size; - padding-left: $gutter-size; - border: 0; - @media (max-width: $screen-md-max) { - width: 100% !important; - } - - & > .mx-dataview { - overflow: hidden; - } - } - } - - &.lv-col-xs-12 > ul > li { - width: 100% !important; - } - - &.lv-col-xs-11 > ul > li { - width: 91.66666667% !important; - } - - &.lv-col-xs-10 > ul > li { - width: 83.33333333% !important; - } - - &.lv-col-xs-9 > ul > li { - width: 75% !important; - } - - &.lv-col-xs-8 > ul > li { - width: 66.66666667% !important; - } - - &.lv-col-xs-7 > ul > li { - width: 58.33333333% !important; - } - - &.lv-col-xs-6 > ul > li { - width: 50% !important; - } - - &.lv-col-xs-5 > ul > li { - width: 41.66666667% !important; - } - - &.lv-col-xs-4 > ul > li { - width: 33.33333333% !important; - } - - &.lv-col-xs-3 > ul > li { - width: 25% !important; - } - - &.lv-col-xs-2 > ul > li { - width: 16.66666667% !important; - } - - &.lv-col-xs-1 > ul > li { - width: 8.33333333% !important; - } - - @media (min-width: $screen-md) { - &.lv-col-sm-12 > ul > li { - width: 100% !important; - } - &.lv-col-sm-11 > ul > li { - width: 91.66666667% !important; - } - &.lv-col-sm-10 > ul > li { - width: 83.33333333% !important; - } - &.lv-col-sm-9 > ul > li { - width: 75% !important; - } - &.lv-col-sm-8 > ul > li { - width: 66.66666667% !important; - } - &.lv-col-sm-7 > ul > li { - width: 58.33333333% !important; - } - &.lv-col-sm-6 > ul > li { - width: 50% !important; - } - &.lv-col-sm-5 > ul > li { - width: 41.66666667% !important; - } - &.lv-col-sm-4 > ul > li { - width: 33.33333333% !important; - } - &.lv-col-sm-3 > ul > li { - width: 25% !important; - } - &.lv-col-sm-2 > ul > li { - width: 16.66666667% !important; - } - &.lv-col-sm-1 > ul > li { - width: 8.33333333% !important; - } - } - @media (min-width: $screen-lg) { - &.lv-col-md-12 > ul > li { - width: 100% !important; - } - &.lv-col-md-11 > ul > li { - width: 91.66666667% !important; - } - &.lv-col-md-10 > ul > li { - width: 83.33333333% !important; - } - &.lv-col-md-9 > ul > li { - width: 75% !important; - } - &.lv-col-md-8 > ul > li { - width: 66.66666667% !important; - } - &.lv-col-md-7 > ul > li { - width: 58.33333333% !important; - } - &.lv-col-md-6 > ul > li { - width: 50% !important; - } - &.lv-col-md-5 > ul > li { - width: 41.66666667% !important; - } - &.lv-col-md-4 > ul > li { - width: 33.33333333% !important; - } - &.lv-col-md-3 > ul > li { - width: 25% !important; - } - &.lv-col-md-2 > ul > li { - width: 16.66666667% !important; - } - &.lv-col-md-1 > ul > li { - width: 16.66666667% !important; - } - } - @media (min-width: $screen-xl) { - &.lv-col-lg-12 > ul > li { - width: 100% !important; - } - &.lv-col-lg-11 > ul > li { - width: 91.66666667% !important; - } - &.lv-col-lg-10 > ul > li { - width: 83.33333333% !important; - } - &.lv-col-lg-9 > ul > li { - width: 75% !important; - } - &.lv-col-lg-8 > ul > li { - width: 66.66666667% !important; - } - &.lv-col-lg-7 > ul > li { - width: 58.33333333% !important; - } - &.lv-col-lg-6 > ul > li { - width: 50% !important; - } - &.lv-col-lg-5 > ul > li { - width: 41.66666667% !important; - } - &.lv-col-lg-4 > ul > li { - width: 33.33333333% !important; - } - &.lv-col-lg-3 > ul > li { - width: 25% !important; - } - &.lv-col-lg-2 > ul > li { - width: 16.66666667% !important; - } - &.lv-col-lg-1 > ul > li { - width: 8.33333333% !important; - } - } -} diff --git a/theme/styles/web/sass/core/helpers/_navigationbar.scss b/theme/styles/web/sass/core/helpers/_navigationbar.scss deleted file mode 100644 index b4fbad9..0000000 --- a/theme/styles/web/sass/core/helpers/_navigationbar.scss +++ /dev/null @@ -1,186 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Navigation - -//== Regions -//## Behavior in the different regions -========================================================================== */ -// When used in topbar -.region-topbar { - .mx-navbar { - background-color: $navtopbar-bg; - ul.nav { - /* Navigation item */ - & > li.mx-navbar-item > a { - color: $navtopbar-color; - font-size: $navtopbar-font-size; - - /* Dropdown arrow */ - .caret { - border-top-color: $navtopbar-color; - border-bottom-color: $navtopbar-color; - } - &:hover, - &:focus, - &.active { - color: $navtopbar-color-hover; - background-color: $navtopbar-bg-hover; - .caret { - border-top-color: $navtopbar-color-active; - border-bottom-color: $navtopbar-color-active; - } - } - &.active { - color: $navtopbar-color-active; - background-color: $navtopbar-bg-active; - } - - /* Dropdown */ - .mx-navbar-submenu::before { - border-color: transparent transparent $navtopbar-border-color transparent; - } - - // Image - .glyphicon { - font-size: $navtopbar-glyph-size; - } - } - - /* When hovering or the dropdown is open */ - & > .mx-navbar-item > a:hover, - & > .mx-navbar-item > a:focus, - & > .mx-navbar-item.active a, - & > .mx-navbar-item.open > a, - & > .mx-navbar-item.open > a:hover, - & > .mx-navbar-item.open > a:focus { - color: $navtopbar-color-hover; - background-color: $navtopbar-bg-hover; - .caret { - border-top-color: $navtopbar-color-hover; - border-bottom-color: $navtopbar-color-hover; - } - } - & > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a { - color: $navtopbar-sub-color-active; - background-color: $navtopbar-sub-bg-active; - .caret { - border-top-color: $navtopbar-sub-color-active; - border-bottom-color: $navtopbar-sub-color-active; - } - } - } - @media (max-width: $screen-md) { - ul.nav > li.mx-navbar-item > a { - } - .mx-navbar-item.open .dropdown-menu { - background-color: $navtopbar-sub-bg; - & > li.mx-navbar-subitem > a { - color: $navtopbar-sub-color; - font-size: $navtopbar-sub-font-size; - &:hover, - &:focus { - color: $navtopbar-sub-color-hover; - background-color: $navtopbar-sub-bg-hover; - } - &.active { - color: $navtopbar-sub-color-active; - background-color: $navtopbar-sub-bg-active; - } - } - } - } - } -} - -// When used in sidebar -.region-sidebar { - .mx-navbar { - background-color: $navsidebar-bg; - ul.nav { - /* Navigation item */ - & > li.mx-navbar-item > a { - color: $navsidebar-color; - font-size: $navsidebar-font-size; - - /* Dropdown arrow */ - .caret { - border-top-color: $navsidebar-color; - border-bottom-color: $navsidebar-color; - } - &:hover, - &:focus, - &.active { - color: $navsidebar-color-hover; - background-color: $navsidebar-bg-hover; - .caret { - border-top-color: $navsidebar-color-active; - border-bottom-color: $navsidebar-color-active; - } - } - &.active { - color: $navsidebar-color-active; - background-color: $navsidebar-bg-active; - } - - /* Dropdown */ - .mx-navbar-submenu::before { - border-color: transparent transparent $navsidebar-border-color transparent; - } - - // Image - .glyphicon { - font-size: $navsidebar-glyph-size; - } - } - - /* When hovering or the dropdown is open */ - & > .mx-navbar-item > a:hover, - & > .mx-navbar-item > a:focus, - & > .mx-navbar-item.active a, - & > .mx-navbar-item.open > a, - & > .mx-navbar-item.open > a:hover, - & > .mx-navbar-item.open > a:focus { - color: $navsidebar-color-hover; - background-color: $navsidebar-bg-hover; - .caret { - border-top-color: $navsidebar-color-hover; - border-bottom-color: $navsidebar-color-hover; - } - } - & > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a { - color: $navsidebar-sub-color-active; - background-color: $navsidebar-sub-bg-active; - .caret { - border-top-color: $navsidebar-sub-color-active; - border-bottom-color: $navsidebar-sub-color-active; - } - } - } - @media (max-width: $screen-md) { - ul.nav > li.mx-navbar-item > a { - } - .mx-navbar-item.open .dropdown-menu { - background-color: $navtopbar-sub-bg; - & > li.mx-navbar-subitem > a { - color: $navsidebar-sub-color; - font-size: $navsidebar-sub-font-size; - &:hover, - &:focus { - color: $navsidebar-sub-color-hover; - background-color: $navsidebar-sub-bg-hover; - } - &.active { - color: $navsidebar-sub-color-active; - background-color: $navsidebar-sub-bg-active; - } - } - } - } - } -} diff --git a/theme/styles/web/sass/core/helpers/_navigationtree.scss b/theme/styles/web/sass/core/helpers/_navigationtree.scss deleted file mode 100644 index 9037dbc..0000000 --- a/theme/styles/web/sass/core/helpers/_navigationtree.scss +++ /dev/null @@ -1,166 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Navigation - -//== Regions -//## Behavior in the different regions -========================================================================== */ -// When used in topbar -.region-topbar { - .mx-navigationtree { - background-color: $navtopbar-bg; - .navbar-inner > ul { - & > li { - & > a { - color: $navtopbar-color; - border-color: $navtopbar-border-color; - background-color: $navtopbar-bg; - font-size: $navtopbar-font-size; - .caret { - border-top-color: $navtopbar-color; - border-bottom-color: $navtopbar-color; - } - - .glyphicon { - font-size: $navtopbar-glyph-size; - } - } - a:hover, - a:focus, - a.active { - color: $navtopbar-color-hover; - background-color: $navtopbar-bg-hover; - .caret { - border-top-color: $navtopbar-color-active; - border-bottom-color: $navtopbar-color-active; - } - } - a.active { - color: $navtopbar-color-active; - border-left-color: $navtopbar-color-active; - background-color: $navtopbar-bg-active; - } - } - } - - /* Sub navigation item specific */ - li.mx-navigationtree-has-items { - & > ul { - background-color: $navtopbar-sub-bg; - li { - a { - color: $navtopbar-sub-color; - background-color: $navtopbar-sub-bg; - font-size: $navtopbar-sub-font-size; - &:hover, - &:focus, - &.active { - color: $navtopbar-sub-color-hover; - background-color: $navtopbar-sub-bg-hover; - } - &.active { - color: $navtopbar-sub-color-active; - background-color: $navtopbar-sub-bg-active; - } - } - } - } - } - } -} - -// When used in sidebar -.region-sidebar { - .mx-navigationtree { - background-color: $navsidebar-bg; - .navbar-inner > ul { - & > li { - & > a { - color: $navsidebar-color; - border-color: $navsidebar-border-color; - background-color: $navsidebar-bg; - font-size: $navsidebar-font-size; - .caret { - border-top-color: $navsidebar-color; - border-bottom-color: $navsidebar-color; - } - - .glyphicon { - font-size: $navsidebar-glyph-size; - } - } - a:hover, - a:focus, - a.active { - color: $navsidebar-color-hover; - background-color: $navsidebar-bg-hover; - .caret { - border-top-color: $navsidebar-color-active; - border-bottom-color: $navsidebar-color-active; - } - } - a.active { - color: $navsidebar-color-active; - border-left-color: $navsidebar-color-active; - background-color: $navsidebar-bg-active; - } - } - } - - /* Sub navigation item specific */ - li.mx-navigationtree-has-items { - & > ul { - background-color: $navsidebar-sub-bg; - li { - a { - color: $navsidebar-sub-color; - background-color: $navsidebar-sub-bg; - font-size: $navsidebar-sub-font-size; - &:hover, - &:focus, - &.active { - color: $navsidebar-sub-color-hover; - background-color: $navsidebar-sub-bg-hover; - } - &.active { - color: $navsidebar-sub-color-active; - background-color: $navsidebar-sub-bg-active; - } - } - } - } - } - } -} - - -//== Design Properties -//## Helper classes to change the look and feel of the component -//-------------------------------------------------------------------------------------------------------------------// -// Content Centerd text and icons -.nav-content-center-text-icons.mx-navigationtree { - .navbar-inner ul { - a { - flex-direction: column; - justify-content: center; - .glyphicon { - margin: 0 0 5px 0; - } - } - } -} - -// Content Centerd icons only -.nav-content-center.mx-navigationtree { - .navbar-inner ul { - a { - justify-content: center; - } - } -} diff --git a/theme/styles/web/sass/core/helpers/_simplemenubar.scss b/theme/styles/web/sass/core/helpers/_simplemenubar.scss deleted file mode 100644 index 1c6eaa8..0000000 --- a/theme/styles/web/sass/core/helpers/_simplemenubar.scss +++ /dev/null @@ -1,36 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Navigation - -//== Design Properties -//## Helper classes to change the look and feel of the component -========================================================================== */ -// Center text and icons -.bottom-nav-text-icons.mx-menubar { - ul.mx-menubar-list { - li.mx-menubar-item { - a { - flex-direction: column; - padding: 8px 8px 6px 8px; - line-height: normal; - font-size: 11px; - .glyphicon { - display: block; - margin: 0 0 5px 0; - font-size: 18px; - } - img { - display: block; - height: 18px; - margin: 0 0 5px 0; - } - } - } - } -} diff --git a/theme/styles/web/sass/core/helpers/_tabcontainer.scss b/theme/styles/web/sass/core/helpers/_tabcontainer.scss deleted file mode 100644 index 727c236..0000000 --- a/theme/styles/web/sass/core/helpers/_tabcontainer.scss +++ /dev/null @@ -1,164 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Tab Container - -//== Design Properties -//## Helper classes to change the look and feel of the component -========================================================================== */ -// Style as pills -.tab-pills.mx-tabcontainer { - & > .mx-tabcontainer-tabs { - border: 0; - & > li > a { - margin-right: 2px; - color: $tabs-color; - border: 1px solid $tabs-border-color; - border-radius: 4px; - &:hover, - &:focus { - background-color: $tabs-bg-hover; - } - } - & > li.active > a, - & > li.active > a:hover, - & > li.active > a:focus { - color: #FFFFFF; - border-color: $tabs-bg-active; - background-color: $tabs-bg-active; - } - } -} - -// Style with lines -.tab-lined.mx-tabcontainer { - & > .mx-tabcontainer-tabs { - border-width: 3px; - li { - margin-right: 30px; - margin-bottom: -3px; - & > a { - padding: 10px 0; - color: $tabs-color; - border: 0; - border-style: solid; - border-color: transparent; - border-bottom-width: 3px; - border-radius: 0; - &:hover, - &:focus { - color: $tabs-color; - border: 0; - border-color: transparent; - background: transparent; - } - } - &.active > a, - &.active > a:hover, - &.active > a:focus { - color: $tabs-lined-color-active; - border: 0; - border-bottom: 3px solid $tabs-lined-border-color; - background-color: transparent; - } - } - } -} - -// Justified style -// Lets your tabs take 100% of the width -.tab-justified.mx-tabcontainer { - & > .mx-tabcontainer-tabs { - width: 100%; - border-bottom: 0; - & > li { - display: table-cell; - float: none; - width: 1%; - margin: 0; - @media (max-width: $screen-sm-max) { - display: block; - width: 100%; - } - & > a { - text-align: center; - border-bottom: 1px solid $tabs-border-color; - } - } - & > li.active > a { - border-bottom-color: transparent; - border-radius: 4px; - @media (max-width: $screen-sm-max) { - border-bottom-color: $tabs-border-color; - } - } - } -} - -// Bordered -.tab-bordered.mx-tabcontainer { - & > .mx-tabcontainer-tabs { - margin: 0; - } - & > .mx-tabcontainer-content { - padding: 10px; - border-width: 0 1px 1px 1px; - border-style: solid; - border-color: $tabs-border-color; - background-color: #FFFFFF; - } -} - -// Wizard -.tab-wizard.mx-tabcontainer { - & > .mx-tabcontainer-tabs { - position: relative; - display: flex; - justify-content: space-between; - border-style: none; - - &::before { - position: absolute; - top: 16px; - display: block; - width: 100%; - height: 1px; - content: ""; - background-color: $tabs-border-color; - } - & > li { - position: relative; - float: none; - width: 100%; - text-align: center; - & > a { - width: 33px; - height: 33px; - margin: auto; - padding: 0; - text-align: center; - color: $brand-default; - border: 1px solid $tabs-border-color; - border-radius: 100%; - background-color: #FFFFFF; - font-size: 18px; - font-weight: bold; - line-height: 33px; - } - &.active { - & > a, - & > a:hover, - & > a:focus { - color: #FFFFFF; - border-color: $tabs-bg-active; - background-color: $tabs-bg-active; - } - } - } - } -} diff --git a/theme/styles/web/sass/core/helpers/_tables.scss b/theme/styles/web/sass/core/helpers/_tables.scss deleted file mode 100644 index b81f803..0000000 --- a/theme/styles/web/sass/core/helpers/_tables.scss +++ /dev/null @@ -1,206 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Tables - -//== Design Properties -//## Helper classes to change the look and feel of the component -========================================================================== */ -// Lined -table.table-lined.mx-table { - > tbody { - // Table row - > tr { - // Table header - // Table data - > td { - border-width: 1px 0; - border-style: solid; - border-color: $grid-border-color; - } - } - } -} - -// Bordered -table.table-bordered.mx-table { - > tbody { - // Table row - > tr { - // Table header - // Table data - > th, - > td { - border-width: 1px; - border-style: solid; - border-color: $grid-border-color; - } - } - } -} - -// Makes table compact -table.table-compact.mx-table { - > tbody { - // Table row - > tr { - // Table header - // Table data - > th, - > td { - padding-top: 2px; - padding-bottom: 2px; - } - } - } -} - -// Remove padding on sides -table.table-sideless.mx-table { - > tbody { - // Table row - > tr { - // Table header - // Table data - > td, - > th { - padding-right: 0; - } - > th:first-child, - > td:first-child { - padding-left: 0; - } - } - } -} - -// Remove all padding -table.table-spaceless.mx-table { - > tbody { - // Table row - > tr { - // Table header - // Table data - > th, - > td { - padding: 0; - } - } - } -} - -// Tables Vertical -// Will remove unwanted paddings -table.table-vertical.mx-table { - > tbody { - // Table row - > tr { - // Table header - > th { - padding-bottom: 0; - > label { - padding: 0; - } - > div > label { - padding: 0; - } - } - } - } -} - -// Align content in middle -table.table-align-vertical-middle.mx-table { - > tbody { - // Table row - > tr { - // Table header - // Table data - > th, - > td { - vertical-align: middle; - } - } - } -} - -// Compact labels -table.table-label-compact.mx-table { - > tbody { - // Table row - > tr { - // Table header - // Table data - > th, - > td { - > label { - margin: 0; - padding: 0; - } - > div > label, - .mx-referenceselector-input-wrapper label { - margin: 0; - padding: 0; - } - } - } - } -} - -$height-row-s: 55px; -$height-row-m: 70px; -$height-row-l: 120px; -// Small rows -table.table-row-s.mx-table { - > tbody { - // Table row - > tr { - // Table header - // Table data - > th, - > td { - height: $height-row-s; - } - } - } -} - -// Medium rows -table.table-row-m.mx-table { - > tbody { - // Table row - > tr { - // Table header - // Table data - > th, - > td { - height: $height-row-m; - } - } - } -} - -// Large rows -table.table-row-l.mx-table { - > tbody { - // Table row - > tr { - // Table header - // Table data - > th, - > td { - height: $height-row-l; - } - } - } -} - -// Makes the columns fixed -table.table-fixed { - table-layout: fixed; -} diff --git a/theme/styles/web/sass/core/helpers/_templategrids.scss b/theme/styles/web/sass/core/helpers/_templategrids.scss deleted file mode 100644 index 3cfa01c..0000000 --- a/theme/styles/web/sass/core/helpers/_templategrids.scss +++ /dev/null @@ -1,304 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// -/* ========================================================================== - Templategrid - -//== Design Properties -//## Helper classes to change the look and feel of the component -========================================================================== */ -// Make sure your content looks selectable -.templategrid-selectable.mx-templategrid { - .mx-templategrid-item { - cursor: pointer; - } -} - -// Lined -.templategrid-lined.mx-templategrid { - .mx-grid-content { - border-top-width: 2px; - border-top-style: solid; - border-top-color: $grid-border-color; - } - - .mx-templategrid-item { - border-top: 1px solid $grid-border-color; - border-right: none; - border-bottom: 1px solid $grid-border-color; - border-left: none; - } -} - -// Striped -.templategrid-striped.mx-templategrid { - .mx-templategrid-row:nth-child(odd) .mx-templategrid-item { - background-color: #F9F9F9; - } -} - -// Stylingless -.templategrid-stylingless.mx-templategrid { - .mx-templategrid-item { - padding: 0; - cursor: default; - border: 0; - background-color: transparent; - - &:hover { - background-color: transparent; - } - - &.selected { - background-color: transparent !important; - - &:hover { - background-color: transparent !important; - } - } - } -} - -// Transparent items -.templategrid-transparent.mx-templategrid { - .mx-templategrid-item { - border: 0; - background-color: transparent; - } -} - -// Hover -.templategrid-hover.mx-templategrid { - .mx-templategrid-item { - &:hover { - background-color: $grid-bg-hover !important; - } - - &.selected { - background-color: $grid-bg-selected !important; - - &:hover { - background-color: $grid-bg-selected-hover !important; - } - } - } -} - -// Templategrid Row Sizes -.templategrid-lg.mx-templategrid { - .mx-templategrid-item { - padding: ($grid-padding-top * 2) ($grid-padding-right * 2) ($grid-padding-bottom * 2) ($grid-padding-left * 2); - } -} - -.templategrid-sm.mx-templategrid { - .mx-templategrid-item { - padding: ($grid-padding-top / 2) ($grid-padding-right / 2) ($grid-padding-bottom / 2) ($grid-padding-left / 2); - } -} - -// Templategrid Layoutgrid styles -.mx-templategrid[class*="tg-col"] { - overflow: hidden; // For if it is not in a layout, to prevent scrollbars - .mx-templategrid-content-wrapper { - display: block; - } - - .mx-templategrid-row { - display: block; - margin-right: -1 * $gutter-size; - margin-left: -1 * $gutter-size; - - &::before, - &::after { - // clearfix - display: table; - clear: both; - content: " "; - } - } - - .mx-templategrid-item { - // bootstrap col - position: relative; - display: block; - float: left; - min-height: 1px; - padding-right: $gutter-size; - padding-left: $gutter-size; - border: 0; - @media (max-width: 992px) { - width: 100% !important; - } - - .mx-dataview { - overflow: hidden; - } - } - - &.tg-col-xs-12 .mx-templategrid-item { - width: 100% !important; - } - - &.tg-col-xs-11 .mx-templategrid-item { - width: 91.66666667% !important; - } - - &.tg-col-xs-10 .mx-templategrid-item { - width: 83.33333333% !important; - } - - &.tg-col-xs-9 .mx-templategrid-item { - width: 75% !important; - } - - &.tg-col-xs-8 .mx-templategrid-item { - width: 66.66666667% !important; - } - - &.tg-col-xs-7 .mx-templategrid-item { - width: 58.33333333% !important; - } - - &.tg-col-xs-6 .mx-templategrid-item { - width: 50% !important; - } - - &.tg-col-xs-5 .mx-templategrid-item { - width: 41.66666667% !important; - } - - &.tg-col-xs-4 .mx-templategrid-item { - width: 33.33333333% !important; - } - - &.tg-col-xs-3 .mx-templategrid-item { - width: 25% !important; - } - - &.tg-col-xs-2 .mx-templategrid-item { - width: 16.66666667% !important; - } - - &.tg-col-xs-1 .mx-templategrid-item { - width: 8.33333333% !important; - } - - @media (min-width: 768px) { - &.tg-col-sm-12 .mx-templategrid-item { - width: 100% !important; - } - &.tg-col-sm-11 .mx-templategrid-item { - width: 91.66666667% !important; - } - &.tg-col-sm-10 .mx-templategrid-item { - width: 83.33333333% !important; - } - &.tg-col-sm-9 .mx-templategrid-item { - width: 75% !important; - } - &.tg-col-sm-8 .mx-templategrid-item { - width: 66.66666667% !important; - } - &.tg-col-sm-7 .mx-templategrid-item { - width: 58.33333333% !important; - } - &.tg-col-sm-6 .mx-templategrid-item { - width: 50% !important; - } - &.tg-col-sm-5 .mx-templategrid-item { - width: 41.66666667% !important; - } - &.tg-col-sm-4 .mx-templategrid-item { - width: 33.33333333% !important; - } - &.tg-col-sm-3 .mx-templategrid-item { - width: 25% !important; - } - &.tg-col-sm-2 .mx-templategrid-item { - width: 16.66666667% !important; - } - &.tg-col-sm-1 .mx-templategrid-item { - width: 8.33333333% !important; - } - } - @media (min-width: 992px) { - &.tg-col-md-12 .mx-templategrid-item { - width: 100% !important; - } - &.tg-col-md-11 .mx-templategrid-item { - width: 91.66666667% !important; - } - &.tg-col-md-10 .mx-templategrid-item { - width: 83.33333333% !important; - } - &.tg-col-md-9 .mx-templategrid-item { - width: 75% !important; - } - &.tg-col-md-8 .mx-templategrid-item { - width: 66.66666667% !important; - } - &.tg-col-md-7 .mx-templategrid-item { - width: 58.33333333% !important; - } - &.tg-col-md-6 .mx-templategrid-item { - width: 50% !important; - } - &.tg-col-md-5 .mx-templategrid-item { - width: 41.66666667% !important; - } - &.tg-col-md-4 .mx-templategrid-item { - width: 33.33333333% !important; - } - &.tg-col-md-3 .mx-templategrid-item { - width: 25% !important; - } - &.tg-col-md-2 .mx-templategrid-item { - width: 16.66666667% !important; - } - &.tg-col-md-1 .mx-templategrid-item { - width: 8.33333333% !important; - } - } - @media (min-width: 1200px) { - &.tg-col-lg-12 .mx-templategrid-item { - width: 100% !important; - } - &.tg-col-lg-11 .mx-templategrid-item { - width: 91.66666667% !important; - } - &.tg-col-lg-10 .mx-templategrid-item { - width: 83.33333333% !important; - } - &.tg-col-lg-9 .mx-templategrid-item { - width: 75% !important; - } - &.tg-col-lg-8 .mx-templategrid-item { - width: 66.66666667% !important; - } - &.tg-col-lg-7 .mx-templategrid-item { - width: 58.33333333% !important; - } - &.tg-col-lg-6 .mx-templategrid-item { - width: 50% !important; - } - &.tg-col-lg-5 .mx-templategrid-item { - width: 41.66666667% !important; - } - &.tg-col-lg-4 .mx-templategrid-item { - width: 33.33333333% !important; - } - &.tg-col-lg-3 .mx-templategrid-item { - width: 25% !important; - } - &.tg-col-lg-2 .mx-templategrid-item { - width: 16.66666667% !important; - } - &.tg-col-lg-1 .mx-templategrid-item { - width: 8.33333333% !important; - } - } -} diff --git a/theme/styles/web/sass/core/helpers/_typography.scss b/theme/styles/web/sass/core/helpers/_typography.scss deleted file mode 100644 index cab8b63..0000000 --- a/theme/styles/web/sass/core/helpers/_typography.scss +++ /dev/null @@ -1,135 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Typography - -//== Design Properties -//## Helper classes to change the look and feel of the component -========================================================================== */ -// Text size -.text-small { - font-size: $font-size-small !important; -} - -.text-large { - font-size: $font-size-large !important; -} - -// Text Weights -.text-light, -.text-light > *, -.text-light label { - font-weight: $font-weight-light !important; -} - -.text-normal, -.text-normal > *, -.text-normal label { - font-weight: $font-weight-normal !important; -} - -.text-semibold, -.text-semibold > *, -.text-semibold label { - font-weight: $font-weight-semibold !important; -} - -.text-bold, -.text-bold > *, -.text-bold label { - font-weight: $font-weight-bold !important; -} - -// Color variations -.text-default, -.text-default:hover { - color: $font-color-default !important; -} - -.text-primary, -.text-primary:hover { - color: $brand-primary !important; -} - -.text-info, -.text-info:hover { - color: $brand-info !important; -} - -.text-success, -.text-success:hover { - color: $brand-success !important; -} - -.text-warning, -.text-warning:hover { - color: $brand-warning !important; -} - -.text-danger, -.text-danger:hover { - color: $brand-danger !important; -} - -.text-header { - color: $font-color-header !important; -} - -.text-detail { - color: $font-color-detail !important; -} - -.text-white { - color: #ffffff; -} - -// Alignment options -.text-left { - text-align: left !important; -} -.text-center { - text-align: center !important; -} -.text-right { - text-align: right !important; -} -.text-justify { - text-align: justify !important; -} - -// Transform options -.text-lowercase { - text-transform: lowercase !important; -} -.text-uppercase { - text-transform: uppercase !important; -} -.text-capitalize { - text-transform: capitalize !important; -} - -// Wrap options -.text-break { - word-break: break-all !important; - word-break: break-word !important; - -ms-word-break: break-all !important; - -webkit-hyphens: auto !important; - -moz-hyphens: auto !important; - hyphens: auto !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -.text-nowrap { - overflow: hidden !important; - max-width: 100% !important; - white-space: nowrap !important; - text-overflow: ellipsis !important; -} diff --git a/theme/styles/web/sass/core/widgets/_alerts.scss b/theme/styles/web/sass/core/widgets/_alerts.scss deleted file mode 100644 index 006ae6a..0000000 --- a/theme/styles/web/sass/core/widgets/_alerts.scss +++ /dev/null @@ -1,19 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Alerts - - Default Bootstrap Alert boxes. Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages -========================================================================== */ - -.alert { - margin-top: 0; // want to align it with padding of a page - padding: 15px; - border: 0; - border-radius: 4px; -} diff --git a/theme/styles/web/sass/core/widgets/_buttons.scss b/theme/styles/web/sass/core/widgets/_buttons.scss deleted file mode 100644 index c5cc4d0..0000000 --- a/theme/styles/web/sass/core/widgets/_buttons.scss +++ /dev/null @@ -1,96 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Buttons - - Default Bootstrap and Mendix Buttons -========================================================================== */ - -.btn, -.mx-button { - display: inline-block; - margin-bottom: 0; - padding: 0.6em 1em; - cursor: pointer; - -moz-user-select: none; - -ms-user-select: none; - -webkit-user-select: none; - user-select: none; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - -webkit-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - text-align: center; - vertical-align: middle; - white-space: nowrap; - color: $btn-default-color; - border: 1px solid $btn-default-border-color; - border-radius: $btn-border-radius; - background-color: $btn-default-bg; - background-image: none; - box-shadow: none; - text-shadow: none; - font-size: $btn-font-size; - line-height: $line-height-base; - - &:hover, - &:focus, - &:active, - &:active:focus { - outline: none; - box-shadow: none; - } - - &[aria-disabled] { - cursor: not-allowed; - pointer-events: none; - opacity: 0.65; - filter: alpha(opacity=65); - } - - @if $btn-bordered != false { - @extend .btn-bordered; - } -} - -// Mendix button link -.mx-link { - padding: 0; - color: $link-color; - - &[aria-disabled='true'] { - cursor: not-allowed; - pointer-events: none; - opacity: 0.65; - filter: alpha(opacity=65); - } -} - -// Images and icons in buttons -.btn, -.mx-button, -.mx-link { - img { - //height: auto; // MXUI override who set the height on 16px default - height: $font-size-default + 4px; - margin-right: 5px; - vertical-align: text-top; - } -} - -//== Phone specific -//-------------------------------------------------------------------------------------------------------------------// -.profile-phone { - .btn, - .mx-link { - &:active { - -webkit-transform: translateY(1px); - transform: translateY(1px); - } - } -} diff --git a/theme/styles/web/sass/core/widgets/_checkbox.scss b/theme/styles/web/sass/core/widgets/_checkbox.scss deleted file mode 100644 index 5534c72..0000000 --- a/theme/styles/web/sass/core/widgets/_checkbox.scss +++ /dev/null @@ -1,112 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Checkbox - - Default Mendix Checkbox Widget -========================================================================== */ - -.mx-checkbox.label-after { - flex-wrap: wrap; - - .control-label { - padding: 0; - } -} - -input[type='checkbox'] { - position: relative !important; //Remove after mxui merge - width: 16px; - height: 16px; - margin: 0 !important; // Remove after mxui merge - cursor: pointer; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - -webkit-user-select: none; - user-select: none; - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - - - &::-ms-check { - color: $form-input-border-color; - border-color: $form-input-border-color; - border-radius: $form-input-border-radius; - background-color: $form-input-bg; - } - - &:focus::-ms-check, - &:checked::-ms-check { - color: $form-input-border-focus-color; - border-color: $form-input-border-focus-color; - background-color: $form-input-bg-focus; - } - - &:before, - &:after { - position: absolute; - display: block; - transition: all 0.3s ease; - } - - &:before { - // Checkbox - width: 100%; - height: 100%; - content: ''; - border: 1px solid $form-input-border-color; - border-radius: $form-input-border-radius; - background-color: transparent; - } - - &:after { - // Checkmark - width: 8px; - height: 4px; - margin: 5px 4px; - transform: rotate(-45deg); - pointer-events: none; - border: 2px solid #FFFFFF; - border-top: 0; - border-right: 0; - } - - &:not(:disabled):not(:checked):hover:after { - content: ''; - border-color: $form-input-bg-hover; // color of checkmark on hover - } - - &:checked:before { - border-color: $form-input-border-focus-color; - background-color: $form-input-border-focus-color; - } - - &:checked:after { - content: ''; - } - - &:disabled:before { - background-color: $form-input-bg-disabled; - } - - &:checked:disabled:before { - border-color: transparent; - background-color: rgba($form-input-border-focus-color, 0.4); - } - - &:disabled:after, - &:checked:disabled:after { - border-color: $form-input-bg-disabled; - } - - & + .control-label { - margin-left: $form-label-gutter; - } -} diff --git a/theme/styles/web/sass/core/widgets/_datagrids.scss b/theme/styles/web/sass/core/widgets/_datagrids.scss deleted file mode 100644 index f0c1bdf..0000000 --- a/theme/styles/web/sass/core/widgets/_datagrids.scss +++ /dev/null @@ -1,76 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Datagrid Default - - Default Mendix Datagrid Widget. The datagrid shows a list of objects in a grid -========================================================================== */ - -.mx-datagrid { - table { - border-width: 0; - background-color: transparent; - /* Table header */ - th { - border-style: solid; - border-color: $grid-border-color; - border-top-width: 0; - border-right: 0; - border-bottom-width: 1px; - border-left: 0; - background-color: $grid-bg-header; - padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left; - vertical-align: middle; - .mx-datagrid-head-caption { - white-space: normal; - } - } - /* Table Body */ - tbody tr { - td { - @include transition(); - padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left; - vertical-align: middle; - border-width: 0; - border-color: $grid-border-color; - border-bottom-width: 1px; - border-bottom-style: solid; - background-color: $grid-bg; - &:focus { - outline: none; - } - /* Text without spaces */ - .mx-datagrid-data-wrapper { - text-overflow: ellipsis; - } - } - &.selected td, - &.selected:hover td { - color: $grid-selected-color; - background-color: $grid-bg-selected !important; - } - } - /* Table Footer */ - tfoot { - > tr > th { - padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left; - border-width: 0; - background-color: $grid-footer-bg; - } - > tr > td { - padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left; - border-width: 0; - background-color: $grid-bg; - font-weight: $font-weight-bold; - } - } - & *:focus { - outline: 0; - } - } -} \ No newline at end of file diff --git a/theme/styles/web/sass/core/widgets/_dataview.scss b/theme/styles/web/sass/core/widgets/_dataview.scss deleted file mode 100644 index bd4199d..0000000 --- a/theme/styles/web/sass/core/widgets/_dataview.scss +++ /dev/null @@ -1,45 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Dataview - - Default Mendix Dataview Widget. The data view is used for showing the contents of exactly one object -========================================================================== */ - -.mx-dataview { - /* Control bar */ - .mx-dataview-controls { - // Needed to clear the bootstrap columns (get float: left) - clear: both; - margin-top: 10px; - padding: 8px 0; - border-top: 1px solid $dataview-controls-border-color; - border-radius: 0; - background-color: $dataview-controls-bg; - /* Buttons */ - .mx-button { - margin-right: 0.3em; - margin-bottom: 0; - &:last-child { - margin-right: 0; - } - } - } - /* Dataview-content gives problems for nexted layout grid containers */ - > .mx-dataview-content > .mx-container-nested { - > .row { - margin-right: 0; - margin-left: 0; - } - } - /* Dataview empty message */ - .mx-dataview-message { - color: $dataview-emptymessage-color; - background: $dataview-emptymessage-bg; - } -} diff --git a/theme/styles/web/sass/core/widgets/_datepicker.scss b/theme/styles/web/sass/core/widgets/_datepicker.scss deleted file mode 100644 index 6f30417..0000000 --- a/theme/styles/web/sass/core/widgets/_datepicker.scss +++ /dev/null @@ -1,117 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Date Picker - - Default Mendix Date Picker Widget. -========================================================================== */ - -.mx-calendar { - /* (must be higher than popup z-index) */ - z-index: 10010 !important; - padding: 10px; - font-size: 12px; - background: $bg-color; - border-radius: $border-radius-default; - border: 1px solid $border-color-default; - box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.06); - .mx-calendar-month-header { - display: flex; - flex-direction: row; - justify-content: space-between; - margin: 0 3px 10px 3px; - } - .mx-calendar-month-next, - .mx-calendar-month-previous, - .mx-calendar-month-dropdown { - border: 0; - cursor: pointer; - background: transparent; - } - .mx-calendar-month-next, - .mx-calendar-month-previous { - &:hover { - color: $brand-primary; - } - } - .mx-calendar-month-dropdown { - display: flex; - align-items: center; - justify-content: center; - position: relative; - .mx-calendar-month-current:first-child { - margin-right: 10px; - } - } - th { - color: $brand-primary; - } - th, - td { - width: 35px; - height: 35px; - text-align: center; - } - td { - color: $font-color-default; - - &:hover { - cursor: pointer; - border-radius: 50%; - color: $brand-primary; - background-color: $brand-default; - } - } - .mx-calendar-day-month-next, - .mx-calendar-day-month-previous { - color: lighten($font-color-default, 45%); - } - .mx-calendar-day-selected, - .mx-calendar-day-selected:hover { - color: #fff; - border-radius: 50%; - background: $brand-primary; - } - - // - - .mx-calendar-year-switcher { - text-align: center; - margin-top: 10px; - color: lighten($brand-primary, 30%); - span.mx-calendar-year-selected { - color: $brand-primary; - margin-left: 10px; - margin-right: 10px; - } - span:hover { - cursor: pointer; - text-decoration: underline; - background-color: transparent; - } - } -} - -.mx-calendar-month-dropdown-options { - /* (must be higher than popup z-index) */ - z-index: 10020 !important; - position: absolute; - top: 25px; - padding: 2px 10px; - border-radius: $border-radius-default; - background-color: $bg-color; - div { - cursor: pointer; - font-size: 12px; - padding: 2px 0; - &:hover, - &:focus { - color: $brand-primary; - } - } -} diff --git a/theme/styles/web/sass/core/widgets/_glyphicons.scss b/theme/styles/web/sass/core/widgets/_glyphicons.scss deleted file mode 100644 index dccd16f..0000000 --- a/theme/styles/web/sass/core/widgets/_glyphicons.scss +++ /dev/null @@ -1,27 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Glyphicons - - Default Mendix Glyphicons -========================================================================== */ - -.mx-glyphicon { - &:before { - display: inline-block; - margin-top: -0.2em; - margin-right: 0.4555555em; - vertical-align: middle; - font-family: "Glyphicons Halflings"; - font-weight: $font-weight-normal; - font-style: normal; - line-height: inherit; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - } -} diff --git a/theme/styles/web/sass/core/widgets/_grid.scss b/theme/styles/web/sass/core/widgets/_grid.scss deleted file mode 100644 index 8bbf4ac..0000000 --- a/theme/styles/web/sass/core/widgets/_grid.scss +++ /dev/null @@ -1,72 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Grid - - Default Mendix Grid (used for Mendix Datagrid) -========================================================================== */ - -.mx-grid { - padding: 0px; - border: 0; - border-radius: 0; - .mx-grid-controlbar { - margin: 10px 0; - /* Paging */ - .mx-grid-pagingbar { - /* Buttons */ - .mx-button { - padding: 6px; - color: $grid-paging-color; - border-color: $grid-paging-border-color; - background-color: $grid-paging-bg; - &:hover { - color: $grid-paging-color-hover; - border-color: $grid-paging-border-color-hover; - background-color: $grid-paging-bg-hover; - } - } - /* Text Paging .. to .. to .. */ - .mx-grid-paging-status { - padding: 0 8px 8px; - } - } - } - .mx-grid-searchbar { - margin: 10px 0; - .mx-grid-search-item { - .mx-grid-search-label { - vertical-align: middle; - label { - padding-top: 5px; - } - } - .mx-grid-search-input { - display: inline-flex; - .form-control { - height: 28px; - font-size: 11px; - } - select.form-control { - padding: 3px; - vertical-align: middle; - } - .mx-button { - height: 28px; - padding-top: 2px; - padding-bottom: 2px; - } - } - } - } -} - -// Remove default border from grid inside a Mendix Dataview -.mx-dataview .mx-grid { - border: 0; -} diff --git a/theme/styles/web/sass/core/widgets/_groupbox.scss b/theme/styles/web/sass/core/widgets/_groupbox.scss deleted file mode 100644 index ab304dc..0000000 --- a/theme/styles/web/sass/core/widgets/_groupbox.scss +++ /dev/null @@ -1,40 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Groupbox - - Default Mendix Groupboxes -========================================================================== */ - -.mx-groupbox { - margin: 0; - > .mx-groupbox-header { - margin: 0; - color: $groupbox-default-color; - border-width: 1px 1px 0 1px; - border-style: solid; - border-color: $groupbox-default-bg; - background: $groupbox-default-bg; - font-size: $font-size-h5; - .mx-groupbox-collapse-icon { - margin-top: 0.1em; - } - } - > .mx-groupbox-body { - padding: 10px 15px; - border-width: 1px; - border-style: solid; - border-color: $groupbox-default-bg; - background-color: #FFFFFF; - } - .mx-groupbox-header + .mx-groupbox-body { - border-top: none; - } - &.collapsed > .mx-groupbox-header { - } -} \ No newline at end of file diff --git a/theme/styles/web/sass/core/widgets/_header.scss b/theme/styles/web/sass/core/widgets/_header.scss deleted file mode 100644 index b85e1ae..0000000 --- a/theme/styles/web/sass/core/widgets/_header.scss +++ /dev/null @@ -1,116 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Header - - Default Mendix Mobile Header -========================================================================== */ - -.mx-header { - z-index: 100; - display: flex; - width: 100%; - height: $m-header-height; - padding: 0; - text-align: initial; - color: $m-header-color; - border-bottom: 1px solid $border-color-default; - background-color: $m-header-bg; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.14); - - // Reset mxui - div.mx-header-left, - div.mx-header-right { - position: relative; - top: initial; - right: initial; - left: initial; - display: flex; - align-items: center; - width: 25%; - height: 100%; - .mx-placeholder { - display: flex; - align-items: center; - height: 100%; - } - } - - div.mx-header-left .mx-placeholder { - order: 1; - .mx-placeholder { - justify-content: flex-start; - } - } - div.mx-header-center { - overflow: hidden; - flex: 1; - order: 2; - text-align: center; - - .mx-title { - overflow: hidden; - width: 100%; - margin: 0; - text-overflow: ellipsis; - color: $m-header-color; - font-size: $m-header-title-size; - line-height: $m-header-height; - } - } - div.mx-header-right { - order: 3; - .mx-placeholder { - justify-content: flex-end; - } - } - - // Content magic - .mx-link { - display: flex; - align-items: center; - height: 100%; - -webkit-transition: all 0.2s; - -moz-transition: all 0.2s; - transition: all 0.2s; - text-decoration: none; - .glyphicon { - top: 0; - font-size: 23px; - } - &:active { - -webkit-transform: translateY(1px); - transform: translateY(1px); - color: $link-hover-color; - } - } - - .mx-link, - .btn, - img { - padding: 0 8px; - } - - .mx-sidebartoggle { - font-size: 24px; - line-height: $m-header-height; - img { - height: 20px; - } - } -} - -// RTL support -body[dir='rtl'] { - .mx-header-left { - order: 3; - } - .mx-header-right { - order: 1; - } -} diff --git a/theme/styles/web/sass/core/widgets/_inputs.scss b/theme/styles/web/sass/core/widgets/_inputs.scss deleted file mode 100644 index 7c76e32..0000000 --- a/theme/styles/web/sass/core/widgets/_inputs.scss +++ /dev/null @@ -1,240 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// -/* ========================================================================== - Inputs - - The form-control class style all inputs -========================================================================== */ -.form-control { - display: flex; - flex: 1; - min-width: 50px; - height: $form-input-height; - padding: $form-input-padding-y $form-input-padding-x; - transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - color: $form-input-color; - border: 1px solid $form-input-border-color; - border-radius: $form-input-border-radius; - background-color: $form-input-bg; - background-image: none; - box-shadow: none; - font-size: $form-input-font-size; - line-height: $form-input-line-height; - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - @if $form-input-style==lined { - @extend .form-control-lined; - } -} - -.form-control:not([readonly]):focus { - border-color: $form-input-border-focus-color; - outline: 0; - background-color: $form-input-bg-focus; - box-shadow: none; -} - -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - opacity: 1; - background-color: #EEEEEE; -} - -.form-control[disabled], -fieldset[disabled] .form-control { - cursor: not-allowed; -} - -// Lined -.form-control-lined { - border: 0; - border-bottom: 1px solid $form-input-border-color; - border-radius: 0; - background-color: transparent; - - &:focus { - background-color: transparent; - } -} - -// Read only form control class -.form-control-static { - overflow: hidden; - flex: 1; - min-height: auto; - padding: $form-input-padding-y $form-input-padding-x; - border-bottom: 1px solid $form-input-static-border-color; - font-size: $form-input-font-size; - line-height: $form-input-line-height; - - & + .control-label { - margin-left: $form-label-gutter; - } -} - -// Dropdown input widget -select.form-control { - $arrow: "data:image/svg+xml;utf8,"; - padding-right: 30px; - background-image: url($arrow); - background-repeat: no-repeat; - background-position: calc(100% - #{$form-input-padding-x}) center; - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; -} - -.form-control.mx-selectbox { - align-items: center; - flex-direction: row-reverse; - justify-content: space-between; -} - -// Not editable textarea, textarea will be rendered as a label -.mx-textarea .control-label { - height: auto; -} - -textarea.form-control { - flex-basis: auto; -} - -.mx-compound-control { - display: flex; - flex: 1; - flex-wrap: wrap; - max-width: 100%; - - .mx-validation-message { - flex-basis: 100%; - margin-top: 5px; - } -} - -// Form Group -.form-group { - display: flex; - flex-direction: row; - margin-bottom: $form-group-margin-bottom; - - & > div[class*='col-'] { - display: flex; - align-items: center; - flex-wrap: wrap; - } - - & > [class*='col-'] { - padding-right: $form-group-gutter; - padding-left: $form-group-gutter; - } - - // Alignment content - div[class*='textBox'] > .control-label, - div[class*='textArea'] > .control-label, - div[class*='datePicker'] > .control-label { - @extend .form-control-static; - } - - // Label - .control-label { - overflow: hidden; - margin-bottom: 5px; - text-overflow: ellipsis; - color: $form-label-color; - font-size: $form-label-size; - font-weight: $form-label-weight; - } - - .mx-validation-message { - flex-basis: 100%; - } - - &.no-columns:not(.label-after) { - flex-direction: column; - } -} - -.form-group.label-after { - .form-control-static { - flex: unset; - } - - .control-label { - margin-bottom: 0; - } -} - -.mx-dateinput, -.mx-referenceselector, -.mx-referencesetselector { - flex: 1; -} - -// Targets only webkit iOS devices -.dj_webkit.dj_ios .form-control { - transform: translateZ(0); -} - -@media only screen and (min-width: $screen-md) { - .form-horizontal { - .control-label { - margin-bottom: 0; - padding-top: $form-input-padding-y; - padding-bottom: $form-input-padding-y; - line-height: $form-input-line-height; - } - } -} - -@media only screen and (max-width: $screen-sm-max) { - .form-group { - flex-direction: column; - } -} - -@media only screen and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 0) { - // Fixes alignment bug on iPads / iPhones where datefield is not aligned vertically - input[type='date'], - input[type='time'], - input[type='datetime-local'], - input[type='month'] { - line-height: 1; - } - // Fix shrinking of date inputs because inability of setting a placeholder - input[type='time']:not(.has-value):before, - input[type='date']:not(.has-value):before, - input[type='month']:not(.has-value):before, - input[type='datetime-local']:not(.has-value):before { - margin-right: 0.5em; - content: attr(placeholder) !important; - color: #AAAAAA; - } - input[type='time'].has-value:before, - input[type='date'].has-value:before, - input[type='month'].has-value:before, - input[type='datetime-local'].has-value:before { - content: '' !important; - } -} - -@media (-ms-high-contrast: none), (-ms-high-contrast: active) { - // Target IE10+ - .form-group { - display: block; - } -} - -[dir='rtl'] { - // Dropdown input widget - select.form-control { - padding-right: 30px; - padding-left: 0; - background-position: #{$form-input-padding-x} center; - } -} diff --git a/theme/styles/web/sass/core/widgets/_labels.scss b/theme/styles/web/sass/core/widgets/_labels.scss deleted file mode 100644 index 344ba06..0000000 --- a/theme/styles/web/sass/core/widgets/_labels.scss +++ /dev/null @@ -1,30 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Labels - - Default labels combined with Bootstrap labels -========================================================================== */ - -.label { - display: inline-block; - padding: 0.2em 0.6em 0.3em; - text-align: center; - vertical-align: baseline; - white-space: nowrap; - color: #ffffff; - border-radius: 0.25em; - font-size: 100%; - line-height: 1; - margin: 0; - - .form-control-static { - all: unset; - font-weight: $font-weight-normal; - } -} diff --git a/theme/styles/web/sass/core/widgets/_layoutgrid.scss b/theme/styles/web/sass/core/widgets/_layoutgrid.scss deleted file mode 100644 index 4e27b30..0000000 --- a/theme/styles/web/sass/core/widgets/_layoutgrid.scss +++ /dev/null @@ -1,889 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Layout Grid - - Default Bootstrap containers -========================================================================== */ -.mx-layoutgrid { - width: 100%; - margin-right: auto; - margin-left: auto; - padding-right: $gutter-size; - padding-left: $gutter-size; -} - -// Row -.row { - display: flex; - flex-wrap: wrap; - margin-right: -$gutter-size; - margin-left: -$gutter-size; - - &::before, - &::after { - content: normal; - } -} - -.no-gutters { - margin-right: 0; - margin-left: 0; -} - -.no-gutters > .col, -.no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; -} - -// Columns -.col-1, -.col-2, -.col-3, -.col-4, -.col-5, -.col-6, -.col-7, -.col-8, -.col-9, -.col-10, -.col-11, -.col-12, -.col, -.col-auto, -.col-sm-1, -.col-sm-2, -.col-sm-3, -.col-sm-4, -.col-sm-5, -.col-sm-6, -.col-sm-7, -.col-sm-8, -.col-sm-9, -.col-sm-10, -.col-sm-11, -.col-sm-12, -.col-sm, -.col-sm-auto, -.col-md-1, -.col-md-2, -.col-md-3, -.col-md-4, -.col-md-5, -.col-md-6, -.col-md-7, -.col-md-8, -.col-md-9, -.col-md-10, -.col-md-11, -.col-md-12, -.col-md, -.col-md-auto, -.col-lg-1, -.col-lg-2, -.col-lg-3, -.col-lg-4, -.col-lg-5, -.col-lg-6, -.col-lg-7, -.col-lg-8, -.col-lg-9, -.col-lg-10, -.col-lg-11, -.col-lg-12, -.col-lg, -.col-lg-auto, -.col-xl-1, -.col-xl-2, -.col-xl-3, -.col-xl-4, -.col-xl-5, -.col-xl-6, -.col-xl-7, -.col-xl-8, -.col-xl-9, -.col-xl-10, -.col-xl-11, -.col-xl-12, -.col-xl, -.col-xl-auto { - position: relative; - width: 100%; - padding-right: $gutter-size; - padding-left: $gutter-size; -} - -.col { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; -} - -.col-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; -} - -.col-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; -} - -.col-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-3 { - flex: 0 0 25%; - max-width: 25%; -} - -.col-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.col-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; -} - -.col-6 { - flex: 0 0 50%; - max-width: 50%; -} - -.col-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; -} - -.col-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; -} - -.col-9 { - flex: 0 0 75%; - max-width: 75%; -} - -.col-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; -} - -.col-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; -} - -.col-12 { - flex: 0 0 100%; - max-width: 100%; -} - -.order-first { - order: -1; -} - -.order-last { - order: 13; -} - -.order-0 { - order: 0; -} - -.order-1 { - order: 1; -} - -.order-2 { - order: 2; -} - -.order-3 { - order: 3; -} - -.order-4 { - order: 4; -} - -.order-5 { - order: 5; -} - -.order-6 { - order: 6; -} - -.order-7 { - order: 7; -} - -.order-8 { - order: 8; -} - -.order-9 { - order: 9; -} - -.order-10 { - order: 10; -} - -.order-11 { - order: 11; -} - -.order-12 { - order: 12; -} - -.offset-1 { - margin-left: 8.333333%; -} - -.offset-2 { - margin-left: 16.666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.333333%; -} - -.offset-5 { - margin-left: 41.666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.333333%; -} - -.offset-8 { - margin-left: 66.666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.333333%; -} - -.offset-11 { - margin-left: 91.666667%; -} - -// Responsiveness -@media (min-width: $screen-sm) { - .mx-layoutgrid-fixed { - max-width: 540px; - } -} - -@media (min-width: $screen-md) { - .mx-layoutgrid-fixed { - max-width: 720px; - } -} - -@media (min-width: $screen-lg) { - .mx-layoutgrid-fixed { - max-width: 960px; - } -} - -@media (min-width: $screen-xl) { - .mx-layoutgrid-fixed { - max-width: 1140px; - } -} - -@media (min-width: $screen-sm) { - .col-sm { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .col-sm-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-sm-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-sm-first { - order: -1; - } - .order-sm-last { - order: 13; - } - .order-sm-0 { - order: 0; - } - .order-sm-1 { - order: 1; - } - .order-sm-2 { - order: 2; - } - .order-sm-3 { - order: 3; - } - .order-sm-4 { - order: 4; - } - .order-sm-5 { - order: 5; - } - .order-sm-6 { - order: 6; - } - .order-sm-7 { - order: 7; - } - .order-sm-8 { - order: 8; - } - .order-sm-9 { - order: 9; - } - .order-sm-10 { - order: 10; - } - .order-sm-11 { - order: 11; - } - .order-sm-12 { - order: 12; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: $screen-md) { - .col-md { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .col-md-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-md-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-md-first { - order: -1; - } - .order-md-last { - order: 13; - } - .order-md-0 { - order: 0; - } - .order-md-1 { - order: 1; - } - .order-md-2 { - order: 2; - } - .order-md-3 { - order: 3; - } - .order-md-4 { - order: 4; - } - .order-md-5 { - order: 5; - } - .order-md-6 { - order: 6; - } - .order-md-7 { - order: 7; - } - .order-md-8 { - order: 8; - } - .order-md-9 { - order: 9; - } - .order-md-10 { - order: 10; - } - .order-md-11 { - order: 11; - } - .order-md-12 { - order: 12; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: $screen-lg) { - .col-lg { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .col-lg-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-lg-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-lg-first { - order: -1; - } - .order-lg-last { - order: 13; - } - .order-lg-0 { - order: 0; - } - .order-lg-1 { - order: 1; - } - .order-lg-2 { - order: 2; - } - .order-lg-3 { - order: 3; - } - .order-lg-4 { - order: 4; - } - .order-lg-5 { - order: 5; - } - .order-lg-6 { - order: 6; - } - .order-lg-7 { - order: 7; - } - .order-lg-8 { - order: 8; - } - .order-lg-9 { - order: 9; - } - .order-lg-10 { - order: 10; - } - .order-lg-11 { - order: 11; - } - .order-lg-12 { - order: 12; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: $screen-xl) { - .col-xl { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .col-xl-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-xl-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-xl-first { - order: -1; - } - .order-xl-last { - order: 13; - } - .order-xl-0 { - order: 0; - } - .order-xl-1 { - order: 1; - } - .order-xl-2 { - order: 2; - } - .order-xl-3 { - order: 3; - } - .order-xl-4 { - order: 4; - } - .order-xl-5 { - order: 5; - } - .order-xl-6 { - order: 6; - } - .order-xl-7 { - order: 7; - } - .order-xl-8 { - order: 8; - } - .order-xl-9 { - order: 9; - } - .order-xl-10 { - order: 10; - } - .order-xl-11 { - order: 11; - } - .order-xl-12 { - order: 12; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} diff --git a/theme/styles/web/sass/core/widgets/_listview.scss b/theme/styles/web/sass/core/widgets/_listview.scss deleted file mode 100644 index 0a0d367..0000000 --- a/theme/styles/web/sass/core/widgets/_listview.scss +++ /dev/null @@ -1,102 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// -/* ========================================================================== - Listview - - Default Mendix Listview Widget. The list view shows a list of objects arranged vertically. Each object is shown using a template -========================================================================== */ -.mx-listview { - // Remove widget padding - padding: 0; - /* Clear search button (overrides load more button stying) */ - // Search bar - .mx-listview-searchbar { - margin-bottom: $gutter-size; - - .btn { - width: auto; - } - } - - /* Load more button */ - & > .btn { - width: 100%; - margin: 10px auto; - } - - & > ul { - margin: 0; - - .mx-listview-empty { - border-style: none; - background-color: transparent; - } - - & > li { - @include transition(); - padding: $listview-padding-top $listview-padding-right $listview-padding-bottom $listview-padding-left; - border-width: 1px 0 0 0; - border-style: solid; - border-color: $grid-border-color; - background-color: $grid-bg; - - &:first-child { - border-radius: 0; // Reset mxui listview style - } - - &:last-child { - border-bottom: 1px solid $grid-border-color; - border-radius: 0; // Reset mxui listview style - } - - &:focus, - &:active { - outline: 0; - background-color: $grid-bg-hover; - } - - &.selected { - background-color: $grid-bg-selected; - } - } - } - - .mx-layoutgrid { - padding-top: 0 !important; - padding-bottom: 0 !important; - } -} - -//== Phone specific -//-------------------------------------------------------------------------------------------------------------------// -.profile-phone .mx-listview { - .mx-listview-searchbar { - margin-bottom: 3px; - background: #FFFFFF; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.14); - - input { - padding: 14px 15px; - color: #555555; - border-style: none; - border-radius: 0; - box-shadow: none; - } - - .btn { - padding: 14px 15px; - color: inherit; - border-style: none; - } - } - - & > ul > li { - &:first-child { - border-top: none; - } - } -} diff --git a/theme/styles/web/sass/core/widgets/_modals.scss b/theme/styles/web/sass/core/widgets/_modals.scss deleted file mode 100644 index 4298f37..0000000 --- a/theme/styles/web/sass/core/widgets/_modals.scss +++ /dev/null @@ -1,123 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// -/* ========================================================================== - Modals - - Default Mendix Modals. Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults -========================================================================== */ -.modal-dialog { - .modal-content { - border: 1px solid $modal-header-border-color; - border-radius: 4px; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); - - .modal-header { - padding: 15px 20px; - border-bottom-color: $modal-header-border-color; - border-radius: 0; // Because of the class .mx-window-active in mxui.css - background-color: $modal-header-bg; - - h4 { - margin: 0; - color: $modal-header-color; - font-size: 16px; - font-weight: $font-weight-bold; - } - - .close { - margin-top: -3px; - opacity: 1; - /* For IE8 and earlier */ - color: $modal-header-color; - text-shadow: none; - filter: alpha(opacity=100); - } - } - - .modal-body { - padding: 20px; - } - - .modal-footer { - display: flex; - justify-content: flex-end; - margin-top: 0; - padding: 20px; - border-style: none; - } - } -} - -// Default Mendix Window Modal -.mx-window { - // If popup direct child is a dataview it gets the class mx-window-view - &.mx-window-view .mx-window-body { - overflow: hidden; // hide second scrollbar in edit page - padding: 0; - // Dataview in popup - > .mx-dataview > .mx-dataview-content, - > .mx-placeholder > .mx-dataview > .mx-dataview-content { - padding: 20px; - } - - > .mx-dataview > .mx-dataview-controls, - > .mx-placeholder > .mx-dataview > .mx-dataview-controls { - display: flex; - justify-content: flex-end; - margin: 0; - padding: 20px; - text-align: left; - border-top: 1px solid $modal-header-border-color; - } - } - - .mx-dataview-controls { - padding-bottom: 0; - } - - .mx-layoutgrid { - padding-right: 0; - padding-left: 0; - } -} - -// Login modal -.mx-login { - .modal-body { - padding: 0 15px; - } - - .modal-content { - input { - height: 56px; - padding: 12px 12px; - border: 1px solid #EEEEEE; - background: #EEEEEE; - box-shadow: none; - font-size: 16px; - - &:focus { - border-color: #66AFE9; - } - } - } - - .modal-header, - .modal-footer { - border: 0; - } - - button { - font-size: 16px; - } - - h4 { - color: #AAAAAA; - font-size: 20px; - font-weight: $font-weight-bold; - } -} diff --git a/theme/styles/web/sass/core/widgets/_navigationbar.scss b/theme/styles/web/sass/core/widgets/_navigationbar.scss deleted file mode 100644 index 7845cad..0000000 --- a/theme/styles/web/sass/core/widgets/_navigationbar.scss +++ /dev/null @@ -1,152 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Navigation - - Default Mendix Navigation Bar -========================================================================== */ -.mx-navbar { - margin: 0; - border-style: none; - border-radius: 0; - background-color: $navigation-bg; - - ul.nav { - margin: 0; // weird -margin if screen gets small (bootstrap) - - /* Navigation item */ - & > li.mx-navbar-item > a { - display: flex; - align-items: center; - min-height: $topbar-minimalheight; - padding: $navigation-item-padding; - vertical-align: middle; - color: $navigation-color; - border-radius: 0; - font-size: $navigation-font-size; - font-weight: $font-weight-normal; - - /* Dropdown arrow */ - .caret { - border-top-color: $navigation-color; - border-bottom-color: $navigation-color; - } - - &:hover, - &:focus, - &.active { - text-decoration: none; - color: $navigation-color-hover; - background-color: $navigation-bg-hover; - - .caret { - border-top-color: $navigation-color-active; - border-bottom-color: $navigation-color-active; - } - } - - &.active { - color: $navigation-color-active; - background-color: $navigation-bg-active; - } - - /* Dropdown */ - .mx-navbar-submenu::before { - position: absolute; - top: -9px; - left: 15px; - width: 0; - height: 0; - content: ''; - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - border-width: 0 9px 9px 9px; - border-style: solid; - border-color: transparent transparent $navigation-border-color transparent; - } - - // Image - img { - width: 20px; // Default size (so it looks good) - height: auto; - margin-right: 0.5em; - } - - .glyphicon { - top: 0; - margin-right: 0.5em; - vertical-align: middle; - font-size: $navigation-glyph-size; - } - } - - & > .mx-navbar-item.active a { - color: $navigation-color-active; - } - - /* When hovering or the dropdown is open */ - & > .mx-navbar-item > a:hover, - & > .mx-navbar-item > a:focus, - & > .mx-navbar-item.open > a, - & > .mx-navbar-item.open > a:hover, - & > .mx-navbar-item.open > a:focus { - text-decoration: none; - color: $navigation-color-hover; - background-color: $navigation-bg-hover; - - .caret { - border-top-color: $navigation-color-hover; - border-bottom-color: $navigation-color-hover; - } - } - - & > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a { - color: $navigation-sub-color-active; - background-color: $navigation-sub-bg-active; - - .caret { - border-top-color: $navigation-sub-color-active; - border-bottom-color: $navigation-sub-color-active; - } - } - } - @media (max-width: $screen-md) { - ul.nav > li.mx-navbar-item > a { - padding: 10px 20px; - } - .mx-navbar-item.open .dropdown-menu { - padding: 0; - border-radius: 0; - background-color: $navigation-sub-bg; - - & > li.mx-navbar-subitem > a { - padding: 10px 20px; - color: $navigation-sub-color; - border-radius: 0; - font-size: $navigation-sub-font-size; - font-weight: $font-weight-normal; - - &:hover, - &:focus { - color: $navigation-sub-color-hover; - background-color: $navigation-sub-bg-hover; - } - - &.active { - color: $navigation-sub-color-active; - background-color: $navigation-sub-bg-active; - } - } - } - } - - /* remove focus */ - &:focus { - outline: 0; - } -} diff --git a/theme/styles/web/sass/core/widgets/_navigationlist.scss b/theme/styles/web/sass/core/widgets/_navigationlist.scss deleted file mode 100644 index 0b44c33..0000000 --- a/theme/styles/web/sass/core/widgets/_navigationlist.scss +++ /dev/null @@ -1,37 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// -/* ========================================================================== - Navigation List - - Default Mendix Navigation List Widget. A navigation list can be used to attach an action to an entire row. Such a row is called a navigation list item -========================================================================== */ -.mx-navigationlist { - margin: 0; - padding: 0; - list-style: none; - - li.mx-navigationlist-item { - @include transition(); - padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left; - border-width: 1px; - border-style: none none solid none; - border-color: $grid-border-color; - border-radius: 0; - background-color: $grid-bg; - - &:hover, - &:focus { - color: inherit; - background-color: $grid-bg-hover; - } - - &.active { - color: inherit; - background-color: $grid-bg-selected; - } - } -} diff --git a/theme/styles/web/sass/core/widgets/_navigationtree.scss b/theme/styles/web/sass/core/widgets/_navigationtree.scss deleted file mode 100644 index c5beb0e..0000000 --- a/theme/styles/web/sass/core/widgets/_navigationtree.scss +++ /dev/null @@ -1,111 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Navigation - - Default Mendix Navigation Tree -========================================================================== */ -.mx-navigationtree { - background-color: $navigation-bg; - - /* Every navigation item */ - .navbar-inner > ul { - margin: 0; - padding-left: 0; - & > li { - padding: 0; - border-style: none; - & > a { - display: flex; - align-items: center; - height: $navigation-item-height; - padding: $navigation-item-padding; - color: $navigation-color; - border-bottom: 1px solid $navigation-border-color; - border-radius: 0; - background-color: $navigation-bg; - text-shadow: none; - font-size: $navigation-font-size; - font-weight: $font-weight-normal; - .caret { - border-top-color: $navigation-color; - border-bottom-color: $navigation-color; - } - img { - width: 20px; // Default size - height: auto; - margin-right: 0.5em; - } - .glyphicon { - top: 0; - margin-right: 0.5em; - vertical-align: middle; - font-size: $navigation-glyph-size; - } - } - a:hover, - a:focus, - a.active { - text-decoration: none; - color: $navigation-color-hover; - background-color: $navigation-bg-hover; - .caret { - border-top-color: $navigation-color-active; - border-bottom-color: $navigation-color-active; - } - } - a.active { - color: $navigation-color-active; - border-left-color: $navigation-color-active; - background-color: $navigation-bg-active; - } - } - } - - /* Sub navigation item specific */ - li.mx-navigationtree-has-items { - & > ul { - margin: 0; - padding-left: 0; - background-color: $navigation-sub-bg; - li { - margin: 0; - padding: 0; - border: 0; - a { - padding: 12px 20px 12px 25px; - text-decoration: none; - color: $navigation-sub-color; - border: 0; - background-color: $navigation-sub-bg; - text-shadow: none; - font-size: $navigation-sub-font-size; - font-weight: $font-weight-normal; - - &:hover, - &:focus, - &.active { - color: $navigation-sub-color-hover; - outline: 0; - background-color: $navigation-sub-bg-hover; - } - &.active { - color: $navigation-sub-color-active; - border: 0; - background-color: $navigation-sub-bg-active; - } - } - } - } - } - - /* remove focus */ - &:focus { - outline: 0; - } -} diff --git a/theme/styles/web/sass/core/widgets/_progress.scss b/theme/styles/web/sass/core/widgets/_progress.scss deleted file mode 100644 index bfdd31c..0000000 --- a/theme/styles/web/sass/core/widgets/_progress.scss +++ /dev/null @@ -1,64 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Progress - - Default Mendix Progress Widget. -========================================================================== */ - -.mx-progress { - color: $font-color-default; - background: $bg-color-secondary; - - .mx-progress-message { - color: $font-color-default; - } - - .mx-progress-indicator { - position: relative; - overflow: hidden; - width: 100%; - max-width: 100%; - height: 2px; - margin: auto; - padding: 0; - border-radius: 0; - background: $gray-lighter; - - &:before, - &:after { - position: absolute; - top: 0; - left: 0; - display: block; - width: 50%; - height: 2px; - content: ""; - transform: translate3d(-100%, 0, 0); - background: $brand-primary; - } - - &::before { - animation: loader 2s infinite; - } - - &::after { - animation: loader 2s -2s infinite; - } - } -} - - -@keyframes loader { - 0% { - transform: translate3d(-100%, 0, 0); - } - 100% { - transform: translate3d(200%, 0, 0); - } -} diff --git a/theme/styles/web/sass/core/widgets/_radiobuttons.scss b/theme/styles/web/sass/core/widgets/_radiobuttons.scss deleted file mode 100644 index 63d0b5b..0000000 --- a/theme/styles/web/sass/core/widgets/_radiobuttons.scss +++ /dev/null @@ -1,121 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// -/* ========================================================================== - Radio Buttons - - Default Mendix Radio Button Widget -========================================================================== */ -.mx-radiobuttons.inline .mx-radiogroup { - display: flex; - flex-direction: row; - - .radio { - margin: 0 20px 0 0; - } -} - -.mx-radiobuttons .radio:last-child { - margin-bottom: 0; -} - -.radio { - display: flex !important; // Remove after mxui merge - align-items: center; - margin-top: 0; -} - -input[type='radio'] { - position: relative !important; // Remove after mxui merge - width: 16px; - height: 16px; - margin: 0; - cursor: pointer; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - -webkit-user-select: none; - user-select: none; - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - - &::-ms-check { - color: $form-input-border-color; - border-color: $form-input-border-color; - background-color: $form-input-bg; - } - - &:focus::-ms-check, - &:checked::-ms-check { - color: $form-input-border-focus-color; - border-color: $form-input-border-focus-color; - background-color: $form-input-bg-focus; - } - - &:before, - &:after { - position: absolute; - display: block; - transition: all 0.3s ease-in-out; - border-radius: 50%; - } - - &:before { - width: 100%; - height: 100%; - content: ''; - border: 1px solid $form-input-border-color; - background-color: transparent; - } - - &:after { - top: 50%; - left: 50%; - width: 50%; - height: 50%; - transform: translate(-50%, -50%); - pointer-events: none; - background-color: $form-input-border-focus-color; - } - - &:not(:checked):after { - transform: translate(-50%, -50%) scale(0); - opacity: 0; - } - - &:not(:disabled):not(:checked):hover:after { - background-color: $form-input-bg-hover; - } - - &:checked:after, - &:not(:disabled):not(:checked):hover:after { - content: ''; - transform: translate(-50%, -50%) scale(1); - opacity: 1; - } - - &:checked:before { - border-color: $form-input-border-focus-color; - background-color: $form-input-bg; - } - - &:disabled:before { - background-color: $form-input-bg-disabled; - } - - &:checked:disabled:before { - border-color: rgba($form-input-border-focus-color, 0.4); - } - - &:checked:disabled:after { - background-color: rgba($form-input-border-focus-color, 0.4); - } - - & + label { - margin-left: $form-label-gutter; - } -} diff --git a/theme/styles/web/sass/core/widgets/_simplemenubar.scss b/theme/styles/web/sass/core/widgets/_simplemenubar.scss deleted file mode 100644 index a7f11a5..0000000 --- a/theme/styles/web/sass/core/widgets/_simplemenubar.scss +++ /dev/null @@ -1,226 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// -/* ========================================================================== - Navigation - - Default Mendix Simple Menu Bar -========================================================================== */ -.mx-menubar { - padding: 0; - background-color: $navigation-bg; - - ul.mx-menubar-list { - display: flex; - width: 100%; - min-height: 50px; - - li.mx-menubar-item { - margin: 0; - - > a { - display: flex; - overflow: hidden; - align-items: center; - justify-content: center; - height: 100%; - padding: $navigation-item-padding; - white-space: nowrap; - color: $navigation-color; - border-radius: 0; - font-size: $navigation-font-size; - font-weight: $font-weight-normal; - - img { - margin-right: 0.5em; - } - - .glyphicon { - top: -1px; - margin-right: 0.5em; - vertical-align: middle; - font-size: $navigation-glyph-size; - } - } - - a:hover, - a:focus, - &:hover a, - &:focus a, - &.active a { - text-decoration: none; - color: $navigation-color-hover; - background-color: $navigation-bg-hover; - } - - &.active a { - color: $navigation-color-active; - background-color: $navigation-bg-active; - } - } - } - - /* remove focus */ - &:focus { - outline: 0; - } -} - -// Vertical variation specifics -.mx-menubar-vertical { - background-color: $navigation-bg; - - ul.mx-menubar-list { - display: flex; - - li.mx-menubar-item { - display: block; - - a { - border-bottom: 1px solid $navigation-border-color; - } - } - } -} - -// Horizontal variation specifics -.mx-menubar-horizontal { - box-shadow: 2px 0 4px 0 rgba(0, 0, 0, 0.14); - - ul.mx-menubar-list { - li.mx-menubar-item { - width: auto; - - a { - width: 100%; - } - } - } - - /* Two menu items */ - &.menubar-col-6 ul.mx-menubar-list li.mx-menubar-item { - width: 50%; - } - - /* Three menu items */ - &.menubar-col-4 ul.mx-menubar-list li.mx-menubar-item { - width: 33.33333333%; - } - - /* Four menu items */ - &.menubar-col-3 ul.mx-menubar-list li.mx-menubar-item { - width: 25%; - } - - /* Five menu items */ - &.menubar-col-2 ul.mx-menubar-list li.mx-menubar-item { - width: 20%; - } -} - -//== Regions -//## Behavior in the different regions -//-------------------------------------------------------------------------------------------------------------------// -// When used in topbar -.region-topbar { - .mx-menubar { - background-color: $navtopbar-bg; - - ul.mx-menubar-list { - li.mx-menubar-item { - a { - color: $navtopbar-color; - font-size: $navtopbar-font-size; - - .glyphicon { - font-size: $navtopbar-glyph-size; - } - } - - a:hover, - a:focus, - &:hover a, - &:focus a, - &.active a { - color: $navtopbar-color-hover; - background-color: $navtopbar-bg-hover; - } - - &.active a { - color: $navtopbar-color-active; - background-color: $navtopbar-bg-active; - } - } - } - } - - // Vertical variation specifics - .mx-menubar-vertical { - background-color: $navtopbar-bg; - - ul.mx-menubar-list { - li.mx-menubar-item { - a { - height: $navigation-item-height; - border-color: $navtopbar-border-color; - } - } - } - } -} - -// When used in sidebar -.region-sidebar { - .mx-menubar { - background-color: $navsidebar-bg; - - ul.mx-menubar-list { - li.mx-menubar-item { - a { - color: $navsidebar-color; - font-size: $navsidebar-font-size; - - .glyphicon { - font-size: $navsidebar-glyph-size; - } - } - - a:hover, - a:focus, - &:hover a, - &:focus a, - &.active a { - color: $navsidebar-color-hover; - background-color: $navsidebar-bg-hover; - } - - &.active a { - color: $navsidebar-color-active; - background-color: $navsidebar-bg-active; - } - } - } - } - - // Vertical variation specifics - .mx-menubar-vertical { - background-color: $navsidebar-bg; - - ul.mx-menubar-list { - li.mx-menubar-item { - a { - border-color: $navsidebar-border-color; - } - } - } - } -} - -@supports (padding-bottom: env(safe-area-inset-bottom)) { - .mx-menubar { - padding-bottom: env(safe-area-inset-bottom); - } -} \ No newline at end of file diff --git a/theme/styles/web/sass/core/widgets/_tabcontainer.scss b/theme/styles/web/sass/core/widgets/_tabcontainer.scss deleted file mode 100644 index 125fb00..0000000 --- a/theme/styles/web/sass/core/widgets/_tabcontainer.scss +++ /dev/null @@ -1,86 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Tab Container - - Default Mendix Tab Container Widget. Tab containers are used to show information categorized into multiple tab pages. - This can be very useful if the amount of information that has to be displayed is larger than the amount of space on the screen -========================================================================== */ - -.mx-tabcontainer { - .mx-tabcontainer-tabs { - margin-bottom: 20px; - border-color: $tabs-border-color; - & > li > a { - margin-right: 0; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - color: $tabs-color; - font-weight: $font-weight-normal; - &:hover, - &:focus { - background-color: $tabs-bg-hover; - } - } - & > li.active > a, - & > li.active > a:hover, - & > li.active > a:focus { - color: $tabs-color-active; - border: 1px solid $tabs-border-color; - border-bottom-color: transparent; - background-color: $tabs-bg; - } - } -} - -// Tab Styling Specific for mobile -.tab-mobile.mx-tabcontainer { - & > .mx-tabcontainer-tabs { - margin: 0; - text-align: center; - border-style: none; - background-color: $brand-primary; - li { - display: table-cell; - float: none; - width: 1%; - margin: 0; - text-align: center; - border-style: none; - border-radius: 0; - a { - padding: 15px; - text-transform: uppercase; - color: #FFFFFF; - border-width: 0 1px 0 0; - border-style: solid; - border-color: rgba(255, 255, 255, 0.3); - border-radius: 0; - font-size: 12px; - font-weight: $font-weight-normal; - &:hover, - &:focus { - background-color: inherit; - } - } - &:last-child a { - border-right: none; - } - &.active > a, - &.active > a:hover, - &.active > a:focus { - color: #FFFFFF; - border-style: none; - border-radius: 0; - background-color: mix($brand-primary, #000000, 80%); - } - } - } -} diff --git a/theme/styles/web/sass/core/widgets/_tables.scss b/theme/styles/web/sass/core/widgets/_tables.scss deleted file mode 100644 index 21c0c33..0000000 --- a/theme/styles/web/sass/core/widgets/_tables.scss +++ /dev/null @@ -1,79 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Tables - - Default Mendix Table Widget. Tables can be used to lend structure to a page. They contain a number of rows (tr) and columns, the intersection of which is called a cell (td). Each cell can contain widgets -========================================================================== */ - -th { - font-weight: $font-weight-bold; -} - -html body .mx-page table.mx-table { - th, - td { - &.nopadding { - padding: 0; - } - } -} - -table.mx-table { - > tbody { - /* Table row */ - > tr { - /* Table header */ - > th { - padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom $padding-table-cell-left;s - * { - color: $form-label-color; - font-weight: $font-weight-bold; - font-weight: $form-label-weight; - } - > label { - padding-top: 7px; - padding-bottom: 6px; // Aligns label in the middle if there is no input field next to it. - } - } - /* Table cells */ - > td { - padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom $padding-table-cell-left; - > div > label, - .mx-referenceselector-input-wrapper label { - padding-top: 7px; - padding-bottom: 6px; // Aligns label in the middle if there is no input field next to it. - } - } - } - } -} - -// Default Mendix Table Widget inside TemplateGrid -.mx-templategrid table.mx-table { - > tbody { - > tr { - > th, - > td { - padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom $padding-table-cell-left; - } - } - } -} - -// Default Mendix Table Widget inside Listview -.mx-list table.mx-table { - > tbody { - > tr { - > th, - > td { - padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom $padding-table-cell-left; - } - } - } -} diff --git a/theme/styles/web/sass/core/widgets/_templategrids.scss b/theme/styles/web/sass/core/widgets/_templategrids.scss deleted file mode 100644 index 35d6fce..0000000 --- a/theme/styles/web/sass/core/widgets/_templategrids.scss +++ /dev/null @@ -1,33 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Templategrid - - Default Mendix Templategrid Widget. The template grid shows a list of objects in a tile view. For example, a template grid can show a list of products. The template grid has a lot in common with the data grid. The main difference is that the objects are shown in templates (a sort of small data view) instead of rows -========================================================================== */ - -.mx-templategrid { - .mx-templategrid-content-wrapper { - table-layout: fixed; - } - .mx-templategrid-item { - padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left; - cursor: default; - background-color: $grid-bg; - &:hover { - background-color: transparent; - } - &.selected { - background-color: $grid-bg-selected !important; - } - } - .mx-layoutgrid { - padding-top: 0 !important; - padding-bottom: 0 !important; - } -} \ No newline at end of file diff --git a/theme/styles/web/sass/core/widgets/_typography.scss b/theme/styles/web/sass/core/widgets/_typography.scss deleted file mode 100644 index 21fa8a0..0000000 --- a/theme/styles/web/sass/core/widgets/_typography.scss +++ /dev/null @@ -1,79 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* ========================================================================== - Typography -========================================================================== */ - -p { - line-height: $line-height-base * 1.25; -} - -label { - padding-top: 0; -} - -.mx-title { - margin: $font-header-margin; - color: $font-color-header; - font-size: $font-size-h1; - font-weight: $font-weight-header; -} - -h1, -.h1, -.h1 > * { - font-size: $font-size-h1; -} - -h2, -.h2, -.h2 > * { - font-size: $font-size-h2; -} - -h3, -.h3, -.h3 > * { - font-size: $font-size-h3; -} - -h4, -.h4, -.h4 > * { - font-size: $font-size-h4; -} - -h5, -.h5, -.h5 > * { - font-size: $font-size-h5; -} - -h6, -.h6, -.h6 > * { - font-size: $font-size-h6; -} - -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - margin: $font-header-margin; - color: $font-color-header; - font-weight: $font-weight-header; - line-height: 1.3; -} \ No newline at end of file diff --git a/theme/styles/web/sass/core/widgetscustom/_dijit-widgets.scss b/theme/styles/web/sass/core/widgetscustom/_dijit-widgets.scss deleted file mode 100644 index cf859c1..0000000 --- a/theme/styles/web/sass/core/widgetscustom/_dijit-widgets.scss +++ /dev/null @@ -1,184 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* -* Mendix Documentation -* Special styles for presenting components -*/ - -/* -* Dijit Widgets -* -* Default Dojo Dijit Widgets -*/ - -/* - * Dijit Tooltip Widget - * - * Default tooltip used for Mendix widgets - */ - -.mx-tooltip { - .dijitTooltipContainer { - border-width: 1px; - border-color: $gray-light; - border-radius: 4px; - background: #ffffff; - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - .mx-tooltip-content { - padding: 10px; - } - .form-group { - margin-bottom: 5px; - } - } - .dijitTooltipConnector { - width: 0; - height: 0; - margin-left: -10px; - border-width: 10px 10px 10px 0; - border-style: solid; - border-color: transparent; - border-right-color: $gray-light; - } -} - -/* - * Dijit Border Container - * - * Used in Mendix as split pane containers - */ - -.dijitBorderContainer { - padding: 5px; - background-color: #fcfcfc; - .dijitSplitterV, - .dijitGutterV { - width: 5px; - border: 0; - background: #fcfcfc; - } - .dijitSplitterH, - .dijitGutterH { - height: 5px; - border: 0; - background: #fcfcfc; - } - .dijitSplitterH { - .dijitSplitterThumb { - top: 2px; - width: 19px; - height: 1px; - background: #b0b0b0; - } - } - .dijitSplitterV { - .dijitSplitterThumb { - left: 2px; - width: 1px; - height: 19px; - background: #b0b0b0; - } - } - .dijitSplitContainer-child, - .dijitBorderContainer-child { - border: 1px solid #cccccc; - } - .dijitBorderContainer-dijitTabContainerTop, - .dijitBorderContainer-dijitTabContainerBottom, - .dijitBorderContainer-dijitTabContainerLeft, - .dijitBorderContainer-dijitTabContainerRight { - border: none; - } - .dijitBorderContainer-dijitBorderContainer { - padding: 0; - border: none; - } - .dijitSplitterActive { - /* For IE8 and earlier */ - margin: 0; - opacity: 0.6; - background-color: #aaaaaa; - background-image: none; - font-size: 1px; - filter: alpha(opacity=60); - } - .dijitSplitContainer-dijitContentPane, - .dijitBorderContainer-dijitContentPane { - padding: 5px; - background-color: #ffffff; - } -} - -/* - * Dijit Menu Popup - * - * Used in datepickers and calendar widgets - */ - -.dijitMenuPopup { - margin-top: 10px; - .dijitMenu { - display: block; - width: 200px !important; - margin-top: 0; // No top margin because there is no parent with margin bottom - padding: 12px 10px; - border-radius: 3px; - background: $brand-inverse; - &:after { - position: absolute; - bottom: 100%; - left: 20px; - width: 0; - height: 0; - margin-left: -10px; - content: ' '; - pointer-events: none; - border: medium solid transparent; - border-width: 10px; - border-bottom-color: $brand-inverse; - } - // Menu item - .dijitMenuItem { - background: transparent; - .dijitMenuItemLabel { - display: block; - overflow: hidden; - width: 180px !important; - padding: 10px; - text-overflow: ellipsis; - color: #ffffff; - border-radius: 3px; - } - // Hover - &.dijitMenuItemHover { - background: none; - .dijitMenuItemLabel { - background: $brand-primary; - } - } - } - // New label - .tg_newlabelmenuitem { - .dijitMenuItemLabel { - font-weight: $font-weight-bold; - } - } - // Seperator - .dijitMenuSeparator { - td { - padding: 0; - border-bottom-width: 3px; - } - .dijitMenuSeparatorIconCell { - > div { - margin: 0; //override dijit styling - } - } - } - } -} diff --git a/theme/styles/web/sass/core/widgetscustom/_progress-bar-theme.scss b/theme/styles/web/sass/core/widgetscustom/_progress-bar-theme.scss deleted file mode 100644 index 7309a06..0000000 --- a/theme/styles/web/sass/core/widgetscustom/_progress-bar-theme.scss +++ /dev/null @@ -1,43 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* Based on https://github.com/mendixlabs/star-rating/blob/v1.1.1/src/ui/StarRating.scss */ -div.widget-progress-bar .progress-bar-default { - background-color: $brand-default; -} - -div.widget-progress-bar .progress-bar-primary { - background-color: $brand-primary; -} - -div.widget-progress-bar .progress-bar-success { - background-color: $brand-success; -} - -div.widget-progress-bar .progress-bar-info { - background-color: $brand-info; -} - -div.widget-progress-bar .progress-bar-warning { - background-color: $brand-warning; -} - -div.widget-progress-bar .progress-bar-danger { - background-color: $brand-danger; -} - -div.widget-progress-bar .progress-bar-inverse { - background-color: $brand-inverse; -} - -div.widget-progress-bar-alert.widget-progress-bar-text-contrast .progress-bar { - color: $color-danger-darker; -} - -div.widget-progress-bar-text-contrast .progress-bar { - color: $font-color-default; -} diff --git a/theme/styles/web/sass/core/widgetscustom/_progress-circle-theme.scss b/theme/styles/web/sass/core/widgetscustom/_progress-circle-theme.scss deleted file mode 100644 index 0c0b385..0000000 --- a/theme/styles/web/sass/core/widgetscustom/_progress-circle-theme.scss +++ /dev/null @@ -1,65 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* Based on https://github.com/mendixlabs/progress-circle/tree/master/src/ui/_progress-circle-theme.scss */ -path.widget-progress-circle-path { - stroke: $brand-primary; -} - -.widget-progress-circle-primary { - path.widget-progress-circle-path { - stroke: $brand-primary; - } - .progressbar-text { - color: $brand-primary !important; - } -} - -.widget-progress-circle-info { - path.widget-progress-circle-path { - stroke: $brand-info; - } - .progressbar-text { - color: $brand-info !important; - } -} - -.widget-progress-circle-success { - path.widget-progress-circle-path { - stroke: $brand-success; - } - .progressbar-text { - color: $brand-success !important; - } -} - -.widget-progress-circle-warning { - path.widget-progress-circle-path { - stroke: $brand-warning; - } - .progressbar-text { - color: $brand-warning !important; - } -} - -.widget-progress-circle-danger { - path.widget-progress-circle-path { - stroke: $brand-danger; - } - .progressbar-text { - color: $brand-danger !important; - } -} - -.widget-progress-circle-inverse { - path.widget-progress-circle-path { - stroke: $brand-inverse; - } - .progressbar-text { - color: $brand-inverse !important; - } -} diff --git a/theme/styles/web/sass/core/widgetscustom/_range-slider-theme.scss b/theme/styles/web/sass/core/widgetscustom/_range-slider-theme.scss deleted file mode 100644 index 46f3047..0000000 --- a/theme/styles/web/sass/core/widgetscustom/_range-slider-theme.scss +++ /dev/null @@ -1,55 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -// Based on https://github.com/mendixlabs/range-slider/tree/master/src/ui/_range-slider-theme.scss - -div.widget-range-slider { - .rc-slider-handle, - .rc-slider-dot-active { - border-color: $brand-default; - - &:active { - border-color: $brand-default; - box-shadow: none; - } - - &:hover { - border-color: $brand-default; - } - } - - &.has-error { - .rc-slider-track, - .rc-slider-rail { - background-color: $brand-danger; - } - } -} - -div.widget-range-slider-primary .rc-slider-track { - background-color: $brand-primary; -} - -div.widget-range-slider-info .rc-slider-track { - background-color: $brand-info; -} - -div.widget-range-slider-success .rc-slider-track { - background-color: $brand-success; -} - -div.widget-range-slider-warning .rc-slider-track { - background-color: $brand-warning; -} - -div.widget-range-slider-danger .rc-slider-track { - background-color: $brand-danger; -} - -div.widget-range-slider-inverse .rc-slider-track { - background-color: $brand-inverse; -} diff --git a/theme/styles/web/sass/core/widgetscustom/_slider-theme.scss b/theme/styles/web/sass/core/widgetscustom/_slider-theme.scss deleted file mode 100644 index 951b79a..0000000 --- a/theme/styles/web/sass/core/widgetscustom/_slider-theme.scss +++ /dev/null @@ -1,52 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -// Based on https://github.com/mendixlabs/slider/tree/master/src/ui/_slider-theme.scss - -div.widget-slider { - .rc-slider-handle, - .rc-slider-dot-active { - border-color: $brand-default; - &:active { - border-color: $brand-default; - } - &:hover { - border-color: $brand-default; - } - } - - &.has-error { - .rc-slider-track, - .rc-slider-rail { - background-color: $brand-danger; - } - } -} - -div.widget-slider-primary .rc-slider-track { - background-color: $brand-primary; -} - -div.widget-slider-info .rc-slider-track { - background-color: $brand-info; -} - -div.widget-slider-success .rc-slider-track { - background-color: $brand-success; -} - -div.widget-slider-warning .rc-slider-track { - background-color: $brand-warning; -} - -div.widget-slider-danger .rc-slider-track { - background-color: $brand-danger; -} - -div.widget-slider-inverse .rc-slider-track { - background-color: $brand-inverse; -} diff --git a/theme/styles/web/sass/core/widgetscustom/_star-rating-theme.scss b/theme/styles/web/sass/core/widgetscustom/_star-rating-theme.scss deleted file mode 100644 index ebb0bbd..0000000 --- a/theme/styles/web/sass/core/widgetscustom/_star-rating-theme.scss +++ /dev/null @@ -1,35 +0,0 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. -// - -/* Based on https://github.com/mendixlabs/star-rating/blob/v1.1.1/src/ui/StarRating.scss */ -span.widget-star-rating-full-default { - color: $brand-default; -} - -span.widget-star-rating-full-primary { - color: $brand-primary; -} - -span.widget-star-rating-full-success { - color: $brand-success; -} - -span.widget-star-rating-full-info { - color: $brand-info; -} - -span.widget-star-rating-full-warning { - color: $brand-warning; -} - -span.widget-star-rating-full-danger { - color: $brand-danger; -} - -span.widget-star-rating-full-inverse { - color: $brand-inverse; -} diff --git a/theme/styles/web/sass/main.scss b/theme/styles/web/sass/main.scss deleted file mode 100644 index a3c7428..0000000 --- a/theme/styles/web/sass/main.scss +++ /dev/null @@ -1,103 +0,0 @@ -// Utilities -@import 'core/_legacy/bootstrap/bootstrap'; -@import 'core/_legacy/bootstrap/bootstrap-rtl'; -@import 'core/_legacy/mxui'; - -// Custom variables -@import 'app/custom-variables'; - -//================================== CORE ==================================\\ - -// Default variables -@import 'core/variables'; - -// Base -@import 'core/base/mixins/animations'; -@import 'core/base/mixins/spacing'; -@import 'core/base/mixins/layout-spacing'; -@import 'core/base/mixins/buttons'; -@import 'core/base/mixins/groupbox'; -@import 'core/base/animation'; -@import 'core/base/flex'; -@import 'core/base/spacing'; -@import 'core/base/reset'; -@import 'core/base/base'; -@import 'core/base/login'; - -// Widgets -@import 'core/widgets/inputs'; -@import 'core/widgets/alerts'; -@import 'core/helpers/alerts'; -@import 'core/helpers/backgrounds'; -@import 'core/widgets/buttons'; -@import 'core/helpers/buttons'; -@import 'core/widgets/checkbox'; -@import 'core/widgets/grid'; -@import 'core/widgets/datagrids'; -@import 'core/helpers/datagrids'; -@import 'core/widgets/dataview'; -@import 'core/widgets/datepicker'; -@import 'core/widgets/header'; -@import 'core/widgets/glyphicons'; -@import 'core/widgets/groupbox'; -@import 'core/helpers/groupbox'; -@import 'core/helpers/images'; -@import 'core/widgets/labels'; -@import 'core/helpers/labels'; -@import 'core/widgets/listview'; -@import 'core/helpers/listview'; -@import 'core/widgets/modals'; -@import 'core/widgets/navigationbar'; -@import 'core/helpers/navigationbar'; -@import 'core/widgets/navigationlist'; -@import 'core/widgets/navigationtree'; -@import 'core/helpers/navigationtree'; -@import 'core/widgets/simplemenubar'; -@import 'core/helpers/simplemenubar'; -@import 'core/widgets/radiobuttons'; -@import 'core/widgets/tabcontainer'; -@import 'core/helpers/tabcontainer'; -@import 'core/widgets/tables'; -@import 'core/helpers/tables'; -@import 'core/widgets/templategrids'; -@import 'core/helpers/templategrids'; -@import 'core/widgets/typography'; -@import 'core/helpers/typography'; -@import 'core/widgets/layoutgrid'; -@import 'core/widgets/progress'; -@import 'core/helpers/helperclasses'; - -// Custom widgets -@import 'core/widgetscustom/dijit-widgets'; -@import 'core/widgetscustom/progress-bar-theme'; -@import 'core/widgetscustom/progress-circle-theme'; -@import 'core/widgetscustom/range-slider-theme'; -@import 'core/widgetscustom/slider-theme'; -@import 'core/widgetscustom/star-rating-theme'; -@import 'core/widgetscustom/switchwidget'; - -//================================= CUSTOM =================================\\ - -// Building blocks -@import 'ui_resources/atlas_ui_resources/buildingblocks/breadcrumb'; -@import 'ui_resources/atlas_ui_resources/buildingblocks/card'; -@import 'ui_resources/atlas_ui_resources/buildingblocks/chat'; -@import 'ui_resources/atlas_ui_resources/buildingblocks/controlgroup'; -@import 'ui_resources/atlas_ui_resources/buildingblocks/pageblocks'; -@import 'ui_resources/atlas_ui_resources/buildingblocks/pageheader'; -@import 'ui_resources/atlas_ui_resources/buildingblocks/heroheader'; -@import 'ui_resources/atlas_ui_resources/buildingblocks/formblock'; -@import 'ui_resources/atlas_ui_resources/buildingblocks/master-detail'; -@import 'ui_resources/atlas_ui_resources/buildingblocks/userprofile'; -@import 'ui_resources/atlas_ui_resources/buildingblocks/wizard'; -@import 'ui_resources/atlas_ui_resources/buildingblocks/timeline'; - -// Layouts -@import 'ui_resources/atlas_ui_resources/layouts/layout-atlas'; -@import 'ui_resources/atlas_ui_resources/layouts/layout-atlas-phone'; -@import 'ui_resources/atlas_ui_resources/layouts/layout-atlas-responsive'; -@import 'ui_resources/atlas_ui_resources/layouts/layout-atlas-tablet'; -@import 'ui_resources/atlas_ui_resources/layouts/layout-atlas-device-wrapper'; - -// Custom -@import 'app/custom'; diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_breadcrumb.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_breadcrumb.scss deleted file mode 100644 index b5655be..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_breadcrumb.scss +++ /dev/null @@ -1,44 +0,0 @@ -/* ========================================================================== - Breadcrumbs - -========================================================================== */ -.breadcrumb { - //reset - margin: 0; - padding: 0; - border-radius: 0; - background-color: transparent; - font-size: $font-size-default; -} - -//== Elements -//-------------------------------------------------------------------------------------------------------------------// -.breadcrumb-item { - display: inline-block; - margin: 0; - &:last-child { - color: $font-color-default; - a { - text-decoration: none; - } - } -} -.breadcrumb-item + .breadcrumb-item { - &::before { - display: inline-block; - padding-right: 10px; - padding-left: 10px; - content: "/"; - color: $gray-light; - } -} - -//== Variations -//-------------------------------------------------------------------------------------------------------------------// -.breadcrumb-large { - font-size: $font-size-h3; -} -.breadcrumb-underline { - padding-bottom: $gutter-size; - border-bottom: 1px solid $border-color-default; -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_card.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_card.scss deleted file mode 100644 index ddfc68d..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_card.scss +++ /dev/null @@ -1,337 +0,0 @@ -/* ========================================================================== - Cards - -========================================================================== */ -.card { - padding: 30px; - border: 1px solid $border-color-default; - border-radius: $border-radius-default; - background-color: #FFFFFF; -} - -//== Elements -//-------------------------------------------------------------------------------------------------------------------// -.card-title { - margin-top: 0; -} - -//== Variations -//-------------------------------------------------------------------------------------------------------------------// -.cardaction { - .card-image { - .glyphicon { - font-size: 58px; - } - } -} - -.cardmetrics { - .card-title { - margin-bottom: 0; - } - - .figurecontent { - } - - .card-image { - width: 100px; - height: auto; - // If btn - &.btn { - width: 100px; - height: 100px; - padding: 0; - cursor: default; - pointer-events: none; - font-size: 40px; - } - } - - .card-counter { - margin: 0; - font-size: 64px; - } - - .card-morebutton { - } -} - -.cardinfo { - .card-text { - margin-bottom: $spacing-large; - } -} - -// Used in card info -.textwithicon { - overflow: hidden; - max-width: 100%; - margin-bottom: 15px; - text-overflow: ellipsis; - - .textwithicon-icon, - .textwithicon-text { - display: inline-block; - vertical-align: middle; - } - - .textwithicon-icon { - margin-right: 15px; - padding: 0; - color: $brand-primary; // class .text-primary - border: 0; - background: transparent; - font-size: 23px; - } - - .textwithicon-text { - } -} - -// Used in card info -.socialprofiles { - .socialprofiles-title { - display: block; - margin-bottom: 10px; - font-weight: bold; // class text-bold - } - - .socialprofiles-button { - width: 24px; - height: 24px; - margin-right: 15px; - padding: 0; - border-radius: 24px; - - .glyphicon { - margin: 0; - } - } -} - - -.cardtabs { - padding: 0; -} - -.cardtabs-tabs { - margin: 0; - - ul.mx-tabcontainer-tabs { - display: flex; - margin: 0; - background-color: mix($tabs-border-color, #FFFFFF, 20%); - - li { - flex: 1 1 auto; - text-align: center; - - a, - a:hover, - a:focus { - border-top-width: 0; - border-right-width: 1px; - border-left-width: 0; - } - - &:first-child a { - border-radius: $border-radius-default 0 0 0; - } - - &:last-child a { - border-radius: 0 $border-radius-default 0 0; - } - } - } - - .mx-tabcontainer-pane { - @include get-responsive-spacing-large($type: padding, $direction: all); - } -} - -.carduser { - .card-controls { - } - - .card-title { - } - - .card-detail { - } -} - -.cardgraph { - .card-title { - } -} - -.cardchart { - .card-title { - } -} - -.cardproduct { - padding: 0; - -} - -.cardproduct-header { - position: relative; - overflow: hidden; - height: 200px; - - .card-image { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: auto; - } - -} - -.cardproduct-overlay { - position: absolute; - bottom: 0; - left: 0; - width: 100%; - padding: 20px 30px; - background: rgba(0, 0, 0, 0.60); - -} - -.cardproduct-overlay-category, -.cardproduct-overlay-title { - margin: 0; - color: #FFFFFF; -} - -.cardproduct-footer .col { - padding: 20px 30px; - - .widget-star-rating-font { - font-size: 20px; - } -} - -.cardproduct-name { - margin: 0; -} - -.cardproduct-btn { - display: flex; - align-items: center; - height: 100%; - padding: 30px; - border-left: 1px solid $border-color-default; -} - -.cardproduct2 { - @extend .cardproduct; - - .cardproduct-header { - &::after { - position: absolute; - bottom: 0; - left: 0; - display: block; - width: 100%; - padding: 20px 30px; - content: ""; - background: rgba(0, 0, 0, 0.60); - background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 2%, rgba(0, 0, 0, 0.99) 99%, rgba(0, 0, 0, 1) 100%); - background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 2%, rgba(0, 0, 0, 0.99) 99%, rgba(0, 0, 0, 1) 100%); - background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 2%, rgba(0, 0, 0, 0.99) 99%, rgba(0, 0, 0, 1) 100%); - } - } -} - - -.cardproduct3 { - @extend .cardproduct; - - .cardproduct-header { - height: 320px; - - img { - width: 100%; - height: 100%; - object-fit: cover; - } - - } - - .cardproduct-overlay { - min-height: 100px; - padding: 30px; - background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 8%, rgba(0, 0, 0, 0.99) 121%, rgba(0, 0, 0, 1) 100%); - background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 8%, rgba(0, 0, 0, 0.99) 121%, rgba(0, 0, 0, 1) 100%); - background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0) 8%, rgba(0, 0, 0, 0.99) 121%, rgba(0, 0, 0, 1) 100%); - font-size: $font-size-default; - } -} - -.cardshopping { -} - -.carduserlist { -} - -.cardstatus { - padding: 20px; - - .card-linkicon { - font-size: 30px; - } - - .cardstatus-status { - margin-bottom: 5px; - } -} - -.cardpayment { -} - -.cardprogress { -} - -.cardprogress-state { - width: 80px; - height: 80px; - padding: 0; - cursor: default; - pointer-events: none; - border-radius: 100%; - font-size: 28px; -} - -.cardhighlight { - border-top: 4px solid $brand-primary; -} - -.cardchat { - overflow: hidden; - padding: 0; - - .chat { - height: 400px; - } -} - -@media screen and (max-width: $screen-md-max) { - .widget-charts:not([height]), - .widget-charts-line:not([height]) { - padding-bottom: 80% !important; - } -} - - -@media screen and (max-width: $screen-lg-max) { - .cardprogress { - .cardprogress-state { - width: 60px; - height: 60px; - font-size: 24px; - } - } -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_chat.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_chat.scss deleted file mode 100644 index 4dba229..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_chat.scss +++ /dev/null @@ -1,148 +0,0 @@ -/* ========================================================================== - Chats - -========================================================================== */ -.chat { - display: flex; - flex-direction: column; - height: 100%; - background-color: $bg-color-secondary; -} - -//== Elements -//-------------------------------------------------------------------------------------------------------------------// -.chat-content { - display: flex; - overflow: auto; - flex: 1; - flex-direction: column; - justify-content: flex-end; - - .chat-list { - position: relative; - overflow: auto; - - ul { - display: flex; - flex-direction: column-reverse; - margin-bottom: $m-spacing-large; - } - - li { - padding: 15px 30px; - animation: fadeIn 0.2s; - background-color: transparent; - animation-fill-mode: both; - - &, - &:last-child { - border: 0; - } - } - - .mx-listview-loadMore { - position: absolute; - top: 0; - right: 0; - left: 0; - display: block; - width: 50%; - margin: 15px auto; - color: #FFFFFF; - background-color: $brand-primary; - box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.05); - } - } -} - - -.chat-message { - display: flex; -} - -.chat-avatar { - margin: 0 20px 0 0; - border-radius: 50%; -} - -.chat-message-content { - display: inline-flex; - flex-direction: column; -} - -.chat-message-balloon { - position: relative; - display: flex; - flex-direction: column; - padding: 10px 15px; - border-radius: 5px; - background-color: $bg-color; - - &::after { - position: absolute; - top: 10px; - right: 100%; - width: 0; - height: 0; - content: ''; - border: 10px solid transparent; - border-top: 0; - border-right-color: $bg-color; - border-left: 0; - } -} - -.chat-message-time { - padding-top: 2px; - - .form-control-static { - border: 0; - } -} - -.chat-footer { - z-index: 1; - padding: $m-spacing-large; - background-color: $bg-color; - box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.05); -} - -.chat-input { - display: flex; - - .chat-textbox { - flex: 1; - margin-right: $spacing-large; - margin-bottom: 0; - - .form-control { - border: 0; - } - } -} - -//== Variations -//-------------------------------------------------------------------------------------------------------------------// -.chat-message-self { - justify-content: flex-end; - - .chat-avatar { - margin: 0 0 0 20px; - } - - .chat-message-balloon { - background-color: $color-primary-lighter; - - &::after { - left: 100%; - border: 10px solid transparent; - border-top: 0; - border-right: 0; - border-left-color: $color-primary-lighter; - } - } - - .chat-message-time { - text-align: right; - } -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_controlgroup.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_controlgroup.scss deleted file mode 100644 index 9ce1f84..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_controlgroup.scss +++ /dev/null @@ -1,25 +0,0 @@ -/* ========================================================================== - Control Group - - A group of buttons next to eachother -========================================================================== */ -.controlgroup { - .btn, - .btn-group { - margin-right: $spacing-small; - margin-bottom: $spacing-small; - - &:last-child { - margin-right: 0; - } - .btn { - margin-right: 0; - margin-bottom: 0; - } - } - .btn-group { - .btn + .btn { - margin-left: -1px; - } - } -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_formblock.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_formblock.scss deleted file mode 100644 index 9ecfc2f..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_formblock.scss +++ /dev/null @@ -1,15 +0,0 @@ -/* ========================================================================== - Form Block - - Used in default forms -========================================================================== */ -.formblock { -} - -//== Elements -//-------------------------------------------------------------------------------------------------------------------// -.formblock-title { - margin-bottom: $gutter-size; - padding-bottom: $gutter-size; - border-bottom: 1px solid $border-color-default; -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_heroheader.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_heroheader.scss deleted file mode 100644 index f00c387..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_heroheader.scss +++ /dev/null @@ -1,99 +0,0 @@ -/* ========================================================================== - Pageheader - -========================================================================== */ -.heroheader { - border-bottom: 1px solid $border-color-default; - background: $header-bg-color; -} - -//== Elements -//-------------------------------------------------------------------------------------------------------------------// -.heroheader-title { - margin: 0 0 10px 0; -} - -.heroheader-subtitle { - margin: 0; - padding: 0 15px; - - &::before { - display: block; - max-width: 330px; - height: 1px; - margin: auto auto 10px auto; - content: ""; - background-color: lighten($border-color-default, 4); - } -} - -//== Variations -//-------------------------------------------------------------------------------------------------------------------// -.heroheader1 { - background-image: $brand-gradient; - - .heroheader-title { - margin-bottom: 10px; - color: #FFFFFF; - } - - .heroheader-subtitle { - padding: 0; - color: #FFFFFF; - - &::before { - display: none; - } - } -} - -.heroheadermap { - padding: 0 !important; -} - -.heroheadermap-controls { - padding: $spacing-large; - background: $header-bg-color; -} - -.heroheaderproduct { - position: relative; - overflow: hidden; - height: 300px; - background-color: #000000; - - .heroheaderproduct-backgroundimage { - position: absolute; - z-index: 0; - top: 0; - width: 100%; - opacity: 0.7; - filter: blur(5px); - } - - .heroheaderproduct-overlay { - position: absolute; - z-index: 1; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - } -} - -.heroheaderexpense { - .heroheaderexpense-title { - font-size: 72px; - } - - .heroheaderexpense-type { - align-items: center; - - &::before { - flex-grow: 1; - height: 1px; - margin-right: 10px; - content: ""; - background-color: #D2D2D2; - } - } -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_master-detail.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_master-detail.scss deleted file mode 100644 index 2422239..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_master-detail.scss +++ /dev/null @@ -1,46 +0,0 @@ -/* ========================================================================== - Master Detail - - A list with a listening dataview -========================================================================== */ -.masterdetail { - .masterdetail-master { - .controlgroup { - margin-bottom: $gutter-size; - } - - @media (max-width: $screen-lg) { - @include layout-spacing($type: margin, $direction: bottom, $device: responsive); - } - - @media (min-width: $screen-lg) { - border-right: 1px solid $border-color-default; - - .mx-listview-searchbar { - margin: $gutter-size; - } - .controlgroup { - padding: $gutter-size; - border-bottom: 1px solid $border-color-default; - } - } - } - - .masterdetail-detail { - @media (min-width: $screen-lg) { - @include layout-spacing($type: padding, $direction: all, $device: responsive); - } - } -} - -//== Variations -//-------------------------------------------------------------------------------------------------------------------// -.masterdetailvertical { - .masterdetail-master { - @include layout-spacing($type: margin, $direction: bottom, $device: responsive); - } - - .masterdetail-detail { - @include layout-spacing($type: padding, $direction: top, $device: responsive); - } -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_pageblocks.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_pageblocks.scss deleted file mode 100644 index a1bfd9a..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_pageblocks.scss +++ /dev/null @@ -1,28 +0,0 @@ -/* ========================================================================== - Full page blocks - - Blocks that take up the full width and height -========================================================================== */ - -.fullpageblock { - position: relative; - height: 100%; - min-height: 100%; - - // Helper to make it fullheight - .fullheight { - height: 100% !important; - - & > .mx-dataview-content { - height: inherit !important; - } - } - - .fullpage-overlay { - position: absolute; - z-index: 10; - bottom: 0; - left: 0; - width: 100%; - } -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_pageheader.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_pageheader.scss deleted file mode 100644 index 3425161..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_pageheader.scss +++ /dev/null @@ -1,59 +0,0 @@ -/* ========================================================================== - Pageheader -========================================================================== */ - -//== Default -//-------------------------------------------------------------------------------------------------------------------// -.pageheader { - border-bottom: 1px solid $border-color-default; - background: $header-bg-color; -} - -// Check if it is part of a inner layoutgrid -.mx-scrollcontainer .mx-placeholder .mx-layoutgrid .pageheader { - @include get-responsive-spacing-large($type: margin, $direction: bottom); - @include get-responsive-spacing-large($type: padding, $direction: bottom); - background: transparent; -} - -//== Elements -//-------------------------------------------------------------------------------------------------------------------// -.pageheader-type { - margin: 0; -} - -.pageheader-title { - margin: 0; -} - -.pageheader-subtitle { - margin: 0; -} - -//== Variations -//-------------------------------------------------------------------------------------------------------------------// -.pageheaderwithcontrols { - .controlgroup { - } -} - -.pageheaderwithimage { - .pageheader-image { - } - .figurecontent { - } -} - -.pageheaderwithimageandcontrols { -} - -.pageheaderwithsearch { - .pageheader-title { - margin-bottom: 1em; - } -} - -.pageheaderwithbreadcrumb { - .breadcrumb { - } -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_timeline.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_timeline.scss deleted file mode 100644 index 63f4d65..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_timeline.scss +++ /dev/null @@ -1,46 +0,0 @@ -// Timeline -.timeline { - .timeline-header { - display: inline-block; - width: 110px; - padding: 8px; - text-align: center; - border: 1px solid $border-color-default; - border-radius: 30px; - } -} -.timeline-itemwrapper.mx-listview { - margin-bottom: 0; - margin-left: 55px; - padding: $spacing-large 0; - border-left: 1px solid $border-color-default; - & > ul > li { - position: relative; - padding-left: ($gutter-size * 2); - - &::before { - position: absolute; - top: 5px; - left: -5px; - display: block; - width: 10px; - height: 10px; - content: ''; - border-radius: 50%; - background-color: $brand-primary; - } - } - li + li { - margin-top: $spacing-large; - } -} - -//== Variations -//-------------------------------------------------------------------------------------------------------------------// -.timeline2 { - .timeline-itemwrapper.mx-listview { - & > ul > li { - padding-left: $gutter-size; - } - } -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_userprofile.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_userprofile.scss deleted file mode 100644 index c4544a9..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_userprofile.scss +++ /dev/null @@ -1,12 +0,0 @@ -/* ========================================================================== - User profile blocks - - -========================================================================== */ -.userprofile { - .userprofile-img { - } - .userprofile-title { - } - .userprofile-subtitle { - } -} \ No newline at end of file diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_wizard.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_wizard.scss deleted file mode 100644 index 37df48d..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/buildingblocks/_wizard.scss +++ /dev/null @@ -1,137 +0,0 @@ -$wizard-step-number-size: 60px; -$wizard-step-height: 50px; - -.wizard { - display: flex; - justify-content: space-between; - .wizard-step { - position: relative; - width: 100%; - text-align: center; - &::before { - position: absolute; - z-index: -1; - top: $wizard-step-number-size / 2; - display: block; - width: 100%; - height: 2px; - content: ""; - background-color: $border-color-default; - } - .wizard-step-number { - width: $wizard-step-number-size; - height: $wizard-step-number-size; - border-color: $border-color-default; - border-radius: 50%; - background-color: #FFFFFF; - font-size: 20px; - } - .wizard-step-text { - display: block; - margin-top: 15px; - } - } - - - // States - .wizard-step-active { - .wizard-step-number { - color: #FFFFFF; - border-color: $brand-primary; - background-color: $brand-primary; - } - .wizard-step-text { - color: $brand-primary; - } - } - .wizard-step-visited { - .wizard-step-number { - color: #FFFFFF; - border-color: $brand-success; - background-color: $brand-success; - } - .wizard-step-text { - } - } -} - -.wizardprogress { - display: flex; - justify-content: space-between; - - .wizard-step-text { - width: 100%; - } - - .wizard-step { - position: relative; - width: 100%; - height: $wizard-step-height; - margin-left: 0 - ($wizard-step-height / 2); - padding-left: ($wizard-step-height / 2); - border: 1px solid $border-color-default; - background: #FFFFFF; - - a { - display: block; - overflow: hidden; - width: 100%; - height: 100%; - padding: 14px; - white-space: nowrap; - text-decoration: none; - text-overflow: ellipsis; - color: $font-color-default; - } - &::before, - &::after { - position: absolute; - z-index: 1; - left: 100%; - margin-left: 0 - ($wizard-step-height / 2); - content: " "; - border-style: solid; - border-color: transparent; - } - &::after { - top: 1px; - border-width: (($wizard-step-height / 2) - 1); - border-left-color: #FFFFFF; - } - &::before { - top: 0; - border-width: $wizard-step-height / 2; - border-left-color: $border-color-default; - } - - &:first-child { - margin-left: 0; - padding-left: 0; - border-radius: 5px 0 0 5px; - } - - &:last-child { - border-radius: 0 5px 5px 0; - &::before, - &::after { - display: none; - } - } - } - // States - .wizard-step-active { - background: $brand-primary; - a { - text-decoration: none; - color: #FFFFFF; - } - &::after { - border-left-color: $brand-primary; - } - } - .wizard-step-visited { - a { - color: $link-color; - } - } -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-device-wrapper.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-device-wrapper.scss deleted file mode 100644 index 8f5686c..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-device-wrapper.scss +++ /dev/null @@ -1,56 +0,0 @@ -.devicephone { - width: 420px; - height: 992px; - margin: auto; - padding: 120px 40px; - background: url(../../../resources/phone.png) no-repeat center center; - - .deviceframe, - .deviceshadowwrapper { - border-radius: 40px; - } -} - -.devicetablet { - width: 1210px; - height: 1000px; - margin: auto; - padding: 120px 100px; - background: url(../../../resources/tablet.png) no-repeat center center; - - .deviceframe, - .deviceshadowwrapper { - border-radius: 20px; - } -} - -.deviceframe { - width: 100%; - height: 100%; - border: none; -} -.deviceshadowwrapper { - position: relative; - width: 100%; - height: 100%; -} -.deviceshadow { - position: absolute; - z-index: 2; - top: 0; - right: 0; - bottom: 0; - left: 0; - content: ''; - pointer-events: none; - box-shadow: inset 10px 0 10px -10px black, inset -10px 0 10px -10px black; -} -.devicedisclaimer { - margin-top: 80px; - padding: 10px; - text-align: center; - color: $gray-light; - border-top: 1px solid $border-color-default; - font-size: 12px; - line-height: 20px; -} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-tablet.scss b/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-tablet.scss deleted file mode 100644 index dfa318e..0000000 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-tablet.scss +++ /dev/null @@ -1,8 +0,0 @@ -/* ========================================================================== - Atlas layout - - Extra styling for tablet layouts -========================================================================== */ -.layout-atlas-tablet { - // tablet -} diff --git a/theme/web/custom-variables.scss b/theme/web/custom-variables.scss new file mode 100644 index 0000000..1c8e129 --- /dev/null +++ b/theme/web/custom-variables.scss @@ -0,0 +1,674 @@ +// +// ██████╗ █████╗ ███████╗██╗ ██████╗ +// ██╔══██╗██╔══██╗██╔════╝██║██╔════╝ +// ██████╔╝███████║███████╗██║██║ +// ██╔══██╗██╔══██║╚════██║██║██║ +// ██████╔╝██║ ██║███████║██║╚██████╗ +// ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═════╝ +// + +//== Gray Shades +//## Different gray shades to be used for our variables and components +$gray-darker: #0a1325; +$gray-dark: #474e5c; +$gray: #787d87; +$gray-light: #a9acb3; +$gray-primary: #e7e7e9; +$gray-lighter: #f8f8f8; + +//== Step 1: Brand Colors +$brand-default: $gray-primary; +$brand-primary: #264ae5; +$brand-success: #3cb33d; +$brand-warning: #eca51c; +$brand-danger: #e33f4e; + +$brand-logo: false; +$brand-logo-height: 32px; +$brand-logo-width: 32px; // Only used for CSS brand logo + +//== Step 2: UI Customization + +// Default Font Size & Color +$font-size-default: 14px; +$font-color-default: #0a1325; + +// Global Border Color +$border-color-default: #ced0d3; +$border-radius-default: 4px; + +// Topbar +$topbar-bg: #020557; +$topbar-minimalheight: 48px; +$topbar-border-color: $border-color-default; + +// Topbar mobile +$m-header-height: 45px; +$m-header-bg: $topbar-bg; +$m-header-color: #fff; +$m-header-title-size: 16px; + +// Navbar Brand Name / For your company, product, or project name (used in layouts/base/) +$navbar-brand-name: $font-color-default; + +// Background Colors +// Backgrounds +$bg-color: #f8f8f8; +$bg-color-secondary: #fff; + +// Default Link Color +$link-color: $brand-primary; +$link-hover-color: darken($link-color, 15%); + +// +// █████╗ ██████╗ ██╗ ██╗ █████╗ ███╗ ██╗ ██████╗███████╗██████╗ +// ██╔══██╗██╔══██╗██║ ██║██╔══██╗████╗ ██║██╔════╝██╔════╝██╔══██╗ +// ███████║██║ ██║██║ ██║███████║██╔██╗ ██║██║ █████╗ ██║ ██║ +// ██╔══██║██║ ██║╚██╗ ██╔╝██╔══██║██║╚██╗██║██║ ██╔══╝ ██║ ██║ +// ██║ ██║██████╔╝ ╚████╔╝ ██║ ██║██║ ╚████║╚██████╗███████╗██████╔╝ +// ╚═╝ ╚═╝╚═════╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ +// + +//== Typography +//## Change your font family, weight, line-height, headings and more (used in components/typography) + +// Font Family Import (Used for google font plugin in theme creater) +$font-family-import: "https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700"; + +// Font Family / False = fallback from Bootstrap (Helvetica Neue) +$font-family-base: "SFProDisplay", "Open Sans", sans-serif; + +// Font Sizes +$font-size-large: 18px; +$font-size-small: 12px; + +// Font Weights +$font-weight-light: 100; +$font-weight-normal: normal; +$font-weight-semibold: 600; +$font-weight-bold: bold; + +// Font Size Headers +$font-size-h1: 31px; +$font-size-h2: 26px; +$font-size-h3: 24px; +$font-size-h4: 18px; +$font-size-h5: $font-size-default; +$font-size-h6: 12px; + +// Font Weight Headers +$font-weight-header: $font-weight-semibold; + +// Line Height +$line-height-base: 1.428571429; + +// Spacing +$font-header-margin: 0 0 8px 0; + +// Text Colors +$font-color-detail: #6c717e; +$font-color-header: #0a1325; + +//== Navigation +//## Used in components/navigation + +// Default Navigation styling +$navigation-item-height: unset; +$navigation-item-padding: 8px; + +$navigation-font-size: 14px; +$navigation-sub-font-size: $font-size-small; +$navigation-glyph-size: 20px; // For glyphicons that you can select in the Mendix Modeler + +$navigation-color: #fff; +$navigation-color-hover: #fff; +$navigation-color-active: #fff; + +$navigation-sub-color: #fff; +$navigation-sub-color-hover: #fff; +$navigation-sub-color-active: #fff; + +// Navigation Sidebar +$navsidebar-bg: #24276c; +$navsidebar-bg-hover: #020557; +$navsidebar-bg-active: #020557; + +$navsidebar-sub-bg: #020557; +$navsidebar-sub-bg-hover: #24276c; +$navsidebar-sub-bg-active: #24276c; + +$navsidebar-border-color: $navsidebar-bg-hover; + +$navsidebar-font-size: $font-size-default; +$navsidebar-sub-font-size: $font-size-small; +$navsidebar-glyph-size: 20px; // For glyphicons that you can select in the Mendix Modeler + +$navsidebar-color: #fff; +$navsidebar-color-hover: #fff; +$navsidebar-color-active: #fff; + +$navsidebar-sub-color: #fff; +$navsidebar-sub-color-hover: #fff; +$navsidebar-sub-color-active: #fff; + +// Navigation topbar +$navtopbar-font-size: $font-size-default; +$navtopbar-sub-font-size: $font-size-small; +$navtopbar-glyph-size: 1.2em; // For glyphicons that you can select in the Mendix Modeler + +$navtopbar-bg: $topbar-bg; +$navtopbar-bg-hover: mix($topbar-bg, white, 85%); +$navtopbar-bg-active: mix($topbar-bg, white, 85%); +$navtopbar-color: #fff; +$navtopbar-color-hover: $navtopbar-color; +$navtopbar-color-active: $navtopbar-color; + +$navtopbar-sub-bg: $topbar-bg; +$navtopbar-sub-bg-hover: $navtopbar-bg-hover; +$navtopbar-sub-bg-active: $navtopbar-bg-hover; +$navtopbar-sub-color: #fff; +$navtopbar-sub-color-hover: #fff; +$navtopbar-sub-color-active: #fff; + +//## Used in layouts/base +$navtopbar-border-color: $topbar-border-color; + +//== Form +//## Used in components/inputs + +// Values that can be used default | lined +$form-input-style: default; + +// Form Label +$form-label-color: $font-color-default; +$form-label-size: $font-size-default; +$form-label-weight: $font-weight-semibold; +$form-label-gutter: 8px; + +// Form Input dimensions +$form-input-height: auto; +$form-input-padding-y: 8px; +$form-input-padding-x: 8px; +$form-input-static-padding-y: 8px; +$form-input-static-padding-x: 0; +$form-input-font-size: $form-label-size; +$form-input-line-height: $line-height-base; +$form-input-border-radius: $border-radius-default; + +// Form Input styling +$form-input-bg: #fff; +$form-input-bg-focus: #fff; +$form-input-bg-hover: $gray-primary; +$form-input-bg-disabled: $bg-color; +$form-input-color: $font-color-default; +$form-input-focus-color: $form-input-color; +$form-input-disabled-color: #9da1a8; +$form-input-placeholder-color: #6c717c; +$form-input-border-color: $gray-primary; +$form-input-border-focus-color: $brand-primary; + +// Form Input Static styling +$form-input-static-border-color: $gray-primary; + +// Form Group +$form-group-margin-bottom: 16px; +$form-group-gutter: 16px; + +//== Buttons +//## Define background-color, border-color and text. Used in components/buttons + +// Default button style +$btn-font-size: 14px; +$btn-bordered: false; // Default value false, set to true if you want this effect +$btn-border-radius: $border-radius-default; + +// Button Background Color +$btn-default-bg: #fff; +$btn-primary-bg: $brand-primary; +$btn-success-bg: $brand-success; +$btn-warning-bg: $brand-warning; +$btn-danger-bg: $brand-danger; + +// Button Border Color +$btn-default-border-color: $gray-primary; +$btn-primary-border-color: $brand-primary; +$btn-success-border-color: $brand-success; +$btn-warning-border-color: $brand-warning; +$btn-danger-border-color: $brand-danger; + +// Button Text Color +$btn-default-color: $brand-primary; +$btn-primary-color: #fff; +$btn-success-color: #fff; +$btn-warning-color: #fff; +$btn-danger-color: #fff; + +// Button Icon Color +$btn-default-icon-color: $gray; + +// Button Background Color +$btn-default-bg-hover: $btn-default-border-color; +$btn-primary-bg-hover: mix($btn-primary-bg, black, 80%); +$btn-success-bg-hover: mix($btn-success-bg, black, 80%); +$btn-warning-bg-hover: mix($btn-warning-bg, black, 80%); +$btn-danger-bg-hover: mix($btn-danger-bg, black, 80%); +$btn-link-bg-hover: $gray-lighter; + +//== Header blocks +//## Define look and feel over multible building blocks that serve as header + +$header-min-height: 240px; +$header-bg-color: $brand-primary; +$header-bgimage-filter: brightness(60%); +$header-text-color: #fff; +$header-text-color-detail: rgba(0, 0, 0, 0.2); + +// +// ███████╗██╗ ██╗██████╗ ███████╗██████╗ ████████╗ +// ██╔════╝╚██╗██╔╝██╔══██╗██╔════╝██╔══██╗╚══██╔══╝ +// █████╗ ╚███╔╝ ██████╔╝█████╗ ██████╔╝ ██║ +// ██╔══╝ ██╔██╗ ██╔═══╝ ██╔══╝ ██╔══██╗ ██║ +// ███████╗██╔╝ ██╗██║ ███████╗██║ ██║ ██║ +// ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ +// + +//== Color variations +//## These variations are used to support several other variables and components + +// Color variations +$color-default-darker: mix($brand-default, black, 60%); +$color-default-dark: mix($brand-default, black, 70%); +$color-default-light: mix($brand-default, white, 60%); +$color-default-lighter: mix($brand-default, white, 20%); + +$color-primary-darker: mix($brand-primary, black, 60%); +$color-primary-dark: mix($brand-primary, black, 70%); +$color-primary-light: mix($brand-primary, white, 60%); +$color-primary-lighter: mix($brand-primary, white, 20%); + +$color-success-darker: mix($brand-success, black, 60%); +$color-success-dark: mix($brand-success, black, 70%); +$color-success-light: mix($brand-success, white, 60%); +$color-success-lighter: mix($brand-success, white, 20%); + +$color-warning-darker: mix($brand-warning, black, 60%); +$color-warning-dark: mix($brand-warning, black, 70%); +$color-warning-light: mix($brand-warning, white, 60%); +$color-warning-lighter: mix($brand-warning, white, 20%); + +$color-danger-darker: mix($brand-danger, black, 60%); +$color-danger-dark: mix($brand-danger, black, 70%); +$color-danger-light: mix($brand-danger, white, 60%); +$color-danger-lighter: mix($brand-danger, white, 20%); + +$brand-gradient: linear-gradient(to right top, #264ae5, #2239c5, #1b29a6, #111988, #03096c); + +//== Grids +//## Used for Datagrid, Templategrid, Listview & Tables (see components folder) + +// Default Border Colors +$grid-border-color: $border-color-default; + +// Spacing +// Default +$grid-padding-top: 16px; +$grid-padding-right: 16px; +$grid-padding-bottom: 16px; +$grid-padding-left: 16px; + +// Listview +$listview-padding-top: 16px; +$listview-padding-right: 16px; +$listview-padding-bottom: 16px; +$listview-padding-left: 16px; + +// Background Colors +$grid-bg: transparent; +$grid-bg-header: transparent; // Grid Headers +$grid-bg-hover: mix($grid-border-color, #fff, 20%); +$grid-bg-selected: mix($grid-border-color, #fff, 30%); +$grid-bg-selected-hover: mix($grid-border-color, #fff, 50%); + +// Striped Background Color +$grid-bg-striped: mix($grid-border-color, #fff, 10%); + +// Background Footer Color +$grid-footer-bg: $gray-primary; + +// Text Color +$grid-selected-color: $font-color-default; + +// Paging Colors +$grid-paging-bg: transparent; +$grid-paging-bg-hover: transparent; +$grid-paging-border-color: transparent; +$grid-paging-border-color-hover: transparent; +$grid-paging-color: $gray-light; +$grid-paging-color-hover: $brand-primary; + +//== Tabs +//## Default variables for Tab Container Widget (used in components/tabcontainer) + +// Text Color +$tabs-color: $font-color-detail; +$tabs-color-active: $font-color-default; +$tabs-lined-color-active: $font-color-default; + +$tabs-lined-border-width: 3px; + +// Border Color +$tabs-border-color: $border-color-default; +$tabs-lined-border-color: $brand-primary; + +// Background Color +$tabs-bg: transparent; +$tabs-bg-pills: #e7e7e9; +$tabs-bg-hover: lighten($tabs-border-color, 5); +$tabs-bg-active: $brand-primary; + +//== Modals +//## Default Mendix Modal, Blocking Modal and Login Modal (used in components/modals) + +// Background Color +$modal-header-bg: transparent; + +// Border Color +$modal-header-border-color: $border-color-default; + +// Text Color +$modal-header-color: $font-color-default; + +//== Dataview +//## Default variables for Dataview Widget (used in components/dataview) + +// Controls +$dataview-controls-bg: transparent; +$dataview-controls-border-color: $border-color-default; + +// Empty Message +$dataview-emptymessage-bg: $bg-color; +$dataview-emptymessage-color: $font-color-default; + +//== Alerts +//## Default Bootstrap alerts, not a widget in the Modeler (used in components/alerts) + +// Background Color +$alert-success-bg: $color-success-lighter; +$alert-warning-bg: $color-warning-lighter; +$alert-danger-bg: $color-danger-lighter; + +// Text Color +$alert-success-color: $color-success-darker; +$alert-warning-color: $color-warning-darker; +$alert-danger-color: $color-danger-darker; + +// Border Color +$alert-success-border-color: $color-success-dark; +$alert-warning-border-color: $color-warning-dark; +$alert-danger-border-color: $color-danger-dark; + +//== Wizard + +$wizard-step-height: 48px; +$wizard-step-number-size: 64px; +$wizard-step-number-font-size: $font-size-h3; + +//Wizard step states +$wizard-default-bg: #fff; +$wizard-default-color: #fff; +$wizard-default-step-color: $font-color-default; +$wizard-default-border-color: $border-color-default; + +$wizard-active-bg: $color-primary-lighter; +$wizard-active-color: $color-primary-dark; +$wizard-active-step-color: $color-primary-dark; +$wizard-active-border-color: $color-primary-dark; + +$wizard-visited-bg: $color-success-lighter; +$wizard-visited-color: $color-success-dark; +$wizard-visited-step-color: $color-success-dark; +$wizard-visited-border-color: $color-success-dark; + +//== Labels +//## Default Bootstrap Labels, not a widget in the Modeler (used in components/labels) + +// Background Color +$label-default-bg: $brand-default; +$label-primary-bg: $brand-primary; +$label-success-bg: $brand-success; +$label-warning-bg: $brand-warning; +$label-danger-bg: $brand-danger; + +// Border Color +$label-default-border-color: $brand-default; +$label-primary-border-color: $brand-primary; +$label-success-border-color: $brand-success; +$label-warning-border-color: $brand-warning; +$label-danger-border-color: $brand-danger; + +// Text Color +$label-default-color: $font-color-default; +$label-primary-color: #fff; +$label-success-color: #fff; +$label-warning-color: #fff; +$label-danger-color: #fff; + +//== Groupbox +//## Default variables for Groupbox Widget (used in components/groupbox) + +// Background Color +$groupbox-default-bg: $gray-primary; +$groupbox-primary-bg: $brand-primary; +$groupbox-success-bg: $brand-success; +$groupbox-warning-bg: $brand-warning; +$groupbox-danger-bg: $brand-danger; +$groupbox-white-bg: #fff; + +// Text Color +$groupbox-default-color: $font-color-default; +$groupbox-primary-color: #fff; +$groupbox-success-color: #fff; +$groupbox-warning-color: #fff; +$groupbox-danger-color: #fff; +$groupbox-white-color: $font-color-default; + +//== Callout (groupbox) Colors +//## Extended variables for Groupbox Widget (used in components/groupbox) + +// Text and Border Color +$callout-default-color: $font-color-default; +$callout-success-color: $brand-success; +$callout-warning-color: $brand-warning; +$callout-danger-color: $brand-danger; + +// Background Color +$callout-default-bg: $color-default-lighter; +$callout-success-bg: $color-success-lighter; +$callout-warning-bg: $color-warning-lighter; +$callout-danger-bg: $color-danger-lighter; + +//== Timeline +//## Extended variables for Timeline Widget +// Colors +$timeline-icon-color: $brand-primary; +$timeline-border-color: $border-color-default; +$timeline-event-time-color: $brand-primary; + +// Sizes +$timeline-icon-size: 18px; +$timeline-image-size: 36px; + +//Timeline grouping +$timeline-grouping-size: 120px; +$timeline-grouping-border-radius: 30px; +$timeline-grouping-border-color: $timeline-border-color; + +//== Spacing +//## Advanced layout options (used in base/mixins/default-spacing) + +// Smallest spacing +$spacing-smallest: 2px; + +// Smaller spacing +$spacing-smaller: 4px; + +// Small spacing +$spacing-small: 8px; + +// Medium spacing +$spacing-medium: 16px; +$t-spacing-medium: 16px; +$m-spacing-medium: 16px; + +// Large spacing +$spacing-large: 24px; +$t-spacing-large: 24px; +$m-spacing-large: 16px; + +// Larger spacing +$spacing-larger: 32px; + +// Largest spacing +$spacing-largest: 48px; + +// Layout spacing +$layout-spacing-top: 24px; +$layout-spacing-right: 24px; +$layout-spacing-bottom: 24px; +$layout-spacing-left: 24px; + +$t-layout-spacing-top: 24px; +$t-layout-spacing-right: 24px; +$t-layout-spacing-bottom: 24px; +$t-layout-spacing-left: 24px; + +$m-layout-spacing-top: 16px; +$m-layout-spacing-right: 16px; +$m-layout-spacing-bottom: 16px; +$m-layout-spacing-left: 16px; + +// Combined layout spacing +$layout-spacing: $layout-spacing-top $layout-spacing-right $layout-spacing-bottom $layout-spacing-left; +$m-layout-spacing: $m-layout-spacing-top $m-layout-spacing-right $m-layout-spacing-bottom $m-layout-spacing-left; +$t-layout-spacing: $t-layout-spacing-top $t-layout-spacing-right $t-layout-spacing-bottom $t-layout-spacing-left; + +// Gutter size +$gutter-size: 8px; + +//== Tables +//## Table spacing options (used in components/tables) + +$padding-table-cell-top: 8px; +$padding-table-cell-bottom: 8px; +$padding-table-cell-left: 8px; +$padding-table-cell-right: 8px; + +//== Media queries breakpoints +//## Define the breakpoints at which your layout will change, adapting to different screen sizes. + +$screen-xs: 480px; +$screen-sm: 576px; +$screen-md: 768px; +$screen-lg: 992px; +$screen-xl: 1200px; + +// So media queries don't overlap when required, provide a maximum (used for max-width) +$screen-xs-max: ($screen-sm - 1); +$screen-sm-max: ($screen-md - 1); +$screen-md-max: ($screen-lg - 1); +$screen-lg-max: ($screen-xl - 1); + +//== Settings +//## Enable or disable your desired framework features +// Use of !important +$important-flex: true; // ./base/flex.scss +$important-spacing: true; // ./base/spacing.scss +$important-helpers: true; // ./helpers/helperclasses.scss + +//===== Legacy variables ===== + +//== Step 1: Brand Colors +$brand-inverse: #24276c; +$brand-info: #0086d9; + +//== Step 2: UI Customization + +//== Buttons +//## Define background-color, border-color and text. Used in components/buttons + +// Button Background Color +$btn-inverse-bg: $brand-inverse; +$btn-info-bg: $brand-info; + +// Button Border Color +$btn-inverse-border-color: $brand-inverse; +$btn-info-border-color: $brand-info; + +// Button Text Color +$btn-inverse-color: #fff; +$btn-info-color: #fff; + +// Button Background Color +$btn-inverse-bg-hover: mix($btn-inverse-bg, white, 80%); +$btn-info-bg-hover: mix($btn-info-bg, black, 80%); + +//== Color variations +//## These variations are used to support several other variables and components + +// Color variations +$color-inverse-darker: mix($brand-inverse, black, 60%); +$color-inverse-dark: mix($brand-inverse, black, 70%); +$color-inverse-light: mix($brand-inverse, white, 60%); +$color-inverse-lighter: mix($brand-inverse, white, 20%); + +$color-info-darker: mix($brand-info, black, 60%); +$color-info-dark: mix($brand-info, black, 70%); +$color-info-light: mix($brand-info, white, 60%); +$color-info-lighter: mix($brand-info, white, 20%); + +//== Alerts +//## Default Bootstrap alerts, not a widget in the Modeler (used in components/alerts) + +// Background Color +$alert-info-bg: $color-primary-lighter; + +// Text Color +$alert-info-color: $color-primary-darker; + +// Border Color +$alert-info-border-color: $color-primary-dark; + +//== Labels +//## Default Bootstrap Labels, not a widget in the Modeler (used in components/labels) + +// Background Color +$label-info-bg: $brand-info; +$label-inverse-bg: $brand-inverse; + +// Border Color +$label-info-border-color: $brand-info; +$label-inverse-border-color: $brand-inverse; + +// Text Color +$label-info-color: #fff; +$label-inverse-color: #fff; + +//== Groupbox +//## Default variables for Groupbox Widget (used in components/groupbox) + +// Background Color +$groupbox-inverse-bg: $brand-inverse; +$groupbox-info-bg: $brand-info; + +// Text Color +$groupbox-inverse-color: #fff; +$groupbox-info-color: #fff; + +//== Callout (groupbox) Colors +//## Extended variables for Groupbox Widget (used in components/groupbox) + +// Text and Border Color +$callout-info-color: $brand-info; + +// Background Color +$callout-info-bg: $color-info-lighter; diff --git a/theme/web/exclusion-variables.scss b/theme/web/exclusion-variables.scss new file mode 100644 index 0000000..183cc90 --- /dev/null +++ b/theme/web/exclusion-variables.scss @@ -0,0 +1,58 @@ +//== Widget style exclusion +$exclude-background-helpers: false; +$exclude-badge: false; +$exclude-badge-button: false; +$exclude-badge-button-helpers: false; +$exclude-button: false; +$exclude-button-helpers: false; +$exclude-check-box: false; +$exclude-custom-dijit-widget: false; +$exclude-custom-switch: false; +$exclude-data-grid: false; +$exclude-data-grid-helpers: false; +$exclude-data-view: false; +$exclude-data-picker: false; +$exclude-glyphicon: false; +$exclude-grid: false; +$exclude-group-box: false; +$exclude-group-box-helpers: false; +$exclude-header: false; +$exclude-helper-classes: false; +$exclude-input: false; +$exclude-image-helpers: false; +$exclude-label: false; +$exclude-label-helpers: false; +$exclude-layout-grid: false; +$exclude-list-view: false; +$exclude-list-view-helpers: false; +$exclude-modal: false; +$exclude-navigation-bar: false; +$exclude-navigation-bar-helpers: false; +$exclude-navigation-list: false; +$exclude-navigation-tree: false; +$exclude-navigation-tree-helpers: false; +$exclude-pagination: false; +$exclude-pop-up-menu: false; +$exclude-progress: false; +$exclude-progress-bar: false; +$exclude-progress-bar-helpers: false; +$exclude-progress-circle: false; +$exclude-progress-circle-helpers: false; +$exclude-radio-button: false; +$exclude-range-slider: false; +$exclude-range-slider-helpers: false; +$exclude-rating: false; +$exclude-rating-helpers: false; +$exclude-simple-menu-bar: false; +$exclude-simple-menu-bar-helpers: false; +$exclude-slider: false; +$exclude-slider-helpers: false; +$exclude-table: false; +$exclude-table-helpers: false; +$exclude-tab-container: false; +$exclude-tab-container-helpers: false; +$exclude-template-grid: false; +$exclude-template-grid-helpers: false; +$exclude-timeline: false; +$exclude-typography: false; +$exclude-typography-helpers: false; diff --git a/theme/index.html b/theme/web/index.html similarity index 58% rename from theme/index.html rename to theme/web/index.html index 8244e25..0304584 100644 --- a/theme/index.html +++ b/theme/web/index.html @@ -2,22 +2,21 @@ - Mendix - - - + {{themecss}} {{appicons}} - - - - + {{manifest}} + {{startupimages}} +
    + + + + + diff --git a/theme/login-with-sso.html b/theme/web/login-with-mendixsso-button.html similarity index 91% rename from theme/login-with-sso.html rename to theme/web/login-with-mendixsso-button.html index 216132c..5ea967e 100644 --- a/theme/login-with-sso.html +++ b/theme/web/login-with-mendixsso-button.html @@ -2,13 +2,11 @@ - Login - + - {{themecss}} - + {{themecss}} {{appicons}} {{manifest}} {{startupimages}} @@ -18,7 +16,7 @@
    -

    Sign in

    +

    Sign in

    @@ -124,14 +122,14 @@

    Sign in

    diff --git a/theme/login.html b/theme/web/login.html similarity index 90% rename from theme/login.html rename to theme/web/login.html index 8c1fc3c..56d5048 100644 --- a/theme/login.html +++ b/theme/web/login.html @@ -2,12 +2,11 @@ - Login - + - {{themecss}} + {{themecss}} {{appicons}} {{manifest}} {{startupimages}} @@ -17,7 +16,7 @@
    -

    Sign in

    +

    Sign in

    @@ -113,14 +112,14 @@

    Sign in

    diff --git a/theme/logo.png b/theme/web/logo.png similarity index 100% rename from theme/logo.png rename to theme/web/logo.png diff --git a/theme/styles/web/sass/app/_custom.scss b/theme/web/main.scss similarity index 100% rename from theme/styles/web/sass/app/_custom.scss rename to theme/web/main.scss diff --git a/theme/web/manifest-overrides.webmanifest b/theme/web/manifest-overrides.webmanifest new file mode 100644 index 0000000..10161cd --- /dev/null +++ b/theme/web/manifest-overrides.webmanifest @@ -0,0 +1,3 @@ +{ + "background_color": "#FFFFFF" +} diff --git a/theme/robots.txt b/theme/web/robots.txt similarity index 100% rename from theme/robots.txt rename to theme/web/robots.txt diff --git a/theme/web/settings.json b/theme/web/settings.json new file mode 100644 index 0000000..9dbd93b --- /dev/null +++ b/theme/web/settings.json @@ -0,0 +1,3 @@ +{ + "cssFiles": ["theme.compiled.css"] +} diff --git a/themesource/atlas_core/native/api.js b/themesource/atlas_core/native/api.js new file mode 100644 index 0000000..f40d0cd --- /dev/null +++ b/themesource/atlas_core/native/api.js @@ -0,0 +1,3 @@ +import adjustFont from "./core/helpers/_functions/adjustfont"; +import { anyColorToRgbString, setColorBasedOnBackground, setContrastScale } from "./core/helpers/_functions/convertcolors"; +export { adjustFont, anyColorToRgbString, setColorBasedOnBackground, setContrastScale }; diff --git a/theme/styles/native/core/base/flex.js b/themesource/atlas_core/native/core/base/flex.js similarity index 80% rename from theme/styles/native/core/base/flex.js rename to themesource/atlas_core/native/core/base/flex.js index 6d6f2d0..1a0ece0 100644 --- a/theme/styles/native/core/base/flex.js +++ b/themesource/atlas_core/native/core/base/flex.js @@ -1,203 +1,203 @@ -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -*/ -//== Flex layout -export const flexMain = { - container: { - // flex 1 will take all available space not taken by flexItems. - flex: 1, - }, -}; -export const flexItem = { - container: { - // When flex is -1, the component is normally sized according width and height. - // However, if there's not enough space, the component will shrink to its minWidth and minHeight - flex: -1, - }, -}; -export const flexRow = { - container: { - flexDirection: "row", - }, -}; -export const flexColumn = { - container: { - flexDirection: "column", - }, -}; -export const flexRowReverse = { - container: { - flexDirection: "row-reverse", - }, -}; -export const flexColumnReverse = { - container: { - flexDirection: "column-reverse", - }, -}; -export const flexWrap = { - container: { - // flexWrap controls whether children can wrap around after they hit the end of a flex container. - flexWrap: "wrap", - }, -}; -export const justifyContentStart = { - container: { - // justifyContent aligns children in the main direction. - // For example, if children are flowing vertically, justifyContent controls how they align vertically. - justifyContent: "flex-start", - }, -}; -export const justifyContentCenter = { - container: { - // justifyContent aligns children in the main direction. - // For example, if children are flowing vertically, justifyContent controls how they align vertically. - justifyContent: "center", - }, -}; -export const justifyContentEnd = { - container: { - // justifyContent aligns children in the main direction. - // For example, if children are flowing vertically, justifyContent controls how they align vertically. - justifyContent: "flex-end", - }, -}; -export const justifyContentSpaceBetween = { - container: { - // justifyContent aligns children in the main direction. - // For example, if children are flowing vertically, justifyContent controls how they align vertically. - justifyContent: "space-between", - }, -}; -export const justifyContentSpaceAround = { - container: { - // justifyContent aligns children in the main direction. - // For example, if children are flowing vertically, justifyContent controls how they align vertically. - justifyContent: "space-around", - }, -}; -export const justifyContentSpaceEvenly = { - container: { - // justifyContent aligns children in the main direction. - // For example, if children are flowing vertically, justifyContent controls how they align vertically. - justifyContent: "space-evenly", - }, -}; -export const alignChildrenStart = { - container: { - // alignItems aligns children in the cross direction. - // For example, if children are flowing vertically, alignItems controls how they align horizontally. - alignItems: "flex-start", - }, -}; -export const alignChildrenCenter = { - container: { - // alignItems aligns children in the cross direction. - // For example, if children are flowing vertically, alignItems controls how they align horizontally. - alignItems: "center", - }, -}; -export const alignChildrenEnd = { - container: { - // alignItems aligns children in the cross direction. - // For example, if children are flowing vertically, alignItems controls how they align horizontally. - alignItems: "flex-end", - }, -}; -export const alignChildrenStretch = { - container: { - // alignItems aligns children in the cross direction. - // For example, if children are flowing vertically, alignItems controls how they align horizontally. - alignItems: "stretch", - }, -}; -export const alignChildrenBaseline = { - container: { - // alignContent aligns children in the cross direction. - // For example, if children are flowing vertically, alignContent controls how they align horizontally. - alignItems: "baseline", - }, -}; -export const childrenCenter = { - container: { - ...justifyContentCenter.container, - ...alignChildrenCenter.container, - }, -}; -export const alignContentStart = { - container: { - // alignContent aligns rows of children in the cross direction. - // For example, if children are flowing vertically, alignContent controls how they align horizontally. - alignContent: "flex-start", - }, -}; -export const alignContentCenter = { - container: { - // alignContent aligns rows of children in the cross direction. - // For example, if children are flowing vertically, alignContent controls how they align horizontally. - alignContent: "center", - }, -}; -export const alignContentEnd = { - container: { - // alignContent aligns rows of children in the cross direction. - // For example, if children are flowing vertically, alignContent controls how they align horizontally. - alignContent: "flex-end", - }, -}; -export const alignContentStretch = { - container: { - // alignContent aligns rows of children in the cross direction. - // For example, if children are flowing vertically, alignContent controls how they align horizontally. - alignContent: "stretch", - }, -}; -export const alignContentSpaceAround = { - container: { - // alignContent aligns rows of children in the cross direction. - // For example, if children are flowing vertically, alignContent controls how they align horizontally. - alignContent: "space-around", - }, -}; -export const alignContentSpaceBetween = { - container: { - // alignContent aligns rows of children in the cross direction. - // For example, if children are flowing vertically, alignContent controls how they align horizontally. - alignContent: "space-between", - }, -}; -export const alignSelfStart = { - container: { - // controls how a child aligns in the cross direction, overriding the alignItems of the parent. - alignSelf: "flex-start", - }, -}; -export const alignSelfCenter = { - container: { - // controls how a child aligns in the cross direction, overriding the alignItems of the parent. - alignSelf: "center", - }, -}; -export const alignSelfEnd = { - container: { - // controls how a child aligns in the cross direction, overriding the alignItems of the parent. - alignSelf: "flex-end", - }, -}; -export const alignSelfStretch = { - container: { - // controls how a child aligns in the cross direction, overriding the alignItems of the parent. - alignSelf: "stretch", - }, -}; -export const alignSelfBaseline = { - container: { - // controls how a child aligns in the cross direction, overriding the alignItems of the parent. - alignSelf: "baseline", - }, -}; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +*/ +// == Flex layout +export const flexMain = { + container: { + // flex 1 will take all available space not taken by flexItems. + flex: 1 + } +}; +export const flexItem = { + container: { + // When flex is -1, the component is normally sized according width and height. + // However, if there's not enough space, the component will shrink to its minWidth and minHeight + flex: -1 + } +}; +export const flexRow = { + container: { + flexDirection: "row" + } +}; +export const flexColumn = { + container: { + flexDirection: "column" + } +}; +export const flexRowReverse = { + container: { + flexDirection: "row-reverse" + } +}; +export const flexColumnReverse = { + container: { + flexDirection: "column-reverse" + } +}; +export const flexWrap = { + container: { + // flexWrap controls whether children can wrap around after they hit the end of a flex container. + flexWrap: "wrap" + } +}; +export const justifyContentStart = { + container: { + // justifyContent aligns children in the main direction. + // For example, if children are flowing vertically, justifyContent controls how they align vertically. + justifyContent: "flex-start" + } +}; +export const justifyContentCenter = { + container: { + // justifyContent aligns children in the main direction. + // For example, if children are flowing vertically, justifyContent controls how they align vertically. + justifyContent: "center" + } +}; +export const justifyContentEnd = { + container: { + // justifyContent aligns children in the main direction. + // For example, if children are flowing vertically, justifyContent controls how they align vertically. + justifyContent: "flex-end" + } +}; +export const justifyContentSpaceBetween = { + container: { + // justifyContent aligns children in the main direction. + // For example, if children are flowing vertically, justifyContent controls how they align vertically. + justifyContent: "space-between" + } +}; +export const justifyContentSpaceAround = { + container: { + // justifyContent aligns children in the main direction. + // For example, if children are flowing vertically, justifyContent controls how they align vertically. + justifyContent: "space-around" + } +}; +export const justifyContentSpaceEvenly = { + container: { + // justifyContent aligns children in the main direction. + // For example, if children are flowing vertically, justifyContent controls how they align vertically. + justifyContent: "space-evenly" + } +}; +export const alignChildrenStart = { + container: { + // alignItems aligns children in the cross direction. + // For example, if children are flowing vertically, alignItems controls how they align horizontally. + alignItems: "flex-start" + } +}; +export const alignChildrenCenter = { + container: { + // alignItems aligns children in the cross direction. + // For example, if children are flowing vertically, alignItems controls how they align horizontally. + alignItems: "center" + } +}; +export const alignChildrenEnd = { + container: { + // alignItems aligns children in the cross direction. + // For example, if children are flowing vertically, alignItems controls how they align horizontally. + alignItems: "flex-end" + } +}; +export const alignChildrenStretch = { + container: { + // alignItems aligns children in the cross direction. + // For example, if children are flowing vertically, alignItems controls how they align horizontally. + alignItems: "stretch" + } +}; +export const alignChildrenBaseline = { + container: { + // alignContent aligns children in the cross direction. + // For example, if children are flowing vertically, alignContent controls how they align horizontally. + alignItems: "baseline" + } +}; +export const childrenCenter = { + container: { + ...justifyContentCenter.container, + ...alignChildrenCenter.container + } +}; +export const alignContentStart = { + container: { + // alignContent aligns rows of children in the cross direction. + // For example, if children are flowing vertically, alignContent controls how they align horizontally. + alignContent: "flex-start" + } +}; +export const alignContentCenter = { + container: { + // alignContent aligns rows of children in the cross direction. + // For example, if children are flowing vertically, alignContent controls how they align horizontally. + alignContent: "center" + } +}; +export const alignContentEnd = { + container: { + // alignContent aligns rows of children in the cross direction. + // For example, if children are flowing vertically, alignContent controls how they align horizontally. + alignContent: "flex-end" + } +}; +export const alignContentStretch = { + container: { + // alignContent aligns rows of children in the cross direction. + // For example, if children are flowing vertically, alignContent controls how they align horizontally. + alignContent: "stretch" + } +}; +export const alignContentSpaceAround = { + container: { + // alignContent aligns rows of children in the cross direction. + // For example, if children are flowing vertically, alignContent controls how they align horizontally. + alignContent: "space-around" + } +}; +export const alignContentSpaceBetween = { + container: { + // alignContent aligns rows of children in the cross direction. + // For example, if children are flowing vertically, alignContent controls how they align horizontally. + alignContent: "space-between" + } +}; +export const alignSelfStart = { + container: { + // controls how a child aligns in the cross direction, overriding the alignItems of the parent. + alignSelf: "flex-start" + } +}; +export const alignSelfCenter = { + container: { + // controls how a child aligns in the cross direction, overriding the alignItems of the parent. + alignSelf: "center" + } +}; +export const alignSelfEnd = { + container: { + // controls how a child aligns in the cross direction, overriding the alignItems of the parent. + alignSelf: "flex-end" + } +}; +export const alignSelfStretch = { + container: { + // controls how a child aligns in the cross direction, overriding the alignItems of the parent. + alignSelf: "stretch" + } +}; +export const alignSelfBaseline = { + container: { + // controls how a child aligns in the cross direction, overriding the alignItems of the parent. + alignSelf: "baseline" + } +}; diff --git a/theme/styles/native/core/base/spacing.js b/themesource/atlas_core/native/core/base/spacing.js similarity index 55% rename from theme/styles/native/core/base/spacing.js rename to themesource/atlas_core/native/core/base/spacing.js index 6c6e49b..de7138c 100644 --- a/theme/styles/native/core/base/spacing.js +++ b/themesource/atlas_core/native/core/base/spacing.js @@ -1,503 +1,503 @@ -import { spacing } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -*/ -//== Inner Spacing -export const spacingInnerSmallest = { - container: { - padding: spacing.smallest, - }, -}; -export const spacingInnerVerticalSmallest = { - container: { - paddingVertical: spacing.smallest, - }, -}; -export const spacingInnerHorizontalSmallest = { - container: { - paddingHorizontal: spacing.smallest, - }, -}; -export const spacingInnerTopSmallest = { - container: { - paddingTop: spacing.smallest, - }, -}; -export const spacingInnerRightSmallest = { - container: { - paddingRight: spacing.smallest, - }, -}; -export const spacingInnerLeftSmallest = { - container: { - paddingLeft: spacing.smallest, - }, -}; -export const spacingInnerBottomSmallest = { - container: { - paddingBottom: spacing.smallest, - }, -}; -export const spacingInnerSmaller = { - container: { - padding: spacing.smaller, - }, -}; -export const spacingInnerVerticalSmaller = { - container: { - paddingVertical: spacing.smaller, - }, -}; -export const spacingInnerHorizontalSmaller = { - container: { - paddingHorizontal: spacing.smaller, - }, -}; -export const spacingInnerTopSmaller = { - container: { - paddingTop: spacing.smaller, - }, -}; -export const spacingInnerRightSmaller = { - container: { - paddingRight: spacing.smaller, - }, -}; -export const spacingInnerLeftSmaller = { - container: { - paddingLeft: spacing.smaller, - }, -}; -export const spacingInnerBottomSmaller = { - container: { - paddingBottom: spacing.smaller, - }, -}; -export const spacingInnerSmall = { - container: { - padding: spacing.small, - }, -}; -export const spacingInnerVerticalSmall = { - container: { - paddingVertical: spacing.small, - }, -}; -export const spacingInnerHorizontalSmall = { - container: { - paddingHorizontal: spacing.small, - }, -}; -export const spacingInnerTopSmall = { - container: { - paddingTop: spacing.small, - }, -}; -export const spacingInnerRightSmall = { - container: { - paddingRight: spacing.small, - }, -}; -export const spacingInnerLeftSmall = { - container: { - paddingLeft: spacing.small, - }, -}; -export const spacingInnerBottomSmall = { - container: { - paddingBottom: spacing.small, - }, -}; -export const spacingInnerMedium = { - container: { - padding: spacing.regular, - }, -}; -export const spacingInnerVerticalMedium = { - container: { - paddingVertical: spacing.regular, - }, -}; -export const spacingInnerHorizontalMedium = { - container: { - paddingHorizontal: spacing.regular, - }, -}; -export const spacingInnerTopMedium = { - container: { - paddingTop: spacing.regular, - }, -}; -export const spacingInnerRightMedium = { - container: { - paddingRight: spacing.regular, - }, -}; -export const spacingInnerLeftMedium = { - container: { - paddingLeft: spacing.regular, - }, -}; -export const spacingInnerBottomMedium = { - container: { - paddingBottom: spacing.regular, - }, -}; -export const spacingInnerLarge = { - container: { - padding: spacing.large, - }, -}; -export const spacingInnerVerticalLarge = { - container: { - paddingVertical: spacing.large, - }, -}; -export const spacingInnerHorizontalLarge = { - container: { - paddingHorizontal: spacing.large, - }, -}; -export const spacingInnerTopLarge = { - container: { - paddingTop: spacing.large, - }, -}; -export const spacingInnerRightLarge = { - container: { - paddingRight: spacing.large, - }, -}; -export const spacingInnerLeftLarge = { - container: { - paddingLeft: spacing.large, - }, -}; -export const spacingInnerBottomLarge = { - container: { - paddingBottom: spacing.large, - }, -}; -export const spacingInnerLarger = { - container: { - padding: spacing.larger, - }, -}; -export const spacingInnerVerticalLarger = { - container: { - paddingVertical: spacing.larger, - }, -}; -export const spacingInnerHorizontalLarger = { - container: { - paddingHorizontal: spacing.larger, - }, -}; -export const spacingInnerTopLarger = { - container: { - paddingTop: spacing.larger, - }, -}; -export const spacingInnerRightLarger = { - container: { - paddingRight: spacing.larger, - }, -}; -export const spacingInnerLeftLarger = { - container: { - paddingLeft: spacing.larger, - }, -}; -export const spacingInnerBottomLarger = { - container: { - paddingBottom: spacing.larger, - }, -}; -export const spacingInnerLargest = { - container: { - padding: spacing.largest, - }, -}; -export const spacingInnerVerticalLargest = { - container: { - paddingVertical: spacing.largest, - }, -}; -export const spacingInnerHorizontalLargest = { - container: { - paddingHorizontal: spacing.largest, - }, -}; -export const spacingInnerTopLargest = { - container: { - paddingTop: spacing.largest, - }, -}; -export const spacingInnerRightLargest = { - container: { - paddingRight: spacing.largest, - }, -}; -export const spacingInnerLeftLargest = { - container: { - paddingLeft: spacing.largest, - }, -}; -export const spacingInnerBottomLargest = { - container: { - paddingBottom: spacing.largest, - }, -}; -// -// -//== Outer Spacing -export const spacingOuterSmallest = { - container: { - margin: spacing.smallest, - }, -}; -export const spacingOuterVerticalSmallest = { - container: { - marginVertical: spacing.smallest, - }, -}; -export const spacingOuterHorizontalSmallest = { - container: { - marginHorizontal: spacing.smallest, - }, -}; -export const spacingOuterTopSmallest = { - container: { - marginTop: spacing.smallest, - }, -}; -export const spacingOuterRightSmallest = { - container: { - marginRight: spacing.smallest, - }, -}; -export const spacingOuterLeftSmallest = { - container: { - marginLeft: spacing.smallest, - }, -}; -export const spacingOuterBottomSmallest = { - container: { - marginBottom: spacing.smallest, - }, -}; -export const spacingOuterSmaller = { - container: { - margin: spacing.smaller, - }, -}; -export const spacingOuterVerticalSmaller = { - container: { - marginVertical: spacing.smaller, - }, -}; -export const spacingOuterHorizontalSmaller = { - container: { - marginHorizontal: spacing.smaller, - }, -}; -export const spacingOuterTopSmaller = { - container: { - marginTop: spacing.smaller, - }, -}; -export const spacingOuterRightSmaller = { - container: { - marginRight: spacing.smaller, - }, -}; -export const spacingOuterLeftSmaller = { - container: { - marginLeft: spacing.smaller, - }, -}; -export const spacingOuterBottomSmaller = { - container: { - marginBottom: spacing.smaller, - }, -}; -export const spacingOuterSmall = { - container: { - margin: spacing.small, - }, -}; -export const spacingOuterVerticalSmall = { - container: { - marginVertical: spacing.small, - }, -}; -export const spacingOuterHorizontalSmall = { - container: { - marginHorizontal: spacing.small, - }, -}; -export const spacingOuterTopSmall = { - container: { - marginTop: spacing.small, - }, -}; -export const spacingOuterRightSmall = { - container: { - marginRight: spacing.small, - }, -}; -export const spacingOuterLeftSmall = { - container: { - marginLeft: spacing.small, - }, -}; -export const spacingOuterBottomSmall = { - container: { - marginBottom: spacing.small, - }, -}; -export const spacingOuterMedium = { - container: { - margin: spacing.regular, - }, -}; -export const spacingOuterVerticalMedium = { - container: { - marginVertical: spacing.regular, - }, -}; -export const spacingOuterHorizontalMedium = { - container: { - marginHorizontal: spacing.regular, - }, -}; -export const spacingOuterTopMedium = { - container: { - marginTop: spacing.regular, - }, -}; -export const spacingOuterRightMedium = { - container: { - marginRight: spacing.regular, - }, -}; -export const spacingOuterLeftMedium = { - container: { - marginLeft: spacing.regular, - }, -}; -export const spacingOuterBottomMedium = { - container: { - marginBottom: spacing.regular, - }, -}; -export const spacingOuterLarge = { - container: { - margin: spacing.large, - }, -}; -export const spacingOuterVerticalLarge = { - container: { - marginVertical: spacing.large, - }, -}; -export const spacingOuterHorizontalLarge = { - container: { - marginHorizontal: spacing.large, - }, -}; -export const spacingOuterTopLarge = { - container: { - marginTop: spacing.large, - }, -}; -export const spacingOuterRightLarge = { - container: { - marginRight: spacing.large, - }, -}; -export const spacingOuterLeftLarge = { - container: { - marginLeft: spacing.large, - }, -}; -export const spacingOuterBottomLarge = { - container: { - marginBottom: spacing.large, - }, -}; -export const spacingOuterLarger = { - container: { - margin: spacing.larger, - }, -}; -export const spacingOuterVerticalLarger = { - container: { - marginVertical: spacing.larger, - }, -}; -export const spacingOuterHorizontalLarger = { - container: { - marginHorizontal: spacing.larger, - }, -}; -export const spacingOuterTopLarger = { - container: { - marginTop: spacing.larger, - }, -}; -export const spacingOuterRightLarger = { - container: { - marginRight: spacing.larger, - }, -}; -export const spacingOuterLeftLarger = { - container: { - marginLeft: spacing.larger, - }, -}; -export const spacingOuterBottomLarger = { - container: { - marginBottom: spacing.larger, - }, -}; -export const spacingOuterLargest = { - container: { - margin: spacing.largest, - }, -}; -export const spacingOuterVerticalLargest = { - container: { - marginVertical: spacing.largest, - }, -}; -export const spacingOuterHorizontalLargest = { - container: { - marginHorizontal: spacing.largest, - }, -}; -export const spacingOuterTopLargest = { - container: { - marginTop: spacing.largest, - }, -}; -export const spacingOuterRightLargest = { - container: { - marginRight: spacing.largest, - }, -}; -export const spacingOuterLeftLargest = { - container: { - marginLeft: spacing.largest, - }, -}; -export const spacingOuterBottomLargest = { - container: { - marginBottom: spacing.largest, - }, -}; +import { spacing } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +*/ +// == Inner Spacing +export const spacingInnerSmallest = { + container: { + padding: spacing.smallest + } +}; +export const spacingInnerVerticalSmallest = { + container: { + paddingVertical: spacing.smallest + } +}; +export const spacingInnerHorizontalSmallest = { + container: { + paddingHorizontal: spacing.smallest + } +}; +export const spacingInnerTopSmallest = { + container: { + paddingTop: spacing.smallest + } +}; +export const spacingInnerRightSmallest = { + container: { + paddingRight: spacing.smallest + } +}; +export const spacingInnerLeftSmallest = { + container: { + paddingLeft: spacing.smallest + } +}; +export const spacingInnerBottomSmallest = { + container: { + paddingBottom: spacing.smallest + } +}; +export const spacingInnerSmaller = { + container: { + padding: spacing.smaller + } +}; +export const spacingInnerVerticalSmaller = { + container: { + paddingVertical: spacing.smaller + } +}; +export const spacingInnerHorizontalSmaller = { + container: { + paddingHorizontal: spacing.smaller + } +}; +export const spacingInnerTopSmaller = { + container: { + paddingTop: spacing.smaller + } +}; +export const spacingInnerRightSmaller = { + container: { + paddingRight: spacing.smaller + } +}; +export const spacingInnerLeftSmaller = { + container: { + paddingLeft: spacing.smaller + } +}; +export const spacingInnerBottomSmaller = { + container: { + paddingBottom: spacing.smaller + } +}; +export const spacingInnerSmall = { + container: { + padding: spacing.small + } +}; +export const spacingInnerVerticalSmall = { + container: { + paddingVertical: spacing.small + } +}; +export const spacingInnerHorizontalSmall = { + container: { + paddingHorizontal: spacing.small + } +}; +export const spacingInnerTopSmall = { + container: { + paddingTop: spacing.small + } +}; +export const spacingInnerRightSmall = { + container: { + paddingRight: spacing.small + } +}; +export const spacingInnerLeftSmall = { + container: { + paddingLeft: spacing.small + } +}; +export const spacingInnerBottomSmall = { + container: { + paddingBottom: spacing.small + } +}; +export const spacingInnerMedium = { + container: { + padding: spacing.regular + } +}; +export const spacingInnerVerticalMedium = { + container: { + paddingVertical: spacing.regular + } +}; +export const spacingInnerHorizontalMedium = { + container: { + paddingHorizontal: spacing.regular + } +}; +export const spacingInnerTopMedium = { + container: { + paddingTop: spacing.regular + } +}; +export const spacingInnerRightMedium = { + container: { + paddingRight: spacing.regular + } +}; +export const spacingInnerLeftMedium = { + container: { + paddingLeft: spacing.regular + } +}; +export const spacingInnerBottomMedium = { + container: { + paddingBottom: spacing.regular + } +}; +export const spacingInnerLarge = { + container: { + padding: spacing.large + } +}; +export const spacingInnerVerticalLarge = { + container: { + paddingVertical: spacing.large + } +}; +export const spacingInnerHorizontalLarge = { + container: { + paddingHorizontal: spacing.large + } +}; +export const spacingInnerTopLarge = { + container: { + paddingTop: spacing.large + } +}; +export const spacingInnerRightLarge = { + container: { + paddingRight: spacing.large + } +}; +export const spacingInnerLeftLarge = { + container: { + paddingLeft: spacing.large + } +}; +export const spacingInnerBottomLarge = { + container: { + paddingBottom: spacing.large + } +}; +export const spacingInnerLarger = { + container: { + padding: spacing.larger + } +}; +export const spacingInnerVerticalLarger = { + container: { + paddingVertical: spacing.larger + } +}; +export const spacingInnerHorizontalLarger = { + container: { + paddingHorizontal: spacing.larger + } +}; +export const spacingInnerTopLarger = { + container: { + paddingTop: spacing.larger + } +}; +export const spacingInnerRightLarger = { + container: { + paddingRight: spacing.larger + } +}; +export const spacingInnerLeftLarger = { + container: { + paddingLeft: spacing.larger + } +}; +export const spacingInnerBottomLarger = { + container: { + paddingBottom: spacing.larger + } +}; +export const spacingInnerLargest = { + container: { + padding: spacing.largest + } +}; +export const spacingInnerVerticalLargest = { + container: { + paddingVertical: spacing.largest + } +}; +export const spacingInnerHorizontalLargest = { + container: { + paddingHorizontal: spacing.largest + } +}; +export const spacingInnerTopLargest = { + container: { + paddingTop: spacing.largest + } +}; +export const spacingInnerRightLargest = { + container: { + paddingRight: spacing.largest + } +}; +export const spacingInnerLeftLargest = { + container: { + paddingLeft: spacing.largest + } +}; +export const spacingInnerBottomLargest = { + container: { + paddingBottom: spacing.largest + } +}; +// +// +// == Outer Spacing +export const spacingOuterSmallest = { + container: { + margin: spacing.smallest + } +}; +export const spacingOuterVerticalSmallest = { + container: { + marginVertical: spacing.smallest + } +}; +export const spacingOuterHorizontalSmallest = { + container: { + marginHorizontal: spacing.smallest + } +}; +export const spacingOuterTopSmallest = { + container: { + marginTop: spacing.smallest + } +}; +export const spacingOuterRightSmallest = { + container: { + marginRight: spacing.smallest + } +}; +export const spacingOuterLeftSmallest = { + container: { + marginLeft: spacing.smallest + } +}; +export const spacingOuterBottomSmallest = { + container: { + marginBottom: spacing.smallest + } +}; +export const spacingOuterSmaller = { + container: { + margin: spacing.smaller + } +}; +export const spacingOuterVerticalSmaller = { + container: { + marginVertical: spacing.smaller + } +}; +export const spacingOuterHorizontalSmaller = { + container: { + marginHorizontal: spacing.smaller + } +}; +export const spacingOuterTopSmaller = { + container: { + marginTop: spacing.smaller + } +}; +export const spacingOuterRightSmaller = { + container: { + marginRight: spacing.smaller + } +}; +export const spacingOuterLeftSmaller = { + container: { + marginLeft: spacing.smaller + } +}; +export const spacingOuterBottomSmaller = { + container: { + marginBottom: spacing.smaller + } +}; +export const spacingOuterSmall = { + container: { + margin: spacing.small + } +}; +export const spacingOuterVerticalSmall = { + container: { + marginVertical: spacing.small + } +}; +export const spacingOuterHorizontalSmall = { + container: { + marginHorizontal: spacing.small + } +}; +export const spacingOuterTopSmall = { + container: { + marginTop: spacing.small + } +}; +export const spacingOuterRightSmall = { + container: { + marginRight: spacing.small + } +}; +export const spacingOuterLeftSmall = { + container: { + marginLeft: spacing.small + } +}; +export const spacingOuterBottomSmall = { + container: { + marginBottom: spacing.small + } +}; +export const spacingOuterMedium = { + container: { + margin: spacing.regular + } +}; +export const spacingOuterVerticalMedium = { + container: { + marginVertical: spacing.regular + } +}; +export const spacingOuterHorizontalMedium = { + container: { + marginHorizontal: spacing.regular + } +}; +export const spacingOuterTopMedium = { + container: { + marginTop: spacing.regular + } +}; +export const spacingOuterRightMedium = { + container: { + marginRight: spacing.regular + } +}; +export const spacingOuterLeftMedium = { + container: { + marginLeft: spacing.regular + } +}; +export const spacingOuterBottomMedium = { + container: { + marginBottom: spacing.regular + } +}; +export const spacingOuterLarge = { + container: { + margin: spacing.large + } +}; +export const spacingOuterVerticalLarge = { + container: { + marginVertical: spacing.large + } +}; +export const spacingOuterHorizontalLarge = { + container: { + marginHorizontal: spacing.large + } +}; +export const spacingOuterTopLarge = { + container: { + marginTop: spacing.large + } +}; +export const spacingOuterRightLarge = { + container: { + marginRight: spacing.large + } +}; +export const spacingOuterLeftLarge = { + container: { + marginLeft: spacing.large + } +}; +export const spacingOuterBottomLarge = { + container: { + marginBottom: spacing.large + } +}; +export const spacingOuterLarger = { + container: { + margin: spacing.larger + } +}; +export const spacingOuterVerticalLarger = { + container: { + marginVertical: spacing.larger + } +}; +export const spacingOuterHorizontalLarger = { + container: { + marginHorizontal: spacing.larger + } +}; +export const spacingOuterTopLarger = { + container: { + marginTop: spacing.larger + } +}; +export const spacingOuterRightLarger = { + container: { + marginRight: spacing.larger + } +}; +export const spacingOuterLeftLarger = { + container: { + marginLeft: spacing.larger + } +}; +export const spacingOuterBottomLarger = { + container: { + marginBottom: spacing.larger + } +}; +export const spacingOuterLargest = { + container: { + margin: spacing.largest + } +}; +export const spacingOuterVerticalLargest = { + container: { + marginVertical: spacing.largest + } +}; +export const spacingOuterHorizontalLargest = { + container: { + marginHorizontal: spacing.largest + } +}; +export const spacingOuterTopLargest = { + container: { + marginTop: spacing.largest + } +}; +export const spacingOuterRightLargest = { + container: { + marginRight: spacing.largest + } +}; +export const spacingOuterLeftLargest = { + container: { + marginLeft: spacing.largest + } +}; +export const spacingOuterBottomLargest = { + container: { + marginBottom: spacing.largest + } +}; diff --git a/theme/styles/native/core/helpers/_functions/adjustfont.js b/themesource/atlas_core/native/core/helpers/_functions/adjustfont.js similarity index 79% rename from theme/styles/native/core/helpers/_functions/adjustfont.js rename to themesource/atlas_core/native/core/helpers/_functions/adjustfont.js index 1651f8d..41fb606 100644 --- a/theme/styles/native/core/helpers/_functions/adjustfont.js +++ b/themesource/atlas_core/native/core/helpers/_functions/adjustfont.js @@ -1,59 +1,68 @@ -import { Dimensions, PixelRatio } from "react-native"; -const { height, width } = Dimensions.get("window"); -const pixelRatio = PixelRatio.get(); -/** - * - * Adjust the font size based on the screen size - * - * @param {number} size Font size - * - * @return {number} Returns adjusted font size - */ -function adjustFont(size) { - if (pixelRatio === 2) { - // iphone 5s and older Androids - if (width < 360) - return size * 0.95; - // iphone 5 - if (height < 667) - return size; - // iphone 6-6s - else if (height >= 667 && height <= 735) - return size * 1.15; - // older phablets - return size * 1.25; - } - if (pixelRatio === 3) { - // catch Android font scaling on small machines - // where pixel ratio / font scale ratio => 3:3 - if (width <= 360) - return size; - // Catch other weird android width sizings - if (height < 667) - return size * 1.15; - // catch in-between size Androids and scale font up - if (height >= 667 && height <= 735) - return size * 1.2; - // catch larger devices - // ie iphone 6s plus / 7 plus / mi note - return size * 1.27; - } - if (pixelRatio === 3.5) { - // catch Android font scaling on small machines - // where pixel ratio / font scale ratio => 3:3 - if (width <= 360) - return size; - // Catch other smaller android height sizings - if (height < 667) - return size * 1.2; - // catch in-between size Androids and scale font up - if (height >= 667 && height <= 735) - return size * 1.25; - // catch larger phablet devices - return size * 1.4; - } - // if older device ie pixelRatio !== 2 || 3 || 3.5 - return size; -} -// -export { adjustFont as default, height, width }; +import { Dimensions, PixelRatio } from "react-native"; +const { height, width } = Dimensions.get("window"); +const pixelRatio = PixelRatio.get(); +/** + * + * Adjust the font size based on the screen size + * + * @param {number} size Font size + * + * @return {number} Returns adjusted font size + */ +function adjustFont(size) { + if (pixelRatio === 2) { + // iphone 5s and older Androids + if (width < 360) { + return size * 0.95; + } + // iphone 5 + if (height < 667) { + return size; + } + // iphone 6-6s + else if (height >= 667 && height <= 735) { + return size * 1.15; + } + // older phablets + return size * 1.25; + } + if (pixelRatio === 3) { + // catch Android font scaling on small machines + // where pixel ratio / font scale ratio => 3:3 + if (width <= 360) { + return size; + } + // Catch other weird android width sizings + if (height < 667) { + return size * 1.15; + } + // catch in-between size Androids and scale font up + if (height >= 667 && height <= 735) { + return size * 1.2; + } + // catch larger devices + // ie iphone 6s plus / 7 plus / mi note + return size * 1.27; + } + if (pixelRatio === 3.5) { + // catch Android font scaling on small machines + // where pixel ratio / font scale ratio => 3:3 + if (width <= 360) { + return size; + } + // Catch other smaller android height sizings + if (height < 667) { + return size * 1.2; + } + // catch in-between size Androids and scale font up + if (height >= 667 && height <= 735) { + return size * 1.25; + } + // catch larger phablet devices + return size * 1.4; + } + // if older device ie pixelRatio !== 2 || 3 || 3.5 + return size; +} +// +export { adjustFont as default, height, width }; diff --git a/theme/styles/native/core/helpers/_functions/colorwords.js b/themesource/atlas_core/native/core/helpers/_functions/colorwords.js similarity index 96% rename from theme/styles/native/core/helpers/_functions/colorwords.js rename to themesource/atlas_core/native/core/helpers/_functions/colorwords.js index 87eddfa..00e6f4c 100644 --- a/theme/styles/native/core/helpers/_functions/colorwords.js +++ b/themesource/atlas_core/native/core/helpers/_functions/colorwords.js @@ -1,153 +1,153 @@ -// -const colors = { - aliceblue: { r: 240, g: 248, b: 255 }, - antiquewhite: { r: 250, g: 235, b: 215 }, - aqua: { r: 0, g: 255, b: 255 }, - aquamarine: { r: 127, g: 255, b: 212 }, - azure: { r: 240, g: 255, b: 255 }, - beige: { r: 245, g: 245, b: 220 }, - bisque: { r: 255, g: 228, b: 196 }, - black: { r: 0, g: 0, b: 0 }, - blanchedalmond: { r: 255, g: 235, b: 205 }, - blue: { r: 0, g: 0, b: 255 }, - blueviolet: { r: 138, g: 43, b: 226 }, - brown: { r: 165, g: 42, b: 42 }, - burlywood: { r: 222, g: 184, b: 135 }, - cadetblue: { r: 95, g: 158, b: 160 }, - chartreuse: { r: 127, g: 255, b: 0 }, - chocolate: { r: 210, g: 105, b: 30 }, - coral: { r: 255, g: 127, b: 80 }, - cornflowerblue: { r: 100, g: 149, b: 237 }, - cornsilk: { r: 255, g: 248, b: 220 }, - crimson: { r: 220, g: 20, b: 60 }, - cyan: { r: 0, g: 255, b: 255 }, - darkblue: { r: 0, g: 0, b: 139 }, - darkcyan: { r: 0, g: 139, b: 139 }, - darkgoldenrod: { r: 184, g: 134, b: 11 }, - darkgray: { r: 169, g: 169, b: 169 }, - darkgreen: { r: 0, g: 100, b: 0 }, - darkgrey: { r: 169, g: 169, b: 169 }, - darkkhaki: { r: 189, g: 183, b: 107 }, - darkmagenta: { r: 139, g: 0, b: 139 }, - darkolivegreen: { r: 85, g: 107, b: 47 }, - darkorange: { r: 255, g: 140, b: 0 }, - darkorchid: { r: 153, g: 50, b: 204 }, - darkred: { r: 139, g: 0, b: 0 }, - darksalmon: { r: 233, g: 150, b: 122 }, - darkseagreen: { r: 143, g: 188, b: 143 }, - darkslateblue: { r: 72, g: 61, b: 139 }, - darkslategray: { r: 47, g: 79, b: 79 }, - darkslategrey: { r: 47, g: 79, b: 79 }, - darkturquoise: { r: 0, g: 206, b: 209 }, - darkviolet: { r: 148, g: 0, b: 211 }, - deeppink: { r: 255, g: 20, b: 147 }, - deepskyblue: { r: 0, g: 191, b: 255 }, - dimgray: { r: 105, g: 105, b: 105 }, - dimgrey: { r: 105, g: 105, b: 105 }, - dodgerblue: { r: 30, g: 144, b: 255 }, - firebrick: { r: 178, g: 34, b: 34 }, - floralwhite: { r: 255, g: 250, b: 240 }, - forestgreen: { r: 34, g: 139, b: 34 }, - fuchsia: { r: 255, g: 0, b: 255 }, - gainsboro: { r: 220, g: 220, b: 220 }, - ghostwhite: { r: 248, g: 248, b: 255 }, - gold: { r: 255, g: 215, b: 0 }, - goldenrod: { r: 218, g: 165, b: 32 }, - gray: { r: 128, g: 128, b: 128 }, - green: { r: 0, g: 128, b: 0 }, - greenyellow: { r: 173, g: 255, b: 47 }, - grey: { r: 128, g: 128, b: 128 }, - honeydew: { r: 240, g: 255, b: 240 }, - hotpink: { r: 255, g: 105, b: 180 }, - indianred: { r: 205, g: 92, b: 92 }, - indigo: { r: 75, g: 0, b: 130 }, - ivory: { r: 255, g: 255, b: 240 }, - khaki: { r: 240, g: 230, b: 140 }, - lavender: { r: 230, g: 230, b: 250 }, - lavenderblush: { r: 255, g: 240, b: 245 }, - lawngreen: { r: 124, g: 252, b: 0 }, - lemonchiffon: { r: 255, g: 250, b: 205 }, - lightblue: { r: 173, g: 216, b: 230 }, - lightcoral: { r: 240, g: 128, b: 128 }, - lightcyan: { r: 224, g: 255, b: 255 }, - lightgoldenrodyellow: { r: 250, g: 250, b: 210 }, - lightgray: { r: 211, g: 211, b: 211 }, - lightgreen: { r: 144, g: 238, b: 144 }, - lightgrey: { r: 211, g: 211, b: 211 }, - lightpink: { r: 255, g: 182, b: 193 }, - lightsalmon: { r: 255, g: 160, b: 122 }, - lightseagreen: { r: 32, g: 178, b: 170 }, - lightskyblue: { r: 135, g: 206, b: 250 }, - lightslategray: { r: 119, g: 136, b: 153 }, - lightslategrey: { r: 119, g: 136, b: 153 }, - lightsteelblue: { r: 176, g: 196, b: 222 }, - lightyellow: { r: 255, g: 255, b: 224 }, - lime: { r: 0, g: 255, b: 0 }, - limegreen: { r: 50, g: 205, b: 50 }, - linen: { r: 250, g: 240, b: 230 }, - magenta: { r: 255, g: 0, b: 255 }, - maroon: { r: 128, g: 0, b: 0 }, - mediumaquamarine: { r: 102, g: 205, b: 170 }, - mediumblue: { r: 0, g: 0, b: 205 }, - mediumorchid: { r: 186, g: 85, b: 211 }, - mediumpurple: { r: 147, g: 112, b: 219 }, - mediumseagreen: { r: 60, g: 179, b: 113 }, - mediumslateblue: { r: 123, g: 104, b: 238 }, - mediumspringgreen: { r: 0, g: 250, b: 154 }, - mediumturquoise: { r: 72, g: 209, b: 204 }, - mediumvioletred: { r: 199, g: 21, b: 133 }, - midnightblue: { r: 25, g: 25, b: 112 }, - mintcream: { r: 245, g: 255, b: 250 }, - mistyrose: { r: 255, g: 228, b: 225 }, - moccasin: { r: 255, g: 228, b: 181 }, - navajowhite: { r: 255, g: 222, b: 173 }, - navy: { r: 0, g: 0, b: 128 }, - oldlace: { r: 253, g: 245, b: 230 }, - olive: { r: 128, g: 128, b: 0 }, - olivedrab: { r: 107, g: 142, b: 35 }, - orange: { r: 255, g: 165, b: 0 }, - orangered: { r: 255, g: 69, b: 0 }, - orchid: { r: 218, g: 112, b: 214 }, - palegoldenrod: { r: 238, g: 232, b: 170 }, - palegreen: { r: 152, g: 251, b: 152 }, - paleturquoise: { r: 175, g: 238, b: 238 }, - palevioletred: { r: 219, g: 112, b: 147 }, - papayawhip: { r: 255, g: 239, b: 213 }, - peachpuff: { r: 255, g: 218, b: 185 }, - peru: { r: 205, g: 133, b: 63 }, - pink: { r: 255, g: 192, b: 203 }, - plum: { r: 221, g: 160, b: 221 }, - powderblue: { r: 176, g: 224, b: 230 }, - purple: { r: 128, g: 0, b: 128 }, - rebeccapurple: { r: 102, g: 51, b: 153 }, - red: { r: 255, g: 0, b: 0 }, - rosybrown: { r: 188, g: 143, b: 143 }, - royalblue: { r: 65, g: 105, b: 225 }, - saddlebrown: { r: 139, g: 69, b: 19 }, - salmon: { r: 250, g: 128, b: 114 }, - sandybrown: { r: 244, g: 164, b: 96 }, - seagreen: { r: 46, g: 139, b: 87 }, - seashell: { r: 255, g: 245, b: 238 }, - sienna: { r: 160, g: 82, b: 45 }, - silver: { r: 192, g: 192, b: 192 }, - skyblue: { r: 135, g: 206, b: 235 }, - slateblue: { r: 106, g: 90, b: 205 }, - slategray: { r: 112, g: 128, b: 144 }, - slategrey: { r: 112, g: 128, b: 144 }, - snow: { r: 255, g: 250, b: 250 }, - springgreen: { r: 0, g: 255, b: 127 }, - steelblue: { r: 70, g: 130, b: 180 }, - tan: { r: 210, g: 180, b: 140 }, - teal: { r: 0, g: 128, b: 128 }, - thistle: { r: 216, g: 191, b: 216 }, - tomato: { r: 255, g: 99, b: 71 }, - turquoise: { r: 64, g: 224, b: 208 }, - violet: { r: 238, g: 130, b: 238 }, - wheat: { r: 245, g: 222, b: 179 }, - white: { r: 255, g: 255, b: 255 }, - whitesmoke: { r: 245, g: 245, b: 245 }, - yellow: { r: 255, g: 255, b: 0 }, - yellowgreen: { r: 154, g: 205, b: 50 }, -}; -// -export default colors; +// +const colors = { + aliceblue: { r: 240, g: 248, b: 255 }, + antiquewhite: { r: 250, g: 235, b: 215 }, + aqua: { r: 0, g: 255, b: 255 }, + aquamarine: { r: 127, g: 255, b: 212 }, + azure: { r: 240, g: 255, b: 255 }, + beige: { r: 245, g: 245, b: 220 }, + bisque: { r: 255, g: 228, b: 196 }, + black: { r: 0, g: 0, b: 0 }, + blanchedalmond: { r: 255, g: 235, b: 205 }, + blue: { r: 0, g: 0, b: 255 }, + blueviolet: { r: 138, g: 43, b: 226 }, + brown: { r: 165, g: 42, b: 42 }, + burlywood: { r: 222, g: 184, b: 135 }, + cadetblue: { r: 95, g: 158, b: 160 }, + chartreuse: { r: 127, g: 255, b: 0 }, + chocolate: { r: 210, g: 105, b: 30 }, + coral: { r: 255, g: 127, b: 80 }, + cornflowerblue: { r: 100, g: 149, b: 237 }, + cornsilk: { r: 255, g: 248, b: 220 }, + crimson: { r: 220, g: 20, b: 60 }, + cyan: { r: 0, g: 255, b: 255 }, + darkblue: { r: 0, g: 0, b: 139 }, + darkcyan: { r: 0, g: 139, b: 139 }, + darkgoldenrod: { r: 184, g: 134, b: 11 }, + darkgray: { r: 169, g: 169, b: 169 }, + darkgreen: { r: 0, g: 100, b: 0 }, + darkgrey: { r: 169, g: 169, b: 169 }, + darkkhaki: { r: 189, g: 183, b: 107 }, + darkmagenta: { r: 139, g: 0, b: 139 }, + darkolivegreen: { r: 85, g: 107, b: 47 }, + darkorange: { r: 255, g: 140, b: 0 }, + darkorchid: { r: 153, g: 50, b: 204 }, + darkred: { r: 139, g: 0, b: 0 }, + darksalmon: { r: 233, g: 150, b: 122 }, + darkseagreen: { r: 143, g: 188, b: 143 }, + darkslateblue: { r: 72, g: 61, b: 139 }, + darkslategray: { r: 47, g: 79, b: 79 }, + darkslategrey: { r: 47, g: 79, b: 79 }, + darkturquoise: { r: 0, g: 206, b: 209 }, + darkviolet: { r: 148, g: 0, b: 211 }, + deeppink: { r: 255, g: 20, b: 147 }, + deepskyblue: { r: 0, g: 191, b: 255 }, + dimgray: { r: 105, g: 105, b: 105 }, + dimgrey: { r: 105, g: 105, b: 105 }, + dodgerblue: { r: 30, g: 144, b: 255 }, + firebrick: { r: 178, g: 34, b: 34 }, + floralwhite: { r: 255, g: 250, b: 240 }, + forestgreen: { r: 34, g: 139, b: 34 }, + fuchsia: { r: 255, g: 0, b: 255 }, + gainsboro: { r: 220, g: 220, b: 220 }, + ghostwhite: { r: 248, g: 248, b: 255 }, + gold: { r: 255, g: 215, b: 0 }, + goldenrod: { r: 218, g: 165, b: 32 }, + gray: { r: 128, g: 128, b: 128 }, + green: { r: 0, g: 128, b: 0 }, + greenyellow: { r: 173, g: 255, b: 47 }, + grey: { r: 128, g: 128, b: 128 }, + honeydew: { r: 240, g: 255, b: 240 }, + hotpink: { r: 255, g: 105, b: 180 }, + indianred: { r: 205, g: 92, b: 92 }, + indigo: { r: 75, g: 0, b: 130 }, + ivory: { r: 255, g: 255, b: 240 }, + khaki: { r: 240, g: 230, b: 140 }, + lavender: { r: 230, g: 230, b: 250 }, + lavenderblush: { r: 255, g: 240, b: 245 }, + lawngreen: { r: 124, g: 252, b: 0 }, + lemonchiffon: { r: 255, g: 250, b: 205 }, + lightblue: { r: 173, g: 216, b: 230 }, + lightcoral: { r: 240, g: 128, b: 128 }, + lightcyan: { r: 224, g: 255, b: 255 }, + lightgoldenrodyellow: { r: 250, g: 250, b: 210 }, + lightgray: { r: 211, g: 211, b: 211 }, + lightgreen: { r: 144, g: 238, b: 144 }, + lightgrey: { r: 211, g: 211, b: 211 }, + lightpink: { r: 255, g: 182, b: 193 }, + lightsalmon: { r: 255, g: 160, b: 122 }, + lightseagreen: { r: 32, g: 178, b: 170 }, + lightskyblue: { r: 135, g: 206, b: 250 }, + lightslategray: { r: 119, g: 136, b: 153 }, + lightslategrey: { r: 119, g: 136, b: 153 }, + lightsteelblue: { r: 176, g: 196, b: 222 }, + lightyellow: { r: 255, g: 255, b: 224 }, + lime: { r: 0, g: 255, b: 0 }, + limegreen: { r: 50, g: 205, b: 50 }, + linen: { r: 250, g: 240, b: 230 }, + magenta: { r: 255, g: 0, b: 255 }, + maroon: { r: 128, g: 0, b: 0 }, + mediumaquamarine: { r: 102, g: 205, b: 170 }, + mediumblue: { r: 0, g: 0, b: 205 }, + mediumorchid: { r: 186, g: 85, b: 211 }, + mediumpurple: { r: 147, g: 112, b: 219 }, + mediumseagreen: { r: 60, g: 179, b: 113 }, + mediumslateblue: { r: 123, g: 104, b: 238 }, + mediumspringgreen: { r: 0, g: 250, b: 154 }, + mediumturquoise: { r: 72, g: 209, b: 204 }, + mediumvioletred: { r: 199, g: 21, b: 133 }, + midnightblue: { r: 25, g: 25, b: 112 }, + mintcream: { r: 245, g: 255, b: 250 }, + mistyrose: { r: 255, g: 228, b: 225 }, + moccasin: { r: 255, g: 228, b: 181 }, + navajowhite: { r: 255, g: 222, b: 173 }, + navy: { r: 0, g: 0, b: 128 }, + oldlace: { r: 253, g: 245, b: 230 }, + olive: { r: 128, g: 128, b: 0 }, + olivedrab: { r: 107, g: 142, b: 35 }, + orange: { r: 255, g: 165, b: 0 }, + orangered: { r: 255, g: 69, b: 0 }, + orchid: { r: 218, g: 112, b: 214 }, + palegoldenrod: { r: 238, g: 232, b: 170 }, + palegreen: { r: 152, g: 251, b: 152 }, + paleturquoise: { r: 175, g: 238, b: 238 }, + palevioletred: { r: 219, g: 112, b: 147 }, + papayawhip: { r: 255, g: 239, b: 213 }, + peachpuff: { r: 255, g: 218, b: 185 }, + peru: { r: 205, g: 133, b: 63 }, + pink: { r: 255, g: 192, b: 203 }, + plum: { r: 221, g: 160, b: 221 }, + powderblue: { r: 176, g: 224, b: 230 }, + purple: { r: 128, g: 0, b: 128 }, + rebeccapurple: { r: 102, g: 51, b: 153 }, + red: { r: 255, g: 0, b: 0 }, + rosybrown: { r: 188, g: 143, b: 143 }, + royalblue: { r: 65, g: 105, b: 225 }, + saddlebrown: { r: 139, g: 69, b: 19 }, + salmon: { r: 250, g: 128, b: 114 }, + sandybrown: { r: 244, g: 164, b: 96 }, + seagreen: { r: 46, g: 139, b: 87 }, + seashell: { r: 255, g: 245, b: 238 }, + sienna: { r: 160, g: 82, b: 45 }, + silver: { r: 192, g: 192, b: 192 }, + skyblue: { r: 135, g: 206, b: 235 }, + slateblue: { r: 106, g: 90, b: 205 }, + slategray: { r: 112, g: 128, b: 144 }, + slategrey: { r: 112, g: 128, b: 144 }, + snow: { r: 255, g: 250, b: 250 }, + springgreen: { r: 0, g: 255, b: 127 }, + steelblue: { r: 70, g: 130, b: 180 }, + tan: { r: 210, g: 180, b: 140 }, + teal: { r: 0, g: 128, b: 128 }, + thistle: { r: 216, g: 191, b: 216 }, + tomato: { r: 255, g: 99, b: 71 }, + turquoise: { r: 64, g: 224, b: 208 }, + violet: { r: 238, g: 130, b: 238 }, + wheat: { r: 245, g: 222, b: 179 }, + white: { r: 255, g: 255, b: 255 }, + whitesmoke: { r: 245, g: 245, b: 245 }, + yellow: { r: 255, g: 255, b: 0 }, + yellowgreen: { r: 154, g: 205, b: 50 } +}; +// +export default colors; diff --git a/theme/styles/native/core/helpers/_functions/convertcolors.js b/themesource/atlas_core/native/core/helpers/_functions/convertcolors.js similarity index 82% rename from theme/styles/native/core/helpers/_functions/convertcolors.js rename to themesource/atlas_core/native/core/helpers/_functions/convertcolors.js index 320f416..8d1ff99 100644 --- a/theme/styles/native/core/helpers/_functions/convertcolors.js +++ b/themesource/atlas_core/native/core/helpers/_functions/convertcolors.js @@ -1,228 +1,259 @@ -import colors from "./colorwords.js"; -/** - * - * Converts RGB color to HEX - * - * @param {number || string} r Accepts RGB as string || Accepts R as string or number - * @param {number || string} g Accepts G as string or number - * @param {number || string} b Accepts B as string or number - * - * @return {string} Returns HEX color - */ -function RgbToHex(r, g, b) { - if (typeof r === "string" && !g && !b) { - const color = r.replace(/rgb[(]|[)]/gm, ""); - [r, g, b] = color.split(","); - } - return "#" + ((1 << 24) + (Number(r) << 16) + (Number(g) << 8) + Number(b)).toString(16).slice(1); -} -/** - * - * Converts HEX or HEX Alpha to RGB - * - * @param {string} hex Accepts HEX color - * - * @return {object} Returns RGB color; {r,g,b} - */ -function hexToRgb(hex) { - hex = hex.substring(1); - hex = hex.length === 3 || hex.length === 4 ? [...hex].map(x => x + x).join("") : hex; - return rgbaToRgb({ - r: parseInt("0x" + hex[0] + hex[1], 16), - g: parseInt("0x" + hex[2] + hex[3], 16), - b: parseInt("0x" + hex[4] + hex[5], 16), - a: parseInt("0x" + hex[6] + hex[7], 16) / 255 || 1, - }); -} -/** - * - * Converts any color format to RGB string - * - * @param {string} anyColor Accepts any color format - * - * @return {string} Returns RGB color; `r,g,b` - */ -export function anyColorToRgbString(anyColor) { - const { r, g, b } = checkColor(anyColor); - return [r, g, b].join(","); -} -/** - * - * Converts HSL to RGB color - * - * @param {string} hsl Accepts HSL color - * - * @return {object} Returns RGB color; {r,g,b} - */ -function hslToRgb(hsl) { - let hslArray = hsl.replace(/hsla?[(]|[%]|[)]/gm, "").split(",").map(x => x.trim()); - let h = hslArray[0], s = Number(hslArray[1]) / 100, l = Number(hslArray[2]) / 100, a = 1; - // Strip label and convert to degrees (if necessary) - if (~h.indexOf("deg")) - h = h.substr(0, h.length - 3); - else if (~h.indexOf("rad")) - h = Math.round(Number(h.substr(0, h.length - 3)) * (180 / Math.PI)); - else if (~h.indexOf("turn")) - h = Math.round(Number(h.substr(0, h.length - 4)) * 360); - h = Number(h); - if (h >= 360) - h %= 360; // Keep hue fraction of 360 if h is higher than 360 - let r = 255, g = 255, b = 255; - const c = (1 - Math.abs(2 * l - 1)) * s; // chroma -> color intensity - const x = c * (1 - Math.abs(((h / 60) % 2) - 1)); // Second largest component (first being chroma) - const m = l - c / 2; // Amount to add to each channel to match lightness - if (0 <= h && h < 60) { - r = c; - g = x; - b = 0; - } - else if (60 <= h && h < 120) { - r = x; - g = c; - b = 0; - } - else if (120 <= h && h < 180) { - r = 0; - g = c; - b = x; - } - else if (180 <= h && h < 240) { - r = 0; - g = x; - b = c; - } - else if (240 <= h && h < 300) { - r = x; - g = 0; - b = c; - } - else if (300 <= h && h < 360) { - r = c; - g = 0; - b = x; - } - return rgbaToRgb({ - r: Math.round((r + m) * 255), - g: Math.round((g + m) * 255), - b: Math.round((b + m) * 255), - a, - }); -} -/** - * - * Convert RGB string with HEX or Word inside to RGB object - * - * @param {string} rgb Accepts RGB color as string - * - * @return {object} Returns RGB color; {r,g,b} - */ -function rgbStringToRgb(rgb) { - const color = rgb.replace(/rgb[(]|[)]/gm, ""); - // if RGB has hex color definition - if (~rgb.indexOf("#")) - return hexToRgb(color); - // if RGB has word color definition - else if (!(/\d/).test(rgb)) - return colors[color.toLowerCase()]; - // if RGB has RGB color definition - else { - const [r, g, b] = color.split(","); - [r, g, b].forEach(x => x.trim()); - return { r: Number(r), g: Number(g), b: Number(b) }; - } -} -/** - * - * Converts RGB Alpha to RGB object - * - * @param {string} rgba Accepts RGB Alpha color - * - * @return {object} Returns RGB color; {r,g,b} - */ -function rgbaToRgb(rgba) { - let newAlpha = 1; - let RGB = typeof rgba === "object" ? rgba : { r: 255, g: 255, b: 255 }; - const calc = (val) => Math.round(newAlpha * (val / 255) * 255); // Calc best color contrast values - // const calc = val => Math.round((RGB.a * (val / 255) + (RGB.a * ( 0 / 255))) * 255); // Calc best color contrast values - if (typeof rgba === "string") { - const val = rgba.replace(/rgba[(]|[)]/gm, ""); - const color = val.slice(0, val.lastIndexOf(",")).trim(); - const alpha = Number(val.slice(val.lastIndexOf(",") + 1).trim()); - // if RGBA has HEX color definition - if (color[0] === "#") - RGB = hexToRgb(color); - // if RGBA has word color definition - else if (!(/\d/).test(color)) - RGB = colors[color.toLowerCase()]; - // if RGBA has RGB color definition - else { - const [r, g, b] = color.split(","); - [r, g, b].forEach(x => Number(x.trim())); - RGB = { r: Number(r), g: Number(g), b: Number(b) }; - } - // RGB.a = alpha; - newAlpha = alpha === 1 ? 1 : Number((1 - alpha).toPrecision(2)); - } - return { r: calc(RGB.r), g: calc(RGB.g), b: calc(RGB.b) }; -} -/** - * - * Check what color format is being used. - * - * @param {string} color Accepts any color format - * - * @return {object} Returns RGB color; {r,g,b} - */ -function checkColor(color) { - if (color in colors) - return colors[color.toLowerCase()]; - else if (color[0] === "#") - return hexToRgb(color); - else if (~color.indexOf("hsl")) - return hslToRgb(color); - else if (~color.indexOf("rgba")) - return rgbaToRgb(color); - else if (~color.indexOf("rgb")) - return rgbStringToRgb(color); - return { r: 255, g: 255, b: 255 }; -} -/** - * - * Set best contrast color based on a (background) color - * - * @param {string} color Accepts any color format - * - * @return {string} Returns RGB Alpha color - */ -export function setColorBasedOnBackground(color) { - const c = checkColor(color); - const RGB = typeof c === "object" ? c : { r: 255, g: 255, b: 255 }; - // https://www.w3.org/TR/AERT/#color-contrast - const o = Math.round((RGB.r * 299 + RGB.g * 587 + RGB.b * 114) / 1000); - return o > 125 ? "rgba(0,0,0,.87)" : "rgba(255,255,255,.87)"; -} -/** - * - * Expects a color and a contrast value between 0 and 1.' - * It will look at the supplied color's brightness and will start the contrast scale either from #000 (black) or #FFF (white). - * This function will work best when you supply a very dark or very bright color. - * It will return a gray color with the desired contrast which is based on the specified color. - * - * @param {string} color Accepts any color format - * @param {number} contrast Accepts a value between 0 and 1 - * - * @return {string} Returns HEX color - */ -export function setContrastScale(contrast, color) { - if (contrast > 1) - contrast = 1; - if (contrast < 0) - contrast = 0; - const max = 256; - const c = checkColor(color); - const { r, g, b } = typeof c === "object" ? c : { r: 255, g: 255, b: 255 }; - // https://www.w3.org/TR/AERT/#color-contrast - const brightness = Math.round((r * 299 + g * 587 + b * 114) / 1000); - const value = Math.round(brightness > max / 2 ? max - max * contrast : max * contrast); - return RgbToHex(value, value, value); -} +import colors from "./colorwords"; +/** + * + * Converts RGB color to HEX + * + * @param {number || string} r Accepts RGB as string || Accepts R as string or number + * @param {number || string} g Accepts G as string or number + * @param {number || string} b Accepts B as string or number + * + * @return {string} Returns HEX color + */ +function RgbToHex(r, g, b) { + if (typeof r === "string" && !g && !b) { + const color = r.replace(/rgb[(]|[)]/gm, ""); + [r, g, b] = color.split(","); + } + // eslint-disable-next-line no-bitwise + return "#" + ((1 << 24) + (Number(r) << 16) + (Number(g) << 8) + Number(b)).toString(16).slice(1); +} +/** + * + * Converts HEX or HEX Alpha to RGB + * + * @param {string} hex Accepts HEX color + * + * @return {object} Returns RGB color; {r,g,b} + */ +function hexToRgb(hex) { + hex = hex.substring(1); + hex = hex.length === 3 || hex.length === 4 ? [...hex].map(x => x + x).join("") : hex; + return rgbaToRgb({ + r: parseInt("0x" + hex[0] + hex[1], 16), + g: parseInt("0x" + hex[2] + hex[3], 16), + b: parseInt("0x" + hex[4] + hex[5], 16), + a: parseInt("0x" + hex[6] + hex[7], 16) / 255 || 1 + }); +} +/** + * + * Converts any color format to RGB string + * + * @param {string} anyColor Accepts any color format + * + * @return {string} Returns RGB color; `r,g,b` + */ +export function anyColorToRgbString(anyColor) { + const { r, g, b } = checkColor(anyColor); + return [r, g, b].join(","); +} +/** + * + * Converts HSL to RGB color + * + * @param {string} hsl Accepts HSL color + * + * @return {object} Returns RGB color; {r,g,b} + */ +function hslToRgb(hsl) { + const hslArray = hsl + .replace(/hsla?[(]|[%]|[)]/gm, "") + .split(",") + .map(x => x.trim()); + let h = hslArray[0]; + const s = Number(hslArray[1]) / 100; + const l = Number(hslArray[2]) / 100; + const a = 1; + // Strip label and convert to degrees (if necessary) + // eslint-disable-next-line no-bitwise + if (~h.indexOf("deg")) { + h = h.substr(0, h.length - 3); + // eslint-disable-next-line no-bitwise + } + else if (~h.indexOf("rad")) { + h = Math.round(Number(h.substr(0, h.length - 3)) * (180 / Math.PI)); + // eslint-disable-next-line no-bitwise + } + else if (~h.indexOf("turn")) { + h = Math.round(Number(h.substr(0, h.length - 4)) * 360); + } + h = Number(h); + if (h >= 360) { + h %= 360; + } // Keep hue fraction of 360 if h is higher than 360 + let r = 255; + let g = 255; + let b = 255; + const c = (1 - Math.abs(2 * l - 1)) * s; // chroma -> color intensity + const x = c * (1 - Math.abs(((h / 60) % 2) - 1)); // Second largest component (first being chroma) + const m = l - c / 2; // Amount to add to each channel to match lightness + if (0 <= h && h < 60) { + r = c; + g = x; + b = 0; + } + else if (60 <= h && h < 120) { + r = x; + g = c; + b = 0; + } + else if (120 <= h && h < 180) { + r = 0; + g = c; + b = x; + } + else if (180 <= h && h < 240) { + r = 0; + g = x; + b = c; + } + else if (240 <= h && h < 300) { + r = x; + g = 0; + b = c; + } + else if (300 <= h && h < 360) { + r = c; + g = 0; + b = x; + } + return rgbaToRgb({ + r: Math.round((r + m) * 255), + g: Math.round((g + m) * 255), + b: Math.round((b + m) * 255), + a + }); +} +/** + * + * Convert RGB string with HEX or Word inside to RGB object + * + * @param {string} rgb Accepts RGB color as string + * + * @return {object} Returns RGB color; {r,g,b} + */ +function rgbStringToRgb(rgb) { + const color = rgb.replace(/rgb[(]|[)]/gm, ""); + // if RGB has hex color definition + // eslint-disable-next-line no-bitwise + if (~rgb.indexOf("#")) { + return hexToRgb(color); + } + // if RGB has word color definition + else if (!/\d/.test(rgb)) { + return colors[color.toLowerCase()]; + } + // if RGB has RGB color definition + else { + const [r, g, b] = color.split(","); + [r, g, b].forEach(x => x.trim()); + return { r: Number(r), g: Number(g), b: Number(b) }; + } +} +/** + * + * Converts RGB Alpha to RGB object + * + * @param {string} rgba Accepts RGB Alpha color + * + * @return {object} Returns RGB color; {r,g,b} + */ +function rgbaToRgb(rgba) { + let newAlpha = 1; + let RGB = typeof rgba === "object" ? rgba : { r: 255, g: 255, b: 255 }; + const calc = (val) => Math.round(newAlpha * (val / 255) * 255); // Calc best color contrast values + // const calc = val => Math.round((RGB.a * (val / 255) + (RGB.a * ( 0 / 255))) * 255); // Calc best color contrast values + if (typeof rgba === "string") { + const val = rgba.replace(/rgba[(]|[)]/gm, ""); + const color = val.slice(0, val.lastIndexOf(",")).trim(); + const alpha = Number(val.slice(val.lastIndexOf(",") + 1).trim()); + // if RGBA has HEX color definition + if (color[0] === "#") { + RGB = hexToRgb(color); + } + // if RGBA has word color definition + else if (!/\d/.test(color)) { + RGB = colors[color.toLowerCase()]; + } + // if RGBA has RGB color definition + else { + const [r, g, b] = color.split(","); + [r, g, b].forEach(x => Number(x.trim())); + RGB = { r: Number(r), g: Number(g), b: Number(b) }; + } + // RGB.a = alpha; + newAlpha = alpha === 1 ? 1 : Number((1 - alpha).toPrecision(2)); + } + return { r: calc(RGB.r), g: calc(RGB.g), b: calc(RGB.b) }; +} +/** + * + * Check what color format is being used. + * + * @param {string} color Accepts any color format + * + * @return {object} Returns RGB color; {r,g,b} + */ +function checkColor(color) { + if (color in colors) { + return colors[color.toLowerCase()]; + } + else if (color[0] === "#") { + return hexToRgb(color); + // eslint-disable-next-line no-bitwise + } + else if (~color.indexOf("hsl")) { + return hslToRgb(color); + // eslint-disable-next-line no-bitwise + } + else if (~color.indexOf("rgba")) { + return rgbaToRgb(color); + // eslint-disable-next-line no-bitwise + } + else if (~color.indexOf("rgb")) { + return rgbStringToRgb(color); + } + return { r: 255, g: 255, b: 255 }; +} +/** + * + * Set best contrast color based on a (background) color + * + * @param {string} color Accepts any color format + * + * @return {string} Returns RGB Alpha color + */ +export function setColorBasedOnBackground(color) { + const c = checkColor(color); + const RGB = typeof c === "object" ? c : { r: 255, g: 255, b: 255 }; + // https://www.w3.org/TR/AERT/#color-contrast + const o = Math.round((RGB.r * 299 + RGB.g * 587 + RGB.b * 114) / 1000); + return o > 125 ? "rgba(0,0,0,.87)" : "rgba(255,255,255,.87)"; +} +/** + * + * Expects a color and a contrast value between 0 and 1.' + * It will look at the supplied color's brightness and will start the contrast scale either from #000 (black) or #FFF (white). + * This function will work best when you supply a very dark or very bright color. + * It will return a gray color with the desired contrast which is based on the specified color. + * + * @param {string} color Accepts any color format + * @param {number} contrast Accepts a value between 0 and 1 + * + * @return {string} Returns HEX color + */ +export function setContrastScale(contrast, color) { + if (contrast > 1) { + contrast = 1; + } + if (contrast < 0) { + contrast = 0; + } + const max = 256; + const c = checkColor(color); + const { r, g, b } = typeof c === "object" ? c : { r: 255, g: 255, b: 255 }; + // https://www.w3.org/TR/AERT/#color-contrast + const brightness = Math.round((r * 299 + g * 587 + b * 114) / 1000); + const value = Math.round(brightness > max / 2 ? max - max * contrast : max * contrast); + return RgbToHex(value, value, value); +} diff --git a/theme/styles/native/core/helpers/_functions/device.js b/themesource/atlas_core/native/core/helpers/_functions/device.js similarity index 97% rename from theme/styles/native/core/helpers/_functions/device.js rename to themesource/atlas_core/native/core/helpers/_functions/device.js index 9cb6c3e..a44011c 100644 --- a/theme/styles/native/core/helpers/_functions/device.js +++ b/themesource/atlas_core/native/core/helpers/_functions/device.js @@ -1,24 +1,24 @@ -import { Platform } from "react-native"; -import DeviceInfo from "react-native-device-info"; -// -const isiPhoneModelWithNotch = () => { - const model = DeviceInfo.getDeviceId(); - if (model.includes("iPhone")) { - switch (model) { - case "iPhone10,6": // iPhone X GSM - case "iPhone11,2": // iPhone XS - case "iPhone11,4": // iPhone XS Max - case "iPhone11,6": // iPhone XS Max Global - case "iPhone11,8": // Iphone XR - case "iPhone12,1": // Iphone 11 - case "iPhone12,3": // Iphone 11 Pro - case "iPhone12,5": // Iphone 11 Pro Max - return true; - default: - return false; - } - } - return false; -}; -// -export const isIphoneWithNotch = DeviceInfo.hasNotch() || (Platform.OS === "ios" && isiPhoneModelWithNotch()); +import { Platform } from "react-native"; +import DeviceInfo from "react-native-device-info"; +// +const isiPhoneModelWithNotch = () => { + const model = DeviceInfo.getDeviceId(); + if (model.includes("iPhone")) { + switch (model) { + case "iPhone10,6": // iPhone X GSM + case "iPhone11,2": // iPhone XS + case "iPhone11,4": // iPhone XS Max + case "iPhone11,6": // iPhone XS Max Global + case "iPhone11,8": // Iphone XR + case "iPhone12,1": // Iphone 11 + case "iPhone12,3": // Iphone 11 Pro + case "iPhone12,5": // Iphone 11 Pro Max + return true; + default: + return false; + } + } + return false; +}; +// +export const isIphoneWithNotch = DeviceInfo.hasNotch() || (Platform.OS === "ios" && isiPhoneModelWithNotch()); diff --git a/theme/styles/native/core/helpers/_functions/mergeobjects.js b/themesource/atlas_core/native/core/helpers/_functions/mergeobjects.js similarity index 79% rename from theme/styles/native/core/helpers/_functions/mergeobjects.js rename to themesource/atlas_core/native/core/helpers/_functions/mergeobjects.js index e7620e4..6385209 100644 --- a/theme/styles/native/core/helpers/_functions/mergeobjects.js +++ b/themesource/atlas_core/native/core/helpers/_functions/mergeobjects.js @@ -1,33 +1,35 @@ -/** - * Merge 2 objects - * This function will look at every object property of the second object and will override the matching property in the first object - * - * @param {object[]} sources Array of 2 objects - * - * @return {object} Returns merged object - * - */ -export default function (...sources) { - function mergeDeep(target, ...sources) { - function isObject(item) { - return item && typeof item === "object" && !Array.isArray(item); - } - if (!sources.length) - return target; - const source = sources.shift(); - if (isObject(target) && isObject(source)) { - Object.keys(source).forEach((key) => { - if (isObject(source[key])) { - if (!target[key]) - Object.assign(target, { [key]: {} }); - mergeDeep(target[key], source[key]); - } - else { - Object.assign(target, { [key]: source[key] }); - } - }); - } - return mergeDeep(target, ...sources); - } - return mergeDeep({}, ...sources); -} +/** + * Merge 2 objects + * This function will look at every object property of the second object and will override the matching property in the first object + * + * @param {object[]} sources Array of 2 objects + * + * @return {object} Returns merged object + * + */ +export default function (...sources) { + function mergeDeep(target, ...sources) { + function isObject(item) { + return item && typeof item === "object" && !Array.isArray(item); + } + if (!sources.length) { + return target; + } + const source = sources.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach(key => { + if (isObject(source[key])) { + if (!target[key]) { + Object.assign(target, { [key]: {} }); + } + mergeDeep(target[key], source[key]); + } + else { + Object.assign(target, { [key]: source[key] || target[key] }); + } + }); + } + return mergeDeep(target, ...sources); + } + return mergeDeep({}, ...sources); +} diff --git a/theme/styles/native/core/helpers/activityindicator.js b/themesource/atlas_core/native/core/helpers/activityindicator.js similarity index 80% rename from theme/styles/native/core/helpers/activityindicator.js rename to themesource/atlas_core/native/core/helpers/activityindicator.js index fbdb0d6..c047f47 100644 --- a/theme/styles/native/core/helpers/activityindicator.js +++ b/themesource/atlas_core/native/core/helpers/activityindicator.js @@ -1,30 +1,30 @@ -import { brand } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Activity Indicator - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Activity indicator Colors -export const activityIndicatorSuccess = { - indicator: { - color: brand.success, - }, -}; -export const activityIndicatorWarning = { - indicator: { - color: brand.warning, - }, -}; -export const activityIndicatorDanger = { - indicator: { - color: brand.danger, - }, -}; +import { brand } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Activity Indicator + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Activity indicator Colors +export const activityIndicatorSuccess = { + indicator: { + color: brand.success + } +}; +export const activityIndicatorWarning = { + indicator: { + color: brand.warning + } +}; +export const activityIndicatorDanger = { + indicator: { + color: brand.danger + } +}; diff --git a/theme/styles/native/core/helpers/badge.js b/themesource/atlas_core/native/core/helpers/badge.js similarity index 63% rename from theme/styles/native/core/helpers/badge.js rename to themesource/atlas_core/native/core/helpers/badge.js index dc7ecc5..04eb76e 100644 --- a/theme/styles/native/core/helpers/badge.js +++ b/themesource/atlas_core/native/core/helpers/badge.js @@ -1,47 +1,47 @@ -import { badge } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Badge - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Badge Colors -export const badgePrimary = { - container: { - backgroundColor: badge.primary.backgroundColor, - }, - caption: { - color: badge.primary.color, - }, -}; -export const badgeSuccess = { - container: { - backgroundColor: badge.success.backgroundColor, - }, - caption: { - color: badge.success.color, - }, -}; -export const badgeWarning = { - container: { - backgroundColor: badge.warning.backgroundColor, - }, - caption: { - color: badge.warning.color, - }, -}; -export const badgeDanger = { - container: { - backgroundColor: badge.danger.backgroundColor, - }, - caption: { - color: badge.danger.color, - }, -}; +import { badge } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Badge + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Badge Colors +export const badgePrimary = { + container: { + backgroundColor: badge.primary.backgroundColor + }, + caption: { + color: badge.primary.color + } +}; +export const badgeSuccess = { + container: { + backgroundColor: badge.success.backgroundColor + }, + caption: { + color: badge.success.color + } +}; +export const badgeWarning = { + container: { + backgroundColor: badge.warning.backgroundColor + }, + caption: { + color: badge.warning.color + } +}; +export const badgeDanger = { + container: { + backgroundColor: badge.danger.backgroundColor + }, + caption: { + color: badge.danger.color + } +}; diff --git a/themesource/atlas_core/native/core/helpers/barchart.js b/themesource/atlas_core/native/core/helpers/barchart.js new file mode 100644 index 0000000..834992c --- /dev/null +++ b/themesource/atlas_core/native/core/helpers/barchart.js @@ -0,0 +1,11 @@ +export const barChartSquare = { + chart: { + aspectRatio: 1 + } +}; +export const barChartMaxSpace = { + chart: { + flex: 1, + aspectRatio: undefined + } +}; diff --git a/theme/styles/native/core/helpers/buttons.js b/themesource/atlas_core/native/core/helpers/buttons.js similarity index 54% rename from theme/styles/native/core/helpers/buttons.js rename to themesource/atlas_core/native/core/helpers/buttons.js index 272e943..08134ac 100644 --- a/theme/styles/native/core/helpers/buttons.js +++ b/themesource/atlas_core/native/core/helpers/buttons.js @@ -1,208 +1,214 @@ -import { brand, button, contrast, font } from "../variables"; -import merge from "./_functions/mergeobjects"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Button - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Button Colors -export const btnSecondary = { - container: { - borderColor: button.secondary.borderColor, - backgroundColor: button.secondary.backgroundColor, - }, - icon: { - color: button.secondary.color, - }, - caption: { - color: button.secondary.color, - }, -}; -export const btnSuccess = { - container: { - borderColor: button.success.borderColor, - backgroundColor: button.success.backgroundColor, - }, - icon: { - color: button.success.color, - }, - caption: { - color: button.success.color, - }, -}; -export const btnWarning = { - container: { - borderColor: button.warning.borderColor, - backgroundColor: button.warning.backgroundColor, - }, - icon: { - color: button.warning.color, - }, - caption: { - color: button.warning.color, - }, -}; -export const btnDanger = { - container: { - borderColor: button.danger.borderColor, - backgroundColor: button.danger.backgroundColor, - }, - icon: { - color: button.danger.color, - }, - caption: { - color: button.danger.color, - }, -}; -export const btnPrimaryInversed = { - container: { - borderColor: button.primary.color, - backgroundColor: button.primary.color, - }, - icon: { - color: button.primary.backgroundColor, - }, - caption: { - color: button.primary.backgroundColor, - }, -}; -// -//== Extra Classes -//## Helper classes to change the look and feel of the widget -//-------------------------------------------------------------------------------------------------------------------// -export const btnSecondaryInversed = { - container: { - borderColor: button.secondary.inversedColor, - backgroundColor: button.secondary.backgroundColor, - }, - icon: { - color: button.secondary.inversedColor, - }, - caption: { - color: button.secondary.inversedColor, - }, -}; -// -// Button Icon Only -export const btnIcon = { - container: { - borderWidth: 0, - backgroundColor: "transparent", - paddingVertical: 0, - paddingHorizontal: 0, - }, - icon: { - color: font.color, - }, - caption: { - fontSize: 0, - }, -}; -export const btnIconPrimary = merge(btnIcon, { - icon: { - color: button.primary.backgroundColor, - }, -}); -export const btnIconSecondary = merge(btnIcon, { - icon: { - color: contrast.low, - }, -}); -export const btnIconSuccess = merge(btnIcon, { - icon: { - color: button.success.backgroundColor, - }, -}); -export const btnIconWarning = merge(btnIcon, { - icon: { - color: button.warning.backgroundColor, - }, -}); -export const btnIconDanger = merge(btnIcon, { - icon: { - color: button.danger.backgroundColor, - }, -}); -export const btnIconWhite = merge(btnIcon, { - icon: { - color: "#FFF", - }, -}); -// -export const btnIconGrayRounded = { - container: { - height: 80, - width: 80, - padding: 10, - borderRadius: 20, - borderWidth: 0, - backgroundColor: contrast.lowest, - }, - icon: { - size: 30, - color: contrast.high, - }, - caption: { - fontSize: 0, - }, -}; -// -// Round Button Icon With Background -export const btnIconPrimaryBackground = { - container: { - width: 40, - height: 40, - borderRadius: 20, - paddingVertical: 0, - paddingHorizontal: 0, - }, - icon: { - width: "100%", - height: "100%", - alignItems: "center", - justifyContent: "center", - size: button.fontSizeIconLarge, - color: button.primary.color, - }, -}; -// -// -// Text only -export const btnAsText = { - container: { - maxHeight: 22, - borderWidth: 0, - borderRadius: 0, - rippleColor: contrast.lowest, - backgroundColor: "transparent", - paddingVertical: 0, - paddingHorizontal: 0, - }, - icon: { - color: brand.primary, - size: button.fontSizeIcon, - }, - caption: { - color: brand.primary, - fontWeight: font.weightSemiBold, - fontSize: button.fontSize, - }, -}; -// -// Button sizes -export const btnLarge = { - icon: { - size: button.fontSizeIconLarge, - }, - caption: { - fontSize: button.fontSizeLarge, - }, -}; +import { brand, button, contrast, font } from "../../variables"; +import merge from "./_functions/mergeobjects"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Button + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Button Colors +export const btnSecondary = { + container: { + borderColor: button.secondary.borderColor, + backgroundColor: button.secondary.backgroundColor + }, + icon: { + color: button.secondary.color + }, + caption: { + color: button.secondary.color + } +}; +export const btnSuccess = { + container: { + borderColor: button.success.borderColor, + backgroundColor: button.success.backgroundColor + }, + icon: { + color: button.success.color + }, + caption: { + color: button.success.color + } +}; +export const btnWarning = { + container: { + borderColor: button.warning.borderColor, + backgroundColor: button.warning.backgroundColor + }, + icon: { + color: button.warning.color + }, + caption: { + color: button.warning.color + } +}; +export const btnDanger = { + container: { + borderColor: button.danger.borderColor, + backgroundColor: button.danger.backgroundColor + }, + icon: { + color: button.danger.color + }, + caption: { + color: button.danger.color + } +}; +export const btnPrimaryInversed = { + container: { + borderColor: button.primary.color, + backgroundColor: button.primary.color + }, + icon: { + color: button.primary.backgroundColor + }, + caption: { + color: button.primary.backgroundColor + } +}; +// +// == Extra Classes +// ## Helper classes to change the look and feel of the widget +// -------------------------------------------------------------------------------------------------------------------// +// +// Button Icon Only +export const btnIcon = { + container: { + borderWidth: 0, + backgroundColor: "transparent", + width: font.sizeLarge, + height: font.sizeLarge, + minWidth: undefined, + minHeight: undefined, + paddingVertical: 0, + paddingHorizontal: 0 + }, + icon: { + color: font.colorTitle + }, + caption: { + fontSize: 0 + } +}; +export const btnIconPrimary = merge(btnIcon, { + icon: { + color: button.primary.backgroundColor + } +}); +export const btnIconSecondary = merge(btnIcon, { + icon: { + color: contrast.low + } +}); +export const btnIconSuccess = merge(btnIcon, { + icon: { + color: button.success.backgroundColor + } +}); +export const btnIconWarning = merge(btnIcon, { + icon: { + color: button.warning.backgroundColor + } +}); +export const btnIconDanger = merge(btnIcon, { + icon: { + color: button.danger.backgroundColor + } +}); +export const btnIconWhite = merge(btnIcon, { + icon: { + color: "#FFF" + } +}); +// +export const btnIconGrayRounded = { + container: { + height: 80, + width: 80, + padding: 10, + borderRadius: 20, + borderWidth: 0, + backgroundColor: contrast.lowest + }, + icon: { + size: 30, + color: contrast.high + }, + caption: { + fontSize: 0 + } +}; +// +// Round Button Icon With Background +export const btnIconPrimaryBackground = { + container: { + width: 40, + height: 40, + borderRadius: 20, + paddingVertical: 0, + paddingHorizontal: 0 + }, + icon: { + width: "100%", + height: "100%", + alignItems: "center", + justifyContent: "center", + size: font.sizeLarge, + color: button.primary.color + } +}; +// +// +// Text only +export const btnAsText = { + container: { + maxHeight: 22, + borderWidth: 0, + borderRadius: 0, + rippleColor: contrast.lowest, + backgroundColor: "transparent" + // paddingVertical: 0, + // paddingHorizontal: 0, + }, + icon: { + size: button.icon.size + }, + caption: { + fontWeight: font.weightSemiBold, + fontSize: button.caption.fontSize + } +}; +export const btnAsTextPrimary = merge(btnAsText, { + icon: { + color: brand.primary + }, + caption: { + color: brand.primary + } +}); +export const btnAsTextSecondary = merge(btnAsText, { + icon: { + color: font.colorTitle + }, + caption: { + color: font.colorTitle + } +}); +// +// Button sizes +export const btnLarge = { + icon: { + size: font.size + }, + caption: { + fontSize: font.size + } +}; diff --git a/theme/styles/native/core/helpers/floatingactionbutton.js b/themesource/atlas_core/native/core/helpers/floatingactionbutton.js similarity index 72% rename from theme/styles/native/core/helpers/floatingactionbutton.js rename to themesource/atlas_core/native/core/helpers/floatingactionbutton.js index 84e315a..0f5e777 100644 --- a/theme/styles/native/core/helpers/floatingactionbutton.js +++ b/themesource/atlas_core/native/core/helpers/floatingactionbutton.js @@ -1,30 +1,41 @@ -import { brand } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Floating Action Button - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Floating Action Button Colors -export const floatingActionButtonSuccess = { - button: { - backgroundColor: brand.success, - }, -}; -export const floatingActionButtonWarning = { - button: { - backgroundColor: brand.warning, - }, -}; -export const floatingActionButtonDanger = { - button: { - backgroundColor: brand.danger, - }, -}; +import { background, brand } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Floating Action Button + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Floating Action Button Colors +export const floatingActionButtonSecondary = { + button: { + backgroundColor: background.primary + }, + buttonIcon: { + color: brand.primary + } +}; +export const floatingActionButtonSuccess = { + button: { + backgroundColor: brand.success, + borderColor: brand.success + } +}; +export const floatingActionButtonWarning = { + button: { + backgroundColor: brand.warning, + borderColor: brand.warning + } +}; +export const floatingActionButtonDanger = { + button: { + backgroundColor: brand.danger, + borderColor: brand.danger + } +}; diff --git a/themesource/atlas_core/native/core/helpers/helperclasses.js b/themesource/atlas_core/native/core/helpers/helperclasses.js new file mode 100644 index 0000000..f1ae538 --- /dev/null +++ b/themesource/atlas_core/native/core/helpers/helperclasses.js @@ -0,0 +1,111 @@ +import { Platform } from "react-native"; +import { background, border } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +*/ +// Hide on Android +export const hideOnAndroid = { + container: { + display: Platform.select({ ios: "flex", android: "none" }) + } +}; +// Hide on iOS +export const hideOnIos = { + container: { + display: Platform.select({ ios: "none", android: "flex" }) + } +}; +// +// == Background Colors +export const backgroundPrimary = { + container: { + backgroundColor: background.primary + } +}; +export const backgroundSecondary = { + container: { + backgroundColor: background.secondary + } +}; +export const backgroundBrandPrimary = { + container: { + backgroundColor: background.brandPrimary + } +}; +export const backgroundBrandSuccess = { + container: { + backgroundColor: background.brandSuccess + } +}; +export const backgroundBrandWarning = { + container: { + backgroundColor: background.brandWarning + } +}; +export const backgroundBrandDanger = { + container: { + backgroundColor: background.brandDanger + } +}; +export const backgroundBrandInfo = { + container: { + backgroundColor: background.brandInfo + } +}; +// +// borders +export const borderTop = { + container: { + borderColor: border.color, + borderTopWidth: border.width + } +}; +export const borderRight = { + container: { + borderColor: border.color, + borderRightWidth: border.width + } +}; +export const borderBottom = { + container: { + borderColor: border.color, + borderBottomWidth: border.width + } +}; +export const borderRadiusSmall = { + container: { + overflow: "hidden", + borderRadius: border.radiusSmall + } +}; +export const borderRadiusLarge = { + container: { + overflow: "hidden", + borderRadius: border.radiusLarge + } +}; +// +// Positioning +export const absoluteBottom = { + container: { + position: "absolute", + bottom: 0, + width: "100%", + maxWidth: "100%", + zIndex: 99 + } +}; +export const absoluteTop = { + container: { + position: "absolute", + top: 0, + width: "100%", + maxWidth: "100%", + zIndex: 99 + } +}; diff --git a/themesource/atlas_core/native/core/helpers/image.js b/themesource/atlas_core/native/core/helpers/image.js new file mode 100644 index 0000000..d009429 --- /dev/null +++ b/themesource/atlas_core/native/core/helpers/image.js @@ -0,0 +1,142 @@ +import { border, brand, contrast, image } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Image + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// +// +// == Extra Classes +// ## Helper classes to change the look and feel of the widget +// -------------------------------------------------------------------------------------------------------------------// +// Image Overlay +export const imageOverlay = { + container: { + zIndex: 10, + width: "100%", + height: "100%", + position: "absolute", + backgroundColor: "rgba(0,0,0,0.4)" + } +}; +// +// Image Shapes +export const imageSquare = { + image: { + width: "100%", + height: "auto", + aspectRatio: 1, + borderRadius: border.radiusSmall + } +}; +export const imageCircle = { + image: { + width: "100%", + height: "auto", + aspectRatio: 1, + borderRadius: 50000 + } +}; +// Image Sizes +export const imageIcon = { + image: { + maxWidth: image.icon, + maxHeight: image.icon + }, + container: { + maxWidth: image.icon, + maxHeight: image.icon + } +}; +export const imageSmall = { + image: { + maxWidth: image.image.small, + maxHeight: image.image.small + }, + container: { + maxWidth: image.image.small, + maxHeight: image.image.small + } +}; +export const imageMedium = { + image: { + maxWidth: image.image.medium, + maxHeight: image.image.medium + }, + container: { + maxWidth: image.image.medium, + maxHeight: image.image.medium + } +}; +export const imageLarge = { + image: { + maxWidth: image.image.large, + maxHeight: image.image.large + }, + container: { + maxWidth: image.image.large, + maxHeight: image.image.large + } +}; +export const imageLarger = { + image: { + maxWidth: image.image.larger, + maxHeight: image.image.larger + }, + container: { + maxWidth: image.image.larger, + maxHeight: image.image.larger + } +}; +export const imageFullSize = { + image: { + maxWidth: "100%", + maxHeight: "auto" + } +}; +// +// Image / SVG Styles +export const imageIconPrimary = { + image: { + fill: brand.primary, + color: brand.primary + } +}; +export const imageIconSecondary = { + image: { + fill: contrast.low, + color: contrast.low + } +}; +export const imageIconSuccess = { + image: { + fill: brand.success, + color: brand.success + } +}; +export const imageIconWarning = { + image: { + fill: brand.warning, + color: brand.warning + } +}; +export const imageIconDanger = { + image: { + fill: brand.danger, + color: brand.danger + } +}; +export const imageIconInfo = { + image: { + fill: brand.info, + color: brand.info + } +}; diff --git a/themesource/atlas_core/native/core/helpers/introscreen.js b/themesource/atlas_core/native/core/helpers/introscreen.js new file mode 100644 index 0000000..bc3ff89 --- /dev/null +++ b/themesource/atlas_core/native/core/helpers/introscreen.js @@ -0,0 +1,75 @@ +import { backgroundDefaults, brand, fontDefaults } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Intro Screen + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// +// +// == Extra Classes +// ## Helper classes to change the look and feel of the widget +// -------------------------------------------------------------------------------------------------------------------// +const introScreenButton = { + icon: { + // Size and color are allowed + color: fontDefaults.colorTitleDark + }, + caption: { + // All TextStyle properties are allowed + color: fontDefaults.colorTitleDark + } +}; +export const introScreenLightMode = { + fullscreenContainer: { + // All ViewStyle properties are allowed + backgroundColor: backgroundDefaults.primaryLight + }, + popupContainer: { + // All ViewStyle properties are allowed + backgroundColor: backgroundDefaults.primaryLight + }, + paginationText: { + // All TextStyle properties are allowed + color: fontDefaults.colorTitleLight + }, + dotStyle: { + // All ViewStyle properties are allowed + backgroundColor: fontDefaults.colorDisabledLight + }, + activeDotStyle: { + // All ViewStyle properties are allowed + backgroundColor: backgroundDefaults.secondaryDark + }, + // Button styles + paginationAbove: { + buttonSkip: introScreenButton, + buttonPrevious: introScreenButton, + buttonNext: introScreenButton, + buttonDone: introScreenButton + }, + paginationBetween: { + buttonSkip: introScreenButton, + buttonPrevious: introScreenButton, + buttonNext: introScreenButton, + buttonDone: introScreenButton + } +}; +// Background colors +export const introScreenBackgroundBrandPrimary = { + fullscreenContainer: { + // All ViewStyle properties are allowed + backgroundColor: brand.primary + }, + popupContainer: { + // All ViewStyle properties are allowed + backgroundColor: brand.primary + } +}; diff --git a/themesource/atlas_core/native/core/helpers/linechart.js b/themesource/atlas_core/native/core/helpers/linechart.js new file mode 100644 index 0000000..32eabbd --- /dev/null +++ b/themesource/atlas_core/native/core/helpers/linechart.js @@ -0,0 +1,11 @@ +export const lineChartSquare = { + chart: { + aspectRatio: 1 + } +}; +export const lineChartMaxSpace = { + chart: { + flex: 1, + aspectRatio: undefined + } +}; diff --git a/theme/styles/native/core/helpers/listviews.js b/themesource/atlas_core/native/core/helpers/listview.js similarity index 51% rename from theme/styles/native/core/helpers/listviews.js rename to themesource/atlas_core/native/core/helpers/listview.js index 768776e..7fa30dd 100644 --- a/theme/styles/native/core/helpers/listviews.js +++ b/themesource/atlas_core/native/core/helpers/listview.js @@ -1,41 +1,46 @@ -import { listView } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - List View - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// List item dividers -export const listItemBorderBottom = { - listItem: { - borderColor: listView.border.color, - borderBottomWidth: listView.border.width, - }, -}; -export const listItemBorderRight = { - listItem: { - borderColor: listView.border.color, - borderRightWidth: listView.border.width, - }, -}; -// -//== Extra Classes -//## Helper classes to change the look and feel of the widget -//-------------------------------------------------------------------------------------------------------------------// -export const listItemIconSmall = { - icon: { - size: 16, - }, -}; -export const listItemIconLarge = { - icon: { - size: 24, - }, -}; +import { background, border, listView, spacing } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + List View + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// List item dividers +export const listItemBorderBottom = { + listItem: { + borderColor: listView.border.color, + borderBottomWidth: listView.border.width + } +}; +export const listItemBorderRight = { + listItem: { + borderColor: listView.border.color, + borderRightWidth: listView.border.width + } +}; +// +// == Extra Classes +// ## Helper classes to change the look and feel of the widget +// -------------------------------------------------------------------------------------------------------------------// +export const listItemImage = { + container: { + height: 88, + width: 128, + overflow: "hidden", + backgroundColor: background.primary, + borderRadius: border.radiusLarge, + marginRight: spacing.regular + } +}; +export const horizontalListItemCard = { + container: { + width: 280 + } +}; diff --git a/theme/styles/native/core/helpers/listviewswipe.js b/themesource/atlas_core/native/core/helpers/listviewswipe.js similarity index 65% rename from theme/styles/native/core/helpers/listviewswipe.js rename to themesource/atlas_core/native/core/helpers/listviewswipe.js index 9e83281..31fb38b 100644 --- a/theme/styles/native/core/helpers/listviewswipe.js +++ b/themesource/atlas_core/native/core/helpers/listviewswipe.js @@ -1,37 +1,38 @@ -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - List View Swipe - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -export const listViewSwipeSmallPanels = { - leftAction: { - // PanelSize & All ViewStyle properties are allowed - panelSize: 150, - }, - rightAction: { - // PanelSize & All ViewStyle properties are allowed - panelSize: 150, - }, -}; -export const listViewSwipeLargePanels = { - leftAction: { - // PanelSize & All ViewStyle properties are allowed - panelSize: 250, - }, - rightAction: { - // PanelSize & All ViewStyle properties are allowed - panelSize: 250, - }, -}; -// -//== Extra Classes -//## Helper classes to change the look and feel of the widget -//-------------------------------------------------------------------------------------------------------------------// +import { listViewSwipe } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + List View Swipe + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +export const listViewSwipeSmallPanels = { + leftAction: { + // PanelSize & All ViewStyle properties are allowed + panelSize: listViewSwipe.leftAction.panelSizeSmall + }, + rightAction: { + // PanelSize & All ViewStyle properties are allowed + panelSize: listViewSwipe.rightAction.panelSizeSmall + } +}; +export const listViewSwipeLargePanels = { + leftAction: { + // PanelSize & All ViewStyle properties are allowed + panelSize: listViewSwipe.leftAction.panelSizeLarge + }, + rightAction: { + // PanelSize & All ViewStyle properties are allowed + panelSize: listViewSwipe.rightAction.panelSizeLarge + } +}; +// +// == Extra Classes +// ## Helper classes to change the look and feel of the widget +// -------------------------------------------------------------------------------------------------------------------// diff --git a/theme/styles/native/core/helpers/maps.js b/themesource/atlas_core/native/core/helpers/maps.js similarity index 61% rename from theme/styles/native/core/helpers/maps.js rename to themesource/atlas_core/native/core/helpers/maps.js index 7806d56..f71c711 100644 --- a/theme/styles/native/core/helpers/maps.js +++ b/themesource/atlas_core/native/core/helpers/maps.js @@ -1,54 +1,54 @@ -import { border, brand } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Maps - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Maps Colors -export const mapsSuccess = { - marker: { - color: brand.success, - }, -}; -export const mapsWarning = { - marker: { - color: brand.warning, - }, -}; -export const mapsDanger = { - marker: { - color: brand.danger, - }, -}; -// -// Maps Size -export const mapsSquare = { - container: { - aspectRatio: 1 / 1, - }, -}; -export const mapsMaxSpace = { - container: { - flex: 1, - aspectRatio: undefined, - }, -}; -// -//== Extra Classes -//## Helper classes to change the look and feel of the widget -//-------------------------------------------------------------------------------------------------------------------// -// Maps Shape -export const mapsRounded = { - container: { - borderRadius: border.radius, - overflow: "hidden", - }, -}; +import { border, brand } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Maps + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Maps Colors +export const mapsSuccess = { + marker: { + color: brand.success + } +}; +export const mapsWarning = { + marker: { + color: brand.warning + } +}; +export const mapsDanger = { + marker: { + color: brand.danger + } +}; +// +// Maps Size +export const mapsSquare = { + container: { + aspectRatio: 1 / 1 + } +}; +export const mapsMaxSpace = { + container: { + flex: 1, + aspectRatio: undefined + } +}; +// +// == Extra Classes +// ## Helper classes to change the look and feel of the widget +// -------------------------------------------------------------------------------------------------------------------// +// Maps Shape +export const mapsRounded = { + container: { + borderRadius: border.radiusSmall, + overflow: "hidden" + } +}; diff --git a/themesource/atlas_core/native/core/helpers/progressbar.js b/themesource/atlas_core/native/core/helpers/progressbar.js new file mode 100644 index 0000000..571e5b9 --- /dev/null +++ b/themesource/atlas_core/native/core/helpers/progressbar.js @@ -0,0 +1,44 @@ +import { brand, progressBar } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Progress Bar + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Progress Bar Color +export const progressBarSuccess = { + fill: { + backgroundColor: brand.success + } +}; +export const progressBarWarning = { + fill: { + backgroundColor: brand.warning + } +}; +export const progressBarDanger = { + fill: { + backgroundColor: brand.danger + } +}; +// +// Progress Bar Size +export const progressBarSmall = { + bar: { + height: progressBar.bar.heightSmall, + borderRadius: progressBar.bar.heightSmall / 2 + } +}; +export const progressBarLarge = { + bar: { + height: progressBar.bar.heightLarge, + borderRadius: progressBar.bar.heightLarge / 2 + } +}; diff --git a/theme/styles/native/core/helpers/progresscircle.js b/themesource/atlas_core/native/core/helpers/progresscircle.js similarity index 65% rename from theme/styles/native/core/helpers/progresscircle.js rename to themesource/atlas_core/native/core/helpers/progresscircle.js index 3a6dfef..ca16a0d 100644 --- a/theme/styles/native/core/helpers/progresscircle.js +++ b/themesource/atlas_core/native/core/helpers/progresscircle.js @@ -1,60 +1,60 @@ -import { brand, contrast, font } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Progress Circle - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Progress Circle Color -export const progressCircleSuccess = { - fill: { - backgroundColor: brand.success, - }, - text: { - color: contrast.regular, - }, -}; -export const progressCircleWarning = { - fill: { - backgroundColor: brand.warning, - }, - text: { - color: contrast.regular, - }, -}; -export const progressCircleDanger = { - fill: { - backgroundColor: brand.danger, - }, - text: { - color: contrast.regular, - }, -}; -export const progressCircleGray = { - fill: { - backgroundColor: contrast.regular, - }, - text: { - color: contrast.regular, - }, -}; -// -// Sizes -export const progressCircleSmall = { - circle: { - size: 50, - }, - fill: { - width: 3, - }, - text: { - fontSize: font.sizeSmall, - }, -}; +import { brand, contrast, font } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Progress Circle + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Progress Circle Color +export const progressCircleSuccess = { + fill: { + backgroundColor: brand.success + }, + text: { + color: brand.success + } +}; +export const progressCircleWarning = { + fill: { + backgroundColor: brand.warning + }, + text: { + color: brand.warning + } +}; +export const progressCircleDanger = { + fill: { + backgroundColor: brand.danger + }, + text: { + color: brand.danger + } +}; +export const progressCircleGray = { + fill: { + backgroundColor: contrast.regular + }, + text: { + color: contrast.regular + } +}; +// +// Sizes +export const progressCircleSmall = { + circle: { + size: 50 + }, + fill: { + width: 3 + }, + text: { + fontSize: font.sizeSmall + } +}; diff --git a/theme/styles/native/core/helpers/rangeslider.js b/themesource/atlas_core/native/core/helpers/rangeslider.js similarity index 97% rename from theme/styles/native/core/helpers/rangeslider.js rename to themesource/atlas_core/native/core/helpers/rangeslider.js index cfcc6a0..09d0e58 100644 --- a/theme/styles/native/core/helpers/rangeslider.js +++ b/themesource/atlas_core/native/core/helpers/rangeslider.js @@ -1,18 +1,18 @@ -import { sliderDanger, sliderSuccess, sliderWarning } from "./slider"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Range Slider - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Range Slider Color -export const rangeSliderSuccess = sliderSuccess; -export const rangeSliderWarning = sliderWarning; -export const rangeSliderDanger = sliderDanger; +import { sliderDanger, sliderSuccess, sliderWarning } from "./slider"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Range Slider + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Range Slider Color +export const rangeSliderSuccess = sliderSuccess; +export const rangeSliderWarning = sliderWarning; +export const rangeSliderDanger = sliderDanger; diff --git a/theme/styles/native/core/helpers/slider.js b/themesource/atlas_core/native/core/helpers/slider.js similarity index 59% rename from theme/styles/native/core/helpers/slider.js rename to themesource/atlas_core/native/core/helpers/slider.js index b5fa2ee..fd707ff 100644 --- a/theme/styles/native/core/helpers/slider.js +++ b/themesource/atlas_core/native/core/helpers/slider.js @@ -1,40 +1,39 @@ -import { Platform } from "react-native"; -import { brand, contrast } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Slider - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Slider Color -export const sliderSuccess = { - highlight: { - backgroundColor: brand.success, - }, - highlightDisabled: { - backgroundColor: Platform.select({ ios: brand.success, android: contrast.low }), - }, -}; -export const sliderWarning = { - highlight: { - backgroundColor: brand.warning, - }, - highlightDisabled: { - backgroundColor: Platform.select({ ios: brand.warning, android: contrast.low }), - }, -}; -export const sliderDanger = { - highlight: { - backgroundColor: brand.danger, - }, - highlightDisabled: { - backgroundColor: Platform.select({ ios: brand.danger, android: contrast.low }), - }, -}; +import { brand } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Slider + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Slider Color +export const sliderSuccess = { + highlight: { + backgroundColor: brand.success + }, + highlightDisabled: { + backgroundColor: brand.success + } +}; +export const sliderWarning = { + highlight: { + backgroundColor: brand.warning + }, + highlightDisabled: { + backgroundColor: brand.warning + } +}; +export const sliderDanger = { + highlight: { + backgroundColor: brand.danger + }, + highlightDisabled: { + backgroundColor: brand.danger + } +}; diff --git a/theme/styles/native/core/helpers/tabcontainer.js b/themesource/atlas_core/native/core/helpers/tabcontainer.js similarity index 69% rename from theme/styles/native/core/helpers/tabcontainer.js rename to themesource/atlas_core/native/core/helpers/tabcontainer.js index 0782d18..08884fe 100644 --- a/theme/styles/native/core/helpers/tabcontainer.js +++ b/themesource/atlas_core/native/core/helpers/tabcontainer.js @@ -1,33 +1,33 @@ -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Tab Container - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Enable scroll for the tab bar -export const tabContainerScroll = { - tabBar: { - scrollEnabled: true, - }, -}; -// -//== Extra Classes -//## Helper classes to change the look and feel of the widget -//-------------------------------------------------------------------------------------------------------------------// -// Tab container as content of page -export const tabContainerMinimal = { - container: { - backgroundColor: "transparent", - }, - tabBar: { - backgroundColor: "transparent", - elevation: 0, - }, -}; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Tab Container + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Enable scroll for the tab bar +export const tabContainerScroll = { + tabBar: { + scrollEnabled: true + } +}; +// +// == Extra Classes +// ## Helper classes to change the look and feel of the widget +// -------------------------------------------------------------------------------------------------------------------// +// Tab container as content of page +export const tabContainerMinimal = { + container: { + backgroundColor: "transparent" + }, + tabBar: { + backgroundColor: "transparent", + elevation: 0 + } +}; diff --git a/theme/styles/native/core/helpers/textbox.js b/themesource/atlas_core/native/core/helpers/textbox.js similarity index 79% rename from theme/styles/native/core/helpers/textbox.js rename to themesource/atlas_core/native/core/helpers/textbox.js index 7403834..5309bc4 100644 --- a/theme/styles/native/core/helpers/textbox.js +++ b/themesource/atlas_core/native/core/helpers/textbox.js @@ -1,34 +1,34 @@ -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Text Box - -//== Design Properties -//## Helper classes to change the look and feel of the widget -========================================================================== */ -// Text Box Color -export const textInputCapitalizeNone = { - input: { - autoCapitalize: "none", - }, -}; -export const textInputCapitalizeCharacters = { - input: { - autoCapitalize: "characters", - }, -}; -export const textInputCapitalizeWords = { - input: { - autoCapitalize: "words", - }, -}; -export const textInputCapitalizeSentences = { - input: { - autoCapitalize: "sentences", - }, -}; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Text Box + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Text Box Color +export const textInputCapitalizeNone = { + input: { + autoCapitalize: "none" + } +}; +export const textInputCapitalizeCharacters = { + input: { + autoCapitalize: "characters" + } +}; +export const textInputCapitalizeWords = { + input: { + autoCapitalize: "words" + } +}; +export const textInputCapitalizeSentences = { + input: { + autoCapitalize: "sentences" + } +}; diff --git a/themesource/atlas_core/native/core/helpers/typography.js b/themesource/atlas_core/native/core/helpers/typography.js new file mode 100644 index 0000000..9fbdb93 --- /dev/null +++ b/themesource/atlas_core/native/core/helpers/typography.js @@ -0,0 +1,156 @@ +import { brand, font, fontDefaults } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Text + +//== Design Properties +//## Helper classes to change the look and feel of the widget +========================================================================== */ +// Text Colors +export const textTitle = { + text: { + color: font.colorTitle + } +}; +export const textParagraph = { + text: { + color: font.colorParagraph + } +}; +export const textDisabled = { + text: { + color: font.colorDisabled + } +}; +export const textWhite = { + text: { + color: fontDefaults.colorTitleLight + } +}; +export const textBlack = { + text: { + color: fontDefaults.colorTitleDark + } +}; +export const textPrimary = { + text: { + color: brand.primary + } +}; +export const textSuccess = { + text: { + color: brand.success + } +}; +export const textWarning = { + text: { + color: brand.warning + } +}; +export const textDanger = { + text: { + color: brand.danger + } +}; +// +// Text Alignment +export const textLeft = { + text: { + textAlign: "left" + } +}; +export const textCenter = { + text: { + textAlign: "center" + } +}; +export const textRight = { + text: { + textAlign: "right" + } +}; +// +// Text Weights +export const textLight = { + text: { + fontWeight: font.weightLight + } +}; +export const textNormal = { + text: { + fontWeight: font.weightNormal + } +}; +export const textSemiBold = { + text: { + fontWeight: font.weightSemiBold + } +}; +export const textBold = { + text: { + fontWeight: font.weightBold + } +}; +// +// Text Sizes +export const textSmallest = { + text: { + fontSize: font.sizeSmallest, + lineHeight: font.lineHeightSmallest + } +}; +export const textSmall = { + text: { + fontSize: font.sizeSmall, + lineHeight: font.lineHeightSmall + } +}; +export const textLarge = { + text: { + fontSize: font.sizeLarge, + lineHeight: font.lineHeightLarge + } +}; +export const textLargest = { + text: { + fontSize: font.sizeLargest, + lineHeight: font.lineHeightLargest + } +}; +// +// == Extra Classes +// ## Helper classes to change the look and feel of the widget +// -------------------------------------------------------------------------------------------------------------------// +// +// Text Transformations +export const textLowercase = { + text: { + textTransform: "lowercase" + } +}; +export const textUppercase = { + text: { + textTransform: "uppercase" + } +}; +export const textCapitalize = { + text: { + textTransform: "capitalize" + } +}; +export const textUnderline = { + text: { + textDecorationLine: "underline" + } +}; +export const textLineThrough = { + text: { + textDecorationLine: "line-through" + } +}; diff --git a/theme/styles/native/core/manifest.json b/themesource/atlas_core/native/core/manifest.json similarity index 62% rename from theme/styles/native/core/manifest.json rename to themesource/atlas_core/native/core/manifest.json index a38fc4a..b6b47f5 100644 --- a/theme/styles/native/core/manifest.json +++ b/themesource/atlas_core/native/core/manifest.json @@ -1,4 +1,4 @@ { "name": "Atlas-UI-Framework", - "version": "2.6.0" + "version": "3.0.0" } diff --git a/theme/styles/native/core/widgets/activityindicator.js b/themesource/atlas_core/native/core/widgets/activityindicator.js similarity index 89% rename from theme/styles/native/core/widgets/activityindicator.js rename to themesource/atlas_core/native/core/widgets/activityindicator.js index dccf873..1ae32d7 100644 --- a/theme/styles/native/core/widgets/activityindicator.js +++ b/themesource/atlas_core/native/core/widgets/activityindicator.js @@ -1,23 +1,23 @@ -import { brand } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Activity Indicator - - Default Class For Mendix Activity Indicator Widget -========================================================================== */ -export const com_mendix_widget_native_activityindicator_ActivityIndicator = { - container: { - // All ViewStyle properties are allowed - }, - indicator: { - // Color and size are allowed - color: brand.primary, - size: "large", - }, -}; +import { brand } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Activity Indicator + + Default Class For Mendix Activity Indicator Widget +========================================================================== */ +export const com_mendix_widget_native_activityindicator_ActivityIndicator = { + container: { + // All ViewStyle properties are allowed + }, + indicator: { + // Color and size are allowed + color: brand.primary, + size: "large" + } +}; diff --git a/theme/styles/native/core/widgets/animation.js b/themesource/atlas_core/native/core/widgets/animation.js similarity index 89% rename from theme/styles/native/core/widgets/animation.js rename to themesource/atlas_core/native/core/widgets/animation.js index ef1da10..4b143de 100644 --- a/theme/styles/native/core/widgets/animation.js +++ b/themesource/atlas_core/native/core/widgets/animation.js @@ -1,15 +1,17 @@ -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Animation - - Default Class For Mendix Animation Widget -========================================================================== */ -export const com_mendix_widget_native_animation_Animation = { - container: {}, -}; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Animation + + Default Class For Mendix Animation Widget +========================================================================== */ +export const com_mendix_widget_native_animation_Animation = { + container: { + // All ViewStyle properties are allowed + } +}; diff --git a/theme/styles/native/core/widgets/backgroundimage.js b/themesource/atlas_core/native/core/widgets/backgroundimage.js similarity index 96% rename from theme/styles/native/core/widgets/backgroundimage.js rename to themesource/atlas_core/native/core/widgets/backgroundimage.js index d65957c..40d6829 100644 --- a/theme/styles/native/core/widgets/backgroundimage.js +++ b/themesource/atlas_core/native/core/widgets/backgroundimage.js @@ -1,19 +1,19 @@ -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. -// -/* ========================================================================== - Background Image - - Default Class For Mendix Background Image Widget -========================================================================== */ -export const com_mendix_widget_native_backgroundimage_BackgroundImage = { - container: { - // All ViewStyle properties are allowed - }, - image: { - // svgColor and all ImageStyle properties are allowed - }, -}; +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. +// +/* ========================================================================== + Background Image + + Default Class For Mendix Background Image Widget +========================================================================== */ +export const com_mendix_widget_native_backgroundimage_BackgroundImage = { + container: { + // All ViewStyle properties are allowed + }, + image: { + // svgColor and all ImageStyle properties are allowed + } +}; diff --git a/theme/styles/native/core/widgets/badge.js b/themesource/atlas_core/native/core/widgets/badge.js similarity index 84% rename from theme/styles/native/core/widgets/badge.js rename to themesource/atlas_core/native/core/widgets/badge.js index 1d33d21..260c6da 100644 --- a/theme/styles/native/core/widgets/badge.js +++ b/themesource/atlas_core/native/core/widgets/badge.js @@ -1,28 +1,29 @@ -import { badge, font } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Badge - - Default Class For Mendix Badge Widget -========================================================================== */ -export const com_mendix_widget_native_badge_Badge = { - container: { - // All ViewStyle properties are allowed - backgroundColor: badge.default.backgroundColor, - paddingVertical: badge.paddingVertical, - paddingHorizontal: badge.paddingHorizontal, - }, - caption: { - // All TextStyle properties are allowed - color: badge.default.color, - fontFamily: font.family, - fontWeight: badge.fontWeight, - marginTop: -1, - }, -}; +import { badge, font } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Badge + + Default Class For Mendix Badge Widget +========================================================================== */ +export const com_mendix_widget_native_badge_Badge = { + container: { + // All ViewStyle properties are allowed + backgroundColor: badge.default.backgroundColor, + borderRadius: badge.borderRadius, + paddingVertical: badge.paddingVertical, + paddingHorizontal: badge.paddingHorizontal + }, + caption: { + // All TextStyle properties are allowed + color: badge.default.color, + fontFamily: font.family, + fontWeight: badge.fontWeight, + marginTop: -1 + } +}; diff --git a/themesource/atlas_core/native/core/widgets/barchart.js b/themesource/atlas_core/native/core/widgets/barchart.js new file mode 100644 index 0000000..6bcb7dc --- /dev/null +++ b/themesource/atlas_core/native/core/widgets/barchart.js @@ -0,0 +1,166 @@ +import { border, brand, font, spacing } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Bar Chart + + Default Class For Mendix Bar Chart Widget +========================================================================== */ +export const com_mendix_widget_native_barchart_BarChart = { + container: { + // All ViewStyle properties are allowed + }, + errorMessage: { + // All TextStyle properties are allowed + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal + }, + chart: { + // All ViewStyle properties are allowed + }, + grid: { + /* + Allowed properties: + - backgroundColor (string) + - dashArray (string) + - lineColor (string) + - padding (number) + - paddingBottom (number) + - paddingHorizontal (number) + - paddingLeft (number) + - paddingRight (number) + - paddingTop (number) + - paddingVertical (number) + - width (number) + */ + lineColor: border.color, + paddingBottom: 32, + paddingLeft: 32, + paddingRight: 8, + paddingTop: 8 + }, + xAxis: { + /* + Allowed properties: + - color (string) + - dashArray (string) + - fontFamily (string) + - fontSize (number) + - fontStyle ("normal" or "italic") + - fontWeight ("normal" or "bold" or "100" or "200" or "300" or "400" or "500" or "600" or "700" or "800" or "900") + - lineColor (string) + - width (number) + */ + color: font.colorTitle, + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal, + label: { + /* + All TextStyle properties are allowed and: + - relativePositionGrid ("bottom" or "right") + */ + color: font.colorParagraph, + alignSelf: "center", + marginHorizontal: 0, + marginVertical: 8, + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal + }, + lineColor: border.color + }, + yAxis: { + /* + Allowed properties: + - color (string) + - dashArray (string) + - fontFamily (string) + - fontSize (number) + - fontStyle ("normal" or "italic") + - fontWeight ("normal" or "bold" or "100" or "200" or "300" or "400" or "500" or "600" or "700" or "800" or "900") + - lineColor (string) + - width (number) + */ + color: font.colorTitle, + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal, + label: { + /* + All TextStyle properties are allowed and: + - relativePositionGrid ("top" or "left") + */ + color: font.colorParagraph, + marginHorizontal: 0, + marginVertical: 8, + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal + }, + lineColor: border.color + }, + bars: { + /* + Allowed properties: + - barColorPalette (string with array of colors separated by ';') + - barsOffset (number) + + */ + barColorPalette: Object.values(brand) + .map((color, index, brandColors) => (index === brandColors.length - 1 ? color : `${color};`)) + .join(""), + barsOffset: 20, + customBarStyles: { + your_static_or_dynamic_attribute_value: { + bar: { + /* + Allowed properties: + - ending (number) + - barColor (string) + - width (number) + */ + }, + label: { + /* + Allowed properties: + - fontFamily (string) + - fontSize (number) + - fontStyle ("normal" or "italic") + - fontWeight ("normal" or "bold" or "100" or "200" or "300" or "400" or "500" or "600" or "700" or "800" or "900") + */ + } + } + } + }, + legend: { + container: { + // All ViewStyle properties are allowed + justifyContent: "flex-start", + marginHorizontal: 0, + marginVertical: spacing.small + }, + item: { + // All ViewStyle properties are allowed + padding: 0, + paddingRight: spacing.regular + }, + indicator: { + // All ViewStyle properties are allowed + marginRight: spacing.small + }, + label: { + // All TextStyle properties are allowed + color: font.colorTitle, + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal + } + } +}; diff --git a/theme/styles/native/core/widgets/bottomsheet.js b/themesource/atlas_core/native/core/widgets/bottomsheet.js similarity index 77% rename from theme/styles/native/core/widgets/bottomsheet.js rename to themesource/atlas_core/native/core/widgets/bottomsheet.js index 167ee4d..32fe4f8 100644 --- a/theme/styles/native/core/widgets/bottomsheet.js +++ b/themesource/atlas_core/native/core/widgets/bottomsheet.js @@ -1,67 +1,67 @@ -import { background, border, brand, contrast, font } from "../variables"; -// -// DISCLAIMER: -// Do not change this file because it is core styling. -// Customizing core files will make updating Atlas much more difficult in the future. -// To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. -// -/* ========================================================================== - Bottom Sheet - - Default Class For Mendix Bottom Sheet Widget -========================================================================== */ -export const com_mendix_widget_native_bottomsheet_BottomSheet = { - container: { - // All ViewStyle properties are allowed - backgroundColor: background.primary, - borderRadius: border.radius, - elevation: 20, - shadowColor: "#000", - shadowOpacity: 0.1, - shadowRadius: 6, - shadowOffset: { - width: 0, - height: -4, - }, - }, - containerWhenExpandedFullscreen: { - // All ViewStyle properties are allowed - height: "100%", - alignSelf: "stretch", - backgroundColor: background.primary, - }, - modal: { - // All ViewStyle properties are allowed - margin: 0, - justifyContent: "flex-end", - }, - modalItems: { - container: { - // rippleColor & All TextStyle properties are allowed - height: 50, - marginTop: 0, - rippleColor: contrast.lower, - backgroundColor: background.primary, - }, - defaultStyle: { - // All TextStyle properties are allowed - fontSize: 16, - color: font.color, - }, - primaryStyle: { - // All TextStyle properties are allowed - fontSize: 16, - color: brand.primary, - }, - dangerStyle: { - // All TextStyle properties are allowed - fontSize: 16, - color: brand.danger, - }, - customStyle: { - // All TextStyle properties are allowed - fontSize: 16, - color: font.color, - }, - }, -}; +import { background, border, brand, contrast, font } from "../../variables"; +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. +// +/* ========================================================================== + Bottom Sheet + + Default Class For Mendix Bottom Sheet Widget +========================================================================== */ +export const com_mendix_widget_native_bottomsheet_BottomSheet = { + container: { + // All ViewStyle properties are allowed + backgroundColor: background.primary, + borderRadius: border.radiusLarge, + elevation: 20, + shadowColor: "#000", + shadowOpacity: 0.1, + shadowRadius: 6, + shadowOffset: { + width: 0, + height: -4 + } + }, + containerWhenExpandedFullscreen: { + // All ViewStyle properties are allowed + height: "100%", + alignSelf: "stretch", + backgroundColor: background.primary + }, + modal: { + // All ViewStyle properties are allowed + margin: 0, + justifyContent: "flex-end" + }, + modalItems: { + container: { + // rippleColor & All TextStyle properties are allowed + height: 50, + marginTop: 0, + rippleColor: contrast.lower, + backgroundColor: background.primary + }, + defaultStyle: { + // All TextStyle properties are allowed + fontSize: 16, + color: font.colorTitle + }, + primaryStyle: { + // All TextStyle properties are allowed + fontSize: 16, + color: brand.primary + }, + dangerStyle: { + // All TextStyle properties are allowed + fontSize: 16, + color: brand.danger + }, + customStyle: { + // All TextStyle properties are allowed + fontSize: 16, + color: font.colorTitle + } + } +}; diff --git a/theme/styles/native/core/widgets/buttons.js b/themesource/atlas_core/native/core/widgets/buttons.js similarity index 57% rename from theme/styles/native/core/widgets/buttons.js rename to themesource/atlas_core/native/core/widgets/buttons.js index 650643a..752b2b7 100644 --- a/theme/styles/native/core/widgets/buttons.js +++ b/themesource/atlas_core/native/core/widgets/buttons.js @@ -1,59 +1,75 @@ -import { button, contrast, font } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Button - - Default Class For Mendix Button Widget -========================================================================== */ -export const ActionButton = { - container: { - // Ripplecolor and all ViewStyle properties are allowed - borderWidth: 1, - borderStyle: "solid", - rippleColor: contrast.lowest, - borderColor: button.primary.borderColor, - backgroundColor: button.primary.backgroundColor, - alignItems: "center", - justifyContent: "center", - borderRadius: button.borderRadius, - paddingVertical: button.paddingVertical, - paddingHorizontal: button.paddingHorizontal, - }, - icon: { - // Size and color are allowed - color: button.primary.color, - size: button.fontSizeIcon, - }, - caption: { - // All TextStyle properties are allowed - color: button.primary.color, - fontSize: button.fontSize, - fontFamily: font.family, - fontWeight: button.fontWeight, - }, -}; -// -// Default style for button inside a header -export const ActionButtonHeader = { - container: { - borderColor: button.header.borderColor, - backgroundColor: button.header.backgroundColor, - paddingLeft: button.header.paddingLeft, - paddingRight: button.header.paddingRight, - }, - icon: { - color: button.header.color, - size: button.header.fontSizeIcon, - }, - caption: { - color: button.header.color, - fontSize: button.header.fontSize, - fontFamily: font.family, - }, -}; +import { button, font } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Button + + Default Class For Mendix Button Widget +========================================================================== */ +export const ActionButton = { + container: { + // Ripplecolor and all ViewStyle properties are allowed + borderWidth: 1, + borderStyle: "solid", + rippleColor: button.container.rippleColor, + borderColor: button.primary.borderColor, + backgroundColor: button.primary.backgroundColor, + alignItems: "center", + justifyContent: "center", + borderRadius: button.container.borderRadius, + minWidth: button.container.minWidth, + minHeight: button.container.minHeight, + paddingVertical: button.container.paddingVertical, + paddingHorizontal: button.container.paddingHorizontal + }, + containerDisabled: { + // All ViewStyle properties are allowed + borderColor: button.containerDisabled.borderColor, + backgroundColor: button.containerDisabled.backgroundColor + }, + icon: { + // Size and color are allowed + color: button.primary.color, + size: button.icon.size + }, + iconDisabled: { + // Size and color are allowed + color: button.iconDisabled.color + }, + caption: { + // All TextStyle properties are allowed + color: button.primary.color, + fontSize: button.caption.fontSize, + fontFamily: font.family, + fontWeight: button.caption.fontWeight, + lineHeight: font.lineHeight + }, + captionDisabled: { + // All TextStyle properties are allowed + color: button.captionDisabled.color + } +}; +// +// Default style for button inside a header +export const ActionButtonHeader = { + container: { + borderColor: button.header.borderColor, + backgroundColor: button.header.backgroundColor, + paddingLeft: button.header.paddingLeft, + paddingRight: button.header.paddingRight + }, + icon: { + color: button.header.color, + size: button.header.fontSizeIcon + }, + caption: { + color: button.header.color, + fontSize: button.header.fontSize, + fontFamily: font.family + } +}; diff --git a/theme/styles/native/core/widgets/carousel.js b/themesource/atlas_core/native/core/widgets/carousel.js similarity index 80% rename from theme/styles/native/core/widgets/carousel.js rename to themesource/atlas_core/native/core/widgets/carousel.js index 52c0362..cd2819e 100644 --- a/theme/styles/native/core/widgets/carousel.js +++ b/themesource/atlas_core/native/core/widgets/carousel.js @@ -1,119 +1,119 @@ -import { brand, contrast, font, spacing } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Button - - Default Class For Mendix Carousel Widget -========================================================================== */ -// Card -const carouselFullWidthLayout = { - slideItem: { - // All ViewStyle properties are allowed - height: 250, - }, - inactiveSlideItem: { - // Only opacity and scale are allowed - }, - pagination: { - container: { - // All ViewStyle properties are allowed - position: "absolute", - bottom: 0, - width: "100%", - justifyContent: "center", - paddingHorizontal: spacing.regular, - paddingBottom: spacing.regular, - }, - text: { - // All TextStyle properties are allowed - color: "#FFF", - fontSize: font.size, - fontFamily: font.family, - textAlign: "center", - textShadowColor: "#888", - textShadowRadius: 3, - textShadowOffset: { - width: 0, - height: 1, - }, - }, - dotContainerStyle: { - // All ViewStyle properties are allowed - marginHorizontal: 3, - }, - dotStyle: { - // Color and all ViewStyle properties are allowed - color: "#FFF", - }, - inactiveDotStyle: { - // Only opacity, scale and color are allowed - color: "rgba(255, 255, 255, 0.45)", - scale: 1, - }, - }, -}; -const carouselCardLayout = { - slideItem: { - // All ViewStyle properties are allowed - width: "70%", - height: 250, - padding: 8, - paddingBottom: spacing.regular, - elevation: 1.5, - shadowColor: "#000", - shadowOpacity: 0.5, - shadowRadius: 6, - shadowOffset: { - width: 0, - height: 4, - }, - }, - inactiveSlideItem: { - // Only opacity and scale are allowed - opacity: .8, - }, - pagination: { - container: { - // All ViewStyle properties are allowed - paddingHorizontal: spacing.regular, - paddingBottom: spacing.smaller, - }, - text: { - // All TextStyle properties are allowed - color: font.color, - fontSize: font.size, - fontFamily: font.family, - textAlign: "center", - }, - dotContainerStyle: { - // All ViewStyle properties are allowed - marginHorizontal: 3, - }, - dotStyle: { - // Color and all ViewStyle properties are allowed - color: brand.primary, - }, - inactiveDotStyle: { - // Only opacity, scale and color are allowed - color: contrast.lower, - scale: 1, - }, - }, -}; -export const com_mendix_widget_native_carousel_Carousel = { - container: { - // All ViewStyle properties are allowed - }, - fullWidthLayout: carouselFullWidthLayout, - cardLayout: carouselCardLayout, - activityIndicator: { - // Only color is allowed - color: font.color, - }, -}; +import { brand, contrast, font, spacing } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Button + + Default Class For Mendix Carousel Widget +========================================================================== */ +// Card +const carouselFullWidthLayout = { + slideItem: { + // All ViewStyle properties are allowed + height: 250 + }, + inactiveSlideItem: { + // Only opacity and scale are allowed + }, + pagination: { + container: { + // All ViewStyle properties are allowed + position: "absolute", + bottom: 0, + width: "100%", + justifyContent: "center", + paddingHorizontal: spacing.regular, + paddingBottom: spacing.regular + }, + text: { + // All TextStyle properties are allowed + color: "#FFF", + fontSize: font.size, + fontFamily: font.family, + textAlign: "center", + textShadowColor: "#888", + textShadowRadius: 3, + textShadowOffset: { + width: 0, + height: 1 + } + }, + dotContainerStyle: { + // All ViewStyle properties are allowed + marginHorizontal: 3 + }, + dotStyle: { + // Color and all ViewStyle properties are allowed + color: "#FFF" + }, + inactiveDotStyle: { + // Only opacity, scale and color are allowed + color: "rgba(255, 255, 255, 0.45)", + scale: 1 + } + } +}; +const carouselCardLayout = { + slideItem: { + // All ViewStyle properties are allowed + width: "70%", + height: 250, + padding: 8, + paddingBottom: spacing.regular, + elevation: 1.5, + shadowColor: "#000", + shadowOpacity: 0.5, + shadowRadius: 6, + shadowOffset: { + width: 0, + height: 4 + } + }, + inactiveSlideItem: { + // Only opacity and scale are allowed + opacity: 0.8 + }, + pagination: { + container: { + // All ViewStyle properties are allowed + paddingHorizontal: spacing.regular, + paddingBottom: spacing.smaller + }, + text: { + // All TextStyle properties are allowed + color: font.colorTitle, + fontSize: font.size, + fontFamily: font.family, + textAlign: "center" + }, + dotContainerStyle: { + // All ViewStyle properties are allowed + marginHorizontal: 3 + }, + dotStyle: { + // Color and all ViewStyle properties are allowed + color: brand.primary + }, + inactiveDotStyle: { + // Only opacity, scale and color are allowed + color: contrast.lower, + scale: 1 + } + } +}; +export const com_mendix_widget_native_carousel_Carousel = { + container: { + // All ViewStyle properties are allowed + }, + fullWidthLayout: carouselFullWidthLayout, + cardLayout: carouselCardLayout, + activityIndicator: { + // Only color is allowed + color: font.colorTitle + } +}; diff --git a/theme/styles/native/core/widgets/checkbox.js b/themesource/atlas_core/native/core/widgets/checkbox.js similarity index 62% rename from theme/styles/native/core/widgets/checkbox.js rename to themesource/atlas_core/native/core/widgets/checkbox.js index c502f2d..1a1735b 100644 --- a/theme/styles/native/core/widgets/checkbox.js +++ b/themesource/atlas_core/native/core/widgets/checkbox.js @@ -1,75 +1,86 @@ -import { Platform } from "react-native"; -import { background, brand, contrast, spacing } from "../variables"; -import { TextBox, TextBoxVertical } from "./textbox"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - CheckBox - - Default Class For Mendix CheckBox Widget -========================================================================== */ -export const CheckBox = { - container: { - // All ViewStyle properties are allowed - ...TextBox.container, - paddingVertical: spacing.smallest, - justifyContent: "center", - }, - label: { - // numberOfLines and all TextStyle properties are allowed - ...TextBox.label, - }, - input: { - // thumbColorOn, thumbColorOff, trackColorOn, trackColorOff and all TextStyle properties are allowed - backgroundColor: "transparent", - marginRight: Platform.select({ android: -3 }), - thumbColorOn: background.primary, - trackColorOn: brand.success, - thumbColorOff: contrast.regular, - trackColorOff: contrast.lower, - }, - inputDisabled: { - // thumbColorOn, thumbColorOff, trackColorOn, trackColorOff and all TextStyle properties are allowed - opacity: Platform.select({ android: 0.5 }), - }, - inputError: { - // thumbColorOn, thumbColorOff, trackColorOn, trackColorOff and all TextStyle properties are allowed - ...TextBox.inputError, - thumbColorOn: background.primary, - trackColorOn: brand.danger, - thumbColorOff: contrast.regular, - trackColorOff: brand.danger, - }, - validationMessage: { - // All TextStyle properties are allowed - ...TextBox.validationMessage, - alignSelf: "stretch", - }, -}; -export const CheckBoxVertical = { - container: TextBoxVertical.container, - label: { - ...TextBoxVertical.label, - }, - input: { - ...CheckBox.input, - alignSelf: "flex-start", - }, - inputDisabled: CheckBox.inputDisabled, - inputError: { - ...TextBoxVertical.inputError, - thumbColorOn: background.primary, - trackColorOn: brand.danger, - thumbColorOff: contrast.regular, - trackColorOff: brand.danger, - }, - validationMessage: { - ...TextBoxVertical.validationMessage, - alignSelf: "stretch", - }, -}; +import { Platform } from "react-native"; +import { background, backgroundDefaults, border, brand, contrast, font, spacing } from "../../variables"; +import { TextBox, TextBoxVertical } from "./textbox"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + CheckBox + + Default Class For Mendix CheckBox Widget +========================================================================== */ +export const CheckBox = { + container: { + // All ViewStyle properties are allowed + ...TextBox.container, + paddingVertical: spacing.smallest, + justifyContent: "center" + }, + containerDisabled: { + // All ViewStyle properties are allowed + ...TextBox.containerDisabled + }, + label: { + // numberOfLines and all TextStyle properties are allowed + ...TextBox.label + }, + labelDisabled: { + // All TextStyle properties are allowed + ...TextBox.labelDisabled + }, + input: { + // thumbColorOn, thumbColorOff, trackColorOn, trackColorOff and all TextStyle properties are allowed + backgroundColor: "transparent", + marginRight: Platform.select({ android: -3 }), + thumbColorOn: backgroundDefaults.primaryLight, + trackColorOn: brand.primary, + thumbColorOff: "#FFF", + trackColorOff: border.color + }, + inputDisabled: { + // thumbColorOn, thumbColorOff, trackColorOn, trackColorOff and all TextStyle properties are allowed + thumbColorOn: background.secondary, + trackColorOn: font.colorDisabled, + thumbColorOff: background.secondary, + trackColorOff: border.color + }, + inputError: { + // thumbColorOn, thumbColorOff, trackColorOn, trackColorOff and all TextStyle properties are allowed + ...TextBox.inputError, + thumbColorOn: backgroundDefaults.primaryLight, + trackColorOn: brand.danger, + thumbColorOff: contrast.low, + trackColorOff: brand.danger + }, + validationMessage: { + // All TextStyle properties are allowed + ...TextBox.validationMessage, + alignSelf: "stretch" + } +}; +export const CheckBoxVertical = { + container: TextBoxVertical.container, + containerDisabled: TextBoxVertical.containerDisabled, + label: TextBoxVertical.label, + labelDisabled: TextBoxVertical.labelDisabled, + input: { + ...CheckBox.input, + alignSelf: "flex-start" + }, + inputDisabled: CheckBox.inputDisabled, + inputError: { + ...TextBoxVertical.inputError, + thumbColorOn: background.primary, + trackColorOn: brand.danger, + thumbColorOff: contrast.low, + trackColorOff: brand.danger + }, + validationMessage: { + ...TextBoxVertical.validationMessage, + alignSelf: "stretch" + } +}; diff --git a/theme/styles/native/core/widgets/colorpicker.js b/themesource/atlas_core/native/core/widgets/colorpicker.js similarity index 96% rename from theme/styles/native/core/widgets/colorpicker.js rename to themesource/atlas_core/native/core/widgets/colorpicker.js index 933f958..dd0aadf 100644 --- a/theme/styles/native/core/widgets/colorpicker.js +++ b/themesource/atlas_core/native/core/widgets/colorpicker.js @@ -1,20 +1,20 @@ -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Color Picker - - Default Class For Mendix Color Picker Widget -========================================================================== */ -export const com_mendix_widget_native_colorpicker_ColorPicker = { - container: { - // All ViewStyle properties are allowed - }, - thumbnail: { - // All ViewStyle properties are allowed - }, -}; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Color Picker + + Default Class For Mendix Color Picker Widget +========================================================================== */ +export const com_mendix_widget_native_colorpicker_ColorPicker = { + container: { + // All ViewStyle properties are allowed + }, + thumbnail: { + // All ViewStyle properties are allowed + } +}; diff --git a/theme/styles/native/core/widgets/container.js b/themesource/atlas_core/native/core/widgets/container.js similarity index 72% rename from theme/styles/native/core/widgets/container.js rename to themesource/atlas_core/native/core/widgets/container.js index ee319ac..3636ff5 100644 --- a/theme/styles/native/core/widgets/container.js +++ b/themesource/atlas_core/native/core/widgets/container.js @@ -1,22 +1,27 @@ -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Container - - Default Class For Mendix Container Widget -========================================================================== */ -export const Container = { - container: { - // All ViewStyle properties are allowed - }, -}; -export const ScrollContainer = { - container: { - // All ViewStyle properties are allowed - }, -}; +import { container } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Container + + Default Class For Mendix Container Widget +========================================================================== */ +export const Container = { + container: { + // rippleColor & all ViewStyle properties are allowed + }, + containerDisabled: { + // All ViewStyle properties are allowed + opacity: container.containerDisabled.opacity + } +}; +export const ScrollContainer = { + container: { + // All ViewStyle properties are allowed + } +}; diff --git a/themesource/atlas_core/native/core/widgets/datepicker.js b/themesource/atlas_core/native/core/widgets/datepicker.js new file mode 100644 index 0000000..7c80dc7 --- /dev/null +++ b/themesource/atlas_core/native/core/widgets/datepicker.js @@ -0,0 +1,89 @@ +var _a, _b, _c, _d; +import { background, font, input } from "../../variables"; +import { TextBox, TextBoxVertical } from "./textbox"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Date Picker + + Default Class For Mendix Date Picker Widget +========================================================================== */ +export const DatePicker = { + container: { + // All ViewStyle properties are allowed + ...TextBox.container + }, + containerDisabled: { + // All ViewStyle properties are allowed + ...TextBox.containerDisabled + }, + label: { + // numberOfLines and all TextStyle properties are allowed + ...TextBox.label + }, + labelDisabled: { + // All TextStyle properties are allowed + ...TextBox.labelDisabled + }, + pickerIOS: { + // All ViewStyle properties & "color" (type: string) are allowed + backgroundColor: background.primary, + color: font.colorTitle + }, + pickerBackdropIOS: { + // All ViewStyle properties are allowed + }, + pickerTopIOS: { + // All ViewStyle properties are allowed + backgroundColor: background.primary + }, + value: { + // All TextStyle properties are allowed + color: input.input.color, + borderColor: input.input.borderColor, + backgroundColor: input.input.backgroundColor, + fontSize: input.input.fontSize, + lineHeight: input.input.lineHeight, + fontFamily: font.family, + borderWidth: input.input.borderWidth, + borderRadius: input.input.borderRadius, + textAlignVertical: "center", + minWidth: input.input.minWidth, + minHeight: input.input.minHeight, + paddingHorizontal: input.input.paddingHorizontal, + paddingVertical: input.input.paddingVertical + }, + valueDisabled: { + // All TextStyle properties are allowed + color: (_a = TextBox.inputDisabled) === null || _a === void 0 ? void 0 : _a.color, + borderColor: (_b = TextBox.inputDisabled) === null || _b === void 0 ? void 0 : _b.borderColor, + backgroundColor: (_c = TextBox.inputDisabled) === null || _c === void 0 ? void 0 : _c.backgroundColor + }, + placeholder: { + // All TextStyle properties are allowed + color: input.input.placeholderTextColor + }, + placeholderDisabled: { + // All TextStyle properties are allowed + color: (_d = TextBox.inputDisabled) === null || _d === void 0 ? void 0 : _d.color + }, + validationMessage: { + // All TextStyle properties are allowed + ...TextBox.validationMessage + } +}; +export const DatePickerVertical = { + container: TextBoxVertical.container, + containerDisabled: TextBoxVertical.containerDisabled, + label: TextBoxVertical.label, + labelDisabled: TextBoxVertical.labelDisabled, + value: DatePicker.value, + valueDisabled: DatePicker.valueDisabled, + placeholder: DatePicker.placeholder, + validationMessage: TextBoxVertical.validationMessage +}; diff --git a/themesource/atlas_core/native/core/widgets/dropdown.js b/themesource/atlas_core/native/core/widgets/dropdown.js new file mode 100644 index 0000000..a947fdd --- /dev/null +++ b/themesource/atlas_core/native/core/widgets/dropdown.js @@ -0,0 +1,154 @@ +var _a, _b, _c; +import { font, input } from "../../variables"; +import { TextBox, TextBoxVertical } from "./textbox"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Drop Down + + Default Class For Mendix Drop Down Widget +========================================================================== */ +export const DropDown = { + container: { + // All ViewStyle properties are allowed + ...TextBox.container + }, + containerDisabled: { + // All ViewStyle properties are allowed + ...TextBox.containerDisabled + }, + label: { + // numberOfLines and all TextStyle properties are allowed + ...TextBox.label + }, + labelDisabled: { + // All TextStyle properties are allowed + ...TextBox.labelDisabled + }, + value: { + // All TextStyle properties & placeholderTextColor are allowed + color: input.input.color, + placeholderTextColor: input.input.placeholderTextColor, + fontSize: input.input.fontSize, + lineHeight: input.input.lineHeight, + fontFamily: font.family, + overflow: "hidden", + textAlignVertical: "center" + }, + valueDisabled: { + // All TextStyle properties are allowed + color: (_a = TextBox.inputDisabled) === null || _a === void 0 ? void 0 : _a.color, + borderColor: (_b = TextBox.inputDisabled) === null || _b === void 0 ? void 0 : _b.borderColor, + backgroundColor: (_c = TextBox.inputDisabled) === null || _c === void 0 ? void 0 : _c.backgroundColor + }, + valueFocused: { + // All TextStyle properties are allowed + }, + validationMessage: { + // All TextStyle properties are allowed + ...TextBox.validationMessage + }, + /* New dropdown styles start */ + valueContainer: { + // All ViewStyle properties & rippleColor & activeOpacity & underlayColor are allowed + flexDirection: "row", + justifyContent: "space-between", + alignItems: "center", + rippleColor: input.valueContainer.rippleColor, + borderWidth: input.input.borderWidth, + borderRadius: input.input.borderRadius, + paddingHorizontal: input.input.paddingHorizontal, + paddingVertical: input.input.paddingVertical, + backgroundColor: input.input.backgroundColor, + borderColor: input.input.borderColor, + minWidth: input.input.minWidth, + minHeight: input.input.minHeight + }, + valueContainerDisabled: { + // All ViewStyle properties are allowed + }, + valueContainerFocused: { + // All ViewStyle properties are allowed + }, + iconStyle: { + // All TextStyle properties are allowed + color: input.input.color + }, + menuWrapper: { + // All ViewStyle properties are allowed + borderRadius: input.input.borderRadius, + shadowColor: "#000", + shadowOpacity: 0.2, + shadowRadius: 10, + elevation: 16, + backgroundColor: input.input.backgroundColor + }, + itemContainer: { + // All ViewStyle properties & rippleColor & activeOpacity & underlayColor are allowed + maxWidth: input.itemContainer.maxWidth, + paddingVertical: input.itemContainer.paddingVertical, + paddingHorizontal: input.itemContainer.paddingHorizontal, + backgroundColor: input.itemContainer.backgroundColor, + underlayColor: input.inputContainer.underlayColor, + overflow: "hidden" + }, + item: { + // All TextStyle properties are allowed + color: input.item.color, + fontSize: input.item.fontSize + }, + selectedItem: { + // All TextStyle properties are allowed + color: input.selectedItem.color, + fontSize: input.selectedItem.fontSize, + backgroundColor: "transparent" + }, + selectedItemContainer: { + // All ViewStyle properties are allowed + borderWidth: input.selectedItemContainer.borderWidth, + borderRadius: input.selectedItemContainer.borderRadius, + borderColor: input.selectedItemContainer.borderColor, + backgroundColor: input.selectedItemContainer.backgroundColor + }, + /* New dropdown styles end */ + useUniformDesign: true, + /* Old dropdown styles start */ + pickerIOS: { + // All ViewStyle properties are allowed + backgroundColor: input.input.backgroundColor + }, + pickerItemIOS: { + // All TextStyle properties are allowed + }, + pickerBackdropIOS: { + // All ViewStyle properties are allowed + }, + pickerTopIOS: { + // All ViewStyle properties are allowed + backgroundColor: input.input.backgroundColor + } + /* Old dropdown styles end */ +}; +export const DropDownVertical = { + container: TextBoxVertical.container, + label: TextBoxVertical.label, + value: DropDown.value, + valueFocused: DropDown.valueFocused, + validationMessage: TextBoxVertical.validationMessage, + valueContainer: DropDown.valueContainer, + valueContainerFocused: DropDown.valueContainerFocused, + iconStyle: DropDown.iconStyle, + menuWrapper: DropDown.menuWrapper, + itemContainer: DropDown.itemContainer, + item: DropDown.item, + useUniformDesign: DropDown.useUniformDesign, + pickerIOS: DropDown.pickerIOS, + pickerItemIOS: DropDown.pickerItemIOS, + pickerBackdropIOS: DropDown.pickerBackdropIOS, + pickerTopIOS: DropDown.pickerTopIOS +}; diff --git a/theme/styles/native/core/widgets/feedback.js b/themesource/atlas_core/native/core/widgets/feedback.js similarity index 60% rename from theme/styles/native/core/widgets/feedback.js rename to themesource/atlas_core/native/core/widgets/feedback.js index 7fbe5a3..85f5e40 100644 --- a/theme/styles/native/core/widgets/feedback.js +++ b/themesource/atlas_core/native/core/widgets/feedback.js @@ -1,85 +1,85 @@ -import { Platform } from "react-native"; -import { background, border, brand, button, contrast, font, input } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Feedback - - Default Class For Mendix Feedback Widget -========================================================================== */ -export const com_mendix_widget_native_feedback_Feedback = { - floatingButton: { - // All ViewStyle properties are allowed - borderRadius: 0, - backgroundColor: background.secondary, - borderTopLeftRadius: button.borderRadius, - borderBottomLeftRadius: button.borderRadius, - elevation: 1.5, - shadowColor: "#000", - shadowOpacity: 0.2, - shadowRadius: 10, - shadowOffset: { - width: 0, - height: 2, - }, - }, - dialog: { - // All ViewStyle properties are allowed - backgroundColor: background.primary, - }, - title: { - // All TextStyle properties are allowed - color: font.color, - fontFamily: font.family, - }, - textAreaInput: { - // All TextStyle properties are allowed - color: input.color, - borderColor: input.borderColor, - backgroundColor: input.backgroundColor, - selectionColor: input.selectionColor, - placeholderTextColor: input.placeholderTextColor, - underlineColorAndroid: input.underlineColorAndroid, - height: 100, - fontSize: input.fontSize, - fontFamily: input.fontFamily, - borderRadius: input.borderRadius, - borderTopWidth: input.borderWidth, - borderBottomWidth: input.borderWidth, - borderWidth: Platform.select({ android: border.width }), - textAlignVertical: "top", - paddingVertical: input.paddingVertical, - paddingHorizontal: input.paddingHorizontal, - }, - switchLabel: { - // All TextStyle properties are allowed - color: input.color, - fontSize: input.fontSize, - fontFamily: input.fontFamily, - }, - switchInput: { - // thumbColorOn, thumbColorOff, trackColorOn, trackColorOff and all TextStyle properties are allowed - margin: 0, - padding: 0, - marginRight: Platform.select({ ios: 0, android: -5 }), - thumbColorOn: background.primary, - trackColorOn: brand.success, - thumbColorOff: contrast.regular, - trackColorOff: contrast.lower, - }, - button: { - // Just these 3 properties are allowed - color: brand.primary, - borderColor: border.color, - borderWidth: border.width, - }, - activityIndicator: { - // Only color is allowed - color: font.color, - }, -}; +import { Platform } from "react-native"; +import { background, border, brand, button, contrast, font, input } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Feedback + + Default Class For Mendix Feedback Widget +========================================================================== */ +export const com_mendix_widget_native_feedback_Feedback = { + floatingButton: { + // All ViewStyle properties are allowed + borderRadius: 0, + backgroundColor: background.secondary, + borderTopLeftRadius: button.container.borderRadius, + borderBottomLeftRadius: button.container.borderRadius, + elevation: 1.5, + shadowColor: "#000", + shadowOpacity: 0.2, + shadowRadius: 10, + shadowOffset: { + width: 0, + height: 2 + } + }, + dialog: { + // All ViewStyle properties are allowed + backgroundColor: background.primary + }, + title: { + // All TextStyle properties are allowed + color: font.colorTitle, + fontFamily: font.family + }, + textAreaInput: { + // placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed + color: input.input.color, + borderColor: input.input.borderColor, + backgroundColor: input.input.backgroundColor, + selectionColor: input.input.selectionColor, + placeholderTextColor: input.input.placeholderTextColor, + underlineColorAndroid: "transparent", + height: 100, + fontSize: input.input.fontSize, + fontFamily: font.family, + borderRadius: input.input.borderRadius, + borderTopWidth: input.input.borderWidth, + borderBottomWidth: input.input.borderWidth, + borderWidth: Platform.select({ android: border.width }), + textAlignVertical: "top", + paddingVertical: input.input.paddingVertical, + paddingHorizontal: input.input.paddingHorizontal + }, + switchLabel: { + // All TextStyle properties are allowed + color: input.label.color, + fontSize: input.label.fontSize, + fontFamily: font.family + }, + switchInput: { + // thumbColorOn, thumbColorOff, trackColorOn, trackColorOff and all TextStyle properties are allowed + margin: 0, + padding: 0, + marginRight: Platform.select({ ios: 0, android: -5 }), + thumbColorOn: background.primary, + trackColorOn: brand.success, + thumbColorOff: contrast.regular, + trackColorOff: contrast.lower + }, + button: { + // Just these 3 properties are allowed + color: brand.primary, + borderColor: border.color, + borderWidth: border.width // Required for IOS + }, + activityIndicator: { + // Only color is allowed + color: font.colorTitle + } +}; diff --git a/theme/styles/native/core/widgets/floatingactionbutton.js b/themesource/atlas_core/native/core/widgets/floatingactionbutton.js similarity index 52% rename from theme/styles/native/core/widgets/floatingactionbutton.js rename to themesource/atlas_core/native/core/widgets/floatingactionbutton.js index 951c800..47f449c 100644 --- a/theme/styles/native/core/widgets/floatingactionbutton.js +++ b/themesource/atlas_core/native/core/widgets/floatingactionbutton.js @@ -1,70 +1,80 @@ -import { background, brand, contrast, font } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Floating Action Button - - Default Class For Mendix Floating Action Button Widget -========================================================================== */ -export const com_mendix_widget_native_floatingactionbutton_FloatingActionButton = { - container: { - // All ViewStyle properties are allowed - margin: 30, - }, - button: { - // Size, ripplecolor and all ViewStyle properties are allowed - size: 50, - rippleColor: contrast.lowest, - backgroundColor: brand.primary, - elevation: 2, - shadowColor: "#000", - shadowOpacity: 0.3, - shadowRadius: 4, - shadowOffset: { - width: 0, - height: 2, - }, - }, - buttonIcon: { - // Size and color are allowed - size: font.sizeLarge, - color: contrast.lowest, - }, - secondaryButton: { - // Size and all ViewStyle properties are allowed - size: 30, - backgroundColor: background.secondary, - elevation: 2, - shadowColor: "#000", - shadowOpacity: 0.3, - shadowRadius: 4, - shadowOffset: { - width: 0, - height: 2, - }, - }, - secondaryButtonIcon: { - // Size and color are allowed - size: font.sizeSmall, - color: contrast.high, - }, - secondaryButtonCaption: { - // All TextStyle properties are allowed - }, - secondaryButtonCaptionContainer: { - // All ViewStyle properties are allowed - marginHorizontal: 5, - elevation: 2, - shadowOpacity: 0.3, - shadowRadius: 4, - shadowOffset: { - width: 0, - height: 2, - }, - }, -}; +import { floatingActionButton, font } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Floating Action Button + + Default Class For Mendix Floating Action Button Widget +========================================================================== */ +export const com_mendix_widget_native_floatingactionbutton_FloatingActionButton = { + container: { + // All ViewStyle properties are allowed + margin: floatingActionButton.container.margin + }, + button: { + // Size, ripplecolor and all ViewStyle properties are allowed + size: floatingActionButton.button.size, + height: floatingActionButton.button.size, + width: floatingActionButton.button.size, + rippleColor: floatingActionButton.button.rippleColor, + backgroundColor: floatingActionButton.button.backgroundColor, + borderColor: floatingActionButton.button.borderColor, + borderRadius: floatingActionButton.button.size / 2, + borderWidth: 1, + elevation: 3, + shadowColor: "#000", + shadowOpacity: 0.3, + shadowRadius: 4, + shadowOffset: { + width: 0, + height: 2 + } + }, + buttonIcon: { + // Size and color are allowed + size: floatingActionButton.buttonIcon.size, + color: floatingActionButton.buttonIcon.color + }, + secondaryButton: { + // Size and all ViewStyle properties are allowed + size: floatingActionButton.secondaryButton.size, + backgroundColor: floatingActionButton.secondaryButton.backgroundColor, + elevation: 2, + shadowColor: "#000", + shadowOpacity: 0.3, + shadowRadius: 4, + shadowOffset: { + width: 0, + height: 2 + } + }, + secondaryButtonIcon: { + // Size and color are allowed + size: floatingActionButton.secondaryButtonIcon.size, + color: floatingActionButton.secondaryButtonIcon.color + }, + secondaryButtonCaption: { + // All TextStyle properties are allowed + color: floatingActionButton.secondaryButtonCaption.color, + fontSize: floatingActionButton.secondaryButtonCaption.fontSize, + lineHeight: floatingActionButton.secondaryButtonCaption.fontSize, + fontFamily: font.family + }, + secondaryButtonCaptionContainer: { + // All ViewStyle properties are allowed + backgroundColor: floatingActionButton.secondaryButtonCaptionContainer.backgroundColor, + marginHorizontal: 5, + elevation: 2, + shadowOpacity: 0.3, + shadowRadius: 4, + shadowOffset: { + width: 0, + height: 2 + } + } +}; diff --git a/theme/styles/native/core/widgets/images.js b/themesource/atlas_core/native/core/widgets/image.js similarity index 59% rename from theme/styles/native/core/widgets/images.js rename to themesource/atlas_core/native/core/widgets/image.js index 7b14af1..8c5d2c9 100644 --- a/theme/styles/native/core/widgets/images.js +++ b/themesource/atlas_core/native/core/widgets/image.js @@ -1,37 +1,55 @@ -import { contrast } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Image - - Default Class For Mendix Image Widgets -========================================================================== */ -export const Image = { - container: { - // RippleColor & All ViewStyle properties are allowed - rippleColor: contrast.lowest, - }, - image: { - // All ImageStyle properties are allowed - maxWidth: "100%", - maxHeight: "100%", - resizeMode: "cover", - }, -}; -export const ImageViewer = { - container: { - // RippleColor & All ViewStyle properties are allowed - rippleColor: contrast.lowest, - }, - image: { - // All ImageStyle properties are allowed - maxWidth: "100%", - maxHeight: "100%", - resizeMode: "cover", - }, -}; +import { contrast, image } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Image + + Default Class For Mendix Image Widgets +========================================================================== */ +export const Image = { + container: { + // rippleColor & all ViewStyle properties are allowed + rippleColor: contrast.lowest, + maxWidth: "100%", + maxHeight: "100%" + }, + containerDisabled: { + // All ViewStyle properties are allowed + }, + image: { + // All ImageStyle properties are allowed + maxWidth: "100%", + maxHeight: "100%", + resizeMode: "cover" + }, + imageDisabled: { + // All ImageStyle properties are allowed + opacity: image.imageDisabled.opacity + } +}; +export const ImageViewer = { + container: { + // RippleColor & All ViewStyle properties are allowed + rippleColor: contrast.lowest, + maxWidth: "100%", + maxHeight: "100%" + }, + containerDisabled: { + // All ViewStyle properties are allowed + }, + image: { + // All ImageStyle properties are allowed + maxWidth: "100%", + maxHeight: "100%", + resizeMode: "cover" + }, + imageDisabled: { + // All ImageStyle properties are allowed + opacity: image.imageDisabled.opacity + } +}; diff --git a/theme/styles/native/core/widgets/introscreen.js b/themesource/atlas_core/native/core/widgets/introscreen.js similarity index 57% rename from theme/styles/native/core/widgets/introscreen.js rename to themesource/atlas_core/native/core/widgets/introscreen.js index 329c6b7..4e2dc34 100644 --- a/theme/styles/native/core/widgets/introscreen.js +++ b/themesource/atlas_core/native/core/widgets/introscreen.js @@ -1,122 +1,127 @@ -import { isIphoneWithNotch } from "../helpers/_functions/device"; -import { background, button, contrast, font, spacing } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Intro Screen - - Default Class For Mendix Intro Screen Widget -========================================================================== */ -// Button styles when the chose to show the indicator above the buttons -export const introScreenButtonPaginationAbove = { - container: { - // Ripplecolor and all ViewStyle properties are allowed - flexDirection: "row", - alignSelf: "stretch", - alignItems: "center", - justifyContent: "center", - paddingVertical: spacing.regular, - backgroundColor: button.primary.backgroundColor, - }, - icon: { - // Size and color are allowed - color: button.primary.color, - size: button.fontSizeIcon, - }, - caption: { - // All TextStyle properties are allowed - color: button.primary.color, - fontSize: button.fontSize, - fontFamily: font.family, - fontWeight: font.weightBold, - textTransform: "uppercase", - paddingHorizontal: spacing.smallest, - }, -}; -// Button styles when the chose to show the indicator between the buttons -export const introScreenButtonPaginationBetween = { - container: { - // Ripplecolor and all ViewStyle properties are allowed - flexDirection: "row", - alignItems: "center", - justifyContent: "center", - }, - icon: { - // Size and color are allowed - color: font.color, - size: button.fontSizeIcon, - }, - caption: { - // All TextStyle properties are allowed - color: font.color, - fontSize: button.fontSize, - fontFamily: font.family, - fontWeight: font.weightBold, - textTransform: "uppercase", - paddingHorizontal: spacing.smallest, - }, -}; -// Default styles -export const com_mendix_widget_native_introscreen_IntroScreen = { - fullscreenContainer: { - // All ViewStyle properties are allowed - backgroundColor: background.primary, - }, - popupContainer: { - // All ViewStyle properties are allowed - paddingVertical: 150, - paddingHorizontal: 50, - backgroundColor: `rgba(0, 0, 0, 0.5)`, - }, - // Pagination styles - paginationContainer: { - // All ViewStyle properties are allowed - position: "absolute", - left: 0, - right: 0, - bottom: isIphoneWithNotch ? 22 : 0, - justifyContent: "space-between", - alignItems: "center", - }, - paginationText: { - // All TextStyle properties are allowed - color: font.color, - fontSize: font.size, - fontFamily: font.family, - }, - dotStyle: { - // All ViewStyle properties are allowed - backgroundColor: contrast.lower, - transform: [{ scale: 0.5 }], - }, - activeDotStyle: { - // All ViewStyle properties are allowed - backgroundColor: background.brandPrimary, - }, - // Button styles - paginationAbove: { - buttonsContainer: { - // All ViewStyle properties are allowed - flex: 1, - marginTop: 30, - flexDirection: "row", - justifyContent: "center", - width: "100%", - }, - buttonSkip: introScreenButtonPaginationAbove, - buttonPrevious: introScreenButtonPaginationAbove, - buttonNext: introScreenButtonPaginationAbove, - buttonDone: introScreenButtonPaginationAbove, - }, - paginationBetween: { - buttonSkip: introScreenButtonPaginationBetween, - buttonPrevious: introScreenButtonPaginationBetween, - buttonNext: introScreenButtonPaginationBetween, - buttonDone: introScreenButtonPaginationBetween, - }, -}; +import { isIphoneWithNotch } from "../helpers/_functions/device"; +import { font, spacing, introScreen } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Intro Screen + + Default Class For Mendix Intro Screen Widget +========================================================================== */ +// Button styles when the chose to show the indicator above the buttons +export const introScreenButtonPaginationAbove = { + container: { + // Ripplecolor and all ViewStyle properties are allowed + flex: 1, + flexDirection: "row", + alignSelf: "stretch", + alignItems: "center", + justifyContent: "center", + paddingVertical: introScreen.buttonPaginationAbove.container.paddingVertical, + backgroundColor: introScreen.buttonPaginationAbove.container.backgroundColor + }, + icon: { + // Size and color are allowed + color: introScreen.button.icon.color, + size: introScreen.button.icon.size + }, + caption: { + // All TextStyle properties are allowed + color: introScreen.button.caption.color, + fontSize: introScreen.button.caption.fontSize, + fontFamily: font.family, + fontWeight: introScreen.button.caption.fontWeight, + textTransform: introScreen.button.caption.textTransform, + paddingHorizontal: introScreen.button.caption.paddingHorizontal + } +}; +// Button styles when the chose to show the indicator between the buttons +export const introScreenButtonPaginationBetween = { + container: { + // Ripplecolor and all ViewStyle properties are allowed + flexDirection: "row", + alignItems: "center", + justifyContent: "center" + }, + icon: { + // Size and color are allowed + color: introScreen.button.icon.color, + size: introScreen.button.icon.size + }, + caption: { + // All TextStyle properties are allowed + color: introScreen.button.caption.color, + fontSize: introScreen.button.caption.fontSize, + fontFamily: font.family, + fontWeight: introScreen.button.caption.fontWeight, + textTransform: introScreen.button.caption.textTransform, + paddingHorizontal: introScreen.button.caption.paddingHorizontal + } +}; +// Default styles +export const com_mendix_widget_native_introscreen_IntroScreen = { + fullscreenContainer: { + // All ViewStyle properties are allowed + backgroundColor: introScreen.fullscreenContainer.backgroundColor + }, + popupContainer: { + // All ViewStyle properties are allowed + paddingVertical: introScreen.popupContainer.paddingVertical, + paddingHorizontal: introScreen.popupContainer.paddingHorizontal, + backgroundColor: introScreen.popupContainer.backgroundColor + }, + // Pagination styles + paginationContainer: { + // All ViewStyle properties are allowed + position: "absolute", + left: 0, + right: 0, + width: "100%", + marginTop: spacing.largest, + bottom: isIphoneWithNotch ? 22 : 0, + justifyContent: "space-between", + alignItems: "center" + }, + paginationText: { + // All TextStyle properties are allowed + color: introScreen.pagination.text.color, + fontSize: introScreen.pagination.text.fontSize, + fontFamily: font.family + }, + dotStyle: { + // All ViewStyle properties are allowed + width: introScreen.pagination.dotStyle.size, + height: introScreen.pagination.dotStyle.size, + backgroundColor: introScreen.pagination.dotStyle.backgroundColor + }, + activeDotStyle: { + // All ViewStyle properties are allowed + width: introScreen.pagination.activeDotStyle.size, + height: introScreen.pagination.activeDotStyle.size, + backgroundColor: introScreen.pagination.activeDotStyle.backgroundColor + }, + // Button styles + paginationAbove: { + buttonsContainer: { + // All ViewStyle properties are allowed + flex: 1, + flexDirection: "row", + justifyContent: "center", + width: "100%" + }, + buttonSkip: introScreenButtonPaginationAbove, + buttonPrevious: introScreenButtonPaginationAbove, + buttonNext: introScreenButtonPaginationAbove, + buttonDone: introScreenButtonPaginationAbove + }, + paginationBetween: { + buttonSkip: introScreenButtonPaginationBetween, + buttonPrevious: introScreenButtonPaginationBetween, + buttonNext: introScreenButtonPaginationBetween, + buttonDone: introScreenButtonPaginationBetween + } +}; diff --git a/theme/styles/native/core/widgets/layoutgrid.js b/themesource/atlas_core/native/core/widgets/layoutgrid.js similarity index 61% rename from theme/styles/native/core/widgets/layoutgrid.js rename to themesource/atlas_core/native/core/widgets/layoutgrid.js index 5ecb712..a0c8365 100644 --- a/theme/styles/native/core/widgets/layoutgrid.js +++ b/themesource/atlas_core/native/core/widgets/layoutgrid.js @@ -1,121 +1,121 @@ -import { layoutGrid } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Intro Screen - - Default Class For Mendix Layoutgrid Widget -========================================================================== */ -export const LayoutGrid = { - container: {}, -}; -export const row = { - container: { - flexDirection: "row", - flexWrap: "wrap", - marginHorizontal: -layoutGrid.gutterSize, - }, -}; -export const col = { - container: { - flex: 1, - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const colFitToContent = { - container: { - flex: -1, - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col1 = { - container: { - flexBasis: "8.333%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col2 = { - container: { - flexBasis: "16.666%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col3 = { - container: { - flexBasis: "25%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col4 = { - container: { - flexBasis: "33.333%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col5 = { - container: { - flexBasis: "41.666%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col6 = { - container: { - flexBasis: "50%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col7 = { - container: { - flexBasis: "58.333%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col8 = { - container: { - flexBasis: "66.666%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col9 = { - container: { - flexBasis: "75%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col10 = { - container: { - flexBasis: "83.333%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col11 = { - container: { - flexBasis: "91.666%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const col12 = { - container: { - flexBasis: "100%", - paddingHorizontal: layoutGrid.gutterSize, - }, -}; -export const noGutters = { - container: { - paddingLeft: 0, - paddingRight: 0, - paddingHorizontal: 0, - }, -}; -export const noGuttersRow = { - container: { - marginLeft: 0, - marginRight: 0, - marginHorizontal: 0, - }, -}; +import { layoutGrid } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Intro Screen + + Default Class For Mendix Layoutgrid Widget +========================================================================== */ +export const LayoutGrid = { + container: {} +}; +export const row = { + container: { + flexDirection: "row", + flexWrap: "wrap", + marginHorizontal: -layoutGrid.gutterSize + } +}; +export const col = { + container: { + flex: 1, + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const colFitToContent = { + container: { + flex: -1, + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col1 = { + container: { + flexBasis: "8.333%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col2 = { + container: { + flexBasis: "16.666%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col3 = { + container: { + flexBasis: "25%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col4 = { + container: { + flexBasis: "33.333%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col5 = { + container: { + flexBasis: "41.666%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col6 = { + container: { + flexBasis: "50%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col7 = { + container: { + flexBasis: "58.333%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col8 = { + container: { + flexBasis: "66.666%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col9 = { + container: { + flexBasis: "75%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col10 = { + container: { + flexBasis: "83.333%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col11 = { + container: { + flexBasis: "91.666%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const col12 = { + container: { + flexBasis: "100%", + paddingHorizontal: layoutGrid.gutterSize + } +}; +export const noGutters = { + container: { + paddingLeft: 0, + paddingRight: 0, + paddingHorizontal: 0 + } +}; +export const noGuttersRow = { + container: { + marginLeft: 0, + marginRight: 0, + marginHorizontal: 0 + } +}; diff --git a/themesource/atlas_core/native/core/widgets/linechart.js b/themesource/atlas_core/native/core/widgets/linechart.js new file mode 100644 index 0000000..e0a6cfa --- /dev/null +++ b/themesource/atlas_core/native/core/widgets/linechart.js @@ -0,0 +1,168 @@ +import { border, brand, font, spacing } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Line Chart + + Default Class For Mendix Line Chart Widget +========================================================================== */ +export const com_mendix_widget_native_linechart_LineChart = { + container: { + // All ViewStyle properties are allowed + }, + errorMessage: { + // All TextStyle properties are allowed + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal + }, + chart: { + // All ViewStyle properties are allowed + }, + grid: { + /* + Allowed properties: + - backgroundColor (string) + - dashArray (string) + - lineColor (string) + - lineWidth (number) + - padding (number) + - paddingBottom (number) + - paddingHorizontal (number) + - paddingLeft (number) + - paddingRight (number) + - paddingTop (number) + - paddingVertical (number) + */ + lineColor: border.color, + paddingBottom: 32, + paddingLeft: 32, + paddingRight: 8, + paddingTop: 8 + }, + xAxis: { + /* + Allowed properties: + - color (string) + - dashArray (string) + - fontFamily (string) + - fontSize (number) + - fontStyle ("normal" or "italic") + - fontWeight ("normal" or "bold" or "100" or "200" or "300" or "400" or "500" or "600" or "700" or "800" or "900") + - lineColor (string) + - lineWidth (number) + */ + color: font.colorTitle, + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal, + lineColor: border.color, + label: { + /* + All TextStyle properties are allowed and: + - relativePositionGrid ("bottom" or "right") + */ + color: font.colorParagraph, + alignSelf: "center", + marginHorizontal: 0, + marginVertical: spacing.small, + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal, + relativePositionGrid: "bottom" + } + }, + yAxis: { + /* + Allowed properties: + - color (string) + - dashArray (string) + - fontFamily (string) + - fontSize (number) + - fontStyle ("normal" or "italic") + - fontWeight ("normal" or "bold" or "100" or "200" or "300" or "400" or "500" or "600" or "700" or "800" or "900") + - lineColor (string) + - lineWidth (number) + */ + color: font.colorTitle, + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal, + lineColor: border.color, + label: { + /* + All TextStyle properties are allowed and: + - relativePositionGrid ("top" or "left") + */ + color: font.colorParagraph, + marginHorizontal: 0, + marginVertical: spacing.small, + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal, + relativePositionGrid: "top" + } + }, + lines: { + /* + Allowed properties: + - lineColorPalette (string with array of colors separated by ';') + */ + lineColorPalette: Object.values(brand) + .map((color, index, brandColors) => (index === brandColors.length - 1 ? color : `${color};`)) + .join(""), + customLineStyles: { + any_custom_line_style_name: { + line: { + /* + Allowed properties: + - dashArray (string) + - ending ("flat" or "round") + - lineColor (string) + - lineWidth (number) + */ + }, + markers: { + /* + Allowed properties: + - backgroundColor (string) + - borderColor (string) + - borderWidth (number) + - display ("false" or "underneath" or "onTop") + - size (number) + - symbol ("circle" or "diamond" or "plus" or "minus" or "square" or "star" or "triangleDown" or "triangleUp") + */ + } + } + } + }, + legend: { + container: { + // All ViewStyle properties are allowed + justifyContent: "flex-start", + marginHorizontal: 0, + marginVertical: spacing.small + }, + item: { + // All ViewStyle properties are allowed + padding: 0, + paddingRight: spacing.regular + }, + indicator: { + // All ViewStyle properties are allowed + marginRight: spacing.small + }, + label: { + // All TextStyle properties are allowed + color: font.colorTitle, + fontFamily: font.family, + fontSize: font.sizeSmall, + fontWeight: font.weightNormal + } + } +}; diff --git a/theme/styles/native/core/widgets/listviews.js b/themesource/atlas_core/native/core/widgets/listview.js similarity index 81% rename from theme/styles/native/core/widgets/listviews.js rename to themesource/atlas_core/native/core/widgets/listview.js index 1020755..5ec4e2c 100644 --- a/theme/styles/native/core/widgets/listviews.js +++ b/themesource/atlas_core/native/core/widgets/listview.js @@ -1,20 +1,24 @@ -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - List View - - Default Class For Mendix List View Widget -========================================================================== */ -export const ListView = { - container: { - // numColumns and all ViewStyle properties are allowed - }, - listItem: { - // All ViewStyle properties are allowed - }, -}; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + List View + + Default Class For Mendix List View Widget +========================================================================== */ +export const ListView = { + container: { + // All ViewStyle properties are allowed + }, + listItem: { + // All ViewStyle properties are allowed + }, + listItemDisabled: { + // All ViewStyle properties are allowed + opacity: 0.6 + } +}; diff --git a/theme/styles/native/core/widgets/listviewswipe.js b/themesource/atlas_core/native/core/widgets/listviewswipe.js similarity index 74% rename from theme/styles/native/core/widgets/listviewswipe.js rename to themesource/atlas_core/native/core/widgets/listviewswipe.js index 320d88f..6344352 100644 --- a/theme/styles/native/core/widgets/listviewswipe.js +++ b/themesource/atlas_core/native/core/widgets/listviewswipe.js @@ -1,38 +1,38 @@ -import { background } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - List View Swipe - - Default Class For Mendix List View Swipe Widget -========================================================================== */ -export const com_mendix_widget_native_listviewswipe_ListViewSwipe = { - container: { - // All ViewStyle properties are allowed - flex: 1, - alignItems: "stretch", - justifyContent: "space-between", - backgroundColor: background.primary, - }, - leftAction: { - // PanelSize & All ViewStyle properties are allowed - panelSize: 200, - flex: 1, - flexDirection: "row", - alignItems: "stretch", - backgroundColor: background.primary, - }, - rightAction: { - // PanelSize & All ViewStyle properties are allowed - panelSize: 200, - flex: 1, - flexDirection: "row", - alignItems: "stretch", - backgroundColor: background.primary, - }, -}; +import { background, listViewSwipe } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + List View Swipe + + Default Class For Mendix List View Swipe Widget +========================================================================== */ +export const com_mendix_widget_native_listviewswipe_ListViewSwipe = { + container: { + // All ViewStyle properties are allowed + flex: 1, + alignItems: "stretch", + justifyContent: "space-between", + backgroundColor: background.primary + }, + leftAction: { + // PanelSize & All ViewStyle properties are allowed + panelSize: listViewSwipe.leftAction.panelSize, + flex: 1, + flexDirection: "row", + alignItems: "stretch", + backgroundColor: listViewSwipe.leftAction.backgroundColor + }, + rightAction: { + // PanelSize & All ViewStyle properties are allowed + panelSize: listViewSwipe.rightAction.panelSize, + flex: 1, + flexDirection: "row", + alignItems: "stretch", + backgroundColor: listViewSwipe.rightAction.backgroundColor + } +}; diff --git a/theme/styles/native/core/widgets/maps.js b/themesource/atlas_core/native/core/widgets/maps.js similarity index 84% rename from theme/styles/native/core/widgets/maps.js rename to themesource/atlas_core/native/core/widgets/maps.js index f6f6555..1f5e42b 100644 --- a/theme/styles/native/core/widgets/maps.js +++ b/themesource/atlas_core/native/core/widgets/maps.js @@ -1,33 +1,33 @@ -import { brand } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Maps - - Default Class For Mendix Maps Widget -========================================================================== */ -export const com_mendix_widget_native_maps_Maps = { - container: { - // All ViewStyle properties are allowed - flex: 1, - maxWidth: "100%", - aspectRatio: 4 / 2, - }, - loadingOverlay: { - // All ViewStyle properties are allowed - }, - loadingIndicator: { - // Only color is allowed - color: brand.primary, - }, - marker: { - // Only color & opacity are allowed - color: brand.primary, - opacity: 1, - }, -}; +import { brand } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Maps + + Default Class For Mendix Maps Widget +========================================================================== */ +export const com_mendix_widget_native_maps_Maps = { + container: { + // All ViewStyle properties are allowed + flex: 1, + maxWidth: "100%", + aspectRatio: 4 / 2 + }, + loadingOverlay: { + // All ViewStyle properties are allowed + }, + loadingIndicator: { + // Only color is allowed + color: brand.primary + }, + marker: { + // Only color & opacity are allowed + color: brand.primary, + opacity: 1 + } +}; diff --git a/theme/styles/native/core/widgets/navigation.js b/themesource/atlas_core/native/core/widgets/navigation.js similarity index 74% rename from theme/styles/native/core/widgets/navigation.js rename to themesource/atlas_core/native/core/widgets/navigation.js index 05c5b32..e77a35c 100644 --- a/theme/styles/native/core/widgets/navigation.js +++ b/themesource/atlas_core/native/core/widgets/navigation.js @@ -1,75 +1,75 @@ -import { border, font, navigation, spacing } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - TopBar / BottomBar / ProgressOverlay - - Default Class For Mendix TopBar, BottomBar and ProgressOverlay -========================================================================== */ -export const navigationStyle = { - bottomBar: { - container: { - // All ViewStyle properties are allowed - backgroundColor: navigation.bottomBar.backgroundColor, - }, - label: { - // All TextStyle properties are allowed - color: navigation.bottomBar.color, - fontFamily: font.family, - fontSize: navigation.bottomBar.fontSize, - }, - selectedLabel: { - // All TextStyle properties are allowed - color: navigation.bottomBar.selectedTextColor, - fontFamily: font.family, - fontSize: navigation.bottomBar.fontSize, - }, - icon: { - // All TextStyle properties are allowed - color: navigation.bottomBar.color, - fontSize: navigation.bottomBar.iconSize, - }, - selectedIcon: { - // All TextStyle properties are allowed - color: navigation.bottomBar.selectedIconColor, - fontSize: navigation.bottomBar.iconSize, - }, - }, - progressOverlay: { - background: { - // All ViewStyle properties are allowed - backgroundColor: navigation.progressOverlay.backgroundColor, - }, - container: { - // All ViewStyle properties are allowed - backgroundColor: navigation.progressOverlay.containerBackgroundColor, - paddingHorizontal: spacing.largest, - paddingVertical: spacing.large, - borderRadius: border.radius, - elevation: 1.5, - shadowColor: navigation.progressOverlay.shadowColor, - shadowOpacity: 0.1, - shadowRadius: 10, - shadowOffset: { - width: 0, - height: 2, - }, - }, - activityIndicator: { - // Color, Size & All ViewStyle properties are allowed - color: navigation.progressOverlay.activityIndicatorColor, - }, - text: { - // All TextStyle properties are allowed - color: navigation.progressOverlay.color, - marginTop: spacing.small, - fontFamily: font.family, - fontSize: navigation.progressOverlay.fontSize, - }, - }, -}; +import { border, font, navigation, spacing } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + BottomBar / ProgressOverlay + + Default Class For Mendix BottomBar and ProgressOverlay +========================================================================== */ +export const navigationStyle = { + bottomBar: { + container: { + // All ViewStyle properties are allowed + backgroundColor: navigation.bottomBar.backgroundColor + }, + label: { + // All TextStyle properties are allowed + color: navigation.bottomBar.color, + fontFamily: font.family, + fontSize: navigation.bottomBar.fontSize + }, + selectedLabel: { + // All TextStyle properties are allowed + color: navigation.bottomBar.selectedTextColor, + fontFamily: font.family, + fontSize: navigation.bottomBar.fontSize + }, + icon: { + // All TextStyle properties are allowed + color: navigation.bottomBar.color, + fontSize: navigation.bottomBar.iconSize + }, + selectedIcon: { + // All TextStyle properties are allowed + color: navigation.bottomBar.selectedIconColor, + fontSize: navigation.bottomBar.iconSize + } + }, + progressOverlay: { + background: { + // All ViewStyle properties are allowed + backgroundColor: navigation.progressOverlay.backgroundColor + }, + container: { + // All ViewStyle properties are allowed + backgroundColor: navigation.progressOverlay.containerBackgroundColor, + paddingHorizontal: spacing.largest, + paddingVertical: spacing.large, + borderRadius: border.radiusSmall, + elevation: navigation.progressOverlay.elevation, + shadowColor: navigation.progressOverlay.shadowColor, + shadowOpacity: navigation.progressOverlay.shadowOpacity, + shadowRadius: navigation.progressOverlay.shadowRadius, + shadowOffset: { + width: 0, + height: 2 + } + }, + activityIndicator: { + // Color, Size & All ViewStyle properties are allowed + color: navigation.progressOverlay.activityIndicatorColor + }, + text: { + // All TextStyle properties are allowed + color: navigation.progressOverlay.color, + marginTop: spacing.small, + fontFamily: font.family, + fontSize: navigation.progressOverlay.fontSize + } + } +}; diff --git a/theme/styles/native/core/widgets/pagetitle.js b/themesource/atlas_core/native/core/widgets/pagetitle.js similarity index 88% rename from theme/styles/native/core/widgets/pagetitle.js rename to themesource/atlas_core/native/core/widgets/pagetitle.js index 4dcd56b..aa20b25 100644 --- a/theme/styles/native/core/widgets/pagetitle.js +++ b/themesource/atlas_core/native/core/widgets/pagetitle.js @@ -1,24 +1,24 @@ -import { font } from "../variables"; -import { TextHeading1 } from "./typography"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Page Title - - Default Class For Mendix Page Title Widget -========================================================================== */ -export const PageTitle = { - container: { - // All ViewStyle properties are allowed - }, - text: { - // All TextStyle properties are allowed - ...TextHeading1.text, - color: font.color, - }, -}; +import { font } from "../../variables"; +import { TextHeading1 } from "./typography"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Page Title + + Default Class For Mendix Page Title Widget +========================================================================== */ +export const PageTitle = { + container: { + // All ViewStyle properties are allowed + }, + text: { + // All TextStyle properties are allowed + ...TextHeading1.text, + color: font.colorTitle + } +}; diff --git a/theme/styles/native/core/widgets/popupmenu.js b/themesource/atlas_core/native/core/widgets/popupmenu.js similarity index 76% rename from theme/styles/native/core/widgets/popupmenu.js rename to themesource/atlas_core/native/core/widgets/popupmenu.js index 826bd1f..0cb7700 100644 --- a/theme/styles/native/core/widgets/popupmenu.js +++ b/themesource/atlas_core/native/core/widgets/popupmenu.js @@ -1,58 +1,59 @@ -import { background, brand, contrast, font } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Popup Menu - - Default Class For Mendix Popup Menu Widget -========================================================================== */ -export const com_mendix_widget_native_popupmenu_PopupMenu = { - container: { - // All ViewStyle properties are allowed - borderRadius: 10, - shadowColor: "#000", - shadowOpacity: 0.2, - shadowRadius: 10, - elevation: 16, - backgroundColor: background.primary, - }, - custom: { - container: { - // All ViewStyle properties are allowed - }, - itemStyle: { - rippleColor: contrast.lower, - }, - }, - basic: { - dividerColor: font.color, - container: { - // All ViewStyle properties are allowed - height: 40, - }, - itemStyle: { - ellipsizeMode: "tail", - rippleColor: contrast.lower, - defaultStyle: { - // All TextStyle properties are allowed - color: font.color, - }, - primaryStyle: { - // All TextStyle properties are allowed - color: brand.primary, - }, - dangerStyle: { - // All TextStyle properties are allowed - color: brand.danger, - }, - customStyle: { - // All TextStyle properties are allowed - }, - }, - }, -}; +import { brand, contrast, font, background, border } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Popup Menu + + Default Class For Mendix Popup Menu Widget +========================================================================== */ +export const com_mendix_widget_native_popupmenu_PopupMenu = { + container: { + // All ViewStyle properties are allowed + backgroundColor: background.secondary, + borderRadius: 10, + shadowColor: "#000", + shadowOpacity: 0.2, + shadowRadius: 10, + elevation: 16 + }, + custom: { + container: { + // All ViewStyle properties are allowed + }, + itemStyle: { + rippleColor: contrast.lower + } + }, + basic: { + dividerColor: border.color, + container: { + // All ViewStyle properties are allowed + height: 40 + }, + itemStyle: { + ellipsizeMode: "tail", + rippleColor: contrast.lower, + defaultStyle: { + // All TextStyle properties are allowed + fontSize: font.size, + color: font.colorTitle + }, + primaryStyle: { + // All TextStyle properties are allowed + color: brand.primary + }, + dangerStyle: { + // All TextStyle properties are allowed + color: brand.danger + }, + customStyle: { + // All TextStyle properties are allowed + } + } + } +}; diff --git a/theme/styles/native/core/widgets/progressbar.js b/themesource/atlas_core/native/core/widgets/progressbar.js similarity index 51% rename from theme/styles/native/core/widgets/progressbar.js rename to themesource/atlas_core/native/core/widgets/progressbar.js index 95327a5..7e4dc94 100644 --- a/theme/styles/native/core/widgets/progressbar.js +++ b/themesource/atlas_core/native/core/widgets/progressbar.js @@ -1,44 +1,35 @@ -import { Platform } from "react-native"; -import { anyColorToRgbString } from "../helpers/_functions/convertcolors"; -import { brand, font, input } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Progress Bar - - Default Class For Mendix Progress Bar Widget -========================================================================== */ -export const com_mendix_widget_native_progressbar_ProgressBar = { - container: { - // All ViewStyle properties are allowed - alignSelf: "stretch", - }, - bar: { - // All ViewStyle properties are allowed - ...Platform.select({ - ios: { - borderColor: brand.primary, - }, - android: { - borderRadius: 0, - borderWidth: 0, - backgroundColor: `rgba(${anyColorToRgbString(brand.primary)},0.2)`, - }, - }), - }, - fill: { - //Only the backgroundColor property is allowed - backgroundColor: brand.primary, - }, - validationMessage: { - // All TextStyle properties are allowed - color: input.errorColor, - fontSize: font.size, - fontFamily: font.family, - }, -}; +import { progressBar } from "../../variables"; +import { TextBox } from "./textbox"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Progress Bar + + Default Class For Mendix Progress Bar Widget +========================================================================== */ +export const com_mendix_widget_native_progressbar_ProgressBar = { + container: { + // All ViewStyle properties are allowed + alignSelf: "stretch" + }, + bar: { + // All ViewStyle properties are allowed + height: progressBar.bar.height, + borderWidth: 0, + borderRadius: progressBar.bar.height / 2, + backgroundColor: progressBar.bar.backgroundColor + }, + fill: { + // Only the backgroundColor property is allowed + backgroundColor: progressBar.fill.backgroundColor + }, + validationMessage: { + // All TextStyle properties are allowed + ...TextBox.validationMessage + } +}; diff --git a/theme/styles/native/core/widgets/progresscircle.js b/themesource/atlas_core/native/core/widgets/progresscircle.js similarity index 64% rename from theme/styles/native/core/widgets/progresscircle.js rename to themesource/atlas_core/native/core/widgets/progresscircle.js index 0bed0a5..a0cd98c 100644 --- a/theme/styles/native/core/widgets/progresscircle.js +++ b/themesource/atlas_core/native/core/widgets/progresscircle.js @@ -1,42 +1,41 @@ -import { brand, contrast, font, input } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Progress Circle - - Default Class For Mendix Progress Circle Widget -========================================================================== */ -export const com_mendix_widget_native_progresscircle_ProgressCircle = { - container: { - // All ViewStyle properties are allowed - }, - circle: { - // Only the size & borderWidth & borderColor properties are allowed - size: 80, - borderWidth: 0, - }, - fill: { - // Only the width & backgroundColor & lineCapRounded properties are allowed - backgroundColor: brand.primary, - width: 5, - lineCapRounded: true, - }, - text: { - // All TextStyle properties are allowed - color: contrast.regular, - fontSize: font.size, - fontWeight: font.weightSemiBold, - fontFamily: font.family, - }, - validationMessage: { - // All TextStyle properties are allowed - color: input.errorColor, - fontSize: font.size, - fontFamily: font.family, - }, -}; +import { font, progressCircle } from "../../variables"; +import { TextBox } from "./textbox"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Progress Circle + + Default Class For Mendix Progress Circle Widget +========================================================================== */ +export const com_mendix_widget_native_progresscircle_ProgressCircle = { + container: { + // All ViewStyle properties are allowed + }, + circle: { + // Only the size & borderWidth & borderColor properties are allowed + size: progressCircle.circle.size, + borderWidth: 0 + }, + fill: { + // Only the width & backgroundColor & lineCapRounded properties are allowed + width: progressCircle.fill.width, + lineCapRounded: progressCircle.fill.lineCapRounded, + backgroundColor: progressCircle.fill.backgroundColor + }, + text: { + // All TextStyle properties are allowed + color: progressCircle.text.color, + fontSize: progressCircle.text.fontSize, + fontWeight: progressCircle.text.fontWeight, + fontFamily: font.family + }, + validationMessage: { + // All TextStyle properties are allowed + ...TextBox.validationMessage + } +}; diff --git a/theme/styles/native/core/widgets/qrcode.js b/themesource/atlas_core/native/core/widgets/qrcode.js similarity index 85% rename from theme/styles/native/core/widgets/qrcode.js rename to themesource/atlas_core/native/core/widgets/qrcode.js index a2c6fcd..ce19cdb 100644 --- a/theme/styles/native/core/widgets/qrcode.js +++ b/themesource/atlas_core/native/core/widgets/qrcode.js @@ -1,24 +1,24 @@ -import { background, contrast } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - QR Code - - Default Class For Mendix QR Code Widget -========================================================================== */ -export const com_mendix_widget_native_qrcode_QRCode = { - container: { - // All ViewStyle properties are allowed - }, - qrcode: { - // Only size, color and backgroundColor are allowed - size: 100, - color: contrast.highest, - backgroundColor: background.primary, - }, -}; +import { background, contrast } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + QR Code + + Default Class For Mendix QR Code Widget +========================================================================== */ +export const com_mendix_widget_native_qrcode_QRCode = { + container: { + // All ViewStyle properties are allowed + }, + qrcode: { + // Only size, color and backgroundColor are allowed + size: 100, + color: contrast.highest, + backgroundColor: background.primary + } +}; diff --git a/theme/styles/native/core/widgets/rangeslider.js b/themesource/atlas_core/native/core/widgets/rangeslider.js similarity index 97% rename from theme/styles/native/core/widgets/rangeslider.js rename to themesource/atlas_core/native/core/widgets/rangeslider.js index 2441621..7e43104 100644 --- a/theme/styles/native/core/widgets/rangeslider.js +++ b/themesource/atlas_core/native/core/widgets/rangeslider.js @@ -1,14 +1,14 @@ -import { com_mendix_widget_native_slider_Slider as Slider } from "./slider"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Range Slider - - Default Class For Mendix Range Slider Widget -========================================================================== */ -export const com_mendix_widget_native_rangeslider_RangeSlider = Slider; +import { com_mendix_widget_native_slider_Slider as Slider } from "./slider"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Range Slider + + Default Class For Mendix Range Slider Widget +========================================================================== */ +export const com_mendix_widget_native_rangeslider_RangeSlider = Slider; diff --git a/theme/styles/native/core/widgets/rating.js b/themesource/atlas_core/native/core/widgets/rating.js similarity index 71% rename from theme/styles/native/core/widgets/rating.js rename to themesource/atlas_core/native/core/widgets/rating.js index c636523..a6250cf 100644 --- a/theme/styles/native/core/widgets/rating.js +++ b/themesource/atlas_core/native/core/widgets/rating.js @@ -1,27 +1,30 @@ -import { spacing } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Rating - - Default Class For Mendix Rating Widget -========================================================================== */ -export const com_mendix_widget_native_rating_Rating = { - container: { - // All ViewStyle properties are allowed - }, - containerDisabled: { - // All ViewStyle properties are allowed - opacity: 0.5, - }, - icon: { - // Size, color, selectedColor & all ViewStyle properties are allowed - size: 30, - marginRight: spacing.smaller, - }, -}; +import { spacing, rating } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Rating + + Default Class For Mendix Rating Widget +========================================================================== */ +export const com_mendix_widget_native_rating_Rating = { + container: { + // All ViewStyle properties are allowed + justifyContent: "center" + }, + containerDisabled: { + // All ViewStyle properties are allowed + opacity: rating.containerDisabled.opacity + }, + icon: { + // Size, color, selectedColor & all ViewStyle properties are allowed + size: rating.icon.size, + marginRight: spacing.smaller, + color: rating.icon.color, + selectedColor: rating.icon.selectedColor + } +}; diff --git a/themesource/atlas_core/native/core/widgets/referenceselector.js b/themesource/atlas_core/native/core/widgets/referenceselector.js new file mode 100644 index 0000000..51dd534 --- /dev/null +++ b/themesource/atlas_core/native/core/widgets/referenceselector.js @@ -0,0 +1,121 @@ +import { DropDown, DropDownVertical } from "./dropdown"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Reference Selector + + Default Class For Mendix Reference Selector Widget +========================================================================== */ +export const ReferenceSelector = { + container: { + // All ViewStyle properties are allowed + ...DropDown.container + }, + containerDisabled: { + // All ViewStyle properties are allowed + ...DropDown.containerDisabled + }, + label: { + // numberOfLines and all TextStyle properties are allowed + ...DropDown.label + }, + labelDisabled: { + // All TextStyle properties are allowed + ...DropDown.labelDisabled + }, + value: { + // All TextStyle properties & placeholderTextColor are allowed + ...DropDown.value + }, + valueDisabled: { + // All TextStyle properties are allowed + ...DropDown.valueDisabled + }, + valueFocused: { + // All TextStyle properties are allowed + ...DropDown.valueFocused + }, + validationMessage: { + // All TextStyle properties are allowed + ...DropDown.validationMessage + }, + /* New dropdown styles start */ + valueContainer: { + // All ViewStyle properties & rippleColor are allowed + ...DropDown.valueContainer + }, + valueContainerDisabled: { + // All ViewStyle properties are allowed + }, + valueContainerFocused: { + // All ViewStyle properties are allowed + ...DropDown.valueContainerFocused + }, + iconStyle: { + // All TextStyle properties are allowed + ...DropDown.iconStyle + }, + menuWrapper: { + // All ViewStyle properties are allowed + ...DropDown.menuWrapper + }, + itemContainer: { + // All ViewStyle properties are allowed + ...DropDown.itemContainer + }, + item: { + // All TextStyle properties are allowed + ...DropDown.item + }, + selectedItem: { + // All TextStyle properties are allowed + ...DropDown.selectedItem + }, + selectedItemContainer: { + // All ViewStyle properties are allowed + ...DropDown.selectedItemContainer + }, + /* New dropdown styles end */ + useUniformDesign: DropDown.useUniformDesign, + /* Old dropdown styles start */ + pickerIOS: { + // All ViewStyle properties are allowed + ...DropDown.pickerIOS + }, + pickerItemIOS: { + // All TextStyle properties are allowed + ...DropDown.pickerItemIOS + }, + pickerBackdropIOS: { + // All ViewStyle properties are allowed + ...DropDown.pickerBackdropIOS + }, + pickerTopIOS: { + // All ViewStyle properties are allowed + ...DropDown.pickerTopIOS + } + /* Old dropdown styles end */ +}; +export const ReferenceSelectorVertical = { + container: DropDownVertical.container, + label: DropDownVertical.label, + value: DropDownVertical.value, + valueFocused: DropDownVertical.valueFocused, + validationMessage: DropDownVertical.validationMessage, + valueContainer: DropDownVertical.valueContainer, + valueContainerFocused: DropDownVertical.valueContainerFocused, + iconStyle: DropDownVertical.iconStyle, + menuWrapper: DropDownVertical.menuWrapper, + itemContainer: DropDownVertical.itemContainer, + item: DropDownVertical.item, + useUniformDesign: DropDownVertical.useUniformDesign, + pickerIOS: DropDownVertical.pickerIOS, + pickerItemIOS: DropDownVertical.pickerItemIOS, + pickerBackdropIOS: DropDownVertical.pickerBackdropIOS, + pickerTopIOS: DropDownVertical.pickerTopIOS +}; diff --git a/theme/styles/native/core/widgets/safeareaview.js b/themesource/atlas_core/native/core/widgets/safeareaview.js similarity index 96% rename from theme/styles/native/core/widgets/safeareaview.js rename to themesource/atlas_core/native/core/widgets/safeareaview.js index fe63979..5d187b5 100644 --- a/theme/styles/native/core/widgets/safeareaview.js +++ b/themesource/atlas_core/native/core/widgets/safeareaview.js @@ -1,17 +1,17 @@ -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Container - - Default Class For Mendix Safe Area View Widget -========================================================================== */ -export const com_mendix_widget_native_safeareaview_SafeAreaView = { - container: { - // All ViewStyle properties are allowed - }, -}; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Container + + Default Class For Mendix Safe Area View Widget +========================================================================== */ +export const com_mendix_widget_native_safeareaview_SafeAreaView = { + container: { + // All ViewStyle properties are allowed + } +}; diff --git a/themesource/atlas_core/native/core/widgets/slider.js b/themesource/atlas_core/native/core/widgets/slider.js new file mode 100644 index 0000000..2e8f83d --- /dev/null +++ b/themesource/atlas_core/native/core/widgets/slider.js @@ -0,0 +1,76 @@ +import { slider } from "../../variables"; +import { TextBox } from "./textbox"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Slider + + Default Class For Mendix Slider Widget +========================================================================== */ +export const com_mendix_widget_native_slider_Slider = { + container: { + // All ViewStyle properties are allowed + alignSelf: "stretch" + }, + track: { + // All ViewStyle properties are allowed + height: slider.track.height, + backgroundColor: slider.track.backgroundColor + }, + trackDisabled: { + // All ViewStyle properties are allowed + height: slider.track.height, + backgroundColor: slider.trackDisabled.backgroundColor, + opacity: slider.trackDisabled.opacity + }, + highlight: { + // All ViewStyle properties are allowed + height: slider.track.height, + backgroundColor: slider.highlight.backgroundColor + }, + highlightDisabled: { + // All ViewStyle properties are allowed + height: slider.track.height, + backgroundColor: slider.highlightDisabled.backgroundColor + }, + marker: { + // All ViewStyle properties are allowed + backgroundColor: slider.marker.backgroundColor, + width: slider.marker.size, + height: slider.marker.size, + borderRadius: slider.marker.size / 2, + borderColor: slider.marker.borderColor, + elevation: 2, + shadowColor: "#000", + shadowOpacity: 0.1, + shadowOffset: { width: 0, height: 1 } + }, + markerActive: { + // All ViewStyle properties are allowed + width: slider.markerActive.size, + height: slider.markerActive.size, + borderRadius: slider.markerActive.size / 2, + borderWidth: 0 + }, + markerDisabled: { + // All ViewStyle properties are allowed + backgroundColor: slider.markerDisabled.backgroundColor, + width: slider.markerDisabled.size, + height: slider.markerDisabled.size, + borderRadius: slider.markerDisabled.size / 2, + borderColor: slider.markerDisabled.borderColor, + elevation: 2, + shadowColor: "#000", + shadowOpacity: 0.1, + shadowOffset: { width: 0, height: 1 } + }, + validationMessage: { + // All TextStyle properties are allowed + ...TextBox.validationMessage + } +}; diff --git a/theme/styles/native/core/widgets/tabcontainer.js b/themesource/atlas_core/native/core/widgets/tabcontainer.js similarity index 58% rename from theme/styles/native/core/widgets/tabcontainer.js rename to themesource/atlas_core/native/core/widgets/tabcontainer.js index 6b323ba..1f68372 100644 --- a/theme/styles/native/core/widgets/tabcontainer.js +++ b/themesource/atlas_core/native/core/widgets/tabcontainer.js @@ -1,51 +1,71 @@ -import { font, spacing, tabContainer } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Tab Container - - Default Class For Mendix Tab Container Widget -========================================================================== */ -export const TabContainer = { - container: { - // All ViewStyle properties are allowed - flex: 1, - }, - tabBar: { - // bounces, pressColor, pressOpacity, scrollEnabled and all ViewStyle properties are allowed - bounces: true, - pressColor: tabContainer.tabBar.pressColor, - pressOpacity: 0.8, - backgroundColor: tabContainer.tabBar.backgroundColor, - scrollEnabled: false, - paddingVertical: spacing.smaller, - }, - indicator: { - // All ViewStyle properties are allowed - backgroundColor: tabContainer.indicator.backgroundColor, - height: tabContainer.indicator.height, - }, - tab: { - // All ViewStyle properties are allowed - paddingVertical: spacing.smaller, - }, - label: { - // All TextStyle properties are allowed - color: tabContainer.label.color, - fontFamily: font.family, - fontWeight: tabContainer.label.fontWeight, - textTransform: tabContainer.label.textTransform, - }, - activeLabel: { - // All TextStyle properties are allowed - color: tabContainer.activeLabel.color, - fontFamily: font.family, - fontWeight: tabContainer.activeLabel.fontWeight, - textTransform: tabContainer.activeLabel.textTransform, - }, -}; +import { badge, font, tabContainer } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Tab Container + + Default Class For Mendix Tab Container Widget +========================================================================== */ +export const TabContainer = { + container: { + // All ViewStyle properties are allowed + flex: 1 + }, + tabBar: { + // bounces, pressColor, pressOpacity, scrollEnabled and all ViewStyle properties are allowed + bounces: true, + scrollEnabled: false, + pressOpacity: 0.8, + pressColor: tabContainer.tabBar.pressColor, + backgroundColor: tabContainer.tabBar.backgroundColor, + height: 48, + justifyContent: "center" + }, + indicator: { + // All ViewStyle properties are allowed + backgroundColor: tabContainer.indicator.backgroundColor, + height: tabContainer.indicator.height + }, + tab: { + // All ViewStyle properties are allowed + padding: undefined, + minHeight: undefined, + paddingVertical: tabContainer.tab.paddingVertical + }, + label: { + // All TextStyle properties are allowed + color: tabContainer.label.color, + fontSize: tabContainer.label.fontSize, + fontFamily: font.family, + fontWeight: tabContainer.label.fontWeight, + textTransform: tabContainer.label.textTransform + }, + activeLabel: { + // All TextStyle properties are allowed + color: tabContainer.activeLabel.color, + fontSize: tabContainer.activeLabel.fontSize, + fontFamily: font.family, + fontWeight: tabContainer.activeLabel.fontWeight, + textTransform: tabContainer.activeLabel.textTransform + }, + badgeContainer: { + // All ViewStyle properties are allowed + borderRadius: tabContainer.badgeContainer.borderRadius, + backgroundColor: badge.default.backgroundColor, + paddingVertical: tabContainer.badgeContainer.paddingVertical, + paddingHorizontal: tabContainer.badgeContainer.paddingHorizontal, + marginLeft: 8 + }, + badgeCaption: { + // All TextStyle properties are allowed + fontSize: font.size, + color: badge.default.color, + fontFamily: font.family, + fontWeight: badge.fontWeight + } +}; diff --git a/theme/styles/native/core/widgets/textarea.js b/themesource/atlas_core/native/core/widgets/textarea.js similarity index 50% rename from theme/styles/native/core/widgets/textarea.js rename to themesource/atlas_core/native/core/widgets/textarea.js index 82ec883..ab4f552 100644 --- a/theme/styles/native/core/widgets/textarea.js +++ b/themesource/atlas_core/native/core/widgets/textarea.js @@ -1,56 +1,83 @@ -import { TextBox, TextBoxVertical } from "./textbox"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Text Area - - Default Class For Mendix Text Area Widget -========================================================================== */ -export const TextArea = { - container: { - // All ViewStyle properties are allowed - ...TextBox.container, - }, - label: { - // numberOfLines and all TextStyle properties are allowed - ...TextBox.label, - height: "100%", - textAlignVertical: "top", - paddingVertical: TextBox.input?.paddingVertical, - }, - input: { - // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed - ...TextBox.input, - textAlignVertical: "top", - paddingTop: TextBox.input?.paddingVertical, - }, - inputDisabled: { - // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed - backgroundColor: TextBox.inputDisabled?.backgroundColor, - }, - inputError: { - // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed - ...TextBox.inputError, - }, - validationMessage: { - // All TextStyle properties are allowed - ...TextBox.validationMessage, - }, -}; -export const TextAreaVertical = { - container: TextBoxVertical.container, - label: { - ...TextBoxVertical.label, - height: undefined, - paddingVertical: undefined, - textAlignVertical: undefined, - }, - input: TextBoxVertical.input, - inputError: TextBoxVertical.inputError, - validationMessage: TextBoxVertical.validationMessage, -}; +var _a, _b, _c, _d, _e, _f; +import { TextBox, TextBoxVertical } from "./textbox"; +import { input } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Text Area + + Default Class For Mendix Text Area Widget +========================================================================== */ +export const TextArea = { + container: { + // All ViewStyle properties are allowed + ...TextBox.container + }, + containerDisabled: { + // All ViewStyle properties are allowed + ...TextBox.containerDisabled + }, + label: { + // numberOfLines and all TextStyle properties are allowed + ...TextBox.label, + lineHeight: input.input.lineHeight, + height: "100%", + textAlignVertical: "top", + paddingVertical: (_a = TextBox.input) === null || _a === void 0 ? void 0 : _a.paddingVertical + }, + labelDisabled: { + color: (_b = TextBox.labelDisabled) === null || _b === void 0 ? void 0 : _b.color + }, + input: { + // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed + ...TextBox.input, + textAlignVertical: "top", + paddingTop: (_c = TextBox.input) === null || _c === void 0 ? void 0 : _c.paddingVertical + }, + inputDisabled: { + // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed + backgroundColor: (_d = TextBox.inputDisabled) === null || _d === void 0 ? void 0 : _d.backgroundColor, + borderColor: (_e = TextBox.inputDisabled) === null || _e === void 0 ? void 0 : _e.borderColor, + color: (_f = TextBox.inputDisabled) === null || _f === void 0 ? void 0 : _f.color + }, + inputFocused: { + // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed + }, + inputError: { + // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed + ...TextBox.inputError + }, + validationMessage: { + // All TextStyle properties are allowed + ...TextBox.validationMessage + } +}; +export const TextAreaVertical = { + container: TextBoxVertical.container, + containerDisabled: TextBoxVertical.containerDisabled, + label: { + ...TextBoxVertical.label, + height: undefined, + paddingVertical: undefined, + textAlignVertical: undefined + }, + labelDisabled: { + ...TextBoxVertical.labelDisabled, + height: undefined, + paddingVertical: undefined, + textAlignVertical: undefined + }, + input: { + ...TextBoxVertical.input, + lineHeight: input.input.lineHeight + }, + inputDisabled: TextBoxVertical.inputDisabled, + inputFocused: TextBoxVertical.inputFocused, + inputError: TextBoxVertical.inputError, + validationMessage: TextBoxVertical.validationMessage +}; diff --git a/themesource/atlas_core/native/core/widgets/textbox.js b/themesource/atlas_core/native/core/widgets/textbox.js new file mode 100644 index 0000000..6c1aff1 --- /dev/null +++ b/themesource/atlas_core/native/core/widgets/textbox.js @@ -0,0 +1,108 @@ +import { font, input, spacing } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Text Box + + Default Class For Mendix Text Box Widget +========================================================================== */ +export const TextBox = { + container: { + // All ViewStyle properties are allowed + }, + containerDisabled: { + // All ViewStyle properties are allowed + }, + label: { + // numberOfLines and all TextStyle properties are allowed + numberOfLines: input.label.numberOfLines, + color: input.label.color, + fontSize: input.label.fontSize, + fontFamily: font.family, + textAlign: input.label.textAlign, + marginRight: spacing.small + }, + labelDisabled: { + // TextStyle properties are allowed + color: input.labelDisabled.color + }, + input: { + // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed + color: input.input.color, + borderColor: input.input.borderColor, + backgroundColor: input.input.backgroundColor, + selectionColor: input.input.selectionColor, + placeholderTextColor: input.input.placeholderTextColor, + fontSize: input.input.fontSize, + fontFamily: font.family, + borderWidth: input.input.borderWidth, + borderRadius: input.input.borderRadius, + // textAlignVertical: "center", + minWidth: input.input.minWidth, + minHeight: input.input.minHeight, + paddingHorizontal: input.input.paddingHorizontal, + paddingVertical: input.input.paddingVertical + }, + inputDisabled: { + // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed + color: input.inputDisabled.color, + borderColor: input.inputDisabled.borderColor, + backgroundColor: input.inputDisabled.backgroundColor + }, + inputFocused: { + // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed + }, + inputError: { + // autoCapitalize, placeholderTextColor, selectionColor, underlineColorAndroid and all TextStyle properties are allowed + color: input.inputError.color, + borderColor: input.inputError.borderColor, + placeholderTextColor: input.inputError.placeholderTextColor, + underlineColorAndroid: "transparent" + }, + validationMessage: { + // All TextStyle properties are allowed + color: input.validationMessage.color, + fontSize: input.validationMessage.fontSize, + fontFamily: font.family + } +}; +export const TextBoxVertical = { + container: {}, + containerDisabled: {}, + label: { + numberOfLines: input.label.numberOfLines, + color: input.label.color, + fontSize: input.label.fontSize, + fontFamily: font.family, + textAlign: input.label.textAlign, + marginBottom: spacing.small + }, + labelDisabled: { + color: input.labelDisabled.color + }, + input: { + color: input.input.color, + borderColor: input.input.borderColor, + backgroundColor: input.input.backgroundColor, + selectionColor: input.input.selectionColor, + placeholderTextColor: input.input.placeholderTextColor, + fontSize: input.input.fontSize, + fontFamily: font.family, + borderWidth: input.input.borderWidth, + borderRadius: input.input.borderRadius, + // textAlignVertical: "center", + minWidth: input.input.minWidth, + minHeight: input.input.minHeight, + paddingHorizontal: input.input.paddingHorizontal, + paddingVertical: input.input.paddingVertical + }, + inputDisabled: TextBox.inputDisabled, + inputFocused: TextBox.inputFocused, + inputError: TextBox.inputError, + validationMessage: TextBox.validationMessage +}; diff --git a/theme/styles/native/core/widgets/togglebuttons.js b/themesource/atlas_core/native/core/widgets/togglebuttons.js similarity index 55% rename from theme/styles/native/core/widgets/togglebuttons.js rename to themesource/atlas_core/native/core/widgets/togglebuttons.js index 07bae99..4769dbe 100644 --- a/theme/styles/native/core/widgets/togglebuttons.js +++ b/themesource/atlas_core/native/core/widgets/togglebuttons.js @@ -1,59 +1,54 @@ -import { Platform } from "react-native"; -import { background, brand, contrast, font, input } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Segmented Controls - - Default Class For Mendix Segmented Controls Widget -========================================================================== */ -export const com_mendix_widget_native_togglebuttons_ToggleButtons = { - container: { - // All ViewStyle properties are allowed - alignSelf: "stretch", - }, - containerDisabled: { - opacity: 0.6, - alignSelf: "stretch", - }, - button: { - // All ViewStyle properties are allowed - backgroundColor: background.primary, - borderColor: Platform.select({ ios: brand.primary, android: contrast.lower }), - }, - text: { - // All TextStyle properties are allowed - color: Platform.select({ ios: brand.primary, android: contrast.high }), - fontSize: font.size, - fontFamily: font.family, - }, - activeButton: { - // All ViewStyle properties are allowed - ...Platform.select({ - ios: { - backgroundColor: brand.primary, - borderColor: brand.primary, - }, - android: { - backgroundColor: brand.primary, - borderColor: brand.primary, - }, - }), - }, - activeButtonText: { - // All TextStyle properties are allowed - fontSize: font.size, - fontFamily: font.family, - }, - validationMessage: { - // All TextStyle properties are allowed - color: input.errorColor, - fontSize: font.size, - fontFamily: font.family, - }, -}; +import { background, brand, contrast, font } from "../../variables"; +import { TextBox } from "./textbox"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Segmented Controls + + Default Class For Mendix Segmented Controls Widget +========================================================================== */ +export const com_mendix_widget_native_togglebuttons_ToggleButtons = { + container: { + // All ViewStyle properties are allowed + backgroundColor: background.secondary, + borderRadius: 16, + alignSelf: "stretch" + }, + containerDisabled: { + opacity: 0.6, + alignSelf: "stretch" + }, + button: { + // All ViewStyle properties are allowed + backgroundColor: "transparent", + borderColor: "transparent", + borderRadius: 16 + }, + text: { + // All TextStyle properties are allowed + color: contrast.low, + fontSize: font.size, + fontFamily: font.family + }, + activeButton: { + // All ViewStyle properties are allowed + backgroundColor: brand.primary, + borderColor: brand.primary, + borderRadius: 16 + }, + activeButtonText: { + // All TextStyle properties are allowed + color: "#FFF", + fontSize: font.size, + fontFamily: font.family + }, + validationMessage: { + // All TextStyle properties are allowed + ...TextBox.validationMessage + } +}; diff --git a/theme/styles/native/core/widgets/typography.js b/themesource/atlas_core/native/core/widgets/typography.js similarity index 80% rename from theme/styles/native/core/widgets/typography.js rename to themesource/atlas_core/native/core/widgets/typography.js index c45592f..3ed8cbe 100644 --- a/theme/styles/native/core/widgets/typography.js +++ b/themesource/atlas_core/native/core/widgets/typography.js @@ -1,79 +1,79 @@ -import { font } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Text - - Default Class For Mendix Text Widget -========================================================================== */ -export const Text = { - container: { - // All ViewStyle properties are allowed - }, - text: { - // numberOfLines & All TextStyle properties are allowed - color: font.color, - fontSize: font.size, - fontFamily: font.family, - lineHeight: font.size + 2, - }, -}; -export const TextHeading1 = { - container: {}, - text: { - fontWeight: font.weightSemiBold, - fontSize: font.sizeH1, - fontFamily: font.family, - lineHeight: font.sizeH1, - }, -}; -export const TextHeading2 = { - container: {}, - text: { - fontWeight: font.weightSemiBold, - fontSize: font.sizeH2, - fontFamily: font.family, - lineHeight: font.sizeH2, - }, -}; -export const TextHeading3 = { - container: {}, - text: { - fontWeight: font.weightSemiBold, - fontSize: font.sizeH3, - fontFamily: font.family, - lineHeight: font.sizeH3, - }, -}; -export const TextHeading4 = { - container: {}, - text: { - fontWeight: font.weightSemiBold, - fontSize: font.sizeH4, - fontFamily: font.family, - lineHeight: font.sizeH4, - }, -}; -export const TextHeading5 = { - container: {}, - text: { - fontWeight: font.weightSemiBold, - fontSize: font.sizeH5, - fontFamily: font.family, - lineHeight: font.sizeH5, - }, -}; -export const TextHeading6 = { - container: {}, - text: { - fontWeight: font.weightSemiBold, - fontSize: font.sizeH6, - fontFamily: font.family, - lineHeight: font.sizeH6, - }, -}; +import { font } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Text + + Default Class For Mendix Text Widget +========================================================================== */ +export const Text = { + container: { + // All ViewStyle properties are allowed + }, + text: { + // numberOfLines & All TextStyle properties are allowed + color: font.colorTitle, + fontSize: font.size, + fontFamily: font.family, + lineHeight: font.lineHeight + } +}; +export const TextHeading1 = { + container: {}, + text: { + fontWeight: font.weightSemiBold, + fontSize: font.sizeH1, + fontFamily: font.family, + lineHeight: font.lineHeightH1 + } +}; +export const TextHeading2 = { + container: {}, + text: { + fontWeight: font.weightSemiBold, + fontSize: font.sizeH2, + fontFamily: font.family, + lineHeight: font.lineHeightH2 + } +}; +export const TextHeading3 = { + container: {}, + text: { + fontWeight: font.weightSemiBold, + fontSize: font.sizeH3, + fontFamily: font.family, + lineHeight: font.lineHeightH3 + } +}; +export const TextHeading4 = { + container: {}, + text: { + fontWeight: font.weightSemiBold, + fontSize: font.sizeH4, + fontFamily: font.family, + lineHeight: font.lineHeightH4 + } +}; +export const TextHeading5 = { + container: {}, + text: { + fontWeight: font.weightSemiBold, + fontSize: font.sizeH5, + fontFamily: font.family, + lineHeight: font.lineHeightH5 + } +}; +export const TextHeading6 = { + container: {}, + text: { + fontWeight: font.weightSemiBold, + fontSize: font.sizeH6, + fontFamily: font.family, + lineHeight: font.lineHeightH6 + } +}; diff --git a/theme/styles/native/core/widgets/videoplayer.js b/themesource/atlas_core/native/core/widgets/videoplayer.js similarity index 96% rename from theme/styles/native/core/widgets/videoplayer.js rename to themesource/atlas_core/native/core/widgets/videoplayer.js index 209344c..ce06e22 100644 --- a/theme/styles/native/core/widgets/videoplayer.js +++ b/themesource/atlas_core/native/core/widgets/videoplayer.js @@ -1,23 +1,23 @@ -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Video Player - - Default Class For Mendix Video Player Widget -========================================================================== */ -export const com_mendix_widget_native_videoplayer_VideoPlayer = { - container: { - // All ViewStyle properties are allowed - }, - indicator: { - // Only the backgroundColor property is allowed - }, - video: { - // All ViewStyle properties are allowed - }, -}; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Video Player + + Default Class For Mendix Video Player Widget +========================================================================== */ +export const com_mendix_widget_native_videoplayer_VideoPlayer = { + container: { + // All ViewStyle properties are allowed + }, + indicator: { + // Only the backgroundColor property is allowed + }, + video: { + // All ViewStyle properties are allowed + } +}; diff --git a/theme/styles/native/core/widgets/webview.js b/themesource/atlas_core/native/core/widgets/webview.js similarity index 88% rename from theme/styles/native/core/widgets/webview.js rename to themesource/atlas_core/native/core/widgets/webview.js index b92b132..e2240c7 100644 --- a/theme/styles/native/core/widgets/webview.js +++ b/themesource/atlas_core/native/core/widgets/webview.js @@ -1,26 +1,26 @@ -import { font } from "../variables"; -/* - -DISCLAIMER: -Do not change this file because it is core styling. -Customizing core files will make updating Atlas much more difficult in the future. -To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. - -========================================================================== - Web View - - Default Class For Mendix Web View Widget -========================================================================== */ -export const com_mendix_widget_native_webview_WebView = { - container: { - // All ViewStyle properties are allowed - }, - errorContainer: { - // All ViewStyle properties are allowed - }, - errorText: { - // All TextStyle properties are allowed - fontSize: font.size, - fontFamily: font.family, - }, -}; +import { font } from "../../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Web View + + Default Class For Mendix Web View Widget +========================================================================== */ +export const com_mendix_widget_native_webview_WebView = { + container: { + // All ViewStyle properties are allowed + }, + errorContainer: { + // All ViewStyle properties are allowed + }, + errorText: { + // All TextStyle properties are allowed + fontSize: font.size, + fontFamily: font.family + } +}; diff --git a/themesource/atlas_core/native/design-properties.json b/themesource/atlas_core/native/design-properties.json new file mode 100644 index 0000000..a79453b --- /dev/null +++ b/themesource/atlas_core/native/design-properties.json @@ -0,0 +1,2348 @@ +{ + "Document": [ + { + "name": "Spacing top", + "type": "Dropdown", + "description": "The spacing above this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerTopSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerTopMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerTopLarger" + } + ] + }, + { + "name": "Spacing bottom", + "type": "Dropdown", + "description": "The spacing below this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerBottomSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerBottomMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerBottomLarger" + } + ] + }, + { + "name": "Spacing left", + "type": "Dropdown", + "description": "The spacing to the left of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerLeftSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerLeftMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerLeftLarger" + } + ] + }, + { + "name": "Spacing right", + "type": "Dropdown", + "description": "The spacing to the right of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerRightSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerRightMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerRightLarger" + } + ] + }, + { + "name": "Background color", + "type": "Dropdown", + "description": "Change the background color of the container.", + "options": [ + { + "name": "Background Primary", + "oldNames": ["Primary"], + "class": "backgroundPrimary" + }, + { + "name": "Background Secondary", + "oldNames": ["Gray", "Secondary"], + "class": "backgroundSecondary" + }, + { + "name": "Brand Primary", + "class": "backgroundBrandPrimary" + }, + { + "name": "Brand Success", + "class": "backgroundBrandSuccess" + }, + { + "name": "Brand Warning", + "class": "backgroundBrandWarning" + }, + { + "name": "Brand Danger", + "class": "backgroundBrandDanger" + }, + { + "name": "Brand Info", + "class": "backgroundBrandInfo" + } + ] + }, + { + "name": "Render children horizontal", + "type": "Toggle", + "description": "Determines the direction in which children are rendered.", + "class": "flexRow" + }, + { + "name": "Wrap children", + "type": "Toggle", + "description": "Determines if children can flow into multiple lines if they hit the end of the container.", + "class": "flexWrap" + }, + { + "name": "Align children", + "type": "Dropdown", + "description": "Align children in the opposite direction.", + "options": [ + { + "name": "Start", + "class": "alignChildrenStart" + }, + { + "name": "Center", + "class": "alignChildrenCenter" + }, + { + "name": "End", + "class": "alignChildrenEnd" + }, + { + "name": "Stretch", + "class": "alignChildrenStretch" + }, + { + "name": "Baseline", + "class": "alignChildrenBaseline" + } + ] + }, + { + "name": "Justify content", + "type": "Dropdown", + "description": "Justify content in the active direction.", + "options": [ + { + "name": "Start", + "class": "justifyContentStart" + }, + { + "name": "Center", + "class": "justifyContentCenter" + }, + { + "name": "End", + "class": "justifyContentEnd" + }, + { + "name": "Space between", + "class": "justifyContentSpaceBetween" + }, + { + "name": "Space around", + "class": "justifyContentSpaceAround" + }, + { + "name": "Space evenly", + "class": "justifyContentSpaceEvenly" + } + ] + } + ], + "Page": [ + { + "name": "Hide header bottom border", + "type": "Toggle", + "description": "Hide the bottom border (iOS) and elevation (Android) of the header.", + "class": "pageHeaderBorderNone" + } + ], + "Widget": [ + { + "name": "Spacing top", + "type": "Dropdown", + "description": "The spacing above this element.", + "options": [ + { + "name": "Smallest", + "class": "spacingOuterTopSmallest" + }, + { + "name": "Smaller", + "class": "spacingOuterTopSmaller" + }, + { + "name": "Small", + "class": "spacingOuterTopSmall" + }, + { + "name": "Medium", + "class": "spacingOuterTopMedium" + }, + { + "name": "Large", + "class": "spacingOuterTopLarge" + }, + { + "name": "Larger", + "class": "spacingOuterTopLarger" + }, + { + "name": "Largest", + "class": "spacingOuterTopLargest" + } + ] + }, + { + "name": "Spacing bottom", + "type": "Dropdown", + "description": "The spacing below this element.", + "options": [ + { + "name": "Smallest", + "class": "spacingOuterBottomSmallest" + }, + { + "name": "Smaller", + "class": "spacingOuterBottomSmaller" + }, + { + "name": "Small", + "class": "spacingOuterBottomSmall" + }, + { + "name": "Medium", + "class": "spacingOuterBottomMedium" + }, + { + "name": "Large", + "class": "spacingOuterBottomLarge" + }, + { + "name": "Larger", + "class": "spacingOuterBottomLarger" + }, + { + "name": "Largest", + "class": "spacingOuterBottomLargest" + } + ] + }, + { + "name": "Spacing left", + "type": "Dropdown", + "description": "The spacing to the left of this element.", + "options": [ + { + "name": "Smallest", + "class": "spacingOuterLeftSmallest" + }, + { + "name": "Smaller", + "class": "spacingOuterLeftSmaller" + }, + { + "name": "Small", + "class": "spacingOuterLeftSmall" + }, + { + "name": "Medium", + "class": "spacingOuterLeftMedium" + }, + { + "name": "Large", + "class": "spacingOuterLeftLarge" + }, + { + "name": "Larger", + "class": "spacingOuterLeftLarger" + }, + { + "name": "Largest", + "class": "spacingOuterLeftLargest" + } + ] + }, + { + "name": "Spacing right", + "type": "Dropdown", + "description": "The spacing to the right of this element.", + "options": [ + { + "name": "Smallest", + "class": "spacingOuterRightSmallest" + }, + { + "name": "Smaller", + "class": "spacingOuterRightSmaller" + }, + { + "name": "Small", + "class": "spacingOuterRightSmall" + }, + { + "name": "Medium", + "class": "spacingOuterRightMedium" + }, + { + "name": "Large", + "class": "spacingOuterRightLarge" + }, + { + "name": "Larger", + "class": "spacingOuterRightLarger" + }, + { + "name": "Largest", + "class": "spacingOuterRightLargest" + } + ] + } + ], + "DivContainer": [ + { + "name": "Spacing top", + "type": "Dropdown", + "description": "The spacing above this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerTopSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerTopMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerTopLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterTopSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterTopMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterTopLarger" + } + ] + }, + { + "name": "Spacing bottom", + "type": "Dropdown", + "description": "The spacing below this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerBottomSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerBottomMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerBottomLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterBottomSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterBottomMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterBottomLarger" + } + ] + }, + { + "name": "Spacing left", + "type": "Dropdown", + "description": "The spacing to the left of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerLeftSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerLeftMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerLeftLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterLeftSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterLeftMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterLeftLarger" + } + ] + }, + { + "name": "Spacing right", + "type": "Dropdown", + "description": "The spacing to the right of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerRightSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerRightMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerRightLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterRightSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterRightMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterRightLarger" + } + ] + }, + { + "name": "Size", + "type": "Dropdown", + "description": "Change the size of the widget relative to its sibling(s).", + "options": [ + { + "name": "Maximum space", + "class": "flexMain" + }, + { + "name": "Minimum space", + "class": "flexItem" + } + ] + }, + { + "name": "Background color", + "type": "Dropdown", + "description": "Change the background color of the container.", + "options": [ + { + "name": "Background Primary", + "oldNames": ["Primary"], + "class": "backgroundPrimary" + }, + { + "name": "Background Secondary", + "oldNames": ["Gray", "Secondary"], + "class": "backgroundSecondary" + }, + { + "name": "Brand Primary", + "class": "backgroundBrandPrimary" + }, + { + "name": "Brand Success", + "class": "backgroundBrandSuccess" + }, + { + "name": "Brand Warning", + "class": "backgroundBrandWarning" + }, + { + "name": "Brand Danger", + "class": "backgroundBrandDanger" + }, + { + "name": "Brand Info", + "class": "backgroundBrandInfo" + } + ] + }, + { + "name": "Align", + "type": "Dropdown", + "description": "Aligns the element. This overrides 'Align children' of the parent.", + "options": [ + { + "name": "Start", + "class": "alignSelfStart" + }, + { + "name": "Center", + "class": "alignSelfCenter" + }, + { + "name": "End", + "class": "alignSelfEnd" + }, + { + "name": "Stretch", + "class": "alignSelfStretch" + }, + { + "name": "Baseline", + "class": "alignSelfBaseline" + } + ] + }, + { + "name": "Render children horizontal", + "type": "Toggle", + "description": "Determines the direction in which children are rendered.", + "class": "flexRow" + }, + { + "name": "Wrap children", + "type": "Toggle", + "description": "Determines if children can flow into multiple lines if they hit the end of the container.", + "class": "flexWrap" + }, + { + "name": "Align children", + "type": "Dropdown", + "description": "Align children in the opposite direction.", + "options": [ + { + "name": "Start", + "class": "alignChildrenStart" + }, + { + "name": "Center", + "class": "alignChildrenCenter" + }, + { + "name": "End", + "class": "alignChildrenEnd" + }, + { + "name": "Stretch", + "class": "alignChildrenStretch" + }, + { + "name": "Baseline", + "class": "alignChildrenBaseline" + } + ] + }, + { + "name": "Justify content", + "type": "Dropdown", + "description": "Justify content in the active direction.", + "options": [ + { + "name": "Start", + "class": "justifyContentStart" + }, + { + "name": "Center", + "class": "justifyContentCenter" + }, + { + "name": "End", + "class": "justifyContentEnd" + }, + { + "name": "Space between", + "class": "justifyContentSpaceBetween" + }, + { + "name": "Space around", + "class": "justifyContentSpaceAround" + }, + { + "name": "Space evenly", + "class": "justifyContentSpaceEvenly" + } + ] + } + ], + "ScrollContainer": [ + { + "name": "Spacing top", + "type": "Dropdown", + "description": "The spacing above this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerTopSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerTopMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerTopLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterTopSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterTopMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterTopLarger" + } + ] + }, + { + "name": "Spacing bottom", + "type": "Dropdown", + "description": "The spacing below this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerBottomSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerBottomMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerBottomLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterBottomSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterBottomMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterBottomLarger" + } + ] + }, + { + "name": "Spacing left", + "type": "Dropdown", + "description": "The spacing to the left of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerLeftSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerLeftMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerLeftLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterLeftSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterLeftMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterLeftLarger" + } + ] + }, + { + "name": "Spacing right", + "type": "Dropdown", + "description": "The spacing to the right of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerRightSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerRightMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerRightLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterRightSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterRightMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterRightLarger" + } + ] + }, + { + "name": "Size", + "type": "Dropdown", + "description": "Change the size of the widget relative to its sibling(s).", + "options": [ + { + "name": "Maximum space", + "class": "flexMain" + }, + { + "name": "Minimum space", + "class": "flexItem" + } + ] + }, + { + "name": "Background color", + "type": "Dropdown", + "description": "Change the background color of the container.", + "options": [ + { + "name": "Background Primary", + "oldNames": ["Primary"], + "class": "backgroundPrimary" + }, + { + "name": "Background Secondary", + "oldNames": ["Gray", "Secondary"], + "class": "backgroundSecondary" + }, + { + "name": "Brand Primary", + "class": "backgroundBrandPrimary" + }, + { + "name": "Brand Success", + "class": "backgroundBrandSuccess" + }, + { + "name": "Brand Warning", + "class": "backgroundBrandWarning" + }, + { + "name": "Brand Danger", + "class": "backgroundBrandDanger" + }, + { + "name": "Brand Info", + "class": "backgroundBrandInfo" + } + ] + }, + { + "name": "Align", + "type": "Dropdown", + "description": "Aligns the element. This overrides 'Align children' of the parent.", + "options": [ + { + "name": "Start", + "class": "alignSelfStart" + }, + { + "name": "Center", + "class": "alignSelfCenter" + }, + { + "name": "End", + "class": "alignSelfEnd" + }, + { + "name": "Stretch", + "class": "alignSelfStretch" + }, + { + "name": "Baseline", + "class": "alignSelfBaseline" + } + ] + }, + { + "name": "Render children horizontal", + "type": "Toggle", + "description": "Determines the direction in which children are rendered.", + "class": "flexRow" + }, + { + "name": "Wrap children", + "type": "Toggle", + "description": "Determines if children can flow into multiple lines if they hit the end of the container.", + "class": "flexWrap" + }, + { + "name": "Align children", + "type": "Dropdown", + "description": "Align children in the opposite direction.", + "options": [ + { + "name": "Start", + "class": "alignChildrenStart" + }, + { + "name": "Center", + "class": "alignChildrenCenter" + }, + { + "name": "End", + "class": "alignChildrenEnd" + }, + { + "name": "Stretch", + "class": "alignChildrenStretch" + }, + { + "name": "Baseline", + "class": "alignChildrenBaseline" + } + ] + }, + { + "name": "Justify content", + "type": "Dropdown", + "description": "Justify content in the active direction.", + "options": [ + { + "name": "Start", + "class": "justifyContentStart" + }, + { + "name": "Center", + "class": "justifyContentCenter" + }, + { + "name": "End", + "class": "justifyContentEnd" + }, + { + "name": "Space between", + "class": "justifyContentSpaceBetween" + }, + { + "name": "Space around", + "class": "justifyContentSpaceAround" + } + ] + } + ], + "ActionButton": [ + { + "name": "Button style", + "type": "Dropdown", + "description": "Style of the button", + "options": [ + { + "name": "Secondary", + "class": "btnSecondary" + }, + { + "name": "Success", + "class": "btnSuccess" + }, + { + "name": "Warning", + "class": "btnWarning" + }, + { + "name": "Danger", + "class": "btnDanger" + }, + { + "name": "Inversed", + "class": "btnPrimaryInversed" + } + ] + }, + { + "name": "Align", + "type": "Dropdown", + "description": "Aligns the element. This overrides 'Align children' of the parent.", + "options": [ + { + "name": "Start", + "class": "alignSelfStart" + }, + { + "name": "Center", + "class": "alignSelfCenter" + }, + { + "name": "End", + "class": "alignSelfEnd" + }, + { + "name": "Stretch", + "class": "alignSelfStretch" + }, + { + "name": "Baseline", + "class": "alignSelfBaseline" + } + ] + } + ], + "StaticImageViewer": [ + { + "name": "Shape", + "type": "Dropdown", + "description": "Change the shape of the image", + "options": [ + { + "name": "Square", + "class": "imageSquare" + }, + { + "name": "Circle", + "class": "imageCircle" + } + ] + }, + { + "name": "Size", + "type": "Dropdown", + "description": "Make the image smaller or larger.", + "options": [ + { + "name": "Icon", + "class": "imageIcon", + "oldNames": ["imageCircleIcon", "imageSquareIcon"] + }, + { + "name": "Small", + "class": "imageSmall", + "oldNames": ["imageCircleSmall", "imageSquareSmall"] + }, + { + "name": "Medium", + "class": "imageMedium", + "oldNames": ["imageCircleMedium", "imageSquareMedium"] + }, + { + "name": "Large", + "class": "imageLarge", + "oldNames": ["imageCircleLarge", "imageSquareLarge"] + }, + { + "name": "Larger", + "class": "imageLarger", + "oldNames": ["imageCircleLarger", "imageSquareLarger"] + }, + { + "name": "FullSize", + "class": "imageFullSize" + } + ] + } + ], + "DynamicImageViewer": [ + { + "name": "Shape", + "type": "Dropdown", + "description": "Change the shape of the image", + "options": [ + { + "name": "Square", + "class": "imageSquare" + }, + { + "name": "Circle", + "class": "imageCircle" + } + ] + }, + { + "name": "Size", + "type": "Dropdown", + "description": "Make the image smaller or larger.", + "options": [ + { + "name": "Icon", + "class": "imageIcon", + "oldNames": ["imageCircleIcon", "imageSquareIcon"] + }, + { + "name": "Small", + "class": "imageSmall", + "oldNames": ["imageCircleSmall", "imageSquareSmall"] + }, + { + "name": "Medium", + "class": "imageMedium", + "oldNames": ["imageCircleMedium", "imageSquareMedium"] + }, + { + "name": "Large", + "class": "imageLarge", + "oldNames": ["imageCircleLarge", "imageSquareLarge"] + }, + { + "name": "Larger", + "class": "imageLarger", + "oldNames": ["imageCircleLarger", "imageSquareLarger"] + }, + { + "name": "FullSize", + "class": "imageFullSize" + } + ] + } + ], + "DynamicText": [ + { + "name": "Color", + "type": "Dropdown", + "description": "Change the color of text.", + "options": [ + { + "name": "Paragraph", + "class": "textParagraph" + }, + { + "name": "Disabled", + "class": "textDisabled" + }, + { + "name": "White", + "class": "textWhite" + }, + { + "name": "Black", + "class": "textBlack" + }, + { + "name": "Brand primary", + "class": "textPrimary" + }, + { + "name": "Brand success", + "class": "textSuccess" + }, + { + "name": "Brand warning", + "class": "textWarning" + }, + { + "name": "Brand danger", + "class": "textDanger" + } + ] + }, + { + "name": "Size", + "type": "Dropdown", + "description": "Make the text smaller or larger.", + "options": [ + { + "name": "Smallest", + "class": "textSmallest" + }, + { + "name": "Small", + "class": "textSmall" + }, + { + "name": "Large", + "class": "textLarge" + }, + { + "name": "Largest", + "class": "textLargest" + } + ] + }, + { + "name": "Weight", + "type": "Dropdown", + "description": "Emphasize the text with a heavier or lighter font weight", + "options": [ + { + "name": "Default", + "class": "textNormal" + }, + { + "name": "Bold", + "class": "textBold" + } + ] + }, + { + "name": "Decoration", + "type": "Dropdown", + "description": "Decorate the text with an underline or a line through", + "options": [ + { + "name": "Underline", + "class": "textUnderline" + }, + { + "name": "Line Through", + "class": "textLineThrough" + } + ] + }, + { + "name": "Alignment", + "type": "Dropdown", + "description": "Align the text.", + "options": [ + { + "name": "Left", + "class": "textLeft" + }, + { + "name": "Center", + "class": "textCenter" + }, + { + "name": "Right", + "class": "textRight" + } + ] + } + ], + "LayoutGrid": [ + { + "name": "Spacing top", + "type": "Dropdown", + "description": "The spacing above this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerTopSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerTopMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerTopLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterTopSmaller", + "oldNames": ["Small"] + }, + { + "name": "Outer medium", + "class": "spacingOuterTopMedium", + "oldNames": ["Medium"] + }, + { + "name": "Outer large", + "class": "spacingOuterTopLarger", + "oldNames": ["Large"] + } + ] + }, + { + "name": "Spacing bottom", + "type": "Dropdown", + "description": "The spacing below this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerBottomSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerBottomMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerBottomLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterBottomSmaller", + "oldNames": ["Small"] + }, + { + "name": "Outer medium", + "class": "spacingOuterBottomMedium", + "oldNames": ["Medium"] + }, + { + "name": "Outer large", + "class": "spacingOuterBottomLarger", + "oldNames": ["Large"] + } + ] + }, + { + "name": "Spacing left", + "type": "Dropdown", + "description": "The spacing to the left of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerLeftSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerLeftMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerLeftLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterLeftSmaller", + "oldNames": ["Small"] + }, + { + "name": "Outer medium", + "class": "spacingOuterLeftMedium", + "oldNames": ["Medium"] + }, + { + "name": "Outer large", + "class": "spacingOuterLeftLarger", + "oldNames": ["Large"] + } + ] + }, + { + "name": "Spacing right", + "type": "Dropdown", + "description": "The spacing to the right of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerRightSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerRightMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerRightLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterRightSmaller", + "oldNames": ["Small"] + }, + { + "name": "Outer medium", + "class": "spacingOuterRightMedium", + "oldNames": ["Medium"] + }, + { + "name": "Outer large", + "class": "spacingOuterRightLarger", + "oldNames": ["Large"] + } + ] + }, + { + "name": "Background color", + "type": "Dropdown", + "description": "Change the background color of the container.", + "options": [ + { + "name": "Background Primary", + "oldNames": ["Primary"], + "class": "backgroundPrimary" + }, + { + "name": "Background Secondary", + "oldNames": ["Gray", "Secondary"], + "class": "backgroundSecondary" + }, + { + "name": "Brand Primary", + "class": "backgroundBrandPrimary" + }, + { + "name": "Brand Success", + "class": "backgroundBrandSuccess" + }, + { + "name": "Brand Warning", + "class": "backgroundBrandWarning" + }, + { + "name": "Brand Danger", + "class": "backgroundBrandDanger" + }, + { + "name": "Brand Info", + "class": "backgroundBrandInfo" + } + ] + } + ], + "LayoutGridRow": [ + { + "name": "Spacing top", + "type": "Dropdown", + "description": "The spacing above this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerTopSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerTopMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerTopLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterTopSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterTopMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterTopLarger" + } + ] + }, + { + "name": "Spacing bottom", + "type": "Dropdown", + "description": "The spacing below this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerBottomSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerBottomMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerBottomLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterBottomSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterBottomMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterBottomLarger" + } + ] + }, + { + "name": "Spacing left", + "type": "Dropdown", + "description": "The spacing to the left of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerLeftSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerLeftMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerLeftLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterLeftSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterLeftMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterLeftLarger" + } + ] + }, + { + "name": "Spacing right", + "type": "Dropdown", + "description": "The spacing to the right of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerRightSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerRightMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerRightLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterRightSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterRightMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterRightLarger" + } + ] + }, + { + "name": "Background color", + "type": "Dropdown", + "description": "Change the background color of the container.", + "options": [ + { + "name": "Background Primary", + "oldNames": ["Primary"], + "class": "backgroundPrimary" + }, + { + "name": "Background Secondary", + "oldNames": ["Gray", "Secondary"], + "class": "backgroundSecondary" + }, + { + "name": "Brand Primary", + "class": "backgroundBrandPrimary" + }, + { + "name": "Brand Success", + "class": "backgroundBrandSuccess" + }, + { + "name": "Brand Warning", + "class": "backgroundBrandWarning" + }, + { + "name": "Brand Danger", + "class": "backgroundBrandDanger" + }, + { + "name": "Brand Info", + "class": "backgroundBrandInfo" + } + ] + } + ], + "LayoutGridColumn": [ + { + "name": "Background color", + "type": "Dropdown", + "description": "Change the background color of the container.", + "options": [ + { + "name": "Background Primary", + "oldNames": ["Primary"], + "class": "backgroundPrimary" + }, + { + "name": "Background Secondary", + "oldNames": ["Gray", "Secondary"], + "class": "backgroundSecondary" + }, + { + "name": "Brand Primary", + "class": "backgroundBrandPrimary" + }, + { + "name": "Brand Success", + "class": "backgroundBrandSuccess" + }, + { + "name": "Brand Warning", + "class": "backgroundBrandWarning" + }, + { + "name": "Brand Danger", + "class": "backgroundBrandDanger" + }, + { + "name": "Brand Info", + "class": "backgroundBrandInfo" + } + ] + } + ], + "ListView": [ + { + "name": "List item divider", + "type": "Dropdown", + "description": "Give each list item a border.", + "options": [ + { + "name": "Vertical", + "class": "listItemBorderBottom" + }, + { + "name": "Horizontal", + "class": "listItemBorderRight" + } + ] + }, + { + "name": "Background color", + "type": "Dropdown", + "description": "Change the background color of the container.", + "options": [ + { + "name": "Background Primary", + "oldNames": ["Primary"], + "class": "backgroundPrimary" + }, + { + "name": "Background Secondary", + "oldNames": ["Gray", "Secondary"], + "class": "backgroundSecondary" + }, + { + "name": "Brand Primary", + "class": "backgroundBrandPrimary" + }, + { + "name": "Brand Success", + "class": "backgroundBrandSuccess" + }, + { + "name": "Brand Warning", + "class": "backgroundBrandWarning" + }, + { + "name": "Brand Danger", + "class": "backgroundBrandDanger" + }, + { + "name": "Brand Info", + "class": "backgroundBrandInfo" + } + ] + } + ], + "TabContainer": [ + { + "name": "Tab bar scroll", + "type": "Toggle", + "description": "Enable horizontal scroll for the tab bar.", + "class": "tabContainerScroll" + } + ], + "TextBox": [ + { + "name": "Capitalize", + "type": "Dropdown", + "description": "Change the capitalization of the input.", + "options": [ + { + "name": "None", + "class": "textInputCapitalizeNone" + }, + { + "name": "Characters", + "class": "textInputCapitalizeCharacters" + }, + { + "name": "Words", + "class": "textInputCapitalizeWords" + }, + { + "name": "Sentences", + "class": "textInputCapitalizeSentences" + } + ] + } + ], + "TextArea": [ + { + "name": "Capitalize", + "type": "Dropdown", + "description": "Change the capitalization of the input.", + "options": [ + { + "name": "None", + "class": "textInputCapitalizeNone" + }, + { + "name": "Characters", + "class": "textInputCapitalizeCharacters" + }, + { + "name": "Words", + "class": "textInputCapitalizeWords" + }, + { + "name": "Sentences", + "class": "textInputCapitalizeSentences" + } + ] + } + ], + "com.mendix.widget.native.activityindicator.ActivityIndicator": [ + { + "name": "Activity indicator style", + "type": "Dropdown", + "description": "Style of the Activity indicator.", + "options": [ + { + "name": "Success", + "class": "activityIndicatorSuccess" + }, + { + "name": "Warning", + "class": "activityIndicatorWarning" + }, + { + "name": "Danger", + "class": "activityIndicatorDanger" + } + ] + } + ], + "com.mendix.widget.native.animation.Animation": [ + { + "name": "Spacing top", + "type": "Dropdown", + "description": "The spacing above this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerTopSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerTopMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerTopLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterTopSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterTopMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterTopLarger" + } + ] + }, + { + "name": "Spacing bottom", + "type": "Dropdown", + "description": "The spacing below this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerBottomSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerBottomMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerBottomLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterBottomSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterBottomMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterBottomLarger" + } + ] + }, + { + "name": "Spacing left", + "type": "Dropdown", + "description": "The spacing to the left of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerLeftSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerLeftMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerLeftLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterLeftSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterLeftMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterLeftLarger" + } + ] + }, + { + "name": "Spacing right", + "type": "Dropdown", + "description": "The spacing to the right of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerRightSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerRightMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerRightLarger" + }, + { + "name": "Outer small", + "class": "spacingOuterRightSmaller" + }, + { + "name": "Outer medium", + "class": "spacingOuterRightMedium" + }, + { + "name": "Outer large", + "class": "spacingOuterRightLarger" + } + ] + }, + { + "name": "Size", + "type": "Dropdown", + "description": "Change the size of the widget relative to its sibling(s).", + "options": [ + { + "name": "Maximum space", + "class": "flexMain" + }, + { + "name": "Minimum space", + "class": "flexItem" + } + ] + }, + { + "name": "Background color", + "type": "Dropdown", + "description": "Change the background color of the container.", + "options": [ + { + "name": "Background Primary", + "oldNames": ["Primary"], + "class": "backgroundPrimary" + }, + { + "name": "Background Secondary", + "oldNames": ["Gray", "Secondary"], + "class": "backgroundSecondary" + }, + { + "name": "Brand Primary", + "class": "backgroundBrandPrimary" + }, + { + "name": "Brand Success", + "class": "backgroundBrandSuccess" + }, + { + "name": "Brand Warning", + "class": "backgroundBrandWarning" + }, + { + "name": "Brand Danger", + "class": "backgroundBrandDanger" + }, + { + "name": "Brand Info", + "class": "backgroundBrandInfo" + } + ] + }, + { + "name": "Align", + "type": "Dropdown", + "description": "Aligns the element. This overrides 'Align children' of the parent.", + "options": [ + { + "name": "Stretch", + "class": "alignSelfStretch" + }, + { + "name": "Start", + "class": "alignSelfStart" + }, + { + "name": "Center", + "class": "alignSelfCenter" + }, + { + "name": "End", + "class": "alignSelfEnd" + } + ] + }, + { + "name": "Render children horizontal", + "type": "Toggle", + "description": "Determines the direction in which children are rendered.", + "class": "flexRow" + }, + { + "name": "Wrap children", + "type": "Toggle", + "description": "Determines if children can flow into multiple lines if they hit the end of the container.", + "class": "flexWrap" + }, + { + "name": "Align children", + "type": "Dropdown", + "description": "Align children in the opposite direction.", + "options": [ + { + "name": "Start", + "class": "alignChildrenStart" + }, + { + "name": "Center", + "class": "alignChildrenCenter" + }, + { + "name": "End", + "class": "alignChildrenEnd" + }, + { + "name": "Stretch", + "class": "alignChildrenStretch" + } + ] + }, + { + "name": "Justify children", + "type": "Dropdown", + "description": "Justify children in the active direction.", + "options": [ + { + "name": "Center", + "class": "justifyChildrenCenter" + }, + { + "name": "End", + "class": "justifyChildrenEnd" + }, + { + "name": "Space between", + "class": "justifyChildrenSpaceBetween" + }, + { + "name": "Space around", + "class": "justifyChildrenSpaceAround" + } + ] + } + ], + "com.mendix.widget.native.badge.Badge": [ + { + "name": "Badge style", + "type": "Dropdown", + "description": "Style of the Badge.", + "options": [ + { + "name": "Primary", + "class": "badgePrimary" + }, + { + "name": "Success", + "class": "badgeSuccess" + }, + { + "name": "Warning", + "class": "badgeWarning" + }, + { + "name": "Danger", + "class": "badgeDanger" + } + ] + } + ], + "com.mendix.widget.native.floatingactionbutton.FloatingActionButton": [ + { + "name": "Style", + "type": "Dropdown", + "description": "Style of the Floating Action Button.", + "options": [ + { + "name": "Secondary", + "class": "floatingActionButtonSecondary" + }, + { + "name": "Success", + "class": "floatingActionButtonSuccess" + }, + { + "name": "Warning", + "class": "floatingActionButtonWarning" + }, + { + "name": "Danger", + "class": "floatingActionButtonDanger" + } + ] + } + ], + "com.mendix.widget.native.linechart.LineChart": [ + { + "name": "Chart size", + "type": "Dropdown", + "description": "Size of the chart.", + "options": [ + { + "name": "Square", + "class": "lineChartSquare" + }, + { + "name": "Maximum space", + "class": "lineChartMaxSpace" + } + ] + } + ], + "com.mendix.widget.native.listviewswipe.ListViewSwipe": [ + { + "name": "Panel size", + "type": "Dropdown", + "description": "Size of the left and right panel.", + "options": [ + { + "name": "Small", + "class": "listViewSwipeSmallPanels" + }, + { + "name": "Large", + "class": "listViewSwipeLargePanels" + } + ] + } + ], + "com.mendix.widget.native.maps.Maps": [ + { + "name": "Maps size", + "type": "Dropdown", + "description": "Size of the maps.", + "options": [ + { + "name": "Square", + "class": "mapsSquare" + }, + { + "name": "Maximum space", + "class": "mapsMaxSpace" + } + ] + }, + { + "name": "Maps marker style", + "type": "Dropdown", + "description": "Style of the marker.", + "options": [ + { + "name": "Success", + "class": "mapsSuccess" + }, + { + "name": "Warning", + "class": "mapsWarning" + }, + { + "name": "Danger", + "class": "mapsDanger" + } + ] + } + ], + "com.mendix.widget.native.barchart.BarChart": [ + { + "name": "Chart size", + "type": "Dropdown", + "description": "Size of the chart.", + "options": [ + { + "name": "Square", + "class": "barChartSquare" + }, + { + "name": "Maximum space", + "class": "barChartMaxSpace" + } + ] + } + ], + "com.mendix.widget.native.progressbar.ProgressBar": [ + { + "name": "Progress bar style", + "type": "Dropdown", + "description": "Style of the progress bar.", + "options": [ + { + "name": "Success", + "class": "progressBarSuccess" + }, + { + "name": "Warning", + "class": "progressBarWarning" + }, + { + "name": "Danger", + "class": "progressBarDanger" + } + ] + }, + { + "name": "Progress bar size", + "type": "Dropdown", + "description": "Size of the progress bar.", + "options": [ + { + "name": "Small", + "class": "progressBarSmall" + }, + { + "name": "Large", + "class": "progressBarLarge" + } + ] + } + ], + "com.mendix.widget.native.progresscircle.ProgressCircle": [ + { + "name": "Progress circle style", + "type": "Dropdown", + "description": "Style of the progress circle.", + "options": [ + { + "name": "Success", + "class": "progressCircleSuccess" + }, + { + "name": "Warning", + "class": "progressCircleWarning" + }, + { + "name": "Danger", + "class": "progressCircleDanger" + } + ] + } + ], + "com.mendix.widget.native.rangeslider.RangeSlider": [ + { + "name": "Range Slider style", + "type": "Dropdown", + "description": "Style of the range slider.", + "options": [ + { + "name": "Success", + "class": "rangeSliderSuccess" + }, + { + "name": "Warning", + "class": "rangeSliderWarning" + }, + { + "name": "Danger", + "class": "rangeSliderDanger" + } + ] + } + ], + "com.mendix.widget.native.safeareaview.SafeAreaView": [ + { + "name": "Spacing top", + "type": "Dropdown", + "description": "The spacing above this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerTopSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerTopMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerTopLarger" + } + ] + }, + { + "name": "Spacing bottom", + "type": "Dropdown", + "description": "The spacing below this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerBottomSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerBottomMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerBottomLarger" + } + ] + }, + { + "name": "Spacing left", + "type": "Dropdown", + "description": "The spacing to the left of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerLeftSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerLeftMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerLeftLarger" + } + ] + }, + { + "name": "Spacing right", + "type": "Dropdown", + "description": "The spacing to the right of this element.", + "options": [ + { + "name": "Inner small", + "class": "spacingInnerRightSmaller" + }, + { + "name": "Inner medium", + "class": "spacingInnerRightMedium" + }, + { + "name": "Inner large", + "class": "spacingInnerRightLarger" + } + ] + }, + { + "name": "Background color", + "type": "Dropdown", + "description": "Change the background color of the container.", + "options": [ + { + "name": "Background Primary", + "oldNames": ["Primary"], + "class": "backgroundPrimary" + }, + { + "name": "Background Secondary", + "oldNames": ["Gray", "Secondary"], + "class": "backgroundSecondary" + }, + { + "name": "Brand Primary", + "class": "backgroundBrandPrimary" + }, + { + "name": "Brand Success", + "class": "backgroundBrandSuccess" + }, + { + "name": "Brand Warning", + "class": "backgroundBrandWarning" + }, + { + "name": "Brand Danger", + "class": "backgroundBrandDanger" + }, + { + "name": "Brand Info", + "class": "backgroundBrandInfo" + } + ] + }, + { + "name": "Render children horizontal", + "type": "Toggle", + "description": "Determines the direction in which children are rendered.", + "class": "flexRow" + }, + { + "name": "Wrap children", + "type": "Toggle", + "description": "Determines if children can flow into multiple lines if they hit the end of the container.", + "class": "flexWrap" + }, + { + "name": "Align children", + "type": "Dropdown", + "description": "Align children in the opposite direction.", + "options": [ + { + "name": "Start", + "class": "alignChildrenStart" + }, + { + "name": "Center", + "class": "alignChildrenCenter" + }, + { + "name": "End", + "class": "alignChildrenEnd" + }, + { + "name": "Stretch", + "class": "alignChildrenStretch" + }, + { + "name": "Baseline", + "class": "alignChildrenBaseline" + } + ] + }, + { + "name": "Justify content", + "type": "Dropdown", + "description": "Justify content in the active direction.", + "options": [ + { + "name": "Start", + "class": "justifyContentStart" + }, + { + "name": "Center", + "class": "justifyContentCenter" + }, + { + "name": "End", + "class": "justifyContentEnd" + }, + { + "name": "Space between", + "class": "justifyContentSpaceBetween" + }, + { + "name": "Space around", + "class": "justifyContentSpaceAround" + }, + { + "name": "Space evenly", + "class": "justifyContentSpaceEvenly" + } + ] + } + ], + "com.mendix.widget.native.slider.Slider": [ + { + "name": "Slider style", + "type": "Dropdown", + "description": "Style of the slider.", + "options": [ + { + "name": "Success", + "class": "sliderSuccess" + }, + { + "name": "Warning", + "class": "sliderWarning" + }, + { + "name": "Danger", + "class": "sliderDanger" + } + ] + } + ] +} diff --git a/theme/styles/native/ui_resources/atlas_ui_resources/layouts/layout.js b/themesource/atlas_core/native/layouts/layout.js similarity index 51% rename from theme/styles/native/ui_resources/atlas_ui_resources/layouts/layout.js rename to themesource/atlas_core/native/layouts/layout.js index 9b7bbc7..dc2b6e1 100644 --- a/theme/styles/native/ui_resources/atlas_ui_resources/layouts/layout.js +++ b/themesource/atlas_core/native/layouts/layout.js @@ -1,56 +1,67 @@ -import { NativeModules } from "react-native"; -import { darkMode } from "../../../app/custom-variables.js"; -import { background, font, navigation } from "../../../core/variables"; -/* -========================================================================== - TopBar / BottomBar / ProgressOverlay - - Default Class For Mendix TopBar, BottomBar and ProgressOverlay -========================================================================== -*/ -// backgroundColor of the native iOS statusbar can not be changed. -// To fix this we change the barStyle of the statusbar if OS theme is dark and app theme is light (And the other way around). -const isOSDarkMode = NativeModules && NativeModules.RNDarkMode && NativeModules.RNDarkMode.initialMode && NativeModules.RNDarkMode.initialMode === "dark"; -const statusBarStyle = !darkMode && isOSDarkMode ? - "dark-content" : - darkMode && !isOSDarkMode ? "light-content" : navigation.statusBar.barStyle; -// -export const Layout = { - sidebar: { - // All ViewStyle properties are allowed - }, - statusBar: { - // Only backgroundColor and barStyle are allowed - backgroundColor: navigation.statusBar.backgroundColor, - barStyle: statusBarStyle, - }, - header: { - container: { - // All ViewStyle properties are allowed - backgroundColor: navigation.topBar.backgroundColor, - borderBottomWidth: undefined, - }, - title: { - // All TextStyle properties are allowed - color: navigation.topBar.titleColor, - fontSize: navigation.topBar.titleFontSize, - fontFamily: font.family, - fontWeight: font.weightBold, - }, - backButtonText: { - // All TextStyle properties are allowed - color: navigation.topBar.backButtonColor, - fontFamily: font.family, - }, - backButtonIcon: { - // All ImageStyle properties are allowed - tintColor: navigation.topBar.backButtonColor, - }, - }, - container: { - // All ViewStyle properties are allowed - backgroundColor: background.primary, - }, -}; -// -export const Page = Layout; +import { NativeModules } from "react-native"; +import { darkMode } from "../../../../theme/native/custom-variables"; +import { background, font, navigation } from "../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Sidebar / Statusbar / Header + + Default Class For Mendix Sidebar, Statusbar and Header +========================================================================== */ +// backgroundColor of the native iOS statusbar can not be changed. +// To fix this we change the barStyle of the statusbar if OS theme is dark and app theme is light (And the other way around). +const isOSDarkMode = NativeModules && + NativeModules.RNDarkMode && + NativeModules.RNDarkMode.initialMode && + NativeModules.RNDarkMode.initialMode === "dark"; +const statusBarStyle = !darkMode && isOSDarkMode + ? "dark-content" + : darkMode && !isOSDarkMode + ? "light-content" + : navigation.statusBar.barStyle; +// +export const Layout = { + sidebar: { + // All ViewStyle properties are allowed + }, + statusBar: { + // Only backgroundColor and barStyle are allowed + backgroundColor: navigation.statusBar.backgroundColor, + barStyle: statusBarStyle + }, + header: { + container: { + // All ViewStyle properties are allowed + backgroundColor: navigation.topBar.backgroundColor, + elevation: 0, + shadowOpacity: 0, + shadowOffset: undefined, + borderBottomWidth: undefined + }, + title: { + // All TextStyle properties are allowed + color: navigation.topBar.titleColor, + fontSize: navigation.topBar.titleFontSize, + fontFamily: font.family, + fontWeight: font.weightBold + }, + backButtonText: { + // All TextStyle properties are allowed + color: navigation.topBar.backButtonColor, + fontFamily: font.family + }, + backButtonIcon: { + // All ImageStyle properties are allowed + tintColor: navigation.topBar.backButtonColor + } + }, + container: { + // All ViewStyle properties are allowed + backgroundColor: background.primary + } +}; diff --git a/themesource/atlas_core/native/layouts/page.js b/themesource/atlas_core/native/layouts/page.js new file mode 100644 index 0000000..71c6e92 --- /dev/null +++ b/themesource/atlas_core/native/layouts/page.js @@ -0,0 +1,53 @@ +import { background, font, navigation } from "../variables"; +/* + +DISCLAIMER: +Do not change this file because it is core styling. +Customizing core files will make updating Atlas much more difficult in the future. +To customize any core styling, copy the part you want to customize to styles/native/app/ so the core styling is overwritten. + +========================================================================== + Page + + Default Class For Mendix Page +========================================================================== */ +export const Page = { + sidebar: { + // All ViewStyle properties are allowed + }, + statusBar: { + // Only backgroundColor and barStyle are allowed + backgroundColor: navigation.statusBar.backgroundColor, + barStyle: navigation.statusBar.barStyle + }, + header: { + container: { + // All ViewStyle properties are allowed + backgroundColor: navigation.topBar.backgroundColor, + elevation: 0, + shadowOpacity: 0, + shadowOffset: undefined, + borderBottomWidth: undefined + }, + title: { + // All TextStyle properties are allowed + color: navigation.topBar.titleColor, + fontSize: navigation.topBar.titleFontSize, + fontFamily: font.family, + fontWeight: font.weightBold + }, + backButtonText: { + // All TextStyle properties are allowed + color: navigation.topBar.backButtonColor, + fontFamily: font.family + }, + backButtonIcon: { + // All ImageStyle properties are allowed + tintColor: navigation.topBar.backButtonColor + } + }, + container: { + // All ViewStyle properties are allowed + backgroundColor: background.primary + } +}; diff --git a/themesource/atlas_core/native/main.js b/themesource/atlas_core/native/main.js new file mode 100644 index 0000000..13135d2 --- /dev/null +++ b/themesource/atlas_core/native/main.js @@ -0,0 +1,150 @@ +import * as exclusionVariables from "../../../theme/native/exclusion-variables"; +// ================================== CORE ==================================\\ +// +// +// Base +import * as flex from "./core/base/flex"; +import * as spacing from "./core/base/spacing"; +// +// +// Components +import * as widgetsActivityIndicator from "./core/widgets/activityindicator"; +import * as helpersActivityIndicator from "./core/helpers/activityindicator"; +import * as widgetsAnimation from "./core/widgets/animation"; +import * as widgetsBackgroundImage from "./core/widgets/backgroundimage"; +import * as widgetsBadge from "./core/widgets/badge"; +import * as helpersBadge from "./core/helpers/badge"; +import * as widgetsBottomSheet from "./core/widgets/bottomsheet"; +import * as widgetsButtons from "./core/widgets/buttons"; +import * as helpersButtons from "./core/helpers/buttons"; +import * as widgetsCarousel from "./core/widgets/carousel"; +import * as widgetsCheckBox from "./core/widgets/checkbox"; +import * as widgetsColorPicker from "./core/widgets/colorpicker"; +import * as widgetsContainer from "./core/widgets/container"; +import * as widgetsDatePicker from "./core/widgets/datepicker"; +import * as widgetsDropDown from "./core/widgets/dropdown"; +import * as widgetsFeedback from "./core/widgets/feedback"; +import * as widgetsFloatingActionButton from "./core/widgets/floatingactionbutton"; +import * as helpersFloatingActionButton from "./core/helpers/floatingactionbutton"; +import * as widgetsImage from "./core/widgets/image"; +import * as helpersImage from "./core/helpers/image"; +import * as widgetsIntroScreen from "./core/widgets/introscreen"; +import * as helpersIntroScreen from "./core/helpers/introscreen"; +import * as widgetsLayoutGrid from "./core/widgets/layoutgrid"; +import * as widgetsLineChart from "./core/widgets/linechart"; +import * as helpersLineChart from "./core/helpers/linechart"; +import * as widgetsBarChart from "./core/widgets/barchart"; +import * as helpersBarChart from "./core/helpers/barchart"; +import * as widgetsListView from "./core/widgets/listview"; +import * as helpersListView from "./core/helpers/listview"; +import * as widgetsListViewSwipe from "./core/widgets/listviewswipe"; +import * as helpersListViewSwipe from "./core/helpers/listviewswipe"; +import * as widgetsMaps from "./core/widgets/maps"; +import * as helpersMaps from "./core/helpers/maps"; +import * as widgetsNavigation from "./core/widgets/navigation"; +import * as widgetsPageTitle from "./core/widgets/pagetitle"; +import * as widgetsProgressBar from "./core/widgets/progressbar"; +import * as helpersProgressBar from "./core/helpers/progressbar"; +import * as widgetsProgressCircle from "./core/widgets/progresscircle"; +import * as helpersProgressCircle from "./core/helpers/progresscircle"; +import * as widgetsPopUpMenu from "./core/widgets/popupmenu"; +import * as widgetsQRCode from "./core/widgets/qrcode"; +import * as widgetsRangeSlider from "./core/widgets/rangeslider"; +import * as helpersRangeSlider from "./core/helpers/rangeslider"; +import * as widgetsRating from "./core/widgets/rating"; +import * as widgetsReferenceSelector from "./core/widgets/referenceselector"; +import * as widgetsSafeAreaView from "./core/widgets/safeareaview"; +import * as widgetsSlider from "./core/widgets/slider"; +import * as helpersSlider from "./core/helpers/slider"; +import * as widgetsTabContainer from "./core/widgets/tabcontainer"; +import * as helpersTabContainer from "./core/helpers/tabcontainer"; +import * as widgetsTextArea from "./core/widgets/textarea"; +import * as widgetsTextBox from "./core/widgets/textbox"; +import * as helpersTextBox from "./core/helpers/textbox"; +import * as widgetsToggleButtons from "./core/widgets/togglebuttons"; +import * as widgetsTypography from "./core/widgets/typography"; +import * as helpersTypography from "./core/helpers/typography"; +import * as widgetsVideoPlayer from "./core/widgets/videoplayer"; +import * as widgetsWebView from "./core/widgets/webview"; +import * as helperClasses from "./core/helpers/helperclasses"; +// +// +// ================================= CUSTOM =================================\\ +// +// +// Layouts +import * as layout from "./layouts/layout"; +import * as page from "./layouts/page"; +module.exports = [ + flex, + spacing, + !exclusionVariables.excludeActivityIndicator ? widgetsActivityIndicator : {}, + !exclusionVariables.excludeActivityIndicator && !exclusionVariables.excludeActivityIndicatorHelpers + ? helpersActivityIndicator + : {}, + !exclusionVariables.excludeAnimation ? widgetsAnimation : {}, + !exclusionVariables.excludeBackgroundImage ? widgetsBackgroundImage : {}, + !exclusionVariables.excludeBadge ? widgetsBadge : {}, + !exclusionVariables.excludeBadge && !exclusionVariables.excludeBadgeHelpers ? helpersBadge : {}, + !exclusionVariables.excludeBottomSheet ? widgetsBottomSheet : {}, + !exclusionVariables.excludeButtons ? widgetsButtons : {}, + !exclusionVariables.excludeButtons && !exclusionVariables.excludeButtonsHelpers ? helpersButtons : {}, + !exclusionVariables.excludeCarousel ? widgetsCarousel : {}, + !exclusionVariables.excludeCheckBox ? widgetsCheckBox : {}, + !exclusionVariables.excludeColorPicker ? widgetsColorPicker : {}, + !exclusionVariables.excludeContainer ? widgetsContainer : {}, + !exclusionVariables.excludeDatePicker ? widgetsDatePicker : {}, + !exclusionVariables.excludeDropDown ? widgetsDropDown : {}, + !exclusionVariables.excludeFeedback ? widgetsFeedback : {}, + !exclusionVariables.excludeFAB ? widgetsFloatingActionButton : {}, + !exclusionVariables.excludeFAB && !exclusionVariables.excludeFABHelpers ? helpersFloatingActionButton : {}, + !exclusionVariables.excludeImage ? widgetsImage : {}, + !exclusionVariables.excludeImage && !exclusionVariables.excludeImageHelpers ? helpersImage : {}, + !exclusionVariables.excludeIntroScreen ? widgetsIntroScreen : {}, + !exclusionVariables.excludeIntroScreen && !exclusionVariables.excludeIntroScreenHelpers ? helpersIntroScreen : {}, + !exclusionVariables.excludeLayoutGrid ? widgetsLayoutGrid : {}, + !exclusionVariables.excludeLineChart ? widgetsLineChart : {}, + !exclusionVariables.excludeLineChart && !exclusionVariables.excludeLineChartHelpers ? helpersLineChart : {}, + !exclusionVariables.excludeBarChart ? widgetsBarChart : {}, + !exclusionVariables.excludeBarChart && !exclusionVariables.excludeBarChartHelpers ? helpersBarChart : {}, + !exclusionVariables.excludeListView ? widgetsListView : {}, + !exclusionVariables.excludeListView && !exclusionVariables.excludeListViewHelpers ? helpersListView : {}, + !exclusionVariables.excludeListViewSwipe ? widgetsListViewSwipe : {}, + !exclusionVariables.excludeListViewSwipe && !exclusionVariables.excludeListViewSwipeHelpers + ? helpersListViewSwipe + : {}, + !exclusionVariables.excludeMaps ? widgetsMaps : {}, + !exclusionVariables.excludeMaps && !exclusionVariables.excludeMapsHelpers ? helpersMaps : {}, + widgetsNavigation, + !exclusionVariables.excludePageTitle ? widgetsPageTitle : {}, + !exclusionVariables.excludeProgressBar ? widgetsProgressBar : {}, + !exclusionVariables.excludeProgressBar && !exclusionVariables.excludeProgressBarHelpers ? helpersProgressBar : {}, + !exclusionVariables.excludeProgressCircle ? widgetsProgressCircle : {}, + !exclusionVariables.excludeProgressCircle && !exclusionVariables.excludeProgressCircleHelpers + ? helpersProgressCircle + : {}, + !exclusionVariables.excludePopUpMenu ? widgetsPopUpMenu : {}, + !exclusionVariables.excludeQRCode ? widgetsQRCode : {}, + !exclusionVariables.excludeRangeSlider ? widgetsRangeSlider : {}, + !exclusionVariables.excludeRangeSlider && !exclusionVariables.excludeRangeSliderHelpers ? helpersRangeSlider : {}, + !exclusionVariables.excludeRating ? widgetsRating : {}, + !exclusionVariables.excludeReferenceSelector ? widgetsReferenceSelector : {}, + !exclusionVariables.excludeSafeAreaView ? widgetsSafeAreaView : {}, + !exclusionVariables.excludeSlider ? widgetsSlider : {}, + !exclusionVariables.excludeSlider && !exclusionVariables.excludeSliderHelpers ? helpersSlider : {}, + !exclusionVariables.excludeTabContainer ? widgetsTabContainer : {}, + !exclusionVariables.excludeTabContainer && !exclusionVariables.excludeTabContainerHelpers + ? helpersTabContainer + : {}, + !exclusionVariables.excludeTextArea ? widgetsTextArea : {}, + !exclusionVariables.excludeTextBox ? widgetsTextBox : {}, + !exclusionVariables.excludeTextBox && !exclusionVariables.excludeTextBoxHelpers ? helpersTextBox : {}, + !exclusionVariables.excludeToggleButtons ? widgetsToggleButtons : {}, + !exclusionVariables.excludeTypography ? widgetsTypography : {}, + !exclusionVariables.excludeTypography && !exclusionVariables.excludeTypographyHelpers ? helpersTypography : {}, + !exclusionVariables.excludeVideoPlayer ? widgetsVideoPlayer : {}, + !exclusionVariables.excludeWebView ? widgetsWebView : {}, + !exclusionVariables.excludeHelpers ? helperClasses : {}, + layout, + page +].reduce((merged, object) => ({ ...merged, ...object }), {}); diff --git a/themesource/atlas_core/native/variables.js b/themesource/atlas_core/native/variables.js new file mode 100644 index 0000000..a4d2387 --- /dev/null +++ b/themesource/atlas_core/native/variables.js @@ -0,0 +1,583 @@ +import { Platform } from "react-native"; +import * as custom from "../../../theme/native/custom-variables"; +import adjustFont, { height, width } from "./core/helpers/_functions/adjustfont"; +import { anyColorToRgbString, setContrastScale } from "./core/helpers/_functions/convertcolors"; +import merge from "./core/helpers/_functions/mergeobjects"; +// +// +// == Global variables +// ## Variables to be used during styling +// -------------------------------------------------------------------------------------------------------------------// +// System defined read-only values +export const deviceHeight = height; +export const deviceWidth = width; +// +// Brand Style +let brand = { + primary: "#264AE5", + success: "#3CB33D", + warning: "#ECA51C", + danger: "#E33F4E", + info: "#0086D9", + primaryLight: "#F3F5FF", + successLight: "#F1FCF1", + warningLight: "#FFF9E6", + dangerLight: "#FFEEF0", + infoLight: "#ECF9FF" +}; +brand = merge(brand, custom.brand || {}); +// +// Background colors +const backgroundDefaults = { + primaryLight: "#FFF", + primaryDark: "#0A1325", + secondaryLight: "#F8F8F8", + secondaryDark: "#161F30" +}; +let background = { + primary: custom.darkMode ? backgroundDefaults.primaryDark : backgroundDefaults.primaryLight, + secondary: custom.darkMode ? backgroundDefaults.secondaryDark : backgroundDefaults.secondaryLight, + brandPrimary: brand.primary, + brandSuccess: brand.success, + brandWarning: brand.warning, + brandDanger: brand.danger, + brandInfo: brand.info +}; +background = merge(background, custom.background || {}); +// +// Contrast (Gray) colors based on background.primary +let contrast = { + highest: setContrastScale(0.95, background.primary), + higher: setContrastScale(0.8, background.primary), + high: setContrastScale(0.65, background.primary), + regular: setContrastScale(0.5, background.primary), + low: setContrastScale(0.35, background.primary), + lower: setContrastScale(0.2, background.primary), + lowest: setContrastScale(0.05, background.primary) +}; +contrast = merge(contrast, custom.contrast || {}); +// +// Border Style +let border = { + color: custom.darkMode ? "#3B4251" : "#CED0D3", + width: 1, + radiusSmall: 4, + radiusLarge: 8, + radiusLargest: 9999 +}; +border = merge(border, custom.border || {}); +// +// Font Styles +const fontDefaults = { + colorTitleDark: "#0A1326", + colorTitleLight: "#FDFDFD", + colorParagraphDark: "#6C717E", + colorParagraphLight: "#E7E7E9", + colorDisabledDark: "#9DA1A8", + colorDisabledLight: "#9DA1A8" +}; +let font = { + size: adjustFont(14), + sizeSmallest: adjustFont(10), + sizeSmall: adjustFont(12), + sizeLarge: adjustFont(16), + sizeLargest: adjustFont(18), + sizeH1: adjustFont(40), + sizeH2: adjustFont(34), + sizeH3: adjustFont(28), + sizeH4: adjustFont(24), + sizeH5: adjustFont(20), + sizeH6: adjustFont(16), + lineHeight: adjustFont(14) * 1.5, + lineHeightSmallest: adjustFont(10) * 1.5, + lineHeightSmall: adjustFont(12) * 1.5, + lineHeightLarge: adjustFont(16) * 1.5, + lineHeightLargest: adjustFont(18) * 1.5, + lineHeightH1: adjustFont(40) * 1.5, + lineHeightH2: adjustFont(34) * 1.5, + lineHeightH3: adjustFont(28) * 1.5, + lineHeightH4: adjustFont(24) * 1.5, + lineHeightH5: adjustFont(20) * 1.5, + lineHeightH6: adjustFont(16) * 1.5, + colorTitle: custom.darkMode ? fontDefaults.colorTitleLight : fontDefaults.colorTitleDark, + colorParagraph: custom.darkMode ? fontDefaults.colorParagraphLight : fontDefaults.colorParagraphDark, + colorDisabled: custom.darkMode ? fontDefaults.colorDisabledLight : fontDefaults.colorDisabledDark, + weightLight: "100", + weightNormal: "normal", + weightSemiBold: "600", + weightBold: "bold", + family: Platform.select({ ios: "System", android: "normal" }) +}; +font = merge(font, custom.font || {}); +// +// Spacing +let spacing = { + smallest: 2, + smaller: 4, + small: 8, + regular: 16, + large: 24, + larger: 32, + largest: 40 +}; +spacing = merge(spacing, custom.spacing || {}); +// +// Button Styles +let button = { + // Start default styles + container: { + rippleColor: contrast.lowest, + borderRadius: border.radiusLarge, + minWidth: 48, + minHeight: 48, + paddingVertical: spacing.small, + paddingHorizontal: spacing.small + }, + containerDisabled: { + borderColor: border.color, + backgroundColor: border.color + }, + icon: { + size: font.sizeSmall + }, + iconDisabled: { + color: font.colorDisabled + }, + caption: { + fontSize: font.sizeSmall, + fontWeight: font.weightBold + }, + captionDisabled: { + color: font.colorDisabled + }, + // End default styles + header: { + color: contrast.highest, + borderColor: "transparent", + backgroundColor: "transparent", + fontSize: font.sizeSmall, + fontSizeIcon: font.sizeSmall, + paddingLeft: 0, + paddingRight: 10 + }, + primary: { + color: "#FFF", + borderColor: brand.primary, + backgroundColor: brand.primary + }, + secondary: { + color: brand.primary, + borderColor: brand.primary, + backgroundColor: "transparent", + inversedColor: "#FFF" + }, + success: { + color: "#FFF", + borderColor: brand.success, + backgroundColor: brand.success + }, + warning: { + color: "#FFF", + borderColor: brand.warning, + backgroundColor: brand.warning + }, + danger: { + color: "#FFF", + borderColor: brand.danger, + backgroundColor: brand.danger + } +}; +button = merge(button, custom.button || {}); +// +// Input Styles +let input = { + label: { + numberOfLines: 1, + color: font.colorTitle, + fontSize: font.sizeSmall, + textAlign: "left" + }, + labelDisabled: { + color: font.colorTitle + }, + input: { + color: font.colorTitle, + borderColor: contrast.lower, + backgroundColor: background.primary, + selectionColor: contrast.lower, + placeholderTextColor: contrast.low, + fontSize: font.size, + lineHeight: font.lineHeight, + borderWidth: border.width, + borderRadius: border.radiusLarge, + minWidth: 48, + minHeight: 48, + paddingVertical: spacing.small, + paddingHorizontal: spacing.small + }, + inputContainer: { + underlayColor: `rgba(${anyColorToRgbString(contrast.low)},0.4)` + }, + inputDisabled: { + color: font.colorDisabled, + borderColor: border.color, + backgroundColor: background.secondary + }, + inputError: { + color: brand.danger, + borderColor: brand.danger, + placeholderTextColor: brand.danger, + backgroundColor: brand.dangerLight + }, + validationMessage: { + color: brand.danger, + fontSize: font.size + }, + // Only used for the DropDown & ReferenceSelector + valueContainer: { + rippleColor: contrast.lowest + }, + itemContainer: { + maxWidth: 500, + paddingVertical: 12, + paddingHorizontal: spacing.regular, + backgroundColor: background.primary + }, + item: { + color: font.colorTitle, + fontSize: font.size + }, + selectedItemContainer: { + borderWidth: border.width, + borderRadius: border.radiusLarge, + borderColor: brand.primary, + backgroundColor: "transparent" + }, + selectedItem: { + color: font.colorTitle, + fontSize: font.size + } +}; +input = merge(input, custom.input || {}); +// +// Image Styles +let image = { + image: { + small: 24, + medium: 40, + large: 56, + larger: 72 + }, + imageDisabled: { + opacity: 0.6 + }, + icon: 16 +}; +image = merge(image, custom.image || {}); +// +// Navigation Styles +let navigation = { + statusBar: { + backgroundColor: background.primary, + barStyle: custom.darkMode ? "light-content" : "dark-content" + }, + topBar: { + backgroundColor: brand.primary, + backButtonColor: "#FFF", + titleColor: "#FFF", + titleFontSize: font.sizeH6 + }, + bottomBar: { + color: contrast.high, + selectedTextColor: brand.primary, + selectedIconColor: brand.primary, + backgroundColor: background.primary, + fontSize: font.sizeSmall, + iconSize: font.sizeSmall + }, + progressOverlay: { + color: font.colorTitle, + activityIndicatorColor: font.colorTitle, + backgroundColor: "rgba(0, 0, 0, 0.5)", + containerBackgroundColor: background.secondary, + fontSize: font.size, + borderRadius: border.radiusSmall, + elevation: 1.5, + shadowColor: "#000", + shadowOpacity: 0.1, + shadowRadius: 10 // Only for iOS + } +}; +navigation = merge(navigation, custom.navigation || {}); +// +// Container Styles +let container = { + containerDisabled: { + opacity: 0.6 + } +}; +container = merge(container, custom.container || {}); +// +// Badge Styles +let badge = { + fontWeight: font.weightNormal, + borderRadius: border.radiusLarge, + paddingVertical: spacing.smaller, + paddingHorizontal: spacing.small, + default: { + color: contrast.higher, + backgroundColor: contrast.lowest + }, + primary: { + color: brand.primary, + backgroundColor: brand.primaryLight + }, + success: { + color: brand.success, + backgroundColor: brand.successLight + }, + warning: { + color: brand.warning, + backgroundColor: brand.warningLight + }, + danger: { + color: brand.danger, + backgroundColor: brand.dangerLight + } +}; +badge = merge(badge, custom.badge || {}); +// +// Tabcontainer Styles +let tabContainer = { + tabBar: { + pressColor: contrast.lower, + backgroundColor: brand.primary + }, + tab: { + paddingVertical: 12 + }, + indicator: { + backgroundColor: fontDefaults.colorTitleLight, + height: Platform.select({ ios: 2, android: 2 }) + }, + label: { + color: fontDefaults.colorTitleLight, + fontSize: font.size, + fontWeight: font.weightSemiBold, + textTransform: "capitalize" + }, + activeLabel: { + color: fontDefaults.colorTitleLight, + fontSize: font.size, + fontWeight: font.weightSemiBold, + textTransform: "capitalize" + }, + badgeContainer: { + borderRadius: border.radiusLargest, + backgroundColor: badge.default.backgroundColor, + paddingVertical: spacing.smallest, + paddingHorizontal: spacing.small, + marginLeft: 8 + }, + badgeCaption: { + fontSize: font.size, + color: badge.default.color, + fontWeight: badge.fontWeight + } +}; +tabContainer = merge(tabContainer, custom.tabContainer || {}); +// +// Listview Styles +let listView = { + listItemDisabled: { + opacity: 0.6 + }, + border: { + color: border.color, + width: border.width + } +}; +listView = merge(listView, custom.listView || {}); +// +// Layoutgrid Styles +let layoutGrid = { + gutterSize: 16 +}; +layoutGrid = merge(layoutGrid, custom.layoutGrid || {}); +// +// +// Floating Action Button Styles +let floatingActionButton = { + container: { + margin: 30 + }, + button: { + size: 50, + rippleColor: contrast.lowest, + borderColor: brand.primary, + backgroundColor: brand.primary + }, + buttonIcon: { + size: font.sizeLarge, + color: contrast.lowest + }, + secondaryButton: { + size: 30, + backgroundColor: background.secondary + }, + secondaryButtonIcon: { + size: font.sizeSmall, + color: contrast.high + }, + secondaryButtonCaption: { + color: contrast.high, + fontSize: font.sizeSmall + }, + secondaryButtonCaptionContainer: { + backgroundColor: background.primary + } +}; +floatingActionButton = merge(floatingActionButton, custom.floatingActionButton || {}); +// +// Intro Screen Styles +let introScreen = { + fullscreenContainer: { + backgroundColor: background.primary + }, + popupContainer: { + paddingVertical: 150, + paddingHorizontal: 50, + backgroundColor: "rgba(0, 0, 0, 0.5)" + }, + pagination: { + text: { + color: font.colorTitle, + fontSize: font.size + }, + dotStyle: { + size: spacing.small, + backgroundColor: contrast.lower + }, + activeDotStyle: { + size: spacing.small, + backgroundColor: font.colorTitle + } + }, + button: { + icon: { + color: font.colorTitle, + size: button.icon.size + }, + caption: { + color: font.colorTitle, + fontSize: button.caption.fontSize, + fontWeight: font.weightBold, + textTransform: "uppercase", + paddingHorizontal: spacing.smallest + } + }, + buttonPaginationAbove: { + container: { + paddingVertical: spacing.regular, + backgroundColor: button.primary.backgroundColor + } + } +}; +introScreen = merge(introScreen, custom.introScreen || {}); +// +// List View Swipe Styles +let listViewSwipe = { + leftAction: { + panelSize: 160, + panelSizeSmall: 80, + panelSizeLarge: 240, + backgroundColor: background.primary + }, + rightAction: { + panelSize: 160, + panelSizeSmall: 80, + panelSizeLarge: 240, + backgroundColor: background.primary + } +}; +listViewSwipe = merge(listViewSwipe, custom.listViewSwipe || {}); +// +// Progress Bar Styles +let progressBar = { + bar: { + height: 8, + heightSmall: 4, + heightLarge: 12, + backgroundColor: contrast.lowest + }, + fill: { + backgroundColor: brand.primary + } +}; +progressBar = merge(progressBar, custom.progressBar || {}); +// +// Progress Circle Styles +let progressCircle = { + circle: { + size: 64 + }, + fill: { + width: 4, + lineCapRounded: true, + backgroundColor: brand.primary + }, + text: { + color: contrast.regular, + fontSize: font.size, + fontWeight: font.weightSemiBold + } +}; +progressCircle = merge(progressCircle, custom.progressCircle || {}); +// +// Rating Styles +let rating = { + containerDisabled: { + opacity: 0.5 + }, + icon: { + size: 24, + color: contrast.lower, + selectedColor: brand.warning + } +}; +rating = merge(rating, custom.rating || {}); +// +// (Range)Slider Styles +let slider = { + track: { + height: 4, + backgroundColor: contrast.lowest + }, + trackDisabled: { + backgroundColor: contrast.lower, + opacity: 0.4 + }, + highlight: { + backgroundColor: brand.primary + }, + highlightDisabled: { + backgroundColor: brand.primary + }, + marker: { + size: 24, + borderColor: contrast.lowest, + backgroundColor: background.secondary + }, + markerActive: { + size: 32 + }, + markerDisabled: { + size: 24, + borderColor: contrast.lowest, + backgroundColor: background.secondary + } +}; +slider = merge(slider, custom.slider || {}); +// +export * from "../../../theme/native/custom-variables"; +export { brand, backgroundDefaults, background, border, button, contrast, fontDefaults, font, input, image, layoutGrid, listView, navigation, spacing, container, tabContainer, badge, floatingActionButton, introScreen, listViewSwipe, progressBar, progressCircle, slider, rating }; diff --git a/themesource/atlas_core/web/_exclusion-variables.scss b/themesource/atlas_core/web/_exclusion-variables.scss new file mode 100644 index 0000000..3cec8bb --- /dev/null +++ b/themesource/atlas_core/web/_exclusion-variables.scss @@ -0,0 +1,63 @@ +// +// DISCLAIMER: +// Do not change this file, because it is core styling. +// + +//== Widget style exclusion +$exclude-background-helpers: false; +$exclude-badge: false; +$exclude-badge-button: false; +$exclude-badge-button-helpers: false; +$exclude-button: false; +$exclude-button-helpers: false; +$exclude-check-box: false; +$exclude-custom-dijit-widget: false; +$exclude-custom-switch: false; +$exclude-data-grid: false; +$exclude-data-grid-helpers: false; +$exclude-data-view: false; +$exclude-data-picker: false; +$exclude-glyphicon: false; +$exclude-grid: false; +$exclude-group-box: false; +$exclude-group-box-helpers: false; +$exclude-header: false; +$exclude-helper-classes: false; +$exclude-input: false; +$exclude-image-helpers: false; +$exclude-label: false; +$exclude-label-helpers: false; +$exclude-layout-grid: false; +$exclude-list-view: false; +$exclude-list-view-helpers: false; +$exclude-modal: false; +$exclude-navigation-bar: false; +$exclude-navigation-bar-helpers: false; +$exclude-navigation-list: false; +$exclude-navigation-tree: false; +$exclude-navigation-tree-helpers: false; +$exclude-pagination: false; +$exclude-pop-up-menu: false; +$exclude-progress: false; +$exclude-progress-bar: false; +$exclude-progress-bar-helpers: false; +$exclude-progress-circle: false; +$exclude-progress-circle-helpers: false; +$exclude-radio-button: false; +$exclude-range-slider: false; +$exclude-range-slider-helpers: false; +$exclude-rating: false; +$exclude-rating-helpers: false; +$exclude-simple-menu-bar: false; +$exclude-simple-menu-bar-helpers: false; +$exclude-slider: false; +$exclude-slider-helpers: false; +$exclude-table: false; +$exclude-table-helpers: false; +$exclude-tab-container: false; +$exclude-tab-container-helpers: false; +$exclude-template-grid: false; +$exclude-template-grid-helpers: false; +$exclude-timeline: false; +$exclude-typography: false; +$exclude-typography-helpers: false; diff --git a/themesource/atlas_core/web/_variables.scss b/themesource/atlas_core/web/_variables.scss new file mode 100644 index 0000000..f4c66ad --- /dev/null +++ b/themesource/atlas_core/web/_variables.scss @@ -0,0 +1,713 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// +// +// ██████╗ █████╗ ███████╗██╗ ██████╗ +// ██╔══██╗██╔══██╗██╔════╝██║██╔════╝ +// ██████╔╝███████║███████╗██║██║ +// ██╔══██╗██╔══██║╚════██║██║██║ +// ██████╔╝██║ ██║███████║██║╚██████╗ +// ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═════╝ +// + +//== Gray Shades +//## Different gray shades to be used for our variables and components +$gray-darker: #3b4251 !default; +$gray-dark: #606671 !default; +$gray: #787d87 !default; +$gray-light: #6c7180 !default; +$gray-primary: #ced0d3 !default; +$gray-lighter: #f8f8f8 !default; + +//== Step 1: Brand Colors +$brand-default: $gray-primary !default; +$brand-primary: #264ae5 !default; +$brand-success: #3cb33d !default; +$brand-warning: #eca51c !default; +$brand-danger: #e33f4e !default; + +$brand-logo: false !default; +$brand-logo-height: 26px !default; +$brand-logo-width: 26px !default; // Only used for CSS brand logo + +//== Step 2: UI Customization + +// Default Font Size & Color +$font-size-default: 14px !default; +$font-color-default: #6c717e !default; + +// Global Border Color +$border-color-default: #ced0d3 !default; +$border-radius-default: 5px !default; + +// Topbar +$topbar-bg: #fff !default; +$topbar-minimalheight: 60px !default; +$topbar-border-color: $border-color-default !default; + +// Topbar mobile +$m-header-height: 45px !default; +$m-header-bg: $brand-primary !default; +$m-header-color: #fff !default; +$m-header-title-size: 16px !default; + +// Navbar Brand Name / For your company, product, or project name (used in layouts/base/) +$navbar-brand-name: $font-color-default !default; + +// Background Colors +// Backgrounds +$bg-color: #f8f8f8 !default; +$bg-color-secondary: #fff !default; + +// Default Link Color +$link-color: $brand-primary !default; +$link-hover-color: darken($link-color, 15%) !default; + +// +// █████╗ ██████╗ ██╗ ██╗ █████╗ ███╗ ██╗ ██████╗███████╗██████╗ +// ██╔══██╗██╔══██╗██║ ██║██╔══██╗████╗ ██║██╔════╝██╔════╝██╔══██╗ +// ███████║██║ ██║██║ ██║███████║██╔██╗ ██║██║ █████╗ ██║ ██║ +// ██╔══██║██║ ██║╚██╗ ██╔╝██╔══██║██║╚██╗██║██║ ██╔══╝ ██║ ██║ +// ██║ ██║██████╔╝ ╚████╔╝ ██║ ██║██║ ╚████║╚██████╗███████╗██████╔╝ +// ╚═╝ ╚═╝╚═════╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ +// + +//== Typography +//## Change your font family, weight, line-height, headings and more (used in components/typography) + +// Font Family Import (Used for google font plugin in theme creater) +$font-family-import: "https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" !default; + +// Font Family / False = fallback from Bootstrap (Helvetica Neue) +$font-family-base: "SFProDisplay", "Open Sans", sans-serif !default; + +// Font Sizes +$font-size-large: 18px !default; +$font-size-small: 12px !default; + +// Font Weights +$font-weight-light: 100 !default; +$font-weight-normal: normal !default; +$font-weight-semibold: 600 !default; +$font-weight-bold: bold !default; + +// Font Size Headers +$font-size-h1: 31px !default; +$font-size-h2: 26px !default; +$font-size-h3: 24px !default; +$font-size-h4: 18px !default; +$font-size-h5: $font-size-default !default; +$font-size-h6: 12px !default; + +// Font Weight Headers +$font-weight-header: $font-weight-semibold !default; + +// Line Height +$line-height-base: 1.428571429 !default; + +// Spacing +$font-header-margin: 0 0 8px 0 !default; + +// Text Colors +$font-color-detail: #6c717e !default; +$font-color-header: #0a1326 !default; + +//== Navigation +//## Used in components/navigation + +// Default Navigation styling +$navigation-item-height: unset !default; +$navigation-item-padding: 16px !default; + +$navigation-font-size: $font-size-default !default; +$navigation-sub-font-size: $font-size-small !default; +$navigation-glyph-size: 20px !default; // For glyphicons that you can select in the Mendix Modeler + +$navigation-color: #fff !default; +$navigation-color-hover: #fff !default; +$navigation-color-active: #fff !default; + +$navigation-sub-color: #aaa !default; +$navigation-sub-color-hover: $brand-primary !default; +$navigation-sub-color-active: $brand-primary !default; + +// Navigation Sidebar +$navsidebar-font-size: $font-size-default !default; +$navsidebar-sub-font-size: $font-size-small !default; +$navsidebar-glyph-size: 20px !default; // For glyphicons that you can select in the Mendix Modeler + +$navsidebar-color: #fff !default; +$navsidebar-color-hover: #fff !default; +$navsidebar-color-active: #fff !default; + +$navsidebar-sub-color: #aaa !default; +$navsidebar-sub-color-hover: $brand-primary !default; +$navsidebar-sub-color-active: $brand-primary !default; + +// Navigation topbar +$navtopbar-font-size: $font-size-default !default; +$navtopbar-sub-font-size: $font-size-small !default; +$navtopbar-glyph-size: 1.2em !default; // For glyphicons that you can select in the Mendix Modeler + +$navtopbar-bg: $topbar-bg !default; +$navtopbar-bg-hover: darken($navtopbar-bg, 4) !default; +$navtopbar-bg-active: darken($navtopbar-bg, 8) !default; +$navtopbar-color: $font-color-default !default; +$navtopbar-color-hover: $navtopbar-color !default; +$navtopbar-color-active: $navtopbar-color !default; + +$navtopbar-sub-bg: lighten($navtopbar-bg, 4) !default; +$navtopbar-sub-bg-hover: $navtopbar-sub-bg !default; +$navtopbar-sub-bg-active: $navtopbar-sub-bg !default; +$navtopbar-sub-color: #aaa !default; +$navtopbar-sub-color-hover: $brand-primary !default; +$navtopbar-sub-color-active: $brand-primary !default; + +//## Used in layouts/base +$navtopbar-border-color: $topbar-border-color !default; + +//== Form +//## Used in components/inputs + +// Values that can be used default | lined +$form-input-style: default !default; + +// Form Label +$form-label-size: $font-size-default !default; +$form-label-weight: $font-weight-semibold !default; +$form-label-gutter: 8px !default; + +// Form Input dimensions +$form-input-height: auto !default; +$form-input-padding-y: 8px !default; +$form-input-padding-x: 8px !default; +$form-input-static-padding-y: 8px !default; +$form-input-static-padding-x: 0 !default; +$form-input-font-size: $form-label-size !default; +$form-input-line-height: $line-height-base !default; +$form-input-border-radius: $border-radius-default !default; + +// Form Input styling +$form-input-bg: #fff !default; +$form-input-bg-focus: #fff !default; +$form-input-bg-hover: $gray-primary !default; +$form-input-bg-disabled: $bg-color !default; +$form-input-color: $font-color-default !default; +$form-input-focus-color: $form-input-color !default; +$form-input-disabled-color: #9da1a8 !default; +$form-input-placeholder-color: #6c717c !default; +$form-input-border-color: $gray-primary !default; +$form-input-border-focus-color: $brand-primary !default; + +// Form Input Static styling +$form-input-static-border-color: $gray-primary !default; + +// Form Group +$form-group-margin-bottom: 16px !default; +$form-group-gutter: 16px !default; + +//== Buttons +//## Define background-color, border-color and text. Used in components/buttons + +// Default button style +$btn-font-size: 14px !default; +$btn-bordered: false !default; // Default value false, set to true if you want this effect +$btn-border-radius: $border-radius-default !default; + +// Button Background Color +$btn-default-bg: #fff !default; +$btn-primary-bg: $brand-primary !default; +$btn-success-bg: $brand-success !default; +$btn-warning-bg: $brand-warning !default; +$btn-danger-bg: $brand-danger !default; + +// Button Border Color +$btn-default-border-color: $gray-primary !default; +$btn-primary-border-color: $brand-primary !default; +$btn-success-border-color: $brand-success !default; +$btn-warning-border-color: $brand-warning !default; +$btn-danger-border-color: $brand-danger !default; + +// Button Text Color +$btn-default-color: $brand-primary !default; +$btn-primary-color: #fff !default; +$btn-success-color: #fff !default; +$btn-warning-color: #fff !default; +$btn-danger-color: #fff !default; + +// Button Icon Color +$btn-default-icon-color: $gray !default; + +// Button Background Color +$btn-default-bg-hover: $btn-default-border-color !default; +$btn-primary-bg-hover: mix($btn-primary-bg, black, 80%) !default; +$btn-success-bg-hover: mix($btn-success-bg, black, 80%) !default; +$btn-warning-bg-hover: mix($btn-warning-bg, black, 80%) !default; +$btn-danger-bg-hover: mix($btn-danger-bg, black, 80%) !default; +$btn-link-bg-hover: $gray-lighter !default; + +//== Header blocks +//## Define look and feel over multible building blocks that serve as header + +$header-min-height: 240px !default; +$header-bg-color: $brand-primary !default; +$header-bgimage-filter: brightness(60%) !default; +$header-text-color: #fff !default; +$header-text-color-detail: rgba(0, 0, 0, 0.2) !default; + +// +// ███████╗██╗ ██╗██████╗ ███████╗██████╗ ████████╗ +// ██╔════╝╚██╗██╔╝██╔══██╗██╔════╝██╔══██╗╚══██╔══╝ +// █████╗ ╚███╔╝ ██████╔╝█████╗ ██████╔╝ ██║ +// ██╔══╝ ██╔██╗ ██╔═══╝ ██╔══╝ ██╔══██╗ ██║ +// ███████╗██╔╝ ██╗██║ ███████╗██║ ██║ ██║ +// ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ +// + +//== Color variations +//## These variations are used to support several other variables and components + +// Color variations +$color-default-darker: mix($brand-default, black, 60%) !default; +$color-default-dark: mix($brand-default, black, 70%) !default; +$color-default-light: mix($brand-default, white, 20%) !default; +$color-default-lighter: mix($brand-default, white, 10%) !default; + +$color-primary-darker: mix($brand-primary, black, 60%) !default; +$color-primary-dark: mix($brand-primary, black, 70%) !default; +$color-primary-light: mix($brand-primary, white, 20%) !default; +$color-primary-lighter: mix($brand-primary, white, 10%) !default; + +$color-success-darker: mix($brand-success, black, 60%) !default; +$color-success-dark: mix($brand-success, black, 70%) !default; +$color-success-light: mix($brand-success, white, 20%) !default; +$color-success-lighter: mix($brand-success, white, 10%) !default; + +$color-warning-darker: mix($brand-warning, black, 60%) !default; +$color-warning-dark: mix($brand-warning, black, 70%) !default; +$color-warning-light: mix($brand-warning, white, 20%) !default; +$color-warning-lighter: mix($brand-warning, white, 10%) !default; + +$color-danger-darker: mix($brand-danger, black, 60%) !default; +$color-danger-dark: mix($brand-danger, black, 70%) !default; +$color-danger-light: mix($brand-danger, white, 20%) !default; +$color-danger-lighter: mix($brand-danger, white, 10%) !default; + +$brand-gradient: linear-gradient(to right top, #264ae5, #2239c5, #1b29a6, #111988, #03096c) !default; + +//== Grids +//## Used for Datagrid, Templategrid, Listview & Tables (see components folder) + +// Default Border Colors +$grid-border-color: $border-color-default !default; + +// Spacing +// Default +$grid-padding-top: 16px !default; +$grid-padding-right: 16px !default; +$grid-padding-bottom: 16px !default; +$grid-padding-left: 16px !default; + +// Listview +$listview-padding-top: 16px !default; +$listview-padding-right: 16px !default; +$listview-padding-bottom: 16px !default; +$listview-padding-left: 16px !default; + +// Background Colors +$grid-bg: transparent !default; +$grid-bg-header: transparent !default; // Grid Headers +$grid-bg-hover: mix($grid-border-color, #fff, 20%) !default; +$grid-bg-selected: mix($grid-border-color, #fff, 30%) !default; +$grid-bg-selected-hover: mix($grid-border-color, #fff, 50%) !default; + +// Striped Background Color +$grid-bg-striped: mix($grid-border-color, #fff, 10%) !default; + +// Background Footer Color +$grid-footer-bg: $gray-primary !default; + +// Text Color +$grid-selected-color: $font-color-default !default; + +// Paging Colors +$grid-paging-bg: transparent !default; +$grid-paging-bg-hover: transparent !default; +$grid-paging-border-color: transparent !default; +$grid-paging-border-color-hover: transparent !default; +$grid-paging-color: $gray-light !default; +$grid-paging-color-hover: $brand-primary !default; + +//== Tabs +//## Default variables for Tab Container Widget (used in components/tabcontainer) + +// Text Color +$tabs-color: $font-color-detail !default; +$tabs-color-active: $font-color-default !default; +$tabs-lined-color-active: $font-color-default !default; + +$tabs-lined-border-width: 3px !default; + +// Border Color +$tabs-border-color: $border-color-default !default; +$tabs-lined-border-color: $brand-primary !default; + +// Background Color +$tabs-bg: transparent !default; +$tabs-bg-pills: #e7e7e9 !default; +$tabs-bg-hover: lighten($tabs-border-color, 5) !default; +$tabs-bg-active: $brand-primary !default; + +//== Modals +//## Default Mendix Modal, Blocking Modal and Login Modal (used in components/modals) + +// Background Color +$modal-header-bg: transparent !default; + +// Border Color +$modal-header-border-color: $border-color-default !default; + +// Text Color +$modal-header-color: $font-color-default !default; + +//== Dataview +//## Default variables for Dataview Widget (used in components/dataview) + +// Controls +$dataview-controls-bg: transparent !default; +$dataview-controls-border-color: $border-color-default !default; + +// Empty Message +$dataview-emptymessage-bg: $bg-color !default; +$dataview-emptymessage-color: $font-color-default !default; + +//== Alerts +//## Default Bootstrap alerts, not a widget in the Modeler (used in components/alerts) + +// Background Color +$alert-primary-bg: $color-primary-lighter !default; +$alert-secondary-bg: $color-primary-lighter !default; +$alert-success-bg: $color-success-lighter !default; +$alert-warning-bg: $color-warning-lighter !default; +$alert-danger-bg: $color-danger-lighter !default; + +// Text Color +$alert-primary-color: $color-primary-darker !default; +$alert-secondary-color: $color-primary-darker !default; +$alert-success-color: $color-success-darker !default; +$alert-warning-color: $color-warning-darker !default; +$alert-danger-color: $color-danger-darker !default; + +// Border Color +$alert-primary-border-color: $color-primary-dark !default; +$alert-secondary-border-color: $color-primary-dark !default; +$alert-success-border-color: $color-success-dark !default; +$alert-warning-border-color: $color-warning-dark !default; +$alert-danger-border-color: $color-danger-dark !default; + +//== Wizard + +$wizard-step-height: 48px !default; +$wizard-step-number-size: 64px !default; +$wizard-step-number-font-size: $font-size-h3 !default; + +//Wizard states +$wizard-default: #fff !default; +$wizard-active: $brand-primary !default; +$wizard-visited: $brand-success !default; + +//Wizard step states +$wizard-default-bg: $wizard-default !default; +$wizard-default-color: $wizard-default !default; +$wizard-default-step-color: $font-color-default !default; +$wizard-default-border-color: $border-color-default !default; + +$wizard-active-bg: $wizard-active !default; +$wizard-active-color: $wizard-default !default; +$wizard-active-step-color: $wizard-active !default; +$wizard-active-border-color: $wizard-active !default; + +$wizard-visited-bg: $wizard-visited !default; +$wizard-visited-color: $wizard-default !default; +$wizard-visited-step-color: $wizard-visited !default; +$wizard-visited-border-color: $wizard-visited !default; + +//== Labels +//## Default Bootstrap Labels, not a widget in the Modeler (used in components/labels) + +// Background Color +$label-default-bg: $brand-default !default; +$label-primary-bg: $brand-primary !default; +$label-success-bg: $brand-success !default; +$label-warning-bg: $brand-warning !default; +$label-danger-bg: $brand-danger !default; + +// Border Color +$label-default-border-color: $brand-default !default; +$label-primary-border-color: $brand-primary !default; +$label-success-border-color: $brand-success !default; +$label-warning-border-color: $brand-warning !default; +$label-danger-border-color: $brand-danger !default; + +// Text Color +$label-default-color: $font-color-default !default; +$label-primary-color: #fff !default; +$label-success-color: #fff !default; +$label-warning-color: #fff !default; +$label-danger-color: #fff !default; + +//== Groupbox +//## Default variables for Groupbox Widget (used in components/groupbox) + +// Background Color +$groupbox-default-bg: $gray-primary !default; +$groupbox-primary-bg: $brand-primary !default; +$groupbox-success-bg: $brand-success !default; +$groupbox-warning-bg: $brand-warning !default; +$groupbox-danger-bg: $brand-danger !default; +$groupbox-white-bg: #fff !default; + +// Text Color +$groupbox-default-color: $font-color-default !default; +$groupbox-primary-color: #fff !default; +$groupbox-success-color: #fff !default; +$groupbox-warning-color: #fff !default; +$groupbox-danger-color: #fff !default; +$groupbox-white-color: $font-color-default !default; + +//== Callout (groupbox) Colors +//## Extended variables for Groupbox Widget (used in components/groupbox) + +// Text and Border Color +$callout-default-color: $font-color-default !default; +$callout-primary-color: $brand-primary !default; +$callout-success-color: $brand-success !default; +$callout-warning-color: $brand-warning !default; +$callout-danger-color: $brand-danger !default; + +// Background Color +$callout-default-bg: $color-default-lighter !default; +$callout-primary-bg: $color-primary-lighter !default; +$callout-success-bg: $color-success-lighter !default; +$callout-warning-bg: $color-warning-lighter !default; +$callout-danger-bg: $color-danger-lighter !default; + +//== Timeline +//## Extended variables for Timeline Widget +// Colors +$timeline-icon-color: $brand-primary !default; +$timeline-border-color: $border-color-default !default; +$timeline-event-time-color: $brand-primary !default; + +// Sizes +$timeline-icon-size: 18px !default; +$timeline-image-size: 36px !default; + +//Timeline grouping +$timeline-grouping-size: 120px !default; +$timeline-grouping-border-radius: 30px !default; +$timeline-grouping-border-color: $timeline-border-color !default; + +//== Spacing +//## Advanced layout options (used in base/mixins/default-spacing) + +// Smallest spacing +$spacing-smallest: 2px !default; + +// Smaller spacing +$spacing-smaller: 4px !default; + +// Small spacing +$spacing-small: 8px !default; + +// Medium spacing +$spacing-medium: 16px !default; +$t-spacing-medium: 16px !default; +$m-spacing-medium: 16px !default; + +// Large spacing +$spacing-large: 24px !default; +$t-spacing-large: 24px !default; +$m-spacing-large: 16px !default; + +// Larger spacing +$spacing-larger: 32px !default; + +// Largest spacing +$spacing-largest: 48px !default; + +// Layout spacing +$layout-spacing-top: 24px !default; +$layout-spacing-right: 24px !default; +$layout-spacing-bottom: 24px !default; +$layout-spacing-left: 24px !default; + +$t-layout-spacing-top: 24px !default; +$t-layout-spacing-right: 24px !default; +$t-layout-spacing-bottom: 24px !default; +$t-layout-spacing-left: 24px !default; + +$m-layout-spacing-top: 16px !default; +$m-layout-spacing-right: 16px !default; +$m-layout-spacing-bottom: 16px !default; +$m-layout-spacing-left: 16px !default; + +// Combined layout spacing +$layout-spacing: $layout-spacing-top $layout-spacing-right $layout-spacing-bottom $layout-spacing-left !default; +$m-layout-spacing: $m-layout-spacing-top $m-layout-spacing-right $m-layout-spacing-bottom $m-layout-spacing-left !default; +$t-layout-spacing: $t-layout-spacing-top $t-layout-spacing-right $t-layout-spacing-bottom $t-layout-spacing-left !default; + +// Gutter size +$gutter-size: 8px !default; + +//== Tables +//## Table spacing options (used in components/tables) + +$padding-table-cell-top: 8px !default; +$padding-table-cell-bottom: 8px !default; +$padding-table-cell-left: 8px !default; +$padding-table-cell-right: 8px !default; + +//== Media queries breakpoints +//## Define the breakpoints at which your layout will change, adapting to different screen sizes. + +$screen-xs: 480px !default; +$screen-sm: 576px !default; +$screen-md: 768px !default; +$screen-lg: 992px !default; +$screen-xl: 1200px !default; + +// So media queries don't overlap when required, provide a maximum (used for max-width) +$screen-xs-max: ($screen-sm - 1) !default; +$screen-sm-max: ($screen-md - 1) !default; +$screen-md-max: ($screen-lg - 1) !default; +$screen-lg-max: ($screen-xl - 1) !default; + +//== Settings +//## Enable or disable your desired framework features +// Use of !important +$important-flex: true !default; // ./base/flex.scss +$important-spacing: true !default; // ./base/spacing.scss +$important-helpers: true !default; // ./helpers/helperclasses.scss + +//===== Legacy variables ===== + +//== Step 1: Brand Colors +$brand-inverse: #24276c !default; +$brand-info: #0086d9 !default; + +//== Step 2: UI Customization +// Sidebar +$sidebar-bg: $brand-inverse !default; + +//== Navigation +//## Used in components/navigation + +// Default Navigation styling +$navigation-bg: $brand-inverse !default; +$navigation-bg-hover: lighten($navigation-bg, 4) !default; +$navigation-bg-active: lighten($navigation-bg, 8) !default; + +$navigation-sub-bg: darken($navigation-bg, 4) !default; +$navigation-sub-bg-hover: $navigation-sub-bg !default; +$navigation-sub-bg-active: $navigation-sub-bg !default; + +$navigation-border-color: $navigation-bg-hover !default; + +// Navigation Sidebar +$navsidebar-bg: $sidebar-bg !default; +$navsidebar-bg-hover: darken($navsidebar-bg, 4) !default; +$navsidebar-bg-active: darken($navsidebar-bg, 8) !default; + +$navsidebar-sub-bg: darken($navsidebar-bg, 4) !default; +$navsidebar-sub-bg-hover: $navsidebar-sub-bg !default; +$navsidebar-sub-bg-active: $navsidebar-sub-bg !default; + +$navsidebar-border-color: $navsidebar-bg-hover !default; + +//== Form +//## Used in components/inputs + +// Form Label +$form-label-color: $brand-inverse !default; + +//== Buttons +//## Define background-color, border-color and text. Used in components/buttons + +// Button Background Color +$btn-inverse-bg: $brand-inverse !default; +$btn-info-bg: $brand-info !default; + +// Button Border Color +$btn-inverse-border-color: $brand-inverse !default; +$btn-info-border-color: $brand-info !default; + +// Button Text Color +$btn-inverse-color: #fff !default; +$btn-info-color: #fff !default; + +// Button Background Color +$btn-inverse-bg-hover: mix($btn-inverse-bg, white, 80%) !default; +$btn-info-bg-hover: mix($btn-info-bg, black, 80%) !default; + +//== Color variations +//## These variations are used to support several other variables and components + +// Color variations +$color-inverse-darker: mix($brand-inverse, black, 60%) !default; +$color-inverse-dark: mix($brand-inverse, black, 70%) !default; +$color-inverse-light: mix($brand-inverse, white, 40%) !default; +$color-inverse-lighter: mix($brand-inverse, white, 20%) !default; + +$color-info-darker: mix($brand-info, black, 60%) !default; +$color-info-dark: mix($brand-info, black, 70%) !default; +$color-info-light: mix($brand-info, white, 60%) !default; +$color-info-lighter: mix($brand-info, white, 20%) !default; + +//== Alerts +//## Default Bootstrap alerts, not a widget in the Modeler (used in components/alerts) + +// Background Color +$alert-info-bg: $color-primary-lighter !default; + +// Text Color +$alert-info-color: $color-primary-darker !default; + +// Border Color +$alert-info-border-color: $color-primary-dark !default; +//== Labels +//## Default Bootstrap Labels, not a widget in the Modeler (used in components/labels) + +// Background Color +$label-info-bg: $brand-info !default; +$label-inverse-bg: $brand-inverse !default; + +// Border Color +$label-info-border-color: $brand-info !default; +$label-inverse-border-color: $brand-inverse !default; + +// Text Color +$label-info-color: #fff !default; +$label-inverse-color: #fff !default; + +//== Groupbox +//## Default variables for Groupbox Widget (used in components/groupbox) + +// Background Color +$groupbox-inverse-bg: $brand-inverse !default; +$groupbox-info-bg: $brand-info !default; + +// Text Color +$groupbox-inverse-color: #fff !default; +$groupbox-info-color: #fff !default; +//== Callout (groupbox) Colors +//## Extended variables for Groupbox Widget (used in components/groupbox) + +// Text and Border Color +$callout-info-color: $brand-info !default; + +// Background Color +$callout-info-bg: $color-info-lighter !default; diff --git a/theme/styles/web/sass/core/_legacy/_mxui.scss b/themesource/atlas_core/web/core/_legacy/_mxui.scss similarity index 84% rename from theme/styles/web/sass/core/_legacy/_mxui.scss rename to themesource/atlas_core/web/core/_legacy/_mxui.scss index a7ad1dd..94b74ac 100644 --- a/theme/styles/web/sass/core/_legacy/_mxui.scss +++ b/themesource/atlas_core/web/core/_legacy/_mxui.scss @@ -3,118 +3,116 @@ See mxclientsystem/licenses.txt for third party licenses that apply. */ - /* Essential styles that themes can inherit. In other words, works but doesn't look great. */ - - /**** GENERIC PIECES ****/ - .dijitReset { - /* Use this style to null out padding, margin, border in your template elements +.dijitReset { + /* Use this style to null out padding, margin, border in your template elements so that page specific styles don't break them. - Use in all TABLE, TR and TD tags. */ - margin:0; - border:0; - padding:0; - font: inherit; - line-height:normal; - color: inherit; + margin: 0; + border: 0; + padding: 0; + font: inherit; + line-height: normal; + color: inherit; } .dj_a11y .dijitReset { - -moz-appearance: none; /* remove predefined high-contrast styling in Firefox */ + -moz-appearance: none; /* remove predefined high-contrast styling in Firefox */ } .dijitInline { - /* To inline block elements. + /* To inline block elements. Similar to InlineBox below, but this has fewer side-effects in Moz. Also, apparently works on a DIV as well as a FIELDSET. */ - display:inline-block; /* webkit and FF3 */ - border:0; - padding:0; - vertical-align:middle; + display: inline-block; /* webkit and FF3 */ + border: 0; + padding: 0; + vertical-align: middle; } table.dijitInline { - /* To inline tables with a given width set */ - display:inline-table; - box-sizing: content-box; -moz-box-sizing: content-box; + /* To inline tables with a given width set */ + display: inline-table; + box-sizing: content-box; } .dijitHidden { - /* To hide unselected panes in StackContainer etc. */ - position: absolute; /* remove from normal document flow to simulate display: none */ - visibility: hidden; /* hide element from view, but don't break scrolling, see #18612 */ + /* To hide unselected panes in StackContainer etc. */ + position: absolute; /* remove from normal document flow to simulate display: none */ + visibility: hidden; /* hide element from view, but don't break scrolling, see #18612 */ } .dijitHidden * { - visibility: hidden !important; /* hide visibility:visible descendants of class=dijitHidden nodes, see #18799 */ + visibility: hidden !important; /* hide visibility:visible descendants of class=dijitHidden nodes, see #18799 */ } .dijitVisible { - /* To show selected pane in StackContainer etc. */ - display: block !important; /* override user's display:none setting via style setting or indirectly via class */ - position: relative; /* to support setting width/height, see #2033 */ - visibility: visible; + /* To show selected pane in StackContainer etc. */ + display: block !important; /* override user's display:none setting via style setting or indirectly via class */ + position: relative; /* to support setting width/height, see #2033 */ + visibility: visible; } .dj_ie6 .dijitComboBox .dijitInputContainer, .dijitInputContainer { - /* for positioning of placeHolder */ - overflow: hidden; - float: none !important; /* needed to squeeze the INPUT in */ - position: relative; + /* for positioning of placeHolder */ + overflow: hidden; + float: none !important; /* needed to squeeze the INPUT in */ + position: relative; } .dj_ie7 .dijitInputContainer { - float: left !important; /* needed by IE to squeeze the INPUT in */ - clear: left; - display: inline-block !important; /* to fix wrong text alignment in textdir=rtl text box */ + float: left !important; /* needed by IE to squeeze the INPUT in */ + clear: left; + display: inline-block !important; /* to fix wrong text alignment in textdir=rtl text box */ } .dj_ie .dijitSelect input, .dj_ie input.dijitTextBox, .dj_ie .dijitTextBox input { - font-size: 100%; + font-size: 100%; } .dijitSelect .dijitButtonText { - float: left; - vertical-align: top; + float: left; + vertical-align: top; } -TABLE.dijitSelect { - padding: 0 !important; /* messes up border alignment */ - border-collapse: separate; /* so jsfiddle works with Normalized CSS checked */ +table.dijitSelect { + padding: 0 !important; /* messes up border alignment */ + border-collapse: separate; /* so jsfiddle works with Normalized CSS checked */ } .dijitTextBox .dijitSpinnerButtonContainer, .dijitTextBox .dijitArrowButtonContainer, .dijitValidationTextBox .dijitValidationContainer { - float: right; - text-align: center; + float: right; + text-align: center; } .dijitSelect input.dijitInputField, .dijitTextBox input.dijitInputField { - /* override unreasonable user styling of buttons and icons */ - padding-left: 0 !important; - padding-right: 0 !important; + /* override unreasonable user styling of buttons and icons */ + padding-left: 0 !important; + padding-right: 0 !important; } .dijitValidationTextBox .dijitValidationContainer { - display: none; + display: none; } .dijitTeeny { - font-size:1px; - line-height:1px; + font-size: 1px; + line-height: 1px; } -.dijitOffScreen { /* these class attributes should supersede any inline positioning style */ - position: absolute !important; - left: -10000px !important; - top: -10000px !important; +.dijitOffScreen { + /* these class attributes should supersede any inline positioning style */ + position: absolute !important; + left: -10000px !important; + top: -10000px !important; } /* @@ -122,53 +120,53 @@ TABLE.dijitSelect { * with the real popup inside, and maybe an iframe too */ .dijitPopup { - position: absolute; - background-color: transparent; - margin: 0; - border: 0; - padding: 0; - -webkit-overflow-scrolling: touch; + position: absolute; + background-color: transparent; + margin: 0; + border: 0; + padding: 0; + -webkit-overflow-scrolling: touch; } .dijitPositionOnly { - /* Null out all position-related properties */ - padding: 0 !important; - border: 0 !important; - background-color: transparent !important; - background-image: none !important; - height: auto !important; - width: auto !important; + /* Null out all position-related properties */ + padding: 0 !important; + border: 0 !important; + background-color: transparent !important; + background-image: none !important; + height: auto !important; + width: auto !important; } .dijitNonPositionOnly { - /* Null position-related properties */ - float: none !important; - position: static !important; - margin: 0 0 0 0 !important; - vertical-align: middle !important; + /* Null position-related properties */ + float: none !important; + position: static !important; + margin: 0 0 0 0 !important; + vertical-align: middle !important; } .dijitBackgroundIframe { - /* iframe used to prevent problems with PDF or other applets overlaying menus etc */ - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: -1; - border: 0; - padding: 0; - margin: 0; + /* iframe used to prevent problems with PDF or other applets overlaying menus etc */ + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + z-index: -1; + border: 0; + padding: 0; + margin: 0; } .dijitDisplayNone { - /* hide something. Use this as a class rather than element.style so another class can override */ - display:none !important; + /* hide something. Use this as a class rather than element.style so another class can override */ + display: none !important; } .dijitContainer { - /* for all layout containers */ - overflow: hidden; /* need on IE so something can be reduced in size, and so scrollbars aren't temporarily displayed when resizing */ + /* for all layout containers */ + overflow: hidden; /* need on IE so something can be reduced in size, and so scrollbars aren't temporarily displayed when resizing */ } /**** @@ -180,17 +178,17 @@ TABLE.dijitSelect { .dj_a11y img.dijitArrowButtonInner, .dj_a11y .dijitCalendarIncrementControl, .dj_a11y .dijitTreeExpando { - /* hide icon nodes in high contrast mode; when necessary they will be replaced by character equivalents + /* hide icon nodes in high contrast mode; when necessary they will be replaced by character equivalents * exception for input.dijitArrowButtonInner, because the icon and character are controlled by the same node */ - display: none; + display: none; } .dijitSpinner div.dijitArrowButtonInner { - display: block; /* override previous rule */ + display: block; /* override previous rule */ } .dj_a11y .dijitA11ySideArrow { - display: inline !important; /* display text instead */ - cursor: pointer; + display: inline !important; /* display text instead */ + cursor: pointer; } /* @@ -200,53 +198,53 @@ TABLE.dijitSelect { * border w/padding on other nodes. */ .dj_a11y .dijitCalendarDateLabel { - padding: 1px; - border: 0px !important; + padding: 1px; + border: 0px !important; } .dj_a11y .dijitCalendarSelectedDate .dijitCalendarDateLabel { - border-style: solid !important; - border-width: 1px !important; - padding: 0; + border-style: solid !important; + border-width: 1px !important; + padding: 0; } .dj_a11y .dijitCalendarDateTemplate { - padding-bottom: 0.1em !important; /* otherwise bottom border doesn't appear on IE */ - border: 0px !important; + padding-bottom: 0.1em !important; /* otherwise bottom border doesn't appear on IE */ + border: 0px !important; } .dj_a11y .dijitButtonNode { - border: black outset medium !important; + border: black outset medium !important; - /* In claro, hovering a toolbar button reduces padding and adds a border. + /* In claro, hovering a toolbar button reduces padding and adds a border. * Not needed in a11y mode since Toolbar buttons always have a border. */ - padding: 0 !important; + padding: 0 !important; } .dj_a11y .dijitArrowButton { - padding: 0 !important; + padding: 0 !important; } .dj_a11y .dijitButtonContents { - margin: 0.15em; /* Margin needed to make focus outline visible */ + margin: 0.15em; /* Margin needed to make focus outline visible */ } .dj_a11y .dijitTextBoxReadOnly .dijitInputField, .dj_a11y .dijitTextBoxReadOnly .dijitButtonNode { - border-style: outset!important; - border-width: medium!important; - border-color: #999 !important; - color:#999 !important; + border-style: outset !important; + border-width: medium !important; + border-color: #999 !important; + color: #999 !important; } /* button inner contents - labels, icons etc. */ .dijitButtonNode * { - vertical-align: middle; + vertical-align: middle; } .dijitSelect .dijitArrowButtonInner, .dijitButtonNode .dijitArrowButtonInner { - /* the arrow icon node */ - background: no-repeat center; - width: 12px; - height: 12px; - direction: ltr; /* needed by IE/RTL */ + /* the arrow icon node */ + background: no-repeat center; + width: 12px; + height: 12px; + direction: ltr; /* needed by IE/RTL */ } /**** @@ -255,119 +253,118 @@ TABLE.dijitSelect { ****/ .dijitLeft { - /* Left part of a 3-element border */ - background-position:left top; - background-repeat:no-repeat; + /* Left part of a 3-element border */ + background-position: left top; + background-repeat: no-repeat; } .dijitStretch { - /* Middle (stretchy) part of a 3-element border */ - white-space:nowrap; /* MOW: move somewhere else */ - background-repeat:repeat-x; + /* Middle (stretchy) part of a 3-element border */ + white-space: nowrap; /* MOW: move somewhere else */ + background-repeat: repeat-x; } .dijitRight { - /* Right part of a 3-element border */ - background-position:right top; - background-repeat:no-repeat; + /* Right part of a 3-element border */ + background-position: right top; + background-repeat: no-repeat; } /* Buttons */ .dj_gecko .dj_a11y .dijitButtonDisabled .dijitButtonNode { - opacity: 0.5; + opacity: 0.5; } .dijitToggleButton, .dijitButton, .dijitDropDownButton, .dijitComboButton { - /* outside of button */ - margin: 0.2em; - vertical-align: middle; + /* outside of button */ + margin: 0.2em; + vertical-align: middle; } .dijitButtonContents { - display: block; /* to make focus border rectangular */ + display: block; /* to make focus border rectangular */ } td.dijitButtonContents { - display: table-cell; /* but don't affect Select, ComboButton */ + display: table-cell; /* but don't affect Select, ComboButton */ } .dijitButtonNode img { - /* make text and images line up cleanly */ - vertical-align:middle; - /*margin-bottom:.2em;*/ + /* make text and images line up cleanly */ + vertical-align: middle; + /*margin-bottom:.2em;*/ } .dijitToolbar .dijitComboButton { - /* because Toolbar only draws a border around the hovered thing */ - border-collapse: separate; + /* because Toolbar only draws a border around the hovered thing */ + border-collapse: separate; } .dijitToolbar .dijitToggleButton, .dijitToolbar .dijitButton, .dijitToolbar .dijitDropDownButton, .dijitToolbar .dijitComboButton { - margin: 0; + margin: 0; } .dijitToolbar .dijitButtonContents { - /* just because it used to be this way */ - padding: 1px 2px; + /* just because it used to be this way */ + padding: 1px 2px; } - .dj_webkit .dijitToolbar .dijitDropDownButton { - padding-left: 0.3em; + padding-left: 0.3em; } .dj_gecko .dijitToolbar .dijitButtonNode::-moz-focus-inner { - padding:0; + padding: 0; } .dijitSelect { - border:1px solid gray; + border: 1px solid gray; } .dijitButtonNode { - /* Node that is acting as a button -- may or may not be a BUTTON element */ - border:1px solid gray; - margin:0; - line-height:normal; - vertical-align: middle; - text-align:center; - white-space: nowrap; + /* Node that is acting as a button -- may or may not be a BUTTON element */ + border: 1px solid gray; + margin: 0; + line-height: normal; + vertical-align: middle; + text-align: center; + white-space: nowrap; } .dj_webkit .dijitSpinner .dijitSpinnerButtonContainer { - /* apparent WebKit bug where messing with the font coupled with line-height:normal X 2 (dijitReset & dijitButtonNode) + /* apparent WebKit bug where messing with the font coupled with line-height:normal X 2 (dijitReset & dijitButtonNode) can be different than just a single line-height:normal, visible in InlineEditBox/Spinner */ - line-height:inherit; + line-height: inherit; } .dijitTextBox .dijitButtonNode { - border-width: 0; + border-width: 0; } .dijitSelect, .dijitSelect *, .dijitButtonNode, .dijitButtonNode * { - cursor: pointer; - -webkit-tap-highlight-color: transparent; + cursor: pointer; + -webkit-tap-highlight-color: transparent; } .dj_ie .dijitButtonNode { - /* ensure hasLayout */ - zoom: 1; + /* ensure hasLayout */ + zoom: 1; } .dj_ie .dijitButtonNode button { - /* + /* disgusting hack to get rid of spurious padding around button elements on IE. MSIE is truly the web's boat anchor. */ - overflow: visible; + overflow: visible; } div.dijitArrowButton { - float: right; + float: right; } /****** @@ -376,93 +373,93 @@ div.dijitArrowButton { *******/ .dijitTextBox { - border: solid black 1px; - width: 15em; /* need to set default size on outer node since inner nodes say and
    . user can override */ - vertical-align: middle; + border: solid black 1px; + width: 15em; /* need to set default size on outer node since inner nodes say and . user can override */ + vertical-align: middle; } .dijitTextBoxReadOnly, .dijitTextBoxDisabled { - color: gray; + color: gray; } .dj_safari .dijitTextBoxDisabled input { - color: #B0B0B0; /* because Safari lightens disabled input/textarea no matter what color you specify */ + color: #b0b0b0; /* because Safari lightens disabled input/textarea no matter what color you specify */ } .dj_safari textarea.dijitTextAreaDisabled { - color: #333; /* because Safari lightens disabled input/textarea no matter what color you specify */ + color: #333; /* because Safari lightens disabled input/textarea no matter what color you specify */ } .dj_gecko .dijitTextBoxReadOnly input.dijitInputField, /* disable arrow and validation presentation inputs but allow real input for text selection */ .dj_gecko .dijitTextBoxDisabled input { - -moz-user-input: none; /* prevent focus of disabled textbox buttons */ + -moz-user-input: none; /* prevent focus of disabled textbox buttons */ } .dijitPlaceHolder { - /* hint text that appears in a textbox until user starts typing */ - color: #AAAAAA; - font-style: italic; - position: absolute; - top: 0; - left: 0; - white-space: nowrap; - pointer-events: none; /* so cut/paste context menu shows up when right clicking */ + /* hint text that appears in a textbox until user starts typing */ + color: #aaaaaa; + font-style: italic; + position: absolute; + top: 0; + left: 0; + white-space: nowrap; + pointer-events: none; /* so cut/paste context menu shows up when right clicking */ } .dijitTimeTextBox { - width: 8em; + width: 8em; } /* rules for webkit to deal with fuzzy blue focus border */ .dijitTextBox input:focus { - outline: none; /* blue fuzzy line looks wrong on combobox or something w/validation icon showing */ + outline: none; /* blue fuzzy line looks wrong on combobox or something w/validation icon showing */ } .dijitTextBoxFocused { - outline: 5px -webkit-focus-ring-color; + outline: 5px -webkit-focus-ring-color; } .dijitSelect input, .dijitTextBox input { - float: left; /* needed by IE to remove secret margin */ + float: left; /* needed by IE to remove secret margin */ } .dj_ie6 input.dijitTextBox, .dj_ie6 .dijitTextBox input { - float: none; + float: none; } .dijitInputInner { - /* for when an is embedded inside an inline-block
    with a size and border */ - border:0 !important; - background-color:transparent !important; - width:100% !important; - /* IE dislikes horizontal tweaking combined with width:100% so punish everyone for consistency */ - padding-left: 0 !important; - padding-right: 0 !important; - margin-left: 0 !important; - margin-right: 0 !important; + /* for when an is embedded inside an inline-block
    with a size and border */ + border: 0 !important; + background-color: transparent !important; + width: 100% !important; + /* IE dislikes horizontal tweaking combined with width:100% so punish everyone for consistency */ + padding-left: 0 !important; + padding-right: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; } .dj_a11y .dijitTextBox input { - margin: 0 !important; + margin: 0 !important; } .dijitValidationTextBoxError input.dijitValidationInner, .dijitSelect input, .dijitTextBox input.dijitArrowButtonInner { - /* used to display arrow icon/validation icon, or in arrow character in high contrast mode. + /* used to display arrow icon/validation icon, or in arrow character in high contrast mode. * The css below is a trick to hide the character in non-high-contrast mode */ - text-indent: -2em !important; - direction: ltr !important; - text-align: left !important; - height: auto !important; + text-indent: -2em !important; + direction: ltr !important; + text-align: left !important; + height: auto !important; } .dj_ie .dijitSelect input, .dj_ie .dijitTextBox input, .dj_ie input.dijitTextBox { - overflow-y: visible; /* inputs need help expanding when padding is added or line-height is adjusted */ - line-height: normal; /* strict mode */ + overflow-y: visible; /* inputs need help expanding when padding is added or line-height is adjusted */ + line-height: normal; /* strict mode */ } .dijitSelect .dijitSelectLabel span { - line-height: 100%; + line-height: 100%; } .dj_ie .dijitSelect .dijitSelectLabel { - line-height: normal; + line-height: normal; } .dj_ie6 .dijitSelect .dijitSelectLabel, .dj_ie7 .dijitSelect .dijitSelectLabel, @@ -479,170 +476,164 @@ div.dijitArrowButton { .dj_iequirks .dijitTextBox input.dijitSpinnerButtonInner, .dj_iequirks .dijitTextBox input.dijitInputInner, .dj_iequirks input.dijitTextBox { - line-height: 100%; /* IE7 problem where the icon is vertically way too low w/o this */ + line-height: 100%; /* IE7 problem where the icon is vertically way too low w/o this */ } .dj_a11y input.dijitValidationInner, .dj_a11y input.dijitArrowButtonInner { - /* (in high contrast mode) revert rules from above so character displays */ - text-indent: 0 !important; - width: 1em !important; - color: black !important; + /* (in high contrast mode) revert rules from above so character displays */ + text-indent: 0 !important; + width: 1em !important; + color: black !important; } .dijitValidationTextBoxError .dijitValidationContainer { - display: inline; - cursor: default; + display: inline; + cursor: default; } /* ComboBox & Spinner */ .dijitSpinner .dijitSpinnerButtonContainer, .dijitComboBox .dijitArrowButtonContainer { - /* dividing line between input area and up/down button(s) for ComboBox and Spinner */ - border-width: 0 0 0 1px !important; /* !important needed due to wayward ".theme .dijitButtonNode" rules */ + /* dividing line between input area and up/down button(s) for ComboBox and Spinner */ + border-width: 0 0 0 1px !important; /* !important needed due to wayward ".theme .dijitButtonNode" rules */ } .dj_a11y .dijitSelect .dijitArrowButtonContainer, .dijitToolbar .dijitComboBox .dijitArrowButtonContainer { - /* overrides above rule plus mirror-image rule in dijit_rtl.css to have no divider when ComboBox in Toolbar */ - border-width: 0 !important; + /* overrides above rule plus mirror-image rule in dijit_rtl.css to have no divider when ComboBox in Toolbar */ + border-width: 0 !important; } .dijitComboBoxMenu { - /* Drop down menu is implemented as
    • ... but we don't want circles before each item */ - list-style-type: none; + /* Drop down menu is implemented as
      • ... but we don't want circles before each item */ + list-style-type: none; } .dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode { - /* dividing line between input area and up/down button(s) for ComboBox and Spinner */ - border-width: 0; + /* dividing line between input area and up/down button(s) for ComboBox and Spinner */ + border-width: 0; } .dj_ie .dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode { - clear: both; /* IE workaround */ + clear: both; /* IE workaround */ } .dj_ie .dijitToolbar .dijitComboBox { - /* make combobox buttons align properly with other buttons in a toolbar */ - vertical-align: middle; + /* make combobox buttons align properly with other buttons in a toolbar */ + vertical-align: middle; } /* Spinner */ .dijitTextBox .dijitSpinnerButtonContainer { - width: 1em; - position: relative !important; - overflow: hidden; + width: 1em; + position: relative !important; + overflow: hidden; } .dijitSpinner .dijitSpinnerButtonInner { - width:1em; - visibility:hidden !important; /* just a sizing element */ - overflow-x:hidden; + width: 1em; + visibility: hidden !important; /* just a sizing element */ + overflow-x: hidden; } .dijitComboBox .dijitButtonNode, .dijitSpinnerButtonContainer .dijitButtonNode { - border-width: 0; + border-width: 0; } .dj_a11y .dijitSpinnerButtonContainer .dijitButtonNode { - border-width: 0px !important; - border-style: solid !important; + border-width: 0px !important; + border-style: solid !important; } .dj_a11y .dijitTextBox .dijitSpinnerButtonContainer, .dj_a11y .dijitSpinner .dijitArrowButtonInner, .dj_a11y .dijitSpinnerButtonContainer input { - width: 1em !important; + width: 1em !important; } .dj_a11y .dijitSpinner .dijitArrowButtonInner { - margin: 0 auto !important; /* should auto-center */ + margin: 0 auto !important; /* should auto-center */ } .dj_ie .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - padding-left: 0.3em !important; - padding-right: 0.3em !important; - margin-left: 0.3em !important; - margin-right: 0.3em !important; - width: 1.4em !important; + padding-left: 0.3em !important; + padding-right: 0.3em !important; + margin-left: 0.3em !important; + margin-right: 0.3em !important; + width: 1.4em !important; } .dj_ie7 .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - padding-left: 0 !important; /* manually center INPUT: character is .5em and total width = 1em */ - padding-right: 0 !important; - width: 1em !important; + padding-left: 0 !important; /* manually center INPUT: character is .5em and total width = 1em */ + padding-right: 0 !important; + width: 1em !important; } .dj_ie6 .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - margin-left: 0.1em !important; - margin-right: 0.1em !important; - width: 1em !important; + margin-left: 0.1em !important; + margin-right: 0.1em !important; + width: 1em !important; } .dj_iequirks .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - margin-left: 0 !important; - margin-right: 0 !important; - width: 2em !important; + margin-left: 0 !important; + margin-right: 0 !important; + width: 2em !important; } .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - /* note: .dijitInputLayoutContainer makes this rule override .dijitArrowButton settings + /* note: .dijitInputLayoutContainer makes this rule override .dijitArrowButton settings * for dijit.form.Button */ - padding: 0; - position: absolute !important; - right: 0; - float: none; - height: 50%; - width: 100%; - bottom: auto; - left: 0; - right: auto; + padding: 0; + position: absolute !important; + right: 0; + float: none; + height: 50%; + width: 100%; + bottom: auto; + left: 0; + right: auto; } .dj_iequirks .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - width: auto; + width: auto; } .dj_a11y .dijitSpinnerButtonContainer .dijitArrowButton { - overflow: visible !important; + overflow: visible !important; } .dijitSpinner .dijitSpinnerButtonContainer .dijitDownArrowButton { - top: 50%; - border-top-width: 1px !important; + top: 50%; + border-top-width: 1px !important; } .dijitSpinner .dijitSpinnerButtonContainer .dijitUpArrowButton { - top: 0; + top: 0; } .dijitSpinner .dijitArrowButtonInner { - margin: auto; - overflow-x: hidden; - height: 100% !important; + margin: auto; + overflow-x: hidden; + height: 100% !important; } .dj_iequirks .dijitSpinner .dijitArrowButtonInner { - height: auto !important; + height: auto !important; } .dijitSpinner .dijitArrowButtonInner .dijitInputField { - -moz-transform: scale(0.5); - -moz-transform-origin: center top; - -webkit-transform: scale(0.5); - -webkit-transform-origin: center top; - -o-transform: scale(0.5); - -o-transform-origin: center top; - transform: scale(0.5); - transform-origin: left top; - padding-top: 0; - padding-bottom: 0; - padding-left: 0 !important; - padding-right: 0 !important; - width: 100%; - visibility: hidden; + transform: scale(0.5); + transform-origin: left top; + padding-top: 0; + padding-bottom: 0; + padding-left: 0 !important; + padding-right: 0 !important; + width: 100%; + visibility: hidden; } .dj_ie .dijitSpinner .dijitArrowButtonInner .dijitInputField { - zoom: 50%; /* emulate transform: scale(0.5) */ + zoom: 50%; /* emulate transform: scale(0.5) */ } .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButtonInner { - overflow: hidden; + overflow: hidden; } .dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - width: 100%; + width: 100%; } .dj_iequirks .dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - width: 1em; /* matches .dj_a11y .dijitTextBox .dijitSpinnerButtonContainer rule - 100% is the whole screen width in quirks */ + width: 1em; /* matches .dj_a11y .dijitTextBox .dijitSpinnerButtonContainer rule - 100% is the whole screen width in quirks */ } .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - vertical-align:top; - visibility: visible; + vertical-align: top; + visibility: visible; } .dj_a11y .dijitSpinnerButtonContainer { - width: 1em; + width: 1em; } /**** @@ -654,48 +645,48 @@ div.dijitArrowButton { .dijitCheckBox, .dijitRadio, .dijitCheckBoxInput { - padding: 0; - border: 0; - width: 16px; - height: 16px; - background-position:center center; - background-repeat:no-repeat; - overflow: hidden; + padding: 0; + border: 0; + width: 16px; + height: 16px; + background-position: center center; + background-repeat: no-repeat; + overflow: hidden; } .dijitCheckBox input, .dijitRadio input { - margin: 0; - padding: 0; - display: block; + margin: 0; + padding: 0; + display: block; } .dijitCheckBoxInput { - /* place the actual input on top, but invisible */ - opacity: 0; + /* place the actual input on top, but invisible */ + opacity: 0; } .dj_ie .dijitCheckBoxInput { - filter: alpha(opacity=0); + filter: alpha(opacity=0); } .dj_a11y .dijitCheckBox, .dj_a11y .dijitRadio { - /* in a11y mode we display the native checkbox (not the icon), so don't restrict the size */ - width: auto !important; - height: auto !important; + /* in a11y mode we display the native checkbox (not the icon), so don't restrict the size */ + width: auto !important; + height: auto !important; } .dj_a11y .dijitCheckBoxInput { - opacity: 1; - filter: none; - width: auto; - height: auto; + opacity: 1; + filter: none; + width: auto; + height: auto; } .dj_a11y .dijitFocusedLabel { - /* for checkboxes or radio buttons in high contrast mode, use border rather than outline to indicate focus (outline does not work in FF)*/ - border: 1px dotted; - outline: 0px !important; + /* for checkboxes or radio buttons in high contrast mode, use border rather than outline to indicate focus (outline does not work in FF)*/ + border: 1px dotted; + outline: 0px !important; } /**** @@ -706,79 +697,80 @@ div.dijitArrowButton { z-index: 0; /* so z-index settings below have no effect outside of the ProgressBar */ } .dijitProgressBarEmpty { - /* outer container and background of the bar that's not finished yet*/ - position:relative;overflow:hidden; - border:1px solid black; /* a11y: border necessary for high-contrast mode */ - z-index:0; /* establish a stacking context for this progress bar */ + /* outer container and background of the bar that's not finished yet*/ + position: relative; + overflow: hidden; + border: 1px solid black; /* a11y: border necessary for high-contrast mode */ + z-index: 0; /* establish a stacking context for this progress bar */ } .dijitProgressBarFull { - /* outer container for background of bar that is finished */ - position:absolute; - overflow:hidden; - z-index:-1; - top:0; - width:100%; + /* outer container for background of bar that is finished */ + position: absolute; + overflow: hidden; + z-index: -1; + top: 0; + width: 100%; } .dj_ie6 .dijitProgressBarFull { - height:1.6em; + height: 1.6em; } .dijitProgressBarTile { - /* inner container for finished portion */ - position:absolute; - overflow:hidden; - top:0; - left:0; - bottom:0; - right:0; - margin:0; - padding:0; - width: 100%; /* needed for IE/quirks */ - height:auto; - background-color:#aaa; - background-attachment: fixed; + /* inner container for finished portion */ + position: absolute; + overflow: hidden; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: 0; + padding: 0; + width: 100%; /* needed for IE/quirks */ + height: auto; + background-color: #aaa; + background-attachment: fixed; } .dj_a11y .dijitProgressBarTile { - /* a11y: The border provides visibility in high-contrast mode */ - border-width:2px; - border-style:solid; - background-color:transparent !important; + /* a11y: The border provides visibility in high-contrast mode */ + border-width: 2px; + border-style: solid; + background-color: transparent !important; } .dj_ie6 .dijitProgressBarTile { - /* width:auto works in IE6 with position:static but not position:absolute */ - position:static; - /* height:auto or 100% does not work in IE6 */ - height:1.6em; + /* width:auto works in IE6 with position:static but not position:absolute */ + position: static; + /* height:auto or 100% does not work in IE6 */ + height: 1.6em; } .dijitProgressBarIndeterminate .dijitProgressBarTile { - /* animated gif for 'indeterminate' mode */ + /* animated gif for 'indeterminate' mode */ } .dijitProgressBarIndeterminateHighContrastImage { - display:none; + display: none; } .dj_a11y .dijitProgressBarIndeterminate .dijitProgressBarIndeterminateHighContrastImage { - display:block; - position:absolute; - top:0; - bottom:0; - margin:0; - padding:0; - width:100%; - height:auto; + display: block; + position: absolute; + top: 0; + bottom: 0; + margin: 0; + padding: 0; + width: 100%; + height: auto; } .dijitProgressBarLabel { - display:block; - position:static; - width:100%; - text-align:center; - background-color:transparent !important; + display: block; + position: static; + width: 100%; + text-align: center; + background-color: transparent !important; } /**** @@ -786,55 +778,57 @@ div.dijitArrowButton { ****/ .dijitTooltip { - position: absolute; - z-index: 2000; - display: block; - /* make visible but off screen */ - left: 0; - top: -10000px; - overflow: visible; + position: absolute; + z-index: 2000; + display: block; + /* make visible but off screen */ + left: 0; + top: -10000px; + overflow: visible; } .dijitTooltipContainer { - border: solid black 2px; - background: #b8b5b5; - color: black; - font-size: small; + border: solid black 2px; + background: #b8b5b5; + color: black; + font-size: small; } .dijitTooltipFocusNode { - padding: 2px 2px 2px 2px; + padding: 2px 2px 2px 2px; } .dijitTooltipConnector { - position: absolute; + position: absolute; } .dj_a11y .dijitTooltipConnector { - display: none; /* won't show b/c it's background-image; hide to avoid border gap */ + display: none; /* won't show b/c it's background-image; hide to avoid border gap */ } .dijitTooltipData { - display:none; + display: none; } /* Layout widgets. This is essential CSS to make layout work (it isn't "styling" CSS) make sure that the position:absolute in dijitAlign* overrides other classes */ .dijitLayoutContainer { - position: relative; - display: block; - overflow: hidden; + position: relative; + display: block; + overflow: hidden; } .dijitAlignTop, .dijitAlignBottom, .dijitAlignLeft, .dijitAlignRight { - position: absolute; - overflow: hidden; + position: absolute; + overflow: hidden; } -body .dijitAlignClient { position: absolute; } +body .dijitAlignClient { + position: absolute; +} /* * BorderContainer @@ -842,28 +836,29 @@ body .dijitAlignClient { position: absolute; } * .dijitBorderContainer is a stylized layout where panes have border and margin. * .dijitBorderContainerNoGutter is a raw layout. */ -.dijitBorderContainer, .dijitBorderContainerNoGutter { - position:relative; - overflow: hidden; +.dijitBorderContainer, +.dijitBorderContainerNoGutter { + position: relative; + overflow: hidden; z-index: 0; /* so z-index settings below have no effect outside of the BorderContainer */ } .dijitBorderContainerPane, .dijitBorderContainerNoGutterPane { - position: absolute !important; /* !important to override position:relative in dijitTabContainer etc. */ - z-index: 2; /* above the splitters so that off-by-one browser errors don't cover up border of pane */ + position: absolute !important; /* !important to override position:relative in dijitTabContainer etc. */ + z-index: 2; /* above the splitters so that off-by-one browser errors don't cover up border of pane */ } .dijitBorderContainer > .dijitTextArea { - /* On Safari, for SimpleTextArea inside a BorderContainer, + /* On Safari, for SimpleTextArea inside a BorderContainer, don't want to display the grip to resize */ - resize: none; + resize: none; } .dijitGutter { - /* gutter is just a place holder for empty space between panes in BorderContainer */ - position: absolute; - font-size: 1px; /* needed by IE6 even though div is empty, otherwise goes to 15px */ + /* gutter is just a place holder for empty space between panes in BorderContainer */ + position: absolute; + font-size: 1px; /* needed by IE6 even though div is empty, otherwise goes to 15px */ } /* SplitContainer @@ -873,186 +868,198 @@ body .dijitAlignClient { position: absolute; } */ .dijitSplitter { - position: absolute; - overflow: hidden; - z-index: 10; /* above the panes so that splitter focus is visible on FF, see #7583*/ - background-color: #fff; - border-color: gray; - border-style: solid; - border-width: 0; + position: absolute; + overflow: hidden; + z-index: 10; /* above the panes so that splitter focus is visible on FF, see #7583*/ + background-color: #fff; + border-color: gray; + border-style: solid; + border-width: 0; } .dj_ie .dijitSplitter { - z-index: 1; /* behind the panes so that pane borders aren't obscured see test_Gui.html/[14392] */ + z-index: 1; /* behind the panes so that pane borders aren't obscured see test_Gui.html/[14392] */ } .dijitSplitterActive { - z-index: 11 !important; + z-index: 11 !important; } .dijitSplitterCover { - position:absolute; - z-index:-1; - top:0; - left:0; - width:100%; - height:100%; + position: absolute; + z-index: -1; + top: 0; + left: 0; + width: 100%; + height: 100%; } .dijitSplitterCoverActive { - z-index:3 !important; + z-index: 3 !important; } /* #6945: stop mouse events */ .dj_ie .dijitSplitterCover { - background: white; - opacity: 0; + background: white; + opacity: 0; } .dj_ie6 .dijitSplitterCover, .dj_ie7 .dijitSplitterCover, .dj_ie8 .dijitSplitterCover { - filter: alpha(opacity=0); + filter: alpha(opacity=0); } .dijitSplitterH { - height: 7px; - border-top:1px; - border-bottom:1px; - cursor: row-resize; - -webkit-tap-highlight-color: transparent; + height: 7px; + border-top: 1px; + border-bottom: 1px; + cursor: row-resize; + -webkit-tap-highlight-color: transparent; } .dijitSplitterV { - width: 7px; - border-left:1px; - border-right:1px; - cursor: col-resize; - -webkit-tap-highlight-color: transparent; + width: 7px; + border-left: 1px; + border-right: 1px; + cursor: col-resize; + -webkit-tap-highlight-color: transparent; } .dijitSplitContainer { - position: relative; - overflow: hidden; - display: block; + position: relative; + overflow: hidden; + display: block; } .dijitSplitPane { - position: absolute; + position: absolute; } .dijitSplitContainerSizerH, .dijitSplitContainerSizerV { - position:absolute; - font-size: 1px; - background-color: ThreeDFace; - border: 1px solid; - border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight; - margin: 0; + position: absolute; + font-size: 1px; + background-color: ThreeDFace; + border: 1px solid; + border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight; + margin: 0; } -.dijitSplitContainerSizerH .thumb, .dijitSplitterV .dijitSplitterThumb { - overflow:hidden; - position:absolute; - top:49%; +.dijitSplitContainerSizerH .thumb, +.dijitSplitterV .dijitSplitterThumb { + overflow: hidden; + position: absolute; + top: 49%; } -.dijitSplitContainerSizerV .thumb, .dijitSplitterH .dijitSplitterThumb { - position:absolute; - left:49%; +.dijitSplitContainerSizerV .thumb, +.dijitSplitterH .dijitSplitterThumb { + position: absolute; + left: 49%; } .dijitSplitterShadow, .dijitSplitContainerVirtualSizerH, .dijitSplitContainerVirtualSizerV { - font-size: 1px; - background-color: ThreeDShadow; - -moz-opacity: 0.5; - opacity: 0.5; - filter: Alpha(Opacity=50); - margin: 0; + font-size: 1px; + background-color: ThreeDShadow; + opacity: 0.5; + margin: 0; } -.dijitSplitContainerSizerH, .dijitSplitContainerVirtualSizerH { - cursor: col-resize; +.dijitSplitContainerSizerH, +.dijitSplitContainerVirtualSizerH { + cursor: col-resize; } -.dijitSplitContainerSizerV, .dijitSplitContainerVirtualSizerV { - cursor: row-resize; +.dijitSplitContainerSizerV, +.dijitSplitContainerVirtualSizerV { + cursor: row-resize; } .dj_a11y .dijitSplitterH { - border-top:1px solid #d3d3d3 !important; - border-bottom:1px solid #d3d3d3 !important; + border-top: 1px solid #d3d3d3 !important; + border-bottom: 1px solid #d3d3d3 !important; } .dj_a11y .dijitSplitterV { - border-left:1px solid #d3d3d3 !important; - border-right:1px solid #d3d3d3 !important; + border-left: 1px solid #d3d3d3 !important; + border-right: 1px solid #d3d3d3 !important; } /* ContentPane */ .dijitContentPane { - display: block; - overflow: auto; /* if we don't have this (or overflow:hidden), then Widget.resizeTo() doesn't make sense for ContentPane */ - -webkit-overflow-scrolling: touch; + display: block; + overflow: auto; /* if we don't have this (or overflow:hidden), then Widget.resizeTo() doesn't make sense for ContentPane */ + -webkit-overflow-scrolling: touch; } .dijitContentPaneSingleChild { - /* + /* * if the ContentPane holds a single layout widget child which is being sized to match the content pane, * then the ContentPane should never get a scrollbar (but it does due to browser bugs, see #9449 */ - overflow: hidden; + overflow: hidden; } .dijitContentPaneLoading .dijitIconLoading, .dijitContentPaneError .dijitIconError { - margin-right: 9px; + margin-right: 9px; } /* TitlePane and Fieldset */ .dijitTitlePane { - display: block; - overflow: hidden; + display: block; + overflow: hidden; } .dijitFieldset { - border: 1px solid gray; + border: 1px solid gray; } -.dijitTitlePaneTitle, .dijitFieldsetTitle { - cursor: pointer; - -webkit-tap-highlight-color: transparent; +.dijitTitlePaneTitle, +.dijitFieldsetTitle { + cursor: pointer; + -webkit-tap-highlight-color: transparent; } -.dijitTitlePaneTitleFixedOpen, .dijitTitlePaneTitleFixedClosed, -.dijitFieldsetTitleFixedOpen, .dijitFieldsetTitleFixedClosed { - /* TitlePane or Fieldset that cannot be toggled */ - cursor: default; +.dijitTitlePaneTitleFixedOpen, +.dijitTitlePaneTitleFixedClosed, +.dijitFieldsetTitleFixedOpen, +.dijitFieldsetTitleFixedClosed { + /* TitlePane or Fieldset that cannot be toggled */ + cursor: default; } .dijitTitlePaneTitle * { - vertical-align: middle; + vertical-align: middle; } -.dijitTitlePane .dijitArrowNodeInner, .dijitFieldset .dijitArrowNodeInner { - /* normally, hide arrow text in favor of icon */ - display: none; +.dijitTitlePane .dijitArrowNodeInner, +.dijitFieldset .dijitArrowNodeInner { + /* normally, hide arrow text in favor of icon */ + display: none; } -.dj_a11y .dijitTitlePane .dijitArrowNodeInner, .dj_a11y .dijitFieldset .dijitArrowNodeInner { - /* ... except in a11y mode, then show text arrow */ - display: inline; - font-family: monospace; /* because - and + are different widths */ +.dj_a11y .dijitTitlePane .dijitArrowNodeInner, +.dj_a11y .dijitFieldset .dijitArrowNodeInner { + /* ... except in a11y mode, then show text arrow */ + display: inline; + font-family: monospace; /* because - and + are different widths */ } -.dj_a11y .dijitTitlePane .dijitArrowNode, .dj_a11y .dijitFieldset .dijitArrowNode { - /* ... and hide icon (TODO: just point dijitIcon class on the icon, and it hides automatically) */ - display: none; +.dj_a11y .dijitTitlePane .dijitArrowNode, +.dj_a11y .dijitFieldset .dijitArrowNode { + /* ... and hide icon (TODO: just point dijitIcon class on the icon, and it hides automatically) */ + display: none; } -.dijitTitlePaneTitleFixedOpen .dijitArrowNode, .dijitTitlePaneTitleFixedOpen .dijitArrowNodeInner, -.dijitTitlePaneTitleFixedClosed .dijitArrowNode, .dijitTitlePaneTitleFixedClosed .dijitArrowNodeInner, -.dijitFieldsetTitleFixedOpen .dijitArrowNode, .dijitFieldsetTitleFixedOpen .dijitArrowNodeInner, -.dijitFieldsetTitleFixedClosed .dijitArrowNode, .dijitFieldsetTitleFixedClosed .dijitArrowNodeInner { - /* don't show the open close icon or text arrow; it makes the user think the pane is closable */ - display: none !important; /* !important to override above a11y rules to show text arrow */ +.dijitTitlePaneTitleFixedOpen .dijitArrowNode, +.dijitTitlePaneTitleFixedOpen .dijitArrowNodeInner, +.dijitTitlePaneTitleFixedClosed .dijitArrowNode, +.dijitTitlePaneTitleFixedClosed .dijitArrowNodeInner, +.dijitFieldsetTitleFixedOpen .dijitArrowNode, +.dijitFieldsetTitleFixedOpen .dijitArrowNodeInner, +.dijitFieldsetTitleFixedClosed .dijitArrowNode, +.dijitFieldsetTitleFixedClosed .dijitArrowNodeInner { + /* don't show the open close icon or text arrow; it makes the user think the pane is closable */ + display: none !important; /* !important to override above a11y rules to show text arrow */ } .dj_ie6 .dijitTitlePaneContentOuter, .dj_ie6 .dijitTitlePane .dijitTitlePaneTitle { - /* force hasLayout to ensure borders etc, show up */ - zoom: 1; + /* force hasLayout to ensure borders etc, show up */ + zoom: 1; } /* Color Palette @@ -1061,146 +1068,146 @@ body .dijitAlignClient { position: absolute; } */ .dijitColorPalette { - border: 1px solid #999; - background: #fff; - position: relative; + border: 1px solid #999; + background: #fff; + position: relative; } .dijitColorPalette .dijitPaletteTable { - /* Table that holds the palette cells, and overlays image file with color swatches. + /* Table that holds the palette cells, and overlays image file with color swatches. * padding/margin to align table with image. */ - padding: 2px 3px 3px 3px; - position: relative; - overflow: hidden; - outline: 0; - border-collapse: separate; + padding: 2px 3px 3px 3px; + position: relative; + overflow: hidden; + outline: 0; + border-collapse: separate; } .dj_ie6 .dijitColorPalette .dijitPaletteTable, .dj_ie7 .dijitColorPalette .dijitPaletteTable, .dj_iequirks .dijitColorPalette .dijitPaletteTable { - /* using padding above so that focus border isn't cutoff on moz/webkit, + /* using padding above so that focus border isn't cutoff on moz/webkit, * but using margin on IE because padding doesn't seem to work */ - padding: 0; - margin: 2px 3px 3px 3px; + padding: 0; + margin: 2px 3px 3px 3px; } .dijitColorPalette .dijitPaletteCell { - /*
    in the */ - font-size: 1px; - vertical-align: middle; - text-align: center; - background: none; + /*
    in the */ + font-size: 1px; + vertical-align: middle; + text-align: center; + background: none; } .dijitColorPalette .dijitPaletteImg { - /* Called dijitPaletteImg for back-compat, this actually wraps the color swatch with a border and padding */ - padding: 1px; /* white area between gray border and color swatch */ - border: 1px solid #999; - margin: 2px 1px; - cursor: default; - font-size: 1px; /* prevent from getting bigger just to hold a character */ + /* Called dijitPaletteImg for back-compat, this actually wraps the color swatch with a border and padding */ + padding: 1px; /* white area between gray border and color swatch */ + border: 1px solid #999; + margin: 2px 1px; + cursor: default; + font-size: 1px; /* prevent from getting bigger just to hold a character */ } .dj_gecko .dijitColorPalette .dijitPaletteImg { - padding-bottom: 0; /* workaround rendering glitch on FF, it adds an extra pixel at the bottom */ + padding-bottom: 0; /* workaround rendering glitch on FF, it adds an extra pixel at the bottom */ } .dijitColorPalette .dijitColorPaletteSwatch { - /* the actual part where the color is */ - width: 14px; - height: 12px; + /* the actual part where the color is */ + width: 14px; + height: 12px; } .dijitPaletteTable td { - padding: 0; + padding: 0; } .dijitColorPalette .dijitPaletteCell:hover .dijitPaletteImg { - /* hovered color swatch */ - border: 1px solid #000; + /* hovered color swatch */ + border: 1px solid #000; } .dijitColorPalette .dijitPaletteCell:active .dijitPaletteImg, .dijitColorPalette .dijitPaletteTable .dijitPaletteCellSelected .dijitPaletteImg { - border: 2px solid #000; - margin: 1px 0; /* reduce margin to compensate for increased border */ + border: 2px solid #000; + margin: 1px 0; /* reduce margin to compensate for increased border */ } - .dj_a11y .dijitColorPalette .dijitPaletteTable, .dj_a11y .dijitColorPalette .dijitPaletteTable * { - /* table cells are to catch events, but the swatches are in the PaletteImg behind the table */ - background-color: transparent !important; + /* table cells are to catch events, but the swatches are in the PaletteImg behind the table */ + background-color: transparent !important; } /* AccordionContainer */ .dijitAccordionContainer { - border:1px solid #b7b7b7; - border-top:0 !important; + border: 1px solid #b7b7b7; + border-top: 0 !important; } .dijitAccordionTitle { - cursor: pointer; - -webkit-tap-highlight-color: transparent; + cursor: pointer; + -webkit-tap-highlight-color: transparent; } .dijitAccordionTitleSelected { - cursor: default; + cursor: default; } /* images off, high-contrast mode styles */ .dijitAccordionTitle .arrowTextUp, .dijitAccordionTitle .arrowTextDown { - display: none; - font-size: 0.65em; - font-weight: normal !important; + display: none; + font-size: 0.65em; + font-weight: normal !important; } .dj_a11y .dijitAccordionTitle .arrowTextUp, .dj_a11y .dijitAccordionTitleSelected .arrowTextDown { - display: inline; + display: inline; } .dj_a11y .dijitAccordionTitleSelected .arrowTextUp { - display: none; + display: none; } .dijitAccordionChildWrapper { - /* this is the node whose height is adjusted */ - overflow: hidden; + /* this is the node whose height is adjusted */ + overflow: hidden; } /* Calendar */ .dijitCalendarContainer table { - width: auto; /* in case user has specified a width for the TABLE nodes, see #10553 */ - clear: both; /* clear margin created for left/right month arrows; needed on IE10 for CalendarLite */ + width: auto; /* in case user has specified a width for the TABLE nodes, see #10553 */ + clear: both; /* clear margin created for left/right month arrows; needed on IE10 for CalendarLite */ } -.dijitCalendarContainer th, .dijitCalendarContainer td { - padding: 0; - vertical-align: middle; +.dijitCalendarContainer th, +.dijitCalendarContainer td { + padding: 0; + vertical-align: middle; } .dijitCalendarMonthContainer { - text-align: center; + text-align: center; } .dijitCalendarDecrementArrow { - float: left; + float: left; } .dijitCalendarIncrementArrow { - float: right; + float: right; } .dijitCalendarYearLabel { - white-space: nowrap; /* make sure previous, current, and next year appear on same row */ + white-space: nowrap; /* make sure previous, current, and next year appear on same row */ } .dijitCalendarNextYear { - margin:0 0 0 0.55em; + margin: 0 0 0 0.55em; } .dijitCalendarPreviousYear { - margin:0 0.55em 0 0; + margin: 0 0.55em 0 0; } .dijitCalendarIncrementControl { - vertical-align: middle; + vertical-align: middle; } .dijitCalendarIncrementControl, @@ -1208,53 +1215,53 @@ body .dijitAlignClient { position: absolute; } .dijitCalendarMonthLabel, .dijitCalendarPreviousYear, .dijitCalendarNextYear { - cursor: pointer; - -webkit-tap-highlight-color: transparent; + cursor: pointer; + -webkit-tap-highlight-color: transparent; } .dijitCalendarDisabledDate { - color: gray; - text-decoration: line-through; - cursor: default; + color: gray; + text-decoration: line-through; + cursor: default; } .dijitSpacer { - /* don't display it, but make it affect the width */ - position: relative; - height: 1px; - overflow: hidden; - visibility: hidden; + /* don't display it, but make it affect the width */ + position: relative; + height: 1px; + overflow: hidden; + visibility: hidden; } /* Styling for month drop down list */ .dijitCalendarMonthMenu .dijitCalendarMonthLabel { - text-align:center; + text-align: center; } /* Menu */ .dijitMenu { - border:1px solid black; - background-color:white; + border: 1px solid black; + background-color: white; } .dijitMenuTable { - border-collapse:collapse; - border-width:0; - background-color:white; + border-collapse: collapse; + border-width: 0; + background-color: white; } /* workaround for webkit bug #8427, remove this when it is fixed upstream */ -.dj_webkit .dijitMenuTable td[colspan="2"]{ - border-right:hidden; +.dj_webkit .dijitMenuTable td[colspan="2"] { + border-right: hidden; } .dijitMenuItem { - text-align: left; - white-space: nowrap; - padding:.1em .2em; - cursor:pointer; - -webkit-tap-highlight-color: transparent; + text-align: left; + white-space: nowrap; + padding: 0.1em 0.2em; + cursor: pointer; + -webkit-tap-highlight-color: transparent; } /* @@ -1263,102 +1270,103 @@ rule below that handles the high contrast case when there's no shading. Hiding the focus border also works around webkit bug https://code.google.com/p/chromium/issues/detail?id=125779. */ .dijitMenuItem:focus { - outline: none + outline: none; } .dijitMenuPassive .dijitMenuItemHover, .dijitMenuItemSelected { - /* + /* * dijitMenuItemHover refers to actual mouse over * dijitMenuItemSelected is used after a menu has been "activated" by * clicking it, tabbing into it, or being opened from a parent menu, * and denotes that the menu item has focus or that focus is on a child * menu */ - background-color:black; - color:white; + background-color: black; + color: white; } -.dijitMenuItemIcon, .dijitMenuExpand { - background-repeat: no-repeat; +.dijitMenuItemIcon, +.dijitMenuExpand { + background-repeat: no-repeat; } .dijitMenuItemDisabled * { - /* for a disabled menu item, just set it to mostly transparent */ - opacity:0.5; - cursor:default; + /* for a disabled menu item, just set it to mostly transparent */ + opacity: 0.5; + cursor: default; } .dj_ie .dj_a11y .dijitMenuItemDisabled, .dj_ie .dj_a11y .dijitMenuItemDisabled *, .dj_ie .dijitMenuItemDisabled * { - color: gray; - filter: alpha(opacity=35); + color: gray; + filter: alpha(opacity=35); } .dijitMenuItemLabel { - vertical-align: middle; + vertical-align: middle; } .dj_a11y .dijitMenuItemSelected { - border: 1px dotted black !important; /* for 2.0 use outline instead, to prevent jitter */ + border: 1px dotted black !important; /* for 2.0 use outline instead, to prevent jitter */ } .dj_a11y .dijitMenuItemSelected .dijitMenuItemLabel { - border-width: 1px; - border-style: solid; + border-width: 1px; + border-style: solid; } .dj_ie8 .dj_a11y .dijitMenuItemLabel { - position:static; + position: static; } .dijitMenuExpandA11y { - display: none; + display: none; } .dj_a11y .dijitMenuExpandA11y { - display: inline; + display: inline; } .dijitMenuSeparator td { - border: 0; - padding: 0; + border: 0; + padding: 0; } /* separator can be two pixels -- set border of either one to 0 to have only one */ .dijitMenuSeparatorTop { - height: 50%; - margin: 0; - margin-top:3px; - font-size: 1px; + height: 50%; + margin: 0; + margin-top: 3px; + font-size: 1px; } .dijitMenuSeparatorBottom { - height: 50%; - margin: 0; - margin-bottom:3px; - font-size: 1px; + height: 50%; + margin: 0; + margin-bottom: 3px; + font-size: 1px; } /* CheckedMenuItem and RadioMenuItem */ .dijitMenuItemIconChar { - display: none; /* don't display except in high contrast mode */ - visibility: hidden; /* for high contrast mode when menuitem is unchecked: leave space for when it is checked */ + display: none; /* don't display except in high contrast mode */ + visibility: hidden; /* for high contrast mode when menuitem is unchecked: leave space for when it is checked */ } .dj_a11y .dijitMenuItemIconChar { - display: inline; /* display character in high contrast mode, since icon doesn't show */ + display: inline; /* display character in high contrast mode, since icon doesn't show */ } .dijitCheckedMenuItemChecked .dijitMenuItemIconChar, .dijitRadioMenuItemChecked .dijitMenuItemIconChar { - visibility: visible; /* menuitem is checked */ + visibility: visible; /* menuitem is checked */ } .dj_ie .dj_a11y .dijitMenuBar .dijitMenuItem { - /* so bottom border of MenuBar appears on IE7 in high-contrast mode */ - margin: 0; + /* so bottom border of MenuBar appears on IE7 in high-contrast mode */ + margin: 0; } /* StackContainer */ .dijitStackController .dijitToggleButtonChecked * { - cursor: default; /* because pressing it has no effect */ + cursor: default; /* because pressing it has no effect */ } /*** @@ -1379,11 +1387,10 @@ Main class hierarchy: } .dj_ie6 .dijitTabContainer { /* workaround IE6 problem when tall content overflows TabContainer, see editor/test_FullScreen.html */ - overflow: hidden; - + overflow: hidden; } .dijitTabContainerNoLayout { - width: 100%; /* otherwise ScrollingTabController goes to 50K pixels wide */ + width: 100%; /* otherwise ScrollingTabController goes to 50K pixels wide */ } .dijitTabContainerBottom-tabs, @@ -1391,7 +1398,7 @@ Main class hierarchy: .dijitTabContainerLeft-tabs, .dijitTabContainerRight-tabs { z-index: 1; - overflow: visible !important; /* so tabs can cover up border adjacent to container */ + overflow: visible !important; /* so tabs can cover up border adjacent to container */ } .dijitTabController { @@ -1401,147 +1408,146 @@ Main class hierarchy: .dijitTabContainerTop-container, .dijitTabContainerLeft-container, .dijitTabContainerRight-container { - z-index:0; - overflow: hidden; - border: 1px solid black; + z-index: 0; + overflow: hidden; + border: 1px solid black; } .nowrapTabStrip { - width: 50000px; - display: block; - position: relative; - text-align: left; /* just in case ancestor has non-standard setting */ + width: 50000px; + display: block; + position: relative; + text-align: left; /* just in case ancestor has non-standard setting */ z-index: 1; } .dijitTabListWrapper { - overflow: hidden; + overflow: hidden; z-index: 1; } .dj_a11y .tabStripButton img { - /* hide the icons (or rather the empty space where they normally appear) because text will appear instead */ - display: none; + /* hide the icons (or rather the empty space where they normally appear) because text will appear instead */ + display: none; } .dijitTabContainerTop-tabs { - border-bottom: 1px solid black; + border-bottom: 1px solid black; } .dijitTabContainerTop-container { - border-top: 0; + border-top: 0; } .dijitTabContainerLeft-tabs { - border-right: 1px solid black; - float: left; /* needed for IE7 RTL mode */ + border-right: 1px solid black; + float: left; /* needed for IE7 RTL mode */ } .dijitTabContainerLeft-container { - border-left: 0; + border-left: 0; } .dijitTabContainerBottom-tabs { - border-top: 1px solid black; + border-top: 1px solid black; } .dijitTabContainerBottom-container { - border-bottom: 0; + border-bottom: 0; } .dijitTabContainerRight-tabs { - border-left: 1px solid black; - float: left; /* needed for IE7 RTL mode */ + border-left: 1px solid black; + float: left; /* needed for IE7 RTL mode */ } .dijitTabContainerRight-container { - border-right: 0; + border-right: 0; } -div.dijitTabDisabled, .dj_ie div.dijitTabDisabled { - cursor: auto; +div.dijitTabDisabled, +.dj_ie div.dijitTabDisabled { + cursor: auto; } .dijitTab { - position:relative; - cursor:pointer; - -webkit-tap-highlight-color: transparent; - white-space:nowrap; - z-index:3; + position: relative; + cursor: pointer; + -webkit-tap-highlight-color: transparent; + white-space: nowrap; + z-index: 3; } .dijitTab * { - /* make tab icons and close icon line up w/text */ - vertical-align: middle; + /* make tab icons and close icon line up w/text */ + vertical-align: middle; } .dijitTabChecked { - cursor: default; /* because clicking will have no effect */ + cursor: default; /* because clicking will have no effect */ } .dijitTabContainerTop-tabs .dijitTab { - top: 1px; /* to overlap border on .dijitTabContainerTop-tabs */ + top: 1px; /* to overlap border on .dijitTabContainerTop-tabs */ } .dijitTabContainerBottom-tabs .dijitTab { - top: -1px; /* to overlap border on .dijitTabContainerBottom-tabs */ + top: -1px; /* to overlap border on .dijitTabContainerBottom-tabs */ } .dijitTabContainerLeft-tabs .dijitTab { - left: 1px; /* to overlap border on .dijitTabContainerLeft-tabs */ + left: 1px; /* to overlap border on .dijitTabContainerLeft-tabs */ } .dijitTabContainerRight-tabs .dijitTab { - left: -1px; /* to overlap border on .dijitTabContainerRight-tabs */ + left: -1px; /* to overlap border on .dijitTabContainerRight-tabs */ } - .dijitTabContainerTop-tabs .dijitTab, .dijitTabContainerBottom-tabs .dijitTab { - /* Inline-block */ - display:inline-block; /* webkit and FF3 */ + /* Inline-block */ + display: inline-block; /* webkit and FF3 */ } .tabStripButton { - z-index: 12; + z-index: 12; } .dijitTabButtonDisabled .tabStripButton { - display: none; + display: none; } - .dijitTabCloseButton { - margin-left: 1em; + margin-left: 1em; } .dijitTabCloseText { - display:none; + display: none; } .dijitTab .tabLabel { - /* make sure tabs w/close button and w/out close button are same height, even w/small (<15px) font. + /* make sure tabs w/close button and w/out close button are same height, even w/small (<15px) font. * assumes <=15px height for close button icon. */ - min-height: 15px; - display: inline-block; + min-height: 15px; + display: inline-block; } .dijitNoIcon { - /* applied to / node when there is no icon specified */ - display: none; + /* applied to / node when there is no icon specified */ + display: none; } .dj_ie6 .dijitTab .dijitNoIcon { - /* because min-height (on .tabLabel, above) doesn't work on IE6 */ - display: inline; - height: 15px; - width: 1px; + /* because min-height (on .tabLabel, above) doesn't work on IE6 */ + display: inline; + height: 15px; + width: 1px; } /* images off, high-contrast mode styles */ .dj_a11y .dijitTabCloseButton { - background-image: none !important; - width: auto !important; - height: auto !important; + background-image: none !important; + width: auto !important; + height: auto !important; } .dj_a11y .dijitTabCloseText { - display: inline; + display: inline; } .dijitTabPane, .dijitStackContainer-child, .dijitAccordionContainer-child { - /* children of TabContainer, StackContainer, and AccordionContainer shouldn't have borders + /* children of TabContainer, StackContainer, and AccordionContainer shouldn't have borders * b/c a border is already there from the TabContainer/StackContainer/AccordionContainer itself. */ border: none !important; @@ -1549,55 +1555,56 @@ div.dijitTabDisabled, .dj_ie div.dijitTabDisabled { /* InlineEditBox */ .dijitInlineEditBoxDisplayMode { - border: 1px solid transparent; /* so keyline (border) on hover can appear without screen jump */ - cursor: text; + border: 1px solid transparent; /* so keyline (border) on hover can appear without screen jump */ + cursor: text; } .dj_a11y .dijitInlineEditBoxDisplayMode, .dj_ie6 .dijitInlineEditBoxDisplayMode { - /* except that IE6 doesn't support transparent borders, nor does high contrast mode */ - border: none; + /* except that IE6 doesn't support transparent borders, nor does high contrast mode */ + border: none; } .dijitInlineEditBoxDisplayModeHover, .dj_a11y .dijitInlineEditBoxDisplayModeHover, .dj_ie6 .dijitInlineEditBoxDisplayModeHover { - /* An InlineEditBox in view mode (click this to edit the text) */ - background-color: #e2ebf2; - border: solid 1px black; + /* An InlineEditBox in view mode (click this to edit the text) */ + background-color: #e2ebf2; + border: solid 1px black; } .dijitInlineEditBoxDisplayModeDisabled { - cursor: default; + cursor: default; } /* Tree */ .dijitTree { - overflow: auto; /* for scrollbars when Tree has a height setting, and to prevent wrapping around float elements, see #11491 */ - -webkit-tap-highlight-color: transparent; + overflow: auto; /* for scrollbars when Tree has a height setting, and to prevent wrapping around float elements, see #11491 */ + -webkit-tap-highlight-color: transparent; } .dijitTreeContainer { - float: left; /* for correct highlighting during horizontal scroll, see #16132 */ + float: left; /* for correct highlighting during horizontal scroll, see #16132 */ } .dijitTreeIndent { - /* amount to indent each tree node (relative to parent node) */ - width: 19px; + /* amount to indent each tree node (relative to parent node) */ + width: 19px; } -.dijitTreeRow, .dijitTreeContent { - white-space: nowrap; +.dijitTreeRow, +.dijitTreeContent { + white-space: nowrap; } .dj_ie .dijitTreeLabel:focus { - /* workaround IE9 behavior where down arrowing through TreeNodes doesn't show focus outline */ - outline: 1px dotted black; + /* workaround IE9 behavior where down arrowing through TreeNodes doesn't show focus outline */ + outline: 1px dotted black; } .dijitTreeRow img { - /* make the expando and folder icons line up with the label */ - vertical-align: middle; + /* make the expando and folder icons line up with the label */ + vertical-align: middle; } .dijitTreeContent { @@ -1605,582 +1612,583 @@ div.dijitTabDisabled, .dj_ie div.dijitTabDisabled { } .dijitExpandoText { - display: none; + display: none; } .dj_a11y .dijitExpandoText { - display: inline; - padding-left: 10px; - padding-right: 10px; - font-family: monospace; - border-style: solid; - border-width: thin; - cursor: pointer; + display: inline; + padding-left: 10px; + padding-right: 10px; + font-family: monospace; + border-style: solid; + border-width: thin; + cursor: pointer; } .dijitTreeLabel { - margin: 0 4px; + margin: 0 4px; } /* Dialog */ .dijitDialog { - position: absolute; - z-index: 999; - overflow: hidden; /* override overflow: auto; from ContentPane to make dragging smoother */ + position: absolute; + z-index: 999; + overflow: hidden; /* override overflow: auto; from ContentPane to make dragging smoother */ } .dijitDialogTitleBar { - cursor: move; + cursor: move; } .dijitDialogFixed .dijitDialogTitleBar { - cursor:default; + cursor: default; } .dijitDialogCloseIcon { - cursor: pointer; - -webkit-tap-highlight-color: transparent; + cursor: pointer; + -webkit-tap-highlight-color: transparent; } .dijitDialogPaneContent { - -webkit-overflow-scrolling: touch; + -webkit-overflow-scrolling: touch; } .dijitDialogUnderlayWrapper { - position: absolute; - left: 0; - top: 0; - z-index: 998; - display: none; - background: transparent !important; + position: absolute; + left: 0; + top: 0; + z-index: 998; + display: none; + background: transparent !important; } .dijitDialogUnderlay { - background: #eee; - opacity: 0.5; + background: #eee; + opacity: 0.5; } .dj_ie .dijitDialogUnderlay { - filter: alpha(opacity=50); + filter: alpha(opacity=50); } /* images off, high-contrast mode styles */ .dj_a11y .dijitSpinnerButtonContainer, .dj_a11y .dijitDialog { - opacity: 1 !important; - background-color: white !important; + opacity: 1 !important; + background-color: white !important; } .dijitDialog .closeText { - display:none; - /* for the onhover border in high contrast on IE: */ - position:absolute; + display: none; + /* for the onhover border in high contrast on IE: */ + position: absolute; } .dj_a11y .dijitDialog .closeText { - display:inline; + display: inline; } /* Slider */ .dijitSliderMoveable { - z-index:99; - position:absolute !important; - display:block; - vertical-align:middle; + z-index: 99; + position: absolute !important; + display: block; + vertical-align: middle; } .dijitSliderMoveableH { - right:0; + right: 0; } .dijitSliderMoveableV { - right:50%; + right: 50%; } .dj_a11y div.dijitSliderImageHandle, .dijitSliderImageHandle { - margin:0; - padding:0; - position:relative !important; - border:8px solid gray; - width:0; - height:0; - cursor: pointer; - -webkit-tap-highlight-color: transparent; + margin: 0; + padding: 0; + position: relative !important; + border: 8px solid gray; + width: 0; + height: 0; + cursor: pointer; + -webkit-tap-highlight-color: transparent; } .dj_iequirks .dj_a11y .dijitSliderImageHandle { - font-size: 0; + font-size: 0; } .dj_ie7 .dijitSliderImageHandle { - overflow: hidden; /* IE7 workaround to make slider handle VISIBLE in non-a11y mode */ + overflow: hidden; /* IE7 workaround to make slider handle VISIBLE in non-a11y mode */ } .dj_ie7 .dj_a11y .dijitSliderImageHandle { - overflow: visible; /* IE7 workaround to make slider handle VISIBLE in a11y mode */ + overflow: visible; /* IE7 workaround to make slider handle VISIBLE in a11y mode */ } .dj_a11y .dijitSliderFocused .dijitSliderImageHandle { - border:4px solid #000; - height:8px; - width:8px; + border: 4px solid #000; + height: 8px; + width: 8px; } .dijitSliderImageHandleV { - top:-8px; - right: -50%; + top: -8px; + right: -50%; } .dijitSliderImageHandleH { - left:50%; - top:-5px; - vertical-align:top; + left: 50%; + top: -5px; + vertical-align: top; } .dijitSliderBar { - border-style:solid; - border-color:black; - cursor: pointer; - -webkit-tap-highlight-color: transparent; + border-style: solid; + border-color: black; + cursor: pointer; + -webkit-tap-highlight-color: transparent; } .dijitSliderBarContainerV { - position:relative; - height:100%; - z-index:1; + position: relative; + height: 100%; + z-index: 1; } .dijitSliderBarContainerH { - position:relative; - z-index:1; + position: relative; + z-index: 1; } .dijitSliderBarH { - height:4px; - border-width:1px 0; + height: 4px; + border-width: 1px 0; } .dijitSliderBarV { - width:4px; - border-width:0 1px; + width: 4px; + border-width: 0 1px; } .dijitSliderProgressBar { - background-color:red; - z-index:1; + background-color: red; + z-index: 1; } .dijitSliderProgressBarV { - position:static !important; - height:0; - vertical-align:top; - text-align:left; + position: static !important; + height: 0; + vertical-align: top; + text-align: left; } .dijitSliderProgressBarH { - position:absolute !important; - width:0; - vertical-align:middle; - overflow:visible; + position: absolute !important; + width: 0; + vertical-align: middle; + overflow: visible; } .dijitSliderRemainingBar { - overflow:hidden; - background-color:transparent; - z-index:1; + overflow: hidden; + background-color: transparent; + z-index: 1; } .dijitSliderRemainingBarV { - height:100%; - text-align:left; + height: 100%; + text-align: left; } .dijitSliderRemainingBarH { - width:100% !important; + width: 100% !important; } /* the slider bumper is the space consumed by the slider handle when it hangs over an edge */ .dijitSliderBumper { - overflow:hidden; - z-index:1; + overflow: hidden; + z-index: 1; } .dijitSliderBumperV { - width:4px; - height:8px; - border-width:0 1px; + width: 4px; + height: 8px; + border-width: 0 1px; } .dijitSliderBumperH { - width:8px; - height:4px; - border-width:1px 0; + width: 8px; + height: 4px; + border-width: 1px 0; } .dijitSliderBottomBumper, .dijitSliderLeftBumper { - background-color:red; + background-color: red; } .dijitSliderTopBumper, .dijitSliderRightBumper { - background-color:transparent; + background-color: transparent; } .dijitSliderDecoration { - text-align:center; + text-align: center; } .dijitSliderDecorationC, .dijitSliderDecorationV { - position: relative; /* needed for IE+quirks+RTL+vertical (rendering bug) but add everywhere for custom styling consistency but this messes up IE horizontal sliders */ + position: relative; /* needed for IE+quirks+RTL+vertical (rendering bug) but add everywhere for custom styling consistency but this messes up IE horizontal sliders */ } .dijitSliderDecorationH { - width: 100%; + width: 100%; } .dijitSliderDecorationV { - height: 100%; - white-space: nowrap; + height: 100%; + white-space: nowrap; } .dijitSliderButton { - font-family:monospace; - margin:0; - padding:0; - display:block; + font-family: monospace; + margin: 0; + padding: 0; + display: block; } .dj_a11y .dijitSliderButtonInner { - visibility:visible !important; + visibility: visible !important; } .dijitSliderButtonContainer { - text-align:center; - height:0; /* ??? */ + text-align: center; + height: 0; /* ??? */ } .dijitSliderButtonContainer * { - cursor: pointer; - -webkit-tap-highlight-color: transparent; + cursor: pointer; + -webkit-tap-highlight-color: transparent; } .dijitSlider .dijitButtonNode { - padding:0; - display:block; + padding: 0; + display: block; } .dijitRuleContainer { - position:relative; - overflow:visible; + position: relative; + overflow: visible; } .dijitRuleContainerV { - height:100%; - line-height:0; - float:left; - text-align:left; + height: 100%; + line-height: 0; + float: left; + text-align: left; } .dj_opera .dijitRuleContainerV { - line-height:2%; + line-height: 2%; } .dj_ie .dijitRuleContainerV { - line-height:normal; + line-height: normal; } .dj_gecko .dijitRuleContainerV { - margin:0 0 1px 0; /* mozilla bug workaround for float:left,height:100% block elements */ + margin: 0 0 1px 0; /* mozilla bug workaround for float:left,height:100% block elements */ } .dijitRuleMark { - position:absolute; - border:1px solid black; - line-height:0; - height:100%; + position: absolute; + border: 1px solid black; + line-height: 0; + height: 100%; } .dijitRuleMarkH { - width:0; - border-top-width:0 !important; - border-bottom-width:0 !important; - border-left-width:0 !important; + width: 0; + border-top-width: 0 !important; + border-bottom-width: 0 !important; + border-left-width: 0 !important; } .dijitRuleLabelContainer { - position:absolute; + position: absolute; } .dijitRuleLabelContainerH { - text-align:center; - display:inline-block; + text-align: center; + display: inline-block; } .dijitRuleLabelH { - position:relative; - left:-50%; + position: relative; + left: -50%; } .dijitRuleLabelV { - /* so that long labels don't overflow to multiple rows, or overwrite slider itself */ - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; + /* so that long labels don't overflow to multiple rows, or overwrite slider itself */ + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; } .dijitRuleMarkV { - height:0; - border-right-width:0 !important; - border-bottom-width:0 !important; - border-left-width:0 !important; - width:100%; - left:0; + height: 0; + border-right-width: 0 !important; + border-bottom-width: 0 !important; + border-left-width: 0 !important; + width: 100%; + left: 0; } .dj_ie .dijitRuleLabelContainerV { - margin-top:-.55em; + margin-top: -0.55em; } .dj_a11y .dijitSliderReadOnly, .dj_a11y .dijitSliderDisabled { - opacity:0.6; + opacity: 0.6; } .dj_ie .dj_a11y .dijitSliderReadOnly .dijitSliderBar, .dj_ie .dj_a11y .dijitSliderDisabled .dijitSliderBar { - filter: alpha(opacity=40); + filter: alpha(opacity=40); } /* + and - Slider buttons: override theme settings to display icons */ .dj_a11y .dijitSlider .dijitSliderButtonContainer div { - font-family: monospace; /* otherwise hyphen is larger and more vertically centered */ - font-size: 1em; - line-height: 1em; - height: auto; - width: auto; - margin: 0 4px; + font-family: monospace; /* otherwise hyphen is larger and more vertically centered */ + font-size: 1em; + line-height: 1em; + height: auto; + width: auto; + margin: 0 4px; } /* Icon-only buttons (often in toolbars) still display the text in high-contrast mode */ .dj_a11y .dijitButtonContents .dijitButtonText, .dj_a11y .dijitTab .tabLabel { - display: inline !important; + display: inline !important; } .dj_a11y .dijitSelect .dijitButtonText { - display: inline-block !important; + display: inline-block !important; } /* TextArea, SimpleTextArea */ .dijitTextArea { - width:100%; - overflow-y: auto; /* w/out this IE's SimpleTextArea goes to overflow: scroll */ + width: 100%; + overflow-y: auto; /* w/out this IE's SimpleTextArea goes to overflow: scroll */ } .dijitTextArea[cols] { - width:auto; /* SimpleTextArea cols */ + width: auto; /* SimpleTextArea cols */ } .dj_ie .dijitTextAreaCols { - width:auto; + width: auto; } .dijitExpandingTextArea { - /* for auto exanding textarea (called Textarea currently, rename for 2.0) don't want to display the grip to resize */ - resize: none; + /* for auto exanding textarea (called Textarea currently, rename for 2.0) don't want to display the grip to resize */ + resize: none; } - /* Toolbar * Note that other toolbar rules (for objects in toolbars) are scattered throughout this file. */ .dijitToolbarSeparator { - height: 18px; - width: 5px; - padding: 0 1px; - margin: 0; + height: 18px; + width: 5px; + padding: 0 1px; + margin: 0; } /* Editor */ .dijitIEFixedToolbar { - position:absolute; - /* top:0; */ - top: expression(eval((document.documentElement||document.body).scrollTop)); + position: absolute; + /* top:0; */ + top: expression(eval((document.documentElement||document.body) .scrollTop)); } .dijitEditor { - display: block; /* prevents glitch on FF with InlineEditBox, see #8404 */ + display: block; /* prevents glitch on FF with InlineEditBox, see #8404 */ } .dijitEditorDisabled, .dijitEditorReadOnly { - color: gray; + color: gray; } /* TimePicker */ .dijitTimePicker { - background-color: white; + background-color: white; } .dijitTimePickerItem { - cursor:pointer; - -webkit-tap-highlight-color: transparent; + cursor: pointer; + -webkit-tap-highlight-color: transparent; } .dijitTimePickerItemHover { - background-color:gray; - color:white; + background-color: gray; + color: white; } .dijitTimePickerItemSelected { - font-weight:bold; - color:#333; - background-color:#b7cdee; + font-weight: bold; + color: #333; + background-color: #b7cdee; } .dijitTimePickerItemDisabled { - color:gray; - text-decoration:line-through; + color: gray; + text-decoration: line-through; } .dijitTimePickerItemInner { - text-align:center; - border:0; - padding:2px 8px 2px 8px; + text-align: center; + border: 0; + padding: 2px 8px 2px 8px; } .dijitTimePickerTick, .dijitTimePickerMarker { - border-bottom:1px solid gray; + border-bottom: 1px solid gray; } .dijitTimePicker .dijitDownArrowButton { - border-top: none !important; + border-top: none !important; } .dijitTimePickerTick { - color:#CCC; + color: #ccc; } .dijitTimePickerMarker { - color:black; - background-color:#CCC; + color: black; + background-color: #ccc; } .dj_a11y .dijitTimePickerItemSelected .dijitTimePickerItemInner { - border: solid 4px black; + border: solid 4px black; } .dj_a11y .dijitTimePickerItemHover .dijitTimePickerItemInner { - border: dashed 4px black; + border: dashed 4px black; } - .dijitToggleButtonIconChar { - /* character (instead of icon) to show that ToggleButton is checked */ - display:none !important; + /* character (instead of icon) to show that ToggleButton is checked */ + display: none !important; } .dj_a11y .dijitToggleButton .dijitToggleButtonIconChar { - display:inline !important; - visibility:hidden; + display: inline !important; + visibility: hidden; } -.dj_ie6 .dijitToggleButtonIconChar, .dj_ie6 .tabStripButton .dijitButtonText { - font-family: "Arial Unicode MS"; /* otherwise the a11y character (checkmark, arrow, etc.) appears as a box */ +.dj_ie6 .dijitToggleButtonIconChar, +.dj_ie6 .tabStripButton .dijitButtonText { + font-family: "Arial Unicode MS"; /* otherwise the a11y character (checkmark, arrow, etc.) appears as a box */ } .dj_a11y .dijitToggleButtonChecked .dijitToggleButtonIconChar { - display: inline !important; /* In high contrast mode, display the check symbol */ - visibility:visible !important; + display: inline !important; /* In high contrast mode, display the check symbol */ + visibility: visible !important; } .dijitArrowButtonChar { - display:none !important; + display: none !important; } .dj_a11y .dijitArrowButtonChar { - display:inline !important; + display: inline !important; } .dj_a11y .dijitDropDownButton .dijitArrowButtonInner, .dj_a11y .dijitComboButton .dijitArrowButtonInner { - display:none !important; + display: none !important; } /* Select */ .dj_a11y .dijitSelect { - border-collapse: separate !important; - border-width: 1px; - border-style: solid; + border-collapse: separate !important; + border-width: 1px; + border-style: solid; } .dj_ie .dijitSelect { - vertical-align: middle; /* Set this back for what we hack in dijit inline */ + vertical-align: middle; /* Set this back for what we hack in dijit inline */ } .dj_ie6 .dijitSelect .dijitValidationContainer, .dj_ie8 .dijitSelect .dijitButtonText { - vertical-align: top; + vertical-align: top; } .dj_ie6 .dijitTextBox .dijitInputContainer, .dj_iequirks .dijitTextBox .dijitInputContainer, .dj_ie6 .dijitTextBox .dijitArrowButtonInner, .dj_ie6 .dijitSpinner .dijitSpinnerButtonInner, .dijitSelect .dijitSelectLabel { - vertical-align: baseline; + vertical-align: baseline; } .dijitNumberTextBox { - text-align: left; - direction: ltr; + text-align: left; + direction: ltr; } .dijitNumberTextBox .dijitInputInner { - text-align: inherit; /* input */ + text-align: inherit; /* input */ } .dijitNumberTextBox input.dijitInputInner, .dijitCurrencyTextBox input.dijitInputInner, .dijitSpinner input.dijitInputInner { - text-align: right; + text-align: right; } -.dj_ie8 .dijitNumberTextBox input.dijitInputInner, .dj_ie9 .dijitNumberTextBox input.dijitInputInner, -.dj_ie8 .dijitCurrencyTextBox input.dijitInputInner, .dj_ie9 .dijitCurrencyTextBox input.dijitInputInner, -.dj_ie8 .dijitSpinner input.dijitInputInner, .dj_ie9 .dijitSpinner input.dijitInputInner { - /* workaround bug where caret invisible in empty textboxes */ - padding-right: 1px !important; +.dj_ie8 .dijitNumberTextBox input.dijitInputInner, +.dj_ie9 .dijitNumberTextBox input.dijitInputInner, +.dj_ie8 .dijitCurrencyTextBox input.dijitInputInner, +.dj_ie9 .dijitCurrencyTextBox input.dijitInputInner, +.dj_ie8 .dijitSpinner input.dijitInputInner, +.dj_ie9 .dijitSpinner input.dijitInputInner { + /* workaround bug where caret invisible in empty textboxes */ + padding-right: 1px !important; } .dijitToolbar .dijitSelect { - margin: 0; + margin: 0; } .dj_webkit .dijitToolbar .dijitSelect { - padding-left: 0.3em; + padding-left: 0.3em; } .dijitSelect .dijitButtonContents { - padding: 0; - white-space: nowrap; - text-align: left; - border-style: none solid none none; - border-width: 1px; + padding: 0; + white-space: nowrap; + text-align: left; + border-style: none solid none none; + border-width: 1px; } .dijitSelectFixedWidth .dijitButtonContents { - width: 100%; + width: 100%; } .dijitSelectMenu .dijitMenuItemIcon { - /* avoid blank area in left side of menu (since we have no icons) */ - display:none; + /* avoid blank area in left side of menu (since we have no icons) */ + display: none; } .dj_ie6 .dijitSelectMenu .dijitMenuItemLabel, .dj_ie7 .dijitSelectMenu .dijitMenuItemLabel { - /* Set back to static due to bug in ie6/ie7 - See Bug #9651 */ - position: static; + /* Set back to static due to bug in ie6/ie7 - See Bug #9651 */ + position: static; } /* Fix the baseline of our label (for multi-size font elements) */ -.dijitSelectLabel * -{ - vertical-align: baseline; +.dijitSelectLabel * { + vertical-align: baseline; } /* Styling for the currently-selected option (rich text can mess this up) */ .dijitSelectSelectedOption * { - font-weight: bold; + font-weight: bold; } /* Fix the styling of the dropdown menu to be more combobox-like */ .dijitSelectMenu { - border-width: 1px; + border-width: 1px; } /* Used in cases, such as FullScreen plugin, when we need to force stuff to static positioning. */ .dijitForceStatic { - position: static !important; + position: static !important; } /**** Disabled cursor *****/ @@ -2188,17 +2196,17 @@ div.dijitTabDisabled, .dj_ie div.dijitTabDisabled { .dijitDisabled *, .dijitReadOnly, .dijitDisabled { - /* a region the user would be able to click on, but it's disabled */ - cursor: default; + /* a region the user would be able to click on, but it's disabled */ + cursor: default; } /* Drag and Drop */ .dojoDndItem { - padding: 2px; /* will be replaced by border during drag over (dojoDndItemBefore, dojoDndItemAfter) */ + padding: 2px; /* will be replaced by border during drag over (dojoDndItemBefore, dojoDndItemAfter) */ - /* Prevent magnifying-glass text selection icon to appear on mobile webkit as it causes a touchout event */ - -webkit-touch-callout: none; - -webkit-user-select: none; /* Disable selection/Copy of UIWebView */ + /* Prevent magnifying-glass text selection icon to appear on mobile webkit as it causes a touchout event */ + -webkit-touch-callout: none; + -webkit-user-select: none; /* Disable selection/Copy of UIWebView */ } .dojoDndHorizontal .dojoDndItem { /* make contents of horizontal container be side by side, rather than vertical */ @@ -2207,7 +2215,7 @@ div.dijitTabDisabled, .dj_ie div.dijitTabDisabled { .dojoDndItemBefore, .dojoDndItemAfter { - border: 0px solid #369; + border: 0px solid #369; } .dojoDndItemBefore { border-width: 2px 0 0 0; @@ -2227,14 +2235,14 @@ div.dijitTabDisabled, .dj_ie div.dijitTabDisabled { } .dojoDndItemOver { - cursor:pointer; + cursor: pointer; } -.dj_gecko .dijitArrowButtonInner INPUT, -.dj_gecko INPUT.dijitArrowButtonInner { - -moz-user-focus:ignore; +.dj_gecko .dijitArrowButtonInner input, +.dj_gecko input.dijitArrowButtonInner { + -moz-user-focus: ignore; } .dijitFocused .dijitMenuItemShortcutKey { - text-decoration: underline; + text-decoration: underline; } /* Dijit custom styling */ @@ -2256,10 +2264,15 @@ div.dijitTabDisabled, .dj_ie div.dijitTabDisabled { /* Global Bootstrap changes */ /* Client defaults and helpers */ -.mx-dataview-content, .mx-scrollcontainer-wrapper:not(.mx-scrollcontainer-nested), .mx-tabcontainer-content, .mx-grid-content { +.mx-dataview-content, +.mx-scrollcontainer-wrapper:not(.mx-scrollcontainer-nested), +.mx-tabcontainer-content, +.mx-grid-content { -webkit-overflow-scrolling: touch; } -html, body, #content { +html, +body, +#content { height: 100%; } #content > .mx-page { @@ -2287,7 +2300,7 @@ html, body, #content { } .mx-table th.nopadding, .mx-table td.nopadding { - padding: 0; + padding: 0; } .mx-offscreen { @@ -2317,7 +2330,6 @@ html, body, #content { background: url(data:image/gif;base64,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); } - /* Bacause we use checkboxes without labels, align them with other widgets. */ input[type="checkbox"] { margin: 9px 0; @@ -2365,18 +2377,18 @@ input[type="checkbox"] { white-space: pre-line; } -.mx-compound-control { - display: flex; -} - -.mx-compound-control button { - margin-left: 5px; -} +//.mx-compound-control { +// display: flex; +//} -[dir="rtl"] .mx-compound-control button { - margin-left: 0; - margin-right: 5px; -} +//.mx-compound-control button { +// margin-left: 5px; +//} +// +//[dir="rtl"] .mx-compound-control button { +// margin-left: 0; +// margin-right: 5px; +//} .mx-tooltip { margin: 10px; @@ -2388,7 +2400,9 @@ input[type="checkbox"] { .mx-tooltip-prepare { height: 24px; padding: 8px; - background: transparent url(data:image/gif;base64,R0lGODlhGAAYAMQdAKXZ8nfF64TL7QuX3Fe45zaq4hOb3fL6/fr9/rri9dXt+ZrU8Cym4Umy5cHl9uPz+2K86Oj1/Nzw+rDd9M3q+JDQ72rA6iOi3+34/ECu48jo9x2f3gWV2////wAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUJFNkU4NEZCNEVDMTFFODk3MDBBNUU1RUM4Qjg3QTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUJFNkU4NTBCNEVDMTFFODk3MDBBNUU1RUM4Qjg3QTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFQkU2RTg0REI0RUMxMUU4OTcwMEE1RTVFQzhCODdBNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFQkU2RTg0RUI0RUMxMUU4OTcwMEE1RTVFQzhCODdBNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6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) no-repeat scroll center center; + background: transparent + url(data:image/gif;base64,R0lGODlhGAAYAMQdAKXZ8nfF64TL7QuX3Fe45zaq4hOb3fL6/fr9/rri9dXt+ZrU8Cym4Umy5cHl9uPz+2K86Oj1/Nzw+rDd9M3q+JDQ72rA6iOi3+34/ECu48jo9x2f3gWV2////wAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUJFNkU4NEZCNEVDMTFFODk3MDBBNUU1RUM4Qjg3QTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUJFNkU4NTBCNEVDMTFFODk3MDBBNUU1RUM4Qjg3QTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFQkU2RTg0REI0RUMxMUU4OTcwMEE1RTVFQzhCODdBNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFQkU2RTg0RUI0RUMxMUU4OTcwMEE1RTVFQzhCODdBNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6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) + no-repeat scroll center center; } .mx-tooltip-content .table th, .mx-tooltip-content .table td { @@ -2400,7 +2414,8 @@ input[type="checkbox"] { } .mx-tabcontainer-content.loading { min-height: 48px; - background: url(data:image/gif;base64,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) no-repeat center center; + background: url(data:image/gif;base64,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) + no-repeat center center; background-size: 32px 32px; } .mx-tabcontainer-tabs { @@ -2431,7 +2446,8 @@ input[type="checkbox"] { padding: 8px; overflow: hidden; /* to prevent any margin from escaping grid and foobaring our size calculations */ } -.mx-grid-controlbar, .mx-grid-searchbar { +.mx-grid-controlbar, +.mx-grid-searchbar { display: flex; justify-content: space-between; flex-wrap: wrap; @@ -2460,7 +2476,8 @@ input[type="checkbox"] { margin-left: auto; } -.mx-grid-toolbar, .mx-grid-search-inputs { +.mx-grid-toolbar, +.mx-grid-search-inputs { margin-right: 5px; flex: 1; } @@ -2521,7 +2538,8 @@ input[type="checkbox"] { position: absolute; } -.mx-calendar, .mx-calendar-month-dropdown { +.mx-calendar, +.mx-calendar-month-dropdown { user-select: none; } @@ -2536,7 +2554,8 @@ input[type="checkbox"] { visibility: hidden; } -.mx-calendar, .mx-calendar-month-dropdown-options { +.mx-calendar, +.mx-calendar-month-dropdown-options { border: 1px solid lightgrey; background-color: white; } @@ -2556,7 +2575,8 @@ input[type="checkbox"] { margin-bottom: 0; } -.mx-datagrid th, .mx-datagrid td { +.mx-datagrid th, +.mx-datagrid td { padding: 8px; line-height: 1.42857143; vertical-align: bottom; @@ -2630,14 +2650,18 @@ input[type="checkbox"] { width: 90%; animation: placeholderGradient 1s linear infinite; border-radius: 4px; - background: #F5F5F5; - background: repeating-linear-gradient(to right, #F5F5F5 0%, #F5F5F5 5%, #F9F9F9 50%, #F5F5F5 95%, #F5F5F5 100%); + background: #f5f5f5; + background: repeating-linear-gradient(to right, #f5f5f5 0%, #f5f5f5 5%, #f9f9f9 50%, #f5f5f5 95%, #f5f5f5 100%); background-size: 200px 100px; animation-fill-mode: both; } @keyframes placeholderGradient { - 0% { background-position: 100px 0; } - 100% { background-position: -100px 0; } + 0% { + background-position: 100px 0; + } + 100% { + background-position: -100px 0; + } } .mx-datagrid-table-resizing th, @@ -2732,7 +2756,6 @@ input[type="checkbox"] { height: 16px; } - .mx-navigationtree .navbar-inner { padding-left: 0; padding-right: 0; @@ -2740,12 +2763,12 @@ input[type="checkbox"] { .mx-navigationtree ul { list-style: none; } -.mx-navigationtree ul li { - border-bottom: 1px solid #dfe6ea; -} -.mx-navigationtree li:last-child { - border-style: none; -} +//.mx-navigationtree ul li { +// border-bottom: 1px solid #dfe6ea; +//} +//.mx-navigationtree li:last-child { +// border-style: none; +//} .mx-navigationtree a { display: block; padding: 5px 10px; @@ -2754,9 +2777,9 @@ input[type="checkbox"] { text-decoration: none; } .mx-navigationtree a.active { - color: #FFF; + color: #fff; text-shadow: none; - background: #3498DB; + background: #3498db; border-radius: 3px; } .mx-navigationtree .mx-navigationtree-collapsed ul { @@ -2766,9 +2789,9 @@ input[type="checkbox"] { margin: 0; padding: 0; } -.mx-navigationtree ul li { - padding: 5px 0; -} +//.mx-navigationtree ul li { +// padding: 5px 0; +//} .mx-navigationtree ul li ul { padding: 0; margin-left: 10px; @@ -2961,7 +2984,7 @@ input[type="checkbox"] { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; } -.mx-dropdown-list-striped > li:nth-child(2n+1) { +.mx-dropdown-list-striped > li:nth-child(2n + 1) { background: #f9f9f9; } .mx-dropdown-list > li:hover { @@ -3027,7 +3050,7 @@ body[dir="rtl"] .mx-header-left { // background: #f5f5f5; //} .mx-listview > ul > li.selected { -// background: #eee; + // background: #eee; } .mx-listview-clickable > ul > li { cursor: pointer; @@ -3090,7 +3113,8 @@ body[dir="rtl"] .mx-header-left { display: inline-block; width: 16px; height: 16px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKNJREFUeNpi/P//P8NgAUwMgwiMOmbUMaOOGXXMqGNGHTPYHMOCTfDs2bMeQKoOiI1BXCBuMjY23kFrdYzoTQigRm8gtQWLG0OBBqyhlTpc0dSOIxTraKwOq2PUcWhWp7E6rI65iUPzTRqrw+qYGhyam2isDtMxwES1CUgFAfFxqBCIDkJPbNRWhzU3jRZ6o44ZdcyoY0YdM+qYUccMUscABBgAUXpEjE/Bs/IAAAAASUVORK5CYII=) no-repeat center center; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKNJREFUeNpi/P//P8NgAUwMgwiMOmbUMaOOGXXMqGNGHTPYHMOCTfDs2bMeQKoOiI1BXCBuMjY23kFrdYzoTQigRm8gtQWLG0OBBqyhlTpc0dSOIxTraKwOq2PUcWhWp7E6rI65iUPzTRqrw+qYGhyam2isDtMxwES1CUgFAfFxqBCIDkJPbNRWhzU3jRZ6o44ZdcyoY0YdM+qYUccMUscABBgAUXpEjE/Bs/IAAAAASUVORK5CYII=) + no-repeat center center; background-size: 16px 16px; vertical-align: middle; } @@ -3101,8 +3125,8 @@ body[dir="rtl"] .mx-header-left { .mx-navigationlist li:hover, .mx-navigationlist li:focus, .mx-navigationlist li.active { - color: #FFF; - background-color: #3498DB; + color: #fff; + background-color: #3498db; } .mx-navigationlist * { cursor: pointer; @@ -3312,7 +3336,7 @@ body[dir="rtl"] .mx-header-left { width: 360px; height: 100%; z-index: 20000; - box-shadow: -1px 0 5px rgba(28,59,86,.2); + box-shadow: -1px 0 5px rgba(28, 59, 86, 0.2); } .mx-demouserswitcher-content { padding: 80px 40px 20px; @@ -3320,7 +3344,8 @@ body[dir="rtl"] .mx-header-left { color: #387ea2; font-size: 14px; overflow: auto; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOgAAABgCAYAAAAXSj7NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0MzkwOTREMDQ2NEYxMUU0QTQ4MUI5NTNGMUQ3QzE5NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0MzkwOTREMTQ2NEYxMUU0QTQ4MUI5NTNGMUQ3QzE5NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc0REMyMUZGNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc0REMyMjAwNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g1tRlwAAEFFJREFUeNrsnYl3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) top right no-repeat #1b3149; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOgAAABgCAYAAAAXSj7NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0MzkwOTREMDQ2NEYxMUU0QTQ4MUI5NTNGMUQ3QzE5NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0MzkwOTREMTQ2NEYxMUU0QTQ4MUI5NTNGMUQ3QzE5NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc0REMyMUZGNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc0REMyMjAwNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g1tRlwAAEFFJREFUeNrsnYl3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) + top right no-repeat #1b3149; /* background-attachement local is not supported on IE8 * when this is part of background the complete background is ignored */ background-attachment: local; @@ -3367,8 +3392,9 @@ body[dir="rtl"] .mx-header-left { cursor: pointer; border-top-left-radius: 3px; border-bottom-left-radius: 3px; - box-shadow: -1px 0 5px rgba(28,59,86,.2); - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NERDMjFGRDQ2NEMxMUU0QTQ4MUI5NTNGMUQ3QzE5NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NERDMjFGRTQ2NEMxMUU0QTQ4MUI5NTNGMUQ3QzE5NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc0REMyMUZCNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc0REMyMUZDNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1ZovNAAAAWdJREFUeNqM1M0rRFEYx/E7Y5qIQpOUbIiymQWysBgvJVJK2VgryZQtKSULZelPsB0LZaNZjJUNK1FskJqUvCS3NAsZc3zP9NziOOfeeepTc8/c8+vc8xZTSnmOakEGKdzgDBXXy54OMsSwjpL6W9cYsrxfZWvcUu7y0VdLUCc+VXgd2oLixpfOIOmF17TtHTOozYuupCxAaNB9DUEfeDUbE8bzEXxZerP00l8hh3LUiHTIMr6N9j2ksYoihv/1deyLSVzKKm1jEW+WfZV2Lf8gskjIcwcWpOM++pHCFPLosgWtoCyd7jCPOjzhGHHLyDPY1achaJhDxRj6rBwJXUuoN0IG8IIv7OiGBjxadvAITuT3rex6c0SbKASflnUcBT3JTThAjyWkGUVsBEEFR5CerzXpNIacrFIrJnCBB3muBvkhB1TP27hM/Lvx3zl6gxHqu6c74kiU8IxGjKJdLrrT3xfdjwADAJaMxP2bvD2BAAAAAElFTkSuQmCC) center center no-repeat #1b3149; + box-shadow: -1px 0 5px rgba(28, 59, 86, 0.2); + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NERDMjFGRDQ2NEMxMUU0QTQ4MUI5NTNGMUQ3QzE5NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NERDMjFGRTQ2NEMxMUU0QTQ4MUI5NTNGMUQ3QzE5NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc0REMyMUZCNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc0REMyMUZDNDY0QzExRTRBNDgxQjk1M0YxRDdDMTk3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1ZovNAAAAWdJREFUeNqM1M0rRFEYx/E7Y5qIQpOUbIiymQWysBgvJVJK2VgryZQtKSULZelPsB0LZaNZjJUNK1FskJqUvCS3NAsZc3zP9NziOOfeeepTc8/c8+vc8xZTSnmOakEGKdzgDBXXy54OMsSwjpL6W9cYsrxfZWvcUu7y0VdLUCc+VXgd2oLixpfOIOmF17TtHTOozYuupCxAaNB9DUEfeDUbE8bzEXxZerP00l8hh3LUiHTIMr6N9j2ksYoihv/1deyLSVzKKm1jEW+WfZV2Lf8gskjIcwcWpOM++pHCFPLosgWtoCyd7jCPOjzhGHHLyDPY1achaJhDxRj6rBwJXUuoN0IG8IIv7OiGBjxadvAITuT3rex6c0SbKASflnUcBT3JTThAjyWkGUVsBEEFR5CerzXpNIacrFIrJnCBB3muBvkhB1TP27hM/Lvx3zl6gxHqu6c74kiU8IxGjKJdLrrT3xfdjwADAJaMxP2bvD2BAAAAAElFTkSuQmCC) + center center no-repeat #1b3149; } /* master details screen for mobile */ @@ -3439,8 +3465,6 @@ body[dir="rtl"] .mx-master-detail-content-hidden { .reportingReport { padding: 5px; border: 1px solid #ddd; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; border-radius: 3px; } @@ -3468,7 +3492,8 @@ body[dir="rtl"] .mx-master-detail-content-hidden { margin-bottom: 0; } -.mx-reportmatrix th, .mx-reportmatrix td { +.mx-reportmatrix th, +.mx-reportmatrix td { padding: 8px; line-height: 1.42857143; vertical-align: bottom; @@ -3479,7 +3504,7 @@ body[dir="rtl"] .mx-master-detail-content-hidden { border-top: none; } -.mx-reportmatrix tbody tr:nth-child(2n+1) td { +.mx-reportmatrix tbody tr:nth-child(2n + 1) td { background-color: #f9f9f9; } @@ -3491,8 +3516,8 @@ body[dir="rtl"] .mx-master-detail-content-hidden { @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { .dijitInline { zoom: 1; /* set hasLayout:true to mimic inline-block */ - display:inline; /* don't use .dj_ie since that increases the priority */ - vertical-align: auto; /* makes TextBox,Button line up w/native counterparts on IE6 */ + display: inline; /* don't use .dj_ie since that increases the priority */ + vertical-align: auto; /* makes TextBox,Button line up w/native counterparts on IE6 */ } .dj_ie6 .dijitComboBox .dijitInputContainer, @@ -3502,7 +3527,7 @@ body[dir="rtl"] .mx-master-detail-content-hidden { .dijitRight { /* Right part of a 3-element border */ - display:inline; /* IE7 sizes to outer size w/o this */ + display: inline; /* IE7 sizes to outer size w/o this */ } .dijitButtonNode { @@ -3531,13 +3556,13 @@ body[dir="rtl"] .mx-master-detail-content-hidden { } .dijitSpinner .dijitSpinnerButtonContainer .dijitUpArrowButton { - bottom: 50%; /* otherwise (on some machines) top arrow icon too close to splitter border (IE6/7) */ + bottom: 50%; /* otherwise (on some machines) top arrow icon too close to splitter border (IE6/7) */ } .dijitTabContainerTop-tabs .dijitTab, .dijitTabContainerBottom-tabs .dijitTab { zoom: 1; /* set hasLayout:true to mimic inline-block */ - display:inline; /* don't use .dj_ie since that increases the priority */ + display: inline; /* don't use .dj_ie since that increases the priority */ } .dojoDndHorizontal .dojoDndItem { @@ -3546,8 +3571,6 @@ body[dir="rtl"] .mx-master-detail-content-hidden { } } - - /* WARNING: IE9 limits nested imports to three levels deep: http://jorgealbaladejo.com/2011/05/28/internet-explorer-limits-nested-import-css-statements */ /* dijit base */ @@ -3558,5 +3581,4 @@ body[dir="rtl"] .mx-master-detail-content-hidden { /* reporting */ - /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9kb2pvL2Rpaml0L3RoZW1lcy9kaWppdC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS9iYXNlLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL2Zvcm1zLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9Ub29sdGlwLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9UYWJDb250YWluZXIuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L19HcmlkLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9DYWxlbmRhci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvRGF0YUdyaWQuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L1RlbXBsYXRlR3JpZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvU2Nyb2xsQ29udGFpbmVyLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9OYXZiYXIuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L05hdmlnYXRpb25UcmVlLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9CdXR0b24uY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L0dyb3VwQm94LmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9EYXRhVmlldy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvRGlhbG9nLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9XaW5kb3cuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L0Ryb3BEb3duLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9IZWFkZXIuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L1RpdGxlLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9MaXN0Vmlldy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvTG9naW5EaWFsb2cuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L01lbnVCYXIuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L05hdmlnYXRpb25MaXN0LmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9Qcm9ncmVzcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvUmVsb2FkTm90aWZpY2F0aW9uLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9SZXNpemFibGUuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L1RleHQuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L1RleHRBcmVhLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9VbmRlcmxheS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbXh1aS91aS93aWRnZXQvSW1hZ2Vab29tLmNzcyIsIndlYnBhY2s6Ly8vLi9teHVpL3VpL3dpZGdldC9TZWxlY3RCb3guY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L0RlbW9Vc2VyU3dpdGNoZXIuY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvd2lkZ2V0L01hc3RlckRldGFpbC5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVwb3J0aW5nL3VpL3dpZGdldC9SZXBvcnQuY3NzIiwid2VicGFjazovLy8uL3JlcG9ydGluZy91aS93aWRnZXQvUmVwb3J0UGFyYW1ldGVyLmNzcyIsIndlYnBhY2s6Ly8vLi9yZXBvcnRpbmcvdWkvd2lkZ2V0L0RhdGVSYW5nZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVwb3J0aW5nL3VpL3dpZGdldC9SZXBvcnRNYXRyaXguY3NzIiwid2VicGFjazovLy8uL214dWkvdWkvbXh1aS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7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QUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkIsd0JBQXdCO0FBQ3hCLFdBQVc7QUFDWDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHlDQUF5QztBQUN4RDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdCQUF3QixvQkFBb0I7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjs7QUFFQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQ7QUFDakQsMEJBQTBCO0FBQzFCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsYUFBYTtBQUNiLGFBQWEsd0RBQXdEO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0JBQXdCO0FBQ3hCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQjtBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUI7O0FBRWpCO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdnNFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQzs7O0FDOUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUN6REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmOztBQzdCQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3JGQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQzFCQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDhCQUE4QjtBQUN0QyxVQUFVLCtCQUErQjtBQUN6Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUN0R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN6QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyREE7QUFDQTtBQUNBO0FBQ0E7OztBQ0hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdkRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ25DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUMvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDeEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3RCQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDN0VBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7O0FDYkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DOztBQy9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3JFQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDeEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQzs7QUMvREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDO0FDaEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ05BO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7O0FDekJBOztBQUVBOztBQUVBOztBQUVBOztBQUVBIiwiZmlsZSI6Im14dWkvdWkvbXh1aS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuXHRFc3NlbnRpYWwgc3R5bGVzIHRoYXQgdGhlbWVzIGNhbiBpbmhlcml0LlxuXHRJbiBvdGhlciB3b3Jkcywgd29ya3MgYnV0IGRvZXNuJ3QgbG9vayBncmVhdC5cbiovXG5cblxuXG4vKioqKlxuXHRcdEdFTkVSSUMgUElFQ0VTXG4gKioqKi9cblxuLmRpaml0UmVzZXQge1xuXHQvKiBVc2UgdGhpcyBzdHlsZSB0byBudWxsIG91dCBwYWRkaW5nLCBtYXJnaW4sIGJvcmRlciBpbiB5b3VyIHRlbXBsYXRlIGVsZW1lbnRzXG5cdFx0c28gdGhhdCBwYWdlIHNwZWNpZmljIHN0eWxlcyBkb24ndCBicmVhayB0aGVtLlxuXHRcdC0gVXNlIGluIGFsbCBUQUJMRSwgVFIgYW5kIFREIHRhZ3MuXG5cdCovXG5cdG1hcmdpbjowO1xuXHRib3JkZXI6MDtcblx0cGFkZGluZzowO1xuXHRmb250OiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDpub3JtYWw7XG5cdGNvbG9yOiBpbmhlcml0O1xufVxuLmRqX2ExMXkgLmRpaml0UmVzZXQge1xuXHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8qIHJlbW92ZSBwcmVkZWZpbmVkIGhpZ2gtY29udHJhc3Qgc3R5bGluZyBpbiBGaXJlZm94ICovXG59XG5cbi5kaWppdElubGluZSB7XG5cdC8qICBUbyBpbmxpbmUgYmxvY2sgZWxlbWVudHMuXG5cdFx0U2ltaWxhciB0byBJbmxpbmVCb3ggYmVsb3csIGJ1dCB0aGlzIGhhcyBmZXdlciBzaWRlLWVmZmVjdHMgaW4gTW96LlxuXHRcdEFsc28sIGFwcGFyZW50bHkgd29ya3Mgb24gYSBESVYgYXMgd2VsbCBhcyBhIEZJRUxEU0VULlxuXHQqL1xuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcdFx0XHQvKiB3ZWJraXQgYW5kIEZGMyAqL1xuXHQjem9vbTogMTsgLyogc2V0IGhhc0xheW91dDp0cnVlIHRvIG1pbWljIGlubGluZS1ibG9jayAqL1xuXHQjZGlzcGxheTppbmxpbmU7IC8qIGRvbid0IHVzZSAuZGpfaWUgc2luY2UgdGhhdCBpbmNyZWFzZXMgdGhlIHByaW9yaXR5ICovXG5cdGJvcmRlcjowO1xuXHRwYWRkaW5nOjA7XG5cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0I3ZlcnRpY2FsLWFsaWduOiBhdXRvO1x0LyogbWFrZXMgVGV4dEJveCxCdXR0b24gbGluZSB1cCB3L25hdGl2ZSBjb3VudGVycGFydHMgb24gSUU2ICovXG59XG5cbnRhYmxlLmRpaml0SW5saW5lIHtcblx0LyogVG8gaW5saW5lIHRhYmxlcyB3aXRoIGEgZ2l2ZW4gd2lkdGggc2V0ICovXG5cdGRpc3BsYXk6aW5saW5lLXRhYmxlO1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLmRpaml0SGlkZGVuIHtcblx0LyogVG8gaGlkZSB1bnNlbGVjdGVkIHBhbmVzIGluIFN0YWNrQ29udGFpbmVyIGV0Yy4gKi9cblx0cG9zaXRpb246IGFic29sdXRlOyAvKiByZW1vdmUgZnJvbSBub3JtYWwgZG9jdW1lbnQgZmxvdyB0byBzaW11bGF0ZSBkaXNwbGF5OiBub25lICovXG5cdHZpc2liaWxpdHk6IGhpZGRlbjsgLyogaGlkZSBlbGVtZW50IGZyb20gdmlldywgYnV0IGRvbid0IGJyZWFrIHNjcm9sbGluZywgc2VlICMxODYxMiAqL1xufVxuLmRpaml0SGlkZGVuICoge1xuXHR2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgLyogaGlkZSB2aXNpYmlsaXR5OnZpc2libGUgZGVzY2VuZGFudHMgb2YgY2xhc3M9ZGlqaXRIaWRkZW4gbm9kZXMsIHNlZSAjMTg3OTkgKi9cbn1cblxuLmRpaml0VmlzaWJsZSB7XG5cdC8qIFRvIHNob3cgc2VsZWN0ZWQgcGFuZSBpbiBTdGFja0NvbnRhaW5lciBldGMuICovXG5cdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHQvKiBvdmVycmlkZSB1c2VyJ3MgZGlzcGxheTpub25lIHNldHRpbmcgdmlhIHN0eWxlIHNldHRpbmcgb3IgaW5kaXJlY3RseSB2aWEgY2xhc3MgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1x0XHRcdC8qIHRvIHN1cHBvcnQgc2V0dGluZyB3aWR0aC9oZWlnaHQsIHNlZSAjMjAzMyAqL1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uZGpfaWU2IC5kaWppdENvbWJvQm94IC5kaWppdElucHV0Q29udGFpbmVyLFxuLmRpaml0SW5wdXRDb250YWluZXIge1xuXHQvKiBmb3IgcG9zaXRpb25pbmcgb2YgcGxhY2VIb2xkZXIgKi9cblx0I3pvb206IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IC8qIG5lZWRlZCB0byBzcXVlZXplIHRoZSBJTlBVVCBpbiAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZGpfaWU3IC5kaWppdElucHV0Q29udGFpbmVyIHtcblx0ZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgLyogbmVlZGVkIGJ5IElFIHRvIHNxdWVlemUgdGhlIElOUFVUIGluICovXG5cdGNsZWFyOiBsZWZ0O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgLyogdG8gZml4IHdyb25nIHRleHQgYWxpZ25tZW50IGluIHRleHRkaXI9cnRsIHRleHQgYm94ICovXG59XG5cbi5kal9pZSAuZGlqaXRTZWxlY3QgaW5wdXQsXG4uZGpfaWUgaW5wdXQuZGlqaXRUZXh0Qm94LFxuLmRqX2llIC5kaWppdFRleHRCb3ggaW5wdXQge1xuXHRmb250LXNpemU6IDEwMCU7XG59XG4uZGlqaXRTZWxlY3QgLmRpaml0QnV0dG9uVGV4dCB7XG5cdGZsb2F0OiBsZWZ0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuVEFCTEUuZGlqaXRTZWxlY3Qge1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IC8qIG1lc3NlcyB1cCBib3JkZXIgYWxpZ25tZW50ICovXG5cdGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IC8qIHNvIGpzZmlkZGxlIHdvcmtzIHdpdGggTm9ybWFsaXplZCBDU1MgY2hlY2tlZCAqL1xufVxuLmRpaml0VGV4dEJveCAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyLFxuLmRpaml0VGV4dEJveCAuZGlqaXRBcnJvd0J1dHRvbkNvbnRhaW5lcixcbi5kaWppdFZhbGlkYXRpb25UZXh0Qm94IC5kaWppdFZhbGlkYXRpb25Db250YWluZXIge1xuXHRmbG9hdDogcmlnaHQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5kaWppdFNlbGVjdCBpbnB1dC5kaWppdElucHV0RmllbGQsXG4uZGlqaXRUZXh0Qm94IGlucHV0LmRpaml0SW5wdXRGaWVsZCB7XG5cdC8qIG92ZXJyaWRlIHVucmVhc29uYWJsZSB1c2VyIHN0eWxpbmcgb2YgYnV0dG9ucyBhbmQgaWNvbnMgKi9cblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbi5kaWppdFZhbGlkYXRpb25UZXh0Qm94IC5kaWppdFZhbGlkYXRpb25Db250YWluZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uZGlqaXRUZWVueSB7XG5cdGZvbnQtc2l6ZToxcHg7XG5cdGxpbmUtaGVpZ2h0OjFweDtcbn1cblxuLmRpaml0T2ZmU2NyZWVuIHsgLyogdGhlc2UgY2xhc3MgYXR0cmlidXRlcyBzaG91bGQgc3VwZXJzZWRlIGFueSBpbmxpbmUgcG9zaXRpb25pbmcgc3R5bGUgKi9cblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdGxlZnQ6IC0xMDAwMHB4ICFpbXBvcnRhbnQ7XG5cdHRvcDogLTEwMDAwcHggIWltcG9ydGFudDtcbn1cblxuLypcbiAqIFBvcHVwIGl0ZW1zIGhhdmUgYSB3cmFwcGVyIGRpdiAoZGlqaXRQb3B1cClcbiAqIHdpdGggdGhlIHJlYWwgcG9wdXAgaW5zaWRlLCBhbmQgbWF5YmUgYW4gaWZyYW1lIHRvb1xuICovXG4uZGlqaXRQb3B1cCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdG1hcmdpbjogMDtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5kaWppdFBvc2l0aW9uT25seSB7XG5cdC8qIE51bGwgb3V0IGFsbCBwb3NpdGlvbi1yZWxhdGVkIHByb3BlcnRpZXMgKi9cblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDAgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmRpaml0Tm9uUG9zaXRpb25Pbmx5IHtcblx0LyogTnVsbCBwb3NpdGlvbi1yZWxhdGVkIHByb3BlcnRpZXMgKi9cblx0ZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcblx0cG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDAgMCAwIDAgIWltcG9ydGFudDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xufVxuXG4uZGlqaXRCYWNrZ3JvdW5kSWZyYW1lIHtcblx0LyogaWZyYW1lIHVzZWQgdG8gcHJldmVudCBwcm9ibGVtcyB3aXRoIFBERiBvciBvdGhlciBhcHBsZXRzIG92ZXJsYXlpbmcgbWVudXMgZXRjICovXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAtMTtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi5kaWppdERpc3BsYXlOb25lIHtcblx0LyogaGlkZSBzb21ldGhpbmcuICBVc2UgdGhpcyBhcyBhIGNsYXNzIHJhdGhlciB0aGFuIGVsZW1lbnQuc3R5bGUgc28gYW5vdGhlciBjbGFzcyBjYW4gb3ZlcnJpZGUgKi9cblx0ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG59XG5cbi5kaWppdENvbnRhaW5lciB7XG5cdC8qIGZvciBhbGwgbGF5b3V0IGNvbnRhaW5lcnMgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcdC8qIG5lZWQgb24gSUUgc28gc29tZXRoaW5nIGNhbiBiZSByZWR1Y2VkIGluIHNpemUsIGFuZCBzbyBzY3JvbGxiYXJzIGFyZW4ndCB0ZW1wb3JhcmlseSBkaXNwbGF5ZWQgd2hlbiByZXNpemluZyAqL1xufVxuXG4vKioqKlxuXHRcdEExMVlcbiAqKioqL1xuLmRqX2ExMXkgLmRpaml0SWNvbixcbi5kal9hMTF5IGRpdi5kaWppdEFycm93QnV0dG9uSW5uZXIsIC8qIGlzIHRoaXMgb25seSBmb3IgU3Bpbm5lcj8gIGlmIHNvLCBpdCBzaG91bGQgYmUgZGVsZXRlZCAqL1xuLmRqX2ExMXkgc3Bhbi5kaWppdEFycm93QnV0dG9uSW5uZXIsXG4uZGpfYTExeSBpbWcuZGlqaXRBcnJvd0J1dHRvbklubmVyLFxuLmRqX2ExMXkgLmRpaml0Q2FsZW5kYXJJbmNyZW1lbnRDb250cm9sLFxuLmRqX2ExMXkgLmRpaml0VHJlZUV4cGFuZG8ge1xuXHQvKiBoaWRlIGljb24gbm9kZXMgaW4gaGlnaCBjb250cmFzdCBtb2RlOyB3aGVuIG5lY2Vzc2FyeSB0aGV5IHdpbGwgYmUgcmVwbGFjZWQgYnkgY2hhcmFjdGVyIGVxdWl2YWxlbnRzXG5cdCAqIGV4Y2VwdGlvbiBmb3IgaW5wdXQuZGlqaXRBcnJvd0J1dHRvbklubmVyLCBiZWNhdXNlIHRoZSBpY29uIGFuZCBjaGFyYWN0ZXIgYXJlIGNvbnRyb2xsZWQgYnkgdGhlIHNhbWUgbm9kZSAqL1xuXHRkaXNwbGF5OiBub25lO1xufVxuLmRpaml0U3Bpbm5lciBkaXYuZGlqaXRBcnJvd0J1dHRvbklubmVyIHtcblx0ZGlzcGxheTogYmxvY2s7IC8qIG92ZXJyaWRlIHByZXZpb3VzIHJ1bGUgKi9cbn1cblxuLmRqX2ExMXkgLmRpaml0QTExeVNpZGVBcnJvdyB7XG5cdGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyAvKiBkaXNwbGF5IHRleHQgaW5zdGVhZCAqL1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qXG4gKiBTaW5jZSB3ZSBjYW4ndCB1c2Ugc2hhZGluZyBpbiBhMTF5IG1vZGUsIGFuZCBzaW5jZSB0aGUgdW5kZXJsaW5lIGluZGljYXRlcyB0b2RheSdzIGRhdGUsXG4gKiB1c2UgYSBib3JkZXIgdG8gc2hvdyB0aGUgc2VsZWN0ZWQgZGF0ZS5cbiAqIEF2b2lkIHNjcmVlbiBqaXR0ZXIgd2hlbiBzd2l0Y2hpbmcgc2VsZWN0ZWQgZGF0ZSBieSBjb21wZW5zYXRpbmcgZm9yIHRoZSBzZWxlY3RlZCBub2RlJ3NcbiAqIGJvcmRlciB3L3BhZGRpbmcgb24gb3RoZXIgbm9kZXMuXG4gKi9cbi5kal9hMTF5IC5kaWppdENhbGVuZGFyRGF0ZUxhYmVsIHtcblx0cGFkZGluZzogMXB4O1xuXHRib3JkZXI6IDBweCAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0Q2FsZW5kYXJTZWxlY3RlZERhdGUgLmRpaml0Q2FsZW5kYXJEYXRlTGFiZWwge1xuXHRib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XG5cdGJvcmRlci13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDA7XG59XG4uZGpfYTExeSAuZGlqaXRDYWxlbmRhckRhdGVUZW1wbGF0ZSB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjFlbSAhaW1wb3J0YW50O1x0Lyogb3RoZXJ3aXNlIGJvdHRvbSBib3JkZXIgZG9lc24ndCBhcHBlYXIgb24gSUUgKi9cblx0Ym9yZGVyOiAwcHggIWltcG9ydGFudDtcbn1cbi5kal9hMTF5IC5kaWppdEJ1dHRvbk5vZGUge1xuXHRib3JkZXI6IGJsYWNrIG91dHNldCBtZWRpdW0gIWltcG9ydGFudDtcblxuXHQvKiBJbiBjbGFybywgaG92ZXJpbmcgYSB0b29sYmFyIGJ1dHRvbiByZWR1Y2VzIHBhZGRpbmcgYW5kIGFkZHMgYSBib3JkZXIuXG5cdCAqIE5vdCBuZWVkZWQgaW4gYTExeSBtb2RlIHNpbmNlIFRvb2xiYXIgYnV0dG9ucyBhbHdheXMgaGF2ZSBhIGJvcmRlci5cblx0ICovXG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi5kal9hMTF5IC5kaWppdEFycm93QnV0dG9uIHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uZGpfYTExeSAuZGlqaXRCdXR0b25Db250ZW50cyB7XG5cdG1hcmdpbjogMC4xNWVtOyAvKiBNYXJnaW4gbmVlZGVkIHRvIG1ha2UgZm9jdXMgb3V0bGluZSB2aXNpYmxlICovXG59XG5cbi5kal9hMTF5IC5kaWppdFRleHRCb3hSZWFkT25seSAuZGlqaXRJbnB1dEZpZWxkLFxuLmRqX2ExMXkgLmRpaml0VGV4dEJveFJlYWRPbmx5IC5kaWppdEJ1dHRvbk5vZGUge1xuXHRib3JkZXItc3R5bGU6IG91dHNldCFpbXBvcnRhbnQ7XG5cdGJvcmRlci13aWR0aDogbWVkaXVtIWltcG9ydGFudDtcblx0Ym9yZGVyLWNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiM5OTkgIWltcG9ydGFudDtcbn1cblxuLyogYnV0dG9uIGlubmVyIGNvbnRlbnRzIC0gbGFiZWxzLCBpY29ucyBldGMuICovXG4uZGlqaXRCdXR0b25Ob2RlICoge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmRpaml0U2VsZWN0IC5kaWppdEFycm93QnV0dG9uSW5uZXIsXG4uZGlqaXRCdXR0b25Ob2RlIC5kaWppdEFycm93QnV0dG9uSW5uZXIge1xuXHQvKiB0aGUgYXJyb3cgaWNvbiBub2RlICovXG5cdGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXI7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGRpcmVjdGlvbjogbHRyOyAvKiBuZWVkZWQgYnkgSUUvUlRMICovXG59XG5cbi8qKioqXG5cdDMtZWxlbWVudCBib3JkZXJzOiAgKCBkaWppdExlZnQgKyBkaWppdFN0cmV0Y2ggKyBkaWppdFJpZ2h0IClcblx0VGhlc2Ugd2VyZSBhZGRlZCBmb3Igcm91bmRlZCBjb3JuZXJzIG9uIGRpaml0LmZvcm0uKkJ1dHRvbiBidXQgbmV2ZXIgYWN0dWFsbHkgdXNlZC5cbiAqKioqL1xuXG4uZGlqaXRMZWZ0IHtcblx0LyogTGVmdCBwYXJ0IG9mIGEgMy1lbGVtZW50IGJvcmRlciAqL1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOmxlZnQgdG9wO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG59XG5cbi5kaWppdFN0cmV0Y2gge1xuXHQvKiBNaWRkbGUgKHN0cmV0Y2h5KSBwYXJ0IG9mIGEgMy1lbGVtZW50IGJvcmRlciAqL1xuXHR3aGl0ZS1zcGFjZTpub3dyYXA7XHRcdFx0LyogTU9XOiBtb3ZlIHNvbWV3aGVyZSBlbHNlICovXG5cdGJhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O1xufVxuXG4uZGlqaXRSaWdodCB7XG5cdC8qIFJpZ2h0IHBhcnQgb2YgYSAzLWVsZW1lbnQgYm9yZGVyICovXG5cdCNkaXNwbGF5OmlubGluZTtcdFx0XHRcdC8qIElFNyBzaXplcyB0byBvdXRlciBzaXplIHcvbyB0aGlzICovXG5cdGJhY2tncm91bmQtcG9zaXRpb246cmlnaHQgdG9wO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG59XG5cbi8qIEJ1dHRvbnMgKi9cbi5kal9nZWNrbyAuZGpfYTExeSAuZGlqaXRCdXR0b25EaXNhYmxlZCAuZGlqaXRCdXR0b25Ob2RlIHtcblx0b3BhY2l0eTogMC41O1xufVxuXG4uZGlqaXRUb2dnbGVCdXR0b24sXG4uZGlqaXRCdXR0b24sXG4uZGlqaXREcm9wRG93bkJ1dHRvbixcbi5kaWppdENvbWJvQnV0dG9uIHtcblx0Lyogb3V0c2lkZSBvZiBidXR0b24gKi9cblx0bWFyZ2luOiAwLjJlbTtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmRpaml0QnV0dG9uQ29udGVudHMge1xuXHRkaXNwbGF5OiBibG9jaztcdFx0LyogdG8gbWFrZSBmb2N1cyBib3JkZXIgcmVjdGFuZ3VsYXIgKi9cbn1cbnRkLmRpaml0QnV0dG9uQ29udGVudHMge1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1x0LyogYnV0IGRvbid0IGFmZmVjdCBTZWxlY3QsIENvbWJvQnV0dG9uICovXG59XG5cbi5kaWppdEJ1dHRvbk5vZGUgaW1nIHtcblx0LyogbWFrZSB0ZXh0IGFuZCBpbWFnZXMgbGluZSB1cCBjbGVhbmx5ICovXG5cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0LyptYXJnaW4tYm90dG9tOi4yZW07Ki9cbn1cblxuLmRpaml0VG9vbGJhciAuZGlqaXRDb21ib0J1dHRvbiB7XG5cdC8qIGJlY2F1c2UgVG9vbGJhciBvbmx5IGRyYXdzIGEgYm9yZGVyIGFyb3VuZCB0aGUgaG92ZXJlZCB0aGluZyAqL1xuXHRib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xufVxuXG4uZGlqaXRUb29sYmFyIC5kaWppdFRvZ2dsZUJ1dHRvbixcbi5kaWppdFRvb2xiYXIgLmRpaml0QnV0dG9uLFxuLmRpaml0VG9vbGJhciAuZGlqaXREcm9wRG93bkJ1dHRvbixcbi5kaWppdFRvb2xiYXIgLmRpaml0Q29tYm9CdXR0b24ge1xuXHRtYXJnaW46IDA7XG59XG5cbi5kaWppdFRvb2xiYXIgLmRpaml0QnV0dG9uQ29udGVudHMge1xuXHQvKiBqdXN0IGJlY2F1c2UgaXQgdXNlZCB0byBiZSB0aGlzIHdheSAqL1xuXHRwYWRkaW5nOiAxcHggMnB4O1xufVxuXG5cbi5kal93ZWJraXQgLmRpaml0VG9vbGJhciAuZGlqaXREcm9wRG93bkJ1dHRvbiB7XG5cdHBhZGRpbmctbGVmdDogMC4zZW07XG59XG4uZGpfZ2Vja28gLmRpaml0VG9vbGJhciAuZGlqaXRCdXR0b25Ob2RlOjotbW96LWZvY3VzLWlubmVyIHtcblx0cGFkZGluZzowO1xufVxuXG4uZGlqaXRTZWxlY3Qge1xuXHRib3JkZXI6MXB4IHNvbGlkIGdyYXk7XG59XG4uZGlqaXRCdXR0b25Ob2RlIHtcblx0LyogTm9kZSB0aGF0IGlzIGFjdGluZyBhcyBhIGJ1dHRvbiAtLSBtYXkgb3IgbWF5IG5vdCBiZSBhIEJVVFRPTiBlbGVtZW50ICovXG5cdGJvcmRlcjoxcHggc29saWQgZ3JheTtcblx0bWFyZ2luOjA7XG5cdGxpbmUtaGVpZ2h0Om5vcm1hbDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0I3ZlcnRpY2FsLWFsaWduOiBhdXRvO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5kal93ZWJraXQgLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIHtcblx0LyogYXBwYXJlbnQgV2ViS2l0IGJ1ZyB3aGVyZSBtZXNzaW5nIHdpdGggdGhlIGZvbnQgY291cGxlZCB3aXRoIGxpbmUtaGVpZ2h0Om5vcm1hbCBYIDIgKGRpaml0UmVzZXQgJiBkaWppdEJ1dHRvbk5vZGUpXG5cdGNhbiBiZSBkaWZmZXJlbnQgdGhhbiBqdXN0IGEgc2luZ2xlIGxpbmUtaGVpZ2h0Om5vcm1hbCwgdmlzaWJsZSBpbiBJbmxpbmVFZGl0Qm94L1NwaW5uZXIgKi9cblx0bGluZS1oZWlnaHQ6aW5oZXJpdDtcbn1cbi5kaWppdFRleHRCb3ggLmRpaml0QnV0dG9uTm9kZSB7XG5cdGJvcmRlci13aWR0aDogMDtcbn1cblxuLmRpaml0U2VsZWN0LFxuLmRpaml0U2VsZWN0ICosXG4uZGlqaXRCdXR0b25Ob2RlLFxuLmRpaml0QnV0dG9uTm9kZSAqIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZGpfaWUgLmRpaml0QnV0dG9uTm9kZSB7XG5cdC8qIGVuc3VyZSBoYXNMYXlvdXQgKi9cblx0em9vbTogMTtcbn1cblxuLmRqX2llIC5kaWppdEJ1dHRvbk5vZGUgYnV0dG9uIHtcblx0Lypcblx0XHRkaXNndXN0aW5nIGhhY2sgdG8gZ2V0IHJpZCBvZiBzcHVyaW91cyBwYWRkaW5nIGFyb3VuZCBidXR0b24gZWxlbWVudHNcblx0XHRvbiBJRS4gTVNJRSBpcyB0cnVseSB0aGUgd2ViJ3MgYm9hdCBhbmNob3IuXG5cdCovXG5cdG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5kaXYuZGlqaXRBcnJvd0J1dHRvbiB7XG5cdGZsb2F0OiByaWdodDtcbn1cblxuLyoqKioqKlxuXHRUZXh0Qm94IHJlbGF0ZWQuXG5cdEV2ZXJ5dGhpbmcgdGhhdCBoYXMgYW4gPGlucHV0PlxuKioqKioqKi9cblxuLmRpaml0VGV4dEJveCB7XG5cdGJvcmRlcjogc29saWQgYmxhY2sgMXB4O1xuXHQjb3ZlcmZsb3c6IGhpZGRlbjsgLyogIzYwMjcsICM2MDY3ICovXG5cdHdpZHRoOiAxNWVtO1x0LyogbmVlZCB0byBzZXQgZGVmYXVsdCBzaXplIG9uIG91dGVyIG5vZGUgc2luY2UgaW5uZXIgbm9kZXMgc2F5IDxpbnB1dCBzdHlsZT1cIndpZHRoOjEwMCVcIj4gYW5kIDx0ZCB3aWR0aD0xMDAlPi4gIHVzZXIgY2FuIG92ZXJyaWRlICovXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5kaWppdFRleHRCb3hSZWFkT25seSxcbi5kaWppdFRleHRCb3hEaXNhYmxlZCB7XG5cdGNvbG9yOiBncmF5O1xufVxuLmRqX3NhZmFyaSAuZGlqaXRUZXh0Qm94RGlzYWJsZWQgaW5wdXQge1xuXHRjb2xvcjogI0IwQjBCMDsgLyogYmVjYXVzZSBTYWZhcmkgbGlnaHRlbnMgZGlzYWJsZWQgaW5wdXQvdGV4dGFyZWEgbm8gbWF0dGVyIHdoYXQgY29sb3IgeW91IHNwZWNpZnkgKi9cbn1cbi5kal9zYWZhcmkgdGV4dGFyZWEuZGlqaXRUZXh0QXJlYURpc2FibGVkIHtcblx0Y29sb3I6ICMzMzM7IC8qIGJlY2F1c2UgU2FmYXJpIGxpZ2h0ZW5zIGRpc2FibGVkIGlucHV0L3RleHRhcmVhIG5vIG1hdHRlciB3aGF0IGNvbG9yIHlvdSBzcGVjaWZ5ICovXG59XG4uZGpfZ2Vja28gLmRpaml0VGV4dEJveFJlYWRPbmx5IGlucHV0LmRpaml0SW5wdXRGaWVsZCwgLyogZGlzYWJsZSBhcnJvdyBhbmQgdmFsaWRhdGlvbiBwcmVzZW50YXRpb24gaW5wdXRzIGJ1dCBhbGxvdyByZWFsIGlucHV0IGZvciB0ZXh0IHNlbGVjdGlvbiAqL1xuLmRqX2dlY2tvIC5kaWppdFRleHRCb3hEaXNhYmxlZCBpbnB1dCB7XG5cdC1tb3otdXNlci1pbnB1dDogbm9uZTsgLyogcHJldmVudCBmb2N1cyBvZiBkaXNhYmxlZCB0ZXh0Ym94IGJ1dHRvbnMgKi9cbn1cblxuLmRpaml0UGxhY2VIb2xkZXIge1xuXHQvKiBoaW50IHRleHQgdGhhdCBhcHBlYXJzIGluIGEgdGV4dGJveCB1bnRpbCB1c2VyIHN0YXJ0cyB0eXBpbmcgKi9cblx0Y29sb3I6ICNBQUFBQUE7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdCNmaWx0ZXI6IFwiXCI7IC8qIG1ha2UgdGhpcyBzaG93IHVwIGluIElFNiBhZnRlciB0aGUgcmVuZGVyaW5nIG9mIHRoZSB3aWRnZXQgKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7ICAgLyogc28gY3V0L3Bhc3RlIGNvbnRleHQgbWVudSBzaG93cyB1cCB3aGVuIHJpZ2h0IGNsaWNraW5nICovXG59XG5cbi5kaWppdFRpbWVUZXh0Qm94IHtcblx0d2lkdGg6IDhlbTtcbn1cblxuLyogcnVsZXMgZm9yIHdlYmtpdCB0byBkZWFsIHdpdGggZnV6enkgYmx1ZSBmb2N1cyBib3JkZXIgKi9cbi5kaWppdFRleHRCb3ggaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1x0LyogYmx1ZSBmdXp6eSBsaW5lIGxvb2tzIHdyb25nIG9uIGNvbWJvYm94IG9yIHNvbWV0aGluZyB3L3ZhbGlkYXRpb24gaWNvbiBzaG93aW5nICovXG59XG4uZGlqaXRUZXh0Qm94Rm9jdXNlZCB7XG5cdG91dGxpbmU6IDVweCAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbi5kaWppdFNlbGVjdCBpbnB1dCxcbi5kaWppdFRleHRCb3ggaW5wdXQge1xuXHRmbG9hdDogbGVmdDsgLyogbmVlZGVkIGJ5IElFIHRvIHJlbW92ZSBzZWNyZXQgbWFyZ2luICovXG59XG4uZGpfaWU2IGlucHV0LmRpaml0VGV4dEJveCxcbi5kal9pZTYgLmRpaml0VGV4dEJveCBpbnB1dCB7XG5cdGZsb2F0OiBub25lO1xufVxuLmRpaml0SW5wdXRJbm5lciB7XG5cdC8qIGZvciB3aGVuIGFuIDxpbnB1dD4gaXMgZW1iZWRkZWQgaW5zaWRlIGFuIGlubGluZS1ibG9jayA8ZGl2PiB3aXRoIGEgc2l6ZSBhbmQgYm9yZGVyICovXG5cdGJvcmRlcjowICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHQvKiBJRSBkaXNsaWtlcyBob3Jpem9udGFsIHR3ZWFraW5nIGNvbWJpbmVkIHdpdGggd2lkdGg6MTAwJSBzbyBwdW5pc2ggZXZlcnlvbmUgZm9yIGNvbnNpc3RlbmN5ICovXG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0VGV4dEJveCBpbnB1dCB7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuLmRpaml0VmFsaWRhdGlvblRleHRCb3hFcnJvciBpbnB1dC5kaWppdFZhbGlkYXRpb25Jbm5lcixcbi5kaWppdFNlbGVjdCBpbnB1dCxcbi5kaWppdFRleHRCb3ggaW5wdXQuZGlqaXRBcnJvd0J1dHRvbklubmVyIHtcblx0LyogPGlucHV0PiB1c2VkIHRvIGRpc3BsYXkgYXJyb3cgaWNvbi92YWxpZGF0aW9uIGljb24sIG9yIGluIGFycm93IGNoYXJhY3RlciBpbiBoaWdoIGNvbnRyYXN0IG1vZGUuXG5cdCAqIFRoZSBjc3MgYmVsb3cgaXMgYSB0cmljayB0byBoaWRlIHRoZSBjaGFyYWN0ZXIgaW4gbm9uLWhpZ2gtY29udHJhc3QgbW9kZVxuXHQgKi9cblx0dGV4dC1pbmRlbnQ6IC0yZW0gIWltcG9ydGFudDtcblx0ZGlyZWN0aW9uOiBsdHIgIWltcG9ydGFudDtcblx0dGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0I3RleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7XG5cdCNsZXR0ZXItc3BhY2luZzogLTVlbSAhaW1wb3J0YW50O1xuXHQjdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5kal9pZSAuZGlqaXRTZWxlY3QgaW5wdXQsXG4uZGpfaWUgLmRpaml0VGV4dEJveCBpbnB1dCxcbi5kal9pZSBpbnB1dC5kaWppdFRleHRCb3gge1xuXHRvdmVyZmxvdy15OiB2aXNpYmxlOyAvKiBpbnB1dHMgbmVlZCBoZWxwIGV4cGFuZGluZyB3aGVuIHBhZGRpbmcgaXMgYWRkZWQgb3IgbGluZS1oZWlnaHQgaXMgYWRqdXN0ZWQgKi9cblx0bGluZS1oZWlnaHQ6IG5vcm1hbDsgLyogc3RyaWN0IG1vZGUgKi9cbn1cbi5kaWppdFNlbGVjdCAuZGlqaXRTZWxlY3RMYWJlbCBzcGFuIHtcblx0bGluZS1oZWlnaHQ6IDEwMCU7XG59XG4uZGpfaWUgLmRpaml0U2VsZWN0IC5kaWppdFNlbGVjdExhYmVsIHtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cbi5kal9pZTYgLmRpaml0U2VsZWN0IC5kaWppdFNlbGVjdExhYmVsLFxuLmRqX2llNyAuZGlqaXRTZWxlY3QgLmRpaml0U2VsZWN0TGFiZWwsXG4uZGpfaWU4IC5kaWppdFNlbGVjdCAuZGlqaXRTZWxlY3RMYWJlbCxcbi5kal9pZXF1aXJrcyAuZGlqaXRTZWxlY3QgLmRpaml0U2VsZWN0TGFiZWwsXG4uZGlqaXRTZWxlY3QgdGQsXG4uZGpfaWU2IC5kaWppdFNlbGVjdCBpbnB1dCxcbi5kal9pZXF1aXJrcyAuZGlqaXRTZWxlY3QgaW5wdXQsXG4uZGpfaWU2IC5kaWppdFNlbGVjdCAuZGlqaXRWYWxpZGF0aW9uQ29udGFpbmVyLFxuLmRqX2llNiAuZGlqaXRUZXh0Qm94IGlucHV0LFxuLmRqX2llNiBpbnB1dC5kaWppdFRleHRCb3gsXG4uZGpfaWVxdWlya3MgLmRpaml0VGV4dEJveCBpbnB1dC5kaWppdFZhbGlkYXRpb25Jbm5lcixcbi5kal9pZXF1aXJrcyAuZGlqaXRUZXh0Qm94IGlucHV0LmRpaml0QXJyb3dCdXR0b25Jbm5lcixcbi5kal9pZXF1aXJrcyAuZGlqaXRUZXh0Qm94IGlucHV0LmRpaml0U3Bpbm5lckJ1dHRvbklubmVyLFxuLmRqX2llcXVpcmtzIC5kaWppdFRleHRCb3ggaW5wdXQuZGlqaXRJbnB1dElubmVyLFxuLmRqX2llcXVpcmtzIGlucHV0LmRpaml0VGV4dEJveCB7XG5cdGxpbmUtaGVpZ2h0OiAxMDAlOyAvKiBJRTcgcHJvYmxlbSB3aGVyZSB0aGUgaWNvbiBpcyB2ZXJ0aWNhbGx5IHdheSB0b28gbG93IHcvbyB0aGlzICovXG59XG4uZGpfYTExeSBpbnB1dC5kaWppdFZhbGlkYXRpb25Jbm5lcixcbi5kal9hMTF5IGlucHV0LmRpaml0QXJyb3dCdXR0b25Jbm5lciB7XG5cdC8qIChpbiBoaWdoIGNvbnRyYXN0IG1vZGUpIHJldmVydCBydWxlcyBmcm9tIGFib3ZlIHNvIGNoYXJhY3RlciBkaXNwbGF5cyAqL1xuXHR0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMWVtICFpbXBvcnRhbnQ7XG5cdCN0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xufVxuLmRpaml0VmFsaWRhdGlvblRleHRCb3hFcnJvciAuZGlqaXRWYWxpZGF0aW9uQ29udGFpbmVyIHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIENvbWJvQm94ICYgU3Bpbm5lciAqL1xuXG4uZGlqaXRTcGlubmVyIC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIsXG4uZGlqaXRDb21ib0JveCAuZGlqaXRBcnJvd0J1dHRvbkNvbnRhaW5lciB7XG5cdC8qIGRpdmlkaW5nIGxpbmUgYmV0d2VlbiBpbnB1dCBhcmVhIGFuZCB1cC9kb3duIGJ1dHRvbihzKSBmb3IgQ29tYm9Cb3ggYW5kIFNwaW5uZXIgKi9cblx0Ym9yZGVyLXdpZHRoOiAwIDAgMCAxcHggIWltcG9ydGFudDsgLyogIWltcG9ydGFudCBuZWVkZWQgZHVlIHRvIHdheXdhcmQgXCIudGhlbWUgLmRpaml0QnV0dG9uTm9kZVwiIHJ1bGVzICovXG59XG4uZGpfYTExeSAuZGlqaXRTZWxlY3QgLmRpaml0QXJyb3dCdXR0b25Db250YWluZXIsXG4uZGlqaXRUb29sYmFyIC5kaWppdENvbWJvQm94IC5kaWppdEFycm93QnV0dG9uQ29udGFpbmVyIHtcblx0Lyogb3ZlcnJpZGVzIGFib3ZlIHJ1bGUgcGx1cyBtaXJyb3ItaW1hZ2UgcnVsZSBpbiBkaWppdF9ydGwuY3NzIHRvIGhhdmUgbm8gZGl2aWRlciB3aGVuIENvbWJvQm94IGluIFRvb2xiYXIgKi9cblx0Ym9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5kaWppdENvbWJvQm94TWVudSB7XG5cdC8qIERyb3AgZG93biBtZW51IGlzIGltcGxlbWVudGVkIGFzIDx1bD4gPGxpLz4gPGxpLz4gLi4uIGJ1dCB3ZSBkb24ndCB3YW50IGNpcmNsZXMgYmVmb3JlIGVhY2ggaXRlbSAqL1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4uZGlqaXRTcGlubmVyIC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIgLmRpaml0QnV0dG9uTm9kZSB7XG5cdC8qIGRpdmlkaW5nIGxpbmUgYmV0d2VlbiBpbnB1dCBhcmVhIGFuZCB1cC9kb3duIGJ1dHRvbihzKSBmb3IgQ29tYm9Cb3ggYW5kIFNwaW5uZXIgKi9cblx0Ym9yZGVyLXdpZHRoOiAwO1xufVxuLmRqX2llIC5kal9hMTF5IC5kaWppdFNwaW5uZXIgLmRpaml0U3Bpbm5lckJ1dHRvbkNvbnRhaW5lciAuZGlqaXRCdXR0b25Ob2RlIHtcblx0Y2xlYXI6IGJvdGg7IC8qIElFIHdvcmthcm91bmQgKi9cbn1cblxuLmRqX2llIC5kaWppdFRvb2xiYXIgLmRpaml0Q29tYm9Cb3gge1xuXHQvKiBtYWtlIGNvbWJvYm94IGJ1dHRvbnMgYWxpZ24gcHJvcGVybHkgd2l0aCBvdGhlciBidXR0b25zIGluIGEgdG9vbGJhciAqL1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBTcGlubmVyICovXG5cbi5kaWppdFRleHRCb3ggLmRpaml0U3Bpbm5lckJ1dHRvbkNvbnRhaW5lciB7XG5cdHdpZHRoOiAxZW07XG5cdHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uSW5uZXIge1xuXHR3aWR0aDoxZW07XG5cdHZpc2liaWxpdHk6aGlkZGVuICFpbXBvcnRhbnQ7IC8qIGp1c3QgYSBzaXppbmcgZWxlbWVudCAqL1xuXHRvdmVyZmxvdy14OmhpZGRlbjtcbn1cbi5kaWppdENvbWJvQm94IC5kaWppdEJ1dHRvbk5vZGUsXG4uZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIC5kaWppdEJ1dHRvbk5vZGUge1xuXHRib3JkZXItd2lkdGg6IDA7XG59XG4uZGpfYTExeSAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIC5kaWppdEJ1dHRvbk5vZGUge1xuXHRib3JkZXItd2lkdGg6IDBweCAhaW1wb3J0YW50O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XG59XG4uZGpfYTExeSAuZGlqaXRUZXh0Qm94IC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIsXG4uZGpfYTExeSAuZGlqaXRTcGlubmVyIC5kaWppdEFycm93QnV0dG9uSW5uZXIsXG4uZGpfYTExeSAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIGlucHV0IHtcblx0d2lkdGg6IDFlbSAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIHtcblx0bWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsgLyogc2hvdWxkIGF1dG8tY2VudGVyICovXG59XG4uZGpfaWUgLmRqX2ExMXkgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIC5kaWppdElucHV0RmllbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDAuM2VtICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctcmlnaHQ6IDAuM2VtICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1sZWZ0OiAwLjNlbSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tcmlnaHQ6IDAuM2VtICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxLjRlbSAhaW1wb3J0YW50O1xufVxuLmRqX2llNyAuZGpfYTExeSAuZGlqaXRTcGlubmVyIC5kaWppdEFycm93QnV0dG9uSW5uZXIgLmRpaml0SW5wdXRGaWVsZCB7XG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyAvKiBtYW51YWxseSBjZW50ZXIgSU5QVVQ6IGNoYXJhY3RlciBpcyAuNWVtIGFuZCB0b3RhbCB3aWR0aCA9IDFlbSAqL1xuXHRwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxZW0gIWltcG9ydGFudDtcbn1cbi5kal9pZTYgLmRqX2ExMXkgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIC5kaWppdElucHV0RmllbGQge1xuXHRtYXJnaW4tbGVmdDogMC4xZW0gIWltcG9ydGFudDtcblx0bWFyZ2luLXJpZ2h0OiAwLjFlbSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMWVtICFpbXBvcnRhbnQ7XG59XG4uZGpfaWVxdWlya3MgLmRqX2ExMXkgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIC5kaWppdElucHV0RmllbGQge1xuXHRtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcblx0d2lkdGg6IDJlbSAhaW1wb3J0YW50O1xufVxuLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIC5kaWppdEFycm93QnV0dG9uIHtcblx0Lyogbm90ZTogLmRpaml0SW5wdXRMYXlvdXRDb250YWluZXIgbWFrZXMgdGhpcyBydWxlIG92ZXJyaWRlIC5kaWppdEFycm93QnV0dG9uIHNldHRpbmdzXG5cdCAqIGZvciBkaWppdC5mb3JtLkJ1dHRvblxuXHQgKi9cblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHJpZ2h0OiAwO1xuXHRmbG9hdDogbm9uZTtcblx0aGVpZ2h0OiA1MCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3R0b206IGF1dG87XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiBhdXRvO1xufVxuLmRqX2llcXVpcmtzIC5kaWppdFNwaW5uZXIgLmRpaml0U3Bpbm5lckJ1dHRvbkNvbnRhaW5lciAuZGlqaXRBcnJvd0J1dHRvbiB7XG5cdHdpZHRoOiBhdXRvO1xufVxuLmRqX2ExMXkgLmRpaml0U3Bpbm5lckJ1dHRvbkNvbnRhaW5lciAuZGlqaXRBcnJvd0J1dHRvbiB7XG5cdG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4uZGlqaXRTcGlubmVyIC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIgLmRpaml0RG93bkFycm93QnV0dG9uIHtcblx0dG9wOiA1MCU7XG5cdGJvcmRlci10b3Atd2lkdGg6IDFweCAhaW1wb3J0YW50O1xufVxuLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIC5kaWppdFVwQXJyb3dCdXR0b24ge1xuXHQjYm90dG9tOiA1MCU7XHQvKiBvdGhlcndpc2UgKG9uIHNvbWUgbWFjaGluZXMpIHRvcCBhcnJvdyBpY29uIHRvbyBjbG9zZSB0byBzcGxpdHRlciBib3JkZXIgKElFNi83KSAqL1xuXHR0b3A6IDA7XG59XG4uZGlqaXRTcGlubmVyIC5kaWppdEFycm93QnV0dG9uSW5uZXIge1xuXHRtYXJnaW46IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG4uZGpfaWVxdWlya3MgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIHtcblx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4uZGlqaXRTcGlubmVyIC5kaWppdEFycm93QnV0dG9uSW5uZXIgLmRpaml0SW5wdXRGaWVsZCB7XG5cdC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuXHQtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG5cdC1vLXRyYW5zZm9ybTogc2NhbGUoMC41KTtcblx0LW8tdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcblx0cGFkZGluZy10b3A6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLmRqX2llIC5kaWppdFNwaW5uZXIgLmRpaml0QXJyb3dCdXR0b25Jbm5lciAuZGlqaXRJbnB1dEZpZWxkIHtcblx0em9vbTogNTAlOyAvKiBlbXVsYXRlIHRyYW5zZm9ybTogc2NhbGUoMC41KSAqL1xufVxuLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIC5kaWppdEFycm93QnV0dG9uSW5uZXIge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGpfYTExeSAuZGlqaXRTcGlubmVyIC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIgLmRpaml0QXJyb3dCdXR0b24ge1xuXHR3aWR0aDogMTAwJTtcbn1cbi5kal9pZXF1aXJrcyAuZGpfYTExeSAuZGlqaXRTcGlubmVyIC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIgLmRpaml0QXJyb3dCdXR0b24ge1xuXHR3aWR0aDogMWVtOyAvKiBtYXRjaGVzIC5kal9hMTF5IC5kaWppdFRleHRCb3ggLmRpaml0U3Bpbm5lckJ1dHRvbkNvbnRhaW5lciBydWxlIC0gMTAwJSBpcyB0aGUgd2hvbGUgc2NyZWVuIHdpZHRoIGluIHF1aXJrcyAqL1xufVxuLmRqX2ExMXkgLmRpaml0U3Bpbm5lciAuZGlqaXRBcnJvd0J1dHRvbklubmVyIC5kaWppdElucHV0RmllbGQge1xuXHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uZGpfYTExeSAuZGlqaXRTcGlubmVyQnV0dG9uQ29udGFpbmVyIHtcblx0d2lkdGg6IDFlbTtcbn1cblxuLyoqKipcblx0XHRkaWppdC5mb3JtLkNoZWNrQm94XG4gXHQgJlxuICBcdFx0ZGlqaXQuZm9ybS5SYWRpb0J1dHRvblxuICoqKiovXG5cbi5kaWppdENoZWNrQm94LFxuLmRpaml0UmFkaW8sXG4uZGlqaXRDaGVja0JveElucHV0IHtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRpaml0Q2hlY2tCb3ggaW5wdXQsXG4uZGlqaXRSYWRpbyBpbnB1dCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5kaWppdENoZWNrQm94SW5wdXQge1xuXHQvKiBwbGFjZSB0aGUgYWN0dWFsIGlucHV0IG9uIHRvcCwgYnV0IGludmlzaWJsZSAqL1xuXHRvcGFjaXR5OiAwO1xufVxuXG4uZGpfaWUgLmRpaml0Q2hlY2tCb3hJbnB1dCB7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cblxuLmRqX2ExMXkgLmRpaml0Q2hlY2tCb3gsXG4uZGpfYTExeSAuZGlqaXRSYWRpbyB7XG5cdC8qIGluIGExMXkgbW9kZSB3ZSBkaXNwbGF5IHRoZSBuYXRpdmUgY2hlY2tib3ggKG5vdCB0aGUgaWNvbiksIHNvIGRvbid0IHJlc3RyaWN0IHRoZSBzaXplICovXG5cdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0Q2hlY2tCb3hJbnB1dCB7XG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogbm9uZTtcblx0d2lkdGg6IGF1dG87XG5cdGhlaWdodDogYXV0bztcbn1cblxuLmRqX2ExMXkgLmRpaml0Rm9jdXNlZExhYmVsIHtcblx0LyogZm9yIGNoZWNrYm94ZXMgb3IgcmFkaW8gYnV0dG9ucyBpbiBoaWdoIGNvbnRyYXN0IG1vZGUsIHVzZSBib3JkZXIgcmF0aGVyIHRoYW4gb3V0bGluZSB0byBpbmRpY2F0ZSBmb2N1cyAob3V0bGluZSBkb2VzIG5vdCB3b3JrIGluIEZGKSovXG5cdGJvcmRlcjogMXB4IGRvdHRlZDtcblx0b3V0bGluZTogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqXG5cdFx0ZGlqaXQuUHJvZ3Jlc3NCYXJcbiAqKioqL1xuXG4uZGlqaXRQcm9ncmVzc0JhciB7XG4gICAgei1pbmRleDogMDsgLyogc28gei1pbmRleCBzZXR0aW5ncyBiZWxvdyBoYXZlIG5vIGVmZmVjdCBvdXRzaWRlIG9mIHRoZSBQcm9ncmVzc0JhciAqL1xufVxuLmRpaml0UHJvZ3Jlc3NCYXJFbXB0eSB7XG5cdC8qIG91dGVyIGNvbnRhaW5lciBhbmQgYmFja2dyb3VuZCBvZiB0aGUgYmFyIHRoYXQncyBub3QgZmluaXNoZWQgeWV0Ki9cblx0cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO1xuXHRib3JkZXI6MXB4IHNvbGlkIGJsYWNrOyBcdC8qIGExMXk6IGJvcmRlciBuZWNlc3NhcnkgZm9yIGhpZ2gtY29udHJhc3QgbW9kZSAqL1xuXHR6LWluZGV4OjA7XHRcdFx0LyogZXN0YWJsaXNoIGEgc3RhY2tpbmcgY29udGV4dCBmb3IgdGhpcyBwcm9ncmVzcyBiYXIgKi9cbn1cblxuLmRpaml0UHJvZ3Jlc3NCYXJGdWxsIHtcblx0Lyogb3V0ZXIgY29udGFpbmVyIGZvciBiYWNrZ3JvdW5kIG9mIGJhciB0aGF0IGlzIGZpbmlzaGVkICovXG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdHotaW5kZXg6LTE7XG5cdHRvcDowO1xuXHR3aWR0aDoxMDAlO1xufVxuLmRqX2llNiAuZGlqaXRQcm9ncmVzc0JhckZ1bGwge1xuXHRoZWlnaHQ6MS42ZW07XG59XG5cbi5kaWppdFByb2dyZXNzQmFyVGlsZSB7XG5cdC8qIGlubmVyIGNvbnRhaW5lciBmb3IgZmluaXNoZWQgcG9ydGlvbiAqL1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHR0b3A6MDtcblx0bGVmdDowO1xuXHRib3R0b206MDtcblx0cmlnaHQ6MDtcblx0bWFyZ2luOjA7XG5cdHBhZGRpbmc6MDtcblx0d2lkdGg6IDEwMCU7ICAgIC8qIG5lZWRlZCBmb3IgSUUvcXVpcmtzICovXG5cdGhlaWdodDphdXRvO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiNhYWE7XG5cdGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG59XG5cbi5kal9hMTF5IC5kaWppdFByb2dyZXNzQmFyVGlsZSB7XG5cdC8qIGExMXk6ICBUaGUgYm9yZGVyIHByb3ZpZGVzIHZpc2liaWxpdHkgaW4gaGlnaC1jb250cmFzdCBtb2RlICovXG5cdGJvcmRlci13aWR0aDoycHg7XG5cdGJvcmRlci1zdHlsZTpzb2xpZDtcblx0YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uZGpfaWU2IC5kaWppdFByb2dyZXNzQmFyVGlsZSB7XG5cdC8qIHdpZHRoOmF1dG8gd29ya3MgaW4gSUU2IHdpdGggcG9zaXRpb246c3RhdGljIGJ1dCBub3QgcG9zaXRpb246YWJzb2x1dGUgKi9cblx0cG9zaXRpb246c3RhdGljO1xuXHQvKiBoZWlnaHQ6YXV0byBvciAxMDAlIGRvZXMgbm90IHdvcmsgaW4gSUU2ICovXG5cdGhlaWdodDoxLjZlbTtcbn1cblxuLmRpaml0UHJvZ3Jlc3NCYXJJbmRldGVybWluYXRlIC5kaWppdFByb2dyZXNzQmFyVGlsZSB7XG5cdC8qIGFuaW1hdGVkIGdpZiBmb3IgJ2luZGV0ZXJtaW5hdGUnIG1vZGUgKi9cbn1cblxuLmRpaml0UHJvZ3Jlc3NCYXJJbmRldGVybWluYXRlSGlnaENvbnRyYXN0SW1hZ2Uge1xuXHRkaXNwbGF5Om5vbmU7XG59XG5cbi5kal9hMTF5IC5kaWppdFByb2dyZXNzQmFySW5kZXRlcm1pbmF0ZSAuZGlqaXRQcm9ncmVzc0JhckluZGV0ZXJtaW5hdGVIaWdoQ29udHJhc3RJbWFnZSB7XG5cdGRpc3BsYXk6YmxvY2s7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR0b3A6MDtcblx0Ym90dG9tOjA7XG5cdG1hcmdpbjowO1xuXHRwYWRkaW5nOjA7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDphdXRvO1xufVxuXG4uZGlqaXRQcm9ncmVzc0JhckxhYmVsIHtcblx0ZGlzcGxheTpibG9jaztcblx0cG9zaXRpb246c3RhdGljO1xuXHR3aWR0aDoxMDAlO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKioqKlxuXHRcdGRpaml0LlRvb2x0aXBcbiAqKioqL1xuXG4uZGlqaXRUb29sdGlwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAyMDAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0LyogbWFrZSB2aXNpYmxlIGJ1dCBvZmYgc2NyZWVuICovXG5cdGxlZnQ6IDA7XG5cdHRvcDogLTEwMDAwcHg7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uZGlqaXRUb29sdGlwQ29udGFpbmVyIHtcblx0Ym9yZGVyOiBzb2xpZCBibGFjayAycHg7XG5cdGJhY2tncm91bmQ6ICNiOGI1YjU7XG5cdGNvbG9yOiBibGFjaztcblx0Zm9udC1zaXplOiBzbWFsbDtcbn1cblxuLmRpaml0VG9vbHRpcEZvY3VzTm9kZSB7XG5cdHBhZGRpbmc6IDJweCAycHggMnB4IDJweDtcbn1cblxuLmRpaml0VG9vbHRpcENvbm5lY3RvciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5kal9hMTF5IC5kaWppdFRvb2x0aXBDb25uZWN0b3Ige1xuXHRkaXNwbGF5OiBub25lO1x0Lyogd29uJ3Qgc2hvdyBiL2MgaXQncyBiYWNrZ3JvdW5kLWltYWdlOyBoaWRlIHRvIGF2b2lkIGJvcmRlciBnYXAgKi9cbn1cblxuLmRpaml0VG9vbHRpcERhdGEge1xuXHRkaXNwbGF5Om5vbmU7XG59XG5cbi8qIExheW91dCB3aWRnZXRzLiBUaGlzIGlzIGVzc2VudGlhbCBDU1MgdG8gbWFrZSBsYXlvdXQgd29yayAoaXQgaXNuJ3QgXCJzdHlsaW5nXCIgQ1NTKVxuICAgbWFrZSBzdXJlIHRoYXQgdGhlIHBvc2l0aW9uOmFic29sdXRlIGluIGRpaml0QWxpZ24qIG92ZXJyaWRlcyBvdGhlciBjbGFzc2VzICovXG5cbi5kaWppdExheW91dENvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kaWppdEFsaWduVG9wLFxuLmRpaml0QWxpZ25Cb3R0b20sXG4uZGlqaXRBbGlnbkxlZnQsXG4uZGlqaXRBbGlnblJpZ2h0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5ib2R5IC5kaWppdEFsaWduQ2xpZW50IHsgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi8qXG4gKiBCb3JkZXJDb250YWluZXJcbiAqXG4gKiAuZGlqaXRCb3JkZXJDb250YWluZXIgaXMgYSBzdHlsaXplZCBsYXlvdXQgd2hlcmUgcGFuZXMgaGF2ZSBib3JkZXIgYW5kIG1hcmdpbi5cbiAqIC5kaWppdEJvcmRlckNvbnRhaW5lck5vR3V0dGVyIGlzIGEgcmF3IGxheW91dC5cbiAqL1xuLmRpaml0Qm9yZGVyQ29udGFpbmVyLCAuZGlqaXRCb3JkZXJDb250YWluZXJOb0d1dHRlciB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDA7IC8qIHNvIHotaW5kZXggc2V0dGluZ3MgYmVsb3cgaGF2ZSBubyBlZmZlY3Qgb3V0c2lkZSBvZiB0aGUgQm9yZGVyQ29udGFpbmVyICovXG59XG5cbi5kaWppdEJvcmRlckNvbnRhaW5lclBhbmUsXG4uZGlqaXRCb3JkZXJDb250YWluZXJOb0d1dHRlclBhbmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcdC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgcG9zaXRpb246cmVsYXRpdmUgaW4gZGlqaXRUYWJDb250YWluZXIgZXRjLiAqL1xuXHR6LWluZGV4OiAyO1x0XHQvKiBhYm92ZSB0aGUgc3BsaXR0ZXJzIHNvIHRoYXQgb2ZmLWJ5LW9uZSBicm93c2VyIGVycm9ycyBkb24ndCBjb3ZlciB1cCBib3JkZXIgb2YgcGFuZSAqL1xufVxuXG4uZGlqaXRCb3JkZXJDb250YWluZXIgPiAuZGlqaXRUZXh0QXJlYSB7XG5cdC8qIE9uIFNhZmFyaSwgZm9yIFNpbXBsZVRleHRBcmVhIGluc2lkZSBhIEJvcmRlckNvbnRhaW5lcixcblx0XHRkb24ndCB3YW50IHRvIGRpc3BsYXkgdGhlIGdyaXAgdG8gcmVzaXplICovXG5cdHJlc2l6ZTogbm9uZTtcbn1cblxuLmRpaml0R3V0dGVyIHtcblx0LyogZ3V0dGVyIGlzIGp1c3QgYSBwbGFjZSBob2xkZXIgZm9yIGVtcHR5IHNwYWNlIGJldHdlZW4gcGFuZXMgaW4gQm9yZGVyQ29udGFpbmVyICovXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Zm9udC1zaXplOiAxcHg7XHRcdC8qIG5lZWRlZCBieSBJRTYgZXZlbiB0aG91Z2ggZGl2IGlzIGVtcHR5LCBvdGhlcndpc2UgZ29lcyB0byAxNXB4ICovXG59XG5cbi8qIFNwbGl0Q29udGFpbmVyXG5cblx0J1YnID09IGNvbnRhaW5lciB0aGF0IHNwbGl0cyB2ZXJ0aWNhbGx5ICh1cC9kb3duKVxuXHQnSCcgPSBob3Jpem9udGFsIChsZWZ0L3JpZ2h0KVxuKi9cblxuLmRpaml0U3BsaXR0ZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHotaW5kZXg6IDEwO1x0XHQvKiBhYm92ZSB0aGUgcGFuZXMgc28gdGhhdCBzcGxpdHRlciBmb2N1cyBpcyB2aXNpYmxlIG9uIEZGLCBzZWUgIzc1ODMqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRib3JkZXItY29sb3I6IGdyYXk7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci13aWR0aDogMDtcbn1cbi5kal9pZSAuZGlqaXRTcGxpdHRlciB7XG5cdHotaW5kZXg6IDE7XHQvKiBiZWhpbmQgdGhlIHBhbmVzIHNvIHRoYXQgcGFuZSBib3JkZXJzIGFyZW4ndCBvYnNjdXJlZCBzZWUgdGVzdF9HdWkuaHRtbC9bMTQzOTJdICovXG59XG5cbi5kaWppdFNwbGl0dGVyQWN0aXZlIHtcblx0ei1pbmRleDogMTEgIWltcG9ydGFudDtcbn1cblxuLmRpaml0U3BsaXR0ZXJDb3ZlciB7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR6LWluZGV4Oi0xO1xuXHR0b3A6MDtcblx0bGVmdDowO1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6MTAwJTtcbn1cblxuLmRpaml0U3BsaXR0ZXJDb3ZlckFjdGl2ZSB7XG5cdHotaW5kZXg6MyAhaW1wb3J0YW50O1xufVxuXG4vKiAjNjk0NTogc3RvcCBtb3VzZSBldmVudHMgKi9cbi5kal9pZSAuZGlqaXRTcGxpdHRlckNvdmVyIHtcblx0YmFja2dyb3VuZDogd2hpdGU7XG5cdG9wYWNpdHk6IDA7XG59XG4uZGpfaWU2IC5kaWppdFNwbGl0dGVyQ292ZXIsXG4uZGpfaWU3IC5kaWppdFNwbGl0dGVyQ292ZXIsXG4uZGpfaWU4IC5kaWppdFNwbGl0dGVyQ292ZXIge1xuXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG5cbi5kaWppdFNwbGl0dGVySCB7XG5cdGhlaWdodDogN3B4O1xuXHRib3JkZXItdG9wOjFweDtcblx0Ym9yZGVyLWJvdHRvbToxcHg7XG5cdGN1cnNvcjogcm93LXJlc2l6ZTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5kaWppdFNwbGl0dGVyViB7XG5cdHdpZHRoOiA3cHg7XG5cdGJvcmRlci1sZWZ0OjFweDtcblx0Ym9yZGVyLXJpZ2h0OjFweDtcblx0Y3Vyc29yOiBjb2wtcmVzaXplO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmRpaml0U3BsaXRDb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZGlqaXRTcGxpdFBhbmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5kaWppdFNwbGl0Q29udGFpbmVyU2l6ZXJILFxuLmRpaml0U3BsaXRDb250YWluZXJTaXplclYge1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0Zm9udC1zaXplOiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IFRocmVlREZhY2U7XG5cdGJvcmRlcjogMXB4IHNvbGlkO1xuXHRib3JkZXItY29sb3I6IFRocmVlREhpZ2hsaWdodCBUaHJlZURTaGFkb3cgVGhyZWVEU2hhZG93IFRocmVlREhpZ2hsaWdodDtcblx0bWFyZ2luOiAwO1xufVxuXG4uZGlqaXRTcGxpdENvbnRhaW5lclNpemVySCAudGh1bWIsIC5kaWppdFNwbGl0dGVyViAuZGlqaXRTcGxpdHRlclRodW1iIHtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0dG9wOjQ5JTtcbn1cblxuLmRpaml0U3BsaXRDb250YWluZXJTaXplclYgLnRodW1iLCAuZGlqaXRTcGxpdHRlckggLmRpaml0U3BsaXR0ZXJUaHVtYiB7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRsZWZ0OjQ5JTtcbn1cblxuLmRpaml0U3BsaXR0ZXJTaGFkb3csXG4uZGlqaXRTcGxpdENvbnRhaW5lclZpcnR1YWxTaXplckgsXG4uZGlqaXRTcGxpdENvbnRhaW5lclZpcnR1YWxTaXplclYge1xuXHRmb250LXNpemU6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogVGhyZWVEU2hhZG93O1xuXHQtbW96LW9wYWNpdHk6IDAuNTtcblx0b3BhY2l0eTogMC41O1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXHRtYXJnaW46IDA7XG59XG5cbi5kaWppdFNwbGl0Q29udGFpbmVyU2l6ZXJILCAuZGlqaXRTcGxpdENvbnRhaW5lclZpcnR1YWxTaXplckgge1xuXHRjdXJzb3I6IGNvbC1yZXNpemU7XG59XG5cbi5kaWppdFNwbGl0Q29udGFpbmVyU2l6ZXJWLCAuZGlqaXRTcGxpdENvbnRhaW5lclZpcnR1YWxTaXplclYge1xuXHRjdXJzb3I6IHJvdy1yZXNpemU7XG59XG5cbi5kal9hMTF5IC5kaWppdFNwbGl0dGVySCB7XG5cdGJvcmRlci10b3A6MXB4IHNvbGlkICNkM2QzZDMgIWltcG9ydGFudDtcblx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2QzZDNkMyAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0U3BsaXR0ZXJWIHtcblx0Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkM2QzZDMgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZDNkM2QzICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvbnRlbnRQYW5lICovXG5cbi5kaWppdENvbnRlbnRQYW5lIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBhdXRvO1x0LyogaWYgd2UgZG9uJ3QgaGF2ZSB0aGlzIChvciBvdmVyZmxvdzpoaWRkZW4pLCB0aGVuIFdpZGdldC5yZXNpemVUbygpIGRvZXNuJ3QgbWFrZSBzZW5zZSBmb3IgQ29udGVudFBhbmUgKi9cblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uZGlqaXRDb250ZW50UGFuZVNpbmdsZUNoaWxkIHtcblx0Lypcblx0ICogaWYgdGhlIENvbnRlbnRQYW5lIGhvbGRzIGEgc2luZ2xlIGxheW91dCB3aWRnZXQgY2hpbGQgd2hpY2ggaXMgYmVpbmcgc2l6ZWQgdG8gbWF0Y2ggdGhlIGNvbnRlbnQgcGFuZSxcblx0ICogdGhlbiB0aGUgQ29udGVudFBhbmUgc2hvdWxkIG5ldmVyIGdldCBhIHNjcm9sbGJhciAoYnV0IGl0IGRvZXMgZHVlIHRvIGJyb3dzZXIgYnVncywgc2VlICM5NDQ5XG5cdCAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGlqaXRDb250ZW50UGFuZUxvYWRpbmcgLmRpaml0SWNvbkxvYWRpbmcsXG4uZGlqaXRDb250ZW50UGFuZUVycm9yIC5kaWppdEljb25FcnJvciB7XG5cdG1hcmdpbi1yaWdodDogOXB4O1xufVxuXG4vKiBUaXRsZVBhbmUgYW5kIEZpZWxkc2V0ICovXG5cbi5kaWppdFRpdGxlUGFuZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuLmRpaml0RmllbGRzZXQge1xuXHRib3JkZXI6IDFweCBzb2xpZCBncmF5O1xufVxuLmRpaml0VGl0bGVQYW5lVGl0bGUsIC5kaWppdEZpZWxkc2V0VGl0bGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZGlqaXRUaXRsZVBhbmVUaXRsZUZpeGVkT3BlbiwgLmRpaml0VGl0bGVQYW5lVGl0bGVGaXhlZENsb3NlZCxcbi5kaWppdEZpZWxkc2V0VGl0bGVGaXhlZE9wZW4sIC5kaWppdEZpZWxkc2V0VGl0bGVGaXhlZENsb3NlZCB7XG5cdC8qIFRpdGxlUGFuZSBvciBGaWVsZHNldCB0aGF0IGNhbm5vdCBiZSB0b2dnbGVkICovXG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cbi5kaWppdFRpdGxlUGFuZVRpdGxlICoge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmRpaml0VGl0bGVQYW5lIC5kaWppdEFycm93Tm9kZUlubmVyLCAuZGlqaXRGaWVsZHNldCAuZGlqaXRBcnJvd05vZGVJbm5lciB7XG5cdC8qIG5vcm1hbGx5LCBoaWRlIGFycm93IHRleHQgaW4gZmF2b3Igb2YgaWNvbiAqL1xuXHRkaXNwbGF5OiBub25lO1xufVxuLmRqX2ExMXkgLmRpaml0VGl0bGVQYW5lIC5kaWppdEFycm93Tm9kZUlubmVyLCAuZGpfYTExeSAuZGlqaXRGaWVsZHNldCAuZGlqaXRBcnJvd05vZGVJbm5lciB7XG5cdC8qIC4uLiBleGNlcHQgaW4gYTExeSBtb2RlLCB0aGVuIHNob3cgdGV4dCBhcnJvdyAqL1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XHRcdC8qIGJlY2F1c2UgLSBhbmQgKyBhcmUgZGlmZmVyZW50IHdpZHRocyAqL1xufVxuLmRqX2ExMXkgLmRpaml0VGl0bGVQYW5lIC5kaWppdEFycm93Tm9kZSwgLmRqX2ExMXkgLmRpaml0RmllbGRzZXQgLmRpaml0QXJyb3dOb2RlIHtcblx0LyogLi4uIGFuZCBoaWRlIGljb24gKFRPRE86IGp1c3QgcG9pbnQgZGlqaXRJY29uIGNsYXNzIG9uIHRoZSBpY29uLCBhbmQgaXQgaGlkZXMgYXV0b21hdGljYWxseSkgKi9cblx0ZGlzcGxheTogbm9uZTtcbn1cbi5kaWppdFRpdGxlUGFuZVRpdGxlRml4ZWRPcGVuIC5kaWppdEFycm93Tm9kZSwgLmRpaml0VGl0bGVQYW5lVGl0bGVGaXhlZE9wZW4gLmRpaml0QXJyb3dOb2RlSW5uZXIsXG4uZGlqaXRUaXRsZVBhbmVUaXRsZUZpeGVkQ2xvc2VkIC5kaWppdEFycm93Tm9kZSwgLmRpaml0VGl0bGVQYW5lVGl0bGVGaXhlZENsb3NlZCAuZGlqaXRBcnJvd05vZGVJbm5lcixcbi5kaWppdEZpZWxkc2V0VGl0bGVGaXhlZE9wZW4gLmRpaml0QXJyb3dOb2RlLCAuZGlqaXRGaWVsZHNldFRpdGxlRml4ZWRPcGVuIC5kaWppdEFycm93Tm9kZUlubmVyLFxuLmRpaml0RmllbGRzZXRUaXRsZUZpeGVkQ2xvc2VkIC5kaWppdEFycm93Tm9kZSwgLmRpaml0RmllbGRzZXRUaXRsZUZpeGVkQ2xvc2VkIC5kaWppdEFycm93Tm9kZUlubmVyIHtcblx0LyogZG9uJ3Qgc2hvdyB0aGUgb3BlbiBjbG9zZSBpY29uIG9yIHRleHQgYXJyb3c7IGl0IG1ha2VzIHRoZSB1c2VyIHRoaW5rIHRoZSBwYW5lIGlzIGNsb3NhYmxlICovXG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcdC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgYWJvdmUgYTExeSBydWxlcyB0byBzaG93IHRleHQgYXJyb3cgKi9cbn1cblxuLmRqX2llNiAuZGlqaXRUaXRsZVBhbmVDb250ZW50T3V0ZXIsXG4uZGpfaWU2IC5kaWppdFRpdGxlUGFuZSAuZGlqaXRUaXRsZVBhbmVUaXRsZSB7XG5cdC8qIGZvcmNlIGhhc0xheW91dCB0byBlbnN1cmUgYm9yZGVycyBldGMsIHNob3cgdXAgKi9cblx0em9vbTogMTtcbn1cblxuLyogQ29sb3IgUGFsZXR0ZVxuICogU2l6ZXMgZGVzaWduZWQgc28gdGhhdCB0YWJsZSBjZWxsIHBvc2l0aW9ucyBtYXRjaCBpY29ucyBpbiB1bmRlcmx5aW5nIGltYWdlLFxuICogd2hpY2ggYXBwZWFyIGF0IDIweDIwIGludGVydmFscy5cbiAqL1xuXG4uZGlqaXRDb2xvclBhbGV0dGUge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kaWppdENvbG9yUGFsZXR0ZSAuZGlqaXRQYWxldHRlVGFibGUge1xuXHQvKiBUYWJsZSB0aGF0IGhvbGRzIHRoZSBwYWxldHRlIGNlbGxzLCBhbmQgb3ZlcmxheXMgaW1hZ2UgZmlsZSB3aXRoIGNvbG9yIHN3YXRjaGVzLlxuXHQgKiBwYWRkaW5nL21hcmdpbiB0byBhbGlnbiB0YWJsZSB3aXRoIGltYWdlLlxuXHQgKi9cblx0cGFkZGluZzogMnB4IDNweCAzcHggM3B4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG91dGxpbmU6IDA7XG5cdGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG59XG4uZGpfaWU2IC5kaWppdENvbG9yUGFsZXR0ZSAuZGlqaXRQYWxldHRlVGFibGUsXG4uZGpfaWU3IC5kaWppdENvbG9yUGFsZXR0ZSAuZGlqaXRQYWxldHRlVGFibGUsXG4uZGpfaWVxdWlya3MgLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVUYWJsZSB7XG5cdC8qIHVzaW5nIHBhZGRpbmcgYWJvdmUgc28gdGhhdCBmb2N1cyBib3JkZXIgaXNuJ3QgY3V0b2ZmIG9uIG1vei93ZWJraXQsXG5cdCAqIGJ1dCB1c2luZyBtYXJnaW4gb24gSUUgYmVjYXVzZSBwYWRkaW5nIGRvZXNuJ3Qgc2VlbSB0byB3b3JrXG5cdCAqL1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDJweCAzcHggM3B4IDNweDtcbn1cblxuLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVDZWxsIHtcblx0LyogPHRkPiBpbiB0aGUgPHRhYmxlPiAqL1xuXHRmb250LXNpemU6IDFweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xufVxuLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVJbWcge1xuXHQvKiBDYWxsZWQgZGlqaXRQYWxldHRlSW1nIGZvciBiYWNrLWNvbXBhdCwgdGhpcyBhY3R1YWxseSB3cmFwcyB0aGUgY29sb3Igc3dhdGNoIHdpdGggYSBib3JkZXIgYW5kIHBhZGRpbmcgKi9cblx0cGFkZGluZzogMXB4O1x0XHQvKiB3aGl0ZSBhcmVhIGJldHdlZW4gZ3JheSBib3JkZXIgYW5kIGNvbG9yIHN3YXRjaCAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuXHRtYXJnaW46IDJweCAxcHg7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0Zm9udC1zaXplOiAxcHg7XHRcdC8qIHByZXZlbnQgPHNwYW4+IGZyb20gZ2V0dGluZyBiaWdnZXIganVzdCB0byBob2xkIGEgY2hhcmFjdGVyICovXG59XG4uZGpfZ2Vja28gLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVJbWcge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcdC8qIHdvcmthcm91bmQgcmVuZGVyaW5nIGdsaXRjaCBvbiBGRiwgaXQgYWRkcyBhbiBleHRyYSBwaXhlbCBhdCB0aGUgYm90dG9tICovXG59XG4uZGlqaXRDb2xvclBhbGV0dGUgLmRpaml0Q29sb3JQYWxldHRlU3dhdGNoIHtcblx0LyogdGhlIGFjdHVhbCBwYXJ0IHdoZXJlIHRoZSBjb2xvciBpcyAqL1xuXHR3aWR0aDogMTRweDtcblx0aGVpZ2h0OiAxMnB4O1xufVxuLmRpaml0UGFsZXR0ZVRhYmxlIHRkIHtcblx0XHRwYWRkaW5nOiAwO1xufVxuLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVDZWxsOmhvdmVyIC5kaWppdFBhbGV0dGVJbWcge1xuXHQvKiBob3ZlcmVkIGNvbG9yIHN3YXRjaCAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xufVxuXG4uZGlqaXRDb2xvclBhbGV0dGUgLmRpaml0UGFsZXR0ZUNlbGw6YWN0aXZlIC5kaWppdFBhbGV0dGVJbWcsXG4uZGlqaXRDb2xvclBhbGV0dGUgLmRpaml0UGFsZXR0ZVRhYmxlIC5kaWppdFBhbGV0dGVDZWxsU2VsZWN0ZWQgLmRpaml0UGFsZXR0ZUltZyB7XG5cdGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG5cdG1hcmdpbjogMXB4IDA7XHQvKiByZWR1Y2UgbWFyZ2luIHRvIGNvbXBlbnNhdGUgZm9yIGluY3JlYXNlZCBib3JkZXIgKi9cbn1cblxuXG4uZGpfYTExeSAuZGlqaXRDb2xvclBhbGV0dGUgLmRpaml0UGFsZXR0ZVRhYmxlLFxuLmRqX2ExMXkgLmRpaml0Q29sb3JQYWxldHRlIC5kaWppdFBhbGV0dGVUYWJsZSAqIHtcblx0LyogdGFibGUgY2VsbHMgYXJlIHRvIGNhdGNoIGV2ZW50cywgYnV0IHRoZSBzd2F0Y2hlcyBhcmUgaW4gdGhlIFBhbGV0dGVJbWcgYmVoaW5kIHRoZSB0YWJsZSAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBBY2NvcmRpb25Db250YWluZXIgKi9cblxuLmRpaml0QWNjb3JkaW9uQ29udGFpbmVyIHtcblx0Ym9yZGVyOjFweCBzb2xpZCAjYjdiN2I3O1xuXHRib3JkZXItdG9wOjAgIWltcG9ydGFudDtcbn1cbi5kaWppdEFjY29yZGlvblRpdGxlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmRpaml0QWNjb3JkaW9uVGl0bGVTZWxlY3RlZCB7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogaW1hZ2VzIG9mZiwgaGlnaC1jb250cmFzdCBtb2RlIHN0eWxlcyAqL1xuLmRpaml0QWNjb3JkaW9uVGl0bGUgLmFycm93VGV4dFVwLFxuLmRpaml0QWNjb3JkaW9uVGl0bGUgLmFycm93VGV4dERvd24ge1xuXHRkaXNwbGF5OiBub25lO1xuXHRmb250LXNpemU6IDAuNjVlbTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uZGpfYTExeSAuZGlqaXRBY2NvcmRpb25UaXRsZSAuYXJyb3dUZXh0VXAsXG4uZGpfYTExeSAuZGlqaXRBY2NvcmRpb25UaXRsZVNlbGVjdGVkIC5hcnJvd1RleHREb3duIHtcblx0ZGlzcGxheTogaW5saW5lO1xufVxuXG4uZGpfYTExeSAuZGlqaXRBY2NvcmRpb25UaXRsZVNlbGVjdGVkIC5hcnJvd1RleHRVcCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kaWppdEFjY29yZGlvbkNoaWxkV3JhcHBlciB7XG5cdC8qIHRoaXMgaXMgdGhlIG5vZGUgd2hvc2UgaGVpZ2h0IGlzIGFkanVzdGVkICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIENhbGVuZGFyICovXG5cbi5kaWppdENhbGVuZGFyQ29udGFpbmVyIHRhYmxlIHtcblx0d2lkdGg6IGF1dG87XHQvKiBpbiBjYXNlIHVzZXIgaGFzIHNwZWNpZmllZCBhIHdpZHRoIGZvciB0aGUgVEFCTEUgbm9kZXMsIHNlZSAjMTA1NTMgKi9cblx0Y2xlYXI6IGJvdGg7ICAgIC8qIGNsZWFyIG1hcmdpbiBjcmVhdGVkIGZvciBsZWZ0L3JpZ2h0IG1vbnRoIGFycm93czsgbmVlZGVkIG9uIElFMTAgZm9yIENhbGVuZGFyTGl0ZSAqL1xufVxuLmRpaml0Q2FsZW5kYXJDb250YWluZXIgdGgsIC5kaWppdENhbGVuZGFyQ29udGFpbmVyIHRkIHtcblx0cGFkZGluZzogMDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmRpaml0Q2FsZW5kYXJNb250aENvbnRhaW5lciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5kaWppdENhbGVuZGFyRGVjcmVtZW50QXJyb3cge1xuXHRmbG9hdDogbGVmdDtcbn1cbi5kaWppdENhbGVuZGFySW5jcmVtZW50QXJyb3cge1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cbi5kaWppdENhbGVuZGFyWWVhckxhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAgICAvKiBtYWtlIHN1cmUgcHJldmlvdXMsIGN1cnJlbnQsIGFuZCBuZXh0IHllYXIgYXBwZWFyIG9uIHNhbWUgcm93ICovXG59XG5cbi5kaWppdENhbGVuZGFyTmV4dFllYXIge1xuXHRtYXJnaW46MCAwIDAgMC41NWVtO1xufVxuXG4uZGlqaXRDYWxlbmRhclByZXZpb3VzWWVhciB7XG5cdG1hcmdpbjowIDAuNTVlbSAwIDA7XG59XG5cbi5kaWppdENhbGVuZGFySW5jcmVtZW50Q29udHJvbCB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5kaWppdENhbGVuZGFySW5jcmVtZW50Q29udHJvbCxcbi5kaWppdENhbGVuZGFyRGF0ZVRlbXBsYXRlLFxuLmRpaml0Q2FsZW5kYXJNb250aExhYmVsLFxuLmRpaml0Q2FsZW5kYXJQcmV2aW91c1llYXIsXG4uZGlqaXRDYWxlbmRhck5leHRZZWFyIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZGlqaXRDYWxlbmRhckRpc2FibGVkRGF0ZSB7XG5cdGNvbG9yOiBncmF5O1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uZGlqaXRTcGFjZXIge1xuXHQvKiBkb24ndCBkaXNwbGF5IGl0LCBidXQgbWFrZSBpdCBhZmZlY3QgdGhlIHdpZHRoICovXG4gIFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICBcdGhlaWdodDogMXB4O1xuICBcdG92ZXJmbG93OiBoaWRkZW47XG4gIFx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBTdHlsaW5nIGZvciBtb250aCBkcm9wIGRvd24gbGlzdCAqL1xuXG4uZGlqaXRDYWxlbmRhck1vbnRoTWVudSAuZGlqaXRDYWxlbmRhck1vbnRoTGFiZWwge1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcbn1cblxuLyogTWVudSAqL1xuXG4uZGlqaXRNZW51IHtcblx0Ym9yZGVyOjFweCBzb2xpZCBibGFjaztcblx0YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbn1cbi5kaWppdE1lbnVUYWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtcblx0Ym9yZGVyLXdpZHRoOjA7XG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG59XG5cbi8qIHdvcmthcm91bmQgZm9yIHdlYmtpdCBidWcgIzg0MjcsIHJlbW92ZSB0aGlzIHdoZW4gaXQgaXMgZml4ZWQgdXBzdHJlYW0gKi9cbi5kal93ZWJraXQgLmRpaml0TWVudVRhYmxlIHRkW2NvbHNwYW49XCIyXCJde1xuXHRib3JkZXItcmlnaHQ6aGlkZGVuO1xufVxuXG4uZGlqaXRNZW51SXRlbSB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHBhZGRpbmc6LjFlbSAuMmVtO1xuXHRjdXJzb3I6cG9pbnRlcjtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbk5vIG5lZWQgdG8gc2hvdyBhIGZvY3VzIGJvcmRlciBzaW5jZSBpdCdzIG9idmlvdXMgZnJvbSB0aGUgc2hhZGluZywgYW5kIHRoZXJlJ3MgYSAuZGpfYTExeSAuZGlqaXRNZW51SXRlbVNlbGVjdGVkXG5ydWxlIGJlbG93IHRoYXQgaGFuZGxlcyB0aGUgaGlnaCBjb250cmFzdCBjYXNlIHdoZW4gdGhlcmUncyBubyBzaGFkaW5nLlxuSGlkaW5nIHRoZSBmb2N1cyBib3JkZXIgYWxzbyB3b3JrcyBhcm91bmQgd2Via2l0IGJ1ZyBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTI1Nzc5LlxuKi9cbi5kaWppdE1lbnVJdGVtOmZvY3VzIHtcblx0b3V0bGluZTogbm9uZVxufVxuXG4uZGlqaXRNZW51UGFzc2l2ZSAuZGlqaXRNZW51SXRlbUhvdmVyLFxuLmRpaml0TWVudUl0ZW1TZWxlY3RlZCB7XG5cdC8qXG5cdCAqIGRpaml0TWVudUl0ZW1Ib3ZlciByZWZlcnMgdG8gYWN0dWFsIG1vdXNlIG92ZXJcblx0ICogZGlqaXRNZW51SXRlbVNlbGVjdGVkIGlzIHVzZWQgYWZ0ZXIgYSBtZW51IGhhcyBiZWVuIFwiYWN0aXZhdGVkXCIgYnlcblx0ICogY2xpY2tpbmcgaXQsIHRhYmJpbmcgaW50byBpdCwgb3IgYmVpbmcgb3BlbmVkIGZyb20gYSBwYXJlbnQgbWVudSxcblx0ICogYW5kIGRlbm90ZXMgdGhhdCB0aGUgbWVudSBpdGVtIGhhcyBmb2N1cyBvciB0aGF0IGZvY3VzIGlzIG9uIGEgY2hpbGRcblx0ICogbWVudVxuXHQgKi9cblx0YmFja2dyb3VuZC1jb2xvcjpibGFjaztcblx0Y29sb3I6d2hpdGU7XG59XG5cbi5kaWppdE1lbnVJdGVtSWNvbiwgLmRpaml0TWVudUV4cGFuZCB7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5kaWppdE1lbnVJdGVtRGlzYWJsZWQgKiB7XG5cdC8qIGZvciBhIGRpc2FibGVkIG1lbnUgaXRlbSwganVzdCBzZXQgaXQgdG8gbW9zdGx5IHRyYW5zcGFyZW50ICovXG5cdG9wYWNpdHk6MC41O1xuXHRjdXJzb3I6ZGVmYXVsdDtcbn1cbi5kal9pZSAuZGpfYTExeSAuZGlqaXRNZW51SXRlbURpc2FibGVkLFxuLmRqX2llIC5kal9hMTF5IC5kaWppdE1lbnVJdGVtRGlzYWJsZWQgKixcbi5kal9pZSAuZGlqaXRNZW51SXRlbURpc2FibGVkICoge1xuXHRjb2xvcjogZ3JheTtcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTM1KTtcbn1cblxuLmRpaml0TWVudUl0ZW1MYWJlbCB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5kal9hMTF5IC5kaWppdE1lbnVJdGVtU2VsZWN0ZWQge1xuXHRib3JkZXI6IDFweCBkb3R0ZWQgYmxhY2sgIWltcG9ydGFudDtcdC8qIGZvciAyLjAgdXNlIG91dGxpbmUgaW5zdGVhZCwgdG8gcHJldmVudCBqaXR0ZXIgKi9cbn1cblxuLmRqX2ExMXkgLmRpaml0TWVudUl0ZW1TZWxlY3RlZCAuZGlqaXRNZW51SXRlbUxhYmVsIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4uZGpfaWU4IC5kal9hMTF5IC5kaWppdE1lbnVJdGVtTGFiZWwge1xuXHRwb3NpdGlvbjpzdGF0aWM7XG59XG5cbi5kaWppdE1lbnVFeHBhbmRBMTF5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi5kal9hMTF5IC5kaWppdE1lbnVFeHBhbmRBMTF5IHtcblx0ZGlzcGxheTogaW5saW5lO1xufVxuXG4uZGlqaXRNZW51U2VwYXJhdG9yIHRkIHtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBzZXBhcmF0b3IgY2FuIGJlIHR3byBwaXhlbHMgLS0gc2V0IGJvcmRlciBvZiBlaXRoZXIgb25lIHRvIDAgdG8gaGF2ZSBvbmx5IG9uZSAqL1xuLmRpaml0TWVudVNlcGFyYXRvclRvcCB7XG5cdGhlaWdodDogNTAlO1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi10b3A6M3B4O1xuXHRmb250LXNpemU6IDFweDtcbn1cblxuLmRpaml0TWVudVNlcGFyYXRvckJvdHRvbSB7XG5cdGhlaWdodDogNTAlO1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi1ib3R0b206M3B4O1xuXHRmb250LXNpemU6IDFweDtcbn1cblxuLyogQ2hlY2tlZE1lbnVJdGVtIGFuZCBSYWRpb01lbnVJdGVtICovXG4uZGlqaXRNZW51SXRlbUljb25DaGFyIHtcblx0ZGlzcGxheTogbm9uZTtcdFx0LyogZG9uJ3QgZGlzcGxheSBleGNlcHQgaW4gaGlnaCBjb250cmFzdCBtb2RlICovXG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcdC8qIGZvciBoaWdoIGNvbnRyYXN0IG1vZGUgd2hlbiBtZW51aXRlbSBpcyB1bmNoZWNrZWQ6IGxlYXZlIHNwYWNlIGZvciB3aGVuIGl0IGlzIGNoZWNrZWQgKi9cbn1cbi5kal9hMTF5IC5kaWppdE1lbnVJdGVtSWNvbkNoYXIge1xuXHRkaXNwbGF5OiBpbmxpbmU7XHQvKiBkaXNwbGF5IGNoYXJhY3RlciBpbiBoaWdoIGNvbnRyYXN0IG1vZGUsIHNpbmNlIGljb24gZG9lc24ndCBzaG93ICovXG59XG4uZGlqaXRDaGVja2VkTWVudUl0ZW1DaGVja2VkIC5kaWppdE1lbnVJdGVtSWNvbkNoYXIsXG4uZGlqaXRSYWRpb01lbnVJdGVtQ2hlY2tlZCAuZGlqaXRNZW51SXRlbUljb25DaGFyIHtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTsgLyogbWVudWl0ZW0gaXMgY2hlY2tlZCAqL1xufVxuLmRqX2llIC5kal9hMTF5IC5kaWppdE1lbnVCYXIgLmRpaml0TWVudUl0ZW0ge1xuXHQvKiBzbyBib3R0b20gYm9yZGVyIG9mIE1lbnVCYXIgYXBwZWFycyBvbiBJRTcgaW4gaGlnaC1jb250cmFzdCBtb2RlICovXG5cdG1hcmdpbjogMDtcbn1cblxuLyogU3RhY2tDb250YWluZXIgKi9cblxuLmRpaml0U3RhY2tDb250cm9sbGVyIC5kaWppdFRvZ2dsZUJ1dHRvbkNoZWNrZWQgKiB7XG5cdGN1cnNvcjogZGVmYXVsdDtcdC8qIGJlY2F1c2UgcHJlc3NpbmcgaXQgaGFzIG5vIGVmZmVjdCAqL1xufVxuXG4vKioqXG5UYWJDb250YWluZXJcblxuTWFpbiBjbGFzcyBoaWVyYXJjaHk6XG5cbi5kaWppdFRhYkNvbnRhaW5lciAtIHRoZSB3aG9sZSBUYWJDb250YWluZXJcbiAgIC5kaWppdFRhYkNvbnRyb2xsZXIgLyAuZGlqaXRUYWJMaXN0Q29udGFpbmVyLXRvcCAtIHdyYXBwZXIgZm9yIHRhYiBidXR0b25zLCBzY3JvbGwgYnV0dG9uc1xuXHQgLmRpaml0VGFiTGlzdFdyYXBwZXIgLyAuZGlqaXRUYWJDb250YWluZXJUb3BTdHJpcCAtIG91dGVyIHdyYXBwZXIgZm9yIHRhYiBidXR0b25zIChub3JtYWwgd2lkdGgpXG5cdFx0Lm5vd3JhcFRhYlN0cmlwIC8gLmRpaml0VGFiQ29udGFpbmVyVG9wLXRhYnMgLSBpbm5lciB3cmFwcGVyIGZvciB0YWIgYnV0dG9ucyAoNTBLIHdpZHRoKVxuICAgLmRpaml0VGFiUGFuZVdyYXBwZXIgLSB3cmFwcGVyIGZvciBjb250ZW50IHBhbmVzLCBoYXMgYWxsIGJvcmRlcnMgZXhjZXB0IHRoZSBvbmUgYmV0d2VlbiBjb250ZW50IGFuZCB0YWJzXG4qKiovXG5cbi5kaWppdFRhYkNvbnRhaW5lciB7XG4gICAgei1pbmRleDogMDsgLyogc28gei1pbmRleCBzZXR0aW5ncyBiZWxvdyBoYXZlIG5vIGVmZmVjdCBvdXRzaWRlIG9mIHRoZSBUYWJDb250YWluZXIgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogcHJldmVudCBvZmYtYnktb25lLXBpeGVsIGVycm9ycyBmcm9tIGhpZGluZyBib3R0b20gYm9yZGVyIChvcHBvc2l0ZSB0YWIgbGFiZWxzKSAqL1xufVxuLmRqX2llNiAuZGlqaXRUYWJDb250YWluZXIge1xuICAgIC8qIHdvcmthcm91bmQgSUU2IHByb2JsZW0gd2hlbiB0YWxsIGNvbnRlbnQgb3ZlcmZsb3dzIFRhYkNvbnRhaW5lciwgc2VlIGVkaXRvci90ZXN0X0Z1bGxTY3JlZW4uaHRtbCAqL1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxufVxuLmRpaml0VGFiQ29udGFpbmVyTm9MYXlvdXQge1xuXHR3aWR0aDogMTAwJTtcdC8qIG90aGVyd2lzZSBTY3JvbGxpbmdUYWJDb250cm9sbGVyIGdvZXMgdG8gNTBLIHBpeGVscyB3aWRlICovXG59XG5cbi5kaWppdFRhYkNvbnRhaW5lckJvdHRvbS10YWJzLFxuLmRpaml0VGFiQ29udGFpbmVyVG9wLXRhYnMsXG4uZGlqaXRUYWJDb250YWluZXJMZWZ0LXRhYnMsXG4uZGlqaXRUYWJDb250YWluZXJSaWdodC10YWJzIHtcbiAgICB6LWluZGV4OiAxO1xuXHRvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyAgLyogc28gdGFicyBjYW4gY292ZXIgdXAgYm9yZGVyIGFkamFjZW50IHRvIGNvbnRhaW5lciAqL1xufVxuXG4uZGlqaXRUYWJDb250cm9sbGVyIHtcbiAgICB6LWluZGV4OiAxO1xufVxuLmRpaml0VGFiQ29udGFpbmVyQm90dG9tLWNvbnRhaW5lcixcbi5kaWppdFRhYkNvbnRhaW5lclRvcC1jb250YWluZXIsXG4uZGlqaXRUYWJDb250YWluZXJMZWZ0LWNvbnRhaW5lcixcbi5kaWppdFRhYkNvbnRhaW5lclJpZ2h0LWNvbnRhaW5lciB7XG5cdHotaW5kZXg6MDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7XG59XG4ubm93cmFwVGFiU3RyaXAge1xuXHR3aWR0aDogNTAwMDBweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyAgLyoganVzdCBpbiBjYXNlIGFuY2VzdG9yIGhhcyBub24tc3RhbmRhcmQgc2V0dGluZyAqL1xuICAgIHotaW5kZXg6IDE7XG59XG4uZGlqaXRUYWJMaXN0V3JhcHBlciB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcbn1cblxuLmRqX2ExMXkgLnRhYlN0cmlwQnV0dG9uIGltZyB7XG5cdC8qIGhpZGUgdGhlIGljb25zIChvciByYXRoZXIgdGhlIGVtcHR5IHNwYWNlIHdoZXJlIHRoZXkgbm9ybWFsbHkgYXBwZWFyKSBiZWNhdXNlIHRleHQgd2lsbCBhcHBlYXIgaW5zdGVhZCAqL1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uZGlqaXRUYWJDb250YWluZXJUb3AtdGFicyB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbn1cbi5kaWppdFRhYkNvbnRhaW5lclRvcC1jb250YWluZXIge1xuXHRib3JkZXItdG9wOiAwO1xufVxuXG4uZGlqaXRUYWJDb250YWluZXJMZWZ0LXRhYnMge1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBibGFjaztcblx0ZmxvYXQ6IGxlZnQ7ICAgIC8qIG5lZWRlZCBmb3IgSUU3IFJUTCBtb2RlICovXG59XG4uZGlqaXRUYWJDb250YWluZXJMZWZ0LWNvbnRhaW5lciB7XG5cdGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uZGlqaXRUYWJDb250YWluZXJCb3R0b20tdGFicyB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcbn1cbi5kaWppdFRhYkNvbnRhaW5lckJvdHRvbS1jb250YWluZXIge1xuXHRib3JkZXItYm90dG9tOiAwO1xufVxuXG4uZGlqaXRUYWJDb250YWluZXJSaWdodC10YWJzIHtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCBibGFjaztcblx0ZmxvYXQ6IGxlZnQ7ICAgIC8qIG5lZWRlZCBmb3IgSUU3IFJUTCBtb2RlICovXG59XG4uZGlqaXRUYWJDb250YWluZXJSaWdodC1jb250YWluZXIge1xuXHRib3JkZXItcmlnaHQ6IDA7XG59XG5cbmRpdi5kaWppdFRhYkRpc2FibGVkLCAuZGpfaWUgZGl2LmRpaml0VGFiRGlzYWJsZWQge1xuXHRjdXJzb3I6IGF1dG87XG59XG5cbi5kaWppdFRhYiB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRjdXJzb3I6cG9pbnRlcjtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0d2hpdGUtc3BhY2U6bm93cmFwO1xuXHR6LWluZGV4OjM7XG59XG4uZGlqaXRUYWIgKiB7XG5cdC8qIG1ha2UgdGFiIGljb25zIGFuZCBjbG9zZSBpY29uIGxpbmUgdXAgdy90ZXh0ICovXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uZGlqaXRUYWJDaGVja2VkIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1x0LyogYmVjYXVzZSBjbGlja2luZyB3aWxsIGhhdmUgbm8gZWZmZWN0ICovXG59XG5cbi5kaWppdFRhYkNvbnRhaW5lclRvcC10YWJzIC5kaWppdFRhYiB7XG5cdHRvcDogMXB4O1x0LyogdG8gb3ZlcmxhcCBib3JkZXIgb24gLmRpaml0VGFiQ29udGFpbmVyVG9wLXRhYnMgKi9cbn1cbi5kaWppdFRhYkNvbnRhaW5lckJvdHRvbS10YWJzIC5kaWppdFRhYiB7XG5cdHRvcDogLTFweDtcdC8qIHRvIG92ZXJsYXAgYm9yZGVyIG9uIC5kaWppdFRhYkNvbnRhaW5lckJvdHRvbS10YWJzICovXG59XG4uZGlqaXRUYWJDb250YWluZXJMZWZ0LXRhYnMgLmRpaml0VGFiIHtcblx0bGVmdDogMXB4O1x0LyogdG8gb3ZlcmxhcCBib3JkZXIgb24gLmRpaml0VGFiQ29udGFpbmVyTGVmdC10YWJzICovXG59XG4uZGlqaXRUYWJDb250YWluZXJSaWdodC10YWJzIC5kaWppdFRhYiB7XG5cdGxlZnQ6IC0xcHg7XHQvKiB0byBvdmVybGFwIGJvcmRlciBvbiAuZGlqaXRUYWJDb250YWluZXJSaWdodC10YWJzICovXG59XG5cblxuLmRpaml0VGFiQ29udGFpbmVyVG9wLXRhYnMgLmRpaml0VGFiLFxuLmRpaml0VGFiQ29udGFpbmVyQm90dG9tLXRhYnMgLmRpaml0VGFiIHtcblx0LyogSW5saW5lLWJsb2NrICovXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1x0XHRcdC8qIHdlYmtpdCBhbmQgRkYzICovXG5cdCN6b29tOiAxOyAvKiBzZXQgaGFzTGF5b3V0OnRydWUgdG8gbWltaWMgaW5saW5lLWJsb2NrICovXG5cdCNkaXNwbGF5OmlubGluZTsgLyogZG9uJ3QgdXNlIC5kal9pZSBzaW5jZSB0aGF0IGluY3JlYXNlcyB0aGUgcHJpb3JpdHkgKi9cbn1cblxuLnRhYlN0cmlwQnV0dG9uIHtcblx0ei1pbmRleDogMTI7XG59XG5cbi5kaWppdFRhYkJ1dHRvbkRpc2FibGVkIC50YWJTdHJpcEJ1dHRvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLmRpaml0VGFiQ2xvc2VCdXR0b24ge1xuXHRtYXJnaW4tbGVmdDogMWVtO1xufVxuXG4uZGlqaXRUYWJDbG9zZVRleHQge1xuXHRkaXNwbGF5Om5vbmU7XG59XG5cbi5kaWppdFRhYiAudGFiTGFiZWwge1xuXHQvKiBtYWtlIHN1cmUgdGFicyB3L2Nsb3NlIGJ1dHRvbiBhbmQgdy9vdXQgY2xvc2UgYnV0dG9uIGFyZSBzYW1lIGhlaWdodCwgZXZlbiB3L3NtYWxsICg8MTVweCkgZm9udC5cblx0ICogYXNzdW1lcyA8PTE1cHggaGVpZ2h0IGZvciBjbG9zZSBidXR0b24gaWNvbi5cblx0ICovXG5cdG1pbi1oZWlnaHQ6IDE1cHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5kaWppdE5vSWNvbiB7XG5cdC8qIGFwcGxpZWQgdG8gPGltZz4vPHNwYW4+IG5vZGUgd2hlbiB0aGVyZSBpcyBubyBpY29uIHNwZWNpZmllZCAqL1xuXHRkaXNwbGF5OiBub25lO1xufVxuLmRqX2llNiAuZGlqaXRUYWIgLmRpaml0Tm9JY29uIHtcblx0LyogYmVjYXVzZSBtaW4taGVpZ2h0IChvbiAudGFiTGFiZWwsIGFib3ZlKSBkb2Vzbid0IHdvcmsgb24gSUU2ICovXG5cdGRpc3BsYXk6IGlubGluZTtcblx0aGVpZ2h0OiAxNXB4O1xuXHR3aWR0aDogMXB4O1xufVxuXG4vKiBpbWFnZXMgb2ZmLCBoaWdoLWNvbnRyYXN0IG1vZGUgc3R5bGVzICovXG5cbi5kal9hMTF5IC5kaWppdFRhYkNsb3NlQnV0dG9uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuXHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmRqX2ExMXkgLmRpaml0VGFiQ2xvc2VUZXh0IHtcblx0ZGlzcGxheTogaW5saW5lO1xufVxuXG4uZGlqaXRUYWJQYW5lLFxuLmRpaml0U3RhY2tDb250YWluZXItY2hpbGQsXG4uZGlqaXRBY2NvcmRpb25Db250YWluZXItY2hpbGQge1xuXHQvKiBjaGlsZHJlbiBvZiBUYWJDb250YWluZXIsIFN0YWNrQ29udGFpbmVyLCBhbmQgQWNjb3JkaW9uQ29udGFpbmVyIHNob3VsZG4ndCBoYXZlIGJvcmRlcnNcblx0ICogYi9jIGEgYm9yZGVyIGlzIGFscmVhZHkgdGhlcmUgZnJvbSB0aGUgVGFiQ29udGFpbmVyL1N0YWNrQ29udGFpbmVyL0FjY29yZGlvbkNvbnRhaW5lciBpdHNlbGYuXG5cdCAqL1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBJbmxpbmVFZGl0Qm94ICovXG4uZGlqaXRJbmxpbmVFZGl0Qm94RGlzcGxheU1vZGUge1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcdC8qIHNvIGtleWxpbmUgKGJvcmRlcikgb24gaG92ZXIgY2FuIGFwcGVhciB3aXRob3V0IHNjcmVlbiBqdW1wICovXG5cdGN1cnNvcjogdGV4dDtcbn1cblxuLmRqX2ExMXkgLmRpaml0SW5saW5lRWRpdEJveERpc3BsYXlNb2RlLFxuLmRqX2llNiAuZGlqaXRJbmxpbmVFZGl0Qm94RGlzcGxheU1vZGUge1xuXHQvKiBleGNlcHQgdGhhdCBJRTYgZG9lc24ndCBzdXBwb3J0IHRyYW5zcGFyZW50IGJvcmRlcnMsIG5vciBkb2VzIGhpZ2ggY29udHJhc3QgbW9kZSAqL1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5kaWppdElubGluZUVkaXRCb3hEaXNwbGF5TW9kZUhvdmVyLFxuLmRqX2ExMXkgLmRpaml0SW5saW5lRWRpdEJveERpc3BsYXlNb2RlSG92ZXIsXG4uZGpfaWU2IC5kaWppdElubGluZUVkaXRCb3hEaXNwbGF5TW9kZUhvdmVyIHtcblx0LyogQW4gSW5saW5lRWRpdEJveCBpbiB2aWV3IG1vZGUgKGNsaWNrIHRoaXMgdG8gZWRpdCB0aGUgdGV4dCkgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogI2UyZWJmMjtcblx0Ym9yZGVyOiBzb2xpZCAxcHggYmxhY2s7XG59XG5cbi5kaWppdElubGluZUVkaXRCb3hEaXNwbGF5TW9kZURpc2FibGVkIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiBUcmVlICovXG4uZGlqaXRUcmVlIHtcblx0b3ZlcmZsb3c6IGF1dG87XHQvKiBmb3Igc2Nyb2xsYmFycyB3aGVuIFRyZWUgaGFzIGEgaGVpZ2h0IHNldHRpbmcsIGFuZCB0byBwcmV2ZW50IHdyYXBwaW5nIGFyb3VuZCBmbG9hdCBlbGVtZW50cywgc2VlICMxMTQ5MSAqL1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZGlqaXRUcmVlQ29udGFpbmVyIHtcblx0ZmxvYXQ6IGxlZnQ7XHQvKiBmb3IgY29ycmVjdCBoaWdobGlnaHRpbmcgZHVyaW5nIGhvcml6b250YWwgc2Nyb2xsLCBzZWUgIzE2MTMyICovXG59XG5cbi5kaWppdFRyZWVJbmRlbnQge1xuXHQvKiBhbW91bnQgdG8gaW5kZW50IGVhY2ggdHJlZSBub2RlIChyZWxhdGl2ZSB0byBwYXJlbnQgbm9kZSkgKi9cblx0d2lkdGg6IDE5cHg7XG59XG5cbi5kaWppdFRyZWVSb3csIC5kaWppdFRyZWVDb250ZW50IHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmRqX2llIC5kaWppdFRyZWVMYWJlbDpmb2N1cyB7XG5cdC8qIHdvcmthcm91bmQgSUU5IGJlaGF2aW9yIHdoZXJlIGRvd24gYXJyb3dpbmcgdGhyb3VnaCBUcmVlTm9kZXMgZG9lc24ndCBzaG93IGZvY3VzIG91dGxpbmUgKi9cblx0b3V0bGluZTogMXB4IGRvdHRlZCBibGFjaztcbn1cblxuLmRpaml0VHJlZVJvdyBpbWcge1xuXHQvKiBtYWtlIHRoZSBleHBhbmRvIGFuZCBmb2xkZXIgaWNvbnMgbGluZSB1cCB3aXRoIHRoZSBsYWJlbCAqL1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZGlqaXRUcmVlQ29udGVudCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uZGlqaXRFeHBhbmRvVGV4dCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kal9hMTF5IC5kaWppdEV4cGFuZG9UZXh0IHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci13aWR0aDogdGhpbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZGlqaXRUcmVlTGFiZWwge1xuXHRtYXJnaW46IDAgNHB4O1xufVxuXG4vKiBEaWFsb2cgKi9cblxuLmRpaml0RGlhbG9nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiA5OTk7XG5cdG92ZXJmbG93OiBoaWRkZW47XHQvKiBvdmVycmlkZSBvdmVyZmxvdzogYXV0bzsgZnJvbSBDb250ZW50UGFuZSB0byBtYWtlIGRyYWdnaW5nIHNtb290aGVyICovXG59XG5cbi5kaWppdERpYWxvZ1RpdGxlQmFyIHtcblx0Y3Vyc29yOiBtb3ZlO1xufVxuLmRpaml0RGlhbG9nRml4ZWQgLmRpaml0RGlhbG9nVGl0bGVCYXIge1xuXHRjdXJzb3I6ZGVmYXVsdDtcbn1cbi5kaWppdERpYWxvZ0Nsb3NlSWNvbiB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5kaWppdERpYWxvZ1BhbmVDb250ZW50IHtcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLmRpaml0RGlhbG9nVW5kZXJsYXlXcmFwcGVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdHotaW5kZXg6IDk5ODtcblx0ZGlzcGxheTogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLmRpaml0RGlhbG9nVW5kZXJsYXkge1xuXHRiYWNrZ3JvdW5kOiAjZWVlO1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi5kal9pZSAuZGlqaXREaWFsb2dVbmRlcmxheSB7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG59XG5cbi8qIGltYWdlcyBvZmYsIGhpZ2gtY29udHJhc3QgbW9kZSBzdHlsZXMgKi9cbi5kal9hMTF5IC5kaWppdFNwaW5uZXJCdXR0b25Db250YWluZXIsXG4uZGpfYTExeSAuZGlqaXREaWFsb2cge1xuXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5kaWppdERpYWxvZyAuY2xvc2VUZXh0IHtcblx0ZGlzcGxheTpub25lO1xuXHQvKiBmb3IgdGhlIG9uaG92ZXIgYm9yZGVyIGluIGhpZ2ggY29udHJhc3Qgb24gSUU6ICovXG5cdHBvc2l0aW9uOmFic29sdXRlO1xufVxuXG4uZGpfYTExeSAuZGlqaXREaWFsb2cgLmNsb3NlVGV4dCB7XG5cdGRpc3BsYXk6aW5saW5lO1xufVxuXG4vKiBTbGlkZXIgKi9cblxuLmRpaml0U2xpZGVyTW92ZWFibGUge1xuXHR6LWluZGV4Ojk5O1xuXHRwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRkaXNwbGF5OmJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG59XG5cbi5kaWppdFNsaWRlck1vdmVhYmxlSCB7XG5cdHJpZ2h0OjA7XG59XG4uZGlqaXRTbGlkZXJNb3ZlYWJsZVYge1xuXHRyaWdodDo1MCU7XG59XG5cbi5kal9hMTF5IGRpdi5kaWppdFNsaWRlckltYWdlSGFuZGxlLFxuLmRpaml0U2xpZGVySW1hZ2VIYW5kbGUge1xuXHRtYXJnaW46MDtcblx0cGFkZGluZzowO1xuXHRwb3NpdGlvbjpyZWxhdGl2ZSAhaW1wb3J0YW50O1xuXHRib3JkZXI6OHB4IHNvbGlkIGdyYXk7XG5cdHdpZHRoOjA7XG5cdGhlaWdodDowO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZGpfaWVxdWlya3MgLmRqX2ExMXkgLmRpaml0U2xpZGVySW1hZ2VIYW5kbGUge1xuXHRmb250LXNpemU6IDA7XG59XG4uZGpfaWU3IC5kaWppdFNsaWRlckltYWdlSGFuZGxlIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogSUU3IHdvcmthcm91bmQgdG8gbWFrZSBzbGlkZXIgaGFuZGxlIFZJU0lCTEUgaW4gbm9uLWExMXkgbW9kZSAqL1xufVxuLmRqX2llNyAuZGpfYTExeSAuZGlqaXRTbGlkZXJJbWFnZUhhbmRsZSB7XG5cdG92ZXJmbG93OiB2aXNpYmxlOyAvKiBJRTcgd29ya2Fyb3VuZCB0byBtYWtlIHNsaWRlciBoYW5kbGUgVklTSUJMRSBpbiBhMTF5IG1vZGUgKi9cbn1cbi5kal9hMTF5IC5kaWppdFNsaWRlckZvY3VzZWQgLmRpaml0U2xpZGVySW1hZ2VIYW5kbGUge1xuXHRib3JkZXI6NHB4IHNvbGlkICMwMDA7XG5cdGhlaWdodDo4cHg7XG5cdHdpZHRoOjhweDtcbn1cblxuLmRpaml0U2xpZGVySW1hZ2VIYW5kbGVWIHtcblx0dG9wOi04cHg7XG5cdHJpZ2h0OiAtNTAlO1xufVxuXG4uZGlqaXRTbGlkZXJJbWFnZUhhbmRsZUgge1xuXHRsZWZ0OjUwJTtcblx0dG9wOi01cHg7XG5cdHZlcnRpY2FsLWFsaWduOnRvcDtcbn1cblxuLmRpaml0U2xpZGVyQmFyIHtcblx0Ym9yZGVyLXN0eWxlOnNvbGlkO1xuXHRib3JkZXItY29sb3I6YmxhY2s7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmRpaml0U2xpZGVyQmFyQ29udGFpbmVyViB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRoZWlnaHQ6MTAwJTtcblx0ei1pbmRleDoxO1xufVxuXG4uZGlqaXRTbGlkZXJCYXJDb250YWluZXJIIHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHotaW5kZXg6MTtcbn1cblxuLmRpaml0U2xpZGVyQmFySCB7XG5cdGhlaWdodDo0cHg7XG5cdGJvcmRlci13aWR0aDoxcHggMDtcbn1cblxuLmRpaml0U2xpZGVyQmFyViB7XG5cdHdpZHRoOjRweDtcblx0Ym9yZGVyLXdpZHRoOjAgMXB4O1xufVxuXG4uZGlqaXRTbGlkZXJQcm9ncmVzc0JhciB7XG5cdGJhY2tncm91bmQtY29sb3I6cmVkO1xuXHR6LWluZGV4OjE7XG59XG5cbi5kaWppdFNsaWRlclByb2dyZXNzQmFyViB7XG5cdHBvc2l0aW9uOnN0YXRpYyAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6MDtcblx0dmVydGljYWwtYWxpZ246dG9wO1xuXHR0ZXh0LWFsaWduOmxlZnQ7XG59XG5cbi5kaWppdFNsaWRlclByb2dyZXNzQmFySCB7XG5cdHBvc2l0aW9uOmFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHdpZHRoOjA7XG5cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0b3ZlcmZsb3c6dmlzaWJsZTtcbn1cblxuLmRpaml0U2xpZGVyUmVtYWluaW5nQmFyIHtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuXHR6LWluZGV4OjE7XG59XG5cbi5kaWppdFNsaWRlclJlbWFpbmluZ0JhclYge1xuXHRoZWlnaHQ6MTAwJTtcblx0dGV4dC1hbGlnbjpsZWZ0O1xufVxuXG4uZGlqaXRTbGlkZXJSZW1haW5pbmdCYXJIIHtcblx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xufVxuXG4vKiB0aGUgc2xpZGVyIGJ1bXBlciBpcyB0aGUgc3BhY2UgY29uc3VtZWQgYnkgdGhlIHNsaWRlciBoYW5kbGUgd2hlbiBpdCBoYW5ncyBvdmVyIGFuIGVkZ2UgKi9cbi5kaWppdFNsaWRlckJ1bXBlciB7XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0ei1pbmRleDoxO1xufVxuXG4uZGlqaXRTbGlkZXJCdW1wZXJWIHtcblx0d2lkdGg6NHB4O1xuXHRoZWlnaHQ6OHB4O1xuXHRib3JkZXItd2lkdGg6MCAxcHg7XG59XG5cbi5kaWppdFNsaWRlckJ1bXBlckgge1xuXHR3aWR0aDo4cHg7XG5cdGhlaWdodDo0cHg7XG5cdGJvcmRlci13aWR0aDoxcHggMDtcbn1cblxuLmRpaml0U2xpZGVyQm90dG9tQnVtcGVyLFxuLmRpaml0U2xpZGVyTGVmdEJ1bXBlciB7XG5cdGJhY2tncm91bmQtY29sb3I6cmVkO1xufVxuXG4uZGlqaXRTbGlkZXJUb3BCdW1wZXIsXG4uZGlqaXRTbGlkZXJSaWdodEJ1bXBlciB7XG5cdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG59XG5cbi5kaWppdFNsaWRlckRlY29yYXRpb24ge1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcbn1cblxuLmRpaml0U2xpZGVyRGVjb3JhdGlvbkMsXG4uZGlqaXRTbGlkZXJEZWNvcmF0aW9uViB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogbmVlZGVkIGZvciBJRStxdWlya3MrUlRMK3ZlcnRpY2FsIChyZW5kZXJpbmcgYnVnKSBidXQgYWRkIGV2ZXJ5d2hlcmUgZm9yIGN1c3RvbSBzdHlsaW5nIGNvbnNpc3RlbmN5IGJ1dCB0aGlzIG1lc3NlcyB1cCBJRSBob3Jpem9udGFsIHNsaWRlcnMgKi9cbn1cblxuLmRpaml0U2xpZGVyRGVjb3JhdGlvbkgge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmRpaml0U2xpZGVyRGVjb3JhdGlvblYge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kaWppdFNsaWRlckJ1dHRvbiB7XG5cdGZvbnQtZmFtaWx5Om1vbm9zcGFjZTtcblx0bWFyZ2luOjA7XG5cdHBhZGRpbmc6MDtcblx0ZGlzcGxheTpibG9jaztcbn1cblxuLmRqX2ExMXkgLmRpaml0U2xpZGVyQnV0dG9uSW5uZXIge1xuXHR2aXNpYmlsaXR5OnZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmRpaml0U2xpZGVyQnV0dG9uQ29udGFpbmVyIHtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGhlaWdodDowO1x0LyogPz8/ICovXG59XG4uZGlqaXRTbGlkZXJCdXR0b25Db250YWluZXIgKiB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmRpaml0U2xpZGVyIC5kaWppdEJ1dHRvbk5vZGUge1xuXHRwYWRkaW5nOjA7XG5cdGRpc3BsYXk6YmxvY2s7XG59XG5cbi5kaWppdFJ1bGVDb250YWluZXIge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0b3ZlcmZsb3c6dmlzaWJsZTtcbn1cblxuLmRpaml0UnVsZUNvbnRhaW5lclYge1xuXHRoZWlnaHQ6MTAwJTtcblx0bGluZS1oZWlnaHQ6MDtcblx0ZmxvYXQ6bGVmdDtcblx0dGV4dC1hbGlnbjpsZWZ0O1xufVxuXG4uZGpfb3BlcmEgLmRpaml0UnVsZUNvbnRhaW5lclYge1xuXHRsaW5lLWhlaWdodDoyJTtcbn1cblxuLmRqX2llIC5kaWppdFJ1bGVDb250YWluZXJWIHtcblx0bGluZS1oZWlnaHQ6bm9ybWFsO1xufVxuXG4uZGpfZ2Vja28gLmRpaml0UnVsZUNvbnRhaW5lclYge1xuXHRtYXJnaW46MCAwIDFweCAwOyAvKiBtb3ppbGxhIGJ1ZyB3b3JrYXJvdW5kIGZvciBmbG9hdDpsZWZ0LGhlaWdodDoxMDAlIGJsb2NrIGVsZW1lbnRzICovXG59XG5cbi5kaWppdFJ1bGVNYXJrIHtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdGJvcmRlcjoxcHggc29saWQgYmxhY2s7XG5cdGxpbmUtaGVpZ2h0OjA7XG5cdGhlaWdodDoxMDAlO1xufVxuXG4uZGlqaXRSdWxlTWFya0gge1xuXHR3aWR0aDowO1xuXHRib3JkZXItdG9wLXdpZHRoOjAgIWltcG9ydGFudDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDowICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOjAgIWltcG9ydGFudDtcbn1cblxuLmRpaml0UnVsZUxhYmVsQ29udGFpbmVyIHtcblx0cG9zaXRpb246YWJzb2x1dGU7XG59XG5cbi5kaWppdFJ1bGVMYWJlbENvbnRhaW5lckgge1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG59XG5cbi5kaWppdFJ1bGVMYWJlbEgge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0bGVmdDotNTAlO1xufVxuXG4uZGlqaXRSdWxlTGFiZWxWIHtcblx0Lyogc28gdGhhdCBsb25nIGxhYmVscyBkb24ndCBvdmVyZmxvdyB0byBtdWx0aXBsZSByb3dzLCBvciBvdmVyd3JpdGUgc2xpZGVyIGl0c2VsZiAqL1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRpaml0UnVsZU1hcmtWIHtcblx0aGVpZ2h0OjA7XG5cdGJvcmRlci1yaWdodC13aWR0aDowICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6MCAhaW1wb3J0YW50O1xuXHRib3JkZXItbGVmdC13aWR0aDowICFpbXBvcnRhbnQ7XG5cdHdpZHRoOjEwMCU7XG5cdGxlZnQ6MDtcbn1cblxuLmRqX2llIC5kaWppdFJ1bGVMYWJlbENvbnRhaW5lclYge1xuXHRtYXJnaW4tdG9wOi0uNTVlbTtcbn1cblxuLmRqX2ExMXkgLmRpaml0U2xpZGVyUmVhZE9ubHksXG4uZGpfYTExeSAuZGlqaXRTbGlkZXJEaXNhYmxlZCB7XG5cdG9wYWNpdHk6MC42O1xufVxuLmRqX2llIC5kal9hMTF5IC5kaWppdFNsaWRlclJlYWRPbmx5IC5kaWppdFNsaWRlckJhcixcbi5kal9pZSAuZGpfYTExeSAuZGlqaXRTbGlkZXJEaXNhYmxlZCAuZGlqaXRTbGlkZXJCYXIge1xuXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApO1xufVxuXG4vKiArIGFuZCAtIFNsaWRlciBidXR0b25zOiBvdmVycmlkZSB0aGVtZSBzZXR0aW5ncyB0byBkaXNwbGF5IGljb25zICovXG4uZGpfYTExeSAuZGlqaXRTbGlkZXIgLmRpaml0U2xpZGVyQnV0dG9uQ29udGFpbmVyIGRpdiB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IC8qIG90aGVyd2lzZSBoeXBoZW4gaXMgbGFyZ2VyIGFuZCBtb3JlIHZlcnRpY2FsbHkgY2VudGVyZWQgKi9cblx0Zm9udC1zaXplOiAxZW07XG5cdGxpbmUtaGVpZ2h0OiAxZW07XG5cdGhlaWdodDogYXV0bztcblx0d2lkdGg6IGF1dG87XG5cdG1hcmdpbjogMCA0cHg7XG59XG5cbi8qIEljb24tb25seSBidXR0b25zIChvZnRlbiBpbiB0b29sYmFycykgc3RpbGwgZGlzcGxheSB0aGUgdGV4dCBpbiBoaWdoLWNvbnRyYXN0IG1vZGUgKi9cbi5kal9hMTF5IC5kaWppdEJ1dHRvbkNvbnRlbnRzIC5kaWppdEJ1dHRvblRleHQsXG4uZGpfYTExeSAuZGlqaXRUYWIgLnRhYkxhYmVsIHtcblx0ZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG59XG4uZGpfYTExeSAuZGlqaXRTZWxlY3QgLmRpaml0QnV0dG9uVGV4dCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4vKiBUZXh0QXJlYSwgU2ltcGxlVGV4dEFyZWEgKi9cbi5kaWppdFRleHRBcmVhIHtcblx0d2lkdGg6MTAwJTtcblx0b3ZlcmZsb3cteTogYXV0bztcdC8qIHcvb3V0IHRoaXMgSUUncyBTaW1wbGVUZXh0QXJlYSBnb2VzIHRvIG92ZXJmbG93OiBzY3JvbGwgKi9cbn1cbi5kaWppdFRleHRBcmVhW2NvbHNdIHtcblx0d2lkdGg6YXV0bzsgLyogU2ltcGxlVGV4dEFyZWEgY29scyAqL1xufVxuLmRqX2llIC5kaWppdFRleHRBcmVhQ29scyB7XG5cdHdpZHRoOmF1dG87XG59XG5cbi5kaWppdEV4cGFuZGluZ1RleHRBcmVhIHtcblx0LyogZm9yIGF1dG8gZXhhbmRpbmcgdGV4dGFyZWEgKGNhbGxlZCBUZXh0YXJlYSBjdXJyZW50bHksIHJlbmFtZSBmb3IgMi4wKSBkb24ndCB3YW50IHRvIGRpc3BsYXkgdGhlIGdyaXAgdG8gcmVzaXplICovXG5cdHJlc2l6ZTogbm9uZTtcbn1cblxuXG4vKiBUb29sYmFyXG4gKiBOb3RlIHRoYXQgb3RoZXIgdG9vbGJhciBydWxlcyAoZm9yIG9iamVjdHMgaW4gdG9vbGJhcnMpIGFyZSBzY2F0dGVyZWQgdGhyb3VnaG91dCB0aGlzIGZpbGUuXG4gKi9cblxuLmRpaml0VG9vbGJhclNlcGFyYXRvciB7XG5cdGhlaWdodDogMThweDtcblx0d2lkdGg6IDVweDtcblx0cGFkZGluZzogMCAxcHg7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogRWRpdG9yICovXG4uZGlqaXRJRUZpeGVkVG9vbGJhciB7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHQvKiB0b3A6MDsgKi9cblx0dG9wOiBleHByZXNzaW9uKGV2YWwoKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8ZG9jdW1lbnQuYm9keSkuc2Nyb2xsVG9wKSk7XG59XG5cbi5kaWppdEVkaXRvciB7XG5cdGRpc3BsYXk6IGJsb2NrO1x0LyogcHJldmVudHMgZ2xpdGNoIG9uIEZGIHdpdGggSW5saW5lRWRpdEJveCwgc2VlICM4NDA0ICovXG59XG5cbi5kaWppdEVkaXRvckRpc2FibGVkLFxuLmRpaml0RWRpdG9yUmVhZE9ubHkge1xuXHRjb2xvcjogZ3JheTtcbn1cblxuLyogVGltZVBpY2tlciAqL1xuXG4uZGlqaXRUaW1lUGlja2VyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uZGlqaXRUaW1lUGlja2VySXRlbSB7XG5cdGN1cnNvcjpwb2ludGVyO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmRpaml0VGltZVBpY2tlckl0ZW1Ib3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6Z3JheTtcblx0Y29sb3I6d2hpdGU7XG59XG4uZGlqaXRUaW1lUGlja2VySXRlbVNlbGVjdGVkIHtcblx0Zm9udC13ZWlnaHQ6Ym9sZDtcblx0Y29sb3I6IzMzMztcblx0YmFja2dyb3VuZC1jb2xvcjojYjdjZGVlO1xufVxuLmRpaml0VGltZVBpY2tlckl0ZW1EaXNhYmxlZCB7XG5cdGNvbG9yOmdyYXk7XG5cdHRleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2g7XG59XG5cbi5kaWppdFRpbWVQaWNrZXJJdGVtSW5uZXIge1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0Ym9yZGVyOjA7XG5cdHBhZGRpbmc6MnB4IDhweCAycHggOHB4O1xufVxuXG4uZGlqaXRUaW1lUGlja2VyVGljayxcbi5kaWppdFRpbWVQaWNrZXJNYXJrZXIge1xuXHRib3JkZXItYm90dG9tOjFweCBzb2xpZCBncmF5O1xufVxuXG4uZGlqaXRUaW1lUGlja2VyIC5kaWppdERvd25BcnJvd0J1dHRvbiB7XG5cdGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmRpaml0VGltZVBpY2tlclRpY2sge1xuXHRjb2xvcjojQ0NDO1xufVxuXG4uZGlqaXRUaW1lUGlja2VyTWFya2VyIHtcblx0Y29sb3I6YmxhY2s7XG5cdGJhY2tncm91bmQtY29sb3I6I0NDQztcbn1cblxuLmRqX2ExMXkgLmRpaml0VGltZVBpY2tlckl0ZW1TZWxlY3RlZCAuZGlqaXRUaW1lUGlja2VySXRlbUlubmVyIHtcblx0Ym9yZGVyOiBzb2xpZCA0cHggYmxhY2s7XG59XG4uZGpfYTExeSAuZGlqaXRUaW1lUGlja2VySXRlbUhvdmVyIC5kaWppdFRpbWVQaWNrZXJJdGVtSW5uZXIge1xuXHRib3JkZXI6IGRhc2hlZCA0cHggYmxhY2s7XG59XG5cblxuLmRpaml0VG9nZ2xlQnV0dG9uSWNvbkNoYXIge1xuXHQvKiBjaGFyYWN0ZXIgKGluc3RlYWQgb2YgaWNvbikgdG8gc2hvdyB0aGF0IFRvZ2dsZUJ1dHRvbiBpcyBjaGVja2VkICovXG5cdGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xufVxuLmRqX2ExMXkgLmRpaml0VG9nZ2xlQnV0dG9uIC5kaWppdFRvZ2dsZUJ1dHRvbkljb25DaGFyIHtcblx0ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDtcblx0dmlzaWJpbGl0eTpoaWRkZW47XG59XG4uZGpfaWU2IC5kaWppdFRvZ2dsZUJ1dHRvbkljb25DaGFyLCAuZGpfaWU2IC50YWJTdHJpcEJ1dHRvbiAuZGlqaXRCdXR0b25UZXh0IHtcblx0Zm9udC1mYW1pbHk6IFwiQXJpYWwgVW5pY29kZSBNU1wiO1x0Lyogb3RoZXJ3aXNlIHRoZSBhMTF5IGNoYXJhY3RlciAoY2hlY2ttYXJrLCBhcnJvdywgZXRjLikgYXBwZWFycyBhcyBhIGJveCAqL1xufVxuLmRqX2ExMXkgLmRpaml0VG9nZ2xlQnV0dG9uQ2hlY2tlZCAuZGlqaXRUb2dnbGVCdXR0b25JY29uQ2hhciB7XG5cdGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyAvKiBJbiBoaWdoIGNvbnRyYXN0IG1vZGUsIGRpc3BsYXkgdGhlIGNoZWNrIHN5bWJvbCAqL1xuXHR2aXNpYmlsaXR5OnZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmRpaml0QXJyb3dCdXR0b25DaGFyIHtcblx0ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG59XG4uZGpfYTExeSAuZGlqaXRBcnJvd0J1dHRvbkNoYXIge1xuXHRkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O1xufVxuXG4uZGpfYTExeSAuZGlqaXREcm9wRG93bkJ1dHRvbiAuZGlqaXRBcnJvd0J1dHRvbklubmVyLFxuLmRqX2ExMXkgLmRpaml0Q29tYm9CdXR0b24gLmRpaml0QXJyb3dCdXR0b25Jbm5lciB7XG5cdGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBTZWxlY3QgKi9cbi5kal9hMTF5IC5kaWppdFNlbGVjdCB7XG5cdGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4uZGpfaWUgLmRpaml0U2VsZWN0IHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogU2V0IHRoaXMgYmFjayBmb3Igd2hhdCB3ZSBoYWNrIGluIGRpaml0IGlubGluZSAqL1xufVxuLmRqX2llNiAuZGlqaXRTZWxlY3QgLmRpaml0VmFsaWRhdGlvbkNvbnRhaW5lcixcbi5kal9pZTggLmRpaml0U2VsZWN0IC5kaWppdEJ1dHRvblRleHQge1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLmRqX2llNiAuZGlqaXRUZXh0Qm94IC5kaWppdElucHV0Q29udGFpbmVyLFxuLmRqX2llcXVpcmtzIC5kaWppdFRleHRCb3ggLmRpaml0SW5wdXRDb250YWluZXIsXG4uZGpfaWU2IC5kaWppdFRleHRCb3ggLmRpaml0QXJyb3dCdXR0b25Jbm5lcixcbi5kal9pZTYgLmRpaml0U3Bpbm5lciAuZGlqaXRTcGlubmVyQnV0dG9uSW5uZXIsXG4uZGlqaXRTZWxlY3QgLmRpaml0U2VsZWN0TGFiZWwge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi5kaWppdE51bWJlclRleHRCb3gge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRkaXJlY3Rpb246IGx0cjtcbn1cblxuLmRpaml0TnVtYmVyVGV4dEJveCAuZGlqaXRJbnB1dElubmVyIHtcblx0dGV4dC1hbGlnbjogaW5oZXJpdDsgLyogaW5wdXQgKi9cbn1cblxuLmRpaml0TnVtYmVyVGV4dEJveCBpbnB1dC5kaWppdElucHV0SW5uZXIsXG4uZGlqaXRDdXJyZW5jeVRleHRCb3ggaW5wdXQuZGlqaXRJbnB1dElubmVyLFxuLmRpaml0U3Bpbm5lciBpbnB1dC5kaWppdElucHV0SW5uZXIge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmRqX2llOCAuZGlqaXROdW1iZXJUZXh0Qm94IGlucHV0LmRpaml0SW5wdXRJbm5lciwgLmRqX2llOSAuZGlqaXROdW1iZXJUZXh0Qm94IGlucHV0LmRpaml0SW5wdXRJbm5lcixcbi5kal9pZTggLmRpaml0Q3VycmVuY3lUZXh0Qm94IGlucHV0LmRpaml0SW5wdXRJbm5lciwgLmRqX2llOSAuZGlqaXRDdXJyZW5jeVRleHRCb3ggaW5wdXQuZGlqaXRJbnB1dElubmVyLFxuLmRqX2llOCAuZGlqaXRTcGlubmVyIGlucHV0LmRpaml0SW5wdXRJbm5lciwgLmRqX2llOSAuZGlqaXRTcGlubmVyIGlucHV0LmRpaml0SW5wdXRJbm5lciB7XG5cdC8qIHdvcmthcm91bmQgYnVnIHdoZXJlIGNhcmV0IGludmlzaWJsZSBpbiBlbXB0eSB0ZXh0Ym94ZXMgKi9cblx0cGFkZGluZy1yaWdodDogMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kaWppdFRvb2xiYXIgLmRpaml0U2VsZWN0IHtcblx0bWFyZ2luOiAwO1xufVxuLmRqX3dlYmtpdCAuZGlqaXRUb29sYmFyIC5kaWppdFNlbGVjdCB7XG5cdHBhZGRpbmctbGVmdDogMC4zZW07XG59XG4uZGlqaXRTZWxlY3QgLmRpaml0QnV0dG9uQ29udGVudHMge1xuXHRwYWRkaW5nOiAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRib3JkZXItc3R5bGU6IG5vbmUgc29saWQgbm9uZSBub25lO1xuXHRib3JkZXItd2lkdGg6IDFweDtcbn1cbi5kaWppdFNlbGVjdEZpeGVkV2lkdGggLmRpaml0QnV0dG9uQ29udGVudHMge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmRpaml0U2VsZWN0TWVudSAuZGlqaXRNZW51SXRlbUljb24ge1xuXHQvKiBhdm9pZCBibGFuayBhcmVhIGluIGxlZnQgc2lkZSBvZiBtZW51IChzaW5jZSB3ZSBoYXZlIG5vIGljb25zKSAqL1xuXHRkaXNwbGF5Om5vbmU7XG59XG4uZGpfaWU2IC5kaWppdFNlbGVjdE1lbnUgLmRpaml0TWVudUl0ZW1MYWJlbCxcbi5kal9pZTcgLmRpaml0U2VsZWN0TWVudSAuZGlqaXRNZW51SXRlbUxhYmVsIHtcblx0LyogU2V0IGJhY2sgdG8gc3RhdGljIGR1ZSB0byBidWcgaW4gaWU2L2llNyAtIFNlZSBCdWcgIzk2NTEgKi9cblx0cG9zaXRpb246IHN0YXRpYztcbn1cblxuLyogRml4IHRoZSBiYXNlbGluZSBvZiBvdXIgbGFiZWwgKGZvciBtdWx0aS1zaXplIGZvbnQgZWxlbWVudHMpICovXG4uZGlqaXRTZWxlY3RMYWJlbCAqXG57XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogU3R5bGluZyBmb3IgdGhlIGN1cnJlbnRseS1zZWxlY3RlZCBvcHRpb24gKHJpY2ggdGV4dCBjYW4gbWVzcyB0aGlzIHVwKSAqL1xuLmRpaml0U2VsZWN0U2VsZWN0ZWRPcHRpb24gKiB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBGaXggdGhlIHN0eWxpbmcgb2YgdGhlIGRyb3Bkb3duIG1lbnUgdG8gYmUgbW9yZSBjb21ib2JveC1saWtlICovXG4uZGlqaXRTZWxlY3RNZW51IHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG59XG5cbi8qIFVzZWQgaW4gY2FzZXMsIHN1Y2ggYXMgRnVsbFNjcmVlbiBwbHVnaW4sIHdoZW4gd2UgbmVlZCB0byBmb3JjZSBzdHVmZiB0byBzdGF0aWMgcG9zaXRpb25pbmcuICovXG4uZGlqaXRGb3JjZVN0YXRpYyB7XG5cdHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbn1cblxuLyoqKiogRGlzYWJsZWQgY3Vyc29yICoqKioqL1xuLmRpaml0UmVhZE9ubHkgKixcbi5kaWppdERpc2FibGVkICosXG4uZGlqaXRSZWFkT25seSxcbi5kaWppdERpc2FibGVkIHtcblx0LyogYSByZWdpb24gdGhlIHVzZXIgd291bGQgYmUgYWJsZSB0byBjbGljayBvbiwgYnV0IGl0J3MgZGlzYWJsZWQgKi9cblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiBEcmFnIGFuZCBEcm9wICovXG4uZG9qb0RuZEl0ZW0ge1xuICAgIHBhZGRpbmc6IDJweDsgIC8qIHdpbGwgYmUgcmVwbGFjZWQgYnkgYm9yZGVyIGR1cmluZyBkcmFnIG92ZXIgKGRvam9EbmRJdGVtQmVmb3JlLCBkb2pvRG5kSXRlbUFmdGVyKSAqL1xuXG5cdC8qIFByZXZlbnQgbWFnbmlmeWluZy1nbGFzcyB0ZXh0IHNlbGVjdGlvbiBpY29uIHRvIGFwcGVhciBvbiBtb2JpbGUgd2Via2l0IGFzIGl0IGNhdXNlcyBhIHRvdWNob3V0IGV2ZW50ICovXG5cdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogRGlzYWJsZSBzZWxlY3Rpb24vQ29weSBvZiBVSVdlYlZpZXcgKi9cbn1cbi5kb2pvRG5kSG9yaXpvbnRhbCAuZG9qb0RuZEl0ZW0ge1xuICAgIC8qIG1ha2UgY29udGVudHMgb2YgaG9yaXpvbnRhbCBjb250YWluZXIgYmUgc2lkZSBieSBzaWRlLCByYXRoZXIgdGhhbiB2ZXJ0aWNhbCAqL1xuICAgICNkaXNwbGF5OiBpbmxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZG9qb0RuZEl0ZW1CZWZvcmUsXG4uZG9qb0RuZEl0ZW1BZnRlciB7XG5cdGJvcmRlcjogMHB4IHNvbGlkICMzNjk7XG59XG4uZG9qb0RuZEl0ZW1CZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogMnB4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDAgMnB4IDJweCAycHg7XG59XG4uZG9qb0RuZEl0ZW1BZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMnB4IDA7XG4gICAgcGFkZGluZzogMnB4IDJweCAwIDJweDtcbn1cbi5kb2pvRG5kSG9yaXpvbnRhbCAuZG9qb0RuZEl0ZW1CZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogMCAwIDAgMnB4O1xuICAgIHBhZGRpbmc6IDJweCAycHggMnB4IDA7XG59XG4uZG9qb0RuZEhvcml6b250YWwgLmRvam9EbmRJdGVtQWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogMCAycHggMCAwO1xuICAgIHBhZGRpbmc6IDJweCAwIDJweCAycHg7XG59XG5cbi5kb2pvRG5kSXRlbU92ZXIge1xuXHRjdXJzb3I6cG9pbnRlcjtcbn1cbi5kal9nZWNrbyAuZGlqaXRBcnJvd0J1dHRvbklubmVyIElOUFVULFxuLmRqX2dlY2tvIElOUFVULmRpaml0QXJyb3dCdXR0b25Jbm5lciB7XG5cdC1tb3otdXNlci1mb2N1czppZ25vcmU7XG59XG4uZGlqaXRGb2N1c2VkIC5kaWppdE1lbnVJdGVtU2hvcnRjdXRLZXkge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiIsIi8qIERpaml0IGN1c3RvbSBzdHlsaW5nICovXG4uZGlqaXRCb3JkZXJDb250YWluZXIge1xuICAgIGhlaWdodDogMzUwcHg7XG59XG4uZGlqaXRUb29sdGlwQ29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuLmRpaml0Q29udGVudFBhbmUge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7IC8qIFdpZGdldHMgbGlrZSB0aGUgZGF0YSBncmlkIHBhc3MgdGhlaXIgc2Nyb2xsXG4gICAgb2Zmc2V0IHRvIHRoZSBwYXJlbnQgaWYgdGhlcmUgaXMgbm90IGVub3VnaCByb29tIHRvIGRpc3BsYXkgYSBzY3JvbGwgYmFyXG4gICAgaW4gdGhlIHdpZGdldCBpdHNlbGYsIHNvIGRvIG5vdCBoaWRlIHRoZSBvdmVyZmxvdy4gKi9cbn1cblxuLyogR2xvYmFsIEJvb3RzdHJhcCBjaGFuZ2VzICovXG5cbi8qIENsaWVudCBkZWZhdWx0cyBhbmQgaGVscGVycyAqL1xuLm14LWRhdGF2aWV3LWNvbnRlbnQsIC5teC1zY3JvbGxjb250YWluZXItd3JhcHBlcjpub3QoLm14LXNjcm9sbGNvbnRhaW5lci1uZXN0ZWQpLCAubXgtdGFiY29udGFpbmVyLWNvbnRlbnQsIC5teC1ncmlkLWNvbnRlbnQge1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbmh0bWwsIGJvZHksICNjb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4jY29udGVudCA+IC5teC1wYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG4ubXgtbGVmdC1hbGlnbmVkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLm14LXJpZ2h0LWFsaWduZWQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm14LWNlbnRlci1hbGlnbmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ubXgtdGFibGUgdGgsXG4ubXgtdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLm14LXRhYmxlIHRoLm5vcGFkZGluZyxcbi5teC10YWJsZSB0ZC5ub3BhZGRpbmcge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ubXgtb2Zmc2NyZWVuIHtcbiAgICAvKiBXaGVuIHBvc2l0aW9uIHJlbGF0aXZlIGlzIG5vdCBzZXQgSUUgZG9lc24ndCBwcm9wZXJseSByZW5kZXIgd2hlbiB0aGlzIGNsYXNzIGlzIHJlbW92ZWRcbiAgICAgKiB3aXRoIHRoZSBlZmZlY3QgdGhhdCBlbGVtZW50cyBhcmUgbm90IGRpc3BsYXllZCBvciBhcmUgbm90IGNsaWNrYWJsZS5cbiAgICAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm14LWllLWV2ZW50LXNoaWVsZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbn1cblxuLm14LXN3aXBlLW5hdmlnYXRpb24tcHJvZ3Jlc3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDI3cHgpO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjdweCk7XG4gICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaE5nQTJBUE1BQVAvLy93QUFBSGg0ZUJ3Y0hBNE9EdGpZMkZSVVZOemMzTVRFeEVoSVNJcUtpZ0FBQUFBQUFBQUFBQUFBQUFBQUFDSDVCQWtLQUFBQUlmNGFRM0psWVhSbFpDQjNhWFJvSUdGcVlYaHNiMkZrTG1sdVptOEFJZjhMVGtWVVUwTkJVRVV5TGpBREFRQUFBQ3dBQUFBQU5nQTJBQUFFeXhESVNhdTlPT3ZOdS85Z0tJNWt5U0VKUVNTSTZVcUtLaFBLV3lMejNOcGltcXNKbnVnM0U0YUlNaVBJOXdzcVBUamlUbGt3cUF3RlRDeFhleFlHczBIMmdnSk9MWUxCUURDeTVnd213WXg5SkpyQXNzSFFYc0tyOUNGdU0zQWxjakowSUFkK0JBTUhMbWxySkFkdUJvNVBsNWlabXB1Y25aNmZjV3FJbUpDamFIT1poaXFtRkl1QWw2NFpzWml6RjZvRXJFSzN1Uk9sbTc2Z3djTER4TVhHeDhYQWo2SWt1NCtvSXJVazBoL1UwV0Vqem5IUUlzcWhrY2pCM3NuY3hkYkM1K0xseWN6aDdrOFJBQ0g1QkFrS0FBQUFMQUFBQUFBMkFEWUFBQVRNRU1oSnE3MDQ2ODI3LzJBb2ptUnBubVZoRUlSUm9HY3hzT3p3d3VSS3N3Wk83anZmQ0VnVGluUzduaEYwbU5FR2h3c2l3VW9nbHBTRHpoQzFLSWlLa1dBd0VKZ1FSTllWSk5pWlNkUjBJdVNzbGRKRlVKMHd1T01KSVcwMGJ5TnhSSE9CWklRamFHbHJXQnhmUUdHUUhsTlZqNVdhbTV5ZG5wOUxZMldib29zV2dpeW1RcWdFcWhON2ZaQ3dHYk95TzdFWHJLNDR1aHFscElxZ3dzUEV4Y2JIeU1lL0tNc2l2U2JQZExjbnRkSlAxTlBPYmlmUmlhUE13Y25DemNyYnlOWEc2TVhkeHVUaTd6NFJBQ0g1QkFrS0FBQUFMQUFBQUFBMkFEWUFBQVRPRU1oSnE3MDQ2ODI3LzJBb2ptUnBubWlxQXNJd0NLc3BFRFFCeCtOUUV3T2U3ejFmYUZhN0NVR3QxMUZZTU5BTUJWTFNTQ3JvYW9Qb2NFY1ZPWGNFZytoS0M1TEF0VEhRaEthSmlMUnU2THNUdjEzeTBJSE1PeXc5QjE4R2ZuK0Zob2VJaVlvWkNBazBDUWlMRmdwb0NobFRSd2h0QkpFV2NEWkNqbTBKRjN4bU1adHVGcVpDcVFRWG4za29vbWlrc0hpWm01MlNBSlJnbHJ3VGpZKzd3Y2JIeU1uS0U1Z296VzljSjdFL1dDZXNhdFVtMTF0RjB0RWp6eks0eTRuaHh0UEkyOGJxd2VqSTV1VHhKaEVBSWZrRUNRb0FBQUFzQUFBQUFEWUFOZ0FBQk1zUXlFbXJ2VGpyemJ2L1lDaU9aR21lYUtvQ3dqQUlxeWtRTkFISDQxQVRBNTd2UFY5b1Zyc0pRYTNYY1lsS0dtV3VKM0luRlJGcDFZNnVGaXh0YVYzUWwzY2FoejlYMnltZDdUaFRiNlo4VHEvYjcvaTh2R0NnR1FvYWNVSUZab0FYYkVkOU93UUdHR1pIaXpXT1FKQ1JCQmlJUW9vN2paaFJTd2RtQjNvVUI0b0dvNlNxcTZ5dE1RZ0pOQWtJckFxUkNpT0NJd2lXQkxSVFJTV3hsZ2toanlTOU5NYVV5TWxEVk1LOXhVT2ZKYnlXdjNxMmk3aEx1aFd3c3RsQ21hdkg1c3lyNWVyVnJ1NDRFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2ditMd2VFMS8yTDJ4K1ZCbG1TNFVZaDBLSkZvRkhqWHhSY245N2xKV1dsNWlaY2dVR05BWUZKSk1pQldhZ1E0TWxuVHNFQmlLTElxczFya0Ftc1RSV3FDU3FPNjFXa1JrSUNUUUpDQmNIWmdkSENyRUt4cW9HeVVJSXRnVEZlc0syQ1h2VXQzcmNCSHZZc2RwNjA3Yldlc3VyelpYQncrZ2lFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2ditMd2VFMS8yTDJ4K1ZCbG1TNFVZaDBLSkZvRkhqWHhSY245N2xKV1dsNWdTQ0FrMENRaVdDanMwQ3BRSW9qV2ZKWk1kbktjRUNhcURJSzQxWGtBaHREUzJYQ0d0cDdBa2p4Nm1ycW5Ca1NLaG9xUVhCUVkwQmdWTG01M0dGUVZtMHBUUG9nYVZ0Tit1bGR3NzNwUUhaZ2VXQjl3RzZwa29FUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2dktVU0Nsa0RnTFFvN05BcC9Fd2lDTlg1Q2NSWjdpQVFKaTFRWGp6VkNacFNWQkpkQUY0NklrVDVzRjRlUGlxSlJHWUdDaElXR2puMnVzck8wdFhZRkJqUUdCYlFGWnJ4UVNpSzVnZ1l5a3lHVkpwakpqOHVkSWNRN3hpV2pJUWRtQjJ1cEl3ZkVCdHEySG95ejFyUE01OURseUxUazR1OHBFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3a1JDVm9Db1dtOWhCTEZqcWFBZGhEVEdyUGtOSDZTV1VLQ3UvTjJ3cldTcmhiOG9HbHFZQWljSFpPSU5ETUhHOTdlWFhvZFVsTlZWbGRnUzRhS2k0eU5qbzhGQmpRR0JZOFhCV3MwQTVWUVhSbVNVd2FkWlJob1VKazhwV0duY2hlZ082SkNlRFlZQjZnREIxYWVHUWVnQnJtV3djTER4TVhHeDF5QUtic2lzNEVnemo5c0o3ZlNtdFN0UTZReTI4M0tLTXpJamVIRTBjYlY1OW5sM2NYazR1OG9FUUE3KTtcbn1cblxuIiwiLyogQmFjYXVzZSB3ZSB1c2UgY2hlY2tib3hlcyB3aXRob3V0IGxhYmVscywgYWxpZ24gdGhlbSB3aXRoIG90aGVyIHdpZGdldHMuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbjogOXB4IDA7XG59XG5cbi5teC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi5mb3JtLXZlcnRpY2FsIC5mb3JtLWdyb3VwLm14LWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mb3JtLXZlcnRpY2FsIC5mb3JtLWdyb3VwLm14LWNoZWNrYm94LmxhYmVsLWFmdGVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLm5vLWNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4ubXgtcmFkaW9idXR0b25zLmlubGluZSAucmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5teC1yYWRpb2J1dHRvbnMgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgLyogUmVzZXQgYm9vdHN0cmFwIHJ1bGVzICovXG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm14LXJhZGlvYnV0dG9ucyAucmFkaW8gbGFiZWwge1xuICAgIC8qIFJlc2V0IGJvb3RzdHJhcCBydWxlcyAqL1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmFsZXJ0IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG59XG5cbi5teC1jb21wb3VuZC1jb250cm9sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubXgtY29tcG91bmQtY29udHJvbCBidXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm14LWNvbXBvdW5kLWNvbnRyb2wgYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbiIsIi5teC10b29sdGlwIHtcbiAgICBtYXJnaW46IDEwcHg7XG59XG4ubXgtdG9vbHRpcC1jb250ZW50IHtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5teC10b29sdGlwLXByZXBhcmUge1xuICAgIGhlaWdodDogMjRweDtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEdBQVlBTVFkQUtYWjhuZkY2NFRMN1F1WDNGZTQ1emFxNGhPYjNmTDYvZnI5L3JyaTlkWHQrWnJVOEN5bTRVbXk1Y0hsOXVQeisySzg2T2oxL056dytyRGQ5TTNxK0pEUTcyckE2aU9pMyszNC9FQ3U0OGpvOXgyZjNnV1YyLy8vL3dBQUFBQUFBQ0gvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoL3d0WVRWQWdSR0YwWVZoTlVEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVFF3SURjNUxqRTJNRFExTVN3Z01qQXhOeTh3TlM4d05pMHdNVG93T0RveU1TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRnZ0tFMWhZMmx1ZEc5emFDa2lJSGh0Y0UxTk9rbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZSVUpGTmtVNE5FWkNORVZETVRGRk9EazNNREJCTlVVMVJVTTRRamczUVRVaUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNlJVSkZOa1U0TlRCQ05FVkRNVEZGT0RrM01EQkJOVVUxUlVNNFFqZzNRVFVpUGlBOGVHMXdUVTA2UkdWeWFYWmxaRVp5YjIwZ2MzUlNaV1k2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwRlFrVTJSVGcwUkVJMFJVTXhNVVU0T1Rjd01FRTFSVFZGUXpoQ09EZEJOU0lnYzNSU1pXWTZaRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRHBGUWtVMlJUZzBSVUkwUlVNeE1VVTRPVGN3TUVFMVJUVkZRemhDT0RkQk5TSXZQaUE4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRnUEM5eVpHWTZVa1JHUGlBOEwzZzZlRzF3YldWMFlUNGdQRDk0Y0dGamEyVjBJR1Z1WkQwaWNpSS9QZ0gvL3YzOCsvcjUrUGYyOWZUejh2SHc3Kzd0N092cTZlam41dVhrNCtMaDROL2UzZHpiMnRuWTE5YlYxTlBTMGREUHpzM015OHJKeU1mR3hjVER3c0hBdjc2OXZMdTZ1YmkzdHJXMHM3S3hzSyt1cmF5cnFxbW9wNmFscEtPaW9hQ2ZucDJjbTVxWm1KZVdsWlNUa3BHUWo0Nk5qSXVLaVlpSGhvV0VnNEtCZ0g5K2ZYeDdlbmw0ZDNaMWRITnljWEJ2Ym0xc2EycHBhR2RtWldSalltRmdYMTVkWEZ0YVdWaFhWbFZVVTFKUlVFOU9UVXhMU2tsSVIwWkZSRU5DUVVBL1BqMDhPem81T0RjMk5UUXpNakV3THk0dExDc3FLU2duSmlVa0l5SWhJQjhlSFJ3Ykdoa1lGeFlWRkJNU0VSQVBEZzBNQ3dvSkNBY0dCUVFEQWdFQUFDSDVCQVVFQUIwQUxBQUFBQUFZQUJnQUFBVWNZQ2VPWkdtZWFLcXViT3UrY0N6UGRHM2ZlSzd2Zk8vL3dPQXJCQUFoK1FRRkJBQWRBQ3dBQUFBQUFRQUJBQUFGQTJBWEFnQWgrUVFGQkFBZEFDd1VBQXdBQVFBQ0FBQUZBeURUaEFBaCtRUUZCQUFkQUN3VEFBc0FBZ0FHQUFBRkMyQVhkRnhuZE1UUU1WMElBQ0g1QkFVRUFCMEFMQkVBQ3dBRUFBZ0FBQVVSWUNjMllpbHlvcldkVm1jTnA4aTBYUWdBSWZrRUJRUUFIUUFzRHdBT0FBWUFCZ0FBQlE5Z0ozYUJNWjRqaDQ0V0I0bkZjSVlBSWZrRUNRUUFIUUFzRFFBUEFBZ0FCZ0FBQlJGZ0o0NGRSSGJCcVlvcEdRd2NPUmhxQ0FBaCtRUUpCQUFkQUN3QUFBQUFHQUFZQUFBRkxXQW5qbVJwbm1pcXJtenJ2bkFzejNSdDMzaXVrOEpnRHdRYlIyaWhCVGlOV1c4WTR6aDlHaGxnUnkyRkFBQWgrUVFKQkFBZEFDd0FBQUFBR0FBWUFBQUZNMkFuam1ScG5taXFybXpydm5Bc3ozUnQzMmh6YzN0U0M3emFZT2VvY1NBMFlNWlZJUWtHd1JhUVE2VjJpaklBYnFzS0FRQWgrUVFKQkFBZEFDd0FBQUFBR0FBWUFBQUZObUFuam1ScG5taXFybXpydm5Bc3ozUnQzMmh6Yy90VVY3eWFJV01MMGppRVZRVUZMS3dDSEVPcFlqQ3lNcHlzbGloYjRMNnJFQUFoK1FRSkJBQWRBQ3dBQUFBQUdBQVlBQUFGT21BbmptUnBubWlxcm16cnZuQXN6M1J0MzJoemN6dFFWN3phcG1BTG1vQXNqZzdGTUI0NWpGV0RzeWxWTnM1VmdjUHRFbU8rQ202c0NnRUFJZmtFQ1FRQUhRQXNBQUFBQUJnQUdBQUFCVDlnSjQ1a2FaNW9xcTVzNjc1d0xNOTBiZDhvY1hPQ3plMm14c2ExWVp4K0xRN2cxRUNxT0prVWc3TkljWXlxNXJDMGdicW1uSENZc1lRdGU3aDBLZ1FBSWZrRUNRUUFIUUFzQUFBQUFCZ0FHQUFBQlVSZ0o0NWthWjVvcXE1czY3NXdMTTkwYmQ4b1lRWXdKNVNjbmluNElwSVlGOWNsV1ZvWVY1ekZLZk5FY1RLcFN4WElURkc3SXkyMnhlQ1l6eGNwVFBxajRONm9FQUFoK1FRSkJBQWRBQ3dBQUFBQUdBQVlBQUFGU21BbmptUnBubWlxcm16cnZuQXN6M1ROYm5iQXdZUzV2NXdBcWZKekZVZEhWckt6WWJnWU9OK2t4YW1jQ2dQV29KRGFaRk9EYUtyQWNaWVlIRzVydzJtN04xWllSUmkzMlZjaEFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVlBZQ2VPWkdtZWFLcXViT3UrY0N6UDVVYlFJb2QzZ3I3N3JodkpBbXh4TEtVaVM5bmhURjVNQThQRk1KaDZMbzdneEJpd0JsUFV4cHNhYkZZTVRwaVVYcXNFQm81OGJ0akN0aGI3YnI4S0FRQWgrUVFKQkFBZEFDd0FBQUFBR0FBWUFBQUZVMkFuam1ScG5taXFybXpydmpETFhERXBjRFZwWlBtSTk1MGJVUFJ6UVVxUVlvdHpKQ2xaejhsenhabVVEQVZYd1hDYW9yeWRDM2Rsb0tFTTQzTWFkZUZrU3dXT2VSVXdjTzU0UXlBbU9BcUdnQzBoQUNINUJBVUVBQjBBTEFBQUFBQVlBQmdBQUFWWFlDZU9aR21lYUtxdWJMdHVsbnNhaG14dXRVMEduRjRPRFIrcEp4VHhpaUpDemhYNzJRYUVIZEUxSFZWWkhNQXY0OG9NVE1jV0ozRENzUXliMUdBNSs2bzJIRzRwdzBtekFnTU9aNURmazIwQlVYOUloQzBoQUNINUJBa0VBQjBBTEFJQUF3QVVBQk1BQUFVL1lDZUsxdENNYUpweWhPcU93L2JPOUd6VmM0dnY5YzJuc2w5QVpQaDFpajZqY3JRUW5YYlBEc1E0SFFWcFYxUld0VTFGUjE5WDlWZ1VqV20rWkNvRUFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVmJZQ2VPWkdtZWFLcU9GckdpeE1CeHpHc2FuR3VidzdhZkJ0K3ZST0FNVGJsanlhaGtNWnVkaG5BWEtFbUhtOFp5K0JRdHVpL09ZcWw3RlUvZ1ZQSTJUVzBNcVo1cU0xamh5cU1pM0R6amJEWjllRFlRRFZwalVJZy9JUUFoK1FRSkJBQWRBQ3dBQUFBQUdBQVlBQUFGWUdBbmptUnBubWlxaWxXWFpjUnFFaHczWE5jZ2t3WUg3U2ZPQlhneURJa2xHdExrVzVZNFRoSkJGeFZsamtCQjZZcThaRXBVWUpnRkpYSmFwT1lPVXBhMlY1eVl5U2k3R0ZKQzFlVmRWSlBZZHpJME5qZ0ROWEpFQkYrSVZZMUFJUUFoK1FRSkJBQWRBQ3dBQUFBQUdBQVlBQUFGWldBbmptUnBubWlxaWtKWEZNUnFOaHhuTUlWUngvTEFXYWFBck1OaERGRUQ0M0hHV1o1K3pwS2dHUzBacXFTQ2Npa2NhWjA0RXVHNk5QQkcxR01hRFJ4YTFpS2F1bkZLeWhpRFZGSEZnSnQ4YlNSdmVUSTBOZ3dNT2h4MFRnUXZIUzFZa2xFaEFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVm1ZQ2VPWkdtZWFLcUtRY01VeldwbUhMZDF4VlpuY2pjTUFWUGdwMXB3Q2lyR0RUVkE5azZad1JQRm1aNENWV3Vwc2RTT1h0cmdWMXRna0xqV1RZeVVmYlpISExFTU81UDJCanhUVTFhd240NHFCVzhtQzBSQ2hpczBOZ1U1TzFZdFptdGVrNU1oQUNINUJBa0VBQjBBTEFBQUFBQVlBQmdBQUFWbllDZU9aR21lYUtxS1FYWmQyV29XSEhkMURWTVhjc1VOSjRHQnMrTHdVclFLeWlpam5RcEFXY2R3NGdTa3FBQVJlM0p4VDdkdngwS0NmYjBqTk5aTTJtTGRJeXRXTzR2S0JzY1NjK1ZjNXA5d1ZYWWtBUU9CS0RRMkdTNDdYeTB2SFZkaWs1UWlJUUFoK1FRRkJBQWRBQ3dBQUFBQUdBQVlBQUFGYm1BbmptUnBubWlxaWxheGJjVnFNaHpIZEExdHl3Sm5uQUlEUjZEaVpGUVpUc29vUzU0WVAxbkhjQ3NOcFNJbHlhTEZjZ0trUWhWcjJwQkZpOUttY1c2WVIrSXpJMGJxU3UxWm9qZFJnbUtwSjB3clRpaUNLSVFvUFZFbFFYZ29PZ3dOT1RWalVpMW1kR2VhbXlVaEFDSDVCQVVFQUIwQUxBSUFBZ0FVQUJRQUFBVmJZQ2VPa01HZG5BR05MSWx5dy9DdWJjZWNXWjJkVEhzYk5aYXBKNEtrZ2kwVDdZU3NNWTI1Sm10WDRraWRKdXVWaFJwc1dUTFlkeFRXamsrbXNTZ0ZIVk03ekcvY0NMd3FSei9wMElmVDhZSkdYV1VjTkVoVktDbzFJUUFoK1FRRkJBQWRBQ3dCQUFFQUZnQVdBQUFGWjJBbmptUFZCV1NxbmdaSGNnYTZqc2JyMG5OMTEyVEZjNmFVNnpZYnBtckVXY2ZGTzRrRXloSFUyYWsxbzlYc0VydHlCYm1xWUpKN1E0MnhMaG00MlBsaVRUc3QxeXBTYzZkcUpGa3VHazVWQWtZcE9pSlhiVDlLVnh4Smhpb0JMUytOVVNaMktpRUFJZmtFQ1FRQUhRQXNBUUFCQUJZQUZnQUFCV3BnSjQ2aWxWMVgxazFrUzE2Y3kxMHUyY1MxeURVMU0zSUVFZ0hYOGRsR3dWcXl3L3ZsY2tSYVovbE1TbVBFcDY0VHM0aW8ycVJKcXoyUm42aHpMcVd1cWI1dEtyWTk3MGpCU3BHVTI5Nk9tbE01UzRBaVJseFVReU9HTmxreWhDNHdNbnRrSmlncUxDNGhBQ0g1QkFrRUFCMEFMQUFBQUFBWUFCZ0FBQVYrWUNlT1pHbWVwVlZjVjlaTjZMbHhkRTF2OGRqWWZOM0VEQnVFQkxFeFRqdmE4RlNrL1VxMW5DaEttbkdXdVNadVJKVjJ1aGFsbDh1eGlESzBNZG5WdWFUVlg4NUY1T2JBNC9NTzJnNm5zZU5ZVWsxbVUyOWVYUjFXZ1NoYUpBdUlLSkFkU1ZlTVBpZEJrRTAwUnlpVVBaZFNWajFiYWhZWkxCbUVkM0FoQUNINUJBa0VBQjBBTEFBQUFBQVlBQmdBQUFXQllDZU9aR21lcFZWY1Y5Rk42TGx4ZEUxdjhkallmTjNFakpyQlpLZ3hUanRhVE9BejFYS2lKMm5HRVVDakhOeUlOcngyaXB5UlJlbnRNRGtXVVlGY3ByazZGN2FYZGhIRncrVU9YUzIvdXJkVlpXY2tYR1ZnVTMweE55UUxVamsxQ3lWSmdTZG5IRDhtUVlVa0FtQWNSeWlUUFUxUVZEMWFaU29zQldsNXJoMGhBQ0g1QkFrRUFCMEFMQUFBQUFBWUFCZ0FBQVdDWUNlT1pHbWVwVlZjVjlGTjZMbHhkRTF2OGRqWWZOM0VqTnJGZEtreFRqdk9JRGVnL1VxMFphN1Q1SlJtMXFub1JxSU50WjFpdG1PaGdVYzBpNmhnUG5kb3JuRDc3QldKM1cvT2x6MEd3OUY5VXdCcEloTjFZSGNqV0hRY09GMUtXbFVtU1FNQU1WVlBKVUdISXdCaUhFY29TVDAybVRGWVBZNW5LaXd1TUhodUlRQWgrUVFKQkFBZEFDd0FBQUFBR0FBWUFBQUZlbUFuam1ScG5xV1ZNVXlHdmhjbnovTDFqZzJ0ejgxYnpLNVNabFk0NVRpR20wSFdLOG1TdDg2U1U0cFJvNklhU1JiRURxOGRpd3k3NVZoRVgvS0lLMktNMVIwWm8vMVd5OUYxTWpzTDF2ZjNYaklUSTFaMkhEWmxVRXA1SWtlS0oxTk5KVCtBSTE4Y1JTaEhPelNTTUp5SGNHRXJMUjJEb25BaEFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVjlZQ2VPWkdtZVpkQXdUSU8rRnlmUDh2V09CRDFjMTBBVHI4SU1Zb0xNQ3FjY3h3YVRBVXUxbXlqR0tWR2xvMmlXUThSMmpGVlJRT2JkQmtRTnpxQXM4bzBZUzNZbnhoREJtV1Y2ZHMzMnVUcGpZV1ZrVzExWVlDUlhYbHBiZUUyQ09Jd25WRThsUWpLR0kyQWNTQzg2UEQ0elhsUTBrbGhuTEg5eWNpRUFJZmtFQ1FRQUhRQXNBQUFBQUJnQUdBQUFCWDFnSjQ1a2FaNWwwQlJGZzc0TUo4OHk4NDRFZlhYWlJST3ZqR3h3RWd4a21WT09rd3pLZ0NYa1RTVGtsR0xFcWVob0c4bTBwSzhvSUFaM1pBRlJnN016ZDN5akF0UE40eFJFY25yOUxtTFQ0V05sWUdoZUhBSnVnbGhtWEZGelUxVW1TMDBvVlZBbFZWa2xSbEl2T2hrOU5HQXhORE5kWmlvZExYcDZJUUFoK1FRSkJBQWRBQ3dBQUFBQUdBQVlBQUFGZ0dBbmptUnBucVhRRkZrbm9HakJ6ZlJjd0NORUR4M1JaUU1hQk5hWWJWQ2JXZU9rNCtCNnM5UE05K3hFU2JKanRaTzhqYTViQUZqQTRXMUZ3WmVJMHpyL25LSU1oK3BteCtGdWdoM2FQc3ZwWlc0ZFFTUmdXNFpaWjEwbFUxVjZlRG1OTUk5REprVWNXaVpKa0ZJekF4aytRRUpWTWpVMFhtY3ZHYUNDclIwaEFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVjZZQ2VPWkdtZXBkQmxHWUcrR1NmUGN2YU8xcnk1UWJmTmxoZEJWa0FWWks2VDdOWUpMRTJ5SHJQekhNV0swODdSTnFwbXF3TE9KanY2cVVTY0pIbG81WkJKSEc1TVNuWnkyZThPSGoxK203dHViMTVYWkZzbFVWK0JKRG1LS0U0Y1FTWkRIRmdtUjJrM09qd0VQMTR3TkRSY1pDb3NIV2Q1YnlFQUlma0VDUVFBSFFBc0FBQUFBQmdBR0FBQUJYcGdKNDVrYVo1bDFXVk5wNkpueHMzMG5NRmpRQmR1RnhTMEFJd3dHeFpSbkFGT05PQUlTOGRsSnlxU0VhUWk0bTFFbFVZckhCNVdCQ1J4eG1hSXFNRjVqY0d0RGh2TmpVK2ZZOTBJTEI2WHVXZG9WRlpqV2xDQlhvaG1Ta3ROZUNSRUhGY25rWk1uT2pNOEtqOUJVakkxTkZ0b0VBMHRiblJqSVFBaCtRUUpCQUFkQUN3QUFBQUFHQUFZQUFBRmdHQW5qbVJwbmlaRWRCYnFObHdzeDQwN0NyR3hkbE5IR0RHQkM4SVp1QUlEam90anNJbUF3bExST1VxV1lBR3FLTUNwalpqYUVaREUyWVU3U3BFbGZhNXdXajcydVN3aXlNTjBFYWR5N3JoSEMzZGFIQXRmVFdkakkxaGhYRjVmUmxwV0ptQk9pU2xGV1NkSUhCQXVPRXc3UFQ4eFdqQXpNbzVoRml0d2ZYMGhBQ0g1QkFrRUFCMEFMQUFBQUFBWUFCZ0FBQVYxWUNlT1pHbWVwa1YwQWVvU1hDekhxeXRXOFVWTzNSWGJIWTdCWnVCWVRqZ2QwSGNTQWtmRkV1dzVXbkJxSW82UzJ1T1FPQzF1ZGhUd2lqc1RzR2g2RG1MTlozaTVIUXpYei9PUjlzd2NzYmxYSlU1VVVTVkpUejRWS0VJTEtBdEZSeWc0ZXlNOFBuQTJNRE15V0Z3QkJDc0FkR0loQUNINUJBa0VBQjBBTEFBQUFBQVlBQmdBQUFWellDZU9aR21lWmdCMUFlb1NBeWZQQStHU2NWWldHVGZjQWM3bGR1RzBUaHpkclZQZ25BYkRwZWp5SXhHYzBoSEhOaG9vczUxTVZZUUZrMGRCcy9ZSUtaczVxN082QXhlbDUyNU9SVjF4ZTlWaVZtNVNXeVZRWUZSSUJWSk5LRUZSS0VWSEtEazdQV00zTURNMFhHWXFjWE5xSVFBaCtRUUpCQUFkQUN3QUFBQUFHQUFZQUFBRmQyQW5qbVJwbm1iUVdkMkVvdERBY1lZeEQ5QkxEZ05oRWp4ZGdKUFJaVGlxRThlbkUzRk9nMkpUbEJtVVl0TmRidFRMam9Da3AzY2s3Z2pLWTQ1Z1pCaXpSNWEydTJOZ09lZWQ4Z1R0NWJoRVhXTmdPMjQ0SlZGZVZTWUxTMU1FZkdGU0tFZE5QRXdrUUZaVE1UTTFOMXRqYXl4L2VGa2hBQ0g1QkFrRUFCMEFMQUFBQUFBWUFCZ0FBQVZvWUNlT1pHbWVwdEFGYU50WkJtY3dUR3hZN21nWXA3QzdBZzdFQmVHMGpMa1ZzbVFZSmpzUUhnbjIxT0YwVlpKVXRNd3VmVm1kU3NRSWswZUJzcG5CRW0yejcyNjFheGhYd1NNcTNOU3NSazl5UnloQlRpaEZkaWMvS1lvNU1ESTBObVlkS20yU1dTRUFJZmtFQ1FRQUhRQXNBQUFBQUJnQUdBQUFCV3hnSjQ1a2FaNW0xUVZvdXhvYzB6UU1aN0N1YURBb1k3Z1ZUazRnUkJWekhjN0VaQkFnUllJZktjQjdpcW9qcVZWSE9tNlBGZXlXb1JJMXRxT3pDSWZ1cUsvdERubmt0WG9OaTdaMjFXYXdkVTVQVVNkMUxZVWlRWUVvUkRrN1BYc3RBVEF5TkRaL1ZwZHhUeUVBSWZrRUNRUUFIUUFzQUFBQUFCZ0FHQUFBQldOZ0o0NWthWjVtMVFsbzJ3V2IwWFJRWTJ5Qk8yN3oyV3c2ZzY0alJCa2NRK0xFQkV5S21xTkF6emw5T2tsUTRuVlVGRldwcXRWMkJCa0p5bU8wZDl5cGRxL3ZyRE1yM1g2MThOUGJaVmlhRm50NkN5NDhLRDlKTURJME5qaGpLaXhzV3lFQUlma0VDUVFBSFFBc0FBQUFBQmdBR0FBQUJWaGdKNDVrYVo3bTBnbG91MjdGMmxuRjVwSTJhdVV0M3dNb24wc29JZzVMQXN1dHBNUXRUYjdZa3lRVk5hZldFUXRMMnNxNDN5ejQycWxpemNhYmtMeGtkOUxCRTd5VUJzeUxhcmYxUG9JcFdUVmdJaXdxZ2xnaEFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVlpZQ2VPWkdtZXA5QUJhTnN4aE5xcGpPeSt0c25jeGQzMUtLQlBTTnI1UnNaUjdyaE1Ia1ZPd3BQVUlDMmZyT21wSXVKcVI5N1pWenlTZnF2SXNaTThiV3JYSXFKTFRxS2I3TVdyU0FCSHdUb0xZbjArWGdwalV5RUFJZmtFQ1FRQUhRQXNBQUFBQUJnQUdBQUFCVkZnSjQ1a2FaNW5oYTVqWm9sSloyVXNTYVBBdlJKMXg2Ty9YdERXSTVZQVJaS3FsVFNLWHMxb2JTSmFTcSttbUlpSzVjcXVVSkd1T2NhYXlqVzBMemtzdFUvdmtwclpxOUNRSFdURzJ1U2JleUVBSWZrRUNRUUFIUUFzQUFBQUFCZ0FHQUFBQlVsZ0o0NWthWjVuaGE0anBJcE9CN0Vrd2Rwc1FIYzYydSsvMms0NExNcU1MZVF1cHV4TVJJdW05QlNGVGErZGwyaW01R0pMdUdLWUZNeXR5dEt4U2IzeWlpcnU0clA2WllVQUFDSDVCQWtFQUIwQUxBQUFBQUFZQUJnQUFBVTVZQ2VPWkdtZUo0Q3VZMUNxS2l1Nk1ydlVkNjJiOU43dnRaOFBTQ3dtUkxHaU1yVkVKWnZMMzdNcGxGV2hwWnpOaW0zeGxxcGpseFVDQUNINUJBa0VBQjBBTEFBQUFBQVlBQmdBQUFVM1lDZU9aR21lNklTdTRtSzY3RmpGTkoyc2Q2M0g4MTdEUHFCdlNDeUtWRVdrY1lrUzZweE1VUys2azFCWDAxT1dCWVhxbE5kVENBQWgrUVFKQkFBZEFDd0FBQUFBR0FBWUFBQUZMR0Fuam1ScG5taXFvdFBxdm5Bc3oySkxxL2F0Ny96cDlNRGdLQmNqQ284OHhVdXBNNmFjVHRnUGFRb0JBQ0g1QkFVRUFCMEFMQUFBQUFBWUFCZ0FBQVVqWUNlT1pHbWVhS3F1Yk91K2NMeFNjbTNmZUk3VGV0L3p2cUJ3eUFLV2pDOGtNUVFBT3c9PSkgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyO1xufVxuLm14LXRvb2x0aXAtY29udGVudCAudGFibGUgdGgsXG4ubXgtdG9vbHRpcC1jb250ZW50IC50YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbn1cbiIsIi5teC10YWJjb250YWluZXItcGFuZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLm14LXRhYmNvbnRhaW5lci1jb250ZW50LmxvYWRpbmcge1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaE5nQTJBUE1BQVAvLy93QUFBSGg0ZUJ3Y0hBNE9EdGpZMkZSVVZOemMzTVRFeEVoSVNJcUtpZ0FBQUFBQUFBQUFBQUFBQUFBQUFDSDVCQWtLQUFBQUlmNGFRM0psWVhSbFpDQjNhWFJvSUdGcVlYaHNiMkZrTG1sdVptOEFJZjhMVGtWVVUwTkJVRVV5TGpBREFRQUFBQ3dBQUFBQU5nQTJBQUFFeXhESVNhdTlPT3ZOdS85Z0tJNWt5U0VKUVNTSTZVcUtLaFBLV3lMejNOcGltcXNKbnVnM0U0YUlNaVBJOXdzcVBUamlUbGt3cUF3RlRDeFhleFlHczBIMmdnSk9MWUxCUURDeTVnd213WXg5SkpyQXNzSFFYc0tyOUNGdU0zQWxjakowSUFkK0JBTUhMbWxySkFkdUJvNVBsNWlabXB1Y25aNmZjV3FJbUpDamFIT1poaXFtRkl1QWw2NFpzWml6RjZvRXJFSzN1Uk9sbTc2Z3djTER4TVhHeDhYQWo2SWt1NCtvSXJVazBoL1UwV0Vqem5IUUlzcWhrY2pCM3NuY3hkYkM1K0xseWN6aDdrOFJBQ0g1QkFrS0FBQUFMQUFBQUFBMkFEWUFBQVRNRU1oSnE3MDQ2ODI3LzJBb2ptUnBubVZoRUlSUm9HY3hzT3p3d3VSS3N3Wk83anZmQ0VnVGluUzduaEYwbU5FR2h3c2l3VW9nbHBTRHpoQzFLSWlLa1dBd0VKZ1FSTllWSk5pWlNkUjBJdVNzbGRKRlVKMHd1T01KSVcwMGJ5TnhSSE9CWklRamFHbHJXQnhmUUdHUUhsTlZqNVdhbTV5ZG5wOUxZMldib29zV2dpeW1RcWdFcWhON2ZaQ3dHYk95TzdFWHJLNDR1aHFscElxZ3dzUEV4Y2JIeU1lL0tNc2l2U2JQZExjbnRkSlAxTlBPYmlmUmlhUE13Y25DemNyYnlOWEc2TVhkeHVUaTd6NFJBQ0g1QkFrS0FBQUFMQUFBQUFBMkFEWUFBQVRPRU1oSnE3MDQ2ODI3LzJBb2ptUnBubWlxQXNJd0NLc3BFRFFCeCtOUUV3T2U3ejFmYUZhN0NVR3QxMUZZTU5BTUJWTFNTQ3JvYW9Qb2NFY1ZPWGNFZytoS0M1TEF0VEhRaEthSmlMUnU2THNUdjEzeTBJSE1PeXc5QjE4R2ZuK0Zob2VJaVlvWkNBazBDUWlMRmdwb0NobFRSd2h0QkpFV2NEWkNqbTBKRjN4bU1adHVGcVpDcVFRWG4za29vbWlrc0hpWm01MlNBSlJnbHJ3VGpZKzd3Y2JIeU1uS0U1Z296VzljSjdFL1dDZXNhdFVtMTF0RjB0RWp6eks0eTRuaHh0UEkyOGJxd2VqSTV1VHhKaEVBSWZrRUNRb0FBQUFzQUFBQUFEWUFOZ0FBQk1zUXlFbXJ2VGpyemJ2L1lDaU9aR21lYUtvQ3dqQUlxeWtRTkFISDQxQVRBNTd2UFY5b1Zyc0pRYTNYY1lsS0dtV3VKM0luRlJGcDFZNnVGaXh0YVYzUWwzY2FoejlYMnltZDdUaFRiNlo4VHEvYjcvaTh2R0NnR1FvYWNVSUZab0FYYkVkOU93UUdHR1pIaXpXT1FKQ1JCQmlJUW9vN2paaFJTd2RtQjNvVUI0b0dvNlNxcTZ5dE1RZ0pOQWtJckFxUkNpT0NJd2lXQkxSVFJTV3hsZ2toanlTOU5NYVV5TWxEVk1LOXhVT2ZKYnlXdjNxMmk3aEx1aFd3c3RsQ21hdkg1c3lyNWVyVnJ1NDRFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2ditMd2VFMS8yTDJ4K1ZCbG1TNFVZaDBLSkZvRkhqWHhSY245N2xKV1dsNWlaY2dVR05BWUZKSk1pQldhZ1E0TWxuVHNFQmlLTElxczFya0Ftc1RSV3FDU3FPNjFXa1JrSUNUUUpDQmNIWmdkSENyRUt4cW9HeVVJSXRnVEZlc0syQ1h2VXQzcmNCSHZZc2RwNjA3Yldlc3VyelpYQncrZ2lFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2ditMd2VFMS8yTDJ4K1ZCbG1TNFVZaDBLSkZvRkhqWHhSY245N2xKV1dsNWdTQ0FrMENRaVdDanMwQ3BRSW9qV2ZKWk1kbktjRUNhcURJSzQxWGtBaHREUzJYQ0d0cDdBa2p4Nm1ycW5Ca1NLaG9xUVhCUVkwQmdWTG01M0dGUVZtMHBUUG9nYVZ0Tit1bGR3NzNwUUhaZ2VXQjl3RzZwa29FUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3bEJyZGR4aVVvYVphNG5jaWNWRVduVmpxNFdMRzFwWGRDWGR4cUhQMWZiS1ozdE9GTnZwbnhPcjl2dktVU0Nsa0RnTFFvN05BcC9Fd2lDTlg1Q2NSWjdpQVFKaTFRWGp6VkNacFNWQkpkQUY0NklrVDVzRjRlUGlxSlJHWUdDaElXR2puMnVzck8wdFhZRkJqUUdCYlFGWnJ4UVNpSzVnZ1l5a3lHVkpwakpqOHVkSWNRN3hpV2pJUWRtQjJ1cEl3ZkVCdHEySG95ejFyUE01OURseUxUazR1OHBFUUFoK1FRSkNnQUFBQ3dBQUFBQU5nQTJBQUFFekJESVNhdTlPT3ZOdS85Z0tJNWthWjVvcWdMQ01BaXJLUkEwQWNmalVCTURudTg5WDJoV3V3a1JDVm9Db1dtOWhCTEZqcWFBZGhEVEdyUGtOSDZTV1VLQ3UvTjJ3cldTcmhiOG9HbHFZQWljSFpPSU5ETUhHOTdlWFhvZFVsTlZWbGRnUzRhS2k0eU5qbzhGQmpRR0JZOFhCV3MwQTVWUVhSbVNVd2FkWlJob1VKazhwV0duY2hlZ082SkNlRFlZQjZnREIxYWVHUWVnQnJtV3djTER4TVhHeDF5QUtic2lzNEVnemo5c0o3ZlNtdFN0UTZReTI4M0tLTXpJamVIRTBjYlY1OW5sM2NYazR1OG9FUUE3KSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMycHggMzJweDtcbn1cbi5teC10YWJjb250YWluZXItdGFicyB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLm14LXRhYmNvbnRhaW5lci10YWJzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubXgtdGFiY29udGFpbmVyLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICNmMmRlZGU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGNvbG9yOiAjYjk0YTQ4O1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiAtNXB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB6LWluZGV4OiAxOyAvKiBpbmRpY2F0b3Igc2hvdWxkIG5vdCBoaWRlIGJlaGluZCBvdGhlciB0YWIgKi9cbn1cbiIsIi8qIGJhc2Ugc3RydWN0dXJlICovXG4ubXgtZ3JpZCB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIHRvIHByZXZlbnQgYW55IG1hcmdpbiBmcm9tIGVzY2FwaW5nIGdyaWQgYW5kIGZvb2JhcmluZyBvdXIgc2l6ZSBjYWxjdWxhdGlvbnMgKi9cbn1cbi5teC1ncmlkLWNvbnRyb2xiYXIsIC5teC1ncmlkLXNlYXJjaGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuLm14LWdyaWQtY29udHJvbGJhciAubXgtYnV0dG9uLFxuLm14LWdyaWQtc2VhcmNoLWNvbnRyb2xzIC5teC1idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLm14LWdyaWQtc2VhcmNoLWNvbnRyb2xzIC5teC1idXR0b24gKyAubXgtYnV0dG9uLFxuLm14LWdyaWQtY29udHJvbGJhciAubXgtYnV0dG9uICsgLm14LWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuM2VtO1xufVxuXG5bZGlyPVwicnRsXCJdIC5teC1ncmlkLXNlYXJjaC1jb250cm9scyAubXgtYnV0dG9uICsgLm14LWJ1dHRvbixcbltkaXI9XCJydGxcIl0gLm14LWdyaWQtY29udHJvbGJhciAubXgtYnV0dG9uICsgLm14LWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjNlbTtcbn1cblxuLm14LWdyaWQtcGFnaW5nYmFyLFxuLm14LWdyaWQtc2VhcmNoLWNvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ubXgtZ3JpZC10b29sYmFyLCAubXgtZ3JpZC1zZWFyY2gtaW5wdXRzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmbGV4OiAxO1xufVxuXG5bZGlyPVwicnRsXCJdIC5teC1ncmlkLXRvb2xiYXIsXG5bZGlyPVwicnRsXCJdIC5teC1ncmlkLXNlYXJjaC1pbnB1dHMge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5bZGlyPVwicnRsXCJdIC5teC1ncmlkLXBhZ2luZ2JhcixcbltkaXI9XCJydGxcIl0gLm14LWdyaWQtc2VhcmNoLWNvbnRyb2xzIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLm14LWdyaWQtcGFnaW5nLXN0YXR1cyB7XG4gICAgcGFkZGluZzogMCA4cHggNXB4O1xufVxuXG4vKiBzZWFyY2ggZmllbGRzICovXG4ubXgtZ3JpZC1zZWFyY2gtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLm14LWdyaWQtc2VhcmNoLWxhYmVsIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbltkaXI9XCJydGxcIl0gLm14LWdyaWQtc2VhcmNoLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLm14LWdyaWQtc2VhcmNoLWlucHV0IHtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ubXgtZ3JpZC1zZWFyY2gtbWVzc2FnZSB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbn1cblxuLyogd2lkZ2V0IGNvbWJpbmF0aW9ucyAqL1xuLm14LWRhdGF2aWV3IC5teC1ncmlkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbiIsIi5teC1jYWxlbmRhciB7XG4gICAgei1pbmRleDogMTAwMDtcbn1cblxuLm14LWNhbGVuZGFyLW1vbnRoLWRyb3Bkb3duLW9wdGlvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLm14LWNhbGVuZGFyLCAubXgtY2FsZW5kYXItbW9udGgtZHJvcGRvd24ge1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubXgtY2FsZW5kYXItbW9udGgtY3VycmVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubXgtY2FsZW5kYXItbW9udGgtc3BhY2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5teC1jYWxlbmRhciwgLm14LWNhbGVuZGFyLW1vbnRoLWRyb3Bkb3duLW9wdGlvbnMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbiIsIi5teC1kYXRhZ3JpZCB0ciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXgtZGF0YWdyaWQgdHIubXgtZGF0YWdyaWQtcm93LWVtcHR5IHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5teC1kYXRhZ3JpZCB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm14LWRhdGFncmlkIHRoLCAubXgtZGF0YWdyaWQgdGQge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG59XG5cbi8qIGhlYWQgKi9cbi5teC1kYXRhZ3JpZCB0aCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBSZXF1aXJlZCBmb3IgdGhlIHBvc2l0aW9uaW5nIG9mIHRoZSBjb2x1bW4gcmVzaXplcnMgKi9cbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG59XG4ubXgtZGF0YWdyaWQtaGVhZC1jYXB0aW9uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubXgtZGF0YWdyaWQtc29ydC1pY29uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5bZGlyPVwicnRsXCJdIC5teC1kYXRhZ3JpZC1zb3J0LWljb24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcbn1cbi5teC1kYXRhZ3JpZC1jb2x1bW4tcmVzaXplciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtNnB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG59XG5bZGlyPVwicnRsXCJdIC5teC1kYXRhZ3JpZC1jb2x1bW4tcmVzaXplciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTZweDtcbn1cblxuLyogYm9keSAqL1xuLm14LWRhdGFncmlkIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xufVxuLm14LWRhdGFncmlkIHRib2R5IHRyOm50aC1jaGlsZCgybisxKSB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbn1cbi5teC1kYXRhZ3JpZCB0Ym9keSAuc2VsZWN0ZWQgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG4ubXgtZGF0YWdyaWQtZGF0YS13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubXgtZGF0YWdyaWQgdGJvZHkgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE2cHg7XG4gICAgbWF4LWhlaWdodDogMTZweDtcbn1cbi5teC1kYXRhZ3JpZCBpbnB1dCxcbi5teC1kYXRhZ3JpZCBzZWxlY3QsXG4ubXgtZGF0YWdyaWQgdGV4dGFyZWEge1xuICAgIGN1cnNvcjogYXV0bztcbn1cblxuLyogZm9vdCAqL1xuLm14LWRhdGFncmlkIHRmb290IHRoLFxuLm14LWRhdGFncmlkIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xufVxuLm14LWRhdGFncmlkIHRmb290IHRoIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbn1cbi5teC1kYXRhZ3JpZC5teC1jb250ZW50LWxvYWRpbmcgLm14LWNvbnRlbnQtbG9hZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBhbmltYXRpb246IHBsYWNlaG9sZGVyR3JhZGllbnQgMXMgbGluZWFyIGluZmluaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjRjVGNUY1O1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNGNUY1RjUgMCUsICNGNUY1RjUgNSUsICNGOUY5RjkgNTAlLCAjRjVGNUY1IDk1JSwgI0Y1RjVGNSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMHB4IDEwMHB4O1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyR3JhZGllbnQge1xuICAgIDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwcHggMDsgfVxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggMDsgfVxufVxuXG4ubXgtZGF0YWdyaWQtdGFibGUtcmVzaXppbmcgdGgsXG4ubXgtZGF0YWdyaWQtdGFibGUtcmVzaXppbmcgdGQge1xuICAgIGN1cnNvcjogY29sLXJlc2l6ZSAhaW1wb3J0YW50O1xufVxuIiwiLm14LXRlbXBsYXRlZ3JpZC1jb250ZW50LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5teC10ZW1wbGF0ZWdyaWQtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG4ubXgtdGVtcGxhdGVncmlkLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ubXgtdGVtcGxhdGVncmlkLWVtcHR5IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuLm14LXRlbXBsYXRlZ3JpZC1pdGVtLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuLm14LXRlbXBsYXRlZ3JpZC1pdGVtIC5teC10YWJsZSB0aCxcbi5teC10ZW1wbGF0ZWdyaWQtaXRlbSAubXgtdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG59XG4iLCIubXgtc2Nyb2xsY29udGFpbmVyLWhvcml6b250YWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG4ubXgtc2Nyb2xsY29udGFpbmVyLWhvcml6b250YWwgPiBkaXYge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5teC1zY3JvbGxjb250YWluZXItd3JhcHBlciB7XG4gICAgcGFkZGluZzogMTBweDtcbn1cbi5teC1zY3JvbGxjb250YWluZXItbmVzdGVkIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuLm14LXNjcm9sbGNvbnRhaW5lci1maXhlZCA+IC5teC1zY3JvbGxjb250YWluZXItbWlkZGxlID4gLm14LXNjcm9sbGNvbnRhaW5lci13cmFwcGVyLFxuLm14LXNjcm9sbGNvbnRhaW5lci1maXhlZCA+IC5teC1zY3JvbGxjb250YWluZXItbGVmdCA+IC5teC1zY3JvbGxjb250YWluZXItd3JhcHBlcixcbi5teC1zY3JvbGxjb250YWluZXItZml4ZWQgPiAubXgtc2Nyb2xsY29udGFpbmVyLWNlbnRlciA+IC5teC1zY3JvbGxjb250YWluZXItd3JhcHBlcixcbi5teC1zY3JvbGxjb250YWluZXItZml4ZWQgPiAubXgtc2Nyb2xsY29udGFpbmVyLXJpZ2h0ID4gLm14LXNjcm9sbGNvbnRhaW5lci13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLm14LXNjcm9sbGNvbnRhaW5lci1tb3ZlLWluIHtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDI1MG1zIGVhc2Utb3V0O1xufVxuLm14LXNjcm9sbGNvbnRhaW5lci1tb3ZlLW91dCB7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAyNTBtcyBlYXNlLWluO1xufVxuLm14LXNjcm9sbGNvbnRhaW5lci1zaHJpbmsgLm14LXNjcm9sbGNvbnRhaW5lci10b2dnbGVhYmxlIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aDtcbn1cblxuLm14LXNjcm9sbGNvbnRhaW5lci10b2dnbGVhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm14LXNjcm9sbGNvbnRhaW5lci1zbGlkZSA+IC5teC1zY3JvbGxjb250YWluZXItdG9nZ2xlYWJsZSA+IC5teC1zY3JvbGxjb250YWluZXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cbi5teC1zY3JvbGxjb250YWluZXItcHVzaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm14LXNjcm9sbGNvbnRhaW5lci1zaHJpbmsgPiAubXgtc2Nyb2xsY29udGFpbmVyLXRvZ2dsZWFibGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4ubXgtc2Nyb2xsY29udGFpbmVyLXB1c2gubXgtc2Nyb2xsY29udGFpbmVyLW9wZW4gPiBkaXYsXG4ubXgtc2Nyb2xsY29udGFpbmVyLXNsaWRlLm14LXNjcm9sbGNvbnRhaW5lci1vcGVuID4gZGl2IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5teC1zY3JvbGxjb250YWluZXItcHVzaC5teC1zY3JvbGxjb250YWluZXItb3BlbiA+IC5teC1zY3JvbGxjb250YWluZXItdG9nZ2xlYWJsZSxcbi5teC1zY3JvbGxjb250YWluZXItc2xpZGUubXgtc2Nyb2xsY29udGFpbmVyLW9wZW4gPiAubXgtc2Nyb2xsY29udGFpbmVyLXRvZ2dsZWFibGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuIiwiLm14LW5hdmJhci1pdGVtIGltZyxcbi5teC1uYXZiYXItc3ViaXRlbSBpbWcge1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuIiwiLm14LW5hdmlnYXRpb250cmVlIC5uYXZiYXItaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLm14LW5hdmlnYXRpb250cmVlIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm14LW5hdmlnYXRpb250cmVlIHVsIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RmZTZlYTtcbn1cbi5teC1uYXZpZ2F0aW9udHJlZSBsaTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG4ubXgtbmF2aWdhdGlvbnRyZWUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubXgtbmF2aWdhdGlvbnRyZWUgYS5hY3RpdmUge1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICMzNDk4REI7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLm14LW5hdmlnYXRpb250cmVlIC5teC1uYXZpZ2F0aW9udHJlZS1jb2xsYXBzZWQgdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ubXgtbmF2aWdhdGlvbnRyZWUgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuLm14LW5hdmlnYXRpb250cmVlIHVsIGxpIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbn1cbi5teC1uYXZpZ2F0aW9udHJlZSB1bCBsaSB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbi5teC1uYXZpZ2F0aW9udHJlZSB1bCBsaSB1bCBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbn1cbltkaXI9XCJydGxcIl0gLm14LW5hdmlnYXRpb250cmVlIHVsIGxpIHVsIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cbi5teC1uYXZpZ2F0aW9udHJlZSB1bCBsaSB1bCBsaSB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcbn1cbi5teC1uYXZpZ2F0aW9udHJlZSB1bCBsaSB1bCBsaSB1bCBsaSBpbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4iLCIubXgtbGluayBpbWcsXG4ubXgtYnV0dG9uIGltZyB7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuLm14LWxpbmsge1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiIsIi5teC1ncm91cGJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5teC1ncm91cGJveC1oZWFkZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgY29sb3I6ICNlZWU7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG4ubXgtZ3JvdXBib3gtY29sbGFwc2libGUgPiAubXgtZ3JvdXBib3gtaGVhZGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubXgtZ3JvdXBib3guY29sbGFwc2VkID4gLm14LWdyb3VwYm94LWhlYWRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLm14LWdyb3VwYm94LWJvZHkge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5teC1ncm91cGJveC5jb2xsYXBzZWQgPiAubXgtZ3JvdXBib3gtYm9keSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5teC1ncm91cGJveC1oZWFkZXIgKyAubXgtZ3JvdXBib3gtYm9keSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbn1cbi5teC1ncm91cGJveC1jb2xsYXBzZS1pY29uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5bZGlyPVwicnRsXCJdIC5teC1ncm91cGJveC1jb2xsYXBzZS1pY29uIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cbiIsIi5teC1kYXRhdmlldyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm14LWRhdGF2aWV3LWNvbnRyb2xzIHtcbiAgICBwYWRkaW5nOiAxOXB4IDIwcHggMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xufVxuXG4ubXgtZGF0YXZpZXctY29udHJvbHMgLm14LWJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ubXgtZGF0YXZpZXctY29udHJvbHMgLm14LWJ1dHRvbiArIC5teC1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbn1cblxuLm14LWRhdGF2aWV3LW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cbi5teC1kYXRhdmlldy1tZXNzYWdlID4gZGl2IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4ubXgtZGF0YXZpZXctbWVzc2FnZSA+IGRpdiA+IHAge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIFRvcC1sZXZlbCBkYXRhIHZpZXcgaW4gd2luZG93IGlzIGEgc3BlY2lhbCBjYXNlLCBoYW5kbGUgaXQgYXMgc3VjaC4gKi9cbi5teC13aW5kb3ctdmlldyAubXgtd2luZG93LWJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG59XG4ubXgtd2luZG93LXZpZXcgLm14LXdpbmRvdy1ib2R5ID4gLm14LWRhdGF2aWV3ID4gLm14LWRhdGF2aWV3LWNvbnRlbnQsXG4ubXgtd2luZG93LXZpZXcgLm14LXdpbmRvdy1ib2R5ID4gLm14LXBsYWNlaG9sZGVyID4gLm14LWRhdGF2aWV3ID4gLm14LWRhdGF2aWV3LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDE1cHg7XG59XG4ubXgtd2luZG93LXZpZXcgLm14LXdpbmRvdy1ib2R5ID4gLm14LWRhdGF2aWV3ID4gLm14LWRhdGF2aWV3LWNvbnRyb2xzLFxuLm14LXdpbmRvdy12aWV3IC5teC13aW5kb3ctYm9keSA+IC5teC1wbGFjZWhvbGRlciA+IC5teC1kYXRhdmlldyA+IC5teC1kYXRhdmlldy1jb250cm9scyB7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCA2cHggNnB4O1xufVxuIiwiLm14LWRpYWxvZyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogNTAwcHg7XG4gICAgLyogSWYgdGhlIG1hcmdpbiBpcyBzZXQgdG8gYXV0bywgSUU5IHJlcG9ydHMgdGhlIGNhbGN1bGF0ZWQgdmFsdWUgb2YgdGhlXG4gICAgICogbWFyZ2luIGFzIHRoZSBhY3R1YWwgdmFsdWUuIE90aGVyIGJyb3dzZXJzIHdpbGwganVzdCByZXBvcnQgMC4gRWxpbWluYXRlXG4gICAgICogdGhpcyBkaWZmZXJlbmNlIGJ5IHNldHRpbmcgbWFyZ2luIHRvIDAgZm9yIGV2ZXJ5IGJyb3dzZXIuICovXG4gICAgbWFyZ2luOiAwO1xufVxuLm14LWRpYWxvZy1oZWFkZXIge1xuICAgIGN1cnNvcjogbW92ZTtcbn1cbi5teC1kaWFsb2ctYm9keSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG4iLCIubXgtd2luZG93IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICAvKiBJZiB0aGUgbWFyZ2luIGlzIHNldCB0byBhdXRvLCBJRTkgcmVwb3J0cyB0aGUgY2FsY3VsYXRlZCB2YWx1ZSBvZiB0aGVcbiAgICAgKiBtYXJnaW4gYXMgdGhlIGFjdHVhbCB2YWx1ZS4gT3RoZXIgYnJvd3NlcnMgd2lsbCBqdXN0IHJlcG9ydCAwLiBFbGltaW5hdGVcbiAgICAgKiB0aGlzIGRpZmZlcmVuY2UgYnkgc2V0dGluZyBtYXJnaW4gdG8gMCBmb3IgZXZlcnkgYnJvd3Nlci4gKi9cbiAgICBtYXJnaW46IDA7XG59XG4ubXgtd2luZG93LWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm14LXdpbmRvdy1hY3RpdmUgLm14LXdpbmRvdy1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7XG59XG4ubXgtd2luZG93LWhlYWRlciB7XG4gICAgY3Vyc29yOiBtb3ZlO1xufVxuLm14LXdpbmRvdy1ib2R5IHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cbiIsIi5teC1kcm9wZG93bi1saXN0ICoge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5teC1kcm9wZG93bi1saXN0IGltZyB7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5bZGlyPVwicnRsXCJdIC5teC1kcm9wZG93bi1saXN0IGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ubXgtZHJvcGRvd24tbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm14LWRyb3Bkb3duLWxpc3QgPiBsaSB7XG4gICAgcGFkZGluZzogNXB4IDEwcHggMTBweDtcbiAgICBib3JkZXI6IDFweCAjZGRkO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQgc29saWQgbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm14LWRyb3Bkb3duLWxpc3QgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG59XG4ubXgtZHJvcGRvd24tbGlzdCA+IGxpOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xufVxuLm14LWRyb3Bkb3duLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1jaGlsZCgybisxKSB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbn1cbi5teC1kcm9wZG93bi1saXN0ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG59XG4iLCIubXgtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogOXB4O1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm14LWhlYWRlci1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogI2VlZTtcbiAgICBsaW5lLWhlaWdodDogMzBweDsgLyogaGVpZ2h0IG9mIGJ1dHRvbnMgKi9cbn1cbmJvZHlbZGlyPVwibHRyXCJdIC5teC1oZWFkZXItbGVmdCxcbmJvZHlbZGlyPVwicnRsXCJdIC5teC1oZWFkZXItcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDlweDtcbiAgICBsZWZ0OiA5cHg7XG59XG5ib2R5W2Rpcj1cImx0clwiXSAubXgtaGVhZGVyLXJpZ2h0LFxuYm9keVtkaXI9XCJydGxcIl0gLm14LWhlYWRlci1sZWZ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA5cHg7XG4gICAgcmlnaHQ6IDlweDtcbn1cbiIsIi5teC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbn1cbiIsIi5teC1saXN0dmlldyB7XG4gICAgcGFkZGluZzogOHB4O1xufVxuLm14LWxpc3R2aWV3ID4gdWwge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm14LWxpc3R2aWV3ID4gdWwgPiBsaSB7XG4gICAgcGFkZGluZzogNXB4IDEwcHggMTBweDtcbiAgICBib3JkZXI6IDFweCAjZGRkO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQgc29saWQgbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG4ubXgtbGlzdHZpZXcgPiB1bCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbn1cbi5teC1saXN0dmlldyA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG59XG4ubXgtbGlzdHZpZXcgbGk6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xufVxuLm14LWxpc3R2aWV3IGxpOm50aC1jaGlsZCgybisxKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbn1cbi5teC1saXN0dmlldyA+IHVsID4gbGkuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG59XG4ubXgtbGlzdHZpZXctY2xpY2thYmxlIHVsICoge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5teC1saXN0dmlldy1lbXB0eSB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm14LWxpc3R2aWV3IC5teC1saXN0dmlldy1sb2FkaW5nIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5teC1saXN0dmlldy1zZWFyY2hiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5teC1saXN0dmlldy1zZWFyY2hiYXIgPiBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ubXgtbGlzdHZpZXctc2VhcmNoYmFyID4gYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuW2Rpcj1cInJ0bFwiXSAubXgtbGlzdHZpZXctc2VhcmNoYmFyID4gYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5teC1saXN0dmlldy1zZWxlY3Rpb24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAwIDE1cHggMCA1cHg7XG59XG5bZGlyPVwicnRsXCJdIC5teC1saXN0dmlldy1zZWxlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgNXB4IDAgMTVweDtcbn1cbi5teC1saXN0dmlldy1zZWxlY3RhYmxlIC5teC1saXN0dmlldy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ubXgtbGlzdHZpZXcgLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGVmO1xufVxuLm14LWxpc3R2aWV3IC5teC10YWJsZSB0aCxcbi5teC1saXN0dmlldyAubXgtdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDJweDtcbn1cbiIsIi5teC1sb2dpbiAuZm9ybS1jb250cm9sIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuIiwiLm14LW1lbnViYXIge1xuICAgIHBhZGRpbmc6IDhweDtcbn1cbi5teC1tZW51YmFyLWljb24ge1xuICAgIGhlaWdodDogMTZweDtcbn1cbi5teC1tZW51YmFyLW1vcmUtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDTUFBQUFqQ0FZQUFBQWUyYk5aQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFLTkpSRUZVZU5waS9QLy9QOE5nQVV3TWd3aU1PbWJVTWFPT0dYWE1xR05HSFRQWUhNT0NUZkRzMmJNZVFLb09pSTFCWENCdU1qWTIza0ZyZFl6b1RRaWdSbThndFFXTEcwT0JCcXlobFRwYzBkU09JeFRyYUt3T3EyUFVjV2hXcDdFNnJJNjVpVVB6VFJxcncrcVlHaHlhbTJpc0R0TXh3RVMxQ1VnRkFmRnhxQkNJRGtKUGJOUldoelUzalJaNm80NFpkY3lvWTBZZE0rcVlVY2NNVXNjQUJCZ0FVWHBFakUvQnMvSUFBQUFBU1VWT1JLNUNZSUk9KSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiLm14LW5hdmlnYXRpb25saXN0IHtcbiAgICBwYWRkaW5nOiA4cHg7XG59XG4ubXgtbmF2aWdhdGlvbmxpc3QgbGk6aG92ZXIsXG4ubXgtbmF2aWdhdGlvbmxpc3QgbGk6Zm9jdXMsXG4ubXgtbmF2aWdhdGlvbmxpc3QgbGkuYWN0aXZlIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5OERCO1xufVxuLm14LW5hdmlnYXRpb25saXN0ICoge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5teC1uYXZpZ2F0aW9ubGlzdCAudGFibGUgdGgsXG4ubXgtbmF2aWdhdGlvbmxpc3QgLnRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAycHg7XG59XG4iLCIubXgtcHJvZ3Jlc3Mge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDMwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgei1pbmRleDogNTAwMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogMjBweCAxNXB4O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluLW91dDtcbn1cbi5teC1wcm9ncmVzcy1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG59XG4ubXgtcHJvZ3Jlc3MtbWVzc2FnZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4ubXgtcHJvZ3Jlc3MtZW1wdHkgLm14LXByb2dyZXNzLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ubXgtcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhSZ0FLQU1RQUFEbzZPb0dCZ1ZwYVduQndjSTZPanF5c3JGSlNVbVJrWkQ4L1AweE1UTTdPenFlbnAxaFlXRjFkWFVoSVNISnljb2VIaDB0TFMxZFhWNmlvcU0vUHoyVmxaVDA5UFRjM04wQkFRSVdGaGRiVzFseGNYSzJ0clVGQlFUTXpNd0FBQUNIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUVEQUFBQUN3QUFBQUFSZ0FLQUFBRms2RG5YUmFHV1plb3JxU0pybkI3cHJBcXY3VjQweDdRL1VCQXpnZjhDV3ZFNGhHV0RBNkx4aEVVeU5OTmYxWHBOWHU1ZHJoZWt0Y0NzNHpMNTVYNVNsYVBNVjRNREg2VnIraFR1d29QMVl2NFJTWnhjNE4zaFh1SGYzRnJVMjBxakZDT0lwQkZraDZVUUphWVB5aGhNWjRzb0RhaVZsczlVMHNyVFZGSXFFOVFxU3FySFVzN09Ub2xNN2NqdVRnNXRyZkFJUUFoK1FRRURBQUFBQ3dBQUFBQUNnQUtBQUFGSktEbkhZV2lGSWZvUVZyclFxTXJhK1RzbG5acjV0ckpvN3dVYXdZVFZRb1VDa29VQWdBaCtRUUVEQUFBQUN3QUFBQUFHUUFLQUFBRldhRG5NY1N5RUpLb3JrZWhLTVdoUGx4dFA2c0thWHdQZVJLYmtNUElIWHBJellFd3RCRnloV1N2c0dqV0ZqbUZsS2VvV3JFcjdWYkJ0RDVYMFcyQllTVWF0MG9QYllqTGVYYkpuNGcwbVJDS2RpSVZCUlFVTVNJaEFDSDVCQVFNQUFBQUxBQUFBQUFvQUFvQUFBV0tvT2NsUXhBTWthaXVETEVzaExUT1I2RW94YUUyV2U4M005R0RReXcrZ2g2SVpzbUVlQ0srYUNZeGt4U3ZIQWFOeWRVY0JsTGZZRWJBRmdtelFwZFpDSVI3Z2RuQ1RGek1GT3Vsd3YyT3IrWjBkaXQ0ZVFwZ2IyTXJaWFJvSzJwNUJRbHZVek1NZEZsYmVUbzhVa0JCUTFoSFFVcGRUaUlrSmdOVVNCNHRFeE1FV3F3VkJSUVVPU0loQUNINUJBUU1BQUFBTEFBQUFBQTNBQW9BQUFXOG9PY2hoaUFZaUtpdXlSQUVRN1RPRExFc2hEU3ZSNkVvaFlQS3NTa2FIVHRQSThOc05wSVBqblQ2U0VJMDJDeGtaT3h1VXF0SWM1eEp6Q1RUTkljeE8yVGZtb1BCYXpUTUJ1VG1ZRVpRVHdrekJYQlpCUUowUlFJekFYbE1BVE1MZmxJTE13cURXQXFHaDRrcmk0eU9LNUNSa3l1VmxncHpoM1lyZUl4N0szMlJnQ3VDbGdVSWgxOHpDWXhsTkpGcmJaWnhIa1JlU0R0TFpFODdVV3BWTzFkd1d5SVlKU2RnU1MwdkEyWkpIalVURXdSczNoVUZGQlJCSWlFQUlma0VCQXdBQUFBc0FBQUFBRVlBQ2dBQUJmQ2c1MTBXaGxtWHFLNklJUWdHc3M3SkVBUkROSzhNc1N3RXlVNTFLQ2dVaFlNSzBHazZBVVBIWmtwMURCdVpyTFl4ZkhDKzRNY1FvaW1iSVNPbnVwTmlVZDhiMlNxaXJXY1NNd2w0ejJITURtYUJHZ2NXYTA0V013WndWQVl6QTNaYUF6TUVmR0FFTXdXQ1pnVVloazBZTXdLTFV3SXpBWkJaQVRNTGxWOExNd3FhWlFxZG5xQXJvcU9sSzZlb3FpdXNyYThyc2JJS2haNklLNHFqalN1UHFKSXJsSzJYSzVteUJSZWViRE1JbzNFMHFIY3pESzE5ZjdLREhreHJVRHRTY0ZZN1dIWmNPMTU4WWp0a2dtZ2lKRXlnR0NJQ2d3c1ljb2JVdURFQUQ4RWVFeVlROEVPd1FnRUtGSktJQ0FFQUlma0VCQXdBQUFBc0R3QUFBRGNBQ2dBQUJicWc1MTBXaGxtWHFLNklJUWdHc3M3SkVBUkROSzhNc1N3RWlRclFLUm9CTzQ5ancydzZrbzJNZE5wSVBqalk3R05rN0haU3JLWjRJMXRGcHVoTVlpYkp1amtNaTlkb21SbkdUY05za0o0T1pnUnZXUVFZYzBVWU13SjRUQUl6QVgxU0FUTUxnbGdMaFlhSUs0cUxqU3VQa0pJcmxKVUxjb1oxSzNlTGVpdDhrSDhyZ1pVRUY0WmZNd2lMWkRTUWFqTU1sWEFlUkY1SU8wdGpUenRSYVZVN1YyOWJJaVFtS0VraUdDNHdaVWsxTndOcjJEMFRFd1FNSWlFQUlma0VCQXdBQUFBc0hnQUFBQ2dBQ2dBQUJZZWc1MTBXaGxtWHFLNklJUWdHc3M3SkVBUkRwQUpkN3dNemtXTkRMRHFDbmtabXlXeU1mTkJPaWxXc2JtU3JDSE9iU1ZpaVBzdk1ZQzBhWmdNdWM0QUI5ekF6UVprb21BWFV5MERiRFYvSjUzVXJkM2dCWDI1aUsyUnpaeXRwZUFNWGJsSXpDSE5YTkhoZEhqeFJRRUZEVmtkQlNseE9JaVFtS0VnaUdDNHdXRWcxTndNSklpRUFJZmtFQkF3QUFBQXNMUUFBQUJrQUNnQUFCVldnNTEwV2hsbVhxSzZJSVFnR29nSmRiUU9yNm14ODc0eTJZQ2ZGNmhrM0NJdlFac2taamowRFpsbkQ1QVJRbm1CS3RhNndXWUdTMmx3OXM0WUxkWmhEWkpFZW1oQ1g4K3lPUHhISmhLcXJNQzR3TWg0aEFDSDVCQVFNQUFBQUxEd0FBQUFLQUFvQUFBVWlvT2RkRm9aWmwrZ0JYZXNDb3l0MzVPeVdkbXZtM2NtanZCUnJCaE9SVENoUkNBQTcpO1xufVxuIiwiLm14LXJlbG9hZC1ub3RpZmljYXRpb24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMDAxO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgaHNsKDIwMCwgOTYlLCA0MSUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMDAsIDk2JSwgNDQlKTtcblxuICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgxLCAzNywgNTUsIDAuMTYpO1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG4iLCIubXgtcmVzaXplci1uLFxuLm14LXJlc2l6ZXItcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMHB4O1xufVxuLm14LXJlc2l6ZXItbiB7XG4gICAgdG9wOiAtNXB4O1xuICAgIGN1cnNvcjogbi1yZXNpemU7XG59XG4ubXgtcmVzaXplci1zIHtcbiAgICBib3R0b206IC01cHg7XG4gICAgY3Vyc29yOiBzLXJlc2l6ZTtcbn1cblxuLm14LXJlc2l6ZXItZSxcbi5teC1yZXNpemVyLXcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLm14LXJlc2l6ZXItZSB7XG4gICAgcmlnaHQ6IC01cHg7XG4gICAgY3Vyc29yOiBlLXJlc2l6ZTtcbn1cbi5teC1yZXNpemVyLXcge1xuICAgIGxlZnQ6IC01cHg7XG4gICAgY3Vyc29yOiB3LXJlc2l6ZTtcbn1cblxuLm14LXJlc2l6ZXItbncsXG4ubXgtcmVzaXplci1uZSxcbi5teC1yZXNpemVyLXN3LFxuLm14LXJlc2l6ZXItc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5teC1yZXNpemVyLW53LFxuLm14LXJlc2l6ZXItbmUge1xuICAgIHRvcDogLTVweDtcbn1cbi5teC1yZXNpemVyLXN3LFxuLm14LXJlc2l6ZXItc2Uge1xuICAgIGJvdHRvbTogLTVweDtcbn1cbi5teC1yZXNpemVyLW53LFxuLm14LXJlc2l6ZXItc3cge1xuICAgIGxlZnQ6IC01cHg7XG59XG4ubXgtcmVzaXplci1uZSxcbi5teC1yZXNpemVyLXNlIHtcbiAgICByaWdodDogLTVweDtcbn1cblxuLm14LXJlc2l6ZXItbncge1xuICAgIGN1cnNvcjogbnctcmVzaXplO1xufVxuLm14LXJlc2l6ZXItbmUge1xuICAgIGN1cnNvcjogbmUtcmVzaXplO1xufVxuLm14LXJlc2l6ZXItc3cge1xuICAgIGN1cnNvcjogc3ctcmVzaXplO1xufVxuLm14LXJlc2l6ZXItc2Uge1xuICAgIGN1cnNvcjogc2UtcmVzaXplO1xufVxuIiwiLm14LXRleHQge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbn1cbiIsIi5teC10ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiBub25lO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cbi5teC10ZXh0YXJlYSAubXgtdGV4dGFyZWEtbm9yZXNpemUge1xuICAgIGhlaWdodDogYXV0bztcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG4ubXgtdGV4dGFyZWEgLm14LXRleHRhcmVhLWNvdW50ZXIge1xuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcbn1cbi5teC10ZXh0YXJlYSAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xufVxuIiwiLm14LXVuZGVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xufVxuIiwiLm14LWltYWdlem9vbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xufVxuLm14LWltYWdlem9vbS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLm14LWltYWdlem9vbS1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuIiwiLm14LWRyb3Bkb3duIGxpIHtcbiAgICBwYWRkaW5nOiAzcHggMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubXgtZHJvcGRvd24gbGFiZWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubXgtZHJvcGRvd24gaW5wdXQge1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5teC1kcm9wZG93biAuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG4ubXgtc2VsZWN0Ym94IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLm14LXNlbGVjdGJveC1jYXJldC13cmFwcGVyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuIiwiLm14LWRlbW91c2Vyc3dpdGNoZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMzYwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDIwMDAwO1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCA1cHggcmdiYSgyOCw1OSw4NiwuMik7XG59XG4ubXgtZGVtb3VzZXJzd2l0Y2hlci1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA4MHB4IDQwcHggMjBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6ICMzODdlYTI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU9nQUFBQmdDQVlBQUFBWFNqN05BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlScFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TXkxak1ERXhJRFkyTGpFME5UWTJNU3dnTWpBeE1pOHdNaTh3TmkweE5EbzFOam95TnlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVOVE5pQW9UV0ZqYVc1MGIzTm9LU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8wTXprd09UUkVNRFEyTkVZeE1VVTBRVFE0TVVJNU5UTkdNVVEzUXpFNU55SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzBNemt3T1RSRU1UUTJORVl4TVVVMFFUUTRNVUk1TlROR01VUTNRekU1TnlJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qYzBSRU15TVVaR05EWTBRekV4UlRSQk5EZ3hRamsxTTBZeFJEZERNVGszSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pjMFJFTXlNakF3TkRZMFF6RXhSVFJCTkRneFFqazFNMFl4UkRkRE1UazNJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrZzF0Umx3QUFFRkZKUkVGVWVOcnNuWWwzVmNVZHgyZHU4ckpESUpDd0NnalZhclZvc1ZYYzZqbldubnBJUWxKV2w2T0NyUFlma2gxY2l1d2xMRm81dFQzbFZKUlZFVVVFUlFRSlM0Q1FRRWpDUzk3MCs1Mlo5M0lUREd1Uzk4ajcvVGp6N3IyL2U5OTlaTzU4N205K003K1owY05YYnNxS2FUTmVLVlZvbEttT0tiWDM5RXNWS2wxRVY2MklLSzN3QjV1SGNZZy8zM3lDNHgybS9FMmpSRVNTTE1HSmw4dXZZcnNIaWR1aFNBK21Vd2FZaWhsUk0zSEdPdXp1Wlg0Zy9SbHBpdDY4TkZ1S2gwalNEWWd4emxBTVc3V3BDQmIwNlJqTmlEWUh6azZ2UEpaMm1iRnArYStKTEN4b0hyYm5vVnB0eW1lZGxXSWlrblJBS1VOWFZRMERvT01BcUlKMlg4MzB5cFBwQitteVFsL2xIWTNES0xaYlRmbnNMNldvaUNRZFVNcmdWVlZqQWVoSWFHTXhaWGFlbi83WGMybVpNWnVYVm1MenFGSTJmL1lCMm85TTJleW9GQm1ScEFKS0tWbTk4UkZvUndCUUZzZ2RnTFErVFNFZEIwQkxzWnNCUUd1d3Y4NlV6VGtqeFVZa3FZQlNpbGR2SEFkQWgyRzNDUloxUisyMFNRM3BDZW1TZ2RpVUFkQlJBTFFGKzl1UWRnTlVhZVVWU1I2Z2xBR3IvL0U0Tm9NQWFBTjgweDExMHlZMXBXMUdiVmxDdi9SMy92QVE5amVac3JsWHBBaUpkS2NFTnpqUDdoZFU3VlErMGhOOTFxeVBwR3RHd2Yrc3dvYmRNWmVRSGtENm05Nnk2SDRwUWlKSnM2RGVpa1pnUVIrSEJTMUNsYmZXYVBQWjVhbFRXdFBYa2k0dXNGVmVaUjV3Q3ZhZm1vOU42YnlyVXB4RWVoeFFTdjgxRzNJQUtDQTFoUUQwSFBaM1hVbGpTQjJvaTU3QjVua0FpbHFJdVlEOWpZRDB1QlFwa1I0SGxGSzRaa01lQUIwUFFQTUI2TmxXWlhZM1Q1MGFTM05JaXdIb2l3QjBqSEw5TWJ1UVBoRnJLdExqZ0ZMZ2crWUQwUEdnTWcrQW5zRjJUelROSWJXWnVIVWhxcnpxOS82dzFqWWdsYzcvVVlxWFNJOENTaWxZdTQ0VzlDa0F5bXJ2S2ZpbmUxdW5URE1DNmNJaDJQd0o2VmNBbFBteEY5YjFYMmJDL0NZcFppSTlCaWdsRDVDMnVyamRiQUJhRGRVK2dUUnNUWTJ6cHRxMitQNFRrSDRqT1NQU1k0QlNzdGV1TFFDZ1R3UFFMQnhXd3ovZFo2Wk1GMGd0cEF0S3NIa0JnTWE3WVk0QTJnL05oTGRxSlhkRWVnUlFTb1NRYXNQV3pBZ0FQVVZMQ2toamtxMCtjejljOEFRMlR5TDFVeTVzY2p2U0RvRGFLcmtqMHUyQVVqTFdyV0cvNEZNQWxPTW56K0NPZTh6a2x3VFNOa2laTHhNQTZDTmV4UzZaandEcEVja2RrVzRIMUVPYUQwQ2Z3bTRPN3NqeGs0UlVyRVE3VU4rK2p5OHlwSHU5Nmp1a2p3SHFCY2tka1c0RjFONW8zV3FHQTQ3SEhmT1VEUTgwdTgza2x3WFNhMEY5RnBzL0lQVlZkcnlwK3N4WGU2VzFWNlQ3QUUxQXFnMzlybndmWGJNTGtNb1l5bXNoemNYbUw4cU9ON1hDb1B2L0lPMEZxT0llaUhRUG9QYUc2MWZsT1F0aGFDSHE4QXM3emFSWG1pV3JmeEhVVWI3YUcyL3Q1Y0NFYmVLZmluUWJvQjdTSE44WDJCKy93SEdrbndOU0daclZPYWkveGVZeHBGRmU5Wk5peU9DRXR5UzJWd0R0bnE1THZmNkRMRnZvdE9HQVovaFhCcEMrZWtteS9JYitLV0V0OGFyRFNQOEdxS2NsZHdUUTdvQTBFNy9BUWM2RGZUL2dia0I2WHJMOXVwQnE1VUlHQ1dxaGNrSDRqRVQ2TDBDdGtSd1NRTHYrUnphczVOdytuRDRscG9MWUY2Ynl0V3JKK2h1Q0NqZEJ2YURhZ3ZBOXFCcWd6aGRRQmRDdWh2VHY3S2dmQVVENWd3Y0I2VkhKL3BzQ2xZMXR6M2tmMVQ0eWIxRzNBMVNaczFjQTdWSkl4d0xRa2Q0Z0hIV2d2aTd4dTdjRXFuNHNaRkhwbzM0S1VLVXhTUUR0b2gvYytONFFWMjJ6djN0S2FmV0ZxWGhkQWhwdUd0UUZCUFdQb2FvdnM1S0EvZy9waUNtZEx5ODhBZlNPSVdYd09BTWFzZ0RvUmV6dk1oVnZTRi9wcllIS1lJZW5rZTREb0lPOG1sWGVuVGo3bFNtZEp3RWlBdWlkUVBwdXZ2V3JORnNxRGNQY2RnTFNlbmtrdDVHWFd4YzhZMEZWeXJzUG1uM09YQXhxRjBDVnJpMEI5TFlocFFYbDhncTBBQzJLWTBvclpzak03YmNQS2h2aXhtSnZqRmZSZFRpbzJMMGxFNW9Kb0xmOW42aDZoMzJsdy8xVUlkOEMwaC9rMGR3SnFBdHBTVG5wK0VNaExhdS91NUVPbU5LNUVwZ3ZnTjR5cEhqekcxZEYwK29rOXZlYmlUT2w4ZWpPUUdXZ0EwZk9qTURSQ0srK0NwLzFBTFpmbXJLNUp5U1hCTkJiZ0hURllNVVJIbHBGQUdpZHJacE5uTmtvajZrcllGM0V5Q1NtKzFYaWtXdXVYTWVsRmZlYnNqbmlxd3FnTndWcEhnQmw1RkYvKzdaWFpvK1orS2FFQjNZZHFNVUE5RkZ2VmUveGFnNXhvMXZ4RlhTSFpKbEZBZlQ2LzZsTkt6SUJKZ3ZSRU8rWEhnU2tFbm5VMWZtOFpUR0h1VDNTd1ZkbEZmZ1FmVldrbzZaOHRyZ1pBbWhub0M1SDRURWp2RjlhYmYzUzhsa3Q4dGk2SEZUT216UlcyVVdoOUppMktqQUhrdXR2bFdzSlBvYThGMWdGMEk2UUxodGlDNDlXV1FDMHdmcWw1YlBFWCtvMldKZjBBNkQwVlVjck8zK1NqcDlxeFA1M09FZGdmMENOUmw2VUFtZ0MwbHlVRTFyVFltWDc5c3dCVkwya0JiSzc4MzN6RXVTMy9vMXlBOGtkcks2NHdFZlZkRGtZQzN6WVRKd3BMOHgwQnJTdHdDeWxYM3FQTHlYSFVWNitObVhpSS9WUTNoZmg4MEZrL1JoblhST1dsUS9qRkk2UFlJOE5UVCtiaWhreXIxSTZBdW9MQ254U3d5cFlnREp5R2Z0N1Rka2NDUkhzNlJxTjBteGdZdklOVEFucjJvejlZOHExQ2g4MUZXK2NreHhMSTBCOTFhdkErNlVEVUNyNHR2NEdrQjZUeDVrTVdKZHJWd1cyalV0czBCc1JzcTY4NGhMMFA5a2Fqd08zeGxTK0ppTnVlak9nb1FZTnh2SEcrL0k0Ync4NzNHVnR6bVErazZvVnVUNFdlTFNIZFdBb01JSWZET1Evb1dMQno2d09RMWN0c3o3MlVrQWRwSXM1bFFvYk1qaEZTQ09BWlFpYlZLdFNCdGgzKzNyTE9zcUhHN29KMFdKQi9BcldnR284cktkd0xWKzBaMlErNVY0Q3FJYzBSN2wrdkVIZUVUcUtsL1VoVXpwWEdwQlM3Vmx0ZkkvRERJY0QwT0hLTnZqcFVhR3pjVDgyNXNNUUFhcytBeDBEL1dzQ3BldlNiWm5MWGdGb0NOUnd3RDJiL3I4QXBIV0NSUW8vc3cwcmFVcUxMYlJLRHdXTWpNY2UxdWJISnFCbHErQlZEMm9OZEJmd3hRc1pTbk1GZ3d0WHBrNXBFa0R2Q2tnWGNRVEhRNjRCaVc5aXc3NjY3MDNwUEdtWXVGdWU0Zm9QTXF6dmFxZHIxU1dBa2RYaVlvRFp6NE5xb1NYWkdSN2tER01IcWRkQ1YwOUxpLzJMZ2RGczNlZHhQYTY2Y25aNjVWMFJYUEhraXUyWitMdnp0VkY5ZWgyZ2lZZThkWkdiUmRDOWZpOHFOaUNWenBQdW1MdFlNdGF0eWZLZ011Qy9DREFXQWRBaXhhM1JPUTVlRHpDM1JzY3RiOXdlTjBGM09YQWhqQTJFRnNlMHZFM2FUcTZ1bTNDdVVSdE4vemVLL1didGZPU3IwTVZDOTJvKzlPcUw3ZnA2SDM1L1c0RC9VN1pPL0xvT3NNMENaTmhxNkRsQ1MwZXd6Y1YxT2REeC81dURxN0d2OHFETGc0N1Yvd0p0MjFPMG5iK3gxd0xxSVVYVnlUeWc3QUs2ZHNRR1Y3cUdOWjB2SGVtOVRQcXNXYy9DM1E5UUZhTFFzeFpWQ1BnNHdWcGZIUGZWZGtFdmxVRm9BMTkxMWlHSTQ1K0JyVmJHd1ZZSnRQVzFzRnRkK0Y2MEJTRkE3ZFpDMW5hWDBIVWQ3aGZTYVJzdGh4ZUlVZlg2K2NXZjI3UEdmeG9kUDhKV3U3MlkxYnR6aVd2dE9XTkxmZnc2NC8vRmRIdy9acjhUaTkveG11KzA3Y2V2aVlYMEhmZGpmcjhWKzYzdDlQRy9NUDZ5TVNyeFZ6TmxYL2JXMU9wb1JiOVVMYmwxMTE3YnlYSGlDWVpmWnAzcE81N3JvTHZ6MTg2MUtuTVQxNFIxNWdiWG1jN3VwYS96M2M3T2RhSnZhOFc5d2JYdGZGQjFuU3F1dWdrTG1nTmRRVUNMcFRRdFZXN2dMRyt1dDFxd2FMQnVSc1BhcVlqZFY1cGZoU1hVR2FGNzBaSUhIUUJsOGJ3YUFyUlZXOHRMQkRRdE5NTWpvOVpTRzFwc1o3bHhkYU5tNzROUnNPaWFzZWFYdlRXM3hUa3pMVjZ2elFYN0FTbG5zMmZrQzZ0RXo2ck14dStSQjBkVU5FZGFldE5IbW55NmF5UkltMGNUemF0QitsVFppQmI3a3VNc2VNK3BTRk94bEZzUkFUUjFRTjJQengzS2RZNjdWY0V6bThhcHpPWnNLUTRpS2RlTzBwc2JpVzc0eDMrNGdGVmVocVRSNTRDUFlEalc4YmlaOEpaMHlZZ0lvQ2tDS1dkbzU0aU1JYjQxb2hicGEwQjZVWXFIaUFDYU9xQnlYbDVhMC9pYW5Cd1EvaTFBbGVCN0VRRTBkVUI5bXpHOUkrTWVLOUozaXZQeFNMVlhSQUJOR1VnNTN2UkJaVVBOckxEdjlLQ3NjQzBpZ0tZV3FFT1ZuWXZIOXAxU3pucFFaUTRlRVFFMGhVQmxueWtqa2ZLOGY4b1pBZzREVkJsb0xDS0FwZ2lrakxwNlNDVkNCcmthbS9vZTZVZUFLbE5RaWdpZ0tRSXFBN0RaZnpyRXEyaEZqOUNxQWxRSndoY1JRRk1FMUJMdm41WjRGY2Nqc3NYM3BMVDRpZ2lncVFNcUc1TFlMVFBRcXk1NVVFOExxQ0lDYU9xQVN0K1U4K3dNOEtwNlgvVTlKYUNLQ0tDcEErcG83NThXdFZsVWZkaUJPbDh5VzBRQVRSRlE2WjhPZGFEcWVOV1hyYjdWQUZVYWswUUUwTlFCVlE4SlZYMjVZdmdQeXFqanBuUytEQllYRVVCVEE5UUZJNzFGZFkxSmhxdUhxeCtaQUtwTTBpd2lnS1lJcUlSMEJBQ056K1JBSzNxQ3kvbVowbmtOa2tNaUFtZ3FaUHpXQlFSMGxFb0U1TnNaenhpTXozVTNhd0NyWkpLSUFKb0NvREl5NlY2L2JrbGNMbmxRVHdKVThWTUZVSkhrZzdxUXNiN3NvcUZsalhmUlJIMzE5eWRUT3ZleTVKSUFLcElhc0RMZ1liaUhWZmx1bXZOSXg3ajZseW1iSzkwMEFxaElDb0JhcU5xVzdYTmliSEErcDJNNUFWREZxZ3FnSXNrSGRaRmZ4Vm9OQnFBRFEyZHFQYXpWcG15T2ROVUlvQ0pKZjJCYkZ0RS92Y2Y1cWJyQXE5bVFkTnI3cStkTTJXeDVxQUtvU1BKaFhVdy9sZjJxZzBKYUxtMVFEVXQ3MHBUUGxxbERCVkNSRkFBMTExdFZWSC8xQU8rclVoajRjQkk2d0RwTC9GVUJWQ1Q1c0M3aFVvdkR1SDZtY3NzdXFsQ3cvaWttd0NycnBBcWdJa2wvdUp1WERGUnVPWG5DV2hBNjAyQmhOWW9ydnRXWmlXOUtaZ21nSXNtRmRTbGg5ZU5VN2NLMjhXb3cxNkxrZEtKbkZFTU1KODZVeUNVQlZDUzVzQzRyc3JBYU93U3VNTFNJTGdNZ3p1SDRETTZkTlJVenJraHVDYUFpeVN3QW01YWg2cXZaQ2x5c3dwRkxiWTFNTlRobUVQOTVVL0dHOUxVS29DTEpnM1U1NDRFQnF5N3gxalUzQWF4RDlxSUg5anlPYWszbDYxSWRGa0JGa2xZNHFsYjBkVmJWZHQyRSsxcUphOHdCcXhramZJSEpWTDRtRTNnTG9DTEpnZlVkcnNaTzMzV0FiUlZPaEJ3bS9GY1VwS0FlMk5aNlM0dXR2bXdtdlNLWko0Q0s5SGpCMmZndWdlM25yU3ZCTFFHZ3JwbXA3YXFvQTlWYTJqb2dYR2Ntdjl3b3VTZUFpdlE0c08vQmxBWjlBV2gvSFBiMzhCWjBxQlpUb2haV1oyWHJzVjhQZllPWk1sMkcwQW1nSWoxYXVEYXNqSVJnN1FjUTZkUG1ocXJGWVgvMkNtR0ZEV1pJNHFWQTZVc0VOenAxYWt3QUZSSHBxUUszL29Nc2ZIS2NLMU5mR3pSaFZKODRySUcvTG5EZ21zQUZValJrdUxWdkdqS01qWUpxZ0w2eGJ0cmtxQUFxSXRMZGhYRGRhbktaajcwK2dRdEp4RmIzSWJpQkJ6ZkRYd3RBUGNCVzN4SzRlWWFiQXFPNWJmUkFOMnUzNmx3ejlNMm5YNnE0SzYzdytCWGJBd0ZVSkdVbHNuYXRCbkE1QUM0L3d3S3M4Z0VvdDNtQnF5cEhFaGEzUGJpSlNqVDFnWnZiQ2RCcXprVWNoWTdIVVczWGVOVlJmNzVGRzgxdUl1T09OZThZWmZVYjMydnRjTytXUTYrKzJBNmNoOS9meHAvTTFDWitsZjNNME81ckVmd21WUkZ0VCtsTWZHVGFZNlBwQm1UaW9peXY1M0dXTWpwYjIvTUNxTWhkS29Wck5tUTZVRlV1QU1peFd3ZHVGZ3AzTm81em9NOEtQRnR4Yk9NdzZ3N1ZhdjFMa0p2UTkwSjYzY2tMb1FPZzdWNFV2NlR2N0Q0QWxQc3hBVlNrMTh2UVZWVzBTckJJT3N0YnM0aTNaaEZ2aGVQV2pEWHB3QjNyd0ZvNW83QzErakJFc0pUV0lvWjF4bG5oZG9DMmF0ZngxSUxmdEZ0M2JQVnhxMjJ0dWJmYVVhKy9Da0NiZDg3NFkvVC9BZ3dBMk1pN0hkQWUraWtBQUFBQVNVVk9SSzVDWUlJPSkgdG9wIHJpZ2h0IG5vLXJlcGVhdCAjMWIzMTQ5O1xuICAgIC8qIGJhY2tncm91bmQtYXR0YWNoZW1lbnQgbG9jYWwgaXMgbm90IHN1cHBvcnRlZCBvbiBJRThcbiAgICAgKiB3aGVuIHRoaXMgaXMgcGFydCBvZiBiYWNrZ3JvdW5kIHRoZSBjb21wbGV0ZSBiYWNrZ3JvdW5kIGlzIGlnbm9yZWQgKi9cbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsO1xufVxuLm14LWRlbW91c2Vyc3dpdGNoZXIgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0OTYwNzY7XG59XG4ubXgtZGVtb3VzZXJzd2l0Y2hlciBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgY29sb3I6ICMzODdlYTI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0OTYwNzY7XG59XG4ubXgtZGVtb3VzZXJzd2l0Y2hlciBoMiB7XG4gICAgbWFyZ2luOiAyMHB4IDAgNXB4O1xuICAgIGNvbG9yOiAjNWJjNGZlO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbn1cbi5teC1kZW1vdXNlcnN3aXRjaGVyIGgzIHtcbiAgICBtYXJnaW46IDAgMCAycHg7XG4gICAgY29sb3I6ICM1YmM0ZmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLm14LWRlbW91c2Vyc3dpdGNoZXIgLmFjdGl2ZSBoMyB7XG4gICAgY29sb3I6ICMxMWVmZGI7XG59XG4ubXgtZGVtb3VzZXJzd2l0Y2hlciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm14LWRlbW91c2Vyc3dpdGNoZXItdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyNSU7XG4gICAgbGVmdDogLTM1cHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIG1hcmdpbi10b3A6IC00MHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCA1cHggcmdiYSgyOCw1OSw4NiwuMik7XG4gICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBU0NBWUFBQUJXem81WEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVJwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNeTFqTURFeElEWTJMakUwTlRZMk1Td2dNakF4TWk4d01pOHdOaTB4TkRvMU5qb3lOeUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5UTmlBb1RXRmphVzUwYjNOb0tTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzNORVJETWpGR1JEUTJORU14TVVVMFFUUTRNVUk1TlROR01VUTNRekU1TnlJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvM05FUkRNakZHUlRRMk5FTXhNVVUwUVRRNE1VSTVOVE5HTVVRM1F6RTVOeUkrSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pjMFJFTXlNVVpDTkRZMFF6RXhSVFJCTkRneFFqazFNMFl4UkRkRE1UazNJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPamMwUkVNeU1VWkRORFkwUXpFeFJUUkJORGd4UWprMU0wWXhSRGRETVRrM0lpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCsxWm92TkFBQUFXZEpSRUZVZU5xTTFNMHJSRkVZeC9FN1k1cUlRcE9VYklpeW1RV3lzQmd2SlZKSzJWZ3J5WlF0S1NVTFplbFBzQjBMWmFOWmpKVU5LMUZza0pxVXZDUzNOQXNaYzN6UDlOemlPT2ZlZWVwVGM4L2M4K3ZjOHhaVFNubU9ha0VHS2R6Z0RCWFh5NTRPTXNTd2pwTDZXOWNZc3J4ZlpXdmNVdTd5MFZkTFVDYytWWGdkMm9MaXhwZk9JT21GMTdUdEhUT296WXV1cEN4QWFOQjlEVUVmZURVYkU4YnpFWHhaZXJQMDBsOGhoM0xVaUhUSU1yNk45ajJrc1lvaWh2LzFkZXlMU1Z6S0ttMWpFVytXZlpWMkxmOGdza2pJY3djV3BPTSsrcEhDRlBMb3NnV3RvQ3lkN2pDUE9qemhHSEhMeURQWTFhY2hhSmhEeFJqNnJCd0pYVXVvTjBJRzhJSXY3T2lHQmp4YWR2QUlUdVQzcmV4NmMwU2JLQVNmbG5VY0JUM0pUVGhBanlXa0dVVnNCRUVGUjVDZXJ6WHBOSWFjckZJckpuQ0JCM211QnZraEIxVFAyN2hNL0x2eDN6bDZneEhxdTZjNzRraVU4SXhHaktKZExyclQzeGZkandBREFKYU14UDJidkQyQkFBQUFBRWxGVGtTdVFtQ0MpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICMxYjMxNDk7XG59XG4iLCIvKiBtYXN0ZXIgZGV0YWlscyBzY3JlZW4gZm9yIG1vYmlsZSAqL1xuLm14LW1hc3Rlci1kZXRhaWwtc2NyZWVuIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG5cbi5teC1tYXN0ZXItZGV0YWlsLXNjcmVlbiAubXgtbWFzdGVyLWRldGFpbC1kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuXG4ubXgtbWFzdGVyLWRldGFpbC1zY3JlZW4taGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbn1cblxuLm14LW1hc3Rlci1kZXRhaWwtc2NyZWVuLWhlYWRlci1jYXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5teC1tYXN0ZXItZGV0YWlsLXNjcmVlbi1oZWFkZXItY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMDA3YWZmO1xufVxuXG5ib2R5W2Rpcj1cInJ0bFwiXSAubXgtbWFzdGVyLWRldGFpbC1zY3JlZW4taGVhZGVyLWNsb3NlIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4ubXgtbWFzdGVyLWRldGFpbC1zY3JlZW4taGVhZGVyLWNsb3NlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDM5XCI7XG4gICAgZm9udC1zaXplOiA1MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4vKiBjbGFzc2VzIGZvciBjb250ZW50IHBhZ2UgKi9cbi5teC1tYXN0ZXItZGV0YWlsLWNvbnRlbnQtZml4IHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5teC1tYXN0ZXItZGV0YWlsLWNvbnRlbnQtaGlkZGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMCUpO1xufVxuXG5ib2R5W2Rpcj1cInJ0bFwiXSAubXgtbWFzdGVyLWRldGFpbC1jb250ZW50LWhpZGRlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMCUpO1xufSIsIi5yZXBvcnRpbmdSZXBvcnQge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbiIsIi5yZXBvcnRpbmdSZXBvcnRQYXJhbWV0ZXIgdGgge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuIiwiLnJlcG9ydGluZ0RhdGVSYW5nZSB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cbi5yZXBvcnRpbmdEYXRlUmFuZ2UgdGgge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xufVxuLnJlcG9ydGluZ0RhdGVSYW5nZSB0ZCB7XG4gICAgcGFkZGluZzogNXB4O1xufVxuIiwiLm14LXJlcG9ydG1hdHJpeCB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm14LXJlcG9ydG1hdHJpeCB0aCwgLm14LXJlcG9ydG1hdHJpeCB0ZCB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbn1cblxuLm14LXJlcG9ydG1hdHJpeCB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLm14LXJlcG9ydG1hdHJpeCB0Ym9keSB0cjpudGgtY2hpbGQoMm4rMSkgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG59XG5cbi5teC1yZXBvcnRtYXRyaXggdGJvZHkgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE2cHg7XG4gICAgbWF4LWhlaWdodDogMTZweDtcbn1cbiIsIi8qIFdBUk5JTkc6IElFOSBsaW1pdHMgbmVzdGVkIGltcG9ydHMgdG8gdGhyZWUgbGV2ZWxzIGRlZXA6IGh0dHA6Ly9qb3JnZWFsYmFsYWRlam8uY29tLzIwMTEvMDUvMjgvaW50ZXJuZXQtZXhwbG9yZXItbGltaXRzLW5lc3RlZC1pbXBvcnQtY3NzLXN0YXRlbWVudHMgKi9cblxuLyogZGlqaXQgYmFzZSAqL1xuXG4vKiBtZW5kaXggYmFzZSAqL1xuXG4vKiB3aWRnZXRzICovXG5cbi8qIHJlcG9ydGluZyAqL1xuIl0sInNvdXJjZVJvb3QiOiIifQ==*/ diff --git a/theme/styles/web/sass/core/_legacy/bootstrap/_bootstrap-rtl.scss b/themesource/atlas_core/web/core/_legacy/bootstrap/_bootstrap-rtl.scss similarity index 99% rename from theme/styles/web/sass/core/_legacy/bootstrap/_bootstrap-rtl.scss rename to themesource/atlas_core/web/core/_legacy/bootstrap/_bootstrap-rtl.scss index 8c768d5..8344fd9 100644 --- a/theme/styles/web/sass/core/_legacy/bootstrap/_bootstrap-rtl.scss +++ b/themesource/atlas_core/web/core/_legacy/bootstrap/_bootstrap-rtl.scss @@ -6,7 +6,7 @@ * Copyright: Unlicensed Public Domain *******************************************************************************/ -[dir='rtl'] { +[dir="rtl"] { .flip.text-left { text-align: right; } @@ -967,10 +967,10 @@ padding-right: 20px; padding-left: initial; } - .radio input[type='radio'], - .radio-inline input[type='radio'], - .checkbox input[type='checkbox'], - .checkbox-inline input[type='checkbox'] { + .radio input[type="radio"], + .radio-inline input[type="radio"], + .checkbox input[type="checkbox"], + .checkbox-inline input[type="checkbox"] { margin-right: -20px; margin-left: auto; } @@ -997,8 +997,8 @@ padding-right: 0; padding-left: initial; } - .form-inline .radio input[type='radio'], - .form-inline .checkbox input[type='checkbox'] { + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { margin-right: 0; margin-left: auto; } diff --git a/theme/styles/web/sass/core/_legacy/bootstrap/_bootstrap.scss b/themesource/atlas_core/web/core/_legacy/bootstrap/_bootstrap.scss similarity index 90% rename from theme/styles/web/sass/core/_legacy/bootstrap/_bootstrap.scss rename to themesource/atlas_core/web/core/_legacy/bootstrap/_bootstrap.scss index 5836c61..c1e7775 100644 --- a/theme/styles/web/sass/core/_legacy/bootstrap/_bootstrap.scss +++ b/themesource/atlas_core/web/core/_legacy/bootstrap/_bootstrap.scss @@ -126,9 +126,9 @@ select { text-transform: none; } button, -html input[type='button'], -input[type='reset'], -input[type='submit'] { +html input[type="button"], +input[type="reset"], +input[type="submit"] { -webkit-appearance: button; cursor: pointer; } @@ -144,25 +144,25 @@ input::-moz-focus-inner { input { line-height: normal; } -input[type='checkbox'], -input[type='radio'] { +input[type="checkbox"], +input[type="radio"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; } -input[type='number']::-webkit-inner-spin-button, -input[type='number']::-webkit-outer-spin-button { +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { height: auto; } -input[type='search'] { +input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; } -input[type='search']::-webkit-search-cancel-button, -input[type='search']::-webkit-search-decoration { +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { @@ -204,14 +204,14 @@ th { text-decoration: underline; } a[href]:after { - content: ' (' attr(href) ')'; + content: " (" attr(href) ")"; } abbr[title]:after { - content: ' (' attr(title) ')'; + content: " (" attr(title) ")"; } - a[href^='#']:after, - a[href^='javascript:']:after { - content: ''; + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; } pre, blockquote { @@ -265,20 +265,14 @@ th { } } @font-face { - font-family: 'Glyphicons Halflings'; - - src: url('./fonts/glyphicons-halflings-regular.eot'); - src: url('./fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), - url('./fonts/glyphicons-halflings-regular.woff2') format('woff2'), - url('./fonts/glyphicons-halflings-regular.woff') format('woff'), - url('./fonts/glyphicons-halflings-regular.ttf') format('truetype'), - url('./fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); + font-family: "Glyphicons Halflings"; + src: url("../../../resources/glyphicons-halflings-regular.woff2") format("woff2"); } .glyphicon { position: relative; top: 1px; display: inline-block; - font-family: 'Glyphicons Halflings'; + font-family: "Glyphicons Halflings"; font-style: normal; font-weight: normal; line-height: 1; @@ -287,791 +281,791 @@ th { -moz-osx-font-smoothing: grayscale; } .glyphicon-asterisk:before { - content: '\2a'; + content: "\2a"; } .glyphicon-plus:before { - content: '\2b'; + content: "\2b"; } .glyphicon-euro:before, .glyphicon-eur:before { - content: '\20ac'; + content: "\20ac"; } .glyphicon-minus:before { - content: '\2212'; + content: "\2212"; } .glyphicon-cloud:before { - content: '\2601'; + content: "\2601"; } .glyphicon-envelope:before { - content: '\2709'; + content: "\2709"; } .glyphicon-pencil:before { - content: '\270f'; + content: "\270f"; } .glyphicon-glass:before { - content: '\e001'; + content: "\e001"; } .glyphicon-music:before { - content: '\e002'; + content: "\e002"; } .glyphicon-search:before { - content: '\e003'; + content: "\e003"; } .glyphicon-heart:before { - content: '\e005'; + content: "\e005"; } .glyphicon-star:before { - content: '\e006'; + content: "\e006"; } .glyphicon-star-empty:before { - content: '\e007'; + content: "\e007"; } .glyphicon-user:before { - content: '\e008'; + content: "\e008"; } .glyphicon-film:before { - content: '\e009'; + content: "\e009"; } .glyphicon-th-large:before { - content: '\e010'; + content: "\e010"; } .glyphicon-th:before { - content: '\e011'; + content: "\e011"; } .glyphicon-th-list:before { - content: '\e012'; + content: "\e012"; } .glyphicon-ok:before { - content: '\e013'; + content: "\e013"; } .glyphicon-remove:before { - content: '\e014'; + content: "\e014"; } .glyphicon-zoom-in:before { - content: '\e015'; + content: "\e015"; } .glyphicon-zoom-out:before { - content: '\e016'; + content: "\e016"; } .glyphicon-off:before { - content: '\e017'; + content: "\e017"; } .glyphicon-signal:before { - content: '\e018'; + content: "\e018"; } .glyphicon-cog:before { - content: '\e019'; + content: "\e019"; } .glyphicon-trash:before { - content: '\e020'; + content: "\e020"; } .glyphicon-home:before { - content: '\e021'; + content: "\e021"; } .glyphicon-file:before { - content: '\e022'; + content: "\e022"; } .glyphicon-time:before { - content: '\e023'; + content: "\e023"; } .glyphicon-road:before { - content: '\e024'; + content: "\e024"; } .glyphicon-download-alt:before { - content: '\e025'; + content: "\e025"; } .glyphicon-download:before { - content: '\e026'; + content: "\e026"; } .glyphicon-upload:before { - content: '\e027'; + content: "\e027"; } .glyphicon-inbox:before { - content: '\e028'; + content: "\e028"; } .glyphicon-play-circle:before { - content: '\e029'; + content: "\e029"; } .glyphicon-repeat:before { - content: '\e030'; + content: "\e030"; } .glyphicon-refresh:before { - content: '\e031'; + content: "\e031"; } .glyphicon-list-alt:before { - content: '\e032'; + content: "\e032"; } .glyphicon-lock:before { - content: '\e033'; + content: "\e033"; } .glyphicon-flag:before { - content: '\e034'; + content: "\e034"; } .glyphicon-headphones:before { - content: '\e035'; + content: "\e035"; } .glyphicon-volume-off:before { - content: '\e036'; + content: "\e036"; } .glyphicon-volume-down:before { - content: '\e037'; + content: "\e037"; } .glyphicon-volume-up:before { - content: '\e038'; + content: "\e038"; } .glyphicon-qrcode:before { - content: '\e039'; + content: "\e039"; } .glyphicon-barcode:before { - content: '\e040'; + content: "\e040"; } .glyphicon-tag:before { - content: '\e041'; + content: "\e041"; } .glyphicon-tags:before { - content: '\e042'; + content: "\e042"; } .glyphicon-book:before { - content: '\e043'; + content: "\e043"; } .glyphicon-bookmark:before { - content: '\e044'; + content: "\e044"; } .glyphicon-print:before { - content: '\e045'; + content: "\e045"; } .glyphicon-camera:before { - content: '\e046'; + content: "\e046"; } .glyphicon-font:before { - content: '\e047'; + content: "\e047"; } .glyphicon-bold:before { - content: '\e048'; + content: "\e048"; } .glyphicon-italic:before { - content: '\e049'; + content: "\e049"; } .glyphicon-text-height:before { - content: '\e050'; + content: "\e050"; } .glyphicon-text-width:before { - content: '\e051'; + content: "\e051"; } .glyphicon-align-left:before { - content: '\e052'; + content: "\e052"; } .glyphicon-align-center:before { - content: '\e053'; + content: "\e053"; } .glyphicon-align-right:before { - content: '\e054'; + content: "\e054"; } .glyphicon-align-justify:before { - content: '\e055'; + content: "\e055"; } .glyphicon-list:before { - content: '\e056'; + content: "\e056"; } .glyphicon-indent-left:before { - content: '\e057'; + content: "\e057"; } .glyphicon-indent-right:before { - content: '\e058'; + content: "\e058"; } .glyphicon-facetime-video:before { - content: '\e059'; + content: "\e059"; } .glyphicon-picture:before { - content: '\e060'; + content: "\e060"; } .glyphicon-map-marker:before { - content: '\e062'; + content: "\e062"; } .glyphicon-adjust:before { - content: '\e063'; + content: "\e063"; } .glyphicon-tint:before { - content: '\e064'; + content: "\e064"; } .glyphicon-edit:before { - content: '\e065'; + content: "\e065"; } .glyphicon-share:before { - content: '\e066'; + content: "\e066"; } .glyphicon-check:before { - content: '\e067'; + content: "\e067"; } .glyphicon-move:before { - content: '\e068'; + content: "\e068"; } .glyphicon-step-backward:before { - content: '\e069'; + content: "\e069"; } .glyphicon-fast-backward:before { - content: '\e070'; + content: "\e070"; } .glyphicon-backward:before { - content: '\e071'; + content: "\e071"; } .glyphicon-play:before { - content: '\e072'; + content: "\e072"; } .glyphicon-pause:before { - content: '\e073'; + content: "\e073"; } .glyphicon-stop:before { - content: '\e074'; + content: "\e074"; } .glyphicon-forward:before { - content: '\e075'; + content: "\e075"; } .glyphicon-fast-forward:before { - content: '\e076'; + content: "\e076"; } .glyphicon-step-forward:before { - content: '\e077'; + content: "\e077"; } .glyphicon-eject:before { - content: '\e078'; + content: "\e078"; } .glyphicon-chevron-left:before { - content: '\e079'; + content: "\e079"; } .glyphicon-chevron-right:before { - content: '\e080'; + content: "\e080"; } .glyphicon-plus-sign:before { - content: '\e081'; + content: "\e081"; } .glyphicon-minus-sign:before { - content: '\e082'; + content: "\e082"; } .glyphicon-remove-sign:before { - content: '\e083'; + content: "\e083"; } .glyphicon-ok-sign:before { - content: '\e084'; + content: "\e084"; } .glyphicon-question-sign:before { - content: '\e085'; + content: "\e085"; } .glyphicon-info-sign:before { - content: '\e086'; + content: "\e086"; } .glyphicon-screenshot:before { - content: '\e087'; + content: "\e087"; } .glyphicon-remove-circle:before { - content: '\e088'; + content: "\e088"; } .glyphicon-ok-circle:before { - content: '\e089'; + content: "\e089"; } .glyphicon-ban-circle:before { - content: '\e090'; + content: "\e090"; } .glyphicon-arrow-left:before { - content: '\e091'; + content: "\e091"; } .glyphicon-arrow-right:before { - content: '\e092'; + content: "\e092"; } .glyphicon-arrow-up:before { - content: '\e093'; + content: "\e093"; } .glyphicon-arrow-down:before { - content: '\e094'; + content: "\e094"; } .glyphicon-share-alt:before { - content: '\e095'; + content: "\e095"; } .glyphicon-resize-full:before { - content: '\e096'; + content: "\e096"; } .glyphicon-resize-small:before { - content: '\e097'; + content: "\e097"; } .glyphicon-exclamation-sign:before { - content: '\e101'; + content: "\e101"; } .glyphicon-gift:before { - content: '\e102'; + content: "\e102"; } .glyphicon-leaf:before { - content: '\e103'; + content: "\e103"; } .glyphicon-fire:before { - content: '\e104'; + content: "\e104"; } .glyphicon-eye-open:before { - content: '\e105'; + content: "\e105"; } .glyphicon-eye-close:before { - content: '\e106'; + content: "\e106"; } .glyphicon-warning-sign:before { - content: '\e107'; + content: "\e107"; } .glyphicon-plane:before { - content: '\e108'; + content: "\e108"; } .glyphicon-calendar:before { - content: '\e109'; + content: "\e109"; } .glyphicon-random:before { - content: '\e110'; + content: "\e110"; } .glyphicon-comment:before { - content: '\e111'; + content: "\e111"; } .glyphicon-magnet:before { - content: '\e112'; + content: "\e112"; } .glyphicon-chevron-up:before { - content: '\e113'; + content: "\e113"; } .glyphicon-chevron-down:before { - content: '\e114'; + content: "\e114"; } .glyphicon-retweet:before { - content: '\e115'; + content: "\e115"; } .glyphicon-shopping-cart:before { - content: '\e116'; + content: "\e116"; } .glyphicon-folder-close:before { - content: '\e117'; + content: "\e117"; } .glyphicon-folder-open:before { - content: '\e118'; + content: "\e118"; } .glyphicon-resize-vertical:before { - content: '\e119'; + content: "\e119"; } .glyphicon-resize-horizontal:before { - content: '\e120'; + content: "\e120"; } .glyphicon-hdd:before { - content: '\e121'; + content: "\e121"; } .glyphicon-bullhorn:before { - content: '\e122'; + content: "\e122"; } .glyphicon-bell:before { - content: '\e123'; + content: "\e123"; } .glyphicon-certificate:before { - content: '\e124'; + content: "\e124"; } .glyphicon-thumbs-up:before { - content: '\e125'; + content: "\e125"; } .glyphicon-thumbs-down:before { - content: '\e126'; + content: "\e126"; } .glyphicon-hand-right:before { - content: '\e127'; + content: "\e127"; } .glyphicon-hand-left:before { - content: '\e128'; + content: "\e128"; } .glyphicon-hand-up:before { - content: '\e129'; + content: "\e129"; } .glyphicon-hand-down:before { - content: '\e130'; + content: "\e130"; } .glyphicon-circle-arrow-right:before { - content: '\e131'; + content: "\e131"; } .glyphicon-circle-arrow-left:before { - content: '\e132'; + content: "\e132"; } .glyphicon-circle-arrow-up:before { - content: '\e133'; + content: "\e133"; } .glyphicon-circle-arrow-down:before { - content: '\e134'; + content: "\e134"; } .glyphicon-globe:before { - content: '\e135'; + content: "\e135"; } .glyphicon-wrench:before { - content: '\e136'; + content: "\e136"; } .glyphicon-tasks:before { - content: '\e137'; + content: "\e137"; } .glyphicon-filter:before { - content: '\e138'; + content: "\e138"; } .glyphicon-briefcase:before { - content: '\e139'; + content: "\e139"; } .glyphicon-fullscreen:before { - content: '\e140'; + content: "\e140"; } .glyphicon-dashboard:before { - content: '\e141'; + content: "\e141"; } .glyphicon-paperclip:before { - content: '\e142'; + content: "\e142"; } .glyphicon-heart-empty:before { - content: '\e143'; + content: "\e143"; } .glyphicon-link:before { - content: '\e144'; + content: "\e144"; } .glyphicon-phone:before { - content: '\e145'; + content: "\e145"; } .glyphicon-pushpin:before { - content: '\e146'; + content: "\e146"; } .glyphicon-usd:before { - content: '\e148'; + content: "\e148"; } .glyphicon-gbp:before { - content: '\e149'; + content: "\e149"; } .glyphicon-sort:before { - content: '\e150'; + content: "\e150"; } .glyphicon-sort-by-alphabet:before { - content: '\e151'; + content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { - content: '\e152'; + content: "\e152"; } .glyphicon-sort-by-order:before { - content: '\e153'; + content: "\e153"; } .glyphicon-sort-by-order-alt:before { - content: '\e154'; + content: "\e154"; } .glyphicon-sort-by-attributes:before { - content: '\e155'; + content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { - content: '\e156'; + content: "\e156"; } .glyphicon-unchecked:before { - content: '\e157'; + content: "\e157"; } .glyphicon-expand:before { - content: '\e158'; + content: "\e158"; } .glyphicon-collapse-down:before { - content: '\e159'; + content: "\e159"; } .glyphicon-collapse-up:before { - content: '\e160'; + content: "\e160"; } .glyphicon-log-in:before { - content: '\e161'; + content: "\e161"; } .glyphicon-flash:before { - content: '\e162'; + content: "\e162"; } .glyphicon-log-out:before { - content: '\e163'; + content: "\e163"; } .glyphicon-new-window:before { - content: '\e164'; + content: "\e164"; } .glyphicon-record:before { - content: '\e165'; + content: "\e165"; } .glyphicon-save:before { - content: '\e166'; + content: "\e166"; } .glyphicon-open:before { - content: '\e167'; + content: "\e167"; } .glyphicon-saved:before { - content: '\e168'; + content: "\e168"; } .glyphicon-import:before { - content: '\e169'; + content: "\e169"; } .glyphicon-export:before { - content: '\e170'; + content: "\e170"; } .glyphicon-send:before { - content: '\e171'; + content: "\e171"; } .glyphicon-floppy-disk:before { - content: '\e172'; + content: "\e172"; } .glyphicon-floppy-saved:before { - content: '\e173'; + content: "\e173"; } .glyphicon-floppy-remove:before { - content: '\e174'; + content: "\e174"; } .glyphicon-floppy-save:before { - content: '\e175'; + content: "\e175"; } .glyphicon-floppy-open:before { - content: '\e176'; + content: "\e176"; } .glyphicon-credit-card:before { - content: '\e177'; + content: "\e177"; } .glyphicon-transfer:before { - content: '\e178'; + content: "\e178"; } .glyphicon-cutlery:before { - content: '\e179'; + content: "\e179"; } .glyphicon-header:before { - content: '\e180'; + content: "\e180"; } .glyphicon-compressed:before { - content: '\e181'; + content: "\e181"; } .glyphicon-earphone:before { - content: '\e182'; + content: "\e182"; } .glyphicon-phone-alt:before { - content: '\e183'; + content: "\e183"; } .glyphicon-tower:before { - content: '\e184'; + content: "\e184"; } .glyphicon-stats:before { - content: '\e185'; + content: "\e185"; } .glyphicon-sd-video:before { - content: '\e186'; + content: "\e186"; } .glyphicon-hd-video:before { - content: '\e187'; + content: "\e187"; } .glyphicon-subtitles:before { - content: '\e188'; + content: "\e188"; } .glyphicon-sound-stereo:before { - content: '\e189'; + content: "\e189"; } .glyphicon-sound-dolby:before { - content: '\e190'; + content: "\e190"; } .glyphicon-sound-5-1:before { - content: '\e191'; + content: "\e191"; } .glyphicon-sound-6-1:before { - content: '\e192'; + content: "\e192"; } .glyphicon-sound-7-1:before { - content: '\e193'; + content: "\e193"; } .glyphicon-copyright-mark:before { - content: '\e194'; + content: "\e194"; } .glyphicon-registration-mark:before { - content: '\e195'; + content: "\e195"; } .glyphicon-cloud-download:before { - content: '\e197'; + content: "\e197"; } .glyphicon-cloud-upload:before { - content: '\e198'; + content: "\e198"; } .glyphicon-tree-conifer:before { - content: '\e199'; + content: "\e199"; } .glyphicon-tree-deciduous:before { - content: '\e200'; + content: "\e200"; } .glyphicon-cd:before { - content: '\e201'; + content: "\e201"; } .glyphicon-save-file:before { - content: '\e202'; + content: "\e202"; } .glyphicon-open-file:before { - content: '\e203'; + content: "\e203"; } .glyphicon-level-up:before { - content: '\e204'; + content: "\e204"; } .glyphicon-copy:before { - content: '\e205'; + content: "\e205"; } .glyphicon-paste:before { - content: '\e206'; + content: "\e206"; } .glyphicon-alert:before { - content: '\e209'; + content: "\e209"; } .glyphicon-equalizer:before { - content: '\e210'; + content: "\e210"; } .glyphicon-king:before { - content: '\e211'; + content: "\e211"; } .glyphicon-queen:before { - content: '\e212'; + content: "\e212"; } .glyphicon-pawn:before { - content: '\e213'; + content: "\e213"; } .glyphicon-bishop:before { - content: '\e214'; + content: "\e214"; } .glyphicon-knight:before { - content: '\e215'; + content: "\e215"; } .glyphicon-baby-formula:before { - content: '\e216'; + content: "\e216"; } .glyphicon-tent:before { - content: '\26fa'; + content: "\26fa"; } .glyphicon-blackboard:before { - content: '\e218'; + content: "\e218"; } .glyphicon-bed:before { - content: '\e219'; + content: "\e219"; } .glyphicon-apple:before { - content: '\f8ff'; + content: "\f8ff"; } .glyphicon-erase:before { - content: '\e221'; + content: "\e221"; } .glyphicon-hourglass:before { - content: '\231b'; + content: "\231b"; } .glyphicon-lamp:before { - content: '\e223'; + content: "\e223"; } .glyphicon-duplicate:before { - content: '\e224'; + content: "\e224"; } .glyphicon-piggy-bank:before { - content: '\e225'; + content: "\e225"; } .glyphicon-scissors:before { - content: '\e226'; + content: "\e226"; } .glyphicon-bitcoin:before { - content: '\e227'; + content: "\e227"; } .glyphicon-btc:before { - content: '\e227'; + content: "\e227"; } .glyphicon-xbt:before { - content: '\e227'; + content: "\e227"; } .glyphicon-yen:before { - content: '\00a5'; + content: "\00a5"; } .glyphicon-jpy:before { - content: '\00a5'; + content: "\00a5"; } .glyphicon-ruble:before { - content: '\20bd'; + content: "\20bd"; } .glyphicon-rub:before { - content: '\20bd'; + content: "\20bd"; } .glyphicon-scale:before { - content: '\e230'; + content: "\e230"; } .glyphicon-ice-lolly:before { - content: '\e231'; + content: "\e231"; } .glyphicon-ice-lolly-tasted:before { - content: '\e232'; + content: "\e232"; } .glyphicon-education:before { - content: '\e233'; + content: "\e233"; } .glyphicon-option-horizontal:before { - content: '\e234'; + content: "\e234"; } .glyphicon-option-vertical:before { - content: '\e235'; + content: "\e235"; } .glyphicon-menu-hamburger:before { - content: '\e236'; + content: "\e236"; } .glyphicon-modal-window:before { - content: '\e237'; + content: "\e237"; } .glyphicon-oil:before { - content: '\e238'; + content: "\e238"; } .glyphicon-grain:before { - content: '\e239'; + content: "\e239"; } .glyphicon-sunglasses:before { - content: '\e240'; + content: "\e240"; } .glyphicon-text-size:before { - content: '\e241'; + content: "\e241"; } .glyphicon-text-color:before { - content: '\e242'; + content: "\e242"; } .glyphicon-text-background:before { - content: '\e243'; + content: "\e243"; } .glyphicon-object-align-top:before { - content: '\e244'; + content: "\e244"; } .glyphicon-object-align-bottom:before { - content: '\e245'; + content: "\e245"; } .glyphicon-object-align-horizontal:before { - content: '\e246'; + content: "\e246"; } .glyphicon-object-align-left:before { - content: '\e247'; + content: "\e247"; } .glyphicon-object-align-vertical:before { - content: '\e248'; + content: "\e248"; } .glyphicon-object-align-right:before { - content: '\e249'; + content: "\e249"; } .glyphicon-triangle-right:before { - content: '\e250'; + content: "\e250"; } .glyphicon-triangle-left:before { - content: '\e251'; + content: "\e251"; } .glyphicon-triangle-bottom:before { - content: '\e252'; + content: "\e252"; } .glyphicon-triangle-top:before { - content: '\e253'; + content: "\e253"; } .glyphicon-console:before { - content: '\e254'; + content: "\e254"; } .glyphicon-superscript:before { - content: '\e255'; + content: "\e255"; } .glyphicon-subscript:before { - content: '\e256'; + content: "\e256"; } .glyphicon-menu-left:before { - content: '\e257'; + content: "\e257"; } .glyphicon-menu-right:before { - content: '\e258'; + content: "\e258"; } .glyphicon-menu-down:before { - content: '\e259'; + content: "\e259"; } .glyphicon-menu-up:before { - content: '\e260'; + content: "\e260"; } * { -webkit-box-sizing: border-box; @@ -1090,7 +1084,7 @@ html { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.42857143; color: #333; @@ -1177,7 +1171,7 @@ hr { overflow: visible; clip: auto; } -[role='button'] { +[role="button"] { cursor: pointer; } h1, @@ -1495,7 +1489,7 @@ blockquote .small { blockquote footer:before, blockquote small:before, blockquote .small:before { - content: '\2014 \00A0'; + content: "\2014 \00A0"; } .blockquote-reverse, blockquote.pull-right { @@ -1511,7 +1505,7 @@ blockquote.pull-right footer:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { - content: ''; + content: ""; } .blockquote-reverse footer:after, blockquote.pull-right footer:after, @@ -1519,7 +1513,7 @@ blockquote.pull-right footer:after, blockquote.pull-right small:after, .blockquote-reverse .small:after, blockquote.pull-right .small:after { - content: '\00A0 \2014'; + content: "\00A0 \2014"; } address { margin-bottom: 20px; @@ -1530,7 +1524,7 @@ code, kbd, pre, samp { - font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } code { padding: 2px 4px; @@ -2413,13 +2407,13 @@ th { .table-hover > tbody > tr:hover { background-color: #f5f5f5; } -table col[class*='col-'] { +table col[class*="col-"] { position: static; display: table-column; float: none; } -table td[class*='col-'], -table th[class*='col-'] { +table td[class*="col-"], +table th[class*="col-"] { position: static; display: table-cell; float: none; @@ -2601,21 +2595,21 @@ label { margin-bottom: 5px; font-weight: bold; } -input[type='search'] { +input[type="search"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } -input[type='radio'], -input[type='checkbox'] { +input[type="radio"], +input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; } -input[type='file'] { +input[type="file"] { display: block; } -input[type='range'] { +input[type="range"] { display: block; width: 100%; } @@ -2623,9 +2617,9 @@ select[multiple], select[size] { height: auto; } -input[type='file']:focus, -input[type='radio']:focus, -input[type='checkbox']:focus { +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; @@ -2733,10 +2727,10 @@ output { font-weight: normal; cursor: pointer; } -.radio input[type='radio'], -.radio-inline input[type='radio'], -.checkbox input[type='checkbox'], -.checkbox-inline input[type='checkbox'] { +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { position: absolute; margin-top: 4px \9; margin-left: -20px; @@ -2760,12 +2754,12 @@ output { margin-top: 0; margin-left: 10px; } -input[type='radio'][disabled], -input[type='checkbox'][disabled], -input[type='radio'].disabled, -input[type='checkbox'].disabled, -fieldset[disabled] input[type='radio'], -fieldset[disabled] input[type='checkbox'] { +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { cursor: not-allowed; } .radio-inline.disabled, @@ -3036,8 +3030,8 @@ select[multiple].form-group-lg .form-control { .form-inline .checkbox label { padding-left: 0; } - .form-inline .radio input[type='radio'], - .form-inline .checkbox input[type='checkbox'] { + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } @@ -3459,18 +3453,18 @@ fieldset[disabled] .btn-link:focus { line-height: 1.5; border-radius: 3px; } -.btn-block { - display: block; - width: 100%; -} -.btn-block + .btn-block { - margin-top: 5px; -} -input[type='submit'].btn-block, -input[type='reset'].btn-block, -input[type='button'].btn-block { - width: 100%; -} +//.btn-block { +// display: block; +// width: 100%; +//} +//.btn-block + .btn-block { +// margin-top: 5px; +//} +//input[type='submit'].btn-block, +//input[type='reset'].btn-block, +//input[type='button'].btn-block { +// width: 100%; +//} .fade { opacity: 0; -webkit-transition: opacity 0.15s linear; @@ -3627,7 +3621,7 @@ tbody.collapse.in { } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { - content: ''; + content: ""; border-top: 0; border-bottom: 4px solid; } @@ -3807,10 +3801,10 @@ tbody.collapse.in { .btn-group-justified > .btn-group .dropdown-menu { left: auto; } -[data-toggle='buttons'] > .btn input[type='radio'], -[data-toggle='buttons'] > .btn-group > .btn input[type='radio'], -[data-toggle='buttons'] > .btn input[type='checkbox'], -[data-toggle='buttons'] > .btn-group > .btn input[type='checkbox'] { +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; @@ -3820,7 +3814,7 @@ tbody.collapse.in { display: table; border-collapse: separate; } -.input-group[class*='col-'] { +.input-group[class*="col-"] { float: none; padding-right: 0; padding-left: 0; @@ -3915,8 +3909,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn { font-size: 18px; border-radius: 6px; } -.input-group-addon input[type='radio'], -.input-group-addon input[type='checkbox'] { +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, @@ -4414,8 +4408,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .navbar-form .checkbox label { padding-left: 0; } - .navbar-form .radio input[type='radio'], - .navbar-form .checkbox input[type='checkbox'] { + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } @@ -4701,7 +4695,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { .breadcrumb > li + li:before { padding: 0 5px; color: #ccc; - content: '/\00a0'; + content: "/\00a0"; } .breadcrumb > .active { color: #777; @@ -5090,235 +5084,235 @@ a.thumbnail.active { .alert-danger .alert-link { color: #843534; } -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@-o-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -.progress { - height: 20px; - margin-bottom: 20px; - overflow: hidden; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -} -.progress-bar { - float: left; - width: 0; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #fff; - text-align: center; - background-color: #337ab7; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -webkit-transition: width 0.6s ease; - -o-transition: width 0.6s ease; - transition: width 0.6s ease; -} -.progress-striped .progress-bar, -.progress-bar-striped { - background-image: -webkit-linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); - background-image: -o-linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); - background-image: linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); - -webkit-background-size: 40px 40px; - background-size: 40px 40px; -} -.progress.active .progress-bar, -.progress-bar.active { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} -.progress-bar-success { - background-color: #5cb85c; -} -.progress-striped .progress-bar-success { - background-image: -webkit-linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); - background-image: -o-linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); - background-image: linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); -} -.progress-bar-info { - background-color: #5bc0de; -} -.progress-striped .progress-bar-info { - background-image: -webkit-linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); - background-image: -o-linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); - background-image: linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); -} -.progress-bar-warning { - background-color: #f0ad4e; -} -.progress-striped .progress-bar-warning { - background-image: -webkit-linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); - background-image: -o-linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); - background-image: linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); -} -.progress-bar-danger { - background-color: #d9534f; -} -.progress-striped .progress-bar-danger { - background-image: -webkit-linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); - background-image: -o-linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); - background-image: linear-gradient( - 45deg, - rgba(255, 255, 255, 0.15) 25%, - transparent 25%, - transparent 50%, - rgba(255, 255, 255, 0.15) 50%, - rgba(255, 255, 255, 0.15) 75%, - transparent 75%, - transparent - ); -} +//@-webkit-keyframes progress-bar-stripes { +// from { +// background-position: 40px 0; +// } +// to { +// background-position: 0 0; +// } +//} +//@-o-keyframes progress-bar-stripes { +// from { +// background-position: 40px 0; +// } +// to { +// background-position: 0 0; +// } +//} +//@keyframes progress-bar-stripes { +// from { +// background-position: 40px 0; +// } +// to { +// background-position: 0 0; +// } +//} +//.progress { +// height: 20px; +// margin-bottom: 20px; +// overflow: hidden; +// background-color: #f5f5f5; +// border-radius: 4px; +// -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +// box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +//} +//.progress-bar { +// float: left; +// width: 0; +// height: 100%; +// font-size: 12px; +// line-height: 20px; +// color: #fff; +// text-align: center; +// background-color: #337ab7; +// -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); +// box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); +// -webkit-transition: width 0.6s ease; +// -o-transition: width 0.6s ease; +// transition: width 0.6s ease; +//} +//.progress-striped .progress-bar, +//.progress-bar-striped { +// background-image: -webkit-linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +// background-image: -o-linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +// background-image: linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +// -webkit-background-size: 40px 40px; +// background-size: 40px 40px; +//} +//.progress.active .progress-bar, +//.progress-bar.active { +// -webkit-animation: progress-bar-stripes 2s linear infinite; +// -o-animation: progress-bar-stripes 2s linear infinite; +// animation: progress-bar-stripes 2s linear infinite; +//} +//.progress-bar-success { +// background-color: #5cb85c; +//} +//.progress-striped .progress-bar-success { +// background-image: -webkit-linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +// background-image: -o-linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +// background-image: linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +//} +//.progress-bar-info { +// background-color: #5bc0de; +//} +//.progress-striped .progress-bar-info { +// background-image: -webkit-linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +// background-image: -o-linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +// background-image: linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +//} +//.progress-bar-warning { +// background-color: #f0ad4e; +//} +//.progress-striped .progress-bar-warning { +// background-image: -webkit-linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +// background-image: -o-linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +// background-image: linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +//} +//.progress-bar-danger { +// background-color: #d9534f; +//} +//.progress-striped .progress-bar-danger { +// background-image: -webkit-linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +// background-image: -o-linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +// background-image: linear-gradient( +// 45deg, +// rgba(255, 255, 255, 0.15) 25%, +// transparent 25%, +// transparent 50%, +// rgba(255, 255, 255, 0.15) 50%, +// rgba(255, 255, 255, 0.15) 75%, +// transparent 75%, +// transparent +// ); +//} .media { margin-top: 15px; } @@ -6026,10 +6020,10 @@ button.close { margin: 0; line-height: 1.42857143; } -.modal-body { - position: relative; - padding: 15px; -} +//.modal-body { +// position: relative; +// padding: 15px; +//} .modal-footer { padding: 15px; text-align: right; @@ -6074,7 +6068,7 @@ button.close { position: absolute; z-index: 1070; display: block; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 1.4; @@ -6181,7 +6175,7 @@ button.close { display: none; max-width: 276px; padding: 1px; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 1.42857143; @@ -6232,7 +6226,7 @@ button.close { border-width: 11px; } .popover > .arrow:after { - content: ''; + content: ""; border-width: 10px; } .popover.top > .arrow { @@ -6246,7 +6240,7 @@ button.close { .popover.top > .arrow:after { bottom: 1px; margin-left: -10px; - content: ' '; + content: " "; border-top-color: #fff; border-bottom-width: 0; } @@ -6261,7 +6255,7 @@ button.close { .popover.right > .arrow:after { bottom: -10px; left: 1px; - content: ' '; + content: " "; border-right-color: #fff; border-left-width: 0; } @@ -6276,7 +6270,7 @@ button.close { .popover.bottom > .arrow:after { top: 1px; margin-left: -10px; - content: ' '; + content: " "; border-top-width: 0; border-bottom-color: #fff; } @@ -6291,7 +6285,7 @@ button.close { .popover.left > .arrow:after { right: 1px; bottom: -10px; - content: ' '; + content: " "; border-right-width: 0; border-left-color: #fff; } @@ -6454,10 +6448,10 @@ button.close { line-height: 1; } .carousel-control .icon-prev:before { - content: '\2039'; + content: "\2039"; } .carousel-control .icon-next:before { - content: '\203a'; + content: "\203a"; } .carousel-indicators { position: absolute; @@ -6561,7 +6555,7 @@ button.close { .modal-footer:before, .modal-footer:after { display: table; - content: ' '; + content: " "; } .clearfix:after, .dl-horizontal dd:after, diff --git a/theme/styles/web/sass/core/base/_animation.scss b/themesource/atlas_core/web/core/base/_animation.scss similarity index 100% rename from theme/styles/web/sass/core/base/_animation.scss rename to themesource/atlas_core/web/core/base/_animation.scss diff --git a/theme/styles/web/sass/core/base/_base.scss b/themesource/atlas_core/web/core/base/_base.scss similarity index 89% rename from theme/styles/web/sass/core/base/_base.scss rename to themesource/atlas_core/web/core/base/_base.scss index b9d4379..2082dcb 100644 --- a/theme/styles/web/sass/core/base/_base.scss +++ b/themesource/atlas_core/web/core/base/_base.scss @@ -24,9 +24,6 @@ body { } a { - -moz-transition: 0.25s; - -o-transition: 0.25s; - -webkit-transition: 0.25s; transition: 0.25s; color: $link-color; -webkit-backface-visibility: hidden; @@ -64,8 +61,16 @@ div[tabindex] { .disabled, [disabled] { cursor: not-allowed; - // opacity: 0.65; - -webkit-box-shadow: none; + opacity: 0.65; box-shadow: none; - filter: alpha(opacity=65); +} + +.mx-underlay { + position: fixed; + top: 0; + width: 100%; + height: 100%; + z-index: 1000; + opacity: 0.5; + background-color: #0a1325; } diff --git a/theme/styles/web/sass/core/base/_flex.scss b/themesource/atlas_core/web/core/base/_flex.scss similarity index 98% rename from theme/styles/web/sass/core/base/_flex.scss rename to themesource/atlas_core/web/core/base/_flex.scss index 4f6364e..4eec77f 100644 --- a/theme/styles/web/sass/core/base/_flex.scss +++ b/themesource/atlas_core/web/core/base/_flex.scss @@ -9,7 +9,7 @@ Flex classes ========================================================================== */ -$important-flex-value: if($important-flex, ' !important', ''); +$important-flex-value: if($important-flex, " !important", ""); // Flex layout .flexcontainer { diff --git a/theme/styles/web/sass/core/base/_login.scss b/themesource/atlas_core/web/core/base/_login.scss similarity index 61% rename from theme/styles/web/sass/core/base/_login.scss rename to themesource/atlas_core/web/core/base/_login.scss index 6df8a0c..ea2c4f6 100644 --- a/theme/styles/web/sass/core/base/_login.scss +++ b/themesource/atlas_core/web/core/base/_login.scss @@ -34,6 +34,24 @@ body { width: 400px; margin: 0 auto; } + +.loginpage-fullscreenDiv { + background-color: #e8e8e8; + width: 100%; + height: auto; + bottom: 0; + top: 0; + left: 0; + position: absolute; +} + +.loginpage-center { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + // Form .loginpage-form { .alert { @@ -41,41 +59,44 @@ body { } .btn { - border-radius: 40px; + border-radius: $border-radius-default; } // Form label + input .form-group { width: 100%; align-items: center; + @media only screen and (max-width: $screen-sm-max) { + align-items: flex-start; + } .control-label { flex: 4; margin-bottom: 0; font-size: $font-size-default; font-weight: 500; + @media only screen and (max-width: $screen-sm-max) { + flex: 1; + margin-bottom: $spacing-small; + } } .inputwrapper { flex: 8; position: relative; width: 100%; + @media only screen and (max-width: $screen-sm-max) { + flex: 1; + } .glyphicon { &:before { - -webkit-transition: color 0.4s; - -moz-transition: color 0.4s; - -o-transition: color 0.4s; transition: color 0.4s; } position: absolute; top: 50%; left: $form-input-padding-x; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); transform: translateY(-50%); &-eye-open:hover, @@ -87,6 +108,7 @@ body { .form-control { padding: $form-input-padding-y $form-input-padding-x $form-input-padding-y 45px; + width: 100%; } .form-control:focus ~ .glyphicon:before { @@ -95,7 +117,8 @@ body { } } } -// Divider - only on login-with-sso.html + +// Divider - only on login-with-mendixsso-button.html .loginpage-alternativelabel { display: flex; align-items: center; @@ -117,6 +140,14 @@ body { color: #555555; } +.loginpage-form .btn { + img { + vertical-align: middle; + top: -1px; + position: relative; + } +} + // Show only on wide screens @media screen and (min-width: $screen-xl) { .loginpage-logo { @@ -134,36 +165,9 @@ body { .loginpage-image { height: 100%; animation: makePointer 1s ease-out both; - background: left / cover no-repeat url('../../../resources/work-do-more.jpeg'); // Microsoft EDGE background: left / cover no-repeat linear-gradient(to right, rgba($brand-primary, 0.9) 0%, rgba($brand-primary, 0.6) 100%), - left / cover no-repeat url('../../../resources/work-do-more.jpeg'); - background: left / cover no-repeat -moz-linear-gradient(left, rgba($brand-primary, 0.9) 0%, rgba( - $brand-primary, - 0.6 - ) - 100%), - left / cover no-repeat url('../../../resources/work-do-more.jpeg'); - background: left / cover no-repeat -webkit-gradient(linear, left bottom, right bottom, color-stop(0%, rgba($brand-primary, 0.9)), color-stop(100%, rgba($brand-primary, 0.6))), - left / cover no-repeat url('../../../resources/work-do-more.jpeg'); - background: left / cover no-repeat -webkit-linear-gradient(left, rgba($brand-primary, 0.9) 0%, rgba( - $brand-primary, - 0.6 - ) - 100%), - left / cover no-repeat url('../../../resources/work-do-more.jpeg'); - background: left / cover no-repeat -o-linear-gradient(left, rgba($brand-primary, 0.9) 0%, rgba( - $brand-primary, - 0.6 - ) - 100%), - left / cover no-repeat url('../../../resources/work-do-more.jpeg'); - background: left / cover no-repeat -ms-linear-gradient(left, rgba($brand-primary, 0.9) 0%, rgba( - $brand-primary, - 0.6 - ) - 100%), - left / cover no-repeat url('../../../resources/work-do-more.jpeg'); + left / cover no-repeat url("../../resources/work-do-more.jpeg"); -webkit-clip-path: polygon(0% 0%, 100% 0, 100% 50%, 100% 100%, 0% 100%); clip-path: polygon(0% 0%, 100% 0, 100% 50%, 100% 100%, 0% 100%); } diff --git a/theme/styles/web/sass/core/base/_reset.scss b/themesource/atlas_core/web/core/base/_reset.scss similarity index 100% rename from theme/styles/web/sass/core/base/_reset.scss rename to themesource/atlas_core/web/core/base/_reset.scss diff --git a/themesource/atlas_core/web/core/base/_spacing.scss b/themesource/atlas_core/web/core/base/_spacing.scss new file mode 100644 index 0000000..ab2c663 --- /dev/null +++ b/themesource/atlas_core/web/core/base/_spacing.scss @@ -0,0 +1,449 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// +/* ========================================================================== + Spacing + + Spacing classes +========================================================================== */ +$important-spacing-value: if($important-spacing, " !important", ""); + +// Spacing none +.spacing-inner-none { + padding: 0 #{$important-spacing-value}; +} + +.spacing-inner-top-none { + padding-top: 0 #{$important-spacing-value}; +} + +.spacing-inner-right-none { + padding-right: 0 #{$important-spacing-value}; +} + +.spacing-inner-bottom-none { + padding-bottom: 0 #{$important-spacing-value}; +} + +.spacing-inner-left-none { + padding-left: 0 #{$important-spacing-value}; +} + +.spacing-outer-none { + margin: 0 #{$important-spacing-value}; +} + +.spacing-outer-top-none { + margin-top: 0 #{$important-spacing-value}; +} + +.spacing-outer-right-none { + margin-right: 0 #{$important-spacing-value}; +} + +.spacing-outer-bottom-none { + margin-bottom: 0 #{$important-spacing-value}; +} + +.spacing-outer-left-none { + margin-left: 0 #{$important-spacing-value}; +} + +// Spacing small +.spacing-inner { + padding: $spacing-small #{$important-spacing-value}; +} + +.spacing-inner-top { + padding-top: $spacing-small #{$important-spacing-value}; +} + +.spacing-inner-right { + padding-right: $spacing-small #{$important-spacing-value}; +} + +.spacing-inner-bottom { + padding-bottom: $spacing-small #{$important-spacing-value}; +} + +.spacing-inner-left { + padding-left: $spacing-small #{$important-spacing-value}; +} + +.spacing-inner-vertical { + padding-top: $spacing-small #{$important-spacing-value}; + padding-bottom: $spacing-small #{$important-spacing-value}; +} + +.spacing-inner-horizontal { + padding-left: $spacing-small #{$important-spacing-value}; + padding-right: $spacing-small #{$important-spacing-value}; +} + +.spacing-outer { + margin: $spacing-small #{$important-spacing-value}; +} + +.spacing-outer-top { + margin-top: $spacing-small #{$important-spacing-value}; +} + +.spacing-outer-right { + margin-right: $spacing-small #{$important-spacing-value}; +} + +.spacing-outer-bottom { + margin-bottom: $spacing-small #{$important-spacing-value}; +} + +.spacing-outer-left { + margin-left: $spacing-small #{$important-spacing-value}; +} + +.spacing-outer-vertical { + margin-top: $spacing-small #{$important-spacing-value}; + margin-bottom: $spacing-small #{$important-spacing-value}; +} + +.spacing-outer-horizontal { + margin-left: $spacing-small #{$important-spacing-value}; + margin-right: $spacing-small #{$important-spacing-value}; +} + +// Spacing Medium +.spacing-inner-medium { + @include get-responsive-spacing-medium($type: padding, $direction: all, $is_important: #{$important-spacing-value}); +} + +.spacing-inner-top-medium { + @include get-responsive-spacing-medium($type: padding, $direction: top, $is_important: #{$important-spacing-value}); +} + +.spacing-inner-right-medium { + @include get-responsive-spacing-medium( + $type: padding, + $direction: right, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-bottom-medium { + @include get-responsive-spacing-medium( + $type: padding, + $direction: bottom, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-left-medium { + @include get-responsive-spacing-medium( + $type: padding, + $direction: left, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-vertical-medium { + @include get-responsive-spacing-medium($type: padding, $direction: top, $is_important: #{$important-spacing-value}); + @include get-responsive-spacing-medium( + $type: padding, + $direction: bottom, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-horizontal-medium { + @include get-responsive-spacing-medium( + $type: padding, + $direction: left, + $is_important: #{$important-spacing-value} + ); + @include get-responsive-spacing-medium( + $type: padding, + $direction: right, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-medium { + @include get-responsive-spacing-medium($type: margin, $direction: all, $is_important: #{$important-spacing-value}); +} + +.spacing-outer-top-medium { + @include get-responsive-spacing-medium($type: margin, $direction: top, $is_important: #{$important-spacing-value}); +} + +.spacing-outer-right-medium { + @include get-responsive-spacing-medium( + $type: margin, + $direction: right, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-bottom-medium { + @include get-responsive-spacing-medium( + $type: margin, + $direction: bottom, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-left-medium { + @include get-responsive-spacing-medium($type: margin, $direction: left, $is_important: #{$important-spacing-value}); +} + +.spacing-outer-vertical-medium { + @include get-responsive-spacing-medium($type: margin, $direction: top, $is_important: #{$important-spacing-value}); + @include get-responsive-spacing-medium( + $type: margin, + $direction: bottom, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-horizontal-medium { + @include get-responsive-spacing-medium($type: margin, $direction: left, $is_important: #{$important-spacing-value}); + @include get-responsive-spacing-medium( + $type: margin, + $direction: right, + $is_important: #{$important-spacing-value} + ); +} + +// Spacing Large +.spacing-inner-large { + @include get-responsive-spacing-large($type: padding, $direction: all, $is_important: #{$important-spacing-value}); +} + +.spacing-inner-top-large { + @include get-responsive-spacing-large($type: padding, $direction: top, $is_important: #{$important-spacing-value}); +} + +.spacing-inner-right-large { + @include get-responsive-spacing-large( + $type: padding, + $direction: right, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-bottom-large { + @include get-responsive-spacing-large( + $type: padding, + $direction: bottom, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-left-large { + @include get-responsive-spacing-large($type: padding, $direction: left, $is_important: #{$important-spacing-value}); +} + +.spacing-inner-vertical-large { + @include get-responsive-spacing-large($type: padding, $direction: top, $is_important: #{$important-spacing-value}); + @include get-responsive-spacing-large( + $type: padding, + $direction: bottom, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-horizontal-large { + @include get-responsive-spacing-large($type: padding, $direction: left, $is_important: #{$important-spacing-value}); + @include get-responsive-spacing-large( + $type: padding, + $direction: right, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-large { + @include get-responsive-spacing-large($type: margin, $direction: all, $is_important: #{$important-spacing-value}); +} + +.spacing-outer-top-large { + @include get-responsive-spacing-large($type: margin, $direction: top, $is_important: #{$important-spacing-value}); +} + +.spacing-outer-right-large { + @include get-responsive-spacing-large($type: margin, $direction: right, $is_important: #{$important-spacing-value}); +} + +.spacing-outer-bottom-large { + @include get-responsive-spacing-large( + $type: margin, + $direction: bottom, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-left-large { + @include get-responsive-spacing-large($type: margin, $direction: left, $is_important: #{$important-spacing-value}); +} + +.spacing-outer-vertical-large { + @include get-responsive-spacing-large($type: margin, $direction: top, $is_important: #{$important-spacing-value}); + @include get-responsive-spacing-large( + $type: margin, + $direction: bottom, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-horizontal-large { + @include get-responsive-spacing-large($type: margin, $direction: left, $is_important: #{$important-spacing-value}); + @include get-responsive-spacing-large($type: margin, $direction: right, $is_important: #{$important-spacing-value}); +} + +// Spacing layouts +.spacing-inner-layout { + @include layout-spacing( + $type: padding, + $direction: all, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-top-layout { + @include layout-spacing( + $type: padding, + $direction: top, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-right-layout { + @include layout-spacing( + $type: padding, + $direction: right, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-bottom-layout { + @include layout-spacing( + $type: padding, + $direction: bottom, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-left-layout { + @include layout-spacing( + $type: padding, + $direction: left, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-inner-vertical-layout { + @include layout-spacing( + $type: padding, + $direction: top, + $device: responsive, + $is_important: #{$important-spacing-value} + ); + @include layout-spacing( + $type: padding, + $direction: bottom, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} +.spacing-inner-horizontal-layout { + @include layout-spacing( + $type: padding, + $direction: left, + $device: responsive, + $is_important: #{$important-spacing-value} + ); + @include layout-spacing( + $type: padding, + $direction: right, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-layout { + @include layout-spacing( + $type: margin, + $direction: all, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-top-layout { + @include layout-spacing( + $type: margin, + $direction: top, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-right-layout { + @include layout-spacing( + $type: margin, + $direction: right, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-bottom-layout { + @include layout-spacing( + $type: margin, + $direction: bottom, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-left-layout { + @include layout-spacing( + $type: margin, + $direction: left, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} + +.spacing-outer-vertical-layout { + @include layout-spacing( + $type: margin, + $direction: top, + $device: responsive, + $is_important: #{$important-spacing-value} + ); + @include layout-spacing( + $type: margin, + $direction: bottom, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} +.spacing-outer-horizontal-layout { + @include layout-spacing( + $type: margin, + $direction: left, + $device: responsive, + $is_important: #{$important-spacing-value} + ); + @include layout-spacing( + $type: margin, + $direction: right, + $device: responsive, + $is_important: #{$important-spacing-value} + ); +} diff --git a/theme/styles/web/sass/core/base/mixins/_animations.scss b/themesource/atlas_core/web/core/base/mixins/_animations.scss similarity index 72% rename from theme/styles/web/sass/core/base/mixins/_animations.scss rename to themesource/atlas_core/web/core/base/mixins/_animations.scss index 93bca3b..9a117e4 100644 --- a/theme/styles/web/sass/core/base/mixins/_animations.scss +++ b/themesource/atlas_core/web/core/base/mixins/_animations.scss @@ -12,9 +12,6 @@ $property: all, $timing-fucntion: cubic-bezier(0.4, 0, 0.2, 1) ) { - -webkit-transition: $property $duration $delay $timing-fucntion; - -moz-transition: $property $duration $delay $timing-fucntion; - -o-transition: $property $duration $delay $timing-fucntion; transition: $property $duration $delay $timing-fucntion; transform-style: $style; } @@ -25,7 +22,7 @@ transform: translate3d(0, 0, 0); &:after { - content: ''; + content: ""; display: block; position: absolute; width: 100%; @@ -36,17 +33,12 @@ background-image: radial-gradient(circle, $color $transparency, transparent $transparency); background-repeat: no-repeat; background-position: 50%; - -webkit-transform: scale($scale, $scale); transform: scale($scale, $scale); opacity: 0; - -webkit-transition: transform 0.5s, opacity 1s; - -moz-transition: transform 0.5s, opacity 1s; - -o-transition: transform 0.5s, opacity 1s; transition: transform 0.5s, opacity 1s; } &:active:after { - -webkit-transform: scale(0, 0); transform: scale(0, 0); opacity: 0.1; transition: 0s; diff --git a/theme/styles/web/sass/core/base/mixins/_buttons.scss b/themesource/atlas_core/web/core/base/mixins/_buttons.scss similarity index 100% rename from theme/styles/web/sass/core/base/mixins/_buttons.scss rename to themesource/atlas_core/web/core/base/mixins/_buttons.scss diff --git a/theme/styles/web/sass/core/base/mixins/_groupbox.scss b/themesource/atlas_core/web/core/base/mixins/_groupbox.scss similarity index 100% rename from theme/styles/web/sass/core/base/mixins/_groupbox.scss rename to themesource/atlas_core/web/core/base/mixins/_groupbox.scss diff --git a/theme/styles/web/sass/core/base/mixins/_layout-spacing.scss b/themesource/atlas_core/web/core/base/mixins/_layout-spacing.scss similarity index 98% rename from theme/styles/web/sass/core/base/mixins/_layout-spacing.scss rename to themesource/atlas_core/web/core/base/mixins/_layout-spacing.scss index 76aa983..70722f1 100644 --- a/theme/styles/web/sass/core/base/mixins/_layout-spacing.scss +++ b/themesource/atlas_core/web/core/base/mixins/_layout-spacing.scss @@ -6,9 +6,9 @@ // @mixin layout-spacing($type: padding, $direction: all, $device: responsive, $is_important: false) { - $suffix: ''; + $suffix: ""; @if $is_important != false { - $suffix: ' !important'; + $suffix: " !important"; } @if $device==responsive { @if $direction==all { diff --git a/theme/styles/web/sass/core/base/mixins/_spacing.scss b/themesource/atlas_core/web/core/base/mixins/_spacing.scss similarity index 90% rename from theme/styles/web/sass/core/base/mixins/_spacing.scss rename to themesource/atlas_core/web/core/base/mixins/_spacing.scss index db1d055..ee365fa 100644 --- a/theme/styles/web/sass/core/base/mixins/_spacing.scss +++ b/themesource/atlas_core/web/core/base/mixins/_spacing.scss @@ -6,11 +6,11 @@ // @mixin get-responsive-spacing-large($type: padding, $direction: all, $is_important: false) { - $suffix: ''; - $dash: '-'; // Otherwise it will be interpreted as a minus symbol. Needed for the Gonzales PE version: 3.4.7 compiler (used by the Webmodeler) + $suffix: ""; + $dash: "-"; // Otherwise it will be interpreted as a minus symbol. Needed for the Gonzales PE version: 3.4.7 compiler (used by the Webmodeler) @if $is_important != false { - $suffix: ' !important'; + $suffix: " !important"; } @if $direction==all { @media (max-width: $screen-sm-max) { @@ -36,11 +36,11 @@ } @mixin get-responsive-spacing-medium($type: padding, $direction: all, $is_important: false) { - $suffix: ''; - $dash: '-'; // Otherwise it will be interpreted as a minus symbol. Needed for the Gonzales PE version: 3.4.7 compiler (used by the Webmodeler) + $suffix: ""; + $dash: "-"; // Otherwise it will be interpreted as a minus symbol. Needed for the Gonzales PE version: 3.4.7 compiler (used by the Webmodeler) @if $is_important != false { - $suffix: ' !important'; + $suffix: " !important"; } @if $direction==all { @media (max-width: $screen-sm-max) { diff --git a/themesource/atlas_core/web/core/helpers/_background.scss b/themesource/atlas_core/web/core/helpers/_background.scss new file mode 100644 index 0000000..9f75784 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_background.scss @@ -0,0 +1,188 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin background-helpers() { + /* ========================================================================== + Background + + Different background components, all managed by variables + ========================================================================== */ + + .background-main { + background-color: $bg-color !important; + } + + //Brand variations + + .background-primary { + background-color: $brand-primary !important; + } + + .background-primary-darker { + background-color: $color-primary-darker !important; + } + + .background-primary.background-dark, + .background-primary-dark { + background-color: $color-primary-dark !important; + } + + .background-primary.background-light, + .background-primary-light { + background-color: $color-primary-light !important; + } + + .background-primary-lighter { + background-color: $color-primary-lighter !important; + } + + .background-secondary { + background-color: $bg-color-secondary !important; + } + + .background-secondary.background-light { + background-color: $bg-color-secondary !important; + } + + .background-secondary.background-dark { + background-color: $bg-color-secondary !important; + } + + .background-brand-gradient { + background-image: $brand-gradient !important; + } + + //Semantic variations + + .background-success { + background-color: $brand-success !important; + } + + .background-success-darker { + background-color: $color-success-darker !important; + } + + .background-success.background-dark, + .background-success-dark { + background-color: $color-success-dark !important; + } + + .background-success.background-light, + .background-success-light { + background-color: $color-success-light !important; + } + + .background-success-lighter { + background-color: $color-success-lighter !important; + } + + .background-warning { + background-color: $brand-warning !important; + } + + .background-warning-darker { + background-color: $color-warning-darker !important; + } + + .background-warning.background-dark, + .background-warning-dark { + background-color: $color-warning-dark !important; + } + + .background-warning.background-light, + .background-warning-light { + background-color: $color-warning-light !important; + } + + .background-warning-lighter { + background-color: $color-warning-lighter !important; + } + + .background-danger { + background-color: $brand-danger !important; + } + + .background-danger-darker { + background-color: $color-danger-darker !important; + } + + .background-danger.background-dark, + .background-danger-dark { + background-color: $color-danger-dark !important; + } + + .background-danger.background-light, + .background-danger-light { + background-color: $color-danger-light !important; + } + + .background-danger-lighter { + background-color: $color-danger-lighter !important; + } + + //Bootstrap variations + + .background-default { + background-color: $brand-default !important; + } + + .background-default-darker { + background-color: $color-default-darker !important; + } + + .background-default-dark { + background-color: $color-default-dark !important; + } + + .background-default-light { + background-color: $color-default-light !important; + } + + .background-default-lighter { + background-color: $color-default-lighter !important; + } + + .background-inverse { + background-color: $brand-inverse !important; + } + + .background-inverse-darker { + background-color: $color-inverse-darker !important; + } + + .background-inverse-dark { + background-color: $color-inverse-dark !important; + } + + .background-inverse-light { + background-color: $color-inverse-light !important; + } + + .background-inverse-lighter { + background-color: $color-inverse-lighter !important; + } + + .background-info { + background-color: $brand-info !important; + } + + .background-info-darker { + background-color: $color-info-darker !important; + } + + .background-info-dark { + background-color: $color-info-dark !important; + } + + .background-info-light { + background-color: $color-info-light !important; + } + + .background-info-lighter { + background-color: $color-info-lighter !important; + } +} diff --git a/themesource/atlas_core/web/core/helpers/_badge-button.scss b/themesource/atlas_core/web/core/helpers/_badge-button.scss new file mode 100644 index 0000000..f08728d --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_badge-button.scss @@ -0,0 +1,103 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin badge-button-helpers() { + /* ========================================================================== + Badge button + + Different background components, all managed by variables + ========================================================================== */ + + //Badge button color variation + .btn-secondary, + .btn-default { + .badge { + color: $btn-default-bg; + background-color: $btn-primary-bg; + } + } + + .btn-success { + .badge { + color: $btn-success-bg; + } + } + + .btn-warning { + .badge { + color: $btn-warning-bg; + } + } + + .btn-danger { + .badge { + color: $btn-danger-bg; + } + } + + //Badge button bordered variation + + .btn-bordered.btn-primary { + .badge { + background: $btn-primary-bg; + color: $btn-primary-color; + } + + &:hover, + &:focus { + .badge { + background-color: $btn-primary-color; + color: $btn-primary-bg; + } + } + } + + .btn-bordered.btn-success { + .badge { + background: $btn-success-bg; + color: $btn-success-color; + } + + &:hover, + &:focus { + .badge { + background-color: $btn-success-color; + color: $btn-success-bg; + } + } + } + + .btn-bordered.btn-warning { + .badge { + background: $btn-warning-bg; + color: $btn-warning-color; + } + + &:hover, + &:focus { + .badge { + background-color: $btn-warning-color; + color: $btn-warning-bg; + } + } + } + + .btn-bordered.btn-danger { + .badge { + background: $btn-danger-bg; + color: $btn-danger-color; + } + + &:hover, + &:focus { + .badge { + background-color: $btn-danger-color; + color: $btn-danger-bg; + } + } + } +} diff --git a/themesource/atlas_core/web/core/helpers/_button.scss b/themesource/atlas_core/web/core/helpers/_button.scss new file mode 100644 index 0000000..d740a05 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_button.scss @@ -0,0 +1,126 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin button-helpers() { + /* ========================================================================== + Button + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + // Color variations + .btn, + .btn-default { + @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border-color, $btn-default-bg-hover); + } + + .btn-primary { + @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border-color, $btn-primary-bg-hover); + } + + .btn-inverse { + @include button-variant($btn-inverse-color, $btn-inverse-bg, $btn-inverse-border-color, $btn-inverse-bg-hover); + } + + .btn-success { + @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border-color, $btn-success-bg-hover); + } + + .btn-info { + @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border-color, $btn-info-bg-hover); + } + + .btn-warning { + @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border-color, $btn-warning-bg-hover); + } + + .btn-danger { + @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border-color, $btn-danger-bg-hover); + } + + // Button Sizes + .btn-lg { + font-size: $font-size-large; + + img { + height: calc(#{$font-size-small} + 4px); + } + } + + .btn-sm { + font-size: $font-size-small; + + img { + height: calc(#{$font-size-small} + 4px); + } + } + + // Button Image + .btn-image { + padding: 0; + vertical-align: middle; + border-style: none; + background-color: transparent; + + img { + display: block; // or else the button doesn't get a width + height: auto; // Image set height + } + + &:hover, + &:focus { + background-color: transparent; + } + } + + // Icon buttons + .btn-icon { + & > img, + & > .glyphicon { + margin: 0; + } + } + + .btn-icon-right { + display: inline-flex; + flex-direction: row-reverse; + align-items: center; + + & > img, + & > .glyphicon { + top: 0; + margin-left: 4px; + } + } + + .btn-icon-top { + padding-right: 0; + padding-left: 0; + + & > img, + & > .glyphicon { + display: block; + margin: 0 0 4px 0; + } + } + + .btn-icon-only { + @extend .btn-icon; + padding: 0; + color: $btn-default-icon-color; + border: none; + } + + .btn-block { + display: block; + width: 100%; + } + + .btn-block + .btn-block { + margin-top: 4px; + } +} diff --git a/themesource/atlas_core/web/core/helpers/_data-grid.scss b/themesource/atlas_core/web/core/helpers/_data-grid.scss new file mode 100644 index 0000000..f81e316 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_data-grid.scss @@ -0,0 +1,164 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin data-grid-helpers() { + /* ========================================================================== + Data grid default + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + // Striped style + .datagrid-striped.mx-datagrid { + table { + th { + border-width: 0; + } + + tbody tr { + td { + border-top-width: 0; + } + + &:nth-child(odd) td { + background-color: $grid-bg-striped; + } + } + } + } + + // Bordered style + .datagrid-bordered.mx-datagrid { + table { + border: 1px solid; + + th { + border: 1px solid $grid-border-color; + } + + tbody tr { + td { + border: 1px solid $grid-border-color; + } + } + } + + tfoot { + > tr > th { + border-width: 0; + background-color: $grid-footer-bg; + } + + > tr > td { + border-width: 1px; + } + } + } + + // Transparent style so you can see the background + .datagrid-transparent.mx-datagrid { + table { + background-color: transparent; + + tbody tr { + &:nth-of-type(odd) { + background-color: transparent; + } + + td { + background-color: transparent; + } + } + } + } + + // Hover style activated + .datagrid-hover.mx-datagrid { + table { + tbody tr { + &:hover td { + background-color: $grid-bg-hover !important; + } + + &.selected:hover td { + background-color: $grid-bg-selected-hover !important; + } + } + } + } + + // Datagrid Row Sizes + .datagrid-lg.mx-datagrid { + table { + th { + padding: ($grid-padding-top * 2) ($grid-padding-right * 2) ($grid-padding-bottom * 2) + ($grid-padding-left * 2); + } + + tbody tr { + td { + padding: ($grid-padding-top * 2) ($grid-padding-right * 2) ($grid-padding-bottom * 2) + ($grid-padding-left * 2); + } + } + } + } + + .datagrid-sm.mx-datagrid { + table { + th { + padding: ($grid-padding-top / 2) ($grid-padding-right / 2) ($grid-padding-bottom / 2) + ($grid-padding-left / 2); + } + + tbody tr { + td { + padding: ($grid-padding-top / 2) ($grid-padding-right / 2) ($grid-padding-bottom / 2) + ($grid-padding-left/ 2); + } + } + } + } + + // Datagrid Full Search + // Default Mendix Datagrid Widget with adjusted search field. Only 1 search field is allowed + .datagrid-fullsearch.mx-grid { + .mx-grid-search-button { + @extend .btn-primary; + } + + .mx-grid-reset-button { + display: none; + } + + .mx-grid-search-item { + display: block; + } + + .mx-grid-search-label { + display: none; + } + + .mx-grid-searchbar { + .mx-grid-search-controls { + position: absolute; + right: 0; + } + + .mx-grid-search-input { + width: 80%; + padding-left: 0; + + .btn, + .form-control { + height: 35px; + font-size: 12px; + } + } + } + } +} diff --git a/themesource/atlas_core/web/core/helpers/_group-box.scss b/themesource/atlas_core/web/core/helpers/_group-box.scss new file mode 100644 index 0000000..76bfbdf --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_group-box.scss @@ -0,0 +1,161 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin group-box-helpers() { + /* ========================================================================== + Group box + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + // Color variations + .groupbox-secondary, + .groupbox-default { + @include groupbox-variant($groupbox-default-color, $groupbox-default-bg); + } + + .groupbox-primary { + @include groupbox-variant($groupbox-primary-color, $groupbox-primary-bg); + } + + // Success appears as green + .groupbox-success { + @include groupbox-variant($groupbox-success-color, $groupbox-success-bg); + } + + // Warning appears as orange + .groupbox-warning { + @include groupbox-variant($groupbox-warning-color, $groupbox-warning-bg); + } + + // Danger and error appear as red + .groupbox-danger { + @include groupbox-variant($groupbox-danger-color, $groupbox-danger-bg); + } + + .groupbox-transparent { + > .mx-groupbox-header { + padding: $spacing-small * 1.5 0; + color: $gray-darker; + border-style: none; + background: transparent; + font-weight: $font-weight-semibold; + } + + .mx-groupbox-body { + padding: $spacing-small 0; + border-radius: 0; + border: 0; + border-bottom: 1px solid $groupbox-default-bg; + background-color: transparent; + } + + .mx-groupbox-collapse-icon { + color: $brand-primary; + } + } + + // Header options + .groupbox-h1 > .mx-groupbox-header { + font-size: $font-size-h1; + } + + .groupbox-h2 > .mx-groupbox-header { + font-size: $font-size-h2; + } + + .groupbox-h3 > .mx-groupbox-header { + font-size: $font-size-h3; + } + + .groupbox-h4 > .mx-groupbox-header { + font-size: $font-size-h4; + } + + .groupbox-h5 > .mx-groupbox-header { + font-size: $font-size-h5; + } + + .groupbox-h6 > .mx-groupbox-header { + font-size: $font-size-h6; + } + + // Callout Look and Feel + .groupbox-callout { + > .mx-groupbox-header, + > .mx-groupbox-body { + border: 0; + background-color: $callout-primary-bg; + } + + > .mx-groupbox-header { + color: $callout-primary-color; + } + + .mx-groupbox-header + .mx-groupbox-body { + padding-top: 0; + } + } + + .groupbox-success.groupbox-callout { + > .mx-groupbox-header, + > .mx-groupbox-body { + background-color: $callout-success-bg; + } + + > .mx-groupbox-header { + color: $callout-success-color; + } + } + + .groupbox-warning.groupbox-callout { + > .mx-groupbox-header, + > .mx-groupbox-body { + background-color: $callout-warning-bg; + } + + > .mx-groupbox-header { + color: $callout-warning-color; + } + } + + .groupbox-danger.groupbox-callout { + > .mx-groupbox-header, + > .mx-groupbox-body { + background-color: $callout-danger-bg; + } + + > .mx-groupbox-header { + color: $callout-danger-color; + } + } + + //Bootstrap variations + + .groupbox-info { + @include groupbox-variant($groupbox-info-color, $groupbox-info-bg); + } + + .groupbox-inverse { + @include groupbox-variant($groupbox-inverse-color, $groupbox-inverse-bg); + } + + .groupbox-white { + @include groupbox-variant($groupbox-white-color, $groupbox-white-bg); + } + + .groupbox-info.groupbox-callout { + > .mx-groupbox-header, + > .mx-groupbox-body { + background-color: $callout-info-bg; + } + + > .mx-groupbox-header { + color: $callout-info-color; + } + } +} diff --git a/themesource/atlas_core/web/core/helpers/_helper-classes.scss b/themesource/atlas_core/web/core/helpers/_helper-classes.scss new file mode 100644 index 0000000..28b73e1 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_helper-classes.scss @@ -0,0 +1,414 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin helper-classes() { + /* ========================================================================== + Helper + + Default Mendix helpers + ========================================================================== */ + $important-helpers-value: if($important-helpers, " !important", ""); + + // Display properties + .d-none { + display: none #{$important-helpers-value}; + } + + .d-flex { + display: flex #{$important-helpers-value}; + } + + .d-inline-flex { + display: inline-flex #{$important-helpers-value}; + } + + .d-inline { + display: inline #{$important-helpers-value}; + } + + .d-inline-block { + display: inline-block #{$important-helpers-value}; + } + + .show, + .d-block { + display: block #{$important-helpers-value}; + } + + .table, + .d-table { + display: table #{$important-helpers-value}; + } + + .table-row, + .d-table-row { + display: table-row #{$important-helpers-value}; + } + + .table-cell, + .d-table-cell { + display: table-cell #{$important-helpers-value}; + } + + .hide, + .hidden { + display: none #{$important-helpers-value}; + visibility: hidden #{$important-helpers-value}; + } + + .invisible { + visibility: hidden #{$important-helpers-value}; + } + + .display-ie8-only:not([attr*=""]) { + display: none #{$important-helpers-value}; + padding: 0 #{$important-helpers-value}; + } + + .list-nostyle { + ul { + margin: 0 #{$important-helpers-value}; + padding: 0 #{$important-helpers-value}; + + li { + list-style-type: none #{$important-helpers-value}; + } + } + } + + .nowrap, + .nowrap * { + overflow: hidden #{$important-helpers-value}; + // Star for inside an element, IE8 span > a + white-space: nowrap #{$important-helpers-value}; + text-overflow: ellipsis #{$important-helpers-value}; + } + + // Render DIV as Table Cells + .table { + display: table #{$important-helpers-value}; + } + + .table-row { + display: table-row #{$important-helpers-value}; + } + + .table-cell { + display: table-cell #{$important-helpers-value}; + } + + // Quick floats + .pull-left { + float: left #{$important-helpers-value}; + } + + .pull-right { + float: right #{$important-helpers-value}; + } + + // Align options + .align-top { + vertical-align: top #{$important-helpers-value}; + } + + .align-middle { + vertical-align: middle #{$important-helpers-value}; + } + + .align-bottom { + vertical-align: bottom #{$important-helpers-value}; + } + + // Flex alignments + .row-left { + display: flex #{$important-helpers-value}; + align-items: center #{$important-helpers-value}; + flex-flow: row #{$important-helpers-value}; + justify-content: flex-start #{$important-helpers-value}; + } + + .row-center { + display: flex #{$important-helpers-value}; + align-items: center #{$important-helpers-value}; + flex-flow: row #{$important-helpers-value}; + justify-content: center #{$important-helpers-value}; + } + + .row-right { + display: flex #{$important-helpers-value}; + align-items: center #{$important-helpers-value}; + flex-flow: row #{$important-helpers-value}; + justify-content: flex-end #{$important-helpers-value}; + } + + .col-left { + display: flex #{$important-helpers-value}; + align-items: flex-start #{$important-helpers-value}; + flex-direction: column #{$important-helpers-value}; + justify-content: center #{$important-helpers-value}; + } + + .col-center { + display: flex #{$important-helpers-value}; + align-items: center #{$important-helpers-value}; + flex-direction: column #{$important-helpers-value}; + justify-content: center #{$important-helpers-value}; + } + + .col-right { + display: flex #{$important-helpers-value}; + align-items: flex-end #{$important-helpers-value}; + flex-direction: column #{$important-helpers-value}; + justify-content: center #{$important-helpers-value}; + } + + // Media + @media (max-width: $screen-sm-max) { + .hide-phone { + display: none #{$important-helpers-value}; + } + } + + @media (min-width: $screen-md) and (max-width: $screen-md-max) { + .hide-tablet { + display: none #{$important-helpers-value}; + } + } + + @media (min-width: $screen-lg) { + .hide-desktop { + display: none #{$important-helpers-value}; + } + } + + @media (max-width: $screen-xs-max) { + .hide-xs, + .hidden-xs, + .d-xs-none { + display: none #{$important-helpers-value}; + } + .d-xs-flex { + display: flex #{$important-helpers-value}; + } + .d-xs-inline-flex { + display: inline-flex #{$important-helpers-value}; + } + .d-xs-inline { + display: inline #{$important-helpers-value}; + } + .d-xs-inline-block { + display: inline-block #{$important-helpers-value}; + } + .d-xs-block { + display: block #{$important-helpers-value}; + } + .d-xs-table { + display: table #{$important-helpers-value}; + } + .d-xs-table-row { + display: table-row #{$important-helpers-value}; + } + .d-xs-table-cell { + display: table-cell #{$important-helpers-value}; + } + } + + @media (min-width: $screen-sm) and (max-width: $screen-sm-max) { + .hide-sm, + .hidden-sm, + .d-sm-none { + display: none #{$important-helpers-value}; + } + .d-sm-flex { + display: flex #{$important-helpers-value}; + } + .d-sm-inline-flex { + display: inline-flex #{$important-helpers-value}; + } + .d-sm-inline { + display: inline #{$important-helpers-value}; + } + .d-sm-inline-block { + display: inline-block #{$important-helpers-value}; + } + .d-sm-block { + display: block #{$important-helpers-value}; + } + .d-sm-table { + display: table #{$important-helpers-value}; + } + .d-sm-table-row { + display: table-row #{$important-helpers-value}; + } + .d-sm-table-cell { + display: table-cell #{$important-helpers-value}; + } + } + + @media (min-width: $screen-md) and (max-width: $screen-md-max) { + .hide-md, + .hidden-md, + .d-md-none { + display: none #{$important-helpers-value}; + } + .d-md-flex { + display: flex #{$important-helpers-value}; + } + .d-md-inline-flex { + display: inline-flex #{$important-helpers-value}; + } + .d-md-inline { + display: inline #{$important-helpers-value}; + } + .d-md-inline-block { + display: inline-block #{$important-helpers-value}; + } + .d-md-block { + display: block #{$important-helpers-value}; + } + .d-md-table { + display: table #{$important-helpers-value}; + } + .d-md-table-row { + display: table-row #{$important-helpers-value}; + } + .d-md-table-cell { + display: table-cell #{$important-helpers-value}; + } + } + + @media (min-width: $screen-lg) and (max-width: $screen-xl) { + .hide-lg, + .hidden-lg, + .d-lg-none { + display: none #{$important-helpers-value}; + } + .d-lg-flex { + display: flex #{$important-helpers-value}; + } + .d-lg-inline-flex { + display: inline-flex #{$important-helpers-value}; + } + .d-lg-inline { + display: inline #{$important-helpers-value}; + } + .d-lg-inline-block { + display: inline-block #{$important-helpers-value}; + } + .d-lg-block { + display: block #{$important-helpers-value}; + } + .d-lg-table { + display: table #{$important-helpers-value}; + } + .d-lg-table-row { + display: table-row #{$important-helpers-value}; + } + .d-lg-table-cell { + display: table-cell #{$important-helpers-value}; + } + } + + @media (min-width: $screen-xl) { + .hide-xl, + .hidden-xl, + .d-xl-none { + display: none #{$important-helpers-value}; + } + .d-xl-flex { + display: flex #{$important-helpers-value}; + } + .d-xl-inline-flex { + display: inline-flex #{$important-helpers-value}; + } + .d-xl-inline { + display: inline #{$important-helpers-value}; + } + .d-xl-inline-block { + display: inline-block #{$important-helpers-value}; + } + .d-xl-block { + display: block #{$important-helpers-value}; + } + .d-xl-table { + display: table #{$important-helpers-value}; + } + .d-xl-table-row { + display: table-row #{$important-helpers-value}; + } + .d-xl-table-cell { + display: table-cell #{$important-helpers-value}; + } + } + + //Box-shadow + + .shadow { + box-shadow: 0 2px 20px 1px rgba(5, 15, 129, 0.05) #{$important-helpers-value}; + } + + //Height helpers + + .h-25 { + height: 25% #{$important-helpers-value}; + } + + .h-50 { + height: 50% #{$important-helpers-value}; + } + + .h-75 { + height: 75% #{$important-helpers-value}; + } + + .h-100 { + height: 100% #{$important-helpers-value}; + } + + //Width helpers + + .w-25 { + width: 25% #{$important-helpers-value}; + } + + .w-50 { + width: 50% #{$important-helpers-value}; + } + + .w-75 { + width: 75% #{$important-helpers-value}; + } + + .w-100 { + width: 100% #{$important-helpers-value}; + } + + //Border helpers + .border { + border: 1px solid $border-color-default #{$important-helpers-value}; + } + + .border-top { + border-top: 1px solid $border-color-default #{$important-helpers-value}; + } + + .border-bottom { + border-bottom: 1px solid $border-color-default #{$important-helpers-value}; + } + + .border-left { + border-left: 1px solid $border-color-default #{$important-helpers-value}; + } + + .border-right { + border-right: 1px solid $border-color-default #{$important-helpers-value}; + } + + .border-rounded { + border-radius: $border-radius-default #{$important-helpers-value}; + } +} diff --git a/themesource/atlas_core/web/core/helpers/_image.scss b/themesource/atlas_core/web/core/helpers/_image.scss new file mode 100644 index 0000000..cc2bbc1 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_image.scss @@ -0,0 +1,78 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin image-helpers() { + /* ========================================================================== + Image + + Default Mendix image widgets + ========================================================================== */ + + img.img-rounded, + .img-rounded img { + border-radius: 6px; + } + + img.img-thumbnail, + .img-thumbnail img { + display: inline-block; + max-width: 100%; + height: auto; + padding: 4px; + transition: all 0.2s ease-in-out; + border: 1px solid $brand-default; + border-radius: 4px; + background-color: #ffffff; + line-height: $line-height-base; + } + + img.img-circle, + .img-circle img { + border-radius: 50%; + } + + img.img-auto, + .img-auto img { + width: auto !important; + max-width: 100% !important; + height: auto !important; + max-height: 100% !important; + } + + img.img-center, + .img-center img { + margin-right: auto !important; + margin-left: auto !important; + } + + img.img-icon { + width: 20px; + height: 20px; + padding: 2px; + border-radius: 50%; + } + + img.img-fill, + .img-fill img { + object-fit: fill; + } + + img.img-contain, + .img-contain img { + object-fit: contain; + } + + img.img-cover, + .img-cover img { + object-fit: cover; + } + + img.img-scale-down, + .img-scale-down img { + object-fit: scale-down; + } +} diff --git a/themesource/atlas_core/web/core/helpers/_label.scss b/themesource/atlas_core/web/core/helpers/_label.scss new file mode 100644 index 0000000..02663f0 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_label.scss @@ -0,0 +1,52 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin label-helpers() { + /* ========================================================================== + Label + + //== Design Properties + //## Helper classes to change the look and feel of the component including + badge widget + ========================================================================== */ + // Color variations + .label-secondary, + .label-default { + color: $label-default-color; + background-color: $label-default-bg; + } + + .label-primary { + color: $label-primary-color; + background-color: $label-primary-bg; + } + + .label-success { + color: $label-success-color; + background-color: $label-success-bg; + } + + .label-inverse { + color: $label-inverse-color; + background-color: $label-inverse-bg; + } + + .label-info { + color: $label-info-color; + background-color: $label-info-bg; + } + + .label-warning { + color: $label-warning-color; + background-color: $label-warning-bg; + } + + .label-danger { + color: $label-danger-color; + background-color: $label-danger-bg; + } +} diff --git a/themesource/atlas_core/web/core/helpers/_list-view.scss b/themesource/atlas_core/web/core/helpers/_list-view.scss new file mode 100644 index 0000000..9918f42 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_list-view.scss @@ -0,0 +1,320 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin list-view-helpers() { + /* ========================================================================== + List view + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + + // List items lined + .listview-lined.mx-listview { + & > ul > li { + border-top: 1px solid $grid-border-color; + + &:first-child { + border-top: 1px solid $grid-border-color; + } + + &:last-child { + border-bottom: 1px solid $grid-border-color; + } + } + } + + //List items Bordered + .listview-bordered.mx-listview { + & > ul > li { + border: 1px solid $grid-border-color; + border-top: 0; + + &:first-child { + border-top: 1px solid $grid-border-color; + } + + &:last-child { + } + } + } + + // List items striped + .listview-striped.mx-listview { + & > ul > li:nth-child(2n + 1) { + background-color: $grid-bg-striped; + } + } + + // Items as seperated blocks + .listview-seperated.mx-listview { + & > ul > li { + margin-bottom: $spacing-medium; + border: 1px solid $grid-border-color; + border-radius: $border-radius-default; + } + } + + // Remove all styling - deprecated + .listview-stylingless.mx-listview { + & > ul > li { + padding: unset; + cursor: default; + border: unset; + background-color: transparent; + + &:hover, + &:focus, + &:active { + background-color: transparent; + } + + &.selected { + background-color: transparent !important; + + &:hover, + &:focus, + &:active { + background-color: transparent !important; + } + } + } + } + + // Hover style activated + .listview-hover.mx-listview { + & > ul > li { + cursor: pointer; + + &:hover, + &:focus, + &:active { + background-color: $grid-bg-hover; + } + + &.selected { + &:hover, + &:focus, + &:active { + background-color: $grid-bg-selected-hover; + } + } + } + } + + // Row Sizes + + .listview-sm.mx-listview { + & > ul > li { + padding: $spacing-small; + } + } + + .listview-lg.mx-listview { + & > ul > li { + padding: $spacing-large; + } + } + + // Bootstrap columns + .mx-listview[class*="lv-col"] { + overflow: hidden; // For if it is not in a layout, to prevent scrollbars + & > ul { + display: flex; // normal a table + flex-wrap: wrap; + margin-right: -1 * $gutter-size; + margin-left: -1 * $gutter-size; + + &::before, + &::after { + // clearfix + display: table; + clear: both; + content: " "; + } + + & > li { + // bootstrap col + position: relative; + min-height: 1px; + padding-right: $gutter-size; + padding-left: $gutter-size; + border: 0; + @media (max-width: $screen-md-max) { + width: 100% !important; + } + + & > .mx-dataview { + overflow: hidden; + } + } + } + + &.lv-col-xs-12 > ul > li { + width: 100% !important; + } + + &.lv-col-xs-11 > ul > li { + width: 91.66666667% !important; + } + + &.lv-col-xs-10 > ul > li { + width: 83.33333333% !important; + } + + &.lv-col-xs-9 > ul > li { + width: 75% !important; + } + + &.lv-col-xs-8 > ul > li { + width: 66.66666667% !important; + } + + &.lv-col-xs-7 > ul > li { + width: 58.33333333% !important; + } + + &.lv-col-xs-6 > ul > li { + width: 50% !important; + } + + &.lv-col-xs-5 > ul > li { + width: 41.66666667% !important; + } + + &.lv-col-xs-4 > ul > li { + width: 33.33333333% !important; + } + + &.lv-col-xs-3 > ul > li { + width: 25% !important; + } + + &.lv-col-xs-2 > ul > li { + width: 16.66666667% !important; + } + + &.lv-col-xs-1 > ul > li { + width: 8.33333333% !important; + } + + @media (min-width: $screen-md) { + &.lv-col-sm-12 > ul > li { + width: 100% !important; + } + &.lv-col-sm-11 > ul > li { + width: 91.66666667% !important; + } + &.lv-col-sm-10 > ul > li { + width: 83.33333333% !important; + } + &.lv-col-sm-9 > ul > li { + width: 75% !important; + } + &.lv-col-sm-8 > ul > li { + width: 66.66666667% !important; + } + &.lv-col-sm-7 > ul > li { + width: 58.33333333% !important; + } + &.lv-col-sm-6 > ul > li { + width: 50% !important; + } + &.lv-col-sm-5 > ul > li { + width: 41.66666667% !important; + } + &.lv-col-sm-4 > ul > li { + width: 33.33333333% !important; + } + &.lv-col-sm-3 > ul > li { + width: 25% !important; + } + &.lv-col-sm-2 > ul > li { + width: 16.66666667% !important; + } + &.lv-col-sm-1 > ul > li { + width: 8.33333333% !important; + } + } + @media (min-width: $screen-lg) { + &.lv-col-md-12 > ul > li { + width: 100% !important; + } + &.lv-col-md-11 > ul > li { + width: 91.66666667% !important; + } + &.lv-col-md-10 > ul > li { + width: 83.33333333% !important; + } + &.lv-col-md-9 > ul > li { + width: 75% !important; + } + &.lv-col-md-8 > ul > li { + width: 66.66666667% !important; + } + &.lv-col-md-7 > ul > li { + width: 58.33333333% !important; + } + &.lv-col-md-6 > ul > li { + width: 50% !important; + } + &.lv-col-md-5 > ul > li { + width: 41.66666667% !important; + } + &.lv-col-md-4 > ul > li { + width: 33.33333333% !important; + } + &.lv-col-md-3 > ul > li { + width: 25% !important; + } + &.lv-col-md-2 > ul > li { + width: 16.66666667% !important; + } + &.lv-col-md-1 > ul > li { + width: 16.66666667% !important; + } + } + @media (min-width: $screen-xl) { + &.lv-col-lg-12 > ul > li { + width: 100% !important; + } + &.lv-col-lg-11 > ul > li { + width: 91.66666667% !important; + } + &.lv-col-lg-10 > ul > li { + width: 83.33333333% !important; + } + &.lv-col-lg-9 > ul > li { + width: 75% !important; + } + &.lv-col-lg-8 > ul > li { + width: 66.66666667% !important; + } + &.lv-col-lg-7 > ul > li { + width: 58.33333333% !important; + } + &.lv-col-lg-6 > ul > li { + width: 50% !important; + } + &.lv-col-lg-5 > ul > li { + width: 41.66666667% !important; + } + &.lv-col-lg-4 > ul > li { + width: 33.33333333% !important; + } + &.lv-col-lg-3 > ul > li { + width: 25% !important; + } + &.lv-col-lg-2 > ul > li { + width: 16.66666667% !important; + } + &.lv-col-lg-1 > ul > li { + width: 8.33333333% !important; + } + } + } +} diff --git a/themesource/atlas_core/web/core/helpers/_navigation-bar.scss b/themesource/atlas_core/web/core/helpers/_navigation-bar.scss new file mode 100644 index 0000000..71047bb --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_navigation-bar.scss @@ -0,0 +1,219 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin navigation-bar-helpers() { + /* ========================================================================== + Navigation + + //== Regions + //## Behavior in the different regions + ========================================================================== */ + // When used in topbar + .region-topbar { + .mx-navbar { + background-color: $navtopbar-bg; + min-height: auto; + ul.nav { + > .mx-navbar-item { + margin-left: $spacing-small; + } + /* Navigation item */ + & > li.mx-navbar-item > a { + color: $navtopbar-color; + font-size: $navtopbar-font-size; + line-height: 1.2; + /* Dropdown arrow */ + .caret { + border-top-color: $navtopbar-color; + border-bottom-color: $navtopbar-color; + } + &:hover, + &:focus, + &.active { + color: $navtopbar-color-hover; + background-color: $navtopbar-bg-hover; + .caret { + border-top-color: $navtopbar-color-active; + border-bottom-color: $navtopbar-color-active; + } + } + &.active { + color: $navtopbar-color-active; + background-color: $navtopbar-bg-active; + } + + /* Dropdown */ + .mx-navbar-submenu::before { + border-color: transparent transparent $navtopbar-border-color transparent; + } + + // Image + .glyphicon { + font-size: $navtopbar-glyph-size; + } + } + + /* When hovering or the dropdown is open */ + & > .mx-navbar-item > a:hover, + & > .mx-navbar-item > a:focus, + & > .mx-navbar-item.active a, + & > .mx-navbar-item.open > a, + & > .mx-navbar-item.open > a:hover, + & > .mx-navbar-item.open > a:focus { + color: $navtopbar-color-hover; + background-color: $navtopbar-bg-hover; + .caret { + border-top-color: $navtopbar-color-hover; + border-bottom-color: $navtopbar-color-hover; + } + } + + & > .mx-navbar-item.open .dropdown-menu { + border-radius: $border-radius-default; + background-color: $navtopbar-sub-bg; + padding: $spacing-small $spacing-small 0; + margin: 0; + border: 0; + box-shadow: 0px 2px 2px rgba(194, 196, 201, 0.30354); + & > li.mx-navbar-subitem a { + padding: $spacing-small; + color: $navtopbar-color; + border-radius: $border-radius-default; + margin-bottom: $spacing-small; + line-height: 1.2; + &:hover, + &:focus { + color: $navtopbar-color; + background-color: $navtopbar-sub-bg-hover; + } + } + } + & > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a { + color: $navtopbar-sub-color-active; + background-color: $navtopbar-sub-bg-active; + .caret { + border-top-color: $navtopbar-sub-color-active; + border-bottom-color: $navtopbar-sub-color-active; + } + } + } + @media (max-width: $screen-md) { + ul.nav > li.mx-navbar-item > a { + } + .mx-navbar-item.open .dropdown-menu { + background-color: $navtopbar-sub-bg; + & > li.mx-navbar-subitem > a { + color: $navtopbar-sub-color; + font-size: $navtopbar-sub-font-size; + &:hover, + &:focus { + color: $navtopbar-sub-color-hover; + background-color: $navtopbar-sub-bg-hover; + } + &.active { + color: $navtopbar-sub-color-active; + background-color: $navtopbar-sub-bg-active; + } + } + } + } + } + } + + // When used in sidebar + .region-sidebar { + .mx-navbar { + background-color: $navsidebar-bg; + ul.nav { + /* Navigation item */ + & > li.mx-navbar-item > a { + color: $navsidebar-color; + font-size: $navsidebar-font-size; + + /* Dropdown arrow */ + .caret { + border-top-color: $navsidebar-color; + border-bottom-color: $navsidebar-color; + } + &:hover, + &:focus, + &.active { + color: $navsidebar-color-hover; + background-color: $navsidebar-bg-hover; + .caret { + border-top-color: $navsidebar-color-active; + border-bottom-color: $navsidebar-color-active; + } + } + &.active { + color: $navsidebar-color-active; + background-color: $navsidebar-bg-active; + } + + /* Dropdown */ + .mx-navbar-submenu::before { + border-color: transparent transparent $navsidebar-border-color transparent; + } + + // Image + .glyphicon { + font-size: $navsidebar-glyph-size; + } + } + + /* When hovering or the dropdown is open */ + & > .mx-navbar-item > a:hover, + & > .mx-navbar-item > a:focus, + & > .mx-navbar-item.active a, + & > .mx-navbar-item.open > a, + & > .mx-navbar-item.open > a:hover, + & > .mx-navbar-item.open > a:focus { + color: $navsidebar-color-hover; + background-color: $navsidebar-bg-hover; + .caret { + border-top-color: $navsidebar-color-hover; + border-bottom-color: $navsidebar-color-hover; + } + } + & > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a { + color: $navsidebar-sub-color-active; + background-color: $navsidebar-sub-bg-active; + .caret { + border-top-color: $navsidebar-sub-color-active; + border-bottom-color: $navsidebar-sub-color-active; + } + } + } + @media (max-width: $screen-md) { + ul.nav > li.mx-navbar-item > a { + } + .mx-navbar-item.open .dropdown-menu { + background-color: $navtopbar-sub-bg; + & > li.mx-navbar-subitem > a { + color: $navsidebar-sub-color; + font-size: $navsidebar-sub-font-size; + &:hover, + &:focus { + color: $navsidebar-sub-color-hover; + background-color: $navsidebar-sub-bg-hover; + } + &.active { + color: $navsidebar-sub-color-active; + background-color: $navsidebar-sub-bg-active; + } + } + } + } + } + } + + .hide-icons.mx-navbar { + .glyphicon { + display: none; + } + } +} diff --git a/themesource/atlas_core/web/core/helpers/_navigation-tree.scss b/themesource/atlas_core/web/core/helpers/_navigation-tree.scss new file mode 100644 index 0000000..cc32c56 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_navigation-tree.scss @@ -0,0 +1,173 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin navigation-tree-helpers() { + /* ========================================================================== + Navigation + + //== Regions + //## Behavior in the different regions + ========================================================================== */ + // When used in topbar + .region-topbar { + .mx-navigationtree { + background-color: $navtopbar-bg; + .navbar-inner > ul { + & > li { + & > a { + color: $navtopbar-color; + border-color: $navtopbar-border-color; + background-color: $navtopbar-bg; + font-size: $navtopbar-font-size; + .caret { + border-top-color: $navtopbar-color; + border-bottom-color: $navtopbar-color; + } + + .glyphicon { + font-size: $navtopbar-glyph-size; + } + } + a:hover, + a:focus, + a.active { + color: $navtopbar-color-hover; + background-color: $navtopbar-bg-hover; + .caret { + border-top-color: $navtopbar-color-active; + border-bottom-color: $navtopbar-color-active; + } + } + a.active { + color: $navtopbar-color-active; + border-left-color: $navtopbar-color-active; + background-color: $navtopbar-bg-active; + } + } + } + + /* Sub navigation item specific */ + li.mx-navigationtree-has-items { + & > ul { + background-color: $navtopbar-sub-bg; + li { + a { + color: $navtopbar-sub-color; + background-color: $navtopbar-sub-bg; + font-size: $navtopbar-sub-font-size; + &:hover, + &:focus, + &.active { + color: $navtopbar-sub-color-hover; + background-color: $navtopbar-sub-bg-hover; + } + &.active { + color: $navtopbar-sub-color-active; + background-color: $navtopbar-sub-bg-active; + } + } + } + } + } + } + } + + // When used in sidebar + .region-sidebar { + .mx-navigationtree { + background-color: $navsidebar-bg; + .navbar-inner > ul { + & > li { + & > a { + color: $navsidebar-color; + border-color: $navsidebar-border-color; + background-color: $navsidebar-bg; + font-size: $navsidebar-font-size; + .caret { + border-top-color: $navsidebar-color; + border-bottom-color: $navsidebar-color; + } + + .glyphicon { + font-size: $navsidebar-glyph-size; + } + } + a:hover, + a:focus, + a.active { + color: $navsidebar-color-hover; + background-color: $navsidebar-bg-hover; + .caret { + border-top-color: $navsidebar-color-active; + border-bottom-color: $navsidebar-color-active; + } + } + a.active { + color: $navsidebar-color-active; + border-left-color: $navsidebar-color-active; + background-color: $navsidebar-bg-active; + } + } + } + + /* Sub navigation item specific */ + li.mx-navigationtree-has-items { + & > ul { + background-color: $navsidebar-sub-bg; + li { + a { + color: $navsidebar-sub-color; + background-color: $navsidebar-sub-bg; + font-size: $navsidebar-sub-font-size; + &:hover, + &:focus, + &.active { + color: $navsidebar-sub-color-hover; + background-color: $navsidebar-sub-bg-hover; + } + &.active { + color: $navsidebar-sub-color-active; + background-color: $navsidebar-sub-bg-active; + } + } + } + } + } + } + } + + //== Design Properties + //## Helper classes to change the look and feel of the component + //-------------------------------------------------------------------------------------------------------------------// + // Content Centerd text and icons + .nav-content-center-text-icons.mx-navigationtree { + .navbar-inner ul { + a { + flex-direction: column; + justify-content: center; + .glyphicon { + margin: 0 0 5px 0; + } + } + } + } + + // Content Centerd icons only + .nav-content-center.mx-navigationtree { + .navbar-inner ul { + a { + justify-content: center; + } + } + } + + .hide-icons.mx-navigationtree { + .glyphicon { + display: none; + } + } +} diff --git a/themesource/atlas_core/web/core/helpers/_progress-bar.scss b/themesource/atlas_core/web/core/helpers/_progress-bar.scss new file mode 100644 index 0000000..b461b41 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_progress-bar.scss @@ -0,0 +1,87 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin progress-bar-helpers() { + /* ========================================================================== + Progress Bar + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + + .widget-progress-bar { + width: 100%; + + .progress { + border-radius: $border-radius-default; + background-color: $bg-color; + } + } + + .progress-bar-medium .progress, + .progress-bar-medium .progress-bar { + height: 16px; + line-height: 16px; + font-size: $font-size-small; + } + + .progress-bar-small .progress, + .progress-bar-small .progress-bar { + height: 8px; + line-height: 8px; + font-size: 0px; + } + + .progress-bar-small .progress-bar > * { + // Specifically to hide custom labels. + display: none; + } + + .progress-bar-large .progress, + .progress-bar-large .progress-bar { + height: 24px; + line-height: 24px; + font-size: $font-size-default; + } + + .widget-progress-bar-clickable:hover { + cursor: pointer; + } + + .widget-progress-bar.progress-bar-primary .progress-bar { + background-color: $brand-primary; + } + + .widget-progress-bar.progress-bar-success .progress-bar { + background-color: $brand-success; + } + + .widget-progress-bar.progress-bar-warning .progress-bar { + background-color: $brand-warning; + } + + .widget-progress-bar.progress-bar-danger .progress-bar { + background-color: $brand-danger; + } + + .widget-progress-bar-alert.widget-progress-bar-text-contrast .progress-bar { + color: $color-danger-darker; + } + + .widget-progress-bar-text-contrast .progress-bar { + color: $font-color-default; + } + + .widget-progress-bar-negative { + float: right; + display: block; + } + + .widget-progress-bar > .alert { + margin-top: 24px; + } +} diff --git a/themesource/atlas_core/web/core/helpers/_progress-circle.scss b/themesource/atlas_core/web/core/helpers/_progress-circle.scss new file mode 100644 index 0000000..860bad2 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_progress-circle.scss @@ -0,0 +1,115 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin progress-circle-helpers() { + /* ========================================================================== + Progress Circle + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + + //== Progress circle and label colors + .widget-progress-circle-primary { + .widget-progress-circle-path { + stroke: $brand-primary; + } + + .progressbar-text { + color: $brand-primary !important; + } + } + + .widget-progress-circle-success { + .widget-progress-circle-path { + stroke: $brand-success; + } + + .progressbar-text { + color: $brand-success !important; + } + } + + .widget-progress-circle-warning { + .widget-progress-circle-path { + stroke: $brand-warning; + } + + .progressbar-text { + color: $brand-warning !important; + } + } + + .widget-progress-circle-danger { + .widget-progress-circle-path { + stroke: $brand-danger; + } + + .progressbar-text { + color: $brand-danger !important; + } + } + + //== Sizes + .widget-progress-circle-thickness-medium { + .widget-progress-circle-trail-path, + .widget-progress-circle-path { + stroke-width: 8px; + } + } + + .widget-progress-circle-thickness-small { + .widget-progress-circle-trail-path, + .widget-progress-circle-path { + stroke-width: 4px; + } + } + + .widget-progress-circle-thickness-large { + .widget-progress-circle-trail-path, + .widget-progress-circle-path { + stroke-width: 16px; + } + } + + //== Progress label container + .progress-circle-label-container { + position: relative; + margin: 0; + + .progressbar-text { + position: absolute; + left: 50%; + top: 50%; + padding: 0px; + margin: 0px; + transform: translate(-50%, -50%); + // Original default from the `progressbar.js` library + color: rgb(85, 85, 85); + } + } + + .widget-progress-circle-clickable { + cursor: pointer; + } + + @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .widget-progress-circle > div { + height: 0; + padding: 0; + width: 100%; + padding-bottom: 100%; + + & > svg { + top: 0; + left: 0; + height: 100%; + position: absolute; + } + } + } +} diff --git a/themesource/atlas_core/web/core/helpers/_range-slider.scss b/themesource/atlas_core/web/core/helpers/_range-slider.scss new file mode 100644 index 0000000..34b338e --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_range-slider.scss @@ -0,0 +1,39 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin range-slider-helpers() { + /* ========================================================================== + Range Slider + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + + .widget-range-slider-primary .rc-slider-track { + background-color: $brand-primary; + } + + .widget-range-slider-info .rc-slider-track { + background-color: $brand-info; + } + + .widget-range-slider-success .rc-slider-track { + background-color: $brand-success; + } + + .widget-range-slider-warning .rc-slider-track { + background-color: $brand-warning; + } + + .widget-range-slider-danger .rc-slider-track { + background-color: $brand-danger; + } + + .widget-range-slider-inverse .rc-slider-track { + background-color: $brand-inverse; + } +} diff --git a/themesource/atlas_core/web/core/helpers/_rating.scss b/themesource/atlas_core/web/core/helpers/_rating.scss new file mode 100644 index 0000000..3544a68 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_rating.scss @@ -0,0 +1,39 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin rating-helpers() { + /* ========================================================================== + Rating + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + + .widget-star-rating-full-primary { + color: $brand-primary; + } + + .widget-star-rating-full-success { + color: $brand-success; + } + + .widget-star-rating-full-info { + color: $brand-info; + } + + .widget-star-rating-full-warning { + color: $brand-warning; + } + + .widget-star-rating-full-danger { + color: $brand-danger; + } + + .widget-star-rating-full-inverse { + color: $brand-inverse; + } +} diff --git a/themesource/atlas_core/web/core/helpers/_simple-menu-bar.scss b/themesource/atlas_core/web/core/helpers/_simple-menu-bar.scss new file mode 100644 index 0000000..90cd79f --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_simple-menu-bar.scss @@ -0,0 +1,45 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin simple-menu-bar-helpers() { + /* ========================================================================== + Navigation + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + // Center text and icons + .bottom-nav-text-icons.mx-menubar { + ul.mx-menubar-list { + li.mx-menubar-item { + flex: 1; + a { + flex-direction: column; + padding: $spacing-small $spacing-small $spacing-small/2; + line-height: normal; + font-size: $font-size-small; + .glyphicon { + display: block; + margin: 0 0 $spacing-small/2 0; + font-size: $font-size-large; + } + img { + display: block; + height: $font-size-large; + margin: 0 0 $spacing-small/2 0; + } + } + } + } + } + + .hide-icons.mx-menubar { + .glyphicon { + display: none; + } + } +} diff --git a/themesource/atlas_core/web/core/helpers/_slider.scss b/themesource/atlas_core/web/core/helpers/_slider.scss new file mode 100644 index 0000000..38a50dd --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_slider.scss @@ -0,0 +1,39 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin slider-helpers() { + /* ========================================================================== + Slider + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + + .widget-slider-primary .rc-slider-track { + background-color: $brand-primary; + } + + .widget-slider-info .rc-slider-track { + background-color: $brand-info; + } + + .widget-slider-success .rc-slider-track { + background-color: $brand-success; + } + + .widget-slider-warning .rc-slider-track { + background-color: $brand-warning; + } + + .widget-slider-danger .rc-slider-track { + background-color: $brand-danger; + } + + .widget-slider-inverse .rc-slider-track { + background-color: $brand-inverse; + } +} diff --git a/themesource/atlas_core/web/core/helpers/_tab-container.scss b/themesource/atlas_core/web/core/helpers/_tab-container.scss new file mode 100644 index 0000000..f4c99f1 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_tab-container.scss @@ -0,0 +1,202 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin tab-container-helpers() { + /* ========================================================================== + Tab container + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + // Style as pills + .tab-pills.mx-tabcontainer { + & > .mx-tabcontainer-tabs { + border: 0; + + & > li { + margin-bottom: $spacing-small; + } + + & > li > a { + margin-right: $spacing-small; + color: $tabs-color; + border-radius: $border-radius-default; + background-color: $tabs-bg-pills; + + &:hover, + &:focus { + background-color: $tabs-bg-hover; + } + } + + & > li.active > a, + & > li.active > a:hover, + & > li.active > a:focus { + color: #ffffff; + border-color: $tabs-bg-active; + background-color: $tabs-bg-active; + } + } + } + + // Style with lines + .tab-lined.mx-tabcontainer { + & > .mx-tabcontainer-tabs { + border-width: 1px; + + li { + margin-right: $spacing-large; + + & > a { + padding: $spacing-medium 0 ($spacing-medium - $tabs-lined-border-width) 0; // border is 3px + color: $tabs-color; + border: 0; + border-bottom: $tabs-lined-border-width solid transparent; + border-radius: 0; + + &:hover, + &:focus { + color: $tabs-color; + border: 0; + border-color: transparent; + background: transparent; + } + } + + &.active > a, + &.active > a:hover, + &.active > a:focus { + color: $tabs-lined-color-active; + border: 0; + border-bottom: $tabs-lined-border-width solid $tabs-lined-border-color; + background-color: transparent; + } + } + } + } + + // Justified style + // Lets your tabs take 100% of the width + .tab-justified.mx-tabcontainer { + & > .mx-tabcontainer-tabs { + width: 100%; + border-bottom: 0; + + & > li { + flex: 1; + float: none; // reset bootstrap + margin: 0; + @media (max-width: $screen-sm-max) { + display: block; + width: 100%; + } + + & > a { + text-align: center; + } + } + } + } + + // Bordered + .tab-bordered.mx-tabcontainer { + & > .mx-tabcontainer-tabs { + margin: 0; + } + + & > .mx-tabcontainer-content { + padding: $spacing-small; + border-width: 0 1px 1px 1px; + border-style: solid; + border-color: $tabs-border-color; + background-color: transparent; + } + } + + // Wizard + .tab-wizard.mx-tabcontainer { + & > .mx-tabcontainer-tabs { + position: relative; + display: flex; + justify-content: space-between; + border-style: none; + + &::before { + position: absolute; + top: $spacing-medium; + display: block; + width: 100%; + height: 1px; + content: ""; + background-color: $tabs-border-color; + } + + & > li { + position: relative; + float: none; // reset bootstrap + width: 100%; + text-align: center; + + & > a { + width: ($spacing-medium * 2) + 1; + height: ($spacing-medium * 2) + 1; + margin: auto; + padding: 0; + text-align: center; + color: $brand-primary; + border: 1px solid $tabs-border-color; + border-radius: 100%; + background-color: $bg-color; + font-size: $font-size-large; + font-weight: bold; + display: flex; + justify-content: center; + align-items: center; + } + + &.active { + & > a, + & > a:hover, + & > a:focus { + color: #ffffff; + border-color: $tabs-bg-active; + background-color: $tabs-bg-active; + } + } + } + } + } + + //add tabcontainer flex classes + + .tab-center.mx-tabcontainer { + & > .mx-tabcontainer-tabs { + display: flex; + align-items: center; + flex-flow: wrap; + justify-content: center; + } + } + + .tab-left.mx-tabcontainer { + & > .mx-tabcontainer-tabs { + display: flex; + align-items: center; + flex-flow: wrap; + justify-content: flex-start; + } + } + + .tab-right.mx-tabcontainer { + & > .mx-tabcontainer-tabs { + display: flex; + align-items: center; + flex-flow: wrap; + justify-content: flex-end; + } + } +} diff --git a/themesource/atlas_core/web/core/helpers/_table.scss b/themesource/atlas_core/web/core/helpers/_table.scss new file mode 100644 index 0000000..ce575a4 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_table.scss @@ -0,0 +1,177 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin table-helpers() { + /* ========================================================================== + Table + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + // Lined + table.table-lined.mx-table { + > tbody { + // Table row + > tr { + // Table header + // Table data + > td { + border-width: 1px 0; + border-style: solid; + border-color: $grid-border-color; + } + } + } + } + + // Bordered + table.table-bordered.mx-table { + > tbody { + // Table row + > tr { + // Table header + // Table data + > th, + > td { + border-width: 1px; + border-style: solid; + border-color: $grid-border-color; + } + } + } + } + + // Makes table compact + table.table-compact.mx-table { + > tbody { + // Table row + > tr { + // Table header + // Table data + > th, + > td { + padding-top: 2px; + padding-bottom: 2px; + } + } + } + } + + // Tables Vertical + // Will remove unwanted paddings + table.table-vertical.mx-table { + > tbody { + // Table row + > tr { + // Table header + > th { + padding-bottom: 0; + + > label { + padding: 0; + } + + > div > label { + padding: 0; + } + } + } + } + } + + // Align content in middle + table.table-align-vertical-middle.mx-table { + > tbody { + // Table row + > tr { + // Table header + // Table data + > th, + > td { + vertical-align: middle; + } + } + } + } + + // Compact labels + table.table-label-compact.mx-table { + > tbody { + // Table row + > tr { + // Table header + // Table data + > th, + > td { + > label { + margin: 0; + padding: 0; + } + + > div > label, + .mx-referenceselector-input-wrapper label { + margin: 0; + padding: 0; + } + } + } + } + } + + $height-row-s: 55px; + $height-row-m: 70px; + $height-row-l: 120px; + // Small rows + table.table-row-s.mx-table { + > tbody { + // Table row + > tr { + // Table header + // Table data + > th, + > td { + height: $height-row-s; + } + } + } + } + + // Medium rows + table.table-row-m.mx-table { + > tbody { + // Table row + > tr { + // Table header + // Table data + > th, + > td { + height: $height-row-m; + } + } + } + } + + // Large rows + table.table-row-l.mx-table { + > tbody { + // Table row + > tr { + // Table header + // Table data + > th, + > td { + height: $height-row-l; + } + } + } + } + + // Makes the columns fixed + table.table-fixed { + table-layout: fixed; + } +} diff --git a/themesource/atlas_core/web/core/helpers/_template-grid.scss b/themesource/atlas_core/web/core/helpers/_template-grid.scss new file mode 100644 index 0000000..71db23e --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_template-grid.scss @@ -0,0 +1,309 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin template-grid-helpers() { + /* ========================================================================== + Template grid + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + // Make sure your content looks selectable + .templategrid-selectable.mx-templategrid { + .mx-templategrid-item { + cursor: pointer; + } + } + + // Lined + .templategrid-lined.mx-templategrid { + .mx-grid-content { + border-top-width: 2px; + border-top-style: solid; + border-top-color: $grid-border-color; + } + + .mx-templategrid-item { + border-top: 1px solid $grid-border-color; + border-right: none; + border-bottom: 1px solid $grid-border-color; + border-left: none; + } + } + + // Striped + .templategrid-striped.mx-templategrid { + .mx-templategrid-row:nth-child(odd) .mx-templategrid-item { + background-color: #f9f9f9; + } + } + + // Stylingless + .templategrid-stylingless.mx-templategrid { + .mx-templategrid-item { + padding: 0; + cursor: default; + border: 0; + background-color: transparent; + + &:hover { + background-color: transparent; + } + + &.selected { + background-color: transparent !important; + + &:hover { + background-color: transparent !important; + } + } + } + } + + // Transparent items + .templategrid-transparent.mx-templategrid { + .mx-templategrid-item { + border: 0; + background-color: transparent; + } + } + + // Hover + .templategrid-hover.mx-templategrid { + .mx-templategrid-item { + &:hover { + background-color: $grid-bg-hover !important; + } + + &.selected { + background-color: $grid-bg-selected !important; + + &:hover { + background-color: $grid-bg-selected-hover !important; + } + } + } + } + + // Templategrid Row Sizes + .templategrid-lg.mx-templategrid { + .mx-templategrid-item { + padding: ($grid-padding-top * 2) ($grid-padding-right * 2) ($grid-padding-bottom * 2) + ($grid-padding-left * 2); + } + } + + .templategrid-sm.mx-templategrid { + .mx-templategrid-item { + padding: ($grid-padding-top / 2) ($grid-padding-right / 2) ($grid-padding-bottom / 2) + ($grid-padding-left / 2); + } + } + + // Templategrid Layoutgrid styles + .mx-templategrid[class*="tg-col"] { + overflow: hidden; // For if it is not in a layout, to prevent scrollbars + .mx-templategrid-content-wrapper { + display: block; + } + + .mx-templategrid-row { + display: block; + margin-right: -1 * $gutter-size; + margin-left: -1 * $gutter-size; + + &::before, + &::after { + // clearfix + display: table; + clear: both; + content: " "; + } + } + + .mx-templategrid-item { + // bootstrap col + position: relative; + display: block; + float: left; + min-height: 1px; + padding-right: $gutter-size; + padding-left: $gutter-size; + border: 0; + @media (max-width: 992px) { + width: 100% !important; + } + + .mx-dataview { + overflow: hidden; + } + } + + &.tg-col-xs-12 .mx-templategrid-item { + width: 100% !important; + } + + &.tg-col-xs-11 .mx-templategrid-item { + width: 91.66666667% !important; + } + + &.tg-col-xs-10 .mx-templategrid-item { + width: 83.33333333% !important; + } + + &.tg-col-xs-9 .mx-templategrid-item { + width: 75% !important; + } + + &.tg-col-xs-8 .mx-templategrid-item { + width: 66.66666667% !important; + } + + &.tg-col-xs-7 .mx-templategrid-item { + width: 58.33333333% !important; + } + + &.tg-col-xs-6 .mx-templategrid-item { + width: 50% !important; + } + + &.tg-col-xs-5 .mx-templategrid-item { + width: 41.66666667% !important; + } + + &.tg-col-xs-4 .mx-templategrid-item { + width: 33.33333333% !important; + } + + &.tg-col-xs-3 .mx-templategrid-item { + width: 25% !important; + } + + &.tg-col-xs-2 .mx-templategrid-item { + width: 16.66666667% !important; + } + + &.tg-col-xs-1 .mx-templategrid-item { + width: 8.33333333% !important; + } + + @media (min-width: 768px) { + &.tg-col-sm-12 .mx-templategrid-item { + width: 100% !important; + } + &.tg-col-sm-11 .mx-templategrid-item { + width: 91.66666667% !important; + } + &.tg-col-sm-10 .mx-templategrid-item { + width: 83.33333333% !important; + } + &.tg-col-sm-9 .mx-templategrid-item { + width: 75% !important; + } + &.tg-col-sm-8 .mx-templategrid-item { + width: 66.66666667% !important; + } + &.tg-col-sm-7 .mx-templategrid-item { + width: 58.33333333% !important; + } + &.tg-col-sm-6 .mx-templategrid-item { + width: 50% !important; + } + &.tg-col-sm-5 .mx-templategrid-item { + width: 41.66666667% !important; + } + &.tg-col-sm-4 .mx-templategrid-item { + width: 33.33333333% !important; + } + &.tg-col-sm-3 .mx-templategrid-item { + width: 25% !important; + } + &.tg-col-sm-2 .mx-templategrid-item { + width: 16.66666667% !important; + } + &.tg-col-sm-1 .mx-templategrid-item { + width: 8.33333333% !important; + } + } + @media (min-width: 992px) { + &.tg-col-md-12 .mx-templategrid-item { + width: 100% !important; + } + &.tg-col-md-11 .mx-templategrid-item { + width: 91.66666667% !important; + } + &.tg-col-md-10 .mx-templategrid-item { + width: 83.33333333% !important; + } + &.tg-col-md-9 .mx-templategrid-item { + width: 75% !important; + } + &.tg-col-md-8 .mx-templategrid-item { + width: 66.66666667% !important; + } + &.tg-col-md-7 .mx-templategrid-item { + width: 58.33333333% !important; + } + &.tg-col-md-6 .mx-templategrid-item { + width: 50% !important; + } + &.tg-col-md-5 .mx-templategrid-item { + width: 41.66666667% !important; + } + &.tg-col-md-4 .mx-templategrid-item { + width: 33.33333333% !important; + } + &.tg-col-md-3 .mx-templategrid-item { + width: 25% !important; + } + &.tg-col-md-2 .mx-templategrid-item { + width: 16.66666667% !important; + } + &.tg-col-md-1 .mx-templategrid-item { + width: 8.33333333% !important; + } + } + @media (min-width: 1200px) { + &.tg-col-lg-12 .mx-templategrid-item { + width: 100% !important; + } + &.tg-col-lg-11 .mx-templategrid-item { + width: 91.66666667% !important; + } + &.tg-col-lg-10 .mx-templategrid-item { + width: 83.33333333% !important; + } + &.tg-col-lg-9 .mx-templategrid-item { + width: 75% !important; + } + &.tg-col-lg-8 .mx-templategrid-item { + width: 66.66666667% !important; + } + &.tg-col-lg-7 .mx-templategrid-item { + width: 58.33333333% !important; + } + &.tg-col-lg-6 .mx-templategrid-item { + width: 50% !important; + } + &.tg-col-lg-5 .mx-templategrid-item { + width: 41.66666667% !important; + } + &.tg-col-lg-4 .mx-templategrid-item { + width: 33.33333333% !important; + } + &.tg-col-lg-3 .mx-templategrid-item { + width: 25% !important; + } + &.tg-col-lg-2 .mx-templategrid-item { + width: 16.66666667% !important; + } + &.tg-col-lg-1 .mx-templategrid-item { + width: 8.33333333% !important; + } + } + } +} diff --git a/themesource/atlas_core/web/core/helpers/_typography.scss b/themesource/atlas_core/web/core/helpers/_typography.scss new file mode 100644 index 0000000..f8c9f20 --- /dev/null +++ b/themesource/atlas_core/web/core/helpers/_typography.scss @@ -0,0 +1,137 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin typography-helpers() { + /* ========================================================================== + Typography + + //== Design Properties + //## Helper classes to change the look and feel of the component + ========================================================================== */ + // Text size + .text-small { + font-size: $font-size-small !important; + } + + .text-large { + font-size: $font-size-large !important; + } + + // Text Weights + .text-light, + .text-light > *, + .text-light label { + font-weight: $font-weight-light !important; + } + + .text-normal, + .text-normal > *, + .text-normal label { + font-weight: $font-weight-normal !important; + } + + .text-semibold, + .text-semibold > *, + .text-semibold label { + font-weight: $font-weight-semibold !important; + } + + .text-bold, + .text-bold > *, + .text-bold label { + font-weight: $font-weight-bold !important; + } + + // Color variations + .text-secondary, + .text-secondary:hover, + .text-default, + .text-default:hover { + color: $font-color-default !important; + } + + .text-primary, + .text-primary:hover { + color: $brand-primary !important; + } + + .text-info, + .text-info:hover { + color: $brand-info !important; + } + + .text-success, + .text-success:hover { + color: $brand-success !important; + } + + .text-warning, + .text-warning:hover { + color: $brand-warning !important; + } + + .text-danger, + .text-danger:hover { + color: $brand-danger !important; + } + + .text-header { + color: $font-color-header !important; + } + + .text-detail { + color: $font-color-detail !important; + } + + .text-white { + color: #ffffff; + } + + // Alignment options + .text-left { + text-align: left !important; + } + .text-center { + text-align: center !important; + } + .text-right { + text-align: right !important; + } + .text-justify { + text-align: justify !important; + } + + // Transform options + .text-lowercase { + text-transform: lowercase !important; + } + .text-uppercase { + text-transform: uppercase !important; + } + .text-capitalize { + text-transform: capitalize !important; + } + + // Wrap options + .text-break { + word-break: break-all !important; + word-break: break-word !important; + -webkit-hyphens: auto !important; + hyphens: auto !important; + } + + .text-nowrap { + white-space: nowrap !important; + } + + .text-nowrap { + overflow: hidden !important; + max-width: 100% !important; + white-space: nowrap !important; + text-overflow: ellipsis !important; + } +} diff --git a/theme/styles/web/sass/core/manifest.json b/themesource/atlas_core/web/core/manifest.json similarity index 59% rename from theme/styles/web/sass/core/manifest.json rename to themesource/atlas_core/web/core/manifest.json index 816bfe8..b6b47f5 100644 --- a/theme/styles/web/sass/core/manifest.json +++ b/themesource/atlas_core/web/core/manifest.json @@ -1,4 +1,4 @@ { "name": "Atlas-UI-Framework", - "version": "2.6.0" -} \ No newline at end of file + "version": "3.0.0" +} diff --git a/themesource/atlas_core/web/core/widgets/_badge-button.scss b/themesource/atlas_core/web/core/widgets/_badge-button.scss new file mode 100644 index 0000000..8033948 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_badge-button.scss @@ -0,0 +1,36 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin badge-button() { + /* ========================================================================== + Badge button + + Widget styles + ========================================================================== */ + .widget-badge-button { + display: inline-block; + + .widget-badge-button-text { + white-space: nowrap; + padding-right: 5px; + } + + .badge { + top: unset; + display: inline-block; + margin: 0; + padding: $spacing-smaller $spacing-small; + text-align: center; + vertical-align: baseline; + white-space: nowrap; + background-color: $btn-primary-color; + color: $btn-primary-bg; + font-size: 100%; + line-height: 1; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_badge.scss b/themesource/atlas_core/web/core/widgets/_badge.scss new file mode 100644 index 0000000..43779aa --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_badge.scss @@ -0,0 +1,58 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin badge() { + /* ========================================================================== + Badge + + Override of default Bootstrap badge style + ========================================================================== */ + + .badge { + display: inline-block; + margin: 0; + padding: $spacing-smaller $spacing-small; + text-align: center; + vertical-align: baseline; + white-space: nowrap; + color: #ffffff; + font-size: 100%; + line-height: 1; + + .form-control-static { + font-weight: $font-weight-normal; + all: unset; + } + } + + /* ========================================================================== + Badge-web + + Widget styles + ========================================================================== */ + + .widget-badge { + color: $label-primary-color; + background-color: $label-primary-bg; + } + + .widget-badge-clickable { + cursor: pointer; + } + + .widget-badge.badge:empty { + display: initial; + /* Fix padding to stay round */ + padding: $spacing-smaller ($spacing-small + 2px); + } + + .widget-badge.label:empty { + display: initial; + /* Fix padding to stay square */ + padding: $spacing-smaller ($spacing-small + 2px); + } +} diff --git a/themesource/atlas_core/web/core/widgets/_button.scss b/themesource/atlas_core/web/core/widgets/_button.scss new file mode 100644 index 0000000..fae3010 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_button.scss @@ -0,0 +1,98 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin button() { + /* ========================================================================== + Button + + Default Bootstrap and Mendix button + ========================================================================== */ + + .btn, + .mx-button { + display: inline-block; + margin-bottom: 0; + padding: 0.6em 1em; + cursor: pointer; + -webkit-user-select: none; + user-select: none; + transition: all 0.2s ease-in-out; + text-align: center; + vertical-align: middle; + white-space: nowrap; + color: $btn-default-color; + border: 1px solid $btn-default-border-color; + border-radius: $btn-border-radius; + background-color: $btn-default-bg; + background-image: none; + box-shadow: none; + text-shadow: none; + font-size: $btn-font-size; + line-height: $line-height-base; + + &:hover, + &:focus, + &:active, + &:active:focus { + outline: none; + box-shadow: none; + } + + &[aria-disabled] { + cursor: not-allowed; + pointer-events: none; + opacity: 0.65; + } + + @if $btn-bordered != false { + @extend .btn-bordered; + } + } + + // Mendix button link + .mx-link { + padding: 0; + color: $link-color; + + &[aria-disabled="true"] { + cursor: not-allowed; + pointer-events: none; + opacity: 0.65; + } + } + + .link-back { + color: $font-color-detail; + + .glyphicon { + top: 2px; + } + } + + // Images and icons in buttons + .btn, + .mx-button, + .mx-link { + img { + //height: auto; // MXUI override who set the height on 16px default + height: $font-size-default + 4px; + margin-right: 4px; + vertical-align: text-top; + } + } + + //== Phone specific + //-------------------------------------------------------------------------------------------------------------------// + .profile-phone { + .btn, + .mx-link { + &:active { + transform: translateY(1px); + } + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_check-box.scss b/themesource/atlas_core/web/core/widgets/_check-box.scss new file mode 100644 index 0000000..6d2f89e --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_check-box.scss @@ -0,0 +1,98 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin check-box() { + /* ========================================================================== + Check box + + Default Mendix check box widget + ========================================================================== */ + + .mx-checkbox.label-after { + flex-wrap: wrap; + + .control-label { + display: flex; + align-items: center; + padding: 0; + } + } + + input[type="checkbox"] { + position: relative !important; //Remove after mxui merge + width: 16px; + height: 16px; + margin: 0 !important; // Remove after mxui merge + cursor: pointer; + -webkit-user-select: none; + user-select: none; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + + &:before, + &:after { + position: absolute; + display: block; + transition: all 0.3s ease; + } + + &:before { + // Checkbox + width: 100%; + height: 100%; + content: ""; + border: 1px solid $form-input-border-color; + border-radius: $form-input-border-radius; + background-color: transparent; + } + + &:after { + // Checkmark + width: 8px; + height: 4px; + margin: 5px 4px; + transform: rotate(-45deg); + pointer-events: none; + border: 2px solid #ffffff; + border-top: 0; + border-right: 0; + } + + &:not(:disabled):not(:checked):hover:after { + content: ""; + border-color: $form-input-bg-hover; // color of checkmark on hover + } + + &:checked:before { + border-color: $form-input-border-focus-color; + background-color: $form-input-border-focus-color; + } + + &:checked:after { + content: ""; + } + + &:disabled:before { + background-color: $form-input-bg-disabled; + } + + &:checked:disabled:before { + border-color: transparent; + background-color: rgba($form-input-border-focus-color, 0.4); + } + + &:disabled:after, + &:checked:disabled:after { + border-color: $form-input-bg-disabled; + } + + & + .control-label { + margin-left: $form-label-gutter; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_data-grid.scss b/themesource/atlas_core/web/core/widgets/_data-grid.scss new file mode 100644 index 0000000..b6b08e6 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_data-grid.scss @@ -0,0 +1,86 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin data-grid() { + /* ========================================================================== + Data grid default + + Default Mendix data grid widget. The data grid shows a list of objects in a grid + ========================================================================== */ + + .mx-datagrid { + table { + border-width: 0; + background-color: transparent; + /* Table header */ + th { + border-style: solid; + border-color: $grid-border-color; + border-top-width: 0; + border-right: 0; + border-bottom-width: 1px; + border-left: 0; + background-color: $grid-bg-header; + padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left; + vertical-align: middle; + + .mx-datagrid-head-caption { + white-space: normal; + } + } + + /* Table Body */ + tbody tr { + td { + @include transition(); + padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left; + vertical-align: middle; + border-width: 0; + border-color: $grid-border-color; + border-bottom-width: 1px; + border-bottom-style: solid; + background-color: $grid-bg; + + &:focus { + outline: none; + } + + /* Text without spaces */ + .mx-datagrid-data-wrapper { + text-overflow: ellipsis; + } + } + + &.selected td, + &.selected:hover td { + color: $grid-selected-color; + background-color: $grid-bg-selected !important; + } + } + + /* Table Footer */ + tfoot { + > tr > th { + padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left; + border-width: 0; + background-color: $grid-footer-bg; + } + + > tr > td { + padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left; + border-width: 0; + background-color: $grid-bg; + font-weight: $font-weight-bold; + } + } + + & *:focus { + outline: 0; + } + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_data-view.scss b/themesource/atlas_core/web/core/widgets/_data-view.scss new file mode 100644 index 0000000..7404814 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_data-view.scss @@ -0,0 +1,49 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin data-view() { + /* ========================================================================== + Data view + + Default Mendix data view widget. The data view is used for showing the contents of exactly one object + ========================================================================== */ + + .mx-dataview { + /* Dataview-content gives problems for nexted layout grid containers */ + > .mx-dataview-content > .mx-container-nested { + > .row { + margin-right: 0; + margin-left: 0; + } + } + + /* Dataview empty message */ + .mx-dataview-message { + color: $dataview-emptymessage-color; + background: $dataview-emptymessage-bg; + } + } + + .mx-dataview-controls { + margin-top: $spacing-medium; + padding: $spacing-medium 0 0; + border-top: 1px solid $dataview-controls-border-color; + border-radius: 0; + background-color: $dataview-controls-bg; + /* Buttons */ + .mx-button { + margin-right: $spacing-small; + margin-bottom: 0; + + &:last-child { + margin-right: 0; + } + } + + background-color: inherit; + } +} diff --git a/themesource/atlas_core/web/core/widgets/_date-picker.scss b/themesource/atlas_core/web/core/widgets/_date-picker.scss new file mode 100644 index 0000000..8af5964 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_date-picker.scss @@ -0,0 +1,133 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin date-picker() { + /* ========================================================================== + Date picker + + Default Mendix date picker widget + ========================================================================== */ + + .mx-calendar { + /* (must be higher than popup z-index) */ + z-index: 10010 !important; + padding: 8px; + font-size: 12px; + background: $bg-color; + border-radius: $border-radius-default; + border: 1px solid $border-color-default; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.06); + + .mx-calendar-month-header { + display: flex; + flex-direction: row; + justify-content: space-between; + margin: 0 3px 10px 3px; + } + + .mx-calendar-month-next, + .mx-calendar-month-previous, + .mx-calendar-month-dropdown { + border: 0; + cursor: pointer; + background: transparent; + } + + .mx-calendar-month-next, + .mx-calendar-month-previous { + &:hover { + color: $brand-primary; + } + } + + .mx-calendar-month-dropdown { + display: flex; + align-items: center; + justify-content: center; + position: relative; + + .mx-calendar-month-current:first-child { + margin-right: 10px; + } + } + + th { + color: $brand-primary; + } + + th, + td { + width: 35px; + height: 35px; + text-align: center; + } + + td { + color: $font-color-default; + + &:hover { + cursor: pointer; + border-radius: 50%; + color: $brand-primary; + background-color: $brand-default; + } + } + + .mx-calendar-day-month-next, + .mx-calendar-day-month-previous { + color: lighten($font-color-default, 45%); + } + + .mx-calendar-day-selected, + .mx-calendar-day-selected:hover { + color: #fff; + border-radius: 50%; + background: $brand-primary; + } + + // + + .mx-calendar-year-switcher { + text-align: center; + margin-top: 10px; + color: lighten($brand-primary, 30%); + + span.mx-calendar-year-selected { + color: $brand-primary; + margin-left: 10px; + margin-right: 10px; + } + + span:hover { + cursor: pointer; + text-decoration: underline; + background-color: transparent; + } + } + } + + .mx-calendar-month-dropdown-options { + /* (must be higher than popup z-index) */ + z-index: 10020 !important; + position: absolute; + top: 25px; + padding: 2px 10px; + border-radius: $border-radius-default; + background-color: $bg-color; + + div { + cursor: pointer; + font-size: 12px; + padding: 2px 0; + + &:hover, + &:focus { + color: $brand-primary; + } + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_glyphicon.scss b/themesource/atlas_core/web/core/widgets/_glyphicon.scss new file mode 100644 index 0000000..37ec807 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_glyphicon.scss @@ -0,0 +1,29 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin glyphicon() { + /* ========================================================================== + Glyphicon + + Default Mendix glyphicon + ========================================================================== */ + + .mx-glyphicon { + &:before { + display: inline-block; + margin-top: -0.2em; + margin-right: 0.4555555em; + vertical-align: middle; + font-family: "Glyphicons Halflings"; + font-weight: $font-weight-normal; + font-style: normal; + line-height: inherit; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_grid.scss b/themesource/atlas_core/web/core/widgets/_grid.scss new file mode 100644 index 0000000..047b4e2 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_grid.scss @@ -0,0 +1,84 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin grid() { + /* ========================================================================== + Grid + + Default Mendix grid (used for Mendix data grid) + ========================================================================== */ + + .mx-grid { + padding: 0px; + border: 0; + border-radius: 0; + + .mx-grid-controlbar { + margin: 10px 0; + /* Paging */ + .mx-grid-pagingbar { + /* Buttons */ + .mx-button { + padding: 8px; + color: $grid-paging-color; + border-color: $grid-paging-border-color; + background-color: $grid-paging-bg; + + &:hover { + color: $grid-paging-color-hover; + border-color: $grid-paging-border-color-hover; + background-color: $grid-paging-bg-hover; + } + } + + /* Text Paging .. to .. to .. */ + .mx-grid-paging-status { + padding: 0 8px 8px; + } + } + } + + .mx-grid-searchbar { + margin: 10px 0; + + .mx-grid-search-item { + .mx-grid-search-label { + vertical-align: middle; + + label { + padding-top: 5px; + } + } + + .mx-grid-search-input { + display: inline-flex; + + .form-control { + height: 28px; + font-size: 11px; + } + + select.form-control { + padding: 3px; + vertical-align: middle; + } + + .mx-button { + height: 28px; + padding-top: 2px; + padding-bottom: 2px; + } + } + } + } + } + + // Remove default border from grid inside a Mendix Dataview + .mx-dataview .mx-grid { + border: 0; + } +} diff --git a/themesource/atlas_core/web/core/widgets/_group-box.scss b/themesource/atlas_core/web/core/widgets/_group-box.scss new file mode 100644 index 0000000..2d8be87 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_group-box.scss @@ -0,0 +1,55 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin group-box() { + /* ========================================================================== + Group box + + Default Mendix group box + ========================================================================== */ + + .mx-groupbox { + margin: 0; + + > .mx-groupbox-header { + margin: 0; + color: $groupbox-default-color; + border-width: 1px 1px 0 1px; + border-style: solid; + border-color: $groupbox-default-bg; + background: $groupbox-default-bg; + font-size: $font-size-h5; + border-radius: $border-radius-default $border-radius-default 0 0; + padding: $spacing-small * 1.5 $spacing-medium; + + .mx-groupbox-collapse-icon { + margin-top: 0.1em; + } + } + + > .mx-groupbox-body { + padding: $spacing-small * 1.5 $spacing-medium; + border-width: 1px; + border-style: solid; + border-color: $groupbox-default-bg; + background-color: #ffffff; + border-radius: $border-radius-default; + } + + .mx-groupbox-header + .mx-groupbox-body { + border-top: none; + } + + &.collapsed > .mx-groupbox-header { + } + } + + //With header + .mx-groupbox-header ~ .mx-groupbox-body { + border-radius: 0 0 $border-radius-default $border-radius-default; + } +} diff --git a/themesource/atlas_core/web/core/widgets/_header.scss b/themesource/atlas_core/web/core/widgets/_header.scss new file mode 100644 index 0000000..07e2f2a --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_header.scss @@ -0,0 +1,123 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin header() { + /* ========================================================================== + Header + + Default Mendix mobile header + ========================================================================== */ + + .mx-header { + z-index: 100; + display: flex; + width: 100%; + height: $m-header-height; + padding: 0; + text-align: initial; + color: $m-header-color; + background-color: $m-header-bg; + box-shadow: 0px 2px 2px rgba(194, 196, 201, 0.30354); + + // Reset mxui + div.mx-header-left, + div.mx-header-right { + position: relative; + top: initial; + right: initial; + left: initial; + display: flex; + align-items: center; + width: 25%; + height: 100%; + + .mx-placeholder { + display: flex; + align-items: center; + height: 100%; + } + } + + div.mx-header-left .mx-placeholder { + order: 1; + + .mx-placeholder { + justify-content: flex-start; + } + } + + div.mx-header-center { + overflow: hidden; + flex: 1; + order: 2; + text-align: center; + + .mx-title { + overflow: hidden; + width: 100%; + margin: 0; + text-overflow: ellipsis; + color: $m-header-color; + font-size: $m-header-title-size; + line-height: $m-header-height; + } + } + + div.mx-header-right { + order: 3; + + .mx-placeholder { + justify-content: flex-end; + } + } + + // Content magic + .mx-link { + display: flex; + align-items: center; + height: 100%; + transition: all 0.2s; + text-decoration: none; + + .glyphicon { + top: 0; + font-size: 23px; + } + + &:active { + transform: translateY(1px); + color: $link-hover-color; + } + } + + .mx-link, + .btn, + img { + padding: 0 $spacing-medium; + } + + .mx-sidebartoggle { + font-size: 24px; + line-height: $m-header-height; + + img { + height: 20px; + } + } + } + + // RTL support + body[dir="rtl"] { + .mx-header-left { + order: 3; + } + + .mx-header-right { + order: 1; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_input.scss b/themesource/atlas_core/web/core/widgets/_input.scss new file mode 100644 index 0000000..f18bf50 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_input.scss @@ -0,0 +1,273 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin input() { + /* ========================================================================== + Input + + The form-control class style all inputs + ========================================================================== */ + .form-control { + display: flex; + flex: 1; + min-width: 50px; + height: $form-input-height; + padding: $form-input-padding-y $form-input-padding-x; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + color: $form-input-color; + border: 1px solid $form-input-border-color; + border-radius: $form-input-border-radius; + background-color: $form-input-bg; + background-image: none; + box-shadow: none; + font-size: $form-input-font-size; + line-height: $form-input-line-height; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + @if $form-input-style==lined { + @extend .form-control-lined; + } + + &::placeholder { + color: $form-input-placeholder-color; + } + } + + .form-control:not([readonly]):focus { + border-color: $form-input-border-focus-color; + outline: 0; + background-color: $form-input-bg-focus; + box-shadow: none; + } + + .form-control[disabled], + .form-control[readonly], + fieldset[disabled] .form-control { + opacity: 1; + background-color: $form-input-bg-disabled; + } + + .form-control[disabled], + fieldset[disabled] .form-control { + cursor: not-allowed; + } + + // Lined + .form-control-lined { + border: 0; + border-bottom: 1px solid $form-input-border-color; + border-radius: 0; + background-color: transparent; + + &:focus { + background-color: transparent; + } + } + + // Read only form control class + .form-control-static { + overflow: hidden; + flex: 1; + min-height: auto; + padding: $form-input-static-padding-y $form-input-static-padding-x; + //border-bottom: 1px solid $form-input-static-border-color; + font-size: $form-input-font-size; + line-height: $form-input-line-height; + + & + .control-label { + margin-left: $form-label-gutter; + } + } + + // Dropdown input widget + select.form-control { + $arrow: "data:image/svg+xml;utf8,"; + padding-right: 30px; + background-image: url($arrow); + background-repeat: no-repeat; + background-position: calc(100% - #{$form-input-padding-x}) center; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + } + + .form-control.mx-selectbox { + align-items: center; + flex-direction: row-reverse; + justify-content: space-between; + } + + // Not editable textarea, textarea will be rendered as a label + .mx-textarea .control-label { + height: auto; + } + + .mx-textarea-counter { + display: block; + width: 100%; + text-align: right; + margin-top: $spacing-small; + } + + textarea.form-control { + flex-basis: auto; + } + + .mx-compound-control { + display: flex; + flex: 1; + flex-wrap: wrap; + max-width: 100%; + + .btn { + margin-left: $spacing-small; + } + + .mx-validation-message { + flex-basis: 100%; + margin-top: 4px; + } + } + + .has-error .mx-validation-message { + margin-top: $spacing-small; + margin-bottom: 0; + padding: $spacing-small; + color: $alert-danger-color; + border-color: $alert-danger-border-color; + background-color: $alert-danger-bg; + } + + // Form Group + .form-group { + display: flex; + flex-direction: row; + margin-bottom: $form-group-margin-bottom; + + & > div[class*="col-"] { + display: flex; + align-items: center; + flex-wrap: wrap; + } + + & > [class*="col-"] { + padding-right: $form-group-gutter; + padding-left: $form-group-gutter; + } + + // Alignment content + div[class*="textBox"] > .control-label, + div[class*="textArea"] > .control-label, + div[class*="datePicker"] > .control-label { + @extend .form-control-static; + } + + // Label + .control-label { + overflow: hidden; + margin-bottom: 4px; + text-align: left; + text-overflow: ellipsis; + color: $form-label-color; + font-size: $form-label-size; + font-weight: $form-label-weight; + } + + .mx-validation-message { + flex-basis: 100%; + } + + &.no-columns:not(.label-after) { + flex-direction: column; + } + } + + .form-group.label-after { + .form-control-static { + flex: unset; + } + + .control-label { + margin-bottom: 0; + } + } + + .mx-dateinput, + .mx-referenceselector, + .mx-referencesetselector { + flex: 1; + } + + // Targets only webkit iOS devices + .dj_webkit.dj_ios .form-control { + transform: translateZ(0); + } + + @media only screen and (min-width: $screen-md) { + .form-horizontal { + .control-label { + margin-bottom: 0; + padding-top: $form-input-padding-y; + padding-bottom: $form-input-padding-y; + line-height: $form-input-line-height; + } + } + } + + @media only screen and (max-width: $screen-sm-max) { + .form-group { + flex-direction: column; + } + } + + @media only screen and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 0) { + // Fixes alignment bug on iPads / iPhones where datefield is not aligned vertically + input[type="date"], + input[type="time"], + input[type="datetime-local"], + input[type="month"] { + line-height: 1; + } + // Fix shrinking of date inputs because inability of setting a placeholder + input[type="time"]:not(.has-value):before, + input[type="date"]:not(.has-value):before, + input[type="month"]:not(.has-value):before, + input[type="datetime-local"]:not(.has-value):before { + margin-right: 0.5em; + content: attr(placeholder) !important; + color: #aaaaaa; + } + input[type="time"].has-value:before, + input[type="date"].has-value:before, + input[type="month"].has-value:before, + input[type="datetime-local"].has-value:before { + content: "" !important; + } + } + + @media (-ms-high-contrast: none), (-ms-high-contrast: active) { + // Target IE10+ + .form-group { + display: block; + } + } + + [dir="rtl"] { + // Dropdown input widget + select.form-control { + padding-right: 30px; + padding-left: 0; + background-position: #{$form-input-padding-x} center; + } + + .mx-compound-control .btn { + margin-right: $spacing-small; + margin-left: 0; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_label.scss b/themesource/atlas_core/web/core/widgets/_label.scss new file mode 100644 index 0000000..af9469d --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_label.scss @@ -0,0 +1,32 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin label() { + /* ========================================================================== + Label + + Default label combined with Bootstrap label + ========================================================================== */ + + .label { + display: inline-block; + margin: 0; + padding: $spacing-smaller $spacing-small; + text-align: center; + vertical-align: baseline; + white-space: nowrap; + color: #ffffff; + border-radius: 0.25em; + font-size: 100%; + line-height: 1; + + .form-control-static { + font-weight: $font-weight-normal; + all: unset; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_layout-grid.scss b/themesource/atlas_core/web/core/widgets/_layout-grid.scss new file mode 100644 index 0000000..3aa3819 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_layout-grid.scss @@ -0,0 +1,950 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin layout-grid() { + /* ========================================================================== + Layout grid + + Default Bootstrap containers + ========================================================================== */ + .mx-layoutgrid { + width: 100%; + margin-right: auto; + margin-left: auto; + padding-right: $gutter-size; + padding-left: $gutter-size; + } + + // Row + .row { + display: flex; + flex-wrap: wrap; + margin-right: -$gutter-size; + margin-left: -$gutter-size; + + &::before, + &::after { + content: normal; + } + } + + .no-gutters { + margin-right: 0; + margin-left: 0; + } + + .no-gutters > .col, + .no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; + } + + // Columns + .col-1, + .col-2, + .col-3, + .col-4, + .col-5, + .col-6, + .col-7, + .col-8, + .col-9, + .col-10, + .col-11, + .col-12, + .col, + .col-auto, + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11, + .col-sm-12, + .col-sm, + .col-sm-auto, + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11, + .col-md-12, + .col-md, + .col-md-auto, + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11, + .col-lg-12, + .col-lg, + .col-lg-auto, + .col-xl-1, + .col-xl-2, + .col-xl-3, + .col-xl-4, + .col-xl-5, + .col-xl-6, + .col-xl-7, + .col-xl-8, + .col-xl-9, + .col-xl-10, + .col-xl-11, + .col-xl-12, + .col-xl, + .col-xl-auto { + position: relative; + width: 100%; + padding-right: $gutter-size; + padding-left: $gutter-size; + } + + .col { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + + .col-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + + .col-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .col-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .col-3 { + flex: 0 0 25%; + max-width: 25%; + } + + .col-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .col-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .col-6 { + flex: 0 0 50%; + max-width: 50%; + } + + .col-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .col-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .col-9 { + flex: 0 0 75%; + max-width: 75%; + } + + .col-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .col-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .col-12 { + flex: 0 0 100%; + max-width: 100%; + } + + .order-first { + order: -1; + } + + .order-last { + order: 13; + } + + .order-0 { + order: 0; + } + + .order-1 { + order: 1; + } + + .order-2 { + order: 2; + } + + .order-3 { + order: 3; + } + + .order-4 { + order: 4; + } + + .order-5 { + order: 5; + } + + .order-6 { + order: 6; + } + + .order-7 { + order: 7; + } + + .order-8 { + order: 8; + } + + .order-9 { + order: 9; + } + + .order-10 { + order: 10; + } + + .order-11 { + order: 11; + } + + .order-12 { + order: 12; + } + + .offset-1, + .col-offset-1 { + margin-left: 8.333333%; + } + + .offset-2, + .col-offset-2 { + margin-left: 16.666667%; + } + + .offset-3, + .col-offset-3 { + margin-left: 25%; + } + + .offset-4, + .col-offset-4 { + margin-left: 33.333333%; + } + + .offset-5, + .col-offset-5 { + margin-left: 41.666667%; + } + + .offset-6, + .col-offset-6 { + margin-left: 50%; + } + + .offset-7, + .col-offset-7 { + margin-left: 58.333333%; + } + + .offset-8, + .col-offset-8 { + margin-left: 66.666667%; + } + + .offset-9, + .col-offset-9 { + margin-left: 75%; + } + + .offset-10, + .col-offset-10 { + margin-left: 83.333333%; + } + + .offset-11, + .col-offset-11 { + margin-left: 91.666667%; + } + + // Responsiveness + @media (min-width: $screen-sm) { + .mx-layoutgrid-fixed { + max-width: 540px; + } + } + + @media (min-width: $screen-md) { + .mx-layoutgrid-fixed { + max-width: 720px; + } + } + + @media (min-width: $screen-lg) { + .mx-layoutgrid-fixed { + max-width: 960px; + } + } + + @media (min-width: $screen-xl) { + .mx-layoutgrid-fixed { + max-width: 1140px; + } + } + + @media (min-width: $screen-sm) { + .col-sm { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + order: -1; + } + .order-sm-last { + order: 13; + } + .order-sm-0 { + order: 0; + } + .order-sm-1 { + order: 1; + } + .order-sm-2 { + order: 2; + } + .order-sm-3 { + order: 3; + } + .order-sm-4 { + order: 4; + } + .order-sm-5 { + order: 5; + } + .order-sm-6 { + order: 6; + } + .order-sm-7 { + order: 7; + } + .order-sm-8 { + order: 8; + } + .order-sm-9 { + order: 9; + } + .order-sm-10 { + order: 10; + } + .order-sm-11 { + order: 11; + } + .order-sm-12 { + order: 12; + } + .offset-sm-0, + .col-sm-offset-0 { + margin-left: 0; + } + .offset-sm-1, + .col-sm-offset-1 { + margin-left: 8.333333%; + } + .offset-sm-2, + .col-sm-offset-2 { + margin-left: 16.666667%; + } + .offset-sm-3, + .col-sm-offset-3 { + margin-left: 25%; + } + .offset-sm-4, + .col-sm-offset-4 { + margin-left: 33.333333%; + } + .offset-sm-5, + .col-sm-offset-5 { + margin-left: 41.666667%; + } + .offset-sm-6, + .col-sm-offset-6 { + margin-left: 50%; + } + .offset-sm-7, + .col-sm-offset-7 { + margin-left: 58.333333%; + } + .offset-sm-8, + .col-sm-offset-8 { + margin-left: 66.666667%; + } + .offset-sm-9, + .col-sm-offset-9 { + margin-left: 75%; + } + .offset-sm-10, + .col-sm-offset-10 { + margin-left: 83.333333%; + } + .offset-sm-11, + .col-sm-offset-11 { + margin-left: 91.666667%; + } + } + + @media (min-width: $screen-md) { + .col-md { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + order: -1; + } + .order-md-last { + order: 13; + } + .order-md-0 { + order: 0; + } + .order-md-1 { + order: 1; + } + .order-md-2 { + order: 2; + } + .order-md-3 { + order: 3; + } + .order-md-4 { + order: 4; + } + .order-md-5 { + order: 5; + } + .order-md-6 { + order: 6; + } + .order-md-7 { + order: 7; + } + .order-md-8 { + order: 8; + } + .order-md-9 { + order: 9; + } + .order-md-10 { + order: 10; + } + .order-md-11 { + order: 11; + } + .order-md-12 { + order: 12; + } + .offset-md-0, + .col-md-offset-0 { + margin-left: 0; + } + .offset-md-1, + .col-md-offset-1 { + margin-left: 8.333333%; + } + .offset-md-2, + .col-md-offset-2 { + margin-left: 16.666667%; + } + .offset-md-3, + .col-md-offset-3 { + margin-left: 25%; + } + .offset-md-4, + .col-md-offset-4 { + margin-left: 33.333333%; + } + .offset-md-5, + .col-md-offset-5 { + margin-left: 41.666667%; + } + .offset-md-6, + .col-md-offset-6 { + margin-left: 50%; + } + .offset-md-7, + .col-md-offset-7 { + margin-left: 58.333333%; + } + .offset-md-8, + .col-md-offset-8 { + margin-left: 66.666667%; + } + .offset-md-9, + .col-md-offset-9 { + margin-left: 75%; + } + .offset-md-10, + .col-md-offset-10 { + margin-left: 83.333333%; + } + .offset-md-11, + .col-md-offset-11 { + margin-left: 91.666667%; + } + } + + @media (min-width: $screen-lg) { + .col-lg { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + order: -1; + } + .order-lg-last { + order: 13; + } + .order-lg-0 { + order: 0; + } + .order-lg-1 { + order: 1; + } + .order-lg-2 { + order: 2; + } + .order-lg-3 { + order: 3; + } + .order-lg-4 { + order: 4; + } + .order-lg-5 { + order: 5; + } + .order-lg-6 { + order: 6; + } + .order-lg-7 { + order: 7; + } + .order-lg-8 { + order: 8; + } + .order-lg-9 { + order: 9; + } + .order-lg-10 { + order: 10; + } + .order-lg-11 { + order: 11; + } + .order-lg-12 { + order: 12; + } + .offset-lg-0, + .col-lg-offset-0 { + margin-left: 0; + } + .offset-lg-1, + .col-lg-offset-1 { + margin-left: 8.333333%; + } + .offset-lg-2, + .col-lg-offset-2 { + margin-left: 16.666667%; + } + .offset-lg-3, + .col-lg-offset-3 { + margin-left: 25%; + } + .offset-lg-4, + .col-lg-offset-4 { + margin-left: 33.333333%; + } + .offset-lg-5, + .col-lg-offset-5 { + margin-left: 41.666667%; + } + .offset-lg-6, + .col-lg-offset-6 { + margin-left: 50%; + } + .offset-lg-7, + .col-lg-offset-7 { + margin-left: 58.333333%; + } + .offset-lg-8, + .col-lg-offset-8 { + margin-left: 66.666667%; + } + .offset-lg-9, + .col-lg-offset-9 { + margin-left: 75%; + } + .offset-lg-10, + .col-lg-offset-10 { + margin-left: 83.333333%; + } + .offset-lg-11, + .col-lg-offset-11 { + margin-left: 91.666667%; + } + } + + @media (min-width: $screen-xl) { + .col-xl { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + order: -1; + } + .order-xl-last { + order: 13; + } + .order-xl-0 { + order: 0; + } + .order-xl-1 { + order: 1; + } + .order-xl-2 { + order: 2; + } + .order-xl-3 { + order: 3; + } + .order-xl-4 { + order: 4; + } + .order-xl-5 { + order: 5; + } + .order-xl-6 { + order: 6; + } + .order-xl-7 { + order: 7; + } + .order-xl-8 { + order: 8; + } + .order-xl-9 { + order: 9; + } + .order-xl-10 { + order: 10; + } + .order-xl-11 { + order: 11; + } + .order-xl-12 { + order: 12; + } + .offset-xl-0, + .col-xl-offset-0 { + margin-left: 0; + } + .offset-xl-1, + .col-xl-offset-1 { + margin-left: 8.333333%; + } + .offset-xl-2, + .col-xl-offset-2 { + margin-left: 16.666667%; + } + .offset-xl-3, + .col-xl-offset-3 { + margin-left: 25%; + } + .offset-xl-4, + .col-xl-offset-4 { + margin-left: 33.333333%; + } + .offset-xl-5, + .col-xl-offset-5 { + margin-left: 41.666667%; + } + .offset-xl-6, + .col-xl-offset-6 { + margin-left: 50%; + } + .offset-xl-7, + .col-xl-offset-7 { + margin-left: 58.333333%; + } + .offset-xl-8, + .col-xl-offset-8 { + margin-left: 66.666667%; + } + .offset-xl-9, + .col-xl-offset-9 { + margin-left: 75%; + } + .offset-xl-10, + .col-xl-offset-10 { + margin-left: 83.333333%; + } + .offset-xl-11, + .col-xl-offset-11 { + margin-left: 91.666667%; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_list-view.scss b/themesource/atlas_core/web/core/widgets/_list-view.scss new file mode 100644 index 0000000..efef338 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_list-view.scss @@ -0,0 +1,96 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin list-view() { + /* ========================================================================== + List view + + Default Mendix list view widget. The list view shows a list of objects arranged vertically. Each object is shown using a template + ========================================================================== */ + .mx-listview { + // Remove widget padding + padding: 0; + /* Clear search button (overrides load more button stying) */ + & > ul { + margin: 0 0 $spacing-medium; + + .mx-listview-empty { + border-style: none; + background-color: transparent; + } + + & > li { + @include transition(); + background-color: #fff; + padding: $spacing-medium; + border-top: 1px solid $grid-border-color; + + &:last-child { + border-bottom: 1px solid $grid-border-color; + } + + &:focus, + &:active { + outline: 0; + } + } + } + + .selected { + background: $color-primary-light; + } + + .mx-layoutgrid { + padding: 0 !important; + } + } + + // Search bar + .mx-listview-searchbar { + margin-bottom: $spacing-medium; + + .btn { + width: auto; + } + } + + /* Load more button */ + .btn.mx-listview-loadMore { + width: 100%; + margin: 0 0 $spacing-medium; + } + + //== Phone specific + //-------------------------------------------------------------------------------------------------------------------// + .profile-phone .mx-listview { + .mx-listview-searchbar { + margin-bottom: 3px; + background: #ffffff; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.14); + + input { + padding: 14px 15px; + color: #555555; + border-style: none; + border-radius: 0; + box-shadow: none; + } + + .btn { + padding: 14px 15px; + color: inherit; + border-style: none; + } + } + + & > ul > li { + &:first-child { + border-top: none; + } + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_modal.scss b/themesource/atlas_core/web/core/widgets/_modal.scss new file mode 100644 index 0000000..6130c36 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_modal.scss @@ -0,0 +1,128 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin modal() { + /* ========================================================================== + Modal + + Default Mendix modals. Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults + ========================================================================== */ + .modal-dialog { + .modal-content { + border: 1px solid $modal-header-border-color; + border-radius: 4px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); + + .modal-header { + padding: 15px 20px; + border-bottom-color: $modal-header-border-color; + border-radius: 0; // Because of the class .mx-window-active in mxui.css + background-color: $modal-header-bg; + + h4 { + margin: 0; + color: $modal-header-color; + font-size: 16px; + font-weight: $font-weight-bold; + } + + .close { + margin-top: -3px; + opacity: 1; + /* For IE8 and earlier */ + color: $modal-header-color; + text-shadow: none; + } + } + + .modal-body { + } + + .modal-footer { + display: flex; + justify-content: flex-end; + margin-top: 0; + padding: 20px; + border-style: none; + } + } + } + + // Default Mendix Window Modal + .mx-window { + // If popup direct child is a dataview it gets the class mx-window-view + &.mx-window-view .mx-window-body { + overflow: hidden; // hide second scrollbar in edit page + padding: 0; + // Dataview in popup + > .mx-dataview > .mx-dataview-content, + > .mx-placeholder > .mx-dataview > .mx-dataview-content { + padding: 20px; + } + + > .mx-dataview > .mx-dataview-controls, + > .mx-placeholder > .mx-dataview > .mx-dataview-controls { + display: flex; + justify-content: flex-end; + margin: 0; + padding: 20px; + text-align: left; + border-top: 1px solid $modal-header-border-color; + } + } + + .mx-dataview-controls { + padding-bottom: 0; + } + + .mx-layoutgrid { + padding-right: 0; + padding-left: 0; + } + } + + .mx-dialog .modal-body { + padding: 24px; + } + + // Login modal + .mx-login { + .modal-body { + padding: 0 15px; + } + + .modal-content { + input { + height: 56px; + padding: 12px 12px; + border: 1px solid #eeeeee; + background: #eeeeee; + box-shadow: none; + font-size: 16px; + + &:focus { + border-color: #66afe9; + } + } + } + + .modal-header, + .modal-footer { + border: 0; + } + + button { + font-size: 16px; + } + + h4 { + color: #aaaaaa; + font-size: 20px; + font-weight: $font-weight-bold; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_navigation-bar.scss b/themesource/atlas_core/web/core/widgets/_navigation-bar.scss new file mode 100644 index 0000000..fbf84d3 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_navigation-bar.scss @@ -0,0 +1,153 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin navigation-bar() { + /* ========================================================================== + Navigation + + Default Mendix navigation bar + ========================================================================== */ + .mx-navbar { + margin: 0; + border-style: none; + border-radius: 0; + background-color: $navigation-bg; + + ul.nav { + margin: 0; // weird -margin if screen gets small (bootstrap) + /* Navigation item */ + & > li.mx-navbar-item > a { + display: flex; + align-items: center; + padding: $navigation-item-padding; + vertical-align: middle; + color: $navigation-color; + border-radius: 0; + font-size: $navigation-font-size; + font-weight: $font-weight-normal; + border-radius: $border-radius-default; + + /* Dropdown arrow */ + .caret { + border-top-color: $navigation-color; + border-bottom-color: $navigation-color; + } + + &:hover, + &:focus, + &.active { + text-decoration: none; + color: $navigation-color-hover; + background-color: $navigation-bg-hover; + + .caret { + border-top-color: $navigation-color-active; + border-bottom-color: $navigation-color-active; + } + } + + &.active { + color: $navigation-color-active; + background-color: $navigation-bg-active; + opacity: 1; + } + + /* Dropdown */ + .mx-navbar-submenu::before { + position: absolute; + top: -9px; + left: 15px; + width: 0; + height: 0; + content: ""; + transform: rotate(360deg); + border-width: 0 9px 9px 9px; + border-style: solid; + border-color: transparent transparent $navigation-border-color transparent; + } + + // Image + img { + width: 20px; // Default size (so it looks good) + height: auto; + margin-right: 0.5em; + } + + .glyphicon { + top: 0; + margin-right: 0.5em; + vertical-align: middle; + font-size: $navigation-glyph-size; + } + } + + & > .mx-navbar-item.active a { + color: $navigation-color-active; + } + + /* When hovering or the dropdown is open */ + & > .mx-navbar-item > a:hover, + & > .mx-navbar-item > a:focus, + & > .mx-navbar-item.open > a, + & > .mx-navbar-item.open > a:hover, + & > .mx-navbar-item.open > a:focus { + text-decoration: none; + color: $navigation-color-hover; + background-color: $navigation-bg-hover; + + .caret { + border-top-color: $navigation-color-hover; + border-bottom-color: $navigation-color-hover; + } + } + + & > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a { + color: $navigation-sub-color-active; + background-color: $navigation-sub-bg-active; + + .caret { + border-top-color: $navigation-sub-color-active; + border-bottom-color: $navigation-sub-color-active; + } + } + } + @media (max-width: $screen-md) { + ul.nav > li.mx-navbar-item > a { + padding: 10px 24px; + } + .mx-navbar-item.open .dropdown-menu { + padding: 0; + border-radius: 0; + background-color: $navigation-sub-bg; + + & > li.mx-navbar-subitem > a { + padding: 10px 24px; + color: $navigation-sub-color; + border-radius: 0; + font-size: $navigation-sub-font-size; + font-weight: $font-weight-normal; + + &:hover, + &:focus { + color: $navigation-sub-color-hover; + background-color: $navigation-sub-bg-hover; + } + + &.active { + color: $navigation-sub-color-active; + background-color: $navigation-sub-bg-active; + } + } + } + } + + /* remove focus */ + &:focus { + outline: 0; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_navigation-list.scss b/themesource/atlas_core/web/core/widgets/_navigation-list.scss new file mode 100644 index 0000000..9dd9788 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_navigation-list.scss @@ -0,0 +1,40 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin navigation-list() { + /* ========================================================================== + Navigation list + + Default Mendix navigation list widget. A navigation list can be used to attach an action to an entire row. Such a row is called a navigation list item + ========================================================================== */ + .mx-navigationlist { + margin: 0; + padding: 0; + list-style: none; + + li.mx-navigationlist-item { + @include transition(); + padding: $spacing-medium; + border-width: 1px; + border-style: none none solid none; + border-color: $grid-border-color; + border-radius: 0; + background-color: $grid-bg; + + &:hover, + &:focus { + color: inherit; + background-color: $grid-bg-hover; + } + + &.active { + color: inherit; + background-color: $grid-bg-selected; + } + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_navigation-tree.scss b/themesource/atlas_core/web/core/widgets/_navigation-tree.scss new file mode 100644 index 0000000..5eb54dc --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_navigation-tree.scss @@ -0,0 +1,127 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin navigation-tree() { + /* ========================================================================== + Navigation + + Default Mendix navigation tree + ========================================================================== */ + .mx-navigationtree { + background-color: $navigation-bg; + + /* Every navigation item */ + .navbar-inner > ul { + margin: 0; + padding-left: 0; + + & > li { + padding: 0; + border-style: none; + + & > a { + display: flex; + align-items: center; + height: $navigation-item-height; + padding: $navigation-item-padding; + color: $navigation-color; + //border-bottom: 1px solid $navigation-border-color; + //border-radius: 0; + background-color: $navigation-bg; + text-shadow: none; + font-size: $navigation-font-size; + font-weight: $font-weight-normal; + + .caret { + border-top-color: $navigation-color; + border-bottom-color: $navigation-color; + } + + img { + width: 20px; // Default size + height: auto; + margin-right: 0.5em; + } + + .glyphicon { + top: 0; + margin-right: 0.5em; + vertical-align: middle; + font-size: $navigation-glyph-size; + } + } + + a:hover, + a:focus, + a.active { + text-decoration: none; + color: $navigation-color-hover; + background-color: $navigation-bg-hover; + + .caret { + border-top-color: $navigation-color-active; + border-bottom-color: $navigation-color-active; + } + } + + a.active { + color: $navigation-color-active; + border-left-color: $navigation-color-active; + background-color: $navigation-bg-active; + } + } + } + + /* Sub navigation item specific */ + li.mx-navigationtree-has-items { + & > ul { + margin: 0; + padding-left: 0; + background-color: $navigation-sub-bg; + + li { + margin: 0; + padding: 0; + border: 0; + + a { + padding: $spacing-medium; + text-decoration: none; + color: $navigation-sub-color; + border: 0; + background-color: $navigation-sub-bg; + text-shadow: none; + font-size: $navigation-sub-font-size; + font-weight: $font-weight-normal; + .glyphicon { + margin-right: $spacing-small; + } + + &:hover, + &:focus, + &.active { + color: $navigation-sub-color-hover; + outline: 0; + background-color: $navigation-sub-bg-hover; + } + + &.active { + color: $navigation-sub-color-active; + border: 0; + background-color: $navigation-sub-bg-active; + } + } + } + } + } + + /* remove focus */ + &:focus { + outline: 0; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_pagination.scss b/themesource/atlas_core/web/core/widgets/_pagination.scss new file mode 100644 index 0000000..1a60d75 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_pagination.scss @@ -0,0 +1,80 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin pagination() { + /* ========================================================================== + Pagination + + Default Mendix pagination widget. + ========================================================================== */ + + .widget-pagination { + overflow: unset; + + .pagination { + overflow: unset; + + .btn { + &:hover { + color: $btn-default-color; + background-color: $btn-default-bg-hover; + } + + &:focus { + outline: unset; + outline-offset: unset; + box-shadow: 0 0 0 0.3rem $color-primary-light; + } + } + + ul { + margin-top: unset; + margin-bottom: unset; + + li { + display: inline-flex; + align-items: center; + width: unset; + min-width: 24px; + min-height: 24px; + margin-right: 16px; + padding: 4px 8px; + transition: all 0.2s ease-in-out; + color: $font-color-default; + border-radius: $border-radius-default; + + &:last-child { + margin-right: 0; + } + + &:not(.break-view) { + &:hover { + color: $btn-default-color; + background-color: $btn-default-bg-hover; + } + + &:focus { + outline: unset; + outline-offset: unset; + box-shadow: 0 0 0 0.3rem $color-primary-light; + } + + &.active { + color: $btn-primary-color; + background-color: $btn-primary-bg; + } + + &.active:hover { + color: $btn-primary-color; + background-color: $btn-primary-bg-hover; + } + } + } + } + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_pop-up-menu.scss b/themesource/atlas_core/web/core/widgets/_pop-up-menu.scss new file mode 100644 index 0000000..c042877 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_pop-up-menu.scss @@ -0,0 +1,121 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin pop-up-menu() { + /* ========================================================================== + Pop-up menu + + Default Mendix pop-up menu + ========================================================================== */ + .popupmenu { + position: relative; + display: inline-flex; + } + + .popupmenu-trigger { + cursor: pointer; + } + + .popupmenu-menu { + position: absolute; + z-index: 999; + display: none; + flex-direction: column; + width: max-content; + border-radius: 8px; + background-color: $bg-color; + box-shadow: 0 2px 20px 1px rgba(5, 15, 129, 0.05), 0 2px 16px 0 rgba(33, 43, 54, 0.08); + + &.popupmenu-position-left { + top: 0; + left: 0; + transform: translateX(-100%); + } + + &.popupmenu-position-right { + top: 0; + right: 0; + transform: translateX(100%); + } + + &.popupmenu-position-top { + top: 0; + transform: translateY(-100%); + } + + &.popupmenu-position-bottom { + bottom: 0; + transform: translateY(100%); + } + + .popupmenu-basic-item:first-child, + .popupmenu-custom-item:first-child { + border-top-left-radius: 8px; + border-top-right-radius: 8px; + } + + .popupmenu-basic-item:last-child, + .popupmenu-custom-item:last-child { + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; + } + } + + .popupmenu-basic-divider { + width: 100%; + height: 1px; + background-color: $brand-default; + } + + .popupmenu-basic-item { + padding: 12px 16px; + color: $font-color-default; + font-size: 14px; + + &:hover, + &:focus, + &:active { + cursor: pointer; + border-color: $bg-color-secondary; + background-color: $bg-color-secondary; + } + + &-inverse { + color: $brand-inverse; + } + + &-primary { + color: $brand-primary; + } + + &-info { + color: $brand-info; + } + + &-success { + color: $brand-success; + } + + &-warning { + color: $brand-warning; + } + + &-danger { + color: $brand-danger; + } + } + + .popupmenu-custom-item { + &:hover, + &:focus, + &:active { + cursor: pointer; + border-color: $bg-color-secondary; + background-color: $bg-color-secondary; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_progress-bar.scss b/themesource/atlas_core/web/core/widgets/_progress-bar.scss new file mode 100644 index 0000000..474fb70 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_progress-bar.scss @@ -0,0 +1,61 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin progress-bar() { + /* ========================================================================== + Progress bar + + Default Mendix progress bar widget. + ========================================================================== */ + + .progress { + overflow: hidden; + display: flex; + flex-direction: row; + } + + .progress-bar { + align-self: flex-start; + width: 0; + height: 100%; + transition: width 0.6s ease; + text-align: center; + color: #ffffff; + border-radius: $border-radius-default; + font-weight: $font-weight-semibold; + } + + .progress-striped .progress-bar, + .progress-bar-striped { + background-image: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.15) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.15) 50%, + rgba(255, 255, 255, 0.15) 75%, + transparent 75%, + transparent + ); + background-size: 40px 40px; + } + + .widget-progress-bar.active .progress-bar, + .progress.active .progress-bar, + .progress-bar.active { + animation: progress-bar-stripes 2s linear infinite; + } + + @keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_progress-circle.scss b/themesource/atlas_core/web/core/widgets/_progress-circle.scss new file mode 100644 index 0000000..86b28b5 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_progress-circle.scss @@ -0,0 +1,22 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin progress-circle() { + /* ========================================================================== + Progress Circle + + Default Mendix progress circle widget. + ========================================================================== */ + + .widget-progress-circle { + display: inline-block; + } + + .widget-progress-circle-trail-path { + stroke: $bg-color; + } +} diff --git a/themesource/atlas_core/web/core/widgets/_progress.scss b/themesource/atlas_core/web/core/widgets/_progress.scss new file mode 100644 index 0000000..fc87d33 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_progress.scss @@ -0,0 +1,65 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin progress() { + /* ========================================================================== + Progress + + Default Mendix progress widget. + ========================================================================== */ + + .mx-progress { + color: $font-color-default; + background: $bg-color-secondary; + + .mx-progress-message { + color: $font-color-default; + } + + .mx-progress-indicator { + position: relative; + overflow: hidden; + width: 100%; + max-width: 100%; + height: 2px; + margin: auto; + padding: 0; + border-radius: 0; + background: $gray-lighter; + + &:before, + &:after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 50%; + height: 2px; + content: ""; + transform: translate3d(-100%, 0, 0); + background: $brand-primary; + } + + &::before { + animation: loader 2s infinite; + } + + &::after { + animation: loader 2s -2s infinite; + } + } + } + + @keyframes loader { + 0% { + transform: translate3d(-100%, 0, 0); + } + 100% { + transform: translate3d(200%, 0, 0); + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_radio-button.scss b/themesource/atlas_core/web/core/widgets/_radio-button.scss new file mode 100644 index 0000000..ad2771a --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_radio-button.scss @@ -0,0 +1,108 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin radio-button() { + /* ========================================================================== + Radio button + + Default Mendix radio button widget + ========================================================================== */ + .mx-radiobuttons.inline .mx-radiogroup { + display: flex; + flex-direction: row; + + .radio { + margin: 0 20px 0 0; + } + } + + .mx-radiobuttons .radio:last-child { + margin-bottom: 0; + } + + .radio { + display: flex !important; // Remove after mxui merge + align-items: center; + margin-top: 0; + } + + input[type="radio"] { + position: relative !important; // Remove after mxui merge + width: 16px; + height: 16px; + margin: 0; + cursor: pointer; + -webkit-user-select: none; + user-select: none; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + + &:before, + &:after { + position: absolute; + display: block; + transition: all 0.3s ease-in-out; + border-radius: 50%; + } + + &:before { + width: 100%; + height: 100%; + content: ""; + border: 1px solid $form-input-border-color; + background-color: transparent; + } + + &:after { + top: 50%; + left: 50%; + width: 50%; + height: 50%; + transform: translate(-50%, -50%); + pointer-events: none; + background-color: $form-input-border-focus-color; + } + + &:not(:checked):after { + transform: translate(-50%, -50%) scale(0); + opacity: 0; + } + + &:not(:disabled):not(:checked):hover:after { + background-color: $form-input-bg-hover; + } + + &:checked:after, + &:not(:disabled):not(:checked):hover:after { + content: ""; + transform: translate(-50%, -50%) scale(1); + opacity: 1; + } + + &:checked:before { + border-color: $form-input-border-focus-color; + background-color: $form-input-bg; + } + + &:disabled:before { + background-color: $form-input-bg-disabled; + } + + &:checked:disabled:before { + border-color: rgba($form-input-border-focus-color, 0.4); + } + + &:checked:disabled:after { + background-color: rgba($form-input-border-focus-color, 0.4); + } + + & + label { + margin-left: $form-label-gutter; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_range-slider.scss b/themesource/atlas_core/web/core/widgets/_range-slider.scss new file mode 100644 index 0000000..ee482d5 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_range-slider.scss @@ -0,0 +1,121 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin range-slider() { + /* ========================================================================== + Range slider + + Default Mendix range slider widget. + ========================================================================== */ + + .widget-range-slider { + margin-bottom: 16px; + padding: 4px 12px; + + .rc-slider-handle, + .rc-slider-dot-active { + border-color: #dddddd; + } + + .rc-slider.rc-slider-disabled { + background-color: transparent; + } + + .rc-slider.rc-slider-with-marks { + padding-bottom: 25px; + } + + &.has-error { + .rc-slider-track, + .rc-slider-rail { + background-color: $brand-danger; + } + } + } + + .rc-slider { + position: relative; + box-sizing: border-box; + width: 100%; + height: 14px; + padding: 4px 0; + border-radius: 6px; + touch-action: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + } + + .rc-slider-rail { + position: absolute; + width: 100%; + height: 4px; + border-radius: 6px; + background-color: #e9e9e9; + } + + .rc-slider-track { + position: absolute; + left: 0; + height: 4px; + border-radius: 6px; + } + + .rc-slider-step { + position: absolute; + width: 100%; + height: 4px; + background: transparent; + } + + .rc-slider-handle, + .rc-slider-dot-active { + position: absolute; + width: 14px; + height: 14px; + margin-top: -5px; + margin-left: -7px; + cursor: grab; + border: 2px solid $brand-default; + border-radius: 50%; + background-color: #ffffff; + touch-action: pan-x; + + &:focus { + border-color: #57c5f7; + outline: none; + box-shadow: 0 0 0 5px #96dbfa; + } + + &:active { + border-color: $brand-default; + box-shadow: none; + } + + &:hover { + border-color: $brand-default; + } + } + + .rc-slider-mark { + position: absolute; + top: 18px; + left: 0; + width: 100%; + font-size: 12px; + } + + .rc-slider-disabled .rc-slider-handle, + .rc-slider-disabled .rc-slider-dot { + cursor: not-allowed; + border-color: #cccccc; + background-color: #ffffff; + box-shadow: none; + } + + .rc-slider-tooltip { + z-index: 999; + } +} diff --git a/themesource/atlas_core/web/core/widgets/_rating.scss b/themesource/atlas_core/web/core/widgets/_rating.scss new file mode 100644 index 0000000..1bb5b45 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_rating.scss @@ -0,0 +1,30 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin rating() { + /* ========================================================================== + Rating + + Default Mendix rating widget. + ========================================================================== */ + + .widget-star-rating-empty { + color: #cccccc; + } + + .widget-star-rating-full-widget { + color: #ffa611; + } + + .widget-star-rating-full-default { + color: #ced0d3; + } + + .widget-star-rating-font-medium { + font-size: 30px; + } +} diff --git a/themesource/atlas_core/web/core/widgets/_simple-menu-bar.scss b/themesource/atlas_core/web/core/widgets/_simple-menu-bar.scss new file mode 100644 index 0000000..1f84b66 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_simple-menu-bar.scss @@ -0,0 +1,229 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// +@mixin simple-menu-bar() { + /* ========================================================================== + Navigation + + Default Mendix simple menu bar + ========================================================================== */ + .mx-menubar { + padding: 0; + background-color: $navigation-bg; + + ul.mx-menubar-list { + display: flex; + width: 100%; + min-height: 58px; + + li.mx-menubar-item { + margin: 0; + + > a { + display: flex; + overflow: hidden; + align-items: center; + justify-content: center; + height: 100%; + padding: $navigation-item-padding; + white-space: nowrap; + color: $navigation-color; + border-radius: 0; + font-size: $navigation-font-size; + font-weight: $font-weight-normal; + + img { + margin-right: 0.5em; + } + + .glyphicon { + top: -1px; + margin-right: 0.5em; + vertical-align: middle; + font-size: $navigation-glyph-size; + } + } + + a:hover, + a:focus, + &:hover a, + &:focus a, + &.active a { + text-decoration: none; + color: $navigation-color-hover; + background-color: $navigation-bg-hover; + } + + &.active a { + color: $navigation-color-active; + background-color: $navigation-bg-active; + } + } + } + + /* remove focus */ + &:focus { + outline: 0; + } + } + + // Vertical variation specifics + .mx-menubar-vertical { + background-color: $navigation-bg; + + ul.mx-menubar-list { + display: flex; + flex-direction: column; + + li.mx-menubar-item { + display: block; + + a { + border-bottom: 1px solid $navigation-border-color; + } + } + } + } + + // Horizontal variation specifics + .mx-menubar-horizontal { + box-shadow: 2px 0 4px 0 rgba(0, 0, 0, 0.14); + + ul.mx-menubar-list { + li.mx-menubar-item { + width: auto; + + a { + width: 100%; + } + } + } + + /* Two menu items */ + &.menubar-col-6 ul.mx-menubar-list li.mx-menubar-item { + width: 50%; + } + + /* Three menu items */ + &.menubar-col-4 ul.mx-menubar-list li.mx-menubar-item { + width: 33.33333333%; + } + + /* Four menu items */ + &.menubar-col-3 ul.mx-menubar-list li.mx-menubar-item { + width: 25%; + } + + /* Five menu items */ + &.menubar-col-2 ul.mx-menubar-list li.mx-menubar-item { + width: 20%; + } + } + + //== Regions + //## Behavior in the different regions + //-------------------------------------------------------------------------------------------------------------------// + // When used in topbar + .region-topbar { + .mx-menubar { + background-color: $navtopbar-bg; + + ul.mx-menubar-list { + li.mx-menubar-item { + a { + color: $navtopbar-color; + font-size: $navtopbar-font-size; + + .glyphicon { + font-size: $navtopbar-glyph-size; + } + } + + a:hover, + a:focus, + &:hover a, + &:focus a, + &.active a { + color: $navtopbar-color-hover; + background-color: $navtopbar-bg-hover; + } + + &.active a { + color: $navtopbar-color-active; + background-color: $navtopbar-bg-active; + } + } + } + } + + // Vertical variation specifics + .mx-menubar-vertical { + background-color: $navtopbar-bg; + + ul.mx-menubar-list { + li.mx-menubar-item { + a { + height: $navigation-item-height; + border-color: $navtopbar-border-color; + } + } + } + } + } + + // When used in sidebar + .region-sidebar { + .mx-menubar { + background-color: $navsidebar-bg; + + ul.mx-menubar-list { + li.mx-menubar-item { + a { + color: $navsidebar-color; + font-size: $navsidebar-font-size; + + .glyphicon { + font-size: $navsidebar-glyph-size; + } + } + + a:hover, + a:focus, + &:hover a, + &:focus a, + &.active a { + color: $navsidebar-color-hover; + background-color: $navsidebar-bg-hover; + } + + &.active a { + color: $navsidebar-color-active; + background-color: $navsidebar-bg-active; + } + } + } + } + + // Vertical variation specifics + .mx-menubar-vertical { + background-color: $navsidebar-bg; + + ul.mx-menubar-list { + li.mx-menubar-item { + a { + border-color: $navsidebar-border-color; + } + } + } + } + } + + @supports (padding-bottom: env(safe-area-inset-bottom)) { + .mx-menubar { + padding-bottom: env(safe-area-inset-bottom); + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_slider.scss b/themesource/atlas_core/web/core/widgets/_slider.scss new file mode 100644 index 0000000..4a23a5c --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_slider.scss @@ -0,0 +1,35 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin slider() { + /* ========================================================================== + Slider + + Default Mendix slider widget. + ========================================================================== */ + + .widget-slider { + margin-bottom: 16px; + padding: 5px 10px; + + .rc-slider-handle, + .rc-slider-dot-active { + border-color: #dddddd; + } + + .rc-slider.rc-slider-with-marks { + padding-bottom: 25px; + } + + &.has-error { + .rc-slider-track, + .rc-slider-rail { + background-color: $brand-danger; + } + } + } +} diff --git a/theme/styles/web/sass/core/widgetscustom/_switchwidget.scss b/themesource/atlas_core/web/core/widgets/_switch.scss similarity index 66% rename from theme/styles/web/sass/core/widgetscustom/_switchwidget.scss rename to themesource/atlas_core/web/core/widgets/_switch.scss index 14dd591..01b89c4 100644 --- a/theme/styles/web/sass/core/widgetscustom/_switchwidget.scss +++ b/themesource/atlas_core/web/core/widgets/_switch.scss @@ -5,7 +5,7 @@ // To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. // -$default-android-color: #6FBEB5; +$default-android-color: #6fbeb5; $default-ios-color: rgb(100, 189, 99); @mixin bootstrap-style-ios($brand-style) { @@ -18,6 +18,32 @@ $default-ios-color: rgb(100, 189, 99); background-color: lighten($brand-style, 10%); } +@mixin style($brand-key, $brand-variable) { + div.widget-switch-brand-#{$brand-key} { + .widget-switch { + .widget-switch-btn-wrapper { + &.checked { + @include bootstrap-style-ios($brand-variable); + } + } + } + &.android { + .widget-switch { + .widget-switch-btn-wrapper { + &.checked { + @include bootstrap-style-android($brand-variable); + + .widget-switch-btn { + background: $brand-variable; + } + } + } + } + } + } +} + +// maintained for backwards compatibility prior to Switch 3.0.0. @mixin ios { .widget-switch-btn-wrapper { &.checked { @@ -52,6 +78,7 @@ $default-ios-color: rgb(100, 189, 99); } } +// maintained for backwards compatibility prior to Switch 3.0.0. @mixin android { .widget-switch-btn-wrapper { &.checked { @@ -114,42 +141,51 @@ $default-ios-color: rgb(100, 189, 99); } } -.widget-switch-btn-wrapper { - &:focus { - outline: 1px solid $brand-primary; +@mixin switch() { + .widget-switch-btn-wrapper { + &:focus { + outline: 1px solid $brand-primary; + } } -} -div { - &.widget-switch { - &.iOS { - @include ios; - } + @include style("primary", $brand-primary); + @include style("secondary", $brand-default); + @include style("success", $brand-success); + @include style("warning", $brand-warning); + @include style("danger", $brand-danger); - &.android { - @include android; - } + // below is maintained for backwards compatibility prior to Switch 3.0.0. + div { + &.widget-switch { + &.iOS { + @include ios; + } + + &.android { + @include android; + } - &.auto { - @include ios; + &.auto { + @include ios; + } } } -} -html { - div { - &.dj_android { - .widget-switch { - &.auto { - @include android; + html { + div { + &.dj_android { + .widget-switch { + &.auto { + @include android; + } } } - } - &.dj_ios { - .widget-switch { - &.auto { - @include ios; + &.dj_ios { + .widget-switch { + &.auto { + @include ios; + } } } } diff --git a/themesource/atlas_core/web/core/widgets/_tab-container.scss b/themesource/atlas_core/web/core/widgets/_tab-container.scss new file mode 100644 index 0000000..6720d8d --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_tab-container.scss @@ -0,0 +1,110 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin tab-container() { + /* ========================================================================== + Tab Container + + Default Mendix Tab Container Widget. Tab containers are used to show information categorized into multiple tab pages. + This can be very useful if the amount of information that has to be displayed is larger than the amount of space on the screen + ========================================================================== */ + + .mx-tabcontainer { + .mx-tabcontainer-tabs { + margin-bottom: $spacing-medium; + border-color: $tabs-border-color; + display: flex; + + > li { + float: none; + } + + & > li > a { + margin-right: 0; + transition: all 0.2s ease-in-out; + color: $tabs-color; + font-weight: $font-weight-normal; + border-radius: $border-radius-default $border-radius-default 0 0; + + &:hover, + &:focus { + background-color: $tabs-bg-hover; + } + } + + & > li.active > a, + & > li.active > a:hover, + & > li.active > a:focus { + color: $tabs-color-active; + border: 1px solid $tabs-border-color; + border-bottom-color: #fff; + background-color: $tabs-bg; + } + } + } + + // Tab Styling Specific for mobile + .tab-mobile.mx-tabcontainer { + & > .mx-tabcontainer-tabs { + margin: 0; + text-align: center; + border-style: none; + background-color: $brand-primary; + + li { + display: table-cell; + float: none; // reset bootstrap + width: 1%; + margin: 0; + text-align: center; + border-style: none; + border-radius: 0; + + a { + padding: 16px; + text-transform: uppercase; + color: #ffffff; + border-width: 0 1px 0 0; + border-style: solid; + border-color: rgba(255, 255, 255, 0.3); + border-radius: 0; + font-size: 12px; + font-weight: $font-weight-normal; + + &:hover, + &:focus { + background-color: inherit; + } + } + + &:last-child a { + border-right: none; + } + + &.active > a, + &.active > a:hover, + &.active > a:focus { + color: #ffffff; + border-style: none; + border-radius: 0; + background-color: mix($brand-primary, #000000, 80%); + } + } + } + } + + .mx-tabcontainer-badge { + margin-left: $spacing-small; + border-radius: $font-size-small; + background-color: $label-primary-bg; + color: $label-primary-color; + font-size: $font-size-small; + font-weight: $font-weight-bold; + line-height: 1; + padding: $spacing-small/2 $spacing-small; + } +} diff --git a/themesource/atlas_core/web/core/widgets/_table.scss b/themesource/atlas_core/web/core/widgets/_table.scss new file mode 100644 index 0000000..0e8aa2c --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_table.scss @@ -0,0 +1,89 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin table() { + /* ========================================================================== + Table + + Default Mendix table widget. Tables can be used to lend structure to a page. They contain a number of rows (tr) and columns, the intersection of which is called a cell (td). Each cell can contain widgets + ========================================================================== */ + + th { + font-weight: $font-weight-bold; + } + + html body .mx-page table.mx-table { + th, + td { + &.nopadding { + padding: 0; + } + } + } + + table.mx-table { + > tbody { + /* Table row */ + > tr { + /* Table header */ + > th { + padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom + $padding-table-cell-left; + + s * { + color: $form-label-color; + font-weight: $font-weight-bold; + font-weight: $form-label-weight; + } + + > label { + padding-top: 8px; + padding-bottom: 6px; // Aligns label in the middle if there is no input field next to it. + } + } + + /* Table cells */ + > td { + padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom + $padding-table-cell-left; + + > div > label, + .mx-referenceselector-input-wrapper label { + padding-top: 8px; + padding-bottom: 6px; // Aligns label in the middle if there is no input field next to it. + } + } + } + } + } + + // Default Mendix Table Widget inside TemplateGrid + .mx-templategrid table.mx-table { + > tbody { + > tr { + > th, + > td { + padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom + $padding-table-cell-left; + } + } + } + } + + // Default Mendix Table Widget inside Listview + .mx-list table.mx-table { + > tbody { + > tr { + > th, + > td { + padding: $padding-table-cell-top $padding-table-cell-right $padding-table-cell-bottom + $padding-table-cell-left; + } + } + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_template-grid.scss b/themesource/atlas_core/web/core/widgets/_template-grid.scss new file mode 100644 index 0000000..7c9ecdb --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_template-grid.scss @@ -0,0 +1,39 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin template-grid() { + /* ========================================================================== + Template grid + + Default Mendix template grid Widget. The template grid shows a list of objects in a tile view. For example, a template grid can show a list of products. The template grid has a lot in common with the data grid. The main difference is that the objects are shown in templates (a sort of small data view) instead of rows + ========================================================================== */ + + .mx-templategrid { + .mx-templategrid-content-wrapper { + table-layout: fixed; + } + + .mx-templategrid-item { + padding: $grid-padding-top $grid-padding-right $grid-padding-bottom $grid-padding-left; + cursor: default; + background-color: $grid-bg; + + &:hover { + background-color: transparent; + } + + &.selected { + background-color: $grid-bg-selected !important; + } + } + + .mx-layoutgrid { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + } +} diff --git a/themesource/atlas_core/web/core/widgets/_timeline.scss b/themesource/atlas_core/web/core/widgets/_timeline.scss new file mode 100644 index 0000000..4d83fe8 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_timeline.scss @@ -0,0 +1,141 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin timeline() { + /* ========================================================================== + Timeline + + Widget styles + ========================================================================== */ + + //Timeline grouping + .widget-timeline-date-header { + display: flex; + justify-content: center; + width: $timeline-grouping-size; + overflow-wrap: break-word; + padding: $spacing-small; + border: 1px solid $timeline-grouping-border-color; + border-radius: $timeline-grouping-border-radius; + } + + //Timeline entries + .widget-timeline-events-wrapper { + display: flex; + flex: 1; + margin-left: $timeline-grouping-size/2; + padding: $spacing-large 0 0 0; + border-left: 1px solid $timeline-border-color; + + ul { + flex: 1; + padding: 0; + list-style: none; + margin-bottom: 0; + } + } + + //Timeline entry + .widget-timeline-event { + flex: 1; + position: relative; + margin-left: -1px; + padding: 0 $spacing-large $spacing-large $spacing-large; + margin-bottom: $spacing-medium; + + &.clickable { + cursor: pointer; + transition: background 0.8s; + + &:hover { + .widget-timeline-title { + } + } + } + } + + //Timeline entry content wrapper + .widget-timeline-icon-wrapper { + position: absolute; + top: 0; + left: 0; + display: flex; + justify-content: center; + align-items: center; + transform: translateX(-50%); + + .glyphicon { + font-size: $timeline-icon-size; + } + + img { + max-width: 100%; + max-height: 100%; + } + } + + .widget-timeline-content-wrapper { + display: flex; + + .widget-timeline-date-time-wrapper { + order: 2; + margin-right: 0; + } + + .widget-timeline-info-wrapper { + flex: 1; + order: 1; + margin-right: $spacing-medium; + } + } + + .timeline-with-image .widget-timeline-content-wrapper { + display: flex; + + .widget-timeline-date-time-wrapper { + order: 1; + margin-right: $spacing-medium; + } + + .widget-timeline-info-wrapper { + flex: 1; + order: 2; + } + } + + //Timeline entry components + .widget-timeline-icon-circle { + width: $timeline-icon-size; + height: $timeline-icon-size; + border-radius: 50%; + background-color: $timeline-icon-color; + } + + .widget-timeline-title { + @extend h5; + } + + .widget-timeline-description { + } + + .widget-timeline-no-divider { + } + + .widget-eventTime { + @extend h5; + color: $timeline-event-time-color; + } + + .timeline-entry-image { + display: flex; + justify-content: center; + align-content: center; + border-radius: $border-radius-default; + height: $timeline-image-size; + width: $timeline-image-size; + } +} diff --git a/themesource/atlas_core/web/core/widgets/_typography.scss b/themesource/atlas_core/web/core/widgets/_typography.scss new file mode 100644 index 0000000..2b001f3 --- /dev/null +++ b/themesource/atlas_core/web/core/widgets/_typography.scss @@ -0,0 +1,78 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin typography() { + /* ========================================================================== + Typography + ========================================================================== */ + + p { + line-height: $line-height-base * 1.25; + margin: 0 0 $spacing-small; + } + + .mx-title { + margin: $font-header-margin; + color: $font-color-header; + font-size: $font-size-h1; + font-weight: $font-weight-header; + } + + h1, + .h1, + .h1 > * { + font-size: $font-size-h1; + } + + h2, + .h2, + .h2 > * { + font-size: $font-size-h2; + } + + h3, + .h3, + .h3 > * { + font-size: $font-size-h3; + } + + h4, + .h4, + .h4 > * { + font-size: $font-size-h4; + } + + h5, + .h5, + .h5 > * { + font-size: $font-size-h5; + } + + h6, + .h6, + .h6 > * { + font-size: $font-size-h6; + } + + h1, + h2, + h3, + h4, + h5, + h6, + .h1, + .h2, + .h3, + .h4, + .h5, + .h6 { + margin: $font-header-margin; + color: $font-color-header; + font-weight: $font-weight-header; + line-height: 1.3; + } +} diff --git a/themesource/atlas_core/web/core/widgetscustom/_dijit-widget.scss b/themesource/atlas_core/web/core/widgetscustom/_dijit-widget.scss new file mode 100644 index 0000000..8e338f7 --- /dev/null +++ b/themesource/atlas_core/web/core/widgetscustom/_dijit-widget.scss @@ -0,0 +1,206 @@ +// +// DISCLAIMER: +// Do not change this file because it is core styling. +// Customizing core files will make updating Atlas much more difficult in the future. +// To customize any core styling, copy the part you want to customize to styles/web/sass/app/ so the core styling is overwritten. +// + +@mixin dijit-widget() { + /* + * Mendix Documentation + * Special styles for presenting components + */ + + /* + * Dijit Widgets + * + * Default Dojo Dijit Widgets + */ + + /* + * Dijit Tooltip Widget + * + * Default tooltip used for Mendix widgets + */ + + .mx-tooltip { + .dijitTooltipContainer { + border-width: 1px; + border-color: $gray-light; + border-radius: 4px; + background: #ffffff; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + + .mx-tooltip-content { + padding: 12px; + } + + .form-group { + margin-bottom: 4px; + } + } + + .dijitTooltipConnector { + width: 0; + height: 0; + margin-left: -8px; + border-width: 10px 10px 10px 0; + border-style: solid; + border-color: transparent; + border-right-color: $gray-light; + } + } + + /* + * Dijit Border Container + * + * Used in Mendix as split pane containers + */ + + .dijitBorderContainer { + padding: 8px; + background-color: #fcfcfc; + + .dijitSplitterV, + .dijitGutterV { + width: 5px; + border: 0; + background: #fcfcfc; + } + + .dijitSplitterH, + .dijitGutterH { + height: 5px; + border: 0; + background: #fcfcfc; + } + + .dijitSplitterH { + .dijitSplitterThumb { + top: 2px; + width: 19px; + height: 1px; + background: #b0b0b0; + } + } + + .dijitSplitterV { + .dijitSplitterThumb { + left: 2px; + width: 1px; + height: 19px; + background: #b0b0b0; + } + } + + .dijitSplitContainer-child, + .dijitBorderContainer-child { + border: 1px solid #cccccc; + } + + .dijitBorderContainer-dijitTabContainerTop, + .dijitBorderContainer-dijitTabContainerBottom, + .dijitBorderContainer-dijitTabContainerLeft, + .dijitBorderContainer-dijitTabContainerRight { + border: none; + } + + .dijitBorderContainer-dijitBorderContainer { + padding: 0; + border: none; + } + + .dijitSplitterActive { + /* For IE8 and earlier */ + margin: 0; + opacity: 0.6; + background-color: #aaaaaa; + background-image: none; + font-size: 1px; + } + + .dijitSplitContainer-dijitContentPane, + .dijitBorderContainer-dijitContentPane { + padding: 8px; + background-color: #ffffff; + } + } + + /* + * Dijit Menu Popup + * + * Used in datepickers and calendar widgets + */ + + .dijitMenuPopup { + margin-top: 8px; + + .dijitMenu { + display: block; + width: 200px !important; + margin-top: 0; // No top margin because there is no parent with margin bottom + padding: 12px 8px; + border-radius: 3px; + background: $brand-inverse; + + &:after { + position: absolute; + bottom: 100%; + left: 20px; + width: 0; + height: 0; + margin-left: -8px; + content: " "; + pointer-events: none; + border: medium solid transparent; + border-width: 8px; + border-bottom-color: $brand-inverse; + } + + // Menu item + .dijitMenuItem { + background: transparent; + + .dijitMenuItemLabel { + display: block; + overflow: hidden; + width: 180px !important; + padding: 8px; + text-overflow: ellipsis; + color: #ffffff; + border-radius: 3px; + } + + // Hover + &.dijitMenuItemHover { + background: none; + + .dijitMenuItemLabel { + background: $brand-primary; + } + } + } + + // New label + .tg_newlabelmenuitem { + .dijitMenuItemLabel { + font-weight: $font-weight-bold; + } + } + + // Seperator + .dijitMenuSeparator { + td { + padding: 0; + border-bottom-width: 3px; + } + + .dijitMenuSeparatorIconCell { + > div { + margin: 0; //override dijit styling + } + } + } + } + } +} diff --git a/themesource/atlas_core/web/design-properties.json b/themesource/atlas_core/web/design-properties.json new file mode 100644 index 0000000..2cf5c8c --- /dev/null +++ b/themesource/atlas_core/web/design-properties.json @@ -0,0 +1,1114 @@ +{ + "Widget": [ + { + "name": "Spacing top", + "type": "Dropdown", + "description": "The spacing above this element.", + "options": [ + { + "name": "Outer none", + "oldNames": ["None"], + "class": "spacing-outer-top-none" + }, + { + "name": "Outer small", + "oldNames": ["Small"], + "class": "spacing-outer-top" + }, + { + "name": "Outer medium", + "oldNames": ["Medium"], + "class": "spacing-outer-top-medium" + }, + { + "name": "Outer large", + "oldNames": ["Large"], + "class": "spacing-outer-top-large" + }, + { + "name": "Inner none", + "class": "spacing-inner-top-none" + }, + { + "name": "Inner small", + "class": "spacing-inner-top" + }, + { + "name": "Inner medium", + "class": "spacing-inner-top-medium" + }, + { + "name": "Inner large", + "class": "spacing-inner-top-large" + } + ] + }, + { + "name": "Spacing bottom", + "type": "Dropdown", + "description": "The spacing below this element.", + "options": [ + { + "name": "Outer none", + "oldNames": ["None"], + "class": "spacing-outer-bottom-none" + }, + { + "name": "Outer small", + "oldNames": ["Small"], + "class": "spacing-outer-bottom" + }, + { + "name": "Outer medium", + "oldNames": ["Medium"], + "class": "spacing-outer-bottom-medium" + }, + { + "name": "Outer large", + "oldNames": ["Large"], + "class": "spacing-outer-bottom-large" + }, + { + "name": "Inner none", + "class": "spacing-inner-bottom-none" + }, + { + "name": "Inner small", + "class": "spacing-inner-bottom" + }, + { + "name": "Inner medium", + "class": "spacing-inner-bottom-medium" + }, + { + "name": "Inner large", + "class": "spacing-inner-bottom-large" + } + ] + }, + { + "name": "Spacing left", + "type": "Dropdown", + "description": "The spacing to the left of this element.", + "options": [ + { + "name": "Outer none", + "oldNames": ["None"], + "class": "spacing-outer-left-none" + }, + { + "name": "Outer small", + "oldNames": ["Small"], + "class": "spacing-outer-left" + }, + { + "name": "Outer medium", + "oldNames": ["Medium"], + "class": "spacing-outer-left-medium" + }, + { + "name": "Outer large", + "oldNames": ["Large"], + "class": "spacing-outer-left-large" + }, + { + "name": "Inner none", + "class": "spacing-inner-left-none" + }, + { + "name": "Inner small", + "class": "spacing-inner-left" + }, + { + "name": "Inner medium", + "class": "spacing-inner-left-medium" + }, + { + "name": "Inner large", + "class": "spacing-inner-left-large" + } + ] + }, + { + "name": "Spacing right", + "type": "Dropdown", + "description": "The spacing to the right of this element.", + "options": [ + { + "name": "Outer none", + "oldNames": ["None"], + "class": "spacing-outer-right-none" + }, + { + "name": "Outer small", + "oldNames": ["Small"], + "class": "spacing-outer-right" + }, + { + "name": "Outer medium", + "oldNames": ["Medium"], + "class": "spacing-outer-right-medium" + }, + { + "name": "Outer large", + "oldNames": ["Large"], + "class": "spacing-outer-right-large" + }, + { + "name": "Inner none", + "class": "spacing-inner-right-none" + }, + { + "name": "Inner small", + "class": "spacing-inner-right" + }, + { + "name": "Inner medium", + "class": "spacing-inner-right-medium" + }, + { + "name": "Inner large", + "class": "spacing-inner-right-large" + } + ] + }, + { + "name": "Align self", + "oldNames": ["Align Self"], + "type": "Dropdown", + "description": "Float the element to the left or to the right.", + "options": [ + { + "name": "Left", + "class": "pull-left" + }, + { + "name": "Right", + "class": "pull-right" + } + ] + }, + { + "name": "Hide on phone", + "oldNames": ["Hide On Phone"], + "type": "Toggle", + "description": "Hide element on phone.", + "class": "hide-phone" + }, + { + "name": "Hide on tablet", + "oldNames": ["Hide On Tablet"], + "type": "Toggle", + "description": "Hide element on tablet.", + "class": "hide-tablet" + }, + { + "name": "Hide on desktop", + "oldNames": ["Hide On Desktop"], + "type": "Toggle", + "description": "Hide element on desktop.", + "class": "hide-desktop" + } + ], + "DivContainer": [ + { + "name": "Align content", + "type": "Dropdown", + "description": "Align content of this element left, right or center it. Align elements inside the container as a row or as a column.", + "options": [ + { + "name": "Left align as a row", + "oldNames": ["Left align as row"], + "class": "row-left" + }, + { + "name": "Center align as a row", + "oldNames": ["Center align as row"], + "class": "row-center" + }, + { + "name": "Right align as a row", + "oldNames": ["Right align as row"], + "class": "row-right" + }, + { + "name": "Left align as a column", + "oldNames": ["Left align as column"], + "class": "col-left" + }, + { + "name": "Center align as a column", + "oldNames": ["Center align as column"], + "class": "col-center" + }, + { + "name": "Right align as a column", + "oldNames": ["Right align as column"], + "class": "col-right" + } + ] + }, + { + "name": "Background color", + "type": "Dropdown", + "description": "Change the background color of the container.", + "options": [ + { + "name": "Background Primary", + "oldNames": ["Background Default"], + "class": "background-main" + }, + { + "name": "Background Secondary", + "oldNames": ["Background Dashboard"], + "class": "background-secondary" + }, + { + "name": "Brand Primary", + "oldNames": ["Primary"], + "class": "background-primary" + }, + { + "name": "Brand Secondary", + "oldNames": ["Default", "Brand Default"], + "class": "background-default" + }, + { + "name": "Brand Success", + "oldNames": ["Success"], + "class": "background-success" + }, + { + "name": "Brand Warning", + "oldNames": ["Warning"], + "class": "background-warning" + }, + { + "name": "Brand Danger", + "oldNames": ["Danger"], + "class": "background-danger" + }, + { + "name": "Brand Gradient", + "class": "background-brand-gradient" + } + ] + }, + { + "name": "Shade", + "type": "Dropdown", + "description": "Apply a shade to your background color", + "options": [ + { + "name": "Light", + "class": "background-light" + }, + { + "name": "Dark", + "class": "background-dark" + } + ] + } + ], + "Button": [ + { + "name": "Size", + "type": "Dropdown", + "description": "Size of the buttons", + "options": [ + { + "name": "Small", + "class": "btn-sm" + }, + { + "name": "Large", + "class": "btn-lg" + } + ] + }, + { + "name": "Full width", + "type": "Toggle", + "description": "Extend the button to the full width of the container it is placed in.", + "class": "btn-block" + }, + { + "name": "Border", + "oldNames": ["Bordered"], + "type": "Toggle", + "description": "Style the button with a transparent background, a colored border, and colored text.", + "class": "btn-bordered" + }, + { + "name": "Align icon", + "type": "Dropdown", + "description": "Place the icon to the right or on top of the button.", + "options": [ + { + "name": "Right", + "class": "btn-icon-right" + }, + { + "name": "Top", + "class": "btn-icon-top" + } + ] + } + ], + "ListView": [ + { + "name": "Style", + "type": "Dropdown", + "description": "Change the appearance of rows in the list view.", + "options": [ + { + "name": "Lined", + "class": "listview-lined" + }, + { + "name": "Striped", + "class": "listview-striped" + }, + { + "name": "Bordered", + "class": "listview-bordered" + }, + { + "name": "No Styling", + "class": "listview-stylingless" + } + ] + }, + { + "name": "Hover style", + "type": "Toggle", + "description": "Highlight a row when hovering over it. Only useful when the row is clickable.", + "class": "listview-hover" + }, + { + "name": "Row Size", + "type": "Dropdown", + "description": "Change the row spacing of the list view.", + "options": [ + { + "name": "Small", + "class": "listview-sm" + }, + { + "name": "Large", + "class": "listview-lg" + } + ] + } + ], + "DataGrid": [ + { + "name": "Style", + "type": "Dropdown", + "description": "Choose one of the following styles to change the appearance of the data grid.", + "options": [ + { + "name": "Striped", + "class": "datagrid-striped" + }, + { + "name": "Bordered", + "class": "datagrid-bordered" + }, + { + "name": "Lined", + "class": "datagrid-lined" + } + ] + }, + { + "name": "Hover style", + "type": "Toggle", + "description": "Enable data grid hover to make the rows hoverable.", + "class": "datagrid-hover" + }, + { + "name": "Row size", + "type": "Dropdown", + "description": "Increase or decrease the row spacing of the data grid row.", + "options": [ + { + "name": "Small", + "class": "datagrid-sm" + }, + { + "name": "Large", + "class": "datagrid-lg" + } + ] + } + ], + "TemplateGrid": [ + { + "name": "Style", + "type": "Dropdown", + "description": "Choose one of the following styles to change the appearance of the template grid.", + "options": [ + { + "name": "Striped", + "class": "templategrid-striped" + }, + { + "name": "Bordered", + "class": "templategrid-bordered" + }, + { + "name": "Lined", + "class": "templategrid-lined" + }, + { + "name": "No styling", + "class": "templategrid-stylingless" + } + ] + }, + { + "name": "Hover style", + "type": "Toggle", + "description": "Enable template grid hover to make the rows hoverable.", + "class": "templategrid-hover" + } + ], + "GroupBox": [ + { + "name": "Style", + "type": "Dropdown", + "description": "Choose one of the following styles to change the appearance of the groupbox.", + "options": [ + { + "name": "Brand Primary", + "oldNames": ["Primary"], + "class": "groupbox-primary" + }, + { + "name": "Brand Secondary", + "oldNames": ["Default", "Brand Default"], + "class": "groupbox-secondary" + }, + { + "name": "Brand Success", + "oldNames": ["Success"], + "class": "groupbox-success" + }, + { + "name": "Brand Warning", + "oldNames": ["Warning"], + "class": "groupbox-warning" + }, + { + "name": "Brand Danger", + "oldNames": ["Danger"], + "class": "groupbox-danger" + }, + { + "name": "Transparent", + "class": "groupbox-transparent" + } + ] + }, + { + "name": "Callout style", + "type": "Toggle", + "description": "Enable the groupbox callout functionality to highlight the importance of the groupbox.", + "class": "groupbox-callout" + } + ], + "StaticImageViewer": [ + { + "name": "Style", + "type": "Dropdown", + "description": "Choose the style of your image.", + "options": [ + { + "name": "Rounded", + "class": "img-rounded" + }, + { + "name": "Thumbnail", + "class": "img-thumbnail" + }, + { + "name": "Circle", + "class": "img-circle" + } + ] + }, + { + "name": "Center", + "type": "Toggle", + "description": "Align the image in the center of an element.", + "class": "img-center" + }, + { + "name": "Fit", + "type": "Dropdown", + "description": "Choose the image fit.", + "options": [ + { + "name": "Fill", + "class": "img-fill" + }, + { + "name": "Contain", + "class": "img-contain" + }, + { + "name": "Cover", + "class": "img-cover" + }, + { + "name": "Scale-down", + "class": "img-scale-down" + } + ] + } + ], + "DynamicImageViewer": [ + { + "name": "Style", + "type": "Dropdown", + "description": "Choose the style of your image.", + "options": [ + { + "name": "Rounded", + "class": "img-rounded" + }, + { + "name": "Thumbnail", + "class": "img-thumbnail" + }, + { + "name": "Circle", + "class": "img-circle" + } + ] + }, + { + "name": "Center", + "type": "Toggle", + "description": "Align the image in the center of an element.", + "class": "img-center" + }, + { + "name": "Fit", + "type": "Dropdown", + "description": "Choose the image fit.", + "options": [ + { + "name": "Fill", + "class": "img-fill" + }, + { + "name": "Contain", + "class": "img-contain" + }, + { + "name": "Cover", + "class": "img-cover" + }, + { + "name": "Scale-down", + "class": "img-scale-down" + } + ] + } + ], + "Label": [ + { + "name": "Style", + "type": "Dropdown", + "description": "Change the appearance of a label.", + "options": [ + { + "name": "Brand Primary", + "oldNames": ["Primary"], + "class": "label-primary" + }, + { + "name": "Brand Secondary", + "oldNames": ["Default", "Brand Default"], + "class": "label-secondary" + }, + { + "name": "Brand Success", + "oldNames": ["Success"], + "class": "label-success" + }, + { + "name": "Brand Warning", + "oldNames": ["Warning"], + "class": "label-warning" + }, + { + "name": "Brand Danger", + "oldNames": ["Danger"], + "class": "label-danger" + } + ] + } + ], + "TabContainer": [ + { + "name": "Style", + "type": "Dropdown", + "description": "Change the appearance of the tab container", + "options": [ + { + "name": "Pills", + "class": "tab-pills" + }, + { + "name": "Lined", + "class": "tab-lined" + }, + { + "name": "Bordered", + "class": "tab-bordered" + }, + { + "name": "Wizard", + "class": "tab-wizard" + } + ] + }, + { + "name": "Tab Position", + "type": "Dropdown", + "description": "Change the position of the tabs", + "options": [ + { + "name": "Left", + "class": "tab-left" + }, + { + "name": "Center", + "class": "tab-center" + }, + { + "name": "Right", + "class": "tab-right" + } + ] + }, + { + "name": "Justify", + "type": "Toggle", + "description": "Justify the tabs to 100%", + "class": "tab-justified" + } + ], + "DynamicText": [ + { + "name": "Size", + "type": "Dropdown", + "description": "Make the text smaller or larger.", + "options": [ + { + "name": "Small", + "class": "text-small" + }, + { + "name": "Large", + "class": "text-large" + } + ] + }, + { + "name": "Weight", + "oldNames": ["Font Weight"], + "type": "Dropdown", + "description": "Emphasize the text with a heavier or lighter font weight", + "options": [ + { + "name": "Light", + "class": "text-light" + }, + { + "name": "Normal", + "class": "text-normal" + }, + { + "name": "Semibold", + "class": "text-semibold" + }, + { + "name": "Bold", + "class": "text-bold" + } + ] + }, + { + "name": "Color", + "type": "Dropdown", + "description": "Change the color of text.", + "options": [ + { + "name": "Header color", + "class": "text-header" + }, + { + "name": "Detail color", + "class": "text-detail" + }, + { + "name": "Brand Primary", + "oldNames": ["Primary"], + "class": "text-primary" + }, + { + "name": "Brand Secondary", + "oldNames": ["Default", "Brand Default"], + "class": "text-secondary" + }, + { + "name": "Brand Success", + "oldNames": ["Success"], + "class": "text-success" + }, + { + "name": "Brand Warning", + "oldNames": ["Warning"], + "class": "text-warning" + }, + { + "name": "Brand Danger", + "oldNames": ["Danger"], + "class": "text-danger" + }, + { + "name": "White", + "class": "text-white" + } + ] + }, + { + "name": "Alignment", + "type": "Dropdown", + "description": "Align the text.", + "options": [ + { + "name": "Left", + "class": "text-left d-block" + }, + { + "name": "Center", + "class": "text-center d-block" + }, + { + "name": "Right", + "class": "text-right d-block" + } + ] + }, + { + "name": "Transform", + "type": "Dropdown", + "description": "Change the letter case of the text.", + "options": [ + { + "name": "Lowercase", + "class": "text-lowercase" + }, + { + "name": "Uppercase", + "class": "text-uppercase" + }, + { + "name": "Capitalize", + "class": "text-capitalize" + } + ] + }, + { + "name": "Wrap options", + "type": "Dropdown", + "description": "Break long words and sentences into multiple lines.", + "options": [ + { + "name": "Wrap", + "class": "text-break" + }, + { + "name": "No Wrap", + "class": "text-nowrap" + } + ] + } + ], + "Table": [ + { + "name": "Style", + "type": "Dropdown", + "description": "Change the appearance of cells in the table.", + "options": [ + { + "name": "Bordered", + "class": "table-bordered" + }, + { + "name": "Lined", + "class": "table-lined" + } + ] + }, + { + "name": "Compact", + "type": "Toggle", + "description": "Change the spacing between cells to be compact.", + "class": "table-compact" + } + ], + "com.mendix.widget.custom.badge.Badge": [ + { + "name": "Style", + "type": "Dropdown", + "description": "The brand style affecting this element's appearance.", + "options": [ + { + "name": "Brand Primary", + "class": "label-primary" + }, + { + "name": "Brand Secondary", + "class": "label-secondary" + }, + { + "name": "Brand Success", + "class": "label-success" + }, + { + "name": "Brand Warning", + "class": "label-warning" + }, + { + "name": "Brand Danger", + "class": "label-danger" + } + ] + } + ], + "com.mendix.widget.custom.progressbar.ProgressBar": [ + { + "name": "Striped bar", + "type": "Toggle", + "description": "Striped progress bar", + "class": "progress-striped" + }, + { + "name": "Bar color", + "type": "Dropdown", + "description": "Color of the progress bar", + "options": [ + { + "name": "Primary", + "class": "progress-bar-primary" + }, + { + "name": "Success", + "class": "progress-bar-success" + }, + { + "name": "Warning", + "class": "progress-bar-warning" + }, + { + "name": "Danger", + "class": "progress-bar-danger" + } + ] + }, + { + "name": "Size", + "type": "Dropdown", + "description": "Size of the progress bar", + "options": [ + { + "name": "Small", + "class": "progress-bar-small" + }, + { + "name": "Medium", + "class": "progress-bar-medium" + }, + { + "name": "Large", + "class": "progress-bar-large" + } + ] + } + ], + "com.mendix.widget.custom.badgebutton.BadgeButton": [ + { + "name": "Style", + "type": "Dropdown", + "description": "The brand style affecting this element's appearance.", + "options": [ + { + "name": "Brand Primary", + "class": "btn-primary" + }, + { + "name": "Brand Secondary", + "class": "btn-secondary" + }, + { + "name": "Brand Success", + "class": "btn-success" + }, + { + "name": "Brand Warning", + "class": "btn-warning" + }, + { + "name": "Brand Danger", + "class": "btn-danger" + } + ] + }, + { + "name": "Size", + "type": "Dropdown", + "description": "Size of the buttons", + "options": [ + { + "name": "Small", + "class": "btn-sm" + }, + { + "name": "Large", + "class": "btn-lg" + } + ] + }, + { + "name": "Full width", + "type": "Toggle", + "description": "Extend the button to the full width of the container it is placed in.", + "class": "btn-block" + }, + { + "name": "Border", + "oldNames": ["Bordered"], + "type": "Toggle", + "description": "Style the button with a transparent background, a colored border, and colored text.", + "class": "btn-bordered" + } + ], + "com.mendix.widget.custom.progresscircle.ProgressCircle": [ + { + "name": "Bar color", + "type": "Dropdown", + "description": "Color of the progress bar", + "options": [ + { + "name": "Primary", + "class": "widget-progress-circle-primary" + }, + { + "name": "Success", + "class": "widget-progress-circle-success" + }, + { + "name": "Warning", + "class": "widget-progress-circle-warning" + }, + { + "name": "Danger", + "class": "widget-progress-circle-danger" + } + ] + }, + { + "name": "Size", + "type": "Dropdown", + "description": "Thickness of the progress circle", + "options": [ + { + "name": "Small", + "class": "widget-progress-circle-thickness-small" + }, + { + "name": "Medium", + "class": "widget-progress-circle-thickness-medium" + }, + { + "name": "Large", + "class": "widget-progress-circle-thickness-large" + } + ] + } + ], + "com.mendix.widget.custom.switch.Switch": [ + { + "name": "Style", + "type": "Dropdown", + "description": "The brand style affecting this element's appearance.", + "options": [ + { + "name": "Brand Primary", + "class": "widget-switch-brand-primary" + }, + { + "name": "Brand Secondary", + "class": "widget-switch-brand-secondary" + }, + { + "name": "Brand Success", + "class": "widget-switch-brand-success" + }, + { + "name": "Brand Warning", + "class": "widget-switch-brand-warning" + }, + { + "name": "Brand Danger", + "class": "widget-switch-brand-danger" + } + ] + }, + { + "name": "Device style", + "type": "Dropdown", + "description": "The general appearance of the switch. When no option selected iOS styles are applied", + "options": [ + { + "name": "iOS", + "class": "iOS" + }, + { + "name": "Android", + "class": "android" + } + ] + } + ], + "MenuBar": [ + { + "name": "Hide icons", + "type": "Toggle", + "description": "Hide the navigation items icon", + "class": "hide-icons" + } + ], + "NavigationTree": [ + { + "name": "Hide icons", + "type": "Toggle", + "description": "Hide the navigation items icon", + "class": "hide-icons" + } + ], + "SimpleMenuBar": [ + { + "name": "Hide icons", + "type": "Toggle", + "description": "Hide the navigation items icon", + "class": "hide-icons" + } + ] +} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-phone.scss b/themesource/atlas_core/web/layouts/_layout-atlas-phone.scss similarity index 74% rename from theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-phone.scss rename to themesource/atlas_core/web/layouts/_layout-atlas-phone.scss index f9d6e9d..5ee3089 100644 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-phone.scss +++ b/themesource/atlas_core/web/layouts/_layout-atlas-phone.scss @@ -8,9 +8,13 @@ min-height: $m-header-height; border-style: none; background-color: $m-header-bg; - &::before { display: none; } } + .region-sidebar { + .mx-navigationtree .navbar-inner > ul > li > a .glyphicon { + margin-right: $spacing-medium; + } + } } diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-responsive.scss b/themesource/atlas_core/web/layouts/_layout-atlas-responsive.scss similarity index 61% rename from theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-responsive.scss rename to themesource/atlas_core/web/layouts/_layout-atlas-responsive.scss index 670ec9f..1ed8b66 100644 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas-responsive.scss +++ b/themesource/atlas_core/web/layouts/_layout-atlas-responsive.scss @@ -3,29 +3,32 @@ Extra styling for responsive layouts ========================================================================== */ +$sidebar-width: 232px; +$sidebar-icon-height: 52px; +$sidebar-icon-width: 52px; + +.layout-atlas-responsive, .layout-atlas-responsive-default { - $sidebar-width: 60px; + $sidebar-width: 232px; @media (min-width: $screen-md) { - .mx-scrollcontainer:not(.mx-scrollcontainer-open) > .region-sidebar { + .mx-scrollcontainer-shrink:not(.mx-scrollcontainer-open) > .region-sidebar, + .mx-scrollcontainer-push:not(.mx-scrollcontainer-open) > .region-sidebar, + .mx-scrollcontainer-slide:not(.mx-scrollcontainer-open) > .region-sidebar { width: $sidebar-width !important; .mx-scrollcontainer-wrapper > .mx-navigationtree ul li { &.mx-navigationtree-has-items:hover { - a { - background-color: $navsidebar-sub-bg; - } - ul { position: absolute; z-index: 100; top: 0; bottom: 0; - left: $sidebar-width; + left: $sidebar-icon-width; display: block; overflow-y: auto; - min-width: 200px; - padding-top: 10px; + min-width: auto; + padding: $spacing-small 0; } } @@ -39,7 +42,6 @@ } } - .mx-scrollcontainer-slide { &:not(.mx-scrollcontainer-open) > .region-sidebar { overflow: hidden; @@ -70,44 +72,51 @@ display: inline-block !important; } } - - .mx-scrollcontainer-slide, - .mx-scrollcontainer-push { - &:not(.mx-scrollcontainer-open) > .region-sidebar { - visibility: hidden; - } - } // Sidebar .region-sidebar { .toggle-btn { - width: $sidebar-width; - height: 60px; + width: $sidebar-icon-width; border-color: transparent; border-radius: 0; background: transparent; } - .mx-scrollcontainer-wrapper > .mx-navigationtree { - .navbar-inner > ul > li { + .mx-scrollcontainer-wrapper { + .toggle-btn-wrapper { + display: flex; + padding: $spacing-small; + align-items: center; + min-height: $topbar-minimalheight + 4px; + background: $navsidebar-sub-bg; + } + .toggle-btn { + padding: $spacing-medium; + + img { + width: 24px; + height: 24px; + } + } + .toggle-text { + color: #fff; + font-weight: bold; + } + & > .mx-navigationtree .navbar-inner > ul > li { & > a { - height: $sidebar-width; + height: $sidebar-icon-height; + padding: $spacing-small 0; + white-space: nowrap; + overflow: hidden; // Glyph icon .glyphicon { display: flex; align-items: center; justify-content: center; - width: 40px; - height: 40px; - margin-left: -5px; - padding: 10px; - border-radius: 3px; - } - - &.active { - .glyphicon { - background: $brand-primary; - } + width: $sidebar-icon-width; + height: $sidebar-icon-height; + padding: $spacing-small $spacing-medium; + border-radius: $border-radius-default; } } } @@ -116,14 +125,22 @@ // Topbar .region-topbar { + padding: 0 $spacing-small; } } // Topbar variant .layout-atlas-responsive-topbar { + .region-topbar { + padding: 0 $spacing-medium; + @media (max-width: $screen-sm-max) { + padding: 0 $spacing-small; + } + } } // All responsive layouts +.layout-atlas-responsive, .layout-atlas-responsive-default, .layout-atlas-responsive-topbar { // Topbar diff --git a/themesource/atlas_core/web/layouts/_layout-atlas-tablet.scss b/themesource/atlas_core/web/layouts/_layout-atlas-tablet.scss new file mode 100644 index 0000000..19b8b0f --- /dev/null +++ b/themesource/atlas_core/web/layouts/_layout-atlas-tablet.scss @@ -0,0 +1,20 @@ +/* ========================================================================== + Atlas layout + + Extra styling for tablet layouts +========================================================================== */ +.layout-atlas-tablet { + .region-topbar { + min-height: $m-header-height; + border-style: none; + background-color: $m-header-bg; + &::before { + display: none; + } + } + .region-sidebar { + .mx-navigationtree .navbar-inner > ul > li > a .glyphicon { + margin-right: $spacing-medium; + } + } +} diff --git a/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas.scss b/themesource/atlas_core/web/layouts/_layout-atlas.scss similarity index 66% rename from theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas.scss rename to themesource/atlas_core/web/layouts/_layout-atlas.scss index 150f73d..a25ba07 100644 --- a/theme/styles/web/sass/ui_resources/atlas_ui_resources/layouts/_layout-atlas.scss +++ b/themesource/atlas_core/web/layouts/_layout-atlas.scss @@ -1,29 +1,46 @@ /* ========================================================================== Atlas layout - + The core stucture of all atlas layouts ========================================================================== */ .layout-atlas { // Toggle button + .toggle-btn > img, .toggle-btn > .glyphicon { margin: 0; } + .mx-scrollcontainer-open { + .expand-btn > img { + transform: rotate(180deg); + } + } // Sidebar .region-sidebar { background-color: $navsidebar-bg; - + z-index: 101; + position: relative; + box-shadow: 0 0 4px rgb(0 0 0 / 14%), 2px 4px 8px rgb(0 0 0 / 28%); + .mx-scrollcontainer-wrapper { + display: flex; + flex-direction: column; + padding: $spacing-small 0; + } .mx-navigationtree .navbar-inner > ul > li > a { - padding: 0 15px; - + padding: $spacing-medium; .glyphicon { - margin-right: 10px; + margin-right: $spacing-small; } } + .sidebar-heading { + background: $navsidebar-sub-bg; + } .toggle-btn { + margin-right: $spacing-small; border-color: transparent; border-radius: 0; background: transparent; + padding: $spacing-medium; } } @@ -32,18 +49,9 @@ position: relative; z-index: 1; // Show dropshadow min-height: $topbar-minimalheight; - border-bottom: 1px solid $navtopbar-border-color; background-color: $navtopbar-bg; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.14); + box-shadow: 0px 2px 2px rgba(194, 196, 201, 0.30354); - &::before { - z-index: 1; - display: block; - width: 100%; - height: 4px; - content: ""; - background-color: $brand-primary; - } // Topbar Content .topbar-content { display: flex; @@ -53,21 +61,22 @@ // Toggle btn .toggle-btn { - margin-right: 15px; - padding: 5px; + margin-right: $spacing-medium; } // For your company, product, or project name .navbar-brand { display: inline-block; - // reset bootstrap - float: none; + float: none; // reset bootstrap height: auto; padding: 0; line-height: inherit; + font-size: 16px; + margin-right: $spacing-small; img { display: inline-block; + margin-right: $spacing-small; @if $brand-logo !=false { width: 0; height: 0; @@ -83,7 +92,7 @@ } a { - margin-left: 5px; + margin-left: $spacing-small; color: $navbar-brand-name; font-size: 20px; @@ -93,12 +102,12 @@ } } } - .mx-navbar { - display: inline-block; - margin-left: $gutter-size; + display: inline-flex; vertical-align: middle; background: transparent; + justify-content: center; + align-items: center; & > .mx-navbar-item { & > a { @@ -108,4 +117,9 @@ } } } + .mx-scrollcontainer-slide { + &:not(.mx-scrollcontainer-open) > .region-sidebar { + overflow: hidden; + } + } } diff --git a/themesource/atlas_core/web/main.scss b/themesource/atlas_core/web/main.scss new file mode 100644 index 0000000..2e69faa --- /dev/null +++ b/themesource/atlas_core/web/main.scss @@ -0,0 +1,325 @@ +// Utilities +@import "core/_legacy/bootstrap/bootstrap"; +@import "core/_legacy/bootstrap/bootstrap-rtl"; +@import "core/_legacy/mxui"; + +//================================== CORE ==================================\\ + +// Default variables +@import "exclusion-variables"; +@import "../../../theme/web/exclusion-variables"; +@import "variables"; +@import "../../../theme/web/custom-variables"; + +// Font Family Import +@if $font-family-import != false { + @import url($font-family-import); +} + +// Base +@import "core/base/mixins/animations"; +@import "core/base/mixins/spacing"; +@import "core/base/mixins/layout-spacing"; +@import "core/base/mixins/buttons"; +@import "core/base/mixins/groupbox"; +@import "core/base/animation"; +@import "core/base/flex"; +@import "core/base/spacing"; +@import "core/base/reset"; +@import "core/base/base"; +@import "core/base/login"; + +// Widgets +@import "core/widgets/input"; +@if not $exclude-input { + @include input(); +} + +@import "core/helpers/background"; +@if not $exclude-background-helpers { + @include background-helpers(); +} + +@import "core/widgets/label"; +@if not $exclude-label { + @include label(); +} + +@import "core/widgets/badge"; +@if not $exclude-badge { + @include badge(); +} + +@import "core/helpers/label"; +@if not $exclude-label and not $exclude-label-helpers { + @include label-helpers(); +} + +@import "core/widgets/badge-button"; +@if not $exclude-badge-button { + @include badge-button(); +} + +@import "core/helpers/badge-button"; +@if not $exclude-badge-button and not $exclude-badge-button-helpers { + @include badge-button-helpers(); +} + +@import "core/widgets/button"; +@if not $exclude-button { + @include button(); +} + +@import "core/helpers/button"; +@if not $exclude-button and not $exclude-button-helpers { + @include button-helpers(); +} + +@import "core/widgets/check-box"; +@if not $exclude-check-box { + @include check-box(); +} + +@import "core/widgets/grid"; +@if not $exclude-grid { + @include grid(); +} + +@import "core/widgets/data-grid"; +@if not $exclude-data-grid { + @include data-grid(); +} + +@import "core/helpers/data-grid"; +@if not $exclude-data-grid and not $exclude-data-grid-helpers { + @include data-grid-helpers(); +} + +@import "core/widgets/data-view"; +@if not $exclude-data-view { + @include data-view(); +} + +@import "core/widgets/date-picker"; +@if not $exclude-data-picker { + @include date-picker(); +} + +@import "core/widgets/header"; +@if not $exclude-header { + @include header(); +} + +@import "core/widgets/glyphicon"; +@if not $exclude-glyphicon { + @include glyphicon(); +} + +@import "core/widgets/group-box"; +@if not $exclude-group-box { + @include group-box(); +} + +@import "core/helpers/group-box"; +@if not $exclude-group-box and not $exclude-group-box-helpers { + @include group-box-helpers(); +} + +@import "core/helpers/image"; +@if not $exclude-image-helpers { + @include image-helpers(); +} + +@import "core/widgets/list-view"; +@if not $exclude-list-view { + @include list-view(); +} + +@import "core/helpers/list-view"; +@if not $exclude-list-view and not $exclude-list-view-helpers { + @include list-view-helpers(); +} + +@import "core/widgets/modal"; +@if not $exclude-modal { + @include modal(); +} + +@import "core/widgets/navigation-bar"; +@if not $exclude-navigation-bar { + @include navigation-bar(); +} + +@import "core/helpers/navigation-bar"; +@if not $exclude-navigation-bar and not $exclude-navigation-bar-helpers { + @include navigation-bar-helpers(); +} + +@import "core/widgets/navigation-list"; +@if not $exclude-navigation-list { + @include navigation-list(); +} + +@import "core/widgets/navigation-tree"; +@if not $exclude-navigation-tree { + @include navigation-tree(); +} + +@import "core/helpers/navigation-tree"; +@if not $exclude-navigation-tree and not $exclude-navigation-tree-helpers { + @include navigation-tree-helpers(); +} + +@import "core/widgets/pop-up-menu"; +@if not $exclude-pop-up-menu { + @include pop-up-menu(); +} + +@import "core/widgets/simple-menu-bar"; +@if not $exclude-simple-menu-bar { + @include simple-menu-bar(); +} + +@import "core/helpers/simple-menu-bar"; +@if not $exclude-simple-menu-bar and not $exclude-simple-menu-bar-helpers { + @include simple-menu-bar-helpers(); +} + +@import "core/widgets/radio-button"; +@if not $exclude-radio-button { + @include radio-button(); +} + +@import "core/widgets/tab-container"; +@if not $exclude-tab-container { + @include tab-container(); +} + +@import "core/helpers/tab-container"; +@if not $exclude-tab-container and not $exclude-tab-container-helpers { + @include tab-container-helpers(); +} + +@import "core/widgets/table"; +@if not $exclude-table { + @include table(); +} + +@import "core/helpers/table"; +@if not $exclude-table and not $exclude-table-helpers { + @include table-helpers(); +} + +@import "core/widgets/template-grid"; +@if not $exclude-template-grid { + @include template-grid(); +} + +@import "core/helpers/template-grid"; +@if not $exclude-template-grid and not $exclude-template-grid-helpers { + @include template-grid-helpers(); +} + +@import "core/widgets/typography"; +@if not $exclude-typography { + @include typography(); +} + +@import "core/helpers/typography"; +@if not $exclude-typography and not $exclude-typography-helpers { + @include typography-helpers(); +} + +@import "core/widgets/layout-grid"; +@if not $exclude-layout-grid { + @include layout-grid(); +} + +@import "core/widgets/pagination"; +@if not $exclude-pagination { + @include pagination(); +} + +@import "core/widgets/progress"; +@if not $exclude-progress { + @include progress(); +} + +@import "core/widgets/progress-bar"; +@if not $exclude-progress-bar { + @include progress-bar(); +} + +@import "core/helpers/progress-bar"; +@if not $exclude-progress-bar and not $exclude-progress-bar-helpers { + @include progress-bar-helpers(); +} + +@import "core/widgets/progress-circle"; +@if not $exclude-progress-circle { + @include progress-circle(); +} + +@import "core/helpers/progress-circle"; +@if not $exclude-progress-circle and not $exclude-progress-circle-helpers { + @include progress-circle-helpers(); +} + +@import "core/widgets/rating"; +@if not $exclude-rating { + @include rating(); +} + +@import "core/helpers/rating"; +@if not $exclude-rating and not $exclude-rating-helpers { + @include rating-helpers(); +} + +@import "core/widgets/range-slider"; +@if not $exclude-range-slider { + @include range-slider(); +} + +@import "core/helpers/range-slider"; +@if not $exclude-range-slider and not $exclude-range-slider-helpers { + @include range-slider-helpers(); +} + +@import "core/widgets/slider"; +@if not $exclude-slider { + @include slider(); +} + +@import "core/helpers/slider"; +@if not $exclude-slider and not $exclude-slider-helpers { + @include slider-helpers(); +} + +@import "core/widgets/timeline"; +@if not $exclude-timeline { + @include timeline(); +} + +@import "core/helpers/helper-classes"; +@if not $exclude-helper-classes { + @include helper-classes(); +} + +// Custom widgets +@import "core/widgetscustom/dijit-widget"; +@if not $exclude-custom-dijit-widget { + @include dijit-widget(); +} + +@import "core/widgets/switch"; +@if not $exclude-custom-switch { + @include switch(); +} + +//================================= CUSTOM =================================\\ + +// Layouts +@import "layouts/layout-atlas"; +@import "layouts/layout-atlas-phone"; +@import "layouts/layout-atlas-responsive"; +@import "layouts/layout-atlas-tablet"; diff --git a/theme/styles/web/css/fonts/glyphicons-halflings-regular.woff b/themesource/atlas_core/web/resources/glyphicons-halflings-regular.woff similarity index 100% rename from theme/styles/web/css/fonts/glyphicons-halflings-regular.woff rename to themesource/atlas_core/web/resources/glyphicons-halflings-regular.woff diff --git a/theme/styles/web/css/fonts/glyphicons-halflings-regular.woff2 b/themesource/atlas_core/web/resources/glyphicons-halflings-regular.woff2 similarity index 100% rename from theme/styles/web/css/fonts/glyphicons-halflings-regular.woff2 rename to themesource/atlas_core/web/resources/glyphicons-halflings-regular.woff2 diff --git a/theme/resources/work-do-more.jpeg b/themesource/atlas_core/web/resources/work-do-more.jpeg similarity index 100% rename from theme/resources/work-do-more.jpeg rename to themesource/atlas_core/web/resources/work-do-more.jpeg diff --git a/themesource/audittrail/native/design-properties.json b/themesource/audittrail/native/design-properties.json new file mode 100644 index 0000000..49d1a20 --- /dev/null +++ b/themesource/audittrail/native/design-properties.json @@ -0,0 +1,3 @@ +{ + +} diff --git a/themesource/audittrail/native/main.js b/themesource/audittrail/native/main.js new file mode 100644 index 0000000..b611ae1 --- /dev/null +++ b/themesource/audittrail/native/main.js @@ -0,0 +1,2 @@ +import * as variables from "../../../theme/native/custom-variables"; + diff --git a/themesource/audittrail/web/design-properties.json b/themesource/audittrail/web/design-properties.json new file mode 100644 index 0000000..49d1a20 --- /dev/null +++ b/themesource/audittrail/web/design-properties.json @@ -0,0 +1,3 @@ +{ + +} diff --git a/themesource/audittrail/web/main.scss b/themesource/audittrail/web/main.scss new file mode 100644 index 0000000..122370f --- /dev/null +++ b/themesource/audittrail/web/main.scss @@ -0,0 +1,2 @@ +@import '../../../theme/web/custom-variables'; + diff --git a/themesource/test_crm/native/design-properties.json b/themesource/test_crm/native/design-properties.json new file mode 100644 index 0000000..49d1a20 --- /dev/null +++ b/themesource/test_crm/native/design-properties.json @@ -0,0 +1,3 @@ +{ + +} diff --git a/themesource/test_crm/native/main.js b/themesource/test_crm/native/main.js new file mode 100644 index 0000000..b611ae1 --- /dev/null +++ b/themesource/test_crm/native/main.js @@ -0,0 +1,2 @@ +import * as variables from "../../../theme/native/custom-variables"; + diff --git a/themesource/test_crm/web/design-properties.json b/themesource/test_crm/web/design-properties.json new file mode 100644 index 0000000..49d1a20 --- /dev/null +++ b/themesource/test_crm/web/design-properties.json @@ -0,0 +1,3 @@ +{ + +} diff --git a/themesource/test_crm/web/main.scss b/themesource/test_crm/web/main.scss new file mode 100644 index 0000000..122370f --- /dev/null +++ b/themesource/test_crm/web/main.scss @@ -0,0 +1,2 @@ +@import '../../../theme/web/custom-variables'; + diff --git a/userlib/commons-io-2.8.0.jar b/userlib/commons-io-2.8.0.jar new file mode 100644 index 0000000..177e58d Binary files /dev/null and b/userlib/commons-io-2.8.0.jar differ diff --git a/userlib/junit-4.11.jar.UnitTesting.RequiredLib b/userlib/commons-io-2.8.0.jar.UnitTesting.RequiredLib similarity index 100% rename from userlib/junit-4.11.jar.UnitTesting.RequiredLib rename to userlib/commons-io-2.8.0.jar.UnitTesting.RequiredLib diff --git a/userlib/commons-lang3-3.7.jar b/userlib/commons-lang3-3.7.jar new file mode 100644 index 0000000..f37ded6 Binary files /dev/null and b/userlib/commons-lang3-3.7.jar differ diff --git a/userlib/org.apache.commons.io-2.3.0.jar.UnitTesting.RequiredLib b/userlib/commons-lang3-3.7.jar.UnitTesting.RequiredLib similarity index 100% rename from userlib/org.apache.commons.io-2.3.0.jar.UnitTesting.RequiredLib rename to userlib/commons-lang3-3.7.jar.UnitTesting.RequiredLib diff --git a/userlib/org.apache.commons.lang3.jar.ObjectHandling.RequiredLib b/userlib/hamcrest-2.2.jar.UnitTesting.RequiredLib copy similarity index 100% rename from userlib/org.apache.commons.lang3.jar.ObjectHandling.RequiredLib rename to userlib/hamcrest-2.2.jar.UnitTesting.RequiredLib copy diff --git a/userlib/httpclient5-5.0.3.jar b/userlib/httpclient5-5.0.3.jar new file mode 100644 index 0000000..5babb46 Binary files /dev/null and b/userlib/httpclient5-5.0.3.jar differ diff --git a/userlib/org.apache.commons.lang3.jar.UnitTesting.RequiredLib b/userlib/httpclient5-5.0.3.jar.UnitTesting.RequiredLib similarity index 100% rename from userlib/org.apache.commons.lang3.jar.UnitTesting.RequiredLib rename to userlib/httpclient5-5.0.3.jar.UnitTesting.RequiredLib diff --git a/userlib/httpcore5-5.0.3.jar b/userlib/httpcore5-5.0.3.jar new file mode 100644 index 0000000..7a68039 Binary files /dev/null and b/userlib/httpcore5-5.0.3.jar differ diff --git a/userlib/org.apache.httpcomponents.httpclient_4.4.1.jar.UnitTesting.RequiredLib b/userlib/httpcore5-5.0.3.jar.UnitTestingRequiredLib similarity index 100% rename from userlib/org.apache.httpcomponents.httpclient_4.4.1.jar.UnitTesting.RequiredLib rename to userlib/httpcore5-5.0.3.jar.UnitTestingRequiredLib diff --git a/userlib/junit-4.11.jar b/userlib/junit-4.11.jar deleted file mode 100644 index aaf7444..0000000 Binary files a/userlib/junit-4.11.jar and /dev/null differ diff --git a/userlib/junit-4.13.1.jar b/userlib/junit-4.13.1.jar new file mode 100644 index 0000000..b376ffc Binary files /dev/null and b/userlib/junit-4.13.1.jar differ diff --git a/userlib/org.apache.httpcomponents.httpcore_4.4.1.jar.UnitTestingRequiredLib b/userlib/junit-4.13.1.jar.UnitTesting.RequiredLib similarity index 100% rename from userlib/org.apache.httpcomponents.httpcore_4.4.1.jar.UnitTestingRequiredLib rename to userlib/junit-4.13.1.jar.UnitTesting.RequiredLib diff --git a/userlib/org.apache.commons.io-2.3.0.jar b/userlib/org.apache.commons.io-2.3.0.jar deleted file mode 100644 index d5a0771..0000000 Binary files a/userlib/org.apache.commons.io-2.3.0.jar and /dev/null differ diff --git a/userlib/org.apache.commons.lang3.jar b/userlib/org.apache.commons.lang3.jar deleted file mode 100644 index a85e539..0000000 Binary files a/userlib/org.apache.commons.lang3.jar and /dev/null differ diff --git a/userlib/org.apache.httpcomponents.httpclient_4.4.1.jar b/userlib/org.apache.httpcomponents.httpclient_4.4.1.jar deleted file mode 100644 index 3d4b0c7..0000000 Binary files a/userlib/org.apache.httpcomponents.httpclient_4.4.1.jar and /dev/null differ diff --git a/userlib/org.apache.httpcomponents.httpcore_4.4.1.jar b/userlib/org.apache.httpcomponents.httpcore_4.4.1.jar deleted file mode 100644 index 7aa60c7..0000000 Binary files a/userlib/org.apache.httpcomponents.httpcore_4.4.1.jar and /dev/null differ diff --git a/widgets/SprintrFeedbackWidget.mpk b/widgets/SprintrFeedbackWidget.mpk index 0b50238..3caed5d 100644 Binary files a/widgets/SprintrFeedbackWidget.mpk and b/widgets/SprintrFeedbackWidget.mpk differ diff --git a/widgets/com.mendix.widget.native.Feedback.mpk b/widgets/com.mendix.widget.native.Feedback.mpk index 53a4a21..3932c3f 100644 Binary files a/widgets/com.mendix.widget.native.Feedback.mpk and b/widgets/com.mendix.widget.native.Feedback.mpk differ