@configura/web-ui 2.0.0-alpha.2 → 2.0.0-alpha.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "parser": "@typescript-eslint/parser",
3
+ "plugins": ["@typescript-eslint"],
4
+ "extends": [
5
+ "eslint:recommended",
6
+ "plugin:@typescript-eslint/recommended",
7
+ "prettier"
8
+
9
+ // TODO: Type-checking rules require a proper tsconfig-file to work,
10
+ // pointed at by the parserOption.project setting.
11
+ //
12
+ //"plugin:@typescript-eslint/recommended-requiring-type-checking"
13
+ ]
14
+ //"rules": { "@typescript-eslint/no-floating-promises": "error" }
15
+ //"parserOptions": {
16
+ // "project": "./tsconfig.json"
17
+ //}
18
+ }
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { CssProps } from "../utilities";
3
+ declare type Props = {
4
+ callback: () => void;
5
+ tooltip: string;
6
+ };
7
+ export declare const ResetButton: React.FC<Props & CssProps>;
8
+ export {};
9
+ //# sourceMappingURL=ResetButton.d.ts.map
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ export const ResetButton = (props) => {
3
+ var _a;
4
+ const { callback, tooltip } = props;
5
+ return (React.createElement("div", { className: `cfgReset ${(_a = props.className) !== null && _a !== void 0 ? _a : ""}`, style: props.style },
6
+ React.createElement("button", { title: tooltip, className: "cfgInput", onClick: callback }, "Reset")));
7
+ };
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { CssProps } from "../utilities";
3
+ export declare const ShareView: React.FC<CssProps>;
4
+ //# sourceMappingURL=ShareView.d.ts.map
@@ -0,0 +1,36 @@
1
+ import { CfgHistoryManager } from "@configura/web-api";
2
+ import React, { useState } from "react";
3
+ import { ErrorIcon } from "./icons/ErrorIcon.js";
4
+ const shareLabel = "Share";
5
+ export const ShareView = (props) => {
6
+ var _a;
7
+ const [value, setValue] = useState(shareLabel);
8
+ const [warningText, setWarningText] = useState();
9
+ // No need for a useMemo, this will always be the same instance
10
+ const historyManager = CfgHistoryManager.instance;
11
+ return (React.createElement("div", { className: `cfgShare ${(_a = props.className) !== null && _a !== void 0 ? _a : ""} ${warningText === undefined ? "" : "cfgShare__grayed"}`, style: props.style },
12
+ React.createElement("input", { title: warningText === undefined
13
+ ? "Click to copy a share-link to the clipboard"
14
+ : warningText, className: "cfgInput", readOnly: true, value: value, onBlur: () => setValue(shareLabel), onFocus: (event) => {
15
+ const ws = historyManager.getWarnings();
16
+ const wsText = ws.length === 0 ? undefined : ws.join("\n");
17
+ setWarningText(wsText);
18
+ if (ws.length !== 0) {
19
+ for (const w of ws) {
20
+ console.warn(w);
21
+ }
22
+ return;
23
+ }
24
+ const url = historyManager.getUrl();
25
+ setValue(url);
26
+ event.target.value = url;
27
+ event.target.select();
28
+ navigator.clipboard.writeText(url).catch((err) => {
29
+ // In Firefox we get "Error DOMException: Clipboard write was blocked due to lack of user activation." when we
30
+ // tab between windows, because the focus event triggers but is not user initiated. We just swallow any error.
31
+ console.error("Error", err);
32
+ });
33
+ } }),
34
+ warningText !== undefined && (React.createElement("div", { className: "cfgShare__error", title: warningText },
35
+ React.createElement(ErrorIcon, null)))));
36
+ };
@@ -3,8 +3,6 @@ import { CssProps } from "../../utilities.js";
3
3
  import { CfgOptionViewProps } from "./CfgFeatureView.js";
4
4
  export declare const CfgCheckboxView: React.FC<CfgOptionViewProps & CssProps>;
5
5
  export declare const CfgCheckboxViewMemo: React.NamedExoticComponent<import("./CfgProductConfigurationView.js").PassthroughProps & import("./CfgFeatureView.js").CfgProductConfigurationComponent & {
6
- startOpen?: boolean | undefined;
7
- } & {
8
6
  option: import("@configura/web-api").CfgOption;
9
7
  } & CssProps>;
10
8
  //# sourceMappingURL=CfgCheckboxView.d.ts.map
@@ -3,8 +3,6 @@ import { CssProps } from "../../utilities.js";
3
3
  import { CfgFeatureViewProps } from "./CfgFeatureView.js";
4
4
  export declare const CfgCheckboxesView: React.FC<CfgFeatureViewProps & CssProps>;
5
5
  export declare const CfgCheckboxesViewMemo: React.NamedExoticComponent<import("./CfgProductConfigurationView.js").PassthroughProps & import("./CfgFeatureView.js").CfgProductConfigurationComponent & {
6
- startOpen?: boolean | undefined;
7
- } & {
8
6
  feature: import("@configura/web-api").CfgFeature;
9
7
  } & CssProps>;
10
8
  //# sourceMappingURL=CfgCheckboxesView.d.ts.map
@@ -3,8 +3,6 @@ import { CssProps } from "../../utilities.js";
3
3
  import { CfgOptionViewProps } from "./CfgFeatureView.js";
4
4
  export declare const CfgDropdownOptionView: React.FC<CfgOptionViewProps & CssProps>;
5
5
  export declare const CfgDropdownOptionViewMemo: React.NamedExoticComponent<import("./CfgProductConfigurationView.js").PassthroughProps & import("./CfgFeatureView.js").CfgProductConfigurationComponent & {
6
- startOpen?: boolean | undefined;
7
- } & {
8
6
  option: import("@configura/web-api").CfgOption;
9
7
  } & CssProps>;
10
8
  //# sourceMappingURL=CfgDropdownOptionView.d.ts.map
@@ -3,8 +3,6 @@ import { CssProps } from "../../utilities.js";
3
3
  import { CfgFeatureViewProps } from "./CfgFeatureView.js";
4
4
  export declare const CfgDropdownView: React.FC<CfgFeatureViewProps & CssProps>;
5
5
  export declare const CfgDropdownViewMemo: React.NamedExoticComponent<import("./CfgProductConfigurationView.js").PassthroughProps & import("./CfgFeatureView.js").CfgProductConfigurationComponent & {
6
- startOpen?: boolean | undefined;
7
- } & {
8
6
  feature: import("@configura/web-api").CfgFeature;
9
7
  } & CssProps>;
10
8
  //# sourceMappingURL=CfgDropdownView.d.ts.map
@@ -23,14 +23,10 @@ export declare type CfgProductConfigurationComponent = {
23
23
  };
24
24
  export declare const completeWithDefaultProductConfigurationComponents: <T>(incomplete: T & Partial<CfgProductConfigurationComponent>) => T & CfgProductConfigurationComponent;
25
25
  export declare const useCompleteWithDefaultProductConfigurationComponents: (incomplete: Partial<CfgProductConfigurationComponent>) => CfgProductConfigurationComponent;
26
- export declare type CfgProductConfigurationComponentAndPassthroughProps = PassthroughProps & CfgProductConfigurationComponent & {
27
- startOpen?: boolean;
28
- };
26
+ export declare type CfgProductConfigurationComponentAndPassthroughProps = PassthroughProps & CfgProductConfigurationComponent;
29
27
  export declare const forwardProps: (props: CfgProductConfigurationComponentAndPassthroughProps) => CfgProductConfigurationComponentAndPassthroughProps;
30
28
  export declare const CfgFeatureView: React.FC<CfgFeatureViewProps & CssProps>;
31
29
  export declare const CfgFeatureViewMemo: React.NamedExoticComponent<PassthroughProps & CfgProductConfigurationComponent & {
32
- startOpen?: boolean | undefined;
33
- } & {
34
30
  feature: CfgFeature;
35
31
  } & CssProps>;
36
32
  //# sourceMappingURL=CfgFeatureView.d.ts.map
@@ -12,17 +12,15 @@ export const completeWithDefaultProductConfigurationComponents = (incomplete) =>
12
12
  };
13
13
  export const useCompleteWithDefaultProductConfigurationComponents = (incomplete) => {
14
14
  const { additionalProductComponent, featureFlattenComponent, featureGroupComponent, featureSelectManyComponent, featureSelectOneComponent, optionSelectManyComponent, optionSelectOneComponent, } = incomplete;
15
- return useMemo(() => {
16
- return completeWithDefaultProductConfigurationComponents({
17
- additionalProductComponent,
18
- featureFlattenComponent,
19
- featureGroupComponent,
20
- featureSelectManyComponent,
21
- featureSelectOneComponent,
22
- optionSelectManyComponent,
23
- optionSelectOneComponent,
24
- });
25
- }, [
15
+ return useMemo(() => completeWithDefaultProductConfigurationComponents({
16
+ additionalProductComponent,
17
+ featureFlattenComponent,
18
+ featureGroupComponent,
19
+ featureSelectManyComponent,
20
+ featureSelectOneComponent,
21
+ optionSelectManyComponent,
22
+ optionSelectOneComponent,
23
+ }), [
26
24
  additionalProductComponent,
27
25
  featureFlattenComponent,
28
26
  featureGroupComponent,
@@ -32,19 +30,17 @@ export const useCompleteWithDefaultProductConfigurationComponents = (incomplete)
32
30
  optionSelectOneComponent,
33
31
  ]);
34
32
  };
35
- export const forwardProps = (props) => {
36
- return {
37
- upchargeDisplayMode: props.upchargeDisplayMode,
38
- startOpen: props.startOpen,
39
- additionalProductComponent: props.additionalProductComponent,
40
- featureFlattenComponent: props.featureFlattenComponent,
41
- featureGroupComponent: props.featureGroupComponent,
42
- featureSelectManyComponent: props.featureSelectManyComponent,
43
- optionSelectManyComponent: props.optionSelectManyComponent,
44
- featureSelectOneComponent: props.featureSelectOneComponent,
45
- optionSelectOneComponent: props.optionSelectOneComponent,
46
- };
47
- };
33
+ export const forwardProps = (props) => ({
34
+ upchargeDisplayMode: props.upchargeDisplayMode,
35
+ startOpen: props.startOpen,
36
+ additionalProductComponent: props.additionalProductComponent,
37
+ featureFlattenComponent: props.featureFlattenComponent,
38
+ featureGroupComponent: props.featureGroupComponent,
39
+ featureSelectManyComponent: props.featureSelectManyComponent,
40
+ optionSelectManyComponent: props.optionSelectManyComponent,
41
+ featureSelectOneComponent: props.featureSelectOneComponent,
42
+ optionSelectOneComponent: props.optionSelectOneComponent,
43
+ });
48
44
  export const CfgFeatureView = (props) => {
49
45
  const { feature, featureFlattenComponent: FlattenComponent, featureGroupComponent: GroupComponent, featureSelectManyComponent: SelectManyComponent, featureSelectOneComponent: SelectOneComponent, } = props;
50
46
  if (!feature.visible) {
@@ -10,14 +10,15 @@ export const CfgOptionPriceView = (props) => {
10
10
  switch (upchargeDisplayMode) {
11
11
  case UpchargeDisplayMode.None:
12
12
  return null;
13
- case UpchargeDisplayMode.Price:
13
+ case UpchargeDisplayMode.Price: {
14
14
  const { upcharge } = option;
15
15
  if (upcharge === undefined || upcharge === 0) {
16
16
  return null;
17
17
  }
18
18
  return (React.createElement("div", { className: "cfgFeatureItemOption__price" },
19
19
  React.createElement(CurrencyPrice, { currency: currency, language: lang, price: upcharge, fractionDigits: fractionDigits })));
20
- default:
20
+ }
21
+ default: {
21
22
  const { priceChangeAtSelectChange } = option;
22
23
  if (priceChangeAtSelectChange === undefined || priceChangeAtSelectChange === 0) {
23
24
  return null;
@@ -25,5 +26,6 @@ export const CfgOptionPriceView = (props) => {
25
26
  return (React.createElement("div", { className: "cfgFeatureItemOption__price" },
26
27
  priceChangeAtSelectChange < 0 ? "-" : "+",
27
28
  React.createElement(CurrencyPrice, { currency: currency, language: lang, price: Math.abs(priceChangeAtSelectChange), fractionDigits: fractionDigits })));
29
+ }
28
30
  }
29
31
  };
@@ -7,8 +7,13 @@ export declare enum UpchargeDisplayMode {
7
7
  None = 1,
8
8
  Price = 2
9
9
  }
10
+ /**
11
+ * @param upchargeDisplayMode How upcharge on Options is displayed
12
+ * @param startOpen Setting this to true will make all selected options be expanded from start. This is bad for performance when viewing large products.
13
+ */
10
14
  export declare type PassthroughProps = {
11
15
  upchargeDisplayMode?: UpchargeDisplayMode;
16
+ startOpen?: boolean;
12
17
  };
13
18
  export declare type CfgProductConfigurationViewProps = PassthroughProps & Partial<CfgProductConfigurationComponent> & CssProps & {
14
19
  productOrConfiguration: CfgProductConfiguration | CfgProduct;
@@ -1 +1 @@
1
- .cfgMl1{margin-left:1em}.cfgMt1{margin-top:1em}.cfgMb1{margin-bottom:1em}.cfgTextOverflow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a{color:#005cb3}.cfgButton{box-sizing:border-box;display:inline-block;background-color:transparent;color:#333;border-radius:.3em;border:.1em solid #bababa;font-size:1.3em;font-weight:500;outline:none;padding:.4em .8em}.cfgButton:after,.cfgButton:before{box-sizing:inherit}.cfgButton *{box-sizing:border-box}.cfgButton :after,.cfgButton :before{box-sizing:inherit}.cfgButton:focus{box-shadow:0 0 0 .075em #fff,0 0 0 .2em #333}.cfgButton[disabled]{box-sizing:border-box;display:inline-block;background-color:transparent;color:grey;border-radius:.3em;border:.1em solid #c8c7cc;font-size:1.3em;font-weight:500;outline:none;padding:.4em .8em}.cfgButton[disabled]:after,.cfgButton[disabled]:before{box-sizing:inherit}.cfgButton[disabled] *{box-sizing:border-box}.cfgButton[disabled] :after,.cfgButton[disabled] :before{box-sizing:inherit}.cfgButton[disabled]:focus{box-shadow:0 0 0 .075em #fff,0 0 0 .2em #333}.cfgButtonRow{box-sizing:border-box}.cfgButtonRow:after,.cfgButtonRow:before{box-sizing:inherit}.cfgButtonRow *{box-sizing:border-box}.cfgButtonRow :after,.cfgButtonRow :before{box-sizing:inherit}.cfgButtonRow__button:nth-child(n+2){margin-left:1em}.cfgCheckmark{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgCheckmark:after,.cfgCheckmark:before{box-sizing:inherit}.cfgCheckmark *{box-sizing:border-box}.cfgCheckmark :after,.cfgCheckmark :before{box-sizing:inherit}.cfgCheckmark__container{transition:transform .4s;transform:translateY(17px)}.cfgCheckmark__line{stroke:#000;stroke-linecap:round;stroke-width:12;transform-origin:50px 50px;transition:transform .4s,stroke .4s}.cfgCheckmark__lineLeft{stroke:#000;transform:rotate(40deg) translateY(24px) translateX(18px)}.cfgCheckmark__lineRight{stroke:#000;transform:rotate(-50deg) translateY(-2px) translateX(-3px)}.cfgCheckmark__border{border:.2em solid #c8c7cc;border-radius:.3em}.cfgCheckmark__border,.cfgCheckmark__border--active{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgCheckmark__border--active{border:.2em solid #000;border-radius:.3em}.cfgChevron{box-sizing:border-box;display:inline-block;width:100%}.cfgChevron:after,.cfgChevron:before{box-sizing:inherit}.cfgChevron *{box-sizing:border-box}.cfgChevron :after,.cfgChevron :before{box-sizing:inherit}.cfgChevron__container{transition:transform .4s}.cfgChevron__container--down{transform:translateY(13px)}.cfgChevron__container--up{transform:translateY(-13px)}.cfgChevron__line{stroke-linecap:round;stroke-width:10;transform-origin:50px 50px;transition:transform .4s,stroke .4s}.cfgChevron__lineLeft--active,.cfgChevron__lineRight--active{stroke:#000}.cfgChevron__lineLeft--passive,.cfgChevron__lineRight--passive{stroke:#bababa}.cfgChevron__lineLeft--down{transform:rotate(40deg)}.cfgChevron__lineLeft--up,.cfgChevron__lineRight--down{transform:rotate(-40deg)}.cfgChevron__lineRight--up{transform:rotate(40deg)}.cfgCircleXmarkIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgCircleXmarkIcon:after,.cfgCircleXmarkIcon:before{box-sizing:inherit}.cfgCircleXmarkIcon *{box-sizing:border-box}.cfgCircleXmarkIcon :after,.cfgCircleXmarkIcon :before{box-sizing:inherit}.cfgCircleXmarkIcon circle,.cfgCircleXmarkIcon path{stroke:#7c7986;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgConfiguratorWrapper{box-sizing:border-box;color:#333;display:flex;height:85vh;flex-direction:column}.cfgConfiguratorWrapper:after,.cfgConfiguratorWrapper:before{box-sizing:inherit}.cfgConfiguratorWrapper *{box-sizing:border-box}.cfgConfiguratorWrapper :after,.cfgConfiguratorWrapper :before{box-sizing:inherit}@media screen and (orientation:landscape){.cfgConfiguratorWrapper{flex-direction:row}}.cfgConfiguratorWrapper .cfgTaskStart{margin-top:.5em;font-size:1.2em;font-weight:500}.cfgConfiguratorWrapper .cfgTaskStart .cfgFormSelect{padding:.5em}.cfgConfiguratorWrapper .cfgTaskStart .cfgFormSelect:after{right:.5em}.cfgCanvasWrapper{box-sizing:border-box;position:relative;height:50rem;-webkit-user-select:none;user-select:none;flex:1 1 auto;overflow:hidden}.cfgCanvasWrapper:after,.cfgCanvasWrapper:before{box-sizing:inherit}.cfgCanvasWrapper *{box-sizing:border-box}.cfgCanvasWrapper :after,.cfgCanvasWrapper :before{box-sizing:inherit}.cfgCanvasWrapper canvas{outline:none}@media screen and (orientation:landscape){.cfgCanvasWrapper{height:100%;flex:0 1 60%}}.cfgConfigurator{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:10px;color:#333;min-width:0;height:100%;display:flex;flex-direction:column;flex:0 0 50%;overflow:auto}.cfgConfigurator:after,.cfgConfigurator:before{box-sizing:inherit}.cfgConfigurator *{box-sizing:border-box}.cfgConfigurator :after,.cfgConfigurator :before{box-sizing:inherit}@media screen and (orientation:landscape){.cfgConfigurator{height:100%;flex:0 1 40%}}.cfgConfiguratorHeader{border-bottom:.1em solid #c8c7cc;padding:1.7em 1.7em 1.9em;position:relative}.cfgConfiguratorHeader__actions{margin-top:1em}.cfgConfiguratorTree{padding-top:.5em;overflow-y:auto;-webkit-overflow-scrolling:touch}.cfgDownloadIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgDownloadIcon:after,.cfgDownloadIcon:before{box-sizing:inherit}.cfgDownloadIcon *{box-sizing:border-box}.cfgDownloadIcon :after,.cfgDownloadIcon :before{box-sizing:inherit}.cfgDownloadIcon circle,.cfgDownloadIcon path{stroke:#005cb3;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgExpandableHeadingRow{box-sizing:border-box;-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;align-items:stretch;display:flex;height:3.9em;outline:0;position:relative;width:100%}.cfgExpandableHeadingRow:after,.cfgExpandableHeadingRow:before{box-sizing:inherit}.cfgExpandableHeadingRow *{box-sizing:border-box}.cfgExpandableHeadingRow :after,.cfgExpandableHeadingRow :before{box-sizing:inherit}.cfgExpandableHeadingRow--expandable{cursor:pointer}.cfgExpandableHeadingRow__title{align-items:center;display:flex;flex:1 1 auto;font-size:1.5em;font-weight:500;justify-content:flex-start}.cfgExpandableHeadingRow__icon{align-items:center;display:flex;flex:0 0 5em;justify-content:center;padding:0 1.5em}.cfgErrorIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgErrorIcon:after,.cfgErrorIcon:before{box-sizing:inherit}.cfgErrorIcon *{box-sizing:border-box}.cfgErrorIcon :after,.cfgErrorIcon :before{box-sizing:inherit}.cfgErrorIcon circle,.cfgErrorIcon path{stroke:#b4361d;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgThumbnailImage{border-radius:.7em;display:inline-block;height:3em;width:3em}.cfgThumbnailPlaceholder{align-items:center;display:flex;flex:0 0 4.2em;justify-content:flex-start}.cfgFeatureItem{box-sizing:border-box;color:#333}.cfgFeatureItem:after,.cfgFeatureItem:before{box-sizing:inherit}.cfgFeatureItem *{box-sizing:border-box}.cfgFeatureItem :after,.cfgFeatureItem :before{box-sizing:inherit}.cfgFeatureItem__dropdown{-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;align-items:stretch;display:flex;height:3.9em;outline:0;position:relative;width:100%;cursor:pointer}.cfgFeatureItem--optional{margin-top:1em}.cfgFeatureItem__hiddenInput{left:-99999px;opacity:0;position:absolute;z-index:-1}.cfgFeatureItem__radio{border:.2em solid #c8c7cc;border-radius:50%}.cfgFeatureItem__checkbox,.cfgFeatureItem__radio{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgFeatureItem__checkbox{border:.2em solid #c8c7cc;border-radius:.3em}.cfgFeatureItem__hiddenInput:focus~.cfgFeatureItem__checkbox,.cfgFeatureItem__hiddenInput:focus~.cfgFeatureItem__radio{box-shadow:0 0 0 .075em #fff,0 0 0 .2em #333}.cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__radio{border:.2em solid #000;border-radius:50%}.cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__checkbox,.cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__radio{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__checkbox{border:.2em solid #000;border-radius:.3em}.cfgFeatureItem.cfgAdditionalProduct>.cfgExpandableHeadingRow>.cfgExpandableHeadingRow__title{font-weight:600}.cfgFeatureItem.cfgAdditionalProduct>.cfgFeatureItem__hr{border-bottom-color:#bababa}.cfgFeatureItem.cfgAdditionalProduct .cfgFeatureItem:last-child .cfgFeatureItem__hr{margin-bottom:-.1em}.cfgFeatureItemOption__titleWrapper,.cfgFeatureItemOptional__titleWrapper{flex:1 1 auto;margin-left:1em}.cfgFeatureItemOption__title,.cfgFeatureItemOptional__title{font-size:1.5em}.cfgFeatureItemOption__price{font-weight:600;font-size:.75em;color:grey}.cfgOptionTree--subLevel .cfgFeatureItem__hr{display:none}.cfgFeatureItemOption,.cfgFeatureItemOptional{align-items:center;display:flex}.cfgFeatureItemOptional{justify-content:center;margin-top:.5em}.cfgFeatureItemOptional__header{font-size:1.2em;font-weight:600;margin:0 0 .3em;padding:0;text-transform:uppercase}.cfgFormSelect,.cfgInput{border:.1em solid #bababa;padding:.3em .4em;border-radius:.3em}.cfgFormSelect{cursor:pointer;position:relative}.cfgFormSelect select{-webkit-appearance:none;appearance:none;padding:0 1em 0 0;margin:0;width:100%;background-color:transparent;font-family:inherit;font-size:inherit;font-weight:inherit;cursor:inherit;line-height:inherit;outline:none;border:none}.cfgFormSelect:after{position:absolute;right:.35em;top:50%;margin-top:-.55em;content:"";width:1em;height:1em;background-color:#bababa;-webkit-clip-path:polygon(50% 80%,90% 40%,100% 50%,50% 100%,0 50%,10% 40%);clip-path:polygon(50% 80%,90% 40%,100% 50%,50% 100%,0 50%,10% 40%);justify-self:end}.cfgHr{box-sizing:border-box;border:0;border-bottom:.1em solid #c8c7cc;padding:0;margin:0}.cfgHr:after,.cfgHr:before{box-sizing:inherit}.cfgHr *{box-sizing:border-box}.cfgHr :after,.cfgHr :before{box-sizing:inherit}.cfgCenteredLoading{box-sizing:border-box;align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.cfgCenteredLoading:after,.cfgCenteredLoading:before{box-sizing:inherit}.cfgCenteredLoading *{box-sizing:border-box}.cfgCenteredLoading :after,.cfgCenteredLoading :before{box-sizing:inherit}.cfgOverlayLoading{box-sizing:border-box;align-items:center;background-color:#fff;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.cfgOverlayLoading:after,.cfgOverlayLoading:before{box-sizing:inherit}.cfgOverlayLoading *{box-sizing:border-box}.cfgOverlayLoading :after,.cfgOverlayLoading :before{box-sizing:inherit}.cfgOverlayLoading--clickThrough{background-color:transparent;pointer-events:none}.cfgOverlayLoading--clickThrough .cfgLoadingWithText{padding:2em 2em 1.8em;border-radius:.8em;background-color:#fff;opacity:.8;border:.1em solid rgba(0,0,0,.15)}.cfgOverlayLoading--fullWindow{position:fixed;z-index:1001}.cfgLoadingWithText{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center}.cfgLoadingWithText:after,.cfgLoadingWithText:before{box-sizing:inherit}.cfgLoadingWithText *{box-sizing:border-box}.cfgLoadingWithText :after,.cfgLoadingWithText :before{box-sizing:inherit}.cfgLoadingWithText__text{color:#000;font-weight:600;margin-top:.5em;font-size:1.6em}.cfgLoading{box-sizing:border-box;animation:rotate 1.1s linear 0s infinite;border-radius:100%;border:.5em solid rgba(0,0,0,.15);border-bottom-color:#000;display:inline-block;height:3em;width:3em}.cfgLoading:after,.cfgLoading:before{box-sizing:inherit}.cfgLoading *{box-sizing:border-box}.cfgLoading :after,.cfgLoading :before{box-sizing:inherit}.cfgLoading--small{border-width:.4em;height:2em;width:2em}.cfgOptionTree{box-sizing:border-box;list-style:none;margin:0;padding:0}.cfgOptionTree:after,.cfgOptionTree:before{box-sizing:inherit}.cfgOptionTree *{box-sizing:border-box}.cfgOptionTree :after,.cfgOptionTree :before{box-sizing:inherit}.cfgOptionTree--topLevel{padding-left:1.7em}.cfgOptionTree--indent{margin-left:3.2em}.cfgOptionTree--compThumb{margin-left:4.2em}.cfgProductInfo{box-sizing:border-box;color:#333;display:flex}.cfgProductInfo:after,.cfgProductInfo:before{box-sizing:inherit}.cfgProductInfo *{box-sizing:border-box}.cfgProductInfo :after,.cfgProductInfo :before{box-sizing:inherit}.cfgProductInfo__left{flex:1 1 auto;min-width:0;overflow:hidden}.cfgProductInfo__right{align-items:flex-end;display:flex;flex-direction:column;flex:1 0 auto;margin-left:1em;max-width:.333333333;min-width:0}.cfgProductInfo__name{display:block;font-size:1.6em;font-weight:600;line-height:1.33;margin:0}.cfgProductInfo__number{font-size:1.3em;font-weight:400;line-height:1.38;margin:0}.cfgRangeView__inputs{display:flex;align-items:center}.cfgRangeView__number-input{font-size:1.5em;flex-grow:1;text-align:right}.cfgRangeView__unit-label{font-size:1.5em;margin-left:.3em}.cfgRangeView__slider-input.cfgSlider{margin-left:1em;flex-grow:3}.cfgRangeView__error{display:flex;align-items:center;margin-top:1em;font-size:1.5em;color:#b4361d}.cfgRangeView__error .cfgErrorIcon{padding-right:.25em;width:1.25em;height:1em}.cfgSlider{box-sizing:border-box;flex:1;margin:0;padding:0;min-height:2.8em;background:transparent;font:inherit}.cfgSlider:after,.cfgSlider:before{box-sizing:inherit}.cfgSlider *{box-sizing:border-box}.cfgSlider :after,.cfgSlider :before{box-sizing:inherit}.cfgSlider,.cfgSlider::-webkit-slider-thumb{-webkit-appearance:none}.cfgSlider::-webkit-slider-runnable-track{box-sizing:border-box;border:none;height:.2em;background:#666}.cfgSlider::-moz-range-track{box-sizing:border-box;border:none;height:.2em;background:#666}.cfgSlider::-ms-track{box-sizing:border-box;border:none;height:.2em;background:#666}.cfgSlider::-webkit-slider-thumb{margin-top:-1.3em;box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#fff;box-shadow:0 .15em .45em .05em #666}.cfgSlider::-moz-range-thumb{box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#fff;box-shadow:0 .15em .45em .05em #666}.cfgSlider::-ms-thumb{margin-top:0;box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#fff;box-shadow:0 .15em .45em .05em #666}.cfgSlider::-ms-tooltip{display:none}.cfgTaskList ul{list-style-type:none;padding:0;margin:1em 0 0;border-bottom:.1em solid #c8c7cc}.cfgTaskList__item{padding:0 1.5em 0 1.7em;margin-bottom:1em;display:flex;align-items:center}.cfgTaskList__preview{border:.1em solid #c8c7cc;border-radius:10%;width:4.8em;height:4.8em;flex-shrink:0}.cfgTaskList__preview img{object-fit:cover;position:relative;left:.38em;top:.38em;width:3.84em;height:3.84em}.cfgTaskList__icon{flex-shrink:0;width:4em;height:2em;padding-left:1em;padding-right:1em}.cfgTaskList__icon .cfgLoadingSizer{font-size:.75em}.cfgTaskList__status{flex-grow:1;font-size:1.5em}.cfgTaskList__abort{color:inherit;width:2em;height:2em;flex-shrink:0}.cfgTaskList__abort,.cfgTaskList__restart{-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;background:none;border:none;padding:0;cursor:pointer}.cfgTaskList__restart{color:inherit;text-decoration:underline;color:#005cb3}.cfgDarkTheme a{color:#70baff}.cfgDarkTheme .cfgButton{box-sizing:border-box;display:inline-block;background-color:transparent;color:#d6d6d6;border-radius:.3em;border:.1em solid #6a6a6a;font-size:1.3em;font-weight:500;outline:none;padding:.4em .8em}.cfgDarkTheme .cfgButton:after,.cfgDarkTheme .cfgButton:before{box-sizing:inherit}.cfgDarkTheme .cfgButton *{box-sizing:border-box}.cfgDarkTheme .cfgButton :after,.cfgDarkTheme .cfgButton :before{box-sizing:inherit}.cfgDarkTheme .cfgButton:focus{box-shadow:0 0 0 .075em #333,0 0 0 .2em #d6d6d6}.cfgDarkTheme .cfgButton[disabled]{box-sizing:border-box;display:inline-block;background-color:transparent;color:#999;border-radius:.3em;border:.1em solid #5b5963;font-size:1.3em;font-weight:500;outline:none;padding:.4em .8em}.cfgDarkTheme .cfgButton[disabled]:after,.cfgDarkTheme .cfgButton[disabled]:before{box-sizing:inherit}.cfgDarkTheme .cfgButton[disabled] *{box-sizing:border-box}.cfgDarkTheme .cfgButton[disabled] :after,.cfgDarkTheme .cfgButton[disabled] :before{box-sizing:inherit}.cfgDarkTheme .cfgButton[disabled]:focus{box-shadow:0 0 0 .075em #333,0 0 0 .2em #d6d6d6}.cfgDarkTheme .cfgButtonRow{box-sizing:border-box}.cfgDarkTheme .cfgButtonRow:after,.cfgDarkTheme .cfgButtonRow:before{box-sizing:inherit}.cfgDarkTheme .cfgButtonRow *{box-sizing:border-box}.cfgDarkTheme .cfgButtonRow :after,.cfgDarkTheme .cfgButtonRow :before{box-sizing:inherit}.cfgDarkTheme .cfgButtonRow__button:nth-child(n+2){margin-left:1em}.cfgDarkTheme .cfgCheckmark{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgDarkTheme .cfgCheckmark:after,.cfgDarkTheme .cfgCheckmark:before{box-sizing:inherit}.cfgDarkTheme .cfgCheckmark *{box-sizing:border-box}.cfgDarkTheme .cfgCheckmark :after,.cfgDarkTheme .cfgCheckmark :before{box-sizing:inherit}.cfgDarkTheme .cfgCheckmark__container{transition:transform .4s;transform:translateY(17px)}.cfgDarkTheme .cfgCheckmark__line{stroke:#fff;stroke-linecap:round;stroke-width:12;transform-origin:50px 50px;transition:transform .4s,stroke .4s}.cfgDarkTheme .cfgCheckmark__lineLeft{stroke:#fff;transform:rotate(40deg) translateY(24px) translateX(18px)}.cfgDarkTheme .cfgCheckmark__lineRight{stroke:#fff;transform:rotate(-50deg) translateY(-2px) translateX(-3px)}.cfgDarkTheme .cfgCheckmark__border{border:.2em solid #5b5963;border-radius:.3em}.cfgDarkTheme .cfgCheckmark__border,.cfgDarkTheme .cfgCheckmark__border--active{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgDarkTheme .cfgCheckmark__border--active{border:.2em solid #fff;border-radius:.3em}.cfgDarkTheme .cfgChevron{box-sizing:border-box;display:inline-block;width:100%}.cfgDarkTheme .cfgChevron:after,.cfgDarkTheme .cfgChevron:before{box-sizing:inherit}.cfgDarkTheme .cfgChevron *{box-sizing:border-box}.cfgDarkTheme .cfgChevron :after,.cfgDarkTheme .cfgChevron :before{box-sizing:inherit}.cfgDarkTheme .cfgChevron__container{transition:transform .4s}.cfgDarkTheme .cfgChevron__container--down{transform:translateY(13px)}.cfgDarkTheme .cfgChevron__container--up{transform:translateY(-13px)}.cfgDarkTheme .cfgChevron__line{stroke-linecap:round;stroke-width:10;transform-origin:50px 50px;transition:transform .4s,stroke .4s}.cfgDarkTheme .cfgChevron__lineLeft--active,.cfgDarkTheme .cfgChevron__lineRight--active{stroke:#fff}.cfgDarkTheme .cfgChevron__lineLeft--passive,.cfgDarkTheme .cfgChevron__lineRight--passive{stroke:#6a6a6a}.cfgDarkTheme .cfgChevron__lineLeft--down{transform:rotate(40deg)}.cfgDarkTheme .cfgChevron__lineLeft--up,.cfgDarkTheme .cfgChevron__lineRight--down{transform:rotate(-40deg)}.cfgDarkTheme .cfgChevron__lineRight--up{transform:rotate(40deg)}.cfgDarkTheme .cfgCircleXmarkIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgDarkTheme .cfgCircleXmarkIcon:after,.cfgDarkTheme .cfgCircleXmarkIcon:before{box-sizing:inherit}.cfgDarkTheme .cfgCircleXmarkIcon *{box-sizing:border-box}.cfgDarkTheme .cfgCircleXmarkIcon :after,.cfgDarkTheme .cfgCircleXmarkIcon :before{box-sizing:inherit}.cfgDarkTheme .cfgCircleXmarkIcon circle,.cfgDarkTheme .cfgCircleXmarkIcon path{stroke:#96949e;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgDarkTheme .cfgConfiguratorWrapper{box-sizing:border-box;color:#d6d6d6;display:flex;height:85vh;flex-direction:column}.cfgDarkTheme .cfgConfiguratorWrapper:after,.cfgDarkTheme .cfgConfiguratorWrapper:before{box-sizing:inherit}.cfgDarkTheme .cfgConfiguratorWrapper *{box-sizing:border-box}.cfgDarkTheme .cfgConfiguratorWrapper :after,.cfgDarkTheme .cfgConfiguratorWrapper :before{box-sizing:inherit}@media screen and (orientation:landscape){.cfgDarkTheme .cfgConfiguratorWrapper{flex-direction:row}}.cfgDarkTheme .cfgConfiguratorWrapper .cfgTaskStart{margin-top:.5em;font-size:1.2em;font-weight:500}.cfgDarkTheme .cfgConfiguratorWrapper .cfgTaskStart .cfgFormSelect{padding:.5em}.cfgDarkTheme .cfgConfiguratorWrapper .cfgTaskStart .cfgFormSelect:after{right:.5em}.cfgDarkTheme .cfgCanvasWrapper{box-sizing:border-box;position:relative;height:50rem;-webkit-user-select:none;user-select:none;flex:1 1 auto;overflow:hidden}.cfgDarkTheme .cfgCanvasWrapper:after,.cfgDarkTheme .cfgCanvasWrapper:before{box-sizing:inherit}.cfgDarkTheme .cfgCanvasWrapper *{box-sizing:border-box}.cfgDarkTheme .cfgCanvasWrapper :after,.cfgDarkTheme .cfgCanvasWrapper :before{box-sizing:inherit}.cfgDarkTheme .cfgCanvasWrapper canvas{outline:none}@media screen and (orientation:landscape){.cfgDarkTheme .cfgCanvasWrapper{height:100%;flex:0 1 60%}}.cfgDarkTheme .cfgConfigurator{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:10px;color:#d6d6d6;min-width:0;height:100%;display:flex;flex-direction:column;flex:0 0 50%;overflow:auto}.cfgDarkTheme .cfgConfigurator:after,.cfgDarkTheme .cfgConfigurator:before{box-sizing:inherit}.cfgDarkTheme .cfgConfigurator *{box-sizing:border-box}.cfgDarkTheme .cfgConfigurator :after,.cfgDarkTheme .cfgConfigurator :before{box-sizing:inherit}@media screen and (orientation:landscape){.cfgDarkTheme .cfgConfigurator{height:100%;flex:0 1 40%}}.cfgDarkTheme .cfgConfiguratorHeader{border-bottom:.1em solid #5b5963;padding:1.7em 1.7em 1.9em;position:relative}.cfgDarkTheme .cfgConfiguratorHeader__actions{margin-top:1em}.cfgDarkTheme .cfgConfiguratorTree{padding-top:.5em;overflow-y:auto;-webkit-overflow-scrolling:touch}.cfgDarkTheme .cfgDownloadIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgDarkTheme .cfgDownloadIcon:after,.cfgDarkTheme .cfgDownloadIcon:before{box-sizing:inherit}.cfgDarkTheme .cfgDownloadIcon *{box-sizing:border-box}.cfgDarkTheme .cfgDownloadIcon :after,.cfgDarkTheme .cfgDownloadIcon :before{box-sizing:inherit}.cfgDarkTheme .cfgDownloadIcon circle,.cfgDarkTheme .cfgDownloadIcon path{stroke:#70baff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgDarkTheme .cfgExpandableHeadingRow{box-sizing:border-box;-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;align-items:stretch;display:flex;height:3.9em;outline:0;position:relative;width:100%}.cfgDarkTheme .cfgExpandableHeadingRow:after,.cfgDarkTheme .cfgExpandableHeadingRow:before{box-sizing:inherit}.cfgDarkTheme .cfgExpandableHeadingRow *{box-sizing:border-box}.cfgDarkTheme .cfgExpandableHeadingRow :after,.cfgDarkTheme .cfgExpandableHeadingRow :before{box-sizing:inherit}.cfgDarkTheme .cfgExpandableHeadingRow--expandable{cursor:pointer}.cfgDarkTheme .cfgExpandableHeadingRow__title{align-items:center;display:flex;flex:1 1 auto;font-size:1.5em;font-weight:500;justify-content:flex-start}.cfgDarkTheme .cfgExpandableHeadingRow__icon{align-items:center;display:flex;flex:0 0 5em;justify-content:center;padding:0 1.5em}.cfgDarkTheme .cfgErrorIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgDarkTheme .cfgErrorIcon:after,.cfgDarkTheme .cfgErrorIcon:before{box-sizing:inherit}.cfgDarkTheme .cfgErrorIcon *{box-sizing:border-box}.cfgDarkTheme .cfgErrorIcon :after,.cfgDarkTheme .cfgErrorIcon :before{box-sizing:inherit}.cfgDarkTheme .cfgErrorIcon circle,.cfgDarkTheme .cfgErrorIcon path{stroke:#e8836f;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgDarkTheme .cfgThumbnailImage{border-radius:.7em;display:inline-block;height:3em;width:3em}.cfgDarkTheme .cfgThumbnailPlaceholder{align-items:center;display:flex;flex:0 0 4.2em;justify-content:flex-start}.cfgDarkTheme .cfgFeatureItem{box-sizing:border-box;color:#d6d6d6}.cfgDarkTheme .cfgFeatureItem:after,.cfgDarkTheme .cfgFeatureItem:before{box-sizing:inherit}.cfgDarkTheme .cfgFeatureItem *{box-sizing:border-box}.cfgDarkTheme .cfgFeatureItem :after,.cfgDarkTheme .cfgFeatureItem :before{box-sizing:inherit}.cfgDarkTheme .cfgFeatureItem__dropdown{-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;align-items:stretch;display:flex;height:3.9em;outline:0;position:relative;width:100%;cursor:pointer}.cfgDarkTheme .cfgFeatureItem--optional{margin-top:1em}.cfgDarkTheme .cfgFeatureItem__hiddenInput{left:-99999px;opacity:0;position:absolute;z-index:-1}.cfgDarkTheme .cfgFeatureItem__radio{border:.2em solid #5b5963;border-radius:50%}.cfgDarkTheme .cfgFeatureItem__checkbox,.cfgDarkTheme .cfgFeatureItem__radio{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgDarkTheme .cfgFeatureItem__checkbox{border:.2em solid #5b5963;border-radius:.3em}.cfgDarkTheme .cfgFeatureItem__hiddenInput:focus~.cfgFeatureItem__checkbox,.cfgDarkTheme .cfgFeatureItem__hiddenInput:focus~.cfgFeatureItem__radio{box-shadow:0 0 0 .075em #333,0 0 0 .2em #d6d6d6}.cfgDarkTheme .cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__radio{border:.2em solid #fff;border-radius:50%}.cfgDarkTheme .cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__checkbox,.cfgDarkTheme .cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__radio{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgDarkTheme .cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__checkbox{border:.2em solid #fff;border-radius:.3em}.cfgDarkTheme .cfgFeatureItem.cfgAdditionalProduct>.cfgExpandableHeadingRow>.cfgExpandableHeadingRow__title{font-weight:600}.cfgDarkTheme .cfgFeatureItem.cfgAdditionalProduct>.cfgFeatureItem__hr{border-bottom-color:#6a6a6a}.cfgDarkTheme .cfgFeatureItem.cfgAdditionalProduct .cfgFeatureItem:last-child .cfgFeatureItem__hr{margin-bottom:-.1em}.cfgDarkTheme .cfgFeatureItemOption__titleWrapper,.cfgDarkTheme .cfgFeatureItemOptional__titleWrapper{flex:1 1 auto;margin-left:1em}.cfgDarkTheme .cfgFeatureItemOption__title,.cfgDarkTheme .cfgFeatureItemOptional__title{font-size:1.5em}.cfgDarkTheme .cfgFeatureItemOption__price{font-weight:600;font-size:.75em;color:#999}.cfgDarkTheme .cfgOptionTree--subLevel .cfgFeatureItem__hr{display:none}.cfgDarkTheme .cfgFeatureItemOption{align-items:center;display:flex}.cfgDarkTheme .cfgFeatureItemOptional{align-items:center;display:flex;justify-content:center;margin-top:.5em}.cfgDarkTheme .cfgFeatureItemOptional__header{font-size:1.2em;font-weight:600;margin:0 0 .3em;padding:0;text-transform:uppercase}.cfgDarkTheme .cfgFormSelect,.cfgDarkTheme .cfgInput{border:.1em solid #6a6a6a;padding:.3em .4em;border-radius:.3em}.cfgDarkTheme .cfgFormSelect{cursor:pointer;position:relative}.cfgDarkTheme .cfgFormSelect select{-webkit-appearance:none;appearance:none;padding:0 1em 0 0;margin:0;width:100%;background-color:transparent;font-family:inherit;font-size:inherit;font-weight:inherit;cursor:inherit;line-height:inherit;outline:none;border:none}.cfgDarkTheme .cfgFormSelect:after{position:absolute;right:.35em;top:50%;margin-top:-.55em;content:"";width:1em;height:1em;background-color:#6a6a6a;-webkit-clip-path:polygon(50% 80%,90% 40%,100% 50%,50% 100%,0 50%,10% 40%);clip-path:polygon(50% 80%,90% 40%,100% 50%,50% 100%,0 50%,10% 40%);justify-self:end}.cfgDarkTheme .cfgHr{box-sizing:border-box;border:0;border-bottom:.1em solid #5b5963;padding:0;margin:0}.cfgDarkTheme .cfgHr:after,.cfgDarkTheme .cfgHr:before{box-sizing:inherit}.cfgDarkTheme .cfgHr *{box-sizing:border-box}.cfgDarkTheme .cfgHr :after,.cfgDarkTheme .cfgHr :before{box-sizing:inherit}.cfgDarkTheme .cfgCenteredLoading{box-sizing:border-box;align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.cfgDarkTheme .cfgCenteredLoading:after,.cfgDarkTheme .cfgCenteredLoading:before{box-sizing:inherit}.cfgDarkTheme .cfgCenteredLoading *{box-sizing:border-box}.cfgDarkTheme .cfgCenteredLoading :after,.cfgDarkTheme .cfgCenteredLoading :before{box-sizing:inherit}.cfgDarkTheme .cfgOverlayLoading{box-sizing:border-box;align-items:center;background-color:#333;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.cfgDarkTheme .cfgOverlayLoading:after,.cfgDarkTheme .cfgOverlayLoading:before{box-sizing:inherit}.cfgDarkTheme .cfgOverlayLoading *{box-sizing:border-box}.cfgDarkTheme .cfgOverlayLoading :after,.cfgDarkTheme .cfgOverlayLoading :before{box-sizing:inherit}.cfgDarkTheme .cfgOverlayLoading--clickThrough{background-color:transparent;pointer-events:none}.cfgDarkTheme .cfgOverlayLoading--clickThrough .cfgLoadingWithText{padding:2em 2em 1.8em;border-radius:.8em;background-color:#333;opacity:.8;border:.1em solid hsla(0,0%,100%,.15)}.cfgDarkTheme .cfgOverlayLoading--fullWindow{position:fixed;z-index:1001}.cfgDarkTheme .cfgLoadingWithText{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center}.cfgDarkTheme .cfgLoadingWithText:after,.cfgDarkTheme .cfgLoadingWithText:before{box-sizing:inherit}.cfgDarkTheme .cfgLoadingWithText *{box-sizing:border-box}.cfgDarkTheme .cfgLoadingWithText :after,.cfgDarkTheme .cfgLoadingWithText :before{box-sizing:inherit}.cfgDarkTheme .cfgLoadingWithText__text{color:#fff;font-weight:600;margin-top:.5em;font-size:1.6em}.cfgDarkTheme .cfgLoading{box-sizing:border-box;animation:rotate 1.1s linear 0s infinite;border-radius:100%;border:.5em solid hsla(0,0%,100%,.15);border-bottom-color:#fff;display:inline-block;height:3em;width:3em}.cfgDarkTheme .cfgLoading:after,.cfgDarkTheme .cfgLoading:before{box-sizing:inherit}.cfgDarkTheme .cfgLoading *{box-sizing:border-box}.cfgDarkTheme .cfgLoading :after,.cfgDarkTheme .cfgLoading :before{box-sizing:inherit}.cfgDarkTheme .cfgLoading--small{border-width:.4em;height:2em;width:2em}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cfgDarkTheme .cfgOptionTree{box-sizing:border-box;list-style:none;margin:0;padding:0}.cfgDarkTheme .cfgOptionTree:after,.cfgDarkTheme .cfgOptionTree:before{box-sizing:inherit}.cfgDarkTheme .cfgOptionTree *{box-sizing:border-box}.cfgDarkTheme .cfgOptionTree :after,.cfgDarkTheme .cfgOptionTree :before{box-sizing:inherit}.cfgDarkTheme .cfgOptionTree--topLevel{padding-left:1.7em}.cfgDarkTheme .cfgOptionTree--indent{margin-left:3.2em}.cfgDarkTheme .cfgOptionTree--compThumb{margin-left:4.2em}.cfgDarkTheme .cfgProductInfo{box-sizing:border-box;color:#d6d6d6;display:flex}.cfgDarkTheme .cfgProductInfo:after,.cfgDarkTheme .cfgProductInfo:before{box-sizing:inherit}.cfgDarkTheme .cfgProductInfo *{box-sizing:border-box}.cfgDarkTheme .cfgProductInfo :after,.cfgDarkTheme .cfgProductInfo :before{box-sizing:inherit}.cfgDarkTheme .cfgProductInfo__left{flex:1 1 auto;min-width:0;overflow:hidden}.cfgDarkTheme .cfgProductInfo__right{align-items:flex-end;display:flex;flex-direction:column;flex:1 0 auto;margin-left:1em;max-width:.333333333;min-width:0}.cfgDarkTheme .cfgProductInfo__name{display:block;font-size:1.6em;font-weight:600;line-height:1.33;margin:0}.cfgDarkTheme .cfgProductInfo__number{font-size:1.3em;font-weight:400;line-height:1.38;margin:0}.cfgDarkTheme .cfgRangeView__inputs{display:flex;align-items:center}.cfgDarkTheme .cfgRangeView__number-input{font-size:1.5em;flex-grow:1;text-align:right}.cfgDarkTheme .cfgRangeView__unit-label{font-size:1.5em;margin-left:.3em}.cfgDarkTheme .cfgRangeView__slider-input.cfgSlider{margin-left:1em;flex-grow:3}.cfgDarkTheme .cfgRangeView__error{display:flex;align-items:center;margin-top:1em;font-size:1.5em;color:#e8836f}.cfgDarkTheme .cfgRangeView__error .cfgErrorIcon{padding-right:.25em;width:1.25em;height:1em}.cfgDarkTheme .cfgSlider{box-sizing:border-box;flex:1;margin:0;padding:0;min-height:2.8em;background:transparent;font:inherit}.cfgDarkTheme .cfgSlider:after,.cfgDarkTheme .cfgSlider:before{box-sizing:inherit}.cfgDarkTheme .cfgSlider *{box-sizing:border-box}.cfgDarkTheme .cfgSlider :after,.cfgDarkTheme .cfgSlider :before{box-sizing:inherit}.cfgDarkTheme .cfgSlider,.cfgDarkTheme .cfgSlider::-webkit-slider-thumb{-webkit-appearance:none}.cfgDarkTheme .cfgSlider::-webkit-slider-runnable-track{box-sizing:border-box;border:none;height:.2em;background:#adadad}.cfgDarkTheme .cfgSlider::-moz-range-track{box-sizing:border-box;border:none;height:.2em;background:#adadad}.cfgDarkTheme .cfgSlider::-ms-track{box-sizing:border-box;border:none;height:.2em;background:#adadad}.cfgDarkTheme .cfgSlider::-webkit-slider-thumb{margin-top:-1.3em;box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#333;box-shadow:0 .15em .45em .05em #adadad}.cfgDarkTheme .cfgSlider::-moz-range-thumb{box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#333;box-shadow:0 .15em .45em .05em #adadad}.cfgDarkTheme .cfgSlider::-ms-thumb{margin-top:0;box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#333;box-shadow:0 .15em .45em .05em #adadad}.cfgDarkTheme .cfgSlider::-ms-tooltip{display:none}.cfgDarkTheme .cfgTaskList ul{list-style-type:none;padding:0;margin:1em 0 0;border-bottom:.1em solid #5b5963}.cfgDarkTheme .cfgTaskList__item{padding:0 1.5em 0 1.7em;margin-bottom:1em;display:flex;align-items:center}.cfgDarkTheme .cfgTaskList__preview{border:.1em solid #5b5963;border-radius:10%;width:4.8em;height:4.8em;flex-shrink:0}.cfgDarkTheme .cfgTaskList__preview img{object-fit:cover;position:relative;left:.38em;top:.38em;width:3.84em;height:3.84em}.cfgDarkTheme .cfgTaskList__icon{flex-shrink:0;width:4em;height:2em;padding-left:1em;padding-right:1em}.cfgDarkTheme .cfgTaskList__icon .cfgLoadingSizer{font-size:.75em}.cfgDarkTheme .cfgTaskList__status{flex-grow:1;font-size:1.5em}.cfgDarkTheme .cfgTaskList__abort{color:inherit;width:2em;height:2em;flex-shrink:0}.cfgDarkTheme .cfgTaskList__abort,.cfgDarkTheme .cfgTaskList__restart{-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;background:none;border:none;padding:0;cursor:pointer}.cfgDarkTheme .cfgTaskList__restart{color:inherit;text-decoration:underline;color:#70baff}
1
+ .cfgMl1{margin-left:1em}.cfgMt1{margin-top:1em}.cfgMb1{margin-bottom:1em}.cfgTextOverflow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a{color:#005cb3}.cfgButton{box-sizing:border-box;display:inline-block;background-color:transparent;color:#333;border-radius:.3em;border:.1em solid #bababa;font-size:1.3em;font-weight:500;outline:none;padding:.4em .8em}.cfgButton:after,.cfgButton:before{box-sizing:inherit}.cfgButton *{box-sizing:border-box}.cfgButton :after,.cfgButton :before{box-sizing:inherit}.cfgButton:focus{box-shadow:0 0 0 .075em #fff,0 0 0 .2em #333}.cfgButton[disabled]{box-sizing:border-box;display:inline-block;background-color:transparent;color:grey;border-radius:.3em;border:.1em solid #c8c7cc;font-size:1.3em;font-weight:500;outline:none;padding:.4em .8em}.cfgButton[disabled]:after,.cfgButton[disabled]:before{box-sizing:inherit}.cfgButton[disabled] *{box-sizing:border-box}.cfgButton[disabled] :after,.cfgButton[disabled] :before{box-sizing:inherit}.cfgButton[disabled]:focus{box-shadow:0 0 0 .075em #fff,0 0 0 .2em #333}.cfgButtonRow{box-sizing:border-box}.cfgButtonRow:after,.cfgButtonRow:before{box-sizing:inherit}.cfgButtonRow *{box-sizing:border-box}.cfgButtonRow :after,.cfgButtonRow :before{box-sizing:inherit}.cfgButtonRow__button:nth-child(n+2){margin-left:1em}.cfgCheckmark{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgCheckmark:after,.cfgCheckmark:before{box-sizing:inherit}.cfgCheckmark *{box-sizing:border-box}.cfgCheckmark :after,.cfgCheckmark :before{box-sizing:inherit}.cfgCheckmark__container{transition:transform .4s;transform:translateY(17px)}.cfgCheckmark__line{stroke:#000;stroke-linecap:round;stroke-width:12;transform-origin:50px 50px;transition:transform .4s,stroke .4s}.cfgCheckmark__lineLeft{stroke:#000;transform:rotate(40deg) translateY(24px) translateX(18px)}.cfgCheckmark__lineRight{stroke:#000;transform:rotate(-50deg) translateY(-2px) translateX(-3px)}.cfgCheckmark__border{border:.2em solid #c8c7cc;border-radius:.3em}.cfgCheckmark__border,.cfgCheckmark__border--active{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgCheckmark__border--active{border:.2em solid #000;border-radius:.3em}.cfgChevron{box-sizing:border-box;display:inline-block;width:100%}.cfgChevron:after,.cfgChevron:before{box-sizing:inherit}.cfgChevron *{box-sizing:border-box}.cfgChevron :after,.cfgChevron :before{box-sizing:inherit}.cfgChevron__container{transition:transform .4s}.cfgChevron__container--down{transform:translateY(13px)}.cfgChevron__container--up{transform:translateY(-13px)}.cfgChevron__line{stroke-linecap:round;stroke-width:10;transform-origin:50px 50px;transition:transform .4s,stroke .4s}.cfgChevron__lineLeft--active,.cfgChevron__lineRight--active{stroke:#000}.cfgChevron__lineLeft--passive,.cfgChevron__lineRight--passive{stroke:#bababa}.cfgChevron__lineLeft--down{transform:rotate(40deg)}.cfgChevron__lineLeft--up,.cfgChevron__lineRight--down{transform:rotate(-40deg)}.cfgChevron__lineRight--up{transform:rotate(40deg)}.cfgCircleXmarkIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgCircleXmarkIcon:after,.cfgCircleXmarkIcon:before{box-sizing:inherit}.cfgCircleXmarkIcon *{box-sizing:border-box}.cfgCircleXmarkIcon :after,.cfgCircleXmarkIcon :before{box-sizing:inherit}.cfgCircleXmarkIcon circle,.cfgCircleXmarkIcon path{stroke:#7c7986;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgConfiguratorWrapper{box-sizing:border-box;color:#333;display:flex;height:85vh;flex-direction:column}.cfgConfiguratorWrapper:after,.cfgConfiguratorWrapper:before{box-sizing:inherit}.cfgConfiguratorWrapper *{box-sizing:border-box}.cfgConfiguratorWrapper :after,.cfgConfiguratorWrapper :before{box-sizing:inherit}@media screen and (orientation:landscape){.cfgConfiguratorWrapper{flex-direction:row}}.cfgConfiguratorWrapper .cfgReset,.cfgConfiguratorWrapper .cfgShare,.cfgConfiguratorWrapper .cfgTaskStart{margin-top:.5em;font-size:1.2em;font-weight:500}.cfgConfiguratorWrapper .cfgReset .cfgFormSelect,.cfgConfiguratorWrapper .cfgReset .cfgInput,.cfgConfiguratorWrapper .cfgReset button,.cfgConfiguratorWrapper .cfgShare .cfgFormSelect,.cfgConfiguratorWrapper .cfgShare .cfgInput,.cfgConfiguratorWrapper .cfgShare button,.cfgConfiguratorWrapper .cfgTaskStart .cfgFormSelect,.cfgConfiguratorWrapper .cfgTaskStart .cfgInput,.cfgConfiguratorWrapper .cfgTaskStart button{padding:.5em}.cfgConfiguratorWrapper .cfgTaskStart .cfgFormSelect:after{right:.5em}.cfgConfiguratorWrapper .cfgReset button,.cfgConfiguratorWrapper .cfgShare .cfgInput{-webkit-appearance:none;appearance:none;margin:0;background-color:transparent;font-family:inherit;font-size:inherit;font-weight:inherit;cursor:inherit;line-height:inherit;outline:none}.cfgConfiguratorWrapper .cfgShare__error{display:inline-block}.cfgConfiguratorWrapper .cfgShare__error .cfgErrorIcon{padding-left:.25em;margin-right:.75em;width:1.25em;height:1em}.cfgConfiguratorWrapper .cfgShare__grayed{color:grey}.cfgCanvasWrapper{box-sizing:border-box;position:relative;height:50rem;-webkit-user-select:none;user-select:none;flex:1 1 auto;overflow:hidden}.cfgCanvasWrapper:after,.cfgCanvasWrapper:before{box-sizing:inherit}.cfgCanvasWrapper *{box-sizing:border-box}.cfgCanvasWrapper :after,.cfgCanvasWrapper :before{box-sizing:inherit}.cfgCanvasWrapper canvas{outline:none}@media screen and (orientation:landscape){.cfgCanvasWrapper{height:100%;flex:0 1 60%}}.cfgConfigurator{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:10px;color:#333;min-width:0;height:100%;display:flex;flex-direction:column;flex:0 0 50%;overflow:auto}.cfgConfigurator:after,.cfgConfigurator:before{box-sizing:inherit}.cfgConfigurator *{box-sizing:border-box}.cfgConfigurator :after,.cfgConfigurator :before{box-sizing:inherit}@media screen and (orientation:landscape){.cfgConfigurator{height:100%;flex:0 1 40%}}.cfgConfiguratorHeader{border-bottom:.1em solid #c8c7cc;padding:1.7em 1.7em 1.9em;position:relative}.cfgConfiguratorHeader__actions{margin-top:1em}.cfgConfiguratorTree{padding-top:.5em;overflow-y:auto;-webkit-overflow-scrolling:touch}.cfgDownloadIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgDownloadIcon:after,.cfgDownloadIcon:before{box-sizing:inherit}.cfgDownloadIcon *{box-sizing:border-box}.cfgDownloadIcon :after,.cfgDownloadIcon :before{box-sizing:inherit}.cfgDownloadIcon circle,.cfgDownloadIcon path{stroke:#005cb3;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgExpandableHeadingRow{box-sizing:border-box;-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;align-items:stretch;display:flex;height:3.9em;outline:0;position:relative;width:100%}.cfgExpandableHeadingRow:after,.cfgExpandableHeadingRow:before{box-sizing:inherit}.cfgExpandableHeadingRow *{box-sizing:border-box}.cfgExpandableHeadingRow :after,.cfgExpandableHeadingRow :before{box-sizing:inherit}.cfgExpandableHeadingRow--expandable{cursor:pointer}.cfgExpandableHeadingRow__title{align-items:center;display:flex;flex:1 1 auto;font-size:1.5em;font-weight:500;justify-content:flex-start}.cfgExpandableHeadingRow__icon{align-items:center;display:flex;flex:0 0 5em;justify-content:center;padding:0 1.5em}.cfgErrorIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgErrorIcon:after,.cfgErrorIcon:before{box-sizing:inherit}.cfgErrorIcon *{box-sizing:border-box}.cfgErrorIcon :after,.cfgErrorIcon :before{box-sizing:inherit}.cfgErrorIcon circle,.cfgErrorIcon path{stroke:#b4361d;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgThumbnailImage{border-radius:.7em;display:inline-block;height:3em;width:3em}.cfgThumbnailPlaceholder{align-items:center;display:flex;flex:0 0 4.2em;justify-content:flex-start}.cfgFeatureItem{box-sizing:border-box;color:#333}.cfgFeatureItem:after,.cfgFeatureItem:before{box-sizing:inherit}.cfgFeatureItem *{box-sizing:border-box}.cfgFeatureItem :after,.cfgFeatureItem :before{box-sizing:inherit}.cfgFeatureItem__dropdown{-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;align-items:stretch;display:flex;height:3.9em;outline:0;position:relative;width:100%;cursor:pointer}.cfgFeatureItem--optional{margin-top:1em}.cfgFeatureItem__hiddenInput{left:-99999px;opacity:0;position:absolute;z-index:-1}.cfgFeatureItem__radio{border:.2em solid #c8c7cc;border-radius:50%}.cfgFeatureItem__checkbox,.cfgFeatureItem__radio{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgFeatureItem__checkbox{border:.2em solid #c8c7cc;border-radius:.3em}.cfgFeatureItem__hiddenInput:focus~.cfgFeatureItem__checkbox,.cfgFeatureItem__hiddenInput:focus~.cfgFeatureItem__radio{box-shadow:0 0 0 .075em #fff,0 0 0 .2em #333}.cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__radio{border:.2em solid #000;border-radius:50%}.cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__checkbox,.cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__radio{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__checkbox{border:.2em solid #000;border-radius:.3em}.cfgFeatureItem.cfgAdditionalProduct>.cfgExpandableHeadingRow>.cfgExpandableHeadingRow__title{font-weight:600}.cfgFeatureItem.cfgAdditionalProduct>.cfgFeatureItem__hr{border-bottom-color:#bababa}.cfgFeatureItem.cfgAdditionalProduct .cfgFeatureItem:last-child .cfgFeatureItem__hr{margin-bottom:-.1em}.cfgFeatureItemOption__titleWrapper,.cfgFeatureItemOptional__titleWrapper{flex:1 1 auto;margin-left:1em}.cfgFeatureItemOption__title,.cfgFeatureItemOptional__title{font-size:1.5em}.cfgFeatureItemOption__price{font-weight:600;font-size:.75em;color:grey}.cfgOptionTree--subLevel .cfgFeatureItem__hr{display:none}.cfgFeatureItemOption,.cfgFeatureItemOptional{align-items:center;display:flex}.cfgFeatureItemOptional{justify-content:center;margin-top:.5em}.cfgFeatureItemOptional__header{font-size:1.2em;font-weight:600;margin:0 0 .3em;padding:0;text-transform:uppercase}.cfgFormSelect,.cfgInput{border:.1em solid #bababa;padding:.3em .4em;border-radius:.3em;color:inherit}.cfgFormSelect{cursor:pointer;position:relative}.cfgFormSelect select{-webkit-appearance:none;appearance:none;padding:0 1em 0 0;margin:0;width:100%;background-color:transparent;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;cursor:inherit;line-height:inherit;outline:none;border:none}.cfgFormSelect:after{position:absolute;right:.35em;top:50%;margin-top:-.55em;content:"";width:1em;height:1em;background-color:#bababa;-webkit-clip-path:polygon(50% 80%,90% 40%,100% 50%,50% 100%,0 50%,10% 40%);clip-path:polygon(50% 80%,90% 40%,100% 50%,50% 100%,0 50%,10% 40%);justify-self:end}.cfgHr{box-sizing:border-box;border:0;border-bottom:.1em solid #c8c7cc;padding:0;margin:0}.cfgHr:after,.cfgHr:before{box-sizing:inherit}.cfgHr *{box-sizing:border-box}.cfgHr :after,.cfgHr :before{box-sizing:inherit}.cfgCenteredLoading{box-sizing:border-box;align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.cfgCenteredLoading:after,.cfgCenteredLoading:before{box-sizing:inherit}.cfgCenteredLoading *{box-sizing:border-box}.cfgCenteredLoading :after,.cfgCenteredLoading :before{box-sizing:inherit}.cfgOverlayLoading{box-sizing:border-box;align-items:center;background-color:#fff;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.cfgOverlayLoading:after,.cfgOverlayLoading:before{box-sizing:inherit}.cfgOverlayLoading *{box-sizing:border-box}.cfgOverlayLoading :after,.cfgOverlayLoading :before{box-sizing:inherit}.cfgOverlayLoading--clickThrough{background-color:transparent;pointer-events:none}.cfgOverlayLoading--clickThrough .cfgLoadingWithText{padding:2em 2em 1.8em;border-radius:.8em;background-color:#fff;opacity:.8;border:.1em solid rgba(0,0,0,.15)}.cfgOverlayLoading--fullWindow{position:fixed;z-index:1001}.cfgLoadingWithText{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center}.cfgLoadingWithText:after,.cfgLoadingWithText:before{box-sizing:inherit}.cfgLoadingWithText *{box-sizing:border-box}.cfgLoadingWithText :after,.cfgLoadingWithText :before{box-sizing:inherit}.cfgLoadingWithText__text{color:#000;font-weight:600;margin-top:.5em;font-size:1.6em}.cfgLoading{box-sizing:border-box;animation:rotate 1.1s linear 0s infinite;border-radius:100%;border:.5em solid rgba(0,0,0,.15);border-bottom-color:#000;display:inline-block;height:3em;width:3em}.cfgLoading:after,.cfgLoading:before{box-sizing:inherit}.cfgLoading *{box-sizing:border-box}.cfgLoading :after,.cfgLoading :before{box-sizing:inherit}.cfgLoading--small{border-width:.4em;height:2em;width:2em}.cfgOptionTree{box-sizing:border-box;list-style:none;margin:0;padding:0}.cfgOptionTree:after,.cfgOptionTree:before{box-sizing:inherit}.cfgOptionTree *{box-sizing:border-box}.cfgOptionTree :after,.cfgOptionTree :before{box-sizing:inherit}.cfgOptionTree--topLevel{padding-left:1.7em}.cfgOptionTree--indent{margin-left:3.2em}.cfgOptionTree--compThumb{margin-left:4.2em}.cfgProductInfo{box-sizing:border-box;color:#333;display:flex}.cfgProductInfo:after,.cfgProductInfo:before{box-sizing:inherit}.cfgProductInfo *{box-sizing:border-box}.cfgProductInfo :after,.cfgProductInfo :before{box-sizing:inherit}.cfgProductInfo__left{flex:1 1 auto;min-width:0;overflow:hidden}.cfgProductInfo__right{align-items:flex-end;display:flex;flex-direction:column;flex:1 0 auto;margin-left:1em;max-width:.333333333;min-width:0}.cfgProductInfo__name{display:block;font-size:1.6em;font-weight:600;line-height:1.33;margin:0}.cfgProductInfo__number{font-size:1.3em;font-weight:400;line-height:1.38;margin:0}.cfgProductInfo__taskbar{display:flex}.cfgRangeView__inputs{display:flex;align-items:center}.cfgRangeView__number-input{font-size:1.5em;flex-grow:1;text-align:right}.cfgRangeView__unit-label{font-size:1.5em;margin-left:.3em}.cfgRangeView__slider-input.cfgSlider{margin-left:1em;flex-grow:3}.cfgRangeView__error{display:flex;align-items:center;margin-top:1em;font-size:1.5em;color:#b4361d}.cfgRangeView__error .cfgErrorIcon{padding-right:.25em;width:1.25em;height:1em}.cfgSlider{box-sizing:border-box;flex:1;margin:0;padding:0;min-height:2.8em;background:transparent;font:inherit}.cfgSlider:after,.cfgSlider:before{box-sizing:inherit}.cfgSlider *{box-sizing:border-box}.cfgSlider :after,.cfgSlider :before{box-sizing:inherit}.cfgSlider,.cfgSlider::-webkit-slider-thumb{-webkit-appearance:none}.cfgSlider::-webkit-slider-runnable-track{box-sizing:border-box;border:none;height:.2em;background:#666}.cfgSlider::-moz-range-track{box-sizing:border-box;border:none;height:.2em;background:#666}.cfgSlider::-ms-track{box-sizing:border-box;border:none;height:.2em;background:#666}.cfgSlider::-webkit-slider-thumb{margin-top:-1.3em;box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#fff;box-shadow:0 .15em .45em .05em #666}.cfgSlider::-moz-range-thumb{box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#fff;box-shadow:0 .15em .45em .05em #666}.cfgSlider::-ms-thumb{margin-top:0;box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#fff;box-shadow:0 .15em .45em .05em #666}.cfgSlider::-ms-tooltip{display:none}.cfgTaskList ul{list-style-type:none;padding:0;margin:1em 0 0;border-bottom:.1em solid #c8c7cc}.cfgTaskList__item{padding:0 1.5em 0 1.7em;margin-bottom:1em;display:flex;align-items:center}.cfgTaskList__preview{border:.1em solid #c8c7cc;border-radius:10%;width:4.8em;height:4.8em;flex-shrink:0}.cfgTaskList__preview img{object-fit:cover;position:relative;left:.38em;top:.38em;width:3.84em;height:3.84em}.cfgTaskList__icon{flex-shrink:0;width:4em;height:2em;padding-left:1em;padding-right:1em}.cfgTaskList__icon .cfgLoadingSizer{font-size:.75em}.cfgTaskList__status{flex-grow:1;font-size:1.5em}.cfgTaskList__abort{color:inherit;width:2em;height:2em;flex-shrink:0}.cfgTaskList__abort,.cfgTaskList__restart{-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;background:none;border:none;padding:0;cursor:pointer}.cfgTaskList__restart{color:inherit;text-decoration:underline;color:#005cb3}.cfgDarkTheme a{color:#70baff}.cfgDarkTheme .cfgButton{box-sizing:border-box;display:inline-block;background-color:transparent;color:#d6d6d6;border-radius:.3em;border:.1em solid #6a6a6a;font-size:1.3em;font-weight:500;outline:none;padding:.4em .8em}.cfgDarkTheme .cfgButton:after,.cfgDarkTheme .cfgButton:before{box-sizing:inherit}.cfgDarkTheme .cfgButton *{box-sizing:border-box}.cfgDarkTheme .cfgButton :after,.cfgDarkTheme .cfgButton :before{box-sizing:inherit}.cfgDarkTheme .cfgButton:focus{box-shadow:0 0 0 .075em #333,0 0 0 .2em #d6d6d6}.cfgDarkTheme .cfgButton[disabled]{box-sizing:border-box;display:inline-block;background-color:transparent;color:#999;border-radius:.3em;border:.1em solid #5b5963;font-size:1.3em;font-weight:500;outline:none;padding:.4em .8em}.cfgDarkTheme .cfgButton[disabled]:after,.cfgDarkTheme .cfgButton[disabled]:before{box-sizing:inherit}.cfgDarkTheme .cfgButton[disabled] *{box-sizing:border-box}.cfgDarkTheme .cfgButton[disabled] :after,.cfgDarkTheme .cfgButton[disabled] :before{box-sizing:inherit}.cfgDarkTheme .cfgButton[disabled]:focus{box-shadow:0 0 0 .075em #333,0 0 0 .2em #d6d6d6}.cfgDarkTheme .cfgButtonRow{box-sizing:border-box}.cfgDarkTheme .cfgButtonRow:after,.cfgDarkTheme .cfgButtonRow:before{box-sizing:inherit}.cfgDarkTheme .cfgButtonRow *{box-sizing:border-box}.cfgDarkTheme .cfgButtonRow :after,.cfgDarkTheme .cfgButtonRow :before{box-sizing:inherit}.cfgDarkTheme .cfgButtonRow__button:nth-child(n+2){margin-left:1em}.cfgDarkTheme .cfgCheckmark{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgDarkTheme .cfgCheckmark:after,.cfgDarkTheme .cfgCheckmark:before{box-sizing:inherit}.cfgDarkTheme .cfgCheckmark *{box-sizing:border-box}.cfgDarkTheme .cfgCheckmark :after,.cfgDarkTheme .cfgCheckmark :before{box-sizing:inherit}.cfgDarkTheme .cfgCheckmark__container{transition:transform .4s;transform:translateY(17px)}.cfgDarkTheme .cfgCheckmark__line{stroke:#fff;stroke-linecap:round;stroke-width:12;transform-origin:50px 50px;transition:transform .4s,stroke .4s}.cfgDarkTheme .cfgCheckmark__lineLeft{stroke:#fff;transform:rotate(40deg) translateY(24px) translateX(18px)}.cfgDarkTheme .cfgCheckmark__lineRight{stroke:#fff;transform:rotate(-50deg) translateY(-2px) translateX(-3px)}.cfgDarkTheme .cfgCheckmark__border{border:.2em solid #5b5963;border-radius:.3em}.cfgDarkTheme .cfgCheckmark__border,.cfgDarkTheme .cfgCheckmark__border--active{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgDarkTheme .cfgCheckmark__border--active{border:.2em solid #fff;border-radius:.3em}.cfgDarkTheme .cfgChevron{box-sizing:border-box;display:inline-block;width:100%}.cfgDarkTheme .cfgChevron:after,.cfgDarkTheme .cfgChevron:before{box-sizing:inherit}.cfgDarkTheme .cfgChevron *{box-sizing:border-box}.cfgDarkTheme .cfgChevron :after,.cfgDarkTheme .cfgChevron :before{box-sizing:inherit}.cfgDarkTheme .cfgChevron__container{transition:transform .4s}.cfgDarkTheme .cfgChevron__container--down{transform:translateY(13px)}.cfgDarkTheme .cfgChevron__container--up{transform:translateY(-13px)}.cfgDarkTheme .cfgChevron__line{stroke-linecap:round;stroke-width:10;transform-origin:50px 50px;transition:transform .4s,stroke .4s}.cfgDarkTheme .cfgChevron__lineLeft--active,.cfgDarkTheme .cfgChevron__lineRight--active{stroke:#fff}.cfgDarkTheme .cfgChevron__lineLeft--passive,.cfgDarkTheme .cfgChevron__lineRight--passive{stroke:#6a6a6a}.cfgDarkTheme .cfgChevron__lineLeft--down{transform:rotate(40deg)}.cfgDarkTheme .cfgChevron__lineLeft--up,.cfgDarkTheme .cfgChevron__lineRight--down{transform:rotate(-40deg)}.cfgDarkTheme .cfgChevron__lineRight--up{transform:rotate(40deg)}.cfgDarkTheme .cfgCircleXmarkIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgDarkTheme .cfgCircleXmarkIcon:after,.cfgDarkTheme .cfgCircleXmarkIcon:before{box-sizing:inherit}.cfgDarkTheme .cfgCircleXmarkIcon *{box-sizing:border-box}.cfgDarkTheme .cfgCircleXmarkIcon :after,.cfgDarkTheme .cfgCircleXmarkIcon :before{box-sizing:inherit}.cfgDarkTheme .cfgCircleXmarkIcon circle,.cfgDarkTheme .cfgCircleXmarkIcon path{stroke:#96949e;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgDarkTheme .cfgConfiguratorWrapper{box-sizing:border-box;color:#d6d6d6;display:flex;height:85vh;flex-direction:column}.cfgDarkTheme .cfgConfiguratorWrapper:after,.cfgDarkTheme .cfgConfiguratorWrapper:before{box-sizing:inherit}.cfgDarkTheme .cfgConfiguratorWrapper *{box-sizing:border-box}.cfgDarkTheme .cfgConfiguratorWrapper :after,.cfgDarkTheme .cfgConfiguratorWrapper :before{box-sizing:inherit}@media screen and (orientation:landscape){.cfgDarkTheme .cfgConfiguratorWrapper{flex-direction:row}}.cfgDarkTheme .cfgConfiguratorWrapper .cfgReset,.cfgDarkTheme .cfgConfiguratorWrapper .cfgShare,.cfgDarkTheme .cfgConfiguratorWrapper .cfgTaskStart{margin-top:.5em;font-size:1.2em;font-weight:500}.cfgDarkTheme .cfgConfiguratorWrapper .cfgReset .cfgFormSelect,.cfgDarkTheme .cfgConfiguratorWrapper .cfgReset .cfgInput,.cfgDarkTheme .cfgConfiguratorWrapper .cfgReset button,.cfgDarkTheme .cfgConfiguratorWrapper .cfgShare .cfgFormSelect,.cfgDarkTheme .cfgConfiguratorWrapper .cfgShare .cfgInput,.cfgDarkTheme .cfgConfiguratorWrapper .cfgShare button,.cfgDarkTheme .cfgConfiguratorWrapper .cfgTaskStart .cfgFormSelect,.cfgDarkTheme .cfgConfiguratorWrapper .cfgTaskStart .cfgInput,.cfgDarkTheme .cfgConfiguratorWrapper .cfgTaskStart button{padding:.5em}.cfgDarkTheme .cfgConfiguratorWrapper .cfgTaskStart .cfgFormSelect:after{right:.5em}.cfgDarkTheme .cfgConfiguratorWrapper .cfgReset button,.cfgDarkTheme .cfgConfiguratorWrapper .cfgShare .cfgInput{-webkit-appearance:none;appearance:none;margin:0;background-color:transparent;font-family:inherit;font-size:inherit;font-weight:inherit;cursor:inherit;line-height:inherit;outline:none}.cfgDarkTheme .cfgConfiguratorWrapper .cfgShare__error{display:inline-block}.cfgDarkTheme .cfgConfiguratorWrapper .cfgShare__error .cfgErrorIcon{padding-left:.25em;margin-right:.75em;width:1.25em;height:1em}.cfgDarkTheme .cfgConfiguratorWrapper .cfgShare__grayed{color:#999}.cfgDarkTheme .cfgCanvasWrapper{box-sizing:border-box;position:relative;height:50rem;-webkit-user-select:none;user-select:none;flex:1 1 auto;overflow:hidden}.cfgDarkTheme .cfgCanvasWrapper:after,.cfgDarkTheme .cfgCanvasWrapper:before{box-sizing:inherit}.cfgDarkTheme .cfgCanvasWrapper *{box-sizing:border-box}.cfgDarkTheme .cfgCanvasWrapper :after,.cfgDarkTheme .cfgCanvasWrapper :before{box-sizing:inherit}.cfgDarkTheme .cfgCanvasWrapper canvas{outline:none}@media screen and (orientation:landscape){.cfgDarkTheme .cfgCanvasWrapper{height:100%;flex:0 1 60%}}.cfgDarkTheme .cfgConfigurator{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:10px;color:#d6d6d6;min-width:0;height:100%;display:flex;flex-direction:column;flex:0 0 50%;overflow:auto}.cfgDarkTheme .cfgConfigurator:after,.cfgDarkTheme .cfgConfigurator:before{box-sizing:inherit}.cfgDarkTheme .cfgConfigurator *{box-sizing:border-box}.cfgDarkTheme .cfgConfigurator :after,.cfgDarkTheme .cfgConfigurator :before{box-sizing:inherit}@media screen and (orientation:landscape){.cfgDarkTheme .cfgConfigurator{height:100%;flex:0 1 40%}}.cfgDarkTheme .cfgConfiguratorHeader{border-bottom:.1em solid #5b5963;padding:1.7em 1.7em 1.9em;position:relative}.cfgDarkTheme .cfgConfiguratorHeader__actions{margin-top:1em}.cfgDarkTheme .cfgConfiguratorTree{padding-top:.5em;overflow-y:auto;-webkit-overflow-scrolling:touch}.cfgDarkTheme .cfgDownloadIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgDarkTheme .cfgDownloadIcon:after,.cfgDarkTheme .cfgDownloadIcon:before{box-sizing:inherit}.cfgDarkTheme .cfgDownloadIcon *{box-sizing:border-box}.cfgDarkTheme .cfgDownloadIcon :after,.cfgDarkTheme .cfgDownloadIcon :before{box-sizing:inherit}.cfgDarkTheme .cfgDownloadIcon circle,.cfgDarkTheme .cfgDownloadIcon path{stroke:#70baff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgDarkTheme .cfgExpandableHeadingRow{box-sizing:border-box;-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;align-items:stretch;display:flex;height:3.9em;outline:0;position:relative;width:100%}.cfgDarkTheme .cfgExpandableHeadingRow:after,.cfgDarkTheme .cfgExpandableHeadingRow:before{box-sizing:inherit}.cfgDarkTheme .cfgExpandableHeadingRow *{box-sizing:border-box}.cfgDarkTheme .cfgExpandableHeadingRow :after,.cfgDarkTheme .cfgExpandableHeadingRow :before{box-sizing:inherit}.cfgDarkTheme .cfgExpandableHeadingRow--expandable{cursor:pointer}.cfgDarkTheme .cfgExpandableHeadingRow__title{align-items:center;display:flex;flex:1 1 auto;font-size:1.5em;font-weight:500;justify-content:flex-start}.cfgDarkTheme .cfgExpandableHeadingRow__icon{align-items:center;display:flex;flex:0 0 5em;justify-content:center;padding:0 1.5em}.cfgDarkTheme .cfgErrorIcon{box-sizing:border-box;display:inline-block;width:100%;height:100%}.cfgDarkTheme .cfgErrorIcon:after,.cfgDarkTheme .cfgErrorIcon:before{box-sizing:inherit}.cfgDarkTheme .cfgErrorIcon *{box-sizing:border-box}.cfgDarkTheme .cfgErrorIcon :after,.cfgDarkTheme .cfgErrorIcon :before{box-sizing:inherit}.cfgDarkTheme .cfgErrorIcon circle,.cfgDarkTheme .cfgErrorIcon path{stroke:#e8836f;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.cfgDarkTheme .cfgThumbnailImage{border-radius:.7em;display:inline-block;height:3em;width:3em}.cfgDarkTheme .cfgThumbnailPlaceholder{align-items:center;display:flex;flex:0 0 4.2em;justify-content:flex-start}.cfgDarkTheme .cfgFeatureItem{box-sizing:border-box;color:#d6d6d6}.cfgDarkTheme .cfgFeatureItem:after,.cfgDarkTheme .cfgFeatureItem:before{box-sizing:inherit}.cfgDarkTheme .cfgFeatureItem *{box-sizing:border-box}.cfgDarkTheme .cfgFeatureItem :after,.cfgDarkTheme .cfgFeatureItem :before{box-sizing:inherit}.cfgDarkTheme .cfgFeatureItem__dropdown{-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;align-items:stretch;display:flex;height:3.9em;outline:0;position:relative;width:100%;cursor:pointer}.cfgDarkTheme .cfgFeatureItem--optional{margin-top:1em}.cfgDarkTheme .cfgFeatureItem__hiddenInput{left:-99999px;opacity:0;position:absolute;z-index:-1}.cfgDarkTheme .cfgFeatureItem__radio{border:.2em solid #5b5963;border-radius:50%}.cfgDarkTheme .cfgFeatureItem__checkbox,.cfgDarkTheme .cfgFeatureItem__radio{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgDarkTheme .cfgFeatureItem__checkbox{border:.2em solid #5b5963;border-radius:.3em}.cfgDarkTheme .cfgFeatureItem__hiddenInput:focus~.cfgFeatureItem__checkbox,.cfgDarkTheme .cfgFeatureItem__hiddenInput:focus~.cfgFeatureItem__radio{box-shadow:0 0 0 .075em #333,0 0 0 .2em #d6d6d6}.cfgDarkTheme .cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__radio{border:.2em solid #fff;border-radius:50%}.cfgDarkTheme .cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__checkbox,.cfgDarkTheme .cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__radio{align-items:center;display:flex;flex:0 0 auto;height:2.2em;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:2.2em}.cfgDarkTheme .cfgFeatureItem__hiddenInput:checked~.cfgFeatureItem__checkbox{border:.2em solid #fff;border-radius:.3em}.cfgDarkTheme .cfgFeatureItem.cfgAdditionalProduct>.cfgExpandableHeadingRow>.cfgExpandableHeadingRow__title{font-weight:600}.cfgDarkTheme .cfgFeatureItem.cfgAdditionalProduct>.cfgFeatureItem__hr{border-bottom-color:#6a6a6a}.cfgDarkTheme .cfgFeatureItem.cfgAdditionalProduct .cfgFeatureItem:last-child .cfgFeatureItem__hr{margin-bottom:-.1em}.cfgDarkTheme .cfgFeatureItemOption__titleWrapper,.cfgDarkTheme .cfgFeatureItemOptional__titleWrapper{flex:1 1 auto;margin-left:1em}.cfgDarkTheme .cfgFeatureItemOption__title,.cfgDarkTheme .cfgFeatureItemOptional__title{font-size:1.5em}.cfgDarkTheme .cfgFeatureItemOption__price{font-weight:600;font-size:.75em;color:#999}.cfgDarkTheme .cfgOptionTree--subLevel .cfgFeatureItem__hr{display:none}.cfgDarkTheme .cfgFeatureItemOption{align-items:center;display:flex}.cfgDarkTheme .cfgFeatureItemOptional{align-items:center;display:flex;justify-content:center;margin-top:.5em}.cfgDarkTheme .cfgFeatureItemOptional__header{font-size:1.2em;font-weight:600;margin:0 0 .3em;padding:0;text-transform:uppercase}.cfgDarkTheme .cfgFormSelect,.cfgDarkTheme .cfgInput{border:.1em solid #6a6a6a;padding:.3em .4em;border-radius:.3em;color:inherit}.cfgDarkTheme .cfgFormSelect{cursor:pointer;position:relative}.cfgDarkTheme .cfgFormSelect select{-webkit-appearance:none;appearance:none;padding:0 1em 0 0;margin:0;width:100%;background-color:transparent;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;cursor:inherit;line-height:inherit;outline:none;border:none}.cfgDarkTheme .cfgFormSelect:after{position:absolute;right:.35em;top:50%;margin-top:-.55em;content:"";width:1em;height:1em;background-color:#6a6a6a;-webkit-clip-path:polygon(50% 80%,90% 40%,100% 50%,50% 100%,0 50%,10% 40%);clip-path:polygon(50% 80%,90% 40%,100% 50%,50% 100%,0 50%,10% 40%);justify-self:end}.cfgDarkTheme .cfgHr{box-sizing:border-box;border:0;border-bottom:.1em solid #5b5963;padding:0;margin:0}.cfgDarkTheme .cfgHr:after,.cfgDarkTheme .cfgHr:before{box-sizing:inherit}.cfgDarkTheme .cfgHr *{box-sizing:border-box}.cfgDarkTheme .cfgHr :after,.cfgDarkTheme .cfgHr :before{box-sizing:inherit}.cfgDarkTheme .cfgCenteredLoading{box-sizing:border-box;align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.cfgDarkTheme .cfgCenteredLoading:after,.cfgDarkTheme .cfgCenteredLoading:before{box-sizing:inherit}.cfgDarkTheme .cfgCenteredLoading *{box-sizing:border-box}.cfgDarkTheme .cfgCenteredLoading :after,.cfgDarkTheme .cfgCenteredLoading :before{box-sizing:inherit}.cfgDarkTheme .cfgOverlayLoading{box-sizing:border-box;align-items:center;background-color:#333;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.cfgDarkTheme .cfgOverlayLoading:after,.cfgDarkTheme .cfgOverlayLoading:before{box-sizing:inherit}.cfgDarkTheme .cfgOverlayLoading *{box-sizing:border-box}.cfgDarkTheme .cfgOverlayLoading :after,.cfgDarkTheme .cfgOverlayLoading :before{box-sizing:inherit}.cfgDarkTheme .cfgOverlayLoading--clickThrough{background-color:transparent;pointer-events:none}.cfgDarkTheme .cfgOverlayLoading--clickThrough .cfgLoadingWithText{padding:2em 2em 1.8em;border-radius:.8em;background-color:#333;opacity:.8;border:.1em solid hsla(0,0%,100%,.15)}.cfgDarkTheme .cfgOverlayLoading--fullWindow{position:fixed;z-index:1001}.cfgDarkTheme .cfgLoadingWithText{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center}.cfgDarkTheme .cfgLoadingWithText:after,.cfgDarkTheme .cfgLoadingWithText:before{box-sizing:inherit}.cfgDarkTheme .cfgLoadingWithText *{box-sizing:border-box}.cfgDarkTheme .cfgLoadingWithText :after,.cfgDarkTheme .cfgLoadingWithText :before{box-sizing:inherit}.cfgDarkTheme .cfgLoadingWithText__text{color:#fff;font-weight:600;margin-top:.5em;font-size:1.6em}.cfgDarkTheme .cfgLoading{box-sizing:border-box;animation:rotate 1.1s linear 0s infinite;border-radius:100%;border:.5em solid hsla(0,0%,100%,.15);border-bottom-color:#fff;display:inline-block;height:3em;width:3em}.cfgDarkTheme .cfgLoading:after,.cfgDarkTheme .cfgLoading:before{box-sizing:inherit}.cfgDarkTheme .cfgLoading *{box-sizing:border-box}.cfgDarkTheme .cfgLoading :after,.cfgDarkTheme .cfgLoading :before{box-sizing:inherit}.cfgDarkTheme .cfgLoading--small{border-width:.4em;height:2em;width:2em}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cfgDarkTheme .cfgOptionTree{box-sizing:border-box;list-style:none;margin:0;padding:0}.cfgDarkTheme .cfgOptionTree:after,.cfgDarkTheme .cfgOptionTree:before{box-sizing:inherit}.cfgDarkTheme .cfgOptionTree *{box-sizing:border-box}.cfgDarkTheme .cfgOptionTree :after,.cfgDarkTheme .cfgOptionTree :before{box-sizing:inherit}.cfgDarkTheme .cfgOptionTree--topLevel{padding-left:1.7em}.cfgDarkTheme .cfgOptionTree--indent{margin-left:3.2em}.cfgDarkTheme .cfgOptionTree--compThumb{margin-left:4.2em}.cfgDarkTheme .cfgProductInfo{box-sizing:border-box;color:#d6d6d6;display:flex}.cfgDarkTheme .cfgProductInfo:after,.cfgDarkTheme .cfgProductInfo:before{box-sizing:inherit}.cfgDarkTheme .cfgProductInfo *{box-sizing:border-box}.cfgDarkTheme .cfgProductInfo :after,.cfgDarkTheme .cfgProductInfo :before{box-sizing:inherit}.cfgDarkTheme .cfgProductInfo__left{flex:1 1 auto;min-width:0;overflow:hidden}.cfgDarkTheme .cfgProductInfo__right{align-items:flex-end;display:flex;flex-direction:column;flex:1 0 auto;margin-left:1em;max-width:.333333333;min-width:0}.cfgDarkTheme .cfgProductInfo__name{display:block;font-size:1.6em;font-weight:600;line-height:1.33;margin:0}.cfgDarkTheme .cfgProductInfo__number{font-size:1.3em;font-weight:400;line-height:1.38;margin:0}.cfgDarkTheme .cfgProductInfo__taskbar{display:flex}.cfgDarkTheme .cfgRangeView__inputs{display:flex;align-items:center}.cfgDarkTheme .cfgRangeView__number-input{font-size:1.5em;flex-grow:1;text-align:right}.cfgDarkTheme .cfgRangeView__unit-label{font-size:1.5em;margin-left:.3em}.cfgDarkTheme .cfgRangeView__slider-input.cfgSlider{margin-left:1em;flex-grow:3}.cfgDarkTheme .cfgRangeView__error{display:flex;align-items:center;margin-top:1em;font-size:1.5em;color:#e8836f}.cfgDarkTheme .cfgRangeView__error .cfgErrorIcon{padding-right:.25em;width:1.25em;height:1em}.cfgDarkTheme .cfgSlider{box-sizing:border-box;flex:1;margin:0;padding:0;min-height:2.8em;background:transparent;font:inherit}.cfgDarkTheme .cfgSlider:after,.cfgDarkTheme .cfgSlider:before{box-sizing:inherit}.cfgDarkTheme .cfgSlider *{box-sizing:border-box}.cfgDarkTheme .cfgSlider :after,.cfgDarkTheme .cfgSlider :before{box-sizing:inherit}.cfgDarkTheme .cfgSlider,.cfgDarkTheme .cfgSlider::-webkit-slider-thumb{-webkit-appearance:none}.cfgDarkTheme .cfgSlider::-webkit-slider-runnable-track{box-sizing:border-box;border:none;height:.2em;background:#adadad}.cfgDarkTheme .cfgSlider::-moz-range-track{box-sizing:border-box;border:none;height:.2em;background:#adadad}.cfgDarkTheme .cfgSlider::-ms-track{box-sizing:border-box;border:none;height:.2em;background:#adadad}.cfgDarkTheme .cfgSlider::-webkit-slider-thumb{margin-top:-1.3em;box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#333;box-shadow:0 .15em .45em .05em #adadad}.cfgDarkTheme .cfgSlider::-moz-range-thumb{box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#333;box-shadow:0 .15em .45em .05em #adadad}.cfgDarkTheme .cfgSlider::-ms-thumb{margin-top:0;box-sizing:border-box;border:none;width:2.8em;height:2.8em;border-radius:50%;background:#333;box-shadow:0 .15em .45em .05em #adadad}.cfgDarkTheme .cfgSlider::-ms-tooltip{display:none}.cfgDarkTheme .cfgTaskList ul{list-style-type:none;padding:0;margin:1em 0 0;border-bottom:.1em solid #5b5963}.cfgDarkTheme .cfgTaskList__item{padding:0 1.5em 0 1.7em;margin-bottom:1em;display:flex;align-items:center}.cfgDarkTheme .cfgTaskList__preview{border:.1em solid #5b5963;border-radius:10%;width:4.8em;height:4.8em;flex-shrink:0}.cfgDarkTheme .cfgTaskList__preview img{object-fit:cover;position:relative;left:.38em;top:.38em;width:3.84em;height:3.84em}.cfgDarkTheme .cfgTaskList__icon{flex-shrink:0;width:4em;height:2em;padding-left:1em;padding-right:1em}.cfgDarkTheme .cfgTaskList__icon .cfgLoadingSizer{font-size:.75em}.cfgDarkTheme .cfgTaskList__status{flex-grow:1;font-size:1.5em}.cfgDarkTheme .cfgTaskList__abort{color:inherit;width:2em;height:2em;flex-shrink:0}.cfgDarkTheme .cfgTaskList__abort,.cfgDarkTheme .cfgTaskList__restart{-webkit-appearance:none;appearance:none;font-family:inherit;font-size:inherit;background:none;border:none;padding:0;cursor:pointer}.cfgDarkTheme .cfgTaskList__restart{color:inherit;text-decoration:underline;color:#70baff}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/scss/_utilities.scss","../../src/scss/web-ui.scss","../../src/scss/_themed.scss","../../src/scss/_button.scss","../../src/scss/_mixins.scss","../../src/scss/icons/_checkmark.scss","../../src/scss/icons/_chevron.scss","../../src/scss/icons/_circle-xmark-icon.scss","../../src/scss/_configurator.scss","../../src/scss/_variables.scss","../../src/scss/icons/_download-icon.scss","../../src/scss/_expandable.scss","../../src/scss/icons/_error-icon.scss","../../src/scss/_feature-item.scss","../../src/scss/_forms.scss","../../src/scss/_hr.scss","../../src/scss/_loading.scss","../../src/scss/_option-tree.scss","../../src/scss/_product-information.scss","../../src/scss/_range-view.scss","../../src/scss/_slider.scss","../../src/scss/_tasks.scss"],"names":[],"mappings":"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,CACA,SAAA,CiBmDE,cpBw7BH,CoBl7BE,sBjB5DD,aAAA,CiB+DE,yBAAA,CACA,apB86BH,CC/4BC,gBACC,aDk5BF,CEx9BC,yBCfA,qBAAA,CDRA,oBAAA,CACA,4BAAA,CACA,aD+FC,CC9FD,kBAAA,CACA,yBAAA,CACA,eAAA,CACA,eAAA,CACA,YAAA,CACA,iBFm/BD,CGl/BC,+DAEC,kBHm/BF,CG5+BC,2BAVA,qBHy/BD,CGx/BC,iEAEC,kBHy/BF,CE1/BC,+BCNA,+CHmgCD,CE7+BE,mCClBD,qBAAA,CDRA,oBAAA,CACA,4BAAA,CACA,UDmGC,CClGD,kBAAA,CACA,yBAAA,CACA,eAAA,CACA,eAAA,CACA,YAAA,CACA,iBF2gCD,CG1gCC,mFAEC,kBH2gCF,CGpgCC,qCAVA,qBHihCD,CGhhCC,qFAEC,kBHihCF,CElhCC,yCCNA,+CH2hCD,CE3/BC,4BC5BA,qBH0hCD,CGzhCC,qEAEC,kBH0hCF,CGnhCC,8BAVA,qBHgiCD,CG/hCC,uEAEC,kBHgiCF,CEpgCG,mDACC,eFsgCJ,CIljCC,4BDYA,qBAAA,CCNC,oBAAA,CACA,UAAA,CACA,WJkjCF,CG7iCC,qEAEC,kBH8iCF,CGviCC,8BAVA,qBHojCD,CGnjCC,uEAEC,kBHojCF,CIzjCE,uCACC,wBAAA,CACA,0BJ2jCH,CIxjCE,kCACC,WH6FD,CG5FC,oBAAA,CACA,eAAA,CACA,0BAAA,CACA,mCJ0jCH,CIvjCE,sCACC,WHqFD,CGpFC,yDJyjCH,CItjCE,uCACC,WHgFD,CG/EC,0DJwjCH,CInjCE,oCDDD,yBAAA,CAYA,kBHojCD,CI7jCG,gFDJF,kBAAA,CAEA,YAAA,CACA,aAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,wBAAA,CAAA,gBAAA,CACA,WHqkCD,CIzkCG,4CDHF,sBAAA,CAYA,kBHgkCD,CK9mCC,0BFYA,qBAAA,CENC,oBAAA,CACA,UL8mCF,CGxmCC,iEAEC,kBHymCF,CGlmCC,4BAVA,qBH+mCD,CG9mCC,mEAEC,kBH+mCF,CKrnCE,qCACC,wBLunCH,CKrnCG,2CACC,0BLunCJ,CKp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","file":"web-ui.css","sourcesContent":["/**\n * Web UI Utilities\n */\n\n.cfgMl1 {\n\tmargin-left: 1em;\n}\n\n.cfgMt1 {\n\tmargin-top: 1em;\n}\n\n.cfgMb1 {\n\tmargin-bottom: 1em;\n}\n\n.cfgTextOverflow {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n","/**\n* Web UI Styling\n*/\n\n@use \"themed\";\n\n@include themed.themed(themed.$lightTheme);\n\n.cfgDarkTheme {\n\t@include themed.themed(themed.$darkTheme);\n}\n","@use \"sass:map\";\n@use \"sass:color\";\n\n@use \"variables\" as v;\n\n// Components\n@use \"button\";\n@use \"forms\";\n\n@use \"configurator\";\n@use \"expandable\";\n@use \"feature-item\";\n@use \"hr\";\n@use \"loading\";\n@use \"option-tree\";\n@use \"product-information\";\n@use \"range-view\";\n@use \"slider\";\n@use \"tasks\";\n\n// Icons\n@use \"icons/checkmark\";\n@use \"icons/chevron\";\n@use \"icons/circle-xmark-icon\";\n@use \"icons/download-icon\";\n@use \"icons/error-icon\";\n\n// Utilities\n@use \"utilities\";\n\n/* Colors */\n\n$black: hsl(0, 0%, 0%) !default;\n$white: hsl(0, 0%, 100%) !default;\n$darkGrey: hsl(0, 0%, 15%) !default;\n\n/* Specific colors */\n\n$border: hsl(252, 5%, 79%) !default;\n$borderDark: hsl(0, 0%, 73%) !default;\n$icon: hsl(252, 5%, 50%) !default;\n$focusOutlineOuter: hsl(0, 0%, 13%) !default;\n$sliderTrack: #666 !default;\n$spinner2: hsla(0, 0%, 0%, 0.15);\n$grayText: hsl(0, 0%, 50%) !default;\n$text: hsl(0, 0%, 20%) !default;\n$link: hsl(209, 100%, 35%) !default;\n$error: hsl(10, 72%, 41%) !default;\n\n/* As convention we assume the default theme when naming colors,\n as attempts at generic naming often leads to confusion */\n$lightTheme: (\n\t\"black\": $black,\n\t\"border\": $border,\n\t\"borderDark\": $borderDark,\n\t\"checkButtonChecked\": $black,\n\t\"checkButtonUnchecked\": $border,\n\t\"chevronActive\": $black,\n\t\"chevronPassive\": $borderDark,\n\t\"divider\": $border,\n\t\"dividerDark\": $borderDark,\n\t\"error\": $error,\n\t\"focusOutlineInner\": $white,\n\t\"focusOutlineOuter\": $text,\n\t\"grayText\": $grayText,\n\t\"icon\": $icon,\n\t\"link\": $link,\n\t\"overlayBackground\": $white,\n\t\"sliderThumb\": $white,\n\t\"sliderThumbShadow\": $sliderTrack,\n\t\"sliderTrack\": $sliderTrack,\n\t\"spinner1\": $black,\n\t\"spinner2\": $spinner2,\n\t\"text\": $text,\n\t\"white\": $white,\n) !default;\n\n@function invertLightness($color) {\n\t@return color.change(\n\t\t$color,\n\t\t$lightness: 100 - color.lightness($color) * 0.8\n\t); // We scale with 80% to have a bit more contrast\n}\n\n@function invertLightnessList($list) {\n\t@each $key, $color in $list {\n\t\t$list: map.set($list, $key, invertLightness($color));\n\t}\n\t@return $list;\n}\n\n$darkTheme: invertLightnessList($lightTheme);\n\n$themes: (\n\t\"light\": $lightTheme,\n\t\"dark\": $darkTheme,\n);\n\n@mixin themed($ct, $baseFontSize: v.$baseFontSize, $overlayingZIndex: v.$overlayingZIndex) {\n\ta {\n\t\tcolor: map.get($ct, \"link\");\n\t}\n\n\t@include button.classes(\n\t\tmap.get($ct, \"text\"),\n\t\tmap.get($ct, \"borderDark\"),\n\t\tmap.get($ct, \"focusOutlineInner\"),\n\t\tmap.get($ct, \"focusOutlineOuter\"),\n\t\tmap.get($ct, \"grayText\"),\n\t\tmap.get($ct, \"border\")\n\t);\n\t@include checkmark.classes(\n\t\tmap.get($ct, \"checkButtonChecked\"),\n\t\tmap.get($ct, \"checkButtonUnchecked\")\n\t);\n\t@include chevron.classes(map.get($ct, \"chevronActive\"), map.get($ct, \"chevronPassive\"));\n\t@include circle-xmark-icon.classes(map.get($ct, \"icon\"));\n\t@include configurator.classes($baseFontSize, map.get($ct, \"text\"), map.get($ct, \"divider\"));\n\t@include download-icon.classes(map.get($ct, \"link\"));\n\t@include expandable.classes;\n\t@include error-icon.classes(map.get($ct, \"error\"));\n\t@include feature-item.classes(\n\t\tmap.get($ct, \"text\"),\n\t\tmap.get($ct, \"grayText\"),\n\t\tmap.get($ct, \"checkButtonUnchecked\"),\n\t\tmap.get($ct, \"checkButtonChecked\"),\n\t\tmap.get($ct, \"focusOutlineInner\"),\n\t\tmap.get($ct, \"focusOutlineOuter\"),\n\t\tmap.get($ct, \"dividerDark\")\n\t);\n\t@include forms.classes(map.get($ct, \"borderDark\"));\n\t@include hr.classes(map.get($ct, \"divider\"));\n\t@include loading.classes(\n\t\tmap.get($ct, \"black\"),\n\t\tmap.get($ct, \"spinner1\"),\n\t\tmap.get($ct, \"spinner2\"),\n\t\tmap.get($ct, \"overlayBackground\"),\n\t\t$overlayingZIndex\n\t);\n\t@include option-tree.classes;\n\t@include product-information.classes(map.get($ct, \"text\"));\n\t@include range-view.classes(map.get($ct, \"error\"));\n\t@include slider.classes(\n\t\tmap.get($ct, \"sliderTrack\"),\n\t\tmap.get($ct, \"sliderThumb\"),\n\t\tmap.get($ct, \"sliderThumbShadow\")\n\t);\n\t@include tasks.classes(map.get($ct, \"border\"), map.get($ct, \"link\"));\n}\n","/**\n * Web UI Product information\n */\n@use \"mixins\";\n\n@mixin styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {\n\t@include mixins.cfgRootStyles;\n\tdisplay: inline-block;\n\tbackground-color: transparent;\n\tcolor: $textColor;\n\tborder-radius: 0.3em;\n\tborder: 0.1em solid $borderColor;\n\tfont-size: 1.3em;\n\tfont-weight: 500;\n\toutline: none;\n\tpadding: 0.4em 0.8em;\n\n\t&:focus {\n\t\t@include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);\n\t}\n}\n\n@mixin classes(\n\t$textColor,\n\t$borderColor,\n\t$focusOutlineInnerColor,\n\t$focusOutlineOuterColor,\n\t$disabledTextColor,\n\t$disabledBorderColor\n) {\n\t.cfgButton {\n\t\t@include styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor);\n\n\t\t&[disabled] {\n\t\t\t@include styles(\n\t\t\t\t$disabledTextColor,\n\t\t\t\t$disabledBorderColor,\n\t\t\t\t$focusOutlineInnerColor,\n\t\t\t\t$focusOutlineOuterColor\n\t\t\t);\n\t\t}\n\t}\n\n\t.cfgButtonRow {\n\t\t@include mixins.cfgRootStyles;\n\t\t&__button {\n\t\t\t&:nth-child(n + 2) {\n\t\t\t\tmargin-left: 1em;\n\t\t\t}\n\t\t}\n\t}\n}\n","@mixin noButtonLook {\n\tappearance: none;\n\tfont-family: inherit;\n\tfont-size: inherit;\n\tcolor: inherit;\n\tbackground: none;\n\tborder: none;\n\tpadding: 0;\n}\n\n@mixin focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor) {\n\tbox-shadow: 0 0 0 0.075em $focusOutlineInnerColor, 0 0 0 0.2em $focusOutlineOuterColor;\n}\n\n@mixin borderBox {\n\tbox-sizing: border-box;\n\t&:before,\n\t&:after {\n\t\tbox-sizing: inherit;\n\t}\n}\n\n@mixin cfgRootStyles {\n\t@include borderBox;\n\n\t* {\n\t\t@include borderBox;\n\t}\n}\n\n@mixin cfgDefaultFont {\n\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif,\n\t\t\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n\n@mixin cfgCheckAndRadio($color) {\n\talign-items: center;\n\tborder: 0.2em solid $color;\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\theight: 2.2em;\n\tjustify-content: center;\n\tpointer-events: none;\n\tuser-select: none;\n\twidth: 2.2em;\n}\n\n@mixin cfgCheckbox($color) {\n\t@include cfgCheckAndRadio($color);\n\tborder-radius: 0.3em;\n}\n\n@mixin cfgRadio($color) {\n\t@include cfgCheckAndRadio($color);\n\tborder-radius: 50%;\n}\n","@use \"../mixins\";\n\n@mixin classes($colorActive, $colorPassive) {\n\t.cfgCheckmark {\n\t\t/* The distance-units inside the checkmark are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\t&__container {\n\t\t\ttransition: transform 0.4s;\n\t\t\ttransform: translateY(17px);\n\t\t}\n\n\t\t&__line {\n\t\t\tstroke: $colorActive;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-width: 12;\n\t\t\ttransform-origin: 50px 50px;\n\t\t\ttransition: transform 0.4s, stroke 0.4s;\n\t\t}\n\n\t\t&__lineLeft {\n\t\t\tstroke: $colorActive;\n\t\t\ttransform: rotate(40deg) translateY(24px) translateX(18px);\n\t\t}\n\n\t\t&__lineRight {\n\t\t\tstroke: $colorActive;\n\t\t\ttransform: rotate(-50deg) translateY(-2px) translateX(-3px);\n\t\t}\n\n\t\t@content;\n\n\t\t&__border {\n\t\t\t@include mixins.cfgCheckbox($colorPassive);\n\t\t\t&--active {\n\t\t\t\t@include mixins.cfgCheckbox($colorActive);\n\t\t\t}\n\t\t}\n\t}\n}\n","@use \"../mixins\";\n\n@mixin classes($activeColor, $passiveColor) {\n\t.cfgChevron {\n\t\t/* The distance-units inside the chevron are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\n\t\t&__container {\n\t\t\ttransition: transform 0.4s;\n\n\t\t\t&--down {\n\t\t\t\ttransform: translateY(13px);\n\t\t\t}\n\n\t\t\t&--up {\n\t\t\t\ttransform: translateY(-13px);\n\t\t\t}\n\t\t}\n\n\t\t&__line {\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-width: 10;\n\t\t\ttransform-origin: 50px 50px;\n\t\t\ttransition: transform 0.4s, stroke 0.4s;\n\t\t}\n\n\t\t&__lineLeft,\n\t\t&__lineRight {\n\t\t\t&--active {\n\t\t\t\tstroke: $activeColor;\n\t\t\t}\n\t\t\t&--passive {\n\t\t\t\tstroke: $passiveColor;\n\t\t\t}\n\t\t}\n\n\t\t&__lineLeft {\n\t\t\t&--down {\n\t\t\t\ttransform: rotate(40deg);\n\t\t\t}\n\t\t\t&--up {\n\t\t\t\ttransform: rotate(-40deg);\n\t\t\t}\n\t\t}\n\t\t&__lineRight {\n\t\t\t&--down {\n\t\t\t\ttransform: rotate(-40deg);\n\t\t\t}\n\n\t\t\t&--up {\n\t\t\t\ttransform: rotate(40deg);\n\t\t\t}\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"../mixins\";\n\n@mixin classes($color) {\n\t.cfgCircleXmarkIcon {\n\t\t/* The distance-units inside the icon are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\tpath,\n\t\tcircle {\n\t\t\tstroke: $color;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-linejoin: round;\n\t\t\tstroke-width: 1.5;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Configurator\n */\n\n@use \"mixins\";\n\n@mixin classes($fontSize, $textColor, $headerUnderlineColor) {\n\t.cfgConfiguratorWrapper {\n\t\t@include mixins.cfgRootStyles;\n\t\tcolor: $textColor;\n\t\tdisplay: flex;\n\t\theight: 85vh;\n\t\tflex-direction: column;\n\n\t\t@media screen and (orientation: landscape) {\n\t\t\tflex-direction: row;\n\t\t}\n\n\t\t.cfgTaskStart {\n\t\t\tmargin-top: 0.5em;\n\t\t\tfont-size: 1.2em;\n\t\t\tfont-weight: 500;\n\n\t\t\t.cfgFormSelect {\n\t\t\t\tpadding: 0.5em;\n\n\t\t\t\t&::after {\n\t\t\t\t\tright: 0.5em;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.cfgCanvasWrapper {\n\t\t@include mixins.cfgRootStyles;\n\t\tposition: relative;\n\t\theight: 50rem;\n\t\tuser-select: none;\n\n\t\tflex: 1 1 auto;\n\t\toverflow: hidden;\n\n\t\t& canvas {\n\t\t\toutline: none;\n\t\t}\n\n\t\t@media screen and (orientation: landscape) {\n\t\t\theight: 100%;\n\t\t\tflex: 0 1 60%;\n\t\t}\n\t}\n\n\t.cfgConfigurator {\n\t\t@include mixins.cfgRootStyles;\n\t\t@include mixins.cfgDefaultFont;\n\t\tfont-size: $fontSize;\n\t\tcolor: $textColor;\n\t\tmin-width: 0;\n\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tflex: 0 0 50%;\n\t\toverflow: auto;\n\n\t\t@media screen and (orientation: landscape) {\n\t\t\theight: 100%;\n\t\t\tflex: 0 1 40%;\n\t\t}\n\t}\n\n\t.cfgConfiguratorHeader {\n\t\tborder-bottom: 0.1em solid $headerUnderlineColor;\n\t\tpadding: 1.7em 1.7em 1.9em;\n\t\tposition: relative;\n\n\t\t&__actions {\n\t\t\tmargin-top: 1em;\n\t\t}\n\t}\n\n\t.cfgConfiguratorTree {\n\t\tpadding-top: 1em;\n\t\tpadding-top: 0.5em;\n\t\toverflow-y: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n","/**\n * Web UI Variables\n */\n\t\n$baseFontSize: 10px !default; // We use 10px for easy em conversion\n$overlayingZIndex: 1000 !default;\n","@use \"../mixins\";\n\n@mixin classes($color) {\n\t.cfgDownloadIcon {\n\t\t/* The distance-units inside the icon are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\tpath,\n\t\tcircle {\n\t\t\tstroke: $color;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-linejoin: round;\n\t\t\tstroke-width: 1.5;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"mixins\";\n\n@mixin classes {\n\t.cfgExpandableHeadingRow {\n\t\t@include mixins.cfgRootStyles;\n\t\t@include mixins.noButtonLook;\n\t\talign-items: stretch;\n\t\tdisplay: flex;\n\t\theight: 3.9em;\n\t\toutline: 0;\n\t\tposition: relative;\n\t\twidth: 100%;\n\n\t\t&--expandable {\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t&__title {\n\t\t\talign-items: center;\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\tfont-size: 1.5em;\n\t\t\tfont-weight: 500;\n\t\t\tjustify-content: flex-start;\n\t\t}\n\n\t\t&__icon {\n\t\t\talign-items: center;\n\t\t\tdisplay: flex;\n\t\t\tflex: 0 0 5em;\n\t\t\tjustify-content: center;\n\t\t\tpadding: 0 1.5em;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"../mixins\";\n\n@mixin classes($color) {\n\t.cfgErrorIcon {\n\t\t/* The distance-units inside the icon are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\tpath,\n\t\tcircle {\n\t\t\tstroke: $color;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-linejoin: round;\n\t\t\tstroke-width: 1.5;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Feature item\n */\n\n@use \"mixins\";\n\n@mixin classes(\n\t$textColor,\n\t$grayTextColor,\n\t$checkButtonUncheckedColor,\n\t$checkButtonCheckedColor,\n\t$focusOutlineInnerColor,\n\t$focusOutlineOuterColor,\n\t$dividerDark\n) {\n\t.cfgThumbnailImage {\n\t\tborder-radius: 0.7em;\n\t\tdisplay: inline-block;\n\t\theight: 3em;\n\t\twidth: 3em;\n\t}\n\n\t.cfgThumbnailPlaceholder {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\tflex: 0 0 4.2em;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.cfgFeatureItem {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tcolor: $textColor;\n\n\t\t&__dropdown {\n\t\t\t@include mixins.noButtonLook;\n\t\t\talign-items: stretch;\n\t\t\tdisplay: flex;\n\t\t\theight: 3.9em;\n\t\t\toutline: 0;\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t&--optional {\n\t\t\tmargin-top: 1em;\n\t\t}\n\n\t\t&__hiddenInput {\n\t\t\tleft: -99999px;\n\t\t\topacity: 0;\n\t\t\tposition: absolute;\n\t\t\tz-index: -1;\n\t\t}\n\n\t\t&__radio {\n\t\t\t@include mixins.cfgRadio($checkButtonUncheckedColor);\n\t\t}\n\n\t\t&__checkbox {\n\t\t\t@include mixins.cfgCheckbox($checkButtonUncheckedColor);\n\t\t}\n\n\t\t/* The &-syntax brings in the entire path, so the second part of this rule must be explicit */\n\n\t\t&__hiddenInput:focus ~ .cfgFeatureItem__radio,\n\t\t&__hiddenInput:focus ~ .cfgFeatureItem__checkbox {\n\t\t\t@include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);\n\t\t}\n\n\t\t&__hiddenInput:checked ~ .cfgFeatureItem__radio {\n\t\t\t@include mixins.cfgRadio($checkButtonCheckedColor);\n\t\t}\n\t\t&__hiddenInput:checked ~ .cfgFeatureItem__checkbox {\n\t\t\t@include mixins.cfgCheckbox($checkButtonCheckedColor);\n\t\t}\n\n\t\t&.cfgAdditionalProduct {\n\t\t\t> .cfgExpandableHeadingRow {\n\t\t\t\t> .cfgExpandableHeadingRow__title {\n\t\t\t\t\tfont-weight: 600;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t> .cfgFeatureItem__hr {\n\t\t\t\tborder-bottom-color: $dividerDark;\n\t\t\t}\n\n\t\t\t/* The last themathic break (hr) we move under the next thematic break so it appears as one */\n\t\t\t.cfgFeatureItem:last-child .cfgFeatureItem__hr {\n\t\t\t\tmargin-bottom: -0.1em;\n\t\t\t}\n\t\t}\n\t}\n\n\t.cfgFeatureItemOptional__titleWrapper,\n\t.cfgFeatureItemOption__titleWrapper {\n\t\tflex: 1 1 auto;\n\t\tmargin-left: 1em;\n\t}\n\n\t.cfgFeatureItemOptional__title,\n\t.cfgFeatureItemOption__title {\n\t\tfont-size: 1.5em;\n\t}\n\n\t.cfgFeatureItemOption__price {\n\t\tfont-weight: 600;\n\t\tfont-size: 0.75em;\n\t\tcolor: $grayTextColor;\n\t}\n\n\t.cfgOptionTree--subLevel .cfgFeatureItem__hr {\n\t\tdisplay: none;\n\t}\n\n\t.cfgFeatureItemOption {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t}\n\n\t.cfgFeatureItemOptional {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tmargin-top: 0.5em;\n\n\t\t&__header {\n\t\t\tfont-size: 1.2em;\n\t\t\tfont-weight: 600;\n\t\t\tmargin: 0 0 0.3em 0;\n\t\t\tpadding: 0;\n\t\t\ttext-transform: uppercase;\n\t\t}\n\t}\n}\n","@mixin classes($borderColor) {\n\t.cfgInput,\n\t.cfgFormSelect {\n\t\tborder: 0.1em solid $borderColor;\n\t\tpadding: 0.3em 0.4em;\n\t\tborder-radius: 0.3em;\n\t}\n\n\t.cfgFormSelect {\n\t\tselect {\n\t\t\tappearance: none;\n\t\t\tpadding: 0 1em 0 0;\n\t\t\tmargin: 0;\n\t\t\twidth: 100%;\n\n\t\t\tbackground-color: transparent;\n\t\t\tfont-family: inherit;\n\t\t\tfont-size: inherit;\n\t\t\tfont-weight: inherit;\n\t\t\tcursor: inherit;\n\t\t\tline-height: inherit;\n\t\t\toutline: none;\n\t\t\tborder: none;\n\t\t}\n\n\t\tcursor: pointer;\n\t\tposition: relative;\n\n\t\t&::after {\n\t\t\tposition: absolute;\n\t\t\tright: 0.35em;\n\t\t\ttop: 50%;\n\t\t\tmargin-top: -0.55em;\n\t\t\tcontent: \"\";\n\t\t\twidth: 1em;\n\t\t\theight: 1em;\n\t\t\tbackground-color: $borderColor;\n\t\t\tclip-path: polygon(50% 80%, 90% 40%, 100% 50%, 50% 100%, 0 50%, 10% 40%);\n\t\t\tjustify-self: end;\n\t\t}\n\t}\n}\n","@use \"mixins\";\n\n@mixin styles($color) {\n\t@include mixins.cfgRootStyles;\n\tborder: 0;\n\tborder-bottom: 0.1em solid $color;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n@mixin classes($color) {\n\t.cfgHr {\n\t\t@include styles($color);\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Loading\n */\n\n@use \"mixins\";\n\n@mixin classes(\n\t$textColor,\n\t$spinnerColor1,\n\t$spinnerColor2,\n\t$overlayBackgroundColor,\n\t$overlayingZIndex\n) {\n\t.cfgCenteredLoading {\n\t\t@include mixins.cfgRootStyles;\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\theight: 100%;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t.cfgOverlayLoading {\n\t\t@include mixins.cfgRootStyles;\n\n\t\talign-items: center;\n\t\tbackground-color: $overlayBackgroundColor;\n\t\tbottom: 0;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tleft: 0;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 0;\n\t\tz-index: $overlayingZIndex;\n\n\t\t&--clickThrough {\n\t\t\tbackground-color: transparent;\n\t\t\tpointer-events: none;\n\n\t\t\t.cfgLoadingWithText {\n\t\t\t\tpadding: 2em 2em 1.8em;\n\t\t\t\tborder-radius: 0.8em;\n\t\t\t\tbackground-color: $overlayBackgroundColor;\n\t\t\t\topacity: 0.8;\n\t\t\t\tborder: 0.1em solid $spinnerColor2;\n\t\t\t}\n\t\t}\n\n\t\t&--fullWindow {\n\t\t\tposition: fixed;\n\t\t\tz-index: #{$overlayingZIndex + 1};\n\t\t}\n\t}\n\n\t.cfgLoadingWithText {\n\t\t@include mixins.cfgRootStyles;\n\t\t@include mixins.cfgDefaultFont;\n\n\t\ttext-align: center;\n\n\t\t&__text {\n\t\t\tcolor: $textColor;\n\t\t\tfont-weight: 600;\n\t\t\tmargin-top: 0.5em;\n\t\t\tfont-size: 1.6em;\n\t\t}\n\t}\n\n\t.cfgLoading {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tanimation: rotate 1.1s linear 0s infinite;\n\t\tborder-radius: 100%;\n\t\tborder: 0.5em solid $spinnerColor2;\n\t\tborder-bottom-color: $spinnerColor1;\n\t\tdisplay: inline-block;\n\t\theight: 3em;\n\t\twidth: 3em;\n\n\t\t&--small {\n\t\t\tborder-width: 0.4em;\n\t\t\theight: 2em;\n\t\t\twidth: 2em;\n\t\t}\n\t}\n\n\t@keyframes rotate {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n}\n","/**\n * Web UI Option tree\n */\n\n@use \"mixins\";\n\n@mixin classes {\n\t.cfgOptionTree {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tlist-style: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\n\t\t&--topLevel {\n\t\t\tpadding-left: 1.7em;\n\t\t}\n\n\t\t&--indent {\n\t\t\tmargin-left: 3.2em;\n\t\t}\n\n\t\t&--compThumb {\n\t\t\tmargin-left: 4.2em;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Product information\n */\n\n@use \"sass:math\";\n@use \"mixins\";\n\n@mixin classes($textColor) {\n\t.cfgProductInfo {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tcolor: $textColor;\n\n\t\tdisplay: flex;\n\n\t\t&__left {\n\t\t\tflex: 1 1 auto;\n\t\t\tmin-width: 0;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t&__right {\n\t\t\talign-items: flex-end;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tflex: 1 0 auto;\n\t\t\tmargin-left: 1em;\n\t\t\tmax-width: 0.333333333;\n\t\t\tmin-width: 0;\n\t\t}\n\n\t\t&__name {\n\t\t\tdisplay: block;\n\t\t\tfont-size: 1.6em;\n\t\t\tfont-weight: 600;\n\t\t\tline-height: 1.33;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t&__number {\n\t\t\tfont-size: 1.3em;\n\t\t\tfont-weight: 400;\n\t\t\tline-height: 1.38;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@mixin classes($errorColor) {\n\t.cfgRangeView {\n\t\t&__inputs {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t&__number-input {\n\t\t\tfont-size: 1.5em;\n\t\t\tflex-grow: 1;\n\t\t\ttext-align: right;\n\t\t}\n\n\t\t&__unit-label {\n\t\t\tfont-size: 1.5em;\n\t\t\tmargin-left: 0.3em;\n\t\t}\n\n\t\t&__slider-input.cfgSlider {\n\t\t\tmargin-left: 1em;\n\t\t\tflex-grow: 3;\n\t\t}\n\n\t\t&__error {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\tmargin-top: 1em;\n\t\t\tfont-size: 1.5em;\n\t\t\tcolor: $errorColor;\n\n\t\t\t.cfgErrorIcon {\n\t\t\t\tpadding-right: 0.25em;\n\t\t\t\twidth: 1.25em;\n\t\t\t\theight: 1em;\n\t\t\t}\n\t\t}\n\t}\n}\n","@use \"mixins\";\n\n// The origins of this SCSS file is here:\n// https://css-tricks.com/sliding-nightmare-understanding-range-input/\n\n$trackHeight: 0.2em !default;\n$thumbDiameter: 2.8em !default;\n\n@mixin track($trackColor) {\n\tbox-sizing: border-box;\n\tborder: none;\n\theight: $trackHeight;\n\tbackground: $trackColor;\n}\n\n@mixin thumb($thumbColor, $thumbShadowColor) {\n\tbox-sizing: border-box;\n\tborder: none;\n\twidth: $thumbDiameter;\n\theight: $thumbDiameter;\n\tborder-radius: 50%;\n\tbackground: $thumbColor;\n\tbox-shadow: 0 0.15em 0.45em 0.05em $thumbShadowColor;\n}\n\n@mixin classes($trackColor, $thumbColor, $thumbShadowColor) {\n\t.cfgSlider {\n\t\t@include mixins.cfgRootStyles;\n\n\t\t&,\n\t\t&::-webkit-slider-thumb {\n\t\t\t-webkit-appearance: none;\n\t\t}\n\n\t\tflex: 1;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tmin-height: $thumbDiameter;\n\t\tbackground: transparent;\n\t\tfont: inherit;\n\n\t\t&::-webkit-slider-runnable-track {\n\t\t\t@include track($trackColor);\n\t\t}\n\t\t&::-moz-range-track {\n\t\t\t@include track($trackColor);\n\t\t}\n\t\t&::-ms-track {\n\t\t\t@include track($trackColor);\n\t\t}\n\n\t\t&::-webkit-slider-thumb {\n\t\t\tmargin-top: 0.5 * ($trackHeight - $thumbDiameter);\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\n\t\t}\n\t\t&::-moz-range-thumb {\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\n\t\t}\n\t\t&::-ms-thumb {\n\t\t\tmargin-top: 0;\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\n\t\t}\n\n\t\t&::-ms-tooltip {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"mixins\";\n\n@mixin classes($borderColor, $linkColor) {\n\t$preview-size: 4.8em;\n\t$line-width: 0.1em;\n\t$icon-size: 2em;\n\n\t.cfgTaskList {\n\t\tul {\n\t\t\tlist-style-type: none;\n\t\t\tpadding: 0;\n\t\t\tmargin: 1em 0 0 0;\n\t\t\tborder-bottom: 0.1em solid $borderColor;\n\t\t}\n\n\t\t&__item {\n\t\t\tpadding: 0 1.5em 0 1.7em;\n\t\t\tmargin-bottom: 1em;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t&__preview {\n\t\t\tborder: 0.1em solid $borderColor;\n\t\t\tborder-radius: 10%;\n\t\t\twidth: $preview-size;\n\t\t\theight: $preview-size;\n\t\t\tflex-shrink: 0;\n\n\t\t\timg {\n\t\t\t\tobject-fit: cover;\n\t\t\t\tposition: relative;\n\t\t\t\tleft: 0.1 * $preview-size - $line-width;\n\t\t\t\ttop: 0.1 * $preview-size - $line-width;\n\t\t\t\twidth: 0.8 * $preview-size;\n\t\t\t\theight: 0.8 * $preview-size;\n\t\t\t}\n\t\t}\n\n\t\t&__icon {\n\t\t\tflex-shrink: 0;\n\t\t\twidth: $icon-size + 2em;\n\t\t\theight: $icon-size;\n\t\t\tpadding-left: 1em;\n\t\t\tpadding-right: 1em;\n\n\t\t\t.cfgLoadingSizer {\n\t\t\t\tfont-size: 0.75em;\n\t\t\t}\n\t\t}\n\n\t\t&__status {\n\t\t\tflex-grow: 1;\n\t\t\tfont-size: 1.5em;\n\t\t}\n\n\t\t&__abort {\n\t\t\t@include mixins.noButtonLook;\n\t\t\tcursor: pointer;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tflex-shrink: 0;\n\t\t}\n\n\t\t&__restart {\n\t\t\t@include mixins.noButtonLook;\n\t\t\tcursor: pointer;\n\t\t\ttext-decoration: underline;\n\t\t\tcolor: $linkColor;\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../src/scss/_utilities.scss","../../src/scss/web-ui.scss","../../src/scss/_themed.scss","../../src/scss/_button.scss","../../src/scss/_mixins.scss","../../src/scss/icons/_checkmark.scss","../../src/scss/icons/_chevron.scss","../../src/scss/icons/_circle-xmark-icon.scss","../../src/scss/_configurator.scss","../../src/scss/_variables.scss","../../src/scss/icons/_download-icon.scss","../../src/scss/_expandable.scss","../../src/scss/icons/_error-icon.scss","../../src/scss/_feature-item.scss","../../src/scss/_forms.scss","../../src/scss/_hr.scss","../../src/scss/_loading.scss","../../src/scss/_option-tree.scss","../../src/scss/_product-information.scss","../../src/scss/_range-view.scss","../../src/scss/_slider.scss","../../src/scss/_tasks.scss"],"names":[],"mappings":"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","file":"web-ui.css","sourcesContent":["/**\n * Web UI Utilities\n */\n\n.cfgMl1 {\n\tmargin-left: 1em;\n}\n\n.cfgMt1 {\n\tmargin-top: 1em;\n}\n\n.cfgMb1 {\n\tmargin-bottom: 1em;\n}\n\n.cfgTextOverflow {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n","/**\n* Web UI Styling\n*/\n\n@use \"themed\";\n\n@include themed.themed(themed.$lightTheme);\n\n.cfgDarkTheme {\n\t@include themed.themed(themed.$darkTheme);\n}\n","@use \"sass:map\";\n@use \"sass:color\";\n\n@use \"variables\" as v;\n\n// Components\n@use \"button\";\n@use \"forms\";\n\n@use \"configurator\";\n@use \"expandable\";\n@use \"feature-item\";\n@use \"hr\";\n@use \"loading\";\n@use \"option-tree\";\n@use \"product-information\";\n@use \"range-view\";\n@use \"slider\";\n@use \"tasks\";\n\n// Icons\n@use \"icons/checkmark\";\n@use \"icons/chevron\";\n@use \"icons/circle-xmark-icon\";\n@use \"icons/download-icon\";\n@use \"icons/error-icon\";\n\n// Utilities\n@use \"utilities\";\n\n/* Colors */\n\n$black: hsl(0, 0%, 0%) !default;\n$white: hsl(0, 0%, 100%) !default;\n$darkGrey: hsl(0, 0%, 15%) !default;\n\n/* Specific colors */\n\n$border: hsl(252, 5%, 79%) !default;\n$borderDark: hsl(0, 0%, 73%) !default;\n$icon: hsl(252, 5%, 50%) !default;\n$focusOutlineOuter: hsl(0, 0%, 13%) !default;\n$sliderTrack: #666 !default;\n$spinner2: hsla(0, 0%, 0%, 0.15);\n$grayText: hsl(0, 0%, 50%) !default;\n$text: hsl(0, 0%, 20%) !default;\n$link: hsl(209, 100%, 35%) !default;\n$error: hsl(10, 72%, 41%) !default;\n\n/* As convention we assume the default theme when naming colors,\n as attempts at generic naming often leads to confusion */\n$lightTheme: (\n\t\"black\": $black,\n\t\"border\": $border,\n\t\"borderDark\": $borderDark,\n\t\"checkButtonChecked\": $black,\n\t\"checkButtonUnchecked\": $border,\n\t\"chevronActive\": $black,\n\t\"chevronPassive\": $borderDark,\n\t\"divider\": $border,\n\t\"dividerDark\": $borderDark,\n\t\"error\": $error,\n\t\"focusOutlineInner\": $white,\n\t\"focusOutlineOuter\": $text,\n\t\"grayText\": $grayText,\n\t\"icon\": $icon,\n\t\"link\": $link,\n\t\"overlayBackground\": $white,\n\t\"sliderThumb\": $white,\n\t\"sliderThumbShadow\": $sliderTrack,\n\t\"sliderTrack\": $sliderTrack,\n\t\"spinner1\": $black,\n\t\"spinner2\": $spinner2,\n\t\"text\": $text,\n\t\"white\": $white,\n) !default;\n\n@function invertLightness($color) {\n\t@return color.change(\n\t\t$color,\n\t\t$lightness: 100 - color.lightness($color) * 0.8\n\t); // We scale with 80% to have a bit more contrast\n}\n\n@function invertLightnessList($list) {\n\t@each $key, $color in $list {\n\t\t$list: map.set($list, $key, invertLightness($color));\n\t}\n\t@return $list;\n}\n\n$darkTheme: invertLightnessList($lightTheme);\n\n$themes: (\n\t\"light\": $lightTheme,\n\t\"dark\": $darkTheme,\n);\n\n@mixin themed($ct, $baseFontSize: v.$baseFontSize, $overlayingZIndex: v.$overlayingZIndex) {\n\ta {\n\t\tcolor: map.get($ct, \"link\");\n\t}\n\n\t@include button.classes(\n\t\tmap.get($ct, \"text\"),\n\t\tmap.get($ct, \"borderDark\"),\n\t\tmap.get($ct, \"focusOutlineInner\"),\n\t\tmap.get($ct, \"focusOutlineOuter\"),\n\t\tmap.get($ct, \"grayText\"),\n\t\tmap.get($ct, \"border\")\n\t);\n\t@include checkmark.classes(\n\t\tmap.get($ct, \"checkButtonChecked\"),\n\t\tmap.get($ct, \"checkButtonUnchecked\")\n\t);\n\t@include chevron.classes(map.get($ct, \"chevronActive\"), map.get($ct, \"chevronPassive\"));\n\t@include circle-xmark-icon.classes(map.get($ct, \"icon\"));\n\t@include configurator.classes(\n\t\t$baseFontSize,\n\t\tmap.get($ct, \"text\"),\n\t\tmap.get($ct, \"grayText\"),\n\t\tmap.get($ct, \"divider\")\n\t);\n\t@include download-icon.classes(map.get($ct, \"link\"));\n\t@include expandable.classes;\n\t@include error-icon.classes(map.get($ct, \"error\"));\n\t@include feature-item.classes(\n\t\tmap.get($ct, \"text\"),\n\t\tmap.get($ct, \"grayText\"),\n\t\tmap.get($ct, \"checkButtonUnchecked\"),\n\t\tmap.get($ct, \"checkButtonChecked\"),\n\t\tmap.get($ct, \"focusOutlineInner\"),\n\t\tmap.get($ct, \"focusOutlineOuter\"),\n\t\tmap.get($ct, \"dividerDark\")\n\t);\n\t@include forms.classes(map.get($ct, \"borderDark\"));\n\t@include hr.classes(map.get($ct, \"divider\"));\n\t@include loading.classes(\n\t\tmap.get($ct, \"black\"),\n\t\tmap.get($ct, \"spinner1\"),\n\t\tmap.get($ct, \"spinner2\"),\n\t\tmap.get($ct, \"overlayBackground\"),\n\t\t$overlayingZIndex\n\t);\n\t@include option-tree.classes;\n\t@include product-information.classes(map.get($ct, \"text\"));\n\t@include range-view.classes(map.get($ct, \"error\"));\n\t@include slider.classes(\n\t\tmap.get($ct, \"sliderTrack\"),\n\t\tmap.get($ct, \"sliderThumb\"),\n\t\tmap.get($ct, \"sliderThumbShadow\")\n\t);\n\t@include tasks.classes(map.get($ct, \"border\"), map.get($ct, \"link\"));\n}\n","/**\n * Web UI Product information\n */\n@use \"mixins\";\n\n@mixin styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor) {\n\t@include mixins.cfgRootStyles;\n\tdisplay: inline-block;\n\tbackground-color: transparent;\n\tcolor: $textColor;\n\tborder-radius: 0.3em;\n\tborder: 0.1em solid $borderColor;\n\tfont-size: 1.3em;\n\tfont-weight: 500;\n\toutline: none;\n\tpadding: 0.4em 0.8em;\n\n\t&:focus {\n\t\t@include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);\n\t}\n}\n\n@mixin classes(\n\t$textColor,\n\t$borderColor,\n\t$focusOutlineInnerColor,\n\t$focusOutlineOuterColor,\n\t$disabledTextColor,\n\t$disabledBorderColor\n) {\n\t.cfgButton {\n\t\t@include styles($textColor, $borderColor, $focusOutlineInnerColor, $focusOutlineOuterColor);\n\n\t\t&[disabled] {\n\t\t\t@include styles(\n\t\t\t\t$disabledTextColor,\n\t\t\t\t$disabledBorderColor,\n\t\t\t\t$focusOutlineInnerColor,\n\t\t\t\t$focusOutlineOuterColor\n\t\t\t);\n\t\t}\n\t}\n\n\t.cfgButtonRow {\n\t\t@include mixins.cfgRootStyles;\n\t\t&__button {\n\t\t\t&:nth-child(n + 2) {\n\t\t\t\tmargin-left: 1em;\n\t\t\t}\n\t\t}\n\t}\n}\n","@mixin noButtonLook {\n\tappearance: none;\n\tfont-family: inherit;\n\tfont-size: inherit;\n\tcolor: inherit;\n\tbackground: none;\n\tborder: none;\n\tpadding: 0;\n}\n\n@mixin focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor) {\n\tbox-shadow: 0 0 0 0.075em $focusOutlineInnerColor, 0 0 0 0.2em $focusOutlineOuterColor;\n}\n\n@mixin borderBox {\n\tbox-sizing: border-box;\n\t&:before,\n\t&:after {\n\t\tbox-sizing: inherit;\n\t}\n}\n\n@mixin cfgRootStyles {\n\t@include borderBox;\n\n\t* {\n\t\t@include borderBox;\n\t}\n}\n\n@mixin cfgDefaultFont {\n\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif,\n\t\t\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n\n@mixin cfgCheckAndRadio($color) {\n\talign-items: center;\n\tborder: 0.2em solid $color;\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\theight: 2.2em;\n\tjustify-content: center;\n\tpointer-events: none;\n\tuser-select: none;\n\twidth: 2.2em;\n}\n\n@mixin cfgCheckbox($color) {\n\t@include cfgCheckAndRadio($color);\n\tborder-radius: 0.3em;\n}\n\n@mixin cfgRadio($color) {\n\t@include cfgCheckAndRadio($color);\n\tborder-radius: 50%;\n}\n","@use \"../mixins\";\n\n@mixin classes($colorActive, $colorPassive) {\n\t.cfgCheckmark {\n\t\t/* The distance-units inside the checkmark are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\t&__container {\n\t\t\ttransition: transform 0.4s;\n\t\t\ttransform: translateY(17px);\n\t\t}\n\n\t\t&__line {\n\t\t\tstroke: $colorActive;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-width: 12;\n\t\t\ttransform-origin: 50px 50px;\n\t\t\ttransition: transform 0.4s, stroke 0.4s;\n\t\t}\n\n\t\t&__lineLeft {\n\t\t\tstroke: $colorActive;\n\t\t\ttransform: rotate(40deg) translateY(24px) translateX(18px);\n\t\t}\n\n\t\t&__lineRight {\n\t\t\tstroke: $colorActive;\n\t\t\ttransform: rotate(-50deg) translateY(-2px) translateX(-3px);\n\t\t}\n\n\t\t@content;\n\n\t\t&__border {\n\t\t\t@include mixins.cfgCheckbox($colorPassive);\n\t\t\t&--active {\n\t\t\t\t@include mixins.cfgCheckbox($colorActive);\n\t\t\t}\n\t\t}\n\t}\n}\n","@use \"../mixins\";\n\n@mixin classes($activeColor, $passiveColor) {\n\t.cfgChevron {\n\t\t/* The distance-units inside the chevron are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\n\t\t&__container {\n\t\t\ttransition: transform 0.4s;\n\n\t\t\t&--down {\n\t\t\t\ttransform: translateY(13px);\n\t\t\t}\n\n\t\t\t&--up {\n\t\t\t\ttransform: translateY(-13px);\n\t\t\t}\n\t\t}\n\n\t\t&__line {\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-width: 10;\n\t\t\ttransform-origin: 50px 50px;\n\t\t\ttransition: transform 0.4s, stroke 0.4s;\n\t\t}\n\n\t\t&__lineLeft,\n\t\t&__lineRight {\n\t\t\t&--active {\n\t\t\t\tstroke: $activeColor;\n\t\t\t}\n\t\t\t&--passive {\n\t\t\t\tstroke: $passiveColor;\n\t\t\t}\n\t\t}\n\n\t\t&__lineLeft {\n\t\t\t&--down {\n\t\t\t\ttransform: rotate(40deg);\n\t\t\t}\n\t\t\t&--up {\n\t\t\t\ttransform: rotate(-40deg);\n\t\t\t}\n\t\t}\n\t\t&__lineRight {\n\t\t\t&--down {\n\t\t\t\ttransform: rotate(-40deg);\n\t\t\t}\n\n\t\t\t&--up {\n\t\t\t\ttransform: rotate(40deg);\n\t\t\t}\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"../mixins\";\n\n@mixin classes($color) {\n\t.cfgCircleXmarkIcon {\n\t\t/* The distance-units inside the icon are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\tpath,\n\t\tcircle {\n\t\t\tstroke: $color;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-linejoin: round;\n\t\t\tstroke-width: 1.5;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Configurator\n */\n\n@use \"mixins\";\n\n@mixin classes($fontSize, $textColor, $grayTextColor, $headerUnderlineColor) {\n\t.cfgConfiguratorWrapper {\n\t\t@include mixins.cfgRootStyles;\n\t\tcolor: $textColor;\n\t\tdisplay: flex;\n\t\theight: 85vh;\n\t\tflex-direction: column;\n\n\t\t@media screen and (orientation: landscape) {\n\t\t\tflex-direction: row;\n\t\t}\n\n\t\t.cfgTaskStart,\n\t\t.cfgShare,\n\t\t.cfgReset {\n\t\t\tmargin-top: 0.5em;\n\t\t\tfont-size: 1.2em;\n\t\t\tfont-weight: 500;\n\n\t\t\t.cfgInput,\n\t\t\t.cfgFormSelect,\n\t\t\tbutton {\n\t\t\t\tpadding: 0.5em;\n\t\t\t}\n\t\t}\n\n\t\t.cfgTaskStart {\n\t\t\t.cfgFormSelect {\n\t\t\t\t&::after {\n\t\t\t\t\tright: 0.5em;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.cfgShare .cfgInput,\n\t\t.cfgReset button {\n\t\t\tappearance: none;\n\t\t\tmargin: 0;\n\n\t\t\tbackground-color: transparent;\n\t\t\tfont-family: inherit;\n\t\t\tfont-size: inherit;\n\t\t\tfont-weight: inherit;\n\t\t\tcursor: inherit;\n\t\t\tline-height: inherit;\n\t\t\toutline: none;\n\t\t}\n\n\t\t.cfgShare {\n\t\t\t&__error {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\t.cfgErrorIcon {\n\t\t\t\t\tpadding-left: 0.25em;\n\t\t\t\t\tmargin-right: 0.75em;\n\t\t\t\t\twidth: 1.25em;\n\t\t\t\t\theight: 1em;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&__grayed {\n\t\t\t\tcolor: $grayTextColor;\n\t\t\t}\n\t\t}\n\t}\n\n\t.cfgCanvasWrapper {\n\t\t@include mixins.cfgRootStyles;\n\t\tposition: relative;\n\t\theight: 50rem;\n\t\tuser-select: none;\n\n\t\tflex: 1 1 auto;\n\t\toverflow: hidden;\n\n\t\t& canvas {\n\t\t\toutline: none;\n\t\t}\n\n\t\t@media screen and (orientation: landscape) {\n\t\t\theight: 100%;\n\t\t\tflex: 0 1 60%;\n\t\t}\n\t}\n\n\t.cfgConfigurator {\n\t\t@include mixins.cfgRootStyles;\n\t\t@include mixins.cfgDefaultFont;\n\t\tfont-size: $fontSize;\n\t\tcolor: $textColor;\n\t\tmin-width: 0;\n\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tflex: 0 0 50%;\n\t\toverflow: auto;\n\n\t\t@media screen and (orientation: landscape) {\n\t\t\theight: 100%;\n\t\t\tflex: 0 1 40%;\n\t\t}\n\t}\n\n\t.cfgConfiguratorHeader {\n\t\tborder-bottom: 0.1em solid $headerUnderlineColor;\n\t\tpadding: 1.7em 1.7em 1.9em;\n\t\tposition: relative;\n\n\t\t&__actions {\n\t\t\tmargin-top: 1em;\n\t\t}\n\t}\n\n\t.cfgConfiguratorTree {\n\t\tpadding-top: 1em;\n\t\tpadding-top: 0.5em;\n\t\toverflow-y: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n","/**\n * Web UI Variables\n */\n\t\n$baseFontSize: 10px !default; // We use 10px for easy em conversion\n$overlayingZIndex: 1000 !default;\n","@use \"../mixins\";\n\n@mixin classes($color) {\n\t.cfgDownloadIcon {\n\t\t/* The distance-units inside the icon are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\tpath,\n\t\tcircle {\n\t\t\tstroke: $color;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-linejoin: round;\n\t\t\tstroke-width: 1.5;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"mixins\";\n\n@mixin classes {\n\t.cfgExpandableHeadingRow {\n\t\t@include mixins.cfgRootStyles;\n\t\t@include mixins.noButtonLook;\n\t\talign-items: stretch;\n\t\tdisplay: flex;\n\t\theight: 3.9em;\n\t\toutline: 0;\n\t\tposition: relative;\n\t\twidth: 100%;\n\n\t\t&--expandable {\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t&__title {\n\t\t\talign-items: center;\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\tfont-size: 1.5em;\n\t\t\tfont-weight: 500;\n\t\t\tjustify-content: flex-start;\n\t\t}\n\n\t\t&__icon {\n\t\t\talign-items: center;\n\t\t\tdisplay: flex;\n\t\t\tflex: 0 0 5em;\n\t\t\tjustify-content: center;\n\t\t\tpadding: 0 1.5em;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"../mixins\";\n\n@mixin classes($color) {\n\t.cfgErrorIcon {\n\t\t/* The distance-units inside the icon are px even though everything\n\t\t else is relative units. The SVG has its own coordinate space. */\n\n\t\t@include mixins.cfgRootStyles;\n\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\tpath,\n\t\tcircle {\n\t\t\tstroke: $color;\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-linejoin: round;\n\t\t\tstroke-width: 1.5;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Feature item\n */\n\n@use \"mixins\";\n\n@mixin classes(\n\t$textColor,\n\t$grayTextColor,\n\t$checkButtonUncheckedColor,\n\t$checkButtonCheckedColor,\n\t$focusOutlineInnerColor,\n\t$focusOutlineOuterColor,\n\t$dividerDark\n) {\n\t.cfgThumbnailImage {\n\t\tborder-radius: 0.7em;\n\t\tdisplay: inline-block;\n\t\theight: 3em;\n\t\twidth: 3em;\n\t}\n\n\t.cfgThumbnailPlaceholder {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\tflex: 0 0 4.2em;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.cfgFeatureItem {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tcolor: $textColor;\n\n\t\t&__dropdown {\n\t\t\t@include mixins.noButtonLook;\n\t\t\talign-items: stretch;\n\t\t\tdisplay: flex;\n\t\t\theight: 3.9em;\n\t\t\toutline: 0;\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t&--optional {\n\t\t\tmargin-top: 1em;\n\t\t}\n\n\t\t&__hiddenInput {\n\t\t\tleft: -99999px;\n\t\t\topacity: 0;\n\t\t\tposition: absolute;\n\t\t\tz-index: -1;\n\t\t}\n\n\t\t&__radio {\n\t\t\t@include mixins.cfgRadio($checkButtonUncheckedColor);\n\t\t}\n\n\t\t&__checkbox {\n\t\t\t@include mixins.cfgCheckbox($checkButtonUncheckedColor);\n\t\t}\n\n\t\t/* The &-syntax brings in the entire path, so the second part of this rule must be explicit */\n\n\t\t&__hiddenInput:focus ~ .cfgFeatureItem__radio,\n\t\t&__hiddenInput:focus ~ .cfgFeatureItem__checkbox {\n\t\t\t@include mixins.focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor);\n\t\t}\n\n\t\t&__hiddenInput:checked ~ .cfgFeatureItem__radio {\n\t\t\t@include mixins.cfgRadio($checkButtonCheckedColor);\n\t\t}\n\t\t&__hiddenInput:checked ~ .cfgFeatureItem__checkbox {\n\t\t\t@include mixins.cfgCheckbox($checkButtonCheckedColor);\n\t\t}\n\n\t\t&.cfgAdditionalProduct {\n\t\t\t> .cfgExpandableHeadingRow {\n\t\t\t\t> .cfgExpandableHeadingRow__title {\n\t\t\t\t\tfont-weight: 600;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t> .cfgFeatureItem__hr {\n\t\t\t\tborder-bottom-color: $dividerDark;\n\t\t\t}\n\n\t\t\t/* The last themathic break (hr) we move under the next thematic break so it appears as one */\n\t\t\t.cfgFeatureItem:last-child .cfgFeatureItem__hr {\n\t\t\t\tmargin-bottom: -0.1em;\n\t\t\t}\n\t\t}\n\t}\n\n\t.cfgFeatureItemOptional__titleWrapper,\n\t.cfgFeatureItemOption__titleWrapper {\n\t\tflex: 1 1 auto;\n\t\tmargin-left: 1em;\n\t}\n\n\t.cfgFeatureItemOptional__title,\n\t.cfgFeatureItemOption__title {\n\t\tfont-size: 1.5em;\n\t}\n\n\t.cfgFeatureItemOption__price {\n\t\tfont-weight: 600;\n\t\tfont-size: 0.75em;\n\t\tcolor: $grayTextColor;\n\t}\n\n\t.cfgOptionTree--subLevel .cfgFeatureItem__hr {\n\t\tdisplay: none;\n\t}\n\n\t.cfgFeatureItemOption {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t}\n\n\t.cfgFeatureItemOptional {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tmargin-top: 0.5em;\n\n\t\t&__header {\n\t\t\tfont-size: 1.2em;\n\t\t\tfont-weight: 600;\n\t\t\tmargin: 0 0 0.3em 0;\n\t\t\tpadding: 0;\n\t\t\ttext-transform: uppercase;\n\t\t}\n\t}\n}\n","@mixin classes($borderColor) {\n\t.cfgInput,\n\t.cfgFormSelect {\n\t\tborder: 0.1em solid $borderColor;\n\t\tpadding: 0.3em 0.4em;\n\t\tborder-radius: 0.3em;\n\t\tcolor: inherit;\n\t}\n\n\t.cfgFormSelect {\n\t\tselect {\n\t\t\tappearance: none;\n\t\t\tpadding: 0 1em 0 0;\n\t\t\tmargin: 0;\n\t\t\twidth: 100%;\n\n\t\t\tbackground-color: transparent;\n\t\t\tfont-family: inherit;\n\t\t\tfont-size: inherit;\n\t\t\tfont-weight: inherit;\n\t\t\tcolor: inherit;\n\t\t\tcursor: inherit;\n\t\t\tline-height: inherit;\n\t\t\toutline: none;\n\t\t\tborder: none;\n\t\t}\n\n\t\tcursor: pointer;\n\t\tposition: relative;\n\n\t\t&::after {\n\t\t\tposition: absolute;\n\t\t\tright: 0.35em;\n\t\t\ttop: 50%;\n\t\t\tmargin-top: -0.55em;\n\t\t\tcontent: \"\";\n\t\t\twidth: 1em;\n\t\t\theight: 1em;\n\t\t\tbackground-color: $borderColor;\n\t\t\tclip-path: polygon(50% 80%, 90% 40%, 100% 50%, 50% 100%, 0 50%, 10% 40%);\n\t\t\tjustify-self: end;\n\t\t}\n\t}\n}\n","@use \"mixins\";\n\n@mixin styles($color) {\n\t@include mixins.cfgRootStyles;\n\tborder: 0;\n\tborder-bottom: 0.1em solid $color;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n@mixin classes($color) {\n\t.cfgHr {\n\t\t@include styles($color);\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Loading\n */\n\n@use \"mixins\";\n\n@mixin classes(\n\t$textColor,\n\t$spinnerColor1,\n\t$spinnerColor2,\n\t$overlayBackgroundColor,\n\t$overlayingZIndex\n) {\n\t.cfgCenteredLoading {\n\t\t@include mixins.cfgRootStyles;\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\theight: 100%;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t.cfgOverlayLoading {\n\t\t@include mixins.cfgRootStyles;\n\n\t\talign-items: center;\n\t\tbackground-color: $overlayBackgroundColor;\n\t\tbottom: 0;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tleft: 0;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 0;\n\t\tz-index: $overlayingZIndex;\n\n\t\t&--clickThrough {\n\t\t\tbackground-color: transparent;\n\t\t\tpointer-events: none;\n\n\t\t\t.cfgLoadingWithText {\n\t\t\t\tpadding: 2em 2em 1.8em;\n\t\t\t\tborder-radius: 0.8em;\n\t\t\t\tbackground-color: $overlayBackgroundColor;\n\t\t\t\topacity: 0.8;\n\t\t\t\tborder: 0.1em solid $spinnerColor2;\n\t\t\t}\n\t\t}\n\n\t\t&--fullWindow {\n\t\t\tposition: fixed;\n\t\t\tz-index: #{$overlayingZIndex + 1};\n\t\t}\n\t}\n\n\t.cfgLoadingWithText {\n\t\t@include mixins.cfgRootStyles;\n\t\t@include mixins.cfgDefaultFont;\n\n\t\ttext-align: center;\n\n\t\t&__text {\n\t\t\tcolor: $textColor;\n\t\t\tfont-weight: 600;\n\t\t\tmargin-top: 0.5em;\n\t\t\tfont-size: 1.6em;\n\t\t}\n\t}\n\n\t.cfgLoading {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tanimation: rotate 1.1s linear 0s infinite;\n\t\tborder-radius: 100%;\n\t\tborder: 0.5em solid $spinnerColor2;\n\t\tborder-bottom-color: $spinnerColor1;\n\t\tdisplay: inline-block;\n\t\theight: 3em;\n\t\twidth: 3em;\n\n\t\t&--small {\n\t\t\tborder-width: 0.4em;\n\t\t\theight: 2em;\n\t\t\twidth: 2em;\n\t\t}\n\t}\n\n\t@keyframes rotate {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n}\n","/**\n * Web UI Option tree\n */\n\n@use \"mixins\";\n\n@mixin classes {\n\t.cfgOptionTree {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tlist-style: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\n\t\t&--topLevel {\n\t\t\tpadding-left: 1.7em;\n\t\t}\n\n\t\t&--indent {\n\t\t\tmargin-left: 3.2em;\n\t\t}\n\n\t\t&--compThumb {\n\t\t\tmargin-left: 4.2em;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","/**\n * Web UI Product information\n */\n\n@use \"sass:math\";\n@use \"mixins\";\n\n@mixin classes($textColor) {\n\t.cfgProductInfo {\n\t\t@include mixins.cfgRootStyles;\n\n\t\tcolor: $textColor;\n\n\t\tdisplay: flex;\n\n\t\t&__left {\n\t\t\tflex: 1 1 auto;\n\t\t\tmin-width: 0;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t&__right {\n\t\t\talign-items: flex-end;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tflex: 1 0 auto;\n\t\t\tmargin-left: 1em;\n\t\t\tmax-width: 0.333333333;\n\t\t\tmin-width: 0;\n\t\t}\n\n\t\t&__name {\n\t\t\tdisplay: block;\n\t\t\tfont-size: 1.6em;\n\t\t\tfont-weight: 600;\n\t\t\tline-height: 1.33;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t&__number {\n\t\t\tfont-size: 1.3em;\n\t\t\tfont-weight: 400;\n\t\t\tline-height: 1.38;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t&__taskbar {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@mixin classes($errorColor) {\n\t.cfgRangeView {\n\t\t&__inputs {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t&__number-input {\n\t\t\tfont-size: 1.5em;\n\t\t\tflex-grow: 1;\n\t\t\ttext-align: right;\n\t\t}\n\n\t\t&__unit-label {\n\t\t\tfont-size: 1.5em;\n\t\t\tmargin-left: 0.3em;\n\t\t}\n\n\t\t&__slider-input.cfgSlider {\n\t\t\tmargin-left: 1em;\n\t\t\tflex-grow: 3;\n\t\t}\n\n\t\t&__error {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\tmargin-top: 1em;\n\t\t\tfont-size: 1.5em;\n\t\t\tcolor: $errorColor;\n\n\t\t\t.cfgErrorIcon {\n\t\t\t\tpadding-right: 0.25em;\n\t\t\t\twidth: 1.25em;\n\t\t\t\theight: 1em;\n\t\t\t}\n\t\t}\n\t}\n}\n","@use \"mixins\";\n\n// The origins of this SCSS file is here:\n// https://css-tricks.com/sliding-nightmare-understanding-range-input/\n\n$trackHeight: 0.2em !default;\n$thumbDiameter: 2.8em !default;\n\n@mixin track($trackColor) {\n\tbox-sizing: border-box;\n\tborder: none;\n\theight: $trackHeight;\n\tbackground: $trackColor;\n}\n\n@mixin thumb($thumbColor, $thumbShadowColor) {\n\tbox-sizing: border-box;\n\tborder: none;\n\twidth: $thumbDiameter;\n\theight: $thumbDiameter;\n\tborder-radius: 50%;\n\tbackground: $thumbColor;\n\tbox-shadow: 0 0.15em 0.45em 0.05em $thumbShadowColor;\n}\n\n@mixin classes($trackColor, $thumbColor, $thumbShadowColor) {\n\t.cfgSlider {\n\t\t@include mixins.cfgRootStyles;\n\n\t\t&,\n\t\t&::-webkit-slider-thumb {\n\t\t\t-webkit-appearance: none;\n\t\t}\n\n\t\tflex: 1;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tmin-height: $thumbDiameter;\n\t\tbackground: transparent;\n\t\tfont: inherit;\n\n\t\t&::-webkit-slider-runnable-track {\n\t\t\t@include track($trackColor);\n\t\t}\n\t\t&::-moz-range-track {\n\t\t\t@include track($trackColor);\n\t\t}\n\t\t&::-ms-track {\n\t\t\t@include track($trackColor);\n\t\t}\n\n\t\t&::-webkit-slider-thumb {\n\t\t\tmargin-top: 0.5 * ($trackHeight - $thumbDiameter);\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\n\t\t}\n\t\t&::-moz-range-thumb {\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\n\t\t}\n\t\t&::-ms-thumb {\n\t\t\tmargin-top: 0;\n\t\t\t@include thumb($thumbColor, $thumbShadowColor);\n\t\t}\n\n\t\t&::-ms-tooltip {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t@content;\n\t}\n}\n","@use \"mixins\";\n\n@mixin classes($borderColor, $linkColor) {\n\t$preview-size: 4.8em;\n\t$line-width: 0.1em;\n\t$icon-size: 2em;\n\n\t.cfgTaskList {\n\t\tul {\n\t\t\tlist-style-type: none;\n\t\t\tpadding: 0;\n\t\t\tmargin: 1em 0 0 0;\n\t\t\tborder-bottom: 0.1em solid $borderColor;\n\t\t}\n\n\t\t&__item {\n\t\t\tpadding: 0 1.5em 0 1.7em;\n\t\t\tmargin-bottom: 1em;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t&__preview {\n\t\t\tborder: 0.1em solid $borderColor;\n\t\t\tborder-radius: 10%;\n\t\t\twidth: $preview-size;\n\t\t\theight: $preview-size;\n\t\t\tflex-shrink: 0;\n\n\t\t\timg {\n\t\t\t\tobject-fit: cover;\n\t\t\t\tposition: relative;\n\t\t\t\tleft: 0.1 * $preview-size - $line-width;\n\t\t\t\ttop: 0.1 * $preview-size - $line-width;\n\t\t\t\twidth: 0.8 * $preview-size;\n\t\t\t\theight: 0.8 * $preview-size;\n\t\t\t}\n\t\t}\n\n\t\t&__icon {\n\t\t\tflex-shrink: 0;\n\t\t\twidth: $icon-size + 2em;\n\t\t\theight: $icon-size;\n\t\t\tpadding-left: 1em;\n\t\t\tpadding-right: 1em;\n\n\t\t\t.cfgLoadingSizer {\n\t\t\t\tfont-size: 0.75em;\n\t\t\t}\n\t\t}\n\n\t\t&__status {\n\t\t\tflex-grow: 1;\n\t\t\tfont-size: 1.5em;\n\t\t}\n\n\t\t&__abort {\n\t\t\t@include mixins.noButtonLook;\n\t\t\tcursor: pointer;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tflex-shrink: 0;\n\t\t}\n\n\t\t&__restart {\n\t\t\t@include mixins.noButtonLook;\n\t\t\tcursor: pointer;\n\t\t\ttext-decoration: underline;\n\t\t\tcolor: $linkColor;\n\t\t}\n\t}\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -6,6 +6,9 @@ export * from "./components/ErrorContext.js";
6
6
  export * from "./components/ExpandableHeadingRow.js";
7
7
  export * from "./components/icons/Checkmark.js";
8
8
  export * from "./components/icons/Chevron.js";
9
+ export * from "./components/icons/CircleXmarkIcon.js";
10
+ export * from "./components/icons/DownloadIcon.js";
11
+ export * from "./components/icons/ErrorIcon.js";
9
12
  export * from "./components/Loading.js";
10
13
  export * from "./components/productConfiguration/CfgCheckboxesView.js";
11
14
  export * from "./components/productConfiguration/CfgCheckboxView.js";
@@ -15,8 +18,11 @@ export * from "./components/productConfiguration/CfgFeatureView.js";
15
18
  export * from "./components/productConfiguration/CfgGroupView.js";
16
19
  export * from "./components/productConfiguration/CfgProductConfigurationView.js";
17
20
  export * from "./components/ProductInformation.js";
21
+ export * from "./components/ResetButton.js";
22
+ export * from "./components/ShareView.js";
18
23
  export * from "./components/TaskListView.js";
19
24
  export * from "./components/TaskStartView.js";
25
+ export * from "./useCatParams.js";
20
26
  export * from "./useObservable.js";
21
27
  export * from "./useRerender.js";
22
28
  export * from "./useResize.js";
package/dist/index.js CHANGED
@@ -6,6 +6,9 @@ export * from "./components/ErrorContext.js";
6
6
  export * from "./components/ExpandableHeadingRow.js";
7
7
  export * from "./components/icons/Checkmark.js";
8
8
  export * from "./components/icons/Chevron.js";
9
+ export * from "./components/icons/CircleXmarkIcon.js";
10
+ export * from "./components/icons/DownloadIcon.js";
11
+ export * from "./components/icons/ErrorIcon.js";
9
12
  export * from "./components/Loading.js";
10
13
  export * from "./components/productConfiguration/CfgCheckboxesView.js";
11
14
  export * from "./components/productConfiguration/CfgCheckboxView.js";
@@ -15,8 +18,11 @@ export * from "./components/productConfiguration/CfgFeatureView.js";
15
18
  export * from "./components/productConfiguration/CfgGroupView.js";
16
19
  export * from "./components/productConfiguration/CfgProductConfigurationView.js";
17
20
  export * from "./components/ProductInformation.js";
21
+ export * from "./components/ResetButton.js";
22
+ export * from "./components/ShareView.js";
18
23
  export * from "./components/TaskListView.js";
19
24
  export * from "./components/TaskStartView.js";
25
+ export * from "./useCatParams.js";
20
26
  export * from "./useObservable.js";
21
27
  export * from "./useRerender.js";
22
28
  export * from "./useResize.js";
@@ -4,7 +4,7 @@
4
4
 
5
5
  @use "mixins";
6
6
 
7
- @mixin classes($fontSize, $textColor, $headerUnderlineColor) {
7
+ @mixin classes($fontSize, $textColor, $grayTextColor, $headerUnderlineColor) {
8
8
  .cfgConfiguratorWrapper {
9
9
  @include mixins.cfgRootStyles;
10
10
  color: $textColor;
@@ -16,19 +16,56 @@
16
16
  flex-direction: row;
17
17
  }
18
18
 
19
- .cfgTaskStart {
19
+ .cfgTaskStart,
20
+ .cfgShare,
21
+ .cfgReset {
20
22
  margin-top: 0.5em;
21
23
  font-size: 1.2em;
22
24
  font-weight: 500;
23
25
 
24
- .cfgFormSelect {
26
+ .cfgInput,
27
+ .cfgFormSelect,
28
+ button {
25
29
  padding: 0.5em;
30
+ }
31
+ }
26
32
 
33
+ .cfgTaskStart {
34
+ .cfgFormSelect {
27
35
  &::after {
28
36
  right: 0.5em;
29
37
  }
30
38
  }
31
39
  }
40
+
41
+ .cfgShare .cfgInput,
42
+ .cfgReset button {
43
+ appearance: none;
44
+ margin: 0;
45
+
46
+ background-color: transparent;
47
+ font-family: inherit;
48
+ font-size: inherit;
49
+ font-weight: inherit;
50
+ cursor: inherit;
51
+ line-height: inherit;
52
+ outline: none;
53
+ }
54
+
55
+ .cfgShare {
56
+ &__error {
57
+ display: inline-block;
58
+ .cfgErrorIcon {
59
+ padding-left: 0.25em;
60
+ margin-right: 0.75em;
61
+ width: 1.25em;
62
+ height: 1em;
63
+ }
64
+ }
65
+ &__grayed {
66
+ color: $grayTextColor;
67
+ }
68
+ }
32
69
  }
33
70
 
34
71
  .cfgCanvasWrapper {
@@ -4,6 +4,7 @@
4
4
  border: 0.1em solid $borderColor;
5
5
  padding: 0.3em 0.4em;
6
6
  border-radius: 0.3em;
7
+ color: inherit;
7
8
  }
8
9
 
9
10
  .cfgFormSelect {
@@ -17,6 +18,7 @@
17
18
  font-family: inherit;
18
19
  font-size: inherit;
19
20
  font-weight: inherit;
21
+ color: inherit;
20
22
  cursor: inherit;
21
23
  line-height: inherit;
22
24
  outline: none;
@@ -44,6 +44,10 @@
44
44
  margin: 0;
45
45
  }
46
46
 
47
+ &__taskbar {
48
+ display: flex;
49
+ }
50
+
47
51
  @content;
48
52
  }
49
53
  }
@@ -115,7 +115,12 @@ $themes: (
115
115
  );
116
116
  @include chevron.classes(map.get($ct, "chevronActive"), map.get($ct, "chevronPassive"));
117
117
  @include circle-xmark-icon.classes(map.get($ct, "icon"));
118
- @include configurator.classes($baseFontSize, map.get($ct, "text"), map.get($ct, "divider"));
118
+ @include configurator.classes(
119
+ $baseFontSize,
120
+ map.get($ct, "text"),
121
+ map.get($ct, "grayText"),
122
+ map.get($ct, "divider")
123
+ );
119
124
  @include download-icon.classes(map.get($ct, "link"));
120
125
  @include expandable.classes;
121
126
  @include error-icon.classes(map.get($ct, "error"));
@@ -0,0 +1,18 @@
1
+ import { DtoCatalogueParamsWithCid, DtoCatalogueParamsWithCidAndLang, DtoProductParamsWithCid, DtoProductParamsWithCidAndLang } from "@configura/web-api";
2
+ /**
3
+ * Returns a memozied version of the catParams
4
+ */
5
+ export declare function useMemoCatalogueParams(catParams: DtoCatalogueParamsWithCid): DtoCatalogueParamsWithCid;
6
+ /**
7
+ * Returns a memozied version of the catParams
8
+ */
9
+ export declare function useMemoCatalogueParamsWithLang(catParams: DtoCatalogueParamsWithCidAndLang): DtoCatalogueParamsWithCidAndLang;
10
+ /**
11
+ * Returns a memozied version of the prodParams
12
+ */
13
+ export declare function useMemoProductParams(prodParams: DtoProductParamsWithCid): DtoProductParamsWithCid;
14
+ /**
15
+ * Returns a memozied version of the prodParams
16
+ */
17
+ export declare function useMemoProductParamsWithLang(prodParams: DtoProductParamsWithCidAndLang): DtoProductParamsWithCidAndLang;
18
+ //# sourceMappingURL=useCatParams.d.ts.map
@@ -0,0 +1,29 @@
1
+ import { useMemo } from "react";
2
+ /**
3
+ * Returns a memozied version of the catParams
4
+ */
5
+ export function useMemoCatalogueParams(catParams) {
6
+ const { cid, enterprise, prdCat, prdCatVersion, vendor, priceList } = catParams;
7
+ return useMemo(() => ({ cid, enterprise, prdCat, prdCatVersion, vendor, priceList }), [cid, enterprise, prdCat, prdCatVersion, priceList, vendor]);
8
+ }
9
+ /**
10
+ * Returns a memozied version of the catParams
11
+ */
12
+ export function useMemoCatalogueParamsWithLang(catParams) {
13
+ const { lang, cid, enterprise, prdCat, prdCatVersion, vendor, priceList } = catParams;
14
+ return useMemo(() => ({ lang, cid, enterprise, prdCat, prdCatVersion, vendor, priceList }), [lang, cid, enterprise, prdCat, prdCatVersion, priceList, vendor]);
15
+ }
16
+ /**
17
+ * Returns a memozied version of the prodParams
18
+ */
19
+ export function useMemoProductParams(prodParams) {
20
+ const { cid, enterprise, prdCat, prdCatVersion, vendor, priceList, partNumber } = prodParams;
21
+ return useMemo(() => ({ cid, enterprise, prdCat, prdCatVersion, vendor, priceList, partNumber }), [cid, enterprise, prdCat, prdCatVersion, priceList, vendor, partNumber]);
22
+ }
23
+ /**
24
+ * Returns a memozied version of the prodParams
25
+ */
26
+ export function useMemoProductParamsWithLang(prodParams) {
27
+ const { lang, cid, enterprise, prdCat, prdCatVersion, vendor, priceList, partNumber } = prodParams;
28
+ return useMemo(() => ({ lang, cid, enterprise, prdCat, prdCatVersion, vendor, priceList, partNumber }), [lang, cid, enterprise, prdCat, prdCatVersion, priceList, vendor, partNumber]);
29
+ }
@@ -1,7 +1,3 @@
1
1
  import { useMemo } from "react";
2
2
  import { v4 } from "uuid";
3
- export const useUuid = () => {
4
- return useMemo(() => {
5
- return `${v4()}`;
6
- }, []);
7
- };
3
+ export const useUuid = () => useMemo(() => `${v4()}`, []);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@configura/web-ui",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.20",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -32,7 +32,7 @@
32
32
  ]
33
33
  },
34
34
  "dependencies": {
35
- "@configura/web-api": "2.0.0-alpha.2"
35
+ "@configura/web-api": "2.0.0-alpha.20"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@babel/preset-env": "^7.14.4",
@@ -64,5 +64,5 @@
64
64
  "publishConfig": {
65
65
  "access": "public"
66
66
  },
67
- "gitHead": "70b1f8c6426c11420f00b031912e1023d3b591bf"
67
+ "gitHead": "74b8fd6c45f392b9133843b409f7662dbf93c47e"
68
68
  }